一种应用程序多层级保护方法技术

技术编号:27975015 阅读:27 留言:0更新日期:2021-04-06 14:09
本发明专利技术提供一种应用程序多层级保护方法,使用硬件看门狗、守护进程、守护线程提供精确到代码段级的可靠性保障,并通过守护进程通过网络对外提供本终端的所有守护线程的信息查看及控制功能,当网络资源受限时,可将多台终端通过级联方式组网,将信息汇总到一台终端,然后由后者统一提供对外接口。当被监测单元出现异常时,可按照已配置的工作模式向指定目标推送异常信息并自动进行恢复操作,或者仅推送信息,然后等待外部命令,以保留现场,便于问题排查。使用守护线程时,在被监测单元代码的入口处添加守护线程池中的守护线程创建接口,激活空闲守护线程,在被监测单元代码的出口处添加守护线程池中的守护线程释放接口,使守护线程恢复空闲状态,以便灵活地使用守护线程检测本应用内的任意代码。

【技术实现步骤摘要】
一种应用程序多层级保护方法
本专利技术涉及嵌入式开发领域,尤其涉及一种应用程序多层级保护方法。
技术介绍
随着互联网的发展,我们需要大量的数据机房去支撑我们日常所使用到的互联网服务,而数据机房的运行需要合适的动力环境条件,因此需要使用监控终端实时监控各数据机房的动力环境。为了提供高质量的监控服务,监控终端本身需要保证运行稳定性,而受各种因素的影响,监控终端无法保证百分之百无故障,所以监控终端需要具备一定的故障自恢复能力,使得当运行于终端上的应用软件出现故障时,可以在无人为参与的情况下,自动恢复到正常状态,除去应用软件自身能检测并处理恢复的故障外,应用软件的崩溃问题以及卡死问题通常需要使用看门狗检测并处理。看门狗一般分为硬件看门狗和软件看门狗,硬件看门狗一般用于终端级的监测,软件看门狗一般用于进程级或线程级的检测,即在进程或线程的主流程中复位看门狗,当应用软件崩溃或者进程、线程的主流程卡死后,看门狗会超时,然后看门狗会调用预设的接口重启系统或者应用程序本身,使之恢复正常状态。但是当进程或线程中非主流程的代码卡死且未影响到看门狗复位相关的代码时,看本文档来自技高网...

【技术保护点】
1.一种应用程序多层级保护方法,其特征在于,多个终端以级联的方式组网连接,每个终端内设置监测模块,监测模块至少包括硬件看门狗、守护进程和守护线程,用于监测应用程序各个层级代码的运行,并在应用程序运行出现异常时,对相应层级代码进行恢复操作,其中,/n终端系统启动后启动守护进程,每个守护进程向上一级守护进程注册;/n在应用软件相应位置开启多个守护线程,守护进程通过守护线程池管理守护线程;/n各级终端的守护进程之间级联通信,守护进程用于定时对硬件看门狗复位,以及与应用软件内的守护线程池保持心跳,以此监测应用软件的运行状态,并根据所设定的工作模式进行进一步处理。/n

【技术特征摘要】
1.一种应用程序多层级保护方法,其特征在于,多个终端以级联的方式组网连接,每个终端内设置监测模块,监测模块至少包括硬件看门狗、守护进程和守护线程,用于监测应用程序各个层级代码的运行,并在应用程序运行出现异常时,对相应层级代码进行恢复操作,其中,
终端系统启动后启动守护进程,每个守护进程向上一级守护进程注册;
在应用软件相应位置开启多个守护线程,守护进程通过守护线程池管理守护线程;
各级终端的守护进程之间级联通信,守护进程用于定时对硬件看门狗复位,以及与应用软件内的守护线程池保持心跳,以此监测应用软件的运行状态,并根据所设定的工作模式进行进一步处理。


2.根据权利要求1所述的应用程序多层级保护方法,其特征在于,守护进程的信息逐级上传汇总,将信息汇总到主终端,然后由主终端统一提供对外接口。


3.根据权利要求2所述的应用程序多层级保护方法,其特征在于,当被监测单元出现异常时,可按照已配置的工作模式向指定目标推送异常信息并自动进行恢复操作,或者仅推送信息,然后等待外部命令,以保留现场。


4.根据权利要求3所述的应用程序多层级保护方法,其特征在于,使用守护线程时,在被监测单元代码的入口处添加守护线程池中的守护线程创建接口,激活空闲守护线程,在被监测单元代码的出口处添加守护线程池中的守护线程释放接口,使守护线程恢复空闲状态,以便灵活地使用守护线程检测本应用内的任意代码。


5.根据权利要求4所述的应用程序多层级保护方法,其特征在于,监测模块对应用程序的监控包括5个层级,分别为系统级、进程级、线程级、函数级、代码段级,每个层级又按监测需求分为多个被监测单元其中,硬件看门狗用于系统级的监测;守护进程为独立进程,用于进程级的监测,保障除自身外的其他进程的可靠性;守护线程位于进程内部,用于线程级、函数级和代码段级的监测,用于保障本进程内的线程、函数和代码段的可靠性。


6.根据权利要求5所述的应用程序多层级保护方法,其特征在于,守护线程包括以下属性:
线程tid,该tid在创建守护线程时,由系统分配,本进程中唯一;
超时时间,守护线程内有参考时间Tref和当前时间Tcurrent,Tref在由守护线程初始化时设置或者由被监测单元设置,守护线程运行时会定时获取Tcurrent,并与Tref比较,当Tcurrent与Tref之间的差值超过超时时间时,守护线程认为其所监测的单元出现异常;
运行状态,若应用软件正常运行,则该属性的值为正常,当被监测单元出现异常时,该属性的值为异常;
异常自动处理函数指针,由被监测单元设置,当被监测单元出现异常时,守护线程会调用该函数指针所指向的函数,自动进行恢复操作;
异常等待处理函数指针,由被监测单元设置,当被监测单元出现异常时,守护线程会调用该函数指针所指向的函数,函数执行后,会对外推送异常信息,然后进入等待状态,以保留故障现场;
工作模式,守护线程包含自动和等待两种工作模式,处于自动模式时,当被监测单元出现异常时,守护线程会调用异常自动处理函数,否则会调用异常等待处理函数;
守护线程调用代码所在的源文件,即被监测单元所在的源文件,该属性用于在出现异常后,记录被监测单元所在的代码源文件;
守护线程调用代...

【专利技术属性】
技术研发人员:邬惠峰胡俊杰侯丰
申请(专利权)人:杭州电子科技大学上虞科学与工程研究院有限公司杭州电子科技大学
类型:发明
国别省市:浙江;33

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

1