Beam Failure Detection

news2024/11/17 17:30:55

微信同步更新欢迎关注同名modem协议笔记

正如上篇所述NR中所有的上下行信道的发送和接收都是基于波束。基站通过对信道质量的测量来动态选择UE和基站之间波束的方向和频率,进而完成通信。NR中无线链路检测可以分为两种,一种是4G中常见的radio  link monitoring,失败后对应的就是radio link failure ,主要是RRC层控制触发;另一种就是这篇提及beam 相关的Beam Failure Detection(BFD),主要是MAC层控制触发。接上篇结尾,如果遇到不能通过QCL/TCI修正beam的场景,UE就会发生Beam failure,之后就需要先进行beam failure recovery 的方式尝试恢复正常连接,BFD就是在NR中才出现的机制,FR2中由于频率更高,Beam的管理显得尤为重要,因而BFD/BFR机制通常会在FR2下才会开启,现在的FR1网络中基本都没有开启BFD功能,但这个机制还是比较重要的。就像搞2/3/4G不能不知道radio link failure,学习NR 5G也不能不知道BFD和BFR流程。这篇先看Beam Failure Detection(BFD)。

 

先看下38.133 8.5.1描述的BFD应用场景。

408b929bccdc4be98d3552828ad2936c.png

BFD 主要应用的场景是:

(1)PCell in SA, NR-DC  or NE-DC 

(2)PSCell in NR-DC EN-DC

(3)SCell in SA  NR-DC  NE-DC  EN-DC

beam failure 主要用在上面场景中的对应cell上,其中SCell部分是新增内容,R15版本是不支持SCell的BFD的。

再看下38.300 9.2.8 Beam failure detection and recovery中大体流程的描述。

6d102b8b2d8844f58ced8d256268edef.png

gNB 给UE配置用于BFD 参考信号(参考信号可以是SSB或CSI-RS),在BFD timer超时前,物理层报告给MAC 的beam failure instance indication超过配置的门限时,即认为发生Beam failure.

SSB-based BFD是基于和initial DL BWP 相关联的SSB机制,且只能配置在包含SSB 配置的initial DL BWPs。对于其他的DL BWP, BFD的参考信号只能用CSI-RS。

2fc0dcafcd8f401596db7508d0240320.png

BFD 发生在Pcell时:

 UE 通过在Pcell上进行RA 过程来触发BFR;UE 要选择suitable beam去进行BFR(如果gNB 配置了某些beams 的dedicated RA资源,UE会优先参考配置的beams);如果BFR 要进行CBRA 则要在BFR MAC CE 中包含beam failure 的indication(这句话是R16才有的,针对BFR MAC CE增加的一个步骤)。当完成RA 过程后,在PCell的BFR 就算完成了

BFD 发生在Scell时:

UE 通过发送BFR MAC CE来触发BFR(包含的一些参数后面介绍);UE 之后为SCELL选择suitable beam 并将这个信号包含在BFR MAC CE 中发送给NW;一旦 在PDCCH 收到用于发送BFR MAC CE 的新传UL grant ,就认为Scell 的BFR完成。

总的来说,BFD和Radio link failure的机制比较类似,都是根据RRC层配置的参考信号让L1去测量,拿测量值结合对应的门限,判断是否上报对应的failure;但是有所不同,RLF的描述主要在RRC层38.331,触发场景就是T310超时(连续收到L1 N310 consecutive "out-of-sync" indications,开启T310,在T310超时前,没有收到N311个in sync indication ),RLC上行达到最大重传次数rlc-MaxNumRetx,RA fail等等,主要是RRC层决策作用。而Beam failure detection的描述主要在38.321,也就是说是MAC层起决策作用的机制。Beam failure detection的相关参数也由RRC层配置,下面就从RRC层的配置看下Beam failure detection,而和BFD相关的参数主要由RadioLinkMonitoringConfig提供。

RadioLinkMonitoringConfig

其主要功能是配置UE进行波束失败检测的下行参考信号,beamFailureInstanceMaxCount及timer相关参数。

beamFailureDetectionTimer:Beam failure 检测定时器。

