一种数据差异化识别编码同步方法、装置、设备及介质与流程

文档序号:27766121发布日期:2021-12-04 01:01阅读:128来源:国知局
一种数据差异化识别编码同步方法、装置、设备及介质与流程

1.本发明涉及热备份领域,尤其涉及一种数据差异化识别编码同步方法、装置、设备及介质。


背景技术:

2.电信级或者核心企业网络设备对系统的可靠性都有着比较高的要求。此类设备采用的一种比较常见的可靠性方案便是采用双主控系统实现1+1备份。
3.具体地,一块主控盘处于工作状态;另外一块备控盘处于备用状态。正常情况下,主控盘的数据需要实时同步到备控盘,当在主控盘由于不可预知的原因系统复位时,备控盘可以瞬间接替主控盘工作,从而实现缩短由于主控板故障导致业务中断的时间,提高设备的可靠性。
4.但现有的双主控系统中,主控盘需要向备控盘频繁同步大量数据,而其数据传输一般采用同步rpc方式同步数据,由于数据量大,同步频繁、阻塞等待时间长,将导致主控盘软件系统执行效率低下,特别是在nsr等场景出现大量路由学习或邻居震荡等情况,会导致双主控系统性能大幅下降。
5.因此,亟需一种能够针对大数据量的频繁传输,实现快速且高效备份的双主控系统。


技术实现要素:

6.本技术提供了一种数据差异化识别编码同步方法、装置、设备及介质,以解决现有由于数据量大,同步频繁、阻塞等待时间长,导致主控盘软件系统执行效率低下,特别是在nsr等场景出现大量路由学习或邻居震荡等情况,会导致双主控系统性能大幅下降的问题,其不仅能够针对大数据量的频繁传输,实现快速且高效备份的双主控系统。
7.为实现上述目的,本发明实施例提供了一种数据差异化识别编码同步方法,所述方法应用于主控盘,包括以下步骤:
8.映射主控制块的数据结构,得到位图;
9.更新主控制块时,对应数据结构变化,置位位图;
10.对位图进行压缩得到压缩数据,并发送至备控盘,所述压缩数据供备控盘解码得到的差量更新数据,并更新备控制块。
11.作为一个优选的实施方案,所述对位图进行压缩得到压缩数据,包括,对所述位图进行第一次压缩和第二次压缩,所述第一次压缩包括:
12.消除位图中出现的m次连续的0或1后拼接剩余bit位,并记录消除位置及数字;
13.且所述m的值被配置为:消除的bit位大于记录消除位置及数字所占bit位。
14.作为一个优选的实施方案,所述第二次压缩包括:
15.以n位bit为单元,统计位图中各单元对应的数值及出现次数;
16.抽取出现次数大于预设值的所述单元,记录抽取位置和对应单元,并拼接剩余位
置得到压缩数据,所述m,n均为预设的自然数。
17.作为一个优选的实施方案,在所述对位图进行压缩得到压缩数据之前,还包括:
18.将多个更新的主控制块对应的位图合并,得到合并后的位图,并记录合并后的位图所包括的主控制块。
19.作为一个优选的实施方案,所述对位图进行压缩得到压缩数据,包括:
20.对合并后的位图进行压缩得到压缩数据,所述压缩数据供备控盘解码得到的多个对应的备控制卡的差量更新数据,并更新对应的多个备控制块。
21.作为一个优选的实施方案,所述主控盘创建至少一个主控制块,并将主控制块注册至策略备份控制链,由所述策略备份控制链触发主控制块更新后的备份。
22.作为一个优选的实施方案,所述策略备份控制链触发主控制块更新后的备份,包括:
23.主控制盘更新主控制块后,所述策略备份控制链通过热备份rpc向备控盘发送更新请求以及压缩数据,并配置备份控制链进入异步等待状态;
24.备控制盘通过热备份rpc向备份控制链返回更新成功信息后,结束备份控制链的异步等待状态。
25.为实现上述目的,本发明实施例还提出了一种数据差异化识别编码同步装置,其包括:
26.位图映射模块,用于映射主控制块的数据结构,得到位图;
27.置位模块,用于更新主控制块时,对应数据结构变化,置位位图;
28.压缩模块,用于对位图进行压缩得到压缩数据,并发送至备控盘,所述压缩数据供备控盘解码得到的差量更新数据,并更新备控制块。
29.为实现上述目的,本发明实施例还提出了一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现上述实施方案所述的数据差异化识别编码同步方法的步骤。
30.为实现上述目的,本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现上述实施方案所述的数据差异化识别编码同步方法的步骤。
31.本技术公开了一种数据差异化识别编码同步方法、装置、设备及可读存储介质,通过记录对应控制块数据的位图,并通过位图来记录每次更新时的数据变化,继而向备控盘传送压缩后的位图,最终,通过备控盘解压并更新备控制块完成了数据的更新。这种每次更新仅仅携带变化的信息,不再携带全量快照信息,能够较大的提高数据同步更新效率。
附图说明
32.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本技术实施例提供的数据差异化识别编码同步方法步骤流程图;
34.图2为本技术实施例提供的与主控制块对应的位图;
35.图3为图2中的位图结构置位后的部分区域示意图;
36.图4为本技术实施例提供的第一次压缩的示意图;
37.图5为本技术实施例提供的多个主控制块对应的位图的合并的示意图;
38.图6为本技术实施例提供的备控制盘解码压缩数据并更新的步骤流程图;
39.图7为本技术实施例提供的主控制块与备控制块进行主备更新的步骤流程图;
40.图8为本技术实施例提供的主控制块与备控制块进行更新数据产生流程的步骤流程图;
41.图9为本技术实施例提供的主控制块与备控制块进行数据编码同步的步骤流程图。
42.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
45.本技术实施例提供一种数据差异化识别编码同步方法、装置、计算机设备及计算机可读存储介质。其中,该数据差异化识别编码同步方法可应用于计算机设备中,该计算机设备可以是服务器等电子设备。
46.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
47.请参阅图1,图1是本技术的一实施例提供的一种数据差异化识别编码同步方法的示意流程图。
48.如图1所示,本实施例提供了一种数据差异化识别编码同步方法,其应用于主控盘,该方法包括以下步骤:
49.步骤s101:映射主控制块的数据结构,得到位图;
50.主控盘对应主控制块的数据结构,映射位图,是为了能够在变化时,监控主控制块的变化的。
51.示范性的,如图2所示,主控盘确认需要备份的主控制块,对应需要备份的主控制块生成掩码位图结构,其映射字节为bit。
52.步骤s102:更新主控制块时,对应数据结构变化,置位位图;
53.当主控制块发生更新后,对应主控盘的变化,将位图中的数据进行置位,其置位表明了主控制块对应位置发生了变化,即,实现了通过位图直接监控主控制块中数据的变化。
54.示范性的,如图3所示,当原始主控制块内的数据发生变化,如修改、替换、删除等等时,与原是主控制块的数据比较,得出变化的数据,并将该数据在所属主控制块对应的位图中的bit位置位,表示其发生了变化。
55.步骤s103:对位图进行压缩得到压缩数据,并发送至备控盘,所述压缩数据供备控盘解码得到的差量更新数据,并更新备控制块。
56.若直接将整个位图发送至备控制盘,那么其数据量仍然是巨大的,本发明选择将位图进行压缩后发送至备控盘,由备控盘解码,再更新主控制块对应的被控制块。
57.现有备份为实时同步备份,主控制块与备控制块的备份关系为全量备份,若备份采用原始数据拷贝的方式,当控制块数量较大情况下传输及备份效率较低;本发明实施例的方案这是采用收集数据变化位图的方式记录变化点,仅仅传递变化数据,数据量少,同时,进一步本发明还采用特定位图编码算法减少数据传输,进一步实现了变更字段精确定位及高效备份。
58.在一实施例中,对位图进行压缩得到压缩数据,包括,对所述位图进行第一次压缩和第二次压缩,所述第一次压缩包括:
59.消除位图中出现的m次连续的0或1后拼接剩余bit位,并记录消除位置及数字;
60.且所述m的值被配置为:消除的bit位大于记录消除位置及数字所占bit位。
61.在主控制块更新后,由于其变化的数据是选项和参数等等,其变化的数据结构一般呈现连续、块状的,因此,其对应的位图被置位后,一般呈现的是连续的o,以及1,因此,第一次压缩选择将连续的0、1进行消除和记录,能够实现较大的压缩率。
62.示范性的,如图4所示,从位图区域首个bit开始轮询,当发现存在连续的0值bit或者1值bit时,进行合并判决,判决若满足预设条件,则进行消除以及记录消除位置、数字的工作。
63.可选的,其预设条件可以为:
64.设所抽取的bit数为uscbbitcutoffnmu,cb位图区域的横坐标最大为uscbbitxsize,cb位图区域的纵坐标最大为uscbbitysize,则需要满足
65.uscbbitcutoffnmu>{uscbbitxsize+uscbbitysize+uscbbitcutoffnmu}所占bit数才进行合并消除操作;
66.通过上述条件,来判断做0值合并的操作收益,如果合并后需要记录恢复的信息所占用空间大于被合并的总bit数,则相当于多花费了存储空间,也就没有必要做合并了;
67.例如以32bit位宽,最大8行的一个矩阵,其中出现需要合并起点位置坐标为(x=30,y=7)的连续2个0bit的过程判断为例:
68.uscbbitxsize等于32;uscbbitysize等于8;
69.连续为0的bit数uscbbitcutoffnmu等于2;则存储该完整信息所需bit数为:{32+8+2}_所占bit位,其等于6bit;
70.则按上述公式计算结果为:2bit<6bit,则没有必要进行合并0bit操作;
71.在一实施例中,第二次压缩包括:
72.以n位bit为单元,统计位图中各单元对应的数值及出现次数;
73.抽取出现次数大于预设值的所述单元,记录抽取位置和对应单元,并拼接剩余位置得到压缩数据,其中,n为预设的自然数。
74.示范性的,在完成第一次压缩后,位图中将存在多种1和0的组合,以一定的数位进行统计,抽取其中出现次数较多的元素,并记录,能够进一步提高对位图的压缩率,例如,以8bit为一个单位,发现至少10010111出现了一千次,那么抽取第一次压缩后位图的所有的

