一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种软件执行异常检测防护方法、设备及介质与流程

2022-03-26 06:37:00 来源:中国专利 TAG:


1.本发明属于计算机技术领域,具体涉及软件执行异常检测技术。


背景技术:

2.计算机软件在运行过程中,会按照软件指令序列顺序执行,当发生硬件随机故障,或者外部干扰时,会引起指示当前程序指令位置指针的随机跳转,使得程序运行偏离正常的指令路径,从而导致不可预计的运行结果,该故障现象俗称程序“跑飞”。在涉及安全的轨道交通行业应用中,程序“跑飞”会导致设备出现非预期的控制顺序,或异常控制数据的输出,从而导致发生严重的行车安全问题。
3.在轨道交通行业安全应用中,为了应对程序“跑飞”异常,通常采用“看门狗”检测和多重冗余系统并行相互校验等方法措施进行检测防护。“看门狗”通常设计为硬件检测电路,程序按照固定频率和“看门狗”电路之间通信,当“看门狗”超出时间阈值没有收到程序消息时,判定程序“跑飞”,“看门狗”电路此时采取硬件复位方式,强制程序重新开始运行;多重冗余系统并行相互校验的应对措施,采用多cpu程序任务同步运行的设计结构,实现程序任务级相互校验,当检测到对方cpu超出时间阈值没有信息应答,或者与对方cpu运算结果出现差异时,判断对方程序异常“跑飞”,采取停机和重启等故障安全处理措施。
[0004]“看门狗”检测和多重冗余系统并行相互校验等方法措施的原理都是采用时间冗余的被动式检测方法,只有在超出设定的时间阈值之后才能实现检测(多重冗余系统并行相互校验中根据运算结果差异的检测方法,是在任务级结果同步校验比对失效时判定对方运行异常,也是基于时间的一种检测方式)。现有技术方法的缺陷在于,需要依靠外部电路/部件,通过时间冗余的方式实现程序运行异常检测,其弊端在于,程序运行异常的检出率依赖外部器件/部件的可靠性,增加了系统设计复杂度;并且,基于时间冗余的检测方法,对于苛求安全的系统来说,由于运行异常的非实时延迟检测,使得系统在非安全状态下的运行时间增加,导致无法有效避免故障检测期间危险侧数据的输出,增加系统运行安全风险。


技术实现要素:

[0005]
本发明所要解决的技术问题就是提供一种基于序列编码校验的软件执行异常检测防护方法,提高程序执行异常检测时效性,提升系统安全性。
[0006]
为解决上述技术问题,本发明采用如下技术方案:
[0007]
基于序列编码校验的软件执行异常检测方法,软件程序运行过程划分为若干个串行执行的任务并按照任务执行顺序构建任务执行序列编码,软件程序运行过程中基于任务执行序列编码,对任务执行顺序进行传递式检测,以发现程序执行顺序异常。
[0008]
优选的,任务执行序列的编码构建成任务序列编码表,任务序列编码表的长度和程序的任务数相同,任务序列编码表中的信息包括序号、序列码、校验码、期望码;其中序号用于表示任务顺序编号。
[0009]
优选的,校验码为32位随机编码,期望码采用编码函数f计算,第一个序列的序列
码为32为随机编码,上一序列的期望码作为下一序列的序列码。
[0010]
优选的,所述任务序列编码表采用离线方式构建。
[0011]
优选的,将任务序列编码表以源代码方式注入源程序中,每个独立子任务的执行序号和编码表对应序号行相对应,设置本任务局部变量用以记录本任务的序列码,并在子任务的入口处,增加期望码计算代码,计算公式为编码函数f;在任务出口处将本任务期望码传递给下一任务的序列码变量,本任务序列码局部变量复位为随机码。
[0012]
优选的,程序运行过程中,执行进入子任务时,首先计算本任务的期望码是否合法,计算方法为用编码函数f计算本任务序列的期望码,并将计算得到期望码值和序列编码表中对应任务序号的期望码对比,若一致则证明程序执行序列正确,若不一致则证明程序执行序列异常,进行故障导向安全处置。
[0013]
优选的,在程序执行到本任务出口处时,将计算得到的期望码赋值给下一任务的序列码局部变量,实现执行顺序的传递。
[0014]
优选的,将本任务的序列码局部变量复位成随机码字,为下一个周期的检测准备。
[0015]
本发明还提供了一种计算机设备,包括至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行所述的基于序列编码校验的软件执行异常检测方法。
[0016]
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现所述的基于序列编码校验的软件执行异常检测方法。
[0017]
本发明针对轨道交通实时安全控制系统的程序结构特点,提出了主动式的程序执行异常检测方法,通过对任务执行序列的编码,实现对程序任务执行顺序的传递式检测,用以发现程序执行顺序异常。
[0018]
与传统的检测防护方法相比,本发明具有以下优点:
[0019]
1、主动式检测,不依赖外部器件/部件,提高了程序执行异常检测时效性,提升了系统安全性。
[0020]
2、实现方式简单,降低了系统设计复杂度,并且采用离线构建编码表的方式生成检测所用的序列码、校验码和期望码,和在线查表对比的方式,最大化减少了计算量。
[0021]
3、方法支持从任务级的防护检测,到函数级防护检测的应用拓展,能够对涉及安全的关键函数进行执行序列的防护。
[0022]
本发明的具体技术方案及其有益效果将会在下面的具体实施方式中结合附图进行详细的说明。
附图说明
[0023]
下面结合附图和具体实施方式对本发明作进一步描述:
[0024]
图1为本发明基于序列编码校验的软件执行异常检测防护方法流程图。
具体实施方式
[0025]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下
对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]
实施例一
[0027]
本发明提出一种基于序列编码校验的软件执行异常检测防护方法,采用软件程序自主且主动式的检测方式,以解决现有技术的缺陷。
[0028]
本实施例以轨道交通安全实时控制系统的软件程序为例,具体内容如下:
[0029]
轨道交通安全实时控制系统,其软件结构通常为多任务串行的周期循环架构,即把数据输入、业务逻辑运算和结果输出的运算过程,划分为若干个串行执行的子任务,并周期性循环执行。基于这种架构,可以构建任务级执行序列的传递检测方法,即采用任务级过程校核编码,保障关键安全子任务的执行时机,是从前序任务顺序执行而来,而非因为程序“跑飞”导致的异常执行,以此实现主动式的任务级实时程序“跑飞”检测。参考图1所示,具体步骤如下:
[0030]
s1:离线构建任务序列编码表
[0031]
序列编码表如表1所示,其中序号指任务顺序编号;序列码是经前序任务编码函数:f(本序列序列码,本序列校验码)运算所得的编码,第一个序列的序列码为32为随机编码;校验码为32位随机编码;期望码为本序列序列码和本序列校验码的异或编码;上一序列的期望码作为下一序列的序列码,以实现编码传递。
[0032]
编码表的长度和程序任务数相同。
[0033]
表1:任务序列编码表
[0034]
序号序列码校验码期望码1sc_1=random(seed)cc_1=random(seed)sc_2=f(sc_1,cc_1)2sc_2cc_2=random(seed)sc_2=f(sc_2,cc_2)3sc_3cc_3=random(seed)sc_2=f(sc_3,cc_3)
…………
[0035]
s2:将任务序列编码注入程序任务结构
[0036]
将任务序列编码表以源代码方式注入源程序中,每个独立子任务的执行序号和编码表对应序号行相对应,设置本任务局部变量用以记录本任务的序列码,并在子任务的入口处,增加期望码计算代码,计算公式为编码表采用的编码函数f;在任务出口处将本任务期望码传递给下一任务的序列码变量,本任务序列码局部变量复位为随机码。
[0037]
s3:程序运行过程中执行序列检测
[0038]
程序运行过程中,执行进入子任务时,首先计算本任务的期望码是否合法,计算方法为用期望码函数f(本任务序列码局部变量值,查表本序列号对应的校验码值)计算本任务序列的期望码,并将计算得到码值和序列编码表中对应任务序号的期望码对比,若一致则证明程序执行序列正确,若不一致则证明程序执行序列异常,进行故障导向安全处置。同时,在程序执行到本任务出口处时,将计算得到的期望码赋值给下一任务的序列码局部变量,实现执行顺序的传递;同时,将本任务的序列码局部变量复位成随机码字,为下一个周期的检测准备。
[0039]
实施例二
[0040]
一种计算机设备,包括至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行实施例一所述的基于序列编码校验的软件执行异常检测方法。
[0041]
实施例三
[0042]
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如实施例一所述的基于序列编码校验的软件执行异常检测方法。
[0043]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献