beamFailureinstanceMaxCount:底层检测失败的最大个数,在timer超时前,底层上报的BFD indication 达到maxcount时,就认为发生BFD,之后会触发BFR流程。而rlf和Beam failure检测参考信号相关的参数都可以由RadioLinkMonitoringRS配置,由purpose确定具体用途。

f87735eeed0d4edf8a57d4b0f9b9a0cb.png

 37fe44a7b495486aa777716b92aac2e8.png

根据failureDetectionResourcesToAddModList中的描述用于beamFailure或both的检测RS资源最多配置2个(每BWP);如果没有对BFD场景配置参考信号,UE要根据和PDCCH DMRS有TCI-state的参考信号进行BFD检测,RLF同理。再次重复下,用于BFD/RLM的参考信号可以是SSB和CSI-RS,在initial DL BWPs 包含SSB的场景只能配置SSB作为参考信号,其他DL BWPs,必须配置CSI-RS 为参考信号,上面这个规定在38.300 radio link failure 和Beam failure detection and recovery中描述,这篇说的是BFD,RLF相关的内容,暂时忽略。

 

Beam failure detection 相关参数的介绍

参考信号的配置

cf7c4eb9f2784a45b9a78525178c19da.png

基站侧会通过RadioLinkMonitoringRS给UE配置用于检测BFD 的参考信号,然后通过failureDetectionResourcesToAddModList从RadioLinkMonitoringRS选取最终用于BFD的参考信号,这些参考信号用对应的id区分,例如csi-RS-Index,ssb-Index。对于link recovery 过程,基站侧可配置的参考信号个数由每半帧SSB的最大发送个数相关联,L=4/8/64,如38.213 table 5-1,每半帧SSB的最大发送个数L详见NR小区搜索(一) SSB。

f8b2abc6bb8740d7b70efd4b48b3c7b8.png

个人理解这里的NLR-RLM代表配置的用于link recover(BFD)和radio link monitoring的总的参考信号个数,对应RRC层参数purpose配置为both时的参考信号个数(如下图),Nrlm代表用于radio link monitoring的参考信号个数。当然参考信号也可以根据purpose 为beamFailure和rlf分开配置,对于link recovery场景,最多只能用2个参考信号,对应radio link monitoring场景,可用的参考信号个数与L相关联。

 

根据38.213 Table 5-1中的信息,如果Lmax=64,则基站侧可以给UE配置最多8个用于link recovery和radio link monitoring的参考信号,最多只有8个参考信号用于radio link monitoring。给UE配置了对应个数的参考信号,并不代表UE可以全都用,如上述,对于配置的Nlr-RLM个参考信号,最多只能将Nrlm个参考信号用于radio link monitoring;对于BFD场景,会通过failureDetectionResourcesToAddModList配置最后真正用于BFD的参考信号,这时最多只能采用其中的2个参考信号,其purpose可以是beam failure或者both。

RRC 层的参数结构,RadioLinkMonitoringRS可以通过purpose 确定用于beamfailure还是rlf场景,而可配置的resource最多对应10个。

18ee6d04663d4e8eb196b9911dffd53c.png

q0和q1 

38.213  6   Link recovery procedures

e9e22695d21842018a77f28b7f5bac8f.png

服务小区的每个BWP可以通过failureDetectionResourcesToAddModeList配置periodic CIS-RS resource set q0 ;由candidateBeamRSList 或candidateBeamRSListExt/candidateBeamRSSCellList 配置set q1,q1可以是periodic CSI-RS  resource或SSB。

如果UE 没有收到failureDetectionResourcesToAddModList配置q0,则UE 用和PDCCH DMRS有QCL 关系的periodic RS来做q0 (TCI-State 中的 RS set)。如果TCI-state中有2个RS indexes,则set q0采用为qcl-Type设置为'typeD'的RS索引。set q0 最多可以配置2个参考信号,且对应的参考信号只能配置为单天线。q0中配置的CSI-RS可以是单天线或者双天线,但是参考信号的密度要对应1或者3个RE(每RB)。

RRC层candidateBeamRSList配置CSI-RS/SSB的结构如下。

