CN102609484A - 一种通用***日志管理方法 - Google Patents

一种通用***日志管理方法 Download PDF

Info

Publication number
CN102609484A
CN102609484A CN2012100181192A CN201210018119A CN102609484A CN 102609484 A CN102609484 A CN 102609484A CN 2012100181192 A CN2012100181192 A CN 2012100181192A CN 201210018119 A CN201210018119 A CN 201210018119A CN 102609484 A CN102609484 A CN 102609484A
Authority
CN
China
Prior art keywords
log
daily record
file
current
write
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
Application number
CN2012100181192A
Other languages
English (en)
Inventor
***
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Priority to CN2012100181192A priority Critical patent/CN102609484A/zh
Publication of CN102609484A publication Critical patent/CN102609484A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种通用***日志管理方法,创建三块同样大小的日志共享内存和三个日志文件组。每块共享内存写满后自动切换到下一块共享内存并进行清仓,相关日志内容记录到日志文件中;日志文件写满后自动切换到下一个日志组文件并进行日志文件归档。本日志管理方法提供统一的写日志函数供应用***中各个模块调用,同时提供统一的日志查询接口,从而保证整个***的日志格式完全规范统一,便于分析与查看。

Description

一种通用***日志管理方法
技术领域
本发明涉及一种通用***日志管理方法,为软件***各模块提供统一的书写、查询接口,规范日志格式。
背景技术
目前,在一个复杂的软件***中,会包含很多应用模块,每个模块都需要书写自己的日志。为了方便的查询日志,需要各个模块写的日志在格式上要尽量统一,存放方式尽量集中,历史日志可以长久保存。
在现有的***中,一般是采用各个模块直接写文件的方式。首先,由于操作文件要远比操作内存慢,受到***IO性能的影响,直接写文件必然会损耗***的一些效率。其次,由于***中存在很多个模块,他们必然会并发写日志,如果采用写各自不同日志文件的方式,则日志文件比较分散,大小不均匀,也无法直观的展现在某一时刻所有模块的运行情况;如果采用写同一个日志文件的方式,由于并发的原因,又需要增加文件锁,势必更加影响***的效率。
发明内容
本发明所要解决的技术问题是设计一种通用***日志管理方法,提供统一的写日志函数供应用***中各个模块调用,同时提供统一的日志查询接口,从而保证整个***的日志格式完全规范统一,便于分析与查看。
本发明解决上述技术问题的技术方案如下:一种通用***日志管理方法,包括如下步骤:
步骤1:事先创建三块同样大小的日志共享内存和三个同样大小的日志文件;
步骤2:写日志时,查找当前正在使用的日志共享内存;
步骤3:判断当前日志共享内存是否写满;
步骤4:如果否,日志内容直接写入当前日志共享内存,然后结束;如果是,日志内容写入下一日志共享内存,并将当前正在使用的内存块序号改为下一块;执行步骤5;
步骤5:如果所有日志共享内存已经写满日志,判断当前日志文件是否写满,如果否,自动将相关日志内容记录到当前日志文件中,然后清空日志共享内存的内容,以备下一次切换时使用;如果是,执行步骤6;
步骤6:因当前日志文件写满则自动切换到下一个日志文件,并将当前正在使用的文件序号改为下一个;执行步骤7;
步骤7:如果所有日志文件已经写满日志,自动将相关日志内容记录到归档文件中,然后清空日志文件,以备下一次切换时使用;每个日志文件写入到一个单独的归档文件中,归档文件名中含有当前***时间,然后结束。
本发明的有益效果是:所有模块调用统一的写日志函数,保证整个***的日志格式完全规范统一,便于分析与查看。应用模块直接将日志内容写入共享内存,相比于传统的写文件的方式,本发明的速度更快。通过循环使用三块共享内存的方式,使得日志管理进程可以在空闲时间将暂时未使用的共享内存中的日志信息转移到日志文件中,避免对应用模块产生干扰。由于是三块内存循环使用,所以本发明仅需要占用较少的***内存即可,不会造成对内存空间的浪费。
进一步,日志文件也采用三个统一大小的日志文件,循环使用,每个日志文件写满后,会自动将日志内容写到归档文件中,便于永久保存。
进一步,每个日志文件写入到一个单独的归档文件中,归档文件名中含有当前***时间,便于日志查询时根据时间段查找,每个归档文件的尺寸可控,方便快速读取。
附图说明
图1为本发明的写日志的流程图;
图2为本发明的日志管理的流程图;
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的通用***日志管理方法,包括如下步骤:
步骤1:事先创建三块同样大小的日志共享内存和三个同样大小的日志文件;
步骤2:写日志时,查找当前正在使用的日志共享内存;
步骤3:判断当前日志共享内存是否写满;
步骤4:如果否,日志内容直接写入当前日志共享内存,然后结束;如果是,日志内容写入下一日志共享内存,并将当前正在使用的内存块序号改为下一块;执行步骤5;
步骤5:如果所有日志共享内存已经写满日志,判断当前日志文件是否写满,如果否,自动将相关日志内容记录到当前日志文件中,然后清空日志共享内存的内容,以备下一次切换时使用;如果是,执行步骤6;
步骤6:因当前日志文件写满则自动切换到下一个日志文件,并将当前正在使用的文件序号改为下一个;执行步骤7;
步骤7:如果所有日志文件已经写满日志,自动将相关日志内容记录到归档文件中,然后清空日志文件,以备下一次切换时使用;每个日志文件写入到一个单独的归档文件中,归档文件名中含有当前***时间,然后结束。
在步骤4中,如图1所示,应用模块调用下列写日志函数写日志:
void APIWriteLog(int log_code,long procid,int module,int level,int type,char*logbuf);
各参数说明如下:
Figure BDA0000132451310000041
上述函数首先判断当前日志内存块是否已经写满,如果没有写满,则将日志内容直接写入当前日志内存块;否则,将日志内容写入下一块内存,并将当前日志内存序号改为下一块,实现三块日志内存块的循环使用。
在步骤4~6中,如图2所示,通过专门的日志管理进程,对日志内存块及日志文件的使用状态进行实时监控,如果发现非当前内存块的其他两块内存存在日志数据,则将内存块中的日志信息写入日志文件,同时清空日志内存块,以备下一次循环使用。在写日志文件的过程中,如果发现当前日志文件已经写满,则切换到下一个日志文件,同时对写满日志内容的日志文件进行归档操作,生成长久保存的日志归档文件。
以下为采用本发明方法的配置文件信息,本文件配置的是进程运行时使用的基本信息,采用INI文件格式。
Figure BDA0000132451310000051
以上所述仅为本发明的较佳实施案例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种通用***日志管理方法,包括:
步骤1:事先创建三块同样大小的日志共享内存和三个同样大小的日志文件;
步骤2:写日志时,查找当前正在使用的日志共享内存;
步骤3:判断当前日志共享内存是否写满;
步骤4:如果否,日志内容直接写入当前日志共享内存,然后结束;如果是,日志内容写入下一日志共享内存,并将当前正在使用的内存块序号改为下一块;执行步骤5;
步骤5:如果所有日志共享内存已经写满日志,判断当前日志文件是否写满,如果否,自动将相关日志内容记录到当前日志文件中,然后清空日志共享内存的内容,以备下一次切换时使用;如果是,执行步骤6;
步骤6:因当前日志文件写满则自动切换到下一个日志文件,并将当前正在使用的文件序号改为下一个;执行步骤7;
步骤7:如果所有日志文件已经写满日志,自动将相关日志内容记录到归档文件中,然后清空日志文件,以备下一次切换时使用;每个日志文件写入到一个单独的归档文件中,归档文件名中含有当前***时间,然后结束。
2.根据权利要求1所述的通用***日志管理方法,其特征在于:应用程序写日志时,仅操作共享内存,不涉及到写文件,确保写日志的动作不会对应用程序的效率造成影响。
3.根据权利要求1所述的通用***日志管理方法,其特征在于:三块共享内存循环使用,一块写满后,则切换到下一块。
4.根据权利要求1所述的通用***日志管理方法,其特征在于:三个日志文件循环使用,一个日志文件写满后,则切换到下一个。
5.根据权利要求1所述的通用***日志管理方法,其特征在于:每个日志文件写满后,会自动将日志内容写到归档文件中,以便永久保存。
6.根据权利要求1所述的通用***日志管理方法,其特征在于:每个日志文件写入到一个单独的归档文件中,归档文件名中含有当前***时间,便于日志查询时根据时间段查找,每个归档文件的尺寸可控,能够快速读取。
CN2012100181192A 2012-01-19 2012-01-19 一种通用***日志管理方法 Pending CN102609484A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100181192A CN102609484A (zh) 2012-01-19 2012-01-19 一种通用***日志管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100181192A CN102609484A (zh) 2012-01-19 2012-01-19 一种通用***日志管理方法

Publications (1)

Publication Number Publication Date
CN102609484A true CN102609484A (zh) 2012-07-25

Family

ID=46526856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100181192A Pending CN102609484A (zh) 2012-01-19 2012-01-19 一种通用***日志管理方法

Country Status (1)

Country Link
CN (1) CN102609484A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049546A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 一种管理、访问***日志的方法和装置
CN106503250A (zh) * 2016-11-10 2017-03-15 广东浪潮大数据研究有限公司 一种日志跟踪方法和装置
CN107180051A (zh) * 2016-03-11 2017-09-19 华为技术有限公司 一种日志管理方法、服务器
CN107193721A (zh) * 2017-03-30 2017-09-22 武汉斗鱼网络科技有限公司 一种生成日志的方法和装置
CN107273460A (zh) * 2017-06-01 2017-10-20 郑州云海信息技术有限公司 一种存储产品***日志的存储方法
CN109522316A (zh) * 2018-11-02 2019-03-26 东软集团股份有限公司 日志处理方法、装置、设备和存储介质
CN114443442A (zh) * 2022-04-08 2022-05-06 希诺麦田技术(深圳)有限公司 日志存储方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567248A (zh) * 2003-07-01 2005-01-19 华为技术有限公司 应用程序日志记录方法及***
CN101072124A (zh) * 2007-06-22 2007-11-14 中兴通讯股份有限公司 一种获取日志的方法
CN101320348A (zh) * 2008-06-25 2008-12-10 中兴通讯股份有限公司 一种嵌入式***的日志功能实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567248A (zh) * 2003-07-01 2005-01-19 华为技术有限公司 应用程序日志记录方法及***
CN101072124A (zh) * 2007-06-22 2007-11-14 中兴通讯股份有限公司 一种获取日志的方法
CN101320348A (zh) * 2008-06-25 2008-12-10 中兴通讯股份有限公司 一种嵌入式***的日志功能实现方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049546A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 一种管理、访问***日志的方法和装置
CN103049546B (zh) * 2012-12-27 2016-01-13 华为技术有限公司 一种管理、访问***日志的方法和装置
CN107180051A (zh) * 2016-03-11 2017-09-19 华为技术有限公司 一种日志管理方法、服务器
CN107180051B (zh) * 2016-03-11 2021-02-12 华为技术有限公司 一种日志管理方法、服务器
CN106503250A (zh) * 2016-11-10 2017-03-15 广东浪潮大数据研究有限公司 一种日志跟踪方法和装置
CN106503250B (zh) * 2016-11-10 2019-09-27 广东浪潮大数据研究有限公司 一种日志跟踪方法和装置
CN107193721A (zh) * 2017-03-30 2017-09-22 武汉斗鱼网络科技有限公司 一种生成日志的方法和装置
CN107273460A (zh) * 2017-06-01 2017-10-20 郑州云海信息技术有限公司 一种存储产品***日志的存储方法
CN109522316A (zh) * 2018-11-02 2019-03-26 东软集团股份有限公司 日志处理方法、装置、设备和存储介质
CN114443442A (zh) * 2022-04-08 2022-05-06 希诺麦田技术(深圳)有限公司 日志存储方法及电子设备
CN114443442B (zh) * 2022-04-08 2022-07-22 希诺麦田技术(深圳)有限公司 日志存储方法及电子设备

Similar Documents

Publication Publication Date Title
CN102609484A (zh) 一种通用***日志管理方法
AU2012347883B2 (en) System and method for restoring application data
CN102135963B (zh) 数据迁移的方法和***
US8108446B1 (en) Methods and systems for managing deduplicated data using unilateral referencing
Al Kez et al. Exploring the sustainability challenges facing digitalization and internet data centers
US8495022B1 (en) Systems and methods for synthetic backups
US9658925B1 (en) Systems and methods for restoring application data
EP2916240A1 (en) Database storage system based on compact disk and method using the system
US20160055189A1 (en) Database Storage System based on Optical Disk Library, and Method Using Same
CN101582076A (zh) 一种基于数据库的重复数据删除方法
CN102609337A (zh) 一种内存数据库快速数据恢复方法
CN105701190A (zh) 一种数据同步的方法和装置
ATE458229T1 (de) Anordnung mit einem tachographen
CN103049539A (zh) 一种文件***中文件数据的存储方法及其装置
CN102521114A (zh) 一种虚拟化环境下的文件***日志存储***
CN103176867A (zh) 一种快速文件差异备份方法
CN103927215A (zh) 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及***
CN104376099A (zh) 一种基于闪存的文件***的实现方法和实现装置
US8650160B1 (en) Systems and methods for restoring multi-tier applications
CN102609486A (zh) 一种Linux文件***的数据读写加速方法
US8595271B1 (en) Systems and methods for performing file system checks
US10311021B1 (en) Systems and methods for indexing backup file metadata
CN103207916A (zh) 元数据处理的方法和装置
CN102855327B (zh) 一种小型嵌入式文件存储管理***
CN103714179A (zh) 一种***日志的多语言支持方法和***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16

Applicant after: SI-TECH Information Technology Ltd.

Address before: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16

Applicant before: Beijing Digital China SI-TECH Information Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY LTD. TO: BEIJING SI-TECH INFORMATION TECHNOLOGY LTD.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120725