当前位置: 首页 > news >正文

5G 现网信令参数学习(3) - RrcSetup(1)

目录

1. rlc-BearerToAddModList

1.1 rlc-Config

1.1.1 ul-AM-RLC

1.1.2 dl-AM-RLC

1.2 mac-LogicalChannelConfig

2. mac-CellGroupConfig

2.1 schedulingRequestConfig

2.2 bsr-Config 

2.3 tag-Config

2.4 phr-Config

2.5 skipUplinkTxDynamic

3. physicalCellGroupConfig

3.1 p-NR-FR1

3.2 pdsch-HARQ-ACK-Codebook


RRCSetup消息主要包含radioBearerConfigmasterCellGroup两个IE,其中radioBearerConfig包含了SRB1的配置

radioBearerConfig 
{srb-ToAddModList {{srb-Identity 1,pdcp-Config {t-Reordering ms3000}}}
},

masterCellGroup则包含了较为复杂的内容,下面重点描述这个IE。

masterCellGroup在RRC协议中的IE类型是CellGroupConfig,这个IE可以用于配置主小区组(master cell group ,MCG)或者辅小区组(secondary cell group,SCG)。该IE可以由一个MAC实体、逻辑信道集、一个主小区(SpCell)以及一个或多个辅小区(SCells)构成。

其中,cellGroupId用于标识这个小区组,取值范围0~maxSecondaryCellGroups。在当前协议版本中(R18),maxSecondaryCellGroups = 3。示例中,该参数的值为0

cellGroupId 0,

1. rlc-BearerToAddModList

示例中,这个list只有一个RLC-BearerConfig,即SRB1的无线承载配置。

logicalChannelIdentityBearer

无线承载对应的逻辑信道ID,示例中为1

servedRadioBearer

对应的无线承载,可以是SRB或者DRB,示例中为SRB1

logicalChannelIdentity 1,
servedRadioBearer srb-Identity : 1,

1.1 rlc-Config

RLC配置可以分为AM或者UM两种模式。示例中的SRB1必然是一个AM配置。

rlc-Config am : 
{ul-AM-RLC {sn-FieldLength size12,t-PollRetransmit ms40,pollPDU infinity,pollByte infinity,maxRetxThreshold t32},dl-AM-RLC {sn-FieldLength size12,t-Reassembly ms40,t-StatusProhibit ms0}
},

1.1.1 ul-AM-RLC

sn-FieldLength

指示RLC PDU的序列号(长度)。对于RLC AM而言,仅有size12size18两种,见38.322 6.2.2.4。示例中为size12,表示序列号长度为12比特,因此序列号取值范围为0~4095。

t-PollRetransmit

RLC AM中用于Poll机制的一个定时器,单位:ms。示例中的值为40ms。

Poll机制是RLC AM中一种用于检测接收端是否正确地收到了数据包的机制,它是一种反馈机制。大致如下:

  • 发送端发送一个带有poll bit的RLC PDU,其中polling bit设置在RLC header中
  • 接收端收到这个poll bit时,会反馈一个Status PDU,包含所有已经ACK或者NACK的PDU。其中ACK表示正确地接收了这个PDU,NACK表示错误或者丢失的PDU
  • 发送端接收这个Status PDU,并决定是否对所有NACK的PDU进行重传

pollPDU

该参数用于在poll机制中、决定是否设置一个Poll,见38.322 5.3.3.2

该参数如果取值p4则对应4个PDUs,p8对应8个PDUs;示例中的infinity则对应无限个PDUs,即不通过PDU_WITHOUT_POLL的计数来添加Poll。

pollByte

和前面的参数pollPdu作用类似,只是门限值为bytes。

该参数如果取值kB25则对应25 kBytes,kB50对应50 kBytes;示例中的infinity则对应无限bytes,即不通过BYTE_WITHOUT_POLL的计数来添加Poll。

maxRetxThreshold

