WO2018076633A1 - Remote data replication method, storage device and storage system - Google Patents

Remote data replication method, storage device and storage system Download PDF

Info

Publication number
WO2018076633A1
WO2018076633A1 PCT/CN2017/081341 CN2017081341W WO2018076633A1 WO 2018076633 A1 WO2018076633 A1 WO 2018076633A1 CN 2017081341 W CN2017081341 W CN 2017081341W WO 2018076633 A1 WO2018076633 A1 WO 2018076633A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
file
data
task
copy
Prior art date
Application number
PCT/CN2017/081341
Other languages
French (fr)
Chinese (zh)
Inventor
孔晓龙
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018076633A1 publication Critical patent/WO2018076633A1/en

Links

Images

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
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • 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
    • G06F11/1448Management of the data involved in backup or backup restore

Definitions

  • Embodiments of the present invention relate to the field of storage technologies, and in particular, to a remote data replication method, a storage device, and a storage system.
  • Data disaster recovery also known as remote data replication technology, refers to the establishment of an off-site data system, which is an available copy of local data. In the event of a disaster in local data and the entire application system, the system maintains at least one copy of the critical business data available in the field.
  • a typical data disaster recovery system includes a production center and a disaster recovery center.
  • hosts and storage arrays are deployed for normal service operations.
  • hosts and storage arrays are deployed to take over the services after a disaster occurs in the production center.
  • the storage arrays in the production center and the storage arrays in the disaster recovery center are usually storage arrays containing multiple controllers. Different controllers can write and modify the same file separately.
  • the write operations of the files by each controller need to be serially copied to the disaster.
  • the backup center affects the efficiency of replication.
  • the embodiment provides a remote data replication method and a storage system, which are capable of concurrently executing a replication task in a multi-control system.
  • a remote data replication method is provided.
  • the method is applied to a storage system including a production array and a disaster recovery array, the production array including at least a first controller and a second controller.
  • the first controller detects whether there is a copy task locally, and when there is no copy task, sends a request message to the second controller.
  • the request message is used to apply for a copy task to the second controller, and the second controller includes at least two copy tasks.
  • the second controller reads the data corresponding to the first copy task according to the request message and sends the data to the first controller.
  • the first controller receives the data corresponding to the first replication task, and sends the data corresponding to the first replication task to the disaster recovery array, and the second controller sends the data corresponding to the second replication task to the Describe the disaster recovery array.
  • the first controller has no replication task and is in an idle state
  • the second controller includes at least two replication tasks and is in a busy state. Therefore, the first controller can send a request message to the second controller to request a copy task.
  • the second controller allocates one of its two at least two copy tasks to the first controller according to the request message, so that the first controller and the second controller can each perform a copy task, and the parallel processing is achieved.
  • the purpose is to improve the efficiency of replication.
  • the second controller maintains a replication queue, the replication queue including the at least two replication tasks. Therefore, the second controller specifically obtains the first replication task from the replication queue, and sends data corresponding to the first replication task to the first controller. In addition, the second controller also obtains a second replication task from the replication queue, and sends data corresponding to the second replication task to the disaster recovery array.
  • the first replication task and the second replication task are replication tasks for the same file. This enables parallel copying of the same file.
  • the file has a unique file name
  • the data corresponding to the first copy task includes the file name, and initial data of the file.
  • the initial Data write time the data corresponding to the second copy task includes the file name, the modified data of the file, and the write time of the modified data, and the write time of the modified data is later than The write time of the initial data.
  • the disaster recovery array receives data corresponding to the first replication task, creates a backup file of the file, and writes the initial data. Entering the backup file, the file name of the backup file is the same as the file name of the file. After receiving the data corresponding to the first replication task, the disaster recovery array receives data corresponding to the second replication task. When the disaster recovery array determines that the file name corresponding to the second copy task is the same as the file name of the backup file, it is determined whether the write time of the modified data is later than the write time of the initial data. And when the disaster recovery array determines that the write time of the modified data is later than the write time of the initial data, the modified data is written into the backup file.
  • the disaster recovery array receives the initial data and then receives the modified data, the modified data can be written into the backup file. Even if the modified data will overwrite the initial data, it will not cause data inconsistency between the disaster recovery array and the production array.
  • the disaster recovery array receives data corresponding to the second replication task, creates a backup file of the file, and writes the modified data. Entering the backup file, the file name of the backup file is the same as the file name of the file. After receiving the data corresponding to the second replication task, the disaster recovery array receives data corresponding to the first replication task. When the disaster recovery array determines that the file name corresponding to the first copy task is the same as the file name of the backup file, it is determined whether the write time of the initial data is later than the write time of the modified data.
  • the disaster recovery array determines that the write time of the initial data is earlier than the write time of the modified data, the operation of writing the initial data into the backup file is not performed. In this implementation manner, if the disaster recovery array receives the modified data and then receives the initial data, the operation of writing the initial data to the backup file is not performed to prevent the data of the disaster recovery array and the production array from being inconsistent.
  • a second aspect of the present invention provides a storage device to perform the method provided by the first aspect.
  • a third aspect of the present invention provides a storage device to perform the method provided by the first aspect.
  • FIG. 1 is a schematic structural diagram of a system according to an embodiment of the present invention.
  • FIG. 2 is a structural diagram of a controller according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a remote data replication method according to an embodiment of the present invention.
  • the embodiment provides a remote data replication method, a storage device, and a storage system, which are capable of concurrently executing a replication task in a multi-control system.
  • a production center includes a production host, a connection device, and a production array 20; the system architecture of the disaster recovery center is similar to that of a production center, including a disaster.
  • the production center and the disaster recovery center can transmit data through IP (Internet Protocol) or FC (Fiber Chanel) or other protocols.
  • Both the production host and the disaster recovery host can be any computing device, such as a server, a desktop computer, and so on. Inside the host, an operating system and other applications are installed.
  • the connected device can be any interface between the storage device and the host, such as a fiber switch, or other switch known in the art.
  • Both the production array 20 and the disaster recovery array 30 can be storage devices, such as Redundant Arrays of Inexpensive Disks (RAID), Just a Bunch Of Disks (JBOD), and Direct Access Storage. Device, DASD)
  • RAID Redundant Arrays of Inexpensive Disks
  • JBOD Just a Bunch Of Disks
  • DASD Direct Access Storage.
  • Both the production array 20 and the disaster recovery array 30 in this embodiment are storage devices having a file system, that is, data stored in the storage medium is managed and accessed in units of files.
  • a file system is a method of storing and organizing data, which makes it easy to access and find data.
  • the file system uses the abstract logical concept of files and tree directories instead of the concept of data blocks used by physical devices such as hard disks.
  • FIG. 2 is a schematic structural view of a production array 20 according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a disaster recovery array 30 according to an embodiment of the present invention.
  • the production array 20 includes at least a controller 21, a controller 22, and a plurality of hard disks 31.
  • Controller 21 can include any computing device such as a server, desktop computer, or the like. Inside the controller, a file system and other applications are installed. The controller 21 is operative to perform various operations related to files, such as creating a file, creating a directory, reading a file operation, writing a file operation, transmitting a data copy request, and the like.
  • the controller 22 and the controller 21 are similar in structure and have the same function.
  • the production array 20 includes a plurality of hard disks 31 for providing storage space to save files. It should be noted that the controller 21 and the controller 22 are only examples of the embodiment of the present invention, and other controllers may be included in the embodiment of the present invention. This embodiment does not limit the number of controllers.
  • the controller 21 mainly includes a processor 118, a cache 120, a memory 122, a communication bus (abbreviated as bus) 126, and a communication interface 128.
  • the processor 118, the cache 120, the memory 122, and the communication interface 128 complete communication with one another via the communication bus 126.
  • the communication interface 128 is configured to communicate with the production host, the disaster recovery array, and the hard disk 31. Additionally, communication interface 128 is also used to communicate with controller 22.
  • the memory 122 is used to store the program 124.
  • the memory 122 may include a high speed RAM memory, and may also include a non-volatile memory, such as at least one hard disk memory. It can be understood that the memory 122 can be a random access memory (RAM), a magnetic disk, a hard disk, an optical disk, a solid state disk (SSD), or a nonvolatile memory, and can store program codes. Non-transitory machine readable medium.
  • Program 124 can include program code, including the file system described above, as well as other program code.
  • a cache 120 is used to cache data received from a production host or read from a hard disk.
  • the cache 120 may be a non-transitory machine readable medium that can store data, such as a RAM, a ROM, a flash memory, or a solid state disk (SSD), which is not limited herein.
  • memory 122 and the cache 120 may be provided in combination or separately, which is not limited by the embodiment of the present invention.
  • the processor 118 may be a central processing unit CPU or a specific integrated circuit ASIC (Application) Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present invention.
  • ASIC Application Specific Integrated Circuit
  • the disaster recovery array 30 has the same structure as the production array 20, and functions to take over the production array 20 to continue processing the business when the production array 20 fails.
  • a remote data copying method will be described below with reference to FIGS. 1 and 2.
  • the method is applied in the scenario of asynchronous remote replication shown in FIG. 1 and is performed by the production array 20 and the disaster recovery array 30.
  • the method can include the following steps:
  • Step 1 The first controller 21 detects whether there is a copy task locally.
  • the replication task refers to the task of copying data from the production array 20 to the disaster recovery array 30.
  • a copy queue is saved in the cache of the first controller, and the copy queue may include multiple copy tasks, and each copy task may be described by using a file name, a write time of file data, and the like.
  • the first controller can determine whether there is currently a replication task by examining the information contained in the replication queue.
  • the queue is only an example of the embodiment of the present invention, and other data structures, such as a heap, a stack, and the like, may be used in this embodiment to save the replication task.
  • Step 2 When the first controller 21 does not copy the task, the request message is sent to the second controller 22.
  • the request message is used to request a copy task from the second controller 22.
  • the production array 20 may contain other controllers, some controllers are idle (no replication tasks), and some controllers may be busy (including multiple pending replication tasks), then An idle state controller can request a copy task from a controller that is in a busy state.
  • the present embodiment takes the second controller 22 as a controller in a busy state, and the second controller 22 includes at least two replication tasks.
  • the first controller 21 can respectively send a query message to each controller in the production array 20 to obtain a copy task to be processed by each controller. Then select a controller that is busy and send a request message to it.
  • a controller is determined in the production array 20 for collecting the number of copy tasks to be processed by the respective controllers and notifying the first controller 21 that the controller is currently in a busy state.
  • Step 3 The second controller 22 allocates one or more replication tasks to the first controller 21 according to the request message.
  • a copy queue is also stored in the cache of the second controller, and the copy queue may include a plurality of copy tasks.
  • the second controller may assign one or more of the copy tasks to the first controller 21 to ensure task balancing between the various controllers.
  • the second controller 22 may assign one or more copy tasks that first enter the queue to the first controller 21 according to the principle of first in first out.
  • the assigning the copy task to the first controller 21 may specifically send the data corresponding to the copy task to the first controller 21.
  • the data corresponding to the replication task includes the data to be copied to the disaster recovery array 30.
  • the data to be copied to the disaster recovery array 30 is referred to as file data, that is, the data block corresponding to the file.
  • the file data can be acquired by the file name and the corresponding metadata, and sent to the first controller 21.
  • the data corresponding to the copy task further includes a file name of a file to which the file data belongs and a write time of the file data.
  • the write time of the file data refers to the time when the file data is written into the production array, which may be a specific time point, or may be a time interval for indicating a range of time, and may also be representation The version number of the version information of the file. This embodiment does not limit the meaning and form of the write time anyway, as long as the order in which the file data is written into the production array can be obtained by comparison of the respective write times.
  • Multiple replication tasks in a queue possibly replication tasks for the same file (these replication tasks)
  • the file name is the same), or it may be a copy task for different files.
  • the multiple replication tasks correspond to multiple write operations for the file.
  • Embodiments of the present invention may utilize a serial number to record multiple write operations to a file. For example, when a file is just created, that is, when the first write operation is performed, its serial number is 1; when the file is modified, that is, when the second write operation is performed, its serial number is 2 .
  • the so-called execution of multiple copy tasks for one file is to synchronize the multiple write operations corresponding to the file to the disaster recovery array. Therefore, each copy task can correspond to a unique serial number.
  • the copy task assigned to the first controller 21 by the second controller 22 in this embodiment is referred to as a first copy task
  • the second controller 22 is assigned to the copy task other than the first controller 21, the queue
  • the remaining replication tasks are called second replication tasks.
  • the first copy task and the second copy task can each include the following information:
  • the data corresponding to the first copy task belongs to the file name with the file name 0X100, the write time of the data is 2016.1.1, the serial number of the first copy task is 001; the second The data corresponding to the copy task belongs to the file name with the file name 0X100, the write time of the data is 2016.1.2, and the serial number of the second copy task is 002.
  • Step 4 The first controller 21 receives the data corresponding to the first replication task, and sends the data to the disaster recovery array 30.
  • the second controller 22 may acquire file data according to the file name and the corresponding metadata, and send the file data, the file name, the serial number, and the writing time of the file data to the first controller 21.
  • the copying task is executed by the first controller 21, that is, the file data, the file name, the serial number, and the writing time of the file data are sent to the disaster recovery array 30.
  • Step 5 The second controller 22 sends the data corresponding to the second replication task to the disaster recovery array 30.
  • the second controller 22 acquires file data according to the file name recorded by the second copy task and the corresponding metadata, and sends the file data, the file name, and the write time of the file data to the disaster.
  • the array 30 is prepared.
  • the controller in the idle state can apply for the replication task to the controller in the busy state, and the controller in the busy state allocates a part of the replication task to the controller in the idle state, thereby Each controller can process the replication task in parallel, improving the replication efficiency.
  • the following describes how to ensure the consistency between the files of the disaster recovery array and the files of the production array when each controller processes the replication tasks in parallel.
  • the first controller 21 performs the first copy task, and copies the file data corresponding to the first copy task to the disaster recovery array 30.
  • the second controller 22 performs the second copy task.
  • the file data corresponding to the two replication tasks is copied to the disaster recovery array 30.
  • the file data corresponding to the first copy task is simply referred to as data A
  • the file data corresponding to the second copy task is simply referred to as data B.
  • the disaster recovery array 30 often does not receive the data A and the data B at the same time.
  • Case 1 The disaster recovery array 30 receives the data A first and then receives the data B.
  • the disaster recovery array 30 When receiving the data A, the disaster recovery array 30 also receives and saves the file name of the file to which the data A belongs, the serial number of the first copy task, and the write time of the data A.
  • the disaster recovery array can traverse the file name of the local file to determine that the data A does not belong to any local file. Thus, a new file is created, which is a backup file of the file to which the data A belongs in the production array.
  • the file name of the backup file may be identical to the source file (data A belongs to the file to which the production array belongs).
  • the disaster recovery array 30 writes the data A to the backup data and records the write time of the data A, which is the same as the write time of the data A transmitted by the production array 20.
  • the disaster recovery array 30 After the disaster recovery array 30 receives the data A, the data B is received. Since the file name of the file to which the data B belongs is the same as the file name of the backup file, the disaster recovery array 30 does not need to create a new file.
  • the disaster recovery array 30 records the write time corresponding to the data B, which is the same as the write time of the data B transmitted by the production array 20.
  • the disaster recovery array 30 compares the write time of the data B with the write time of the data A, and determines that the write time of the data B is later than the write time of the data A, so the data A is the initial data of the backup file, and the data B Is the modification data of the backup file.
  • the modified data may overwrite the initial data, and the disaster recovery array performs an operation of writing the data B to the backup file.
  • Case 2 The disaster recovery array 30 receives the data B first and then receives the data A.
  • the disaster recovery array 30 traverses the file name of the local file to determine that the data B does not belong to any local file. Thus, a new file is created, which is a backup file of the file to which the data B belongs in the production array.
  • the file name of the backup file may be identical to the source file (data B belongs to the file to which the production array belongs).
  • the disaster recovery array 30 writes the data B to the backup data and records the write time of the data B, which is the same as the write time of the data B transmitted by the production array 20.
  • the disaster recovery array 30 After the disaster recovery array 30 receives the data B, the data A is received. Since the file name of the file to which the data A belongs is the same as the file name of the backup file, the disaster recovery array 30 does not need to create a new file.
  • the disaster recovery array 30 records the write time corresponding to the data A, which is the same as the write time of the data A transmitted by the production array 20.
  • the disaster recovery array 30 compares the write time of the data B with the write time of the data A, and determines that the write time of the data A is earlier than the write time of the data B, so the data A is the initial data of the backup file, and the data B Is the modification data of the backup file.
  • the initial data may not cover the modified data, and the disaster recovery array does not perform the operation of writing the data A to the backup file.
  • the disaster recovery array 30 can determine whether to perform the writing operation on the backup file according to the writing time of each data.
  • the principle is that the writing time can only be used later.
  • the data covers older data written earlier, thus ensuring file consistency.
  • the backup files in the disaster recovery array 30 also need to be deleted.
  • the production array 20 may send an instruction to delete the file to the disaster recovery array, the instruction including the file name of the file, and the latest serial number (the serial number corresponding to the last write operation).
  • the disaster recovery array 30 After receiving the instruction to delete the file, the disaster recovery array 30 searches for the corresponding backup file according to the file name, and determines whether the latest serial number of the backup file is the same as the serial number sent by the production array 20. If they are the same, the disaster recovery array 30 performs an operation of deleting the backup file; otherwise, the operation of deleting the backup file is not performed.

