专利名称:一种分布式文件系统中校验和同步数据块的方法及装置的制作方法
技术领域:
本发明属于数据存储领域,尤其涉及一种分布式文件系统中校验和同步数 据块的方法及装置。
背景技术:
随着多媒体产业的迅猛发展,出于成本、可靠性等多方面的考虑,越来越 多的厂商选择在产品中部署自研的分布式存储系统,分布式文件系统也因此得 到了快速的发展。
在现有的分布式文件系统架构中,文件一般都被分割成多个数据块进行
存储;为了保证系统的健壮性及灾难恢复能力,数据块一般又会有多个备份分 别存放于不同的物理位置。这样就存在一个对这些数据块进行校验及同步的问 题,以保证这些数据块的一致性,即保证这些数据块中所存储的有效数据都是 相同的。现有这种架构的分布式文件系统中对这些数据块的校验和同步都是由 元数据服务器来发起和进行的。如果数据块达到一定数量,会导致元数据服务 器消耗大量的时间在数据块的校验和同步上面,影响了用户操作的响应速度, 从而对系统性能造成影响。尤其在IPTV等对实时性、用户体验要求较高的系统 中,元数据服务器在数据块的校验和同步上面消耗大量时间,将严重影响了用 户操作的响应速度和系统的性能。
发明内容
本发明的目的在于提供一种分布式文件系统中校验和同步数据块的方法及装置,旨在解决现有技术下,分布式文件系统中元数据服务器在校验和同步数 据块时消耗大量时间,严重影响了用户搡作的响应速度的问题。
本发明是这样实现的, 一种分布式文件系统中校验和同步数据块的方法,
所述方法包括
所述元数据服务器向所述主数据块服务器发起数据块校验请求; 所述主数据块服务器对其组内从数据块服务器管理的所有数据块信息进行
校验,再并根据校验结果进行同步,然后将校验和同步的结果上报给所述元数
据服务器;
所述元数据服务器根据上报的校验和同步的结果对元数据信息进行更新。 本发明的另 一 目的在于提供一种分布式文件系统中校验和同步数据块的装
置,分布式文件系统包括有元数据服务器、it据块服务器和存储媒介;元数据
服务器在同组数据块服务器中指定其中 一个为主数据块服务器,其它的为从数
据块服务器;所述装置包括
校验发起单元,用于向所述主数据块服务器发起数据块校验请求; 校验和同步单元,用于对所述主数据块服务器组内的从数据块服务器管理
的所有数据块信息进行校验,再并根据校验结果对主从数据块进行同步,然后
将校验和同步的结果上报给所述元数据服务器;
元数据信息更新单元,用于根据上报的校验和同步的结果对元数据信息进
行更新。
本发明的有益效果是,在校验和同步数据块的过程中只有很少部分由元数 据服务器处理,所占用元数据服务器的时间极少,从而保证了元数据服务器对 用户指令的反应速度及系统的性能。
图1是现有技术提供的一种分布式文件系统的系统结构图; 图2是本发明实施例提供的一种分布式文件系统中校验和同步数据块的方 法流程图3是本发明实施例提供的一种分布式文件系统中校验和同步数据块的具 体方法流程图4是本发明实施例提供的一种分布式文件系统中检验和同步数据块的装 置结构图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,元数据服务器发起校验和同步数据块后,由元数据服 务器指定数据块服务器组中的一个数据块服务器作为主数据块服务器,该主数 据服务器收集组内的数据块信息并完成校验和同步,然后将结果上报元数据服 务器。这样,整个校验和同步数据块的过程仅占用元数据服务器极少量的时间, 从而保证了对用户指令的响应速度和系统的性能。
图1示出了现有技术提供的一种分布式文件系统的系统结构。该分布式文 件系统中包括有元数据服务器、数据块服务器和作为存储介质的磁盘。元数据 服务器指定同一组数据块服务器的其中一个作为主数据块服务器,及指定其余 的数据块服务器作为从数据块服务器。主数据块服务器管理的存储介质中数据块。该系统中各部分功能如下
元数据服务器负责管理系统内所有文件的文件名、数据块、文件与数据 块的对应关系等元数据信息;并向文件访问客户端提供元数据写入和查询等操 作接口。
数据块服务器负责与本节点内的存储介质进行交互,进行实际数据块的 读写操作;管理存储媒介上存储的数据块信息;响应文件访问客户端的数据读 写请求,从存储媒介上读取数据并返回给文件访问客户端;从文件访问客户端 读取数据并写入存储媒介。
数据块校验对主数据块和从数据块的一致性进行校验,主要校验内容为 数据块大小及数据块的版本号。
数据块同步对校验为不一致的数据块进行同步,同步方式主要为数据块 完全或部分复制。
图2示出了本发明实施例提供的一种分布式文件系统中校验和同步数据块 的方法流程。该方法用于上述分布式文件系统中,开始校验时,元数据服务器 需要在同组数据块服务器中指定一个数据块服务器为主数据块服务器。该方法 包括以下步骤
在步骤S201中,元数据服务器向主数据块服务器发起数据块校验请求。
在步骤S202中,主数据块服务器对其组内从数据块服务器管理的所有数据 块信息进行校验,再并根据校验结果进行同步,然后将校验和同步的结果上报 给所述元数据服务器。
在步骤S203中,元数据服务器根据主数据块服务器上报的结果对相应的数 据块元数据进行更新。
这样,在对数据块信息进行校验和同步的过程中,元数据服务器仅发起校验请求和根据校验结果对元数据信息进行更新。元数据服务器所要做的工作就 极少且极简单,故其所消耗的资源也就十分少。因此,元数据服务器在完成数 据块校验的同时并不会影响到其它业务,也就是说其完全可以很好地保证在完 成数据块校验同时对用户指令的响应速度或其它性能不受到干扰。
图3示出了本发明实施例提供的一种分布式文件系统中校验和同步数据块 的具体方法流程。元数据服务器被其数据块校验及同步的定时器触发,开始
数据块校验流程;元数据服务器构造分布式文件系统内所有的作为存储介质的
》兹盘主从关系表; 石兹盘主从关系表构造完成后,在主从》兹盘组中指定主;兹
盘所在的数据块服务器为主数据块服务器。该具体方法流程步骤如下
在步骤S301中,元数据库服务器向主数据块服务器发起数据块校验请求; 在步骤S302中,主数据块服务器收到数据块校验请求,向其从数据块服务
器发起数据块搜集请求。
主数据块服务器收到元数据服务器发送的数据块校验请求后,开始发起
本组内的数据块校验流程。
主数据块服务器从元数据服务器发送的数据块校验请求信息中,获取到本
组内所有数据块服务器的信息,并分别向本组内每个从数据块服务器发送数据
块搜集请求。
在步骤S303中,各从数据块服务器收到数据块搜集请求后,将其所管理 的数据块信息上报给主数据块服务器;
本领域的技术人员可以理解,与主数据块服务器同组的从数据块服务器可 以有很多个。为了便于描述,在图3中仅示出两个从数据块服务器。
在步骤S304中,主数据块服务器收到从数据块服务器上报的数据块信 息后,将其记录在緩沖区中,收到所有从数据块服务器上报的数据块信息后,开始进行数据块的校验。
在步骤S305中,主数据块服务器对緩沖区中保存的每组数据块信息进 行校验,并将校验结果记录下来。
在步骤S306中,在所有数据块信息都校验完成后,主数据块服务器开始 数据块同步过程。
主数据块服务器根据校验结果对主从数据块中不一致的部分进行同步,实 际的同步过程可能涉及到数据块的复制等4喿作。
在步骤S308中,所有需要同步的数据块同步完成后,主数据块服务器就 完成了数据块的校验及同步过程,将校验及同步结果上报给元数据服务器;
在步骤S309中,元数据服务器根据各主数据块服务器上报的校验及同 步结果对相应的数据块元数据信息进行修改和更新。
图4示出了本发明实施例提供的一种分布式文件系统中校验和同步数据块 的装置结构。为了便于描述,这里仅示出与本发明相关的部分。分布式文件系 统具体结构如上所述。该装置结构包括
校验发起单元401,用于向所述主数据块服务器发起数据块校验请求;具体 如上所述。
校验和同步单元402,用于对所述主数据块服务器组内的从数据块服务器管 理的所有数据块信息进行校验,再并根据校验结果对主从数据块进行同步,然 后将校验和同步的结果上报给所述元数据服务器;具体如上所述。
元数据信息更新单元403,用于根据上报的校验和同步的结果对元数据信息 进行更新;具体如上所述。
校验和同步单元402包括数据块信息收集子单元4021。 lt据块信息收集子 单元4021用于向主数据块服务器所在组内的从数据块服务器发送数据块收集请求,并接收到所有所述从数据块服务器上报的其所管理的数据块信息后发起数
据块校验;具体如上所述。
在本发明实施例中,由主数据块服务器完成校验和同步数据块可以减少元 数据服务器的负担;主数据服务器将从数据服务器的数据块信息收集后再进行 校验可以加快校验速度;主数据服务器从元数据服务器发送的数据块校验请求 信息中,获取到本组内所有数据块服务器的信息,可以更加实时获取到本组内 准确的数据块服务器的信息;主数据块服务器将所述上报的数据块信息记录在 緩冲区中,方便集中进行校验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种分布式文件系统中校验和同步数据块的方法,其特征在于,所述方法包括元数据服务器向主数据块服务器发起数据块校验请求;所述主数据块服务器对其组内从数据块服务器管理的所有数据块信息进行校验,再并根据校验结果进行同步,然后将校验和同步的结果上报给所述元数据服务器;所述元数据服务器根据上报的校验和同步的结果对元数据信息进行更新。
2、 如权利要求l所述的方法,其特征在于,所述主数据块服务器对其组内 从数据块服务器管理的所有数据块信息进行数据块校验为主数据块服务器向其组内从数据块服务器发送数据块收集请求; 从数据块服务器上报其所管理的数据块信息给主数据块服务器; 主数据块服务器收到其组内所有从数据块服务器上报的数据块信息后,进 行数据块的校验。
3、 如权利要求2所述的方法,其特征在于,所述主数据块服务器向其组 内从数据块服务器发送数据块收集请求步骤之前还包括主数据块服务器从元 数据服务器发送的数据块校验请求信息中,获取到本组内所有数据块服务器的 信息。
4、 如权利要求2所述的方法,其特征在于,所述从数据块服务器上报其所 管理的数据块信息给主数据块服务器后,主数据块服务器将所述上报的数据块 信息记录在緩冲区中。
5、 如权利要求1至4任一权利要求所述的方法,其特征在于,所述进行数 据块的校验,是对主数据块和从数据块的一致性进行校验。
6、 如权利要求5所述的方法,其特征在于,所述进行校验的内容为数据块大小及数据块的版本号。
7、 如权利要求1至4任一权利要求所述的方法,其特征在于,所述根据校 验结果对主从数据块进行同步是指根据校验结果对主从数据块中不一致的部分 进行同步。
8、 如权利要求1至4任一权利要求所述的方法,其特征在于,所述元数据 服务器向所述主数据块服务器发起数据块校验请求是由定时器触发元数据服务 器发起的。
9、 一种分布式文件系统中校验和同步数据块的装置,分布式文件系统包括 有元数据服务器、数据块服务器和存储媒介;元数据服务器在同组数据块服务 器中指定其中一个为主数据块服务器,其它的为从数据块服务器;其特征在于, 所述装置包括校验发起单元,用于向所述主数据块服务器发起数据块校验请求; 校验和同步单元,用于对所述主数据块服务器组内的从数据块服务器管理的所有数据块信息进行校验,再并根据校验结果对主从数据块进行同步,然后将校验和同步的结果上报给所迷元数据服务器;元数据信息更新单元,用于根据上报的校验和同步的结果对元数据信息进行更新。
10、 如权利要求9所述的装置,其特征在于,所述才交验和同步单元包括 数据块信息收集子单元,用于向主数据块服务器所在组内的从数据块服务器发送数据块收集请求,并接收到所有所述从数据块服务器上报的其所管理的 数据块信息后发起数据块校验。
全文摘要
本发明适用于数据存储领域,提供了一种分布式文件系统中校验和同步数据块的方法及系统。分布式文件系统包括相互链接的元数据服务器、数据块服务器和存储媒介;元数据服务器在同组数据块服务器中指定其中一个为主数据块服务器,其它的为从数据块服务器;所述方法包括所述元数据服务器向所述主数据块服务器发起数据块校验请求;所述主数据块服务器对其组内从数据块服务器管理的所有数据块信息进行校验,再并根据校验结果进行同步,然后将校验和同步的结果上报给所述元数据服务器;所述元数据服务器根据上报的校验和同步的结果对元数据信息进行更新。这样,元数据服务器只用极少的时间就完成对数据库的校验和同步。
文档编号H04L29/08GK101582920SQ20091010805
公开日2009年11月18日 申请日期2009年6月9日 优先权日2009年6月9日
发明者夏舰波, 波 张, 杰 彭 申请人:中兴通讯股份有限公司