该参数用于在发送端限制一个RLC SDU的重传次数。当重传次数达到这个最大值门限时,RLC会向上层报告重传次数达到最大(见38.322 5.3.2),上层一般会Call drop。

该参数的值tx表示有x次重传,示例中t32表示最大32次重传。

1.1.2 dl-AM-RLC

sn-FieldLength

ul-AM-RLC中的sn-FieldLength

t-Reassembly

重新组装(Reassembly)的定时器,单位ms。

在RLC层,分段(Segmentation)和组装(Reassembly)是一对互逆的过程。RLC层其中一个职能是负责数据有序地发送,因此,在接收端,当收到的数据出现顺序错乱时,RLC会等待直到所有有序数据都收到为止,再将所有这些数据段组装(Reassembly)然后提交给上层。有时候,RLC可能一直等不到所有有序数据都到达,为了防止RLC接收端无限制地等下去,因此设置了这个t-Reassembly定时器。当这个定时器超时的时候,即使没有等到所有有序数据到达,RLC也会将受到的数据提交个上层,并更新相关参数。

RLC AM和UM都存在分段(Segmentation)和组装(Reassembly),因此两种模式均有对应的t-Reassembly。示例中的t-Reassembly为ms40,表示定时器超时时长为40ms。

RLC AM的t-Reassembly用法见38.322 5.2.3.2

t-StatusProhibit

该定时器用于AM RLC接收端、决定是否禁止STATUS PDU的发送。只有在该定时器超时的时候,才会产生并发送STATUS PDU。该定时器的详细用法见38.322 5.3.4

示例中的ms0表示该定时器不会运行,即这个定时器不会阻止STATUS PDU的产生和发送。

1.2 mac-LogicalChannelConfig

mac-LogicalChannelConfig 
{ul-SpecificParameters {priority 3,prioritisedBitRate infinity,bucketSizeDuration ms300,logicalChannelGroup 0,schedulingRequestID 0,logicalChannelSR-Mask FALSE,logicalChannelSR-DelayTimerApplied FALSE}
}

LogicalChannelConfig IE中主要包含ul-SpecificParameters这个IE,包含以下参数:

priority

逻辑信道优先级,取值范围1~16,该参数的值越大,优先级越低。见38.321 5.4.3.1.1

prioritisedBitRate

即PBR,MAC层根据上行grant、分配上行数据的令牌桶算法参数之一。该参数表示单位时间内应该给某个逻辑信道分配的数据量(比特数),因此该参数实际上相当于这个逻辑信道的一个保证速率。每个逻辑信道都具有自己的PBR。

示例中,PBR为infinity,表示对当前逻辑信道的保证速率无限大,即尽可能满足。由于该PBR所属的逻辑信道对应的是SRB1,优先级很高(值为3),实际上infinity就是优先且最大满足。另外,按照38.331的描述,对于SRB,prioritisedBitRate也只能设置为infinity。

bucketSizeDuration

即BSD,和PBR一样、也是MAC层令牌桶算法参数之一。该参数表示PBR持续增加的最大时长,即令牌桶的桶深。(PBR x BSD)表示的含义就是当前逻辑信道可以分配的最大比特数。这个当前即指MAC执行当前Logical Channel Prioritization过程的时候。和PBR一样,每个逻辑信道都具有自己的BSD。

示例中,BSD=300ms,由于PBR=infinity,所以这个参数的值在算法中并不是很重要,因为(PBR x BSD)相当于还是“infinity"。

关于令牌桶算法的讲解,可以参考LTE MAC层令牌桶算法_prioritisedbitrate-CSDN博客,协议部分可以参考38.321 5.4.3.1。

logicalChannelGroup

逻辑信道组ID。取值范围0~maxLCG-ID,R18协议下,maxLCG-ID=7。

schedulingRequestID

指示这个逻辑信道的调度请求(SR)配置。这个ID是一个SR配置集合的索引,这个SR配置集合在后面的IE schedulingRequestToAddModList中给出。

logicalChannelSR-Mask