Abstract

A remote data replication method, a storage device and a storage system. A first controller detects whether there is a replication task at the locality; when there is no replication task in the first controller, the first controller sends a request message to the second controller; the request message is used for applying to the second controller for an application task, and the second controller comprises at least two replication tasks; the second controller reads data corresponding to a first replication task according to the request message and sends same to the first controller; and the first controller receives the data corresponding to the first replication task and sends the data corresponding to the first replication task to a disaster backup array, and the second controller sends the data corresponding to the second replication task to the disaster backup array. Accordingly, the purpose of parallel data replication in a multi-variable control system is achieved.

Description

一种远程数据复制方法、存储设备及存储系统Remote data replication method, storage device and storage system 技术领域Technical field
本发明实施例涉及存储技术领域,特别是一种远程数据复制方法、存储设备及存储系统。Embodiments of the present invention relate to the field of storage technologies, and in particular, to a remote data replication method, a storage device, and a storage system.
背景技术Background technique
数据容灾,又称为远程数据复制技术,是指建立一个异地的数据系统,该系统是本地数据的一个可用复制。在本地数据及整个应用系统出现灾难时,系统至少在异地保存有一份可用的关键业务的数据。Data disaster recovery, also known as remote data replication technology, refers to the establishment of an off-site data system, which is an available copy of local data. In the event of a disaster in local data and the entire application system, the system maintains at least one copy of the critical business data available in the field.
典型的数据容灾系统包括生产中心和灾备中心。在生产中心,部署有主机、存储阵列,用于正常的业务运行;在灾备中心,部署有主机、存储阵列,用于在生产中心发生灾难后,接管其业务。在海量存储系统中,生产中心的存储阵列和灾备中心的存储阵列通常都是包含多个控制器的存储阵列。不同的控制器可以分别对同一个文件进行写入和修改,为了保证复制到灾备中心的文件和生产中心的文件保持一致,各个控制器对该文件进行的写入操作需要串行复制到灾备中心,影响了复制效率。A typical data disaster recovery system includes a production center and a disaster recovery center. In the production center, hosts and storage arrays are deployed for normal service operations. In the disaster recovery center, hosts and storage arrays are deployed to take over the services after a disaster occurs in the production center. In a mass storage system, the storage arrays in the production center and the storage arrays in the disaster recovery center are usually storage arrays containing multiple controllers. Different controllers can write and modify the same file separately. In order to ensure that the files copied to the disaster recovery center are consistent with the files in the production center, the write operations of the files by each controller need to be serially copied to the disaster. The backup center affects the efficiency of replication.
发明内容Summary of the invention
本实施例提供了一种远程数据复制方法和存储系统,能够在多控系统中并发地执行复制任务。The embodiment provides a remote data replication method and a storage system, which are capable of concurrently executing a replication task in a multi-control system.
第一方面,提供了一种远程数据复制方法。所述方法应用于存储系统中,所述存储系统包括生产阵列和灾备阵列,所述生产阵列至少包括第一控制器和第二控制器。第一控制器检测本地是否有复制任务,当没有复制任务时,向第二控制器发送请求消息。所述请求消息用于向所述第二控制器申请复制任务,第二控制器至少包括两个复制任务。第二控制器根据所述请求消息,读取第一个复制任务对应的数据并发送给所述第一控制器。第一控制器接收所述第一个复制任务对应的数据,将所述第一个复制任务对应的数据发送给灾备阵列,第二控制器也将第二个复制任务对应的数据发送给所述灾备阵列。In a first aspect, a remote data replication method is provided. The method is applied to a storage system including a production array and a disaster recovery array, the production array including at least a first controller and a second controller. The first controller detects whether there is a copy task locally, and when there is no copy task, sends a request message to the second controller. The request message is used to apply for a copy task to the second controller, and the second controller includes at least two copy tasks. The second controller reads the data corresponding to the first copy task according to the request message and sends the data to the first controller. The first controller receives the data corresponding to the first replication task, and sends the data corresponding to the first replication task to the disaster recovery array, and the second controller sends the data corresponding to the second replication task to the Describe the disaster recovery array.
在本实施例中,第一控制器没有复制任务,处于空闲状态,而第二控制器至少包括两个复制任务,处于繁忙状态。因此,第一控制器可以向第二控制器发送请求消息,以申请复制任务。第二控制器根据所述请求消息,将自己的至少两个两个复制任务分配一个给第一控制器,从而第一控制器和第二控制器可以各自执行一个复制任务,达到了并行处理了的目的,提高了复制效率。In this embodiment, the first controller has no replication task and is in an idle state, and the second controller includes at least two replication tasks and is in a busy state. Therefore, the first controller can send a request message to the second controller to request a copy task. The second controller allocates one of its two at least two copy tasks to the first controller according to the request message, so that the first controller and the second controller can each perform a copy task, and the parallel processing is achieved. The purpose is to improve the efficiency of replication.
在第一方面的第一种实施方式中,所述第二控制器维护有复制队列,所述复制队列包括所述至少两个复制任务。因此,第二控制器具体是从所述复制队列中获取第一个复制任务,并将第一个复制任务对应的数据发送给第一控制器。另外,第二控制器也是从所述复制队列中获取第二复制任务,将所述第二复制任务对应的数据发送给所述灾备阵列。In a first implementation of the first aspect, the second controller maintains a replication queue, the replication queue including the at least two replication tasks. Therefore, the second controller specifically obtains the first replication task from the replication queue, and sends data corresponding to the first replication task to the first controller. In addition, the second controller also obtains a second replication task from the replication queue, and sends data corresponding to the second replication task to the disaster recovery array.
结合第一方面,以及第一方面的第一种实施方式,在第二种实施方式中,第一个复制任务和所述第二个复制任务是针对同一个文件的复制任务。由此实现了同一个文件的并行复制。In conjunction with the first aspect, and the first embodiment of the first aspect, in the second embodiment, the first replication task and the second replication task are replication tasks for the same file. This enables parallel copying of the same file.
结合第一方面的第二种实施方式,在第三种实施方式中,所述文件具有唯一的文件名,所述第一个复制任务对应的数据包括所述文件名,所述文件的初始数据,以及所述初始 数据的写入时间,所述第二个复制任务对应的数据包括所述文件名,所述文件的修改数据,以及所述修改数据的写入时间,所述修改数据的写入时间晚于所述初始数据的写入时间。With reference to the second implementation manner of the first aspect, in a third implementation manner, the file has a unique file name, and the data corresponding to the first copy task includes the file name, and initial data of the file. And the initial Data write time, the data corresponding to the second copy task includes the file name, the modified data of the file, and the write time of the modified data, and the write time of the modified data is later than The write time of the initial data.
结合第一方面的第三种实施方式,在第四种实施方式中,所述灾备阵列接收所述第一个复制任务对应的数据,创建所述文件的备份文件,将所述初始数据写入所述备份文件,所述备份文件的文件名与所述文件的文件名相同。在所述接收所述第一个复制任务对应的数据之后,所述灾备阵列接收所述第二个复制任务对应的数据。所述灾备阵列确定所述第二个复制任务对应的文件名与所述备份文件的文件名相同时,判断所述修改数据的写入时间是否晚于所述初始数据的写入时间。当所述灾备阵列确定所述修改数据的写入时间晚于所述初始数据的写入时间时,将所述修改数据写入所述备份文件中。在这种实施方式中,如果灾备阵列先接收初始数据,再接收修改数据,可以将修改数据写入备份文件中。即使修改数据会覆盖初始数据,也不会造成灾备阵列和生产阵列的数据不一致。With reference to the third implementation manner of the first aspect, in a fourth implementation manner, the disaster recovery array receives data corresponding to the first replication task, creates a backup file of the file, and writes the initial data. Entering the backup file, the file name of the backup file is the same as the file name of the file. After receiving the data corresponding to the first replication task, the disaster recovery array receives data corresponding to the second replication task. When the disaster recovery array determines that the file name corresponding to the second copy task is the same as the file name of the backup file, it is determined whether the write time of the modified data is later than the write time of the initial data. And when the disaster recovery array determines that the write time of the modified data is later than the write time of the initial data, the modified data is written into the backup file. In this implementation manner, if the disaster recovery array receives the initial data and then receives the modified data, the modified data can be written into the backup file. Even if the modified data will overwrite the initial data, it will not cause data inconsistency between the disaster recovery array and the production array.
结合第一方面的第三种实施方式,在第五种实施方式中,所述灾备阵列接收所述第二个复制任务对应的数据,创建所述文件的备份文件,将所述修改数据写入所述备份文件,所述备份文件的文件名与所述文件的文件名相同。在所述接收所述第二个复制任务对应的数据之后,所述灾备阵列接收所述第一个复制任务对应的数据。所述灾备阵列确定所述第一个复制任务对应的文件名与所述备份文件的文件名相同时,判断所述初始数据的写入时间是否晚于所述修改数据的写入时间。当所述灾备阵列确定所述初始数据的写入时间早于所述修改数据的写入时间时,不执行将所述初始数据写入所述备份文件中的操作。在这种实施方式中,如果灾备阵列先接收修改数据,再接收初始数据,则不执行将初始数据写入备份文件的操作,以防止灾备阵列和生产阵列的数据不一致。With reference to the third implementation manner of the first aspect, in a fifth implementation manner, the disaster recovery array receives data corresponding to the second replication task, creates a backup file of the file, and writes the modified data. Entering the backup file, the file name of the backup file is the same as the file name of the file. After receiving the data corresponding to the second replication task, the disaster recovery array receives data corresponding to the first replication task. When the disaster recovery array determines that the file name corresponding to the first copy task is the same as the file name of the backup file, it is determined whether the write time of the initial data is later than the write time of the modified data. When the disaster recovery array determines that the write time of the initial data is earlier than the write time of the modified data, the operation of writing the initial data into the backup file is not performed. In this implementation manner, if the disaster recovery array receives the modified data and then receives the initial data, the operation of writing the initial data to the backup file is not performed to prevent the data of the disaster recovery array and the production array from being inconsistent.
本发明第二方面提供了一种存储设备,以执行第一方面提供的方法。A second aspect of the present invention provides a storage device to perform the method provided by the first aspect.
本发明第三方面提供了一种存储设备,以执行第一方面提供的方法。A third aspect of the present invention provides a storage device to perform the method provided by the first aspect.
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings to be used in the embodiments will be briefly described below.
图1是本发明实施例提供的系统架构示意图;1 is a schematic structural diagram of a system according to an embodiment of the present invention;
图2是本发明实施例提供的控制器的结构图;2 is a structural diagram of a controller according to an embodiment of the present invention;
图3是本发明实施例提供的远程数据复制方法的流程示意图。FIG. 3 is a schematic flowchart of a remote data replication method according to an embodiment of the present invention.
具体实施方式detailed description
本实施例提供了一种远程数据复制方法、存储设备和存储系统,能够在多控系统中并发地执行复制任务。The embodiment provides a remote data replication method, a storage device, and a storage system, which are capable of concurrently executing a replication task in a multi-control system.
图1为本发明实施例提供的远程数据复制方法的系统架构示意图,如图1所示,生产中心包括生产主机、连接设备和生产阵列20;灾备中心的系统架构与生产中心类似,包括灾备主机、连接设备和灾备阵列30。在本发明实施例中,灾备中心可以不止一个。其中,生产中心与灾备中心可以通过IP(Internet Protocol)或者FC(Fiber Chanel)或者其他协议进行数据传输。1 is a schematic structural diagram of a system for remote data replication according to an embodiment of the present invention. As shown in FIG. 1 , a production center includes a production host, a connection device, and a production array 20; the system architecture of the disaster recovery center is similar to that of a production center, including a disaster. The standby host, the connected device, and the disaster recovery array 30. In the embodiment of the present invention, there may be more than one disaster recovery center. The production center and the disaster recovery center can transmit data through IP (Internet Protocol) or FC (Fiber Chanel) or other protocols.
生产主机和灾备主机均可以是任何计算设备,如服务器、台式计算机等等。在主机内部,安装有操作系统以及其他应用程序。 Both the production host and the disaster recovery host can be any computing device, such as a server, a desktop computer, and so on. Inside the host, an operating system and other applications are installed.
连接设备可以是存储设备和主机之间的任何接口,如光纤交换机,或者其他当前技术已知有的交换机。The connected device can be any interface between the storage device and the host, such as a fiber switch, or other switch known in the art.
生产阵列20和灾备阵列30均可以是存储设备,如独立硬盘冗余阵列(Redundant Arrays of Inexpensive Disks,RAID)、硬盘簇(Just a Bunch Of Disks,JBOD)、直接存取存储器(Direct Access Storage Device,DASD)的一个或多个互连的硬盘驱动器,诸如磁带库、一个或多个存储单元的磁带存储设备。Both the production array 20 and the disaster recovery array 30 can be storage devices, such as Redundant Arrays of Inexpensive Disks (RAID), Just a Bunch Of Disks (JBOD), and Direct Access Storage. Device, DASD) One or more interconnected hard drives, such as tape libraries, one or more storage units of tape storage devices.
本实施例中的生产阵列20和灾备阵列30均是具有文件系统的存储设备,也就是说,存储介质中保存的数据是以文件为单位进行管理和访问的。文件系统是一种存储和组织数据的方法,它使得对数据的访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘等物理设备使用的数据块的概念。生产阵列20在使用文件系统来保存数据后,用户不必关心数据实际保存在硬盘的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。同样的,在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。Both the production array 20 and the disaster recovery array 30 in this embodiment are storage devices having a file system, that is, data stored in the storage medium is managed and accessed in units of files. A file system is a method of storing and organizing data, which makes it easy to access and find data. The file system uses the abstract logical concept of files and tree directories instead of the concept of data blocks used by physical devices such as hard disks. After the production array 20 uses the file system to save data, the user does not have to care about the data block whose data is actually stored in the hard disk address, and only needs to remember the directory and file name of the file. Similarly, before writing new data, the user does not have to care that the block address on the hard disk is not being used. The storage space management (allocation and release) function on the hard disk is automatically completed by the file system, and the user only needs to remember that the data is written. Which file is in the file.
生产阵列20和灾备阵列30的硬件结构是相同的。图2是本发明实施例生产阵列20的结构示意图,图3是本发明实施例灾备阵列30的结构示意图。The hardware structure of the production array 20 and the disaster recovery array 30 is the same. 2 is a schematic structural view of a production array 20 according to an embodiment of the present invention, and FIG. 3 is a schematic structural diagram of a disaster recovery array 30 according to an embodiment of the present invention.
如图2所示,生产阵列20至少包括控制器21、控制器22和若干个硬盘31。控制器21可以包括任何计算设备,如服务器、台式计算机等等。在控制器内部,安装有文件系统以及其他应用程序。控制器21用于执行和文件相关的各种操作,例如创建文件、创建目录、读文件操作、写文件操作、发送数据复制请求等等。控制器22和控制器21的结构类似,功能相同。生产阵列20包含的若干个硬盘31用于提供存储空间保存文件。需要说明的是,控制器21和控制器22仅是本发明实施例的示例,在本发明实施例中还可以包含其他控制器,本实施例并没有对控制器的数量进行限定。As shown in FIG. 2, the production array 20 includes at least a controller 21, a controller 22, and a plurality of hard disks 31. Controller 21 can include any computing device such as a server, desktop computer, or the like. Inside the controller, a file system and other applications are installed. The controller 21 is operative to perform various operations related to files, such as creating a file, creating a directory, reading a file operation, writing a file operation, transmitting a data copy request, and the like. The controller 22 and the controller 21 are similar in structure and have the same function. The production array 20 includes a plurality of hard disks 31 for providing storage space to save files. It should be noted that the controller 21 and the controller 22 are only examples of the embodiment of the present invention, and other controllers may be included in the embodiment of the present invention. This embodiment does not limit the number of controllers.
控制器21主要包括处理器(processor)118、缓存(cache)120、存储器(memory)122、通信总线(简称总线)126以及通信接口(Communication Interface)128。处理器118、缓存120、存储器122以及通信接口128通过通信总线126完成相互间的通信。The controller 21 mainly includes a processor 118, a cache 120, a memory 122, a communication bus (abbreviated as bus) 126, and a communication interface 128. The processor 118, the cache 120, the memory 122, and the communication interface 128 complete communication with one another via the communication bus 126.
通信接口128,用于与生产主机、灾备阵列以及硬盘31通信。另外,通信接口128还用于与控制器22通信。The communication interface 128 is configured to communicate with the production host, the disaster recovery array, and the hard disk 31. Additionally, communication interface 128 is also used to communicate with controller 22.
存储器122,用于存放程序124,存储器122可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个硬盘存储器。可以理解的是,存储器122可以为随机存储器(Random-Access Memory,RAM)、磁碟、硬盘、光盘、固态硬盘(Solid State Disk,SSD)或者非易失性存储器等各种可以存储程序代码的非短暂性的(non-transitory)机器可读介质。The memory 122 is used to store the program 124. The memory 122 may include a high speed RAM memory, and may also include a non-volatile memory, such as at least one hard disk memory. It can be understood that the memory 122 can be a random access memory (RAM), a magnetic disk, a hard disk, an optical disk, a solid state disk (SSD), or a nonvolatile memory, and can store program codes. Non-transitory machine readable medium.
程序124可以包括程序代码,所述程序代码包括上面描述的文件系统以及其他程序代码。Program 124 can include program code, including the file system described above, as well as other program code.
缓存120(Cache)用于缓存从生产主机接收的数据或从硬盘中读取的数据。缓存120可以是RAM、ROM、闪存(Flash memory)或固态硬盘(Solid State Disk,SSD)等各种可以存储数据的非短暂性的(non-transitory)机器可读介质,在此不做限定。A cache 120 (Cache) is used to cache data received from a production host or read from a hard disk. The cache 120 may be a non-transitory machine readable medium that can store data, such as a RAM, a ROM, a flash memory, or a solid state disk (SSD), which is not limited herein.
另外,存储器122和缓存120可以合设或者分开设置,本发明实施例对此不做限定。In addition, the memory 122 and the cache 120 may be provided in combination or separately, which is not limited by the embodiment of the present invention.
处理器118可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application  Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。The processor 118 may be a central processing unit CPU or a specific integrated circuit ASIC (Application) Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present invention.
灾备阵列30的结构和生产阵列20相同,其作用是当生产阵列20发生故障时,可以接替生产阵列20继续处理业务。The disaster recovery array 30 has the same structure as the production array 20, and functions to take over the production array 20 to continue processing the business when the production array 20 fails.
下面结合图1和图2,描述本发明实施例一种远程数据复制方法。该方法应用在图1所示的异步远程复制的场景中,由生产阵列20和灾备阵列30执行。如图3所述,所述方法可以包括以下步骤:A remote data copying method according to an embodiment of the present invention will be described below with reference to FIGS. 1 and 2. The method is applied in the scenario of asynchronous remote replication shown in FIG. 1 and is performed by the production array 20 and the disaster recovery array 30. As described in FIG. 3, the method can include the following steps:
步骤1:第一控制器21检测本地是否有复制任务。Step 1: The first controller 21 detects whether there is a copy task locally.
复制任务是指将数据从生产阵列20复制到灾备阵列30的任务。示例性的,第一控制器的缓存中保存有一个复制队列,所述复制队列中可以包括多个复制任务,每个复制任务可以用文件名、文件数据的写入时间等信息来描述。第一控制器可以通过检查所述复制队列所包含的信息来确定当前是否具有复制任务。另外,队列只是本发明实施例的一个示例,本实施例还可以采用其他数据结构,例如堆、栈等,来保存复制任务。The replication task refers to the task of copying data from the production array 20 to the disaster recovery array 30. Exemplarily, a copy queue is saved in the cache of the first controller, and the copy queue may include multiple copy tasks, and each copy task may be described by using a file name, a write time of file data, and the like. The first controller can determine whether there is currently a replication task by examining the information contained in the replication queue. In addition, the queue is only an example of the embodiment of the present invention, and other data structures, such as a heap, a stack, and the like, may be used in this embodiment to save the replication task.
步骤2:当第一控制器21没有复制任务时,向第二控制器22发送请求消息。Step 2: When the first controller 21 does not copy the task, the request message is sent to the second controller 22.
所述请求消息用于向第二控制器22申请复制任务。可以理解的是,生产阵列20中可能包含其他控制器,某些控制器处于空闲状态(没有复制任务),而某些控制器可能处于繁忙状态(包括多个待处理的复制任务),那么处于空闲状态的控制器可以向处于繁忙状态的控制器申请复制任务。为了方便描述,本实施例以第二控制器22为处于繁忙状态的控制器为例,所述第二控制器22至少包括两个复制任务。The request message is used to request a copy task from the second controller 22. It can be understood that the production array 20 may contain other controllers, some controllers are idle (no replication tasks), and some controllers may be busy (including multiple pending replication tasks), then An idle state controller can request a copy task from a controller that is in a busy state. For convenience of description, the present embodiment takes the second controller 22 as a controller in a busy state, and the second controller 22 includes at least two replication tasks.
在实际应用中,第一控制器21可以分别向生产阵列20中的每个控制器发送查询消息,以获取每个控制器待处理的复制任务。再从中选择出一个处于繁忙状态的控制器,向其发送请求消息。或者,在生产阵列20中确定一个控制器,用于采集各个控制器待处理的复制任务的数量,并通知第一控制器21当前处于繁忙状态的控制器。In a practical application, the first controller 21 can respectively send a query message to each controller in the production array 20 to obtain a copy task to be processed by each controller. Then select a controller that is busy and send a request message to it. Alternatively, a controller is determined in the production array 20 for collecting the number of copy tasks to be processed by the respective controllers and notifying the first controller 21 that the controller is currently in a busy state.
步骤3:第二控制器22根据所述请求消息,分配一个或多个复制任务给第一控制器21。Step 3: The second controller 22 allocates one or more replication tasks to the first controller 21 according to the request message.
与第一控制器21类似,第二控制器的缓存中也保存有一个复制队列,所述复制队列中可以包括多个复制任务。第二控制器可以将其中的一个或多个复制任务分配给第一控制器21,以保证各个控制器之间的任务均衡。具体的,第二控制器22可以根据先进先出的原则,将最早进入所述队列的一个或多个复制任务分配给第一控制器21。所谓分配复制任务给第一控制器21,具体可以是将所述复制任务对应的数据发送给第一控制器21。所述复制任务对应的数据包括待复制给灾备阵列30的数据,本发明实施例将待复制给灾备阵列30的数据称为文件数据,也就是文件对应的数据块。由于所述复制任务可以用文件名来描述,因此通过所述文件名以及相应的元数据可以获取文件数据,并发送给第一控制器21。另外,除了所述文件数据之外,所述复制任务对应的数据还包括所述文件数据所属的文件的文件名以及所述文件数据的写入时间。所述文件数据的写入时间是指所述文件数据写入所述生产阵列的时间,它可能是一个具体的时间点,也可能是用于表示一段时间范围的时间区间,还有可能是表示所述文件的版本信息的版本号。本实施例并不对所述写入时间的含义和形式进行任何限定,只要能够通过各个写入时间的对比得出文件数据写入所述生产阵列的先后顺序即可。Similar to the first controller 21, a copy queue is also stored in the cache of the second controller, and the copy queue may include a plurality of copy tasks. The second controller may assign one or more of the copy tasks to the first controller 21 to ensure task balancing between the various controllers. Specifically, the second controller 22 may assign one or more copy tasks that first enter the queue to the first controller 21 according to the principle of first in first out. The assigning the copy task to the first controller 21 may specifically send the data corresponding to the copy task to the first controller 21. The data corresponding to the replication task includes the data to be copied to the disaster recovery array 30. The data to be copied to the disaster recovery array 30 is referred to as file data, that is, the data block corresponding to the file. Since the copy task can be described by a file name, the file data can be acquired by the file name and the corresponding metadata, and sent to the first controller 21. In addition, in addition to the file data, the data corresponding to the copy task further includes a file name of a file to which the file data belongs and a write time of the file data. The write time of the file data refers to the time when the file data is written into the production array, which may be a specific time point, or may be a time interval for indicating a range of time, and may also be representation The version number of the version information of the file. This embodiment does not limit the meaning and form of the write time anyway, as long as the order in which the file data is written into the production array can be obtained by comparison of the respective write times.
一个队列里面的多个复制任务,可能是针对同一个文件的复制任务(这些复制任务 的文件名相同),也可能是针对不同文件的复制任务。以针对同一个文件的多个复制任务为例,所述多个复制任务对应针对所述文件的多次写入操作。本发明实施例可以利用一个序列号来记录对文件的多次写入操作。例如,当一个文件刚被创建时,也就是执行第一次写入操作时,其序列号为1;当所述文件被修改,也就是执行第二次写入操作时,其序列号为2。所谓执行针对一个文件的多个复制任务也就是将所述文件对应的多次写入操作同步至灾备阵列。因此,每次复制任务可以对应一个唯一的序列号。Multiple replication tasks in a queue, possibly replication tasks for the same file (these replication tasks) The file name is the same), or it may be a copy task for different files. Taking multiple replication tasks for the same file as an example, the multiple replication tasks correspond to multiple write operations for the file. Embodiments of the present invention may utilize a serial number to record multiple write operations to a file. For example, when a file is just created, that is, when the first write operation is performed, its serial number is 1; when the file is modified, that is, when the second write operation is performed, its serial number is 2 . The so-called execution of multiple copy tasks for one file is to synchronize the multiple write operations corresponding to the file to the disaster recovery array. Therefore, each copy task can correspond to a unique serial number.
为了方便描述,本实施例将第二控制器22分配给第一控制器21的复制任务称为第一复制任务,将第二控制器22分配给第一控制器21的复制任务之外,队列中剩余的复制任务称为第二复制任务。例如,第一个复制任务以及第二个复制任务可分别包括如下信息:For convenience of description, the copy task assigned to the first controller 21 by the second controller 22 in this embodiment is referred to as a first copy task, and the second controller 22 is assigned to the copy task other than the first controller 21, the queue The remaining replication tasks are called second replication tasks. For example, the first copy task and the second copy task can each include the following information:
文件名file name 序列号serial number 文件数据的写入时间File data write time
0X1000X100 001001 2016.1.12016.1.1
0X1000X100 002002 2016.1.22016.1.2
如上表所示,第一个复制任务对应的数据属于文件名为0X100的文件名,所述数据的写入时间是2016.1.1,所述第一个复制任务的序列号是001;第二个复制任务对应的数据属于文件名为0X100的文件名,所述数据的写入时间是2016.1.2,所述第二个复制任务的序列号是002。As shown in the above table, the data corresponding to the first copy task belongs to the file name with the file name 0X100, the write time of the data is 2016.1.1, the serial number of the first copy task is 001; the second The data corresponding to the copy task belongs to the file name with the file name 0X100, the write time of the data is 2016.1.2, and the serial number of the second copy task is 002.
步骤4:第一控制器21接收第一个复制任务对应的数据,并且将所述数据发送给灾备阵列30。Step 4: The first controller 21 receives the data corresponding to the first replication task, and sends the data to the disaster recovery array 30.
具体的,第二控制器22可以根据文件名以及对应的元数据,获取文件数据,将所述文件数据、文件名、序列号以及所述文件数据的写入时间发送给第一控制器21。由第一控制器21执行所述复制任务,也就是说将所述文件数据、文件名、序列号以及所述文件数据的写入时间发送给灾备阵列30。Specifically, the second controller 22 may acquire file data according to the file name and the corresponding metadata, and send the file data, the file name, the serial number, and the writing time of the file data to the first controller 21. The copying task is executed by the first controller 21, that is, the file data, the file name, the serial number, and the writing time of the file data are sent to the disaster recovery array 30.
步骤5:第二控制器22将第二个复制任务对应的数据发送给灾备阵列30。Step 5: The second controller 22 sends the data corresponding to the second replication task to the disaster recovery array 30.
具体的,第二控制器22根据所述第二个复制任务记录的文件名以及对应的元数据获取文件数据,并且将所述文件数据、文件名以及所述文件数据的写入时间发送给灾备阵列30。Specifically, the second controller 22 acquires file data according to the file name recorded by the second copy task and the corresponding metadata, and sends the file data, the file name, and the write time of the file data to the disaster. The array 30 is prepared.
通过图3所示的实施方式,处于空闲状态的控制器可以向处于繁忙状态的控制器申请复制任务,处于繁忙状态的控制器将自己的复制任务分配一部分给处于空闲状态的控制器,由此,各个控制器可以并行地处理复制任务,提高了复制效率。Through the embodiment shown in FIG. 3, the controller in the idle state can apply for the replication task to the controller in the busy state, and the controller in the busy state allocates a part of the replication task to the controller in the idle state, thereby Each controller can process the replication task in parallel, improving the replication efficiency.
下面介绍当各个控制器并行处理复制任务时,如何保证灾备阵列的文件与生产阵列的文件的一致性。The following describes how to ensure the consistency between the files of the disaster recovery array and the files of the production array when each controller processes the replication tasks in parallel.
由图3所示,第一控制器21执行第一个复制任务,将第一个复制任务对应的文件数据复制给了灾备阵列30;第二控制器22执行第二个复制任务,将第二个复制任务对应的文件数据复制给了灾备阵列30。为了方便描述,将第一个复制任务对应的文件数据简称为数据A,将第二个复制任务对应的文件数据简称为数据B。虽然第一控制器21和第二控制器22是并行地执行这两个复制任务,然而灾备阵列30往往并不是同时接收数据A和数据B的时间的。 As shown in FIG. 3, the first controller 21 performs the first copy task, and copies the file data corresponding to the first copy task to the disaster recovery array 30. The second controller 22 performs the second copy task. The file data corresponding to the two replication tasks is copied to the disaster recovery array 30. For convenience of description, the file data corresponding to the first copy task is simply referred to as data A, and the file data corresponding to the second copy task is simply referred to as data B. Although the first controller 21 and the second controller 22 perform the two copy tasks in parallel, the disaster recovery array 30 often does not receive the data A and the data B at the same time.
情况1:灾备阵列30先接收数据A,再接收数据B。Case 1: The disaster recovery array 30 receives the data A first and then receives the data B.
灾备阵列30在接收数据A时,还会一并接收并保存数据A所属的文件的文件名,第一复制任务的序列号以及数据A的写入时间。灾备阵列可以遍历本地的文件的文件名,确定数据A不属于本地的任何一个文件。从而,创建一个新文件,所述新文件是数据A在生产阵列所属的文件的备份文件。所述备份文件的文件名可以与源文件(数据A在生产阵列所属的文件)一致。随后,灾备阵列30将数据A写入所述备份数据,并记录数据A的写入时间,所述写入时间与生产阵列20发送的数据A的写入时间相同。When receiving the data A, the disaster recovery array 30 also receives and saves the file name of the file to which the data A belongs, the serial number of the first copy task, and the write time of the data A. The disaster recovery array can traverse the file name of the local file to determine that the data A does not belong to any local file. Thus, a new file is created, which is a backup file of the file to which the data A belongs in the production array. The file name of the backup file may be identical to the source file (data A belongs to the file to which the production array belongs). Subsequently, the disaster recovery array 30 writes the data A to the backup data and records the write time of the data A, which is the same as the write time of the data A transmitted by the production array 20.
在灾备阵列30接收数据A之后,接收数据B。由于数据B所属的文件的文件名和上述备份文件的文件名相同,灾备阵列30不需再创建新的文件。接下来,灾备阵列30记录数据B对应的写入时间,所述写入时间与生产阵列20发送的数据B的写入时间相同。灾备阵列30比较数据B的写入时间和数据A的写入时间,确定数据B的写入时间晚于数据A的写入时间,因此数据A是所述备份文件的初始数据,而数据B是所述备份文件的修改数据。修改数据可以覆盖初始数据,灾备阵列执行将数据B写入所述备份文件的操作。After the disaster recovery array 30 receives the data A, the data B is received. Since the file name of the file to which the data B belongs is the same as the file name of the backup file, the disaster recovery array 30 does not need to create a new file. Next, the disaster recovery array 30 records the write time corresponding to the data B, which is the same as the write time of the data B transmitted by the production array 20. The disaster recovery array 30 compares the write time of the data B with the write time of the data A, and determines that the write time of the data B is later than the write time of the data A, so the data A is the initial data of the backup file, and the data B Is the modification data of the backup file. The modified data may overwrite the initial data, and the disaster recovery array performs an operation of writing the data B to the backup file.
情况2:灾备阵列30先接收数据B,再接收数据A。Case 2: The disaster recovery array 30 receives the data B first and then receives the data A.
灾备阵列30在接收数据B时,遍历本地的文件的文件名,确定数据B不属于本地的任何一个文件。从而,创建一个新文件,所述新文件是数据B在生产阵列所属的文件的备份文件。所述备份文件的文件名可以与源文件(数据B在生产阵列所属的文件)一致。随后,灾备阵列30将数据B写入所述备份数据,并记录数据B的写入时间,所述写入时间与生产阵列20发送的数据B的写入时间相同。When receiving the data B, the disaster recovery array 30 traverses the file name of the local file to determine that the data B does not belong to any local file. Thus, a new file is created, which is a backup file of the file to which the data B belongs in the production array. The file name of the backup file may be identical to the source file (data B belongs to the file to which the production array belongs). Subsequently, the disaster recovery array 30 writes the data B to the backup data and records the write time of the data B, which is the same as the write time of the data B transmitted by the production array 20.
在灾备阵列30接收数据B之后,接收数据A。由于数据A所属的文件的文件名和上述备份文件的文件名相同,灾备阵列30不需再创建新的文件。接下来,灾备阵列30记录数据A对应的写入时间,所述写入时间与生产阵列20发送的数据A的写入时间相同。灾备阵列30比较数据B的写入时间和数据A的写入时间,确定数据A的写入时间早于数据B的写入时间,因此数据A是所述备份文件的初始数据,而数据B是所述备份文件的修改数据。初始数据不可以覆盖修改数据,灾备阵列不执行将数据A写入所述备份文件的操作。After the disaster recovery array 30 receives the data B, the data A is received. Since the file name of the file to which the data A belongs is the same as the file name of the backup file, the disaster recovery array 30 does not need to create a new file. Next, the disaster recovery array 30 records the write time corresponding to the data A, which is the same as the write time of the data A transmitted by the production array 20. The disaster recovery array 30 compares the write time of the data B with the write time of the data A, and determines that the write time of the data A is earlier than the write time of the data B, so the data A is the initial data of the backup file, and the data B Is the modification data of the backup file. The initial data may not cover the modified data, and the disaster recovery array does not perform the operation of writing the data A to the backup file.
由此,灾备阵列30在接收针对同一个文件的多个数据时,可以根据各个数据的写入时间判断是否执行对备份文件的写入操作,其原则是,只能用写入时间较晚的数据覆盖写入时间较早的数据,由此保证了文件的一致性。Therefore, when receiving the plurality of data for the same file, the disaster recovery array 30 can determine whether to perform the writing operation on the backup file according to the writing time of each data. The principle is that the writing time can only be used later. The data covers older data written earlier, thus ensuring file consistency.
另外,当生产阵列20中的文件被删除时,为了保持一致,灾备阵列30中的备份文件也需要被删除。具体的,生产阵列20可以向灾备阵列发送删除文件的指令,所述指令包括所述文件的文件名,以及最新的序列号(最后一次写入操作对应的序列号)。灾备阵列30接收所述删除文件的指令之后,根据所述文件名查找到相应的备份文件,判断所述备份文件的最新的序列号是否与生产阵列20发送的序列号相同。若相同,则灾备阵列30执行删除所述备份文件的操作;否则,不执行删除所述备份文件的操作。In addition, when the files in the production array 20 are deleted, in order to maintain consistency, the backup files in the disaster recovery array 30 also need to be deleted. Specifically, the production array 20 may send an instruction to delete the file to the disaster recovery array, the instruction including the file name of the file, and the latest serial number (the serial number corresponding to the last write operation). After receiving the instruction to delete the file, the disaster recovery array 30 searches for the corresponding backup file according to the file name, and determines whether the latest serial number of the backup file is the same as the serial number sent by the production array 20. If they are the same, the disaster recovery array 30 performs an operation of deleting the backup file; otherwise, the operation of deleting the backup file is not performed.
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制。 Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and are not limited thereto.

Claims (16)

  1. 一种远程数据复制方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括生产阵列和灾备阵列,所述生产阵列至少包括第一控制器和第二控制器,所述方法包括:A remote data replication method, wherein the method is applied to a storage system, where the storage system includes a production array and a disaster recovery array, the production array includes at least a first controller and a second controller, Methods include:
    所述第一控制器检测本地是否有复制任务;The first controller detects whether there is a copy task locally;
    当所述第一控制器中没有复制任务时,所述第一控制器向所述第二控制器发送请求消息,所述请求消息用于向所述第二控制器申请复制任务,所述第二控制器至少包括两个复制任务;When there is no replication task in the first controller, the first controller sends a request message to the second controller, where the request message is used to apply for a replication task to the second controller, where The second controller includes at least two replication tasks;
    所述第二控制器根据所述请求消息,读取第一个复制任务对应的数据并发送给所述第一控制器;The second controller reads data corresponding to the first replication task according to the request message, and sends the data to the first controller;
    所述第一控制器接收所述第一个复制任务对应的数据,将所述第一个复制任务对应的数据发送给所述灾备阵列;The first controller receives data corresponding to the first replication task, and sends data corresponding to the first replication task to the disaster recovery array.
    所述第二控制器将第二个复制任务对应的数据发送给所述灾备阵列。The second controller sends data corresponding to the second replication task to the disaster recovery array.
  2. 根据权利要求1所述的方法,其特征在于,所述第二控制器维护有复制队列,所述复制队列包括所述至少两个复制任务;The method according to claim 1, wherein the second controller maintains a copy queue, and the copy queue includes the at least two copy tasks;
    所述第二控制器根据所述请求消息,读取第一个复制任务对应的数据并发送给所述第一控制器包括:所述第二控制器从所述复制队列中获取所述第一个复制任务,将所述第一个复制任务对应的数据发送给所述第一控制器;The second controller, according to the request message, reading data corresponding to the first copy task and sending the data to the first controller, includes: the second controller acquiring the first one from the copy queue a copy task, sending data corresponding to the first copy task to the first controller;
    所述第二控制器将第二个复制任务对应的数据发送给所述灾备阵列包括:The sending, by the second controller, the data corresponding to the second replication task to the disaster recovery array includes:
    所述第二控制器从所述复制队列中获取第二复制任务,将所述第二复制任务对应的数据发送给所述灾备阵列。The second controller obtains a second replication task from the replication queue, and sends data corresponding to the second replication task to the disaster recovery array.
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一个复制任务和所述第二个复制任务是针对同一个文件的复制任务。The method according to claim 1 or 2, wherein the first copy task and the second copy task are copy tasks for the same file.
  4. 根据权利要求3所述的方法,其特征在于,所述文件具有唯一的文件名,所述第一个复制任务对应的数据包括所述文件名,所述文件的初始数据,以及所述初始数据的写入时间,所述第二个复制任务对应的数据包括所述文件名,所述文件的修改数据,以及所述修改数据的写入时间,所述修改数据的写入时间晚于所述初始数据的写入时间。The method according to claim 3, wherein said file has a unique file name, and data corresponding to said first copy task includes said file name, initial data of said file, and said initial data Write time, the data corresponding to the second copy task includes the file name, the modified data of the file, and the write time of the modified data, the write time of the modified data is later than the The write time of the initial data.
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:The method of claim 4, wherein the method further comprises:
    所述灾备阵列接收所述第一个复制任务对应的数据,创建所述文件的备份文件,将所述初始数据写入所述备份文件,所述备份文件的文件名与所述文件的文件名相同;The disaster recovery array receives the data corresponding to the first copy task, creates a backup file of the file, and writes the initial data into the backup file, where the file name of the backup file and the file of the file are Same name;
    在所述接收所述第一个复制任务对应的数据之后,所述灾备阵列接收所述第二个复制任务对应的数据;After receiving the data corresponding to the first replication task, the disaster recovery array receives data corresponding to the second replication task;
    所述灾备阵列确定所述第二个复制任务对应的文件名与所述备份文件的文件名相同时,判断所述修改数据的写入时间是否晚于所述初始数据的写入时间;When the disaster recovery array determines that the file name corresponding to the second copy task is the same as the file name of the backup file, determining whether the write time of the modified data is later than the write time of the initial data;
    当所述灾备阵列确定所述修改数据的写入时间晚于所述初始数据的写入时间时,将所述修改数据写入所述备份文件中。 And when the disaster recovery array determines that the write time of the modified data is later than the write time of the initial data, the modified data is written into the backup file.
  6. 根据权利要求4所述的方法,其特征在于,所述方法还包括:The method of claim 4, wherein the method further comprises:
    所述灾备阵列接收所述第二个复制任务对应的数据,创建所述文件的备份文件,将所述修改数据写入所述备份文件,所述备份文件的文件名与所述文件的文件名相同;The disaster recovery array receives data corresponding to the second replication task, creates a backup file of the file, and writes the modified data into the backup file, where the file name of the backup file and the file of the file are Same name;
    在所述接收所述第二个复制任务对应的数据之后,所述灾备阵列接收所述第一个复制任务对应的数据;After receiving the data corresponding to the second replication task, the disaster recovery array receives data corresponding to the first replication task;
    所述灾备阵列确定所述第一个复制任务对应的文件名与所述备份文件的文件名相同时,判断所述初始数据的写入时间是否晚于所述修改数据的写入时间;When the disaster recovery array determines that the file name corresponding to the first copy task is the same as the file name of the backup file, determining whether the write time of the initial data is later than the write time of the modified data;
    当所述灾备阵列确定所述初始数据的写入时间早于所述修改数据的写入时间时,不执行将所述初始数据写入所述备份文件中的操作。When the disaster recovery array determines that the write time of the initial data is earlier than the write time of the modified data, the operation of writing the initial data into the backup file is not performed.
  7. 一种存储设备,其特征在于,所述存储设备至少包括第一控制器和第二控制器,A storage device, characterized in that the storage device comprises at least a first controller and a second controller,
    所述第一控制器,用于检测本地是否有复制任务,当所述第一控制器中没有复制任务时,所述第一控制器向所述第二控制器发送请求消息,所述请求消息用于向所述第二控制器申请复制任务,所述第二控制器至少包括两个复制任务;The first controller is configured to detect whether there is a replication task locally. When there is no replication task in the first controller, the first controller sends a request message to the second controller, where the request message is sent. And configured to apply for a replication task to the second controller, where the second controller includes at least two replication tasks;
    所述第二控制器,用于根据所述请求消息,读取第一个复制任务对应的数据并发送给所述第一控制器;The second controller is configured to: according to the request message, read data corresponding to the first replication task and send the data to the first controller;
    所述第一控制器,还用于接收所述第一个复制任务对应的数据,将所述第一个复制任务对应的数据发送给其他存储设备;The first controller is further configured to receive data corresponding to the first replication task, and send data corresponding to the first replication task to another storage device;
    所述第二控制器,还用于将第二个复制任务对应的数据发送给所述其他存储设备。The second controller is further configured to send data corresponding to the second replication task to the other storage device.
  8. 根据权利要求7所述的存储设备,其特征在于,所述第二控制器维护有复制队列,所述复制队列包括所述至少两个复制任务;The storage device according to claim 7, wherein the second controller maintains a copy queue, and the copy queue includes the at least two copy tasks;
    所述第二控制器,具体用于从所述复制队列中获取所述第一个复制任务,将所述第一个复制任务对应的数据发送给所述第一控制器;以及从所述复制队列中获取第二复制任务,所述第二复制任务对应的数据发送给所述其他存储设备。The second controller is specifically configured to acquire the first copy task from the copy queue, send data corresponding to the first copy task to the first controller, and copy from the first A second replication task is obtained in the queue, and data corresponding to the second replication task is sent to the other storage device.
  9. 根据权利要求7或8所述的存储设备,其特征在于,所述第一个复制任务和所述第二个复制任务是针对同一个文件的复制任务。The storage device according to claim 7 or 8, wherein the first copy task and the second copy task are copy tasks for the same file.
  10. 根据权利要求9所述的存储设备,其特征在于,所述文件具有唯一的文件名,所述第一个复制任务对应的数据包括所述文件名,所述文件的初始数据,以及所述初始数据的写入时间,所述第二个复制任务对应的数据包括所述文件名,所述文件的修改数据,以及所述修改数据的写入时间,所述修改数据的写入时间晚于所述初始数据的写入时间。The storage device according to claim 9, wherein said file has a unique file name, and said data corresponding to said first copy task includes said file name, initial data of said file, and said initial Data write time, the data corresponding to the second copy task includes the file name, the modified data of the file, and the write time of the modified data, and the write time of the modified data is later than The write time of the initial data.
  11. 一种存储系统,其特征在于,包括生产阵列和灾备阵列,所述生产阵列至少包括第一控制器和第二控制器,A storage system, comprising: a production array and a disaster recovery array, the production array including at least a first controller and a second controller,
    所述第一控制器,用于检测本地是否有复制任务;当所述第一控制器中没有复制任务时,所述第一控制器向所述第二控制器发送请求消息,所述请求消息用于向所述第二控制器申请复制任务,所述第二控制器至少包括两个复制任务; The first controller is configured to detect whether there is a copy task locally; when there is no copy task in the first controller, the first controller sends a request message to the second controller, the request message And configured to apply for a replication task to the second controller, where the second controller includes at least two replication tasks;
    所述第二控制器,用于根据所述请求消息,读取第一个复制任务对应的数据并发送给所述第一控制器;The second controller is configured to: according to the request message, read data corresponding to the first replication task and send the data to the first controller;
    所述第一控制器,还用于接收所述第一个复制任务对应的数据,将所述第一个复制任务对应的数据发送给所述灾备阵列;The first controller is further configured to receive data corresponding to the first replication task, and send data corresponding to the first replication task to the disaster recovery array;
    所述第二控制器,还用于将第二个复制任务对应的数据发送给所述灾备阵列。The second controller is further configured to send data corresponding to the second replication task to the disaster recovery array.
  12. 根据权利要求11所述的存储系统,其特征在于,所述第二控制器维护有复制队列,所述复制队列包括所述至少两个复制任务;The storage system according to claim 11, wherein the second controller maintains a copy queue, and the copy queue includes the at least two copy tasks;
    所述第二控制器,具体用于从所述复制队列中获取所述第一个复制任务,将所述第一个复制任务对应的数据发送给所述第一控制器;以及从所述复制队列中获取第二复制任务,所述第二复制任务对应的数据发送给所述灾备阵列。The second controller is specifically configured to acquire the first copy task from the copy queue, send data corresponding to the first copy task to the first controller, and copy from the first A second replication task is obtained in the queue, and data corresponding to the second replication task is sent to the disaster recovery array.
  13. 根据权利要求11或12所述的存储系统,其特征在于,所述第一个复制任务和所述第二个复制任务是针对同一个文件的复制任务。The storage system according to claim 11 or 12, wherein the first copy task and the second copy task are copy tasks for the same file.
  14. 根据权利要求13所述的存储系统,其特征在于,所述文件具有唯一的文件名,所述第一个复制任务对应的数据包括所述文件名,所述文件的初始数据,以及所述初始数据的写入时间,所述第二个复制任务对应的数据包括所述文件名,所述文件的修改数据,以及所述修改数据的写入时间,所述修改数据的写入时间晚于所述初始数据的写入时间。The storage system according to claim 13, wherein said file has a unique file name, and said data corresponding to said first copy task includes said file name, initial data of said file, and said initial Data write time, the data corresponding to the second copy task includes the file name, the modified data of the file, and the write time of the modified data, and the write time of the modified data is later than The write time of the initial data.
  15. 根据权利要求14所述的存储系统,其特征在于,A storage system according to claim 14 wherein:
    所述灾备阵列,还用于接收所述第一个复制任务对应的数据,创建所述文件的备份文件,将所述初始数据写入所述备份文件,所述备份文件的文件名与所述文件的文件名相同;在所述接收所述第一个复制任务对应的数据之后,接收所述第二个复制任务对应的数据;确定所述第二个复制任务对应的文件名与所述备份文件的文件名相同时,判断所述修改数据的写入时间是否晚于所述初始数据的写入时间;当所述灾备阵列确定所述修改数据的写入时间晚于所述初始数据的写入时间时,将所述修改数据写入所述备份文件中。The disaster recovery array is further configured to receive data corresponding to the first copy task, create a backup file of the file, and write the initial data into the backup file, where the file name and the file name of the backup file are The file name of the file is the same; after receiving the data corresponding to the first copy task, receiving data corresponding to the second copy task; determining a file name corresponding to the second copy task and the When the file name of the backup file is the same, determining whether the write time of the modified data is later than the write time of the initial data; when the disaster recovery array determines that the write time of the modified data is later than the initial data The modification data is written to the backup file at the time of writing.
  16. 根据权利要求14所述的存储系统,其特征在于,A storage system according to claim 14 wherein:
    所述灾备阵列,还用于接收所述第二个复制任务对应的数据,创建所述文件的备份文件,将所述修改数据写入所述备份文件,所述备份文件的文件名与所述文件的文件名相同;在所述接收所述第二个复制任务对应的数据之后,接收所述第一个复制任务对应的数据;确定所述第一个复制任务对应的文件名与所述备份文件的文件名相同时,判断所述初始数据的写入时间是否晚于所述修改数据的写入时间;当所述灾备阵列确定所述初始数据的写入时间早于所述修改数据的写入时间时,不执行将所述初始数据写入所述备份文件中的操作。 The disaster recovery array is further configured to receive data corresponding to the second copy task, create a backup file of the file, and write the modified data into the backup file, where the file name and the file name of the backup file are The file name of the file is the same; after receiving the data corresponding to the second copy task, receiving data corresponding to the first copy task; determining a file name corresponding to the first copy task and the When the file names of the backup files are the same, determining whether the write time of the initial data is later than the write time of the modified data; when the disaster recovery array determines that the write time of the initial data is earlier than the modified data At the time of writing, the operation of writing the initial data into the backup file is not performed.
