元数据的处理方法、元数据的处理装置以及电子设备制造方法及图纸

技术编号:22022052 阅读:30 留言:0更新日期:2019-09-04 01:14
本公开涉及数据处理技术领域,提供了一种元数据的处理方法、元数据的处理装置,以及实现所述元数据的处理方法的计算机可读存储介质及电子设备。其中,该方法包括:响应对于元数据的预写日志式的操作请求,确定元数据服务线程和日志服务线程;通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录;通过所述日志服务线程处理所述日志记录,以完成对所述操作请求对应的日志处理。本技术方案能够提高元数据服务器的数据处理效率,有利于提升元数据访问并发量,进而提高分布式文件存储系统的整体性能。

Metadata processing methods, metadata processing devices and electronic devices

【技术实现步骤摘要】
元数据的处理方法、元数据的处理装置以及电子设备
本公开涉及数据处理
,具体而言,涉及一种元数据的处理方法、元数据的处理装置,以及实现所述元数据的处理方法的电子设备。
技术介绍
为了保证元数据操作的可靠性,可采用写前日志(writeahead)的方式来记录元数据操作。以分布式文件存储系统Ceph中元数据服务器(MetaDataServe,简称:MDS)为例,对MDS接收到上述类型的操作请求后所产生的数据处理方法。目前Ceph中MDS接收通过上述类型的操作请求之后,一般基于单线程来完成相应的元数据处理。具体的,对于一上述类型的操作请求,基于单线程接收操作请求、查找元数据缓存、修改处理相应元数据、生成日志记录、将日志记录写入写缓存区以及在日志写缓存区满后刷新日志写缓存区至对象存储设备(Object-basedStorageDevice,简称OSD)等一系列任务。并在完成上述各个流程之后,继续处理下一个上述类型的操作请求。然而,上述相关技术提供的元数据处理方法中,对于上述类型的操作请求,元数据服务器的数据处理效率有待提高。需要说明的是,上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解。
技术实现思路
本公开的目的在于提供一种元数据的处理方法、元数据的处理装置、计算机存储介质及电子设备,进而至少在一定程度上缩短对元数据的处理周期,从而提高元数据服务器的数据处理效率。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的一个方面,提供一种元数据的处理方法,包括:响应对于元数据的预写日志式(WriteAheadLog,简称:WAL)的操作请求,确定元数据服务线程和日志服务线程;通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录;通过所述日志服务线程处理所述日志记录,以完成对所述操作请求对应的日志处理。根据本公开的一个方面,提供了一种元数据的处理装置,包括服务线程确定模块,被配置为响应对于元数据的预写日志式的操作请求,确定元数据服务线程和日志服务线程;日志线程处理模块,被配置为通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录;日志线程处理模块,被配置为通过所述日志服务线程处理所述日志记录,以完成对所述操作请求对应的日志处理。在本公开的一些实施例中,基于前述方案,所述操作请求对应的数据处理流程包括:元数据请求阶段、日志写缓存阶段以及日志写缓存区刷新阶段;其中,上述服务线程确定模块,具体被配置为:确定用于处理所述元数据请求阶段的元数据服务线程;确定用于处理所述日志写缓存阶段的第一日志服务线程;以及,确定用于处理所述日志写缓存区刷新阶段的第二日志服务线程。在本公开的一些实施例中,基于前述方案,上述元数据线程处理模块具体被配置为:在所述元数据请求阶段,通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录。在本公开的一些实施例中,基于前述方案,上述元数据线程处理模块包括:查找单元、写时拷贝单元、修改单元和接收单元。其中,在所述元数据服务线程中,上述查找单元被配置为:在所述元数据服务线程中,根据当前操作请求在元数据缓存中查找目标元数据,并获取查找所述目标元数据得到的日志记录;上述写时拷贝单元被配置为:对所述目标元数据进行写时拷贝(CopyOnWrite,简称:COW)得到拷贝元数据,并获取写时拷贝所述目标元数据得到的日志记录;上述修改单元被配置为:根据所述当前操作请求对所述拷贝元数据进行修改,并获取修改所述拷贝元数据得到的日志记录;其中,所述当前操作请求为预写日志式的操作请求;以及,上述接收单元被配置为:等待接收并处理下一操作请求,其中,所述下一操作请求为预写日志式的操作请求。在本公开的一些实施例中,基于前述方案,上述元数据线程处理模块还包括:发送单元。其中,上述发送单元被配置为:发送所述日志记录至日志处理链表,以供所述第一日志服务线程的处理。在本公开的一些实施例中,基于前述方案,所述日志处理链表包括多个子链表结构,所述子链表结构构成所述日志处理链表的结点;上述发送单元具体被配置为:在所述日志处理链表中确定存储所述日志记录的目标结点,发送所述日志记录至所述目标结点对应的子链表结构的链表尾。在本公开的一些实施例中,基于前述方案,上述发送单元具体被配置为:将所述日志记录以及对所述日志记录的回调函数封装为日志对象,并发送所述日志对象至所述目标结点对应的子链表结构的链表尾。在本公开的一些实施例中,基于前述方案,上述元数据线程处理模块还包括:序列化单元。其中,上述序列化单元被配置为:在上述发送单元发送所述日志对象至所述目标结点对应的子链表结构的链表尾之前,对所述日志对象进行序列化处理。在本公开的一些实施例中,基于前述方案,上述日志线程处理模块包括:第一日志子模块和第二日志子模块。其中,上述第一日志子模块被配置为:在所述日志写缓存阶段,通过所述第一日志服务线程,将获取到的所述日志记录存储于日志写缓存区;上述第二日志子模块被配置为:在所述日志写缓存区刷新阶段,通过所述第二日志服务线程,将存储在所述日志写缓存区的数据刷新至对象存储设备。在本公开的一些实施例中,基于前述方案,日志写缓存区包含至少两个缓存区;其中,上述第一日志子模块,包括:获取单元和提交单元。其中,在所述第一日志服务线程中,上述获取单元被配置为:在所述第一日志服务线程中,从所述日志处理链表中获取第一日志记录;上述获取单元还被配置为:在所述日志写缓存区中获取一未存满的存储区作为第一目标缓存区;上述提交单元被配置为:将所述第一日志记录加入至所述第一目标缓存区;以及,上述获取单元还被配置为从所述日志处理链表中获取并处理第二日志记录。在本公开的一些实施例中,基于前述方案,上述获取单元被具体配置为:从所述日志处理链表中获取一日志对象,解析所述日志对象确定所述第一日志记录。在本公开的一些实施例中,基于前述方案,上述第二日志子模块被配置为:在所述第二日志服务线程中,监测所述日志写缓存区是否存在已存满的缓存区;以及,响应于监测到一已存满的第二目标缓存区,将存储于所述第二目标缓存区的日志刷新至OSD。根据本公开的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的元数据的处理方法。根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面所述的元数据的处理方法。由上述技术方案可知,本公开示例性实施例中的元数据的处理方法、元数据的处理装置、计算机存储介质及电子设备至少具备以下优点和积极效果:在本公开的一些实施例所提供的技术方案中,由于通过WAL的操作方式处理元数据的过程中,日志处理部分与元数据的处理之间不存在关联关系。从而本技术方案响应于通过WAL方式记录元数据操作的操作请求,确定元数据服务线程和日志服务线程。同时,将上述操作请求对应的数据处理流程进行粒度细分得到多个分阶段,以通过多个服务线程分阶段处理元数据。一方面,与现有的相关技术中基于单线程处理元数据的方案相本文档来自技高网...