该参数用于控制配置的上行grants(CUG)是否可以触发调度请求(SR)。其中配置的上行grants是指预先配置好的上行grant,比如半持续调度(SPS)。CUG分为type1和type2两种,type1是指通过RRC配置的上行grant,type2是指通过PDCCH配置的上行grant(见38.321 5.8.2)。type1最典型的就是LTE中的SPS,常用于voice等业务;type2用于突发的上行数据。

示例中参数的值为false,表示该逻辑信道没有SR masking,即允许触发SR。

logicalChannelSR-DelayTimerApplied

该参数指示当前逻辑信道在准备触发SR发送的时候,使用应用一个延迟定时器,即logicalChannelSR-DelayTimer。

示例中参数的值为false,表示不应用这个延迟定时器,一旦有SR触发,则立即发送SR。

2. mac-CellGroupConfig

2.1 schedulingRequestConfig

schedulingRequestConfig 
{schedulingRequestToAddModList {{schedulingRequestId 0,sr-ProhibitTimer ms16,sr-TransMax n32}}
},

该IE包含一个schedulingRequestToAddModList和一个schedulingRequestToReleaseList,示例中没有release list。其中,schedulingRequestToAddModList包含了一个由SchedulingRequestToAddMod构成的list。SchedulingRequestToAddMod中的IE如下说明。

schedulingRequestId

当前SR配置的索引,对于某个逻辑信道而言,其对应的SR配置中会携带这个索引(见mac-LogicalChannelConfig中的schedulingRequestID),以便映射到这里对应的SR配置。

示例中,该参数的值为0,且前面mac-LogicalChannelConfig中的schedulingRequestID也为0

sr-ProhibitTimer

这个定时器的作用是,当UE发送一个SR之后,至少在这个定时器给出的时间范围内,不能再次发送SR。

示例中的值ms16,表示16毫秒。

sr-TransMax

表示一个SR的最大发送次数,当超过这个次数后,UE一般会call drop。

一个SR一定会有其对应的MAC PDU,如果这个MAC PDU发送了,则这个SR就会被cancel,SR_COUNTER就会从0开始计数。

示例中的值n32,表示32次。

2.2 bsr-Config 

bsr-Config 
{periodicBSR-Timer sf5,retxBSR-Timer sf320
},

BSR(Buffer Status Report)配置。

periodicBSR-Timer

周期BSR(Periodic BSR)的定时器,顾名思义即周期性发送的BSR。参数值中的"sf"表示子帧。

示例中sf5表示5个子帧。和LTE一样,5G中一个子帧也是1ms,区别是一个子帧包含的slot数不同,和numerology有关。

retxBSR-Timer

我的理解,这个timer的作用是为了给BSR引入“重传”机制。见下面38.321 5.4.5中的描述:

上面这段协议的描述,意思就是当发送了一个BSR之后,就会启动retxBSR-Timer这个定时器。

再看下面这段:

retxBSR-Timer这个定时器超时之后,MAC实体会认为这个BSR对应的逻辑信道具有最高优先级。

将上面两点结合起来,就是一个典型的“重传”机制。

既然有了周期BSR,为什么还要引入BSR重传机制?

需要注意的是,BSR是MAC CE,是需要UL grant才能发送的。如果没有ul grant,即使是周期BSR,也是无法发送的。另一方面,当没有ul grant、同时又有BSR需要发送的时候,只有Regular BSR可以触发SR(调度请求)以期待获取ul grant。

retxBSR-Timer超时后触发的BSR正好是Regular BSR

因此,周期BSR和重传BSR其实是不会互相冲突的。周期BSR用于数据量比较大、且数据流比较平稳的一段时期,此时,由于有稳定和持续不断的ul grant,可以供UE提供周期BSR上报。而重传BSR用于偶发的数据,通过SR/Regular  BSR的机制上报,当首次触发了Regular  BSR之后,也依然无法获取ul grant进行BSR的上报之后,一旦retxBSR-Timer超时,便会再次触发这个BSR(即重传BSR),和首次触发BSR不同的是:此时重新触发的BSR对应的逻辑信道具有最高优先级。

