CN111125241B - 用于数据同步的方法、设备和计算机存储介质 - Google Patents
用于数据同步的方法、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN111125241B CN111125241B CN201811291264.1A CN201811291264A CN111125241B CN 111125241 B CN111125241 B CN 111125241B CN 201811291264 A CN201811291264 A CN 201811291264A CN 111125241 B CN111125241 B CN 111125241B
- Authority
- CN
- China
- Prior art keywords
- synchronization
- job
- jobs
- synchronous
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例提供了用于数据同步的方法、装置和计算机存储介质。例如,一种用于数据同步的方法包括:获取待处理的一组同步作业各自的同步特性,每个同步特性指示相应作业的以下至少一项:期望完成时刻,以及要同步的数据量;基于所述同步特性对所述一组同步作业进行优先级化;以及基于所述优先级化的结果,控制所述一组同步作业的执行。利用本公开的一些实施例中,可以对能够快速完成的同步作业赋予较高优先级,并提高故障发生之前的恢复点目标(RPO)完成率。
Description
技术领域
本公开的实施例一般地涉及数据同步的技术领域,并且更具体地,涉及用于改进数据同步的方法、装置和计算机存储介质。
背景技术
在数据同步领域,异步复制主要用于远距离复制数据。在异步复制中,引入了恢复点目标(RPO)的概念。RPO表征在发生故障或者灾难时用户愿意丢失的最大数据量,并且可以按时间衡量。
RPO可以确定同步发生的最低频率。异步复制的频率可以通过RPO间隔来表示。在相邻两次同步之间的时间内,新数据仅被保存在源存储资源上。然后,按照异步复制的RPO间隔,自上次同步以来对源存储资源所做的所有更改都将复制到目的存储设备。
发明内容
本公开的实施例中提供了用于数据同步的方法、装置和计算机存储介质。
在本公开的第一方面,提供一种用于数据同步的方法。该方法包括:获取待处理的一组同步作业各自的同步特性,每个同步特性指示相应作业的期望完成时刻和要同步的数据量中的至少一项;基于所述同步特性对所述一组同步作业进行优先级化;以及基于所述优先级化的结果,控制所述一组同步作业的执行。
在一些实施例中,获取所述同步特性可以包括:获取所述一组同步作业各自的恢复点目标(RPO)和存储系统的当前时间;以及基于相应同步作业的所述RPO和所述存储系统的所述当前时间,确定所述相应同步作业的期望完成时刻。
在一些实施例中,该方法还还可以包括:响应于新的同步作业到达,确定当前活跃的同步作业的数目;以及响应于所述数目达到阈值,将所述新的同步作业加入到所述一组同步作业中。
在一些实施例中,优先级化可以包括:基于相应同步作业的所述期望完成时刻,确定在所述期望完成时刻之前用于执行所述相应同步作业的可用时间长度;以及基于所述可用时间长度,确定用于执行所述相应同步作业的优先级。在进一步的实施例中,优先级化可以进一步包括:基于所述可用时间长度和所述要同步的数据量两者,确定用于执行所述相应同步作业的优先级。
在一些实施例中,确定用于执行相应同步作业的优先级可以包括:对所述相应同步作业的所述可用时间长度和所述要同步的数据量分别进行归一化;以及基于经归一化的所述可用时间长度和所述要同步的数据量的加权和,确定所述相应同步作业的所述优先级。
在一些实施例中,控制所述同步作业的执行可以包括:响应于当前活跃同步作业的数目低于阈值,基于所述优先级化的结果,从所述一组同步作业中选择具有最高优先级的同步作业作为要执行的同步作业;以及执行所选择的所述同步作业。
在本公开的第二方面,提供一种电子设备。该电子设备包括至少一个处理器、以及至少一个存储器。该存储器耦合至至少一个处理器并且包含存储于其中的计算机程序。该计算机程序在被该至少一个处理器执行时,使该电子设备执行本公开的第一方面的任何方法。
在本公开的第三方面,提供一种计算机存储介质。该计算机存储介质包括存储于其上的计算机程序。该计算机程序在处理器中执行时,促使处理器执行本公开的第一方面的任何方法。
在本公开的第四方面,提供一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行本公开的第一方面的任何方法。
尽管在附图中通过示例的方式示出了特定的实施例,然而,应当理解,本文的具体实施例的描述不意在将实施例限制为所公开的具体形式。
附图说明
从下文的公开内容和权利要求中,本公开的目的、优点和其他特征将变得更加明显。这里仅出于示例的目的,参考附图来给出优选实施例的非限制性描述,在附图中:
图1示出根据本公开的实施例的通过异步复制执行数据同步的示例存储系统架构;
图2示出对传入的同步作业进行处理的示例;
图3示出了根据本公开的实施例的、用于数据同步的方法;
图4示出根据本公开的实施例的另一数据同步方法;
图5示出用于与本公开中提出的方案进行比较的一种传统方法的流程;
图6示出根据本公开的实施例的用于数据同步的方法;
图7示出同步作业的开始和完成时间的比较结果;以及
图8示出了根据本公开的实施例的电子设备的示例性结构图。
具体实施方式
在以下描述中,出于说明的目的而阐述许多细节。然而,本领域普通技术人员将认识到可以在不使用这些具体细节的情况下实现本公开的实施例。因此,本公开不旨在于受限于所示实施例、而是将被赋予与本文描述的原理和特征一致的最宽的范围。
应当理解,术语“第一”、“第二”等仅被用来将一个元素与另一个元素区分开来。而实际上第一元素也能够被称为第二元素,反之亦然。另外还应当理解“包括”,“包含”仅被用来说明所陈述的特征、元素、功能或者部件的存在,然而并不排除存在一个或者多个其他的特征、元素、功能或者部件。
在图1中示出了根据本公开的实施例的通过异步复制执行数据同步的示例存储系统架构100。然而,应当注意的是,本公开的实施例不限于在所示的架构中实施。
在图1的示例架构中,包括源存储设备110,目的存储设备120和调度器130。该示例中,源存储设备110包括源资源111、快照112和快照113,并且目的存储设备120包括目标资源121、快照122和快照123。
在一些实施例中,图1中的快照可以是统一(Unity)快照。异步复制可以利用Unity快照来维护公共基础映像。作为示例,在调度器130的控制下,在图1的源存储设备110和目的存储设备120之间可以通过以下操作流程并利用快照和RPO来自动执行增量数据的同步:
步骤1:创建异步复制会话。作为示例,该操作包括在每个存储资源(111,121)上创建2个快照(112、113以及122、123)。
步骤2:将数据从快照112复制到目标资源121。
步骤3:目标资源121上的快照122被刷新,并成为公共基本映像。
步骤4:数据被写入目标资源121。
步骤5:在下一个RPO期间,快照113被刷新,并且仅自上次同步以来对目标资源所做的改变被复制到目标资源121。
步骤6:目标上的快照123被刷新,并成为新的公共基本映像。
在异步复制(例如基于Unity快照的复制实现)中,同步作业的执行受到存储系统中定义的活动同步作业的最大数量的限制。取决于当前活动作业的数目是否达到活动作业的最大数目,任何传入的同步作业将被推送到活动作业列表或等待作业列表。
图2示出由调度器对传入的同步作业进行处理的示例。
在该示例中,当一个同步作业在框210被启动之后,调度器在框220确定活动同步作业的数目是否达到预定的最大数目。如果该最大数目没有被达到,则启动的同步专业在框230被执行;否则,启动的同步专业在框240等待被处理。
本公开的发明人意识到,由于源和目的存储系统性能和网络带宽、剩余数据传输时间、用于同步的增量数据大小以及并发活动同步作业这些因素的影响,异步复制可能无法确保每个复制会话的RPO都能被实现。
从用户的角度来看,RPO的损失率应该尽可能小。然而目前的实施方式的限制是,未将影响RPO的实现的上述多个因素纳入考虑,以试图降低RPO的损失率。本公开的发明人意识到,在故障/灾难发生之前的同一时间段内,让存储系统执行具有较大增量数据大小的同步作业,而让具有较少增量数据且在下一次RPO到达之前有足够时间来传输数据的同步作业排队,是并不明智的,因为具有较少增量数据的这种同步作业的RPO很有可能在故障/灾难发生之前实现。
基于以上考虑,本公开提出,如果复制会话(即,同步会话)具有较小的增量数据大小,并且具有足够的处理时间,则其同步作业可以被优先处理。
另外,如果某个复制会话被设置了较短的RPO,这意味着用于其同步作业的时间很短,则存储系统不能始终推迟此类作业。这对客户也有意义,因为设置的同步频率越高,会话往往就越重要,并且需要被优先同步。
因此,在本公开中提出,对于存储系统,为了提高RPO实现率,可以在调度同步作业时考虑可用处理时间和/或增量数据大小的影响。
以下参考附图来描述本公开的一些实施例,以促进对本公开提出的方案的理解。
图3示出根据本公开的实施例的、用于数据同步的方法300。该方法300或者其一部分可以由,例如,图1的调度器130来执行。为便于描述,以下结合调度器130和图1中的存储系统架构100来描述方法300的实施例。但是应当理解,方法300不限于在图1的特定示例存储系统结构中被实施。
如图3所示,在框310,调度器130获取待处理的一组同步作业各自的同步特性。待处理的该一组同步作业例如是由于活动作业的数目达到最大活动作业数目而被放入等待队列的同步作业。
在框310获取的每个同步特性指示相应作业的期望完成时刻和要同步的数据量中的至少一项。在一些实施例中,针对给定的同步作业,调度器130可以从其关联的复制会话中获取该同步作业的RPO和要同步的数据量。基于RPO可以确定该同步作业的期望完成时刻。要同步的数据量表示从上次同步以来发生变化的数据的量,因此后文也可以被称为增量数据大小。
在框320,调度器130基于获取的该组同步作业各自的同步特性(期望完成时刻、要同步的数据量、或者两者),对该组同步作业进行优先级化。也就是说,调度器130确定该组同步作业各自的优先级,以确定各同步作业的执行顺序。
在一些实施例中,在框320,调度器130基于同步作业的期望完成时刻,确定在期望完成时刻之前用于执行该同步作业的可用时间长度,并且基于该可用时间长度,确定用于执行该同步作业的优先级。
在进一步的实施例中,调度器130可以基于可用时间长度和要同步的数据量两者,来确定用于执行所述相应同步作业的优先级。
可用时间长度和要同步的数据量均可以用于预测同步作业在期望完成时刻以前能够被执行完毕的几率。因此,利用可用时间长度和/或要同步的数据量来确定同步作业的优先级使得在故障/灾难发生之前更可能被执行完毕的同步作业能够被优先执行,从而提高RPO的实现率。
作为非限制性示例,可以使用同步作业的可用时间长度和要同步的数据量的线性组合来确定该同步作业的优先级。例如,调度器130可以对同步作业的可用时间长度和要同步的数据量分别进行归一化,并且基于经归一化的可用时间长度和要同步的数据量的加权和,来确定该同步作业的优先级,例如优先级权重。
在一些实施例中,待处理的一组同步作业中第i个同步作业的优先级Pi可以通过等式(1)确定。
其中Ri,t表示与同步会话Ri关联的同步作业的剩余时间长度,和Ri,d表示与同步会话Ri关联的同步作业的数据量;非负数α和β被用于平衡Ri,t和Ri,d的影响,并且α+β=1。在具有较低带宽的存储系统中,利用Ri,d确定优先级更有效,这种情况下可以配置α和β,以使得β>α。应该注意的是,等式(1)中在α被设置为0时,调度器仅基于Ri,d来确定该同步作业的优先级。另一方面,在具有良好带宽的存储系统中,利用Ri,t确定优先级更有效,相应地,α和β可以被配置为α>β。在β被设置为0时,调度器仅基于Ri,t来确定该同步作业的优先级
另外,等式(1)中,Rmin和Rmax,以及Dmin和Dmax分别被用于剩余时间长度Ri,t和要同步的数据量Ri,d的归一化,其中Rmin表示所有同步作业的RPO的最短时间,即,Rmin=min(Ri,r),Ri,r表示针对复制会话Ri设置的RPO。Rmax表示所有同步作业的RPO的最大时间,即,Rmax=max(Ri,r)。Dmin表示所有同步作业的最小增量数据大小,即,Dmin=min(Ri,d),Ri,d表示复制会话Ri的同步之间的增量数据大小。Dmax表示所有同步作业的最大增量数据大小,即,Dmax=max(Ri,d)。
应该注意,等式(1)示出的仅是用于计算优先级的示例。本公开的实施例不限于以该等式计算同步作业的优先级。任何其它合适的计算方式也可以被采用,只要该算法将同步作业的可用时间长度、期望完成时刻和/或要同步的数据量纳入考虑。
现在返回图3。如图3所示,在框330,调度器130基于框320中优先级化的结果,控制该组同步作业的执行。例如,调度器130可以基于该组同步作业的优先级,确定各同步作业被执行的顺序。
在一些实施例中,在当前活跃同步作业的数目低于阈值(例如,允许的最大活动同步作业数目)时,调度器130可以基于优先级化的结果,从该组同步作业中选择具有最高优先级的同步作业作为要执行的同步作业;并且执行所选择的同步作业。
图3所示的方法300可以周期执行,或者在新的同步作业到达时执行。
在一些实施例中,方法300进一步包括框305,其中调度器130执行待处理的同步作业的更新操作。作为示例,框305中的操作可以与图2中的流程类似,其中,响应于新的同步作业到达,调度器130确定当前活跃的同步作业的数目,并且响应于该数目达到阈值(例如,最大活动同步作业数目),调度器130确定将该新的同步作业加入到该组同步作业中。
在本公开的一些实施例中,针对给定的同步作业,可以从其复制会话中获取该同步作业的RPO和增量数据大小(即,要同步的数据量)。存储系统可以使用这些信息对同步作业进行重新排序,并对可以快速完成的同步作业赋予较高优先级。以这种方式,在故障/灾难发生之前的RPO实现率会被提高。
图4示出根据本公开的实施例的另一数据同步方法400的示例流程。方法400可以被看做是图3的方法300的示例实施方式。该方法400可以,但不限于,由位于存储系统内部或者外部的调度器(或者控制器),例如图1中的调度器130,来执行。以下以调度器130为例来描述方法400的操作。
如图4所示,在框410,同步作业到达或者被启动。在框420,调度器130确定活动作业数目是否达到最大活动作业数。如果未达到最大活动作业数,则到达的同步作业在框430被推入活动作业列表,以执行同步。反之,如果已经达到最大活动作业数,则到达的同步专业在框440被推入等待列表。另外,在框450,等待列表中的同步作业被优先级化,以确定各同步专业被执行的顺序。
在一些实施例中,框450中的优先级化操作在新的同步作业进入等待列表时被执行。在另一些实施例中,框450中的优先级化操作可以与参考方法300所述的操作相同或者类似。例如,在框450中,调度器130可以重新计算所有等待作业的剩余时间(即可用的处理时间),并根据所有作业的剩余时间和/或增量数据大小来确定各等待作业的优先级。
应该注意的是,在同一时段中,源存储系统和目的存储系统的性能和网络带宽对于所有同步作业是相同的,因此,在计算优先级时可以不考虑它们在算法中的影响。
在某个活动作业被完成时,活动作业的数目减少,因此可以按照框450中确定的优先级将等待列表中的作业推送到活动列表中。
通过本公开的实施例(例如,图3的方法300或者图4的方法400),可以更快地完成高优先级的同步作业。并且提高RPO实现率。此外,本公开的实施例的方法易于实现,其仅改变同步作业的执行顺序,而不会引起数据丢失率的增加。
本公开的实施例的另一优点是只对异步复制同步作业进行更改,而不会影响其他服务。实施例的方法可以作为后台作业运行,因此不需要用户参与,不增加用户的负担。
在本公开的一些实施例中,每个复制会话可以具有2个快照。当复制会话的RPO到达时,源存储系统(例如图1的源存储设备110将首先刷新其中一个快照112以获取最新版本的数据,并将其与其它快照113进行比较以获取自上次同步以来的增量数据,然后启动同步作业以将增量数据传输到目的地资源,例如目的存储设备120。
如果当前同步作业数目未达到最大活动作业数目,则关联于该复制会话的同步作业可以加入活动作业列表并开始数据传输。如果当前同步作业数目达到最大活动作业数目,则将同步作业加入等待列表。在一些实施例中,在将同步作业加入等待列表之前,调度器130可以获取其RPO和存储系统的当前时间,并且基于该RPO和存储系统的当前时间来确定该同步作业的期望完成时刻。
当新的同步作业进入等待列表时,调度器130可以基于期望完成时刻和增量数据的大小更新所有等待同步作业的优先级。其中,通过将同步作业的期望完成时刻减去存储系统的当前时间,可以获得用于在RPO到期之前完成该同步作业的剩余(即可用)时间。另外,调度器130可以通过比较复制会话的2个快照来确定增量数据的大小。
在一些实施例中,调度器130可以对剩余时间和增量数据大小分别进行归一化,并以归一化的剩余时间和增量数据大小用作权重值,来确定每个等待的同步作业的优先级。例如,调度器130可以使用等式(1)来确定优先级。所确定的优先级可以用于对所有等待的同步作业进行重新排序。通过这种方式,等待队列中的具有完成作业的高度可能性和高紧急性的同步作业可以被赋予高优先级,从而增加存储系统的RPO实现率。
以下通过和现有同步算法的比较,来说明本公开中提出的数据同步方案的优势。
在比较中,为便于描述,使用以下符号和相应含义:
T:当前时间。
R:复制会话。
J:所有同步作业。
Ja:活动同步作业。
Jq:排队的同步作业。
Ri:第i个复制会话(也称为同步会话),i=1,2,...,n。
numOfAJobs:活动作业的数量。
mNumOfAJobs:活动作业的最大数量,即0<=numOfAJobs<=mNumOfAJobs。
Ri,d:复制会话Ri的同步之间的增量数据大小。
Ri,r:为复制会话Ri设置的RPO。
Ri,e:同步作业的期望完成时刻,其可以通过将当前时间T加上RPO而确定。
Rmin:所有同步作业的RPO的最短时间,即Rmin=min(Ri,r)。
Rmax:所有同步作业的RPO的最大时间,Rmax=max(Ri,r)。
Dmin:所有同步作业的最小增量数据大小,Dmin=min(Ri,d)。
Dmax:所有同步作业的最大增量数据大小,Dmax=max(Ri,d)。
在图5中示出用于与本公开中提出的方案进行比较的一种传统方法500的流程。如图5所示,在框510,控制器在源存储和目的存储之间创建n个异步复制会话,并且为每个复制会话设置RPO。创建的复制会话列表可以表示为:R=[R1,...,Rn],对应的同步作业被表示为Ji,i=1,2,3,…n。
在框520,确定当前活动同步作业数是否小于最大活动同步作业数。如果是,则会话Ji将在框530中加入活动作业列表Ja,即Ja=(Ja,Ji)。该活动作业列表可以被表示为Ja=[Ja1,Ja2,...,JnumOfAJobs]。等待间隔时间(RPO)后,同步作业在框540开始执行,并且在框550结束。
另一方面,如果当前活动同步作业数不小于最大活动同步作业数,则下一个同步作业Ji将在框560加入等待作业队列Jq,即Jq=(Jq,Ji)。该等待作业队列可以被表示为Jq=[Jq1,Jq2,...,Jqn]。这种情况下,同步作业在框570中等待,直到当前活动同步作业数小于最大活动同步作业数。
在图6中示出根据本公开的一个实施例的用于和图5的方法比较的示例方法600的操作。方法600可以被视为图3的方法300的示例实现。
方法600的框610、620、630、640和650的操作可以与图5的510-550相同或者类似。
例如,在框610,控制器,例如图1中的调度器130,在源存储和目的存储之间创建n个异步复制会话,并为每个复制会话设置RPO。该复制会话列表可以被表示为R=[R1,...,Rn],对应的同步作业被表示为Ji,i=1,2,3,…n。
在框620,调度器130确定当前活动同步作业数是否小于最大活动同步作业数。如果是,则同步会话Ji将在框630中加入活动作业列表,即Ja=(Ja,Ji)。该活动作业列表可以被表示为Ja=[Ja1,Ja2,...,Ji],i<=mNumOfAJobs。等待间隔时间(RPO)后,同步作业在框640开始执行,并且在框650结束。
如果当前活动同步作业数不小于最大活动同步作业数,方法600的操作与方法500不同。如图6所示,当出现新的同步作业时,如果作业Ji的出现将导致超过活动作业的最大数量,则调度器130在框661从同步作业关联的复制会话Ri获取同步作业的RPO Ri,r,例如Ri,r=RPO(Ri)。该RPO Ri,r后续被用于确定该同步作业的同步优先级。
由于期望同步作业在下一个RPO到达之前完成,因此,在框662,该同步作业的期望完成时刻Ri,e可以通过当前存储系统时间加上会话Ri的RPO来确定,如等式(2)所示。
Ri,e = Ri,r + T (2)
调度器130可以针对该同步作业保留该值,以备后续多次使用。
在框663,调度器130将同步作业Ji放入等待作业列表Jq,即Jq=(Jq,Ji)。该等待作业列表可以被表示为Jq=[J1,...,Ji]。
在框664-668,调度器130(重新)计算等待队列Jq中的各等待同步作业的优先级值。例如,调度器130可以针对等待队列Jq中的同步作业逐个执行框665和666的操作,如图6所示。
在框665,对于每个作业,调度器130可以获取期望完成时刻的值,例如,复制会话Ri的期望完成时刻Ri,e,即与该复制会话关联的同步作业的期望完成时刻。通过使用期望完成时刻减去当前时间T,调度器130可以计算期望完成时刻之前的该作业的剩余时间。即剩余的用于完成同步会话Ri的时间可以通过等式(3)来获得。
Ri,t = Ri,e – T (3)。
替代地或者附加地,调度器130可以从同步作业所关联的复制会话中获取增量数据大小,例如,需要针对复制会话Ri同步的增量数据大小Ri,d。
在框666,调度器130可以对Ri,t和Ri,d分别执行归一化,并用其作为优先级计算的权重值。
例如,Ri,t和Ri,d可以分别被归一化为和/>归一化后的Ri,t和Ri,d例如可以被用于通过等式(1)计算优先级值。
以上的计算可以针对等待队列中的每个同步作业执行。图6中框664、667和668的操作用于判断是否已经针对等待队列中的所有同步作业确定了优先级。在已经确定了等待队列中所有同步作业的优先级时,调度器130在框669对队列中的同步作业按照优先级排序。
在某个活动同步作业完成时,调度器130根据排序(或者优先级)将等待队列中的某个同步作业放入活动队列以执行该同步作业。
在将图5的方法和图6的方法的比较实验中,使用了表1中示出的参数设置。
表1.实验参数设置
参数 | 取值 |
Rmin | 0(分钟) |
Rmax | 1440(分钟) |
Dmin | 0(GB) |
Dmax | 262144(GB) |
mNumOfAJobs | 5 |
存储系统的带宽 | 1000MB/秒 |
另外,实验中使用了表2中所示的具有不同RPO和不同大小的增量数据的10个文件系统FS_1到FS_10。假定由于超出了最大活动作业数,表2中所示的所有文件系统的同步作业(J1(FS_1),…J10(FS_10))都在等待列表中。另外,基于存储系统的当前时间是0:00的假设,获得了表2中剩余的作业时间。
表2.等待列表中的同步作业及其同步特性
当活动队列Ja中的活动作业全部在T=0:01完成时。将有5个同步作业从Jq进入Ja。
按照图5的方法,Jq中作业的执行结果如表3所示。
表3.按照图5的方法,等待队列Ja中的同步作业的执行结果
在表4中,示出了使用本公开中提出的自适应控制方法600所得到的执行结果。在该示例方法中,首先按优先级对Jq中的等待作业进行排序。并按照排序的结果执行同步作业。
表4.使用方法600所得到的执行结果
在所述实验中,随机选择了具有不同RPO和不同增量数据大小的10个文件系统。仿真实验得到的两种结果(表3和表4)显示,利用本公开的实施例中提出的自适应同步方法,RPO实现率得以提高,并且同步作业可以使用更少的时间来启动和完成。在以下表5中示出两种方法的RPO实现情况的比较结果。由结果可见,利用本公开的实施例的方法,RPO实现率可以显著提高。
表5.RPO实现情况的比较结果
在图7中示出同步作业的开始和完成时间的比较结果。其中虚线701和711分别表示按照传统方法500得到的作业开始时间和作业完成时间,实线702和712分别表示按照本公开提出的方法600得到的作业开始时间和作业完成时间。结果显示,利用本公开的实施例的方法,可以更快地完成高优先级的同步作业。与当前实现相比,同步作业可以使用更少的时间来启动和完成。
图8示出了可以用来实施本公开的实施例的电子设备800的示意性框图。如图8所示,电子设备800包括控制器或者称为处理单元(例如CPU)801,其可以根据存储在只读存储器(ROM)802和/或随机访问存储器(RAM)803的程序而执行各种适当的动作和处理。ROM 802和/或RAM 803可存储电子设备800操作所需的各种程序和数据。控制器801、ROM 802和RAM803例如通过总线804彼此相连。特别地,电子设备800还包括一个或多个专用处理单元(未示出),这些专用处理单元也可以连接至总线804。
输入/输出(I/O)接口805也可以连接至总线804。电子设备800中的多个部件可以连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
在某些实施例中,控制器801可被配置为执行上文所描述的各个过程和处理,例如方法300、400或者600的功能。例如,在一些实施例中,方法300、400或者600的各个模块可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序被加载到RAM 803并由控制器801执行时,可以执行上文描述的方法300、400或者600的一个或多个操作。备选地,在其他实施例中,控制器801也可以以其他任何适当的方式被配置以实现上述过程/方法。
特别地,根据本公开的实施例,上文参考图2-8描述的方法和设备可以被实现为计算机程序产品,其可以被有形地存储在非瞬态计算机可读存储介质上,并且包括机器可执行指令,该指令在被执行时使得机器实现根据本公开的各个方面。
计算机可读存储介质可以是可以存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的、非穷举的例子包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的设备、方法和计算机程序产品的框图和/或流程图描述了本公开的各个方面。应当理解,框图和/或流程图的每个方框以及框图和/或流程图中各方框的组合,都可以由计算机可读程序指令实现。
已经出于示例的目的描述了本公开的各个实施例,但是本公开并不意图限于所公开的这些实施例。在不脱离本公开实质的前提下,所有修改和变型均落入由权利要求所限定的本公开的保护范围之内。
Claims (9)
1.一种用于数据同步的方法,包括:
获取待处理的一组同步作业各自的同步特性,每个同步特性指示相应同步作业的以下至少一项:期望完成时刻,以及要同步的数据量;
基于所述同步特性对所述一组同步作业进行优先级化,其中所述优先级化包括:
基于所述相应同步作业的所述期望完成时刻,确定在所述期望完成时刻之前用于执行所述相应同步作业的可用时间长度,以及
基于所述可用时间长度和所述要同步的数据量两者,确定用于执行所述相应同步作业的优先级,其中确定用于执行所述相应同步作业的优先级包括:
对所述相应同步作业的所述可用时间长度和所述要同步的数据量分别进行归一化,以及
基于经归一化的所述可用时间长度和经归一化的所述要同步的数据量的加权和,确定所述相应同步作业的所述优先级;以及
基于所述优先级化的结果,控制所述一组同步作业的执行。
2.根据权利要求1所述的方法,其中获取所述同步特性包括:
获取所述一组同步作业各自的恢复点目标RPO和存储系统的当前时间;以及
基于相应同步作业的所述RPO和所述存储系统的所述当前时间,确定所述相应同步作业的期望完成时刻。
3.根据权利要求1所述的方法,还包括:
响应于新的同步作业到达,确定当前活跃的同步作业的数目;以及
响应于所述数目达到阈值,将所述新的同步作业加入到所述一组同步作业中。
4.根据权利要求1所述的方法,其中控制所述同步作业的执行包括:
响应于当前活跃同步作业的数目低于阈值,基于所述优先级化的结果,从所述一组同步作业中选择具有最高优先级的同步作业作为要执行的同步作业;以及
执行所选择的所述同步作业。
5.一种电子设备,包括:
至少一个处理器;以及
至少一个存储器,耦合至所述至少一个处理器并且包含存储于其中的计算机程序,所述计算机程序在被所述至少一个处理器执行时,使所述电子设备:
获取待处理的一组同步作业各自的同步特性,每个同步特性指示相应同步作业的以下至少一项:期望完成时刻,以及要同步的数据量;
基于所述同步特性对所述一组同步作业进行优先级化,其中所述优先级化包括:
基于所述相应同步作业的所述期望完成时刻,确定在所述期望完成时刻之前用于执行所述相应同步作业的可用时间长度,以及
基于所述可用时间长度和所述要同步的数据量两者,确定用于执行所述相应同步作业的优先级,其中确定用于执行所述相应同步作业的优先级包括:
对所述相应同步作业的所述可用时间长度和所述要同步的数据量分别进行归一化,以及
基于经归一化的所述可用时间长度和经归一化的所述要同步的数据量的加权和,确定所述相应同步作业的所述优先级;以及
基于所述优先级化的结果,控制所述一组同步作业的执行。
6.根据权利要求5所述的电子设备,其中获取所述同步特性包括:
获取所述一组同步作业各自的恢复点目标RPO和存储系统的当前时间;以及
基于相应同步作业的所述RPO和所述存储系统的所述当前时间,确定所述相应同步作业的期望完成时刻。
7.根据权利要求5所述的电子设备,其中所述计算机程序在被所述至少一个处理器执行时进一步使得所述电子设备:
响应于新的同步作业到达,确定当前活跃的同步作业的数目;以及
响应于所述数目达到阈值,将所述新的同步作业加入到所述一组同步作业中。
8.根据权利要求5所述的电子设备,其中控制所述同步作业的执行包括:
响应于当前活跃同步作业的数目低于阈值,基于所述优先级化的结果,从所述一组同步作业中选择具有最高优先级的同步作业作为要执行的同步作业;以及
执行所选择的所述同步作业。
9.一种包括机器可执行指令的非瞬态计算机存储介质,所述机器可执行指令在被执行时使机器执行根据权利要求1至4中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291264.1A CN111125241B (zh) | 2018-10-31 | 2018-10-31 | 用于数据同步的方法、设备和计算机存储介质 |
US16/576,959 US11593233B2 (en) | 2018-10-31 | 2019-09-20 | Method, apparatus and computer storage medium for data synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291264.1A CN111125241B (zh) | 2018-10-31 | 2018-10-31 | 用于数据同步的方法、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125241A CN111125241A (zh) | 2020-05-08 |
CN111125241B true CN111125241B (zh) | 2023-10-20 |
Family
ID=70326788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811291264.1A Active CN111125241B (zh) | 2018-10-31 | 2018-10-31 | 用于数据同步的方法、设备和计算机存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11593233B2 (zh) |
CN (1) | CN111125241B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881091B (zh) * | 2020-06-08 | 2024-06-25 | 微梦创科网络科技(中国)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722381A (zh) * | 2011-03-25 | 2012-10-10 | 微软公司 | 优化升级任务的技术 |
CN104380263A (zh) * | 2012-05-25 | 2015-02-25 | 赛门铁克公司 | 备份图像复制 |
CN106933501A (zh) * | 2015-12-30 | 2017-07-07 | 伊姆西公司 | 在用户定义的时间点创建复制品 |
US10083094B1 (en) * | 2015-09-23 | 2018-09-25 | Cohesity, Inc. | Objective based backup job scheduling |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6874130B1 (en) * | 2000-02-17 | 2005-03-29 | International Business Machines Corporation | Copy/move graphical user interface apparatus and method |
US8818988B1 (en) * | 2003-12-08 | 2014-08-26 | Teradata Us, Inc. | Database system having a regulator to provide feedback statistics to an optimizer |
US7672292B2 (en) * | 2004-05-21 | 2010-03-02 | Mitsubishi Electric Corporation | Mobile packet communication system |
US20060037021A1 (en) * | 2004-08-12 | 2006-02-16 | International Business Machines Corporation | System, apparatus and method of adaptively queueing processes for execution scheduling |
US7577805B2 (en) * | 2004-11-01 | 2009-08-18 | Hitachi, Ltd. | Using bandwidth and capacity parameters to control remote copy operations in storage systems |
US7577955B2 (en) * | 2004-11-04 | 2009-08-18 | Pixar | Renderfarm monitoring system |
US20080144601A1 (en) * | 2006-12-18 | 2008-06-19 | Nokia Corporation | Systems, methods, devices, and computer program products providing data replication for mobile terminals |
US7831766B2 (en) * | 2006-12-22 | 2010-11-09 | Comm Vault Systems, Inc. | Systems and methods of data storage management, such as pre-allocation of storage space |
US8181168B1 (en) * | 2007-02-07 | 2012-05-15 | Tilera Corporation | Memory access assignment for parallel processing architectures |
JP2009080670A (ja) * | 2007-09-26 | 2009-04-16 | Hitachi Ltd | ストレージ装置、計算機システム及びバックアップ管理方法 |
US20090172674A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Managing the computer collection of information in an information technology environment |
US8769048B2 (en) * | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US8117235B1 (en) | 2008-09-29 | 2012-02-14 | Emc Corporation | Techniques for binding resources for use by a consumer tier |
US9965333B2 (en) * | 2009-04-13 | 2018-05-08 | International Business Machines Corporation | Automated workload selection |
US8776074B1 (en) * | 2010-01-22 | 2014-07-08 | Lockheed Martin Corporation | Methods, devices and systems for coordinating and optimizing resources |
US20160246711A9 (en) * | 2010-01-28 | 2016-08-25 | Hewlett-Packard Development Company, L. P. | Interface methods and apparatus for memory devices |
US9015129B2 (en) * | 2010-02-09 | 2015-04-21 | Veeam Software Ag | Cross-platform object level restoration from image level backups |
US8559036B1 (en) * | 2010-03-26 | 2013-10-15 | Open Invention Networks, Llc | Systems and methods for managing the execution of print jobs |
US8468534B2 (en) * | 2010-04-05 | 2013-06-18 | Apple Inc. | Dynamic priority queuing |
US9307048B2 (en) * | 2010-12-28 | 2016-04-05 | Microsoft Technology Licensing, Llc | System and method for proactive task scheduling of a copy of outlier task in a computing environment |
US8706946B2 (en) * | 2011-02-11 | 2014-04-22 | International Business Machines Corporation | Extender storage pool system |
US8644157B2 (en) * | 2011-03-28 | 2014-02-04 | Citrix Systems, Inc. | Systems and methods for handling NIC congestion via NIC aware application |
US9380597B2 (en) * | 2011-08-25 | 2016-06-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for wireless communication baseband processing |
US20130107783A1 (en) * | 2011-10-26 | 2013-05-02 | At&T Intellectual Property I, L.P | Intelligent Hot Spot and Tethering |
US9304809B2 (en) * | 2012-06-26 | 2016-04-05 | Wal-Mart Stores, Inc. | Systems and methods for event stream processing |
US8769550B1 (en) * | 2012-10-24 | 2014-07-01 | Sprint Communications Company L.P. | Reply queue management |
US9996858B1 (en) * | 2012-11-05 | 2018-06-12 | Quantcast Corporation | Adaptive bidding for networked advertising |
US9400682B2 (en) * | 2012-12-06 | 2016-07-26 | Hewlett Packard Enterprise Development Lp | Ranking and scheduling of monitoring tasks |
IN2013CH01467A (zh) * | 2013-04-01 | 2015-10-02 | Sanovi Technologies Pvt Ltd | |
US9824130B1 (en) * | 2013-12-13 | 2017-11-21 | Open Text Corporation | Optimizing synchronization of enterprise content management systems |
US9582326B2 (en) * | 2014-05-30 | 2017-02-28 | Apple Inc. | Quality of service classes |
US9983958B2 (en) * | 2014-07-25 | 2018-05-29 | Netapp, Inc. | Techniques for dynamically controlling resources based on service level objectives |
US9495655B2 (en) * | 2014-09-27 | 2016-11-15 | International Business Machines Corporation | Cross-domain multi-attribute hashed and weighted dynamic process prioritization |
US9830240B2 (en) * | 2015-05-14 | 2017-11-28 | Cisco Technology, Inc. | Smart storage recovery in a distributed storage system |
US9830471B1 (en) * | 2015-06-12 | 2017-11-28 | EMC IP Holding Company LLC | Outcome-based data protection using multiple data protection systems |
US10365976B2 (en) * | 2015-07-28 | 2019-07-30 | Vmware, Inc. | Scheduling and managing series of snapshots |
US9798584B1 (en) | 2015-09-29 | 2017-10-24 | EMC IP Holding Company LLC | Methods and apparatus for IO sizing based task throttling |
US10581751B1 (en) * | 2015-12-16 | 2020-03-03 | EMC IP Holding Company LLC | Multi-queue based system for throttling backup agent save processes |
US10228871B2 (en) * | 2016-02-22 | 2019-03-12 | Netapp Inc. | Enabling data integrity checking and faster application recovery in synchronous replicated datasets |
US10176064B2 (en) * | 2016-02-26 | 2019-01-08 | Netapp Inc. | Granular consistency group replication |
US10095428B1 (en) * | 2016-03-30 | 2018-10-09 | EMC IP Holding Company LLC | Live migration of a tree of replicas in a storage system |
US10261853B1 (en) * | 2016-06-28 | 2019-04-16 | EMC IP Holding Company LLC | Dynamic replication error retry and recovery |
US10481963B1 (en) * | 2016-06-29 | 2019-11-19 | Amazon Technologies, Inc. | Load-balancing for achieving transaction fault tolerance |
US9983947B2 (en) * | 2016-07-19 | 2018-05-29 | International Business Machines Corporation | Snapshots at real time intervals on asynchronous data replication system |
US11023330B2 (en) * | 2016-09-02 | 2021-06-01 | Vmware, Inc. | Efficient scheduling of backups for cloud computing systems |
US10339008B2 (en) * | 2016-09-07 | 2019-07-02 | Hewlett Packard Enterprise Development Lp | Determining type of backup |
US10402090B1 (en) | 2016-09-30 | 2019-09-03 | EMC IP Holding Company LLC | Data service protection for cloud management platforms |
US10860427B1 (en) | 2016-12-23 | 2020-12-08 | EMC IP Holding Company LLC | Data protection in a large-scale cluster environment |
US10761942B2 (en) * | 2018-03-12 | 2020-09-01 | Commvault Systems, Inc. | Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent |
US10666575B2 (en) * | 2018-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Asymmetric co-operative queue management for messages |
US10809922B2 (en) | 2018-07-30 | 2020-10-20 | EMC IP Holding Company LLC | Providing data protection to destination storage objects on remote arrays in response to assignment of data protection to corresponding source storage objects on local arrays |
-
2018
- 2018-10-31 CN CN201811291264.1A patent/CN111125241B/zh active Active
-
2019
- 2019-09-20 US US16/576,959 patent/US11593233B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722381A (zh) * | 2011-03-25 | 2012-10-10 | 微软公司 | 优化升级任务的技术 |
CN104380263A (zh) * | 2012-05-25 | 2015-02-25 | 赛门铁克公司 | 备份图像复制 |
US10083094B1 (en) * | 2015-09-23 | 2018-09-25 | Cohesity, Inc. | Objective based backup job scheduling |
CN106933501A (zh) * | 2015-12-30 | 2017-07-07 | 伊姆西公司 | 在用户定义的时间点创建复制品 |
Non-Patent Citations (1)
Title |
---|
吴俊."统一灾难备份中心的业务调度模型".《计算机应用与软件》.2013,第30卷(第12期),第329-333页. * |
Also Published As
Publication number | Publication date |
---|---|
US20200133804A1 (en) | 2020-04-30 |
CN111125241A (zh) | 2020-05-08 |
US11593233B2 (en) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948284B (zh) | 一种基于微服务架构的服务下线方法、设备和系统 | |
CN110806920B (zh) | 镜像部署方法、装置 | |
WO2017000673A1 (zh) | 一种共享缓存分配方法、装置及计算机存储介质 | |
WO2013178082A1 (zh) | 图片上传方法、系统、客户端及网络服务器、计算机存储介质 | |
US10417062B2 (en) | Method and apparatus of unloading out of memory processing flow to user space | |
US11550626B2 (en) | Information processing apparatus, job scheduling method, and non-transitory computer-readable storage medium | |
US9298765B2 (en) | Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network | |
CN111125241B (zh) | 用于数据同步的方法、设备和计算机存储介质 | |
JP2019016402A (ja) | 走査対象情報を走査する方法、装置、及びコンピュータデバイス | |
US20150281109A1 (en) | System for en-queuing and de-queuing data packets in communication network | |
CN114492834A (zh) | 训练方法、训练装置、设备、系统及存储介质 | |
US11513856B2 (en) | Method, devices and computer program products for resource usage | |
WO2019042298A1 (zh) | 一种实现智能缓存的方法及装置及其计算机可读存储介质和计算机设备 | |
US10250515B2 (en) | Method and device for forwarding data messages | |
US10289312B2 (en) | Method of reordering a queue of write requests | |
US11388050B2 (en) | Accelerating machine learning and profiling over a network | |
US11350254B1 (en) | Methods for enforcing compliance policies and devices thereof | |
CN111611068B (zh) | 分布式系统中的数据写方法、服务器及客户端 | |
US9866625B2 (en) | Message transmission apparatus, message transmission method, and message transmission program | |
US9847919B2 (en) | Data network device discovery optimization to reduce data transfer volume | |
JP2016018222A (ja) | キューサーバ | |
CN112667999B (zh) | 虚拟机的执行时间调整方法和装置 | |
CN116599968B (zh) | 扩缩容方法、装置、电子设备及可读存储介质 | |
JP7384214B2 (ja) | 解析処理装置、システム、方法及びプログラム | |
WO2022105804A1 (zh) | 同步处理方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |