一种基于启动信息统计的嵌入式设备系统修复方法及系统技术方案

技术编号:19176896 阅读:29 留言:0更新日期:2018-10-17 00:17
本发明专利技术涉及一种基于启动信息统计的嵌入式设备系统修复方法及系统,系统启动时,计算系统启动计数器和应用程序启动计数器的误差值,如果误差值小于或者等于阈值,操作系统正常运行,系统启动计数器和应用程序启动计数器相继计数;如果误差值大于阈值,进入系统修复状态,修复后,系统启动计数器和应用程序启动计数器清零,并重新启动。该方法涉及系统和应用程序两个方面,根据这两方面的启动次数的关系进行系统修复,实现系统的可靠修复。并且,阈值的设定让该修复方法具有一定的容错能力,比如忽然断电、人为重启等因素引起系统重启时,这种情况下无需对系统进行修复,因此,为了防止出现上述系统修复的判定情况,设置一定的阈值。

An embedded system repair method and system based on information statistics

The invention relates to a method and a system for repairing embedded device system based on start-up information statistics. When the system starts, the error value of the system start-up counter and the application start-up counter are calculated. If the error value is less than or equal to the threshold value, the operating system runs normally, the system start-up counter and the application start-up counter are calculated. If the error value is greater than the threshold value, it enters the system repair state. After repair, the system start counter and application start counter are cleared and restarted. This method involves two aspects of the system and application program, according to the relationship between these two aspects of the number of startup system repair, to achieve a reliable system repair. Moreover, the threshold setting allows the repair method to have a certain fault-tolerant ability, such as sudden power failure, restart and other factors caused by the system restart, in this case, no need to repair the system, therefore, in order to prevent the above system repair decision, set a certain threshold.

【技术实现步骤摘要】
一种基于启动信息统计的嵌入式设备系统修复方法及系统
本专利技术涉及一种基于启动信息统计的嵌入式设备系统修复方法及系统。
技术介绍
MMU能使单个应用程序线程工作于硬件保护地址空间,但是在许多低端嵌入式设备中,即使含有这些硬件也没采用MMU。当应用程序的所有线程共享同一存储器空间时,任何一个线程将有意或无意地破坏其它线程的代码、数据或堆栈。异常线程甚至可能破坏内核代码或内部数据结构,例如线程中的指针错误就能轻易使整个系统崩溃或至少导致系统重启。现有嵌入式系统修复的方法是对操作系统文件进行自动或人工修复升级,比如:申请公开号为CN103970564A的中国专利申请文件公开了一种嵌入式操作系统自动修复升级功能的方法,在升级服务器上预先设置用于修复嵌入式操作系统的修复软件包,该方法还包括以下步骤:判断嵌入式操作系统是否存在故障,从升级服务器下载修复软件包,载入修复软件包的内容到嵌入式系统中,成功修复后嵌入式操作系统自动进行升级。利用上述方法,可实现无需人工触发,嵌入式系统自动完成修复升级功能,并且无需占用嵌入式设备的存储资源。申请公开号为CN102722394A的中国专利申请文件中公开了一种嵌入式设备的启动升级方法,嵌入式设备包括第一通讯串口和第二通讯串口,微处理器和存储模块;存储模块中存储有bootloader模块、操作系统和操作系统的内核;bootloader模块中设置有一组用于正常启动的环境变量组和一组用于升级的环境变量组;启动升级方法中包括了多种情形下的启动需求,因此可确保嵌入式设备的正常启动使用。同时由于启动升级方法中包括了用户端进行强制升级时的方法步骤,因此可在系统文件被破坏的情形下由用户进行强制升级,从而在用户端自行升级修复,而不再需要返回给原厂或维修网点处理,方便用户的使用。上述两个专利材料针对嵌入式系统的硬件和系统文件本身进行的启动升级。但是,很多嵌入式系统的硬件和系统文件本身并没有问题,而是应用程序的逻辑存在问题,中断了后续逻辑的执行,使设备进入反复重启的循环,而且由于启动时间非常短(一般为毫秒级别),难以进行人工干预;此外设备的反复重启,影响设备的稳定甚至造成设备损坏。目前在可靠性和安全性要求很高的复杂嵌入式系统中,仍然存在无存储器保护的操作系统的情况,应用程序的错误将导致一些细微的难以跟踪的故障。现有技术中针对嵌入式操作系统的修复方法主要包含系统故障后针对操作系统文件进行修复升级,对应用程序的逻辑问题并没有有效的干预措施。
技术实现思路
本专利技术的目的是提供一种基于启动信息统计的嵌入式设备系统修复方法,用以解决嵌入式操作系统的修复方法主要包含系统故障后针对操作系统文件进行修复升级,对应用程序的逻辑问题并没有有效干预的问题。本专利技术同时提供一种基于启动信息统计的嵌入式设备系统修复系统。为实现上述目的,本专利技术包括以下技术方案。一种基于启动信息统计的嵌入式设备系统修复方法,包括以下步骤:(1)系统启动时,计算系统启动的计数值与应用程序启动的计数值的误差值;(2)当所述误差值小于或者等于设定阈值时,系统正常运行;当所述误差值大于所述设定阈值时,进入系统修复状态,当修复后,系统启动计数和应用程序启动计数清零,系统重新启动。系统启动时,计算系统启动计数器和应用程序启动计数器的误差值,如果误差值小于或者等于阈值,操作系统正常运行,系统启动计数器和应用程序启动计数器相继计数;如果误差值大于阈值,进入系统修复状态,修复后,系统启动计数器和应用程序启动计数器清零,并重新启动。该系统修复方法对应用程序进行考虑,涉及系统和应用程序两个方面,根据这两方面的启动次数的关系进行系统修复,实现系统的可靠修复。针对大量的没有MMU保护低端嵌入式设备,在系统启动(一般为毫秒级别)的同时,根据系统与应用程序的启动计数的关系判断应用程序是否能够正常工作,然后进行系统修复,同时避免因应用程序的问题导致的系统反复重启以及造成的设备不稳定甚至损坏。并且,阈值的设定让该修复方法具有一定的容错能力,比如忽然断电、人为重启等因素引起系统重启时,系统启动计数,应用程序启动计数器未计数而产生一定的差值,虽然出现一定的差值,但是,这种情况下无需对系统进行修复,因此,为了防止出现上述系统修复的误判情况,设置一定的阈值。另外,该方法既能实现正常启动,又能实现强制升级,且不需要对产品增加硬件配置。进一步地,当系统正常运行时,系统启动和应用程序启动继续正常计数。进一步地,系统启动计数计的是操作系统正常启动的次数,每次系统正常启动后,系统启动计数一次;应用程序启动计数计的是应用程序稳定运行的次数,每次应用程序正常启动设定时间后能够正常工作,应用程序启动计数一次。进一步地,修复的方式为人工干预修复。对程序的业务逻辑在某个步骤出现问题的时候,提供了人工修复的入口,可以进行人工干预,便于对系统进行修复。一种基于启动信息统计的嵌入式设备系统修复系统,包括修复控制模块,所述修复控制模块包括存储器、处理器以及存储在所述存储器中并可在所述处理器中运行的计算机程序,所述处理器在执行所述计算机程序时实现的步骤包括:(1)系统启动时,计算系统启动的计数值与应用程序启动的计数值的误差值;(2)当所述误差值小于或者等于设定阈值时,系统正常运行;当所述误差值大于所述设定阈值时,进入系统修复状态,当修复后,系统启动计数和应用程序启动计数清零,系统重新启动。进一步地,当系统正常运行时,系统启动和应用程序启动继续正常计数。进一步地,系统启动计数计的是操作系统正常启动的次数,每次系统正常启动后,系统启动计数一次;应用程序启动计数计的是应用程序稳定运行的次数,每次应用程序正常启动设定时间后能够正常工作,应用程序启动计数一次。进一步地,修复的方式为人工干预修复。附图说明图1是基于启动信息统计的嵌入式设备系统修复方法流程图;图2是嵌入式设备系统修复方法实例流程图。具体实施方式下面结合附图对本专利技术做进一步详细的说明。本实施例提供一种基于启动信息统计的嵌入式设备系统修复方法。图1为基于启动信息统计的嵌入式设备系统修复流程图。如图1所示,判断是否需要进入系统修复状态进行人工干预,具体实现方式如下:(1)应用程序的异常运行能够造成系统不断重启,当系统每次启动时,计算系统启动的计数值与应用程序启动的计数值的误差值。其中,这里的误差值以差值为例。而且,为了便于计数,设置两个计数器,分别是系统启动计数器和应用程序启动计数器,系统启动计数器对系统启动进行计数,应用程序计数器对应用程序启动进行计数,那么,在该系统启动阶段,系统启动计数器的计数值和应用程序启动计数器的计数值为对应启动计数器的历史计数信息。(2)判断上述得到的差值与设定阈值的大小关系:当该差值小于或者等于设定阈值时,即系统启动的计数值与应用程序启动的计数值之间相差不大,操作系统正常运行,并且,系统启动计数器和应用程序启动计数器相继进行计数,即继续正常计数,而且,系统启动计数器计的是操作系统正常启动的次数,每次系统正常启动后,系统启动计数器计数一次;应用程序启动计数器计的是应用程序稳定运行的次数,每次应用程序正常启动设定时间后能够正常工作,应用程序启动计数器计数一次。当该差值大于设定阈值时,可以确定系统是因应用程序异常造成的不断重启,进入系统修复本文档来自技高网
...

【技术保护点】
1.一种基于启动信息统计的嵌入式设备系统修复方法,其特征在于,包括以下步骤:(1)系统启动时,计算系统启动的计数值与应用程序启动的计数值的误差值;(2)当所述误差值小于或者等于设定阈值时,系统正常运行;当所述误差值大于所述设定阈值时,进入系统修复状态,当修复后,系统启动计数和应用程序启动计数清零,系统重新启动。

【技术特征摘要】
1.一种基于启动信息统计的嵌入式设备系统修复方法,其特征在于,包括以下步骤:(1)系统启动时,计算系统启动的计数值与应用程序启动的计数值的误差值;(2)当所述误差值小于或者等于设定阈值时,系统正常运行;当所述误差值大于所述设定阈值时,进入系统修复状态,当修复后,系统启动计数和应用程序启动计数清零,系统重新启动。2.根据权利要求1所述的基于启动信息统计的嵌入式设备系统修复方法,其特征在于,当系统正常运行时,系统启动和应用程序启动继续正常计数。3.根据权利要求2所述的基于启动信息统计的嵌入式设备系统修复方法,其特征在于,系统启动计数计的是操作系统正常启动的次数,每次系统正常启动后,系统启动计数一次;应用程序启动计数计的是应用程序稳定运行的次数,每次应用程序正常启动设定时间后能够正常工作,应用程序启动计数一次。4.根据权利要求1或2或3所述的基于启动信息统计的嵌入式设备系统修复方法,其特征在于,修复的方式为人工干预修复。5.一种基于启动信息统计的嵌入式设备系统修复系统,包括修复控制模块,所述...

【专利技术属性】
技术研发人员:陈玉峰应站煌郑晓庆汪强方正王龙洋张锋刘博李永亮
申请(专利权)人:许继集团有限公司许继电气股份有限公司许昌许继软件技术有限公司
类型:发明
国别省市:河南,41

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

1