示例中,值sf320即320个子帧,320ms。

2.3 tag-Config

tag-Config 
{tag-ToAddModList {{tag-Id 0,timeAlignmentTimer infinity}}
},

TAG-Config包含两个list

示例中仅有tag-ToAddModList。该list包含一组TAG的配置参数

tag-Id

指示当前SpCell或者SCell的TAG的索引。该值在一个小区组(MCG或者SCG)中是唯一的。

timeAlignmentTimer

该timer定义在38.321中,表示在多长时间范围内MAC实体认为属于该TAG的服务小区是上行时间对齐的。当这个定时器超时时,UE一般会call drop。

示例中,infinity表示该定时器不会超时。

2.4 phr-Config

phr-Config setup : 
{phr-PeriodicTimer sf100,phr-ProhibitTimer sf100,phr-Tx-PowerFactorChange dB1,multiplePHR FALSE,dummy FALSE,phr-Type2OtherCell FALSE,phr-ModeOtherCG virtual
},

该IE用于配置UE的功率余量上报(Power Headroom Report,PHR)的相关参数。

phr-PeriodicTimer

周期PHR的定时器,该定时器超时后,会触发PHR。

示例中sf100表示100个子帧,即100ms。

phr-ProhibitTimer

PHR的禁止定时器,该定时器超时后,如果满足一定条件,会触发PHR。其中,“一定条件”是指对功率余量的影响因素改变了、且达到一定的门限,具体见38.321 5.4.6。

示例中sf100表示100个子帧,即100ms。

phr-Tx-PowerFactorChange

前面提到的“一定条件”中的“门限”,具体见38.321 5.4.6。

示例中的dB1表示1dB。

multiplePHR 

指示功率余量是使用Single Entry PHR MAC CE上报还是使用Multiple Entry PHR MAC CE上报。对于MR-DC以及NR UL CA,网络会配置这个参数为true;否则为false。

示例中,FALSE表示使用Single Entry PHR MAC CE上报。

phr-Type2OtherCell

指示是否为其它MAC实体的SpCell配置type 2的PHR。如果没有E-UTRA MAC实体,网络会设置这个参数为false。

Type 2 PH:UE在其它MAC实体的SpCell上的名义最大发送功率和其UL-SCH/PUCCH发送功率之间的差别。而Type 1PH则是指当前服务小区上的名义和实际发送功率之差。

Type 2 PH用于EN-DC、NE-DC、以及NGEN-DC(4G主站,5G核心网)中的E-UTRA MAC实体。

示例中的FALSE表示没有配置Type 2的PHR,因为示例是一个5G SA的信令。

phr-ModeOtherCG

当配置了DC时,指示其它小区组(MCG或SCG)中激活小区使用的PHR模式(real或者virtual)。如果没有配置DC,即只有一个小区组时,该字段会被忽略。

从38.321中对于此参数的描述来看,只有当该参数的值为real时才会有意义,协议中没有virtual对应的行为。

示例中的值为virtual,表示没有特别的行为,当前由于示例为SA的信令,该字段本身也会被忽略。

2.5 skipUplinkTxDynamic

skipUplinkTxDynamic FALSE

该参数指示在某些条件满足的情况下、是否跳过上行发送。这些条件定义在38.321 5.4.3.1.3中,

简单来说,就是当UE获得了ul grant之后,如果没有A-CSI请求、且没有用户数据、且没有重要的MAC CE(仅有周期BSR或者padding BSR),则UE会跳过此次上行发送。

示例中,该参数的值配置为FALSE,表示不会跳过上行发送。

3. physicalCellGroupConfig

physicalCellGroupConfig 
{p-NR-FR1 23,pdsch-HARQ-ACK-Codebook dynamic
},

3.1 p-NR-FR1

在FR1频段、在当前NR小区组中的所有服务小区中、UE最大的发送功率。UE最大发送功率同时也会收到p-Max(配置在FrequencyInfoUL中)、以及p-UE-FR1(FR1上UE在所有服务小区上的总功率)的限制

