CN110574019B - 数据中心之间鲁棒的数据复制 - Google Patents
数据中心之间鲁棒的数据复制 Download PDFInfo
- Publication number
- CN110574019B CN110574019B CN201780090057.7A CN201780090057A CN110574019B CN 110574019 B CN110574019 B CN 110574019B CN 201780090057 A CN201780090057 A CN 201780090057A CN 110574019 B CN110574019 B CN 110574019B
- Authority
- CN
- China
- Prior art keywords
- data
- path
- data center
- delay
- replication
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/2002—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 interconnections or communication control functionality are redundant
- G06F11/2007—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 interconnections or communication control functionality are redundant using redundant communication media
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
一种在第一数据中心和第二数据中心之间的数据复制方法,其中,该第一数据中心具有要复制的数据集,该方法包括:通过以下步骤确定(501)从第一数据中心到第二数据中心的第一路径是否适于要复制的数据集:沿着第一路径发送(502)测试数据;沿着第一路径进行(503)对测试数据的时延测量;以及使用时延测量来确定第一路径的时延参数;以及确定(504)测试数据的时延参数是否小于最大时延阈值。如果时延参数小于最大时延阈值,则方法使用第一路径执行(505)数据集的复制。
Description
技术领域
技术领域是数据中心之间的数据复制。
背景技术
随着对云服务的需求激增,内容服务提供商越来越多地在多数据中心中存储和复制大量内容。
保护多数据中心内和跨多数据中心的数据对于保持业务在线和运营至关重要。对于此范围,使用数据复制。复制使得数据所有者能够在多台服务器上和跨多于一个数据中心而具有相同的信息副本。图1是由网络100链接的一组数据中心的示意图。作为示例示出三数据中心101、102、103,但经常使用更多的数据中心。数据中心由多个路径104和路由器105链接。
传统地,已经使用两种方法来进行数据复制、同步和异步。图2是示出了同步复制的数据流图。示出了两数据中心,第一数据中心201具有要复制的数据集,第二数据中心202是该数据集的预期接收方。数据集源自位于第一数据中心处的服务器203处的应用。第一数据中心包括第一本地存储设备204,第二数据中心包括第二本地存储设备205。同步复制的过程开始于从服务器203向第一本地存储设备204的数据集的发送206。然后,将数据集发送207给第二数据中心202,并存储在第二本地存储设备205上。在第二数据中心完成数据集的发送和接收之后,第二数据中心提供确认208,其将该确认208发送回第一数据中心。在接收到确认之后,第一数据中心将确认传递209给应用。数据复制现在已经完成。
同步复制确保复制过程期间的连续数据完整性,而不会造成数据丢失的额外风险,这是因为第二数据中心始终具有相同的数据副本。然而,同步复制有一个缺点,即在对应用响应之前,服务器必须等待直到数据复制过程完成为止。仅在从第二数据中心接收到确认之后,确认才被发送给应用。这导致响应时间增加和应用变慢。同步复制的性能受到诸如数据中心之间的连接的链路时延和链路带宽之类的因素的极大影响。特别地,数据中心之间使用的同步复制对传输时延非常敏感,将适于同步复制的最大距离限于100-200km的路径。
同步复制的替代方案是异步复制。图3是示出了异步复制过程的数据流图。如在图2中,示出了两个数据中心,其中第一数据中心301具有要复制的数据集,第二数据中心302是该数据集的预期接收方。如在图2中,数据集源自位于第一数据中心301处的服务器303处的应用。第一数据中心包括第一本地存储设备304,第二数据中心302包括第二本地存储设备305。异步复制的过程开始于从服务器303向第一本地存储设备304对数据集的发送306。然而,在异步复制的情况下,本地存储设备在接收到数据集之后立即用确认对应用进行响应307。数据在一段时间之后被发送308给第二数据中心,该第二数据中心提供确认。然而,该应用在复制过程完成之前接收确认,因此能够以较短的等待继续其过程。然而,缺点在于,尽管异步复制克服了同步复制的性能限制,但是必须接受一些数据丢失。
还定义了半同步复制,其中一旦第二数据中心确认它已将数据接收到存储器或专用日志文件中,则认为该复制完成。不会立即执行对本地存储设备的实际远程写入,而是异步执行。在完成复制的时间方面,这导致比同步复制更好的性能,但不能提供持久性保证。因此,同步复制是业务关键数据传送的唯一选择。
然而,传输时延间题不仅降低了同步复制系统的性能,而且还使它们在系统上易于受攻击。此类攻击越来越多地涉及到对网络中物理组件的损坏。使用同步复制的系统容易受到特定类型的攻击,这包括在两个服务器之间的复制数据的路径中的光纤切断或组件损坏。光纤系统通常具有保护或恢复机制,在出现网络故障时,这些机制提供替代路径。然而,如果备份路径提供路由,该路由的时延大于同步复制系统能够容忍的时延,那么即使使用复位开关或保护开关,结果也将是复制失败。图4是其中发生这种攻击的网络的示意图。在图4中,存在两个数据中心401、402。它们通过包括多个路由器404和链路405的网络403连接。在攻击之前,两个数据中心通过第一路径406进行通信,该第一路径406包括路由器A、D和H。通过下一路径有两条替代路径,第二路径407和第三路径408。其中,第二路径407具有足够低的同步复制时延,但第三路径408没有。如果攻击者使得在第一路径和第二路径中的光纤中发生中断409、410,那么数据将通过第三路径408转移。系统将被恢复,但是恢复到不能再支持同步复制的路径。
发明内容
因此,本公开的目的是提供一种用于确定是否可以实现同步复制的机制。在一些实施例中,目的是在网络的时延太大的情况下提供替代机制。
根据第一方面,提供了一种在第一数据中心和第二数据中心之间的数据复制方法,其中,所述第一数据中心具有要复制的数据集。所述方法包括通过以下步骤确定从所述第一数据中心到所述第二数据中心的第一路径是否适于要复制的所述数据集:沿着所述第一路径发送测试数据;沿着所述第一路径进行对所述测试数据的时延测量;以及使用所述时延测量来确定所述第一路径的时延参数。所述方法还包括确定所述测试数据的所述时延参数是否小于最大时延阈值,以及如果所述时延参数小于所述最大时延阈值,则使用所述第一路径执行所述数据集的复制。
在实施例中,所述方法还包括:如果所述第一路径的所述时延参数大于所述最大时延阈值,则:识别所述第一数据中心和所述第二数据中心之间的第二路径;通过以下步骤确定从所述第一数据中心到所述第二数据中心的所述第二路径是否适于要复制的所述数据集:沿着所述第二路径发送测试数据;沿着所述第二路径进行对所述测试数据的时延测量;以及使用所述时延测量来确定所述第二路径的时延参数。所述方法还包括确定所述测试数据的所述时延参数是否小于所述最大时延阈值,以及如果所述时延参数小于所述最大时延阈值,则使用所述第二路径执行所述数据集的复制。
在实施例中,所述方法还包括:识别所述第一数据中心和所述第二数据中心之间的一组路径。如果所述组中每条路径的相应时延参数大于所述最大时延阈值,则识别所述第二数据中心不能用于同步复制。如果不能使用所述第二数据中心,则所述方法还包括识别具有到所述第一数据中心的路径的第三数据中心,所述路径具有小于所述最大时延阈值的时延参数,并且在所述第三数据中心处执行所述数据集的复制。
在实施例中,所述方法还包括:在所述第一数据中心中运行的应用处,接收复制等待时间;向所述复制数据中心发送所述数据;以及在发送时,暂停所述应用的进程的至少一部分。在等于所述复制等待时间的时段流逝之后,恢复所述应用的所述进程的所述至少一部分。
在实施例中,所述方法还包括:从应用接收所述数据集;向所述复制数据中心发送所述数据;以及在复制等待时段之后,向应用发送所述数据已经被复制的指示。使用被选择用于复制的所述路径的时延参数来计算复制等待时段。
在实施例中,由所述复制数据中心提供确认。
在实施例中,所述方法还包括将所述数据集存储在位于所述第一数据中心中的本地存储设备处。
在实施例中,所述复制等待时段是使用所选择路径的时延参数和所述目的地数据中心处的估计写入时段来计算的。
在实施例中,确定路径的时延参数包括以下步骤:设置所需概率,所述所需概率是所述数据集的时延小于所述时延参数的概率;确定所述时延测量的平均值;确定所述时延测量的标准偏差;以及使用所述平均值、所述标准偏差和所述所需概率来设置所述时延参数。
在实施例中,在数据复制期间周期性地执行时延确定。
根据第二方面,提供了一种用于数据中心网络的控制器,所述控制器包括:处理器,存储器,用于存储数据和指令;发送器,用于向通信网络发送数据;以及接收器,用于从所述通信网络接收数据。所述控制器被配置为:沿着所述第一路径发送测试数据;沿着所述第一路径进行对所述测试数据的时延测量;以及使用所述时延测量来确定所述第一路径的时延参数。所述处理器还被配置为确定所述测试数据的所述时延参数是否小于最大时延阈值,以及如果所述时延参数小于所述最大时延阈值,则使用所述第一路径执行所述数据集的复制。
在实施例中,所述处理器还被配置为:如果所述第一路径的所述时延参数大于所述最大时延阈值,则识别所述第一数据中心与所述第二数据中心之间的第二路径。所述处理器还被配置为:沿着所述第二路径发送测试数据;沿着所述第二路径进行对所述测试数据的时延测量;以及使用所述时延测量来确定所述第二路径的时延参数。所述处理器还被配置为确定所述测试数据的所述时延参数是否小于最大时延阈值,以及如果所述时延参数小于所述最大时延阈值,则使用所述第二路径执行所述数据集的复制。在实施例中,所述处理器还被配置为识别所述第一数据中心和所述第二数据中心之间的一组路径;以及如果所述组中每条路径的相应时延参数大于所述最大时延阈值,则识别出所述第二数据中心不能用于同步复制。如果不能使用所述第二数据中心,则所述处理器还被配置为识别具有到所述第一数据中心的路径的第三数据中心,所述路径具有小于所述最大时延阈值的时延参数,并且在所述第三数据中心处执行对所述数据集的复制。
在实施例中,所述处理器还被配置为通过以下操作来执行复制:从应用接收所述数据集;向所述复制数据中心发送所述数据;以及在复制等待时段之后,向应用发送所述数据已经被复制的指示。其中,使用所选择路径的时延参数来计算复制等待时段。
在实施例中,所述控制器还被配置为将所述数据集存储在所述第一数据中心内的本地存储设备处。
在实施例中,所述处理器还被配置为:确定所述时延测量的平均值;确定所述时延测量的标准偏差;以及使用所需概率、所述平均值和所述标准偏差来确定所述时延参数,所述所需概率是所述数据集的时延小于所述时延参数的概率。
在实施例中,所述控制器还包括准确度至少为最小时延的0.1的时钟。
根据第三方面,提供了一种包括根据第二方面的控制器的数据中心。
根据第四方面,提供了一种计算机程序,所述计算机程序包括指令,所述指令当在至少一个处理器上执行时,使所述至少一个处理器执行根据第一方面的方法。
根据第五方面,提供了一种计算机程序产品,包括根据第四方面的计算机程序。
根据第六方面,提供了一种包含根据第五方面所述的计算机程序的载体,其中,所述载体可选地包括电信号、光信号、无线电信号、磁带或磁盘、光盘或存储器棒。
附图说明
现在将仅以示例方式参考以下附图来描述本公开的以上和其他方面:
图1是由网络链接的一组数据中心的示意图;
图2是示出了同步复制的数据流图;
图3是示出了异步复制的数据流图;
图4是示出了对使用同步复制的系统的攻击的示意图;
图5是示出了根据实施例的测试链路上的时延的方法的流程图;
图6是示出了根据另一实施例的测试链路上的时延的方法的流程图;
图7是示出了根据又一实施例的测试链路上的时延的方法的流程图;
图8是示出了估计实施例中使用的时延参数的方法的流程图;
图9是示出了根据实施例的数据复制方法的流程图;
图10是示出了根据实施例的数据复制方法的流程图;
图11是示出了根据实施例的伪同步复制的数据流图;
图12是根据实施例的控制器的示意图;
图13是示出了根据实施例的供在控制器中使用的装置1200的逻辑单元的示意图;以及
图14是示出了根据实施例的供在控制器中使用的装置的逻辑单元的示意图。
具体实施方式
现在参考示出某些实施例的附图,更充分地描述实施例。然而,具有许多不同形式的其他实施例可以在本公开的范围内。确切地说,通过示例方式来提供以下实施例,以便本公开将是全面且完整的,并将向本领域技术人员充分传达本公开的范围。
本公开提供了一种方法,该方法用于改善在由通信网络连接的数据中心之间的同步数据复制的鲁棒性,并且在一些示例中,用于加快复制过程。该方法基于对数据中心之间的实时时延的确定。通过在相同的协议和真实数据通道上复制测试数据来执行这些确定。在实施例中,时延的确定还启用了“伪同步”模式,该模式以稍微降低的鲁棒性为代价来加快复制过程。
在用于复制的路径上的时延超过阈值水平的情况下,该方法使得能够实现以下中的任何一项:改变实现复制的路径;改变复制数据中心;以及实现伪同步复制。路径上的时延变化可以是网络流量增加、链路或节点故障、背景技术部分所述的攻击或其他原因导致的。对于本公开的方法,时延增加的原因是什么没有关系。
为了提供对两个数据中心之间的路径的实时时延的现实确定,在实施例中,实现了虚拟复制过程,该过程包括在数据中心之间传输测试数据。进行测量以确定测试数据所遭受的延迟。在实施例中,时延测量要求在所有DC处具有在测量时段内准确度至少是最小预期时延(例如,根据此方法在处理数据复制的任何数据中心之间的最小计算时延)的1/10的稳定时钟。
在实施例中,针对两个数据中心之间计划的所有主路径和备用路径,利用测试数据,通过周期性测量来计算平均时延m和相关标准偏差σ。在另一实施例中,还可以针对时延用相同的方法来测试可能符合“即时(on the fly)”(不是路径规划)的路径恢复。
在实施例中,最大可接受时延基于数据将在该时间内被成功发送的特定概率来确定。例如,在实施例中,使用“五个9”的极限值,这意味着将在该时间阈值内成功接收所有数据的99.999%。本领域技术人员将理解,可以使用其他百分比,并且本公开不限于任何给定的概率阈值。
在实施例中,假设时延是正态分布的。通过这样的假设,可以如下确定时延要求:
e=m+4*σ
其中,e是时延水平,m是时延值的平均值,σ是标准偏差。在其他实施例中,可以使用其他统计分布,例如帕累托分布。本领域技术人员将理解,可以使用许多不同的分布。
图5是示出了根据实施例的估计时延的方法的步骤的流程图。该方法开始于确定501从第一数据中心到第二数据中心的第一路径是否适于要复制的数据集。这是通过沿着路径502发送测试数据,并对测试数据进行时延测量来实现的。然后使用时延测量来确定503时延参数。然后确定时延参数是否小于最大时延阈值。如果时延阈值小于该阈值,则使用第一路径来执行数据复制。在实施例中,时延参数表示从第一数据中心到第二数据中心然后再回到第一数据中心的往返延迟。在另一实施例中,可以确定单向延迟并将其用于时延参数。
在实施例中,如果第一路径不适当,则将选择第一数据中心与第二数据中心之间的第二路径,并进行测试以查看其是否适于数据复制。至于第一路径的测试,测试数据沿该路径发送。进行时延测量并确定时延参数。如果时延参数小于最大时延阈值,则可以使用第二路径。
图6是示出了根据实施例的测试第二路径的步骤的流程图。该方法包括,在已经确定第一路径不适当之后,识别601第一数据中心与第二数据中心之间的第二路径。该方法的步骤包括:通过以下来确定602从第一数据中心到第二数据中心的第二路径是否适于要复制的数据集:沿第二路径发送603测试数据,沿着第二路径对测试数据进行604时延测量,以及使用时延测量来确定第二路径的时延参数。然后确定605测试数据的时延参数是否小于最大时延阈值。如果时延参数小于最大时延阈值,则该方法使用第二路径执行606数据集的复制。
在实施例中,如果第二路径不适当,则测试一个或多个其他路径。这将继续进行,直到找到适当的路径、已经测试的一定数量或群组的路径或者已经测试的符合条件的所有可用路径为止。如果没有找到适当的路径,则在实施例中,识别具有用于复制的必需容量和到第一服务器的适当路径二者的第三数据中心并将其用于复制。
因此,选择了用于第一数据中心和第二数据中心之间的数据复制的路径。测试的第一路径可以具有最低时延,或者是数据中心之间传送数据或者被识别为根据任何标准进行测试的第一路径的最短路径。如果在第一路径上发送的测试数据在时延参数阈值之内,则可以选择该第一路径作为用于数据复制的路径。如果所确定的时延参数不在阈值内,则可以测试第二路径以及可选地一个或多个其他路径。备选地,可以使用测试数据来测试多个路径以确定测试数据的时延参数。所选择路径是满足时延参数阈值并根据例如测试数据的最短路径或最低时延参数的标准的路径。
图7是示出了根据实施例的选择第三数据中心的步骤的流程图。该方法包括识别701第一数据中心和第二数据中心之间的一组路径。如果组702中的每条路径的相应时延参数大于最大时延阈值,则识别第二数据中心不能用于同步复制。如果不能使用第二数据中心703,则该方法还包括识别具有到第一数据中心的路径的第三数据中心704,该路径具有小于最大时延阈值的时延参数。当已经识别这样的第三数据中心时,在第三数据中心处执行数据集的复制705。
在实施例中,时延测量被周期性地重复。然而,本领域技术人员将认识到,当例如响应于网络事件而发送测试数据时,还有其他选项。本公开不限于时延测试的任何特定定时。在实施例中,图5、图6和图7中的任一个的方法由用于第一数据中心的控制器来实施。控制器可以位于第一数据中心,或者可以被远程地定位。
在实施例中,例如通过确定有一定百分比的数据通过路径发送的时延水平,根据时延测量确定时延参数。例如,可能有必要的是有99.99%的几率数据将在给定的时延时段内到达。在实施例中,假设时延分布将是正态分布的。在实施例中,该假设用于通过计算使用测试数据测量的时延值的平均值和标准偏差来确定时延参数。然后,将所需概率用于根据为了确保在时延极限内到达的数据的比例所需要的平均值来确定标准偏差的数量。对于0.9999的概率,需要4个标准偏差。链路的时延参数将设置在等于平均值加4个标准偏差的水平处。
图8是示出了根据实施例的确定时延参数的方法的流程图。该方法包括以下步骤:设置801所需概率,所需概率是数据集将经受小于时延参数的时延的概率;确定802时延测量的平均值;确定803时延测量的标准偏差;以及使用804平均值、标准偏差和所需的概率来设置时延参数。
在实施例中,正态分布用于根据测试数据的时延测量来确定时延参数。在另一实施例中,使用帕累托分布。本领域技术人员将理解,可以使用其他分布,并且本公开不限于任何一种统计分布或其他手段来确定时延参数。
在实施例中,代替使用同步复制,而是使用“伪同步”方法。在伪同步复制中,不需要在向应用通知复制完成之前等待要接收的确认。而是,假设在等于假设的传输延迟的时段之后,然后该复制完成,其中,在实施例中,该传输延迟等于第一数据中心与复制数据中心之间的单程行程加上在执行复制的数据中心处的“写入时间”。该时段被称为“复制等待时段”。在正在执行复制的第一数据中心中的服务器上运行的应用在发送用于复制的数据之后,将等待等于此确认等待时段的时段,然后再恢复其过程。应用基于复制过程在此复制等待时段内完成而运行。有许多选项可以实现这一点。在实施例中,针对第一数据中心提供控制复制过程的控制器。该控制器可以位于第一数据中心和/或一个或多个其他位置,即远程。在实施例中,控制器在确定路径的时延之后,向应用发送复制等待时间。然后,应用在复制中(例如,在控制复制过程本身时)使用所提供的复制等待时间。在复制期间,应用将数据发送给复制数据中心,然后等待等于复制等待时间的时段,然后根据复制已完成来恢复其过程。
在另一实施例中,控制器保持对复制过程的控制。当进行复制时,在发送数据之后,控制器将等待等于复制等待时间的时段,然后向应用发送复制过程已完成的指示。该指示被应用视为等同于来自复制数据中心的确认。该实施例的优点在于,不需要修订应用以处理伪同步复制。
在实施例中,使用通过上述方法确定的时延参数来计算假设的传输时延(即,作为复制等待时间的一部分)。例如,如果时延参数表示往返延迟,则假设的传输延迟可以被视为时延参数的一半以表示单向时延。在另一实施例中,可以通过使用不同的计算手段或通过使用相同的计算方法,但是用不同的参数(例如改变所需概率)来与时延参数不同地确定假设的传输时延。本领域技术人员将理解,存在多种不同方式,通过这些方式可以确定假设的传输延迟,并且本公开不限于任何一种方法。在实施例中,该方法还包括提供确定的确认的步骤。在应用接收到复制已完成的指示后,将接收到它。该确认提供了对鲁棒性的改进。
现在提供以数字方式示出伪同步方法的优点的示例。在图2所示的同步模式下,假设将数据写入第二本地存储设备205所需的时间为w,并且单向延迟为e,则来自第二数据中心202的确认将自复制过程开始以来,在时间2*e+w之后到达第一数据中心处。例如,对于两个DC之间100km的距离,可能的最快的往返行程需要1000μs,并且典型的写入存储设备在约10-20μs内完成。这意味着确认将在1020μs之后到达。
在提出的伪同步模式下,第一数据中心将基于以下进行操作:复制在时间e+w(在示例中为520μs)内完成,而无需等待来自第二数据中心的确认。
图9是示出了根据实施例的伪同步复制方法的流程图。在第一数据中心中运行的应用处,该方法包括:接收901复制等待时间;以及将数据发送902给所述复制数据中心。在发送时,该方法还包括:暂停903应用的进程的至少一部分,并且在等于复制等待时间的时段流逝之后,恢复904应用的进程的至少一部分。在实施例中,该方法还包括以下步骤:从目的地数据中心905接收确认。
图10是示出了根据实施例的伪同步复制方法的流程图。该方法包括以下步骤:从应用接收1001数据集;将数据发送1002给目的地数据中心;以及在复制等待时段之后,向应用发送1003数据已经被复制的指示,其中使用所述选定路径的时延参数来计算复制等待时段。在实施例中,该方法还包括以下步骤:从目的地数据中心1004接收确认,并且将确认1005发送给应用。图11是示出了根据实施例的伪同步复制的数据流图。系统1100包括第一数据中心1101、第二数据中心1102、包括针对要复制的数据的应用的服务器1103、在第一数据中心处的本地存储设备1104和在第二数据中心1105处的备份存储设备。伪同步复制的步骤以从服务器1101向本地存储设备1104的数据传送1106开始,因此将数据发送1107给第二数据1102并存储在备份存储设备1105中。在通过备份存储设备处的写时间和传输时延确定的时段之后,向应用发送确认指示1108。在应用接收到此确认后,应用可以在复制已完成的基础上进行操作。然后,将确认指示从复制数据中心1102发送1109给本地存储设备,并且因此发送1110给应用。
由于假设在接收到确认之前在复制数据中心中复制数据,因此使用伪同步方法的代价是鲁棒性略有降低。然而,复制数据中心发送的确认会在之后很短的时间内确认完成复制的假设正确与否。结果,随着时间的推移,伪同步方法变得越来越可靠。
在实施例中,如果可以提供适于同步复制的路径,则在该路径上执行复制。如果不可能找到具有适用于同步复制的路径的数据中心,则执行伪同步复制。在另一实施例中,上述方法可以用于识别适于伪同步复制的路径。
在实施例中,可以在用于第一数据中心的控制器处执行上述方法。控制器可以位于第一数据中心,或者可以位于远程位置的“云中”。本领域技术人员将理解,控制器的位置并不重要,并且本公开不限于控制器的任何一个位置。
图12是根据实施例的控制器1200的示意图。控制器包括:发送器1201、接收器1202、处理器1203和存储器1204。处理器1203被配置为与存储器1204、发送器1201和接收器1202相关联地执行所描述的任何示例。在一些方面,处理器1203被布置为执行计算机程序,该计算机程序执行或控制所描述的方法。处理器1203可以视为处理电路。使用能够执行计算机程序产品(例如,以存储介质的形式)中存储的软件指令的合适的中央处理单元(CPU)、多处理器、微控制器、数字信号处理器(DSP)等中的一种或多种的任意组合来提供处理电路。处理电路210可以被提供为专用集成电路(ASIC)或现场可编程门阵列(FPGA)。存储器可以包括持久存储设备,其例如可以是磁存储器、光存储器、固态存储器或甚至远程安装存储器中的任意单独一个或组合。
图13是示出了根据实施例的供在控制器中使用的装置1300的逻辑单元的示意图。该装置包括:用于发送测试数据的测试数据发送单元1301;用于确定路径的时延参数的时延参数确定单元1302;以及用于确定测试数据的时延参数是否小于最大时延阈值的确定单元1303;和用于使用第一路径执行数据集的复制的复制控制单元1304。在实施例中,控制器还包括路径识别单元1305,用于识别用于数据复制的路径。在实施例中,控制器还包括数据中心识别单元1206,用于识别适当的复制数据中心。装置1300可以由处理器和/或存储器来实现,如图12所述。
图14是示出了根据实施例的供在控制器中使用的装置1400的逻辑单元的示意图。该装置包括:接收单元1401,用于从应用接收数据集;发送单元1402,用于将数据发送给所述复制数据中心;以及指示发送单元1403,用于在复制等待时段之后,向应用发送数据已经被复制的指示,其中使用被选择用于复制的所述路径的时延参数来计算复制等待时段。装置1400可以由处理器和/或存储器来实现,如图12所述。
为了实现本文公开的方法,可以以可下载到网络节点或控制器的计算机程序的形式提供指令。这可以是计算机程序产品的形式,通常包含在诸如电信号、光信号、无线电信号、磁带或磁盘、光盘或存储器棒之类的载体上。
本公开还使得能够在需要一致地操作的分布式服务器的情况下得以改进。这种系统的一个基本原理是,分布式服务器要等待“足够的时间”以从所有服务器获取更新,然后才完成自己的进程,以确保做出一致而公平的决策。在这种情况下,通常对最坏情况的时延进行假设,从而导致性能不佳。利用所提出的解决方案,通过确定实际的“实时”时延,可以基于网络的实际状态而不是最坏的情况(减少“等待时间”)进行分布式服务器上的处理,从而使得提高性能是可能的。
以上已经参考一些实施例主要地描述了本公开。然而,本领域技术人员应当理解,除上文公开的实施例外的其他实施例同样在由随附权利要求定义的本公开的范围内。
Claims (17)
1.一种第一数据中心和第二数据中心之间的数据复制方法,其中,所述第一数据中心具有要复制的数据集,所述方法包括:
通过以下步骤确定(501)从所述第一数据中心到所述第二数据中心的第一路径是否适于要复制的数据集:
沿着所述第一路径发送(502)测试数据;
沿着所述第一路径进行(503)对所述测试数据的时延测量;以及
使用所述时延测量来确定所述第一路径的时延参数;以及
确定(504)所述测试数据的所述时延参数是否小于最大时延阈值;
其中,如果确定所述时延参数小于所述最大时延阈值,则所述方法使用所述第一路径执行(505)所述数据集的复制,其中,执行所述复制的步骤还包括:
从应用接收(1001)所述数据集;
向复制数据中心发送(1002)数据;以及
在复制等待时段之后,向所述应用发送(1003)所述数据已经被复制的指示,其中,使用被选择用于复制的所述路径的时延参数来计算所述复制等待时段。
2.根据权利要求1所述的数据复制方法,还包括:如果确定所述第一路径的所述时延参数大于所述最大时延阈值,则:
识别(601)所述第一数据中心和所述第二数据中心之间的第二路径;
通过以下步骤确定(602)从所述第一数据中心到所述第二数据中心的所述第二路径是否适于要复制的数据集:
沿着所述第二路径发送(603)测试数据;
沿着所述第二路径进行(604)对所述测试数据的时延测量;以及
使用所述时延测量来确定所述第二路径的时延参数;以及
确定(605)所述测试数据的所述时延参数是否小于所述最大时延阈值;
其中,如果所述时延参数小于所述最大时延阈值,则所述方法使用所述第二路径执行(606)所述数据集的复制。
3.根据权利要求1所述的数据复制方法,还包括:
识别(701)所述第一数据中心和所述第二数据中心之间的一组路径;以及
如果所述组(702)中所有路径的相应时延参数都大于所述最大时延阈值,则识别所述第二数据中心不能用于同步复制;以及
如果不能使用所述第二数据中心(703),则:
识别具有到所述第一数据中心的路径的第三数据中心(704),所述路径的时延参数小于所述最大时延阈值;以及
在所述第三数据中心处执行所述数据集的复制(705)。
4.根据前述任一项权利要求所述的方法,其中,执行复制的步骤还包括,在所述第一数据中心中运行的应用处:
接收(901)复制等待时间;
将所述数据发送(902)给所述复制数据中心;
在发送时:暂停(903)所述应用的进程的至少一部分;
在等于所述复制等待时间的时段流逝后:恢复(904)所述应用的所述进程的所述至少一部分。
5.根据权利要求4所述的方法,还包括:从所述复制数据中心接收(905)确认。
6.根据权利要求1所述的方法,还包括:从所述复制数据中心接收(905)确认。
7.根据权利要求1所述的方法,其中,所述复制等待时段是使用所选择路径的时延参数和目的地数据中心处的估计写入时段来计算的时段。
8.根据权利要求1所述的方法,其中,估计路径的时延参数包括以下步骤:
确定所述时延测量的平均值;
确定所述时延测量的标准偏差;
设置所需概率,所述所需概率是所述数据集将会经历的时延小于所述时延参数的概率;以及
使用所述平均值、所述标准偏差和所述所需概率来设置所述时延参数。
9.根据权利要求1所述的方法,其中,在数据复制期间周期性地执行时延估计。
10.一种用于数据中心网络的控制器(1100),包括:
处理器(1103);
存储器(1104),用于存储数据和指令;
发送器(1101),用于向通信网络发送数据;以及
接收器(1102),用于从所述通信网络接收数据;
其中,所述控制器被配置为:
沿着第一路径发送测试数据;
沿着所述第一路径进行对所述测试数据的时延测量;以及
使用所述时延测量来确定所述第一路径的时延参数;以及
确定所述测试数据的所述时延参数是否小于最大时延阈值;
其中,如果所述时延参数小于所述最大时延阈值,则所述控制器使用所述第一路径执行所述数据集的复制,其中,执行所述复制的步骤还包括:
从应用接收所述数据集;
向复制数据中心发送数据;以及
在复制等待时段之后,向所述应用发送所述数据已经被复制的指示,其中,使用所选择路径的时延参数来计算所述复制等待时段。
11.根据权利要求10所述的控制器,其中,所述处理器还被配置为:
如果所述第一路径的所述时延参数大于所述最大时延阈值,则:
识别第一数据中心和第二数据中心之间的第二路径;
沿着所述第二路径发送测试数据;
沿着所述第二路径进行对所述测试数据的时延测量;以及
使用所述时延测量来确定所述第二路径的时延参数;以及
确定所述测试数据的所述时延参数是否小于最大时延阈值,
其中,如果所述时延参数小于所述最大时延阈值,则所述控制器使用所述第二路径执行所述数据集的复制。
12.根据权利要求10所述的控制器,其中,所述处理器还被配置为:
识别第一数据中心和第二数据中心之间的一组路径;以及
如果所述组中所有路径的相应时延参数都大于所述最大时延阈值,则识别所述第二数据中心不能用于同步复制;以及
如果不能使用所述第二数据中心,则:
识别具有到所述第一数据中心的路径的第三数据中心,所述路径的时延参数小于所述最大时延阈值;以及
在所述第三数据中心处执行所述数据集的复制。
13.根据权利要求10所述的控制器,还被配置为将所述数据集存储在第一数据中心内的本地存储设备处。
14.根据权利要求10所述的控制器,其中,所述处理器还被配置为:
确定所述时延测量的平均值;
确定所述时延测量的标准偏差;以及
使用所需概率、所述平均值和所述标准偏差来确定所述时延参数,所述所需概率是所述数据集将会经历的时延小于所述时延参数的概率。
15.根据权利要求10至14中任一项所述的控制器,包括准确度至少为最小时延的0.1的时钟。
16.一种数据中心,包括根据权利要求10至15中任一项所述的控制器。
17.一种存储指令的计算机可读存储介质,所述指令当在至少一个处理器上执行时,使所述至少一个处理器执行根据权利要求1至9中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/059981 WO2018196969A1 (en) | 2017-04-26 | 2017-04-26 | Robust data replication among data centers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110574019A CN110574019A (zh) | 2019-12-13 |
CN110574019B true CN110574019B (zh) | 2023-05-30 |
Family
ID=58709439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780090057.7A Active CN110574019B (zh) | 2017-04-26 | 2017-04-26 | 数据中心之间鲁棒的数据复制 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11314772B2 (zh) |
EP (1) | EP3616084A1 (zh) |
CN (1) | CN110574019B (zh) |
WO (1) | WO2018196969A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10007695B1 (en) * | 2017-05-22 | 2018-06-26 | Dropbox, Inc. | Replication lag-constrained deletion of data in a large-scale distributed data storage system |
EP4170980A4 (en) * | 2020-06-30 | 2023-08-16 | Huawei Technologies Co., Ltd. | COMMUNICATION METHOD AND ASSOCIATED DEVICE |
US11601358B2 (en) * | 2020-12-17 | 2023-03-07 | HashiCorp | Cross datacenter communication using a mesh gateway |
CN113489792B (zh) * | 2021-07-07 | 2023-02-03 | 上交所技术有限责任公司 | 一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661406A (zh) * | 2008-08-28 | 2010-03-03 | 国际商业机器公司 | 处理单元调度装置和方法 |
CN104123198A (zh) * | 2013-04-28 | 2014-10-29 | 国际商业机器公司 | 管理数据复制模式的方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7907520B2 (en) * | 2007-09-27 | 2011-03-15 | Verizon Patent And Licensing Inc. | Path testing and switching |
US7778165B2 (en) * | 2007-11-08 | 2010-08-17 | University Of Washington | Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet |
US9717021B2 (en) * | 2008-07-03 | 2017-07-25 | Silver Peak Systems, Inc. | Virtual network overlay |
US20120072544A1 (en) * | 2011-06-06 | 2012-03-22 | Precision Networking, Inc. | Estimating application performance in a networked environment |
US8447730B1 (en) * | 2012-01-31 | 2013-05-21 | Yahoo! Inc. | Probe system for replication monitoring |
US8830860B2 (en) * | 2012-07-05 | 2014-09-09 | Accedian Networks Inc. | Method for devices in a network to participate in an end-to-end measurement of latency |
EP2736194B1 (en) * | 2012-11-27 | 2017-09-27 | ADVA Optical Networking SE | Latency monitoring point |
US9503343B2 (en) * | 2012-12-14 | 2016-11-22 | Ca, Inc. | Method and system for detecting network topology change |
US9229999B2 (en) * | 2013-03-15 | 2016-01-05 | International Business Machines Corporation | Using average replication latency to influence routing query transactions |
US9887914B2 (en) * | 2014-02-04 | 2018-02-06 | Fastly, Inc. | Communication path selection for content delivery |
EP2950488A1 (en) * | 2014-05-27 | 2015-12-02 | Xieon Networks S.à r.l. | Adaptive traffic routing in communication networks |
US10439881B2 (en) * | 2016-05-24 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for predicting storage distance |
US10609054B2 (en) * | 2017-04-07 | 2020-03-31 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Methods, systems, and computer readable media for monitoring, adjusting, and utilizing latency associated with accessing distributed computing resources |
US10880206B2 (en) * | 2018-06-13 | 2020-12-29 | Futurewei Technologies, Inc. | Multipath selection system and method for datacenter-centric metro networks |
US11132135B2 (en) * | 2019-04-11 | 2021-09-28 | International Business Machines Corporation | Dynamic disk replication mode selection based on storage area network latency |
-
2017
- 2017-04-26 EP EP17723641.1A patent/EP3616084A1/en not_active Ceased
- 2017-04-26 WO PCT/EP2017/059981 patent/WO2018196969A1/en unknown
- 2017-04-26 US US16/605,924 patent/US11314772B2/en active Active
- 2017-04-26 CN CN201780090057.7A patent/CN110574019B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661406A (zh) * | 2008-08-28 | 2010-03-03 | 国际商业机器公司 | 处理单元调度装置和方法 |
CN104123198A (zh) * | 2013-04-28 | 2014-10-29 | 国际商业机器公司 | 管理数据复制模式的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018196969A1 (en) | 2018-11-01 |
US20210124758A1 (en) | 2021-04-29 |
EP3616084A1 (en) | 2020-03-04 |
CN110574019A (zh) | 2019-12-13 |
US11314772B2 (en) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110574019B (zh) | 数据中心之间鲁棒的数据复制 | |
EP2829986B1 (en) | Computer system, access method and apparatus for peripheral component interconnect express endpoint devices | |
US20020150049A1 (en) | Method for triggering flow control packets | |
CN105988480B (zh) | 飞行控制系统命令选择和数据传输 | |
CN109921942B (zh) | 云平台切换控制方法、装置、系统及电子设备 | |
CN104301140A (zh) | 业务请求响应方法、装置和系统 | |
US7890715B2 (en) | Suspension of an asynchronous remote copy pair system having a primary controller and a remote controller | |
WO2016132429A1 (ja) | 通信システム、通信制御方法、および、制御サーバ | |
CN104065569A (zh) | 信息处理系统和设备及其控制方法以及数据传输设备 | |
EP2432193A2 (en) | Method of data replication in a distributed data storage system and corresponding device | |
CN111107011A (zh) | 一种探测生成最优路径的方法和网络加速系统 | |
US9727403B2 (en) | System and method for detecting an abnormal condition in a multi-node communication system | |
US9767023B2 (en) | Method of controlling data writing to persistent storage device | |
US8250140B2 (en) | Enabling connections for use with a network | |
US8055991B2 (en) | Error detection and recovery using an asynchronous transaction journal | |
JP2013206112A5 (zh) | ||
US20170180465A1 (en) | Method, information processing apparatuses and non-transitory computer-readable storage medium | |
KR101884636B1 (ko) | 서비스 기능 체인의 고가용성을 위한 분산적인 서비스 기능 장애 복구를 위한 방법 및 시스템 | |
CN113225229B (zh) | 一种基于标签的分布式轻量级全网遥测方法及装置 | |
US11765042B2 (en) | Traffic application amount calculation apparatus, method and program | |
US8699347B2 (en) | Communication apparatus, communication system, communication method, and a computer-readable medium | |
KR102507198B1 (ko) | 분산 소프트웨어 정의 네트워크에서 비잔틴 장애 극복 방법 | |
US11936490B2 (en) | L2 switch, communication method, and communication program | |
CN110601972A (zh) | 一种报文传输方法、装置及智能弹性架构系统 | |
CN114064362B (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 |