PCT/CN2017/081341 2016-10-28 2017-04-21 Remote data replication method, storage device and storage system WO2018076633A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610971200.0A CN106528338B (en) 2016-10-28 2016-10-28 Remote data copying method, storage device and storage system
CN201610971200.0 2016-10-28

Publications (1)

Publication Number Publication Date
WO2018076633A1 true WO2018076633A1 (en) 2018-05-03

Family

ID=58325810

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/081341 WO2018076633A1 (en) 2016-10-28 2017-04-21 Remote data replication method, storage device and storage system

Country Status (2)

Country Link
CN (2) CN106528338B (en)
WO (1) WO2018076633A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960613A (en) * 2019-03-11 2019-07-02 中国银联股份有限公司 A kind of method and device of data batch processing
CN115277376A (en) * 2022-09-29 2022-11-01 深圳华锐分布式技术股份有限公司 Disaster recovery switching method, device, equipment and medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528338B (en) * 2016-10-28 2020-08-14 华为技术有限公司 Remote data copying method, storage device and storage system
CN109164985B (en) * 2018-08-27 2020-07-07 华为技术有限公司 Method for copying data, master device and slave device
CN109491980A (en) * 2018-11-02 2019-03-19 郑州云海信息技术有限公司 A kind of remote replication method of file system, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404564A (en) * 2015-12-16 2016-03-16 浪潮(北京)电子信息产业有限公司 Data remote disaster tolerance method and apparatus
CN105550367A (en) * 2015-06-30 2016-05-04 巫立斌 Asynchronous remote copy method for memory
CN106528338A (en) * 2016-10-28 2017-03-22 华为技术有限公司 Remote data replication method, storage equipment and storage system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624134B2 (en) * 2006-06-12 2009-11-24 International Business Machines Corporation Enabling access to remote storage for use with a backup program
US8548944B2 (en) * 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
CN102799475B (en) * 2012-06-29 2015-01-28 东南大学 Multi-replication fault-tolerant parallel task scheduling method based on task replication
CN107133132B (en) * 2013-07-26 2020-11-17 华为技术有限公司 Data sending method, data receiving method and storage device
CN103649901A (en) * 2013-07-26 2014-03-19 华为技术有限公司 Data transmission method, data receiving method and sotring equipment
CN103617098B (en) * 2013-12-03 2017-06-16 上海爱数信息技术股份有限公司 Intelligent backup method and intelligent backup system based on data variation
CN105988901B (en) * 2013-12-12 2019-06-18 华为技术有限公司 Data copy method and storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550367A (en) * 2015-06-30 2016-05-04 巫立斌 Asynchronous remote copy method for memory
CN105404564A (en) * 2015-12-16 2016-03-16 浪潮(北京)电子信息产业有限公司 Data remote disaster tolerance method and apparatus
CN106528338A (en) * 2016-10-28 2017-03-22 华为技术有限公司 Remote data replication method, storage equipment and storage system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960613A (en) * 2019-03-11 2019-07-02 中国银联股份有限公司 A kind of method and device of data batch processing
CN109960613B (en) * 2019-03-11 2023-05-12 中国银联股份有限公司 Data batch processing method and device
CN115277376A (en) * 2022-09-29 2022-11-01 深圳华锐分布式技术股份有限公司 Disaster recovery switching method, device, equipment and medium

