一种周期异步远程复制方法、装置、设备及存储介质与流程

专利检索2022-05-10  9



1.本技术涉及计算机技术领域,特别涉及一种周期异步远程复制方法、装置、设备及可读存储介质。


背景技术:

2.现有的存储应用领域比如银行、互联网等每天不同时段的业务量差异很大。而目前存储系统中异步远程复制的周期主要有两种设置方法,一种设置固定周期进行数据同步,另一种是根据业务需要人为设置不同周期。这两种方法分别存在以下缺点:
3.采用固定周期的方式虽然不再需要人为调整,但是如果周期设置时间短,当业务量很小甚至没有业务操作的时候频繁进行异步远程复制会造成许多不必要的计算量(比如启动异步远程复制时对启动条件的检查等);而如果周期设置时间长,当业务量很大时,异步远程复制一次就需要同步大量增量数据,假如在下一周期启动异步远程复制之前主端出现故障,则会造成数据丢失。而根据业务需要人为设置同步周期的方式,会占用人力,导致成本较高。
4.综上,如何提供一种异步远程复制方案,克服上述两种方法的缺点,是亟待本领域技术人员解决的问题。


技术实现要素:

5.本技术的目的是提供一种周期异步远程复制方法、装置、设备及可读存储介质,用以解决当前的周期异步远程复制方案要么设置固定周期导致数据丢失或增加不必要的计算量,要么依赖人工设置周期导致成本较高的问题。其具体方案如下:
6.第一方面,本技术提供了一种周期异步远程复制方法,包括:
7.s1、确定第一主机的实时业务量;
8.s2、根据所述实时业务量,利用目标公式确定异步远程复制的目标周期;在所述目标公式中,所述实时业务量与所述目标周期之间的关系为:实时业务量越大,目标周期越短;实时业务量越小,目标周期越长;
9.s3、控制所述第一主机按照所述目标周期将业务数据异步远程复制至第二主机,直至本轮异步远程复制的时间达到预设时间阈值,回到s1进入下一轮异步远程复制。
10.可选的,所述利用目标公式确定异步远程复制的目标周期,包括:
11.利用目标公式确定异步远程复制的目标周期,所述目标公式为:t=s

(t_max

t_min)/(q_max

q_min)*q,其中,s为预设常量,t_max和t_min分别为异步远程复制的周期的最大值和最小值,q_max和q_min分别为业务量的最大值和最小值,q为实时业务量。
12.可选的,所述利用目标公式确定异步远程复制的目标周期,包括:
13.利用目标公式确定异步远程复制的目标周期,所述目标公式为:t=s

(t_max

t_min)/(q_max

q_min)*q,其中,预设常量s=(t_max*q_max

t_min*q_min)/(q_max

q_min)。
14.可选的,在所述利用目标公式确定异步远程复制的目标周期之前,还包括:
15.获取所述第一主机的历史业务量数据;根据所述历史业务量数据,确定所述业务量的最大值和最小值。
16.可选的,所述利用目标公式确定异步远程复制的目标周期,包括:
17.利用目标公式确定异步远程复制的目标周期,若所述目标周期的数值不是整数,则对所述目标周期的数值进行向下取整。
18.可选的,所述控制所述第一主机按照所述目标周期将业务数据异步远程复制至第二主机,包括:
19.控制所述第一主机按照所述目标周期将业务数据异步远程复制至第二主机,每次执行异步远程复制之前,对所述第一主机和所述第二主机进行启动条件的检查,所述启动条件包括:第一主机和第二主机是否为周期异步远程复制关系和/或第一主机和第二主机的通信链路是否正常。
20.可选的,所述控制所述第一主机按照所述目标周期将业务数据异步远程复制至第二主机,包括:
21.获取所述第一主机的异步远程复制的当前周期;
22.判断所述当前周期是否等于所述目标周期;
23.若等于,则向所述第一主机发送按照所述当前周期继续进行异步远程复制的指令,以控制所述第一主机按照所述目标周期将业务数据异步远程复制至第二主机;
24.若不等于,则向所述第一主机发送携带所述目标周期的周期更新指令,以控制所述第一主机按照所述目标周期将业务数据异步远程复制至第二主机。
25.第二方面,本技术提供了一种周期异步远程复制装置,包括:
26.业务量确定模块,用于确定第一主机的实时业务量;
27.周期计算模块,用于根据所述实时业务量,利用目标公式确定异步远程复制的目标周期;在所述目标公式中,所述实时业务量与所述目标周期之间的关系为:实时业务量越大,目标周期越短;实时业务量越小,目标周期越长;
28.控制模块,用于控制所述第一主机按照所述目标周期将业务数据异步远程复制至第二主机,直至本轮异步远程复制的时间达到预设时间阈值,回到所述业务量确定模块进入下一轮异步远程复制。
29.第三方面,本技术提供了一种周期异步远程复制设备,包括:
30.存储器:用于存储计算机程序;
31.处理器:用于执行所述计算机程序,以实现如上所述的周期异步远程复制方法。
32.第四方面,本技术提供了一种可读存储介质,所述可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时用于实现如上所述的周期异步远程复制方法。
33.本技术所提供的一种周期异步远程复制方法,包括:确定第一主机的实时业务量;根据实时业务量,利用目标公式确定异步远程复制的目标周期;控制第一主机按照目标周期将业务数据异步远程复制至第二主机,直至本轮异步远程复制的时间达到预设时间阈值,进入下一轮异步远程复制。在上述目标公式中,实时业务量与目标周期之间的关系为:实时业务量越大,目标周期越短;实时业务量越小,目标周期越长。
34.可见,该方法能够根据主机的实时业务量灵活设置异步远程复制的周期,在业务量较大的时候设置短周期以避免数据丢失,在业务量较小的时候设置长周期以避免引入不
必要的计算量,这种周期调整方式不占用额外人力,能够节省人力成本并提高异步远程复制效率。
35.此外,本技术还提供了一种周期异步远程复制装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
36.为了更清楚的说明本技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1为本技术所提供的周期异步远程复制方法实施例一的流程图;
38.图2为本技术所提供的周期异步远程复制方法实施例二的流程图;
39.图3为本技术所提供的周期异步远程复制方法的实际应用实施例的流程图;
40.图4为本技术所提供的周期异步远程复制装置实施例的功能框图;
41.图5为本技术所提供的周期异步远程复制设备实施例的结构示意图。
具体实施方式
42.本技术的核心是提供一种周期异步远程复制方法、装置、设备及可读存储介质,能够根据主机的业务量自动实现对异步远程复制的周期的灵活调整,避免数据丢失问题,降低人力成本,提升执行效率。
43.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.下面对本技术提供的周期异步远程复制方法实施例一进行介绍,参见图1,实施例一包括:
45.s11、确定第一主机的实时业务量;
46.s12、根据实时业务量,利用目标公式确定异步远程复制的目标周期;
47.s13、控制第一主机按照目标周期将业务数据异步远程复制至第二主机,直至本轮异步远程复制的时间达到预设时间阈值,回到s11进入下一轮异步远程复制。
48.本实施例的目的在于基于业务量自动调整异步远程复制的周期。异步远程复制的目的在于实现数据同步,在异步远程复制中,同步的内容是业务数据,同步的过程为:将第一主机上的业务数据异步远程复制至第二主机,即将业务数据从第一主机同步至第二主机。
49.为避免频繁频繁调整周期带来系统扰动,本实施例设置每隔预设时间阈值调整一次异步远程复制的周期,这里预设时间阈值的具体取值可以根据实际需求自定设置和调整,本实施例对此不做限定。
50.为保证调整后的周期能够克服容易丢失数据和引入不必要计算量的缺点,本实施例在根据实时业务量调整异步远程复制的周期的过程中,遵循以下原则:在业务量较大的
时候,将异步远程复制的周期向较短的方向调整,以避免数据丢失;在业务量较小的时候,将异步远程复制的周期向较长的方向调整,以避免引入不必要的计算量。所以,在目标公式中,实时业务量与目标周期之间的关系为:实时业务量越大,目标周期越短;实时业务量越小,目标周期越长。
51.实际应用中,在控制第一主机按照目标周期将业务数据异步远程复制至第二主机的过程中,每次执行异步远程复制之前,都会对第一主机和第二主机进行启动条件的检查,具体的检查内容可以包括:第一主机和第二主机是否为周期异步远程复制关系,第一主机和第二主机的通信链路是否正常,异步远程复制关系是否在一致性组等。
52.在此基础之上,考虑到业务量在一些时间段基本不会发生改变,为避免频繁设置同一周期,作为一种优选的实施方式,本实施例在利用目标公式计算出异步远程复制的目标周期之后,将异步远程复制的目标周期与异步远程复制的当前周期作比较,判断二者是否一致,当且仅当二者不一致时,向第一主机发送携带目标周期的周期更新指令,以控制第一主机按照目标周期将业务数据异步远程复制至第二主机。相反,在二者一致时,可以不向第一主机发送任何指令,第一主机自身每隔上述预设时间间隔判断是否接收到控制指令,如果没有接收到,则按照当前周期继续执行异步远程复制;也可以像第一主机发送简单的指令,如发送按照当前周期继续进行异步远程复制的指令,以控制第一主机按照目标周期将业务数据异步远程复制至第二主机。
53.本实施例所提供一种周期异步远程复制方法,能够根据主机的实时业务量灵活设置异步远程复制的周期,在业务量较大的时候设置短周期以避免数据丢失,在业务量较小的时候设置长周期以避免引入不必要的计算量,这种周期调整方式不占用额外人力,能够节省人力成本并提高异步远程复制效率。
54.下面开始详细介绍本技术提供的周期异步远程复制方法实施例二,参见图2,实施例二具体包括:
55.s21、获取第一主机的历史业务量数据;根据历史业务量数据,确定业务量的最大值和最小值;
56.s22、确定第一主机的实时业务量;获取第一主机的异步远程复制的当前周期;
57.s23、根据实时业务量,利用目标公式确定异步远程复制的目标周期。若计算得到的目标周期的数值不是整数,则对目标周期的数值进行向下取整。
58.上述目标公式为:t=s