示例中23表示23dBm。

3.2 pdsch-HARQ-ACK-Codebook

该参数指示PDSCH的HARQ-ACK码本、是半静态还是动态产生的。

  • Semi-Static:半静态码本, 也称为Type-1 HARQ-ACK codebook。即UE根据RRCPDSCH相关半静态配置, 生成需要发送的半静态的HARQ-ACK码本。
  • dynamic:动态码本, 也称为Type-2 HARQ-ACK codebook。即UE根据DCI下行动态调度的情况, 生成需要发送的动态HARQ-ACK码本

关于semi-static和dynamic码本的具体含义,比较复杂,详见38.213 9.1。

示例中参数的值为dynamic,指示使用动态HARQ-ACK码本。

相关文章:

5G 现网信令参数学习(3) - RrcSetup(1)

目录 1. rlc-BearerToAddModList 1.1 rlc-Config 1.1.1 ul-AM-RLC 1.1.2 dl-AM-RLC 1.2 mac-LogicalChannelConfig 2. mac-CellGroupConfig 2.1 schedulingRequestConfig 2.2 bsr-Config 2.3 tag-Config 2.4 phr-Config 2.5 skipUplinkTxDynamic 3. physicalCellG…...

PHP实现身份证OCR识别API接口

随着社会的发展,身份认证需求不断增长,这与身份证OCR识别技术的发展密切相关。在当今社会,各个领域都需要进行身份认证。传统的人工手动录入身份证信息费时费力,速度慢且容易出错,体验不佳。而身份证 OCR 识别技术通过…...

关于 Qt+Osg中使用背景图HUD受到后绘制几何图形顶点颜色影响 的解决方法

若该文为原创文章,转载请注明出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/143607816 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、Op…...

[CKS] K8S AppArmor Set Up

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于AppArmor Pod操作权限的问题。 ​ 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS] …...

redis笔记-数据结构

zset zset一方面它是一个 set,保证了内部value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权重。 zset的底层是由字典和跳表实现。 字典主要用来存储value和score的对应关系。跳表这个数据结构主要用来提…...

webpack的常见配置

