多应用日志聚合查询系统及方法技术方案

技术编号:34842860 阅读:47 留言:0更新日期:2022-09-08 07:40
本发明专利技术公开了多应用日志聚合查询系统及方法,属于日志管理技术领域,要解决的技术问题为在应用集成场景下,如何实现日志收集、存储及查询,是需要解决的技术问题。包括日志收集器、队列、数据分发器、数据存储器、日志查询器、数据库及分布式存储节点;日志收集器用于通过fsnotify监听日志文件,用于通过goroutine读取日志数据并将读取的日志数据推送至队列中,用于通过goroutine将日志数据以及其与对应的时间戳和元数据作为日志流推送至数据分发器;数据分发器用于将日志流推送至数据存储器;数据存储器用于将日志数据打包至对应的存储块;日志查询器用于匹配对应的所有存储块,并从存储块中选定日志数据返回客户端。端。端。

【技术实现步骤摘要】
多应用日志聚合查询系统及方法


[0001]本专利技术涉及日志管理
,具体地说是多应用日志聚合查询系统及方法。

技术介绍

[0002]在长期持续的信息化建设投入下,各政府部门建成了大量的业务系统。在政府治理转向整体型、服务型的高效模式下,以人民为中心面向人民群众的服务要求越来越高,信息化建设迫切需要进行改革,开展应用的整合、重构、提升,将已有信息化系统打通、共享,建立“连、合、统、用”的一体化信息系统,引入数字化手段将内部管理与政务服务无缝融合、一体化管理,以快速支撑政务服务事项,从而落实“多审合一、多证合一”改革、放管服改革等一系列的改革要求。
[0003]政府应用系统的建设出现了一体化、集中化、公众化三大趋势,这些趋势决定了系统用户量大增、规模越来越庞大,在具备高并发、高弹性、高可用等特性的同时还必须做到快速响应,这对运维提出了更高的要求。
[0004]日志是定位问题的关键途径,在目前政务应用集成建设趋势下,多应用日志聚合查询是保障业务正常运行不中断、问题及时快速相应的重要保障措施,有助于及时发现应用运行时的各种问题,减轻运维强度,提高运维效率。
[0005]在应用集成场景下,如何实现日志收集、存储及查询,是需要解决的技术问题。

技术实现思路