(t_max

t_min)/(q_max

q_min)*q,其中,s为预设常量,t_max和t_min分别为异步远程复制的周期的最大值和最小值,q_max和q_min分别为业务量的最大值和最小值,q为实时业务量。
59.作为一种具体的实施方式,上述预设常量的取值可以如下:s=(t_max*q_max

t_min*q_min)/(q_max

q_min)。
60.s24、判断当前周期是否等于目标周期;若等于,进入s25,否则进入s26;
61.s25、不向第一主机发送任何指令,第一主机在检测到自身未接收到指令时,继续按照当前周期将业务数据异步远程复制至第二主机;
62.s26、向第一主机发送携带目标周期的周期更新指令,第一主机根据周期更新指令按照目标周期将业务数据异步远程复制至第二主机。
63.在s26和s27中,每次执行异步远程复制之前,对第一主机和第二主机进行启动条
件的检查。主要包括以下检查内容:
64.(1)判断将要设置周期的远程复制关系是否是周期异步远程复制关系(同步远程复制关系、普通远程复制关系、双活关系是不需要设置周期的)。
65.(2)检查远程复制关系是否在一致性组(一致性组:组内所有的远程复制关系是相同类型的,周期时间也是相同的)。
66.(3)判断接收主机的数据业务是在第一主机还是在第二主机(一般是第一次启动时设置的)。
67.(4)判断存储系统否正常,如果第一主机还是在第二主机不在一个系统内,还需要判断两个系统之间的链路是否正常。
68.s27、若本轮异步远程复制的时间达到预设时间阈值,回到s22进入下一轮异步远程复制。
69.本实施例所提供一种周期异步远程复制方法,建立周期异步远程复制关系,获取主机的业务量,根据业务量计算新的周期,进而判断新的周期是否与当前周期时间相同,如果不同重新设置,相同则不作处理。总之,本实施例的关键点有3个:第一,能够根据业务量灵活设置异步远程复制的周期;第二,降低异步远程复制过程中主机出现故障时的数据量丢失量;第三,降低人力投入,节约人力成本。
70.下面以实际应用为例对本技术的周期异步远程复制方法进行说明。
71.本技术中,异步远程复制的周期设置有相应范围:最小值t_min,最大值t_max,单位为秒。统计主机的历史业务量数据,得到业务量的最大值q_max和最小值q_min。根据下式计算出实时业务量为q时的目标周期t:
72.t=

(t_max

t_min)/(q_max

q_min)*q (t_max*q_max

t_min*q_min)/(q_max

q_min)
73.由于异步远程复制的周期大小只能设置为整数,故对目标周期t的数值取整数后再在主机上进行设置。
74.可以根据实际情况采用每隔一段时间调整一次周期,如果计算出的目标周期t与当前周期不一致则重新设置,如果一致则不作任何处理。这里以每隔2小时调整一次周期为例介绍,过程如下:
75.步骤1、设置异步远程复制的周期t的初始值,一般取值为300s;
76.步骤2、获取业务量q,根据公式并取整算出新的异步远程复制的周期,记为t;
77.步骤3、判断t是否等于t,等于则不作任何操作,不等于则更新t为t;
78.步骤4、以t为周期进行异步远程复制,2小时之后回到步骤2。
79.下面对本技术实施例提供的周期异步远程复制装置进行介绍,下文描述的周期异步远程复制装置与上文描述的周期异步远程复制方法可相互对应参照。
80.如图4所示,本实施例的周期异步远程复制装置,包括:
81.业务量确定模块41,用于确定第一主机的实时业务量;
82.周期计算模块42,用于根据所述实时业务量,利用目标公式确定异步远程复制的目标周期;在所述目标公式中,所述实时业务量与所述目标周期之间的关系为:实时业务量越大,目标周期越短;实时业务量越小,目标周期越长;
83.控制模块43,用于控制所述第一主机按照所述目标周期将业务数据异步远程复制
至第二主机,直至本轮异步远程复制的时间达到预设时间阈值,回到所述业务量确定模块进入下一轮异步远程复制。
84.本实施例的周期异步远程复制装置用于实现前述的周期异步远程复制方法,因此该装置的具体实施方式可见前文中的周期异步远程复制方法的实施例部分,例如,业务量确定模块41,周期计算模块42,控制模块43,分别用于实现上述周期异步远程复制方法中步骤s11,s12,s13。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
85.另外,由于本实施例的周期异步远程复制装置用于实现前述的周期异步远程复制方法,因此其作用与上述方法的作用相对应,这里不再赘述。
86.此外,本技术还提供了一种周期异步远程复制设备,如图5所示,包括:
87.存储器100:用于存储计算机程序;
88.处理器200:用于执行所述计算机程序,以实现如上文所述的周期异步远程复制方法。
89.最后,本技术提供了一种可读存储介质,所述可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的周期异步远程复制方法。
90.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
91.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
92.以上对本技术所提供的方案进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
转载请注明原文地址:https://win.8miu.com/read-250416.html

最新回复(0)