WO2019091341A1 - 快照创建方法、装置及系统 - Google Patents

快照创建方法、装置及系统 Download PDF

Info

Publication number
WO2019091341A1
WO2019091341A1 PCT/CN2018/113728 CN2018113728W WO2019091341A1 WO 2019091341 A1 WO2019091341 A1 WO 2019091341A1 CN 2018113728 W CN2018113728 W CN 2018113728W WO 2019091341 A1 WO2019091341 A1 WO 2019091341A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage device
storage
data
snapshot
partition
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.)
Ceased
Application number
PCT/CN2018/113728
Other languages
English (en)
French (fr)
Inventor
李伟
佘海斌
刘峥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of WO2019091341A1 publication Critical patent/WO2019091341A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Definitions

  • the present application relates to the field of storage technologies, and in particular, to a snapshot creation method, apparatus, and system.
  • Disk snapshots are mainly used for backup and disaster recovery. At different points in time, users can create several snapshots of a disk to form a snapshot chain. To recover disk data, you can roll back the disk data and restore the data on the disk to the contents of any snapshot on the snapshot chain.
  • disk snapshots are typically stored locally on disk. As the number of snapshots continues to increase, more and more storage space is required, but the storage space of the disk is limited. If you want to ensure the storage space of the disk, you need to limit the number of snapshots. If you want to ensure the number of snapshots, you need to save more storage space on the disk. It can be seen that the existing snapshot technology faces the contradiction between storage space utilization and the number of snapshots, and a technical solution is needed to solve the contradiction between the two.
  • aspects of the present application provide a method, a device, and a system for creating a snapshot, which are used to provide a new method for creating a snapshot, which can improve the utilization of the storage device and meet the requirements of the storage device for the number of snapshots.
  • the embodiment of the present application provides a snapshot creation method, including:
  • the embodiment of the present application further provides a snapshot creation method, including:
  • the basic data is data that needs to be created on the first storage device
  • the embodiment of the present application further provides a storage device, which is implemented as a first storage device, and includes: a memory, a processor, and a communication component;
  • the memory includes a program storage area for storing a program, and a data storage area for storing data;
  • the processor is coupled to the memory for executing the program for:
  • the communication component is configured to send the snapshot creation instruction to the second storage device.
  • the embodiment of the present application further provides a storage device, including: a memory, a processor, and a communication component;
  • the communication component is configured to receive basic data that is synchronized by the first storage device and location information of the basic data on the first storage device; the basic data is that the first storage device needs to create a snapshot. Data; the performance matching degree between the storage device and the first storage device meets a setting requirement;
  • the communication component is further configured to receive a snapshot creation instruction sent by the first storage device, where the snapshot creation instruction is used to indicate that a snapshot is created for the basic data on a third storage device;
  • the memory includes a program storage area for storing a program, and the data storage area is configured to store the basic data and location information of the basic data on the first storage device ;
  • the processor is coupled to the memory for executing the program for:
  • the embodiment of the present application further provides a storage system, including: a first storage device, a second storage device, and a third storage device that are sequentially connected; and the performance matching degree of the second storage device and the first storage device meets Set requirements;
  • the first storage device is configured to acquire basic data that needs to be created on the first storage device, and location information of the basic data on the first storage device, and the basic data and the basic data. Having the location information on the first storage device synchronized to the second storage device; and transmitting a snapshot creation instruction to the second storage device to instruct the second storage device to create on the third storage device a snapshot of the base data;
  • the second storage device is configured to receive the basic data and location information of the basic data on the first storage device, and receive the snapshot creation instruction, and based on the basic data and the basic data. Creating a snapshot of the base data on the third storage device at the location information on the first storage device.
  • the second storage device that meets the setting requirement with the performance matching degree of the first storage device is used as a bridge between the first storage device and the third storage device. Therefore, the snapshot may be created for the first storage device on the third storage device, so that the snapshot of the first storage device is stored on the third storage device, and the space advantage of the third storage device is utilized to make the number of snapshots no longer subject to The storage space occupied by the snapshot on the first storage device is saved, which is beneficial to improving the space utilization of the first storage device.
  • FIG. 1 is a schematic structural diagram of a storage system according to an exemplary embodiment of the present application
  • FIG. 2a is a schematic diagram of a process for creating a snapshot of a storage system according to an exemplary embodiment of the present application
  • FIG. 2b is an implementation manner of a storage partition state table according to an exemplary embodiment of the present application.
  • 2c is a schematic diagram of a process of performing a write operation in a storage system according to an exemplary embodiment of the present application
  • FIG. 2 is a schematic diagram of a process of performing a rollback operation in a storage system according to an exemplary embodiment of the present application
  • FIG. 3 is a schematic flowchart diagram of a snapshot creation method according to another exemplary embodiment of the present application.
  • FIG. 4 is a schematic flowchart diagram of a snapshot creation method according to another exemplary embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a snapshot creation apparatus according to still another exemplary embodiment of the present application.
  • FIG. 5b is a schematic structural diagram of a storage device according to another exemplary embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of another snapshot creation apparatus according to still another exemplary embodiment of the present application.
  • FIG. 6b is a schematic structural diagram of another storage device according to another exemplary embodiment of the present application.
  • the general principle is: adopting the first storage device for the first storage device that needs to create a snapshot.
  • the second storage device that meets the setting requirements of the device serves as a bridge between the first storage device and the third storage device, and then creates a snapshot for the first storage device on the third storage device to implement the first storage device.
  • the snapshot is stored on the third storage device, and the space advantage of the third storage device is utilized to make the number of snapshots no longer limited, and the storage space occupied by the snapshot on the first storage device can be saved, which is beneficial to improving the first storage.
  • the space utilization of the device is: adopting the first storage device for the first storage device that needs to create a snapshot.
  • the second storage device that meets the setting requirements of the device serves as a bridge between the first storage device and the third storage device, and then creates a snapshot for the first storage device on the third storage device to implement the first storage device.
  • the snapshot is stored on the third storage device, and the space advantage of the third storage device is utilized to make the number of snapshots no longer
  • FIG. 1 is a schematic structural diagram of a storage system according to an exemplary embodiment of the present application. As shown in FIG. 1, the system includes: a first storage device, a second storage device, and a third storage device. The first storage device is connected to the second storage device, and the second storage device is connected to the third storage device.
  • the first storage device may be any device that has certain storage capabilities and needs to create a snapshot, such as a server, a desktop computer, a personal computer, a mobile phone, a tablet, a database, and the like.
  • the server can be a regular server, a cloud server, a cloud host, a virtual center, and the like.
  • the first storage device mainly includes: a processing unit and a storage medium.
  • the processing unit is primarily responsible for the control logic of the first storage device.
  • the storage medium is mainly responsible for storing various data.
  • the storage medium may be a solid state drive (SSD) disk, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), fast. Any one or several of flash memory and the like.
  • the number of processing units and storage media depends on the configuration and type of the first storage device.
  • the first storage device may also include some basic configurations, such as a power supply, a fan, a system bus, a network card chip, and the like.
  • the creating a snapshot of the first storage device may be a process of creating a snapshot for one or some storage media of the first storage device. For example, a number of snapshots may be created for the storage medium of the first storage device at different points in time to form a snapshot chain of the storage medium.
  • the data stored in the storage medium of the first storage device may vary depending on the application scenario.
  • the storage medium of the first storage device is implemented as a disk of the virtual machine, and is used to store data of the virtual machine, such as an operating system required for running the virtual machine, log data generated by the virtual machine running process, The result of running the virtual machine and some intermediate data.
  • the main purpose of the third storage device is to provide an additional storage space for the first storage device to store a snapshot of the first storage device.
  • the third storage device may be any device having a certain storage capacity, such as a server, a desktop computer, a personal computer, a mobile phone, a tablet, a database, and the like.
  • the performance of the third storage device, the type of the storage medium, and the size of the storage space may be determined according to specific application requirements.
  • the third storage device may also include a processing unit, a storage medium, and some basic configurations, which are not described in detail. For convenience of illustration, the storage medium portion of the third storage device is primarily shown in FIG. The difference between the third storage device and the first storage device is that the model, performance, and number of internal components may vary.
  • the third storage device may select some low-speed, low-cost but large-space storage media, which may reduce the snapshot storage cost.
  • the third storage device may select any one or more of a serial hard disk (Serial ATA, SATA) and a magnetic tape cassette.
  • the main functions of the first storage device and the third storage device are different, and the performance of the first storage device and the third storage device may be different to some extent.
  • the first storage device can support real-time high-throughput read and write requests, and thus a high-speed storage medium such as an SSD disk can be selected.
  • the snapshot is used at a relatively low frequency and the read/write speed is not high. Therefore, the third storage device can select some low-speed storage media, such as SATA disks. For the third storage device, selecting a low-speed storage medium has the advantages of lower price and large storage space.
  • the high speed storage medium is selected here by the first storage device, and the third storage device selects the low speed storage medium as an example, but is not limited thereto.
  • the first storage device may select a low speed storage medium and the third storage device selects a medium speed storage medium, or even a high speed storage medium.
  • the performance of the first storage device and/or the third storage device may be affected.
  • the main impact on the first storage device is considered here. For example, in the case where the third storage device selects the low-speed storage medium, and the first storage device selects the high-speed storage medium, the read/write speed of the first storage device is lowered because the read/write speed of the third storage device needs to be matched.
  • a second storage device having a performance matching with the first storage device is added between the first storage device and the third storage device, if the first storage device directly writes or reads data to the second storage device.
  • the performance impact on the first storage device is relatively small. Therefore, the performance difference between the first storage device and the third storage device can be solved by using the second storage device as a bridge between the first storage device and the third storage device.
  • the storage of the snapshot of the first storage device to the third storage device can fully utilize the space advantage of the third storage device, so that the number of snapshots is no longer limited, and the storage space occupied by the snapshot on the first storage device can be saved. It is beneficial to improve the space utilization of the first storage device.
  • the second storage device may also include a processing unit, a storage medium, and some basic configurations, which are not described in detail.
  • the difference between the second storage device and the first storage device is that the model, performance, and number of internal components may vary.
  • the second storage device may be selected according to the setting requirement and the performance index of the first storage device. For example, if the first storage device selects a high-speed storage medium, the second storage device can select a medium-speed storage medium. For example, a hybrid storage medium using a SATA hard disk and an SSD hard disk can be selected.
  • the requirements for performance matching between the second storage device and the first storage device may also differ according to application scenarios and application requirements.
  • the overall performance matching degree between the second storage device and the first storage device may be required to be greater than the overall matching degree threshold, or the performance matching degree between the second storage device and the first storage device may be required.
  • the performance involved in the performance matching may include the read/write speed of the storage device, the size of the storage space, the price, and the like.
  • the snapshot when the snapshot needs to be created, the basic data that needs to be created on the first storage device and the location information of the basic data on the first storage device are acquired; and the basic data and the basic data are stored in the first storage.
  • the location information on the device is synchronized to the second storage device; then a snapshot creation instruction is sent to the second storage device to instruct the second storage device to create a snapshot of the underlying data on the third storage device.
  • the second storage device may receive the basic data synchronized by the first storage device and the location information of the basic data on the first storage device, and receive a snapshot creation instruction sent by the first storage device, where the snapshot creation instruction is used for Instructing the second storage device to create a snapshot for the base data on the third storage device; and further creating a snapshot of the base data on the third storage device based on the base data and the location information of the base data on the first storage device.
  • the operation of creating a snapshot for the first storage device may be triggered by a user or some event. Based on this, in response to the snapshot creation triggering operation, the operation of acquiring the basic data of the snapshot on the first storage device and the location information of the basic data on the first storage device and subsequent operations may be performed to create a snapshot for the first storage device.
  • the snapshot may be adaptively created for the first storage device according to the working state of the first storage device. Based on this, the working state of the first storage device can be monitored.
  • the basic data that needs to be created on the first storage device and the location of the basic data on the first storage device are performed.
  • the operation of the information and subsequent operations create a snapshot for the first storage device.
  • the write operation has an impact on the snapshot creation process. Therefore, the write operation is mainly considered here.
  • This method does not affect the normal operation of the first storage device, and can create a snapshot for the first storage device in time, which is beneficial to improve snapshot creation. effectiveness.
  • the two approaches described above can be combined. For example, when there is no write operation on the first storage device, performing acquisition of the basic data on the first storage device that needs to be created, and the location information of the basic data on the first storage device and the basic data to be acquired and the basis
  • the location information of the data on the first storage device is synchronized to the operation of the second storage device.
  • the snapshot creation triggering operation is received, acquiring the remaining data on the first storage device that needs to be created and the location information of the basic data on the first storage device, and the basic data and the basic data are on the first storage device.
  • the location information is synchronized to the second storage device, and a snapshot creation instruction is sent to the second storage device, instructing the second storage device to create a snapshot on the third storage device for all the base data acquired during the period.
  • an image file of the first storage device can be created on the second storage device.
  • the base data and the location information of the base data on the first storage device can be synchronized to the image file of the first storage device on the second storage device.
  • the split data may be synchronized to the location information of the underlying data and the underlying data on the first storage device to the image file of the first storage device on the second storage device using a split-mirror technique.
  • the mirroring technique can reduce the impact on the read and write operations of the first storage disk.
  • the basic data that needs to be created on the first storage device varies according to the implementation form of the first storage device and the snapshot mechanism adopted. For example, it may be the full amount of data at a certain moment on the first storage device; or may be the incremental data at a certain moment.
  • the first storage device includes a plurality of storage partitions.
  • the size and number of storage partitions are not limited.
  • each storage partition has the same size, for example, 2M, 3M or 5M, and the like.
  • the emphasis here is that the storage medium in the first storage device has a plurality of storage partitions, for example, the storage partition may be referred to as a block. Based on this, creating a snapshot for the first storage device may be the process of creating a snapshot of multiple storage partitions.
  • the first storage device may determine, from the plurality of storage partitions, a storage partition whose data has changed since the last snapshot creation operation; for convenience of description and differentiation, the storage partition whose data has changed since the last snapshot creation operation is simply referred to as target storage. Partition. Then, the first storage device acquires data in the target storage partition as the base data, and acquires the label of the target storage partition as the location information of the base data on the first storage device. Wherein, the location of the target storage partition on the first storage device may be determined according to the label of the target storage partition and the size of the target storage partition. Next, the first storage device synchronizes the data in the target storage partition and the label of the target storage partition to the image file of the first storage device on the second storage device.
  • the processing unit of the first storage device may create a thread, such as thread a shown in FIG. 1, and synchronize the data in the target storage partition and the label of the target storage partition by thread a to The first storage device is in an image file on the second storage device.
  • the second storage device receives data in the target storage partition synchronized by the first storage device and a label of the target storage partition. After the first storage device synchronizes the data in the target storage partition and the label of the target storage partition to the second storage device, sends a snapshot creation instruction to the second storage device to indicate that the second storage device is in the third storage device for the target storage partition. Create a snapshot on it.
  • the second storage device receives the snapshot creation instruction sent by the first storage device, and creates a snapshot on the third storage device based on the data in the target storage partition and the label of the target storage partition according to the snapshot creation instruction.
  • the second storage device may store the data in the target storage partition to the image file of the first storage device on the second storage device according to the label of the target storage partition. Further optionally, the second storage device may configure multiple image files, for example three, for the first storage device to improve the availability.
  • FIG. 2a The process of the first storage device synchronizing the target storage partition to the second storage device and the second storage device selecting the incremental snapshot mechanism to create a snapshot on the third storage device can be seen in FIG. 2a.
  • Each snapshot creation operation will generate a new snapshot, and different snapshots are distinguished by the snapshot identifier. As shown in FIG.
  • the target storage partition is block-1 and block-N
  • the second storage device needs to allocate an identifier for the snapshot to which the target storage partition belongs, for example, snapshot-id2; establish the label of the target storage partition and the target storage partition belongs to The mapping relationship between the identifiers of the snapshots, that is, block-1:snapshot-id2 and block-N:snapshot-id2; backs up the data in the target storage partition and the mapping relationship to the third storage device.
  • mapping relationship between the label of the target storage partition and the identifier of the snapshot to which the target storage partition belongs may be stored by using a mapping table on the third storage device, but is not limited thereto.
  • the first storage device maintains the data state of each storage partition through a storage partition state table.
  • the data state of the storage partition is divided into a rewrite state, a hold state, and an invalid state as needed, but is not limited to these three states.
  • the rewriting state means that the data in the storage partition has changed since the last snapshot creation operation, which means that the snapshot needs to be created as incremental data in the incremental snapshot mechanism;
  • the retention state refers to the storage since the last snapshot creation operation.
  • the data in the partition has not changed;
  • the invalid state means that the data in the storage partition has expired and cannot be used.
  • an implementation style of the storage partition status table is provided, but is not limited thereto.
  • the storage partition status table may be a bitmap file.
  • status-0 indicates an invalid state
  • status-1 indicates a hold status
  • status-2 indicates a rewrite status.
  • the representation of the three states is not limited to that shown in Figure 2b.
  • the first storage device may read the data state of each of the plurality of storage partitions from the storage partition state table; and then obtain the storage partition whose data state is the rewritten state. And as a target storage partition; the data in the target storage partition and the label of the target storage partition are synchronized to the second storage device, and the snapshot creation instruction is sent to the second storage device to indicate that the second storage device is in the third target storage partition Create a snapshot on the storage device.
  • the first storage device may perform the target storage partition after synchronizing the data in the target storage partition and the label of the target storage partition to the second storage device.
  • the data state is changed from the overwrite state to the hold state.
  • the first storage device maintains the state of each storage partition by using the storage partition state table, and can conveniently identify the target storage partition for providing basic data during the snapshot creation process, which is beneficial to improving the snapshot creation efficiency.
  • the user may initiate a write operation to the first storage device.
  • a write operation since the data in the storage partition is being overwritten, it is preferable not to perform the snapshot creation operation during the write operation.
  • snapshot creation it is necessary to keep the data state of a storage partition unchanged, so it is best not to perform a write operation during snapshot creation. Execution is not optimal when the write operation and the snapshot creation operation are different, but is not limited thereto. As the storage device's processing power continues to increase, it is also possible to perform both write operations and snapshot creation operations. However, there is a certain relationship between the write operation and the snapshot creation operation, for example, all related to the data state of the storage partition.
  • the execution is performed by a write operation before or after the snapshot creation operation.
  • the process of the write operation includes: the first storage device receives a write instruction, the write instruction carries a label of the storage partition to be written; and obtains the storage partition to be written from the storage partition status table according to the label of the storage partition to be written. Data state; writes to the write storage partition according to the data state of the storage partition to be written.
  • performing a write operation on the write storage partition may include the following situations:
  • Case 1 The data state of the storage partition to be written is the hold state, because the execution of the write data to the write storage partition affects the data state of the storage partition to be written, so the data state of the storage partition to be written is modified to the rewritten state, and is waiting Write operations in the write storage partition provide the basis for data state-based snapshot creation operations.
  • Case 2 The data state of the storage partition to be written is the overwrite state, indicating that the data in the storage partition to be written has changed, but only once changed, the data state of the write storage partition will not be affected, so it can be directly Write operations are performed in the write storage partition.
  • Case 3 The data state of the storage partition to be written is in an invalid state, which means that the storage partition to be written is not suitable for the write operation, and the data in the storage partition to be written needs to be updated to valid data before the write operation is performed, and the write operation can be performed.
  • the snapshot data of the storage partition is restored to the write storage partition, that is, the data in the storage partition to be written is updated to the snapshot data of the storage partition to be written on the third storage device, and the data state of the storage partition to be written is completed after the update operation is completed. Modified to rewrite the state and perform a write operation in the storage partition to be written.
  • Case 3 can be regarded as a manner of acquiring snapshot data from the third storage device triggered by the write operation during the snapshot rollback process.
  • the first storage device may send a data acquisition instruction to the second storage device, where the data acquisition instruction carries the label of the storage partition to be written, Instructing the second storage device to acquire snapshot data of the storage partition to be written in a certain snapshot from the third storage device and return.
  • a snapshot depends on the snapshot rollback requirement and is a snapshot that needs to be rolled back.
  • the second storage device receives the data acquisition instruction of the first storage device, and obtains a snapshot to be written to the storage partition according to the mapping relationship between the identifier of each snapshot stored on the third storage device and the label of the storage partition included in each snapshot. And obtaining snapshot data of the storage partition to be written in the snapshot to be owned and returning to the first storage device.
  • a snapshot rollback operation may be initiated when the first storage device fails or needs to be rolled back to a previous state.
  • a disk with a first storage device as a virtual machine is used as an example.
  • the disk corresponding to the virtual machine also needs to be hot-migrated.
  • a snapshot is taken for the data state before the virtual machine is migrated.
  • the virtual machine is re-allocated to the virtual machine at the destination end, and the virtual machine is restored to the pre-migration data state through the snapshot rollback operation, so that the virtual machine can continue to work.
  • the logical relationship between the snapshot rollback operation and the snapshot creation operation is similar to the logical relationship between the write operation and the snapshot creation operation, and is not described here.
  • the snapshot rollback operation is performed before or after the snapshot creation operation as an example.
  • the snapshot rollback process includes: the first storage device sends a rollback instruction to the second storage device, where the rollback instruction carries an identifier of the snapshot to be rolled back, so that the second storage device determines that the storage partition is to be rolled back.
  • the second storage device receives the rollback instruction sent by the first storage device, and parses the identifier of the snapshot to be rolled back from the rollback instruction.
  • the second storage device obtains, from the third storage device, the label of the storage partition corresponding to the snapshot to be rolled back according to the identifier of the snapshot to be rolled back; and further, according to the identifier of the current snapshot of each storage partition in the plurality of storage partitions of the first storage device
  • the label of the corresponding storage partition to be rolled back is analyzed, and the storage partition of the current snapshot that is different from the identifier of the snapshot to be rolled back is obtained from the plurality of storage partitions as the storage partition to be rolled back, and the storage partition to be rolled back
  • the label is returned to the first storage device for the first storage device to perform a rollback operation to roll back the storage partition.
  • the second storage device may add a label of the storage partition to be rolled back to the storage partition list to be rolled back, and return the list of the storage partition to be rolled back to the first storage device.
  • the second storage device waits for the label of the storage partition to be rolled back.
  • the first storage device may modify the data state of the storage partition to be rolled back to invalid according to the label of the storage partition to be rolled back returned by the second storage device.
  • the status means that the data of these storage partitions needs to be rolled back; then the data in the storage partition to be rolled back is replaced with the snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
  • the storage partition in the overwritten state in addition to the storage partition to be rolled back, the storage partition in the overwritten state can be acquired, and the data state of the storage partition in the overwritten state is modified to an invalid state, and these are stored.
  • the data in the partition is replaced with the snapshot data of these storage partitions in the snapshot to be rolled back.
  • the data to be rolled back is replaced with the snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
  • two trigger modes are used to trigger an operation of acquiring a snapshot to be rolled back from the third storage device.
  • One is the front-end triggering method, such as triggered by a write operation to a memory partition of an invalid state.
  • the process of acquiring the to-be-rolled snapshot from the third storage device by the write operation includes: when receiving the write instruction for the storage partition to be rolled back, sending a data acquisition instruction to the second storage device to indicate that the second storage device is
  • the third storage device acquires the snapshot data of the storage partition to be rolled back in the snapshot to be rolled back; receives the snapshot data of the to-be-rolled storage partition to be rolled back by the second storage device; and is to be rolled back in the storage partition
  • the data is replaced with the snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
  • the data acquisition instruction may be received, and the snapshot data of the storage partition to be rolled back in the snapshot to be rolled back is obtained from the third storage device and returned.
  • the other is the back-end triggering method, for example, lazy loading (Lazyoad), or periodic loading.
  • the processing unit of the first storage device may create another thread, such as thread b, and the thread b may trigger the snapshot to be rolled back from the third storage device at the back end.
  • the thread b may be a Lazyoad thread.
  • the process of obtaining the to-be-rolled snapshot from the third storage device by the Lazyoad thread triggers: sending a data acquisition instruction to the second storage device according to the mechanism of the Lazyoad mode, to instruct the second storage device to acquire the to-be-supplied from the third storage device Rolling back the snapshot data of the storage partition in the snapshot to be rolled back; receiving the snapshot data of the to-be-rolled storage partition returned by the second storage device in the snapshot to be rolled back; replacing the data in the storage partition to be rolled back with the data to be rolled back The snapshot data of the storage partition in the snapshot to be rolled back.
  • the data acquisition instruction may be received, and the snapshot data of the storage partition to be rolled back in the snapshot to be rolled back is obtained from the third storage device and returned.
  • the first storage device only needs to synchronize the data in the storage area whose data has changed since the last snapshot creation operation to the second storage device, thereby reducing the amount of data transmission, and
  • the second storage device uses an incremental snapshot mechanism to store data on the third storage device, which can reduce the snapshot data copy amount and copy time.
  • an expensive high-speed storage medium is required to meet the needs of the service.
  • the architecture of the storage system provided by the embodiment of the present application may be adopted, and the intermediate medium-speed storage medium is used as a bridge to connect the high-speed.
  • the snapshot of the storage medium is stored on the storage medium with lower cost, which greatly saves the cost of the snapshot data and does not affect the read and write speed of the high-speed storage medium.
  • FIGS. 2a to 2d block-1, block-2, block-3, and block-N and the like conform to different storage partitions, and this representation is illustrative and not limited thereto.
  • the number of storage partitions is not limited to that shown in Figures 2a-2d.
  • the following embodiments of the present application respectively provide several snapshot creation processes from the perspective of the first storage device and the second storage device.
  • FIG. 3 is a schematic flowchart diagram of a snapshot creation method according to another exemplary embodiment of the present application. The method is described from the perspective of a first storage device, as shown in FIG. 3, the method includes:
  • the basic data and the location information of the basic data on the first storage device are synchronized to the second storage device, and the performance matching degree between the second storage device and the first storage device meets the setting requirement.
  • the snapshot when the snapshot needs to be created, the basic data that needs to be created on the first storage device and the location information of the basic data on the first storage device may be acquired; The location information of the base data on the first storage device is synchronized to the second storage device; then a snapshot creation instruction is sent to the second storage device to instruct the second storage device to create a snapshot of the base data on the third storage device.
  • the second storage device that is similar in performance to the first storage device serves as a bridge between the first storage device and the third storage device, and the performance between the first storage device and the third storage device is solved.
  • the series of problems caused by the difference makes it possible to store the snapshot of the first storage device to the third storage device.
  • the snapshot of the first storage device is stored on the third storage device in cooperation with the second storage device, and the space advantage of the third storage device can be fully utilized, so that the number of snapshots is no longer limited, and the first storage can be saved.
  • the storage space occupied by the snapshot on the device is beneficial to improve the space utilization of the first storage device.
  • an implementation manner of the foregoing step 301 includes: performing an operation of acquiring basic data and location information of the basic data on the first storage device when listening to a write operation on the first storage device; and/ Or, in response to the snapshot creation trigger operation, an operation of acquiring the base data and the location information of the base data on the first storage device is performed.
  • an implementation of the foregoing step 302 includes synchronizing the basic data and the location information of the basic data on the first storage device to the image file of the first storage device on the second storage device.
  • the first storage device includes a plurality of storage partitions.
  • another implementation manner of the foregoing step 301 includes: determining, from a plurality of storage partitions, a target storage partition whose data has changed since the last snapshot creation operation; acquiring the target storage partition The data and the label of the target storage partition are respectively used as location information of the base data and the base data on the first storage device.
  • the first storage device can maintain the data state of each storage partition through the storage partition state table. Based on this, the foregoing determining, from the plurality of storage partitions, the target storage partition that changes data after the last snapshot creation operation includes: reading data states of each of the plurality of storage partitions from the storage partition state table; acquiring data The storage partition whose status is the rewritten state is used as the target storage partition.
  • the data state of the target storage partition may be modified from the overwritten state to the retained state.
  • a write operation on the storage partition on the first storage device can also be performed.
  • a process of writing includes: receiving a write instruction, the write instruction carrying a label of a storage partition to be written; and obtaining, from the storage partition status table, according to a label of the storage partition to be written Write the data state of the storage partition; perform a write operation on the write storage partition according to the data state of the storage partition to be written.
  • performing a write operation on the write storage partition includes the following cases:
  • the data state of the storage partition to be written is a hold state
  • the data state of the storage partition is modified to an overwrite state, and a write operation is performed in the storage partition to be written;
  • the data in the storage partition to be written is updated to the snapshot data of the storage partition to be written on the third storage device, and the data state of the storage partition to be written is modified to the rewritten state.
  • Write operations are performed in the write storage partition.
  • a rollback operation in addition to creating a snapshot for a storage partition on the first storage device, a rollback operation can also be initiated.
  • a process of snapshot rollback includes: sending a rollback instruction to the second storage device, where the rollback instruction carries an identifier of the snapshot to be rolled back, for the second storage device to determine to be rolled back
  • the storage partition is changed according to the label of the storage partition to be rolled back by the second storage device, and the data state of the storage partition to be rolled back is changed to an invalid state; the data in the storage partition to be rolled back is replaced with the storage partition to be rolled back. Roll back the snapshot data in the snapshot.
  • the foregoing manner of replacing the data in the storage partition to be rolled back into the snapshot data of the storage partition to be rolled back in the snapshot includes: when receiving the write instruction or when the data acquisition period arrives, to the second storage
  • the device sends a data acquisition instruction to instruct the second storage device to acquire, from the third storage device, the snapshot data of the storage partition to be rolled back in the snapshot to be rolled back; and receive the to-be-rolled storage partition returned by the second storage device to be rolled back the snapshot.
  • Snapshot data in the roll replace the data in the bucket to be rolled back with the snapshot data of the bucket to be rolled back in the snapshot to be rolled back.
  • FIG. 4 is a schematic flowchart diagram of a snapshot creation method according to another exemplary embodiment of the present application. The method is described from the perspective of a second storage device, as shown in FIG. 4, the method includes:
  • the basic data is data that needs to be created on the first storage device.
  • the second storage device serves as a bridge between the first storage device and the third storage device, and solves a series of problems caused by performance differences between the first storage device and the third storage device. It becomes a reality to store a snapshot of the first storage device onto the third storage device.
  • the second storage device creates a snapshot for the basic data synchronized by the first storage device on the third storage device according to the instruction of the first storage device, and implements storing the snapshot of the first storage device to the third storage device.
  • the purpose is to make full use of the space advantage of the third storage device, so that the number of snapshots is no longer limited, and the storage space occupied by the snapshot on the first storage device can be saved, which is beneficial to improving the space utilization of the first storage device.
  • the first storage device includes a plurality of storage partitions.
  • the first storage device may determine, from the plurality of storage partitions, a target storage partition whose data has changed since the last snapshot creation operation; and transmit the data in the target storage partition and the label of the target storage partition to the second storage device.
  • receiving the basic data sent by the first storage device and the location information of the basic data on the first storage device may be: receiving data in the target storage partition sent by the first storage device and the target storage partition. Label, the target storage partition is the storage partition in multiple storage partitions that has changed since the last snapshot creation operation.
  • the second storage device can create an image file for the first storage device. Based on this, after the second storage device receives the data in the target storage partition sent by the first storage device and the label of the target storage partition, the data in the target storage partition and the label of the target storage partition may be stored to the first storage device. In the local image file.
  • an implementation of step 430 includes: assigning an identifier to a snapshot to which the target storage partition belongs; establishing a mapping relationship between a label of the target storage partition and an identifier of the snapshot to which the target storage partition belongs; The data in the data and the mapping relationship are backed up to the third storage device.
  • a rollback operation in addition to creating a snapshot for a storage partition on the first storage device, a rollback operation can also be initiated.
  • the process of snapshot rollback includes: obtaining, according to the identifier of the snapshot to be rolled back, the label of the storage partition corresponding to the snapshot to be rolled back from the third storage device; And obtaining the storage partition of the current snapshot that is different from the identifier of the snapshot to be rolled back as the storage partition to be rolled back; returning the label of the storage partition to be rolled back to the first storage device, so that the first storage device performs the rollback to be performed.
  • the rollback operation of the storage partition includes: obtaining, according to the identifier of the snapshot to be rolled back, the label of the storage partition corresponding to the snapshot to be rolled back from the third storage device; And obtaining the storage partition of the current snapshot that is different from the identifier of the snapshot to be rolled back as the storage partition to be rolled back; returning the label of the storage partition to be rolled back to the
  • the execution bodies of the steps of the method provided by the foregoing embodiments may all be the same device, or the method may also be performed by different devices.
  • the execution body of steps 301 to 303 may be device A; for example, the execution body of steps 301 and 302 may be device A, the execution body of step 303 may be device B, and the like.
  • FIG. 5 is a schematic structural diagram of a snapshot creation apparatus according to still another exemplary embodiment of the present application.
  • the snapshot creation device includes an acquisition module 51, a synchronization module 52, and a transmission module 53.
  • the obtaining module 51 is configured to acquire basic data that needs to be created on the first storage device and location information of the basic data on the first storage device.
  • the synchronization module 52 is configured to synchronize the basic data and the location information of the basic data on the first storage device to the second storage device, where the performance matching degree of the second storage device and the first storage device meets the setting requirement.
  • the sending module 53 is configured to send a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot of the basic data on the third storage device.
  • the obtaining module 51 when acquiring the basic data and the location information of the basic data on the first storage device, is specifically configured to:
  • an operation of acquiring the base data and the location information of the base data on the first storage device is performed.
  • the synchronization module 52 is configured to: when the basic data and the location information of the basic data on the first storage device are synchronized to the second storage device, specifically: the basic data and the basic data are first The location information on the storage device is synchronized to the image file of the first storage device on the second storage device.
  • the first storage device includes a plurality of storage partitions.
  • the obtaining module 51 is specifically configured to:
  • the obtaining module 51 is specifically configured to: read a data state of each of the plurality of storage partitions from the storage partition state table; and obtain a storage partition whose data state is the rewritten state as the target storage partition. .
  • the synchronization module 52 is further configured to: modify the data state of the target storage partition from the rewritten state to On hold.
  • the snapshot creation device further includes a write operation module.
  • the write operation module is used to:
  • a write operation is performed on the to-be-written storage partition according to the data state of the storage partition to be written.
  • the obtaining module 51 is specifically configured to: when performing a write operation on the storage partition to be written:
  • the data state of the storage partition to be written is a hold state
  • the data state of the storage partition is modified to an overwrite state, and a write operation is performed in the storage partition to be written;
  • the data in the storage partition to be written is updated to the snapshot data of the storage partition to be written on the third storage device, and the data state of the storage partition to be written is modified to the rewritten state.
  • Write operations are performed in the write storage partition.
  • the snapshot creation apparatus further includes a rollback module.
  • the rollback module is used to:
  • the rollback module replaces the data in the storage partition to be rolled back with the snapshot data to be rolled back in the snapshot to be rolled back, specifically for:
  • the snapshot creation device provided in this embodiment may be used to execute the process in the foregoing snapshot method embodiment, and the working principle thereof is not described again. For details, refer to the description of the method embodiment.
  • the snapshot creation device may be implemented in the first storage device; or may be implemented independently of the first storage device but connected to the first storage device.
  • the snapshot creation device may acquire the basic data of the snapshot on the first storage device and the location information of the basic data on the first storage device when the first storage device needs to create a snapshot;
  • the location information of the data on the first storage device is synchronized to the second storage device; then a snapshot creation instruction is sent to the second storage device to instruct the second storage device to create a snapshot of the base data on the third storage device.
  • the snapshot creation device can be implemented as a storage device, and the storage device can be implemented as a first storage device, including: a memory 500, a processor 501. And a communication component 502.
  • the memory 500 includes a program memory area for storing programs and a data memory area for storing data.
  • the processor 501 is coupled to the memory 500 for executing the above program for:
  • the communication component 502 is configured to send the snapshot creation instruction to the second storage device.
  • the processor 501 when the processor 501 acquires the basic data that needs to be created and the location information of the basic data in the data storage area, the processor 501 is specifically configured to:
  • an operation of acquiring the base data and the location information of the base data in the data storage area is performed.
  • the processor 501 when the processor 501 synchronizes the basic data and the location information of the basic data in the data storage area to the second storage device, the processor 501 is specifically configured to: use the basic data and the basic data in the data storage area. The location information in the synchronization is synchronized to the image storage area in the image file on the second storage device.
  • the plurality of storage partitions are included based on the data storage area. Based on this, when the processor 501 needs to create the basic data of the snapshot and the location information of the basic data in the data storage area, the processor 501 is specifically configured to: determine, from the plurality of storage partitions, the operation from the last snapshot creation operation. The target storage partition after the data changes; the data in the target storage partition and the label of the target storage partition are respectively taken as the base data and the position information of the base data in the data storage area.
  • the processor 501 when acquiring the target storage partition, is specifically configured to: read a data state of each of the plurality of storage partitions from the storage partition state table; and acquire a storage partition whose data state is a rewritten state as a target storage partition. .
  • the processor 501 is further configured to: modify the data state of the target storage partition from the rewritten state to the hold state.
  • the communication component 502 is further configured to: receive a write instruction that carries a label of the storage partition to be written.
  • the processor 501 is further configured to: obtain, according to the label of the storage partition to be written, the data state of the to-be-written storage partition from the storage partition state table; perform the storage partition to be written according to the data state of the storage partition to be written Write operation.
  • the processor 501 is specifically configured to: when performing a write operation on the storage partition to be written:
  • the data state of the storage partition to be written is a hold state
  • the data state of the storage partition is modified to an overwrite state, and a write operation is performed in the storage partition to be written;
  • the data in the storage partition to be written is updated to the snapshot data of the storage partition to be written on the third storage device, and the data state of the storage partition to be written is modified to the rewritten state.
  • Write operations are performed in the write storage partition.
  • the communication component 502 is further configured to: send a rollback instruction to the second storage device, where the rollback instruction carries an identifier of the snapshot to be rolled back, so that the second storage device determines that the storage partition is to be rolled back.
  • the processor 501 is further configured to: modify the data state of the storage partition to be rolled back to an invalid state according to the label of the storage partition to be rolled back returned by the second storage device; replace the data in the storage partition to be rolled back with the data to be rolled back Roll back the snapshot data of the storage partition in the snapshot to be rolled back.
  • the processor 501 when the processor 501 replaces the data in the storage partition to be rolled back into the snapshot data to be rolled back in the snapshot to be rolled back, the processor 501 is configured to: receive, by the communication component 502, the returned by the second storage device. Rolling the snapshot data of the storage partition in the snapshot to be rolled back; replacing the data in the storage partition to be rolled back with the snapshot data of the to-be-rolled storage partition in the snapshot to be rolled back.
  • the communication component 502 is further configured to: receive snapshot data of the to-be-rolled storage partition to be rolled back by the second storage device.
  • the storage device further includes: a display 503, a power component 504, an audio component 505, and the like. Only some of the components are schematically illustrated in Figure 5b, and it is not meant that the storage device only includes the components shown in Figure 5b.
  • the embodiment of the present application further provides a computer readable storage medium storing a computer program, which can be implemented when the computer program is executed:
  • FIG. 6 is a schematic structural diagram of another snapshot creation apparatus according to another exemplary embodiment of the present application. As shown in FIG. 6a, the receiving module 61 and the creating module 62 are included.
  • the receiving module 61 is configured to receive basic data that is synchronized by the first storage device and location information of the basic data on the first storage device, where the basic data is data that needs to be created on the first storage device.
  • the receiving module 61 is further configured to receive a snapshot creation instruction sent by the first storage device, where the snapshot creation instruction is used to indicate that a snapshot is created for the basic data on the third storage device.
  • the creating module 62 is configured to create a snapshot of the basic data on the third storage device based on the basic data and the location information of the basic data on the first storage device.
  • the first storage device includes a plurality of storage partitions. Based on this, when receiving the basic data sent by the first storage device and the location information of the basic data on the first storage device, the method is specifically configured to: receive data in the target storage partition sent by the first storage device, and the target storage.
  • the label of the partition, and the target storage partition is the storage partition of the plurality of storage partitions that has changed since the last snapshot creation operation.
  • the creating module 62 when creating a snapshot of the basic data on the third storage device, is specifically configured to: assign an identifier to the snapshot to which the target storage partition belongs; establish a label of the target storage partition and an identifier of the snapshot to which the target storage partition belongs. The mapping relationship between the data in the target storage partition and the mapping relationship to the third storage device.
  • the snapshot creation apparatus further includes: a rollback module.
  • the rollback module is used to:
  • the creating module 62 is further configured to: store the data in the target storage partition and the label of the target storage partition to the first storage device locally. In the image file.
  • the snapshot creation device provided in this embodiment may be used to execute the process in the foregoing snapshot method embodiment, and the working principle thereof is not described again. For details, refer to the description of the method embodiment.
  • the snapshot creation device may be implemented in the second storage device; or may be implemented independently of the second storage device but connected to the second storage device.
  • the snapshot creation device provided in this embodiment can serve as a bridge between the first storage device and the third storage device, and solves a series of problems caused by performance differences between the first storage device and the third storage device. It becomes a reality to store a snapshot of the first storage device onto the third storage device.
  • the second storage device creates a snapshot for the basic data synchronized by the first storage device on the third storage device according to the instruction of the first storage device, and implements storing the snapshot of the first storage device to the third storage device.
  • the purpose is to make full use of the space advantage of the third storage device, so that the number of snapshots is no longer limited, and the storage space occupied by the snapshot on the first storage device can be saved, which is beneficial to improving the space utilization of the first storage device.
  • the snapshot creation device can be implemented as a storage device, and the storage device can be implemented as a second storage device, including: a memory 600, a processor 601. And a communication component 602.
  • the communication component 602 is configured to receive basic data that is synchronized by the first storage device and location information of the basic data on the first storage device; and the basic data is data that needs to be created on the first storage device; the storage device and the first The performance matching degree of a storage device satisfies the setting requirement;
  • the communication component 602 is further configured to receive a snapshot creation instruction sent by the first storage device, where the snapshot creation instruction is used to indicate that a snapshot is created for the basic data on the third storage device;
  • the memory 600 includes a program storage area for storing a program, and a data storage area for storing basic data and location information of the basic data on the first storage device.
  • the processor 601 is coupled to the memory 600, and configured to execute the foregoing program, to create a snapshot of the basic data on the third storage device based on the basic data and the location information of the basic data on the first storage device.
  • the communication component 602 is specifically configured to: receive data in a target storage partition sent by the first storage device, and a label of the target storage partition, and the target storage partition is in a plurality of storage partitions since the last time The storage partition where the data changes after the snapshot creation operation.
  • the processor 601 when creating a snapshot of the basic data on the third storage device, is specifically configured to: allocate an identifier for the snapshot to which the target storage partition belongs; establish a label of the target storage partition and an identifier of the snapshot to which the target storage partition belongs. The mapping relationship between the data in the target storage partition and the mapping relationship to the third storage device.
  • the communication component 602 is further configured to: receive a rollback instruction sent by the first storage device, where the rollback instruction carries an identifier of the snapshot to be rolled back, and obtains the to-be-supplied from the third storage device according to the identifier of the snapshot to be rolled back Roll back the snapshot corresponding to the label of the storage partition.
  • the processor 601 is further configured to obtain, from the plurality of storage partitions, a storage partition whose identifier of the current snapshot is different from the identifier of the snapshot to be rolled back as the storage partition to be rolled back.
  • the communication component 602 is further configured to return the label of the storage partition to be rolled back to the first storage device, so that the first storage device performs a rollback operation of the storage partition to be rolled back.
  • the processor 601 before the snapshot of the basic data is created on the third storage device, the processor 601 is further configured to: store the data in the target storage partition and the label of the target storage partition to the first storage device locally. In the image file.
  • the storage device further includes: a display 603, a power component 604, an audio component 605, and the like. Only some of the components are schematically illustrated in Figure 6b, and it is not meant that the storage device only includes the components shown in Figure 6b.
  • the embodiment of the present application further provides a computer readable storage medium storing a computer program, when the computer program is executed, can implement:
  • the basic data is data that needs to be created on the first storage device
  • the communication components in Figures 5b and 6b can be configured to facilitate wired or wireless communication between the device to which the communication component belongs and other devices.
  • the device to which the communication component belongs can access a wireless network based on a communication standard such as WiFi, 2G or 3G, or a combination thereof.
  • the communication component receives a broadcast signal or broadcast associated information from an external broadcast management system via a broadcast channel.
  • the communication component further includes a near field communication (NFC) module to facilitate short range communication.
  • the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
  • RFID radio frequency identification
  • IrDA infrared data association
  • UWB ultra-wideband
  • Bluetooth Bluetooth
  • the display in Figures 5b and 6b may include a screen whose screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user.
  • the touch panel includes one or more touch sensors to sense touches, slides, and gestures on the touch panel. The touch sensor may sense not only the boundary of the touch or sliding action, but also the duration and pressure associated with the touch or slide operation.
  • the power components in Figures 5b and 6b provide power to the various components of the equipment to which the power components belong.
  • the power components can include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the devices to which the power components belong.
  • the audio components in Figures 5b and 6b are configured to output and/or input audio signals.
  • the audio component includes a microphone (MIC) that is configured to receive an external audio signal when the device to which the audio component belongs is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode.
  • the received audio signal can be further stored in a memory or transmitted via a communication component.
  • the audio component further includes a speaker for outputting an audio signal.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information storage can be implemented by any method or technology.
  • the information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
  • computer readable media does not include temporary storage of computer readable media, such as modulated data signals and carrier waves.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种快照创建方法、装置及系统。在本申请实施例中,对需要创建快照的第一存储设备,采用与第一存储设备的性能匹配度符合设定要求的第二存储设备作为第一存储设备与第三存储设备之间的桥梁,进而在第三存储设备上为第一存储设备创建快照,实现将第一存储设备的快照存储在第三存储设备上的目的,充分利用第三存储设备的空间优势使得快照数量不再受限,并且可以节约第一存储设备上被快照占用的存储空间,有利于提高第一存储设备的空间利用率。

