[发明专利]一种合并日志的方法及装置有效
申请号: | 201711489592.8 | 申请日: | 2017-12-29 |
公开(公告)号: | CN109992469B | 公开(公告)日: | 2023-08-18 |
发明(设计)人: | 严锁鹏 | 申请(专利权)人: | 三六零科技集团有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/07 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 300450 天津市滨海新区华苑产*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 合并 日志 方法 装置 | ||
本发明提供了一种合并日志的方法及装置,其中,该方法包括将接收到的日志复制性写入设置的非持久化缓存和持久化缓存中,其中,非持久化缓存对日志的缓存时长小于持久化缓存对日志的缓存时长。在非持久化缓存中查找具有相同字段的日志,并从查找到的相同字段的日志中获取满足预置回溯条件的多种日志并合并,将合并后的日志缓存至持久化缓存中。本发明实施例通过将接收到的日志复制性的写入设置的非持久化缓存和持久化缓存,从而可以避免后续在获取日志时将大量的获取请求直接分配到持久化缓存中,以减少持久化缓存的日志处理压力。并且,将具有相同字段的日志进行合并还可以有效地节约日志的存储空间,并方便后续对日志的集中管理。
技术领域
本发明涉及计算机技术领域,特别是涉及一种合并日志的方法及装置。
背景技术
日志在计算机系统中是一个非常广泛的概念,任何程序(如操作系统内核、各种应用服务器等等)都有可能输出日志。虽然日志的内容、规模和用途各不相同,但是,其总体的功能是记录软件运行状态,存储系统产生的事件信息。
随着计算机技术的不断发展,目前的日志量越来越多很大,特别是在日志回溯规则很多的时候(例如同一日志的回溯规则包括每隔5分钟或者1小时或者5小时进行日志回溯),需要不断的从存储日志的缓存数据库中获取日志,由于持久化缓存的性能较差,因此这会对持久化缓存数据库造成很大的压力,从而容易影响日志处理系统对日志的处理性能。因此,如何为日志的缓存和处理提供足够大的灵活性以及良好的伸缩性是目前面临的较大的挑战。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的合并日志的方法及装置。
依据本发明的一方面,提供了一种合并日志的方法,包括:
将接收日志复制性写入设置的非持久化缓存和持久化缓存中,其中,所述非持久化缓存对日志的缓存时长小于所述持久化缓存对日志的缓存时长;
在所述非持久化缓存中查找具有相同字段的日志;
从查找到的相同字段的日志中获取满足预置回溯条件的多种日志并合并,将合并后的日志缓存至所述持久化缓存中。
可选地,若在所述非持久化缓存中未查找到具有相同字段的日志,则继续从所述持久化缓存中查找具有相同字段的日志。
可选地,所述将接收日志复制性写入设置的非持久化缓存和持久化缓存之前,还包括:设置第一级缓存和第二级缓存作为非持久化缓存,设置第三级缓存作为持久化缓存。
可选地,在所述非持久化缓存中查找具有相同字段的日志,包括:
依次从所述第一级缓存、所述第二级缓存中查找具有相同字段的日志。
可选地,所述第一级缓存包括redis cluster,所述第二级缓存包括aerospike,所述第三级缓存包括hbase。
可选地,所述方法应用于kafka系统,所述将接收日志复制性写入设置的非持久化缓存和持久化缓存中,包括:
将接收日志中具有相同字段的日志分配到基于所述kafka系统中的同一worker行程中,其中,所述字段包括用户ID或者用户其他唯一标识key;
各worker行程将分配到的日志复制性写入所述非持久化缓存和所述持久化缓存中。
可选地,所述将接收日志中具有相同字段的日志分配到基于所述kafka系统中的同一worker行程中,包括:
采用flink keyby操作将具有相同字段的日志分配到基于所述kafka系统中的同一worker行程中。
可选地,在所述非持久化缓存中查找具有相同字段的日志,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三六零科技集团有限公司,未经三六零科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711489592.8/2.html,转载请声明来源钻瓜专利网。