应用程序的健康检查方法及健康检查系统的制作方法_3

文档序号:9826187阅读:来源:国知局
工作,如此,可以有效地避免由于将处理逻辑写在DEA组件中,需要在每次应用程序的健康检查接口更新或者判断应用程序状态的逻辑更新时修改DEA代码并重启DEA组件,从而提高服务重量,进一步提升用户体验。
[0044]在上述任一技术方案中,优选地,在所述DEA组件获取到所述健康检查结果之后以及根据所述健康检查结果执行相应操作之前,还包括:再次判断所述应用程序是否处于运行状态;在判断结果为是时,通过所述DEA组件根据所述健康检查结果对所述应用程序执行相应操作。
[0045]在该技术方案中,当DEA组件获取到对处于运行状态的应用程序的健康检查结果时,首先再次对其状态进行判断,以避免遍历过程中由于应用程序状态的改变而导致误判进而导致误处理,确保健康检查结果的实时有效性和准确性,然后在再次判定该应用程序依然处于运行状态时,才由DEA组件根据健康检查结果对该应用程序进行进一步的处理,从而提高对应用程序的健康检查结果的处理效率和准确性。
[0046]在上述任一技术方案中,优选地,所述健康检查结果包括:正常、有误、致命错误;以及当所述健康检查结果为正常时,所述DEA组件对所述应用程序不作处理;当所述健康检查结果为有误时,所述DEA组件对所述应用程序的错误提示进行打印操作;当所述健康检查结果为致命错误时,所述DEA组件对所述应用程序的错误提示进行打印操作并重新启动所述应用程序。
[0047]在该技术方案中,针对处于运行状态的应用程序的健康检查的不同结果对应有不同的处理策略,其中,健康检查结果包括但不限于正常(即Health)、有误(S卩error)和致命错误(即fatal),具体地对应的处理策略为:若健康检查结果为正常,则DEA组件对该应用程序可不作任何处理;若健康检测结果为有误,即应用程序无法连接至数据库,则DEA组件打印错误提示;若健康检查结果为致命错误,即应用程序未启动,则DEA组件打印错误提示并重启该应用程序,如此,可以有效地解决当进程未退出但应用程序本身出现异常时无法及时处理的问题,提高健康检查结果的准确性以及处理的及时性。
[0048]在上述任一技术方案中,优选地,在所述步骤102之前,还包括:判断是否到达进行所述当前健康检查的设定周期,以及所述当前健康检查的前次健康检查是否结束;在判定到达所述当前健康检查的所述设定周期且所述前次健康检查已结束时,获取所述应用程序列表。
[0049]在该技术方案中,在通过DEA组件发起对应用程序的健康检查,即获取与其关联的应用程序列表之前,首先判断是否到达了进行新的一次健康检查的设定周期以及上一次的健康检查是否已经结束,在判定均为是时,启动新的一次的健康检查,具体时间周期的设定可以根据CF平台中的DEA组件以及每个DEA组件的应用程序的情况而定,如此,通过设定对应用程序进行健康检查的周期可以及时有效地发现问题并进行处理,提高运行效率。
[0050]图2示出了根据本发明的一个实施例的应用程序的健康检查系统的框图。
[0051]如图2所示,根据本发明的一个实施例的应用程序的健康检查系统200,包括:获取模块202、判断模块204、检查模块206和处理模块208。
[0052]其中,获取模块202,用于获取CF平台中的与DEA组件关联的应用程序列表;判断模块204,用于判断所述应用程序列表中的应用程序是否处于运行状态;检查模块206,用于当判定所述应用程序处于运行状态时,通过所述DEA组件访问所述应用程序的健康检查接口以启动对所述应用程序的当前健康检查,并生成健康检查结果;处理模块208,用于将所述健康检查结果反馈至所述DEA组件,以供所述DEA组件根据所述健康检查结果对所述应用程序执行相应操作。
[0053]在该技术方案中,当对CF平台的应用程序进行健康状态检查时,首先获取CF平台中的不同的DEA组件的关联的应用程序列表,遍历该应用程序列表中的每个应用程序以确定其状态,对于处于运行状态的应用程序,通过CF平台的DEA组件访问其健康检查接口从而启动对该处于运行状态的应用程序的健康检查,并由DEA组件根据健康检查结果进行相应的处理,如此,通过CF平台的DEA组件发起对应用程序的健康检查,可以有效地实现应用程序健康检查的负载均衡,并缩短检测周期、简化健康检查交互过程以及降低运维工作量,同时有效地避免对应用程序健康状态的误判,从而提升用户体验。
[0054]在上述技术方案中,优选地,所述DEA组件通过调用转换层访问所述健康检查接口以及获取所述健康检查结果。
[0055]在该技术方案中,当通过CF平台的DEA组件访问处于运行状态的应用程序的健康检查接口时,具体地,在DEA组件和处于运行状态的应用程序的健康检查接口之间添加一个可在线更新的转换层,将具体的处理逻辑写在该转换层中,以供DEA组件通过该转换层访问处于运行状态的应用程序的健康检查接口并获取健康检查结果,优选地可以通过Shell(壳,是指“提供使用者使用界面”的软件(命令解析器))脚本实现该可在线更新的转换层的工作,如此,可以有效地避免由于将处理逻辑写在DEA组件中,需要在每次应用程序的健康检查接口更新或者判断应用程序状态的逻辑更新时修改DEA代码并重启DEA组件,从而提高服务重量,进一步提升用户体验。
[0056]在上述任一技术方案中,优选地,所述判断模块204还用于:在所述DEA组件获取到所述健康检查结果之后以及根据所述健康检查结果执行相应操作之前,再次判断所述应用程序是否处于运行状态;所述处理模块208具体用于:在判断结果为是时,通过所述DEA组件根据所述检查模块206生成的所述健康检查结果对所述应用程序执行相应操作。
[0057]在该技术方案中,当DEA组件获取到对处于运行状态的应用程序的健康检查结果时,首先再次对其状态进行判断,以避免遍历过程中由于应用程序状态的改变而导致误判进而导致误处理,确保健康检查结果的实时有效性和准确性,然后在再次判定该应用程序依然处于运行状态时,才由DEA组件根据健康检查结果对该应用程序进行进一步的处理,从而提高对应用程序的健康检查结果的处理效率和准确性。
[0058]在上述任一技术方案中,优选地,所述健康检查结果包括:正常、有误、致命错误;以及所述处理模块208具体用于:当所述检查模块206生成的所述健康检查结果为正常时,控制所述DEA组件对所述应用程序不作处理;当所述检查模块206生成的所述健康检查结果为有误时,调用所述DEA组件对所述应用程序的错误提示进行打印操作;当所述检查模块206生成的所述健康检查结果为致命错误时,调用所述DEA组件对所述应用程序的错误提示进行打印操作并重新启动所述应用程序。
[0059]在该技术方案中,针对处于运行状态的应用程序的健康检查的不同结果对应有不同的处理策略,其中,健康检查结果包括但不限于正常(即Health)、有误(S卩error)和致命错误(即fatal),具体地对应的处理策略为:若健康检查结果为正常,则DEA组件对该应用程序可不作任何处理;若健康检测结果为有误,即应用程序无法连接至数据库,则DEA组件打印错误提示;若健康检查结果为致命错误,即应用程序未启动,则DEA组件打印错误提示并重启该应用程序,如此,可以有效地解决当进程未退出但应用程序本身出现异常时无法及时处理的问题,提高健康检查结果的准确性以及处理的及时性。
[0060]在上述任一技术方案中,优选地,所述判断模块204还用于:在所述获取模块202获取CF平台中的与DEA组件关联的应用程序列表之前,判断是否到达进行所述当前健康检查的设定周期,以及所述当前健康检查的前次健康检查是否结束;所述获取模块202具体用于:在所述判断模块204判定到达所述当前健康检查的所述设定周期且所述前次健康检查已结束时,获取所述应用程序列表。
[0061]在该技术方案中,在通过DEA组件发起对应用程序的健康检查,即获取与其关联的应用程序列表之前,首先判断是否到达了进行新的一次健康检查的设定周期以及上一次的健康检查是否已经结束,在判定均为是时,启动新的一次的健康检查,具体时间周期的设定可以根据CF平台中的DEA组件以及每个DEA组件的应用程序的情况而定,如此,通过设定对应用程序进行健康检查的周期可以及时有效地发现问题并进行处理,提高运行效率。
[0062]图3示出了根据本发明的另一个实施例的应用程序的健康检查方法的流程示意图。
[0063]如图3所示,根据本发明的另一个实施例的应用程序的健康检查方法,具体包括:
[0064]步骤302,初始化健康检查定时器,即设置进行健康检查的设定周期;
[0065]步骤304,判断定时器是否到期,即判断是否进行当前健康检查的设定周期,若是,则执行步骤306,否则继续判断;
[0066]步骤306,判断上
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1