3f1fee43b8c54b88863667d9de953d2c.png

615d73fd16ee4efd9d24b4278aab5163.png

PCell/PSCell用于BFD 的RS resource set 可以是periodic CSI-RS resources或SSB; SCell BFD 的RS resource set q0 只能是periodic CSI-RS。

UE 只需要在当前激活的DL BWP 内进行BFD,不需要在以外的范围进行BFD。如果UE没有收到RS resouce set q0的配置,则忽略CSI-RS和SSB有关检查beam failure detection的要求,但是BFD还有要进行的,如前述,没有收到q0的配置时,UE 用和PDCCH DMRS有QCL 关系的periodic RS来做q0。deactive的SCell不需要进行BFD。

当前SCell 如果配置有多于2个periodic CSI-RS resource set q0 ,由UE决定应该选择哪个进行BFD;当SCell没有配置q1 set时,UE 不需要进行BFD。

如下假如此时UE没有收到BFD 参考信号q0,此时网络端激活了PDCCH tci state id 0,对应的是CSI-RS 0与PDCCH 是type A的QCL 关系,那此时UE就要用CSI-RS 0去进行BFD

82f4044910da4034b5c4b1756f6d6ec5.png

用于BFD检测的参考信号确定后,L1测量后还有要与对应的门限进行比较的,BFD这里对应到Qout_LR 和Qin_LR。

Qout_LR 和Qin_LR

94bca9858648449385970202d7e0f7fd.png

q0和Qout_LR相关联,主要用于判断beam是否会发生beam failure。针对q0中每一个RS resource 配置,UE 应该根据Qout_LR去评估服务小区 beams的radio link quality。

Qout_LR 代表UE根据q0及PDCCH bler 10%去评估DL link 无法可靠接收的threshold。根据参考信号的不同,要用不同的标准去推导对应的threshold。SSB based BFD,Qout_LR_SSB  要基于表8.5.2.1-1中的PDCCH 参数推导;CSI-RS based BFD,Qout_LR_CSI-RS 要基于表8.5.3.1-1中的PDCCH 参数推导,值得注意的是,在检测BFD时,只针对DCI format 1_0 bler,不考虑其他DCI format。

a904ada8ffd74a6d9845c7e72ed022ce.png

84b0a73da92a450cad4cebcd005a2f29.png

 0daf58aa41254aaeba279a24d01cfcda.png

q1和Qin_LR  相关,主要用于beam 是否恢复正常的判断。当测量的L1-RSRP 等于或优于阈值 Qin_LR(Qin_LR 由RRC层 rsrp-ThresholdSSB提供),UE要将set q1中满足门限的resouce index告知MAC层。对于Qin,LR的取值,当配置的RS =ssb时 取rsrp-thresholdSSB;当配置的RS=CSI-RS  取rsrp-thresholdSSB ×powerControlOffsetSS。set q1中的参考信号可以是分别是periodic CSI-RS resource或SSBs,也可以同时配置SSB和CSI-RS resource。当q1没有配置时,UE不用对SCell进行候选波束的检测。

8e06ecdf5cb140e387237b45295752a4.png

Qout_LR 的确定原则与RRC层参数rlmInSyncOutOfSyncThreshold的值相关,配置时rlmInSyncOutOfSyncThreshold=1,缺省值为0,这个value对应的是38.133中的Table 8.1.1-1中的configuration 的值,我看的是g60版本,随后也查了下h60/f60版本,发现这个Table 8.1.1-1始终只有value 0即对应的 BLER out =10%,BLERin=2%;另外刚刚上面提及协议中有关Qout_LR的描述也是按照默认10%的原则去叙述的,最后加上目前实网中针对的是R15版本协议,rlmInSyncOutOfSyncThreshold一般都是缺省配置的,即用的value 0的情况,所以这里我们忽略value 1,应该是协议哪里出错了,没有补上38.331中rlmInSyncOutOfSyncThreshold=1的坑。Qout_LR简单的说是在PDCCH bler 10%标准下,芯片厂根据rsrp rsrq sinr 和上述门限,按照一定的算法算出对应的门限值,然后UE再根据对q0的测量结果和门限进行比较后,再上报beam failure indication,如果在beamFailureDetectionTimer配置的具体时间超时前,上报的beamFailreInstance 达到MaxCount时,就认为发生beam failure;否则就认为beam是正常的。Qin_LR的配置与rsrp-thresholdSSB(Spcell)和rsrp-thresholdBFR(SCell)相关。

