日志处理方法、电子设备及计算机存储介质技术

技术编号:38093543 阅读:22 留言:0更新日期:2023-07-06 09:06
本发明专利技术公开了一种日志处理方法、电子设备及计算机存储介质。所述方法包括:依次将多条日志写入缓存文件中;提取所述多条日志中包含的相同数据,并根据所述相同数据生成所述缓存文件的接口请求头信息;分别从所述多条日志中删除相应的相同数据。本方案在缓存日志时,通过将日志中包含的相同数据包含在接口请求头信息中,减少了日志中的重复数据,可以大大减少重复数据带来的开销,从而提高日志吞吐量。从而提高日志吞吐量。从而提高日志吞吐量。

【技术实现步骤摘要】
日志处理方法、电子设备及计算机存储介质


[0001]本专利技术涉及应用程序
,具体涉及一种日志处理方法、电子设备及计算机存储介质。

技术介绍

[0002]在线日志诊断系统在助力研发人员更高效地诊断线上问题的同时,大家越来越明显地感受到落地这么一套成熟可靠的诊断系统对于解决线上问题的必要性。
[0003]但是,在使用过程中,随着更多的场景陆续接入,逐渐暴露出一些性能问题,主要表现在日志吞吐量受限,不能更好地支撑未来更多的接入需求。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的日志处理方法、电子设备及计算机存储介质。
[0005]根据本专利技术的一个方面,提供了一种笔记处理方法,包括:
[0006]依次将多条日志写入缓存文件中;
[0007]提取所述多条日志中包含的相同数据,并根据所述相同数据生成所述缓存文件的接口请求头信息;
[0008]分别从所述多条日志中删除相应的相同数据。
[0009]根据本专利技术的另一个方面,还提供了一种笔记处理方法,包括:
[0010]获取缓存文件;
[0011]从所述缓存文件中解析出多条第三日志,并解析所述缓存文件的接口请求头信息获取相同数据;
[0012]将所述相同数据恢复至各条第三日志中的相应位置,得到第二日志;
[0013]根据所述第二日志得到第一日志。
[0014]根据本专利技术的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
[0015]所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如下操作:
[0016]依次将多条日志写入缓存文件中;
[0017]提取所述多条日志中包含的相同数据,并根据所述相同数据生成所述缓存文件的接口请求头信息;
[0018]分别从所述多条日志中删除相应的相同数据。
[0019]根据本专利技术的另一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
[0020]所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如下操作:
[0021]获取缓存文件;
[0022]从所述缓存文件中解析出多条第三日志,并解析所述缓存文件的接口请求头信息获取相同数据;
[0023]将所述相同数据恢复至各条第三日志中的相应位置,得到第二日志;
[0024]根据所述第二日志得到第一日志。
[0025]根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述日志处理方法对应的操作。
[0026]根据本专利技术公开的日志处理方法、电子设备及计算机存储介质,依次将多条日志写入缓存文件中;提取所述多条日志中包含的相同数据,并根据所述相同数据生成所述缓存文件的接口请求头信息;分别从所述多条日志中删除相应的相同数据。本方案在缓存日志时,通过将日志中包含的相同数据包含在接口请求头信息中,减少了日志中的重复数据,可以大大减少重复数据带来的开销,从而提高日志吞吐量。
[0027]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0028]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0029]图1示出了根据本专利技术实施例一提供的一种日志处理方法的流程示意图;
[0030]图2示出了根据本专利技术实施例二提供的一种日志处理方法的流程示意图;
[0031]图3示出了根据本专利技术实施例三提供的一种日志处理方法的流程示意图;
[0032]图4示出了根据本专利技术实施例五提供的一种电子设备的结构示意图。
具体实施方式
[0033]下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。
[0034]实施例一
[0035]图1示出了根据本专利技术实施例一提供的一种日志处理方法的流程示意图。
[0036]其中,本实施例所提供的日志处理方法由本专利技术实施例提供的笔记处理装置执行,该笔记处理装置可采用软件或硬件的方式实现,该笔记处理装置可集成在电子设备(例如,智能手机、平板电脑等可移动终端设备)中。
[0037]如图1所示,该方法包括:
[0038]步骤S110,依次将多条日志写入缓存文件中。
[0039]其中,日志可以为在线诊断日志。
[0040]具体的,可以开启一个Thread线程用来处理日志写入任务,任务队列使用
ConcurrentLinkedQueue,ConcurrentLinkedQueue为无界队列,使用Object.wait()和Object.notify()进行调度。由于ConcurrentLinkedQueue使用的分段锁的机制,访问效率比较高,使用Object.wait()和Object.notify()机制保证队列为空时,线程挂起,释放cpu资源。
[0041]其中,一个缓存文件里面可以写入多条日志,为提高写入效率,每条日志不超过预设大小,例如20KB,当日志大于预设大小时,则对其进行分片,将每个分片分别写入缓存文件。其中,缓存文件也有大小限制,例如一个缓存文件不超过10MB。每天会生成一个缓存文件,缓存文件名可以以yyyy

MM

dd格式化的时间戳命名。
[0042]步骤S120,提取多条日志中包含的相同数据,并根据相同数据生成缓存文件的接口请求头信息。
[0043]具体的,一个缓存文件里可能有很多条日志,例如有10万条日志,这10万条日志每一条都需要有一些信息,而这些信息又是重复,则可以提取出来,单独放在接口请求头信息里面,该接口请求头信息是请求接口时,header里带上的一些数据参数,然后分别从多条日志中删除相应的相同数据,这样这些数据只存储一遍就可以了,大大节省了数据存储量。
[0044]步骤S130,分别从多条日志中删除相应的相同数据。
[0045]由此可见,本实施例在缓存日志时,通过将日志中包含的相同数据包含在接口请求头信息中,减少了日志中的重复数据,可以大大减少重复数据带来的开销,从而提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志处理方法,包括:依次将多条日志写入缓存文件中;提取所述多条日志中包含的相同数据,并根据所述相同数据生成所述缓存文件的接口请求头信息;分别从所述多条日志中删除相应的相同数据。2.根据权利要求1所述的方法,其中,将日志写入缓存文件中,包括:对第一日志进行格式化处理,得到第二日志;根据字段映射关系将所述第二日志中的预设字段替换为预设字符,得到第三日志;其中,所述预设字段的字节长度大于所述预设字符的字节长度;将所述第三日志写入缓存文件。3.根据权利要求1所述的方法,其中,将日志写入缓存文件,包括:当mmap内存可用时,通过所述mmap内存将日志写入缓存文件;或,当mmap内存不可用时,通过内存将日志写入缓存文件。4.根据权利要求1

3任一项所述的方法,其中,在所述依次将多条日志写入缓存文件中之前,所述方法还包括:确定日志的字节长度;当所述日志的字节长度超过预设长度时,对所述日志进行分片,将所述分片作为一条日志。5.根据权利要求1

3任一项所述的方法,其中,所述方法还包括:对所述缓存文件进行压缩。6.根据权利要求1

3任一项所述的方法,其中,所述方法还包括:当检测到调用文件上传指令或flush指令时,触发执行将日志写入缓存文件的操作。7.一种日志处理...

【专利技术属性】
技术研发人员:郭红宾
申请(专利权)人:掌阅科技股份有限公司
类型:发明
国别省市:

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

1