[发明专利]一种实现异常自动重启的业务程序运行监控方法及系统在审
申请号: | 202111483149.6 | 申请日: | 2021-12-07 |
公开(公告)号: | CN114217925A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 陈华展 | 申请(专利权)人: | 中信银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F11/30;G06F11/07 |
代理公司: | 北京市兰台律师事务所 11354 | 代理人: | 于越;张峰 |
地址: | 100020 北京市朝阳区光*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 异常 自动 业务 程序 运行 监控 方法 系统 | ||
本发明涉及一种实现异常自动重启的业务程序运行监控方法及系统,使用父进程和子进程信号量通信的方法,根据被保护的程序(子进程)退出产生的信号量判定程序崩溃,解决了使用软件看门狗判断程序崩溃,需要进程轮询通信占用CPU资源较高的问题;也解决了目前内存管理静态检测手段误检测率高、非实时,动态检测手段只能依靠运维人员查询日志获得有用信息,不能及时补救等问题。特别是能够自动判断业务程序是否为首次启动,避免重启崩溃进程情况下执行完全初始化,影响正常运行进程。同时,通过子进程程序完整性检查,避免了运行被篡改的子进程,通过父进程记录子进程异常退出信息、返回信号量和子进程重启日志,为系统维护人员分析子进程本身的代码缺陷提供了数据支撑。
技术领域
本发明涉及自计算机程序运行保障技术领域,尤其涉及一种实现异常自动重启的业务程序运行监控方法及系统。
背景技术
运行操作系统的嵌入式设备和计算机系统中,应用软件崩溃大多与内存的管理有关。当判定程序异常后,发现内存错误的检测方法主要分为两类:1)静态检测,目前常用的静态检测工具cpp_check、Logisope RuleChecke、PC-Lint等代码级的静态检测,这种方案可以发现部分内存分配未释放的错误;2)动态检测,用专用的debug工具、core文件查看工具等手段,在程序运行的过程中检测内存异常,并将建议反馈给程序员设计人员再人工修改代码,如垃圾回收器(GC)、Purify,Valgrind等内存错误检查工具。
在嵌入式领域,最常见的判定程序异常以及程序是否跑飞的方法为使用看门狗定时器。看门狗在程序运行的时候计数,如果程序运行正常执行,定时将计数器复位;若计数器增加到设定值,则认为程序已经发生异常。看门狗定时器作为单片机硬件的重要组成部分,虽然是检测程序异常的常用方法,但对于带操作系统的嵌入式应用场景,需要软件实现看门狗功能,会占用较多CPU资源。运行操作系统的应用软件内存错误检测方法中,静态检测内存错误的弊端是漏检和误检率都比较高;动态监测需要工程维护和程序设计人员频繁关注日志文件,人工分析解决问题需要过程和时间,若设备正在使用中发生程序崩溃不及时处理会造成设备甚至系统停用的重大影响。
由于程序崩溃具有偶发性、概率性以及难以复现等诸多问题,且嵌入式设备通常对程序运行CPU使用率较敏感,导致以上检测程序异常和内存错误的方法,均无法满足正在使用的设备发生程序异常后迅速发现和排除故障的需要。
发明内容
为解决现有技术的不足,本发明提出一种实现异常自动重启的业务程序运行监控方法及系统,使用父进程和子进程信号量通信的方法,根据被保护的程序(子进程)退出产生的信号量判定程序崩溃,解决了使用软件看门狗判断程序崩溃,需要进程轮询通信占用CPU资源较高的问题;也解决了目前内存管理静态检测手段误检测率高、非实时,动态检测手段只能依靠运维人员查询日志获得有用信息,不能及时补救等问题。特别是能够自动判断业务程序是否为首次启动,避免重启情况下执行完全初始化,影响正常运行进程。同时,通过子进程程序完整性检查,避免了运行被篡改的子进程,通过父进程记录子进程异常退出信息、返回信号量和子进程重启日志,为系统维护人员分析子进程本身的代码缺陷提供了数据支撑。
为实现以上目的,本发明所采用的技术方案包括:
一种实现异常自动重启的业务程序运行监控方法,其特征在于,包括:
S10、启动第一进程;
S20、通过第一进程复制创建第二进程;
S30、根据第一进程和第二进程的创建函数返回值,将第一进程识别为父进程、第二进程识别为子进程;
S40、通过父进程验证子进程对应业务程序的程序完整性;
S50、当业务程序通过程序完整性验证时,使用业务程序替换子进程,在子进程中设置计数启动标志,并将所述计数启动标志的参数数值记录为1,记录启动日志并依据计数启动标志的参数数值进行初始化执行业务逻辑,同时父进程进入休眠状态等待子进程的退出信号量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中信银行股份有限公司,未经中信银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111483149.6/2.html,转载请声明来源钻瓜专利网。