程序流监控方法、系统及车辆技术方案

技术编号:21892699 阅读:30 留言:0更新日期:2019-08-17 14:49
本发明专利技术公开了一种程序流监控方法、系统及车辆,该方法包括:获取随机码,作为初始密钥;为目标监控程序流配置密钥更新函数,密钥更新函数包含子程序因子,目标监控程序流的每个子程序对应不同的子程序因子;在目标监控程序流执行结束的情况下,获取目标监控程序流的最后一个子程序携带的第一密钥;判断第一密钥与目标密钥是否一致;若第一密钥与目标密钥一致,则确定目标监控程序流的执行顺序正确,若第一密钥与目标密钥不一致,则确定目标监控程序流的执行顺序异常。这样,通过所述程序流监控方法能够及时发现目标监控程序流的执行异常情况,便于系统采取相应的措施来避免因执行异常而引发的安全事故。

Program Flow Monitoring Method, System and Vehicle

【技术实现步骤摘要】
程序流监控方法、系统及车辆
本专利技术涉及汽车
,尤其涉及一种程序流监控方法、系统及车辆。
技术介绍
控制器中应用程序模块按照一定的顺序,在一定的时间范围内依次被调用,才能保证程序安全,可靠的运行。如果应用程序模块不能按照一定的顺序依次执行,或者某些程序根本没有执行,则有可能导致数据错误,数据损坏甚至其他软件模块的失效,可能对系统安全造成灾难性的破坏。在当前控制器技术中,大多是采用微控制器的片内看门狗或外部看门狗模块来监测软件的运行,看门狗电路要求软件在间隔一个预设好的时间之内对特定寄存器进行访问(这个特定的操作称为喂狗操作)。如在规定时间内软件没有发起喂狗操作,则认定软件执行进入某种异常状态,此时看门狗电路会输出中断或复位信号。但传统看门狗电路不能对程序流进行有效的监控,当程序流的执行顺序出现异常时,可能会引发控制器故障或造成执行机构损坏,严重时甚至会引发重大安全事故。
技术实现思路
本专利技术实施例的目的在于提供一种程序流监控方法、系统及车辆,解决了传统看门狗电路不能对软件的运行顺序(即程序流)进行有效监控的问题。为了达到上述目的,本专利技术实施例提供一种程序流监控方法,应用于程序流监控系统,所述方法包括:获取随机码,作为初始密钥;为目标监控程序流配置密钥更新函数,所述密钥更新函数包含子程序因子,所述目标监控程序流的每个子程序对应不同的子程序因子;在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥;判断所述第一密钥与目标密钥是否一致;所述目标密钥为根据所述初始密钥和所述密钥更新函数,计算所述目标监控程序流在执行正确的情况下,最后一个子程序携带的密钥;若所述第一密钥与所述目标密钥一致,则确定所述目标监控程序流的执行顺序正确,若所述第一密钥与所述目标密钥不一致,则确定所述目标监控程序流的执行顺序异常。可选的,所述程序流监控系统包括控制器或独立设置于所述控制器外部的看门狗,所述获取随机码,包括:获取由所述控制器的软件程序或所述看门狗产生的随机码。可选的,所述子程序因子与子程序序列号相关联。可选的,每个子程序对应的子程序因子等于其子程序序列号;所述密钥更新函数为Yn=(Yn-1+Kn)Kn,其中,Yn为所述目标监控程序流的第n个子程序所携带的密钥,Yn-1为执行第n个子程序前的密钥,Y0为所述初始密钥,Kn为第n个子程序的序列号,n为大于0的整数。可选的,所述在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥,包括:每执行一个所述目标监控程序流的子程序,根据该子程序的前一个子程序所携带的密钥和所述密钥更新函数,计算该子程序执行完后所携带的密钥,直至计算得到所述目标监控程序流的最后一个子程序所携带的所述第一密钥,其中,所述目标监控程序流的第一个子程序所携带的密钥是根据所述初始密钥和所述密钥更新函数计算得到的。可选的,所述方法还包括:在所述目标监控程序流的执行顺序正确的情况下,执行喂狗操作;在所述目标监控程序流的执行顺序异常的情况下,执行复位操作。可选的,所述在所述目标监控程序流的执行顺序正确的情况下,执行喂狗操作,包括:在所述目标监控程序流的执行顺序正确且执行时长未超过预设时长的情况下,执行喂狗操作。本专利技术实施例还提供一种程序流监控系统,包括:第一获取模块,用于获取随机码,作为初始密钥;配置模块,用于为目标监控程序流配置密钥更新函数,所述密钥更新函数包含子程序因子,所述目标监控程序流的每个子程序对应不同的子程序因子;第二获取模块,用于在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥;判断模块,用于判断所述第一密钥与目标密钥是否一致;所述目标密钥为根据所述初始密钥和所述密钥更新函数,计算所述目标监控程序流在执行正确的情况下,最后一个子程序携带的密钥;确定模块,用于若所述第一密钥与所述目标密钥一致,则确定所述目标监控程序流的执行顺序正确,若所述第一密钥与所述目标密钥不一致,则确定所述目标监控程序流的执行顺序异常。可选的,所述程序流监控系统包括控制器或独立设置于所述控制器外部的看门狗,所述第一获取模块用于获取由所述控制器的软件程序或所述看门狗产生的随机码。可选的,所述子程序因子与子程序序列号相关联。可选的,每个子程序对应的子程序因子等于其子程序序列号;所述密钥更新函数为Yn=(Yn-1+Kn)Kn,其中,Yn为所述目标监控程序流的第n个子程序所携带的密钥,Yn-1为执行第n个子程序前的密钥,Y0为所述初始密钥,Kn为第n个子程序的序列号,n为大于0的整数。可选的,所述第二获取模块用于:每执行一个所述目标监控程序流的子程序,根据该子程序的前一个子程序所携带的密钥和所述密钥更新函数,计算该子程序执行完后所携带的密钥,直至计算得到所述目标监控程序流的最后一个子程序所携带的所述第一密钥,其中,所述目标监控程序流的第一个子程序所携带的密钥是根据所述初始密钥和所述密钥更新函数计算得到的。可选的,所述程序流监控系统还包括:喂狗模块,用于在所述目标监控程序流的执行顺序正确的情况下,执行喂狗操作;复位模块,用于在所述目标监控程序流的执行顺序异常的情况下,执行复位操作。可选的,所述喂狗模块用于在所述目标监控程序流的执行顺序正确且执行时长未超过预设时长的情况下,执行喂狗操作。本专利技术实施例还提供一种车辆,包括本专利技术实施例装置所提供的程序流监控系统。本专利技术实施例中,通过为目标监控程序流配置包含子程序因子的密钥更新函数,并在目标监控程序流运行时,利用所配置的密钥更新函数来监控目标监控程序流的执行顺序,从而可以确定目标监控程序流的执行顺序是否存在异常,进而能够及时发现目标监控程序流的执行异常情况,便于系统采取相应的措施来避免因程序执行异常而引发的安全事故。附图说明图1为本专利技术实施例提供的一种程序流监控方法的流程图;图2为本专利技术实施例提供的一种控制器与外部看门狗的连接示意图;图3为本专利技术实施例提供的一种程序流监控方法的举例示意图;图4为本专利技术实施例提供的一种程序流监控系统的结构示意图;图5为本专利技术实施例提供的另一种程序流监控系统的结构示意图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。参见图1,图1是本专利技术实施例提供一种程序流监控方法的流程图,应用于程序流监控系统,如图1所示,所述方法包括以下步骤:步骤101、获取随机码,作为初始密钥。上述随机码可以是随机产生的用作初始密钥的数值,具体可以是由所述程序流监控系统内部或外部程序随机生成的。可选的,所述程序流监控系统包括控制器或独立设置于所述控制器外部的看门狗,所述获取随机码,可以是获取由所述控制器的软件程序或所述看门狗产生的随机码,即可以由所述控制器的软件程序产生一个随机码或由与所述控制器连接的外部看门狗产生一个随机码,其中,所述看门狗与所述控制器的连接图可以如图2所示,所述看门狗与所述控制器通过通讯总线连接,所述看门狗可以在喂狗异常的情况下向所述控制器输出复位信号或中断信号来通知所述控制器程序流的执行异常情况。步骤102、为目标监控程序流配置密钥更新函数,所述密钥更新函数包含子程序因子,所述目标监控程序流的每个子本文档来自技高网...

