基于三元三阶的NB-IoT智能抄表故障定位方法研究
2021-07-20孙际勇
孙际勇
【摘要】 本文以海量物联网数据为基础,采用机器学习挖掘NB-IOT智能抄表业务逻辑,最终建立分析模型,创新使用“三元三阶”分析方法定位问题原因。在网络接入阶段,通过网络指标分析问题;在业务执行阶段,通过智能抄表业务逻辑发现问题;在休眠阶段,基于业务行为与数据规律定位问题。
【关键词】 NB-IoT智能表 三元三阶 业务逻辑
引言:
1.概述
智能抄表是物联网技术革新的产物,改善了抄表行业的诸多问题。相对于传统抄表而言,智能抄表具有计价灵活、实时监控、远程报警切断功能以及能实现大数据分析等优势。
物联网抄表的发展经历多个阶段,最早的物联网表是以短信方式进行通讯,因定位超前且费用高被淘汰。第二阶段是GPRS模组加SIM卡模式,采用传统GPRS网络与服务端通信。国家近年大力推广物联网技术,NB-IoT作为LPWAN物联网领域的主流技术,正展现出强大的发展潜力。基于NB-IoT技术的智能抄表因具备低功耗、可海量接入、节约人力成本等优势而受追捧,被广泛应用于城市智慧能源传输建设。
2.优势
NB-IoT网络是基于蜂窝网络的窄带物联网技术,聚焦低功耗广域网,支持物联网设备在广域网的蜂窝数据连接,具备单独部署、与现有网络联合部署多种方案,NB-IoT网络可弥补GSM/CDMA技术在物联网领域的不足。
智能抄表如采用NB-IoT网络接入,可利用NB-IoT网络的PSM节能模式,提高智能表电池使用寿命。利用该超强覆盖能力,解决传统网络覆盖死角信号差问题,提高接入成功率。
和传统人工抄表相比,智能抄表还具备以下优势:
1)节约能源公司人力成本,提高抄表效率和准确率。
2)以累积的能源使用量大数据为基础,为阶梯定价、能源传输管网规划等城市建设提供支撑。
一、研究内容
1.1 现阶段面临的主要问题
NB-IoT智能抄表属于新兴业务,目前处于摸索应用期,还有部分环节需要完善。NB-IoT智能抄表业务过程中涵盖终端、模组、无线网络、核心网、IOT平台、应用服务器等多个环节,涉及能源公司、平台集成厂商、电信运营商,跨专业沟通成本大,出现故障时需要各专业的人员逐段排查。使用传统的分析方法很难快速定位故障。
1.2 基于运营商管道数据的解决方案
区别于传统各专业逐段排查的方法,本次通过运营商海量管道数据为基础,采用机器学习算法构建业务识别模型,建立智能抄表业务信息库,并梳理智能抄表业务逻辑,根据业务逻辑构建故障分析模型。
分析模型创新使用“三元三阶”方法,从网络接入、业务执行及休眠三阶段开展分析,结合分析模型从终端侧、网络侧及服务侧三个维度实现故障原因快速定位。
二、三元三阶分析方法
以NB-IoT智能抄表为样例数据开展分析,共收集约20万台智能表终端信息,以及1个月的运营商管道数据。
通过对20万NB-IoT智能表数据挖掘分析发现智能表具备如下交互特征:
1.智能表与网络及服务器交互有固定时间周期、且交互时间短;
2.智能表大多时间处于休眠阶段,休眠时与网络无数据交互。
根据特征,结合网络数据携带的PSM定时器时长可确定智能表大部分时间属于休眠状态,具备明显的网络接入、业务交互、休眠三个阶段的特性。再结合智能表数据交互的三个网元维度,开展三元三阶故障分析。
三元:智能抄表端到端业务的流程主要涉及3个网元,分别是智能表终端侧、运营商管道侧、智能表服务侧;
三阶:智能表全业务流程往往包含网络接入、业务执行以及休眠三个阶段;
三元三阶:
网络接入阶段,通过失败原因值分析法和失败聚类分析法對接入流程开展分析定位;
业务执行阶段,结合设备业务逻辑排查业务流程问题点,定位具体故障网元;
休眠阶段,结合应用侧和运营商管道的设备历史数据通过聚类分析法定位故障网元。
2.1 网络接入阶段分析
在NB-IoT设备网络接入阶段,对随机接入、RRC连接建立及附着等接入成功率进行分析,通过接入失败原因值及接入失败终端多维度聚类分析定位接入失败原因,输出故障网元。
通过移动网络管道数据发现825个设备网络接入阶段中,附着成功率相对较差,占采样设备的0.41%。智能表设备附着失败导致在网络接入阶段失败。结合信令数据附着失败原因值分析,查看设备的Attach Reject消息携带原因值,有25%的设备失败原因为“EPS services not Allowed”,根据返回的原因值可知,由于核心网签约数据异常导致附着被拒,初步定界为网络侧原因;有53%的设备失败原因为“Network failure”,根据返回的原因值分析主要原因为Update Location Request中上报的IMEI与签约IMEI不同导致附着失败,初步定界为设备侧原因;其他21%的设备通过多维度(设备型号、MME、小区以及服务器等)聚类分析发现,大部分集中在个别小区,初步定位小区问题导致附着失败。
总结上述案例,智能表网络接入阶段故障排查借助网络接入成功率指标分析,网络接入成功率通过附着成功率分析实现故障问题定界,分析步骤如下:
步骤1:通过移动管道数据分析智能表终端成功率指标;
步骤2:基于运营商管道数据分析网络接入失败终端的失败原因值及分布情况;
步骤3:通过失败原因值分析,一方面直接定位出故障原因,另一方面通过运营商管道数据多维度(包括终端型号、小区、核心网、时间等维度)聚类分析定位出故障网元。
2.2业务执行阶段分析
业务执行阶段,针对智能表远程抄表、实时计费、报警提醒等业务流程开展分析,采集大量应用侧及运营商管道数据进行机器学习,识别出各业务数据的业务逻辑,再基于设备业务逻辑排查问题点,定位具体故障网元。
通过智能抄表业务的运营商管道数据建立信息库,并进行数据挖掘,发现抄表业务整体信令流程如下图2。
基于上述信令流程开展分析,结合应用侧提供的智能抄表业务流程(包括建链、鉴权、数据上报、拆链等)进行抄表业务逻辑识别工作。采用机器学习建模分析智能抄表业务信令数据特征(地址、协议、信息长度、数据包信息等),将各项信令数据特征进行关联组合,并根据智能抄表过程中的建链流程、鉴权流程、数据上报流程以及拆链流程划分关联数据流,最后通过业务识别算法基于数据流特征完成抄表业务逻辑识别,识别结果如下:
NB-IoT智能抄表业务逻辑主要包括四个建链过程、两个鉴权过程、两个数据上报过程以及一个拆链过程。
对智能抄表数据进行分析,抄表失败主要是抄表业务流程失败导致,占比74%,占总设备数3.5%。结合智能表业务逻辑对智能抄表故障问题进行排查发现抄表业务失败原因主要集中在鉴权确认过程,智能表服务器下发鉴权确认消息后,物联网平台转发该命令到表端,在25秒内下发三次表端均没有响应,命令超时,导致抄表失败。情况如下:
结合上述分析可知,智能抄表业务失败是由于终端侧故障导致。
总结上述案例,智能表业务执行阶段故障排查,通过运营商管道数据挖掘,结合机器学习识别智能表业务逻辑。基于业务逻辑开展业务流程故障排查分析,分析步骤如下:
步骤1:通过运营商管道数据分析智能表终端业务成功率指标;
步骤2:基于运营商管道数据挖掘智能抄表业务流程;
步骤3:基于智能表业务逻辑对具体业务流程进行故障排查,输出故障业务流程;
步骤4:通过运营商管道数据对故障流程进行分析,定位具体故障点。
2.3休眠阶段分析
NB-IoT智能表在休眠阶段处于PSM工作模式下,此状态智能表注册在网,保持在线状态,但信令不可达。在此阶段智能表终端侧与智能表服务侧无数据交互,需要结合智能表终端历史状态对终端进行监控。此阶段智能表终端设备存在的主要问题是设备失联故障问题,结合应用侧和运营商管道设备历史数据通过聚类分析法定位故障网元。
使用部分智能表故障终端信息,结合运营商管道数据挖掘分析发现,约0.99%的故障终端智能表在数据交互周期内无数据上报,结合智能表历史数据,初步判断这部分终端设备疑似存在失联故障问题。
2.3.1型号集中性分析
分析发现智能表终端共涉及4个型号,分别是型号A1、B1、C1和D1,针对疑似失联设备开展型号集中性分析发现,失联故障问题并无明显集中在个别型号上,如下:
2.3.2区域集中性分析
统计疑似失联设备的区域分布情况发现大部分故障设备无明显集中情况,存在152个设备集中分布在2个小区覆盖范围内,需要进一步排查这两个小区所覆盖区域是否存在网络问题导致NB-IoT智能表终端失联。
2.3.3失联故障率分析
针对疑似失联终端设备的失联周期开展分析,挖掘失联故障率高的设备需要进一步分析其终端设备是否存在故障。
总结上述案例,分析步骤如下:
步骤1:通过智能抄表业务规则以及运营商管道数据分析,总结智能抄表业务上报时间规律;
步骤2:基于智能表数据交互周期判断其数据交互周期内终端侧与服务侧有无数据交互,反推终端设备是否存在失联故障问题;
步骤3:通过疑似失联设备型号集中性分析定位失联故障原因,输出故障终端型号;
步骤4:通过疑似失联设备区域分布分析定位失联设备集中区域,输出覆盖异常区域;
步骤5:通过疑似失联设备故障率分析定位异常失联设备,输出故障終端设备。
2.4 智能表分析结果
经过 “三元三阶”分析法确定,NB-IoT智能抄表失败在网络接入、业务执行以及休眠三个阶段业务失败分布如下:
通过“三元三阶”分析方法实现83%以上的抄表失败设备问题定界,其中设备侧问题占比78.81%,网络侧问题占比4.64%。
三、业务流程故障排查模型
上章提到,业务执行阶段的分析采用机器学习建模及业务识别算法进行业务逻辑识别工作,并基于业务逻辑分析完成该阶段的故障定位。本章将具体介绍机器学习建模的过程以及业务识别算法内容。
3.1 业务逻辑的识别
3.1.1业务的识别流程
对于机器业务识别方法来说,机器学习识别算法是提高识别能力的重要因素,可应用的系统平台需多方面考虑,诸如计算复杂程度及识别速率等。
机器学习业务识别算法分两步:识别模型的建立与业务分类。
首先需要利用样本数据进行训练来建立识别模型,然后将模型输入到分类器进行业务分类。训练的输入样本数据可来自采集的业务流量数据或者直接抓取业务数据。最后基于五元组信息(源地址、目的地址、传输层协议类型、包长度以及数据包信息)拆分成不同的数据流来统计流的特征。数据流的特征和算法识别参数集用来建立流识别模型,机器算法的参数依靠具体的机器学习算法从简单到复杂演进,部分算法可能不依赖参数。业务分类器完成业务识别训练,即可对流进行识别分类,分类器可以实现业务识别。
3.1.2业务识别算法
将提取的数据包按五元组分类, 每一类就是一个数据流。通过各类数据流的关联,并捕捉关联流的特征定义特征包。通过数据包五元组信息与已识别出特征的数据包的五元组相匹配, 选择出有分类代表性的最优特征子集,最后将采样数据样本和最优特征集训练XGBoost模型进行业务识别,如下图:
3.1.3 XGBoost算法介绍
极限梯度提升(eXtreme Gradient Boosting)是GBDT的一种提升算法,它继承了GBDT并进行改进,假设训练集D={xi, yi} (|D|=n,xi∈Rm, yi∈R)包含n个样本和m个特征,在第t次迭代中构造了一个回归树ft,其目标函数的形式包含两部分:损失函数和正则化项,如下所示:
式中,——第t次迭代的预测值
——第i个样本目标值与预测值之间的损失函数
Ω——加入的正则化项,表示决策树的复杂度
Ω用于抑制过拟合现象,控制模型的复杂度,保证在模型简单的基础上最小化训练误差。采用泰勒展开式近似定义目标函数Obj(t),即
其中,是损失函数的一阶梯度和二阶梯度。由于与ft无关,所以最小化目标函数的过程中可以忽略。在XDBoost中,数的复杂度定义为
式中,wj——第j个叶子节点所分配的权重
T——回归树中的节点数
γ——叶子节点的系数
使XGBoost在最小化目标函数的同时相当于对回归树做了预剪枝处理,防止训练模型过拟合。综合误差项和正则化项,目标函数可以写成
由上式可以得出一个关于wj的一元二次方程,为此可以得出每棵回归树的最优权重和最优目标函数。
最终目标函数与回归树的树形结构有关,数的剪枝生成问题转化为寻找最优树结构。目标函数越小,表示树的结构最优,在进行节点分裂时,XGBoost采用目标函数计算加入分割点后与之前目标函数的大小比较,比较后再决定是否添加节点。XGBoost采用贪心算法获得最优树结构。利用XGBoost的贪心策略进行回归树的分割,构造最优树结构,随着模型的迭代,根据残差不断进行优化。
3.2 抄表业务流程模型构建
通过上述机器学习算法识别NB-IoT智能抄表业务逻辑,流程如下:
1.通过数据挖掘提取數据流特征,包括数据流源地址、目标地址、流量大小、协议类型、数据流特定信息等;
2.通过各类数据流关联,并捕捉关联流特征定义特征包;
3.基于数据流特征及算法特征建立识别模型;
4.通过机器学习进行业务识别,并输出业务逻辑。
结合上述流程完成智能抄表业务逻辑识别,智能抄表业务逻辑包含4个建链流程、2个鉴权流程、2个数据上报流程和1个拆链流程,结合NB-IoT智能抄表业务逻辑和“三元三阶”分析法构建NB-IoT智能抄表业务故障智能排查模型。
四、结束语
本方案运用了海量物联网大数据资源,通过机器学习挖掘NB-IoT智能抄表业务逻辑,并建立分析模型 ,结合“三元三阶”分析方法,实现对智能表故障问题智能排查。
以智能表为例,创新使用“三元三阶”分析方法,在网络接入阶段,通过附着失败原因值和附着失败设备多维度聚类分析定位设备测、网络侧以及服务侧问题;在业务执行阶段,通过智能抄表业务逻辑故障排查定位设备侧、网络侧以及服务侧问题;在休眠阶段,利用智能表信息数据和运营商历史管道数据进行设备失联问题排查定位设备侧、网络侧问题。其中,在业务执行阶段采用智能表运营商管道数据,建立智能表业务信息库,挖掘智能表业务数据流特征,通过数据流特征关联划分样本业务,继而进行机器学习识别智能抄表业务,进一步识别智能抄表业务逻辑,通过业务逻辑分析定位业务执行阶段故障问题。
基于运营商管道数据,挖掘智能抄表业务特征,通过机器学习识别智能抄表业务,识别业务逻辑,建立抄表业务分析模型。在此基础上,实现NB-IoT智能抄表业务故障问题智能排查。
参 考 文 献
[1] 吴腾.面向数据挖掘的网络流量预测及业务识别算法研究[D].重庆: 重庆邮电大学, 2019:53-57.