10010111”,并记录抽取位置,实现位图的压缩。
75.举例来说,对第一次压缩后的位图(消除0,1并拼接、合并剩余数据后),进行最大序号拆分计算及填充:
76.计算合并后的bit区域中,数据重复出现次数:将数值组合及出现次数,按从大到小的顺序进行排列,将原始bit区域的数据按每行值在值域表中出现的序号进行填充:
77.将表数据依次按顺序构造存放到新的位图区域,同时计算出最大出现序号对应位宽,
78.设最大出现次数为uscbbitmaxnmu设最大出现序号对应所需占用存储的位宽为uscbbitmaxsn,设首序号为0,设其余原始序号为uscbbitserieal_x,实际转换后填写的序号为uscbbitserieal_x2,
79.接下来,将出现次数最多的数值序号仅用0标识,占用一个bit;
80.所节约的为:uscbbitmaxnmu*(uscbbitmaxsn

1)
81.其余其他数值对应都用非0序号进行标识,需要对其余所有数值出现的序号增加一个bit作为首bit,该bit固定填写
’1’

82.设除最大出现次数外其余次数总和为uscbbittotolsum,
83.则为此增加的bit数量为:uscbbittotolsum
84.对相关数据进行分析,如果满足如下条件,则进行拆分填充,否则按原逻辑填充:
85.uscbbitmaxnmu*(uscbbitmaxsn

1)>uscbbittotolsum
86.如果满足填充条件,则除最大数值外,其余数值实际转换后填写的序号为:
87.uscbbitserieal_2=(1<<uscbbitmaxsn)|uscbbitserieal_x。
88.经过上述压缩后,得到压缩数据。
89.举例来说,每8位作为一个数值,统计出现次数,得到下表:
90.序号数值出现次数048301322256124312626
91.经过上述步骤发现,数值“56”和数值“126”出现次数多,同时满足条件uscbbitmaxnmu*(uscbbitmaxsn

1)>uscbbittotolsum,进行拆分。
92.在一实施例中,如图5所示,对位图进行压缩得到压缩数据之前,还包括:
93.将多个更新的主控制块对应的位图合并,得到合并后的位图,并记录合并后的位图所包括的主控制块。
94.主控控盘更新多个主控制块时,一次性进行多个位图的合并压缩发送能够提高数据的压缩率,提升备份效率。
95.在另一实例中,对位图进行压缩得到压缩数据,包括:
96.对合并后的位图进行压缩得到压缩数据,所述压缩数据供备控盘解码得到的多个对应的备控制卡的差量更新数据,并更新对应的多个备控制块。
97.示范性的,如图6所示,备控制盘解码压缩数据并更新包括以下几个步骤:
98.t101、按位图表头对应数据位置
99.根据携带的位图描述信息头中包含的数据长度信息,查表补齐,对数据进行首次恢复;
100.t102、按从高地址向低地址的方向进行0值补齐数据恢复;
101.由于bit消除相同值是从低地址向高地址进行的,填充位置记录的是相对消除后的位置,则恢复时从高地址开始填充对应长度的bit及移位,原始记录的坐标就不会被破坏;按此原则对数据进行二次恢复;
102.t103、完成备用数据定位及拷贝;
103.根据bit区域描述头部包含的查表信息,按序号查找对应原始数据,并将原始数据依次填充回对应位置,完成bit描述区域的数据恢复;
104.根据备用控制块寻址头部找到备用控制块,根据bit描述区域的置1标记找到相应需要赋值的字节及长度,按顺序获取变更数据区域的数据,填充到备用主控盘本地控制块中,完成整个数据备份及恢复过程。
105.在一个实施例中,所述主控盘创建至少一个主控制块,并将主控制块注册至策略备份控制链,由所述策略备份控制链触发主控制块更新后的备份。
106.进一步的,策略备份控制链触发主控制块更新后的备份,包括:
107.主控制盘更新主控制块后,所述策略备份控制链通过热备份rpc向备控盘发送更新请求以及压缩数据,并配置备份控制链进入异步等待状态;
108.备控制盘通过热备份rpc向备份控制链返回更新成功信息后,结束备份控制链的异步等待状态。
109.通过备份控制链来触发,并代替主控制盘进行异步等待,能够有效加快主备备份的速度。当主控制盘完成更新后,通过备份控制链进行相应的异步等待,等待备控盘返回成功命令,节省了主控盘的等待时间,同时主动触发的模式能够保证备份的有效性、安全性已经准确性。
110.举例来说,如图7所示,本发明包括以下步骤:
111.u101:主控盘更新所需主控制块信息,采用预设的算法记录控制块数据的变化信息,将控制块注册到策略备份控制链,主控盘返回成功
112.在数据更新后,对主控制块的描述信息中增加更新标记,计算差异位置并触发cb位图置位
113.u102:备份控制链触发数据备份时,对变化信息采用新的编码方式进行数据编码;
114.备份控制链触发轮询控制块,进行结构化计算,将所有需要更新的控制块对应的掩码位图数据合并,控制块位图区域数据进行抽取处理计算,最大序号拆分计算及填充;
115.u103:完成数据编码后,主控盘通过热备份rpc通道,携带编码数据,请求备用主控更新控制块,备份控制链进入异步等待状态;
116.u104:备控盘对数据进行解码恢复;
117.u105:根据恢复的差异描述信息,备控昂找到与主控制块对应的备控制块,对差异数据进行拷贝刷新,并返回rpc;
118.u106:主控盘完成控制块的刷新过程,结束备份控制链异步等待,响应下次备份。
119.进一步的,如图8所示,本发明还包括对首次挂入备份控制链的行为进行检测,在检测后,分别进行第一次压缩、第二次压缩,或者直接更新操作。
120.进一步的,如图9所示,本发明对于触发了备份控制链的控制块增加更新标价,并进行更新。
121.本技术实施例还提供一种数据差异化识别编码同步装置,其特征在于,其包括:
122.位图映射模块,用于映射主控制块的数据结构,得到位图;
123.置位模块,用于更新主控制块时,对应数据结构变化,置位位图;
124.压缩模块,用于对位图进行压缩得到压缩数据,并发送至备控盘,所述压缩数据供备控盘解码得到的差量更新数据,并更新备控制块。
125.本技术实施例还提供一种计算机设备,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术数据差异化识别编码同步方法的各个实施例。
126.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术数据差异化识别编码同步方法的各个实施例。
127.其中,所述本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
128.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
129.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。。
130.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
131.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1