[发明专利]日志生成方法及装置有效
申请号: | 201510662624.4 | 申请日: | 2015-10-14 |
公开(公告)号: | CN105224444B | 公开(公告)日: | 2019-02-01 |
发明(设计)人: | 姜旅;田雪;江彬;石斌飞 | 申请(专利权)人: | 深圳市金证科技股份有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 日志 生成 方法 装置 | ||
本发明适用于信息技术领域,提供了一种日志生成方法及装置,所述方法包括:当接收到日志生成请求时,获取待写入的日志数据,并将所述日志数据缓存至环形队列中;根据所述环形队列的缓存空间,从所述环形队列中读取所述日志数据,并将所述日志数据按照预设方式写入存储器中,以生成日志文件。本发明中,所述日志数据的获取过程和写入过程之间不存在加锁机制,从而有效地提高了日志文件的生成效率,为业务系统的高效运行提供了保证。
技术领域
本发明属于信息技术领域,尤其涉及一种日志生成方法及装置。
背景技术
现有的业务应用系统(比如互联网应用系统)对日志系统的要求越来越高。为了后续的运维和大数据分析,通常需要以日志的形式将系统的大部分业务操作和数据进行记录。现有的日志生成方法主要包括Java语言日志库和C++日志库。然而,所述Java语言日志库,如Apache的开源代码项目log4j,日志的生成效率不高,且在大规模的互联网应用中使用时容易造成瓶颈;所述C++日志库的接口复杂,性能不足。
发明内容
鉴于此,本发明实施例提供了一种日志生成方法及装置,以提高日志文件的生成效率。
第一方面,提供了一种日志生成方法,所述方法包括:
当接收到日志生成请求时,获取待写入的日志数据,并将所述日志数据缓存至环形队列中;
根据所述环形队列的缓存空间,从所述环形队列中读取所述日志数据,并将所述日志数据按照预设方式写入存储器中,以生成日志文件。
第二方面,提供了一种日志生成装置,所述装置包括:
获取模块,用于当接收到日志生成请求时,获取待写入的日志数据,并将所述日志数据缓存至环形队列中;
写入模块,用于根据所述环形队列的缓存空间,从所述环形队列中读取所述日志数据,并将所述日志数据按照预设方式写入存储器中,以生成日志文件。
与现有技术相比,本发明实施例将日志的生成过程划分为日志数据的获取过程和写入过程,所述获取过程和写入过程之间采用环形队列进行数据通信;当接收到日志生成请求时,获取待写入的日志数据并将所述日志数据缓存至预设的环形队列中;在写入过程,则从所述环形队列中读取所述日志数据,并将所述日志数据按照预设方式写入存储器中,以生成日志文件。日志数据的获取过程和写入过程之间不存在加锁机制,从而有效地提高了日志文件的生成效率,为业务系统的高效运行提供了保证。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明实施例提供的日志生成方法的实现流程图;
图2是本发明实施例提供的日志生成方法的另一实现流程图;
图3是本发明实施例提供的日志生成方法中步骤S202的具体实现示例;
图4是本发明实施例提供的环形队列的读写原理示意图;
图5是本发明实施例提供的日志生成装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市金证科技股份有限公司,未经深圳市金证科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510662624.4/2.html,转载请声明来源钻瓜专利网。