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

一种服务器集群的数据同步方法及系统与流程

2022-03-16 02:25:37 来源:中国专利 TAG:


1.本发明属于数据传输技术领域,特别是涉及一种服务器集群的数据同步方法及系统。


背景技术:

2.由于云存储和云计算的发展,计算任务越来越大。任务通常需要分散在不同服务器中的大型数据集上进行处理。因此需要多个节点进行协作,并且应用mapreduce类型框架。在此类任务中,同步节点中的分布式数据很重要。
3.由于数据被分散存储在不同的节点中,通常使用备份来防止数据丢失的风险并提高数据同步的效率,因此每个节点已经拥有了部分数据。不同节点中的数据不同,传统方法是将所有数据广播到所有节点,并且每个节点都会选择它缺少的数据。例如公开号为cn105515707a的专利《一种无源光网络中光网络单元信息的同步方法及系统》提出当光网络单元的状态更改时,光线路终端在光网络单元信息库中更新所述光网络单元的信息;所述光线路终端向网络管理服务器发送状态更改提示;所述网络管理服务器根据所述状态更改提示,对本地数据库中存储的所述光网络单元的信息进行同步。公开号为cn112445799a的专利《一种单源多节点的数据同步方法和系统》提出通过触发器建立一个变化数据表,将多个变化数据插入到变化数据表中,通过多个节点分别读取多个变化数据,并选择变化数据中待同步数据进行同步,本发明方案通过多个节点分别读取一个变化数据表中的多个变化数据,并选择变化数据中待同步数据进行同步,实现只产生一份数据源的触发数据。但是,这种方法的时隙效率和传输效率较低。
4.目前已经应用编码的方法的雾网络数据同步中,数据分布被预先安排以配合固定的数据编码方法。但是在光互联数据中心的服务器集群中,由于服务器集群的数据分布不能被预先安排,导致上述方法不能有效提高数据同步效率。
5.为了提高服务器集群的数据同步效率,提出一种服务器集群的数据同步方法及系统。


技术实现要素:

