[发明专利]一种合并日志的方法及装置有效
申请号: | 201711489592.8 | 申请日: | 2017-12-29 |
公开(公告)号: | CN109992469B | 公开(公告)日: | 2023-08-18 |
发明(设计)人: | 严锁鹏 | 申请(专利权)人: | 三六零科技集团有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/07 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 300450 天津市滨海新区华苑产*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 合并 日志 方法 装置 | ||
1.一种合并日志的方法,所述方法应用于kafka系统,包括:
将接收日志复制性写入设置的非持久化缓存和持久化缓存中,其中,所述非持久化缓存对日志的缓存时长小于所述持久化缓存对日志的缓存时长,所述非持久化缓存包括第一级缓存和第二级缓存;
到达预置回溯时间并启动回溯操作时,判断回溯时间与日志写入时间差是否超过所述非持久化缓存的缓存时长;
若是,直接从所述持久化缓存中查找具有相同字段的日志;
从查找到的相同字段的日志中获取满足预置回溯条件的多种日志并合并,将合并后的日志缓存至所述持久化缓存中;
若从查找到的相同字段的日志中无法获取满足预置回溯条件的多种日志,依据查找到的相同字段的日志建立topic,并为建立的topic设置最大回溯时间;
在达到所述最大回溯时间时从所述非持久化缓存和持久化缓存中查找是否存在与topic中的日志字段相同、且满足预置回溯条件的多种日志;
若是,合并具有相同字段且满足预置回溯条件的多种日志,并将合并后的日志缓存至所述持久化缓存中。
2.根据权利要求1所述的方法,其中,还包括:
若在所述非持久化缓存中未查找到具有相同字段的日志,则继续从所述持久化缓存中查找具有相同字段的日志。
3.根据权利要求1或2所述的方法,其中,所述将接收日志复制性写入设置的非持久化缓存和持久化缓存之前,还包括:设置第一级缓存和第二级缓存作为非持久化缓存,设置第三级缓存作为持久化缓存。
4.根据权利要求3所述的方法,其中,在所述非持久化缓存中查找具有相同字段的日志,包括:
依次从所述第一级缓存、所述第二级缓存中查找具有相同字段的日志。
5.根据权利要求3所述的方法,其中,所述第一级缓存包括redis cluster,所述第二级缓存包括aerospike,所述第三级缓存包括hbase。
6.根据权利要求1或2所述的方法,其中,所述方法应用于kafka系统,所述将接收日志复制性写入设置的非持久化缓存和持久化缓存中,包括:
将接收日志中具有相同字段的日志分配到基于所述kafka系统中的同一worker行程中,其中,所述字段包括用户ID或者用户其他唯一标识key;
各worker行程将分配到的日志复制性写入所述非持久化缓存和所述持久化缓存中。
7.根据权利要求6所述的方法,其中,所述将接收日志中具有相同字段的日志分配到基于所述kafka系统中的同一worker行程中,包括:
采用flink keyby操作将具有相同字段的日志分配到基于所述kafka系统中的同一worker行程中。
8.根据权利要求1所述的方法,其中,所述将接收日志复制性写入设置的非持久化缓存和持久化缓存中,包括:
接收日志并为所述日志添加时间戳,将携带时间戳的日志复制性写入设置的非持久化缓存和持久化缓存中。
9.根据权利要求8所述的方法,其中,所述到达预置回溯时间并启动回溯操作时,判断回溯时间与日志写入时间差是否超过所述非持久化缓存的缓存时长,包括:
到达预置回溯时间并启动回溯操作时,依据日志的时间戳判断回溯时间与日志写入时间差是否超过所述非持久化缓存的缓存时长。
10.根据权利要求1或2所述的方法,其中,所述满足预置回溯条件的多种日志包括:
完整session动作中多个组成对象所对应的日志,其中,所述完整session动作中的多个组成对象依据业务需求确定得到。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三六零科技集团有限公司,未经三六零科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711489592.8/1.html,转载请声明来源钻瓜专利网。