本发明涉及计算机系统及存储,特别是涉及快照数据同步方法、存储主端、电子设备和存储介质。
背景技术:
1、随着信息数据的爆炸增长,对各种场景下数据的可靠性以及保护策略要求越来越严苛,要求主端快照数据与辅端快照数据一致同步的目的需求较高。但是,目前的远程复制中主端在对逻辑卷创建快照时。采用的方案时间点并不能实现时间的一致,或者并不能避免重复传输已经同步的数据。
技术实现思路
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、响应于二次快照创建操作,判断所述二次快照创建操作对物理区块的修改是否为首次修改;
27、响应于所述二次快照创建操作对物理区块的修改为首次修改,对所述卷版本信息表中的所述更新卷版本号进行更新,生成二次更新卷版本号;
28、响应于所述二次快照创建操作对物理区块的修改为非首次修改,对所述二次快照创建操作对应的物理区块地址的数据进行修改。
29、可选地,所述方法还包括:
30、将所述二次更新卷版本号插入到所述卷版本信息表的表头。
31、可选地,所述将所述卷版本信息表和所述物理区块地址链表同步至所述辅端的步骤包括:
32、响应于所述卷版本信息表的更新,将所述卷版本信息表和所述物理区块地址链表同步至所述辅端。
33、可选地,所述将所述卷版本信息表和所述物理区块地址链表同步至所述辅端的步骤还包括:
34、将所述物理区块地址链表对应的物理区块同步至所述辅端。
35、可选地,所述主端设置有元数据位图,所述方法还包括:
36、响应所述物理区块地址链表对应的物理区块同步至所述辅端时,将所述物理区块地址链表对应的物理区块在所述元数据位图进行标记,以对所述元数据位图进行更新。
37、可选地,所述将所述物理区块地址链表对应的物理区块同步至所述辅端的步骤包括:
38、遍历所述物理区块地址链表,确定所述物理区块地址链表的物理区块地址对应的物理区块;
39、判断所述物理区块地址链表的物理区块地址对应的物理区块是否为标记的物理区块;
40、响应于判断所述物理区块地址链表的物理区块地址对应的物理区块为标记的物理区块,跳过针对所述物理区块地址链表的物理区块地址对应的物理区块同步操作;
41、响应于判断所述物理区块地址链表的物理区块地址对应的物理区块为非标记的物理区块,针对所述物理区块地址链表的物理区块地址对应的物理区块进行同步。
42、本发明实施例还公开了一种快照数据同步方法,应用于辅端,所述辅端与主端连接,所述主端用于响应于创建源卷操作,生成卷版本信息表,所述卷版本信息表包括初始卷版本号;响应于快照创建操作,对所述初始卷版本号进行更新,生成更新卷版本号;接收写操作,所述写操作包括写入数据;依据所述写入数据的类型,结合所述初始卷版本号和所述更新卷版本号生成物理区块地址链表;将所述卷版本信息表和所述物理区块地址链表同步至所述辅端;所述方法包括:
43、接收所述卷版本信息表和所述物理区块地址链表;
44、依据所述卷版本信息表和所述物理区块地址链表生成辅卷的快照卷。
45、可选地,所述依据所述卷版本信息表和所述物理区块地址链表生成辅卷的快照卷的步骤包括:
46、依据所述卷版本信息表和所述物理区块地址链表,生成逻辑区块地址物理区块地址关联树;
47、采用所述逻辑区块地址物理区块地址关联树,生成所述辅卷的快照卷。
48、可选地,所述依据所述卷版本信息表和所述物理区块地址链表,生成逻辑区块地址物理区块地址关联树的步骤包括:
49、依据所述物理区块地址链表,判断所述物理区块地址链表中物理区块地址对应的物理区块是否已经完成同步;
50、响应于所述物理区块地址链表中物理区块地址对应的物理区块已经完成同步,将所述卷版本信息表进行同步,依据同步后的卷版本信息表生成所述逻辑区块地址物理区块地址关联树;
51、响应于所述物理区块地址链表中物理区块地址对应的物理区块未同步,将读取历史卷版本信息表,依据所述历史卷版本信息表和所述卷版本信息表,生成所述逻辑区块地址物理区块地址关联树。
52、可选地,所述依据所述历史卷版本信息表和所述卷版本信息表,生成所述逻辑区块地址物理区块地址关联树的步骤包括:
53、判断所述历史卷版本信息表与所述卷版本信息表是否一致;
54、响应于所述历史卷版本信息表与所述卷版本信息表一致,将所述物理区块地址链表中的物理区块地址对应的数据进行更新,生成所述逻辑区块地址物理区块地址关联树;
55、响应于所述历史卷版本信息表与所述卷版本信息表一致,采用所述卷版本信息表,更新所述物理区块地址链表中的物理区块地址,生成更新物理区块地址链表,采用所述更新物理区块地址链表,生成所述逻辑区块地址物理区块地址关联树。
56、可选地,所述将所述物理区块地址链表中的物理区块地址对应的数据进行更新,生成所述逻辑区块地址物理区块地址关联树的步骤包括:
57、依据所述物理区块地址链表中的物理区块地址,确定逻辑区块地址;
58、将所述物理区块地址链表中的物理区块地址和所述逻辑区块地址确定为第一树节点;
59、依据所述第一树节点生成所述逻辑区块地址物理区块地址关联树。
60、可选地,所述采用所述更新物理区块地址链表,生成所述逻辑区块地址物理区块地址关联树的步骤包括:
61、依据所述更新物理区块地址链表确定目标物理区块地址;
62、依据所述目标物理区块地址,确定目标逻辑区块地址;
63、将所述目标物理区块地址和所述目标逻辑区块地址确定为第二树节点;
64、依据所述第二树节点生成所述逻辑区块地址物理区块地址关联树。
65、本发明实施例还公开了一种数据存储主端,所述数据存储主端与数据存储辅端连接,所述数据存储主端用于响应于创建源卷操作,生成卷版本信息表,所述卷版本信息表包括初始卷版本号;响应于快照创建操作,对所述初始卷版本号进行更新,生成更新卷版本号;接收写操作,所述写操作包括写入数据;依据所述写入数据的类型,结合所述初始卷版本号和所述更新卷版本号生成物理区块地址链表;将所述卷版本信息表和所述物理区块地址链表同步至所述辅端。
66、本发明实施例还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的快照数据同步方法的步骤。
67、本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的快照数据同步方法的步骤。
68、本发明实施例包括以下优点:
69、本发明实施例通过响应于创建源卷操作,生成卷版本信息表,所述卷版本信息表包括初始卷版本号;响应于快照创建操作,对所述初始卷版本号进行更新,生成更新卷版本号;接收写操作,所述写操作包括写入数据;依据所述写入数据的类型,结合所述初始卷版本号和所述更新卷版本号生成物理区块地址链表;将所述卷版本信息表和所述物理区块地址链表同步至所述辅端,所述辅端用于依据所述卷版本信息表和所述物理区块地址链表生成辅卷的快照卷。通过在主端对源卷创建快照时,构造源卷、快照卷、物理区块之间关系的元数据,构造出卷版本信息表和物理区块地址链表,以表征快照关系;在远程复制同步时将卷版本信息表和物理区块地址链表同步给辅端,由辅端根据这些卷版本信息表和物理区块地址链表,生成辅卷与辅卷快照卷的快照关系,生成辅卷的快照卷。主端对源卷创建快照不需要对辅端进行其他操作,辅端的辅卷也具备了相应的快照信息,并且保证主端与辅端的快照数据基于时间点是一致的,并且无需对重复的数据进行传输,提高数据传输的效率。