Webpack 是一个现代 JavaScript 应用的模块打包工具,用于将项目中的多个文件和依赖打包成浏览器可以识别的文件,通常是一个或多个 JavaScript、CSS 或其他静态资源的 bundle(将多个模块或文件合并成一个或几个文件的过程,这些合并…...

text-embedding-ada-002;BGE模型;M3E模型是Moka Massive Mixed Embedding;BERT

目录 text-embedding-ada-002 一、模型概述 二、模型功能 三、模型特点 四、模型应用 五、模型优势 BGE模型 一、模型背景与特点 二、模型性能与表现 三、模型迭代与发展 M3E模型是Moka Massive Mixed Embedding 一、基本信息 二、技术特点 三、应用场景 四、性能…...

WebRTC 环境搭建

主题 本文主要描述webrtc开发过程中所需的环境搭建 环境: 运行环境:ubuntu 20.04 Node.js环境搭建 安装编译 Node.js 所需的依赖包: sudo apt-get update sudo apt-get install -y build-essential libssl-dev 下载 Node.js 源码: curl -sL htt…...

FastHTML快速入门:http方法,CSS文件和内联样式,其他静态媒体文件位置

HTTP方法 FastHTML通过函数名与HTTP方法进行匹配。到目前为止,我们定义的URL路由都是针对HTTP GET方法的,这是网页最常见的方法。 表单提交通常作为HTTP POST发送。在处理更动态的网页设计时,也就是所谓的单页应用(SPA&#xff0…...

项目管理和研发管理中的痛点及其解决方案

在现代企业中,研发管理和项目管理面临着多重挑战,包括资源配置不当、沟通不畅、目标不明确、进度控制困难等。这些痛点不仅影响项目的顺利推进,还可能导致企业在市场竞争中处于劣势。尤其是在资源配置不当方面,企业往往难以合理分…...

机器学习(基础1)

数据集 sklearn玩具数据集 数据量小,数据在sklearn库的本地,只要安装了sklearn,不用上网就可以获取 sklearn现实世界数据集 数据量大,数据只能通过网络获取(为国外数据集,下载需要梯子) skle…...

我谈维纳(Wiener)复原滤波器

Rafael Gonzalez的《数字图像处理》中,图像复原这章内容几乎全错。上篇谈了图像去噪,这篇谈图像复原。 图像复原也称为盲解卷积,不处理点扩散函数(光学传递函数)的都不是图像复原。几何校正不属于图像复原&#xff0c…...

怎么看真假国企啊?怎么识别假冒国企的千层套路?

一、怎么看真假国企啊? 1.使用具有迷惑性的名称:假冒国企往往在名称中使用“中国”、“中”、“国”等字样,或与知名国企名称相似的字号,以增加其可信度。 2.注册资本虚高:为了显示实力,假冒国企可能会在…...

C#中break和continue的区别?

在C#编程语言中,break和continue是两个用于控制循环流程的关键字,但它们的作用和用途有所不同。 break关键字 break关键字用于立即终止它所在的最内层循环或switch语句,并跳出该循环或switch块。程序执行将继续进行循环或switch语句之后的下一…...

Linux部署nginx访问文件403

问题描述:在linux服务器上通过nginx部署,访问文件403 新配置了一个用户来部署服务,将部署文件更新到原有目录下,结果nginx访问403 原因:没有配置文件的读写权限,默认不可读写,nginx无法访问到文…...

华为OD机试 - 数字排列 - 深度优先搜索dfs算法(Python/JS/C/C++ 2024 C卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…...

Scrapy爬取heima论坛所有页面内容并保存到数据库中

前期准备: Scrapy入门_win10安装scrapy-CSDN博客 新建 Scrapy项目 scrapy startproject mySpider03 # 项目名为mySpider03 进入到spiders目录 cd mySpider03/mySpider03/spiders 创建爬虫 scrapy genspider heima bbs.itheima.com # 爬虫名为heima &#…...

Kafka参数了解

Kafka配置参数完整说明 1. 基础配置 参数名说明推荐值参考值broker.idbroker的唯一标识符每个节点唯一的整数1delete.topic.enable是否允许删除topictruetruelistenersbroker监听地址SASL_PLAINTEXT://host:9092SASL_PLAINTEXT://172.24.77.15:9092advertised.listeners对外发…...

sql专题 之 where和join on

文章目录 前言where介绍使用过滤结果集关联两个表 连接外连接内连接自然连接 使用inner join和直接使用where关联两个表的区别总结 前言 从数据库查询数据时,一张表不足以查询到我们想要的数据,更多的时候我们需要联表查询。 联表查询我们一般会使用连接…...

day12:版本控制器

版本控制 使用到的命令: ls -al查看当前目录下的文件及文件夹mkdir新建目录rm -rf递归强制删除文件夹 一、安装配置 1、下载地址 Git 2、初始配置 #用户名 git config --global user.name "自定义用户名" #邮箱(公司的联系方式--追责&…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

MySQL的pymysql操作

本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

快速排序算法改进:随机快排-荷兰国旗划分详解

随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法,以下是几种常见的治理方式: 1. 数据质量管理 核心方法: 数据校验:建立数据校验规则(格式、范围、一致性等)数据清洗&…...

Tauri2学习笔记

教程地址:https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引:https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多,我按照Tauri1的教程来学习&…...

【汇编逆向系列】六、函数调用包含多个参数之多个整型-参数压栈顺序,rcx,rdx,r8,r9寄存器

从本章节开始,进入到函数有多个参数的情况,前面几个章节中介绍了整型和浮点型使用了不同的寄存器在进行函数传参,ECX是整型的第一个参数的寄存器,那么多个参数的情况下函数如何传参,下面展开介绍参数为整型时候的几种情…...