CN117170975A - 应用程序的监控方法、装置、设备及存储介质 - Google Patents
应用程序的监控方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117170975A CN117170975A CN202311143691.6A CN202311143691A CN117170975A CN 117170975 A CN117170975 A CN 117170975A CN 202311143691 A CN202311143691 A CN 202311143691A CN 117170975 A CN117170975 A CN 117170975A
- Authority
- CN
- China
- Prior art keywords
- thread
- monitoring
- target thread
- information
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 168
- 238000012544 monitoring process Methods 0.000 claims abstract description 238
- 230000008569 process Effects 0.000 claims abstract description 116
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 230000003068 static effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012806 monitoring device Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供一种应用程序的监控方法、装置、设备及存储介质,方法包括:接收客户端发送的目标线程的线程监控请求;若目标线程在监控列表中,则判断目标线程所属进程的进程号是否发生变化;若发生变化,则删除监控列表中目标线程的历史线程监控信息,更新目标线程所属进程的进程号,将目标线程的线程监控信息添加至监控列表中;若没有发生变化,则将目标线程的线程监控信息添加至所述监控列表中;按照预设周期检查监控列表中目标线程的心跳信息;若目标线程的心跳信息发生超时,则重启目标线程所属进程,按照预设周期检查所述监控列表中目标线程的心跳信息。本发明通过对目标线程的心跳信息进行周期性检查,实现服务端对应用程序的线程级监控。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种应用程序的监控方法、装置、设备及存储介质。
背景技术
随着智能座舱技术的不断发展、功能不断丰富,智能座舱已经成为智能汽车不可或缺的组成部分,为了满足用户对于汽车各种派生功能的需求,智能座舱中应用程序设计的复杂度和应用程序的代码量也是逐年递增。
为了保证应用程序的正常运转,在应用程序出现故障时能够快速恢复,一般的做法是设计一定的健康管理机制,实施监控各个服务的运行状况,当服务出现异常时,采取一定的措施进行状态恢复,保证功能服务的正常运转。例如采用客户端服务端的实现框架,针对特定的进程通过采用心跳机制,完成监控动作。
但是发明人发现现有技术中的健康管理机制存在以下问题:服务端对于应用程序的监控只能做到进程级别,所以客户端的应用程序只能以进程为单位做统一监控,进程内各个子线程的状态不能独立监控。
发明内容
本发明提供一种应用程序的监控方法、装置、设备及存储介质,用以解决现有技术中服务端对于应用程序的监控只能做到进程级别,对进程内各个子线程的状态不能独立监控的问题。
第一方面,本发明提供一种应用程序的监控方法,应用于服务端,所述方法包括:接收客户端发送的目标线程的线程监控请求;其中,所述线程监控请求中包括目标线程的线程号、目标线程所属进程的进程号以及目标线程所在的应用程序的名称;若所述目标线程不在监控列表中,则将所述目标线程的线程监控信息添加至所述监控列表中;若所述目标线程在监控列表中,则判断所述目标线程所属进程的进程号是否发生变化;若所述目标线程所属进程的进程号发生变化,则删除所述监控列表中所述目标线程的历史线程监控信息,更新目标线程所属进程的进程号,将所述目标线程的线程监控信息添加至所述监控列表中;若所述目标线程所属进程的进程号没有发生变化,则将所述目标线程的线程监控信息添加至所述监控列表中;按照预设周期检查所述监控列表中目标线程的心跳信息;若所述目标线程的心跳信息发生超时,则记录错误日志,重启所述目标线程所属进程,并重新执行按照预设周期检查所述监控列表中目标线程的心跳信息的步骤。
在一种可能的设计中,所述接收客户端发送的目标线程的线程监控请求之前,还包括:接收客户端中的应用程序发送的注册请求,根据所述注册请求完成应用程序的注册。
在一种可能的设计中,所述按照预设周期检查所述监控列表中目标线程的心跳信息之后,包括:若在预设周期内接收到目标线程的心跳信息,则重新执行按照预设周期检查所述监控列表中目标线程的心跳信息的步骤。
在一种可能的设计中,其中,所述服务端配置有静态监控配置文件;
相应地,所述若所述目标线程的心跳信息发生超时,则记录错误日志之后,还包括:根据所述静态监控配置文件对所述目标线程进行处理。
在一种可能的设计中,应用程序的监控方法还包括:接收客户端发送的目标线程的线程取消监控请求;若所述目标线程不在监控列表中,则判定所述线程取消监控请求为异常请求;若所述目标线程在监控列表中,则判断所述目标线程的线程信息与监控列表中的信息是否匹配;若目标线程的线程信息与监控列表中的信息匹配,则删除所述监控列表中所述目标线程的线程信息,并记录日志;若目标线程的线程信息与监控列表中的信息不匹配,则判定所述线程取消监控请求为异常请求。
第二方面,本发明提供一种应用程序的监控装置,包括:第一接收模块,用于接收客户端发送的目标线程的线程监控请求;其中,所述线程监控请求中包括目标线程的线程号、目标线程所属进程的进程号以及目标线程所在的应用程序的名称;第一添加模块,用于若所述目标线程不在监控列表中,则将所述目标线程的线程监控信息添加至所述监控列表中;判断模块,用于若所述目标线程在监控列表中,则判断所述目标线程所属进程的进程号是否发生变化;第一重启模块,用于若所述目标线程所属进程的进程号发生变化,则删除所述监控列表中所述目标线程的历史线程监控信息,更新目标线程所属进程的进程号,将所述目标线程的线程监控信息添加至所述监控列表中;第二添加模块,用于若所述目标线程所属进程的进程号没有发生变化,则将所述目标线程的线程监控信息添加至所述监控列表中;监控模块,用于按照预设周期检查所述监控列表中目标线程的心跳信息;第二重启模块,用于若所述目标线程的心跳信息发生超时,则记录错误日志,重启所述目标线程所属进程,并重新执行按照预设周期检查所述监控列表中目标线程的心跳信息的步骤。
第三方面,本发明提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如实现如上第一方面以及第一方面各种可能的设计所述的方法。
第五方面,本发明提供一种计算机程序产品,所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现如实现如上第一方面以及第一方面各种可能的设计所述的方法。
本申请提供的应用程序的监控方法、装置、设备及存储介质,通过接收客户端发送的目标线程的线程监控请求,若目标线程不在监控列表中,则将目标线程的线程监控信息添加至监控列表中,若目标线程在监控列表中,则判断目标线程所属进程的进程号是否发生变化,若发生变化,则删除所述监控列表中所述目标线程的历史线程监控信息,更新目标线程所属进程的进程号;然后对目标线程的心跳信息进行周期性检查,实现服务端对于应用程序的线程级监控。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用程序的监控方法的应用场景示意图;
图2为本发明实施例提供的应用程序的监控方法流程示意图一;
图3为本发明实施例提供的应用程序的监控方法流程示意图二;
图4为本发明实施例提供的应用程序的监控装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着智能座舱技术的不断发展、功能不断丰富,智能座舱已经成为智能汽车不可或缺的组成部分,为了满足用户对于汽车各种派生功能的需求,智能座舱中应用程序设计的复杂度和应用程序的代码量也是逐年递增。为了保证应用程序的正常运转,在应用程序出现故障时能够快速恢复,一般的做法是设计一定的健康管理机制,实施监控各个服务的运行状况,当服务出现异常时,采取一定的措施进行状态恢复,保证功能服务的正常运转。例如采用客户端服务端的实现框架,针对特定的进程通过采用心跳机制,完成监控动作。但是现有技术中的健康管理机制存在以下问题:服务端对于应用程序的监控只能做到进程级别,现有的监控机制一般以进程为单位,进程整体向服务端发送心跳,所以客户端的应用程序只能以进程为单位做统一监控,进程内各个子线程的状态不能独立监控。且因为客户端应用程序是作为一个主体向服务端发送心跳,而发送心跳的线程不能覆盖进程内部全部的运行状况,很可能出现心跳包功能正常,但是进程内部已经发生线程死亡或者线程死锁,最终导致监控并未生效的情况发生。
为了解决上述技术问题,本发明实施例提出以下技术方案:通过接收客户端发送的目标线程的线程监控请求,通过对目标线程的心跳信息进行周期性检查,实现服务端对于应用程序的线程级监控。
下面采用详细的实施例进行详细说明。
图1是本发明实施例提供的应用程序的监控方法的应用场景示意图。如图1所示,本发明的应用程序的监控方法基于C-S架构,包括服务端10和客户端11;C/S架构是一种软件架构,主要应用于局域网内。智能座舱中的应用程序设置在客户端11中,需要被监控的应用程序通过定期向作为监控者的服务端10发送心跳包,服务端10通过接收来自客户端11中应用程序的心跳包来判定被监控的应用程序是否出现异常。其中,客户端11与服务端10通过通信接口进行通信。
图2为本发明实施例提供的应用程序的监控方法流程示意图一,本实施例的执行主体可以为图1所示实施例中的服务端10,服务端10可以通过软件方式、硬件方式,或者软件和硬件相结合的方式实现以下方法,本实施例此处不做特别限制。如图2所示,该方法包括:
S201:接收客户端发送的目标线程的线程监控请求;其中,线程监控请求中包括目标线程的线程号、目标线程所属进程的进程号以及目标线程所在的应用程序的名称。
本实施例中,线程监控请求的目的是能够更加精确的监控需要监控的进程。在进程级监控程中,当一个进程内部有多个线程向服务端发送心跳时,会导致服务端不能准确监控客户端的应用程序,因为当某一个线程出现异常后,不能向服务端发送心跳,但是因为有其他的线程可以发送心跳,所以服务端会认为客户端的应用程序进程处于正常的运行状态,从而不会对此进行处理,导致服务端不能准确监控客户端应用程序。然而本实施例中通过线程级监控则可以避免这些问题。
本实施例中,接收客户端发送的目标线程的线程监控请求之前,还包括:
接收客户端中的应用程序发送的注册请求,根据注册请求完成应用程序的注册。
具体地,应用程序向服务端注册后,服务端会监控应用程序中线程向服务端发送的心跳信息。
S202:判断目标线程是否在监控列表中,若是,则执行步骤S203,若否,则执行步骤S206。
本实施例中,服务端中设置有监控列表,监控列表可以用于记录服务端监控的线程。如果待监控的目标线程已经在监控列表中,说明该目标线程已经被监控,如果待监控的目标线程不在监控列表中,说明该目标线程没有被监控。
S203:判断目标线程所属进程的进程号是否发生变化,若是,则执行步骤S204,若否,则执行步骤S206。
本实施例中,如果目标线程已经在监控列表中,则会判断目标线程所属进程的进程号是否发生变化,如果没有发生变化,表明该目标线程为新的线程请求监控,如果发生变化,则表明原有的进程发生了重启。
S204:删除监控列表中目标线程的历史线程监控信息。
本实施例中,由于目标线程所属进程的进程号发生变化,需要将监控列表中的历史线程监控信息进行删除。
S205:更新目标线程所属进程的进程号。
本实施例中,由于目标线程所属进程的进程号发生变化,因此需要更新目标线程所属进程的进程号。
S206:将目标线程的线程监控信息添加至监控列表中。
本实施例中,从步骤S203已知,目标线程所属进程的进程号如果没有发生变化,则表明该目标线程为新的线程请求监控,则添加对应目标线程的线程监控信息至监控列表中。
S207:按照预设周期检查监控列表中目标线程的心跳信息。
本实施例中,目标线程按照一定的预设周期向作为服务端发送心跳信息,服务端按照预设周期检查目标线程发送的心跳信息,以此来监控该目标线程是否正常运行。
具体地,预设周期可以根据实际情况进行设定,本实施例不做具体的限制。
S208:判断目标线程的心跳信息是否发生超时,若是则执行步骤S209,若否,则执行步骤S207。
本实施例中,如果服务端未按照预设周期接收到目标线程发送的心跳信息,则目标线程的心跳信息发生超时,如果服务端按照预设周期接收到目标线程发送的心跳信息,则目标线程的心跳信息没有发生超时。
本实施例中,按照预设周期检查监控列表中目标线程的心跳信息之后,包括:若目标线程的心跳信息没有发生超时,则重新执行按照预设周期检查监控列表中目标线程的心跳信息的步骤,即则执行步骤S207,按照预设周期检查监控列表中目标线程的心跳信息,实现对目标线程的心跳信息的实时监控。
S209:记录错误日志,重启目标线程所属进程。
本实施例中,服务端配置有静态监控配置文件;相应地,若目标线程的心跳信息发生超时,则记录错误日志之后,还包括:根据静态监控配置文件对目标线程进行处理。
具体地,静态监控配置文件中包含异常处理方式,当被监控的应用程序出现异常后,根据静态监控配置文件中的异常处理方式对目标线程进行处理。
如果服务端未按照预设周期接收到目标线程发送的心跳信息,说明目标线程运行不正常,因此需要记录错误日志,并重启该目标线程所属的进程。
综上,本实施例提供的应用程序的监控方法,通过接收客户端发送的目标线程的线程监控请求,若目标线程不在监控列表中,则将目标线程的线程监控信息添加至监控列表中,若目标线程在监控列表中,则判断目标线程所属进程的进程号是否发生变化,若发生变化,则删除监控列表中目标线程的历史线程监控信息,更新目标线程所属进程的进程号;然后对目标线程的心跳信息进行周期性检查,实现服务端对于应用程序的线程级监控。
图3为本发明实施例提供的应用程序的监控方法流程示意图二。在本发明实施例中,对线程的动态监控的具体实现方法进行了详细说明。如图3所示,该方法包括:
S301:接收客户端发送的目标线程的线程取消监控请求。
本实施例中,对线程的动态监控是针对应用程序运行时动态产生的线程进行监控。比如在智能座舱中,报警音是非常重要的功能,因为报警音只有在出现异常时才会有,所以报警音的播放线程只有在需要时才会创建或者才会被触发。因此静态监控就不能满足此种场景的监控了。当报警音处于播放状态时,需要实时向服务端发送心跳,当报警音播放完成后,线程挂起或退出,此时需要向服务端发送取消监控的命令,即发送线程取消监控请求。
具体地,目标线程的线程取消监控请求中可以包括目标线程的线程号、目标线程所属进程的进程号以及目标线程所在的应用程序的名称。
当客户端的应用程序的线程不需要被监控时,通过调用客户端接口,向服务端发送线程取消监控请求。服务端收到线程取消监控请求后,就不再监控此线程的心跳信息。
S302:判断目标线程是否在监控列表中,若是,则执行步骤S303,若否,则执行步骤S305。
本实施例中,服务端中设置有监控列表,监控列表可以用于记录服务端监控的线程。如果待监控的目标线程已经在监控列表中,说明该目标线程已经被监控,如果待监控的目标线程不在监控列表中,说明该目标线程没有被监控。
S303:判断目标线程的线程信息与监控列表中的信息是否匹配,若是,则执行步骤S304,若否,则执行步骤S305。
本实施例中,若目标线程的线程信息与监控列表中的信息匹配,说明请求取消监控的目标线程信息准确,若目标线程的线程信息与监控列表中的信息不匹配,说明请求取消监控的目标线程信息不准确。
S304:删除监控列表中目标线程的线程信息,并记录日志。
本实施例中,若目标线程的线程信息与监控列表中的信息匹配,说明请求取消监控的目标线程信息准确,因此可以根据线程取消监控请求取消对该目标线程的监控,并将该过程以日志形式记录下来。
S305:判定线程取消监控请求为异常请求。
本实施例中,若目标线程的线程信息与监控列表中的信息不匹配,说明请求取消监控的目标线程信息不准确,因此标记该线程取消监控请求为异常请求即可。
综上,本实施例提供的应用程序的监控方法,通过接收客户端发送的目标线程的线程取消监控请求;若目标线程不在监控列表中,则判定线程取消监控请求为异常请求;若目标线程在监控列表中,则判断目标线程的线程信息与监控列表中的信息是否匹配,若匹配,则删除监控列表中目标线程的线程信息,并记录日志,若不匹配,则判定线程取消监控请求为异常请求,实现了客户端应用程序可以动态的请求取消监控,服务端可以动态的根据客户端应用程序的具体请求停止对客户端线程的监控,实现了服务端对应用程序的线程级动态监控。
图4为本发明实施例提供的应用程序的监控装置的结构示意图。如图4所示,该应用程序的监控装置包括:第一接收模块401、第一添加模块402、判断模块403、第一重启模块404、第二添加模块405、监控模块406以及第二重启模块407。
第一接收模块401,用于接收客户端发送的目标线程的线程监控请求;其中,线程监控请求中包括目标线程的线程号、目标线程所属进程的进程号以及目标线程所在的应用程序的名称。
第一添加模块402,用于若目标线程不在监控列表中,则将目标线程的线程监控信息添加至监控列表中。
判断模块403,用于若目标线程在监控列表中,则判断目标线程所属进程的进程号是否发生变化。
第一重启模块404,用于若目标线程所属进程的进程号发生变化,则删除监控列表中目标线程的历史线程监控信息,更新目标线程所属进程的进程号,将目标线程的线程监控信息添加至监控列表中。
第二添加模块405,用于若目标线程所属进程的进程号没有发生变化,则将目标线程的线程监控信息添加至监控列表中。
第一检查模块406,用于按照预设周期检查监控列表中目标线程的心跳信息。
第二重启模块407,用于若目标线程的心跳信息发生超时,则记录错误日志,重启目标线程所属进程,更新目标线程所属进程的进程号,并重新执行按照预设周期检查监控列表中目标线程的心跳信息的步骤。
在一种可能的实现方式中,应用程序的监控装置还包括:第二接收模块408,用于接收客户端中的应用程序发送的注册请求,根据注册请求完成应用程序的注册。
在一种可能的实现方式中,应用程序的监控装置还包括:第二检查模块409,用于若在预设周期内接收到目标线程的心跳信息,则重新执行按照预设周期检查监控列表中目标线程的心跳信息的步骤。
在一种可能的实现方式中,服务端配置有静态监控配置文件,相应地,应用程序的监控装置还包括:处理模块410,用于根据静态监控配置文件对目标线程进行处理。
在一种可能的实现方式中,应用程序的监控装置还包括:第三接受模块411,用于接收客户端发送的目标线程的线程取消监控请求;若目标线程不在监控列表中,则判定线程取消监控请求为异常请求;若目标线程在监控列表中,则判断目标线程的线程信息与监控列表中的信息是否匹配;若目标线程的线程信息与监控列表中的信息匹配,则删除监控列表中目标线程的线程信息,并记录日志;若目标线程的线程信息与监控列表中的信息不匹配,则判定线程取消监控请求为异常请求。
本申请实施例提供的应用程序的监控装置,可用于执行上述实施例中应用程序的监控方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,第一重启模块404可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上第一重启模块404的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图5为本申请实施例提供的电子设备的结构示意图。如图5所示,该电子设备可以包括:收发器501、处理器502、存储器503。
处理器502执行存储器存储的计算机执行指令,使得处理器502执行上述实施例中的方案。处理器502可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器503通过系统总线与处理器502连接并完成相互间的通信,存储器503用于存储计算机程序指令。
收发器501可以用于获取待运行任务和待运行任务的配置信息。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。
本申请实施例提供的电子设备,可以是上述实施例的终端设备。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中应用程序的监控方法的技术方案。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上述的应用程序的监控方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中应用程序的监控方法的技术方案。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种应用程序的监控方法,其特征在于,应用于服务端,所述方法包括:
接收客户端发送的目标线程的线程监控请求;其中,所述线程监控请求中包括目标线程的线程号、目标线程所属进程的进程号以及目标线程所在的应用程序的名称;
若所述目标线程不在监控列表中,则将所述目标线程的线程监控信息添加至所述监控列表中;
若所述目标线程在监控列表中,则判断所述目标线程所属进程的进程号是否发生变化;
若所述目标线程所属进程的进程号发生变化,则删除所述监控列表中所述目标线程的历史线程监控信息,更新目标线程所属进程的进程号,将所述目标线程的线程监控信息添加至所述监控列表中;
若所述目标线程所属进程的进程号没有发生变化,则将所述目标线程的线程监控信息添加至所述监控列表中;
按照预设周期检查所述监控列表中目标线程的心跳信息;
若所述目标线程的心跳信息发生超时,则记录错误日志,重启所述目标线程所属进程,并重新执行按照预设周期检查所述监控列表中目标线程的心跳信息的步骤。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的目标线程的线程监控请求之前,还包括:
接收客户端中的应用程序发送的注册请求,根据所述注册请求完成应用程序的注册。
3.根据权利要求1所述的方法,其特征在于,所述按照预设周期检查所述监控列表中目标线程的心跳信息之后,包括:
若在预设周期内接收到目标线程的心跳信息,则重新执行按照预设周期检查所述监控列表中目标线程的心跳信息的步骤。
4.根据权利要求1所述的方法,其特征在于,其中,所述服务端配置有静态监控配置文件;
相应地,所述若所述目标线程的心跳信息发生超时,则记录错误日志之后,还包括:
根据所述静态监控配置文件对所述目标线程进行处理。
5.根据权利要求1至4任一项所述的方法,其特征在于,还包括:
接收客户端发送的目标线程的线程取消监控请求;
若所述目标线程不在监控列表中,则判定所述线程取消监控请求为异常请求;
若所述目标线程在监控列表中,则判断所述目标线程的线程信息与监控列表中的信息是否匹配;
若目标线程的线程信息与监控列表中的信息匹配,则删除所述监控列表中所述目标线程的线程信息,并记录日志;
若目标线程的线程信息与监控列表中的信息不匹配,则判定所述线程取消监控请求为异常请求。
6.一种应用程序的监控装置,其特征在于,包括:
第一接收模块,用于接收客户端发送的目标线程的线程监控请求;其中,所述线程监控请求中包括目标线程的线程号、目标线程所属进程的进程号以及目标线程所在的应用程序的名称;
第一添加模块,用于若所述目标线程不在监控列表中,则将所述目标线程的线程监控信息添加至所述监控列表中;
判断模块,用于若所述目标线程在监控列表中,则判断所述目标线程所属进程的进程号是否发生变化;
第一重启模块,用于若所述目标线程所属进程的进程号发生变化,则删除所述监控列表中所述目标线程的历史线程监控信息,更新目标线程所属进程的进程号,将所述目标线程的线程监控信息添加至所述监控列表中;
第二添加模块,用于若所述目标线程所属进程的进程号没有发生变化,则将所述目标线程的线程监控信息添加至所述监控列表中;
监控模块,用于按照预设周期检查所述监控列表中目标线程的心跳信息;
第二重启模块,用于若所述目标线程的心跳信息发生超时,则记录错误日志,重启所述目标线程所属进程,并重新执行按照预设周期检查所述监控列表中目标线程的心跳信息的步骤。
7.根据权利要求6所述的装置,其特征在于,还包括:第二接收模块,用于接收客户端中的应用程序发送的注册请求,根据所述注册请求完成应用程序的注册。
8.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至5中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311143691.6A CN117170975A (zh) | 2023-09-05 | 2023-09-05 | 应用程序的监控方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311143691.6A CN117170975A (zh) | 2023-09-05 | 2023-09-05 | 应用程序的监控方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117170975A true CN117170975A (zh) | 2023-12-05 |
Family
ID=88939134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311143691.6A Pending CN117170975A (zh) | 2023-09-05 | 2023-09-05 | 应用程序的监控方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170975A (zh) |
-
2023
- 2023-09-05 CN CN202311143691.6A patent/CN117170975A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11269718B1 (en) | Root cause detection and corrective action diagnosis system | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
CN110413432B (zh) | 一种信息处理方法、电子设备及存储介质 | |
CN110908838B (zh) | 一种数据处理方法、装置及电子设备和存储介质 | |
CN108964977B (zh) | 节点异常处理方法及系统,存储介质和电子设备 | |
CN113064748B (zh) | 进程接替的方法、装置、电子设备及存储介质 | |
CN111897493B (zh) | 存储空间管理方法、装置及电子设备、存储介质 | |
CN113485834A (zh) | 共享内存管理方法、装置、计算机设备和存储介质 | |
CN114138838A (zh) | 数据处理方法及装置、设备和介质 | |
US7536694B2 (en) | Exception handling in a multiprocessor system | |
CN111342986A (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
CN117170975A (zh) | 应用程序的监控方法、装置、设备及存储介质 | |
US10922125B2 (en) | Capability liveness of containerized services | |
CN112070585A (zh) | 订单状态统一管理方法、装置、计算机设备和存储介质 | |
JP2020119018A (ja) | 情報処理システム、情報処理装置及びプログラム | |
WO2020177495A1 (zh) | 一种数据库连接管理方法及装置、设备 | |
US9619306B2 (en) | Information processing device, control method thereof, and recording medium | |
CN111259375A (zh) | 应用于物联网操作系统的访问请求的处理方法及装置 | |
JP3494788B2 (ja) | プログラム実行管理システム及びプログラム実行管理方法 | |
CN111381969B (zh) | 一种分布式软件的管理方法及其系统 | |
CN113485930B (zh) | 业务流程验证方法、装置、计算机系统和可读存储介质 | |
CN115361467B (zh) | 消息展示方法及终端设备 | |
US7934128B2 (en) | Methods, systems and computer program products for fault tolerant applications | |
US20220188662A1 (en) | Criticality detection for automation risk mitigation | |
US20210263825A1 (en) | Computing device monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |