一种跨组件日志记录方法、装置及系统制造方法及图纸

技术编号:10237241 阅读:138 留言:0更新日期:2014-07-18 23:24
本发明专利技术公开了一种跨组件日志记录方法、装置及系统,包括在临时日志缓冲区被写入日志后,从临时日志缓冲区中获取日志;提取日志中的会话关键字;根据会话关键字从当前服务端列表中唯一映射出一个日志服务端;将日志发送至映射出的所述日志服务端,以供日志服务端将日志汇总至以会话关键字为索引的一份日志文件中。本发明专利技术无论各组件是否分布在不同的机器,不同的网段,甚至是不同的地区,都可以利用会话关键字对来自各个组件的日志进行重新组合汇总,为每路会话建立一个日志文件,进而为系统问题分析、系统优化、业务使用情况提供数据支持。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种跨组件日志记录方法、装置及系统,包括在临时日志缓冲区被写入日志后,从临时日志缓冲区中获取日志;提取日志中的会话关键字;根据会话关键字从当前服务端列表中唯一映射出一个日志服务端;将日志发送至映射出的所述日志服务端,以供日志服务端将日志汇总至以会话关键字为索引的一份日志文件中。本专利技术无论各组件是否分布在不同的机器,不同的网段,甚至是不同的地区,都可以利用会话关键字对来自各个组件的日志进行重新组合汇总,为每路会话建立一个日志文件,进而为系统问题分析、系统优化、业务使用情况提供数据支持。【专利说明】一种跨组件日志记录方法、装置及系统
本专利技术涉及日志记录领域,尤其涉及一种跨组件日志记录方法、装置及系统。
技术介绍
随着互联网的高度发展,用户需求的不断扩展,软件系统功能的不断完善,系统内部的组件也越来越多。目前,大部分的软件系统需要将各种不同的功能和业务集成到一起,因此,越来越多的组件,越来越复杂的功能,给系统内部数据的收集以及问题的定位带来了一定的挑战。目前针对组件的日志记录例如是log4cxx、log4c、IceLog等开源的日志模块,这些日志模块拥有较高的性能与稳定性,可将每个组件需要记录的信息分别独立地记录在各个组件对应的单个日志文件中,因此,这些组件的日志都是相互独立的,内容相对庞杂。一个功能复杂的系统包含有众多的组件,每个组件都是独立的进程,这些组件可能分布在不同的机器,不同的网段,甚至是不同的地区,如果按照目前日志记录的方法,将很难在收集上来的来自各个组件的相互独立的日志文件的基础上,根据业务关联将一些有价值的日志信息进行汇总,这样,开发人员就无法快速的提取一路会话的所有数据流程,无法对整体业务线的运行状况有一个清晰的把握,致使很多有价值的数据根本无法利用,造成资源的流失;另外,目前的日志记录方式还会导致较为频繁的磁盘IO操作,使得组件的性能受到一定的损耗。
技术实现思路
本专利技术实施例提供了一种跨组件日志记录方法、装置及系统,可对来自各个组件的日志进行重新组合汇总,为每路会话建立一个日志文件,为系统问题分析、系统优化、业务使用情况提供数据支持。为实现上述目的,本专利技术采用的技术方案为:一种跨组件日志记录方法,包括:在临时日志缓冲区被写入日志后,从所述临时日志缓冲区中获取所述日志;提取所述日志中的会话关键字;根据所述会话关键字从当前服务端列表中唯一映射出一个日志服务端;将所述日志发送至映射出的所述日志服务端,以供所述日志服务端将所述日志汇总至以所述会话关键字为索引的一份日志文件中。优选的是,所述根据所述会话关键字从当前服务端列表中唯一映射出一个日志服务端包括:通过哈希算法,根据所述会话关键字从当前服务端列表中唯一映射出一个日志服务端。优选的是,所述方法还包括:从配置服务端下载最新服务端列表,以更新所述当前服务端列表,其中,所述日志服务端在启动后将自身的服务信息发送至所述配置服务端,以供所述配置服务端维护所述最新服务端列表。优选的是,所述从配置服务端下载最新服务端列表,以更新所述当前服务端列表包括:以设定的第一时间间隔从配置服务器下载最新服务端列表,以更新所述当前服务端列表,其中,所述日志服务端在启动后以设定的第二时间间隔将自身的服务信息发送至所述配置服务端,以供所述配置服务端维护所述最新服务端列表。优选的是,所述方法还包括:在将所述日志发送至所述日志服务端发送失败时,将所述日志写入重试缓冲区;在所述重试缓冲区被写入所述日志后,从所述重试缓冲区中获取所述日志;重新提取所述日志中的会话关键字;重新根据所述会话关键字从所述当前服务端列表中唯一映射出一个日志服务端; 将所述日志再一次发送至映射出的所述日志服务端。优选的是,所述日志服务端将所述日志汇总至以所述会话关键字为索引的一份日志文件中包括:所述日志服务端在接收到所述日志后,以所述日志的会话关键字为索引将所述日志汇总至本地缓存的一份临时文件中,使所述临时文件记录由具有所述会话关键字的日志构成的会话;所述日志服务端在所述会话过期后,加载会话关键字解析方案,以获取所述会话的存储路径;按照所述存储路径,将所述会话一次性写入本地的一份日志文件中,并通过所述会话关键字对所述日志文件进行标识。优选的是,所述方法还包括:所述日志服务端以设定的第三时间间隔检查所述会话中最后发生的日志的已发生时间是否超过设定的时间阈值,如超过则判断所述会话过期。优选的是,所述方法还包括:在所述临时文件中,所述日志服务端对所述日志按照日志发生的先后顺序进行排序,使排在末端的日志为所述会话中最后发生的日志。一种跨组件日志记录装置,包括:日志获取模块,用于在临时日志缓冲区被写入日志后,从所述临时日志缓冲区中获取所述日志;关键字提取|吴块,用于提取所述日志中的会话关键字;映射模块,用于根据所述会话关键字从当前服务端列表中唯一映射出一个日志服务端;以及,发送模块,用于将所述日志发送至映射出的所述日志服务端,以供所述日志服务端将所述日志汇总至以所述会话关键字为索引的一份日志文件中。优选的是,所述映射模块还用于通过哈希算法,根据所述会话关键字从当前服务端列表中唯一映射出一个日志服务端。优选的是,所述装置还包括:列表更新模块,用于从配置服务端下载最新服务端列表,以更新所述当前服务端列表,其中,所述日志服务端在启动后将自身的服务信息发送至所述配置服务端,以供所述配置服务端维护所述最新服务端列表。优选的是,所述列表更新模块还用于以设定的第一时间间隔从配置服务器下载最新服务端列表,以更新所述当前服务端列表,其中,所述日志服务端在启动后以设定的第二时间间隔将自身的服务信息发送至所述配置服务端,以供所述配置服务端维护所述最新服务端列表。优选的是,所述装置还包括:重写模块,用于在将所述日志发送至所述日志服务端发送失败时,将所述日志写入重试缓冲区;日志重获取模块,用于在所述重试缓冲区被写入所述日志后,从所述重试缓冲区中获取所述日志;关键字重提取模块,用于重新提取所述日志中的会话关键字;重映射模块,用于重新根据所述会话关键字从所述当前服务端列表中唯一映射出一个日志服务端;以及,重发模块,用于将所述日志再一次发送至映射出的所述日志服务端。一种跨组件日志记录系统,包括日志客户端和日志服务端,所述日志客户端包括:日志获取模块,用于在临时日志缓冲区被写入日志后,从所述临时日志缓冲区中获取所述日志;关键字提取模块,用于提取所述日志中的会话关键字;映射模块,用于根据所述会话关键字从当前服务端列表中唯一映射出一个日志服务端;以及,发送模块,用于将所述日志发送至映射出的所述日志服务端;所述日志服务端用于将所述日志汇总至以所述会话关键字为索引的一份日志文件中。优选的是,日志服务端包括:索引模块,用于在接收到所述日志后,以所述日志的会话关键字为索引将所述日志汇总至本地缓存的一份临时文件中,使所述临时文件记录由具有所述会话关键字的日志构成的会话;路径获取模块,用于在所述会话过期后,加载会话关键字解析方案,以获取所述会话的存储路径;以及,存储模块,用于按照所述存储路径,将所述会话一次性写入本地的一份日志文件中,并通过所述会话关键字对所述日志文件进行标识。优选的是,所述日志服务端还包括:过期判断模块本文档来自技高网
...

【技术保护点】
一种跨组件日志记录方法,其特征在于,包括:在临时日志缓冲区被写入日志后,从所述临时日志缓冲区中获取所述日志;提取所述日志中的会话关键字;根据所述会话关键字从当前服务端列表中唯一映射出一个日志服务端;将所述日志发送至映射出的所述日志服务端,以供所述日志服务端将所述日志汇总至以所述会话关键字为索引的一份日志文件中。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘坤吴江照龙明康张林芳
申请(专利权)人:安徽科大讯飞信息科技股份有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1