PatViewer专利搜索

一种日志存储方法、装置、设备及可读存储介质

发明公布  在审
申请(专利)号:CN201811544544.9国省代码:河南 41
申请(专利权)人:郑州云海信息技术有限公司
温馨提示:Ctrl+D 请注意收藏,详细著录项请首页检索查看。 Please note the collection. For details, please search the home page.

摘要:
本发明公开了一种日志存储方法,包括:获取待存储的日志数据,并标记日志数据的等级信息;判断日志队列中的日志条数是否小于预设的队列阈值;若否,则按照日志数据的等级信息和预设的存储配置在日志队列中确定冗余日志数据,并从日志队列中删除冗余日志数据;将日志数据和日志数据的等级信息记录至日志队列,并依照日志队列将日志数据存入磁盘。其中,当日志队列中的日志条数不小于预设的队列阈值时,剔除日志队列中的冗余日志数据,从而可以避免日志存储过程中的拥堵和阻塞,保障了当前集群的业务的连续性,给用户带来了良好的体验。相应地,本发明公开的一种日志存储装置、设备及可读存储介质,也同样具有上述技术效果。

主权项:
1.一种日志存储方法,其特征在于,包括:获取待存储的日志数据,并标记所述日志数据的等级信息;判断日志队列中的日志条数是否小于预设的队列阈值;若否,则按照日志数据的等级信息和预设的存储配置在所述日志队列中确定冗余日志数据,并从所述日志队列中删除所述冗余日志数据;将所述日志数据和所述日志数据的等级信息记录至所述日志队列,并依照所述日志队列将所述日志数据存入磁盘。


说明书

一种日志存储方法、装置、设备及可读存储介质

技术领域

本发明涉及计算机技术领域,更具体地说,涉及一种日志存储方法、装置、设备及
可读存储介质。

背景技术

在现有技术中,当记录集群中的日志时,一般先将需要记录的日志记录至日志队
列,进而将日志队列中的日志存入磁盘,以完成日志的存储。其中,日志队列具有固定的长
度,即其中可存储的日志条数是固定的。

在正常情况下,日志队列的记录和将日志队列中的日志存入磁盘这两个步骤能够
保证日志数据的正常存储。但是当磁盘出现故障或由于其他因素导致磁盘写入繁忙时,日
志队列中的日志存入磁盘的速率将大幅度下降,从而会导致日志队列很快被写满。此时由
于待存储的日志数据仍源源不断地产生,但是日志队列中的日志数据消耗的较慢,从而导
致日志队列始终处于已满状态,且存在许多待记录至日志队列的日志数据,若此现象长时
间存在,将造成日志数据的拥堵和阻塞。当拥堵和阻塞的时间较长时,会造成业务消息的处
理超时,严重时可能造成当前集群的业务中断,给用户带来不可逆的损失。

因此,如何避免日志存储过程中的拥堵和阻塞问题,是本领域技术人员需要解决
的问题。

发明内容

本发明的目的在于提供一种日志存储方法、装置、设备及可读存储介质,以避免日
志存储过程中的拥堵和阻塞问题。

为实现上述目的,本发明实施例提供了如下技术方案:

一种日志存储方法,包括:

获取待存储的日志数据,并标记所述日志数据的等级信息;

判断日志队列中的日志条数是否小于预设的队列阈值;

若否,则按照日志数据的等级信息和预设的存储配置在所述日志队列中确定冗余
日志数据,并从所述日志队列中删除所述冗余日志数据;

将所述日志数据和所述日志数据的等级信息记录至所述日志队列,并依照所述日
志队列将所述日志数据存入磁盘。

其中,所述从日志队列中删除冗余日志数据,包括:

按照所述日志队列中的日志数据的记录时间删除所述冗余日志数据。

其中,还包括:

当所述日志队列中的日志条数小于预设的队列阈值时,执行所述将所述日志数据
和所述日志数据的等级信息记录至所述日志队列,并依照所述日志队列将所述日志数据存
入磁盘的步骤。

其中,所述按照日志数据的等级信息和预设的存储配置在所述日志队列中确定冗
余日志数据之前,还包括:

按照预设的上调规则上调所述队列阈值,并记录所述队列阈值的上调次数;

判断所述上调次数是否大于预设的上调阈值;

若是,则取消当前对所述队列阈值的上调,并执行所述按照日志数据的等级信息
和预设的存储配置在所述日志队列中确定冗余日志数据,并从所述日志队列中删除所述冗
余日志数据的步骤。

其中,还包括:

当所述上调次数不大于预设的上调阈值时,执行所述将所述日志数据和所述日志
数据的等级信息记录至所述日志队列,并依照所述日志队列将所述日志数据存入磁盘的步
骤。