UE在判断BFD对应的参考信号是否低于Qout_LR时,需要一定的时间去评估,38.133中有分别针对SSB和CSI-RS的Evaluation period进行了描述如下,分别针对FR1和FR2 对应no DRX 和DRX cycle >320ms 和<=320ms进行区分。

4bd4fd1413cc44f7929d641ce822f894.png

763b1482861a49b4951a74fc9e321bdb.png 

对Qout_LR评估完成后,如果满足条件就要上报beam failure indication,但是连续上报的时间间隔也是有要求的。

BFI上报相关规则

31c7d80474244bd2903edce8e7027043.png

在non-DRX/DRX场景下,当q0中所有resource测得的radio link quality(UE当前接入的radio link)低于Qout_LR时,L1需要向MAC层上报一次beam failure indication,注意这里说的是测得q0中所有的resource 都低于Qout_LR,才上报beam failure indication。而具体的上报periodicity在38.133中有描述,如下,连续的indication的上报有一个最小的时间间隔Tindication_interval_BFD的规定。

065c7c5a2b7d4c849e611cd4374a971e.png

q0中所有RS 资源radio link quality 低于Qout_LR,L1 要向MAC 层上报beam failure instance indication。两个连续的indication 的上报有一个最小的间隔Tindication_interval_BFD:

no DRX 时  Tindication_interval_BFD =max(2ms, TSSB-RS,M) or max(2ms ,TCSI-RS,M) ,其中TSSB-RS,M和TCSI-RS,M是q0中配置的SSB和CSI-RS resource对应的最小周期。

SSB based  with DRX:  

Tindication_interval_BFD =max(1.5×DRX_cycle_length,1.5*TSSB-RS,M)  DRX_cycle_length<=320ms

Tindication_interval_BFD =DRX_cycle_length                                  DRX_cycle_length>320ms

CSI-RS based  with DRX:  

Tindication_interval_BFD =max(1.5×DRX_cycle_length,1.5*TCSI-RS,M)  DRX_cycle_length<=320ms

Tindication_interval_BFD =DRX_cycle_length                                  DRX_cycle_length>320ms

 

6ab981e9ba8040409673d046bb0ab684.png

6cc5745c71cc4c8c9cbc4b3b7809ab36.png

beamFaileureDetectionTimer 代表BFD的timer,例如取pbfd1时,代表1个Qout_LR报告的period,pbfd2代表2个Qout_LR报告的period。结合之前38.133中对于2个连续的out of LR indication 的上报最小的间隔Tindication_interval_BFD的规定,pbfd就是指Tindication_interval_BFD;那这里的配置要注意,不能配置的Timer过短,而MaxCount太大,比如配置的Timer=pbfd2,MaxCount=4,这种配置情况下,UE只能在pbfd2的时间段内,最多上报3次beam failure indication,不可能上报4次,所以这种配置下,即使beam真的有问题,也不能够触发BFD;实网环境下参数基本不会有误,直接关注BFD的判断规则就行,也就是根据beamFailureDetectionTimer配置的具体时间,在timer超时前,上报的beamFailreInstance 大于等于MaxCount时,就认为发生beam failure;否则就认为beam是正常的。

 

ad37cc7d95294f89bb1d0ddeccaa5985.png

对于PCell/PSCell,当MAC向L1要set q1中L1-RSRP好于门限Qin_LR的periodic CSI-RS或SSB index时,L1要上报满足门限要求的resource index。

对于SCell,当MAC 向L1要高于门限的resource index时,L1要告知MAC 是否有满足门限的resouce,有的话就上报给MAC。