6.本发明为了解决上述问题,提出一种服务器集群的数据同步方法及系统。
7.本发明的一种服务器集群的数据编码方法,其特征在于,包括:
8.控制平面根据所需同步的数据量和各协同节点内缺少的同步数据量构造多列线性独立的矩阵作为编码矩阵;
9.任务发起节点将编码矩阵的每一行元素与相应的同步数据相乘后再逻辑求和得到编码数据。
10.优选地,所述各协同节点内缺少的同步数据量是控制平面通过对比各协同节点上报的节点内数据与所需同步数据得到的各协同节点内缺少的同步数据的数据量或各协同节点内缺少的同步数据的最大数据量或各协同节点内缺少的同步数据的平均数据量的任
一项或多项组合。
11.优选地,所述根据所需同步的数据量和各协同节点内缺少的同步数据量构造多列线性独立的矩阵作为编码矩阵,包括步骤:
12.所需同步的数据量记为n,各协同节点内缺少的同步数据量记为m;
13.构造一个或多个具有任意m列线性独立关系的n列矩阵;
14.选取行数最少的一个n列矩阵作为编码矩阵。
15.进一步优选地,所述具有任意m列线性独立关系的n列矩阵是根据差错控制编码中的奇偶校验矩阵计算得到,矩阵中元素是在二阶galois域gf(2)或高阶galois域gf(n)中的任一项。注:galois中文翻译为伽罗华。
16.优选地,所述任务发起节点将编码矩阵的每一行元素与相应的同步数据相乘后再逻辑求和得到编码数据,包括步骤:
17.编码矩阵的行数记为s,矩阵元素表示为a
ij
,1≤i≤s,1≤j≤n;
18.任务发起节点将所需同步数据(d1,

,dn)与编码矩阵的每一行元素相乘后再逻辑求和,即得到s个编码数据(c1,

,cs)。
19.本发明的一种服务器集群的数据解码方法,包括:
20.协同节点根据编码矩阵、节点内已有数据和接收到的编码数据构建恢复矩阵;
21.对恢复矩阵做矩阵变换得到节点内每个缺少数据的解;
22.根据每个缺少数据的解得到节点内缺少的数据。
23.优选地,所述根据编码矩阵、节点内已有数据和接收到的编码数据构建恢复矩阵,包括步骤:
24.协同节点将编码矩阵每一行元素与相应的节点内已有数据相乘后求和(galois域加法)得到节点已有数据和;
25.将接收到的编码数据减去(galois域减法)节点已有数据和得到部分解码数据,表示为(c
1'


,c
s'
),其中s表示编码数据的数量;
26.构建恢复矩阵为部分解码数据的系数矩阵。
27.优选地,所述对恢复矩阵做矩阵变换得到节点内每个缺少数据的解,包括:
28.通过矩阵变换将恢复矩阵的前m行转化为m
×
m对角矩阵的形式,其中m表示协同节点缺少的同步数据数量;
29.矩阵变换后对角矩阵形式的m行所对应的解即为节点内m个缺少数据的解。
30.本发明的一种服务器集群的数据同步方法,其特征在于,包括:
31.控制平面根据上述的数据编码方法构造编码矩阵并将编码矩阵发送至任务发起节点和各协同节点;
32.任务发起节点根据上述的数据编码方法对所需同步数据编码得到编码数据;
33.任务发起节点将编码数据发送至各协同节点;
34.各协同节点根据上述的数据解码方法进行数据解码得到节点内缺少的数据。
35.一种服务器集群的数据同步系统,其特征在于包括:光互联数据中心;
36.控制平面;
37.任务发起节点;
38.协同节点;
39.存储器;
40.以及
41.一个或多个程序,其中所述一个或多个程序被存储在存储器中,并且被配置成由所述控制平面和/或任务发起节点和/或协同节点执行,所述程序使计算机执行上述方法。
42.本发明的方法及系统具有的优点是:
43.(1)将多节点协同任务中需要同步的数据进行编码后传输,相比传统的将所有同步数据进行广播的技术方法,可以有效减少同步时隙数量,降低传输时延。
44.(2)构造多列线性独立的矩阵作为编码矩阵,通过矩阵多列的线性独立性可以有效保证每个节点通过编码数据直接解码出其丢失的数据,满足不同数据分布类型,有效降低广播时隙,提高传输效率。
45.(3)在高阶galois域中构造可恢复编码矩阵,使用更少的编码数据就进行恢复,提高了编码效率,可以进一步减少时隙。
附图说明
46.图1(a)是基于耦合器的poi中的数据不进行编码的同步结构示意图。
47.图1(b)为基于耦合器的poi中的数据进行编码的同步结构示意图。
48.图2是一种服务器集群的数据编码方法的流程图。
49.图3是数据分布和编码策略示意图。
50.图4是一种服务器集群的数据解码方法的流程图。
51.图5(a)是node1的数据恢复结构图。
52.图5(b)是node2的数据恢复结构图。
53.图5(c)是node3的数据恢复结构图。
54.图6是一种服务器集群的数据同步方法的流程图。
55.图7是一种服务器集群的数据同步系统的结构示意图。
具体实施方式
56.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
57.在基于耦合器的poi中,可以通过广播实现数据同步。图1(a)显示了传统的同步方式,任务发起节点一一广播六个数据,总共需要6个时隙(与数据数量相同)。在图1(b)中,应用逻辑编码方法将六个数据压缩为两个编码数据(和),节点1和节点4可以从),节点1和节点4可以从中恢复data3,因为它们具有data1和data2。节点2和节点3可以从中恢复data2,因
为它们具有data1和data3。节点5和节点6可以从中恢复data1,因为它们具有data2和data3。节点1和节点2可以从data4

data5

data6中恢复data6,因为它们具有data4和data5。节点3,节点4和节点5可以从data4

data5

data6中恢复data5,因为它们具有data4和data6。节点6可以从data4

data5

data6中恢复data4,因为它们具有data5和data6。
58.在图1(b)中,数据1,数据2和数据3在第一时隙中被编码和广播,而数据4,数据5和数据6在第二时隙中被编码和广播。这种数据编码方法相比传统同步方式,时隙数量从6个减少到2个。在数据中心中,数据分布取决于以前的网络行为,混乱而且多种多样,数据分布的差异将导致不同的编码方法,因此本发明提出一种服务器集群的数据同步方法及系统,能够在光互联中心网络的任意多节点协同任务中采用最佳编码执行数据同步过程,降低同步时隙数量,提高光互联数据同步的效率。
59.本发明的一种服务器集群的数据编码方法的实施例,流程图如图2所示,其特征在于,包括:
60.控制平面根据所需同步的数据量和各协同节点内缺少的同步数据量构造多列线性独立的矩阵作为编码矩阵;
61.任务发起节点将编码矩阵的每一行元素与相应的同步数据相乘后再逻辑求和得到编码数据。
62.优选地,所述各协同节点内缺少的同步数据量是控制平面通过对比各协同节点上报的节点内数据与所需同步数据得到的各协同节点内缺少的同步数据的数据量或各协同节点内缺少的同步数据的最大数据量或各协同节点内缺少的同步数据的平均数据量的任一项或多项组合。本实施例中,数据同步中有两个关键参数,第一个是要同步的数据编号(即任务发起节点所需同步的数据量,记为n),第二个是丢失数据的数量(即各协同节点内缺少的同步数据的数据量),各协同节点内缺少的同步数据的数据量可能有所不同,控制平面通过对比各协同节点上报的节点内数据与任务发起节点所需同步数据得到的各协同节点内缺少的同步数据的数据量。将各协同节点内缺少的同步数据的数据量的最大值或各协同节点内缺少的同步数据的数据量的平均值的任一项或组合作为协同节点缺少数据量的指标,记为m。本实施例中将各协同节点内缺少的同步数据的数据量的最大值作为协同节点缺少数据量的指标,即在此次任务中所有参与节点最多只需要m个数据可实现同步。
63.数据同步所需的广播时隙数(即同步时隙数量)用变量s表示,任务发起节点将所需同步的n个数据分配给s时隙中的所有节点,如果不进行编码就一次广播数据,则s=n。本实施例中某个协同节点缺少m个数据,因此它至少需要m个时隙才能获得缺少的同步数据,因此s≥m,又因为在编码策略下s《n,则同步时隙s应满足m≤s《n。最佳编码方法的目的是将时隙s最小化。
64.优选地,所述根据所需同步的数据量和各协同节点内缺少的同步数据量构造多列线性独立的矩阵作为编码矩阵,包括步骤:
65.所需同步的数据量记为n,各协同节点内缺少的同步数据量记为m;
66.构造一个或多个具有任意m列线性独立关系的n列矩阵;
67.选取行数最少的一个n列矩阵作为编码矩阵。
68.本实施例中,如图3所示,任务发起节点(图3中用source node表示)有8个要同步
的数据,即总数据数n=8,每个协同节点(node1~nodek)都缺少3个数据,即协同节点缺少数据量的指标m=3。若编码矩阵中的任何m列线性独立,则后续的逆向恢复矩阵是满秩矩阵,可以有效恢复缺少数据的每种可能组合。因此当前编码矩阵应是任意3列线性独立的8列矩阵,此时具有多个候选矩阵,其中一个候选矩阵是
69.一种优选实施方式中,所述任意m列线性独立的n列矩阵是根据差错控制编码中的奇偶校验矩阵计算得到,矩阵中元素是二进制galois域gf(2)数值或高阶galois域gf(n)数值的任一项。本实施例中,利用差错控制编码中的奇偶校验矩阵中多列具有线性独立性的特征,根据差错控制编码中的奇偶校验矩阵计算m阶可恢复编码矩阵,例如具有参数(n,k,d)的二进制块代码是一组2k个二进制代码字,长度为n,因此每对不同的代码块至少在d个位置上不同,如果代码是线性的,则由奇偶校验矩阵h完全指定,奇偶校验矩阵h是(n

k)
×
n二进制矩阵,其中任何d

1列均是线性独立的。二进制galois域gf(2)中,在参数n=n,s=n

k和m=d

1的情况下,可以将二进制块码(n,k,d)的任何奇偶校验矩阵h用作m阶可恢复编码矩阵(n,s,m)。例如,用于二进制块代码(8,4,4)的一个奇偶校验矩阵h为该矩阵中的任何三列都是线性独立的,因此可以将这种4
×
8矩阵用作三阶可恢复编码矩阵(8,4,3)。
70.进一步优选地,所述具有任意m列线性独立关系的n列矩阵是根据差错控制编码中的奇偶校验矩阵计算得到,矩阵中元素是在二阶galois域gf(2)或高阶galois域gf(n)中的任一项。
71.一种优选实施方式中,将字段扩展到高阶galois域gf(n),编码矩阵中的元素可以为0,1,