【技术保护点】
1.一种元数据的处理方法,其特征在于,所述方法包括:响应对于元数据的预写日志式的操作请求,确定元数据服务线程和日志服务线程;通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录;通过所述日志服务线程处理所述日志记录,以完成对所述操作请求对应的日志处理。

【技术特征摘要】
1.一种元数据的处理方法,其特征在于,所述方法包括:响应对于元数据的预写日志式的操作请求,确定元数据服务线程和日志服务线程;通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录;通过所述日志服务线程处理所述日志记录,以完成对所述操作请求对应的日志处理。2.根据权利要求1所述的元数据的处理方法,其特征在于,所述操作请求对应的数据处理流程包括:元数据请求阶段、日志写缓存阶段以及日志写缓存区刷新阶段;其中,所述确定元数据服务线程和日志服务线程,包括:确定用于处理所述元数据请求阶段的元数据服务线程;确定用于处理所述日志写缓存阶段的第一日志服务线程;确定用于处理所述日志写缓存区刷新阶段的第二日志服务线程。3.根据权利要求2所述的元数据的处理方法,其特征在于,所述通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录,包括:在所述元数据请求阶段,通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录。4.根据权利要求2或3所述的元数据的处理方法,其特征在于,所述通过所述元数据服务线程,根据所述操作请求处理所述元数据,并获取处理所述元数据得到的日志记录,包括:在所述元数据服务线程中,根据当前操作请求在元数据缓存中查找目标元数据,并获取查找所述目标元数据得到的日志记录;对所述目标元数据进行写时拷贝得到拷贝元数据,并获取写时拷贝所述目标元数据得到的日志记录;根据所述当前操作请求对所述拷贝元数据进行修改,并获取修改所述拷贝元数据得到的日志记录;等待接收并处理下一操作请求,其中,所述下一操作请求为预写日志式的操作请求。5.根据权利要求4所述的元数据的处理方法,其特征在于,在所述获取处理所述元数据得到的日志记录之后,所述方法还包括:发送所述日志记录至日志处理链表,以供所述第一日志服务线程的处理。6.根据权利要求5所述的元数据的处理方法,其特征在于,所述日志处理链表包括多个子链表结构,所述子链表结构构成所述日志处理链表的结点;其中,所述发送所述日志记录至日志处理链表,包括:在所述日志处理链表中确定存储所述日志记录的目标结点,发送所述日志记录至所述目标结点对应的子链表结构的链表尾。7.根据权利要求6所述的元数据的处理方法,其特征在于,所述发送所述日志记录至所述目标结点对应的子链表结构的链表尾,包括:将所述日志记录以及对所述日志记录的回调函数封装为日志对象,并发送所述日志对象至所述目标结点对应的子链表结构的链表尾。8....

【专利技术属性】
技术研发人员:葛凯凯潘晓东
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1