至此BFD的内容基本结束了,再简单回顾下大体内容:首先R16之后的协议也支持了SCell的BFD feature;其次BFD的流程是,UE根据网络端配置的参考信号set q0进行底层测量,当q0中的所有resources的Beam radio link quality都低于门限Qout,LR 则认为 一次 beam failure, L1上报beam failure indication 给MAC,BFI COUNTER ++; 当 beam failure instance indication 从底层上报时,BeamFailureDetectionTimer 就会开启 ,此时BFI counter记为1;BeamFailureDetectionTimer 超时前达到beamFailureInstanceMaxCount  则认为Beamfailure,之后触发beam failure recovery 过程;如果在超时时 ,没有超过beamFailureInstanceMaxCount  则认为Beam恢复正常并将BFI COUNTER 重置为0,等待下一次流程的触发。

最后配置的 set q1的作用是当set q1中的Beam radio link quality 高于Qin,LR时,底层就会上报对应的RS index给MAC,具体有什么用,下一篇beam failure recovery 再说。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Linux》day5--ssh——ssh登录与scp传文件

文章目录ssh登录基本用法配置文件密钥登录执行命令scp传文件基本用法使用scp配置其他服务器的vim和tmuxssh登录 基本用法 远程登录服务器。 ssh userhostname其中&#xff1a; user&#xff1a;是用户名hostname&#xff1a;是IP地址或域名 第一次登录会提示&#xff1a; …

城市道路积水识别监测系统

城市道路积水识别监测系统基于机器视觉分析&#xff0c;燧机城市道路积水识别监测系统实时识别街道路面积水情况&#xff0c;对严重积水时立即报警。城市道路积水识别监测系统对低洼区域进行实时监测&#xff0c;一旦城市道路积水识别监测系统监测到街道路面积水时&#xff0c;…

【附源码】Python计算机毕业设计宿舍管理系统设计

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【雨夜】一次nacos 导致的 CPU 飙高问题

今天下午突然 出现 测试环境 cpu飙高&#xff0c;干到了 60%&#xff0c;其他项目 响应时间明显变长。。。有点吓人&#xff0c;不想背锅 项目背景 出问题的项目是 需要连接各个不同nacos 和不同的 namespace 进行对应操作的 一个项目&#xff0c;对nacos的操作都是httpClien…

OSS(minio使用手册)

minio 官方文档地址:MinIO High Performance Object Storage — MinIO Object Storage for Kubernetes 1.本地客户端下载 1.1 docker 版本&#xff1a; docker pull minio/mc docker run minio/mc ls play docker run -it --entrypoint/bin/sh minio/mc (使用mc客户端操作其他…

2022年数维杯国际大学生数学建模挑战赛C题如何利用大脑结构特征和认知行为特征诊断阿尔茨海默病解题过程

2022年数维杯国际大学生数学建模挑战赛 C题 如何利用大脑结构特征和认知行为特征诊断阿尔茨海默病 原题再现&#xff1a; 阿尔茨海默病&#xff08;AD&#xff09;是一种起病隐匿的进行性神经退行性疾病。临床特征为全谱痴呆&#xff0c;包括记忆障碍、失语、流利不畅、失认、…

Qt QJsonObject初始化列表的使用问题

在VS2013Qt5.9.7上&#xff0c;QJsonObject的初始化列表构造函数有BUG QJsonObject::QJsonObject(std::initializer_list<QPair<QString, QJsonValue> > args)注&#xff1a;使用初始化列表前先要开启编译选项Q_COMPILER_INITIALIZER_LISTS 以下代码Debug异常 QJs…

SpringBoot整合tkMapper的版本问题

文章主旨&#xff1a;有问题首先看官网 昨天新建了个Spring Boot工程&#xff0c;版本为2.6.13 想要整合 tk.mapper&#xff0c;就去官网查找依赖&#xff0c;如下&#xff1a; <dependency><groupId>tk.mybatis</groupId><artifactId>mapper</a…

基于sklearn实现LDA主题模型(附实战案例)

目录 LDA主题模型 1.LDA主题模型原理 2.LDA主题模型推演过程 3.sklearn实现LDA主题模型&#xff08;实战&#xff09; 3.1数据集介绍 3.2导入数据 3.3分词处理 3.4文本向量化 3.5构建LDA模型 3.6LDA模型可视化 3.7困惑度 LDA主题模型 1.LDA主题模型原理 其实说到LDA…