,n-1。在gf(n)中执行算术运算时,应将二进制的逻辑加法(

)更改为gf(n)中的加法或减法运算。高阶galois域gf(n)与gf(2)相比,gf(n)中的列向量可能是线性独立的,因此gf(n)中的矩阵能够以更少的行数实现m阶可恢复性。在gf(2)中,六列的2阶可恢复矩阵至少需要三行,但是在gf(5)中,最少只需要两行,一个可选矩阵是
72.另外,高阶galois域gf(n)的运算过程与gf(2)有所区别。一种实施例中,有六个需要同步的数据(n=6),并且每个节点都缺少了两个数据(m=2)。nodex丢失了data2和data5,nodey丢失了data1和data6。2阶可恢复的编码矩阵选择为每个数据包含六位。在任务发起节点中,原始二进制数据被映射为5级数据,六个位被映射为三个5级符号,然后根据编码矩阵对5级数据进行编码。五是质数,因此如果计算结果不在{0,1,2,3,4}中,则计算结果应为mod5(mod是模块化计算)。
73.在高阶galois域中,可以使用更多系数进行编码,因此使用较少的编码数据就可
以进行恢复,提高了编码效率,在更高阶galois域中时,所需的时隙s会减少。
74.优选地,所述任务发起节点将编码矩阵的每一行元素与相应的同步数据相乘后再逻辑求和得到编码数据,包括步骤:
75.编码矩阵的行数记为s,矩阵元素表示为a
ij
,1≤i≤s,1≤j≤n;
76.任务发起节点将所需同步数据(d1,

,dn)与编码矩阵的每一行元素相乘后再逻辑求和,即得到s个编码数据(c1,

,cs)。需要注意的是,等式(1)中的加号表示galois域加法。
77.本实施例中,要同步的n个数据表示为原始数据(d1,

,dn)。编码矩阵的每一行对应于时隙,每一列对应于数据。以二阶galois域gf(2)为例,每个元素的值为“1”或“0”,与每个需同步数据做逻辑求和得到的结果表示数据包含在时隙中或不包含在时隙中。每个时隙对应的编码数据表示为(c1,

,cs)。根据编码矩阵编码矩阵的行数(同步时隙数)s=4,任务发起节点将数据合并为4个编码数据(c1,c2,c3,c4),),
78.一种优选实施方式中,当矩阵中元素为高阶galois域gf(n)数值时,采用高阶调制传输方式代替二进制传输。本实施例中,在高阶galois域gf(n)中进行编码时,应在编码之前将二进制数据(gf(2)中的数据)映射到n级数据(gf(n)中的数据)。相应地,每个3级符号,4级符号,5级符号和9级符号分别携带1.5位,2位,2位和3位。映射后无法使用gf(3)中的模式“22”,gf(5)中的模式“4”和gf(9)中的模式“8”,但它们可能在编码后出现。编码后,编码数据将被广播到协同节点。应该再次映射n级编码数据以匹配传输格式。映射可能导致带宽损失。如果传输格式是传统的二进制格式,则在将其广播到协同节点之前,应再次将已编码的n级数据映射到二进制数据。3级数据,5级和9级数据将因映射而遭受带宽损失。为了减少损失,应将每三个3级数据(27个模式)映射到五个二进制数据(32个模式),将每三个5级数据(125个模式)映射到七个二进制数据(128个模式),并且每个9级数据(9个模式)应映射到两个3级数据(9个模式),然后映射到二进制数据(32个模式)。每个4级数据(4个模式)应映射为两个二进制数据(4个模式)。考虑到每个二进制符号,3级符号,4级符号,5级符号和9级符号携带1位,1.5位,2位,2位和3位,每个映射的二进制符号携带1位,0.9(1.5
×
3/5)位,1(2
×
1/2)位,0.86(2
×
3/7)位和0.9(与3级情况相同)位。
79.应用高阶调制来代替二进制传输,例如光学互连数据中心中最常用的高阶调制是脉冲幅度调制(pam)。如果直接在pamn中传输n级数据,则可以避免映射带宽损失。但是,当n变大时,pamn信号会严重劣化。可行的pam格式包括pam3和pam4,据报道它们的接收灵敏度比二进制信号差5db和8db。如果编码数据在pam3中广播,则3级数据不需要映射。每三个二
进制数据(8个模式)应映射到两个3级数据(9个模式),每三个4级数据(64个模式)应映射到四个3级数据(81个模式),每个2个5级别数据(25个模式)应映射到三个3级数据(27个模式),每个9级数据(9个模式)应映射到两个3级数据(9个模式)。考虑到每个二进制符号,3级符号,4级符号,5级符号和9级符号携带1位,1.5位,2位,2位和3位,每个pam3符号携带1.5(1
×
3/2)位,1.5(1.5
×
1/1)位,1.5(2
×
3/4)位,1.33(2
×
2/3)位,1.5(3
×
1/2)位。如果编码数据在pam4中广播,则映射方式与二进制传输中的映射方式相同。当传输格式为二进制或pam4时,gf(3),gf(4),gf(5)和gf(9)中数据的映射带宽效率分别为90%,100%,86%和90%。当传输格式为pam3时,映射带宽效率分别变为100%,100%,88%和100%。映射带宽损失将不超过15%。
80.本发明实施例的一种服务器集群的数据解码方法,流程图如图4所示,包括:
81.协同节点根据编码矩阵、节点内已有数据和接收到的编码数据构建恢复矩阵;
82.对恢复矩阵做矩阵变换得到节点内每个缺少数据的解;
83.根据每个缺少数据的解得到节点内缺少的数据。
84.优选地,所述根据编码矩阵、节点内已有数据和接收到的编码数据构建恢复矩阵,包括步骤:
85.协同节点将编码矩阵每一行元素与相应的节点内已有数据相乘后求和(galois域加法)得到节点已有数据和;
86.将接收到的编码数据减去(galois域减法)节点已有数据和得到部分解码数据,表示为(c1',

,cs'),其中s表示编码数据的数量;
87.构建恢复矩阵为部分解码数据的系数矩阵。
88.本实施例中,本实施例中,对于丢失dk1,dk2,

,dkm,(k1,k2,

,km∈{1,2,

,n})并且已经具有dn1,dn2,

,dn
(n-m)
,(n1,n2,

,n
(n-m)
∈{1,2,

,n})的一个节点,先协同节点将编码矩阵每一行元素与相应的节点内已有数据相乘后求和(galois域加法)得到节点已有数据和,再将接收到的编码数据减去(galois减法)节点已有数据和得到部分解码数据,表示为(c1',

,cs'),如等式(2)所示。对于每个节点,解码后的数据仅包含丢失的数据。部分解码数据(c1',

,cs')的系数矩阵为s
×
m矩阵,即为恢复矩阵r。
[0089][0090][0091]
……
[0092][0093]
例如,node1、node2、node3是协同节点,每个节点缺少3个同步数据,即m=3,每个协同节点接收到的编码数据为协同节点接收到的编码数据为将节点内已知数据分别与每个编码数据逻辑求和得到部分解码数据(c1',

,cs'),部分解码数据(c1',

,cs')的系数构成4
×
3的恢复矩阵。
[0094]
优选地,所述对恢复矩阵做矩阵变换得到节点内每个缺少数据的解,包括:
[0095]
通过矩阵变换将恢复矩阵的前m行转化为m
×
m对角矩阵的形式,其中m表示协同节
点缺少的同步数据数量;
[0096]
矩阵变换后对角矩阵形式的m行所对应的解即为节点内m个缺少数据的解。
[0097]
本实施例中,针对上述实施例中编码数据为本实施例中,针对上述实施例中编码数据为的部分解码数据构成的恢复矩阵,通过矩阵变换将每个恢复矩阵的前3行转化为3
×
3对角特征的形式,前3行对应的解即为该节点内每个缺少数据的解。解码过程如图5(a)(b)(c)所示。
[0098]
本发明实施例的一种服务器集群的数据同步方法,流程图如图6所示,包括:
[0099]
控制平面根据上述的数据编码方法构造编码矩阵并将编码矩阵发送至任务发起节点和各协同节点;
[0100]
任务发起节点根据上述的数据编码方法对所需同步数据编码得到编码数据;
[0101]
任务发起节点将编码数据发送至各协同节点;
[0102]
各协同节点根据上述的数据解码方法进行数据解码得到节点内缺少的数据。
[0103]
本实施例中,以图1中的基于耦合器的poi中的数据为例,控制平面根据上述实施例的数据编码方法构造2阶可恢复的编码矩阵并将编码矩阵发送至任务发起节点和各协同节点;任务发起节点根据上述实施例的数据编码方法对待同步数据(d1,

,d6)进行编码得到编码数据任务发起节点将编码数据发送至各协同节点,例如节点1,节点1具有d1,d2,d4,d5,缺少d3,d6,节点1根据上述实施例的数据解码方法进行数据解码得到部分解码数据以此计算恢复矩阵r为恢复矩阵r为对角矩阵,可以直接得到缺少的d3和d6的解,从而实现数据同步。
[0104]
本发明实施例的一种服务器集群的数据同步系统,示意图如图6所示,其特征在于包括:
[0105]
控制平面;
[0106]
任务发起节点;
[0107]
协同节点;
[0108]
存储器;
[0109]
以及
[0110]
一个或多个程序,其中所述一个或多个程序被存储在存储器中,并且被配置成由所述控制平面和/或任务发起节点和/或协同节点执行,所述程序使计算机执行上述方法。
[0111]
当然,本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明的,而并非作为对本发明的限定,只要在本发明的范围内,对以上实施例的变化、变型都将落入本发明的保护范围。
再多了解一些

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

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

相关文献