一种日志段管理方法及装置与流程

文档序号:11155363阅读:637来源:国知局
一种日志段管理方法及装置与制造工艺

本发明涉及元数据管理技术领域,尤其涉及一种日志段管理方法,还涉及一种日志段管理装置。



背景技术:

现有文件系统主要分为两大部分:元数据管理、数据管理。其中,元数据的请求是文件系统所有请求的50%以上,所以提升元数据请求的处理性能,可以有效提升整个文件系统的性能。

为了保证元数据节点存储内容的可恢复性,元数据节点的每次操作都会以日志事件的形式记录在日志段里。每个日志段能存放一定大小的(具体大小和磁盘条带有关,下文以4M为例说明)或者一定数量(可以配置,下文以1024为例说明)日志事件,当把日志事件记录到日志段后,会判断日志段里包含的日志事件总量。如果日志段中日志事件总大小超出4M或者总量超过1024个时,此日志段结束,元数据节点会重新构造一个日志段准备存储下一条日志事件。而每个日志段的默认起始事件就是子树事件,事件里记录了系统当前元数据节点目录结构的子树根、子树根边界等内容。

在多个元数据节点的系统里,每个元数据节点都有自己负责的目录结构。在动态子树情况下,新建的目录可以根据集群元数据热度分给相对空闲的元数据节点,以达到平衡元数据负载,提升文件系统性能的目的。

如果新建的目录和其父目录不是同一个元数据节点负责,那新建的目录需要作为子树根被所属的元数据节点记录。基于刚才所述的日志事件存储机制:元数据节点负责的子树根越多,日志段里记录的子树事件越大。在现有的机制下,当子树根达到一定数量级,子树事件大小就可以超过4M。导致任意元数据操作,比如对文件增删改、重命名,即便操作本身需要存储的内容很小,但是由于过大的子树事件,仍然要重新构造日志段,而新日志段的起始又是过大的子树事件。频繁的构造日志段和构造过大的子树事件引发元数据性能直线下降。

因此,对于本领域技术人员而言,在支持多个元数据节点的系统中,如何防止过于频繁的构造日志段而引发元数据性能下降为亟需解决的技术问题。



技术实现要素:

基于背景技术存在的技术问题,本发明提出了一种日志段管理方法,包括以下步骤:

S1:写入日志事件;

S2:判定S1中写入日志事件是否为子树事件;若是,则将该日志事件大小忽略且不计入日志事件总大小,并更新事件数量值;若否,则获取该日志事件大小信息且计入日志事件总大小,并更新事件数量值和事件大小值;

S3:判定事件数量值是否达到日志事件数量阈值和判定事件大小值是否达到日志事件大小阈值;若事件数量值未达到日志事件数量阈值且事件大小值未达到日志事件大小阈值,则转入S1;否则,转入S4;

S4:构造日志段,转入S1。

优选地,在步骤S1之前,还包括步骤:设定日志事件数量阈值和日志事件大小阈值。

优选地,日志事件数量阈值为1024,和/或,日志事件大小阈值为4M。

本发明还提出了一种日志段管理方法,包括以下步骤:

判断所写入日志事件是否为子树事件;

将子树事件放入第一日志事件池,将非子树事件放入第二日志事件池;

统计第一日志事件池和第二日志事件池中日志事件总数量并作为事件数量值,统计第二日志事件池中日志事件总大小并作为事件大小值;

事件数量值小于日志段事件数量阈值且事件大小值小于日志段事件大小阈值,则在当前日志段写入日志事件,否则,构造新日志段写入日志事件。

优选地,包括以下步骤:设定日志事件数量阈值和日志事件大小阈值。

优选地,日志事件数量阈值为1024,和/或,日志事件大小阈值为4M。

本发明中提供的两种日志段管理方法,关键点均在于对日志事件进行判定并区分为子树事件和非子树事件,子树事件计入日志事件总数量且容量大小不计入日志事件总大小,非子树事件计入日志事件总数量且容量大小计入日志事件总大小,从而避免子树事件过大引起日志段的频繁构造;上述方法至少具有以下优点:

1、不会由于过大子树事件导致频繁的构造日志段,避免了过大子树事件引发的元数据性能直线下降,可以提升元数据集群性能;

2、适用于可以支持多个元数据节点的文件系统,与现有元数据集群动态子树目录结构兼容性好,可广泛应用于云存储系统、分布式文件系统等。

本发明还提出了日志段管理装置,包括:

事件写入模块,用于向当前日志段中写入日志事件;

第一判断模块,判定日志事件是否为子树事件;

管理模块,用于统计当前日志段中日志事件总数量作为事件数量值;还用于统计非子树事件的大小之和作为事件大小值;

第二判断模块,用于在事件数量值达到日志事件数量阈值时,生成触发信号;还用于在事件大小值达到日志事件大小阈值是,生成触发信号;

日志段生成模块,用于在第二判断模块生成触发信号时,构造日志段。

优选地,还包括:赋值模块,用于设定日志事件数量阈值和日志事件大小阈值。

本发明提出的日志段管理装置,其有益效果与日志段管理方法的有益效果基本类似,此处不再赘述。

附图说明

图1为本发明提出的一种日志段管理方法中一种实施例的流程示意图;

图2为本发明提出的一种日志段管理方法中另一种实施例的流程示意图;

图3为本发明提出的一种日志段管理装置的一种实施例的结构框图。

具体实施方式

如图1-3所示,图1为本发明提出的一种日志段管理方法中一种实施例的流程示意图;图2为本发明提出的一种日志段管理方法中另一种实施例的流程示意图;图3为本发明提出的一种日志段管理装置的一种实施例的结构框图。

下面结合附图和实施例对本发明进行详细的描述。

实施例1

参考图1,本发明所公开的一种日志段管理方法,包括以下步骤:

S0:设定日志事件数量阈值为1024和日志事件大小阈值4M;

S1:写入日志事件;

S2:判定S1中写入日志事件是否为子树事件;若是,则将该日志事件大小忽略且不计入日志事件总大小,并更新事件数量值;若否,则获取该日志事件大小信息且计入日志事件总大小,并更新事件数量值和事件大小值;

S3:判定事件数量值是否达到1024和判定事件大小值是否达到4M;若事件数量值未达到1024且事件大小值未达到4M,则转入S1;否则,转入S4;

S4:构造日志段,转入S1。

在上述实施例1中,我们可以获知,先进行写入日志事件是否为子树事件,若是则忽略该事件大小仅计入事件数量,从而有效防止子树事件过大导致日志段的构造,避免了过大子树事件引发的元数据性能直线下降。

实施例2

参考图2,本发明所公开的一种日志段管理方法,包括以下步骤:

设定日志事件数量阈值1024和日志事件大小阈值4M;

判断所写入日志事件是否为子树事件;

将子树事件放入第一日志事件池,将非子树事件放入第二日志事件池;

统计第一日志事件池和第二日志事件池中日志事件总数量并作为事件数量值,统计第二日志事件池中日志事件总大小并作为事件大小值;

事件数量值小于日志段事件数量阈值且事件大小值小于日志段事件大小阈值,则在当前日志段写入日志事件,否则,构造新日志段写入日志事件。

在上述实施例2中,我们可以获知,实施例2采用的是判定日志事件是否为子树事件后,将子树事件与非子树事件划分为两部分,在统计日志事件总数量时,两部分都进行统计,在统计日志事件总大小时,则仅统计非子树事件部分;可以有效防止子树事件过大导致日志段的构造,避免了过大子树事件引发的元数据性能直线下降。

参考图3,本发明所公开的一种日志段管理装置,包括:

事件写入模块,用于向当前日志段中写入日志事件;

第一判断模块,判定日志事件是否为子树事件;

管理模块,用于统计当前日志段中日志事件总数量作为事件数量值;还用于统计非子树事件的大小之和作为事件大小值;

第二判断模块,用于在事件数量值达到日志事件数量阈值时,生成触发信号;还用于在事件大小值达到日志事件大小阈值是,生成触发信号;

日志段生成模块,用于在第二判断模块生成触发信号时,构造日志段;

赋值模块,用于设定日志事件数量阈值和日志事件大小阈值。

上述日志段管理装置,其有益效果与日志段管理方法的有益效果基本类似,此处不再赘述。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1