【技术保护点】
1.一种程序流监控方法,应用于程序流监控系统,其特征在于,所述方法包括:获取随机码,作为初始密钥;为目标监控程序流配置密钥更新函数,所述密钥更新函数包含子程序因子,所述目标监控程序流的每个子程序对应不同的子程序因子;在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥;判断所述第一密钥与目标密钥是否一致;所述目标密钥为根据所述初始密钥和所述密钥更新函数,计算所述目标监控程序流在执行正确的情况下,最后一个子程序携带的密钥;若所述第一密钥与所述目标密钥一致,则确定所述目标监控程序流的执行顺序正确,若所述第一密钥与所述目标密钥不一致,则确定所述目标监控程序流的执行顺序异常。

【技术特征摘要】
1.一种程序流监控方法,应用于程序流监控系统,其特征在于,所述方法包括:获取随机码,作为初始密钥;为目标监控程序流配置密钥更新函数,所述密钥更新函数包含子程序因子,所述目标监控程序流的每个子程序对应不同的子程序因子;在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥;判断所述第一密钥与目标密钥是否一致;所述目标密钥为根据所述初始密钥和所述密钥更新函数,计算所述目标监控程序流在执行正确的情况下,最后一个子程序携带的密钥;若所述第一密钥与所述目标密钥一致,则确定所述目标监控程序流的执行顺序正确,若所述第一密钥与所述目标密钥不一致,则确定所述目标监控程序流的执行顺序异常。2.根据权利要求1所述的方法,其特征在于,所述程序流监控系统包括控制器或独立设置于所述控制器外部的看门狗,所述获取随机码,包括:获取由所述控制器的软件程序或所述看门狗产生的随机码。3.根据权利要求1所述的方法,其特征在于,所述子程序因子与子程序序列号相关联。4.根据权利要求3所述的方法,其特征在于,每个子程序对应的子程序因子等于其子程序序列号;所述密钥更新函数为Yn=(Yn-1+Kn)Kn,其中,Yn为所述目标监控程序流的第n个子程序所携带的密钥,Yn-1为执行第n个子程序前的密钥,Y0为所述初始密钥,Kn为第n个子程序的序列号,n为大于0的整数。5.根据权利要求1所述的方法,其特征在于,所述在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥,包括:每执行一个所述目标监控程序流的子程序,根据该子程序的前一个子程序所携带的密钥和所述密钥更新函数,计算该子程序执行完后所携带的密钥,直至计算得到所述目标监控程序流的最后一个子程序所携带的所述第一密钥,其中,所述目标监控程序流的第一个子程序所携带的密钥是根据所述初始密钥和所述密钥更新函数计算得到的。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:在所述目标监控程序流的执行顺序正确的情况下,执行喂狗操作;在所述目标监控程序流的执行顺序异常的情况下,执行复位操作。7.根据权利要求6所述的方法,其特征在于,所述在所述目标监控程序流的执行顺序正确的情况下,执行喂狗操作,包括:在所述目标监控程序流的执行顺序正确且执行时长未超过预设时长的情况下,执行喂狗操作。8.一种程序流监控系统,其特征在于,包括:第一获取模...

【专利技术属性】
技术研发人员:马东辉李子谦
申请(专利权)人:北京车和家信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1