[发明专利]一种在系统中异步记录日志的方法和装置在审
申请号: | 201310077706.3 | 申请日: | 2013-03-12 |
公开(公告)号: | CN104050074A | 公开(公告)日: | 2014-09-17 |
发明(设计)人: | 邱鹏;杨燕明 | 申请(专利权)人: | 中国银联股份有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/07 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 郑冀之;朱海煜 |
地址: | 200135 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 异步 记录 日志 方法 装置 | ||
技术领域
本发明涉及计算机系统的日志生成,并且尤其涉及在系统中异步记录日志的方法和装置。
背景技术
目前基本上所有的系统都需要在运行时由系统中的应用程序记录日志。通过日志监控,运维人员可以在第一时间内获取系统的各种应用程序的报错信息。如果记录日志的操作不采用任何保护措施,例如,当日志所在的文件系统或者磁盘损坏或发送异常时,记录日志的应用程序会出现挂死等情况,这会影响整个系统的正常运行。
目前针对日志记录主要有两种保护方式。一种是硬件方式,包括采用冗余磁盘阵列等;另外一种是软件方式,包括采用LINUX平台上的aio等。对于硬件保护方式,当磁盘系统发生异常的时候,冗余磁盘阵列无法做到无缝切换,此外该方式也无法应对文件系统异常的情况。对于软件保护方式,虽然可以同时应对磁盘异常和文件系统异常,但是这种方式只适用于特定的平台。而且在使用例如aio的时候,还需要在主机系统上启动大量的aio管理进程,这对于日志记录量很小的情况,将造成对主机资源的浪费。
发明内容
根据本发明的一个目的,公开一种在系统中异步记录日志的方法,包括以下步骤:
a. 初始化步骤,在该步骤中,
对系统中的记录日志的应用程序进行初始化配置,
创建通讯管道,用于接收来自所述应用程序的日志数据,
创建异步写线程;
b. 写步骤,在该步骤中,
利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。
优选地,所述通讯管道还用于向所述应用程序发送通讯管道状态。
优选地,在初始化步骤中配置异步写线程的数量,使其适于处理通讯管道中的日志数据。
优选地,所述方法还包括管理步骤,在该步骤中,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
根据本发明的另一个目的,公开一种在系统中异步记录日志的装置,包括以下模块:
a. 初始化模块,该模块被配置成,
对系统中的记录日志的应用程序进行初始化配置,
创建通讯管道,用于接收来自所述应用程序的日志数据,
创建异步写线程;
b. 写模块,该模块被配置成,
利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。
优选地,所述通讯管道被配置成向所述应用程序发送通讯管道状态。
优选地,初始化模块用于配置异步写线程的数量,使其适于处理通讯管道中的日志数据。
优选地,所述装置还包括管理模块,该模块被配置成,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
本发明的一个优势在于,本发明的异步记录日志的方法和装置能够应对包括文件系统异常和磁盘异常等的各种情景,系统资源占有率相比于aio等方式大幅降低。本发明具有很强的适用性,可以用于UNIX、LINUX、WINDOWS等各个平台。
附图说明
在参照附图阅读了本发明的具体实施方式以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合具体实施方式说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。其中,
图1是根据本发明实施例的在系统中异步记录日志的方法的步骤示意图。
图2是根据本发明实施例的在系统中异步记录日志的装置的结构示意图。
具体实施方式
下面参照附图,对本发明的具体实施方式作进一步的详细描述。在下面的描述中,为了解释的目的,陈述许多具体细节以便提供对实施例的一个或多个方面的透彻理解。
图1是根据本发明实施例的在系统中异步记录日志的方法的步骤示意图。如图1所示,在系统中异步记录日志的方法可以包括初始化步骤、写步骤和可选的管理步骤。
在初始化步骤中,对系统中的记录日志的应用程序进行初始化配置,创建通讯管道,用于接收来自所述应用程序的日志数据,以及创建异步写线程。
在写步骤中,利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。例如,当某一个异步写线程接收到通讯管道中的日志数据时,立即将其写入到日志文件中,即使此时文件系统或者磁盘异常,也只是异步写线程挂死,不会影响记录日志的应用程序。
在管理步骤中,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银联股份有限公司,未经中国银联股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310077706.3/2.html,转载请声明来源钻瓜专利网。