进程异常监控方法和装置、计算设备和可读存储介质制造方法及图纸

技术编号:35081535 阅读:19 留言:0更新日期:2022-09-28 11:50
本发明专利技术公开了一种进程异常监控方法和装置、计算设备和可读存储介质,涉及进程异常处理技术领域,可以解决目前难以高效监控系统异常的技术问题。进程异常监控方法包括:创建异常监控程序与转接服务程序之间的连接;将该连接注册成为监视器;通过所述连接,读取来自转接服务程序的方法调用消息,并将方法调用消息保存在内存中;在接收到来自转接服务程序的错误消息时,从内存中读取与错误消息对应的方法调用消息;解析所述错误消息和与所述错误消息对应的方法调用消息,得到关于异常的详细信息。根据本发明专利技术技术方案,能够充分、高时效性地、高准确性地且低开销地发现异常,能够高效率地对系统异常进行监控。率地对系统异常进行监控。率地对系统异常进行监控。

【技术实现步骤摘要】
进程异常监控方法和装置、计算设备和可读存储介质


[0001]本专利技术涉及进程异常处理
,尤其涉及一种进程异常监控方法和装置、计算设备和可读存储介质。

技术介绍

[0002]操作系统上时时刻刻运行着众多进程,这些进程随时随地都可能产生异常。对异常进行监控,能够快速发现异常、定位错误,并解决问题。因此高效的异常监控手段十分重要。
[0003]目前监控异常的技术手段主要包括:1、通过操作系统上专门的目录存放日志,比如对于linux操作系统,通过路径为/var/log的目录,存放记录的日志。可以通过对日志进行分析来发现异常。2、自动开启DEBUG模式,以保障能够充分记录日志,并定时或定量地对旧日志进行压缩和清理,且能够自动根据一些明确的错误信息提出警告。第二种手段可被视为对第一种手段进行的改进。
[0004]这两种技术有各自的缺点。第一种技术手段的缺点包括:只能在事后对日志进行人工分析,时效性差;为了降低系统开销,大部分进程在运行时会关闭一部分日志输出,需要开启DEBUG模式才会输出全部的日志,因此在/var/log中记录的日志并不充分,不利于后续分析定位;在/var/log中记录的日志会长期持久化保存,因此在系统运行了很长时间之后,该目录的数据会变得庞大,甚至达到几十GB——这样不仅会导致磁盘占用较大,传输变得困难,而且对日志信息极难进行定位;在/var/log中记录的日志,大部分都缺少时间信息,因此很难辨识发生问题时所涉及的日志所处位置;在/var/log中记录的日志是不区分类型和严重性的,大部分日志都是进程正常运行的打印,这样极少数的异常日志就被淹没在海量的正常日志中,难以被寻觅到。
[0005]第二种技术手段的缺点主要包括:通过该方案执行异常监控,在大部分情况下仍然只能在事后对日志进行人工分析,时效性比较差;开启DEBUG模式会降低程序性能,提高系统开销,并进一步增大数据量,因此导致在清除旧日志之前,仍然需要消耗较大的存储空间,然而在清除旧日志之后,会导致日志缺失;此外,仍然存在如下核心缺陷:极少数的错误日志被淹没在海量的正常日志中,难以被寻觅到。

技术实现思路

[0006]为此,本专利技术提供了一种进程异常监控方法和装置、计算设备和可读存储介质,以力图解决或者至少缓解上面存在的至少一个问题。
[0007]根据本专利技术的第一方面,提供了一种进程异常监控方法,包括:创建异常监控程序与转接服务程序之间的连接;将所述连接注册成为监视器;通过所述连接,读取来自所述转接服务程序的方法调用消息,并将所述方法调用消息保存在内存中;在接收到来自转接服务程序的错误消息时,从内存中读取与所述错误消息对应的方法调用消息;解析所述错误消息和与错误消息对应的方法调用消息,得到关于异常的详细信息。
[0008]可选地,根据本专利技术的进程异常监控方法还包括:在内存中分配一个固定大小的缓存,该缓存包含能够保存预定数目个消息的位置;通过所述连接,读取来自所述转接服务程序的方法调用消息,并将所述方法调用消息保存在内存中,包括:使用从转接服务程序新接收的消息的序列号除以所述预定数目并取余,得到余数值;判断消息是否为方法调用消息;如果消息是方法调用消息,判断余数值指代的位置是否为空;如果余数值指代的位置为空,将所述方法调用消息保存在由所述余数值指代的位置中;如果消息是返回消息,删除由所述余数值指代的位置中原有的方法调用消息。
[0009]可选地,在根据本专利技术的进程异常监控方法中,如果余数值指代的位置不为空,则删除余数值指代的位置中的原方法调用消息,并打印超时错误;将从转接服务程序新接收的消息保存到余数值指代的位置中。
[0010]可选地,在根据本专利技术的进程异常监控方法中,所述关于异常的详细信息包括:调用方和被调用方的进程号、要调用的接口名、要调用的服务名、要调用的方法和参数值,以及被调用方返回的详细错误信息。
[0011]可选地,在根据本专利技术的进程异常监控方法中,所述转接服务程序是D

bus服务。
[0012]根据本专利技术第二方面,提供一种进程异常监控装置,包括:创建模块,用于创建异常监控程序与转接服务程序之间的连接;注册模块,用于将所述连接注册成为监视器;接收模块,用于通过所述连接,读取来自所述转接服务程序的方法调用消息,并将所述方法调用消息保存在内存中;读取模块,用于在接收到来自所述转接服务程序的错误消息时,从内存中读取与所述错误消息对应的方法调用消息;解析模块,用于解析所述错误消息和与所述错误消息对应的方法调用消息,得到关于异常的详细信息。
[0013]可选地,根据本专利技术的进程异常监控装置还包括内存分配模块,用于在内存中分配一个固定大小的缓存,该缓存包含能够保存预定数目个消息的位置;接收模块包括:取余子模块,用于当从转接服务程序新接收到一个消息时,使用该消息的序列号除以预定数目并取余,得到余数值;第一判断子模块,用于判断该消息是否为方法调用消息;第二判断子模块,用于如果该消息是方法调用消息,判断余数值指代的位置是否为空;保存子模块,用于如果余数值指代的位置为空,则将该方法调用消息保存在余数值指代的位置中;删除子模块,用于如果该消息是返回消息,则删除余数值指代的位置中原有的方法调用消息。
[0014]可选地,在根据本专利技术的进程异常监控装置中,接收模块还包括:打印子模块,用于如果判断为余数值指代的位置不为空,删除余数值指代的位置中的原方法调用消息,并打印超时错误;重新保存子模块,用于将从转接服务程序新接收的消息保存到余数值指代的位置中。
[0015]根据本专利技术的第三方面,提供一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如上所述的进程异常监控方法。
[0016]根据本专利技术的第四方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的进程异常监控方法。
[0017]根据本专利技术技术方案,能够充分、高时效性地、高准确性地且低开销地发现异常,能够高效率地对系统异常进行监控。
附图说明
[0018]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0019]图1示出根据本专利技术实施方式的进程异常监控方法的示意性流程图;图2示出通过根据本专利技术实施方式的进程异常监控方法得到的解析结果;图3示出异常发生的过程的示意性流程图;图4示出根据本专利技术实施方式的进程异常监控装置的示意性结构框图;图5示出了根据本专利技术一个实施方式的计算设备的示意图。
具体实施方式
[0020]下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进程异常监控方法,包括:创建异常监控程序与转接服务程序之间的连接;将所述连接注册成为监视器;通过所述连接,读取来自所述转接服务程序的方法调用消息,并将所述方法调用消息保存在内存中;在接收到来自转接服务程序的错误消息时,从内存中读取与所述错误消息对应的方法调用消息;解析所述错误消息和与所述错误消息对应的方法调用消息,得到关于异常的详细信息。2.如权利要求1所述的进程异常监控方法,还包括:在内存中分配一个固定大小的缓存,该缓存包含能够保存预定数目个消息的位置;所述通过所述连接,读取来自所述转接服务程序的方法调用消息,并将所述方法调用消息保存在内存中,包括:使用从所述转接服务程序新接收的消息的序列号除以所述预定数目并取余,得到余数值;判断消息是否为方法调用消息;如果消息是方法调用消息,判断余数值指代的位置是否为空;如果余数值指代的位置为空,将所述方法调用消息保存在由所述余数值指代的位置中;如果消息是返回消息,删除由所述余数值指代的位置中原有的方法调用消息。3.如权利要求2所述的进程异常监控方法,其中,如果余数值指代的位置不为空,则删除余数值指代的位置中原有的方法调用消息,并打印超时错误;将从所述转接服务程序新接收的消息保存到余数值指代的位置中。4.如权利要求1

3中任一项所述的进程异常监控方法,其中,所述关于异常的详细信息包括:调用方和被调用方的进程号、要调用的接口名、要调用的服务名、要调用的方法和参数值,以及被调用方返回的详细错误信息。5.如权利要求1所述的进程异常监控方法,其中所述转接服务程序是D

bus服务。6.一种进程异常监控装置,包括:创建模块,用于创建异常监控程序与转接服务程序之间的连接;注册模块,用于将所述连...

【专利技术属性】
技术研发人员:胡本昌
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

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

1