磁盘镜像的基线的建立方法、装置和存储介质与流程

文档序号:27014386发布日期:2021-10-22 23:09阅读:108来源:国知局
磁盘镜像的基线的建立方法、装置和存储介质与流程

1.本发明涉及计算机集群技术领域,尤其涉及一种磁盘镜像的基线的建立方法、装置和存储介质。


背景技术:

2.随着信息化技术的飞速发展和数据时代的来临,电信、金融、电子政务等关键领域对服务器和数据的高可用性的要求越来越高,为了避免在发生洪水、地震、火灾、风暴或恐怖袭击等灾难造成严重的业务中断和数据破坏的情况,需要构建异地高可用集群或远程容灾系统来提供抵御灾难的能力,减少灾难造成的损失。
3.在实施部署过程中,一般需先建立磁盘镜像的基线,即磁盘没有io写入和修改情况下对远程两地数据磁盘进行全盘数据同步,以保障两边数据的完全一致;以后生产机每次对磁盘进行的变更都将记录为一个差值,生产机只把差值数据传给备份机。考虑实际情况,两地距离越远,时延就越来,数据复制传输慢;另一方面也受限于两地的专线网络带宽有限,而信息化导致数据爆炸式增长,磁盘容量越来越大;因而初始化全盘数据同步问题给项目带来了额外的工作量和时间。
4.在现有的处理方法中,大多数在本地对磁盘的全盘数据进行同步调试,再将磁盘进行远程的部署。此方法在同步调试过程中仍要花较多的时间,同步效率低,且还增加了运输成本。另外,若是两地建设的时间不同,则不能适用;且运行过程中,若现场磁盘出现故障需更换,必须重新对两地数据磁盘进行全盘数据同步。
5.名词解释:
6.磁盘镜像的基线:是指位于异处的不同计算机数据磁盘的字节值在特定时刻完全一致。


技术实现要素:

