一种提高日志数据读写效率的方法、装置及设备制造方法及图纸

技术编号:36706331 阅读:20 留言:0更新日期:2023-03-01 09:28
本发明专利技术涉及存储领域,提出一种提高日志数据读写效率的方法、装置及设备。方法包括:设置用于日志数据缓存的多个缓存区;将日志数据写入当前缓存区,并判断所述当前缓存区的使用容量是否达到预设阈值以及当前缓存区所指向的下一缓存区是否被占用;响应于当前缓存区的使用容量达到预设阈值且当前缓存区所指向的下一缓存区未被占用,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。本发明专利技术公开的方案采用多个缓存区使得日志数据缓存到缓存区的过程和写入存储介质的过程分离,使得应用层未感知到日志数据写入存储介质的过程,实现对日志数据进行快速写入,提高日志数据写入存储介质的效率。据写入存储介质的效率。据写入存储介质的效率。

【技术实现步骤摘要】
一种提高日志数据读写效率的方法、装置及设备


[0001]本专利技术涉及存储领域,尤其涉及一种提高日志数据读写效率的方法、装置及设备。

技术介绍

[0002]日志数据一般是不定长的字符串,一般包括日志头和日志数据两部分。每条日志所占的存储空间一般较小,大概有几十到一百多字节,经过特定压缩算法压缩后,甚至会更小。在实际应用中,像嵌入式设备在内的设备常常需要在运行过程中记录各种日志数据,比如事件日志、审计日志,以方便技术人员分析定位设备的运行情况。这些日志数据一般保存在非易失性的存储介质中,比如Flash中,这样在嵌入式设备掉电以后,日志数据也不会丢失。
[0003]现有技术中,在将日志数据保存在存储介质的过程中,一般选择将要写入的日志数据先缓存在一段内存中,当数据量足够大时再写入存储介质中,以减少读写次数。但这种方式在将日志数据写入存储介质的过程中,日志数据无法写入缓存内存中,导致新生成的日志数据丢失或者需要等待写入存储介质完成后,才可以将新生成的日志数据写入缓存内存中,这样导致日志数据从存储介质中进行读写时效率降低。

技术实现思路

