终端没有5G图标-不支持特定NSA频段组合
某样机没有5G图标,而对比机有5G图标。
step1: 对比机工作在5G NSA上
从android日志可以看到终端工作在b28+n78的NSA双载波下
05-06 14:38:51.993097 1582 1661 D RILJ : [UNSL]< UNSOL_PHYSICAL_CHANNEL_CONFIG
[
{
mConnectionStatus=PrimaryServing,mCellBandwidthDownlinkKhz=15000,mCellBandwidthUplinkKhz=15000,mNetworkType=LTE,mFrequencyRange=LOW,
mDownlinkChannelNumber=9285,mUplinkChannelNumber=27285,mContextIds=[],mPhysicalCellId=219,mBand=28,mDownlinkFrequency=765500,mUplinkFrequency=710500
},
{
mConnectionStatus=SecondaryServing,mCellBandwidthDownlinkKhz=100000,mCellBandwidthUplinkKhz=100000,mNetworkType=NR,mFrequencyRange=HIGH,
mDownlinkChannelNumber=642624,mUplinkChannelNumber=640058,mContextIds=[],mPhysicalCellId=219,mBand=78,mDownlinkFrequency=3639360,mUplinkFrequency=3600870
}
] [PHONE0]
step2:确认测试机能力
问题原因其实比较简单:测试机不支持b28+n78的组合。
网络查询终端NSA ENDC 载波聚合支持的频段
requestedFreqBandsNR-MRDC的FreqBandList 字段下发lte b28,和nr n78.
即终端只需要上报lte b28和nr n78的NSA载波聚合能力。
17:44:25.884989 [0xB0C0] DL_DCCH / UECapabilityEnquiry
Radio Bearer ID = 1, Physical Cell ID = 219
Freq = 9285value DL-DCCH-Message ::=
{message c1 : ueCapabilityEnquiry : {rrc-TransactionIdentifier 3,criticalExtensions c1 : ueCapabilityEnquiry-r8 : {ue-CapabilityRequest {eutra-nr,nr},nonCriticalExtension {
。。。。requestedFreqBandsNR-MRDC-r15 '00206E0268'H
。。。。
}=======================================================
Further decoding Nr Requested Freq Band MRDC
=======================================================Interpreted PDU:
//requestedFreqBandsNR-MRDC的FreqBandList 字段下发lte b28,和nr n78.
//即终端只需要上报lte b28和nr n78的NSA载波聚合能力
value FreqBandList ::=
{bandInformationEUTRA : {bandEUTRA 28},bandInformationNR : {bandNR 78}
}
终端回复NSA 载波聚合能力
由于网络查询了nr和eutra-nr能力,所以网络回复了两种能力。
value UL-DCCH-Message ::=
{message c1 : ueCapabilityInformation : {rrc-TransactionIdentifier 3,criticalExtensions c1 : ueCapabilityInformation-r8 : {ue-CapabilityRAT-ContainerList {{rat-Type nr,ueCapabilityRAT-Container 'E920D000574D5A13160003C12016093160019C3D0304D9061CF9863CA160704C020310409283E0DEB04610D04083C40224B64C55048E3C873E31CF9863CA16070387813FA000000FE800000551B137582308682041D201165B262A86873E238F40CFB027C639F30C7942C0E070F02E000BE0038002F80012403800D940001400000507C04D608C21A081078804496C98AA091C790E7C639F30C7942C0E070F027F0000001FC000000283E016B04610D04083C40224B64C55048E3C873E31CF9863CA16070387813F8000000FE000000141F11B582308682041E201125B262A82471E439F18E7CC31E50B0381C3C09FC0000007F0000002A0F883AC1184341020F100892D931541238F21CF8C73E618F28581C0E1E04FE8000003FA0000001020305D46C28C0D608C21A081074804596C98AA1A1CF88E3D033EC09F18E7CC31E50B0381C3C0B8002F800E000BE0004900E003650000500000141F003582308682041E201125B262A82471E439F18E7CC31E50B0381C3C09FDC000007F7000000A0F827AC1184341020F100892D931541238F21CF8C73E618F28581C0E1E04FE0000003F8000000507C01D608C21A081078804496C98AA091C790E7C639F30C7942C0E070F027F0000001FC00000000206E026FA0700260F0044060240040603E02002000000010000020080000200400001802000010046065E54D60A5602560E50101000009652404000065949010000296524040000E594901000049652401140E2E95455058AA031541E281822008C02030180C0004284C0004080C10181C2C30404C646C94989CA0A4A8BD0'H},{rat-Type eutra-nr,ueCapabilityRAT-Container '00040081B809A0'H}}}}
}
NSA能力只需关注:
ueCapabilityRAT-Container '00040081B809A0’H,对应信息如下。
即终端通过appliedFreqBandListFilter告知网络,我将要上报lte b28和nr n78的NSA能力。
但是除了appliedFreqBandListFilter,没有其他字段了。
所以终端不支持lte b28+nr n78的载波聚合。
=======================================================
Further decoding EUTRA NR
=======================================================Interpreted PDU:value UE-MRDC-Capability ::=
{rf-ParametersMRDC {appliedFreqBandListFilter {bandInformationEUTRA : {bandEUTRA 28},bandInformationNR : {bandNR 78}}}
}
step2: 对比机载波分配过程:
网络查询终端NSA ENDC 载波聚合支持的频段组合
网络下发ueCapabilityEnquiry,携带RAT-Type: eutra-nr 。
通过requestedFreqBandsNR-MRDC的FreqBandList字段,告知终端只需上报lte b28和5g nr n78的能力。
ueCapabilityEnquiry-r8ue-CapabilityRequest: 2 itemsItem 0RAT-Type: eutra-nr (6)Item 1RAT-Type: nr (5)nonCriticalExtension
。。。requestedFreqBandsNR-MRDC-r15: 00206e0268FreqBandList: 2 itemsItem 0FreqBandInformation: bandInformationEUTRA (0)bandInformationEUTRAbandEUTRA: 28Item 1FreqBandInformation: bandInformationNR (1)bandInformationNRbandNR: 78
对比机上报终端的NSA ENDC 载波聚合频段
对比机回复ueCapabilityInformation包含eutra-nr类型的UE-CapabilityRAT-Container。
UE-CapabilityRAT-Containerrat-Type: eutra-nr (6)ueCapabilityRAT-Container: a18ff01f858d80713400000100d19020040dc04d0f400e80c29d0b649f0005008ce00020401008020103002006008016UE-MRDC-CapabilitymeasAndMobParametersMRDCmeasAndMobParametersMRDC-XDD-Diffsftd-MeasPSCell: supported (0)sftd-MeasNR-Cell: supported (0)measAndMobParametersMRDC-FRX-DiffsimultaneousRxDataSSB-DiffNumerology: supported (0)rf-ParametersMRDCsupportedBandCombinationList: 1 itemItem 0BandCombinationbandList: 2 itemsItem 0BandParameters: eutra (0)eutrabandEUTRA: 28ca-BandwidthClassDL-EUTRA: a (0)ca-BandwidthClassUL-EUTRA: a (0)Item 1BandParameters: nr (1)nrbandNR: 78ca-BandwidthClassDL-NR: a (0)ca-BandwidthClassUL-NR: a (0)featureSetCombination: 0ca-ParametersEUTRAsimultaneousRx-Tx: supported (0)ca-ParametersNRsimultaneousRxTxInterBandCA: supported (0)simultaneousRxTxSUL: supported (0)diffNumerologyWithinPUCCH-GroupSmallerSCS: supported (0)mrdc-ParametersdynamicPowerSharingENDC: supported (0)tdm-Pattern: supported (0)simultaneousRxTxInterBandENDC: supported (0)supportedBandwidthCombinationSet: 80 [bit length 1, 7 LSB pad bits, 1... .... decimal value 1]powerClass-v1530: pc2 (0)appliedFreqBandListFilter: 2 itemsItem 0FreqBandInformation: bandInformationEUTRA (0)bandInformationEUTRAbandEUTRA: 28Item 1FreqBandInformation: bandInformationNR (1)bandInformationNRbandNR: 78supportedBandCombinationList-v1540: 1 itemItem 0BandCombination-v1540bandList-v1540: 2 itemsItem 0BandParameters-v1540srs-TxSwitchsupportedSRS-TxPortSwitch: notSupported (7)Item 1BandParameters-v1540srs-TxSwitchsupportedSRS-TxPortSwitch: t1r4 (1)ca-ParametersNR-v1540csi-RS-IM-ReceptionForFeedbackPerBandCombmaxNumberSimultaneousNZP-CSI-RS-ActBWP-AllCC: 10totalNumberPortsSimultaneousNZP-CSI-RS-ActBWP-AllCC: 64simultaneousCSI-ReportsAllCC: 5supportedBandCombinationList-v1560: 1 itemItem 0BandCombination-v1560ca-ParametersNR-v1560diffNumerologyWithinPUCCH-GroupLargerSCS: supported (0)generalParametersMRDCsplitSRB-WithOneUL-Path: supported (0)splitDRB-withUL-Both-MCG-SCG: supported (0)srb3: supported (0)featureSetCombinations: 1 itemItem 0FeatureSetCombination: 2 itemsItem 0FeatureSetsPerBand: 2 itemsItem 0FeatureSet: eutra (0)eutradownlinkSetEUTRA: 1uplinkSetEUTRA: 1Item 1FeatureSet: eutra (0)eutradownlinkSetEUTRA: 1uplinkSetEUTRA: 1Item 1FeatureSetsPerBand: 2 itemsItem 0FeatureSet: nr (1)nrdownlinkSetNR: 1uplinkSetNR: 1Item 1FeatureSet: nr (1)nrdownlinkSetNR: 2uplinkSetNR: 2pdcp-ParametersMRDC-v1530pdcp-DuplicationSplitSRB: supported (0)pdcp-DuplicationSplitDRB: supported (0)
除了appliedFreqBandListFilter字段外,还上报了很多其他信息。主要关注其中的rf-ParametersMRDC-》BandCombination。
上报了终端的NSA 载波聚合能力是 lte b28+ nr n78的双载波聚合能力【在这里是一个b28的载波和一个n78的载波】。
rf-ParametersMRDCsupportedBandCombinationList: 1 itemItem 0BandCombinationbandList: 2 itemsItem 0BandParameters: eutra (0)eutrabandEUTRA: 28ca-BandwidthClassDL-EUTRA: a (0)ca-BandwidthClassUL-EUTRA: a (0)Item 1BandParameters: nr (1)nrbandNR: 78ca-BandwidthClassDL-NR: a (0)ca-BandwidthClassUL-NR: a (0)
网络RRC重配消息下发和NR相关的检测对象measObjectNR-r15和与NR相关的event事件。
网络知道了终端的NSA能力支持lte b28+ nr n78,就会在rrc重配置消息中配置终端检测n78的小区。
如下面measObject配置了5G n78的642624频点。 下发了 eventB1-NR上报。 即检测5G n78的 频点642624邻区质量,高于一定门限则上报。
RRC重配消息
rrcConnectionReconfiguration-r8measConfigmeasObjectToAddModList: 1 itemItem 0MeasObjectToAddModmeasObjectId: 2measObject: measObjectNR-r15 (5)measObjectNR-r15carrierFreq-r15: 642624rs-ConfigSSB-r15measTimingConfig-r15periodicityAndOffset-r15: sf20-r15 (2)sf20-r15: 0ssb-Duration-r15: sf5 (4)subcarrierSpacingSSB-r15: kHz30 (1)threshRS-Index-r15nr-RSRP-r15: -140dBm <= SS-RSRP < -139dBm (17)offsetFreq-r15: 0 dBquantityConfigSet-r15: 1bandNR-r15: setup (1)setup: 78reportConfigToAddModList: 1 itemItem 0ReportConfigToAddModreportConfigId: 3reportConfig: reportConfigInterRAT (1)reportConfigInterRATtriggerType: event (0)eventeventId: eventB1-NR-r15 (5)eventB1-NR-r15b1-ThresholdNR-r15: nr-RSRP-r15 (0)nr-RSRP-r15: -121dBm <= SS-RSRP < -120dBm (36).... .0.. reportOnLeave-r15: Falsehysteresis: 1dB (2)timeToTrigger: ms40 (1)maxReportCells: 8reportInterval: ms5120 (6)reportAmount: r1 (0)reportQuantityCellNR-r15..1. .... ss-rsrp: True...0 .... ss-rsrq: False.... 0... ss-sinr: FalsemaxReportRS-Index-r15: 1reportQuantityRS-IndexNR-r15...1 .... ss-rsrp: True.... 0... ss-rsrq: False.... .0.. ss-sinr: FalsemeasIdToAddModList: 1 itemItem 0MeasIdToAddModmeasId: 3measObjectId: 2reportConfigId: 3quantityConfigquantityConfigNRList-r15: 1 itemItem 0QuantityConfigNR-r15measQuantityCellNR-r15measQuantityRS-IndexNR-r15measGapConfig: setup (1)//(测量间隙配置)setupgapOffset: gp1 (1)//间隙模式与偏移:采用Gap Pattern 1(GP1),每40 ms分配一个6 ms测量间隙,偏移量为20 ms。gp1: 20..1. .... mgta-r15: True//允许测量间隙:终端需在测量间隙内执行异频/异系统测量。
首先通过measIdToAddModList,添加了measID 3. 即只要 measObjectId: 2这个测量对象满足了 reportConfigId: 3测量配置的阈值,则就会将measObjectId涉及的小区信息上报。
measIdToAddModList: 1 itemItem 0MeasIdToAddModmeasId: 3measObjectId: 2reportConfigId: 3
首先看测量配置:
当5G邻区的rsrp高于-121dbm时触发B1事件。
reportConfigId: 3reportConfig: reportConfigInterRAT (1)reportConfigInterRAT //(异系统测量报告配置)triggerType: event (0)eventeventId: eventB1-NR-r15 (5)//事件类型:B1事件,表示异系统邻区(如NR)信号质量超过门限。eventB1-NR-r15b1-ThresholdNR-r15: nr-RSRP-r15 (0)nr-RSRP-r15: -121dBm <= SS-RSRP < -120dBm (36)//触发门限:当NR邻区的SS-RSRP高于-121 dBm时触发B1事件。.... .0.. reportOnLeave-r15: Falsehysteresis: 1dB (2)//迟滞值:避免信号波动导致的频繁触发(需信号持续超过门限1 dB)。timeToTrigger: ms40 (1)//触发时间:满足条件后需持续40 ms才上报事件。maxReportCells: 8//最大上报小区数:最多报告8个满足条件的小区。reportInterval: ms5120 (6)//周期上报间隔:事件触发后,每隔5120 ms重复上报(若条件持续满足)。reportAmount: r1 (0)//上报次数:仅上报1次(若设为infinity则持续上报直到取消)。reportQuantityCellNR-r15//上报的测量量:仅上报SS-RSRP(关闭SS-RSRQ和SS-SINR)。..1. .... ss-rsrp: True...0 .... ss-rsrq: False.... 0... ss-sinr: FalsemaxReportRS-Index-r15: 1 //最大上报参考信号索引数:每个小区仅上报最强1个SSB的测量结果。reportQuantityRS-IndexNR-r15...1 .... ss-rsrp: True.... 0... ss-rsrq: False.... .0.. ss-sinr: False
再看测量对象:
measObjectId: 2measObject: measObjectNR-r15 (5)measObjectNR-r15carrierFreq-r15: 642624//目标小区5G n78的642624频点rs-ConfigSSB-r15//(SSB参考信号配置)measTimingConfig-r15periodicityAndOffset-r15: sf20-r15 (2)//SSB周期与偏移:周期为20 ms,偏移量为0,即每20 ms的帧起始位置发送SSB。sf20-r15: 0ssb-Duration-r15: sf5 (4)//SSB持续时间:占用连续5个子帧(SS Burst Set长度)。subcarrierSpacingSSB-r15: kHz30 (1)//SSB子载波间隔:30 kHz,对应参数集(Numerology)μ=1。threshRS-Index-r15nr-RSRP-r15: -140dBm <= SS-RSRP < -139dBm (17)//门限值:当SS-RSRP(SS参考信号接收功率)高于-140 dBm时,触发测量事件。offsetFreq-r15: 0 dB//频率偏移量:测量结果不调整(若为+3 dB,则测量值加3 dB后再评估触发条件)。quantityConfigSet-r15: 1bandNR-r15: setup (1)//目标小区工作在n78频段setup: 78
参数总结
参数 | 值/配置 | 作用 |
---|---|---|
carrierFreq-r15 | 642624 | 目标NR频点(n78频段) |
eventB1-NR-r15 | SS-RSRP > -121 dBm | 触发异系统上报 |
measGapConfig | GP1, offset=20 ms | 每40 ms分配6 ms间隙,供终端测量其他频段/系统 |
reportQuantityCellNR | 仅SS-RSRP | 简化上报内容,降低信令开销 |
终端上报NR邻区给4G网络
终端通过measResultNeighCellListNR-r15上报了4个,pci为23,221,219,22的小区。rsrp分别为-86,-92,-94,-102dbm。
measurementReport-r8measResultsmeasId: 3measResultPCellrsrpResult: -85dBm <= RSRP < -84dBm (56)rsrqResult: -12dB <= RSRQ < -11.5dB (16)measResultNeighCells: measResultNeighCellListNR-r15 (4)measResultNeighCellListNR-r15: 4 itemsItem 0MeasResultCellNR-r15pci-r15: 23measResultCell-r15rsrpResult-r15: -86dBm <= SS-RSRP < -85dBm (71)measResultRS-IndexList-r15: 1 itemItem 0MeasResultSSB-Index-r15ssb-Index-r15: 1Item 1MeasResultCellNR-r15pci-r15: 221measResultCell-r15rsrpResult-r15: -92dBm <= SS-RSRP < -91dBm (65)measResultRS-IndexList-r15: 1 itemItem 0MeasResultSSB-Index-r15ssb-Index-r15: 4Item 2MeasResultCellNR-r15pci-r15: 219measResultCell-r15rsrpResult-r15: -94dBm <= SS-RSRP < -93dBm (63)measResultRS-IndexList-r15: 1 itemItem 0MeasResultSSB-Index-r15ssb-Index-r15: 6Item 3MeasResultCellNR-r15pci-r15: 22measResultCell-r15rsrpResult-r15: -102dBm <= SS-RSRP < -101dBm (55)measResultRS-IndexList-r15: 1 itemItem 0MeasResultSSB-Index-r15ssb-Index-r15: 4
4G 通过RRC重配消息添加5G辅小区到4G锚点小区
主要涉及的字段:
目的:在 LTE 主小区(PCell)基础上添加 NR 辅小区(SCell),实现双连接(EN-DC)。
关键字段:
radioResourceConfigDedicated:配置 LTE 侧的专用无线资源(如 DRB、MAC 参数)。
nr-Config-r15:携带 NR 辅小区的完整配置(通过 nr-SecondaryCellGroupConfig-r15 字段嵌入)。
nr-Config-》setup-》nr-SecondaryCellGroupConfig
nr-RadioBearerConfig
nr-Config-r15 CHOICE {release NULL,setup SEQUENCE {endc-ReleaseAndAdd-r15 BOOLEAN,nr-SecondaryCellGroupConfig-r15 OCTET STRING OPTIONAL, -- Need ONp-MaxEUTRA-r15 P-Max OPTIONAL -- Need ON}}
LTE 主站配置解析
radioResourceConfigDedicateddrb-ToAddModList: 1 itemItem 0DRB-ToAddMod// DRB 配置drb-Identity: 1//作用:标识数据无线承载(DRB)的 ID,与后续 NR 侧的 DRB 关联。logicalChannelIdentity: 4rlc-Config-v1510reestablishRLC-r15: true (0)//RLC 重建:指示终端在重配置时重建 RLC 实体,确保数据传输连续性。mac-MainConfig: explicitValue (0)explicitValuetimeAlignmentTimerDedicated: infinity (7)//时间对齐定时器:设置为无限,避免因定时器超时导致上行失步。dualConnectivityPHR: setup (1)//双连接功率余量报告:启用双连接下的 PHR 上报,协调 LTE 和 NR 的发射功率。setupphr-ModeOtherCG-r12: virtual (1)
NR辅小区 nr-RadioBearerConfig2-r15
nr-RadioBearerConfig2-r15: 140501d3749850// NR 辅小区(SCell)的无线承载参数和安全策略RadioBearerConfigdrb-ToAddModList: 1 itemItem 0DRB-ToAddModdrb-Identity: 1//标识数据无线承载(DRB)的 IDreestablishPDCP: true (0)//强制终端重建 PDCP 实体,确保数据传输的连续性pdcp-ConfigmoreThanOneRLC//指示该 DRB 使用多个 RLC 实体(例如在双连接或载波聚合场景中)primaryPath//主路径归属的小区组:数据默认通过 NR 辅小区组(SCG ID=1)传输,与 LTE 主小区组(MCG)协同。cellGroup: 1ul-DataSplitThreshold: infinity (23)//上行数据分流阈值:设置为无限大(infinity),表示禁用上行数据分流,所有数据通过主路径(NR SCell)传输。//适用于 NR 辅小区信号质量较好,无需通过 LTE 分流以降低时延或提升可靠性t-Reordering: ms180 (18)//PDCP 重排序定时器:设置 180 ms 的接收端重排序窗口,用于处理乱序到达的 PDCP 数据包。securityConfigsecurityAlgorithmConfigcipheringAlgorithm: nea2 (2)keyToUse: secondary (1)
ul-DataSplitThreshold: infinity
适用于 NR 辅小区信号质量较好,无需通过 LTE 分流以降低时延或提升可靠性。
若需启用 LTE-NR 上行分流,应设置 ul-DataSplitThreshold 为有限值,触发分流条件。
t-Reordering: PDCP 重排序定时器
过长:可能增加端到端时延,但减少重传概率。
过短:可能因乱序触发不必要的重传,适用于低时延敏感业务。
NR 辅小区组配置(nr-SecondaryCellGroupConfig-r15)
即:nr-SecondaryCellGroupConfig就是一个NR RRCReconfiguration消息的套壳。不过在lte下发的nr-SecondaryCellGroupConfig中,只会包含secondaryCellGroup, conditionalReconfiguration, otherConfig, bap-Config, iab-IP-AddressConfigurationList and/ or measConfig.
nr-SecondaryCellGroupConfig:
在采用双连接(DC)技术的 NR 系统中,nr-SecondaryCellGroupConfig 信息单元(IE)对于配置 Secondary Cell Groups(SCG)极为关键。此配置适用于涉及 NR-DC(NR-NR 双连接)或 EN-DC(EUTRA-NR 双载波)的场景。
针对采用 DC 的 NR 系统:
此配置允许用户设备(UE)连接到不同无线接入技术(如 LTE 和 NR)的多个小区,或者多个 NR 小区。
针对 NR-DC 或 EN-DC 的 SCG 配置:
该 IE 提供用于设置、修改或释放 SCG 的参数。它控制主小区组(MCG)与 SCG 之间的交互,以确保主连接和辅连接之间高效协调。这使得网络能够提升数据吞吐量、增强移动性,并支持如超可靠低时延通信(URLLC)等先进应用场景。
nr-Config-r15->nr-SecondaryCellGroupConfig-r15->RRCReconfiguration->secondaryCellGroup->CellGroupConfig->spCellConfig-》reconfigurationWithSync
在spCellConfig可以看到确实分配了nr n78的642624频点, pci为23的小区。其他还有很多很多更详细的参数,没有贴上来。
spCellConfig
servCellIndex: 16
reconfigurationWithSyncspCellConfigCommonphysCellId: 23downlinkConfigCommonfrequencyInfoDLabsoluteFrequencySSB: 642624frequencyBandList: 1 itemItem 0FreqBandIndicatorNR: 78absoluteFrequencyPointA: 640058scs-SpecificCarrierList: 1 itemItem 0SCS-SpecificCarrieroffsetToCarrier: 0subcarrierSpacing: kHz30 (1)carrierBandwidth: 273
5G 辅小区添加成功
上一步,4G LTE通过RRC重配消息套壳5G 的 RRC重配消息,通知添加5G辅小区。
5G辅小区添加成功后,终端通过发送4G LTE的rrcConnectionReconfigurationComplete中的scg-ConfigResponseNR字段套壳NR RRCReconfigurationComplete消息,告知网络5G辅小区添加成功。
参考
https://www.sharetechnote.com/html/5G/5G_LTE_Interworking.html
https://www.sharetechnote.com/html/5G/5G_RRC_Reconfiguration.html
相关文章:

终端没有5G图标-不支持特定NSA频段组合
某样机没有5G图标,而对比机有5G图标。 step1: 对比机工作在5G NSA上 从android日志可以看到终端工作在b28n78的NSA双载波下 05-06 14:38:51.993097 1582 1661 D RILJ : [UNSL]< UNSOL_PHYSICAL_CHANNEL_CONFIG [ { mConnectionStatusPrimaryS…...
Netty 实战篇:为 Netty RPC 框架引入调用链追踪,实现链路透明化
本文将为 RPC 框架集成调用链追踪功能,支持链路 ID 透传、服务调用耗时分析、错误定位等,打通链路透明化的“最后一公里”。 一、为什么需要链路追踪? 在微服务环境中,一个请求可能会经过多个服务节点: 客户端 → 服…...

第42节:模型优化与部署:Web服务部署(Flask, FastAPI)
1. 引言 在现代人工智能和机器学习应用中,模型的开发只是整个流程的一部分。 将训练好的模型有效地部署为可访问的Web服务,使其能够处理实际请求并返回预测结果,是模型价值实现的关键环节。Python生态系统提供了多种轻量级Web框架,其中Flask和FastAPI是目前最受欢迎的选择…...

pikachu通关教程-RCE
目录 RCE(remote command/code execute)概述: exec "ping" 管道符 乱码问题 RCE(remote command/code execute)概述: RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统 分为远程代码和远程命令两种.当…...

MyBatisPlus--快速入门
MyBatisPlus介绍 从名字中就可以感觉到MybatisPlus与MyBatis之间的渊源,而MyBatis是一个非常流行的持久层框架,主要来做数据库的增删改查,而MyBatisPlus这种命名方式让人不得不往MyBatis的升级版去联想,事实也确实如此࿰…...

鸿蒙 HarmonyOS - SideBarContainer 组件自学指南
在日常开发中,如果你有类似「左侧导航 右侧内容」的布局需求,比如后台管理界面、文件管理器、设置页等,SideBarContainer 是非常值得掌握的组件。它自带侧边栏和主内容区的分离机制,还支持折叠、拖拽、控制按钮和多种显示…...
数据交易场景的数据质量评估
在现代数字化时代,数据已成为推动商业发展的核心驱动力。基于不同的交易产品和业务场景,数据产品的质量和准确性直接影响到数据资产的价值及其在市场中的流通性。因此,为数据产品提供全面、深入的数据质量评估报告,不仅有助于提升…...

C++ list基础概念、list初始化、list赋值操作、list大小操作、list数据插入
list基础概念:list中的每一部分是一个Node,由三部分组成:val、next、prev(指向上一个节点的指针) list初始化的代码,见下 #include<iostream> #include<list>using namespace std;void printL…...
39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(函数写法)
39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(函数写法) 一、异步业务函数解析 1.1 页面导航函数 async def get(async_driver, url: str http://secure.smartbearsoftware.com/samples/testcomplete12/WebOrders/Login.aspx):await…...
Go语言defer关键字:延迟执行的精妙设计
深度解析Go语言defer关键字:延迟执行的精妙设计 引言 在Go语言中,defer语句是一种独特而强大的控制流机制,它通过延迟执行的方式解决资源管理、错误处理和异常恢复等关键问题。理解defer的工作原理是掌握Go并发编程和错误处理的关键…...
提升WSL中Ubuntu编译速度的完整指南
在 WSL(Windows Subsystem for Linux)中使用 make 编译项目时,如果发现编译速度非常慢,通常是由以下几个原因导致的。以下是一些常见的排查和优化方法: 🔍 一、常见原因及解决方案 ✅ 1. 文件系统性能问题…...

【Linux 学习计划】-- 命令行参数 | 环境变量
目录 命令行参数 环境变量 环境变量的本质是什么? 相关配置文件 修改环境变量的相关操作 代码获取env —— environ 内建命令 结语 命令行参数 试想一下,我们的main函数,也是一个函数,那么我们的main函数有没有参数呢&am…...

服务器Docker容器创建与VScode远程连接SSH使用
一、拉取容器 1、win r 输入cmd打开终端命令行 2、终端输入 ping 192.168.xx.xxx 查看是否连接到服务器。如输出显示“字节 时间 TTL”等如下界面,则连接成功。否则输出“请求超时” 如果不能连接,则需要修改设备的IP,需要在设置-网络和In…...
体现物联网环境下安全防护的紧迫性 :物联网环境下的个人信息安全:隐忧与防护之道
摘要:随着物联网的飞速发展,个人信息在物联网环境下面临的安全风险日益严峻。本文深入探讨了物联网环境下个人信息泄露的主要途径,分析了当前个人信息安全保护面临的挑战,并从技术、法律、企业责任和个人意识等多方面提出了相应的…...

LiveQing 视频点播流媒体 RTMP 推流服务功能:搭建 RTMP 视频流媒体服务详细指南
LiveQing视频点播流媒体RTMP推流服务功能:搭建RTMP视频流媒体服务详细指南 一、流媒体服务搭建二、推流工具准备三、创建鉴权直播间四、获取推流地址五、配置OBS推流六、推流及播放七、获取播放地址7.1 页面查看视频源地址7.2 接口查询 八、相关问题解决8.1 大疆无人…...

LeetCode 高频 SQL 50 题(基础版)之 【连接】部分 · 下
前五道题:LeetCode 高频 SQL 50 题(基础版)之 【连接】部分 上 题目:577. 员工奖金 题解: select r.name,b.bonus from Employee r left join Bonus b on r.empIdb.empId where b.bonus <1000 or b.bonus is nul…...

【正点原子STM32】RS485串行通信标准(串口基础协议 和 MODBUS协议、总线连接、通信电路、通信波形图、RS485相关HAL库驱动、RS485配置步骤、)
一、RS485介绍 二、RS485相关HAL库驱动介绍 三、RS485配置步骤 四、编程实战 五、总结 串口、 UART、TTL、RS232、RS422、RS485关系 串口、UART、TTL、RS232、RS422和RS485之间的关系可以如此理解: 串口:是一个广义术语,通常指的是采用串行通…...
从SPDY到HTTP/2:网络协议的革新与未来
从SPDY到HTTP/2:网络协议的革新与未来 在互联网的发展史上,协议的演进始终是推动用户体验提升的关键。从早期的HTTP/1.1到如今的HTTP/2,再到即将全面普及的HTTP/3,每一次变革都伴随着性能、安全性和效率的突破。今天,…...

在力扣刷题中触摸算法的温度
在代码的世界里,每一道力扣题目都是一扇通往未知的门。当我推开这些门,与内置求和函数、二进制位运算、辗转相减思想以及链表结构相遇时,才真正触摸到算法的温度 —— 那是一种理性与智慧交织的炽热,也是思维不断淬炼的滚烫。 最…...

外部访问可视化监控 Grafana (Windows版本)
Grafana 是一款通用,美观的,强大的可视化监控指标的展示工具。可以将不同的数据源数据以图形化的方式展示。它支持多种数据源,如 Prometheus 等,可以满足不同的需求。也可以通过插件和 API 进行扩展满足各种需求,…...

通用的防御框架,用于抵御(多模态)大型语言模型的越狱攻击
大家读完觉得有帮助记得关注!!! 摘要 尽管(多模态)大型语言模型(LLMs)因其卓越的能力而受到广泛关注,但它们仍然容易受到越狱攻击。已经提出了各种防御方法来防御越狱攻击ÿ…...
聊聊JVM怎么调优?(实战总结)
JVM 核心配置与调优指南 一、堆内存与年轻代配置(影响最大) 堆内存大小: 在资源允许的前提下,堆内存应尽可能设置得更大。关键点: 必须将堆内存的最大值 (-Xmx) 和最小值 (-Xms) 设置为相同值。动态扩容会触发 Full G…...

新能源汽车电控系统的精准守护者PKDV5355高压差分探头
在新能源汽车的"心脏"——电控系统中,每一次电流的精准切换都关乎车辆的性能与安全。PRBTEK PKDV5355高压差分探头就像一位经验丰富的"汽车医生",帮助工程师们精准捕捉IGBT模块的每一次"心跳",确保电驱系统健康…...

C# 导出word 插入公式问题
最近遇到了一个问题,下载一个文档时需要下载word可编辑的公式。找了很久终于找到了一种解决办法。下面是以C#代码来实现在Word中插入公式的功能。 目录 一、引入dll程序集文件1、通过 NuGet 引入dll(2种方法)的方法:2、手动添加d…...

Mac安装配置InfluxDB,InfluxDB快速入门,Java集成InfluxDB
1. 与MySQL的比较 InfluxDBMySQL解释BucketDatabase数据库MeasurementTable表TagIndexed Column索引列FieldColumn普通列PointRow每行数据 2. 安装FluxDB brew update默认安装 2.x的版本 brew install influxdb查看influxdb版本 influxd version # InfluxDB 2.7.11 (git: …...

手撕Java+硅基流动实现MCP服务器教程
手撕Java硅基流动实现MCP服务器教程 一、MCP协议核心概念 MCP是什么 MCP 是 Anthropic (Claude) 主导发布的一个开放的、通用的、有共识的协议标准。 ● MCP 是一个标准协议,就像给 AI 大模型装了一个 “万能接口”,让 AI 模型能够与不同的数据源和工…...

EasyRTC嵌入式音视频通信SDK助力1v1实时音视频通话全场景应用
一、方案概述 在数字化通信需求日益增长的今天,EasyRTC作为一款全平台互通的实时视频通话方案,实现了设备与平台间的跨端连接。它支持微信小程序、APP、PC客户端等多端协同,开发者通过该方案可快速搭建1v1实时音视频通信系统,适…...

Prometheus学习之pushgateway和altermanager组件
[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# pwd /usr/local/alertmanager-0.28.1.linux-amd64[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# cat alertmanager.yml # 通用配置 global:resolve_timeout: 5msmtp_from: 914XXXXX…...

01 redis 的环境搭建
前言 这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建 主要的目的是 搭建一个可打断点的一个调试环境 c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试 需要有一定的 c, c, java, js 相关基础 基于的…...

《操作系统真相还原》——加载器
显存 将上一章的中断输出,变为显存输出 加载器 使用mbr引导程序从磁盘中加载loader程序。 MBR %include "boot.inc" SECTION MBR vstart0x7c00 mov ax,cs mov ds,axmov es,axmov ss,axmov fs,axmov sp,0x7c00mov ax,0xb800mov gs,ax;cl…...