Description

快照创建方法、装置及系统
本申请要求2017年11月08日递交的申请号为201711092728.1、发明名称为“快照创建方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储技术领域,尤其涉及一种快照创建方法、装置及系统。
背景技术
磁盘快照主要用于备份和容灾。用户在不同时间点,可以对一块磁盘创建若干快照形成一条快照链。如需恢复磁盘数据,可以进行磁盘数据回滚,把磁盘上的数据恢复为快照链上任一个快照的内容。
在现有技术中,磁盘快照一般存储在磁盘本地。随着快照数量的不断增多,需要的存储空间也越来越多,但是磁盘的存储空间是有限的。如果要保证磁盘的存储空间的利用率,需要限制快照数量;如果要保证快照数量,需要牺牲磁盘上较多的存储空间。由此可见,现有快照技术面临着存储空间利用率和快照数量之间的矛盾,需要一种技术方案解决两者之间的矛盾。
发明内容
本申请的多个方面提供一种快照创建方法、装置及系统,用以提供一种新的快照创建方法,既能提高存储设备的利用率,又能满足存储设备对快照数量的需求,解决快照技术中面临的问题。
本申请实施例提供一种快照创建方法,包括:
获取第一存储设备上需要创建快照的基础数据以及所述基础数据在所述第一存储设备上的位置信息;
将所述基础数据以及所述基础数据在所述第一存储设备上的位置信息同步至第二存储设备,所述第二存储设备与所述第一存储设备的性能匹配度满足设定要求;
向所述第二存储设备发送快照创建指令,以指示所述第二存储设备在第三存储设备上创建所述基础数据的快照。
本申请实施例还提供一种快照创建方法,包括:
接收第一存储设备同步过来的基础数据以及所述基础数据在所述第一存储设备上的位置信息;所述基础数据是所述第一存储设备上需要创建快照的数据;
接收所述第一存储设备发送的快照创建指令,所述快照创建指令用于指示在第三存储设备上为所述基础数据创建快照;
基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照。
本申请实施例还提供一种存储设备,作为第一存储设备实现,包括:存储器、处理器以及通信组件;
所述存储器包括程序存储区和数据存储区,所述程序存储区用于存储程序,所述数据存储区用于存储数据;
所述处理器,耦合至所述存储器,用于执行所述程序以用于:
从所述数据存储区中获取需要创建快照的基础数据以及所述基础数据在所述数据存储区中的位置信息;
将所述基础数据以及所述基础数据在所述数据存储区中的位置信息同步至第二存储设备,所述第二存储设备与所述存储设备的性能匹配度满足设定要求;
通过所述通信组件向所述第二存储设备发送快照创建指令,以指示所述第二存储设备在第三存储设备上创建所述基础数据的快照;
所述通信组件,用于向所述第二存储设备发送所述快照创建指令。
本申请实施例还提供一种存储设备,包括:存储器、处理器以及通信组件;
所述通信组件,用于接收第一存储设备同步过来的基础数据以及所述基础数据在所述第一存储设备上的位置信息;所述基础数据是所述第一存储设备上需要创建快照的数据;所述存储设备与所述第一存储设备的性能匹配度满足设定要求;
所述通信组件,还用于接收所述第一存储设备发送的快照创建指令,所述快照创建指令用于指示在第三存储设备上为所述基础数据创建快照;
所述存储器包括程序存储区和数据存储区,所述程序存储区用于存储程序,所述数据存储区用于存储所述基础数据以及所述基础数据在所述第一存储设备上的位置信息;
所述处理器,耦合至所述存储器,用于执行所述程序以用于:
基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照。
本申请实施例还提供一种存储系统,包括:依次连接的第一存储设备、第二存储设 备以及第三存储设备;所述第二存储设备与所述第一存储设备的性能匹配度满足设定要求;
所述第一存储设备,用于获取所述第一存储设备上需要创建快照的基础数据以及所述基础数据在所述第一存储设备上的位置信息,将所述基础数据以及所述基础数据在所述第一存储设备上的位置信息同步至所述第二存储设备;以及向所述第二存储设备发送快照创建指令,以指示所述第二存储设备在所述第三存储设备上创建所述基础数据的快照;
所述第二存储设备,用于接收所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,并接收所述快照创建指令,以及基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照。
在本申请实施例中,针对需要创建快照的第一存储设备,采用与第一存储设备的性能匹配度符合设定要求的第二存储设备作为第一存储设备与第三存储设备之间的桥梁,使得可以在第三存储设备上为第一存储设备创建快照,实现将第一存储设备的快照存储在第三存储设备上的目的,充分利用第三存储设备的空间优势使得快照数量不再受限,并且可以节约第一存储设备上被快照占用的存储空间,有利于提高第一存储设备的空间利用率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的存储系统的结构示意图;
图2a为本申请一示例性实施例提供的存储系统创建快照的过程示意图;
图2b为本申请一示例性实施例提供的存储分区状态表的一种实现样式;
图2c为本申请一示例性实施例提供的在存储系统中进行写操作的过程示意图;
图2d为本申请一示例性实施例提供的在存储系统中进行回滚操作的过程示意图;
图3为本申请另一示例性实施例提供的快照创建方法的流程示意图;
图4为本申请又一示例性实施例提供的快照创建方法的流程示意图;
图5a为本申请又一示例性实施例提供的快照创建装置的结构示意图;
图5b为本申请又一示例性实施例提供的一种存储设备的结构示意图;
图6a为本申请又一示例性实施例提供的另一快照创建装置的结构示意图;
图6b为本申请又一示例性实施例提供的另一存储设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有快照技术面临的存储空间利用率和快照数量之间的矛盾的问题,本申请实施例提供一种解决方案,大体原理是:对需要创建快照的第一存储设备,采用与第一存储设备的性能匹配度符合设定要求的第二存储设备作为第一存储设备与第三存储设备之间的桥梁,进而在第三存储设备上为第一存储设备创建快照,实现将第一存储设备的快照存储在第三存储设备上的目的,充分利用第三存储设备的空间优势使得快照数量不再受限,并且可以节约第一存储设备上被快照占用的存储空间,有利于提高第一存储设备的空间利用率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的存储系统的结构示意图。如图1所示,该系统包括:第一存储设备、第二存储设备以及第三存储设备。第一存储设备与第二存储设备连接,第二存储设备与第三存储设备连接。
第一存储设备可以是任何具有一定存储能力且需要创建快照的设备,例如可以是服务器、台式计算机、个人计算机、手机、平板电脑、数据库等。服务器可以是常规服务器、云服务器、云主机、虚拟中心等。
第一存储设备主要包括:处理单元和存储介质。处理单元主要负责第一存储设备的控制逻辑。存储介质主要负责存储各种数据。例如,存储介质可以采用固态硬盘(SSD)盘、相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、快闪记忆体等中的任意一种或几种。其中,处理单元和存储介质的数量取决于第一存储设备的配置和类型。除了处理单元和存储介质之外,第一存储设备还可以包一些基本配置,例如电源、风扇、系统总线、网卡芯片等。
其中,对第一存储设备创建快照可以是为第一存储设备的某个或某些存储介质创建快照的过程。例如,可以在不同时间点为第一存储设备的存储介质创建若干快照,形成该存储介质的快照链。
根据应用场景的不同,第一存储设备的存储介质所存储的数据也会有所不同。举例说明,在一些应用场景中,第一存储设备的存储介质作为虚拟机的磁盘实现,用于存储虚拟机的数据,例如虚拟机运行所需的操作系统、虚拟机运行过程产生的日志数据、虚拟机的运行结果以及一些中间数据等。通过为虚拟机的磁盘创建快照,在虚拟机所在的物理机故障或者虚拟机本身故障时,可以使虚拟机快速恢复到某一快照状态,减轻故障带来的各种损失。
在本实施例中,第三存储设备的主要目的是为第一存储设备提供额外存储空间,用以存储第一存储设备的快照。本实施例不对第三存储设备做任何限定。第三存储设备可以是任何具有一定存储能力的设备,例如可以是服务器、台式计算机、个人计算机、手机、平板电脑、数据库等。其中,第三存储设备的性能、存储介质类型以及存储空间的大小可视具体应用需求而定。与第一存储设备类似,第三存储设备也可以包括处理单元、存储介质以及一些基本配置,不再详述。为便于图示,图1中主要示出第三存储设备的存储介质部分。第三存储设备与第一存储设备的区别在于:内部组件的型号、性能、数量可能会有所不同。
可选地,考虑到快照的使用频率较低,对读写速度要求也不高,所以第三存储设备可以选用一些低速、低成本但空间较大的存储介质,这可以降低快照存储成本。例如,第三存储设备可以选用串口硬盘(Serial ATA,SATA)以及磁盒式磁带等中的任意一种或几种。
在本实施例中,第一存储设备和第三存储设备的主要功能有所不同,一定程度上反映了第一存储设备和第三存储设备的性能可以有所不同。例如,考虑到原始数据的使用频率相对较高,第一存储设备可以支持实时高吞吐率的读写请求,因此可以选择高速存储介质,例如SSD盘等。而快照的使用频率相对较低,对读写速度要求也不高,所以第三存储设备可以选择一些低速存储介质,例如SATA盘等。对第三存储设备来说,选择低速存储介质具有价格较低、存储空间大等优势。当然,这里以第一存储设备选择高速存储介质,第三存储设备选择低速存储介质为例,但并不限于此。例如,根据应用需求,第一存储设备可以选择低速存储介质,而第三存储设备选择中速存储介质,甚至高速存储介质。
基于第一存储设备和第三存储设备之间的性能差异,如果直接在第三存储设备上为第一存储设备创建快照,可能会影响第一存储设备和/或第三存储设备的性能。这里主要考虑对第一存储设备的影响。例如,在第三存储设备选用低速存储介质,而第一存储设 备选用高速存储介质的情况下,因为需要匹配第三存储设备的读写速度,会降低第一存储设备的读写效率。
在本实施例中,在第一存储设备和第三存储设备之间增设性能与第一存储设备比较匹配的第二存储设备,如果第一存储设备直接向第二存储设备写入或读取数据,对第一存储设备的性能影响比较小,因此通过第二存储设备作为第一存储设备和第三存储设备之间的桥梁,可以解决由第一存储设备和第三存储设备之间的性能差异所带来的一系列问题,使得可以将第一存储设备的快照存储至第三存储设备上。而,将第一存储设备的快照存储至第三存储设备上可以充分利用第三存储设备的空间优势使得快照数量不再受限,并且可以节约第一存储设备上被快照占用的存储空间,有利于提高第一存储设备的空间利用率。
其中,与第一存储设备类似,第二存储设备也可以包括处理单元、存储介质以及一些基本配置,不再详述。第二存储设备与第一存储设备的区别在于:内部组件的型号、性能、数量可能会有所不同。为了保证第二存储设备与第一存储设备之间的匹配度满足设定要求,在选择第二存储设备时,可以按照设定要求,结合第一存储设备的性能指标来选择第二存储设备。例如,假设第一存储设备选用高速存储介质,则第二存储设备可以选择中速存储介质,例如可以选择采用SATA硬盘与SSD硬盘的混合存储介质。
根据应用场景和应用需求的不同,对第二存储设备与第一存储设备之间的性能匹配度的要求也会有所不同。举例说明,可以要求第二存储设备与第一存储设备之间的整体性能匹配度大于整体匹配度阈值,或者也可以要求第二存储设备与第一存储设备之间的某一项性能的匹配度大于该项性能的匹配度阈值等。其中,上述性能匹配度所涉及的性能可以包括存储设备的读写速度、存储空间的大小、价格等。
基于图1所示存储系统架构,对本存储系统中为第一存储设备创建快照的过程进行说明。值得说明的是,下述过程中的控制逻辑主要由相应存储设备的处理单元完成。
对第一存储设备来说,在需要创建快照时,可获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息;将基础数据以及基础数据在第一存储设备上的位置信息同步至第二存储设备;然后向第二存储设备发送快照创建指令,以指示第二存储设备在第三存储设备上创建基础数据的快照。
对第二存储设备来说,可接收第一存储设备同步过来的基础数据以及基础数据在第一存储设备上的位置信息,并接收第一存储设备发送的快照创建指令,该快照创建指令用于指示第二存储设备在第三存储设备上为基础数据创建快照;进而基于基础数据以及 基础数据在第一存储设备上的位置信息,在第三存储设备上创建基础数据的快照。
在一些实施例中,为第一存储设备创建快照的操作可由用户或一些事件触发。基于此,可响应于快照创建触发操作,执行获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息的操作以及后续操作,为第一存储设备创建快照。
在另一些实施例中,可以根据第一存储设备的工作状态,自适应的为第一存储设备创建快照。基于此,可以监听第一存储设备的工作状态,在监听到第一存储设备上没有写操作时,执行获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息的操作以及后续操作,为第一存储设备创建快照。其中,写操作会对快照创建过程有影响,所以这里主要考虑写操作,这种方式既不会影响第一存储设备的正常工作,又可以及时为第一存储设备创建快照,有利于提高快照创建效率。
在又一些实施例中,可以将上述两种方式相结合。例如,在监听到第一存储设备上没有写操作时,执行获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息以及将所获取的基础数据以及这些基础数据在第一存储设备上的位置信息同步至第二存储设备的操作。当接收到快照创建触发操作时,获取第一存储设备上剩余需要创建快照的基础数据以及这些基础数据在第一存储设备上的位置信息,将这些基础数据以及这些基础数据在第一存储设备上的位置信息同步给第二存储设备,并向第二存储设备发送快照创建指令,指示第二存储设备在第三存储设备上为在此期间获取的所有基础数据创建快照。
在一些实施例中,可以在第二存储设备上创建第一存储设备的镜像文件。基于此,可以将基础数据以及基础数据在第一存储设备上的位置信息同步至第一存储设备在第二存储设备上的镜像文件中。例如,可以采用split-mirror技术,将基础数据以及基础数据在第一存储设备上的位置信息同步至第一存储设备在第二存储设备上的镜像文件中。采用镜像技术可以降低对第一存储磁盘的读写操作的影响。
根据第一存储设备的实现形式以及采用的快照机制的不同,第一存储设备上需要创建快照的基础数据也会有所不同。例如,可以是第一存储设备上某个时刻的全量数据;也可以是某个时刻的增量数据。
在下面实施例中,以增量备份机制为例,对本申请技术方案进行详细说明。
在一些实施例中,第一存储设备包括多个存储分区。其中,存储分区的大小以及数量不做限定。优选地,各存储分区具有相同大小,例如都是2M、3M或5M等。这里重点是指第一存储设备中的存储介质具有多个存储分区,例如可以将存储分区称为块(block)。基于此,为第一存储设备创建快照可以是创建多个存储分区的快照的过程。
第一存储设备可以从多个存储分区中确定自上次快照创建操作之后数据发生变化的存储分区;为便于描述和区分,将自上次快照创建操作之后数据发生变化的存储分区简称为目标存储分区。然后,第一存储设备获取目标存储分区中的数据作为基础数据,并获取目标存储分区的标号作为基础数据在第一存储设备上的位置信息。其中,根据目标存储分区的标号以及目标存储分区的大小可以确定目标存储分区在第一存储设备上的位置。接着,第一存储设备将目标存储分区中的数据以及目标存储分区的标号同步至第一存储设备在第二存储设备上的镜像文件中。可选地,如图1所示,第一存储设备的处理单元可以创建一个线程,例如图1中所示线程a,并由线程a将目标存储分区中的数据以及目标存储分区的标号同步至第一存储设备在第二存储设备上的镜像文件中。
第二存储设备接收第一存储设备同步过来的目标存储分区中的数据以及目标存储分区的标号。第一存储设备将目标存储分区中的数据以及目标存储分区的标号同步至第二存储设备之后,向第二存储设备发送快照创建指令,以指示第二存储设备针对目标存储分区在第三存储设备上创建快照。第二存储设备接收第一存储设备发送的快照创建指令,根据该快照创建指令,基于目标存储分区中的数据以及目标存储分区的标号在第三存储设备上创建快照。
可选地,第二存储设备可以按照目标存储分区的标号将目标存储分区中的数据存储至第一存储设备在第二存储设备上的镜像文件中。进一步可选地,第二存储设备可以为第一存储设备配置多个镜像文件,例如3个,以提高可用性。
其中,第一存储设备向第二存储设备同步目标存储分区以及第二存储设备选用增量快照机制在第三存储设备上创建快照的过程示意图可参见图2a。每次快照创建操作都会产生新的快照,不同快照通过快照标识来区分。结合图2a所示,目标存储分区为block-1和block-N,第二存储设备需要为目标存储分区所属的快照分配标识,例如snapshot-id2;建立目标存储分区的标号与目标存储分区所属的快照的标识之间的映射关系,即block-1:snapshot-id2以及block-N:snapshot-id2;将目标存储分区中的数据以及该映射关系备份至第三存储设备。
可选地,在第三存储设备上可以通过一映射表来存储目标存储分区的标号与目标存储分区所属的快照的标识之间的映射关系,但不限于此。
进一步,在另一些实施例中,第一存储设备通过存储分区状态表维护各存储分区的数据状态。在本实施例中,根据需求将存储分区的数据状态划分为改写状态、保持状态以及无效状态,但并不限于这三种状态。其中,改写状态是指自上次快照创建操作之后存储分区中的数据发生过变化,意味着在增量快照机制中需要作为增量数据创建快照;保持状态是指自上次快照创建操作之后存储分区中的数据未发生改变;无效状态是指存储分区中的数据已失效,无法使用。如图2b所示,存储分区状态表的一种实现样式,但并不限于此。可选地,存储分区状态表可以是一位图(bitmap)文件。在图2b中,status-0表示无效状态,status-1表示保持状态,status-2表示改写状态。三种状态的表示方式并不限于图2b所示。
基于上述存储分区状态表,当需要创建快照时,第一存储设备可以从存储分区状态表中读取多个存储分区中每个存储分区的数据状态;然后,获取数据状态为改写状态的存储分区作为目标存储分区;进而将目标存储分区中的数据以及目标存储分区的标号同步至第二存储设备,并向第二存储设备发送快照创建指令,以指示第二存储设备针对目标存储分区在第三存储设备上创建快照。
进一步,为了保持存储分区状态表中始终维护各存储分区的最新数据状态,第一存储设备在将目标存储分区中的数据以及目标存储分区的标号同步至第二存储设备之后,可以将目标存储分区的数据状态由改写状态修改为保持状态。
在上述实施例中,第一存储设备通过存储分区状态表维护各存储分区的状态,可以方便地识别出在快照创建过程中用于提供基础数据的目标存储分区,有利于提高快照创建效率。
在一些实施例中,在第一存储设备的使用过程中,用户可能会对第一存储设备发起写操作。写操作期间,因为存储分区内的数据正在被改写,因此写操作期间最好不执行快照创建操作。同理,快照创建期间,需要保持个存储分区的数据状态不变,因此创建快照期间最好不执行写操作。写操作和快照创建操作不同时执行是最优的实现方式,但并不限于此。随着存储设备处理能力的不断增强,也可以在同时执行写操作和快照创建操作。但写操作和快照创建操作之间有着一定联系,例如都与存储分区的数据状态相关。
在本申请这些实施例中,以写操作在快照创建操作之前或之后执行为例进行说明。参见图2c,写操作的过程包括:第一存储设备接收写指令,所述写指令携带有待写存储分区的标号;根据待写存储分区的标号,从存储分区状态表中获取待写存储分区的数据状态;根据待写存储分区的数据状态,对待写存储分区执行写操作。
进一步,结合上述存储分区的三种数据状态,上述根据待写存储分区的数据状态,对待写存储分区执行写操作可包括以下几种情况:
情况1:待写存储分区的数据状态为保持状态,因为要对待写存储分区执行写数据会影响待写存储分区的数据状态,故将待写存储分区的数据状态修改为改写状态,并在待写存储分区中执行写操作,为基于数据状态的快照创建操作提供基础。
情况2:待写存储分区的数据状态为改写状态,说明待写存储分区中的数据已经发生过变化了,只是再多变化一次,对待写存储分区的数据状态不会有影响,故可以直接在待写存储分区中执行写操作。
情况3:待写存储分区的数据状态为无效状态,这意味着待写存储分区不适合写操作,需要先将待写存储分区中的数据更新为有效数据之后再执行写操作,可以利用待写存储分区的快照数据对待写存储分区进行恢复,即将待写存储分区中的数据更新为待写存储分区在第三存储设备上的快照数据,在完成更新操作之后,将待写存储分区的数据状态修改为改写状态,并在待写存储分区中执行写操作。
其中,情况3可以看作是快照回滚过程中由写操作触发的从第三存储设备上获取快照数据的方式。其中,在需要执行写操作且待写存储分区的数据状态为无效状态的情况下,第一存储设备可以向第二存储设备发送数据获取指令,数据获取指令中携带有待写存储分区的标号,以指示第二存储设备从第三存储设备上获取待写存储分区在某个快照中的快照数据并返回。其中,某个快照具体视快照回滚需求而定,是需要回滚到的快照。第二存储设备接收第一存储设备的数据获取指令,根据第三存储设备上存储的各快照的标识与各快照包含的存储分区的标号之间的映射关系中,获取待写存储分区所属的快照,进而获取待写存储分区在所属快照中的快照数据并返回给第一存储设备。
在一些实施例中,在第一存储设备的使用过程中,用户可能会发起快照回滚操作。一般来说,在第一存储设备故障时,或者需要回滚到之前某个状态时,可以发起快照回滚操作。举例说明,以第一存储设备作为虚拟机的磁盘为例,当虚拟机热迁移时,对应虚拟机的磁盘也需要热迁移,在虚拟机热迁移之前为虚拟机迁移前的数据状态创建快照。 在虚拟机热迁移到目的端之后,在目的端重新为虚拟机分配磁盘,并通过快照回滚操作将虚拟机恢复到迁移前的数据状态,以便于虚拟机继续工作。其中,快照回滚操作和快照创建操作之间的逻辑关系,与写操作和快照创建操作之间的逻辑关系类似,不再赘述。
在本申请这些实施例中,以快照回滚操作在快照创建操作之前或之后执行为例进行说明。参见图2d,快照回滚过程包括:第一存储设备向第二存储设备发送回滚指令,所述回滚指令携带有待回滚快照的标识,以供第二存储设备确定待回滚存储分区。第二存储设备接收第一存储设备发送的回滚指令,从回滚指令中解析出待回滚快照的标识。第二存储设备根据待回滚快照的标识,从第三存储设备上获取待回滚快照对应存储分区的标号;进而根据第一存储设备的多个存储分区中每个存储分区当前所属快照的标识以及待回滚快照对应存储分区的标号进行分析,从多个存储分区中获取当前所属快照的标识不同于待回滚快照的标识的存储分区作为待回滚存储分区,并将待回滚存储分区的标号返回给第一存储设备,以供第一存储设备执行对待回滚存储分区的回滚操作。可选地,第二存储设备可以将待回滚存储分区的标号添加到待回滚存储分区列表中,将待回滚存储分区列表返回给第一存储设备。
第一存储设备向第二存储设备发送回滚指令之后,等待第二存储设备返回待回滚存储分区的标号。当接收到第二存储设备返回的待回滚存储分区的标号后,第一存储设备可依据第二存储设备返回的待回滚存储分区的标号,将待回滚存储分区的数据状态修改为无效状态,意味着这些存储分区的数据需要做回滚处理;然后将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据。
在此说明,在快照回滚过程中,除了待回滚存储分区之外,还可以获取处于改写状态的存储分区,并将处于改写状态的存储分区的数据状态修改为无效状态,并将这些存储分区中的数据替换为这些存储分区在待回滚快照中的快照数据。
在上述回滚过程中,需要将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据,这需要先从第三存储设备上获取待回滚快照。在本申请这些实施例中,采用两种触发方式触发从第三存储设备上获取待回滚快照的操作。
一种是前端触发方式,例如由针对无效状态的存储分区的写操作触发。由写操作触发从第三存储设备上获取待回滚快照的过程包括:当接收到针对待回滚存储分区的写指令时,向第二存储设备发送数据获取指令,以指示第二存储设备从第三存储设备获取待回滚存储分区在待回滚快照中的快照数据;接收第二存储设备返回的待回滚存储分区在待回滚快照中的快照数据;将待回滚存储分区中的数据替换为待回滚存储分区在待回滚 快照中的快照数据。对第二存储设备来说,可以接收数据获取指令,从第三存储设备获取待回滚存储分区在待回滚快照中的快照数据并返回。
另一种是后端触发方式,例如可采用懒加载(Lazyoad)方式,或者可以采用周期加载方式。如图1所示,第一存储设备的处理单元可以创建另一线程,例如线程b,并由线程b在后端触发从第三存储设备上获取待回滚快照。可选地,在采用Lazyoad方式时,线程b可以是Lazyoad线程。由Lazyoad线程触发从第三存储设备上获取待回滚快照的过程包括:按照Lazyoad方式的机制,向第二存储设备发送数据获取指令,以指示第二存储设备从第三存储设备获取所述待回滚存储分区在待回滚快照中的快照数据;接收第二存储设备返回的待回滚存储分区在待回滚快照中的快照数据;将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据。对第二存储设备来说,可以接收数据获取指令,从第三存储设备获取待回滚存储分区在待回滚快照中的快照数据并返回。
在本申请一些实施例中,采用增量快照机制,第一存储设备只需向第二存储设备同步自上次快照创建操作之后数据发生变化的存储区域中的数据,减少数据传输量,而第二存储设备采用增量快照机制将数据存储到第三存储设备上,可降低快照数据拷贝量和复制时间。
在一些应用场景中,为了满足业务需求需要采用价格昂贵的高速存储介质,而在成本有限的情况下可以采用本申请实施例提供的存储系统的架构,通过中间中速存储介质作为桥梁,将高速存储介质的快照存到远端成本较低的存储介质上,大大节省了快照数据的成本,同时并不影响高速存储介质的读写速度。
在此说明,在图2a-图2d中,block-1、block-2、block-3以及block-N等符合表示不同的存储分区,这种表示方式是示意性的并不限于此。另外,存储分区的数量也不限于图2a-图2d中所示。
基于上述图1所示存储系统,本申请以下实施例分别从第一存储设备和第二存储设备的角度给出几种快照创建流程。
图3为本申请另一示例性实施例提供的快照创建方法的流程示意图。该方法从第一存储设备的角度进行描述,如图3所示,该方法包括:
301、获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息。
302、将基础数据以及基础数据在第一存储设备上的位置信息同步至第二存储设备,第二存储设备与第一存储设备的性能匹配度满足设定要求。
303、向第二存储设备发送快照创建指令,以指示第二存储设备在第三存储设备上创建基础数据的快照。
在本实施例中,对第一存储设备来说,在需要创建快照时,可获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息;将基础数据以及基础数据在第一存储设备上的位置信息同步至第二存储设备;然后向第二存储设备发送快照创建指令,以指示第二存储设备在第三存储设备上创建基础数据的快照。
在本实施例中,以性能与第一存储设备相近的第二存储设备作为第一存储设备和第三存储设备之间的桥梁,解决了由第一存储设备和第三存储设备之间的性能差异所带来的一系列问题,使得将第一存储设备的快照存储至第三存储设备上成为现实。而,在第二存储设备的配合下,将第一存储设备的快照存储至第三存储设备上,可以充分利用第三存储设备的空间优势使得快照数量不再受限,并且可以节约第一存储设备上被快照占用的存储空间,有利于提高第一存储设备的空间利用率。
在一些实施例中,上述步骤301的一种实施方式包括:在监听到第一存储设备上没有写操作时,执行获取基础数据以及基础数据在第一存储设备上的位置信息的操作;和/或,响应于快照创建触发操作,执行获取基础数据以及基础数据在第一存储设备上的位置信息的操作。
在一些实施例中,上述步骤302的一种实施方式包括:将基础数据以及基础数据在第一存储设备上的位置信息同步至第一存储设备在第二存储设备上的镜像文件中。
在一些实施例中,第一存储设备包括多个存储分区。从基础数据实现形式这一角度来看,上述步骤301的另一种实施方式包括:从多个存储分区中确定自上次快照创建操作之后数据发生变化的目标存储分区;获取目标存储分区中的数据以及目标存储分区的标号分别作为基础数据和基础数据在第一存储设备上的位置信息。
进一步,第一存储设备可以通过存储分区状态表维护各存储分区的数据状态。基于此,上述从多个存储分区中确定自上次快照创建操作之后数据发生变化的目标存储分区包括:从存储分区状态表中读取多个存储分区中每个存储分区的数据状态;获取数据状态为改写状态的存储分区作为目标存储分区。
进一步,在将基础数据以及基础数据在第一存储设备上的位置信息同步至第二存储设备之后,可以将目标存储分区的数据状态由改写状态修改为保持状态。
在一些实施例中,除了针对第一存储设备上的存储分区创建快照之外,还可以对第一存储设备上的存储分区进行写操作。从第一存储设备的角度来看,一种写操作的过程包括:接收写指令,所述写指令携带有待写存储分区的标号;根据待写存储分区的标号,从存储分区状态表中获取待写存储分区的数据状态;根据待写存储分区的数据状态,对待写存储分区执行写操作。
进一步,结合上述列举的存储分区的几种数据状态,上述根据待写存储分区的数据状态,对待写存储分区执行写操作包括以下几种情况:
若待写存储分区的数据状态为保持状态,将带些存储分区的数据状态修改为改写状态,并在待写存储分区中执行写操作;
若待写存储分区的数据状态为改写状态,在待写存储分区中执行写操作;
若待写存储分区的数据状态为无效状态,将待写存储分区中的数据更新为待写存储分区在第三存储设备上的快照数据,将待写存储分区的数据状态修改为改写状态,在待写存储分区中执行写操作。
在一些实施例中,除了针对第一存储设备上的存储分区创建快照之外,还可以发起回滚操作。从第一存储设备的角度来看,一种快照回滚的流程包括:向第二存储设备发送回滚指令,回滚指令携带有待回滚快照的标识,以供第二存储设备确定待回滚存储分区;依据第二存储设备返回的待回滚存储分区的标号,将待回滚存储分区的数据状态修改为无效状态;将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据。
进一步,上述将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据的方式,包括:当接收到写指令时或者数据获取周期到达时,向第二存储设备发送数据获取指令,以指示第二存储设备从第三存储设备获取待回滚存储分区在待回滚快照中的快照数据;接收第二存储设备返回的待回滚存储分区在待回滚快照中的快照数据;将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据。
图4为本申请又一示例性实施例提供的快照创建方法的流程示意图。该方法从第二存储设备的角度进行描述,如图4所示,该方法包括:
401、接收第一存储设备同步过来的基础数据以及基础数据在第一存储设备上的位置信息;基础数据是第一存储设备上需要创建快照的数据。
402、接收第一存储设备发送的快照创建指令,快照创建指令用于指示在第三存储设备上为基础数据创建快照。
403、基于基础数据以及基础数据在第一存储设备上的位置信息,在第三存储设备上创建基础数据的快照。
在本实施例中,第二存储设备作为第一存储设备和第三存储设备之间的桥梁,解决了由第一存储设备和第三存储设备之间的性能差异所带来的一系列问题,使得将第一存储设备的快照存储至第三存储设备上成为现实。而,第二存储设备根据第一存储设备的指令,在第三存储设备上为第一存储设备同步过来的基础数据创建快照,实现了将第一存储设备的快照存储至第三存储设备上的目的,可以充分利用第三存储设备的空间优势使得快照数量不再受限,并且可以节约第一存储设备上被快照占用的存储空间,有利于提高第一存储设备的空间利用率。
在一些实施例中,第一存储设备包括多个存储分区。第一存储设备可以从多个存储分区中确定自上次快照创建操作之后数据发生变化的目标存储分区;将目标存储分区中的数据以及目标存储分区的标号发送给第二存储设备。对第二存储设备来说,接收第一存储设备发送的基础数据以及基础数据在第一存储设备上的位置信息可以是:接收第一存储设备发送的目标存储分区中的数据以及目标存储分区的标号,目标存储分区是多个存储分区中自上次快照创建操作之后数据发生变化的存储分区。
在一些实施例中,第二存储设备可以为第一存储设备创建镜像文件。基于此,第二存储设备接收到第一存储设备发送的目标存储分区中的数据以及目标存储分区的标号之后,可以将目标存储分区中的数据以及目标存储分区的标号存储至第一存储设备在本地的镜像文件中。
在一些实施例中,步骤430的一种实施方式包括:为目标存储分区所属的快照分配标识;建立目标存储分区的标号与目标存储分区所属的快照的标识之间的映射关系;将目标存储分区中的数据以及映射关系备份至第三存储设备。
在一些实施例中,除了针对第一存储设备上的存储分区创建快照之外,还可以发起回滚操作。从第二存储设备的角度来看,一种快照回滚的流程包括:根据待回滚快照的标识,从第三存储设备上获取待回滚快照对应存储分区的标号;从多个存储分区中,获取当前所属快照的标识不同于待回滚快照的标识的存储分区作为待回滚存储分区;将待回滚存储分区的标号返回给第一存储设备,以供第一存储设备执行对待回滚存储分区的回滚操作。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或 者,该方法也由不同设备作为执行主体。比如,步骤301至步骤303的执行主体可以为设备A;又比如,步骤301和302的执行主体可以为设备A,步骤303的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图5a为本申请又一示例性实施例提供的快照创建装置的结构示意图。如图5a所示,快照创建装置包括:获取模块51,同步模块52以及发送模块53。
获取模块51,用于获取第一存储设备上需要创建快照的基础数据以及该基础数据在第一存储设备上的位置信息。
同步模块52,用于将基础数据以及该基础数据在所述第一存储设备上的位置信息同步至第二存储设备,第二存储设备与第一存储设备的性能匹配度满足设定要求。
发送模块53,用于向第二存储设备发送快照创建指令,以指示第二存储设备在第三存储设备上创建基础数据的快照。
在一可选实施方式中,获取模块51在获取基础数据以及该基础数据在第一存储设备上的位置信息时,具体用于:
在监听到第一存储设备上没有写操作时,执行获取基础数据以及该基础数据在第一存储设备上的位置信息的操作;和/或
响应于快照创建触发操作,执行获取基础数据以及该基础数据在第一存储设备上的位置信息的操作。
在一可选实施方式中,同步模块52在将基础数据以及该基础数据在第一存储设备上的位置信息同步至第二存储设备时,具体用于:将基础数据以及该基础数据在第一存储设备上的位置信息同步至第一存储设备在第二存储设备上的镜像文件中。
在一可选实施方式中,第一存储设备包括多个存储分区。获取模块51在获取基础数据以及该基础数据在第一存储设备上的位置信息时,具体用于:
从多个存储分区中确定自上次快照创建操作之后数据发生变化的目标存储分区;
获取目标存储分区中的数据以及目标存储分区的标号分别作为基础数据和该基础数据在第一存储设备上的位置信息。
进一步,获取模块51在获取目标存储分区时,具体用于:从存储分区状态表中读取多个存储分区中每个存储分区的数据状态;获取数据状态为改写状态的存储分区作为目标存储分区。
相应地,同步模块52在将在将上述基础数据以及该基础数据在第一存储设备上的位置信息同步至第二存储设备之后,还用于:将目标存储分区的数据状态由改写状态修改为保持状态。
在一可选实施方式中,所述快照创建装置还包括写操作模块。其中,写操作模块用于:
接收写指令,该写指令携带有待写存储分区的标号;
根据待写存储分区的标号,从存储分区状态表中获取该待写存储分区的数据状态;
根据待写存储分区的数据状态,对该待写存储分区执行写操作。
进一步,基于上述待写存储分区的数据状态,获取模块51在对该待写存储分区执行写操作时,具体用于:
若待写存储分区的数据状态为保持状态,将带些存储分区的数据状态修改为改写状态,并在待写存储分区中执行写操作;
若待写存储分区的数据状态为改写状态,在待写存储分区中执行写操作;
若待写存储分区的数据状态为无效状态,将待写存储分区中的数据更新为待写存储分区在第三存储设备上的快照数据,将待写存储分区的数据状态修改为改写状态,在待写存储分区中执行写操作。
在一可选实施方式中,所述快照创建装置还包括回滚模块。其中,回滚模块用于:
向第二存储设备发送回滚指令,该回滚指令携带有待回滚快照的标识,以供第二存储设备确定待回滚存储分区;
依据第二存储设备返回的待回滚存储分区的标号,将待回滚存储分区的数据状态修改为无效状态;
将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据。
进一步,回滚模块在将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据时,具体用于:
接收第二存储设备返回的待回滚存储分区在该待回滚快照中的快照数据;
将待回滚存储分区中的数据替换为该待回滚存储分区在待回滚快照中的快照数据。
本实施例提供的快照创建装置,可用于执行上述快照方法实施例中的流程,其工作原理不再赘述,详见方法实施例的描述。
可选地,上述快照创建装置可位于第一存储设备中实现;或者,也可独立于第一存储设备实现,但与第一存储设备连接。
本实施例提供的快照创建装置,在第一存储设备需要创建快照时,可获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息;将基础数据以及基础数据在第一存储设备上的位置信息同步至第二存储设备;然后向第二存储设备发送快照创建指令,以指示第二存储设备在第三存储设备上创建基础数据的快照。
以上描述了快创建装置的内部功能和结构,如图5b所示,实际中,该快照创建装置可实现为存储设备,该存储设备可作为第一存储设备实现,包括:存储器500、处理器501以及通信组件502。
存储器500包括程序存储区和数据存储区,其中程序存储区用于存储程序,数据存储区用于存储数据。
处理器501,耦合至存储器500,用于执行上述程序以用于:
从数据存储区中获取需要创建快照的基础数据以及该基础数据在数据存储区中的位置信息;
将基础数据以及该基础数据在数据存储区中的位置信息同步至第二存储设备,第二存储设备与存储设备的性能匹配度满足设定要求;
通过通信组件502向第二存储设备发送快照创建指令,以指示第二存储设备在第三存储设备上创建基础数据的快照;
通信组件502,用于向第二存储设备发送所述快照创建指令。
在一可选实施方式中,处理器501在获取需要创建快照的基础数据以及该基础数据在数据存储区中的位置信息时,具体用于:
在监听到数据存储区中没有写操作时,执行获取基础数据以及该基础数据在数据存储区中的位置信息的操作;和/或
响应于快照创建触发操作,执行获取基础数据以及该基础数据在数据存储区中的位置信息的操作。
在一可选实施方式中,处理器501在将基础数据以及该基础数据在数据存储区中的位置信息同步至第二存储设备时,具体用于:将基础数据以及该基础数据在数据存储区 中的位置信息同步至该数据存储区在第二存储设备上的镜像文件中。
在一可选实施方式中,基于上述数据存储区包括多个存储分区。基于此,处理器501在获取数据存储区中需要创建快照的基础数据以及该基础数据在该数据存储区中的位置信息时,具体用于:从多个存储分区中确定自上次快照创建操作之后数据发生变化的目标存储分区;获取目标存储分区中的数据以及目标存储分区的标号分别作为基础数据和该基础数据在数据存储区中的位置信息。
进一步,处理器501在获取目存储分区时,具体用于:从存储分区状态表中读取多个存储分区中每个存储分区的数据状态;获取数据状态为改写状态的存储分区作为目标存储分区。
相应地,处理器501在将上述基础数据以及该基础数据在数据存储区中的位置信息同步至第二存储设备之后,还用于:将目标存储分区的数据状态由改写状态修改为保持状态。
在一可选实施方式中,通信组件502还用于:接收写指令,该写指令携带有待写存储分区的标号。相应地,处理器501还用于:根据待写存储分区的标号,从存储分区状态表中获取该待写存储分区的数据状态;根据待写存储分区的数据状态,对该待写存储分区执行写操作。
进一步,基于上述待写存储分区的数据状态,处理器501在对该待写存储分区执行写操作时,具体用于:
若待写存储分区的数据状态为保持状态,将带些存储分区的数据状态修改为改写状态,并在待写存储分区中执行写操作;
若待写存储分区的数据状态为改写状态,在待写存储分区中执行写操作;
若待写存储分区的数据状态为无效状态,将待写存储分区中的数据更新为待写存储分区在第三存储设备上的快照数据,将待写存储分区的数据状态修改为改写状态,在待写存储分区中执行写操作。
在一可选实施方式中,通信组件502还用于:向第二存储设备发送回滚指令,该回滚指令携带有待回滚快照的标识,以供第二存储设备确定待回滚存储分区。相应地,处理器501还用于依据第二存储设备返回的待回滚存储分区的标号,将待回滚存储分区的数据状态修改为无效状态;将待回滚存储分区中的数据替换为待回滚存储分区在待回滚快照中的快照数据。
进一步,处理器501在将待回滚存储分区中的数据替换为待回滚存储分区在待回滚 快照中的快照数据时,具体用于:通过通信组件502接收第二存储设备返回的待回滚存储分区在该待回滚快照中的快照数据;将待回滚存储分区中的数据替换为该待回滚存储分区在待回滚快照中的快照数据。相应地,通信组件502还用于:接收第二存储设备返回的待回滚存储分区在该待回滚快照中的快照数据。
进一步,如图5b所示,存储设备还包括:显示器503、电源组件504、音频组件505等其它组件。图5b中仅示意性给出部分组件,并不意味着存储设备只包括图5b所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现:
获取第一存储设备上需要创建快照的基础数据以及基础数据在第一存储设备上的位置信息;
将基础数据以及基础数据在第一存储设备上的位置信息同步至第二存储设备,第二存储设备与第一存储设备的性能匹配度满足设定要求;
向第二存储设备发送快照创建指令,以指示第二存储设备在第三存储设备上创建基础数据的快照。
图6a为本申请又一示例性实施例提供的另一快照创建装置的结构示意图。如图6a所示,包括:接收模块61和创建模块62。
接收模块61,用于接收第一存储设备同步过来的基础数据以及该基础数据在第一存储设备上的位置信息;其中该基础数据是第一存储设备上需要创建快照的数据。
接收模块61,还用于接收第一存储设备发送的快照创建指令,该快照创建指令用于指示在第三存储设备上为基础数据创建快照。
创建模块62,用于基于基础数据以及该基础数据在第一存储设备上的位置信息,在第三存储设备上创建基础数据的快照。
在一可选实施方式中,第一存储设备包括多个存储分区。基于此,61在接收第一存储设备发送的基础数据以及该基础数据在第一存储设备上的位置信息时,具体用于:接收第一存储设备发送的目标存储分区中的数据以及该目标存储分区的标号,且该目标存储分区是多个存储分区中自上次快照创建操作之后数据发生变化的存储分区。
相应地,创建模块62在在第三存储设备上创建基础数据的快照时,具体用于:为目标存储分区所属的快照分配标识;建立目标存储分区的标号与目标存储分区所属的快照 的标识之间的映射关系;将目标存储分区中的数据以及映射关系备份至第三存储设备。
在一可选实施方式中,快照创建装置还包括:回滚模块。其中,回滚模块用于:
接收第一存储设备发送的回滚指令,该回滚指令携带有待回滚快照的标识;
根据待回滚快照的标识,从第三存储设备上获取该待回滚快照对应存储分区的标号;
从多个存储分区中,获取当前所属快照的标识不同于待回滚快照的标识的存储分区作为待回滚存储分区;
将待回滚存储分区的标号返回给第一存储设备,以供第一存储设备执行对待回滚存储分区的回滚操作。
在一可选实施方式中,创建模块62在在第三存储设备上创建基础数据的快照之前,还用于:将目标存储分区中的数据以及目标存储分区的标号存储至第一存储设备在本地的镜像文件中。
本实施例提供的快照创建装置,可用于执行上述快照方法实施例中的流程,其工作原理不再赘述,详见方法实施例的描述。
可选地,上述快照创建装置可位于第二存储设备中实现;或者,也可独立于第二存储设备实现,但与第二存储设备连接。
本实施例提供的快照创建装置,可作为第一存储设备和第三存储设备之间的桥梁,解决了由第一存储设备和第三存储设备之间的性能差异所带来的一系列问题,使得将第一存储设备的快照存储至第三存储设备上成为现实。而,第二存储设备根据第一存储设备的指令,在第三存储设备上为第一存储设备同步过来的基础数据创建快照,实现了将第一存储设备的快照存储至第三存储设备上的目的,可以充分利用第三存储设备的空间优势使得快照数量不再受限,并且可以节约第一存储设备上被快照占用的存储空间,有利于提高第一存储设备的空间利用率。
以上描述了快创建装置的内部功能和结构,如图6b所示,实际中,该快照创建装置可实现为存储设备,该存储设备可作为第二存储设备实现,包括:存储器600、处理器601以及通信组件602。
通信组件602,用于接收第一存储设备同步过来的基础数据以及该基础数据在第一存储设备上的位置信息;且该基础数据是第一存储设备上需要创建快照的数据;存储设备与第一存储设备的性能匹配度满足设定要求;
通信组件602,还用于接收第一存储设备发送的快照创建指令,该快照创建指令用于指示在第三存储设备上为基础数据创建快照;
存储器600包括程序存储区和数据存储区,其中程序存储区用于存储程序,数据存储区用于存储基础数据以及该基础数据在第一存储设备上的位置信息。
处理器601,耦合至存储器600,用于执行上述程序以用于:基于基础数据以及该基础数据在第一存储设备上的位置信息,在第三存储设备上创建该基础数据的快照。
在一可选实施方式中,通信组件602具体用于:接收第一存储设备发送的目标存储分区中的数据以及该目标存储分区的标号,且该目标存储分区是多个存储分区中自上次快照创建操作之后数据发生变化的存储分区。
相应地,处理器601在在第三存储设备上创建基础数据的快照时,具体用于:为目标存储分区所属的快照分配标识;建立目标存储分区的标号与目标存储分区所属的快照的标识之间的映射关系;将目标存储分区中的数据以及映射关系备份至第三存储设备。
进一步,通信组件602还用于:接收第一存储设备发送的回滚指令,该回滚指令携带有待回滚快照的标识,并根据待回滚快照的标识,从第三存储设备上获取该待回滚快照对应存储分区的标号。相应地,处理器601还用于从多个存储分区中,获取当前所属快照的标识不同于待回滚快照的标识的存储分区作为待回滚存储分区。通信组件602还用于将待回滚存储分区的标号返回给第一存储设备,以供第一存储设备执行对待回滚存储分区的回滚操作。
在一可选实施方式中,处理器601在在第三存储设备上创建基础数据的快照之前,还用于:将目标存储分区中的数据以及目标存储分区的标号存储至第一存储设备在本地的镜像文件中。
进一步,如图6b所示,存储设备还包括:显示器603、电源组件604、音频组件605等其它组件。图6b中仅示意性给出部分组件,并不意味着存储设备只包括图6b所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被执行时能够实现:
接收第一存储设备同步过来的基础数据以及所述基础数据在所述第一存储设备上的位置信息;所述基础数据是所述第一存储设备上需要创建快照的数据;
接收所述第一存储设备发送的快照创建指令,所述快照创建指令用于指示在第三存储设备上为所述基础数据创建快照;
基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照。
在图5b和图6b中的通信组件,可被配置为便于通信组件所属设备和其他设备之间有线或无线方式的通信。通信组件所属设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在图5b和图6b中的显示器,可以包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
在图5b和图6b中的电源组件,为电源组件所属设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所属设备生成、管理和分配电力相关联的组件。
在图5b和图6b中的音频组件,被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所属设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的 指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来 说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (19)

  1. 一种快照创建方法,其特征在于,包括:
    获取第一存储设备上需要创建快照的基础数据以及所述基础数据在所述第一存储设备上的位置信息;
    将所述基础数据以及所述基础数据在所述第一存储设备上的位置信息同步至第二存储设备,所述第二存储设备与所述第一存储设备的性能匹配度满足设定要求;
    向所述第二存储设备发送快照创建指令,以指示所述第二存储设备在第三存储设备上创建所述基础数据的快照。
  2. 根据权利要求1所述的方法,其特征在于,所述获取第一存储设备上需要创建快照的基础数据以及所述基础数据在所述第一存储设备上的位置信息,包括:
    在监听到所述第一存储设备上没有写操作时,执行获取所述基础数据以及所述基础数据在所述第一存储设备上的位置信息的操作;和/或
    响应于快照创建触发操作,执行获取所述基础数据以及所述基础数据在所述第一存储设备上的位置信息的操作。
  3. 根据权利要求1所述的方法,其特征在于,所述将所述基础数据以及所述基础数据在所述第一存储设备上的位置信息同步至第二存储设备,包括:
    将所述基础数据以及所述基础数据在所述第一存储设备上的位置信息同步至所述第一存储设备在所述第二存储设备上的镜像文件中。
  4. 根据权利要求1所述的方法,其特征在于,所述第一存储设备包括多个存储分区;所述获取第一存储设备上需要创建快照的基础数据以及所述基础数据在所述第一存储设备上的位置信息,包括:
    从所述多个存储分区中确定自上次快照创建操作之后数据发生变化的目标存储分区;
    获取所述目标存储分区中的数据以及所述目标存储分区的标号分别作为所述基础数据和所述基础数据在所述第一存储设备上的位置信息。
  5. 根据权利要求4所述的方法,其特征在于,所述从所述多个存储分区中确定自上次快照创建操作之后数据发生变化的目标存储分区,包括:
    从存储分区状态表中读取所述多个存储分区中每个存储分区的数据状态;
    获取数据状态为改写状态的存储分区作为所述目标存储分区。
  6. 根据权利要求5所述的方法,其特征在于,在将所述基础数据以及所述基础数 据在所述第一存储设备上的位置信息同步至第二存储设备之后,所述方法还包括:
    将所述目标存储分区的数据状态由改写状态修改为保持状态。
  7. 根据权利要求5所述的方法,其特征在于,还包括:
    接收写指令,所述写指令携带有待写存储分区的标号;
    根据所述待写存储分区的标号,从所述存储分区状态表中获取所述待写存储分区的数据状态;
    根据所述待写存储分区的数据状态,对所述待写存储分区执行写操作。
  8. 根据权利要求7所述的方法,其特征在于,所述根据所述待写存储分区的数据状态,对所述待写存储分区执行写操作,包括:
    若所述待写存储分区的数据状态为保持状态,将所述待写存储分区的数据状态修改为改写状态,并在所述待写存储分区中执行写操作;
    若所述待写存储分区的数据状态为改写状态,在所述待写存储分区中执行写操作;
    若所述待写存储分区的数据状态为无效状态,将所述待写存储分区中的数据更新为所述待写存储分区在所述第三存储设备上的快照数据,将所述待写存储分区的数据状态修改为改写状态,在所述待写存储分区中执行写操作。
  9. 根据权利要求5所述的方法,其特征在于,还包括:
    向所述第二存储设备发送回滚指令,所述回滚指令携带有待回滚快照的标识,以供所述第二存储设备确定待回滚存储分区;
    依据所述第二存储设备返回的所述待回滚存储分区的标号,将所述待回滚存储分区的数据状态修改为无效状态;
    将所述待回滚存储分区中的数据替换为所述待回滚存储分区在所述待回滚快照中的快照数据。
  10. 根据权利要求9所述的方法,其特征在于,所述将所述待回滚存储分区中的数据替换为所述待回滚存储分区在所述待回滚快照中的快照数据,包括:
    当接收到写指令时或者数据获取周期到达时,向所述第二存储设备发送数据获取指令,以指示所述第二存储设备从所述第三存储设备获取所述待回滚存储分区在所述待回滚快照中的快照数据;
    接收所述第二存储设备返回的所述待回滚存储分区在所述待回滚快照中的快照数据;
    将所述待回滚存储分区中的数据替换为所述待回滚存储分区在所述待回滚快照中 的快照数据。
  11. 一种快照创建方法,其特征在于,包括:
    接收第一存储设备同步过来的基础数据以及所述基础数据在所述第一存储设备上的位置信息;所述基础数据是所述第一存储设备上需要创建快照的数据;
    接收所述第一存储设备发送的快照创建指令,所述快照创建指令用于指示在第三存储设备上为所述基础数据创建快照;
    基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照。
  12. 根据权利要求11所述的方法,其特征在于,所述第一存储设备包括多个存储分区;
    所述接收第一存储设备发送的基础数据以及所述基础数据在所述第一存储设备上的位置信息,包括:
    接收所述第一存储设备发送的目标存储分区中的数据以及所述目标存储分区的标号,所述目标存储分区是所述多个存储分区中自上次快照创建操作之后数据发生变化的存储分区。
  13. 根据权利要求12所述的方法,其特征在于,所述基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照,包括:
    为所述目标存储分区所属的快照分配标识;
    建立所述目标存储分区的标号与所述目标存储分区所属的快照的标识之间的映射关系;
    将所述目标存储分区中的数据以及所述映射关系备份至所述第三存储设备。
  14. 根据权利要求13所述的方法,其特征在于,还包括:
    接收所述第一存储设备发送的回滚指令,所述回滚指令携带有待回滚快照的标识;
    根据所述待回滚快照的标识,从所述第三存储设备上获取所述待回滚快照对应存储分区的标号;
    从所述多个存储分区中,获取当前所属快照的标识不同于所述待回滚快照的标识的存储分区作为所述待回滚存储分区;
    将所述待回滚存储分区的标号返回给所述第一存储设备,以供所述第一存储设备执行对所述待回滚存储分区的回滚操作。
  15. 根据权利要求12-14任一项所述的方法,其特征在于,在所述第三存储设备上创建所述基础数据的快照之前,所述方法还包括:
    将所述目标存储分区中的数据以及所述目标存储分区的标号存储至所述第一存储设备在本地的镜像文件中。
  16. 一种存储设备,作为第一存储设备实现,其特征在于,包括存储器、处理器以及通信组件;
    所述存储器包括程序存储区和数据存储区,所述程序存储区用于存储程序,所述数据存储区用于存储数据;
    所述处理器,耦合至所述存储器,用于执行所述程序以用于:
    从所述数据存储区中获取需要创建快照的基础数据以及所述基础数据在所述数据存储区中的位置信息;
    将所述基础数据以及所述基础数据在所述数据存储区中的位置信息同步至第二存储设备,所述第二存储设备与所述存储设备的性能匹配度满足设定要求;
    通过所述通信组件向所述第二存储设备发送快照创建指令,以指示所述第二存储设备在第三存储设备上创建所述基础数据的快照;
    所述通信组件,用于向所述第二存储设备发送所述快照创建指令。
  17. 一种存储设备,其特征在于,包括:存储器、处理器以及通信组件;
    所述通信组件,用于接收第一存储设备同步过来的基础数据以及所述基础数据在所述第一存储设备上的位置信息;所述基础数据是所述第一存储设备上需要创建快照的数据;所述存储设备与所述第一存储设备的性能匹配度满足设定要求;
    所述通信组件,还用于接收所述第一存储设备发送的快照创建指令,所述快照创建指令用于指示在第三存储设备上为所述基础数据创建快照;
    所述存储器包括程序存储区和数据存储区,所述程序存储区用于存储程序,所述数据存储区用于存储所述基础数据以及所述基础数据在所述第一存储设备上的位置信息;
    所述处理器,耦合至所述存储器,用于执行所述程序以用于:
    基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照。
  18. 一种存储系统,其特征在于,包括:依次连接的第一存储设备、第二存储设备以及第三存储设备;所述第二存储设备与所述第一存储设备的性能匹配度满足设定要求;
    所述第一存储设备,用于获取所述第一存储设备上需要创建快照的基础数据以及所述基础数据在所述第一存储设备上的位置信息,将所述基础数据以及所述基础数据在所述第一存储设备上的位置信息同步至所述第二存储设备;以及向所述第二存储设备发送快照创建指令,以指示所述第二存储设备在所述第三存储设备上创建所述基础数据的快照;
    所述第二存储设备,用于接收所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,并接收所述快照创建指令,以及基于所述基础数据以及所述基础数据在所述第一存储设备上的位置信息,在所述第三存储设备上创建所述基础数据的快照。
  19. 根据权利要求18所述的系统,其特征在于,所述第一存储设备中的存储介质为固态硬盘;所述第二存储设备中的存储介质为固态硬盘和串口硬盘的混合存储介质;所述第三存储设备中的存储介质为串口硬盘。
PCT/CN2018/113728 2017-11-08 2018-11-02 快照创建方法、装置及系统 Ceased WO2019091341A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711092728.1A CN110018987B (zh) 2017-11-08 2017-11-08 快照创建方法、装置及系统
CN201711092728.1 2017-11-08

Publications (1)

Publication Number Publication Date
WO2019091341A1 true WO2019091341A1 (zh) 2019-05-16

Family

ID=66438199

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/113728 Ceased WO2019091341A1 (zh) 2017-11-08 2018-11-02 快照创建方法、装置及系统

Country Status (2)

Country Link
CN (1) CN110018987B (zh)
WO (1) WO2019091341A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114764484A (zh) * 2021-01-13 2022-07-19 武汉斗鱼网络科技有限公司 懒加载实现方法、装置、电子设备和存储介质
CN115168287A (zh) * 2022-06-17 2022-10-11 阿里巴巴(中国)有限公司 数据处理方法以及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981574B (zh) * 2023-03-10 2023-08-04 阿里巴巴(中国)有限公司 一种快照存储方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567262A (zh) * 2003-06-10 2005-01-19 联想(北京)有限公司 基于数据卷快照的在线数据备份方法
CN101118507A (zh) * 2006-08-04 2008-02-06 株式会社日立制作所 计算机系统及其快照生成方法
US8560789B2 (en) * 2010-09-07 2013-10-15 Nec Corporation Disk apparatus, data replicating method onto disk apparatus and program recording medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438349B2 (en) * 2009-08-21 2013-05-07 Symantec Corporation Proxy backup of virtual disk image files on NAS devices
CN103034566B (zh) * 2012-12-06 2015-07-22 华为技术有限公司 虚拟机还原的方法和装置
US9727257B2 (en) * 2015-02-05 2017-08-08 Red Hat, Inc. Maintaining relative references when unlinking volumes from a volume chain
CN106126370A (zh) * 2016-06-15 2016-11-16 上海爱数信息技术股份有限公司 基于存储快照之间增量位图的Server‑free备份方法及系统
CN106681862B (zh) * 2016-12-15 2020-12-04 华为技术有限公司 数据的增量恢复方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567262A (zh) * 2003-06-10 2005-01-19 联想(北京)有限公司 基于数据卷快照的在线数据备份方法
CN101118507A (zh) * 2006-08-04 2008-02-06 株式会社日立制作所 计算机系统及其快照生成方法
US8560789B2 (en) * 2010-09-07 2013-10-15 Nec Corporation Disk apparatus, data replicating method onto disk apparatus and program recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114764484A (zh) * 2021-01-13 2022-07-19 武汉斗鱼网络科技有限公司 懒加载实现方法、装置、电子设备和存储介质
CN115168287A (zh) * 2022-06-17 2022-10-11 阿里巴巴(中国)有限公司 数据处理方法以及装置

Also Published As

Publication number Publication date
CN110018987B (zh) 2023-03-21
CN110018987A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
EP2821925B1 (en) Distributed data processing method and apparatus
CN112035410A (zh) 日志存储方法、装置、节点设备及存储介质
US20140208012A1 (en) Virtual disk replication using log files
CN107861691B (zh) 一种多控存储系统的负载均衡方法和装置
US20130282676A1 (en) Garbage collection-driven block thinning
WO2015081470A1 (zh) 数据处理设备和数据处理的方法
US20130262388A1 (en) Database backup to highest-used page
US9998537B1 (en) Host-side tracking of data block changes for incremental backup
CN107402722A (zh) 一种数据迁移方法及存储设备
CN115202929B (zh) 数据库集群备份系统
WO2020025049A1 (zh) 数据同步的方法、装置、数据库主机及存储介质
US10353780B1 (en) Incremental backup in a distributed block storage environment
CN112000426B (zh) 一种数据处理方法及装置
CN109753379B (zh) 快照数据备份、删除方法、装置及系统
CN109558213A (zh) 管理OpenStack平台的虚拟机快照的方法和装置
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
WO2019091341A1 (zh) 快照创建方法、装置及系统
CN104917788A (zh) 一种数据存储方法及装置
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
US10235089B2 (en) Storage control device, method and storage system to backup data using allocation information
KR102277731B1 (ko) 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러
CN110018986B (zh) 异常快照识别方法及装置
US9235349B2 (en) Data duplication system, data duplication method, and program thereof
US20180018124A1 (en) Data arrangement apparatus and data arrangement method
CN112286869A (zh) 一种快照创建方法及装置

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: 18875249

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: 18875249

Country of ref document: EP

Kind code of ref document: A1