其中,还包括:

判断当前所述日志队列中的日志消耗条数与当前记录至所述日志队列的日志条
数的差值是否满足预设的队列阈值下调规则;

若是,则下调所述队列阈值。

其中,还包括:

当所述上调次数大于所述上调阈值时,将当前存储所述日志数据的磁盘切换为固
态硬盘。

一种日志存储装置,包括:

获取模块,用于获取待存储的日志数据,并标记所述日志数据的等级信息;

判断模块,用于判断日志队列中的日志条数是否小于预设的队列阈值;

删除模块,用于当所述日志队列中的日志条数不小于预设的队列阈值时,按照日
志数据的等级信息和预设的存储配置在所述日志队列中确定冗余日志数据,并从所述日志
队列中删除所述冗余日志数据;

存储模块,用于将所述日志数据和所述日志数据的等级信息记录至所述日志队
列,并依照所述日志队列将所述日志数据存入磁盘。

一种日志存储设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任意一项所述的日志存储方法的步
骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被
处理器执行时实现上述任意一项所述的日志存储方法的步骤。

通过以上方案可知,本发明实施例提供的一种日志存储方法,包括:获取待存储的
日志数据,并标记所述日志数据的等级信息;判断日志队列中的日志条数是否小于预设的
队列阈值;若否,则按照日志数据的等级信息和预设的存储配置在所述日志队列中确定冗
余日志数据,并从所述日志队列中删除所述冗余日志数据;将所述日志数据和所述日志数
据的等级信息记录至所述日志队列,并依照所述日志队列将所述日志数据存入磁盘。

在存储日志的过程中,当日志队列中的日志条数不小于预设的队列阈值时,为了
避免日志数据的长时间等待,按照日志数据的等级信息和预设的存储配置在日志队列中确
定冗余日志数据,并从日志队列中删除冗余日志数据,删除冗余日志数据后,便可以将当前
需要存储的日志数据和当前日志数据的等级信息记录至日志队列,并依照日志队列将当前
需存储的日志数据存入磁盘。可见,当日志队列中的日志条数不小于预设的队列阈值时,剔
除日志队列中的冗余日志数据,可以避免真正需要存储的日志数据的长时间等待,从而避
免了日志存储过程中的拥堵和阻塞和业务消息的处理超时,保障了当前集群的业务的连续
性,提高了集群性能,给用户带来了良好的体验。

相应地,本发明实施例提供的一种日志存储装置、设备及可读存储介质,也同样具
有上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。

图1为本发明实施例公开的一种日志存储方法流程图;

图2为本发明实施例公开的另一种日志存储方法流程图;

图3为本发明实施例公开的一种日志存储装置示意图;

图4为本发明实施例公开的一种日志存储设备示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。

本发明实施例公开了一种日志存储方法、装置、设备及可读存储介质,以避免日志
存储过程中的拥堵和阻塞问题。

参见图1,本发明实施例提供的一种日志存储方法,包括:

S101、获取待存储的日志数据,并标记日志数据的等级信息;

其中,所述日志数据的等级信息根据日志数据的产生进行标记,不同类型的日志
数据具有不同的等级信息;所述存储配置中预先记录了需要存入磁盘的等级信息。

例如:将操作系统的开关机等类型的事件记录标记为等级一;将集群中各个业务
运行时产生的事件记录标记为等级二,同时存储配置中记录等级二为需要存入磁盘的等级
信息,那么被标记为等级一的日志数据则无需存入磁盘,仅需记录至日志队列。当然,为了
缩减日志队列中的日志条数,也可以不将等级一的日志数据记录至日志队列,即忽略这些
日志数据。

需要说明的是,并非所有的日志数据都是有价值的,因此可以忽略一些没有价值
的、冗余的日志数据,以减少计算机资源的浪费。

S102、判断日志队列中的日志条数是否小于预设的队列阈值;若是,则执行S104;
若否,则执行S103;

S103、按照日志数据的等级信息和预设的存储配置在日志队列中确定冗余日志数
据,并从日志队列中删除冗余日志数据,并执行S104;

S104、将日志数据和日志数据的等级信息记录至日志队列,并依照日志队列将日
志数据存入磁盘。

其中,所述从日志队列中删除冗余日志数据,包括:

按照所述日志队列中的日志数据的记录时间删除所述冗余日志数据。

具体的,根据日志数据的等级信息和存储配置确定冗余日志数据后,可以按照日
志数据的记录时间首先删除记录时间较早的冗余日志数据。例如:将确定出的冗余日志数
据按照记录时间的早晚进行排序,首先删除记录时间最早的日志数据,以使当前日志数据
可记录至日志队列即可。其中,每次删除的日志数据的条数可依据实际应用情况灵活调整,
故本实施例在此不做具体限定。

其中,还包括:当日志队列中的日志条数小于预设的队列阈值时,执行将日志数据
和日志数据的等级信息记录至日志队列,并依照日志队列将日志数据存入磁盘的步骤。

可见,本实施例提供了一种日志存储方法,所述方法在存储日志的过程中,当日志
队列中的日志条数不小于预设的队列阈值时,为了避免日志数据的长时间等待,按照日志
数据的等级信息和预设的存储配置在日志队列中确定冗余日志数据,并从日志队列中删除
冗余日志数据,删除冗余日志数据后,便可以将当前需要存储的日志数据和当前日志数据
的等级信息记录至日志队列,并依照日志队列将当前需存储的日志数据存入磁盘。可见,当
日志队列中的日志条数不小于预设的队列阈值时,剔除日志队列中的冗余日志数据,可以
避免真正需要存储的日志数据的长时间等待,从而避免了日志存储过程中的拥堵和阻塞和
业务消息的处理超时,保障了当前集群的业务的连续性,提高了集群性能,给用户带来了良
好的体验。

本发明实施例公开了另一种日志存储方法,相对于上一实施例,本实施例对技术
方案作了进一步的说明和优化。

参见图2,本发明实施例提供的另一种日志存储方法,包括:

S201、获取待存储的日志数据,并标记日志数据的等级信息;

S202、判断日志队列中的日志条数是否小于预设的队列阈值;若是,则执行S207;
若否,则执行S203;

S203、按照预设的上调规则上调队列阈值,并记录队列阈值的上调次数,并执行
S204;

S204、判断上调次数是否大于预设的上调阈值;若是,则执行S205;若否,则执行
S207;

S205、取消当前对队列阈值的上调,并执行S206;

S206、按照日志数据的等级信息和预设的存储配置在日志队列中确定冗余日志数
据,并从日志队列中删除冗余日志数据,并执行S207;

S207、将日志数据和日志数据的等级信息记录至日志队列,并依照日志队列将日
志数据存入磁盘。

在本实施例中,当日志队列中的日志条数不小于预设的队列阈值时,按照预设的
上调规则上调队列阈值,并记录队列阈值的上调次数,进而判断上调次数是否大于预设的
上调阈值;若是,则取消当前对队列阈值的上调,并按照日志数据的等级信息和预设的存储
配置在日志队列中确定冗余日志数据,将日志数据和日志数据的等级信息记录至日志队
列,并从日志队列中删除冗余日志数据,并记录当前日志数据至日志队列,完成当前日志数
据的存储;若否,则直接将日志数据和日志数据的等级信息记录至日志队列,并依照日志队
列将日志数据存入磁盘。

例如:若当前队列阈值为1000,此队列阈值表示日志队列中的日志条数不可超过
1000,规定每次上调值为1000,最多可上调9次,即上调次数为9;那么当将队列阈值上调为
2000时,将上调次数记录为1,并如此一直将队列阈值上调为10000;

当队列阈值上调为10000时,上调次数记录为9;当再一次将队列阈值上调为
11000,上调次数更改为10,此时大于预设的上调阈值9,那么取消本次上调,即:将队列阈值
恢复为10000,并按照日志数据的等级信息和预设的存储配置在日志队列中确定冗余日志
数据,并从日志队列中删除冗余日志数据,以使当前日志数据可以记录至日志队列,完成当
前日志数据的存储。

其中,还包括:判断当前日志队列中的日志消耗条数与当前记录至日志队列的日
志条数的差值是否满足预设的队列阈值下调规则;若是,则下调队列阈值。

例如:若设置下调规则为:当前日志队列中的日志消耗条数与当前记录至日志队
列的日志条数的差值大于1000,则可将当前队列阈值下调1000。若当前日志队列中的日志
消耗条数为2000,且当前记录至日志队列的日志条数为500,差值为1500,满足预设的下调
规则,那么将当前队列阈值下调1000,直至队列阈值变更为1000,则不再下调。

其中,还包括:当上调次数大于上调阈值时,将当前存储日志数据的磁盘切换为固
态硬盘。

例如:当队列阈值为10000,且仍存在日志数据的拥堵时,利用固态硬盘存储需要
存储日志,以解决日志数据的拥堵问题。其中,当前存储日志数据的磁盘为机械硬盘。

若机械硬盘恢复正常或日志数据不拥堵时,将存储日志数据的固态硬盘切换为原
来的机械硬盘,以继续存储日志数据,同时将固态硬盘中存储的日志数据迁移至原来的机
械硬盘,以便于日志数据的统一管理。

