数据修复方法、装置和系统制造方法及图纸

技术编号:8883308 阅读:186 留言:0更新日期:2013-07-04 02:07
本发明专利技术公开了一种数据修复方法、装置和系统,该方法包括:将事物号发送至数据服务器;接收数据服务器反馈的存储结果,其中,数据服务器反馈的存储结果用于表示该数据服务器对事物号的存储情况;根据存储结果判断存储出现异常的数据服务器,并根据其他数据服务器存储的数据对该数据服务器的数据进行修复。本发明专利技术通过判断出现异常的数据服务器,并根据其他数据服务器存储的数据对该异常数据服务器的数据进行修复,能够借助尽可能少的信令开销准确地获知出现异常的数据服务器,避免对元数据服务器进行大量访问,并且能够有效提高数据一致性。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体地,涉及一种数据修复方法、装置和系统
技术介绍
在当今的分布式文件系统架构中,包括两种架构的文件系统:(I)带内模式(In-band Mode):文件系统为元数据和数据混合在一起存储;(2)带外模式(Out-band Mode):文件系统为元数据和数据分离存储。具体地,带内模式的文件系统的存储能力受到磁盘容量的限制,导致其吞吐能力受到磁盘I/o和网络I/O的限制,因此难于满足目前应用的需要。带外模式的文件系统将应用服务器直接与存储设备相连接,能够提高数据的传输能力并减少了数据的延时;并且,由于只有在传输关于文件信息的元数据时才经过元数据服务器(MDS)处理,所以能够有效减少数据传输的中间环节,提高了传输效率,减轻了元数据服务器的负载。针对目前已有的带外文件系统,为了保证其中数据部分的可靠性和一致性,通常采用Raid (廉价磁盘冗余阵列)技术。常用采用的技术包括Raid-O技术、Raid-5技术和Raid-6技术,并且会进一步采用Erasure Code (纠删码)技术使系统在有一定程度的冗余过程中,达到高可用的目的。上述备份技术可以认为是对数据服务器(DS)进行重新划分条带,因此,现在的带外模式的分布式文件系统的模型如图1所示。参见图1,该系统包括客户端、多个元数据服务器(MDS)以及多组数据服务器。目前,带外模式 下主要通过以下两种方式来恢复数据(即文中所述的数据修复):(方式一)借助元数据服务器,将不一致的节点的数据信息保存在元数据服务器上,当节点出现异常时,通过元数据服务器将数据恢复到一致;(方式二)由自身来维护DS的信息,当DS出现异常时,由DS自身计算或者什么其他手段将数据恢复到一致。但是,上述方式一会使系统对元数据服务器的访问量明显增加,影响元数据的操作。而上述方式二则存在难以找到一致点的问题,影响数据恢复的正确性,同时,上述方式二的数据恢复操作不能够及时进行,会导致客户端读取到错误的数据。针对相关技术中数据修复方案对元数据服务器访问量大、数据修复不准确的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中数据修复方案对元数据服务器访问量大、数据修复不准确的问题,本专利技术提出一种数据修复方法、装置和系统,能够避免对元数据服务器进行大量访问,并且能够有效提高数据一致性。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种数据修复方法。该数据修复方法包括:将事物号发送至数据服务器;接收数据服务器反馈的存储结果,其中,数据服务器反馈的存储结果用于表示该数据服务器对事物号的存储情况;根据存储结果判断存储出现异常的数据服务器,并根据其他数据服务器存储的数据对该数据服务器的数据进行修复。此外,该数据修复方法进一步包括:数据服务器将成功接收的事物号作为存储结果并反馈该存储结果。其中,根据存储结果判断存储出现异常的数据服务器包括:如果一数据服务器反馈的事物号少于之前发送至该数据服务器的事物号,则确定该数据服务器的存储出现异常。而且,根据其他数据服务器存储的数据对该数据服务器的数据进行修复包括:从其他数据服务器获取需要存储的数据,根据该获取的数据中对应于该对应于该存储出现异常的数据服务器未反馈的事物号所对应的数据,对该存储出现异常的数据服务器的数据进行修复。并且,根据其他数据服务器存储的数据对该数据服务器的数据进行修复包括:从其他服务器获取需要存储的数据,并根据该获取的数据对该存储出现异常的数据服务器的数据进行修复。根据本专利技术的另一个方面,提供了 一种数据修复装置。该数据修复装置包括:发送模块,用于将事物号发送至数据服务器; 接收模块,用于接收数据服务器反馈的存储结果,其中,数据服务器反馈的存储结果用于表示该数据服务器对事物号的存储情况;修复模块,用于根据存储结果判断存储出现异常的数据服务器,并根据其他数据服务器存储的数据对该数据服务器的数据进行修复。其中,接收模块接收的反馈结果为数据服务器成功接收的事物号。而且,修复模块用于在一数据服务器反馈的事物号少于之前发送至该数据服务器的事物号的情况下,确定该数据服务器的存储出现异常。并且,修复模块具体用于从其他数据服务器获取需要存储的数据,根据该获取的数据中对应于该对应于该存储出现异常的数据服务器未反馈的事物号所对应的数据,对该存储出现异常的数据服务器的数据进行修复。根据本专利技术的再一个方面,提供了 一种数据修复系统。该数据修复系统包括元数据服务器、多个数据服务器、以及根据上述数据修复装置,其中,数据修复装置设置于指定数据服务器中,其中,指定数据服务器由元数据服务器指定。本专利技术通过判断出现异常的数据服务器,并根据其他数据服务器存储的数据对该异常数据服务器的数据进行修复,能够借助尽可能少的信令开销准确地获知出现异常的数据服务器,避免对元数据服务器进行大量访问,并且能够有效提高数据一致性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中带外模式的分布式文件系统的模型框图;图2是根据本专利技术实施例的数据修复方法的流程图;图3是根据本专利技术实施例的数据修复装置的框图;图4是根据本专利技术实施例的数据修复过程中元数据服务器侧操作的示意图;图5和图6是根据本专利技术实施例的数据修复过程中客户端操作的示意图;图7是根据本专利技术实施例的数据修复方案中数据服务器侧操作的示意图;图8是根据本专利技术实施例的数据修复方案中虚拟服务器重选操作的示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了 一种数据修复方法。如图2所示,根据本专利技术实施例的数据修复方法包括:步骤S201,将事物号发送至数据服务器; 步骤S203,接收数据服务器反馈的存储结果,其中,数据服务器反馈的存储结果用于表示该数据服务器对事物号的存储情况;步骤S205,根据存储结果判断存储出现异常的数据服务器,并根据其他数据服务器存储的数据对该数据服务器的数据进行修复。此外,该数据修复方法进一步包括:数据服务器将成功接收的事物号作为存储结果并反馈该存储结果。其中,根据存储结果判断存储出现异常的数据服务器包括:如果一数据服务器反馈的事物号少于之前发送至该数据服务器的事物号,则确定该数据服务器的存储出现异常。而且,根据其他数据服务器存储的数据对该数据服务器的数据进行修复包括:从其他数据服务器获取需要存储的数据,根据该获取的数据中对应于该对应于该存储出现异常的数据服务器未反馈的事物号所对应的数据,对该存储出现异常的数据服务器的数据进行修复。并且,根据其他数据服务器存储的数据对该数据服务器的数据进行修复包括:从其他服务器获取需要存储的数据,并根据该获取的数据对该存储出现异常的数据服务器的数据进行修复。 根据本专利技术的实施例,还提供了 一种数据修复装置。如图3所本文档来自技高网
...

【技术保护点】
一种数据修复方法,其特征在于,所述方法包括:将事物号发送至数据服务器;接收所述数据服务器反馈的存储结果,其中,数据服务器反馈的存储结果用于表示该数据服务器对所述事物号的存储情况;根据所述存储结果判断存储出现异常的数据服务器,并根据其他数据服务器存储的数据对该数据服务器的数据进行修复。

【技术特征摘要】

【专利技术属性】
技术研发人员:李博张玉龙张东阳苗艳超刘新春邵宗有
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

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

1