首页 / 专利库 / 软件 / 软件套件 / 一种通过进程间通信实现软件日志实时监控的方法

一种通过进程间通信实现软件日志实时监控的方法

阅读:0发布:2022-09-06

专利汇可以提供一种通过进程间通信实现软件日志实时监控的方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种通过 进程 间通信实现 软件 日志实时监控的方法,包括:启动日志软件,建立日志软件与目标软件 进程间通信 通道;目标软件生成日志;通过目标软件和日志软件间的进程间通信通道将日志传递给日志软件;日志软件实时接收日志,并输出给用户。本发明采用日志生成和传送独立方式,在没有运行日志软件下能自动去掉日志生成步骤,减少大量日志对软件运行的影响;采用进程间通信,有良好的弱耦合和通信性能;采用独立的日志客户端,具有强大的日志实时监控能 力 。,下面是一种通过进程间通信实现软件日志实时监控的方法专利的具体信息内容。

1.一种通过进程间通信实现软件日志实时监控的方法,其特征在于,包括:
启动日志软件,建立日志软件与目标软件进程间通信通道;
目标软件生成日志;
通过目标软件和日志软件间的进程间通信通道将日志传递给日志软件;
日志软件实时接收日志,并输出给用户。
2.如权利要求1所述的通过进程间通信实现软件日志实时监控的方法,其特征在于, 所述进程间通信包括消息管道,消息队列,信号量,共享存储或套接口SOCKET。
3.如权利要求2所述的通过进程间通信实现软件日志实时监控的方法,其特征在于,所述共享存储包括共享内存和共享文件。
4.如权利要求3所述的通过进程间通信实现软件日志实时监控的方法,其特征在于,所述进程间通信为共享内存方式时,具体包括:
a:启动日志软件创建共享内存和用于共享内存的同步信号量;
b:启动目标软件打开共享内存,获取同步信号量,建立和日志软件的进程间通信通道;
c:目标软件生成日志,将日志写入共享内存,通过设置信号量通知日志数据的产生;
d:日志软件检测到信号量的信号,从共享内存中读取日志后输出。
5.如权利要求4所述的通过进程间通信实现软件日志实时监控的方法,其特征在于,步骤c中目标软件将生成的日志使用序列化的方法转成二进制流,将二进制流写入共享内存。
6.如权利要求5所述的通过进程间通信实现软件日志实时监控的方法,其特征在于,步骤d中日志软件读取共享内存中的二进制流,将二进制流反序列化为原始数据后输出。
7.如权利要求1所述的通过进程间通信实现软件日志实时监控的方法,其特征在于,所述目标软件包括能生成日志的系统软件应用软件
8.如权利要求4所述的通过进程间通信实现软件日志实时监控的方法,其特征在于,步骤d中日志软件将日志的输出方式采用实时界面显示,或者指定文件存储。

说明书全文

一种通过进程间通信实现软件日志实时监控的方法

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种通过进程间通信实现软件日志实时监控的方法。

背景技术

[0002] 为实现对目标软件运行状态、流程等的跟踪,便于发现或定位问题,需要在目标软件中嵌入一定的日志数据。通过分析日志数据掌握目标软件的运行情况、定位运行异常。
[0003] 目前,使用传统日志如系统日志、标准I/O输出或文件日志记录,上述记录目标软件日记,都有较多缺陷,不能很好的实时显示和分析日志,对于软件运行异常时的日志,不能很及时地发现,对于一些软件产生的问题也难实时跟踪;如系统日志不能较全面收集日志;标准I/O只能输出文本且难对产生的日志进行分析;文件日志对软件有较大的性能影响。

发明内容

[0004] 本发明的目的在于提供一种通过进程间通信实现软件日志实时监控的方法,具有实时分析和监控的特点。
[0005] 本发明的目的是通过以下技术方案实现的。
[0006] 一种通过进程间通信实现软件日志实时监控的方法,包括:启动日志软件,建立日志软件与目标软件进程间通信通道;
目标软件生成日志;
通过目标软件和日志软件间的进程间通信通道将日志传递给日志软件;
日志软件实时接收日志,并输出给用户。
[0007] 优选的,所述进程间通信包括消息管道,消息队列,信号量,共享存储或套接口SOCKET。
[0008] 优选的,所述共享存储包括共享内存和共享文件。
[0009] 优选的,所述进程间通信为共享内存方式时,具体包括:a:启动日志软件创建共享内存和用于共享内存的同步信号量;
b:启动目标软件打开共享内存,获取同步信号量,建立和日志软件的进程间通信通道;
c:目标软件生成日志,将日志写入共享内存,通过设置信号量通知日志数据的产生;
d:日志软件检测到信号量的信号,从共享内存中读取日志后输出。
[0010] 优选的,步骤c中目标软件将生成的日志使用序列化的方法转成二进制流,将二进制流写入共享内存。
[0011] 优选的,步骤d中日志软件读取共享内存中的二进制流,将二进制流反序列化为原始数据后输出。
[0012] 优选的,所述目标软件包括能生成日志的系统软件应用软件
[0013] 优选的,步骤d中日志软件将日志的输出方式采用实时界面显示,或者指定文件存储。
[0014] 本发明与现有技术相比,本发明采用日志生成和传送独立方式,在没有运行日志软件下能自动去掉日志生成步骤,减少大量日志对软件运行的影响。采用进程间通信,有良好的弱耦合和通信性能。采用独立的日志客户端,具有强大的日志实时监控能附图说明
[0015] 图1是本发明软件日志实时监控的方法流程图

具体实施方式

[0016] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0017] 在介绍本发明前,先对进程间通信这个概念作一介绍。
[0018] 进程间通信就是在不同进程之间共享和交换数据的机制,进程间通信主要包括消息管道,消息队列,信号量,共享存储(共享内存和共享文件), SOCKET等。
[0019] 消息管道(匿名管道Anonymous Pipes)、命名管道Named Pipes):用于设置应用程序间的一条永久通信通道,通过该通道可以象自己的应用程序访问一个平面文件一样读写数据。匿名管道: 单向流动,并且只能够在同一电脑上的各个进程之间流动。命名管道: 双向流动,任何进程都可以轻易的抓住,放进管道的数据有固定的格式,只能读取该大小的倍数。
[0020] 消息队列就是消息的一个链表,它允许一个或多个进程向它写消息,一个或多个进程从中读消息。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。
[0021] 信号(Signals )量是操作系统通过信号来通知进程。系统中发生了某种预先规定好的事件(一组事件中的一个),它也是用户进程之间通信和同步的一种原始机制。在一个信号的生命周期中有两个阶段:生成和传送。当一个事件发生时,需要通知一个进程,这时生成一个信号。当进程识别出信号的到来,就采取适当的动作来传送或处理信号。在信号到来和进程对信号进行处理之间,信号在进程上挂起。
[0022] 共享内存通常由一个进程创建,其余进程对这内存区进行读写。对于共享内存,系统无法对其做同步,需要程序自己来对共享的内存做出同步计算,而这种同步很多时候就是用信号量实现。共享文件和共享内存一样,只是把存储介质改为文件。
[0023] SOCKET(套接口)可以看作是进程间通信的端点(endpoint),每个套接口的名字都是唯一的,其他进程可以发现、连接并且与之通信。通信域用来说明套接口通信的协议,不同的通信域有不同的通信协议以及套接口的地址结构等。
[0024] 下面以共享内存为例,实现软件日志实时监控包括:启动日志软件,日志软件首先创建好共享内存和用于共享内存的同步信号,这个共享内存用一个约定的ID表示,其它任何进程都可以通过这个ID打开共享内存。
[0025] 启动目标软件后,用约定的ID尝试打开共享内存,如果返回共享内存不存在,就关闭所有日志输出,这样日志的输出就不会影响目标软件的性能;打开共享内存成功后,获取共享内存同步的信号量,这样目标软件和日志软件的跨进程通信通道就建立完成。
[0026] 目标软件生成日志,将日志数据使用序列化的方法转成二进制流,将二进制流写入共享内存,然后设置信号量通知日志数据的产生。
[0027] 日志软件检测到信号量的信号,从共享内存中读取日志的二进制流,反序列化后输出。其输出的方式可以为实时界面上显示,或者指定某个文件存储,具体输出的内容可以按照用户的要求进行筛选或者不进行任何筛选。
[0028] 其中,目标软件包括能生成日志的系统软件和应用软件,日志软件为能接收目标软件生成日志的软件。
[0029] 下面结合附图和实施例对本发明作进一步的详细说明:请参阅图1,该图通过进程间通信实现软件日志实时监控过程,包括以下步骤:
步骤101~103:启动日志软件后,由日志软件创建好共享内存和用于共享内存的同步信号,用于进程间通信,这个共享内存用一个在整个系统是唯一的ID表示,其它任何进程都可以通过这个ID与它通信。
[0030] 步骤104~106:启动目标软件,目标软件用约定的ID尝试打开共享内存,如果返回共享内存不存在,就关闭所有日志输出;打开共享内存成功后,获取共享内存同步的信号量,建立和日志软件的进程间通信通道。
[0031] 步骤107~109:目标软件将生成的日志使用序列化的方法转成二进制流,将二进制流写入共享内存,然后设置信号量通知日志数据的产生。
[0032] 步骤110~112:日志软件检测到信号量的信号,发现有日志生成。读取共享内存中的二进制流,将二进制流反序列化为原始数据后输出,这样日志软件完成了从共享内存中读取并还原日志的过程。
[0033] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