CN101501648B - 保持远程复制数据一致性的存储管理系统 - Google Patents
保持远程复制数据一致性的存储管理系统 Download PDFInfo
- Publication number
- CN101501648B CN101501648B CN2007800300555A CN200780030055A CN101501648B CN 101501648 B CN101501648 B CN 101501648B CN 2007800300555 A CN2007800300555 A CN 2007800300555A CN 200780030055 A CN200780030055 A CN 200780030055A CN 101501648 B CN101501648 B CN 101501648B
- Authority
- CN
- China
- Prior art keywords
- batch
- write
- secondary station
- main website
- sequence number
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/2071—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 using a plurality of controllers
- G06F11/2074—Asynchronous techniques
-
- 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/2064—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 while ensuring consistency
-
- 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/2071—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 using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Cold Air Circulating Systems And Constructional Details In Refrigerators (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Communication Control (AREA)
Abstract
一种配置为通过在远程复制对的主站和副站之间进行通信而作为远程复制对来操作的存储控制系统,包含:选择器,基于一或多个标准选择要被放入一个批次的写入;序列号请求器,为所述批次请求序列号;序列号授予器,为所述批次授予序列号;批次发送器,发送所述批次至所述副站;许可接收器,从所述副站接收写入所述批次的许可;以及写入组件,响应于所述许可接收器而写入所述批次直至完成;其中所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
Description
技术领域
本发明涉及数据存储管理技术,并且尤其涉及优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术。
背景技术
重要数据常常通过复制其至另外的位置来防御灾难。一种用于此目的的技术被称为远程复制。
远程复制是一盘(或者逻辑卷)与作为备份的另一盘的配对。原始盘被称为主站(primary)而备份盘被称为副站(secondary)。每当数据写入主站时,其还必须写入副站,以保证最新的备份。远程复制可以同步实现(也就是说,延迟主机的处理直到已经确定副站上相应写入的完成),或者其可以异步实现。
异步远程复制意味着写入数据至主站的主机不被延迟,同时复制数据至副站;数据一写入主站就将完成信号通知给主机。接着,异步地复制数据至副站。
实施异步远程复制的一个主要挑战是保持副盘的一致性。“保持一致性”意味着保持副站数据处于主站数据在处理期间的某个时间点处可能已经处于的状态。副站数据被允许为“过时的”(即,一定次数的更新还没有应用至副站),但其不能被允许为不一致的。
下面的表格示出了一系列事件。在这些事件期间,副站相对于主站是过时的,但其包含的数据一直匹配主机可能已经从主站读取的数据,因此副站一直是一致的。
动作 主站 副站
1.主机将AAA写入盘 AAAXXX XXXXXX
2.主机完成来自步骤1的写入 AAAXXX XXXXXX
3.主机将BBB写入盘 AAABBB XXXXXX
4.远程复制发送AAA至副站 AAABBB AAAXXX
5.远程复制发送BBB至副站 AAABBB AAABBB
下面的表格示出了其中以错误的顺序应用更新至副站的一系列事件。在步骤3发生的写入是“相关写入”,因为其在AAA的写入完成之后发生。因此,BBB仅仅可以在AAA之后写入盘。
如果主站在步骤4之后失效,则副站就会是不一致的,因为主机知道主站在任何时间点都不包含数据XXXBBB。
动作 主站 副站
1.主机将AAA写入盘 AAAXXX XXXXXX
2.主机完成来自步骤1的写入 AAAXXX XXXXXX
3.主机将BBB写入盘 AAABBB XXXXXX
4.远程复制发送BBB至副站 AAABBB XXXBBB
5.远程复制发送AAA至副站 AAABBB AAABBB
在保持一致性中已经使用的一种方法是被称为“色彩”的使用。在该方法中,多个更新集合被放入称为“色彩”的多个组中。在应用色彩组之前,获取副盘的快照。该快照是副站数据的一致性复制。应用色彩组中的更新,并且如果该过程不被中断,则丢弃快照。如果在更新过程中出现错误,则将快照拷回副盘,恢复盘为一致性状态。
以有规律的间隔(例如,每5秒)形成色彩,在色彩形成开始之前禁止I/O。
这种方法的缺陷是:
●为了获取快照,在副站上需要两倍的存储空间。
●快照功能将占用大量的处理时间,损害系统性能。
●系统的恢复点目标(RPO)相对较高(例如,如果每5秒形成色彩,那么副站相对于主站的过时可能达到5秒)。
●需要快速、有效的快照功能,因为将会频繁地获取快照。很多存储子系统的体系结构禁止这样,从而必须采用不同的方法。已经使用的第二种方法是为进入主站的每次单独写入指定唯一序列号,从而如果写入B在写入A之后到达,其将具有更高的序列号。
发送写入至副站,按照序列号顺序应用它们。这保证副站总是一致的,因为写入完全按照主机发送它们的顺序应用至副站。
该方法的缺陷是:
●在副站上,在任何特定时刻都仅仅能进行一次写入,因为每次写入必须在下一个序列号的写入可以开始之前完成。这可能导致不可接受的性能水平。
●在多节点系统中,可能需要中央服务器来控制序列号的发送。主站上的每次单独写入可能导致发消息至服务器以获取序列号。这可能导致非常大量的消息和消息资源的高消耗,并且在等待要被发送的序列号时还导致延迟。
因此,会期望具有优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术手段。
发明内容
因此,根据第一方面,本发明提供一种存储控制系统,其配置为通过在远程复制对的主站和副站之间进行通信而作为远程复制对来操作,包含:选择器,基于一或多个标准选择要被放入一个批次的写入;序列号请求器,为所述批次请求序列号;序列号授予器,为所述批次授予序列号;批次发送器,发送所述批次至所述副站;许可接收器,从所述副站接收写入所述批次的许可;以及写入组件,响应于所述许可接收器而写入所述批次直至完成;其中所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
优选地,所述写入组件包含并发地执行多个写入的并发写入组件。
优选地,所述一或多个标准包含所述写入的相互独立性。
根据第二方面,本发明提供一种存储控制系统的方法或者逻辑布置,所述存储控制系统配置为通过在远程复制对的主站和副站之间进行通信而作为远程复制对来操作,包含步骤:基于一或多个标准选择要被放入一个批次的写入;为所述批次请求序列号;为所述批次授予序列号;发送所述批次至所述副站;从所述副站接收写入所述批次的许可;以及响应于所述许可而写入所述批次直至完成;其中所述副站响应于所述完成而为另一个批次的写入授予另一个许可。
优选地,所述写入步骤包含并发地执行多个写入。
优选地,所述一或多个标准包含所述写入的相互独立性。
根据第三方面,提供一种其上具有功能性数据的数据载体,所述功能性数据包含功能性计算机数据结构,所述功能性计算机数据结构在被载入计算机系统并且在其上运行时,使所述计算机系统能够执行根据第二方面的方法的全部步骤。
根据第四方面,提供一种计算机程序,所述计算机程序包含计算机程序代码,当其被载入计算机系统并且在其上执行时,致使所述计算机系统执行根据第二方面的方法的全部步骤。
本发明的优选实施例以它们最广的方面来构思优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术框架。
附图说明
现在,通过仅仅示例的方式,参考附图将描述本发明的优选实施例,附图中:
图1以示意的形式示出了根据本发明优选实施例的组件布置;以及
图2以示意的形式示出了其中可以实现根据本发明优选实施例的操作方法的一种方法或者一种逻辑布置。
具体实施方式
本发明的优选实施例一般涉及优选地用最小附加资源使用来保持远程复制设备中数据的一致性。
本发明的第一优选实施例包含将写入放置到序列号批次中,以及每次发送一个批次至副站。按照此方式,相互独立的写入可以被指定相同的序列号。主站发送一个批次的写入(例如,具有序列号17的全部写入)至副站。当这些写入完成时,下一个批次(例如,序列号18)被发送至副站。副站一接收到全部写入就处理它们。这增加了副站的并发性并且减少了节点间发消息的数量。
该方法的一个缺陷是其没有充分地使用长距离通信信道;信道在从一个批次中的最后一个写入被发送直到该批次中的最后一个写入完成的时间内是空闲的。因为这可能是100ms(毫秒)级的,所以链路使用不是最佳的。
因此,在更优选的实施例中,如下面将要描述的一样,提出了一种更有效的分配序列号的方法。
给写入指定序列号的优选方法基于以下观察结果:
●已经由主机发送的、没有接收到完成消息的全部写入必须是独立的(它们中没有一个已经完成,所以没有一个能依赖于另一个)。
●所有这类写入可以被给予相同的序列号并且以任何顺序应用在副站上,因为它们可以以任何顺序应用在主站上。
在多节点系统中,基于以下两点形成批次:
●在特定节点上的未决(outstanding)的全部写入可以被放置于相同的批次中。对于整个批次,仅仅一个序列号请求需要被发送至序列号服务器,大大减少了所需的消息数量和消息资源。
●到达序列号服务器的全部请求可以被放置于相同的批次中。这增加了批次的大小,进一步增加了可以在副站上并发完成的写入数量,提高了性能。
下面的实现描述了在本发明优选实施例中要使用的协议的一个实例。到相关联的盘的所有写入必须使用协议的相同实例,以保证这些盘之间的一致性被保持。不相关联的盘可以使用协议的不同实例(即,它们可以具有分离的序列号服务器和客户端)。这在下面参考附图所描述的最优选实施例中实现。
参见至图1,其示出了根据本发明优选实施例的组件布置。在图1中,主站100包含I/O处理器104,用于接收通常来自主机装置(未示出)的写入I/O命令。I/O处理器在操作时与主站客户端106通信,主站客户端106可操作地连接至主站服务器108。副站102包含副站客户端110,其可操作地耦合至副站服务器112和I/O处理机114。出于执行写入I/O的目的,I/O处理机114可操作地与数据存储器(未示出)通信,数据存储器可以包含任何已知形式的数据存储器,例如,但不限于,磁盘存储器、磁带存储器等。主站100的主站客户端106经由通信链路与副站102的副站客户端110连接,并且主站100的主站服务器106经由通信链路与副站102的副站服务器110连接。主站和副站的客户端和服务器的布置和位置仅仅旨在示例,可以设想很多其它布置,例如,在数据处理或者通信网络的中间和通信节点上放置客户端或者服务器。客户端和服务器设备、系统或者模块的这种可替代的布置对于本领域技术人员而言是十分明白的,不需要在本申请中进一步的描述。
系统或者装置形式的本发明最优选的实施例有利地解决了如下问题:提供优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术手段。
参见图2,其以示意的形式示出了其中可以实现根据本发明优选实施例的操作方法的一种方法或者一种逻辑布置。对于本领域技术人员而言明了的是:在不脱离本发明范围的情况下,可以做出很多修改和变化,包括,例如,步骤顺序上的变化。
其中可以实现根据本发明优选实施例的操作方法的系统包含如图2所示的下列组件:
●主站客户端。接收写入I/O的每个节点将需要具有主站客户端。当接收写入I/O时,I/O码向主站客户端请求序列号。主站客户端将全部并发请求分批并且发送RequestSequenceNumber(请求序列号)消息至主站服务器。当被授予序列号时,主站客户端发送写入I/O至副站客户端,在Write消息中嵌入序列号。仅仅是那些在发送RequestSequenceNumber时有效的写入I/O才可以被指定所授予的序列号,以防止相关写入被放置于相同批次中(在多节点系统中,其它节点可能已经接收到它们的批准并且已经完成了它们的I/O)。
●主站服务器。将存在仅仅一个主站服务器。其接收来自主站客户端的RequestSequenceNumber消息,将全部并发请求分批,并且答复主站客户端,向它们发送所授予的序列号。其还发送NewBatch(新批次)消息至副站服务器,告诉它所发送的序列号,以及多少写入I/O被授予了该序列号。
●副站客户端。副站客户端接收来自主站客户端的Write消息。每次写入都被放置于队列中。当副站客户端接收到针对一个序列号的OkToWrite(可以写入)消息时,其将该序列号的全部写入移出队列并且执行它们。当每个写入完成时,其发送WriteDone(写入完成)消息至主站客户端和副站服务器。
●副站服务器。副站服务器接收来自主站服务器的NewBatch消息。副站服务器负责协调副站客户端,保证按照序列号顺序处理写入以保持数据一致性。当第一NewBatch到达时,副站服务器发送OkToWrite消息至每个副站客户端,使得它们能够在第一序列号的写入一到达时就处理它们。当副站服务器已经接收到预期数目的WriteDone消息时(对于批次中的每一个写入都有一个WriteDone),其发送针对下一个序列号的OkToWrite消息。
示例性方法如下:
步骤1:一或多个I/O处理器将针对序列号的请求发送至主站客户端。
步骤2:主站客户端将针对序列号的请求发送至主站服务器。
步骤3:主站服务器将新批次请求发送至副站服务器,并且将已经从主站客户端接收的多个请求分批。
步骤4:副站服务器将针对特定序列号的“可以写入”消息发送至副站客户端。步骤4仅仅可以在没有前一个序列号的未决写入(其应该存在)时发生。
步骤5:主站服务器向主站客户端为针对序列号的请求批准。
步骤6:主站客户端向那个或每个发出请求的I/O处理器传递“请求已批准(request granted)”消息。
步骤7:那个或每个I/O处理器反过来将针对特定序列号的写入发送至主站客户端。
步骤8:主站客户端将针对特定序列号的写入请求发送至副站客户端。
步骤9:写入被发送至I/O处理机,其执行写入I/O。
步骤10:I/O处理机将“写入完成”消息返回至副站客户端。
步骤11:副站客户端将“写入完成”消息传递至副站服务器。
步骤12:副站客户端将“写入完成”消息传递至主站客户端。
步骤13:主站客户端将“写入完成”消息传回相关的I/O处理器。
因而,方法或者逻辑布置形式的本发明优选实施例有利地解决了如下问题:提供优选地用最小附加资源使用来保持远程复制设备中数据的一致性的技术手段。对于本领域技术人员而言将会明了的是:本申请中以被编号的顺序方式示出的步骤中的某些实际上可以被并发地处理,并且某些步骤可能需要等待其它操作的完成,并且所示的顺序仅仅是可以由本发明的实施例所执行的处理的示例。例如,如上所示,步骤4的执行可以被延迟,直到在前序列号的全部步骤5至11的完成之后,或者步骤4可以被立即执行,例如,在该方法的步骤的第一次迭代时,当针对任何在前序列号都没有写入活动会在进行中时。
对于本领域技术人员而言将会明了的是:本发明优选实施例的方法的全部或者部分可以适当地以及有用地用一个逻辑装置、或者多个逻辑装置来具体实现,该逻辑装置包含被布置成执行该方法的步骤的逻辑元件并且这类逻辑元件可以包含硬件组件、固件组件或其组合。
对于本领域技术人员而言同样将会明了的是:根据本发明优选实施例的逻辑布置的全部或者部分可以适当地用逻辑装置来具体实现,所述逻辑装置包含执行该方法的步骤的逻辑元件,并且这类逻辑元件可以包含在例如可编程逻辑阵列或者专用集成电路中的例如逻辑门的组件。这样的逻辑布置可以进一步被具体实现为使元件通过使用,例如虚拟硬件描述语言可以在这样的阵列或者电路中临时地或者永久地建立逻辑结构,虚拟硬件描述语言可以通过使用固定的或者可传输的载体介质来存储和传输。
将会理解,上述的方法和布置还可以适当地在运行于一或多个处理器(附图中未示出)上的软件中全部或者部分地被实现,并且软件可以以一或多个计算机程序元件的形式来提供,所述计算机程序元件由例如磁盘或光盘等的任何适当数据载体(同样在附图中未示出)来携带。用于数据传输的信道可以同样地包含所有描述的存储介质以及例如有线或者无线信号携带介质的信号携带介质。
本发明可以进一步适当地被具体实现为供计算机系统使用的计算机程序产品。这样的实现方式可以包含一系列计算机可读指令,所述计算机可读指令或者固定于例如计算机可读介质的有形介质(例如,软盘、CD-ROM、ROM或者硬盘)上,或者可以经由有形介质(包括但不限于光学或者模拟通信线路)或无形地使用无线技术(包括但不限于微波、红外线或者其它传输技术),通过使用调制解调器或者其它接口设备而传输至计算机系统。一系列计算机可读指令具体实现了此前在本申请中描述的功能的全部或者部分。
本领域技术人员将会理解,这样的计算机可读指令可以用供很多计算机体系结构或者操作系统使用的许多编程语言来编写。此外,这样的指令可以通过使用当前或者未来的任何存储技术(包括但不限于,半导体、磁或者光学)来存储,或者使用当前或者未来的任何通信技术(包括但不限于光学、红外线或者微波)来传输。这样的计算机程序产品预期可以作为具有附属的印刷的或者电子文档的可移动介质(例如,用计算机系统预装载例如在系统ROM或者固定盘上的现成套装软件(shrink-wrapped software))而被分发,或者经由网络(例如,互联网或者万维网)而从服务器或者电子公告板来分发。
在替代方案中,本发明的优选实施例可以以部署服务的计算机执行的方法的形式来实现,所述方法包含以下步骤:部署计算机程序代码可操作的,在其被部署到计算机基础结构中并且在其上运行时,致使计算机系统执行该方法的全部步骤。
在又一替代方案中,本发明的优选实施例可以以其上具有功能性数据的数据载体的形式来实现,所述功能性数据包含功能性计算机数据结构以在其被载入计算机系统中并且在其上运行时,使所述计算机系统可以执行该方法的全部步骤。
对于本领域技术人员而言将会明了的是:在不脱离本发明的范围的情况下,可以对前述示例性实施例做出许多改进和修改。
Claims (4)
1.一种存储控制系统,其配置为在主站和副站之间进行通信,使得所述主站和所述副站作为远程复制对来操作,所述存储控制系统包含:
选择器,基于一个或多个标准选择要被放置于一个批次的写入,以将每个节点上的没有完成的全部写入放置于相同的批次中,其中所述一个或多个标准包含所述批次的写入的相互独立性;
序列号请求器,为所述批次请求序列号;
序列号授予器,为所述批次授予序列号;
批次发送器,发送所述批次至所述副站;
许可接收器,从所述副站接收写入所述批次的许可;以及
写入组件,响应于所述许可接收器以写入所述批次直至完成;其中
所述副站响应于所述批次的写入的完成而为另一个批次的写入授予另一个许可。
2.如权利要求1所述的存储控制系统,其中所述写入组件包含并发地执行多个写入的并发写入组件。
3.一种用于存储控制系统的操作的方法,所述存储控制系统配置为在主站和副站之间进行通信,使得所述主站和所述副站作为远程复制对来操作,所述方法包含以下步骤:
基于一个或多个标准选择要被放置于一个批次的写入,以将每个节点上的没有完成的全部写入放置于相同的批次中,其中所述一个或多个标准包含所述批次的写入的相互独立性;
为所述批次请求序列号;
为所述批次授予序列号;
发送所述批次至所述副站;
从所述副站接收写入所述批次的许可;以及
响应于所述许可而写入所述批次直至完成;其中
所述副站响应于所述批次的写入的完成而为另一个批次的写入授予另一个许可。
4.如权利要求3所述的方法,其中所述写入步骤包含并发地执行多个写入。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0616257.2 | 2006-08-16 | ||
GBGB0616257.2A GB0616257D0 (en) | 2006-08-16 | 2006-08-16 | Storage management system for preserving consistency of remote copy data |
PCT/EP2007/058021 WO2008019952A2 (en) | 2006-08-16 | 2007-08-02 | Storage management system for preserving consistency of remote copy data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101501648A CN101501648A (zh) | 2009-08-05 |
CN101501648B true CN101501648B (zh) | 2012-02-22 |
Family
ID=37081062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800300555A Active CN101501648B (zh) | 2006-08-16 | 2007-08-02 | 保持远程复制数据一致性的存储管理系统 |
Country Status (9)
Country | Link |
---|---|
US (3) | US9239766B2 (zh) |
EP (1) | EP2054806B1 (zh) |
JP (1) | JP5191062B2 (zh) |
CN (1) | CN101501648B (zh) |
AT (1) | ATE445877T1 (zh) |
DE (1) | DE602007002827D1 (zh) |
GB (1) | GB0616257D0 (zh) |
TW (1) | TWI470459B (zh) |
WO (1) | WO2008019952A2 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0616257D0 (en) | 2006-08-16 | 2006-09-27 | Ibm | Storage management system for preserving consistency of remote copy data |
GB0622734D0 (en) * | 2006-11-15 | 2006-12-27 | Ibm | Throttling an asynchronous remote copying system |
JP5222171B2 (ja) * | 2009-02-03 | 2013-06-26 | 株式会社日立製作所 | データベース管理方法およびデータベース管理システム |
US8667236B2 (en) * | 2010-09-29 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | Host based write ordering for asynchronous replication |
US9306504B2 (en) * | 2011-12-14 | 2016-04-05 | Qualcomm Incorporated | Waveform shaping for audio amplifiers |
CN102790801B (zh) * | 2012-06-20 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 异步远程复制系统及其维护数据一致性的方法 |
CA2868247C (en) * | 2013-07-26 | 2017-04-04 | Ji Ouyang | Data sending method, data receiving method, and storage device |
GB2519157A (en) | 2013-10-14 | 2015-04-15 | Ibm | Robust data replication |
CN103842954B (zh) * | 2013-12-05 | 2017-02-15 | 华为技术有限公司 | 一种存储系统中的数据处理方法、装置、系统和服务器 |
US10198700B2 (en) | 2014-03-13 | 2019-02-05 | Uber Technologies, Inc. | Configurable push notifications for a transport service |
US9888087B2 (en) | 2014-03-31 | 2018-02-06 | Uber Technologies, Inc. | Adjusting attributes for an on-demand service system based on real-time information |
GB2531537A (en) | 2014-10-21 | 2016-04-27 | Ibm | Database Management system and method of operation |
US10282684B2 (en) | 2015-02-26 | 2019-05-07 | Uber Technologies, Inc. | Performing selective operations based on mobile device locations |
US10212536B2 (en) | 2015-07-10 | 2019-02-19 | Uber Technologies, Inc. | Selecting a messaging protocol for transmitting data in connection with a location-based service |
US10452680B1 (en) | 2015-09-25 | 2019-10-22 | Amazon Technologies, Inc. | Catch-up replication with log peer |
US9753813B1 (en) | 2015-09-25 | 2017-09-05 | Amazon Technologies, Inc. | Data replication snapshots for persistent storage using operation numbers |
US9733869B1 (en) | 2015-09-25 | 2017-08-15 | Amazon Technologies, Inc. | Provisioning a slave for data storage using metadata with updated references |
US10303360B2 (en) | 2015-09-30 | 2019-05-28 | International Business Machines Corporation | Replicating data in a data storage system |
US10496630B2 (en) | 2015-10-01 | 2019-12-03 | Microsoft Technology Licensing, Llc | Read-write protocol for append-only distributed databases |
US20170160929A1 (en) * | 2015-12-02 | 2017-06-08 | Hewlett Packard Enterprise Development Lp | In-order execution of commands received via a networking fabric |
US20180143766A1 (en) * | 2016-11-18 | 2018-05-24 | International Business Machines Corporation | Failure protection copy management |
US10180802B2 (en) | 2017-05-18 | 2019-01-15 | International Business Machines Corporation | Collision detection at multi-node storage sites |
CN109783272B (zh) * | 2017-11-10 | 2023-01-24 | 阿里巴巴集团控股有限公司 | 磁盘快照处理方法、装置和设备 |
US10452502B2 (en) | 2018-01-23 | 2019-10-22 | International Business Machines Corporation | Handling node failure in multi-node data storage systems |
US11151062B2 (en) | 2018-04-04 | 2021-10-19 | International Business Machines Corporation | Optimized locking for replication solutions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1163668A (zh) * | 1994-11-17 | 1997-10-29 | 西门子公司 | 带有主单元和从属单元的装置 |
US5734818A (en) * | 1994-02-22 | 1998-03-31 | International Business Machines Corporation | Forming consistency groups using self-describing record sets for remote data duplexing |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5592618A (en) * | 1994-10-03 | 1997-01-07 | International Business Machines Corporation | Remote copy secondary data copy validation-audit function |
US5682513A (en) * | 1995-03-31 | 1997-10-28 | International Business Machines Corporation | Cache queue entry linking for DASD record updates |
US6658486B2 (en) * | 1998-02-25 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | System and method for efficiently blocking event signals associated with an operating system |
US6148383A (en) | 1998-07-09 | 2000-11-14 | International Business Machines Corporation | Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage |
US7111189B1 (en) | 2000-03-30 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Method for transaction log failover merging during asynchronous operations in a data storage network |
EP1158409B1 (en) | 2000-05-25 | 2008-05-28 | Hitachi, Ltd. | Storage system making possible data synchronisation confirmation at time of asynchronous remote copy |
JP2002189570A (ja) | 2000-12-20 | 2002-07-05 | Hitachi Ltd | 記憶システムの二重化方法および記憶システム |
US7134044B2 (en) | 2002-08-16 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for providing a mirror copy of data |
US7380082B2 (en) * | 2003-03-25 | 2008-05-27 | Emc Corporation | Reading virtual ordered writes at local storage device |
WO2004095289A1 (en) | 2003-03-25 | 2004-11-04 | Emc Corporation | Virtual ordered writes |
US7120824B2 (en) | 2003-05-09 | 2006-10-10 | International Business Machines Corporation | Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair |
US7152182B2 (en) | 2003-06-06 | 2006-12-19 | Hewlett-Packard Development Company, L.P. | Data redundancy system and method |
US7178055B2 (en) | 2003-06-06 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | Method and system for ensuring data consistency after a failover event in a redundant data storage system |
US7043665B2 (en) | 2003-06-18 | 2006-05-09 | International Business Machines Corporation | Method, system, and program for handling a failover to a remote storage location |
US7065589B2 (en) | 2003-06-23 | 2006-06-20 | Hitachi, Ltd. | Three data center remote copy system with journaling |
US7278049B2 (en) | 2003-09-29 | 2007-10-02 | International Business Machines Corporation | Method, system, and program for recovery from a failure in an asynchronous data copying system |
US7293048B2 (en) * | 2003-10-29 | 2007-11-06 | Hewlett-Packard Development Company, L.P. | System for preserving logical object integrity within a remote mirror cache |
US7251743B2 (en) | 2003-11-20 | 2007-07-31 | International Business Machines Corporation | Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller |
US7194562B2 (en) | 2003-11-20 | 2007-03-20 | International Business Machines Corporation | Method, system, and program for throttling data transfer |
US7478211B2 (en) * | 2004-01-09 | 2009-01-13 | International Business Machines Corporation | Maintaining consistency for remote copy using virtualization |
JP4477370B2 (ja) | 2004-01-30 | 2010-06-09 | 株式会社日立製作所 | データ処理システム |
US7363541B2 (en) | 2004-02-23 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | Command management using task attributes |
US7139851B2 (en) | 2004-02-25 | 2006-11-21 | Hitachi, Ltd. | Method and apparatus for re-synchronizing mirroring pair with data consistency |
JP2005258850A (ja) | 2004-03-12 | 2005-09-22 | Hitachi Ltd | 計算機システム |
JP4452533B2 (ja) | 2004-03-19 | 2010-04-21 | 株式会社日立製作所 | システムおよび記憶装置システム |
US7461100B2 (en) * | 2004-05-27 | 2008-12-02 | International Business Machines Corporation | Method for fast reverse restore |
CN1331294C (zh) | 2004-08-27 | 2007-08-08 | 江苏省电力公司南京供电公司 | 建立电网监控灾难后备系统的方法 |
US7657578B1 (en) * | 2004-12-20 | 2010-02-02 | Symantec Operating Corporation | System and method for volume replication in a storage environment employing distributed block virtualization |
US7565498B1 (en) * | 2005-11-07 | 2009-07-21 | Symantec Operating Corporation | System and method for maintaining write order fidelity in a distributed environment |
GB0616257D0 (en) | 2006-08-16 | 2006-09-27 | Ibm | Storage management system for preserving consistency of remote copy data |
GB0617342D0 (en) | 2006-09-02 | 2006-10-11 | Ibm | Consistent remote copy data storage system error management |
GB0622140D0 (en) | 2006-11-07 | 2006-12-20 | Ibm | Suspension of asynchronous remote copying system |
GB0622734D0 (en) | 2006-11-15 | 2006-12-27 | Ibm | Throttling an asynchronous remote copying system |
-
2006
- 2006-08-16 GB GBGB0616257.2A patent/GB0616257D0/en not_active Ceased
-
2007
- 2007-08-02 AT AT07802478T patent/ATE445877T1/de not_active IP Right Cessation
- 2007-08-02 WO PCT/EP2007/058021 patent/WO2008019952A2/en active Application Filing
- 2007-08-02 US US12/377,577 patent/US9239766B2/en not_active Expired - Fee Related
- 2007-08-02 JP JP2009524162A patent/JP5191062B2/ja active Active
- 2007-08-02 CN CN2007800300555A patent/CN101501648B/zh active Active
- 2007-08-02 EP EP07802478A patent/EP2054806B1/en active Active
- 2007-08-02 DE DE602007002827T patent/DE602007002827D1/de active Active
- 2007-08-03 TW TW96128748A patent/TWI470459B/zh active
-
2012
- 2012-04-27 US US13/457,766 patent/US9229827B2/en not_active Expired - Fee Related
-
2015
- 2015-11-30 US US14/954,841 patent/US9923967B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734818A (en) * | 1994-02-22 | 1998-03-31 | International Business Machines Corporation | Forming consistency groups using self-describing record sets for remote data duplexing |
CN1163668A (zh) * | 1994-11-17 | 1997-10-29 | 西门子公司 | 带有主单元和从属单元的装置 |
Also Published As
Publication number | Publication date |
---|---|
US20160088081A1 (en) | 2016-03-24 |
GB0616257D0 (en) | 2006-09-27 |
DE602007002827D1 (de) | 2009-11-26 |
EP2054806B1 (en) | 2009-10-14 |
WO2008019952A3 (en) | 2008-05-22 |
TWI470459B (zh) | 2015-01-21 |
ATE445877T1 (de) | 2009-10-15 |
WO2008019952B1 (en) | 2008-07-24 |
WO2008019952A2 (en) | 2008-02-21 |
JP5191062B2 (ja) | 2013-04-24 |
US9229827B2 (en) | 2016-01-05 |
EP2054806A2 (en) | 2009-05-06 |
TW200817950A (en) | 2008-04-16 |
US9923967B2 (en) | 2018-03-20 |
CN101501648A (zh) | 2009-08-05 |
JP2010500673A (ja) | 2010-01-07 |
US20120215994A1 (en) | 2012-08-23 |
US20110010513A1 (en) | 2011-01-13 |
US9239766B2 (en) | 2016-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101501648B (zh) | 保持远程复制数据一致性的存储管理系统 | |
CN101595668B (zh) | 建立协调定时网络中的服务器之间的逻辑路径的方法和系统 | |
CN101365999B (zh) | 发送完成事件批处理 | |
CN100388224C (zh) | 任意数目的备用组件的系统体系结构用方法和系统 | |
CN101449246B (zh) | 用于集群恢复的装置和方法 | |
US7823008B2 (en) | Maintaining consistency in a remote copy data storage system | |
EP1049016B1 (en) | Disk subsystems for mirroring, their integrated system and corresponding mirroring method | |
US7502876B1 (en) | Background memory manager that determines if data structures fits in memory with memory state transactions map | |
CN101663650B (zh) | 用于适配卡故障转移的设备、系统和方法 | |
US7395392B2 (en) | Storage system and storage control method | |
CN101192061B (zh) | 用于同步控制器固件下载的装置及方法 | |
CN104471523A (zh) | 计算机系统及其控制方法 | |
CN110287151A (zh) | 分布式存储系统、数据写入方法、装置和存储介质 | |
CN104683486A (zh) | 分布式系统中处理同步消息的方法、装置、分布式系统 | |
US5805836A (en) | Method and apparatus for equalizing grants of a data bus to primary and secondary devices | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
JP4677443B2 (ja) | データ・ストレージ・システムおよび複数の異機種ストレージ・コントローラに渡って書き込みセットおよび書き込みセットの境界を保持するための方法 | |
US7502899B2 (en) | Write set boundary management in support of asynchronous update of secondary storage | |
JPH10149293A (ja) | 割込みを処理するための方法および装置 | |
JP2009009408A (ja) | ストレージシステムとストレージシステムにおける管理方法 | |
EP0299523A2 (en) | Map case network virtual connection interface system | |
CN1318991C (zh) | 具有对多个相干性区组支持的数据传送装置 | |
CN100442248C (zh) | 用于避免竞争的计算机系统同步单元 | |
CN101895980B (zh) | 任务同步的方法和设备 | |
CN117473523A (zh) | 更新权限的分配方法及装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |