CN107526652A - 一种数据同步方法及存储设备 - Google Patents

一种数据同步方法及存储设备 Download PDF

Info

Publication number
CN107526652A
CN107526652A CN201610455542.7A CN201610455542A CN107526652A CN 107526652 A CN107526652 A CN 107526652A CN 201610455542 A CN201610455542 A CN 201610455542A CN 107526652 A CN107526652 A CN 107526652A
Authority
CN
China
Prior art keywords
storage
storage array
array
data
failure
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.)
Granted
Application number
CN201610455542.7A
Other languages
English (en)
Other versions
CN107526652B (zh
Inventor
袁舟
赵家伟
丁文强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610455542.7A priority Critical patent/CN107526652B/zh
Publication of CN107526652A publication Critical patent/CN107526652A/zh
Application granted granted Critical
Publication of CN107526652B publication Critical patent/CN107526652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data

Abstract

本发明实施例公开了一种数据同步方法及存储设备,其中,方法包括:存储设备接收并存储双活数据中心的第一存储阵列发送的存储数据,该存储数据与第一存储阵列发送给双活数据中心的第二存储阵列进行存储的数据相同;在第一存储阵列与第二存储阵列之间存在差异数据的情况下,存储设备检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障;若检测到第二存储阵列不存在故障,并且第一存储阵列存在故障,则存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。可见,通过实施该方法,在双活数据中心的主存储阵列故障之后,能够通过存储设备及时地向双活数据中心的另一存储阵列同步差异数据。

Description

一种数据同步方法及存储设备
技术领域
本发明涉及通信技术领域,尤其涉及一种数据同步方法及存储设备。
背景技术
出于灾备的目的,一般都会建设多个数据中心。其中,双活(Active-Active)数据中心由于其能保持业务的连续性以及提高数据中心的利用率,而受到了广泛的使用。双活数据中心是指包括的两个数据中心互为备份,且双活数据中心的一个数据中心故障时,业务能自动切换到另一数据中心,以保持业务不中断。
图1为一种现有的双活数据中心的系统架构图,如图1所示,该双活数据中心包括数据中心1和数据中心2,数据中心1包括存储阵列A,数据中心2包括存储阵列B。如图1所示,当存储阵列A为主存储阵列(主存储阵列是指直接与主机进行交互,且承担双活数据中心的所有业务的存储阵列)时,主机发送待写入数据至存储阵列A,存储阵列A存储该待写入数据,并发送该待写入数据至存储阵列B。存储阵列B存储该待写入数据,并在存储成功后向存储阵列A返回成功响应。存储阵列A在自身存储完待写入数据以及在接收到存储阵列B返回的成功响应之后,向主机返回用于指示存储阵列A和存储阵列B均存储成功的消息。
在实际应用中,若存储阵列A存储成功,存储阵列B由于发生故障等原因导致存储失败,则存储阵列A会把自己与存储阵列B之间的数据差异信息记录下来。等存储阵列B恢复正常,存储阵列A就会根据记录的差异信息,把存储阵列B未成功存储的数据(差异数据)向存储阵列B同步。然而,若存储阵列B恢复正常后,存储阵列A在向存储阵列B发起数据同步之前故障,则存储阵列A将不能及时地把差异数据同步给存储阵列B,导致存储阵列B丢失部分数据。
发明内容
本发明实施例公开了一种数据同步方法及存储设备,在双活数据中心的主存储阵列故障之后,能够及时地向双活数据中心的另一存储阵列同步差异数据。
第一方面,本发明实施例提供了一种文件存储方法,该方法包括:存储设备接收并存储双活数据中心的第一存储阵列发送的存储数据,该存储数据与第一存储阵列发送给双活数据中心的第二存储阵列进行存储的数据相同;在第一存储阵列与第二存储阵列之间存在差异数据的情况下,存储设备检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障;若检测到第二存储阵列不存在故障,并且第一存储阵列存在故障,则存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。
在该方法中,在第一存储阵列为主存储阵列的情况下,第一存储阵列接收主机发送的存储数据之后,将该存储数据存储至第一存储阵列,并发送该存储数据至第二存储阵列和存储设备进行储存。也就是说,若第二存储阵列未成功存储第一存储阵列发送的数据,则该存储设备中存储有第一存储阵列与第二存储阵列之间的差异数据。因此,本发明通过在检测到第二存储阵列不存在故障,并且第一存储阵列存在故障,则存储设备将存储数据中包括的该差异数据通过第一通信链路发送至第二存储阵列,从而达到了在第一存储阵列故障后,及时将第一存储阵列与第二存储阵列之间的差异数据发送至第二存储阵列的目的。
在一种可能的设计中,存储设备与第一存储阵列同城部署,存储设备将存储数据存储成功后向第一存储阵列返回用于指示存储成功的消息。这样由于存储设备与第一存储阵列同城部署,第一存储阵列可很快的接收到存储设备发送的存储成功的消息。第一存储阵列可在自身与存储设备存储成功之后,就向主机发送存储成功的消息,而不需要在接收到第二存储阵列返回的用于指示第二存储阵列将存储数据存储成功的消息(如果第一存储阵列和第二存储阵列之间的距离将比较远,第一存储阵列将很久才能接收到第二存储阵列反馈的用于指示存储成功的消息)之后,再向主机发送存储成功的消息,这样有利于提高写的性能,在第一存储阵列和第二存储阵列之间的距离很远的情况下保证了业务的连续性。
在一种可能的设计中,存储设备可接收第二存储阵列将该存储数据存储成功之后发送的用于指示第二存储阵列将该存储数据存储成功的消息。存储设备接收该消息之后就删除存储的该存储数据,以节省存储设备的存储空间。
在一种可能的设计中,若存储设备在接收存储数据后的预设时间内未接收到用于指示第二存储阵列将该存储数据存储成功的消息,则存储设备将该存储数据确定为第一存储阵列与第二存储阵列之间的差异数据。
在一种可能的设计中,存储设备可接收第二存储阵列在将该存储数据存储成功之后发送的用于指示存储设备删除该存储数据的信息。存储设备接收该信息之后删除存储的该存储数据,以节省存储设备的存储空间。
在一种可能的设计中,若存储设备在接收存储数据后的预设时间内未接收到用于指示存储设备删除该存储数据的信息,则存储设备将该存储数据确定为第一存储阵列与第二存储阵列之间的差异数据。
在一种可能的设计中,存储设备可接收第一存储阵列发送的用于指示存储数据为第一存储阵列与第二存储阵列之间的差异数据的信息。存储设备接收该信息之后,记录该存储数据为第一存储阵列与第二存储阵列之间的差异数据。
在一种可能的设计中,存储设备可接收第一存储阵列发送的用于指示第二存储阵列将该存储数据存储成功的消息;存储设备接收到该消息之后,可及时删除该存储数据。
在一种可能的设计中,若存储设备在接收存储数据后的预设时间内未接收到第一存储阵列发送的用于指示第二存储阵列将该存储数据存储成功的消息,则存储设备将该存储数据确定为第一存储阵列与第二存储阵列之间的差异数据。
在一种可能的设计中,存储设备也可在存储的数据超过预设容量时,删除存储的除差异数据之外的数据,或者存储设备每隔预设时间段,删除一次存储的除差异数据之外的数据,这样可以节省通信资源。
在一种可能的设计中,存储设备检测第二存储阵列是否存在故障的具体实施方式可以为:存储设备检测存储设备与第二存储阵列之间的第一通信链路是否存在故障;若检测到存储设备与第二存储阵列之间的第一通信链路存在故障,则存储设备确定第二阵列存在故障;若检测到存储设备与第二存储阵列之间的第一通信链路不存在故障,则存储设备确定第二阵列不存在故障。
在一种可能的设计中,存储设备检测第一存储阵列是否存在故障的具体实施方式可以为:存储设备检测存储设备与第一存储阵列之间的第三通信链路是否存在故障;若检测到存储设备与第一存储阵列之间的第三通信链路存在故障,则存储设备确定第一阵列存在故障;若检测到存储设备与第一存储阵列之间的第三通信链路不存在故障,则存储设备确定第一阵列不存在故障。
在一种可能的设计中,存储设备检测第一存储阵列是否存在故障的具体实施方式可以为:存储设备检测第一存储阵列与第二存储阵列之间的第二通信链路是否存在故障;若检测到第一存储阵列与第二存储阵列之间的第二通信链路存在故障,则存储设备确定第一阵列存在故障;若检测到第一存储阵列与第二存储阵列之间的第二通信链路不存在故障,则存储设备确定第一阵列不存在故障。
在一种可能的设计中,存储设备检测第一存储阵列是否存在故障的具体实施方式可以为:存储设备检测第一存储阵列与第二存储阵列之间的第二通信链路是否存在故障,并且检测第一存储阵列与存储设备之间的第三通信链路是否存在故障;若检测到第二通信链路和第三通信链路均存在故障,则存储设备确定第一阵列存在故障;若检测到第二通信链路和/或第三通信链路不存在故障,则存储设备确定第一阵列不存在故障。通过实施该设计可更准确地检测第一存储阵列是否存在故障。
在一种可能的设计中,若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障,则存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。通过实施该设计可及时通过存储设备将差异数据发送至第二存储阵列。
在一种可能的设计中,若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障,则存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列可以包括:若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障,则存储设备检测存储的差异数据的大小是否超过预设阈值;若差异数据的大小超过预设阈值,则存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。通过实施该设计存储设备在差异数据的大小超过预设阈值时才将差异数据发送至第二存储阵列,这样有利于减小第一通信链路的负载。
在一种可能的设计中,若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障,则存储设备检测第一存储阵列与第二存储阵列之间的第二通信链路是否发生故障;若存储设备检测到第二通信链路发生故障,则存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。通过实施该设计在第二通信链路发生故障时可及时通过存储设备将差异数据发送至第二存储阵列。
在一种可能的设计中,存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列之后,存储设备可接收第二存储阵列在存储完差异数据之后返回的成功存储响应,并在接收到该成功存储响应之后删除存储的差异数据。通过实施该设计可以节省存储设备的存储空间。
在一种可能的设计中,当存储设备接收到由第一存储阵列发送的第一消息和由第二存储阵列发送的第二消息,以及由第一存储阵列或第二存储阵列发送的第三消息时,存储设备启动仲裁功能。其中,该第一消息用于指示第一存储阵列与仲裁服务器之间的通信链路发生故障,该第二消息用于指示第二存储阵列与仲裁服务器之间的通信链路发生故障,该第三消息用于指示第一存储阵列与第二存储阵列之间的通信链路发生故障,该仲裁功能用于从第一存储阵列和第二存储阵列中选择一个存储阵列作为主存储阵列。通过实施该设计当出现脑裂情况时,存储设备可代替仲裁服务器执行仲裁功能,从而能够保证业务的正常运行。
第二方面,本发明实施例提供了一种存储设备,该存储设备包括用于执行上述第一方面提供的方法的功能单元或还包括用于执行第一方面提供的方法的可能的设计的功能单元。
第三方面,本发明实施例提供了一种存储设备,该存储设备包括处理器、存储器、收发器、总线系统以及一个或多个程序,处理器和存储器通过总线系统相连,处理器和收发器通过总线系统相连,其中,该一个或多个程序被存储在存储器中,该一个或多个程序包括指令,当指令被存储设备执行时使存储设备执行上述第一方面提供的方法或上述第一方面提供的方法的可能的设计。
第四方面,本发明实施例提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令用于执行上述第一方面提供的方法或上述第一方面提供的方法的可能的设计。
第五方面,本发明实施例提供了一种系统,该系统包括:存储设备和双活数据中心,双活数据中心包括第一存储阵列和第二存储阵列,其中:第一存储阵列,用于将存储数据发送至存储设备和第二存储阵列进行储存,该第一存储阵列发送至存储设备的存储数据与第一存储阵列发送至第二存储阵列的存储数据相同;第二存储阵列,用于接收并存储第一存储阵列发送的存储数据;存储设备,用于接收并存储第一存储阵列发送的存储数据;以及存储设备还用于在第一存储阵列与第二存储阵列之间存在差异数据的情况下,检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障;以及存储设备还用于在检测到第二存储阵列不存在故障,并且第一存储阵列存在故障时,将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列进行存储。可见通过实施该系统,存储设备可及时将第一存储阵列与第二存储阵列之间的差异数据发送至第二存储阵列。
在一种可能的设计中,存储设备,还用于在检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列进行储存。通过实施该设计可及时通过存储设备将差异数据发送至第二存储阵列。
在一种可能的设计中,存储设备在检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列进行储存的方式具体为:存储设备在检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,存储设备检测存储的差异数据的大小是否超过预设阈值;若差异数据的大小超过预设阈值,则存储设备将差异数据通过第一通信链路发送至第二存储阵列。通过实施该设计存储设备在差异数据的大小超过预设阈值时才将差异数据发送至第二存储阵列,这样有利于减小第一通信链路的负载。
在一种可能的设计中,第二存储阵列,还用于在接收并成功存储存储数据发送的差异数据之后,向存储设备发送用于指示差异数据存储成功的成功存储响应;存储设备,还用于在接收到成功存储响应之后删除差异数据。通过实施该设计可以节省存储设备的存储空间。
在一种可能的设计中,当第一存储阵列与仲裁服务器之间的通信链路发生故障时,第一存储阵列向存储设备发送第一消息,该第一消息用于指示第一存储阵列与仲裁服务器之间的通信链路发生故障;当第二存储阵列与仲裁服务器之间的通信链路发生故障时,第二存储阵列向存储设备发送第二消息,该第二消息用于指示第二存储阵列与仲裁服务器之间的通信链路发生故障;当第一存储阵列与第二存储阵列之间的通信链路发生故障时,第一存储阵列或第二存储阵列向存储设备发送第三消息,该第三消息用于指示第一存储阵列与第二存储阵列之间的通信链路发生故障;当存储设备接收到第一消息、第二消息以及第三消息时,存储设备启动仲裁功能,该仲裁功能用于从第一存储阵列和第二存储阵列中选择一个存储阵列作为主存储阵列。通过实施该设计当出现脑裂情况时,存储设备可代替仲裁服务器执行仲裁功能,从而能够保证业务的正常运行。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种现有的双活数据中心的系统架构图;
图2是本发明实施例公开的一种系统架构图;
图3是本发明实施例公开的一种数据同步方法的流程示意图;
图4是本发明实施例公开的另一种数据同步方法的流程示意图;
图5是本发明实施例公开的一种存储设备的结构示意图;
图6是本发明实施例公开的另一种存储设备的结构示意图;
图7是本发明实施例公开的又一种存储设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在现有的数据同步过程中,若存储阵列A为主存储阵列,在存储阵列A和存储阵列B存在差异数据的情况下,若存储阵列A发生故障,则存储阵列A将不能及时地把差异数据同步给存储阵列B,导致存储阵列B存储的数据不完整。在存储阵列A发送故障之后,此时存储阵列B正常,由于存储阵列A与存储阵列B互为备份,存储阵列A的所有业务切换至存储阵列B,即将存储阵列B切换为主存储阵列,此时存储阵列B存储的数据不完整,将会造成业务出现异常,例如,用户无法查看到已更新的数据,或用户查看到的数据不完整等等。
为此,本发明实施例提供一种数据同步方法及存储设备,用以在双活数据中心的主存储阵列故障之后,及时地向双活数据中心的另一存储阵列同步差异数据。其中,方法和存储设备是基于同一发明构思的,由于方法及存储设备解决问题的原理相似,因此存储设备与方法的实施可以相互参见,重复之处不再赘述。
为了清楚的描述本发明实施例的方案,下面结合附图2,对本发明实施例可能应用的系统架构进行说明。
图2示出了本发明实施例提供的一种可能的系统架构。如图2所示,该系统架构中包括主机、存储设备和双活数据中心。其中,主机可包括但不限于智能手机、掌上电脑、笔记本电脑或台式电脑等,本发明实施例不做限定。
其中,该双活数据中心包括第一存储阵列和第二存储阵列。第一存储阵列和第二存储阵列互为备份。在第一存储阵列和第二存储阵列中存在一个存储阵列为主存储阵列,用以承担双活数据中心的所有业务,以及接收主机发送的需要存储的待存储数据,并将待存储数据存储至自身和另一存储阵列。在主存储阵列故障之后,另一存储阵列被切换为主存储阵列,以保持业务不中断。本发明实施例中的第一存储阵列和第二存储阵列均为双活数据中心中的任意一个存储阵列,为了方便描述本实施例的技术方案,将双活数据中心中的存储阵列区分为第一存储阵列和第二存储阵列。
在图2所示的系统架构中,该存储设备是具有存储功能的设备。该存储设备与第一存储阵列部署为不同的故障域(即在第一存储阵列故障时,存储设备不会出现故障)。可选的,该存储设备与第一存储阵列可部署在同城。
如图2所示该存储设备通过第一通信链路与第二存储阵列连接。第一存储阵列与所述第二存储阵列通过第二通信链路连接。该存储设备通过第三通信链路与第一存储阵列连接。可选的,第一通信链路和第三通信链路可以为普通的英特尔网络链路。
在图2所示的系统架构中,在第一存储阵列为主存储阵列时,第一存储阵列接收到主机发送的待存储数据之后,除将待存储数据存储至自身和第二存储阵列之外,还将通过第三通信链路将该待存储数据存储至存储设备中(也就是说,若第二存储阵列未成功存储第一存储阵列发送的数据,则该存储设备中存储有第一存储阵列与第二存储阵列之间的差异数据)。因此,本发明实施例通过在第一存储阵列与第二存储阵列之间存在差异数据的情况下,若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列存在故障,则存储设备将存储数据中包括的该差异数据通过第一通信链路发送至第二存储阵列,从而达到了在第一存储阵列故障后,及时将第一存储阵列与第二存储阵列之间的差异数据发送至第二存储阵列的目的。
可选的,在图2所示的系统架构中还可包括第二存储设备,该第二存储设备与第二存储阵列部署为不同的故障域(即在第二存储阵列故障时,第二存储设备不会出现故障)。可选的,该第二存储设备与第二存储阵列可部署在同城。该第二存储设备用以在第二存储阵列为主存储阵列时,执行与存储设备相应的功能。例如,在第二存储阵列为主存储阵列时,第二存储阵列接收到主机发送的待存储数据之后,除将待存储数据存储至自身和第一存储阵列之外,还将将该待存储数据存储至第二存储设备中。在第一存储阵列与第二存储阵列之间存在差异数据的情况下,若第二存储设备检测到第一存储阵列不存在故障,并且第二存储阵列存在故障,则第二存储设备将存储数据中包括的该差异数据发送至第一存储阵列,从而达到了及时将第一存储阵列与第二存储阵列之间的差异数据发送至第一存储阵列的目的。
可选的,在图2所示的系统架构中还可包括仲裁服务器,该仲裁服务器用于执行仲裁功能,该仲裁功能用于从第一存储阵列和第二存储阵列中选择一个存储阵列为主存储阵列。
可以理解的是,本发明实施例描述的系统架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
下面将基于上面所述的本发明实施例涉及的共性方面,对本发明实施例进一步详细说明。
请参见图3,图3为本发明实施例公开的一种数据同步方法的流程示意图。如图3所示,该数据同步方法可以包括301~305部分。
301、双活数据中心的第一存储阵列向存储设备和第二存储阵列发送存储数据。
本发明实施例中,在第一存储阵列为主存储阵列的情况下,第一存储阵列可接收主机发送的存储数据。第一存储阵列接收该存储数据之后,将该存储数据存储至第一存储阵列,并发送该存储数据至第二存储阵列和存储设备进行储存。第一存储阵列发送至存储设备的存储数据与第一存储阵列发送至第二存储阵列的存储数据相同。
可选的,第一存储阵列可先将存储数据存储至自身和存储设备,再存储该存储数据至第二存储阵列,或者第一存储阵列可先将存储数据存储至自身和第二存储阵列,再将存储数据存储至存储设备,或者第一存储阵列可同时将存储数据存储至自身、存储设备和第二存储阵列。
302、第二存储阵列存储第一存储阵列发送的该存储数据。
本发明实施例中,第二存储阵列接收该存储数据之后,将该存储数据进行存储。
303、存储设备存储第一存储阵列发送的该存储数据。
本发明实施例中,存储设备接收该存储数据之后,将该存储数据进行存储。
可选的,存储设备将该存储数据存储成功后,返回用于指示存储成功的响应消息至第一存储阵列。
可选的,第二存储阵列存储成功之后,也返回用于指示存储成功的响应消息至第一存储阵列。
可选的,第一存储阵列可在自身与存储设备存储成功之后,就向主机发送存储成功的消息。在实际应用中,若第一存储阵列和第二存储阵列部署在不同的城市,则第一存储阵列和第二存储阵列之间的距离将比较远,由于第一存储阵列和第二存储阵列之间的距离较远,第一存储阵列将很久才能接收到第二存储阵列返回的用于指示存储成功的消息;若第一存储阵列在接收到第二存储阵列返回的用于指示存储成功的消息之后,再告知主机存储数据存储成功,这将会严重影响写数据的性能,并不能保证业务的连续性。为保证业务的连续性,在第一存储阵列的同一个城市部署存储设备,这样在第一存储阵列和存储设备存储成功之后,就向主机返回用于指示存储成功的消息;由于第一存储阵列和存储设备为同城,它们之间的距离较近,这样第一存储阵列会很快告知主机存储数据存储成功,因此能够提高写数据的性能,从而有利于提高业务的连续性,而且即使第一存储阵列和第二存储阵列之间的距离很远也不会影响业务的连续性,因此,有利于扩展第一存储阵列和第二存储阵列之间的距离。
可选的,在第二存储阵列将该存储数据存储成功之后,可发送用于指示第二存储阵列将该存储数据存储成功的消息给存储设备。在存储设备接收该消息之后,可删除存储的该存储数据,以节省存储设备的存储空间。
可选的,若存储设备在接收存储数据后的预设时间内未接收到用于指示第二存储阵列将该存储数据存储成功的消息,则存储设备将该存储数据确定为第一存储阵列与第二存储阵列之间的差异数据。
可选的,在第二存储阵列将该存储数据存储成功之后,可发送用于指示存储设备删除该存储数据的信息,存储设备接收该信息之后删除存储的该存储数据,以节省存储设备的存储空间。
可选的,若存储设备在接收存储数据后的预设时间内未接收到用于指示存储设备删除该存储数据的信息,则存储设备将该存储数据确定为第一存储阵列与第二存储阵列之间的差异数据。
可选的,在第二存储阵列将该存储数据存储成功之后,也可只向第一存储阵列发送用于指示第二存储阵列将该存储数据存储成功的消息。若第一存储阵列在向第二存储阵列发送存储数据后的预设时间内未接收到第二存储阵列返回的该消息,则第一存储阵列将该存储数据记录为与第二存储阵列之间的差异数据。
可选的,若第一存储阵列在向第二存储阵列发送存储数据后的预设时间内未接收到第二存储阵列返回的指示消息,该指示消息用于指示第二存储阵列将该存储数据存储成功,则第一存储阵列可发送通知消息给存储设备,该通知消息用于通知存储设备该存储数据为第一存储阵列与第二存储阵列之间的差异数据。存储设备接收该通知消息之后,记录该存储数据为第一存储阵列与第二存储阵列之间的差异数据。
可选的,在第一存储阵列接收到第二存储阵列返回的用于指示第二存储阵列将该存储数据存储成功的消息之后,第一存储阵列也可向存储设备转发该消息;存储设备接收到该消息之后,可及时删除该存储数据。
可选的,若存储设备在接收存储数据后的预设时间内未接收到第一存储阵列发送的用于指示第二存储阵列将该存储数据存储成功的消息,则存储设备将该存储数据确定为第一存储阵列与第二存储阵列之间的差异数据。
可选的,存储设备也可在存储的数据超过预设容量时,删除存储的除差异数据之外的数据,或者存储设备每隔预设时间段,删除一次存储的除差异数据之外的数据,这样可以节省通信资源。
304、在第一存储阵列与第二存储阵列之间存在差异数据的情况下,存储设备检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障。
本发明实施例中,存储设备会检测其是否存储有差异数据,若是,则存储设备确定第一存储阵列与第二存储阵列之间存在差异数据。存储设备检测到第一存储阵列与第二存储阵列之间存在差异数据时,会检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障。若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列存在故障,则执行305部分。可选的,若存储设备检测到第二存储阵列存在故障,并且第一存储阵列不存在故障,则结束本流程。可选的,若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障,则执行305部分。可选的,在存储设备检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,存储设备还可再检测第一存储阵列与第二存储阵列之间的第二通信链路是否发生故障;若检测到第二通信链路发生故障,才执行305部分。
可选的,存储设备可先检测第二存储阵列是否存在故障,在检测到第二存储阵列不存在故障时,再检测第一存储阵列是否存在故障;或者,存储设备也可先检测第一存储阵列是否存在故障,在检测到第一存储阵列存在故障时,再检测第二存储阵列是否存在故障。
作为一种可选的实施方式,存储设备检测第二存储阵列是否存在故障的具体实施方式可以为:
11)存储设备检测存储设备与第二存储阵列之间的第一通信链路是否存在故障;
12)若检测到存储设备与第二存储阵列之间的第一通信链路存在故障,则存储设备确定第二阵列存在故障;
13)若检测到存储设备与第二存储阵列之间的第一通信链路不存在故障,则存储设备确定第二阵列不存在故障。
当第二存储阵列存在故障时,第一通信链路会断开,因此,当第一通信链路不存在故障时,第二存储阵列肯定不存在故障,当第一通信链路存在故障时,第二存储阵列可能存在故障。因此,可以通过该实施方式来检测第二存储阵列是否存在故障。
作为一种可选的实施方式,存储设备检测第一存储阵列是否存在故障的具体实施方式可以为:
21)存储设备检测存储设备与第一存储阵列之间的第三通信链路是否存在故障;
22)若检测到存储设备与第一存储阵列之间的第三通信链路存在故障,则存储设备确定第一阵列存在故障;
23)若检测到存储设备与第一存储阵列之间的第三通信链路不存在故障,则存储设备确定第一阵列不存在故障。
当第一存储阵列存在故障时,第三通信链路会断开,因此,当第三通信链路不存在故障时,第一存储阵列肯定不存在故障,当第三通信链路存在故障时,第一存储阵列可能存在故障。因此,可以通过该实施方式来检测第一存储阵列是否存在故障。
作为一种可选的实施方式,存储设备检测第一存储阵列是否存在故障的具体实施方式可以为:
31)存储设备检测第一存储阵列与第二存储阵列之间的第二通信链路是否存在故障;
32)若检测到第一存储阵列与第二存储阵列之间的第二通信链路存在故障,则存储设备确定第一阵列存在故障;
33)若检测到第一存储阵列与第二存储阵列之间的第二通信链路不存在故障,则存储设备确定第一阵列不存在故障。
在该实施方式中,可通过第二存储阵列告知存储设备第二通信链路是否存在故障。当第一存储阵列存在故障时,第二通信链路会断开,因此,当第二通信链路不存在故障时,第一存储阵列肯定不存在故障,当第二通信链路存在故障时,第一存储阵列可能存在故障。因此,可以通过该实施方式来检测第一存储阵列是否存在故障。
作为一种可选的实施方式,存储设备检测第一存储阵列是否存在故障的具体实施方式可以为:
41)存储设备检测第一存储阵列与第二存储阵列之间的第二通信链路是否存在故障,并且检测第一存储阵列与存储设备之间的第三通信链路是否存在故障;
42)若检测到第二通信链路和第三通信链路均存在故障,则存储设备确定第一阵列存在故障;
43)若检测到第二通信链路和/或第三通信链路不存在故障,则存储设备确定第一阵列不存在故障。
通过该实施方式可更准确地检测第一存储阵列是否存在故障。
305、存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。
在图3所描述的方法中,存储设备可接收并存储双活数据中心的第一存储阵列发送的存储数据,该存储数据与第一存储阵列发送给双活数据中心的第二存储阵列进行存储的数据相同;在第一存储阵列与第二存储阵列之间存在差异数据的情况下,存储设备检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障;若检测到第二存储阵列不存在故障,并且第一存储阵列存在故障,则存储设备将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。可见,通过实施图3所描述的方法,在双活数据中心的主存储阵列故障之后,能够通过存储设备及时地向双活数据中心的另一存储阵列同步差异数据。
请参见图4,图4为本发明实施例公开的另一种数据同步方法的流程示意图。如图4所示,该数据同步方法可以包括401~414部分。
401、双活数据中心的第一存储阵列向存储设备和第二存储阵列发送存储数据。
402、第二存储阵列存储第一存储阵列发送的该存储数据。
403、存储设备存储第一存储阵列发送的该存储数据。
本发明实施例中,401~403部分与图3所示的实施例中301~303部分相似,请参见301~303部分的具体实施方式,在此不赘述。
404、在第一存储阵列与第二存储阵列之间存在差异数据的情况下,存储设备检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障。
本发明实施例中,若存储设备检测到第二存储阵列不存在故障,并且第一存储阵列存在故障,则执行405部分。若检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障,则执行406部分。
本发明实施例中,存储设备检测第二存储阵列是否存在故障的具体实施方式可参见图3所示的实施例的11)~13)部分;存储设备检测第一存储阵列是否存在故障的具体实施方式可参见图3所示的实施例的21)~23)部分。
405、存储设备将存储数据中包括的该差异数据通过第一通信链路发送至第二存储阵列。
406、存储设备检测存储的差异数据的大小是否超过预设阈值。
本发明实施例中,若差异数据的大小超过预设阈值,则执行407部分。
407、存储设备将该差异数据通过第一通信链路发送至第二存储阵列。
通过执行406和407部分,存储设备在差异数据的大小超过预设阈值时才将差异数据发送至第二存储阵列,这样有利于减小第一通信链路的负载。
408、第二存储阵列存储该差异数据。
本发明实施例中,第二存储阵列接收到存储设备发送的差异数据之后,将该差异数据进行储存。
409、第二存储阵列返回用于指示差异数据存储成功的成功存储响应至存储设备。
410、存储设备删除存储的该差异数据。
本发明实施例中,存储设备接收该成功存储响应之后删除储存的该差异数据。通过执行409和410部分,可以节省存储设备的存储空间。
411、当第一存储阵列与仲裁服务器之间的通信链路发生故障时,第一存储阵列向存储设备发送第一消息。
本发明实施例中,该第一消息用于指示第一存储阵列与仲裁服务器之间的通信链路发生故障。
412、当第二存储阵列与仲裁服务器之间的通信链路发生故障时,第二存储阵列向存储设备发送第二消息。
本发明实施例中,该第二消息用于指示第二存储阵列与仲裁服务器之间的通信链路发生故障。
413、当第一存储阵列与第二存储阵列之间的通信链路发生故障时,第一存储阵列向存储设备发送第三消息。
本发明实施例中,该第三消息用于指示第一存储阵列与第二存储阵列之间的通信链路发生故障。
可选的,该第三消息可以不由第一存储阵列发送至存储设备,可以由第二存储阵列发送至存储设备。
414、当存储设备接收到第一消息、第二消息以及第三消息时,存储设备启动仲裁功能。
本发明实施例中,该仲裁功能用于从第一存储阵列和第二存储阵列中选择一个存储阵列作为主存储阵列,该主存储阵列用于接收主机下发的存储数据,并将主机下发的存储数据存储至自身以及双活数据中心的另一个存储阵列中,以及承担双活数据中心的所有业务。
当第一存储阵列与仲裁服务器之间的通信链路发生故障,并且第二存储阵列与仲裁服务器之间的通信链路发生故障,并且第一存储阵列与第二存储阵列之间的通信链路发生故障时,造成了脑裂(仲裁服务器与第一存储阵列和第二存储阵列不能通信)。由于仲裁服务器与第一存储阵列和第二存储阵列不能通信,仲裁服务器无法执行仲裁功能,即通知某一存储阵列作为主阵列。通过实施411~414部分,出现上述脑裂情况时,存储设备可代替仲裁服务器执行仲裁功能,从而能够保证业务的正常运行。
本发明实施例可以根据上述方法示例对存储设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图5示出了上述实施例中所涉及的存储设备的一种可能的结构示意图。存储设备包括:接收单元501、检测单元502和发送单元503。其中:
接收单元501,用于接收并存储双活数据中心的第一存储阵列发送的存储数据。
本发明实施例中,该存储数据与第一存储阵列发送给双活数据中心的第二存储阵列进行存储的数据相同。
检测单元502,用于在第一存储阵列与第二存储阵列之间存在差异数据的情况下,检测第二存储阵列是否存在故障,并检测第一存储阵列是否存在故障。
发送单元503,用于当检测单元502检测到第二存储阵列不存在故障,并且第一存储阵列存在故障时,将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。
作为一种可选的实施方式,发送单元503,还用于在检测单元502检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。
作为一种可选的实施方式,检测单元502,还用于在检测单元502检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,检测第一存储阵列与第二存储阵列之间的第二通信链路是否发生故障。
发送单元503,还用于在检测单元502检测到第二通信链路发生故障时,将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列。
作为一种可选的实施方式,发送单元503在检测单元502检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,将存储数据中包括的差异数据通过第一通信链路发送至第二存储阵列的方式具体为:
在检测单元502检测到第二存储阵列不存在故障,并且第一存储阵列不存在故障时,发送单元503检测存储的差异数据的大小是否超过预设阈值;在检测到差异数据的大小超过预设阈值时,将差异数据通过第一通信链路发送至第二存储阵列。
请一并参阅图6,图6是本发明实施例公开的另一种存储设备的结构示意图。其中,图6所示的存储设备是由图5所示的存储设备进行优化得到的。与图5所示的存储设备相比较,图6所示的存储设备除包括图5所示的存储设备的所有单元之外,还可以包括删除单元504和启动单元505,其中:
接收单元501,还用于接收第二存储阵列在存储完差异数据之后返回的成功存储响应。
删除单元504,用于删除存储的差异数据。
本发明实施例中,接收单元501接收该成功存储响应之后,触发删除单元504删除存储的差异数据。
启动单元505,用于当接收单元501接收到由第一存储阵列发送的第一消息和由第二存储阵列发送的第二消息,以及由第一存储阵列或第二存储阵列发送的第三消息时,启动仲裁功能。
本发明实施例中,该第一消息用于指示第一存储阵列与仲裁服务器之间的通信链路发生故障,该第二消息用于指示第二存储阵列与仲裁服务器之间的通信链路发生故障,该第三消息用于指示第一存储阵列与第二存储阵列之间的通信链路发生故障,该仲裁功能用于从第一存储阵列和第二存储阵列中选择一个存储阵列作为主存储阵列。
请参见图7,图7是本发明实施例公开的存储设备的另一种可能的结构示意图。如图7所示,该存储设备包括处理器701、存储器702、总线系统703和收发器704。其中,处理器701和存储器702通过总线系统703相连;处理器701和收发器704通过总线系统703相连。
其中,处理器701可以是中央处理器(Central Processing Unit,CPU),通用处理器,协处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。该处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。收发器704用于支持存储设备与其他网元,如第一存储阵列和第二存储阵列之间的通信。
其中,一个或多个程序被存储在存储器702中,该一个或多个程序包括指令,该指令当被存储设备执行时使存储设备执行图3中的过程303~305,图4中的过程404~407、410和414,和/或本文所描述的技术的其他过程。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例的用户终端中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上对本发明实施例公开的一种数据同步方法及存储设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种数据同步方法,其特征在于,所述方法包括:
存储设备接收并存储所述双活数据中心的第一存储阵列发送的存储数据,所述存储数据与所述第一存储阵列发送给所述双活数据中心的第二存储阵列进行存储的数据相同;
在所述第一存储阵列与所述第二存储阵列之间存在差异数据的情况下,所述存储设备检测所述第二存储阵列是否存在故障,并检测所述第一存储阵列是否存在故障;
若检测到所述第二存储阵列不存在故障,并且所述第一存储阵列存在故障,则所述存储设备将所述存储数据中包括的所述差异数据通过第一通信链路发送至所述第二存储阵列。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障,则所述存储设备将所述存储数据中包括的所述差异数据通过所述第一通信链路发送至所述第二存储阵列。
3.根据权利要求2所述的方法,其特征在于,所述若检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障,则所述存储设备将所述存储数据中包括的所述差异数据通过所述第一通信链路发送至所述第二存储阵列,包括:
若检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障,则所述存储设备检测存储的所述差异数据的大小是否超过预设阈值;
若所述差异数据的大小超过预设阈值,则所述存储设备将所述差异数据通过所述第一通信链路发送至所述第二存储阵列。
4.根据权利要求1~3任意一项所述的方法,其特征在于,所述方法还包括:
所述存储设备接收所述第二存储阵列在存储完所述差异数据之后返回的成功存储响应;
所述存储设备删除存储的所述差异数据。
5.根据权利要求1~3任意一项所述的方法,其特征在于,所述方法还包括:
当所述存储设备接收到由所述第一存储阵列发送的第一消息和由所述第二存储阵列发送的第二消息,以及由第一存储阵列或第二存储阵列发送的第三消息时,所述存储设备启动仲裁功能,所述第一消息用于指示所述第一存储阵列与仲裁服务器之间的通信链路发生故障,所述第二消息用于指示所述第二存储阵列与所述仲裁服务器之间的通信链路发生故障,所述第三消息用于指示所述第一存储阵列与所述第二存储阵列之间的通信链路发生故障,所述仲裁功能用于从所述第一存储阵列和所述第二存储阵列中选择一个存储阵列作为主存储阵列。
6.一种存储设备,其特征在于,所述存储设备包括:
接收单元,用于接收并存储所述双活数据中心的第一存储阵列发送的存储数据,所述存储数据与所述第一存储阵列发送给所述双活数据中心的第二存储阵列进行存储的数据相同;
检测单元,用于在所述第一存储阵列与所述第二存储阵列之间存在差异数据的情况下,检测所述第二存储阵列是否存在故障,并检测所述第一存储阵列是否存在故障;
发送单元,用于当所述检测单元检测到所述第二存储阵列不存在故障,并且所述第一存储阵列存在故障时,将所述存储数据中包括的所述差异数据通过第一通信链路发送至所述第二存储阵列。
7.根据权利要求6所述的存储设备,其特征在于,
所述发送单元,还用于在所述检测单元检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障时,将所述存储数据中包括的所述差异数据通过所述第一通信链路发送至所述第二存储阵列。
8.根据权利要求7所述的存储设备,其特征在于,所述发送单元在所述检测单元检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障时,将所述存储数据中包括的所述差异数据通过所述第一通信链路发送至所述第二存储阵列的方式具体为:
在所述检测单元检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障时,所述发送单元检测存储的所述差异数据的大小是否超过预设阈值;在检测到所述差异数据的大小超过预设阈值时,将所述差异数据通过所述第一通信链路发送至所述第二存储阵列。
9.根据权利要求6~8任意一项所述的存储设备,其特征在于,所述存储设备还包括删除单元,其中:
所述接收单元,还用于接收所述第二存储阵列在存储完所述差异数据之后返回的成功存储响应;
所述删除单元,用于删除存储的所述差异数据。
10.根据权利要求6~8任意一项所述的存储设备,其特征在于,所述存储设备还包括:
启动单元,用于当所述接收单元接收到由所述第一存储阵列发送的第一消息和由所述第二存储阵列发送的第二消息,以及由第一存储阵列或第二存储阵列发送的第三消息时,启动仲裁功能,所述第一消息用于指示所述第一存储阵列与仲裁服务器之间的通信链路发生故障,所述第二消息用于指示所述第二存储阵列与所述仲裁服务器之间的通信链路发生故障,所述第三消息用于指示所述第一存储阵列与所述第二存储阵列之间的通信链路发生故障,所述仲裁功能用于从所述第一存储阵列和所述第二存储阵列中选择一个存储阵列作为主存储阵列。
11.一种系统,其特征在于,包括:存储设备和双活数据中心,所述双活数据中心包括第一存储阵列和第二存储阵列,其中:
所述第一存储阵列,用于将存储数据发送至所述存储设备和所述第二存储阵列进行储存,所述第一存储阵列发送至所述存储设备的存储数据与所述第一存储阵列发送至所述第二存储阵列的存储数据相同;
所述第二存储阵列,用于接收并存储所述第一存储阵列发送的所述存储数据;
所述存储设备,用于接收并存储所述第一存储阵列发送的所述存储数据;以及还用于在所述第一存储阵列与所述第二存储阵列之间存在差异数据的情况下,检测所述第二存储阵列是否存在故障,并检测所述第一存储阵列是否存在故障;以及还用于在检测到所述第二存储阵列不存在故障,并且所述第一存储阵列存在故障时,将所述存储数据中包括的所述差异数据通过第一通信链路发送至所述第二存储阵列进行存储。
12.根据权利要求11所述的系统,其特征在于,所述存储设备,还用于在检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障时,将所述存储数据中包括的所述差异数据通过所述第一通信链路发送至所述第二存储阵列进行储存。
13.根据权利要求12所述的系统,其特征在于,所述存储设备在检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障时,将所述存储数据中包括的所述差异数据通过所述第一通信链路发送至所述第二存储阵列进行储存的方式具体为:
在检测到所述第二存储阵列不存在故障,并且所述第一存储阵列不存在故障时,所述存储设备检测存储的所述差异数据的大小是否超过预设阈值;
若所述差异数据的大小超过预设阈值,则所述存储设备将所述差异数据通过所述第一通信链路发送至所述第二存储阵列。
14.根据权利要求11~13任意一项所述的系统,其特征在于,所述第二存储阵列,还用于在接收并成功存储所述存储数据发送的所述差异数据之后,向所述存储设备发送用于指示所述差异数据存储成功的成功存储响应;
所述存储设备,还用于在接收到所述成功存储响应之后删除所述差异数据。
15.根据权利要求11~13任意一项所述的系统,其特征在于,当所述第一存储阵列与仲裁服务器之间的通信链路发生故障时,所述第一存储阵列向所述存储设备发送第一消息,所述第一消息用于指示所述第一存储阵列与仲裁服务器之间的通信链路发生故障;
当所述第二存储阵列与所述仲裁服务器之间的通信链路发生故障时,所述第二存储阵列向所述存储设备发送第二消息,所述第二消息用于指示所述第二存储阵列与所述仲裁服务器之间的通信链路发生故障;
当所述第一存储阵列与所述第二存储阵列之间的通信链路发生故障时,所述第一存储阵列或所述第二存储阵列向所述存储设备发送第三消息,所述第三消息用于指示所述第一存储阵列与所述第二存储阵列之间的通信链路发生故障;
当所述存储设备接收到所述第一消息、所述第二消息以及所述第三消息时,所述存储设备启动仲裁功能,所述仲裁功能用于从所述第一存储阵列和所述第二存储阵列中选择一个存储阵列作为主存储阵列。
CN201610455542.7A 2016-06-21 2016-06-21 一种数据同步方法及存储设备 Active CN107526652B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610455542.7A CN107526652B (zh) 2016-06-21 2016-06-21 一种数据同步方法及存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610455542.7A CN107526652B (zh) 2016-06-21 2016-06-21 一种数据同步方法及存储设备

Publications (2)

Publication Number Publication Date
CN107526652A true CN107526652A (zh) 2017-12-29
CN107526652B CN107526652B (zh) 2021-08-20

Family

ID=60734328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610455542.7A Active CN107526652B (zh) 2016-06-21 2016-06-21 一种数据同步方法及存储设备

Country Status (1)

Country Link
CN (1) CN107526652B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491838A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种处理虚拟机数据的方法及装置
CN110535714A (zh) * 2018-05-25 2019-12-03 华为技术有限公司 一种仲裁方法及相关装置
CN113535467A (zh) * 2020-04-20 2021-10-22 慧与发展有限责任合伙企业 完全预分配卷的具有区块签名的精简列表的备份对象

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697960B1 (en) * 1999-04-29 2004-02-24 Citibank, N.A. Method and system for recovering data to maintain business continuity
CN104850628A (zh) * 2015-05-21 2015-08-19 中国工商银行股份有限公司 一种数据库数据的同步方法及装置
CN204993445U (zh) * 2015-08-25 2016-01-20 杭州九州方园科技有限公司 存储双活数据中心系统
CN105426275A (zh) * 2015-10-30 2016-03-23 成都华为技术有限公司 双活集群系统中容灾的方法及装置
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697960B1 (en) * 1999-04-29 2004-02-24 Citibank, N.A. Method and system for recovering data to maintain business continuity
CN104850628A (zh) * 2015-05-21 2015-08-19 中国工商银行股份有限公司 一种数据库数据的同步方法及装置
CN204993445U (zh) * 2015-08-25 2016-01-20 杭州九州方园科技有限公司 存储双活数据中心系统
CN105426275A (zh) * 2015-10-30 2016-03-23 成都华为技术有限公司 双活集群系统中容灾的方法及装置
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张晓丹: "《 新一代"两地三中心"多活系统规划设计》", 《中国金融电脑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535714A (zh) * 2018-05-25 2019-12-03 华为技术有限公司 一种仲裁方法及相关装置
CN110535714B (zh) * 2018-05-25 2023-04-18 华为技术有限公司 一种仲裁方法及相关装置
CN109491838A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种处理虚拟机数据的方法及装置
CN113535467A (zh) * 2020-04-20 2021-10-22 慧与发展有限责任合伙企业 完全预分配卷的具有区块签名的精简列表的备份对象

Also Published As

Publication number Publication date
CN107526652B (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN105426275B (zh) 双活集群系统中容灾的方法及装置
CN106843749B (zh) 写入请求处理方法、装置及设备
CN106170948B (zh) 一种用于双活数据中心的仲裁方法、装置及系统
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN102890716B (zh) 分布式文件系统和分布式文件系统的数据备份方法
CN106301900B (zh) 设备仲裁的方法和设备
US10503415B2 (en) Snapshot processing method and related device
CN107526652A (zh) 一种数据同步方法及存储设备
CN104468217B (zh) 一种1394网络管理者故障下的网络重建方法
CN103473328A (zh) 一种基于mysql的数据库云及其建立方法
CN106603279A (zh) 一种容灾方法和容灾系统
CN109558273A (zh) 一种磁盘阵列备份方法、电子设备及磁盘阵列
CN106933493A (zh) 用于缓存盘阵列扩容的方法及设备
CN102457400B (zh) 一种防止磁盘镜像资源发生脑裂的方法
CN106383756A (zh) 一种实现存储容灾切换Linux系统业务不中断的方法
CN107656847A (zh) 基于分布式集群的节点管理方法、系统、装置及存储介质
CN108512753A (zh) 一种集群文件系统中消息传输的方法及装置
CN109597718A (zh) 一种容灾平台及一种容灾方法
CN103810038A (zh) 一种ha集群中虚拟机存储文件迁移方法及其装置
CN103414591A (zh) 一种端口故障恢复时的快速收敛方法和系统
CN102495815B (zh) I/o数据访问中断的处理方法和系统以及设备
CN104170307A (zh) 失效切换方法、装置和系统
CN107678891A (zh) 一种存储系统的双控方法、装置及可读存储介质
CN104407806A (zh) 独立磁盘冗余阵列组硬盘信息的修改方法和装置
CN107590032A (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