7.为了解决上述技术问题,本发明的目的是提供一种磁盘镜像的基线的建立方法、装置和存储介质,在远程距离和带宽有限的情况下,能够快速建立磁盘镜像的基线。
8.本发明所采用的技术方案是:
9.一种磁盘镜像的基线的建立方法,包括以下步骤:
10.s1、按照顺序获取第一磁盘块的第一编码信息,以及获取第二磁盘块的第二编码信息;
11.s2、将第一编码信息和第二编码信息进行比对,若比对相同,判定第一磁盘块的数据内容和第二磁盘块的数据内容相同;反之,根据第一磁盘块的数据内容对第二磁盘块进行备份;
12.s3、判断是否获取完所有的第一编码信息,若是,获得磁盘镜像的基线;反之,返回执行步骤s1;
13.其中,所述第一磁盘块为生产机上的磁盘块,所述第二磁盘块为备份机上的磁盘
块。
14.进一步,在步骤s1前还包括以下步骤:
15.对生产机的磁盘块和备份机的磁盘块进行置零处理。
16.进一步,所述第一编码信息包括第一磁盘块的特征码、扇区号、数据类型、数据长度信息以及编码信息。
17.进一步,所述编码信息为md5值。
18.进一步,所述按照顺序获取第一磁盘块的第一编码信息,包括:
19.生产机按照顺序读取第一磁盘块的字节数据,对字节数据进行编码,获得md5值;
20.获取第一磁盘块的特征码、扇区号、数据类型和数据长度信息,将特征码、扇区号、数据类型、数据长度信息和md5值进行打包,获得第一编码信息。
21.进一步,所述步骤s2具体包括以下步骤:
22.在备份机接收到第一编码信息后,将第一编码信息与第二编码信息进行比对,并将比对结果反馈至生产机;
23.若比对相同,判定第一磁盘块的数据内容和第二磁盘块的数据内容相同,继续执行步骤s3;反之,获取并发送第一磁盘块的数据内容至备份机;
24.在备份机接收到第一磁盘块的数据内容后,根据所述数据内容对第二磁盘块进行备份。
25.进一步,所述获取并发送第一磁盘块的数据内容至备份机,包括:
26.生产机获取第一磁盘块的数据内容进行打包,获得并发送第一数据包至备份机;
27.所述第一数据包包括第一磁盘块的特征码、扇区号、数据类型、数据长度信息和数据内容。
28.进一步,还包括以下步骤:
29.在获得磁盘镜像的基线后,生产机将磁盘块上变更的数据记录为差值,根据差值生成并发送第二数据包至备份机;
30.备份机根据第二数据包获取并备份对应的磁盘块。
31.本发明所采用的另一技术方案是:
32.一种磁盘镜像的基线的建立装置,包括:
33.至少一个处理器;
34.至少一个存储器,用于存储至少一个程序;
35.当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
36.本发明所采用的另一技术方案是:
37.一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。
38.本发明的有益效果是:本发明采用发送编码信息的方式替换传统直接发送磁盘数据的方式,极大地减少了传输的数据量,进而提高了基线建立的效率。
附图说明
39.图1是本发明实施例中一种磁盘镜像的基线的建立方法的步骤流程图;
40.图2是本发明实施例中对磁盘块置零处理的流程示意图;
41.图3是本发明实施例中建立基线过程时生产机的执行步骤示意图;
42.图4是本发明实施例中建立基线过程时备份机的执行步骤示意图。
具体实施方式
43.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
44.在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
45.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
46.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
47.如图1所示,本实施例提供了一种磁盘镜像的基线的建立方法,包括以下步骤:
48.s101、对生产机的磁盘块和备份机的磁盘块进行置零处理。
49.在对生产机和备份机进行部署前,先置生产机、备份机的数据磁盘的内容零值。该步骤并不是必要步骤,如果使用的生产机和备份机两台设备在产品出产时已经经过置零处理,则可直接进行后面的步骤。参加图2,对生产机或备份机进行置零处理的步骤包括步骤s1011-s1013:
50.s1011、在磁盘上,按照顺序获取磁盘块的磁盘数据;
51.s1012、置磁盘块的磁盘数据零值;
52.s1013、判断是否到达磁盘的结尾,若是,完成置零处理;反之,返回执行步骤s1011。
53.在经过置零处理后,生产机和备份机上的数据内容已经大致相同。其中,为确保生产机的数据能完整复制到备份机,备份机的存储空间需大于或等于生产机的存储空间。
54.在一些实施例中,只需对备份机进行置零处理,而对生产机的磁盘创建“快照”,所述快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
55.s102、按照顺序获取第一磁盘块的第一编码信息,以及获取第二磁盘块的第二编码信息。其中,所述第一磁盘块为生产机上的磁盘块,所述第二磁盘块为备份机上的磁盘块。
56.同步部署时,由生产机按照顺序获取第一磁盘块的第一编码信息,由备份机获取第二磁盘块的第二编码信息。所述第一编码信息内包括第一磁盘块的特征码、扇区号、数据类型、数据长度信息以及编码信息,所述编码信息为md5值(包含32个字符)或其他编码方式
获得的信息。生产机获取第一编码信息的步骤如步骤s1021-s1022:
57.s1021、生产机按照顺序读取第一磁盘块的字节数据,对字节数据进行编码,获得md5值;
58.s1022、获取第一磁盘块的特征码、扇区号、数据类型和数据长度信息,将特征码、扇区号、数据类型、数据长度信息和md5值进行打包,获得第一编码信息。
59.在一些实施例中,生产机获得第一编码信息后,将第一编码信息发送至备份机。备份机接收并识别得第一编码信息后,获取对应的第二磁盘块(如根据第一磁盘块的特征码和扇区号),再获取第二编码信息。
60.在一些实施例中,备份机获得第二编码信息后,将第二编码信息发送至生产机。生产机接收并识别得第二编码信息后,根据第二编码信息获取对应的第一编码信息。
61.在一些实施例中,根据预设程序,生产机获取第一编码信息和备份机获取第二编码信息同步进行,并将获得的第一编码信息和第二编码信息发送至预设的服务器上,并由该服务器对第一编码信息和第二编码信息进行比对后,将比对结果反馈回生产机和备份机。
62.s103、将第一编码信息和第二编码信息进行比对,若比对相同,判定第一磁盘块的数据内容和第二磁盘块的数据内容相同;反之,根据第一磁盘块的数据内容对第二磁盘块进行备份。
63.在一些实施例中,生产机将第一编码信息发送至备份机,由备份机对第一编码信息和第二编码信息进行比对,并将比对结果反馈回生产机。若比对结果相同,即第一磁盘块的数据内容和第二磁盘块的数据内容相同,此时,第一磁盘块与第二磁盘块已经实现镜像。若比对结果不同,则生产机将该第一磁盘块的数据内容进行打包并发送给备份机,以使备份机将接收到的数据内容写入第二磁盘块,实现第一磁盘块与第二磁盘块的镜像。具体步骤如步骤s1031-s1033:
64.s1031、在备份机接收到第一编码信息后,将第一编码信息与第二编码信息进行比对,并将比对结果反馈至生产机;
65.s1032、若比对相同,判定第一磁盘块的数据内容和第二磁盘块的数据内容相同,返回执行步骤s104;反之,获取并发送第一磁盘块的数据内容至备份机;
66.s1033、在备份机接收到第一磁盘块的数据内容后,根据所述数据内容对第二磁盘块进行备份。
67.所述获取并发送第一磁盘块的数据内容至备份机这一步骤,具体包括步骤a1-a2:
68.a1、生产机获取第一磁盘块的数据内容进行打包,获得并发送第一数据包至备份机;
69.a2、所述第一数据包包括第一磁盘块的特征码、扇区号、数据类型、数据长度信息和数据内容。
70.在一些实施例中,备份机将第二编码信息发给生产机,由生产机将对第一编码信息和第二编码信息进行比对。若比对相同,即第一磁盘块的数据内容和第二磁盘块的数据内容相同,则发送触发信息给备份机,以使备份机获取并发送下一个第二磁盘块的第二编码信息给生产机。若比对结果不同,则生产机直接获取并发送第一磁盘块的数据内容至备份机,以使备份机将数据内容写入第二磁盘块,实现第一磁盘块与第二磁盘块镜像。
71.在一些实施例中,生产机和备份机同时将第一编码信息和第二编码信息发送至第三台服务器,由该服务器对第一编码信息和第二编码信息进行比对,若比对相同,服务器发送比对成功信息给生产机和备份机,以使生产机和备份机发送下一个磁盘块的编码信息。若比对不同,发送信息给生产机,以使生产机获取并发送第一磁盘块的数据内容至备份机。备份机接收到数据内容后,写入第二磁盘块,实现第一磁盘块与第二磁盘块镜像。
72.s104、判断是否获取完所有的第一编码信息,若是,获得磁盘镜像的基线;反之,返回执行步骤s1012。
73.当生产机判断到获取完所有的第一编码信息,发送信息给备份机,基线的建立完成。若还存有其他第一磁盘块的第一编码信息,则继续获取并发送第一编码信息。
74.采用发送编码信息的方式替换传统直接发送磁盘数据的方式,可以大大地节约传输的数据量。传统镜像的过程是将一边磁盘为源端全盘覆盖目的端的数据,意味着源端磁盘的数据都要通过网络传输过来并写入目的端磁盘当中,需将源端的数据一份一份地传输并覆盖目的端的数据。在远程环境中,时延较大,若两地相距300km,专线的时延往返为10~20ms(光速传输速率为300x1000km/ms,考虑中间设备时延),而tcp一次握手传输最大的数据量为64kb,则理想情况的传输速率为是64kb*(1000ms/20ms)=3.2mb/s到6.4mb/s。按照上述的计算,对于4tb的磁盘,则要约360~180小时,时间相当长,不能适用于生产部署。
75.而采用本实施例的基线建立方法,在置生产机、备份机的数据磁盘的内容零值后,磁盘的大部分内容是相同的,这些内容不需要网络传递,建立磁盘镜像基线的瓶颈从网络带宽不足转换为计算md5编码,显然它们不是一个数量级别,一般md5编码速度可以达到200mb/s,采用多线程技术同时计算编码更能提高效率;经估算(考虑磁盘io读写时间等),建立4tb磁盘镜像的基线在30小时内可以完成。综上所述,本实施例方法,在远程距离和带宽有限的情况下,仍然能够快速建立磁盘镜像的基线,可显著减少了异地高可用集群和远程容灾系统的初次部署时间。
76.进一步作为可选的实施方式,还包括以下步骤:
77.在获得磁盘镜像的基线后,生产机将磁盘块上变更的数据记录为差值,根据差值生成并发送第二数据包至备份机;
78.备份机根据第二数据包获取并备份对应的磁盘块。
79.建立镜像的初始基线后,以后生产机每次对磁盘进行的变更都将记录为一个差值,生产机把差值等数据打包通过tcp网络协议传递给备份机,备份机对差值等数据包进行处理,最终写入相应的磁盘区作为备份。
80.本实施例还提供了一种磁盘镜像的基线的建立方法,包括但不限于以下步骤:
81.s201、首次开始部署时,置生产机和备份机的数据磁盘的内容零值;
82.s202、生产机和备份机读取各自磁盘块的字节进行编码,将编码进行比对,若比对一致则标记为相同数据;若编码不一致,把磁盘块的字节作为一个差值,生产机把差值等数据打包通过tcp网络协议传递给备份机,备份机对差值等数据包进行处理,最终写入相应的磁盘区作为备份;
83.s203、然后读取下一个磁盘块,重复第2步,直到某计算机的磁盘块比对完成;此为完成镜像的初始基线;
84.s204、建立镜像的初始基线后,以后生产机每次对磁盘进行的变更都将记录为一
个差值,生产机把差值等数据打包通过tcp网络协议传递给备份机;
85.s205、备份机对差值等数据包进行处理,最终写入相应的磁盘区作为备份。
86.本实施例还提供了一种磁盘镜像的基线的建立方法,包括但不限于以下步骤:
87.s301、在生产过程中,比较异处网络的生产机、备份机数据磁盘空间的大小,备份机的空间不小于生产机,确保生产机的数据能完整复制到备份机;
88.s302、对生产机的磁盘创建“快照”,对备份机磁盘字节内容置零;
89.s303、生产机读取“快照”磁盘块内容、备份机读取自己磁盘块内容,对内容分别编码,将编码进行比对,若比对一致则标记为相同数据;若编码不一致,把“快照”磁盘块内容作为一个差值,生产机把差值等数据打包通过tcp网络协议传递给备份机,备份机对差值等数据包进行处理,最终写入相应的磁盘区作为备份;
90.s304、然后读取“快照”磁盘下一个磁盘块,重复第3步;直到生产机的磁盘块比对完成;此为完成镜像的初始基线;
91.s305、建立镜像的初始基线后,以后生产机每次对磁盘进行的变更都将记录为一个差值,生产机把差值等数据打包通过tcp网络协议传递给备份机;
92.s306、备份机对差值等数据包进行处理,最终写入相应的磁盘区作为备份。
93.本实施例还提供了一种磁盘镜像的基线的建立方法,包括以下步骤:
94.第一步骤、首次开始部署时,置生产机、备份机的数据磁盘的内容零值;参加图2,此步骤为单线程完成。
95.第二步骤、生产机、备份机建立磁盘镜像的初始基线;以后生产机每次对磁盘进行的变更都将记录为一个差值,生产机只把差值数据传递给备份机。
96.在建立基线过程中,参见图3,生产机主要执行的步骤如下:生产机raw读取指定磁盘块的数据内容,并对数据内容进行md5编码,获得一个32个字符的md5值。对md5值进行打包获得md5包,md5包的结构包括:特征码(或者魔数)、扇区号、数据类型、数据长度、md5值;把md5包通过tcp网络传给备份机。接收备份机的比对结果,若比对一致则标记为相同数据;若编码不一致,生产机把磁盘块内容等数据打包(包结构包括:特征码、扇区号、数据类型、数据长度、块内容)通过tcp网络协议传递给备份机;判断当前位置是否到达磁盘的结尾,是则发送消息告知备份机,比对磁盘结束,建立磁盘镜像的初始基线完成;否则继续循环raw读取下一个磁盘块内容。
97.在建立基线过程中,参见图4,备份机主要执行的步骤如下:备份机接收生产机数据包,判断数据类型:若是md5包则raw读指定磁盘块内容并md5编码,与生产机编码比对,并把结果发给生产机;如果数据类型是磁盘块内容,则把内容raw写入备份机指定磁盘块;判断当前位置是否到达磁盘的结尾,是则发送消息告知生产机,比对磁盘结束,建立磁盘镜像的初始基线完成;否则继续接收生产机数据包。
98.本实施例还提供了一种磁盘镜像的基线的建立装置,包括:
99.至少一个处理器;
100.至少一个存储器,用于存储至少一个程序;
101.当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
102.本实施例的一种磁盘镜像的基线的建立装置,可执行本发明方法实施例所提供的
一种磁盘镜像的基线的建立方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
103.本实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。
104.本实施例的一种存储介质,可执行本发明方法实施例所提供的一种磁盘镜像的基线的建立方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
105.可以理解的是,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
106.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1