应用程序健康检测方法及装置与流程

文档序号:32300061发布日期:2022-11-23 08:00阅读:79来源:国知局
应用程序健康检测方法及装置与流程

1.本技术属于计算机数据处理技术领域,具体涉及一种应用程序健康检测方法及装置。


背景技术:

2.在现有技术中,大多数生产系统均部署着一些常驻应用/程序,这些常驻应用/程序会因为各种原因意外终止,针对这些常驻应用/程序,应用维护需要增加编码相应的监控程序,以便异常时及时通知维护人员修复,但这种方案操作起来灵活性及通用性均较差。
3.另一方面,现有技术中的应用健康监测方法并不是一种通用的解决方案,一旦常驻程序有新增/修改,则需要修改监控代码,且进程异常后需要手工干预恢复,响应较为滞后。


技术实现要素:

4.本发明可用于计算机数据处理技术在金融方面应用的技术领域,也可用于除金融领域之外的任意领域,本发明以应用程序的配置为驱动,对于新增/删除常驻程序的监控/恢复,均只需增加相应配置即可,无需硬编码,对于所有常驻程序/应用的管理也直观明了。
5.为解决上述技术问题,本发明提供以下技术方案:
6.第一方面,本发明提供一种应用程序健康检测方法包括:
7.解析应用程序的配置数据,以生成解析结果;
8.将解析结果封装为监控实体,所述应用程序与监控实体为一一对应的关系;
9.检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态。
10.一实施例中,应用程序健康检测方法还包括:
11.检测所述监控实体是否绑定所述schedule实例;
12.当所述监控实体未绑定所述schedule实例时,启动所述schedule实例并绑定到所述监控实体。
13.一实施例中,所述检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态,包括:
14.如果所述schedule实例状态为异常,销毁所述schedule实例,并重新绑定一schedule实例。
15.一实施例中,所述检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态还包括:
16.如果所述schedule实例状态为正常,调用所述监控实体的检查及恢复方法进行健康检测及恢复。
17.第二方面,本发明提供一种应用程序健康检测装置,该装置包括:
18.解析结果生成模块,用于解析应用程序的配置数据,以生成解析结果;
19.解析结果封装模块,用于将解析结果封装为监控实体,所述应用程序与监控实体为一一对应的关系;
20.应用状态检测模块,用于检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态。
21.一实施例中,应用程序健康检测装置还包括:
22.实例检测模块,用于检测所述监控实体是否绑定所述schedule实例;
23.实例绑定模块,用于当所述监控实体未绑定所述schedule实例时,启动所述schedule实例并绑定到所述监控实体。
24.一实施例中,所述应用状态检测模块包括:
25.实例重绑定单元,用于如果所述schedule实例状态为异常,销毁所述schedule实例,并重新绑定一schedule实例。
26.一实施例中,所述应用状态检测模块还包括:
27.方法调用单元,用于如果所述schedule实例状态为正常,调用所述监控实体的检查及恢复方法进行健康检测及恢复。
28.第三方面,本发明提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现一种应用程序健康检测方法的步骤。
29.第四方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现一种应用程序健康检测方法的步骤。
30.第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种应用程序健康检测方法的步骤。
31.从上述描述可知,本发明实施例提供一种应用程序健康检测方法及装置,包括:首先解析应用程序的配置数据,以生成解析结果;接着,将解析结果封装为监控实体,应用程序与监控实体为一一对应的关系;最后检测监控实体所绑定的schedule实例状态是否正常,以检测应用程序的健康状态。本发明以应用程序的配置为驱动,对于新增/删除常驻程序的监控/恢复,均只需增加相应配置即可,无需硬编码,对于所有常驻程序/应用的管理也直观明了。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明的实施例所提供的应用程序健康检测方法的流程示意图一;
34.图2为本发明的实施例所提供的应用程序健康检测方法的流程示意图二;
35.图3为本发明的实施例所提供的应用程序健康检测方法中步骤300的流程示意图一;
36.图4为本发明的实施例所提供的应用程序健康检测方法中步骤300的流程示意图二;
37.图5为本发明的实施例所提供的应用程序健康检测方法的流程示意图三;
38.图6为本发明的具体实施方式中应用程序健康检测方法的流程示意图;
39.图7发明的实施例所提供的应用程序健康检测装置的方块图一;
40.图8发明的实施例所提供的应用程序健康检测装置的方块图二;
41.图9发明的实施例所提供的模型建立模块30的方块图一;
42.图10发明的实施例所提供的模型建立模块30的方块图二;
43.图11为本发明的实施例中的电子设备的结构示意图。
具体实施方式
44.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
46.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
47.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
48.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
49.本发明的实施例提供一种应用程序健康检测方法的具体实施方式,参见图1,该方法具体包括如下内容:
50.步骤100:解析应用程序的配置数据,以生成解析结果;
51.可以理解的是,在步骤100之前还需要为各应用程序的监控提供配置输入。
52.步骤200:将解析结果封装为监控实体,所述应用程序与监控实体为一一对应的关系。
53.对各应用程序的配置进行解析并封装为监控实体(每个待监控的应用程序与监控实体为1:1映射)。
54.步骤300:检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态。
55.具体地,检查各监控实体是否绑定schedule,以及schedule的运行状态是否正常。
56.从上述描述可知,本发明实施例提供一种应用程序健康检测方法,包括:首先解析应用程序的配置数据,以生成解析结果;接着,将解析结果封装为监控实体,应用程序与监
控实体为一一对应的关系;最后检测监控实体所绑定的schedule实例状态是否正常,以检测应用程序的健康状态。本发明以应用程序的配置为驱动,对于新增/删除常驻程序的监控/恢复,均只需增加相应配置即可,无需硬编码,对于所有常驻程序/应用的管理也直观明了。
57.一实施例中,参见图2,应用程序健康检测方法还包括:
58.步骤400:检测所述监控实体是否绑定所述schedule实例;
59.步骤500:当所述监控实体未绑定所述schedule实例时,启动所述schedule实例并绑定到所述监控实体。
60.对于未绑定schedule的监控实体,启动一个schedule并绑定到该监控实体
61.一实施例中,参见图3,步骤300具体包括:
62.步骤301:如果所述schedule实例状态为异常,销毁所述schedule实例,并重新绑定一schedule实例。
63.具体地,如果绑定schedule状态异常,则销毁该schedule实例,并重新启动一个schedule绑定到该监控实体;
64.一实施例中,参见图4,步骤300还包括:
65.步骤302:如果所述schedule实例状态为正常,调用所述监控实体的检查及恢复方法进行健康检测及恢复。
66.调用监控实体的检查及恢复方法进行健康检测及恢复,并调度alert模块进行相应提示输出。
67.在一实施例中,参见图5,应用程序健康检测方法还包括:
68.步骤600:封装并调用不同形式的预警接口。
69.从上述描述可知,本发明实施例提供一种应用程序健康检测方法,包括:首先解析应用程序的配置数据,以生成解析结果;接着,将解析结果封装为监控实体,应用程序与监控实体为一一对应的关系;最后检测监控实体所绑定的schedule实例状态是否正常,以检测应用程序的健康状态。本发明具有以下有益效果:
70.1.增加、删除待监控的应用程序无需修改监控代码;
71.2.监控的应用程序数量不设上限,且对各应用程序的健康检测修复进程互相独立;
72.3.应用程序逻辑修改导致健康状态检测修复逻辑修改,无需修改监控代码,只需重新实现健康检测、修复方法的接口即可;
73.4.对检测并修复应用程序健康状态的进程同样存在监控修复,保证其正常运行;
74.5.各应用程序的健康检测修复的频率均可各自定制,无最小时间单位限制,充分保证检测预警的实时性;
75.本发明还提供一种应用程序健康检测方法的具体实施方式,参见图6,具体包括以下内容。
76.在本发明具体实施方式中首先提供一种应用程序健康检测系统,该系统具体包括:
77.config模块:为各应用程序的监控提供配置输入。
78.parse模块:扫描配置模块,对各应用程序的配置进行解析并封装为监控实体(每
个待监控的应用程序与监控实体为1:1映射)。
79.manager模块:检查各监控实体是否绑定schedule,以及schedule的运行状态是否正常,对于未绑定schedule的监控实体,启动一个schedule并绑定到该监控实体;如果绑定schedule状态异常,则销毁该schedule实例,并重新启动一个schedule绑定到该监控实体;
80.schedule模块:每个schedule唯一对应一个监控实体,负责按照该监控实体设置的监测频率调度action模块。
81.action模块:调用监控实体的检查及恢复方法进行健康检测及恢复,并调度alert模块进行相应提示输出。
82.alert模块:封装并调用不同形式的预警接口。
83.基于上述的应用程序健康检测系统,本发明具体实施方式所提供的应用程序健康检测方法包括:
84.s1:config模块接收待监控应用的配置输入,包含应用名称、健康监测方法、修复方法、监测频率、连续失败预警次数等;
85.s2:parse模块按特定频率解析config模块未解析过的配置数据,对于每个待监测的应用程序,均封装为一个监控实体;
86.s3:manager模块按特定频率检查各监控实体是否绑定schedule以及schedule的运行状态:如果未绑定schedule,则初始化一个schedule,并绑定到该监控实体;如果已绑定schedule,检查schedule运行状态是否正常,如果不正常,则销毁该schedule实例,然后重新初始化一个schedule,并绑定到该监控实体;
87.s4:每个schedule实例根据监控实体的监测频率按时调度action实例对相应的应用程序进行健康检查及状态恢复,如果恢复失败次数超过设定阀值,则调用alert模块尽心预警输出;
88.可以理解的是,action调用的健康检测及修复方法,可直接执行操作系统命令,或可执行程序,各应用程序也可按照自身逻辑各自灵活实现,如此,避免了对监控程序的侵入,同时,也适配了各应用的复杂多样性。
89.从上述描述可知,本发明实施例提供一种应用程序健康检测方法,包括:首先解析应用程序的配置数据,以生成解析结果;接着,将解析结果封装为监控实体,应用程序与监控实体为一一对应的关系;最后检测监控实体所绑定的schedule实例状态是否正常,以检测应用程序的健康状态。通过本发明增加或删除应用程序的监控,维护人员无需再次硬编码,只需增加相关配置即可,且可按照应用自身的特点个性化定制健康检测及修复方法的逻辑,对监控程序无入侵。
90.检测频率无最小单位限制,检测进程间互相独立,对各检测进程也有监控修复进程以保证其健康运行,如此这些,均保证了应用程序的健康检测及修复的可靠性、实时性。
91.基于同一发明构思,本技术实施例还提供了一种应用程序健康检测装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于一种应用程序健康检测装置解决问题的原理与一种应用程序健康检测方法相似,因此一种应用程序健康检测装置的实施可以参见一种应用程序健康检测方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
92.本发明的实施例提供一种能够实现应用程序健康检测方法的一种应用程序健康检测装置的具体实施方式,参见图7,一种应用程序健康检测装置具体包括如下内容:
93.解析结果生成模块10,用于解析应用程序的配置数据,以生成解析结果;
94.解析结果封装模块20,用于将解析结果封装为监控实体,所述应用程序与监控实体为一一对应的关系;
95.应用状态检测模块30,用于检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态。
96.一实施例中,参见图8,应用程序健康检测装置还包括:
97.实例检测模块40,用于检测所述监控实体是否绑定所述schedule实例;
98.实例绑定模块50,用于当所述监控实体未绑定所述schedule实例时,启动所述schedule实例并绑定到所述监控实体。
99.一实施例中,参见图9,所述应用状态检测模块30包括:
100.实例重绑定单元301,用于如果所述schedule实例状态为异常,销毁所述schedule实例,并重新绑定一schedule实例。
101.一实施例中,参见图10,所述应用状态检测模块30还包括:
102.方法调用单元302,用于如果所述schedule实例状态为正常,调用所述监控实体的检查及恢复方法进行健康检测及恢复。
103.从上述描述可知,本发明实施例提供一种应用程序健康检测装置,包括:首先解析应用程序的配置数据,以生成解析结果;接着,将解析结果封装为监控实体,应用程序与监控实体为一一对应的关系;最后检测监控实体所绑定的schedule实例状态是否正常,以检测应用程序的健康状态。本发明具有以下有益效果:
104.1.增加、删除待监控的应用程序无需修改监控代码;
105.2.监控的应用程序数量不设上限,且对各应用程序的健康检测修复进程互相独立;
106.3.应用程序逻辑修改导致健康状态检测修复逻辑修改,无需修改监控代码,只需重新实现健康检测、修复方法的接口即可;
107.4.对检测并修复应用程序健康状态的进程同样存在监控修复,保证其正常运行;
108.5.各应用程序的健康检测修复的频率均可各自定制,无最小时间单位限制,充分保证检测预警的实时性;
109.本技术的实施例还提供能够实现上述实施例中的一种应用程序健康检测方法中全部步骤的一种电子设备的具体实施方式,参见图11,电子设备具体包括如下内容:
110.处理器(processor)1201、存储器(memory)1202、通信接口(communications interface)1203和总线1204;
111.其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备以及客户端设备等相关设备之间的信息传输;
112.处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的一种应用程序健康检测方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
113.步骤100:解析应用程序的配置数据,以生成解析结果;
114.步骤200:将解析结果封装为监控实体,所述应用程序与监控实体为一一对应的关系;
115.步骤300:检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态。
116.本技术的实施例还提供能够实现上述实施例中的一种应用程序健康检测方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的一种应用程序健康检测方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
117.步骤100:解析应用程序的配置数据,以生成解析结果;
118.步骤200:将解析结果封装为监控实体,所述应用程序与监控实体为一一对应的关系;
119.步骤300:检测所述监控实体所绑定的schedule实例状态是否正常,以检测所述应用程序的健康状态。
120.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
121.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
122.虽然本技术提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
123.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
124.本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件
部件内的结构。
125.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
126.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
127.本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
128.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
129.以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1