可见,本实施例提供了另一种日志存储方法,所述方法在存储日志的过程中,当日
志队列中的日志条数不小于预设的队列阈值时,为了避免日志数据的长时间等待,上调日
志队列的队列阈值,当上调次数大于预设的上调阈值时,按照日志数据的等级信息和预设
的存储配置在日志队列中确定冗余日志数据,并从日志队列中删除冗余日志数据,删除冗
余日志数据后,便可以将当前需要存储的日志数据和当前日志数据的等级信息记录至日志
队列,并依照日志队列将当前需存储的日志数据存入磁盘。可见,当日志队列中的日志条数
不小于预设的队列阈值时,上调日志队列的队列阈值,当达到上调限制时,剔除日志队列中
的冗余日志数据,可以避免真正需要存储的日志数据的长时间等待,从而避免了日志存储
过程中的拥堵和阻塞和业务消息的处理超时,保障了当前集群的业务的连续性,提高了集
群性能,给用户带来了良好的体验。

下面对本发明实施例提供的一种日志存储装置进行介绍,下文描述的一种日志存
储装置与上文描述的一种日志存储方法可以相互参照。

参见图3,本发明实施例提供的一种日志存储装置,包括:

获取模块301,用于获取待存储的日志数据,并标记日志数据的等级信息;

判断模块302,用于判断日志队列中的日志条数是否小于预设的队列阈值;

删除模块303,用于当日志队列中的日志条数不小于预设的队列阈值时,按照日志
数据的等级信息和预设的存储配置在日志队列中确定冗余日志数据,并从日志队列中删除
冗余日志数据;

存储模块304,用于将日志数据和日志数据的等级信息记录至日志队列,并依照日
志队列将日志数据存入磁盘。

其中,所述删除模块具体用于:

按照日志数据的等级信息、存储配置和日志队列中的日志数据的记录时间确定冗
余日志数据。

其中,还包括:

第一执行模块,用于当日志队列中的日志条数小于预设的队列阈值时,执行所述
存储模块的步骤。

其中,还包括:

上调模块,用于按照预设的上调规则上调队列阈值,并记录队列阈值的上调次数;

上调次数判断模块,用于判断上调次数是否大于预设的上调阈值;

取消模块,用于当上调次数大于预设的上调阈值时,取消当前对队列阈值的上调,
并执行所述删除模块的步骤。

其中,还包括:

第二执行模块,用于当上调次数不大于预设的上调阈值时,执行所述存储模块的
步骤。

其中,还包括:

下调判断模块,用于判断当前日志队列中的日志消耗条数与当前记录至日志队列
的日志条数的差值是否满足预设的队列阈值下调规则;

下调模块,用于当前日志队列中的日志消耗条数与当前记录至日志队列的日志条
数的差值满足预设的队列阈值下调规则时,下调队列阈值。

其中,还包括:

切换模块,用于当上调次数大于上调阈值时,将当前存储日志数据的磁盘切换为
固态硬盘。

可见,本实施例提供了一种日志存储装置,包括:获取模块、判断模块、删除模块以
及存储模块。首先由获取模块获取待存储的日志数据,并标记日志数据的等级信息;然后判
断模块判断日志队列中的日志条数是否小于预设的队列阈值;当日志队列中的日志条数不
小于预设的队列阈值时,删除模块按照日志数据的等级信息和预设的存储配置在日志队列
中确定冗余日志数据,并从日志队列中删除冗余日志数据;进而存储模块将日志数据和日
志数据的等级信息记录至日志队列,并依照日志队列将日志数据存入磁盘。如此各个模块
之间分工合作,各司其职,从而避免了日志存储过程中的拥堵和阻塞和业务消息的处理超
时,保障了当前集群的业务的连续性,提高了集群性能,给用户带来了良好的体验。

下面对本发明实施例提供的一种日志存储设备进行介绍,下文描述的一种日志存
储设备与上文描述的一种日志存储方法及装置可以相互参照。

参见图4,本发明实施例提供的一种日志存储设备,包括:

存储器401,用于存储计算机程序;

处理器402,用于执行所述计算机程序时实现上述任意实施例所述的日志存储方
法的步骤。

下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存
储介质与上文描述的一种日志存储方法、装置及设备可以相互参照。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被
处理器执行时实现如上述任意实施例所述的日志存储方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他
实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

...

=>>详细说明书全文请进入首页检索查看

图1
©2018 IPPH.cn   PatViewer·专利搜索
主办单位:知识产权出版社有限责任公司  咨询热线:01082000860-8588
浏览器:IE9及以上、火狐等  京ICP备09007110号 京公网安备 11010802026659号