[0004]有鉴于此,本专利技术提出了一种提高日志数据读写效率的方法、装置及设备,其中,本专利技术提出的一种提高日志数据读写效率的方法在将日志数据写入缓存的过程中使用多个缓存区,先将日志数据缓存到其中一个缓存区中,当该缓存区的日志数据达到切换条件(比如该缓存区的日志数据存满或者剩余空间不足以存储一条日志数据),将该缓存区的日志数据写入flash中,同时切换进行缓存的缓存区,将新生成的日志数据缓存至剩余的一个缓存区中,这样使得日志数据缓存到缓存区的过程和写入存储介质的过程分离,应用层不用感知到日志数据写入存储介质的过程,实现对日志数据进行快速写入。同时,在存储介质内建立日志信息表,并将日志信息表加载到内存中进行读取,根据日志信息表对日志数据从存储介质中读取,减少了日志数据的检索时间,提高了读取效率。
[0005]基于以上目的,本专利技术的实施例的一个方面提供了一种提高日志数据读写效率的方法,所述方法包括以下步骤:设置用于日志数据缓存的多个缓存区;将日志数据写入当前缓存区,并判断所述当前缓存区的使用容量是否达到预设阈值以及判断当前缓存区所指向的下一缓存区是否被占用;响应于所述当前缓存区的使用容量达到预设阈值且当前缓存区所指向的下一缓存区未被占用,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。
[0006]在一些实施例中,方法还包括:响应于所述当前缓存区的使用容量在预设时间周期内未达到预设阈值,将新生成的日志数据继续写入所述当前缓存区。
[0007]在一些实施例中,方法还包括:响应于超过预设时间周期所述当前缓存区的使用容量未达到所述预设阈值,判断所述当前缓存区所指向的下一缓存区是否被占用;
[0008]响应于所述当前缓存区所指向的下一缓存区未被占用,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区;
[0009]响应于所述当前缓存区所指向的下一缓存区被占用,设置所述当前缓存区等待所述当前缓存区所指向的下一缓存区被占用状态释放后,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。
[0010]在一些实施例中,方法还包括:响应于所述当前缓存区的使用容量达到预设阈值且当前缓存区所指向的下一缓存区被占用,设置所述当前缓存区等待所述当前缓存区所指向的下一缓存区被占用状态释放后,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。
[0011]在一些实施例中,方法还包括:配置用于标记缓存区的状态的标志;
[0012]判断当前缓存区所指向的下一缓存区是否被占用包括:响应于所述当前缓存区所指向的下一缓存区的标志为不忙,认定所述当前缓存区所指向的下一缓存区未被占用;响应于所述当前缓存区所指向的下一缓存区的标志为忙,认定所述当前缓存区所指向的下一缓存区被占用。
[0013]在一些实施例中,方法还包括:
[0014]在所述存储介质中建立日志信息表,所述日志信息表包括所存储的日志数据建立的时间点、日志数据的等级以及日志数据所属的模块要求;
[0015]响应于系统初始化,通过内存读取所述日志信息表;
[0016]响应于接收到日志读取要求,在内存中对所述日志信息表进行筛选,并根据筛选结果从所述存储介质中将对应的日志数据读出。
[0017]在一些实施例中,所述响应于接收到日志读取要求,在内存中对所述日志信息表进行筛选,并根据筛选结果从所述存储介质中将对应的日志数据读出包括:在内存中对所述日志信息表中的日志数据建立的时间点、日志数据的等级以及日志数据所属的模块要求进行筛选。
[0018]在一些实施例中,所述设置用于日志数据缓存的多个缓存区包括:根据存储介质的容量以及每个缓存区的等待时间设置多个缓存区。
[0019]本专利技术实施例的另一个方面,还提供了一种提高日志数据读写效率的装置,所述装置包括:第一模块,配置用于设置用于日志数据缓存的多个缓存区;第二模块,配置用于将日志数据写入当前缓存区,并判断所述当前缓存区的使用容量是否达到预设阈值以及判断当前缓存区所指向的下一缓存区是否被占用;第三模块,配置用于响应于所述当前缓存区的使用容量达到预设阈值且当前缓存区所指向的下一缓存区未被占用,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。
[0020]本专利技术实施例的另一方面,还提供一种计算机设备,包括至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任一方法的步骤。
[0021]本专利技术实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上任一方法步骤的计算机程序。
[0022]本专利技术至少具有以下有益效果:本专利技术提出一种提高日志数据读写效率的方法、
装置及设备,其中,本专利技术提出的一种提高日志数据读写效率的方法,在将日志数据写入存储介质的过程中,采用多个缓存区使得日志数据缓存到缓存区的过程和写入存储介质的过程分离,使得应用层未感知到日志数据写入存储介质的过程,实现对日志数据进行快速写入,提高日志数据写入存储介质的效率;在将存储介质的日志数据读取的过程中,在存储介质中建立日志信息表,根据日志信息表读取日志数据可以减少日志数据的检索过程,提高对日志数据的读取效率。
附图说明
[0023]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的实施例。
[0024]图1为本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提高日志数据读写效率的方法,其特征在于,包括:设置用于日志数据缓存的多个缓存区;将日志数据写入当前缓存区,并判断所述当前缓存区的使用容量是否达到预设阈值以及判断当前缓存区所指向的下一缓存区是否被占用;响应于所述当前缓存区的使用容量达到预设阈值且所述当前缓存区所指向的下一缓存区未被占用,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。2.根据权利要求1所述的方法,其特征在于,还包括:响应于所述当前缓存区的使用容量在预设时间周期内未达到预设阈值,将新生成的日志数据继续写入所述当前缓存区。3.根据权利要求1所述的方法,其特征在于,还包括:响应于超过预设时间周期所述当前缓存区的使用容量未达到所述预设阈值,判断所述当前缓存区所指向的下一缓存区是否被占用;响应于所述当前缓存区所指向的下一缓存区未被占用,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区;响应于所述当前缓存区所指向的下一缓存区被占用,设置所述当前缓存区等待所述当前缓存区所指向的下一缓存区被占用状态释放后,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。4.根据权利要求1所述的方法,其特征在于,还包括:响应于所述当前缓存区的使用容量达到预设阈值且所述当前缓存区所指向的下一缓存区被占用,设置所述当前缓存区等待所述当前缓存区所指向的下一缓存区被占用状态释放后,将所述当前缓存区的日志数据写入存储介质并设置将新生成的日志数据写入所述当前缓存区所指向的下一缓存区。5.根据权利1所述的方法,其特征在于,还包括:配置用于标记缓存区的状态的标志;判断当前缓存区所指向的下一缓存区是否被占用包括:响应于所述当前缓存区所指向的下一缓存区的标志为不忙,认定...

【专利技术属性】
技术研发人员:肖占慧孙明刘宝阳
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1