一种元数据服务器中日志段的处理方法及装置制造方法及图纸

技术编号:16662706 阅读:66 留言:0更新日期:2017-11-30 11:52
本申请提供的一种元数据服务器中日志段的处理方法,当检测到元数据服务器中日志段的数量超过预设值时,判断序号最小的日志段中是否有子树根修改标记;若是,将所述序号最小的日志段的子树根单独进行落盘,并对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段;若否,不将所述子树根落盘,直接对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段。元数据服务器中的子树根单独落盘,不再跟随日志段落盘,减少了落盘数据和落盘频率,提升了落盘效率。

【技术实现步骤摘要】
一种元数据服务器中日志段的处理方法及装置
本专利技术涉及分布式集群存储
,更具体的,涉及一种元数据服务器中日志段的处理方法及装置。
技术介绍
集群文件系统中,对于文件元数据的所有操作都是通过元数据服务器来进行响应处理的。当集群规模变大以后,单个元数据服务器不足以支撑消息的响应处理,因此增加为多个元数据服务器作为集群来处理请求响应。元数据服务器为保证数据安全,需要将子树根作为一个整体存放在每个日志段的开头,跟随日志段一起落盘,以备在重启元数据服务器时候回放使用。但随着子树根的增多,每次需要落盘的数据量大大增加,严重影响了落盘效率,进而影响了元数据的其他处理流程,影响系统正常使用。
技术实现思路
有鉴于此,本专利技术提供了一种元数据服务器中日志段的处理方法,元数据服务器中的子树根单独落盘,不再跟随日志段落盘,减少了落盘数据和落盘频率,提升了落盘效率。为了实现上述专利技术目的,本专利技术提供的具体技术方案如下:一种元数据服务器中日志段的处理方法,包括:当检测到元数据服务器中日志段的数量超过预设值时,判断序号最小的日志段中是否有子树根修改标记;若是,将所述序号最小的日志段的子树根进行落盘,并对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段;若否,对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段。优选的,所述将所述序号最小的日志段的子树根进行落盘,包括:从内存中读取所述序号最小的日志段的子树根;将所述子树根保存到磁盘中;删除所述内存中的所述子树根。优选的,当所述元数据服务器重启或被接替后,所述方法还包括:对所述元数据服务器中的多个日志段进行回放。优选的,所述对所述元数据服务器中的多个日志段进行回放,包括:将序号最大的日志段确定为当前日志段;判断所述当前日志段中是否有子树根修改标记;若是,从磁盘中读取与所述当前日志段序号相对应的子树根,并将所述子树根保存到内存;若否,从磁盘中读取小于所述当前日志段序号的日志段中序号最大的日志段对应的子树根;依次对所述当前日志段中的每个事件进行回放;按日志段序号从大到小的顺序将所述当前日志段的下一个日志段确定为当前日志段,并返回执行所述判断所述当前日志段中是否有子树根修改标记这一步骤,直到所述元数据服务器中的所有日志段回放完成。一种元数据服务器中日志段的处理装置,包括:判断单元,用于当检测到元数据服务器中日志段的数量超过预设值时,判断序号最小的日志段中是否有子树根修改标记,若是,触发第一保存单元,若否,触发第二保存单元;所述第一保存单元,用于将所述序号最小的日志段的子树根进行落盘,并触发所述第二保存单元;所述第二保存单元,用于对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段。优选的,所述第一保存单元包括:第一读取子单元,用于从内存中读取所述序号最小的日志段的子树根;保存子单元,用于将所述子树根保存到磁盘中;删除子单元,用于删除所述内存中的所述子树根。优选的,当所述元数据服务器重启或被接替后,所述处理装置还包括:回放单元,用于对所述元数据服务器中的多个日志段进行回放。优选的,所述回放单元包括:第一确定子单元,用于将序号最大的日志段确定为当前日志段;判断子单元,用于判断所述当前日志段中是否有子树根修改标记,若是,触发第二读取子单元,若否,触发第三读取子单元;所述第二读取子单元,用于从磁盘中读取与所述当前日志段序号相对应的子树根,并将所述子树根保存到内存,并触发回放子单元;所述第三读取子单元,用于从磁盘中读取小于所述当前日志段序号的日志段中序号最大的日志段对应的子树根,并触发回放子单元;所述回放子单元,用于依次对所述当前日志段中的每个事件进行回放;第二确定子单元,用于按日志段序号从大到小的顺序将所述当前日志段的下一个日志段确定为当前日志段,并触发所述判断子单元,直到所述元数据服务器中的所有日志段回放完成。相对于现有技术,本专利技术的有益效果如下:本专利技术提供的一种元数据服务器中日志段的处理方法,当检测到元数据服务器中日志段的数量超过预设值时,判断序号最小的日志段中是否有子树根修改标记;若是,将所述序号最小的日志段的子树根单独进行落盘,并对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段;若否,不将所述子树根落盘,直接对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段。元数据服务器中的子树根单独落盘,不再跟随日志段落盘,减少了落盘数据和落盘频率,提升了落盘效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种元数据服务器中日志段的处理方法流程图;图2为本专利技术实施例公开的另一种元数据服务器中日志段的处理方法流程图;图3为本专利技术实施例公开的一种元数据服务器中日志段的处理装置结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。元数据服务器用于处理接收到的各种事件,将处理后的元数据写入日志段。当元数据服务器接收到事件请求时,根据当前日志段中的事件数量判断是否需要构建新日志段,具体的,当前日志段中的事件数量达到上限时需要构建新日志段;若需要,判断所述当前日志段中的子树根是否已修改;若已修改,将所述子树根保存到内存,在所述当前日志段中添加子树根修改标记,创建新的日志段,并将所述时间记录到新创建的日志段中;若未修改,创建新的日志段,并将所述时间记录到新创建的日志段中;若不需要,将所述事件记录到所述当前日志段中。在此基础上,请参阅图1,本实施例公开了一种元数据服务器中日志段的处理方法,具体包括以下步骤:S101:当检测到元数据服务器中日志段的数量超过预设值时,判断序号最小的日志段中是否有子树根修改标记,若是,执行S102,若否,执行S103;子树根是一种特殊的目录,是元数据服务器负载的基础,子树根修改是指子树根由一个元数据服务器负载转移到另外一个元数据服务器上去负载,转移前后的两个元数据服务器都会有子树根的数量变化。每个日志段都对应一个序号,日志段的创建时间越早对应的序号越小。S102:将所述序号最小的日志段的子树根进行落盘,并执行S103;所述将所述序号最小的日志段的子树根进行落盘,具体为从内存中读取所述序号最小的日志段的子树根;将所述子树根保存到磁盘中;删除所述内存中的所述子树根。S103:对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段;对所述序号最小的日志段进行解析的目的是得到日志段中各个事件数据。本实施例中公开的一种元数据服务器中日志段的处理方法,当检测到元数据服务器中日志段的数量超过预设值时,对所述序号最小的日志段本文档来自技高网...
一种元数据服务器中日志段的处理方法及装置

【技术保护点】
一种元数据服务器中日志段的处理方法,其特征在于,包括:当检测到元数据服务器中日志段的数量超过预设值时,判断序号最小的日志段中是否有子树根修改标记;若是,将所述序号最小的日志段的子树根进行落盘,并对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段;若否,对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段。

【技术特征摘要】
1.一种元数据服务器中日志段的处理方法,其特征在于,包括:当检测到元数据服务器中日志段的数量超过预设值时,判断序号最小的日志段中是否有子树根修改标记;若是,将所述序号最小的日志段的子树根进行落盘,并对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段;若否,对所述序号最小的日志段进行解析,将得到的事件数据保存到磁盘中,删除所述序号最小的日志段。2.根据权利要求1所述的处理方法,其特征在于,所述将所述序号最小的日志段的子树根进行落盘,包括:从内存中读取所述序号最小的日志段的子树根;将所述子树根保存到磁盘中;删除所述内存中的所述子树根。3.根据权利要求1所述的处理方法,其特征在于,当所述元数据服务器重启或被接替后,所述方法还包括:对所述元数据服务器中的多个日志段进行回放。4.根据权利要求3所述的处理方法,其特征在于,所述对所述元数据服务器中的多个日志段进行回放,包括:将序号最大的日志段确定为当前日志段;判断所述当前日志段中是否有子树根修改标记;若是,从磁盘中读取与所述当前日志段序号相对应的子树根,并将所述子树根保存到内存;若否,从磁盘中读取小于所述当前日志段序号的日志段中序号最大的日志段对应的子树根;依次对所述当前日志段中的每个事件进行回放;按日志段序号从大到小的顺序将所述当前日志段的下一个日志段确定为当前日志段,并返回执行所述判断所述当前日志段中是否有子树根修改标记这一步骤,直到所述元数据服务器中的所有日志段回放完成。5.一种元数据服务器中日志段的处理装置,其特征在于,包括:判断单元,用于当检测到元数据服务器中日...

【专利技术属性】
技术研发人员:张延良
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1