《分布式存储系统中数据统一的方法和以太接口硬盘.pdf》由会员分享,可在线阅读,更多相关《分布式存储系统中数据统一的方法和以太接口硬盘.pdf(22页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104021049 A (43)申请公布日 2014.09.03 C N 1 0 4 0 2 1 0 4 9 A (21)申请号 201410209902.6 (22)申请日 2014.05.16 G06F 11/00(2006.01) H04L 29/08(2006.01) (71)申请人华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人雷晓松 (74)专利代理机构北京中博世达专利商标代理 有限公司 11274 代理人申健 (54) 发明名称 分布式存储系统中数据统一的方法和以太接 口硬盘 (57) 摘要 本发明公开了一种分。
2、布式存储系统中数据统 一的方法和以太接口硬盘,属于计算机技术领域, 为解决现有技术中在以太接口硬盘失效并恢复正 常状态时,分别接收到多组数据并写入同一存储 区域而出现的数据不一致的问题而设计。一种分 布式存储系统中数据统一的方法,其特征在于, 包括:当目标以太接口硬盘处于失效状态时,接 收需要写入所述目标以太接口硬盘的数据;获取 时钟信息;根据所述时钟信息对所述数据进行标 记,以便于当所述目标以太接口硬盘恢复正常状 态时,所述目标以太接口硬盘根据接收到的多组 数据的时钟信息,选择目标数据写入所述目标以 太接口硬盘的目标存储区域。 (51)Int.Cl. 权利要求书2页 说明书11页 附图8页 。
3、(19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图8页 (10)申请公布号 CN 104021049 A CN 104021049 A 1/2页 2 1.一种分布式存储系统中数据统一的方法,其特征在于,包括: 当目标以太接口硬盘处于失效状态时,接收需要写入所述目标以太接口硬盘的数据; 获取时钟信息; 根据所述时钟信息对所述数据进行标记,以便于当所述目标以太接口硬盘恢复正常状 态时,所述目标以太接口硬盘根据接收到的多组数据的时钟信息,选择目标数据写入所述 目标以太接口硬盘的目标存储区域。 2.根据权利要求1所述的方法,其特征在于,在所述获取时钟信息之前。
4、,还包括: 获取所属集群中的至少三个本地时钟的时钟信息; 根据所述至少三个本地时钟的时钟信息计算出平均时钟信息; 根据所述平均时钟信息对所述集群中的以太接口硬盘的本地时钟进行校准。 3.根据权利要求2所述的方法,其特征在于,所述根据所述至少三个本地时钟的时钟 信息计算出平均时钟信息,包括: 根据所述至少三个本地时钟的时钟信息计算出预估平均时钟信息; 从所述至少三个本地时钟中清除偏差时钟的时钟信息,所述偏差时钟为时钟信息超出 所述预估平均时钟信息的预设方差范围的本地时钟; 根据清除了所述偏差时钟后的至少两个本地时钟的时钟信息计算出平均时钟信息。 4.根据权利要求1所述的方法,其特征在于,所述获取。
5、时钟信息,包括: 当与所述目标以太接口硬盘属于同一集群时,从所述集群中设置的网络时钟协议NTP 时钟获取时钟信息。 5.根据权利要求1所述的方法,其特征在于,所述获取时钟信息,包括: 从所设置的绝对时钟源获取时钟信息。 6.根据权利要求1所述的方法,其特征在于,所述时钟信息为向量时钟信息。 7.一种以太接口硬盘,其特征在于,包括: 接收单元,用于当目标以太接口硬盘处于失效状态时,接收需要写入所述目标以太接 口硬盘的目标存储区域的数据; 获取单元,用于获取时钟信息; 标记单元,用于根据所述时钟信息对所述数据进行标记,以便于当所述目标以太接口 硬盘恢复正常状态时,所述目标以太接口硬盘根据接收到的多。
6、组数据的时钟信息,选择目 标数据写入所述目标以太接口硬盘的目标存储区域。 8.根据权利要求1所述的以太接口硬盘,其特征在于,所述获取单元,包括: 获取模块,用于获取所属集群中的至少三个本地时钟的时钟信息; 计算模块,用于根据所述至少三个本地时钟的时钟信息计算出平均时钟信息; 校准模块,用于根据所述平均时钟信息对所述集群中的以太接口硬盘的本地时钟进行 校准。 9.根据权利要求8所述的以太接口硬盘,其特征在于,所述计算模块包括: 预估子模块,用于根据所述至少三个本地时钟的时钟信息计算出预估平均时钟信息; 清除子模块,用于从所述至少三个本地时钟中清除偏差时钟的时钟信息,所述偏差时 钟为时钟信息超出所。
7、述预估平均时钟信息的预设方差范围的本地时钟; 计算子模块,用于根据清除了所述偏差时钟后的至少两个本地时钟的时钟信息计算出 权 利 要 求 书CN 104021049 A 2/2页 3 平均时钟信息。 10.根据权利要求8所述的以太接口硬盘,其特征在于, 所述获取模块,还用于当与所述目标以太接口硬盘属于同一集群时,从所述集群中设 置的网络时钟协议NTP时钟获取时钟信息。 11.根据权利要求8所述的以太接口硬盘,其特征在于, 所述获取模块,还用于从所设置的绝对时钟源获取时钟信息。 12.根据权利要求7所述的以太接口硬盘,其特征在于,所述时钟信息为向量时钟信 息。 权 利 要 求 书CN 10402。
8、1049 A 1/11页 4 分布式存储系统中数据统一的方法和以太接口硬盘 技术领域 0001 本发明涉及计算机技术领域,尤其涉及一种分布式存储系统中数据统一的方法和 以太接口硬盘。 背景技术 0002 随着分布式存储系统的兴起,以太接口硬盘的使用也逐步的普及。通过多个以太 接口硬盘之间形成以太接口硬盘集群,并通过分布式存储控制设备的协同,支持更大容量 的存储服务。 0003 在构成集群的多个以太接口硬盘中,以太接口硬盘会出现因链路闪断、扇区或磁 道损坏等原因而导致该以太接口硬盘的局部失效,该失效的以太接口硬盘称为目标以太接 口硬盘。此时,针对该以太接口硬盘的数据无法进行存储,需要集群中的其他。
9、以太接口硬盘 对需要写入失效的以太接口硬盘的数据进行暂存。在目标以太接口硬盘恢复并重新加入集 群后,其他以太接口硬盘需要将该数据重新写入目标以太接口硬盘。 0004 但是,在目标以太接口硬盘局部失效的情况下,可能对于目标以太接口硬盘的目 标存储区域进行了多次写入操作,那么,在目标以太接口硬盘恢复时,将会有多组数据分别 写入目标以太接口硬盘的目标存储区域。此时,多组数据分别写入目标存储区域块中,会出 现目标存储区域中所存储的多组数据之间的冲突,导致数据不一致,从而降低了分布式存 储系统中数据存储的可靠性。 发明内容 0005 本发明的实施例提供一种分布式存储系统中数据统一的方法和以太接口硬盘,提。
10、 高了分布式存储系统中数据存储的可靠性。 0006 为达到上述目的,本发明的实施例采用如下技术方案: 0007 第一方面,本发明提供了一种分布式存储系统中数据统一的方法,包括: 0008 当目标以太接口硬盘处于失效状态时,接收需要写入所述目标以太接口硬盘的数 据; 0009 获取时钟信息; 0010 根据所述时钟信息对所述数据进行标记,以便于当所述目标以太接口硬盘恢复正 常状态时,所述目标以太接口硬盘根据接收到的多组数据的时钟信息,选择目标数据写入 所述目标以太接口硬盘的目标存储区域。 0011 结合本发明的第一方面,在本发明第一方面第一种可能的实现方式中,在所述获 取时钟信息之前,还包括: 。
11、0012 获取所属集群中的至少三个本地时钟的时钟信息; 0013 根据所述至少三个本地时钟的时钟信息计算出平均时钟信息; 0014 根据所述平均时钟信息对所述集群中的以太接口硬盘的本地时钟进行校准。 0015 结合本发明第一方面第一种可能的实现方式,在本发明第一方面的第二种可能的 说 明 书CN 104021049 A 2/11页 5 实现方式中,所述根据所述至少三个本地时钟的时钟信息计算出平均时钟信息,包括: 0016 根据所述至少三个本地时钟的时钟信息计算出预估平均时钟信息; 0017 从所述至少三个本地时钟中清除偏差时钟的时钟信息,所述偏差时钟为时钟信息 超出所述预估平均时钟信息的预设方。
12、差范围的本地时钟; 0018 根据清除了所述偏差时钟后的至少两个本地时钟的时钟信息计算出平均时钟信 息。 0019 结合本发明的第一方面第一种可能的实现方式,在本发明第一方面第三种可能的 实现方式中,所述获取时钟信息,包括: 0020 当与所述目标以太接口硬盘属于同一集群时,从所述集群中设置的网络时钟协议 NTP时钟获取时钟信息。 0021 结合本发明的第一方面第一种可能的实现方式,在本发明第一方面第四种可能的 实现方式中,所述获取时钟信息,包括: 0022 从所设置的绝对时钟源获取时钟信息。 0023 结合本发明的第一方面,在本发明第一方面第五种可能的实现方式中,所述时钟 信息为向量时钟信息。
13、。 0024 第二方面,本发明提供了一种以太接口硬盘,包括: 0025 接收单元,用于当目标以太接口硬盘处于失效状态时,接收需要写入所述目标以 太接口硬盘的目标存储区域的数据; 0026 获取单元,用于获取时钟信息; 0027 标记单元,用于根据所述时钟信息对所述数据进行标记,以便于当所述目标以太 接口硬盘恢复正常状态时,所述目标以太接口硬盘根据接收到的多组数据的时钟信息,选 择目标数据写入所述目标以太接口硬盘的目标存储区域。 0028 结合本发明的第二方面,在本发明第二方面第一种可能的实现方式中,所述获取 单元,包括: 0029 获取模块,用于获取所属集群中的至少三个本地时钟的时钟信息; 0。
14、030 计算模块,用于根据所述至少三个本地时钟的时钟信息计算出平均时钟信息; 0031 校准模块,用于根据所述平均时钟信息对所述集群中的以太接口硬盘的本地时钟 进行校准。 0032 结合本发明第二方面的第一种可能的实现方式,在本发明第二方面第二种可能的 实现方式中,所述计算模块包括: 0033 预估子模块,用于根据所述至少三个本地时钟的时钟信息计算出预估平均时钟信 息; 0034 清除子模块,用于从所述至少三个本地时钟中清除偏差时钟的时钟信息,所述偏 差时钟为时钟信息超出所述预估平均时钟信息的预设方差范围的本地时钟; 0035 计算子模块,用于根据清除了所述偏差时钟后的至少两个本地时钟的时钟信。
15、息计 算出平均时钟信息。 0036 结合本发明第二方面第一种可能的实现方式,在本发明第二方面第三种可能的实 现方式中,所述获取模块,还用于当与所述目标以太接口硬盘属于同一集群时,从所述集群 中设置的网络时钟协议NTP时钟获取时钟信息。 说 明 书CN 104021049 A 3/11页 6 0037 结合本发明第二方面第一种可能的实现方式,在本发明第二方面的第四种可能的 实现方式中,所述获取模块,还用于从所设置的绝对时钟源获取时钟信息。 0038 结合本发明的第二方面,在本发明第二方面第五种可能的实现方式中,所述时钟 信息为向量时钟信息。 0039 本发明实施例提供的一种分布式存储系统中数据统。
16、一的方法和以太接口硬盘,当 目标以太接口硬盘失效且以太接口硬盘代替所述目标以太接口硬盘接收数据时,通过获取 时钟信息对数据进行标记,从而在目标以太接口硬盘恢复正常状态时,能够根据所标记的 时钟信息使目标以太接口硬盘从多组数据中选择目标数据写入目标以太接口硬盘的目标 存储区域,避免当目标以太接口硬盘从失效状态恢复到正常状态时,接收到多组写入其目 标存储区域的数据而导致分布式存储系统中的数据不一致,提高了分布式存储系统中的数 据存储的可靠性。 附图说明 0040 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅。
17、是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附 图获得其他的附图。 0041 图1为本发明所述一种分布式存储系统的示意图; 0042 图2为本发明所述的一种分布式存储系统中数据统一的方法的流程图; 0043 图3为本发明所述的另一种分布式存储系统中数据统一的方法的流程图; 0044 图4为本发明实施例所述的分布式存储系统的示意图; 0045 图5为本发明实施例所述的一种分布式存储系统中数据统一的方法的流程图; 0046 图6为本发明另一实施例所述的分布式存储系统的示意图; 0047 图7为本发明另一实施例所述的一种分布式存储系统中数据统一的方法。
18、的流程 图; 0048 图8为本发明另一实施例所述的分布式存储系统的示意图; 0049 图9为本发明另一实施例所述的一种分布式存储系统中数据统一的方法的流程 图; 0050 图10为本发明所述的一种以太接口硬盘的结构示意图; 0051 图11为本发明所述的一种以太接口硬盘的结构示意图。 具体实施方式 0052 下面结合附图对本发明实施例所述的一种分布式存储系统中数据统一的方法和 装置进行详细描述。 0053 应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基 于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其 他实施例,都属于本发明保护的范围。。
19、 0054 在本发明所述的分布式存储系统中,如图1所示,包括多个以太接口硬盘。在多个 以太接口硬盘中,包括一个作为需要接收集群控制器所发送的数据的目标以太接口硬盘。 说 明 书CN 104021049 A 4/11页 7 当该目标以太接口硬盘出现链路闪断、硬盘重启或硬盘扇区或磁道损坏时,则会出现目标 以太接口硬盘失效的情况。此时,在多个以太接口硬盘中,还包括一个作为代替目标以太接 口硬盘接收数据的以太接口硬盘。代替目标以太接口硬盘接收数据的以太接口硬盘可以通 过多个以太接口硬盘协商分配,也可以通过集群控制器进行分配。该多个以太接口硬盘可 以形成有一个集群,也可以形成有多个集群,因此,目标以太接。
20、口硬盘与代替目标以太接口 硬盘接收数据的以太接口硬盘可以处于一个集群中,也可以分属于不同的集群。需要说明 的是,该以太接口硬盘也被称为智能硬盘、IP硬盘(即,希捷公司发布的Kinetic硬盘)。 0055 一种分布式存储系统中数据统一的方法,如图2所示,包括: 0056 S100、当目标以太接口硬盘处于失效状态时,接收需要写入所述目标以太接口硬 盘的数据。 0057 所述数据中包含主键,所述主键,用于标识写入所述数据的目标存储区域。在获取 数据时,通过数据中的主键确定该数据需要写入的目标以太接口硬盘中的位置,即通过主 键确定目标存储区域。 0058 S101、获取时钟信息。 0059 为了便于。
21、说明,代替目标以太接口硬盘接收数据的以太接口硬盘称为第一以太接 口硬盘。所述时钟信息可以来源于多种时钟源,例如在以太接口硬盘获取数据时,可以通过 以太接口硬盘对所述数据标记向量时钟,那么在该数据中便包含向量时钟信息;当目标以 太接口硬盘和第一以太接口硬盘处于一个集群内时,可以将集群中所设置的NTP时钟作为 时钟源获取NTP时钟信息;在多个集群中,可以设置分别设置一个绝对时钟源,例如全球定 位系统GPS时钟,当目标以太接口硬盘和第一以太接口硬盘处于不同集群内时,分别获取 所属的集群中的绝对时钟。 0060 另外,目标以太接口硬盘和第一以太接口硬盘处于相同或不同的集群中时,可以 分别从目标以太接口。
22、硬盘所属的集群中和第一以太接口硬盘所属的集群中获取至少三个 以太接口硬盘的本地时钟,并计算出本地时钟的平均值,根据该平均值对一个集群中的所 有以太接口硬盘的本地时钟进行校准,其中,所获取的至少三个本地时钟的时钟信息不包 括已经失效的以太接口硬盘的本地时钟。 0061 在获取至少三个本地时钟时,可以首先计算出多个以太接口硬盘的平均时钟信 息;然后,根据预设方差范围,选择未超出备选时钟的预设方差范围的本地时钟的时钟信 息,即在计算平均时钟信息时将超出平均时钟信息的预设方差范围的本地时钟舍弃,避免 跳变或误差较大的一个本地时钟给平均时钟信息带来较大偏差,提高时钟信息的准确性, 进而提高分布式存储系统。
23、的数据存储的可靠性。 0062 此处的获取时钟信息,可以通过以太接口硬盘进行直接获取,也可以在集群控制 器获取后,将该时钟信息发送给以太接口硬盘,从而使以太接口硬盘获取该时钟信息。 0063 S102、根据所述时钟信息对所述数据进行标记,以便于当所述目标以太接口硬盘 恢复正常状态时,所述目标以太接口硬盘根据接收到的多组数据的时钟信息,选择目标数 据写入所述目标以太接口硬盘的目标存储区域。 0064 第一以太接口硬盘根据获取的时钟信息对数据进行标记,以记录数据生成的时 间,从而使目标以太接口硬盘得知该数据是何时写入的。在目标以太接口硬盘恢复正常状 态时,会告知集群控制器和集群中的其他以太接口硬盘。
24、;集群控制器获知该通知后,集群控 说 明 书CN 104021049 A 5/11页 8 制器会通知第一以太接口硬盘将代替存储的数据发送回目标以太接口硬盘。 0065 此时,因为将第一以太接口硬盘中的数据发送会目标以太接口硬盘,数据的写入 需要一段时间才能完成。此时,会有新的数据发送至目标以太接口硬盘,如果根据该数据中 的主键确定需要写入与上述相同的目标存储区域的话,那么,两组数据之间便会存在冲突 而导致最终写入目标存储区域的数据不一致。 0066 但是,在目标以太接口硬盘接收到新的数据后,同样会获取一个时钟信息,对新的 数据进行标记。通过时钟信息对两组数据进行分别的标记后,目标以太接口硬盘在。
25、分别接 收到两组数据的情况下,会根据两组数据的时钟信息进行比较。在进行比较后,目标以太接 口硬盘会根据预设选择策略从两组数据中选择一组作为目标数据写入目标存储区域。 0067 需要说明的是,预设选择策略可以根据实际需要进行调整,例如在对两组数据进 行归并时,可以是按照时间信息的升序或降序对数据进行显示;在选择一组数据写入时,会 选择时间信息较新的写入目标存储区域,以保证分布式存储系统中的该数据的一致性。 0068 本发明实施例提供的一种分布式存储系统中数据统一的方法,当目标以太接口硬 盘失效且以太接口硬盘代替所述目标以太接口硬盘接收数据时,通过获取时钟信息对数据 进行标记,从而在目标以太接口硬。
26、盘恢复正常状态时,能够根据所标记的时钟信息使目标 以太接口硬盘从多组数据中选择目标数据写入目标以太接口硬盘的目标存储区域,避免当 目标以太接口硬盘从失效状态恢复到正常状态时,接收到多组写入其目标存储区域的数据 而导致分布式存储系统中的数据不一致,提高了分布式存储系统中的数据存储的可靠性。 0069 当集群中未设置绝对时钟且作为集群时钟的NTP时钟难以保证准确时,那么可以 根据每个以太接口硬盘的本地时钟计算出一个较为精准的时钟,从而对一个或多个集群中 的多个以太接口硬盘的本地时钟的时钟信息进行校准,提高分布式存储系统中数据统一的 准确性和分布式存储系统数据存储的可靠性。可选的,如图3所示,在所述。
27、获取时钟信息之 前,还包括: 0070 S100a、获取所属集群中的至少三个本地时钟的时钟信息; 0071 S100b、根据所述至少三个本地时钟的时钟信息计算出平均时钟信息; 0072 S100c、根据所述平均时钟信息对所述集群中的以太接口硬盘的本地时钟进行校 准。 0073 通过从集群中选择至少三个以太接口硬盘的本地时钟的时钟信息,并根据本地时 钟信息计算出其平均值,即平均时钟信息。最后,根据平均时钟信息对本地时钟信息进行校 准,那么无论集群控制器分配哪一个以太接口硬盘作为代替目标以太接口硬盘接收数据, 都可以保证目标以太接口硬盘和其他以太接口硬盘的时钟信息一致,提高了分布式存储系 统进行数。
28、据统一的可靠性。 0074 另外,在选择本地时钟时,因为本地时钟存在跳变或损坏等问题,而导致平均时钟 信息出现较大偏差,进一步的,为了保证平均时钟信息的准确性,使分布式存储系统数据 存储的可靠性更高,所述根据所述至少三个本地时钟的时钟信息计算出平均时钟信息,包 括: 0075 根据所述至少三个本地时钟的时钟信息计算出预估平均时钟信息; 0076 从所述至少三个本地时钟中清除偏差时钟的时钟信息,所述偏差时钟为时钟信息 超出所述预估平均时钟信息的预设方差范围的本地时钟; 说 明 书CN 104021049 A 6/11页 9 0077 根据清除了所述偏差时钟后的至少两个本地时钟的时钟信息计算出平均。
29、时钟信 息。 0078 通过上述方式将出现偏差的时钟信息清除,从而使平均时钟更加准确,保证平均 时钟信息的准确性,使分布式存储系统数据存储的可靠性更高。 0079 当第一以太接口硬盘和目标以太接口硬盘处于同一集群中时,如果该集群中设置 有一个统一的NTP时钟,便可以通过该NTP时钟进行标记。可选的,所述获取时钟信息,包 括: 0080 当与所述目标以太接口硬盘属于同一集群时,从所设置的NTP时钟获取时钟信 息。 0081 当第一以太接口硬盘和目标以太接口硬盘属于不同集群时,可以通过每个集群中 所设置的绝对时钟源获取时钟信息,因为绝对时钟源是一个统一准确的时钟源,所以获取 的时钟信息已经是统一的。
30、,这样一来,分布式存储系统中数据统一的可靠性也可以得到保 证。可选的,所述获取时钟信息,包括: 0082 从所设置的绝对时钟源获取时钟信息。 0083 另外,通过以太接口硬盘自动生成的向量时钟也可以保证时钟信息的统一。可选 的,所述时钟信息为向量时钟信息。 0084 为了本领域的技术人员更好地理解本发明提供的分布式存储系统中数据统一的 方法的技术方案,下面通过具体的实施例对本发明提供的分布式存储系统中数据统一的方 法进行详细描述。 0085 在本实施例中,分布式存储系统中,如图4所示,包括处于第一集群中的目标以太 接口硬盘、第一以太接口硬盘、第二以太接口硬盘、第三以太接口硬盘和第四以太接口硬 。
31、盘;处于第二集群中的第五以太接口硬盘、第六以太接口硬盘和第七以太接口硬盘;集群 控制器。 0086 本实施例中,分布式存储系统中数据统一的方法,如图5所示,包括: 0087 S1、集群控制器检测以太接口硬盘的工作状态,判断以太接口硬盘是否处于失效 状态。 0088 各个以太接口硬盘可以向集群控制器发送心跳消息,当集群控制器接收到心跳消 息时,便可以知道以太接口硬盘处于正常状态。 0089 如果检测到以太接口硬盘处于失效状态则执行步骤S2,如果未检测到则执行步骤 S1。 0090 S2、集群控制器将第一以太接口硬盘作为代替目标以太接口硬盘的以太接口硬 盘,将需要发送给目标以太接口硬盘的第一数据发。
32、送给第一以太接口硬盘。 0091 S3、第一以太接口硬盘接收第一数据进行存储,获取第一集群中第一以太接口硬 盘、第二以太接口硬盘、第三以太接口硬盘和第四以太接口硬盘的本地时钟的时钟信息,并 根据所获取的本地时钟的时钟信息,计算出第一集群中的平均时钟信息。 0092 第一以太接口硬盘接收到第一数据,并将该第一数据写入空闲存储区域。在写入 后,第一以太接口硬盘获取第一集群中各以太接口硬盘的本地时钟所记录的时钟信息。此 时,为了避免集群中的以太接口硬盘的本地时钟存在偏差,那么在第一以太接口硬盘获取 四个时钟信息后,计算出预估平均时钟信息,根据预设方差范围对四个时钟信息进行检验。 说 明 书CN 10。
33、4021049 A 7/11页 10 例如可以确定第二以太接口硬盘的本地时钟存在问题,可以将其去除,不作为计算参数。此 时,第一以太接口硬盘会根据第一以太接口硬盘、第三以太接口硬盘和第四以太接口硬盘 的时钟信息重新计算平均值,确定平均时钟信息。 0093 S4、第一以太接口硬盘根据平均时钟信息对第一集群中的以太接口硬盘对本地时 钟进行校准。 0094 在第一以太接口硬盘计算出平均时钟信息后,第一以太接口硬盘对自己的本地时 钟进行校准,并可以将平均时钟信息发送给其他的以太接口硬盘。第一集群中的其他以太 接口硬盘接收到平均时钟信息后,对自己的本地时钟进行校准。 0095 S5、第一以太接口硬盘根据。
34、本地时钟对接收到的第一数据标记时钟信息。 0096 在第一以太接口硬盘的本地时钟校准之后,第一以太接口硬盘根据校准后的本地 时钟获取时钟信息,并在写入第一数据后,生成一条关于第一数据的时钟信息。 0097 此时,集群控制器会继续进行其他的数据操作,等待目标以太接口硬盘恢复正常 状态。 0098 S6、目标以太接口硬盘恢复正常状态,向集群控制器发送心跳消息。 0099 目标以太接口硬盘的问题被修复后,会向集群控制器发送心跳消息。集群控制器 在接收到来自目标以太接口硬盘的心跳消息后得知其已经恢复正常状态。此时,集群控制 器可以将目标以太接口硬盘恢复正常状态的消息告知其他以太接口硬盘。 0100 S。
35、7、第一以太接口硬盘获知目标以太接口硬盘恢复正常状态后,将第一数据和第 一数据所对应的时钟信息发送给目标以太接口硬盘。 0101 当第一以太接口硬盘接收到集群控制器的消息后,得知目标以太接口硬盘已经恢 复正常状态,可以获取并写入数据。此时,第一以太接口硬盘将代替目标以太接口硬盘存储 的第一数据发送给目标以太接口硬盘,并在数据报文中加载所记录的时钟信息。 0102 S8、目标以太接口硬盘接收来自第一以太接口硬盘的来自集群控制器的第二数 据,并且根据目标以太接口硬盘的本地时钟获取时钟信息,并对第二数据进行标记。 0103 此时,刚刚恢复正常状态的目标以太接口硬盘会接收来自第一以太接口硬盘的第 一数。
36、据,并根据其中的主键将第一数据写入目标存储区域,但是恢复的过程需要较长时间, 那么在这段集群控制器会将新的数据发送给目标以太接口硬盘,例如第二数据。当第二数 据中的主键和第一数据中的主键相同时,则可以知道第一数据和第二数据需要写入相同的 目标存储区域,如果直接存储这会导致第一数据和第二数据分别写入目标存储区域,则会 出现第一数据和第二数据的冲突,导致数据不一致的情况。 0104 那么,在本发明中继而进行如下处理以避免这种不一致。 0105 S9、目标以太接口硬盘根据第一数据的时钟信息和第二数据的时钟信息,基于预 设的选择策略选择一组数据写入目标存储区域。 0106 当目标以太接口硬盘开始接收第。
37、二数据时,会根据其自身的本地时钟获取一个对 应第二数据的时钟信息。根据第一数据的时钟信息和第二数据的时钟信息进行比较。选择 策略可以是选择时间信息比较新的作为写入目标存储区域的数据。 0107 另外,也可以通过第二集群中的以太接口硬盘代替目标以太接口硬盘接收第一数 据,例如通过第五以太接口硬盘进行接收。此时,在计算平均时钟信息时,则通过第五以太 接口硬盘获取第二集群中的其他以太接口硬盘的本地时钟的时钟信息。其他过程与本实施 说 明 书CN 104021049 A 10 8/11页 11 例相类似,不再赘述。 0108 在本实施例中,将集群控制器发来的第二数据作为写入目标存储区域的数据。第 一数。
38、据便停止写入,而将第二数据写入目标存储区域,这样一来,便可以避免分布式存储系 统中数据不一致的情况,提高了分布式存储系统的可靠性。 0109 在本发明的另一个实施例中,分布式存储系统,如图6所示,包括:集群控制器;第 一集群中,包括目标以太接口硬盘、第一以太接口硬盘、第二以太接口硬盘、第三以太接口 硬盘和NTP时钟。 0110 本实施例的一种分布式存储系统中数据统一的方法,如图7所示,包括: 0111 S1、集群控制器检测以太接口硬盘的工作状态,判断以太接口硬盘是否处于失效 状态。 0112 如果检测到以太接口硬盘处于失效状态则执行步骤S2,如果未检测到则执行步骤 S1。 0113 S2、集群。
39、控制器将第一以太接口硬盘作为代替目标以太接口硬盘的以太接口硬 盘,将需要发送给目标以太接口硬盘的第一数据发送给第一以太接口硬盘。 0114 S10a、第一以太接口硬盘接收第一数据进行存储,从第一集群中的NTP时钟获取 时钟信息。 0115 S10b、第一以太接口硬盘根据时钟信息对第一数据进行标记。 0116 因为NTP时钟作为一个集群共用的时钟,所以可以认为一个集群中的时钟信息是 统一的。 0117 此时,集群控制器会继续进行其他的数据操作,等待目标以太接口硬盘恢复正常 状态。 0118 S6、目标以太接口硬盘恢复正常状态,向集群控制器发送心跳消息。 0119 S7、第一以太接口硬盘获知目标以。
40、太接口硬盘恢复正常状态后,将第一数据和第 一数据所对应的时钟信息发送给目标以太接口硬盘。 0120 S8、目标以太接口硬盘接收来自第一以太接口硬盘的来自集群控制器的第二数 据,并且根据目标以太接口硬盘从NTP时钟过去时钟信息,对第二数据进行标记。 0121 目标以太接口硬盘在接收到第二数据后,同样地,根据第一集群中的NTP时钟获 取时钟信息,进行第二数据的标记。 0122 S9、目标以太接口硬盘根据第一数据的时钟信息和第二数据的时钟信息,基于预 设的选择策略选择一组数据写入目标存储区域。 0123 因为第一数据的时钟信息和第二数据的时钟信息都是从第一集群的NTP时钟获 取的,所以第一数据的时钟。
41、信息和第二数据的时钟信息之间不会出现因为选用了不同时钟 而出现的不一致,此时,便可以通过从同一时钟源获取的时钟信息得知第一数据和第二数 据的时序差别。之后,根据选择策略,选择一组数据写入目标以太接口硬盘的目标存储区 域。 0124 在本实施例中,将集群控制器发来的第二数据作为写入目标存储区域的数据。第 一数据便停止写入,而将第二数据写入目标存储区域,这样一来,便可以避免分布式存储系 统中数据不一致的情况,提高了分布式存储系统的可靠性。 0125 在本发明的另一个实施例中,分布式存储系统,如图8所示,包括:集群控制器和 说 明 书CN 104021049 A 11 9/11页 12 GPS时钟服。
42、务器;第一集群中,包括目标以太接口硬盘、第一以太接口硬盘、第二以太接口 硬盘和第三以太接口硬盘。 0126 本实施例的一种分布式存储系统中数据统一的方法,如图9所示,包括: 0127 S1、集群控制器检测以太接口硬盘的工作状态,判断以太接口硬盘是否处于失效 状态。 0128 如果检测到以太接口硬盘处于失效状态则执行步骤S2,如果未检测到则执行步骤 S1。 0129 S2、集群控制器将第一以太接口硬盘作为代替目标以太接口硬盘的以太接口硬 盘,将需要发送给目标以太接口硬盘的第一数据发送给第一以太接口硬盘。 0130 S10c、第一以太接口硬盘接收第一数据进行存储,从GPS时钟服务器获取时钟信 息。。
43、 0131 S10b、第一以太接口硬盘根据时钟信息对第一数据进行标记。 0132 因为GPS时钟绝对时钟,会与卫星进行同步,时间信息更为精确,这样一来,多个 集群中可以分别选用相同或不同的GPS时钟,那么在选择代替目标以太接口硬盘进行数据 存储时,集群控制器可以拥有更大的选择空间,提高分布式存储系统的灵活性。 0133 此时,集群控制器会继续进行其他的数据操作,等待目标以太接口硬盘恢复正常 状态。 0134 S6、目标以太接口硬盘恢复正常状态,向集群控制器发送心跳消息。 0135 S7、第一以太接口硬盘获知目标以太接口硬盘恢复正常状态后,将第一数据和第 一数据所对应的时钟信息发送给目标以太接口。
44、硬盘。 0136 S8、目标以太接口硬盘接收来自第一以太接口硬盘的来自集群控制器的第二数 据,并且根据目标以太接口硬盘从GPS时钟过去时钟信息,对第二数据进行标记。 0137 目标以太接口硬盘在接收到第二数据后,同样地,根据第一集群中的GPS时钟获 取时钟信息,进行第二数据的标记。 0138 S9、目标以太接口硬盘根据第一数据的时钟信息和第二数据的时钟信息,基于预 设的选择策略选择一组数据写入目标存储区域。 0139 通过一个集群中所设置的GPS时钟,可以保证一个集群中的时钟信息统一,不会 出现因为本地时钟的时钟信息不一致所导致的数据不统一的问题,提高了分布式存储系统 的可靠性。 0140 在。
45、本发明的另一个实施例中,无需设置单独的时钟源,而是通过向量时钟进行标 记,这样一来,可以通过算法来保证多组数据的时钟信息之间的统一,进而也保证了分布式 存储系统中数据的一致性,提高了分布式存储系统的可靠性。 0141 与上述一种分布式存储系统中数据统一的方法相对应,本发明还公开了一种以太 接口硬盘200,如图10所示,包括: 0142 接收单元210,用于当目标以太接口硬盘处于失效状态时,接收需要写入所述目标 以太接口硬盘的目标存储区域的数据; 0143 获取单元220,用于获取时钟信息; 0144 标记单元230,用于根据所述时钟信息对所述数据进行标记,以便于当所述目标以 太接口硬盘恢复正常。
46、状态时,所述目标以太接口硬盘根据接收到的多组数据的时钟信息, 说 明 书CN 104021049 A 12 10/11页 13 选择目标数据写入所述目标以太接口硬盘的目标存储区域。 0145 可选的,所述获取单元220,包括: 0146 获取模块221,用于获取所属集群中的至少三个本地时钟的时钟信息; 0147 计算模块222,用于根据所述至少三个本地时钟的时钟信息计算出平均时钟信 息; 0148 校准模块223,用于根据所述平均时钟信息对所述集群中的以太接口硬盘的本地 时钟进行校准。 0149 进一步的,所述计算模块222包括: 0150 预估子模块222a,用于根据所述至少三个本地时钟的时。
47、钟信息计算出预估平均时 钟信息; 0151 清除子模块222b,用于从所述至少三个本地时钟中清除偏差时钟的时钟信息,所 述偏差时钟为时钟信息超出所述预估平均时钟信息的预设方差范围的本地时钟; 0152 计算子模块222c,用于根据清除了所述偏差时钟后的至少两个本地时钟的时钟信 息计算出平均时钟信息。 0153 所述本地时钟的时钟信息为未超出备选时钟的预设方差范围的本地时钟的时钟 信息。 0154 可选的,所述获取模块221,还用于当与所述目标以太接口硬盘属于同一集群时, 从所述集群中设置的网络时钟协议NTP时钟获取时钟信息。 0155 可选的,所述获取模块221,还用于从所设置的绝对时钟源获取。
48、时钟信息。 0156 可选的,所述时钟信息为向量时钟信息。 0157 本发明实施例提供的一种以太接口硬盘,当目标以太接口硬盘失效且以太接口硬 盘代替所述目标以太接口硬盘接收数据时,通过获取的时钟信息对数据进行标记,从而在 目标以太接口硬盘恢复正常状态时,能够根据所标记的时钟信息使目标以太接口硬盘从多 组数据中选择目标数据写入目标以太接口硬盘的目标存储区域,避免当目标以太接口硬盘 从失效状态恢复到正常状态时,接收到多组写入其目标存储区域的数据而导致分布式存储 系统中的数据不一致,提高了分布式存储系统中的数据存储的可靠性。 0158 与本发明上述的一种分布式存储系统中数据统一的方法相对应,本发明还公开了 一种以太接口硬盘300,如图11所示,包括: 0159 接收器310、处理器320、发送器330和存储器340; 0160 所述接收器310,用于当目标以太接口硬盘处于失效状态时,接收需要写入所述目 标以太接口硬盘的数据; 0161 所述存储器340包含多个存储区域,用于存储所述数据; 0162 所述发送器330,用于发送心跳消息; 0163 所述处理器320,用于获取时钟信息;根据所述时钟信息对所述数据进行标记,以 便于当所述目标以太接口硬盘恢复正常状态时,所述目标以太接口硬盘根据接收到的多组 数据的时钟信息,选择目标数据写入所述目。