System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件的程序,特别涉及一种程序流监控方法、装置、设备及存储介质。
技术介绍
1、程序流逻辑监控是一种用于检查软件正确运行的技术,侧重于控制流错误,在应用程序的无差错运行期间,控制流错误会导致与有效(即编码/编译)程序序列的背离,如果以不正确的顺序处理一个或多个程序指令,或者甚至根本不处理,则会发生不正确的控制流,进而控制流错误可能导致数据不一致、数据损坏或其他软件故障等问题。
2、目前针对程序流逻辑监控的方法是采用看门狗模块来监控软件的运行情况,然而,基于看门狗模块的程序流监控方法能够检测程序流在一段时间内是否运行完成,不能检测程序流是否按照设计逻辑有效地运行。
技术实现思路
1、为了解决上述无法检测程序流是否按照设计逻辑有效地运行的技术问题,本申请实施例提供了一种程序流监控方法、装置、设备及存储介质的技术方案,即,本申请基于待监控程序流数据中监测点对应的预编码数据集和预设循环冗余算法,确定待监控程序流数据在预期逻辑顺序进行运行时对应的运行逻辑期望值,以便与基于循环冗余算法确定的运行过程中待监控程序流数据中最后一个监测点的运行逻辑实际值进行比较,进而可根据比较结果确定待监控程序流数据是否按照预期逻辑顺序进行运行,从而利用本申请提供的方案能够实现对程序流运行逻辑的精准监控,提高程序流监控的准确性。
2、一方面,本申请实施例提供了一种程序流监控方法,上述方法包括:获取待监控程序流数据,所述待监控程序流数据包括至少一个监控实体,所述监控实体包括至少一个监测
3、对所述监控实体中的每一监测点进行预编码,得到预编码数据集,所述预编码数据集为每一监测点的预编码数据的集合;
4、根据所述预编码数据集和预设循环冗余算法,确定所述待监控程序流数据在预期逻辑顺序进行运行时对应的运行逻辑期望值,所述预期逻辑顺序为所述监测点按照正常逻辑运行的顺序;
5、运行所述待监控程序流数据,并按照所述监测点的运行顺序,依次获取所述监控实体中各监测点的运行状态,根据当前监测点的运行状态对应的编码数据、所述预设循环冗余算法和所述当前监测点的前一监测点的运行逻辑实际值,确定所述当前监测点的运行逻辑实际值,直至确定出所述待监控程序流数据中最后一个监测点的运行逻辑实际值;
6、基于所述最后一个监测点的运行逻辑实际值和所述运行逻辑期望值,确定所述待监控程序流数据是否按照预期逻辑顺序进行运行。
7、进一步地,所述根据所述预编码数据集和预设循环冗余算法,确定所述待监控程序流数据在预期逻辑顺序进行运行时对应的运行逻辑期望值,包括:
8、根据所述至少一个监控实体中的初始监测点对应的预编码数据、所述预设循环冗余算法和所述预设循环冗余算法对应的校验初始值,确定所述初始监测点对应的运行逻辑期望值;
9、根据所述初始监测点对应的运行逻辑期望值、所述初始监测点的下一监测点对应的预编码数据和所述预设循环冗余算法,确定所述初始监测点的下一监测点对应的运行逻辑期望值,按照预期逻辑顺序遍历所述至少一个监控实体中的每一监测点,直至确定出所述至少一个监控实体中最后一个监测点对应的运行逻辑期望值;
10、将所述至少一个监控实体中最后一个监测点对应的运行逻辑期望值作为所述待监控程序流数据在预期逻辑顺序进行运行时对应的运行逻辑期望值。
11、进一步地,所述根据所述至少一个监控实体中的初始监测点对应的预编码数据、所述预设循环冗余算法和所述预设循环冗余算法对应的校验初始值,确定所述初始监测点对应的运行逻辑期望值,包括:
12、将所述至少一个监控实体中的初始监测点对应的预编码数据和所述预设循环冗余算法对应的校验初始值作为所述预设循环冗余算法的输入数据;
13、将所述预设循环冗余算法的输入数据输入至所述预设循环冗余算法中,以输出所述初始监测点对应的运行逻辑期望值。
14、进一步地,在所述按照所述监测点的运行顺序,依次获取所述监控实体中各监测点的运行状态之后,还包括:
15、根据初始监测点的运行状态对应的编码数据、所述预设循环冗余算法和所述预设循环冗余算法对应的校验初始值,确定所述初始监测点的运行逻辑实际值。
16、进一步地,所述运行状态对应的编码数据包括监测点被运行时对应的预编码数据和监测点未被运行时对应的非法编码数据;
17、相应的,所述根据当前监测点的运行状态对应的编码数据、所述预设循环冗余算法和所述当前监测点的前一监测点的运行逻辑实际值,确定所述当前监测点的运行逻辑实际值,包括:
18、若当前监测点被运行,则根据所述当前监测点对应的预编码数据、所述预设循环冗余算法和所述当前监测点的前一监测点的运行逻辑实际值,确定所述当前监测点的运行逻辑实际值;
19、若当前监测点未被运行,则根据所述当前监测点对应的非法编码数据、所述预设循环冗余算法和所述当前监测点的前一监测点的运行逻辑实际值,确定所述当前监测点的运行逻辑实际值。
20、进一步地,所述基于所述最后一个监测点的运行逻辑实际值和所述运行逻辑期望值,确定所述待监控程序流数据是否按照预期逻辑顺序进行运行,包括:
21、判断所述最后一个监测点的运行逻辑实际值与所述运行逻辑期望值是否相等;
22、若相等,所述待监控程序流数据按照预期逻辑顺序进行运行;
23、若不等,生成程序流运行异常指令,并将所述程序流运行异常指令传输至异常状态处理模块。
24、进一步地,所述对所述监控实体中的每一监测点进行预编码,得到预编码数据集,包括:
25、按照所述监测点的运行顺序,依次对所述监控实体中的每一监测点进行预编码,得到所述预编码数据集。
26、另一方面,本申请实施例提供了一种程序流监控装置,上述装置包括:
27、获取模块,用于获取待监控程序流数据,所述待监控程序流数据包括至少一个监控实体,所述监控实体包括至少一个监测点;
28、预编码数据集确定模块,用于对所述监控实体中的每一监测点进行预编码,得到预编码数据集,所述预编码数据集为每一监测点的预编码数据的集合;
29、运行逻辑期望值确定模块,用于根据所述预编码数据集和预设循环冗余算法,确定所述待监控程序流数据在预期逻辑顺序进行运行时对应的运行逻辑期望值,所述预期逻辑顺序为所述监测点按照正常逻辑运行的顺序;
30、运行逻辑实际值确定模块,用于运行所述待监控程序流数据,并按照所述监测点的运行顺序,依次获取所述监控实体中各监测点的运行状态,根据当前监测点的运行状态对应的编码数据、所述预设循环冗余算法和所述当前监测点的前一监测点的运行逻辑实际值,确定所述当前监测点的运行逻辑实际值,直至确定出所述待监控程序流数据中最后一个监测点的运行逻辑实际值;
31、逻辑顺序判断模块,用于基于所述最后一个监测的运行逻辑实际值和所述运行逻辑期望值,确定所述待监控程序流数据是本文档来自技高网...
【技术保护点】
1.一种程序流监控方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述预编码数据集和预设循环冗余算法,确定所述待监控程序流数据在预期逻辑顺序进行运行时对应的运行逻辑期望值,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个监控实体中的初始监测点对应的预编码数据、所述预设循环冗余算法和所述预设循环冗余算法对应的校验初始值,确定所述初始监测点对应的运行逻辑期望值,包括:
4.根据权利要求1所述的方法,其特征在于,在所述按照所述监测点的运行顺序,依次获取所述监控实体中各监测点的运行状态之后,还包括:
5.根据权利要求1或4所述的方法,其特征在于,所述运行状态对应的编码数据包括监测点被运行时对应的预编码数据和监测点未被运行时对应的非法编码数据;
6.根据权利要求1所述的方法,其特征在于,所述基于所述最后一个监测点的运行逻辑实际值和所述运行逻辑期望值,确定所述待监控程序流数据是否按照预期逻辑顺序进行运行,包括:
7.根据权利要求1所述的方法,其特征在于,所述对所述
8.一种程序流监控装置,其特征在于,所述装置包括:
9.一种程序流监控设备,其特征在于,所述程序流监控设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1~7中任一项所述的程序流监控方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如权利要求1~7任一项所述的程序流监控方法。
...【技术特征摘要】
1.一种程序流监控方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述预编码数据集和预设循环冗余算法,确定所述待监控程序流数据在预期逻辑顺序进行运行时对应的运行逻辑期望值,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个监控实体中的初始监测点对应的预编码数据、所述预设循环冗余算法和所述预设循环冗余算法对应的校验初始值,确定所述初始监测点对应的运行逻辑期望值,包括:
4.根据权利要求1所述的方法,其特征在于,在所述按照所述监测点的运行顺序,依次获取所述监控实体中各监测点的运行状态之后,还包括:
5.根据权利要求1或4所述的方法,其特征在于,所述运行状态对应的编码数据包括监测点被运行时对应的预编码数据和监测点未被运行时对应的非法编码数据;
6.根据权利要求1所述的方法,其特征在于...
【专利技术属性】
技术研发人员:周勇,秦民,
申请(专利权)人:中汽创智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。