[0006]本专利技术的技术任务是针对以上不足,提供多应用日志聚合查询系统及方法,来解决在应用集成场景下,如何实现日志收集、存储及查询的技术问题。
[0007]第一方面,本专利技术的一种多应用日志聚合查询系统,包括日志收集器、队列、数据分发器、数据存储器、日志查询器、数据库以及分布式存储节点;
[0008]所述日志收集器部署于应用中,用于通过fsnotify监听指定目录下的日志文件,对于发生变动的日志文件,用于通过goroutine读取日志数据并将读取的日志数据推送至队列中,对于队列中日志数据,用于通过goroutine将日志数据以及其与对应的时间戳和元数据作为日志流推送至数据分发器;
[0009]所述数据分发器用于基于时间戳接收并验证日志流,并将通过验证的日志流推送至数据存储器;
[0010]所述数据存储器用于基于时间戳和元数据、为接收的日志流匹配对应的存储节点并分配存储块,并将日志数据打包至对应的存储块,用于基于日志数据以及与其对应的时间戳、元数据、存储块以及存储节点构建索引,并将索引存储数据库;
[0011]所述日志查询器用于接收客户端发送的查询请求,并基于查询请求中指定的时间区间和元数据,从数据存储器和分布式存储节点中查找索引并匹配对应的所有存储块,并从存储块中选定日志数据返回客户端。
[0012]作为优选,所述数据存储器用于基于时间戳的递增顺序接收日志数据,并基于时
间戳和日志数据内容对日志数据进行去重处理;
[0013]对于确认接受的日志数据,所述数据处理用于基于时间戳和元数据为所述日志数据匹配对应的存储节点、并在存储节点上分配一个存储块,将日志数据压缩后打包存储至存储块中;
[0014]所述数据处理用于基于日志数据以及与其对应的时间戳、元数据、存储块以及存储节点构建索引,并将索引存储数据库。
[0015]作为优选,所述数据存储器用于将通过验证的日志流存储在本地,对于存储于本地的日志数据,将所述日志流对应的日志数据存储至对应的存储块后从本地删除;
[0016]所述数据存储器用于通过一组token将日志数据对应的时间戳和元数据注册到哈希环中,通过哈希环为日志数据分配一个存储节点。
[0017]作为优选,所述数据存储器用于检测每个存储块的状态,如果存储块容量已满或者预定时间内未更新,将所述存储块标记为只读状态,处于只读状态的存储块只支持读取日志数据不支持写入日志数据;
[0018]对于确认接收的日志数据,所述数据存储器用于基于时间戳和元数据匹配对应的存储节点,并判断存储节点中是否存在存储块,如果存储节点中存在存储块且所述存储块的状态为可写,将所述日志数据压缩打包至所述存储块中;如果存储节点中不存在存储块或存在的存储块状态为只读,所述数据存储器用于在存储节点中创建一个新的状态为可读可写的存储块,将所述日志数据压缩打包至所述新的存储块;并基于日志数据以及与其对应的时间戳、元数据、新的存储块以及存储节点构建索引,将索引存储数据库。
[0019]作为优选,所述日志查询器用于通过前端API接收查询请求,并将查询请求推送至队列;
[0020]所述日志查询器用于通过后端从队列获取查询请求,并基于查询请求中指定的时间区间和元数据、从数据存储器和分布式存储节点中查找索引并匹配对应的所有存储块,并从存储块中选定日志数据推送至队列,通过队列将选定的日志数据返回前端API;
[0021]基于日志查询请求中指定的时间区间和标签,从数据存储器和分布式存储节点中时,所述日志查询器用于通过后端对选定的日志数据进行去重处理,对拥有相同时间戳和日志数据的在后返回的日志数据进行去重。
[0022]第二方面,本专利技术的一种多应用日志聚合查询方法,应用于如第一方面任一项所述的多应用日志聚合查询系统,所述方法包括如下步骤:
[0023]通过fsnotify监听指定目录下的日志文件,对于发生变动的日志文件,通过goroutine读取日志数据并将读取的日志数据推送至队列中;
[0024]对于队列中日志数据,通过goroutine将日志数据以及其与对应的时间戳和元数据作为日志流推送至数据分发器;
[0025]基于时间戳、通过数据分发器接收并验证日志流,并将验证通过的日志流推送至数据存储器;
[0026]对于通过验证的日志流,基于时间戳和元数据、通过数据存储器匹配对应的存储节点并分配存储块,并将日志数据打包至对应的存储块,基于日志数据以及与其对应的时间戳、元数据、存储块以及存储节点构建索引,并将索引存储数据库;
[0027]基于查询请求中指定的时间区间和元数据,通过日志查询器从数据存储器和分布
式存储节点中查找索引并匹配对应的所有存储块,并从存储块中选定日志数据返回客户端。
[0028]作为优选,基于时间戳的递增顺序、通过数据存储器接收日志数据,并基于时间戳和日志数据内容对日志数据进行去重处理;
[0029]对于确认接受的日志数据,基于时间戳和元数据为所述日志数据匹配对应的存储节点、并在存储节点上分配一个存储块,基于日志数据以及与其对应的时间戳、元数据、存储块以及存储节点构建索引,并将索引存储数据库;
[0030]将日志数据压缩后打包存储至存储块中。
[0031]作为优选,将通过验证的日志流存储在本地,对于存储于本地的日志数据,将所述日志流对应的日志数据存储至对应的存储块后从本地删除;
[0032]对于确认接受的日志数据,通过一组token将日志数据对应的时间戳和元数据注册到哈希环中,通过哈希环为日志数据分配一个存储节点。
[0033]作为优选,通过数据存储器检测每个存储块的状态,如果存储块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多应用日志聚合查询系统,其特征在于包括日志收集器、队列、数据分发器、数据存储器、日志查询器、数据库以及分布式存储节点;所述日志收集器部署于应用中,用于通过fsnotify监听指定目录下的日志文件,对于发生变动的日志文件,用于通过goroutine读取日志数据并将读取的日志数据推送至队列中,对于队列中日志数据,用于通过goroutine将日志数据以及其与对应的时间戳和元数据作为日志流推送至数据分发器;所述数据分发器用于基于时间戳接收并验证日志流,并将通过验证的日志流推送至数据存储器;所述数据存储器用于基于时间戳和元数据、为接收的日志流匹配对应的存储节点并分配存储块,并将日志数据打包至对应的存储块,用于基于日志数据以及与其对应的时间戳、元数据、存储块以及存储节点构建索引,并将索引存储数据库;所述日志查询器用于接收客户端发送的查询请求,并基于查询请求中指定的时间区间和元数据,从数据存储器和分布式存储节点中查找索引并匹配对应的所有存储块,并从存储块中选定日志数据返回客户端。2.根据权利要求1所述的多应用日志聚合查询系统,其特征在于所述数据存储器用于基于时间戳的递增顺序接收日志数据,并基于时间戳和日志数据内容对日志数据进行去重处理;对于确认接受的日志数据,所述数据处理器用于基于时间戳和元数据为所述日志数据匹配对应的存储节点、并在存储节点上分配一个存储块,将日志数据压缩后打包存储至存储块中;所述数据处理用于基于日志数据以及与其对应的时间戳、元数据、存储块以及存储节点构建索引,并将索引存储数据库。3.根据权利要求1所述的多应用日志聚合查询系统,其特征在于所述数据存储器用于将通过验证的日志流存储在本地,对于存储于本地的日志数据,将所述日志流对应的日志数据存储至对应的存储块后从本地删除;所述数据存储器用于通过一组token将日志数据对应的时间戳和元数据注册到哈希环中,通过哈希环为日志数据分配一个存储节点。4.根据权利要求1所述的多应用日志聚合查询系统,其特征在于所述数据存储器用于检测每个存储块的状态,如果存储块容量已满或者预定时间内未更新,将所述存储块标记为只读状态,处于只读状态的存储块只支持读取日志数据不支持写入日志数据;对于确认接收的日志数据,所述数据存储器用于基于时间戳和元数据匹配对应的存储节点,并判断存储节点中是否存在存储块,如果存储节点中存在存储块且所述存储块的状态为可写,将所述日志数据压缩打包至所述存储块中;如果存储节点中不存在存储块或存在的存储块状态为只读,所述数据存储器用于在存储节点中创建一个新的状态为可读可写的存储块,将所述日志数据压缩打包至所述新的存储块;并基于日志数据以及与其对应的时间戳、元数据、新的存储块以及存储节点构建索引,将索引存储数据库。5.根据权利要求1

4任一项所述的一种多应用日志聚合查询系统,其特征在于所述日志查询器用于通过前端API接收查询请求,并将查询请求推送至队列;所述日志查询器用于通过后端从队列获取查询请求,并基于查询请求中指定的时间区
间和元数据、从数据存储器和分布式存储节点中查找索引并匹配对应的所有存储块,并从存储块中选定日志数据推送至队列,通过队列将选定的日志数据返回前端API;基于日志查询请求中指定的时间区间和标签,从数据存储器和分布式存储节点中时,所述日志查询器用于通过后端对选定的日志数据进行去重处理,对拥有相同时间戳和...

【专利技术属性】
技术研发人员:王旭龙汤先伟
申请(专利权)人:浪潮软件科技有限公司
类型:发明
国别省市:

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

1