web前端大一实训 HTML+CSS+JavaScript王者荣耀(60页) web课程设计网页规划与设计 HTML期末大作业 HTML网页设计结课作业

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

【附源码】计算机毕业设计JAVA房产客户信息管理系统

【附源码】计算机毕业设计JAVA房产客户信息管理系统【附源码】 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#x…

新唐(nuvoton)MCU软件开发指南—环境搭建设置

新唐MCU软件开发指南—环境搭建设置 1. 下载并安装Arm Keil MDK https://www.nuvoton.com/tool-and-software/ide-and-compiler/keil-download/ 2. 申请免费版的Keil License&#xff0c;并激活 https://www.nuvoton.com/tool-and-software/ide-and-compiler/get-keil-mdk-…

Tableau安装详解及密钥申请

文章目录Tableau介绍下载软件申请密钥安装软件❤️ 作者简介&#xff1a;大家好我是小鱼干儿♛是一个热爱编程、热爱算法的大三学生&#xff0c;蓝桥杯国赛二等奖获得者&#x1f41f; 个人主页 &#xff1a;https://blog.csdn.net/qq_52007481⭐ 个人社区&#xff1a;【小鱼干爱…

Linux系统了解 Samba服务器配置的工作流程

了解 Samba服务器配置的工作流程 当Samba 服务安装完毕&#xff0c;并不是直接可以使用 Windows 或 Linux的客户端访问Samba服务器&#xff0c;还必须对服务器进行设置&#xff1a;告诉 Samba 服务器将哪些目录共享出来给客户端进行访问&#xff0c;并根据需要设置其他选项&…

微服务架构陷阱与挑战

六大陷阱 粒度太细 服务关系复杂 需求分析、方案设计、测试、部署。。。难度都会增加 例如&#xff1a; 分布式服务如何保证数据一致性分析设计的时候需要考虑的影响点变多 团队效率低下 需求分析、方案设计、测试、部署。。。工作量都会增加 例如&#xff1a; 接口设计…

Xintell——全生命周期的模型建设+智能数据中台

在业务反欺诈、运营及数据分析上&#xff0c;经常会涉及到模型。模型就是基于目标群体的大规模采样数据&#xff0c;挖掘出某个实际问题或客观事物的现象本质及运行规律&#xff0c;利用抽象的概念分析存在问题或风险&#xff0c;计算推演出减轻、防范问题或风险的对策过程&…

怎么用手机压缩图片?教给大家三种手机压缩图片方法

如何使用手机把图片的内存进行压缩呢&#xff1f;大家在使用照片的时候&#xff0c;如果照片的内存太大&#xff0c;不仅会占用手机的内存&#xff0c;也会影响一些网站上传图片的操作&#xff0c;因为图片内存太大很多都是上传不了的&#xff0c;为了解决这一问题我们可以将图…

【设计模式】适配器模式:攻敌三分,自留七分,以超兽武装的例子来谈谈适配器模式

文章目录1 适配器模式1.1 定义1.2 结构1.3 类图1.3.1 类适配器模式1.3.2 对象适配器模式2 例子2.1 类适配器模式2.1.1 代码2.1.2 效果图2.2 对象适配器模式2.2.1 代码2.2.2 效果通3 优缺点及适用环境3.1 优点3.2 缺点3.3 适用环境1 适配器模式 1.1 定义 将一个类的接口转换成客…

【深入理解C++】RTTI、dynamic_cast、typeid()

文章目录1.RTTI2.dynamic_cast运算符3.typeid运算符4.RTTI与虚函数表1.RTTI RTTI(Run Time Type Identification)&#xff0c;即运行时类型识别&#xff0c;通过 RTTI&#xff0c;程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型。 RTTI 提供了两…

数据库命名规范

1、mysql 规范 1.1 表名规范 模块_功能点 示例&#xff1a;alllive_log alllive_category。采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线_组成&#xff0c;命名简洁明确&#xff0c;多个单词用下划线_分隔,一个项目一个数据库。全部小写命名&#xff0c…