一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多结点数据的冗余恢复方法与流程

2021-10-23 02:55:00 来源:中国专利 TAG:结点 冗余 数据处理 恢复 方法


1.本发明涉及数据处理领域,特别是涉及一种多结点数据的冗余恢复方法。


背景技术:

2.在云存储时代,数据中心通常分布在多个不同的地理位置,每个数据中心都存有大量数据。对于每一个数据中心,都存在着系统性的风险。这种风险来源于多方向的因素,可以是来自自然方向的,如局部战争、恐怖袭击、网络攻击、内部人员破坏等;还可以是技术性的,如大规模宕机、电力系统故障、软件问题等。这种与地理位置相关联的风险,一旦出现就是灾难性的,往往不能很快在原地理地点重新建立和恢复多数据。
3.对于这种风险的防范措施通常是建立互为备份的异地数据中心,这些数据中心之间通过高速数据专线连接,一旦其中一个数据中心出现问题,则可以通过另一个备份数据中心来恢复或提供数据。
4.显而易见,这种方法的实施成本很高,通常只能用在关键的生产运营数据的安全保障上。对于大量存在的历史数据,也就是访问频度不高的冷数据,这种异地多副本备份的方法成本过高,很难实现。


技术实现要素:

5.本发明的一个目的是提供一种安全可靠的多结点数据的冗余恢复方法。
6.本发明的另一个目的是要节约系统开销。
7.特别地,本发明提供了一种多结点数据的冗余恢复方法,包括:
8.每预设数量的数据结点配置至少一个校验结点以形成结点组,其中,所有所述数据结点和所有所述校验结点分别为位于不同地理位置的数据中心;
9.通过对所述结点组中的每个数据结点中数据进行异或运算获得所述结点组中的所述校验结点中的数据;
10.当所述结点组中的数据发生预设形式的数据缺损时,通过所述结点组中未发生数据缺损的其余数据恢复所缺损的数据。
11.可选地,通过对所述结点组中的每个数据结点中数据进行异或运算获得所述结点组中的所述校验结点中的数据的步骤之前,还包括:
12.通过数据链路或者物流运输方式获取各个所述数据结点和各个所述校验结点的数据。
13.可选地,通过对所述结点组中的每个数据结点中数据进行异或运算获得所述结点组中的所述校验结点中的数据的步骤,包括:
14.将所述结点组中的每一所述数据结点中的数据逐一写入所述结点组中的所述校验结点中;
15.每写入一个新的所述数据结点的数据进行一次新的所述数据结点和所述校验结点的数据的异或运算,其中,所述结点组中的数据均为二进制数据;
16.利用异或运算的结果更新所述校验结点中的原有数据。
17.可选地,通过对所述结点组中的每个数据结点中数据进行异或运算获得所述结点组中的所述校验结点中的数据的步骤之前,还包括:
18.统一每一所述结点组中的所有所述数据结点的数据长度。
19.可选地,统一每一所述结点组中的所有所述数据结点的数据长度的步骤,包括:
20.获取所述结点组中具有最长数据长度的所述数据结点的数据长度作为基准长度;
21.将所述结点组中的所有所述数据结点通过添加无效位的方式统一为所述基准长度。
22.可选地,当所述结点组中的数据发生预设形式的数据缺损时,通过所述结点组中未发生数据缺损的其余数据恢复所缺损的数据的步骤,包括:
23.当所述结点组中的一个所述数据结点的数据发生整体缺损时,通过将所述结点组中其余的所述数据结点和所述校验结点中的相对应位置的二进制数值进行异或运算恢复发生整体缺损的所述数据结点的数据。
24.可选地,当所述结点组中的数据发生预设形式的数据缺损时,通过所述结点组中未发生数据缺损的其余数据恢复所缺损的数据的步骤,包括:
25.当所述结点组中的多个所述数据结点的数据发生部分数据缺损且发生毁损的数据不在相对应的同一二进制数据位置时,通过将其余所述数据结点和所述校验结点相对应位置的二进制数值进行异或运算恢复发生部分数据缺损的所述数据结点的数据。
26.可选地,每一所述数据结点包括n张数据光盘,每一所述校验结点包括n张校验光盘,每一所述结点组中处于同一对应位置的m张数据光盘和一张所述校验光盘形成光盘结点组,同一所述光盘结点组中的任意一张数据光盘均包括q个二进制数据组成的独立数据块,表示为:
[0027][0028]
d
p
为与所述m张数据光盘处于同一所述光盘结点组的所述校验光盘上的校验数据,包括由q个二进制数据组成的校验数据块,表示为:
[0029][0030]
所述m张数据光盘的所有独立数据与所述校验光盘的校验数据一起组成的数据阵列为:
[0031][0032]
所述数据阵列中同一行数据代表不同光盘在同一位置处的二进制数据,所述数据阵列中同一行仅允许一个位置的二进制数据出现缺损或错误;
[0033]
可选地,所述数据阵列中每一行均允许有任意位置的数据出现缺损或错误;
[0034]
可选地,同一所述光盘结点组的所述m张数据光盘和所述校验光盘中任意一张或多张光盘出现数据缺损时,根据其余数据光盘及校验光盘的同一二进制数据位置的二进制数据对缺损的数据进行异或运算,从而恢复缺损数据;
[0035]
可选地,同一所述光盘结点组的第x张数据光盘的第y位二进制数据出现缺损或错误,则所述第x张数据光盘的第y位二进制数据按照以下公式进行恢复:
[0036][0037]
其中,1≤x≤m,1≤y≤q。
[0038]
可选地,所述校验结点的数量根据可靠性要求确定,以通过置入更高的冗余度在更多的所述数据结点发生数据缺损时能够完全恢复数据。
[0039]
由于数据在光盘上通常是以二进制数进行保存的,因此对一组数据进行异或运算后得到的结果可以在一组数据中出现某个位置的数据缺损时进行反推,从而将缺损的数据恢复出来。本发明运用上述原理可以将一个结点组中的未发生数据缺损的数据恢复所缺损的数据,从而提高多各个节点组中的数据的安全性和可靠性。
[0040]
进一步地,通过上述方式进行数据恢复不需要去数据被毁坏的数据结点或校验结点处,也不需要与该地点进行通信,只需要获得其他未发生数据缺损的数据结点或校验结点处的数据即可,因此数据恢复过程更为简单。
[0041]
本发明中获取数据可以通过数据的物流运输来完成,因此可以在较小的系统开销下,实现不同地点的数据冗余与恢复。
[0042]
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
[0043]
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0044]
图1是根据本发明一个实施例的多结点数据的冗余恢复方法的流程图;
[0045]
图2是根据本发明一个实施例的多结点数据的冗余恢复方法中的结点组的示意图;
[0046]
图3是根据本发明另一个实施例的多结点数据的冗余恢复方法的流程图;
[0047]
图4是根据本发明一个实施例的多结点数据的冗余恢复方法的统一数据长度的示意图。
具体实施方式
[0048]
图1是根据本发明一个实施例的多结点数据的冗余恢复方法的流程图。图2是根据本发明一个实施例的多结点数据的冗余恢复方法中的结点组的示意图。如图1所示,一个实施例中,本发明的多结点数据的冗余恢复方法包括以下步骤:
[0049]
步骤s10:每预设数量的数据结点配置至少一个校验结点以形成结点组,其中,所有数据结点和所有校验结点分别为位于不同地理位置的数据中心。
[0050]
步骤s20:通过对结点组中的每个数据结点中数据进行异或运算获得结点组中的校验结点中的数据。
[0051]
步骤s30:当结点组中的数据发生预设形式的数据缺损时,通过结点组中未发生数据缺损的其余数据恢复所缺损的数据。
[0052]
如图2所示的实施例中,假设一个结点组包括m个数据结点和一个校验结点,其中,每个数据结点均包括n张数据光盘,该校验结点包括n张校验光盘。当然每个结点组中的每个数据结点不一定都包括相同数量的光盘,但是同一结点组中的校验结点中需要包括与同一结点组中数据光盘数量最多的那个数据结点数量相同的校验光盘。以上步骤s20至步骤s30可用公式进行如下表示:
[0053]
假设一个结点组中的所有数据结点中的数据表示为{dc
i
},1≤i≤n,其对应的校验结点中数据为dc
p
,则上式中代表各数据中心{dc
i
}中相对应位置的二进制数值的异或运算。
[0054]
当第j个(1≤j≤n)数据结点中的数据dc
j
出现灾难性毁坏时,dc
j
中的所有数据可以通过其它数据中心的数据来恢复,即:
[0055][0056]
由于数据在光盘上通常是以二进制数进行保存的,即一个光盘的数据可以看作是一串二进制数,因此对一组数据进行异或运算后得到的结果可以在一组数据中出现某个位置的数据缺损时进行反推,从而将缺损的数据恢复出来。运用上述原理,可以将一个结点组中的未发生数据缺损的数据恢复所缺损的数据,从而提高多各个节点组中的数据的安全性和可靠性。
[0057]
进一步地,通过上述方式进行数据恢复不需要去数据被毁坏的数据结点或校验结点处,也不需要与该地点进行通信,只需要获得其他未发生数据缺损的数据结点或校验结点处的数据即可,因此数据恢复过程更为简单。
[0058]
图3是根据本发明另一个实施例的多结点数据的冗余恢复方法的流程图。如图3所示,另一个实施例中,步骤s20之前还包括:
[0059]
步骤s12:通过数据链路或者物流运输方式获取各个数据结点和各个校验结点的数据。
[0060]
也就是说,对于数据的获取可以通过现有技术中数据链路的方式获取,也可以通过物流运输的方式获取。具体地,可以通过物流运输的方式逐一访问各个数据中心,并在现场计算出当前的异或运算结果,然后将结果统一恢复到一个新的数据地点或是除了发生数据缺损的其余数据中心中的任意一个。
[0061]
由于现代数据中心的数据规模巨大,因此,虽然理论上数据恢复的过程可以通过各个数据中心之间的数据链路来完成,但这样做的通信成本和时间成本会非常巨大。本发明的一个优点是校验结点的数据生成,以及某一特定地点的数据恢复都可以通过数据的物流运输来完成,因此可以在较小的系统开销下,实现不同地点的数据冗余与恢复。
[0062]
如图3所示,在本发明的一些实施例中,步骤s20包括:
[0063]
步骤s21:将结点组中的每一数据结点中的数据逐一写入结点组中的校验结点中;
[0064]
步骤s22:每写入一个新的数据结点的数据进行一次新的数据结点和校验结点的数据的异或运算,其中,结点组中的数据均为二进制数据;
[0065]
步骤s23:利用异或运算的结果更新校验结点中的原有数据。
[0066]
在一个具体的实施例中,假设一个结点组有三个数据结点,对应的数据分别表示为dc1、dc2和dc3,则这三个数据结点对应的校验结点的数据dc
p
的建立过程可以如下分步进行:
[0067][0068][0069][0070]
即先将第一个数据结点中的数据dc1写入校验结点中,再将第二个数据结点中的数据dc2与存储在校验结点中的数据dc
p
进行异或运算,并将运算结果更新至该校验结点中,最后将第三个数据结点中的数据dc3和上一步异或运算得到校验结点中的数据dc
p
再进行异或运算并用运算结果更新至该校验结点
[0071]
假设dc2被毁坏,dc2′
为恢复后新建的数据,则恢复过程为:
[0072][0073][0074][0075]
这与上述过程类似,在此不再详述。
[0076]
另一个实施例中,步骤s20之前,还包括:
[0077]
统一每一结点组中的所有数据结点的数据长度。
[0078]
进一步地一个实施例中,统一每一结点组中的所有数据结点的数据长度的步骤包括:
[0079]
获取结点组中具有最长数据长度的数据结点的数据长度作为基准长度;
[0080]
将结点组中的所有数据结点通过添加无效位的方式统一为基准长度。
[0081]
图4是根据本发明一个实施例的多结点数据的冗余恢复方法的统一数据长度的示
意图。如果各个数据中心中的数据dc
i
的数据规模不等,则具有较小规模的数据中心的数据通过如图4所示的补零方式来进行对齐运算。
[0082]
另一个实施例中,步骤s30包括:
[0083]
当结点组中的一个数据结点的数据发生整体缺损时,通过将结点组中其余的数据结点和校验结点中的相对应位置的二进制数值进行异或运算恢复发生整体缺损的数据结点的数据。
[0084]
一般性地,对于在不同地点的n个数据中心{dc
i
},1≤i≤n,建立至少一个校验数据中心dc
p
,当其中dc
j
,1≤j≤n出现坏损时,则重新建立的数据中心dc
j

可以通过对其余n个没有损坏数据的数据中心{dc
i
},1≤i≤n,i≠j或i=p进行逐个访问并计算累计异或值来重建。
[0085]
当数据中心{dc
i
},1≤i≤n或dc
p
中任何一个位置出现坏损时,则可通过其余数据中心相应位置的数据来进行恢复。即假设数据中心dc
j
中的一个子集出现坏损,则
[0086][0087]
假设每一数据结点包括s张数据光盘,每一校验结点包括s张校验光盘,每一结点组中处于同一对应位置的m张数据光盘和一张校验光盘形成光盘结点组(如图2中虚线框所圈出的一组光盘形成一个光盘结点组)。
[0088]
另一个实施例中,步骤s30,包括:
[0089]
当结点组中的多个数据结点的数据发生部分数据缺损且发生毁损的数据不在相对应的同一二进制数据位置时,通过将其余数据结点和校验结点相对应位置的二进制数值进行异或运算恢复发生部分数据缺损的数据结点的数据。
[0090]
假设同一光盘结点组中的任意一张数据光盘均包括q个二进制数据组成的独立数据块,表示为:
[0091][0092]
d
p
为与m张数据光盘处于同一光盘结点组的校验光盘上的校验数据,包括由q个二进制数据组成的校验数据块,表示为:
[0093][0094]
m张数据光盘的所有独立数据与校验光盘的校验数据一起组成的数据阵列为:
[0095][0096]
数据阵列中同一行数据代表不同光盘在同一位置处的二进制数据,数据阵列中同一行仅允许一个位置的二进制数据出现缺损或错误。
[0097]
可选地,数据阵列中每一行均允许有任意位置的数据出现缺损或错误。也就是在出现多点数据缺损时,在上述数据矩阵中各个点的连线不能是位于同一行的直线。
[0098]
可选地,同一光盘结点组的m张数据光盘和校验光盘中任意一张或多张光盘出现数据缺损时,根据其余数据光盘及校验光盘的同一二进制数据位置的二进制数据对缺损的数据进行异或运算,从而恢复缺损数据。当校验光盘上的数据出现错误时,也可以通过异或运算进行恢复,当然数据出现错误的位置仍然需要满足上述要求。
[0099]
可选地,同一光盘结点组的第x张数据光盘的第y位二进制数据出现缺损或错误,则第x张数据光盘的第y位二进制数据按照以下公式进行恢复:
[0100][0101]
其中,1≤x≤m,1≤y≤q。
[0102]
另一个实施例中,校验结点的数量根据可靠性要求确定,以通过置入更高的冗余度在更多的数据结点发生数据缺损时能够完全恢复数据。也就是说当校验光盘的数量越多,当然恢复数据时的依据越多,也使得数据存储的可恢复性越强,有利于提高数据的安全性。
[0103]
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