【技术实现步骤摘要】
一种基于XGBoost的路由算法关键故障点识别方法
[0001]本专利技术属于软加固和可信软件领域,具体涉及一种基于XGBoost的路由算法关键故障点识别方法。
技术介绍
[0002]路由器作为天基网络移动通信的重要组成部分,其功能为连通不同的网络,通过选择通畅快捷的传输路径提高通信速度,以减轻网络系统的数据传输负荷,节约网络系统资源,提高网络系统的通信效率,从而让其发挥出更大的效益。选择最佳传输路径的策略与路由算法是路由器的关键技术,路由算法决定去往目的节点的最佳路径。分为静态路由算法和动态路由算法,动态路由算法可以很好的适应网络的拓扑变化或者链路的状态变化,常用于大型和复杂的网路环境中,能改善网络的性能并有助于流量控制。动态路由算法作为网络系统运行的关键程序,需要高水平的可靠性技术来加固,以降低故障率。然而,现代微处理器和存储器件已被证明极易受到太阳辐射等强干扰引起的软错误的影响,导致网络故障和数据损坏。如我国发射的“风云一号”气象卫星由于发生瞬时故障导致提前退役;我国“萤火一号”探测卫星发生瞬时故障,导致探测任务失败。因此,这类不可靠因素将影响辐射环境中路由器中执行的动态路由选择程序,如美国的Telstar401卫星,由于辐射问题导致损坏,致使北美地区通讯大面积中断,造成严重影响。
[0003]在太空辐射环境中,因为空间辐射或高能粒子撞击,使计算机系统中的硬件部分如半导体数字电路等受到干扰,这种现象称为单粒子效应。它的具体表现有单粒子翻转(SEU,Single Event Upset)等,SEU属于一种 ...
【技术保护点】
【技术特征摘要】
1.一种基于XGBoost的路由算法关键故障点识别方法,其特征在于,包括如下步骤:步骤1,划分目标路由算法的不同执行阶段,分析程序各阶段输出结果,建立初步故障模型;步骤2,对路由算法源程序进行随机故障注入实验,结合故障注入信息提取故障点特征;步骤3,根据故障点特征改进目标路由算法故障模型,结合程序输出结果构建样本数据集;步骤4,构建并训练基于XGBoost的路由算法关键故障点预测模型,对源程序故障点发生软错误导致的故障类型进行预测;步骤5,根据模型预测结果对路由算法源程序故障点发生软错误导致的故障类型自动进行分类,识别关键故障点。2.根据权利要求1所述的基于XGBoost的路由算法关键故障点识别方法,其特征在于,步骤1中初步故障模型的构建方法如下:步骤1.1,根据动态路由协议的执行流程,将目标路由算法逻辑上划分为收集动态拓扑信息、构建目标网络、更新路由信息、形成路由表四个阶段;收集动态拓扑信息阶段:步骤1.2,收集动态拓扑信息,节点之间互相发送状态信息,直接相连节点之间连接权值为w
ij
;构建目标网络阶段:步骤1.3,构建目标网络,该网络由图模型G={N,S}表示,其中描述网络中的节点集合为N={1,2,
…
,M},M为节点的数目,描述边的集合为S={x
ij
,i,j∈N},边代表节点之间的链路,用邻接矩阵和权矩阵构建目标网络,邻接矩阵A
G
为包含图中连接信息的二维矩阵,对于模型G,构造M
×
M阶邻接矩阵A
G
=(a
ij
),其元素生成方式如下式:式中,A
G
表示目标网络的邻接矩阵,a
ij
表示网络中节点i和节点j的连接状态,x
ij
为描述边的集合S中的元素,如果节点i和节点j相连,则对应状态值a
ij
为1,否则对应状态值a
ij
为0;进一步,构建权矩阵W
G
,这是一个包含节点之间连接权重的二维矩阵,根据第一阶段收集的动态拓扑信息,构造M
×
M阶矩阵W
G
=(a
ij
),其元素生成方式如下式:式中,a
ij
进一步表示为加入连接权重后的节点i和节点j的连接状态,如果节点i和节点j相连接,则对应的值a
ij
为权重w
ij
;如果是同一个节点,则对应的值a
ij
为0;如果节点i和节点j无相连,则对应的值a
ij
为∞;更新路由信息阶段:步骤1.4,更新路由信息,运行最短路径算法Dijkstra,根据构建目标网络阶段生成的权矩阵W
G
=(a
ij
),节点之间的路径度量值由连接权重w
ij
给出,计算网络中节点之间的最短
路径,节点集合N中任一节点n,到其余节点的最短路径表示为下式:D
n
={d1,d2,
…
,d
m
},(1,2,
…
,n,
…
,m)∈N式中,D
n
表示节点n与网络节点集合N中其余节点的最短路径的集合,集合中的元素d1,d2,
…
,d
m
分别表示节点n与其余节点1,节点2,
…
,节点m间的最短路径;形成路由表阶段:步骤1.5,形成路由表,根据更新路由信息阶段计算出的节点之间的最短路径,为当前节点到网络中其余节点的传输路径生成路由信息,对于节点n,路由表中包含自身到节点集合N中的其余节点的路径与下一跳信息,表示为:R
n
={D
n
,n'}|(n,n')∈N式中,R
n
表示节点n形成的路由表,包含最短路径集合D
n
和下一跳节点n';步骤1.6,在目标路由算法运行时引入瞬时故障,根据收集的运行信息,构建目标路由算法的故障模型;根据单粒子效应发生在目标路由算法的不同阶段,以及故障发生时对输出结果的影响,初步构建的目标路由算法的故障模型M
fault
表示为:式中,F
point
表示程序中受辐射影响的位置,分别由和表示故障位置对应目标路由算法的不同阶段f,point_i表示对应阶段的具体故障点,R表示故障发生时,对每一阶段输出结果的影响,初步表示为输出结果错误error和输出结果正确correct。3.根据权利要求2所述的基于XGBoost的路由算法关键故障点识别方法,其特征在于,步骤2中故障点特征,对应于步骤1中初步构建的故障模型M
fault
中的point_i,特征提取方法如下:在指令级引入瞬时故障,对于目标路由算法的每一阶段动态执行的指令序列I
ins
中包含的其中第j条指令,故障点的特征表示方法如下式:point_i=<ins
j
,ins
type
,storage
name
,bit
i
>式中,ins
j
表示阶段f中某一阶段的第j条指令,ins
type
表示该指令的指令类型,storage
name
表示指令操作数的存储单元,具体为指令操作涉及的寄存器或内存,bit
i
表示位翻转发生在相应的存储单元中的第i位,即指令操作数的寄存器的第i位或某一内存单元地址i;根据故障点的表示方法point_i提取下列信息:故障点特征指令类型F
type
、翻转位位置F
bit
‑
pos
、翻转方向F
bit
‑
flip
、存储单元名称F
storage
,构建故障点特征向量的算法如下:步骤2.1,构建如下式所示的目标路由算法故障点的指令类型向量F
type
;F
ytpe
=<add,cmp,leave,mov,pop,store,test,xor>根据源程序所包含的静态指令集合,有add,cmp,leave,mov,pop,store,test和xor8种类型,故障点发生软错误时相对应指令类型取值为1,否则为0,对应于步骤1.5公式中故障点point_i中的ins
type
;步骤2.2,构建如下式所示的故障点的存储单元类型特征向量F
storage
;F
storage
=<regname,memory>其中,regname表示指令操作数为寄存器时对应的寄存器名称,memory为指令操作数为内存单元时对应的内存地址,F
storage
对应于步骤1.5公式中故障点point_i中的storage
name
;步骤2.3,构建如下式所示的故障点的翻转位特征向量F
bit
;
F
bit
=<bit
i
,bit
flip
>|i∈[1,n],bit
flip
={0,1}其中,翻转位特征F
bit
由翻转位位置bit
i
和翻转方向bit
flip
构成,bit
i
为存储单元的第i位发生翻转,当指令操作数的存储单元为通信接口中的寄存器时,n为该寄存器的总位数;bit
flip
为发生单位翻转的位翻转方向,分为0
→
1和1
→
0,当翻转方向为1
→
0,该特征取值为1;否则为0,对应于步骤1.5公式中故障点point_i中的bit。4.根据权利要求3所述的基于XGBoost的路由算法关键故障点识别方法,其特...
【专利技术属性】
技术研发人员:庄毅,李想,顾晶晶,乔恭哲,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。