Also Published As

Publication number Publication date
CN106528338A (en) 2017-03-22
CN106528338B (en) 2020-08-14
CN112068992A (en) 2020-12-11

Similar Documents

Publication Publication Date Title
US11461202B2 (en) Remote data replication method and system
US10430286B2 (en) Storage control device and storage system
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
JP6344798B2 (en) Data transmission method, data reception method, and storage device
JP4741371B2 (en) System, server apparatus, and snapshot format conversion method
US8204858B2 (en) Snapshot reset method and apparatus
WO2018076633A1 (en) Remote data replication method, storage device and storage system
CN106776147B (en) Differential data backup method and differential data backup device
JP4419884B2 (en) Data replication apparatus, method, program, and storage system
WO2017113213A1 (en) Method and device for processing access request, and computer system
US8140886B2 (en) Apparatus, system, and method for virtual storage access method volume data set recovery
CN110825559A (en) Data processing method and equipment
JP2015049633A (en) Information processing apparatus, data repair program, and data repair method
JP2005215940A (en) Storage system, server apparatus, and preceding copy data preparation method
JP2017208113A (en) Data storage method, data storage apparatus, and storage device
US20190073128A1 (en) Computer system, data management method, and data management program
JP2014059760A (en) Storage device, control method of storage device, and control program of storage device
CN112286869A (en) Snapshot creating method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17864269

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17864269

Country of ref document: EP

Kind code of ref document: A1