CN104050074A - 一种在系统中异步记录日志的方法和装置 - Google Patents
一种在系统中异步记录日志的方法和装置 Download PDFInfo
- Publication number
- CN104050074A CN104050074A CN201310077706.3A CN201310077706A CN104050074A CN 104050074 A CN104050074 A CN 104050074A CN 201310077706 A CN201310077706 A CN 201310077706A CN 104050074 A CN104050074 A CN 104050074A
- Authority
- CN
- China
- Prior art keywords
- communication conduit
- daily record
- record data
- asynchronous
- application program
- 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
Abstract
本发明公开一种在系统中异步记录日志的方法和装置,该方法包括以下步骤:a.初始化步骤,在该步骤中,对系统中的记录日志的应用程序进行初始化配置,创建通讯管道,用于接收来自所述应用程序的日志数据,创建异步写线程;b.写步骤,在该步骤中,利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。
Description
技术领域
本发明涉及计算机系统的日志生成,并且尤其涉及在系统中异步记录日志的方法和装置。
背景技术
目前基本上所有的系统都需要在运行时由系统中的应用程序记录日志。通过日志监控,运维人员可以在第一时间内获取系统的各种应用程序的报错信息。如果记录日志的操作不采用任何保护措施,例如,当日志所在的文件系统或者磁盘损坏或发送异常时,记录日志的应用程序会出现挂死等情况,这会影响整个系统的正常运行。
目前针对日志记录主要有两种保护方式。一种是硬件方式,包括采用冗余磁盘阵列等;另外一种是软件方式,包括采用LINUX平台上的aio等。对于硬件保护方式,当磁盘系统发生异常的时候,冗余磁盘阵列无法做到无缝切换,此外该方式也无法应对文件系统异常的情况。对于软件保护方式,虽然可以同时应对磁盘异常和文件系统异常,但是这种方式只适用于特定的平台。而且在使用例如aio的时候,还需要在主机系统上启动大量的aio管理进程,这对于日志记录量很小的情况,将造成对主机资源的浪费。
发明内容
根据本发明的一个目的,公开一种在系统中异步记录日志的方法,包括以下步骤:
a. 初始化步骤,在该步骤中,
对系统中的记录日志的应用程序进行初始化配置,
创建通讯管道,用于接收来自所述应用程序的日志数据,
创建异步写线程;
b. 写步骤,在该步骤中,
利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。
优选地,所述通讯管道还用于向所述应用程序发送通讯管道状态。
优选地,在初始化步骤中配置异步写线程的数量,使其适于处理通讯管道中的日志数据。
优选地,所述方法还包括管理步骤,在该步骤中,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
根据本发明的另一个目的,公开一种在系统中异步记录日志的装置,包括以下模块:
a. 初始化模块,该模块被配置成,
对系统中的记录日志的应用程序进行初始化配置,
创建通讯管道,用于接收来自所述应用程序的日志数据,
创建异步写线程;
b. 写模块,该模块被配置成,
利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。
优选地,所述通讯管道被配置成向所述应用程序发送通讯管道状态。
优选地,初始化模块用于配置异步写线程的数量,使其适于处理通讯管道中的日志数据。
优选地,所述装置还包括管理模块,该模块被配置成,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
本发明的一个优势在于,本发明的异步记录日志的方法和装置能够应对包括文件系统异常和磁盘异常等的各种情景,系统资源占有率相比于aio等方式大幅降低。本发明具有很强的适用性,可以用于UNIX、LINUX、WINDOWS等各个平台。
附图说明
在参照附图阅读了本发明的具体实施方式以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合具体实施方式说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。其中,
图1是根据本发明实施例的在系统中异步记录日志的方法的步骤示意图。
图2是根据本发明实施例的在系统中异步记录日志的装置的结构示意图。
具体实施方式
下面参照附图,对本发明的具体实施方式作进一步的详细描述。在下面的描述中,为了解释的目的,陈述许多具体细节以便提供对实施例的一个或多个方面的透彻理解。
图1是根据本发明实施例的在系统中异步记录日志的方法的步骤示意图。如图1所示,在系统中异步记录日志的方法可以包括初始化步骤、写步骤和可选的管理步骤。
在初始化步骤中,对系统中的记录日志的应用程序进行初始化配置,创建通讯管道,用于接收来自所述应用程序的日志数据,以及创建异步写线程。
在写步骤中,利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。例如,当某一个异步写线程接收到通讯管道中的日志数据时,立即将其写入到日志文件中,即使此时文件系统或者磁盘异常,也只是异步写线程挂死,不会影响记录日志的应用程序。
在管理步骤中,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
优选地,通讯管道还用于向应用程序发送通讯管道状态。从而当所述通讯管道不能处理来自所述应用程序的日志数据时,所述应用程序不会出现挂死等情况。应用程序能够将日志数据“非阻塞”写入通讯管道。
在另一个实施例中,在初始化步骤中配置异步写线程的数量,使其适于处理通讯管道中的日志数据。或者,在写步骤中根据日志数据的量来调整异步写线程的数量。
图2是根据本发明实施例的在系统中异步记录日志的装置的结构示意图。如图所示,在系统中异步记录日志的装置包括初始化模块、写模块和可选的管理模块。其中,初始化模块被配置成对系统中的记录日志的应用程序进行初始化配置,创建通讯管道,用于接收来自所述应用程序的日志数据,创建异步写线程。写模块被配置成利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。管理模块可以被配置成,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
在一个实施例中,所述通讯管道被配置成向所述应用程序发送通讯管道状态。
在一个实施例中,初始化模块用于配置异步写线程的数量,使其适于处理通讯管道中的日志数据。
本发明通过通讯管道和异步写线程与日志文件进行通讯。当记录日志的应用程序需要记录日志的时候,会通过通讯管道将日志数据发送给写模块,由于应用程序(报错应用)和管道之间采用非阻塞的方式进行交互并且应用程序也不会调用任何写日志的操作,因此磁盘或者文件系统异常不会影响到报错应用的正常运行。
尽管可以仅关于若干实施方式中的一个公开了实施例的特定特征或方面,但可针对任何给定的或特定的应用所期望和有利的那样,这种特征或方面可与其他实施方式的一种或多个其他特征或方面相组合。通过以上实施方式的描述,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
Claims (8)
1. 一种在系统中异步记录日志的方法,其特征在于,包括以下步骤:
a. 初始化步骤,在该步骤中,
对系统中的记录日志的应用程序进行初始化配置,
创建通讯管道,用于接收来自所述应用程序的日志数据,
创建异步写线程;
b. 写步骤,在该步骤中,
利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。
2. 如权利要求1所述的方法,其特征在于,
所述通讯管道还用于向所述应用程序发送通讯管道状态。
3. 如权利要求1所述的方法,其特征在于,
在初始化步骤中配置异步写线程的数量,使其适于处理通讯管道中的日志数据。
4. 如权利要求1所述的方法,其特征在于,
所述方法还包括管理步骤,在该步骤中,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
5. 一种在系统中异步记录日志的装置,其特征在于,包括以下模块:
a. 初始化模块,该模块被配置成,
对系统中的记录日志的应用程序进行初始化配置,
创建通讯管道,用于接收来自所述应用程序的日志数据,
创建异步写线程;
b. 写模块,该模块被配置成,
利用异步写线程从所述通讯管道读取日志数据,以及将读取的日志数据写入日志文件。
6. 如权利要求5所述的装置,其特征在于,
所述通讯管道被配置成向所述应用程序发送通讯管道状态。
7. 如权利要求5所述的装置,其特征在于,
初始化模块用于配置异步写线程的数量,使其适于处理通讯管道中的日志数据。
8. 如权利要求5所述的装置,其特征在于,
所述装置还包括管理模块,该模块被配置成,监控异步写线程的工作状态,以便当发现异步写线程挂死时重启对应的线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310077706.3A CN104050074A (zh) | 2013-03-12 | 2013-03-12 | 一种在系统中异步记录日志的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310077706.3A CN104050074A (zh) | 2013-03-12 | 2013-03-12 | 一种在系统中异步记录日志的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104050074A true CN104050074A (zh) | 2014-09-17 |
Family
ID=51502962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310077706.3A Pending CN104050074A (zh) | 2013-03-12 | 2013-03-12 | 一种在系统中异步记录日志的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104050074A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984378A (zh) * | 2018-07-02 | 2018-12-11 | 中国农业银行股份有限公司 | 一种日志数据异步处理方法及装置 |
CN111078523A (zh) * | 2019-12-25 | 2020-04-28 | 惠州Tcl移动通信有限公司 | 日志获取方法、装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567248A (zh) * | 2003-07-01 | 2005-01-19 | 华为技术有限公司 | 应用程序日志记录方法及系统 |
CN1642104A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 一种系统日志实现方法和装置 |
CN101087210A (zh) * | 2007-05-22 | 2007-12-12 | 网御神州科技(北京)有限公司 | 高性能的Syslog日志处理和存储方法 |
CN101331459A (zh) * | 2005-12-03 | 2008-12-24 | 国际商业机器公司 | 对应用程序产生的日志数据进行远程监视的方法和设备 |
CN101969386A (zh) * | 2010-11-09 | 2011-02-09 | 道有道(北京)科技有限公司 | 一种日志采集装置和日志采集方法 |
CN102508765A (zh) * | 2011-11-17 | 2012-06-20 | 深圳市中兴移动通信有限公司 | 一种通过进程间通信实现软件日志实时监控的方法 |
JP2012173752A (ja) * | 2011-02-17 | 2012-09-10 | Nec Corp | クラスタシステム、データ記録方法、及びプログラム |
-
2013
- 2013-03-12 CN CN201310077706.3A patent/CN104050074A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567248A (zh) * | 2003-07-01 | 2005-01-19 | 华为技术有限公司 | 应用程序日志记录方法及系统 |
CN1642104A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 一种系统日志实现方法和装置 |
CN101331459A (zh) * | 2005-12-03 | 2008-12-24 | 国际商业机器公司 | 对应用程序产生的日志数据进行远程监视的方法和设备 |
CN101087210A (zh) * | 2007-05-22 | 2007-12-12 | 网御神州科技(北京)有限公司 | 高性能的Syslog日志处理和存储方法 |
CN101969386A (zh) * | 2010-11-09 | 2011-02-09 | 道有道(北京)科技有限公司 | 一种日志采集装置和日志采集方法 |
JP2012173752A (ja) * | 2011-02-17 | 2012-09-10 | Nec Corp | クラスタシステム、データ記録方法、及びプログラム |
CN102508765A (zh) * | 2011-11-17 | 2012-06-20 | 深圳市中兴移动通信有限公司 | 一种通过进程间通信实现软件日志实时监控的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984378A (zh) * | 2018-07-02 | 2018-12-11 | 中国农业银行股份有限公司 | 一种日志数据异步处理方法及装置 |
CN108984378B (zh) * | 2018-07-02 | 2021-09-07 | 中国农业银行股份有限公司 | 一种日志数据异步处理方法及装置 |
CN111078523A (zh) * | 2019-12-25 | 2020-04-28 | 惠州Tcl移动通信有限公司 | 日志获取方法、装置、存储介质及电子设备 |
CN111078523B (zh) * | 2019-12-25 | 2024-02-09 | 惠州Tcl移动通信有限公司 | 日志获取方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152382B2 (en) | Method and system for monitoring virtual machine cluster | |
US8195619B2 (en) | Extent reference count update system and method | |
US7698602B2 (en) | Systems, methods and computer products for trace capability per work unit | |
US20120036345A1 (en) | Embedded device and file change notification method of the embedded device | |
CN104951395A (zh) | 一种嵌入式系统调试信息处理方法及装置 | |
WO2014190806A1 (en) | Application backup and restore | |
CN102713854A (zh) | 一种容器状态的保存和恢复的方法及装置 | |
US11868625B2 (en) | Alert tracking in storage | |
US9208039B2 (en) | System and method for detecting server removal from a cluster to enable fast failover of storage | |
US9798761B2 (en) | Apparatus and method for fsync system call processing using ordered mode journaling with file unit | |
US20170161150A1 (en) | Method and system for efficient replication of files using shared null mappings when having trim operations on files | |
US10977049B2 (en) | Installing of operating system | |
CN111522703A (zh) | 监控访问请求的方法、设备和计算机程序产品 | |
CN105302768A (zh) | 一种从cpu异常处理方法及装置 | |
US9092396B2 (en) | Standby system device, a control method, and a program thereof | |
CN102571845A (zh) | 一种分布式存储系统的数据存储方法及装置 | |
WO2018157605A1 (zh) | 一种集群文件系统中消息传输的方法及装置 | |
US9639502B1 (en) | Techniques for managing computing resources | |
CN103853827A (zh) | 一种保证数据一致性的数据库备份方法 | |
CN103500108A (zh) | 系统内存访问方法、节点控制器和多处理器系统 | |
CN104050074A (zh) | 一种在系统中异步记录日志的方法和装置 | |
CN105574008A (zh) | 应用于分布式文件系统的任务调度方法和设备 | |
US20170123657A1 (en) | Systems and methods for back up in scale-out storage area network | |
US11552840B2 (en) | Intention-based device component tracking system | |
US9633066B1 (en) | Taking a consistent cut during replication for storage across multiple nodes without blocking input/output |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140917 |