WO2018119601A1 - 数据转换方法及备份服务器 - Google Patents

数据转换方法及备份服务器 Download PDF

Info

Publication number
WO2018119601A1
WO2018119601A1 PCT/CN2016/112184 CN2016112184W WO2018119601A1 WO 2018119601 A1 WO2018119601 A1 WO 2018119601A1 CN 2016112184 W CN2016112184 W CN 2016112184W WO 2018119601 A1 WO2018119601 A1 WO 2018119601A1
Authority
WO
WIPO (PCT)
Prior art keywords
backup
data
read
server
storage
Prior art date
Application number
PCT/CN2016/112184
Other languages
English (en)
French (fr)
Inventor
张磊
伏高顶
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2016/112184 priority Critical patent/WO2018119601A1/zh
Priority to CN202110064595.7A priority patent/CN112860479A/zh
Priority to EP16915408.5A priority patent/EP3379425A4/en
Priority to CN201680003338.XA priority patent/CN108513657B/zh
Priority to US15/972,527 priority patent/US10409694B2/en
Publication of WO2018119601A1 publication Critical patent/WO2018119601A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Definitions

  • the present application relates to the field of storage technologies, and in particular, to a method for implementing data conversion in a cloud data center and a backup server.
  • the data of the virtual machine (VM) or the physical machine (PM) of the data center in the cloud is backed up to the local or backup to the local by volume, and then copied to the remote.
  • the virtual machine (also called cloud host) in the cloud data center is restored, thereby achieving the purpose of disaster recovery and data backup.
  • the backup data generated by one backup is called a backup copy, and the backup copy includes multiple backup data objects.
  • Objects are the basic unit of data storage in object storage technology.
  • An object is a combination of file data and a set of attribute information (Meta Data).
  • the backup software stores the VM/PM data in the form of a backup copy when it is backed up to the storage device in the form of an object, and the format type of the cloud data center can be registered as the data format of the mirror object, so the backup server needs to be based on
  • the backup copy creates a mirrored object that can be registered in the cloud data center corresponding to the backup copy on the storage device.
  • the image here refers to the image in the cloud data center, corresponding to English as image.
  • a mirrored object is an object that is compatible with a cloud data center in a cloud data center and can be used to create virtual machines and virtual machines.
  • the embodiment of the present application provides a method for implementing data conversion in a cloud data center and a backup server.
  • the conversion time of the backup data object is shortened, and the storage cost of the user in the cloud data center is reduced.
  • the embodiment of the present application provides the following technical solutions:
  • the first aspect provides a method for implementing data conversion in a cloud data center, where the cloud data center includes a backup server, a block storage server, and a storage device, where the backup server stores a virtual mirror object corresponding to the backup copy in the storage device.
  • the uniform resource locator URL address of the virtual mirror object in the backup server comprising: the backup server receiving the read request sent by the block storage server, where the read request includes the virtual mirror object to be read in the backup server a URL address and an address range of the target data in the virtual mirror object to be read; the backup server acquires the virtual mirror object to be read according to the URL address of the virtual mirror object to be read in the backup server The address mapping bitmap and the storage path of the backup data in the backup copy; the backup server obtains the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy The backup server sends the target to the block storage server It is.
  • a method for implementing data conversion in a cloud data center according to an embodiment of the present application.
  • a virtual mirror object is virtualized by the backup server, instead of generating a real mirror object in the storage device. Therefore, the storage space of the user in the storage device can be saved, thereby reducing the storage cost of the user in the cloud data center.
  • the block storage device can directly read the backup data in the storage device through the backup server, instead of the backup server first reading the backup copy from the storage device, and then sending the write operation to the storage device.
  • the block storage device reads the backup data from the mirror object, so when the virtual machine cloud disk is created, the read IO and write IO consumed by the real mirror object can be eliminated, thereby shortening the backup data.
  • the conversion time of the object is the conversion time of the object.
  • the backup server before the backup server receives the read request sent by the block storage server, the backup server further includes: the backup server obtains the identifier of the backup copy; the backup server queries the local database according to the identifier of the backup copy, and obtains a storage path of the metadata in the backup copy; the backup server obtains the metadata from the storage device according to the storage path of the metadata; the backup server creates a virtual mirror object to be read according to the metadata; The backup server generates a URL address of the created virtual mirror object; the backup server mirrors Like the server sends the URL address of the created virtual mirror object.
  • a virtual mirror object can be virtualized in the backup server.
  • the backup server obtains an address mapping bitmap and a storage of the backup data in the backup copy corresponding to the virtual image object to be read according to the URL address of the virtual mirror object to be read in the backup server.
  • the path includes: determining, by the backup server, an identifier of the virtual mirror object to be read according to the URL address of the virtual mirror object to be read in the backup server; the backup server is configured according to the virtual mirror object to be read And identifying, in the pre-stored metadata in the virtual mirror object to be read, the metadata includes a storage path and a backup copy of the address mapping bitmap of the backup data in the backup copy corresponding to the virtual mirror object to be read.
  • the backup server obtains an address mapping bitmap of the backup data in the backup copy from the storage device according to the storage path of the address mapping bitmap of the backup data in the backup copy. That is, in the embodiment of the present application, the backup server may obtain the address mapping bitmap of the backup data in the backup copy corresponding to the virtual mirror object to be read according to the metadata in the virtual mirror object to be read stored in advance. Storage path.
  • the backup server obtains an address mapping bitmap and a storage of the backup data in the backup copy corresponding to the virtual image object to be read according to the URL address of the virtual mirror object to be read in the backup server.
  • the path includes: determining, by the backup server, an identifier of the virtual mirror object to be read according to the URL address of the virtual mirror object to be read in the backup server; the backup server is configured according to the virtual mirror object to be read The identifier is obtained by acquiring an address mapping bitmap and a storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read in advance.
  • the address mapping bitmap and the storage path of the backup data in the backup copy corresponding to the virtual mirror object may be acquired only once during the access process of the entire virtual mirror object, and then stored locally in the backup server, and subsequently used.
  • the address mapping bitmap and the storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read in the backup server are obtained according to the URL address of the virtual mirror object to be read in the backup server. can.
  • the backup server obtains the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, including: the backup server according to the backup server The address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, and the read from the storage device Backing up data; the backup server obtains the target data according to the backup data to be read and the address range of the target data. That is, in the embodiment of the present application, the backup server may first obtain the backup data to be read from the storage device, and then acquire the target data according to the backup data to be read and the address range of the target data.
  • the backup server obtains the backup data to be read from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, including: The backup server determines the backup data to be read according to the address range of the target data and the address mapping bitmap of the backup data in the backup copy, and then maps the bitmap and the storage path according to the address of the backup data in the backup copy to obtain the backup to be read.
  • the storage path of the data in the storage device further, the backup server creates a data read request for the backup data to be read according to the storage path of the backup data to be read in the storage device, wherein the data read request includes reading The storage path of the backup data in the storage device; then, the backup server sends a data read request to the storage device; the backup server receives the backup data to be read sent by the storage device.
  • the backup data to be read can be obtained from the storage device.
  • the backup server obtains the target data according to the backup data to be read and the address range of the target data, including: if the address range of the target data is greater than the address of the backup data object in the backup copy Range, the backup server combines the data of different backup data objects in the backup data to be read to obtain the target data.
  • the target data including: if the address range of the target data is greater than the address of the backup data object in the backup copy Range, the backup server combines the data of different backup data objects in the backup data to be read to obtain the target data.
  • the backup server obtains the target data according to the backup data to be read and the address range of the target data, including: if the address range of the target data is not greater than the backup data object in the backup copy The address range, the backup server intercepts data corresponding to the address range of the target data from the backup data to be read as the target data.
  • the backup server obtains the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, including: if the target data The address range is not greater than the address range of the backup data object in the backup copy, and the backup server determines the backup data to be read according to the address range of the target data and the address mapping bitmap of the backup data in the backup copy, and then according to the backup copy.
  • Medium The address mapping bitmap and the storage path of the backup data, and the storage path of the backup data to be read in the storage device; the backup server stores the storage path in the storage device according to the backup data to be read.
  • the read backup data creates a data read request, where the data read request includes a storage path of the backup data to be read in the storage device and an address range of the target data; the backup server sends the data read to the storage device Request; the backup server receives the target data sent by the storage device. That is to say, in the embodiment of the present application, the method of segment reading may be adopted when reading data from the storage device, or a finer address range may be specified. For specific examples, reference may be made to the specific implementation section, and details are not described herein again.
  • a backup server in a second aspect, includes: an object storage presentation module, an input/output IO interception analysis module, and an IO forwarding layer.
  • the object storage presentation module is configured to store a virtual image corresponding to the backup copy in the storage device.
  • the object storage presentation module is further configured to receive a read request sent by the block storage server, where the read request includes the virtual mirror object to be read a URL address in the backup server and an address range of the target data in the virtual mirror object to be read; the object storage presentation module is further configured to: according to the URL address of the virtual mirror object to be read in the backup server, Obtaining an address mapping bitmap and a storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read; the IO interception analyzing module is configured to intercept an address range of the target data in the object storage rendering module, and the backup The address of the backup data in the copy maps the bitmap and the storage path, and based on the target data An address range, an address mapping bitmap and a storage path of the backup data in the backup copy, the target data is obtained from the storage device by using the IO forwarding layer; the object storage presentation module is further configured to send the IO to the block storage server The target data acquired by
  • the backup server further includes a backup module; the backup module is configured to obtain an identifier of the backup copy before the object storage presentation module receives the read request sent by the block storage server; the backup module further Querying a local database according to the identifier of the backup copy, and obtaining a storage path of the metadata in the backup copy; the object storage presentation module is further configured to pass the IO according to the storage path of the metadata acquired by the backup module.
  • the forwarding layer obtains the metadata from the storage device; the object storage presentation module is further configured to create the virtual mirror object to be read according to the metadata, and generate a URL address of the created virtual mirror object; the backup module Is also used to send the object storage creation module created by the object to the mirror server The URL address of the virtual mirror object.
  • the object storage presentation module acquires the address mapping of the backup data in the backup copy corresponding to the virtual mirror object to be read according to the URL address of the virtual mirror object to be read in the backup server.
  • the bitmap and the storage path include: determining an identifier of the virtual mirror object to be read according to the URL address of the virtual mirror object to be read in the backup server; and according to the identifier of the virtual mirror object to be read, Obtaining metadata in the virtual mirror object to be read pre-stored in the object storage presentation module, where the metadata includes a storage path of an address mapping bitmap of the backup data in the backup copy corresponding to the virtual mirror object to be read. And a storage path of the backup data in the backup copy; according to the storage path of the address mapping bitmap of the backup data in the backup copy, the address mapping bitmap of the backup data in the backup copy is obtained from the storage device through the IO forwarding layer.
  • the object storage presentation module acquires the address mapping of the backup data in the backup copy corresponding to the virtual mirror object to be read according to the URL address of the virtual mirror object to be read in the backup server.
  • the bitmap and the storage path include: determining, according to the URL address of the virtual mirror object to be read, the identifier of the virtual mirror object to be read; and obtaining the identifier of the virtual mirror object to be read according to the identifier of the virtual mirror object to be read An address mapping bitmap and a storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read stored in advance.
  • the IO interception analysis module obtains the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, through the IO forwarding layer. And including: an address range of the target data, an address mapping bitmap and a storage path of the backup data in the backup copy, and acquiring, by the IO forwarding layer, the backup data to be read from the storage device; The data range of the backup data and the target data is obtained, and the target data is obtained.
  • the IO interception analysis module obtains an address range of the target data, an address mapping bitmap and a storage path of the backup data in the backup copy, and acquires from the storage device through the IO forwarding layer.
  • the backup data includes: determining the backup data to be read according to the address range of the target data and the address mapping bitmap of the backup data in the backup copy, and mapping the bitmap and the storage path according to the address of the backup data in the backup copy, Get the one that needs to be read a storage path of the backup data in the storage device; a data read request is created for the backup data to be read according to the storage path of the backup data to be read in the storage device, wherein the data read request includes the data read request The storage path of the backup data to be read in the storage device; the data read request is sent to the storage device by the IO forwarding layer; and the backup data to be read sent by the storage device is received by the IO forwarding layer.
  • the IO interception analysis module acquires the target data according to the backup data to be read and the address range of the target data, including: if the address range of the target data is larger than the backup data object in the backup copy
  • the address range of the IO interception analysis module combines the data of different backup data objects in the backup data to be read to obtain the target data.
  • the IO interception analysis module acquires the target data according to the backup data to be read and the address range of the target data, including: if the address range of the target data is not greater than the backup data in the backup copy The address range of the object, the IO interception analysis module intercepts data corresponding to the address range of the target data from the backup data to be read as the target data.
  • the IO interception analysis module intercepts data corresponding to the address range of the target data from the backup data to be read as the target data.
  • the IO interception analysis module obtains the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, through the IO forwarding layer.
  • the method includes: if the address range of the target data is not greater than the address range of the backup data object in the backup copy, determining the backup data to be read according to the address range of the target data and the address mapping bitmap of the backup data in the backup copy, And obtaining, according to the address mapping bitmap and the storage path of the backup data in the backup copy, the storage path of the backup data to be read in the storage device; and the storage path of the backup data to be read according to the storage device in the storage device Creating a data read request for the backup data to be read, where the data read request includes a storage path of the backup data to be read in the storage device and an address range of the target data; The storage device sends the data read request; the target data sent by the storage device is received by the IO forwarding layer.
  • a backup server including: a processor, a memory, a bus, and a communication interface; the memory is configured to store a computer execution instruction, and the processor is connected to the memory through the bus, when the backup server is running, The processor executes the memory stored in the meter The computer executes the instructions to cause the backup server to perform the method of implementing data conversion in a cloud data center as described in any of the above first aspects.
  • a computer storage medium for storing computer software instructions for use by the backup server, including a program designed to perform the above method embodiments.
  • a computer program comprising instructions, when executed by a computer, to cause a computer to perform data conversion in a cloud data center as described in any of the first aspects above method.
  • a cloud data center system comprising a block storage device, a mirror server, a storage device, and a backup server according to any of the second or third aspect; wherein the mirror server And for receiving and storing the URL address of the created virtual mirror object sent by the backup server; the block storage server is configured to query, from the mirror server, the URL address of the created virtual mirror object, and send the URL address to the backup server Sending a read request; the block storage server is further configured to receive target data sent by the backup server, and create a virtual machine cloud disk according to the target data.
  • FIG. 1 is a logical framework diagram of a hybrid cloud backup system according to an embodiment of the present application.
  • FIG. 2 is a schematic diagram of data objects in a storage device according to an embodiment of the present disclosure
  • FIG. 3 is a schematic structural diagram of a backup server according to an embodiment of the present application.
  • FIG. 4 is a schematic flowchart 1 of a data conversion method according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an overall framework of data conversion provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of creating a virtual mirror object according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic diagram of an overall framework for creating a virtual mirror object according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of a hardware of a backup server according to an embodiment of the present application.
  • the embodiment of the present application provides a method for implementing data conversion in a cloud data center, which can be applied to a hybrid cloud backup system, that is, data conversion is performed when data of a data center under the cloud is backed up to a cloud data center, and is also applicable to a cloud backup system. , data conversion when the data in the cloud data center is backed up to other cloud data centers.
  • a hybrid cloud backup system is taken as an example for description.
  • the hybrid cloud backup system includes a cloud data center and a cloud data center.
  • the cloud data center deploys VMs and/or PMs, disaster recovery/migration management servers, backup management servers, and backup servers1.
  • the cloud data center deploys a backup server 2, a storage device, a mirror server, and a block storage server, wherein the storage device stores data in an object storage manner.
  • the following is a brief introduction to these devices in the cloud data center and cloud data center:
  • VM/PM Machines that provide business services to users, such as file servers, database servers, etc., can exist in the form of VM/PM.
  • Disaster Recovery/Migration Management Server The process of controlling the entire disaster recovery and data migration.
  • Backup Management Server A management server that schedules backup related tasks to different backup servers.
  • Backup server A server that performs backup related tasks. There can be multiple backup servers, distributed at different sites, all managed by the same backup management server. Among them, the sites here include the cloud data center and the cloud data center. As shown in FIG. 1, the backup server 1 is distributed in the cloud data center, and the backup server 2 is distributed in the cloud data center. Of course, in FIG. 1 , only two backup servers are given by way of example. The embodiment of the present application does not specifically limit the number of backup servers.
  • Storage device The storage device is deployed in the cloud data center and uses object storage technology to store data.
  • the storage service can be provided for the tenant under the cloud in the manner of object storage, or the storage service can be provided for the server on the cloud in the manner of object storage.
  • Mirror server A server used to manage cloud host images.
  • the cloud host image refers to creating a virtual machine in the cloud data center according to the mirror object.
  • the backup server creates a virtual mirror object, which is externally presented by the interface of the object storage.
  • the virtual mirror object is externally presented as the mirror object.
  • the virtual mirror object only contains the metadata object, does not contain the backup data object, and the storage path of the data object in the metadata object in the virtual mirror object points.
  • the mirror object contains a backup data object in addition to the metadata object, and the storage path of the data object in the metadata object points to the data object in the mirror object.
  • the cloud host image actually refers to creating a virtual machine in the cloud data center according to the virtual image object.
  • the core of the cloud host image is to create a cloud disk of the virtual machine in the cloud data center according to the virtual image object.
  • the mirror server records the Uniform Resource Locator (URL) address of each virtual mirror object.
  • the URL address of the virtual mirror object of the backup-2 may be: http://BackupServer- IP//IMG-objectID-Backup-2.
  • the BackupServer-IP refers to the IP address of the backup server that virtualizes the virtual mirror object.
  • the IMG-objectID-Backup-2 refers to the identifier (Identity, ID) of the virtual mirror object of the backup-2.
  • the mirror server also records some metadata information of the virtual mirror object, such as the identifier of the virtual mirror object, the format and size of the virtual mirror object, and the like.
  • a virtual machine when a virtual machine is created in a cloud data center, in particular, a virtual machine's cloud disk, it needs to be created based on the virtual image object. All virtual machine image objects are managed by the mirror server, which provides services such as mirror object registration and query.
  • Block Storage Server The server used to create a virtual machine's cloud disk.
  • the address of the mirror object is obtained from the mirror server, and the disk of the virtual machine is created by acquiring the data of the mirror object from the storage device according to the address of the mirror object.
  • the address of the mirror object refers specifically to the URL address of the virtual mirror object.
  • the backup server 1 is located in the cloud data center
  • the backup server 2 is located in the cloud data center.
  • the S1 the disaster recovery/migration management server sends a request for backing up the specified VM/PM to the backup management server, where the request carries the identifier of the specified VM/PM and the destination address of the backup.
  • the destination address of the backup is actually the URL address of the storage device.
  • the backup management server sends an instruction to the backup server 1 to instruct the backup server 1 to back up the disk data of the specified VM/PM to the storage device of the cloud data center according to the identifier of the VM/PM and the destination address of the backup. in.
  • the backup server 1 backs up the data of the disk of the specified VM/PM to the storage device of the cloud data center to obtain a backup copy.
  • the format of the backup copy in the storage device is only identifiable by the backup software in the backup server 1.
  • the backup server 1 automatically generates the name of the backup data object and obtains the storage path of the backup data object in combination with the URL address of the storage device. For example, if the URL address of the storage device is http://IP and the name of the backup data object is Object-1, the storage path of the backup data object is http://IP/Object-1.
  • the backup data generated by one backup is referred to as a backup copy
  • one backup copy includes multiple backup data objects.
  • the backup data object includes a plurality of backup data objects, an address mapping bitmap object of the backup data (hereinafter referred to as an address mapping bitmap object), and a metadata object of the backup copy.
  • the data in each backup data object is backup data, and the address of the backup data in the multiple backup data objects is incremented according to the address position of the data on the disk of the original virtual machine or the physical machine.
  • the data of the address mapping bitmap object is an address mapping bitmap
  • the data of the metadata object is metadata.
  • Typical backup data is divided into several equal-sized data blocks, each of which is a backup data object in the storage device; the address mapping bitmap indicates that a certain backup of a disk of the virtual machine is required to form a complete disk.
  • the storage path of the backup copy here is actually the URL address of the storage device, for example, it can be http://IP.
  • the address of the backup data in the multiple backup data objects generated during the first backup is incremented according to the address position of the data on the disk of the original virtual machine or the physical machine, which is backup-1-1 to backup-1-8.
  • the backup-1-1 is the first backup data object of the first backup, and the data of the range of 0 to 4 MB of the disk is saved;
  • the backup-1-2 is the second backup data object of the first backup.
  • the data of the 5 to 8 MB address range of the disk is saved, and so on.
  • the backup data includes backup-1-1 data A, backup-1-2 data B, backup-1-3 data C, backup-1-4 data D, backup-1- Data F of 5, data E of backup-1-6, data G of backup -1-7, and data H of backup -1-8.
  • the address mapping bitmap generated during the first backup is also stored in the storage device as an object.
  • the address mapping bitmap includes the names of all the backup data objects that are required to be formed by the backup to form a complete disk, and is sequentially stored according to the address position of the data on the disk of the original virtual machine or the physical machine, as shown in FIG. 2 Backup - 1-1, backup - 1-2, backup - 1-3, backup - 1-4, backup - 1-5, backup - 1-6, backup -1-7 and backup -1-8.
  • the backup-2-1 is the first backup data object of the second backup, and the data of the range of 0 to 4 MB of the disk is saved, and the backup of the second backup data object of the second backup is -2-2. The data in the range of 5 to 8 MB of the disk is saved, and so on.
  • the backup data includes the data A1 of the backup-2-1, the data B1 of the backup-2-2, and the backup-1.
  • the backup data is as shown in FIG. 2, including data A of backup-1-1, data B of backup-1-2, data C of backup-1-3, backup- 1-4 data D, backup-1-5 data F, backup-1-6 data E, backup -1-7 data G, backup -1-8 data H, backup-2-1 data A1 and backup -2-2 data B1.
  • the backup copy in this example includes the backup data object, the address mapping bitmap object, and the metadata object in FIG.
  • the backup server 1 sends the path of the backup data object to the disaster recovery/migration management server through the backup management server.
  • the disaster recovery/migration management server sends a command to the backup server 2 of the cloud data center through the backup management server, where the command carries the identifier of the backup copy, and is used to instruct the backup server 2 to format the backup data object of the backup copy in the storage device. Convert, convert to a mirror object that the block storage server can recognize.
  • the backup server 2 creates a virtual mirror object according to the selected backup copy, and sends the URL address of the virtual mirror object to the disaster recovery/migration management server through the backup management server. This process will be described in detail in the creation process of the following virtual image object in this application, and will not be described here.
  • the S7 the disaster recovery/migration management server sends a mirror registration command to the mirror server, where the command includes the URL address and the image format type of the virtual image object, and the image format type may be, for example, a Raw Disk, an open virtualization format. (Open Virtualization Forma, OVF), or Open Virtualization Appliance (OVA), and so on.
  • the image format is the Raw Disk format as an example, and the description is omitted here, and details are not described herein again.
  • the mirror server registers the virtual mirror object, that is, records the URL address and type of the virtual mirror object, and assigns a mirror ID to the virtual mirror object.
  • the mirror server sends the mirror ID assigned to the virtual mirror object to the disaster recovery/migration management server.
  • the disaster recovery/migration management server sends an indication message for creating a cloud disk to the block storage server, where the indication message carries a mirror ID assigned by the mirror server to the virtual mirror object.
  • the block storage server queries the mirror server to obtain a URL address of the virtual mirror object according to the mirror ID, and then creates a cloud disk of the virtual machine. This process will be mainly described in the following data conversion method of the present application, and will not be described herein.
  • step S11 how to shorten the conversion time of the backup data object, and And reducing the storage cost of the user in the cloud data center is a technical problem that needs to be solved in the embodiment of the present application.
  • FIG. 3 is a schematic structural diagram of a backup server 30 according to an embodiment of the present application.
  • the backup server 30 includes a backup module 31, an object storage presentation module 32, an IO intercept analysis module 33, and an IO forwarding layer 34.
  • the following is a brief introduction of each module as follows:
  • the backup module 31 is configured to receive backup and recovery commands of the backup management server, and complete backup and recovery tasks. In addition, in the embodiment of the present application, the backup module 31 also participates in the task of creating a virtual mirror object.
  • the object storage presentation module 32 is configured to externally present a virtual storage device in an interface manner of object storage.
  • the object storage presentation module 32 includes an Http server component 321, an Object Storage Device (OSD) component 322, and a Meta Data management component 323.
  • OSD Object Storage Device
  • the metadata management component 323 stores metadata such as the size and creation time of the virtual mirror object.
  • the OSD component 322 is logically a component that stores data.
  • the provided data access interface is an http interface, and the stored data is an object, not a block or a file.
  • the OSD component 322 uploads or downloads object data in a PUT/Get method of an interface of a Representational State Transfer (REST).
  • REST Representational State Transfer
  • the OSD component 322 does not actually store the object data, and is mainly used to assist the IO interception analysis module 33 to perform interception analysis.
  • the Http server component 321 is configured to respond to the object storage various http access requests for accessing the http client 341, including http access requests for uploading and downloading object data.
  • the IO intercept analysis module 33 is used for interception of read requests and IO range analysis.
  • the read request in the embodiment of the present application is used to read data in the virtual mirror object.
  • the read request includes a URL address of the virtual mirror object to be read in the backup server and an address range of the target data in the virtual mirror object to be read.
  • the read request may be: in the virtual mirror object corresponding to http://BackupServer-IP//IMG-objectID-Backup-2
  • the data of 0 to 8 MB address is used for the Get operation.
  • the URL address of the virtual mirror object to be read in the backup server is http://BackupServer-IP//IMG-objectID-Backup-2, and the address range of the target data is 0-8MB.
  • the IO intercept analysis module 33 includes an IO intercept component 331 and an IO analysis component 332.
  • the IO intercept component 331 is configured to intercept the read request after the OSD component 322 obtains the read request, and send the read request to the IO analysis component 332.
  • the IO analysis component 332 is configured to analyze an address range of the target data in the read request, and combine the address mapping bitmap and the storage path of the backup data in the backup copy to decompose the read request into one or more HTTP-based protocols for the storage device. request.
  • the IO analysis component 332 is further configured to: after receiving the backup data to be read sent by the storage device, acquire the target data according to the address range of the backup data and the target data to be read, and then send the target data to the target data.
  • the IO intercept component 331, is returned to the OSD component 322 via the IO intercept component 331.
  • the IO analysis component 332 can obtain the target data according to the address range of the backup data and the target data to be read.
  • the IO analysis component 332 is further configured to send the target data to the IO intercept component 331 after receiving the target data sent by the storage device, and return to the OSD component 322 through the IO intercept component 331.
  • the IO analysis component 332 is further configured to send the target data to the IO intercept component 331 after receiving the target data sent by the storage device, and return to the OSD component 322 through the IO intercept component 331.
  • the IO forwarding layer 34 includes an object storage access http client 341 for forwarding the http request to the storage device; after obtaining the backup data or the target data to be read, transferring the backup data or the target data to be read to IO analysis component 332.
  • the method for implementing data conversion in the cloud data center provided by the embodiment of the present application is provided below based on the backup server 30 provided by the embodiment of the present application.
  • the backup server 30 stores the URL address of the virtual mirror object corresponding to the backup copy in the storage device and the virtual mirror object in the backup server.
  • the method for implementing data conversion in a cloud data center includes the following steps:
  • the backup server receives a read request sent by the block storage server, where the read request includes a URL address of the virtual mirror object to be read in the backup server and an address range of the target data in the virtual mirror object to be read.
  • the backup server needs to create a virtual image object according to the selected backup copy.
  • the specific creation process will be described in the following embodiments, and details are not described herein again.
  • the URL address of the virtual mirror object in the block storage server is obtained by the block storage server after receiving the indication message for creating the cloud disk sent by the disaster recovery/migration management server, and the mirror server carried in the indication message is the virtual mirror object.
  • the assigned mirror ID is obtained from the mirror server (see step S11 above), and the URL address of the virtual mirror object in the mirror server is generated by the backup server 30 and sent to the disaster recovery/migration management server through the backup management server. Then, it is obtained through the above steps S7 and S8.
  • the URL address of the virtual mirror object of the backup-2 is taken as an example, the URL address of the virtual mirror object may be Http://BackupServer-IP/IMG-objectID-Backup-2.
  • the address range of the target data indicates the range of the mirrored object data to be transmitted, such as the data of 0 to 8 MB addresses.
  • FIG. 5 shows an overall framework of the backup server 30 implementing data conversion in the cloud data center.
  • the Http server component 321 in the backup server 30 is configured to support the backup server 30 to perform step S401 in the embodiment of the present application.
  • the backup server obtains an address mapping bitmap and a storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read, according to the URL address of the virtual mirror object to be read in the backup server.
  • the backup server obtains an address mapping bitmap and a storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read, according to the URL address of the virtual mirror object to be read in the backup server, which may include: The backup server determines the identifier of the virtual mirror object to be read according to the URL address of the virtual mirror object to be read in the backup server. Further, the backup server obtains the pre-stored pending read according to the identifier of the virtual mirror object to be read.
  • the metadata in the virtual mirror object, the metadata including the virtual mirror object pair to be read The storage path of the address mapping bitmap of the backup data in the backup copy and the storage path of the backup data in the backup copy; further, the backup server obtains the backup from the storage device according to the storage path of the address mapping bitmap of the backup data in the backup copy.
  • the address mapping bitmap of the backup data in the copy is
  • the Http server component 321 may receive the read request after receiving the request.
  • the ID of the virtual mirror object to be read is analyzed as IMG-objectID-Backup-2, that is, the virtual mirror object corresponding to backup-2.
  • the Http server component 321 can send a data acquisition instruction to the OSD component 322, where the data acquisition instruction carries the identifier of the virtual mirror object to be read and the address range of the target data.
  • the OSD component 322 may obtain the backup of the virtual mirror object to be read from the metadata management component 323 according to the identifier of the virtual mirror object to be read carried in the data acquisition instruction.
  • the metadata includes: a storage path of the address mapping bitmap of the backup-2 corresponding to the virtual mirror object to be read and a storage path of the backup data of the backup-2. Further, the OSD component 322 can send an address mapping bitmap acquisition request to the real storage device through the object storage access http client 341 and obtain an address mapping bitmap of the backup-2.
  • the address mapping bitmap and the storage path of the backup data in the backup copy may be acquired only once during the access process of the entire virtual image object, and then stored in the local area of the backup server 30, and only need to be read according to the subsequent use.
  • the virtual mirror object is obtained from the URL address of the backup server, and the address mapping bitmap and the storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read stored in the backup server 30 are obtained.
  • the backup server may also store the URL address of the backup copy on the storage device.
  • the backup server obtains the address mapping bitmap and the storage path of the backup data in the backup copy corresponding to the virtual mirror object to be read, according to the URL address of the virtual mirror object to be read in the backup server, which may include: the backup server according to the standby The URL address of the virtual mirror object in the backup server is obtained, and the URL address of the backup copy corresponding to the virtual mirror object to be read is obtained in the storage device, and the backup copy corresponding to the virtual mirror object to be read is in the storage device.
  • the URL address, the metadata in the backup copy corresponding to the virtual mirror object to be read is obtained from the storage device, and the metadata includes the storage path of the address mapping bitmap of the backup data. And the storage path of the backup data.
  • the Http server component 321 may receive the read request according to The URL address of the virtual mirror object to be read, and obtain the URL address of the backup copy corresponding to the virtual mirror object to be read in the storage device, for example, http://object-storage/objectID-Backup-2, that is, backup -2 URL address in the storage device.
  • the Http server component 321 can send a data acquisition instruction to the OSD component 322, where the data acquisition instruction carries the address range of the backup-2 in the storage device and the address range of the target data.
  • the OSD component 322 can obtain the metadata of the backup-2 from the storage device through the object storage access http client 341 according to the URL address of the backup-2 in the storage device, and the metadata includes the backup-2.
  • the storage path of the address mapping bitmap and the storage path of the backup data of backup-2 can be obtained.
  • the backup server acquires the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy.
  • the backup server obtains the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, and specifically includes: the address of the backup server according to the target data.
  • the address mapping bitmap and the storage path of the backup data in the backup copy obtain the backup data to be read from the storage device; the backup server obtains the target data according to the backup data and the address range of the target data to be read.
  • the IO intercept component 331 intercepts the data acquisition instruction sent by the OSD component 322 to the object storage access http client 341, and sends the data acquisition instruction to the IO analysis component 332.
  • the data acquisition instruction carries an identifier of the virtual mirror object and an address range of the target data, such as a 0-8 MB address.
  • the IO analysis component 332 obtains the backup data to be read from the storage device through the object storage access http client 341 according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, and according to the need. The backup data and the address range of the target data are read to obtain the target data.
  • the IO analysis component 332 is configured according to an address range of the target data and a backup pair.
  • the address mapping bitmap and the storage path of the backup data are obtained by the object storage access http client 341 to obtain the backup data to be read from the storage device, including: the IO analysis component 332 backs up according to the address range of the target data and the backup copy.
  • the address mapping bitmap of the data determines the backup data to be read, and then maps the bitmap and the storage path according to the address of the backup data in the backup copy, and obtains the storage path of the backup data to be read in the storage device, and then reads according to the need
  • the storage path of the backup data in the storage device creates a data read request for the backup data to be read, wherein the data read request includes a storage path of the backup data to be read in the storage device.
  • the IO analysis component 332 sends the data read request to the storage device through the object storage access http client 341; and receives the backup data to be read sent by the storage device through the object storage access http client 341.
  • the address range of the target data to be acquired is larger than the address range of the backup data object in the backup copy.
  • the data of 0 to 8 MB of the backup-2 is taken as an example for description. As shown in FIG.
  • the IO analysis component 332 to split the data acquisition instruction into two data read requests is sent to the storage device through the object storage access http client 341, such as: http:// The data in the backup data object corresponding to the object-storage/objectID-Backup-2-1 is subjected to a Get operation; and, in the backup data object corresponding to http://object-storage/objectID-Backup-2-2 The data is used for the Get operation. Further, the IO analysis component 332 of the backup server receives the data of the "backup-2-1" and the data of the "backup-2-2" transmitted by the storage device through the object storage access http client 341.
  • the address range of the target data to be acquired is not larger than the address range of the backup data object in the backup copy.
  • the data of 0 to 2 MB of the backup-2 is taken as an example for description.
  • the data of 0 to 2 MB is in the "backup-2-1" (corresponding data is A1), so the IO analysis component 332 accesses the http client through the object storage.
  • the 341 sends a data read request to the storage device, for example, performing a Get operation on the data in the backup data object corresponding to http://object-storage/objectID-Backup-2-1.
  • the address range of the target data to be acquired above is larger than the backup copy.
  • the target data that may be acquired may not be all the data in the multiple backup data objects.
  • the IO analysis component 332 still needs to split the data acquisition instruction into two data read requests for processing. For details, refer to the implementation manner of the foregoing first case. .
  • the IO analysis component 332 obtains the target data according to the address range of the backup data and the target data to be read, and specifically includes: if the address range of the target data is greater than the address range of the backup data object in the backup copy, IO The analysis component 332 combines the backup data of different backup data objects in the backup data to be read to obtain the target data.
  • the IO analysis component 332 receives the transmission sent by the storage device through the object storage access http client 341. After backing up the data of -2-1" and the data of "backup-2-2", you can combine the data of "backup-2-1" with the data of "backup-2-2" to get 0 of backup-2. ⁇ 8MB of data, that is, target data.
  • the IO analysis component 332 obtains the target data according to the address range of the backup data and the target data to be read, and specifically includes: if the address range of the target data is not greater than the address range of the backup data object in the backup copy, The IO analysis component 332 intercepts data corresponding to the address range of the target data from the backup data to be read as the target data.
  • the IO analysis component 332 receives the transmission sent by the storage device through the object storage access http client 341.
  • the data of the backup-2-1 since the data of the "backup-2-1" is 0 to 4 MB of the backup-2, the IO analysis component 332 can intercept 0 from the data of the "backup-2-1". ⁇ 2MB of data is used as target data.
  • the target data that may be acquired may not be all the data in the multiple backup data objects, for example,
  • the IO analysis component 332 accesses the http client 341 through the object storage.
  • the IO analysis component 332 directly combines the data of "backup-2-1" with the data of "backup-2-2", and obtains data of 0-8 megabytes of backup-2, which can be obtained from "backup-2- After the data of 5 to 6 MB is intercepted from the data of 2", the data of 5-6 MB of the backup-2 is combined with the data of "backup-2-1", thereby obtaining 0 to 6 MB of data of the backup-2, that is, Target data.
  • the embodiment of the present application does not specifically limit the situation, and may be implemented in combination with the foregoing two implementation manners.
  • the backup server obtains the target data from the storage device according to the address range of the target data, the address mapping bitmap and the storage path of the backup data in the backup copy, and specifically includes: if the address range of the target data is not The backup server is larger than the address range of the backup data object in the backup copy, and the backup server determines the backup data to be read according to the address range of the target data and the address mapping bitmap of the backup data in the backup copy, and then maps the address according to the backup data in the backup copy.
  • the bitmap and the storage path are used to obtain the storage path of the backup data to be read in the storage device; further, the backup server creates a data read for the backup data to be read according to the storage path of the backup data to be read in the storage device.
  • the data read request includes a storage path of the backup data to be read in the storage device and an address range of the target data; the backup server sends the data read request to the storage device; and the backup server receives the target data sent by the storage device .
  • the method of segment reading may be adopted when reading data from the storage device, or a finer address range may be specified.
  • the IO intercept component 331 intercepts the data acquisition instruction sent by the OSD component 322 to the object storage access http client 341, and sends the data acquisition instruction to the IO analysis component 332.
  • the data acquisition instruction carries the address range of the identifier and the target data of the virtual mirror object, for example, the data of 0 to 2 MB of the backup-2 is taken as an example, and the address of the target data is used.
  • the range is 0 to 2MB.
  • the IO analysis component 332 can determine that 0 to 2 MB of data is in "Backup - 2-1" (corresponding data is A1) according to the address mapping bitmap of Backup-2 in FIG. 5, and thus the IO analysis component 332 accesses through the object storage.
  • the http client 341 sends a data read request to the storage device, for example, a Get operation of 0 to 2 MB of the backup data object corresponding to http://object-storage/objectID-Backup-2-1. Furthermore, the IO analysis component 332 can directly pass the object The storage access http client 341 receives 0 to 2 MB of data in the "backup-2-1" transmitted by the storage device, that is, target data.
  • the backup server sends the target data to the block storage server.
  • the IO analysis component 332 can send the target data to the IO intercept component 331, and the target data is sent to the OSD component 322 through the IO intercept component 331 and then sent to the block storage server through the Http server component 321.
  • the backup server 30 shown in FIG. 5 only illustrates the functional modules and interactions required in the process of implementing the data conversion method provided by the embodiment shown in FIG. 4 in the cloud data center. This is only a part of the backup server 30 shown in FIG.
  • the virtual mirror object creation process in the above step S6 may be further included, that is, the access path of a virtual mirror object is finally presented by the backup server according to the selected backup copy.
  • the backup path is converted into a virtual mirror object: Http://BackupServer-IP/IMG-objectID-Backup-2.
  • the creation process of the virtual mirror object will be described below with reference to the backup server 30 shown in FIG. The process is as follows:
  • the backup server receives an instruction sent by the backup management server, where the instruction carries an identifier of the backup copy, such as backup-2, where the instruction is used to instruct the backup server to format convert the backup data object of the backup copy in the storage device into a block.
  • an instruction sent by the backup management server where the instruction carries an identifier of the backup copy, such as backup-2, where the instruction is used to instruct the backup server to format convert the backup data object of the backup copy in the storage device into a block.
  • backup-2 an identifier of the backup copy
  • the instruction is used to instruct the backup server to format convert the backup data object of the backup copy in the storage device into a block.
  • the backup server queries the local database according to the identifier of the backup copy, and obtains a storage path of the metadata in the backup copy.
  • the local database is generally a basic configuration in the backup server, and usually includes a storage path of metadata of each backup copy, which is not described in detail in this embodiment of the present application.
  • FIG. 7 shows an overall framework of creating a virtual mirror object in the backup server 30.
  • the backup module 31 in the backup server 30 is configured to support the backup server 30 to perform steps S601 and S602 in the embodiment of the present application.
  • the backup server acquires metadata from the storage device according to the storage path of the metadata.
  • the backup module 31 in the backup server 30 sends the storage path of the metadata to the metadata management component 323. Further, the metadata management component 323 can obtain the backup copy through the object storage access http client 341.
  • the metadata in the backup copy identified as Backup-2 and stored.
  • the metadata may include a disk size, a backup copy time point, a backup copy storage path, and the like.
  • the backup server creates a virtual mirror object of the data to be read according to the metadata, and generates a URL address of the created virtual mirror object.
  • the metadata management component 323 in the backup server 30 can generate a virtual mirror object record based on the metadata.
  • the information recorded by the virtual mirror object may include: an identifier, a size, and a URL address of the virtual mirror object.
  • the identifier of the virtual mirror object is allocated by the metadata management component 323 for the new object; the URL address of the virtual mirror object to be read data is generated by the metadata management component 323 by:
  • the metadata management component 323 in the backup server 30 can locally generate a local file in the backup server 30. There is no data in the local file, only for the placeholder, to assist the metadata management component 323 to generate the URL address of the virtual mirror object.
  • the local file may be named IMG-objectID-Backup-2, that is, the identifier of the virtual mirror object of the backup-2, and the URL address of the virtual mirror object that the metadata management component 323 can generate the backup-2 may be: Http: //BackupServer-IP/IMG-objectID-Backup-2.
  • the BackupServer-IP refers to the IP address of the backup server that virtualizes the virtual mirror object.
  • the IMG-objectID-Backup-2 refers to the identifier of the virtual mirror object of the backup-2.
  • the process of generating a virtual mirror object record is a process of creating a virtual mirror object, which is uniformly described herein, and details are not described herein.
  • the backup server sends the URL address of the created virtual mirror object to the disaster recovery/migration management server through the backup management server.
  • the URL address of the created virtual mirror object may be sent to the backup module 31.
  • the backup module 31 sends the data to the backup management server and then sends it to the disaster recovery/migration management server through the backup management server.
  • a method for implementing data conversion in a cloud data center according to an embodiment of the present application.
  • a virtual mirror object is virtualized by the backup server, instead of generating a real mirror object in the storage device. Therefore, the storage space of the user in the storage device can be saved, thereby reducing the storage cost of the user in the cloud data center.
  • the block storage device can directly read the backup data in the storage device through the backup server, instead of the backup server first reading the backup copy from the storage device, and then sending the write operation to the storage device.
  • the block storage device reads the backup data from the mirror object, so when the cloud disk of the virtual machine is created, the read IO and write IO consumed by the real mirror object can be eliminated, thereby shortening the backup data.
  • the conversion time of the object is the time of the object.
  • the solution provided by the embodiment of the present application is mainly introduced from the perspective of the method and the software module. It can be understood that, in order to implement the above functions, the above computer device includes a hardware structure and/or a software module corresponding to each function.
  • the present application can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present application.
  • FIG. 8 is a schematic diagram showing the hardware structure of a backup server provided by an embodiment of the present application.
  • the backup server 800 includes at least one processor 801, a communication bus 802, a memory 803, and at least one communication interface 804.
  • the processor 801 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more programs for controlling the execution of the program of the present application. integrated circuit.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • Communication bus 802 can include a path for communicating information between the components described above.
  • Communication interface 804 using any type of transceiver, for communicating with other devices Network communication, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc.
  • Network communication such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc.
  • RAN Radio Access Network
  • WLAN Wireless Local Area Networks
  • the memory 803 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions.
  • the dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this.
  • the memory can exist independently and be connected to the processor via a bus.
  • the memory can also be integrated with the processor.
  • the memory 803 is used to store application code for executing the solution of the present application, and is controlled by the processor 801 for execution.
  • the processor 801 is configured to execute the application code stored in the memory 803 to implement the method of implementing data conversion in the cloud data center as described in the above embodiments.
  • the processor 801 may include one or more CPUs, such as CPU0 and CPU1 in FIG.
  • backup server 800 can include multiple processors, such as processor 801 and processor 808 in FIG. Each of these processors can be a single-CPU processor or a multi-core processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data, such as computer program instructions.
  • the backup server 800 may further include an output device 805 and an input device 806.
  • Output device 805 is in communication with processor 801 and can display information in a variety of ways.
  • the output device 805 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. Wait.
  • Input device 806 is in communication with processor 801 and can accept user input in a variety of ways.
  • input device 806 can be a mouse, keyboard, touch screen device, or sensing device, and the like.
  • the backup server 800 described above may be a general backup server or a dedicated backup server.
  • the backup server 800 can be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet, a wireless terminal device, a communication device, an embedded device, or have FIG. A device of similar structure.
  • PDA personal digital assistant
  • the embodiment of the present application does not limit the type of the backup server 800.
  • the backup server provided by the embodiment of the present application can be used to perform the foregoing method for implementing data conversion in the cloud data center. Therefore, the technical effects of the present invention can be referred to the foregoing method embodiments, and details are not described herein again.
  • the embodiment of the present application further provides a computer storage medium for storing computer software instructions used by the backup server, which includes a program designed to execute the foregoing method embodiments.
  • a stored program By executing a stored program, you can implement a method of data conversion in a cloud data center.
  • the embodiment of the present application further provides a computer program, which includes instructions, when the computer program is executed by a computer, to enable the computer to execute the flow of the foregoing method embodiment.
  • embodiments of the present application can be provided as a method, apparatus (device), or computer program product.
  • the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment in combination of software and hardware.
  • the application 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 programs are stored/distributed in a suitable medium, together with other hardware Other distributions may be used as part of the hardware, such as over the Internet or other wired or wireless telecommunications systems.
  • 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.

Abstract

本申请实施例提供在云数据中心实现数据转换的方法及备份服务器,可以在创建虚拟机的云磁盘时,缩短备份数据对象的转换时间,并且减少用户在云数据中心的存储成本。方法包括:备份服务器接收块存储服务器发送的读请求,读请求包括待读取的虚拟镜像对象在备份服务器中的URL地址和待读取的虚拟镜像对象中目标数据的地址范围;根据待读取的虚拟镜像对象在备份服务器中的URL地址,获取待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径根据目标数据的地址范围、备份副本中备份数据的地址映射位图和存储路径,从存储设备中获取目标数据;向块存储服务器发送目标数据。本申请适用于存储技术领域。

Description

数据转换方法及备份服务器 技术领域
本申请涉及存储技术领域,尤其涉及在云数据中心实现数据转换的方法及备份服务器。
背景技术
在当前的混合云备份中,云下数据中心的虚拟机(Virtual Machine,VM)或者物理机(Physical Machine,PM)的数据,以卷为单位备份到本地或者备份到本地后,再远程复制到云数据中心中价格低廉的存储设备中,并通过云数据中心中的备份服务器,恢复成云数据中心的虚拟机(也可以称作云主机),从而达到容灾和数据备份的目的。
其中,一次备份产生的备份数据称为一个备份副本,备份副本中包括多个备份数据对象。对象是对象存储技术中数据存储的基本单位,一个对象是文件的数据和一组属性信息(元数据,Meta Data)的组合。备份软件在将VM/PM的数据以对象的形式备份到存储设备中时,是以备份副本的形式存储的,而云数据中心可注册的格式类型为镜像对象的数据格式,因此备份服务器需要基于备份副本在存储设备中创建该备份副本对应的云数据中心可注册的镜像对象。这里的镜像是指云数据中心里的镜像,对应英文为image。镜像对象是指在云数据中心中被云数据中心兼容的可用于创建虚拟机和虚拟机的盘的对象。
然而,在云数据中心的存储设备中创建镜像对象的过程中,一方面,由于备份服务器需要先从存储设备中读取备份副本,然后再下发写操作到存储设备中,形成镜像对象,因此在还没有创建虚拟机的云盘之前,就已经因为大量的输入输出(Input-Output,IO)而消耗大量的时间;另一方面,由于在存储设备中创建镜像对象要耗费用户在存储设备中的存储空间,因此会增加用户在云数据中心的存储成本。
发明内容
本申请实施例提供在云数据中心实现数据转换的方法及备份服务器,在创建虚拟机的云盘时,缩短备份数据对象的转换时间,并且减少用户在云数据中心的存储成本。
为达到上述目的,本申请实施例提供如下技术方案:
第一方面,提供一种在云数据中心中实现数据转换的方法,该云数据中心包括备份服务器、块存储服务器和存储设备,备份服务器中存储有该存储设备中的备份副本对应的虚拟镜像对象和该虚拟镜像对象在该备份服务器中的统一资源定位符URL地址,该方法包括:备份服务器接收该块存储服务器发送的读请求,该读请求包括待读取的虚拟镜像对象在该备份服务器中的URL地址和该待读取的虚拟镜像对象中目标数据的地址范围;该备份服务器根据该待读取的虚拟镜像对象在该备份服务器中的URL地址,获取该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径;该备份服务器根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,从该存储设备中获取该目标数据;该备份服务器向该块存储服务器发送该目标数据。基于本申请实施例提供的在云数据中心实现数据转换的方法,一方面,由于本申请实施例中,是由备份服务器虚拟出一个虚拟镜像对象,而不是在存储设备中产生真正的镜像对象,因此可以节省用户在存储设备中的存储空间,从而减少用户在云数据中心的存储成本。另一方面,本申请实施例中,块存储设备可以通过备份服务器直接读取存储设备中的备份数据,而不是备份服务器先从存储设备中读取备份副本,然后再下发写操作到存储设备中,形成镜像对象,再由块存储设备从镜像对象中读取备份数据,因此可以在创建虚拟机的云盘时,消除因为产生真实镜像对象所消耗的读IO和写IO,从而缩短备份数据对象的转换时间。
在一种可能的设计中,在该备份服务器接收块存储服务器发送的读请求之前,还包括:该备份服务器获取该备份副本的标识;该备份服务器根据该备份副本的标识,查询本地数据库,获取该备份副本中的元数据的存储路径;该备份服务器根据该元数据的存储路径,从该存储设备中获取该元数据;该备份服务器根据该元数据,创建待读取的虚拟镜像对象;该备份服务器生成该创建的虚拟镜像对象的URL地址;该备份服务器向镜 像服务器发送该创建的虚拟镜像对象的URL地址。通过上述方法,可以在备份服务器中虚拟出一个虚拟镜像对象。
在一种可能的设计中,该备份服务器根据待读取的虚拟镜像对象在备份服务器中的URL地址,获取待该读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:该备份服务器根据该待读取的虚拟镜像对象在该备份服务器中的URL地址,确定该待读取的虚拟镜像对象的标识;该备份服务器根据该待读取的虚拟镜像对象的标识,获取预先存储的该待读取的虚拟镜像对象中的元数据,该元数据包括该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图的存储路径和备份副本中备份数据的存储路径;该备份服务器根据该备份副本中备份数据的地址映射位图的存储路径,从该存储设备中获取该备份副本中备份数据的地址映射位图。即,本申请实施例中,备份服务器可以根据预先存储的该待读取的虚拟镜像对象中的元数据,获取该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径。
在一种可能的设计中,该备份服务器根据待读取的虚拟镜像对象在备份服务器中的URL地址,获取待该读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:该备份服务器根据该待读取的虚拟镜像对象在该备份服务器中的URL地址,确定该待读取的虚拟镜像对象的标识;该备份服务器根据该待读取的虚拟镜像对象的标识,获取预先存储的待该读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径。即,本申请实施例中,虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径在整个虚拟镜像对象的访问过程中可以仅获取一次,然后存储在备份服务器的本地,后续使用时,仅需根据待读取的虚拟镜像对象在备份服务器中URL地址,获取备份服务器中预先存储的待该读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径即可。
在一种可能的设计中,该备份服务器根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,从该存储设备中获取该目标数据,包括:该备份服务器根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,从该存储设备中获取需读取的 备份数据;该备份服务器根据需读取的备份数据和该目标数据的地址范围,获取该目标数据。即,本申请实施例中,备份服务器可以首先从存储设备中获取需读取的备份数据,进而根据该需读取的备份数据和该目标数据的地址范围,获取该目标数据。
在一种可能的设计中,该备份服务器根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,从该存储设备中获取需读取的备份数据,包括:该备份服务器根据该目标数据的地址范围和备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据备份副本中备份数据的地址映射位图和存储路径,获取需读取的备份数据在存储设备中的存储路径;进而,备份服务器根据需读取的备份数据在存储设备中的存储路径,为需读取的备份数据创建数据读请求,其中,数据读请求中包括需读取的备份数据在存储设备中的存储路径;然后,该备份服务器向该存储设备发送数据读请求;该备份服务器接收该存储设备发送的需读取的备份数据。通过上述方式,可以从存储设备中获取需读取的备份数据。
在一种可能的设计中,该备份服务器根据该需读取的备份数据和该目标数据的地址范围,获取该目标数据,包括:若该目标数据的地址范围大于备份副本中备份数据对象的地址范围,该备份服务器组合该需读取的备份数据中不同的备份数据对象的数据,得到该目标数据。具体示例可参考具体实施方式部分,此处不再赘述。
在一种可能的设计中,该备份服务器根据该需读取的备份数据和该目标数据的地址范围,获取该目标数据,包括:若该目标数据的地址范围不大于备份副本中备份数据对象的地址范围,该备份服务器从该需读取的备份数据中截取该目标数据的地址范围对应的数据作为该目标数据。具体示例可参考具体实施方式部分,此处不再赘述。
在一种可能的设计中,该备份服务器根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,从该存储设备中获取该目标数据,包括:若该目标数据的地址范围不大于备份副本中备份数据对象的地址范围,该备份服务器根据该目标数据的地址范围和该备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据该备份副本中 备份数据的地址映射位图和存储路径,获取该需读取的备份数据在存储设备中的存储路径;该备份服务器根据该需读取的备份数据在该存储设备中的存储路径,为该需读取的备份数据创建数据读请求,该数据读请求中包括该需读取的备份数据在该存储设备中的存储路径和该目标数据的地址范围;该备份服务器向该存储设备发送该数据读请求;该备份服务器接收该存储设备发送的该目标数据。也就是说,本申请实施例中,在从存储设备中读取数据时还可以采用分段读取的方式,或者指定更精细的地址范围。具体示例可参考具体实施方式部分,此处不再赘述。
第二方面,提供一种备份服务器,该备份服务器包括:对象存储呈现模块、输入输出IO截获分析模块和IO转发层;该对象存储呈现模块,用于存储存储设备中的备份副本对应的虚拟镜像对象和该虚拟镜像对象在该备份服务器中的统一资源定位符URL地址;该对象存储呈现模块,还用于接收该块存储服务器发送的读请求,该读请求包括待读取的虚拟镜像对象在该备份服务器中的URL地址和该待读取的虚拟镜像对象中目标数据的地址范围;该对象存储呈现模块,还用于根据该待读取的虚拟镜像对象在该备份服务器中的URL地址,获取该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径;该IO截获分析模块,用于截获该对象存储呈现模块中的该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,并根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,通过该IO转发层从该存储设备中获取该目标数据;该对象存储呈现模块,还用于向该块存储服务器发送该IO截获分析模块获取的该目标数据。
在一种可能的设计中,该备份服务器还包括备份模块;该备份模块,用于在该对象存储呈现模块接收块存储服务器发送的读请求之前,获取该备份副本的标识;该备份模块,还用于根据该备份副本的标识,查询本地数据库,获取该备份副本中的元数据的存储路径;该对象存储呈现模块,还用于根据该备份模块获取的该元数据的存储路径,通过该IO转发层从该存储设备中获取该元数据;该对象存储呈现模块,还用于根据该元数据创建该待读取的虚拟镜像对象,并生成该创建的虚拟镜像对象的URL地址;该备份模块,还用于向镜像服务器发送该对象存储呈现模块创建的该 虚拟镜像对象的URL地址。
在一种可能的设计中,该对象存储呈现模块根据该待读取的虚拟镜像对象在该备份服务器中的URL地址,获取该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:根据该待读取的虚拟镜像对象在该备份服务器中的URL地址,确定该待读取的虚拟镜像对象的标识;根据该待读取的虚拟镜像对象的标识,获取该对象存储呈现模块中预先存储的该待读取的虚拟镜像对象中的元数据,该元数据包括该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图的存储路径和该备份副本中备份数据的存储路径;根据该备份副本中备份数据的地址映射位图的存储路径,通过该IO转发层从该存储设备中获取该备份副本中备份数据的地址映射位图。
在一种可能的设计中,该对象存储呈现模块根据该待读取的虚拟镜像对象在该备份服务器中的URL地址,获取该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:根据该待读取的虚拟镜像对象在该备份服务器中URL地址,确定该待读取的虚拟镜像对象的标识;根据该待读取的虚拟镜像对象的标识,获取预先存储的该待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径。
在一种可能的设计中,该IO截获分析模块根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,通过该IO转发层从该存储设备中获取该目标数据,包括:根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,通过该IO转发层从该存储设备中获取需读取的备份数据;根据该需读取的备份数据和该目标数据的地址范围,获取该目标数据。
在一种可能的设计中,该IO截获分析模块根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,通过该IO转发层从该存储设备中获取需读取的备份数据,包括:根据该目标数据的地址范围和该备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据该备份副本中备份数据的地址映射位图和存储路径,获取该需读取的 备份数据在该存储设备中的存储路径;根据该需读取的备份数据在该存储设备中的存储路径,为该需读取的备份数据创建数据读请求,其中,该数据读请求中包括该需读取的备份数据在该存储设备中的存储路径;通过该IO转发层向该存储设备发送该数据读请求;通过该IO转发层接收该存储设备发送的该需读取的备份数据。
在一种可能的设计中,该IO截获分析模块根据该需读取的备份数据和该目标数据的地址范围,获取该目标数据,包括:若该目标数据的地址范围大于备份副本中备份数据对象的地址范围,该IO截获分析模块组合该需读取的备份数据中不同的备份数据对象的数据,得到该目标数据。具体示例可参考具体实施方式部分,此处不再赘述。
在一种可能的设计中,该IO截获分析模块根据该需读取的备份数据和该目标数据的地址范围,获取该目标数据,包括:若该目标数据的地址范围不大于备份副本中备份数据对象的地址范围,该IO截获分析模块从该需读取的备份数据中截取该目标数据的地址范围对应的数据作为该目标数据。具体示例可参考具体实施方式部分,此处不再赘述。
在一种可能的设计中,该IO截获分析模块根据该目标数据的地址范围、该备份副本中备份数据的地址映射位图和存储路径,通过该IO转发层从该存储设备中获取该目标数据,包括:若该目标数据的地址范围不大于该备份副本中备份数据对象的地址范围,根据该目标数据的地址范围和该备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据该备份副本中备份数据的地址映射位图和存储路径,获取该需读取的备份数据在该存储设备中的存储路径;根据该需读取的备份数据在该存储设备中的存储路径,为该需读取的备份数据创建数据读请求,该数据读请求中包括该需读取的备份数据在该存储设备中的存储路径和该目标数据的地址范围;通过该IO转发层向该存储设备发送该数据读请求;通过该IO转发层接收该存储设备发送的该目标数据。
第三方面,提供一种备份服务器,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该备份服务器运行时,该处理器执行该存储器存储的该计 算机执行指令,以使该备份服务器执行如上述第一方面中任意一项所述的在云数据中心中实现数据转换的方法。
第四方面,提供一种计算机存储介质,用于储存为上述备份服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以在云数据中心中实现数据转换的方法。
第五方面,提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行如上述第一方面中任意一项所述的在云数据中心中实现数据转换的方法。
第六方面,提供一种云数据中心系统,该云数据中心系统包括块存储设备、镜像服务器、存储设备、以及如第二方面或第三方面任意方面所述的备份服务器;其中,该镜像服务器,用于接收并存储该备份服务器发送的该创建的虚拟镜像对象的URL地址;该块存储服务器,用于从该镜像服务器中查询得到该创建的虚拟镜像对象的URL地址,并向该备份服务器发送读请求;该块存储服务器,还用于接收该备份服务器发送的目标数据,并根据目标数据创建虚拟机的云盘。
另外,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的混合云备份系统的逻辑框架图;
图2为本申请实施例提供的存储设备中数据对象的示意图;
图3为本申请实施例提供的备份服务器的结构示意图;
图4为本申请实施例提供的数据转换方法的流程示意图一;
图5为本申请实施例提供的数据转换的整体框架示意图;
图6为本申请实施例提供的创建虚拟镜像对象的流程示意图;
图7为本申请实施例提供的创建虚拟镜像对象的整体框架示意图;
图8为本申请实施例提供的备份服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请的描述中,“多个”是指两个或多于两个。
本申请实施例提供一种在云数据中心中实现数据转换的方法,既可以适用于混合云备份系统,即将云下数据中心的数据备份到云数据中心时实现数据转换,也适用于云备份系统,即将云数据中心的数据备份到其他云数据中心时实现数据转换。本申请实施例中以混合云备份系统为例进行说明。
如图1所示,为本申请实施例提供的混合云备份系统的逻辑框架图。该混合云备份系统包括云下数据中心和云数据中心。其中,云下数据中心部署了VM和/或PM、容灾/迁移管理服务器、备份管理服务器和备份服务器1。云数据中心部署了备份服务器2、存储设备、镜像服务器和块存储服务器,其中存储设备是以对象存储的方式存储数据。下面将对云下数据中心和云数据中心的这些设备简要介绍如下:
VM/PM:为用户提供业务服务的机器,如文件服务器、数据库服务器等,可以以VM/PM的形式存在。
容灾/迁移管理服务器:控制整个容灾和数据迁移的流程。
备份管理服务器:用于调度备份相关任务到不同备份服务器的管理服务器。
备份服务器:执行备份相关任务的服务器。备份服务器可以有多个,分布在不同站点,都由同一个备份管理服务器管理。其中,这里的站点包括云下数据中心和云数据中心。如图1所示,备份服务器1分布在云下数据中心,备份服务器2分布在云数据中心。当然,图1中仅是示例性的给出了2个备份服务器,本申请实施例不对备份服务器的数量做具体限定。
存储设备:存储设备部署在云数据中心,采用对象存储的技术来存储数据。可以以对象存储的方式为云下租户提供存储服务,也可以以对象存储的方式为云上服务器提供存储服务。如亚马逊云服务(mazon Web Services,AWS)的S3等。
镜像服务器:用于管理云主机镜像的服务器。其中,云主机镜像是指根据镜像对象,在云数据中心创建虚拟机。而本申请实施例中备份服务器创建一个虚拟镜像对象,对外以对象存储的接口方式呈现。虚拟镜像对象对外呈现出来与镜像对象相同,与镜像对象相比较,虚拟镜像对象中只包含元数据对象,不包含备份数据对象,并且虚拟镜像对象中的元数据对象中的数据对象的存储路径指向存储设备中的备份副本的数据对象。而镜像对象中除了包含元数据对象,还包含备份数据对象,并且元数据对象中的数据对象的存储路径指向镜像对象中的数据对象。因此,本申请实施例中,云主机镜像实际是指根据虚拟镜像对象,在云数据中心创建虚拟机。另外,由于创建虚拟机的核心在于在云数据中心创建虚拟机的云盘,因此本申请实施例中,云主机镜像的核心在于根据虚拟镜像对象,在云数据中心创建虚拟机的云盘。本申请实施例中,该镜像服务器记录了每一个虚拟镜像对象的统一资源定位符(Uniform Resource Locator,URL)地址,如备份-2的虚拟镜像对象的URL地址可以为:http://BackupServer-IP//IMG-objectID-Backup-2。其中,BackupServer-IP是指虚拟了该虚拟镜像对象的备份服务器的IP地址;IMG-objectID-Backup-2是指备份-2的虚拟镜像对象的标识(Identity,ID)。另外,镜像服务器还记录了该虚拟镜像对象的一些元数据信息,比如虚拟镜像对象的标识,虚拟镜像对象的格式,大小等。其中,本申请实施例中,在云数据中心创建虚拟机,特别是虚拟机的云盘时,需要基于虚拟镜像对象创建。所有的虚拟机镜像对象都由镜像服务器管理,它提供镜像对象注册和查询等服务。
块存储服务器:用于创建虚拟机的云盘的服务器。一般是从镜像服务器获取镜像对象的地址,根据镜像对象的地址从存储设备中获取镜像对象的数据来创建虚拟机的盘。本申请实施例中,该镜像对象的地址具体是指虚拟镜像对象的URL地址。
下面将基于上述云下数据中心和云数据中心的设备给出混合云备份系统中创建虚拟机的云盘的流程的简要说明。在本方法实施例中,备份服务器1位于云下数据中心中,备份服务器2位于云数据中心中。具体实现流程如下:
S1、容灾/迁移管理服务器向备份管理服务器发送备份指定VM/PM的请求,请求中携带指定VM/PM的标识及备份的目的地址。其中,本申请实施例中,备份的目的地址实际上是存储设备的URL地址。
S2、备份管理服务器向备份服务器1发送指令,该指令指示备份服务器1根据VM/PM的标识及备份的目的地址,将指定VM/PM的盘数据以对象的形式备份到云数据中心的存储设备中。
S3、备份服务器1将指定VM/PM的盘的数据备份到云数据中心的存储设备中,得到备份副本。其中,该备份副本在存储设备中的格式仅为备份服务器1中的备份软件可识别。备份服务器1会自动产生备份数据对象的名字,并结合存储设备的URL地址得到备份数据对象的存储路径。比如,若存储设备的URL地址为http://IP,备份数据对象的名字为对象(Object)-1,则备份数据对象的存储路径为http://IP/Object-1。
具体的,本申请实施例中,一次备份产生的备份数据称为一个备份副本,一个备份副本中包括多个备份数据对象。比如,备份数据对象包括多个备份数据对象、备份数据的地址映射位图对象(以下简称地址映射位图对象)以及一个备份副本的元数据对象。其中,每个备份数据对象中的数据为备份数据,多个备份数据对象中的备份数据的地址按照数据在原虚拟机或者物理机的盘上的地址位置递增。地址映射位图对象的数据为地址映射位图,元数据对象的数据为元数据。典型的备份数据被分割为若干大小相等的数据块,每个数据块为存储设备中的一个备份数据对象;地址映射位图指明虚拟机某个盘的某次备份要形成完整的盘所需包含哪些备份数据对象;元数据包含了本次备份的虚拟机盘的大小、备份副本时间点和备份副本的存储路径等。其中,这里备份副本的存储路径实际上是存储设备的URL地址,例如可以是http://IP。
如图2所示,以大小为32MB的盘,每4MB被划分为一个对象为例 解释虚拟机某个盘备份过程如下:
第一次备份时产生的多个备份数据对象中的备份数据的地址按照数据在原虚拟机或者物理机的盘上的地址位置递增,依次是备份-1-1到备份-1-8。其中,备份-1-1为第一次备份的第一个备份数据对象,保存的是盘的0~4MB范围的数据;备份-1-2为第一次备份的第二个备份数据对象,保存的是盘的5~8MB地址范围的数据,以此类推。经过第一次备份之后,备份数据包括备份-1-1的数据A、备份-1-2的数据B、备份-1-3的数据C、备份-1-4的数据D、备份-1-5的数据F、备份-1-6的数据E、备份-1-7的数据G和备份-1-8的数据H。
第一次备份时产生的地址映射位图也是以对象的方式存储在存储设备中。该地址映射位图中包含了该次备份要形成完整的盘所需包含的所有备份数据对象的名称,并且按照数据在原虚拟机或者物理机的盘上的地址位置,依次存放,如图2中的备份-1-1、备份-1-2、备份-1-3、备份-1-4、备份-1-5、备份-1-6、备份-1-7和备份-1-8。
第二次备份时产生的备份数据对象中只有两个发生了变化,但是第二次备份产生的地址映射位图,仍然包含了形成备份-2时间点完整的盘所需包括的所有备份数据对象的名称,如图2中的备份-2-1、备份-2-2、备份-1-3、备份-1-4、备份-1-5、备份-1-6、备份-1-7和备份-1-8。其中,备份-2-1为第二次备份的第一个备份数据对象,保存的是盘的0~4MB范围的数据,备份-2-2为第二次备份的第二个备份数据对象,保存的是盘的5~8MB范围的数据,以此类推。
由于第二次备份时产生的备份数据对象只有两个发生了变化,因此经过第二次备份之后,备份数据包括备份-2-1的数据A1、备份-2-2的数据B1、备份-1-3的数据C、备份-1-4的数据D、备份-1-5的数据F、备份-1-6的数据E、备份-1-7的数据G和备份-1-8的数据H。
也就是说,在两次的备份过程中,备份数据如图2所示,包括备份-1-1的数据A、备份-1-2的数据B、备份-1-3的数据C、备份-1-4的数据D、备份-1-5的数据F、备份-1-6的数据E、备份-1-7的数据G、备份-1-8的数据H、备份-2-1的数据A1和备份-2-2的数据B1。
根据上述对备份副本的定义,则该示例中的备份副本包括图2中的备份数据对象、地址映射位图对象和元数据对象。
S4、备份服务器1通过备份管理服务器向容灾/迁移管理服务器发送该备份数据对象的路径。
S5、容灾/迁移管理服务器通过备份管理服务器向云数据中心的备份服务器2发送指令,指令中携带备份副本的标识,用于指示备份服务器2对存储设备中该备份副本的备份数据对象进行格式转换,转换为块存储服务器能够识别的镜像对象。
S6、备份服务器2根据选定的备份副本,创建虚拟镜像对象,并通过备份管理服务器向容灾/迁移管理服务器发送该虚拟镜像对象的URL地址。该过程将在本申请的下述虚拟镜像对象的创建过程中重点描述,此处不再赘述。
S7、容灾/迁移管理服务器向镜像服务器发送镜像注册指令,该指令中包含该虚拟镜像对象的URL地址和镜像格式类型,该镜像格式类型例如可以是裸盘(Raw Disk),开放虚拟化格式(Open Virtualization Forma,OVF)、或者开放虚拟化设备(Open Virtualization Appliance,OVA),等等。其中,本申请实施例中以该镜像格式类型为Raw Disk格式为例进行说明,在此进行统一说明,以下不再赘述。
S8、镜像服务器对该虚拟镜像对象进行注册,即记录该虚拟镜像对象的URL地址和类型,并为该虚拟镜像对象分配镜像ID。
S9、镜像服务器向容灾/迁移管理服务器发送为该虚拟镜像对象分配的镜像ID。
S10、容灾/迁移管理服务器向块存储服务器发送创建云盘的指示消息,该指示消息中携带镜像服务器为该虚拟镜像对象分配的镜像ID。
S11、块存储服务器根据该镜像ID,从镜像服务器中查询得到虚拟镜像对象的URL地址,进而创建虚拟机的云盘。该过程将在本申请的下述数据转换方法中重点描述,此处不再赘述。
其中,在上述步骤S11中,如何缩短备份数据对象的转换时间,并 且减少用户在云数据中心的存储成本,是本申请实施例需要重点解决的技术问题,下面将对此进行展开说明。
本申请实施例提供的在云数据中心实现数据转换的方法主要通过图1中云数据中心的备份服务器2来实现。如图3所示,为本申请实施例提供的备份服务器30的结构示意图。该备份服务器30包括:备份模块31、对象存储呈现模块32、IO截获分析模块33和IO转发层34。下面分别对各个模块进行简要介绍如下:
备份模块31,用于接收备份管理服务器的备份、恢复等指令,完成备份、恢复任务。另外,在本申请实施例中,备份模块31还参与了创建虚拟镜像对象的任务。
对象存储呈现模块32,用于对外以对象存储的接口方式呈现一个虚拟的存储设备。具体的,该对象存储呈现模块32包括Http服务器组件321、对象存储设备(Object Storage Device,OSD)组件322和元数据(MetaData)管理组件323。
其中,元数据管理组件323中存储了虚拟镜像对象的大小、创建时间等元数据。
OSD组件322逻辑上是存储数据的组件,提供的数据访问接口是http接口,存储的数据是对象,不是块或者文件。OSD组件322以具象状态传输(Representational State Transfer,REST)的接口的PUT/Get方法等,上传或下载对象数据。本申请实施例中,OSD组件322并不真正存储对象数据,主要用于协助IO截获分析模块33进行截获分析。
Http服务器组件321用于响应对象存储访问http客户端341的各种http访问请求,包括上传、下载对象数据的http访问请求。
IO截获分析模块33,用于对读请求的截获和IO范围分析。本申请实施例中的读请求用于读取虚拟镜像对象中的数据。该读请求包括待读取的虚拟镜像对象在备份服务器中的URL地址和待读取的虚拟镜像对象中目标数据的地址范围。如该读请求可以是:对http://BackupServer-IP//IMG-objectID-Backup-2所对应虚拟镜像对象中 0~8MB地址的数据进行Get操作。其中,待读取的虚拟镜像对象在备份服务器中的URL地址为http://BackupServer-IP//IMG-objectID-Backup-2,目标数据的地址范围为0~8MB。具体的,该IO截获分析模块33包括IO截获组件331和IO分析组件332。
其中,IO截获组件331用于在OSD组件322获取到读请求后,截获该读请求,将该读请求发送给IO分析组件332。
IO分析组件332,用于分析读请求中目标数据的地址范围,结合备份副本中备份数据的地址映射位图和存储路径,将该读请求分解成一个或多个对存储设备的基于http协议的请求。
另外,IO分析组件332,还用于在接收到存储设备发送的需读取的备份数据之后,根据需读取的备份数据和目标数据的地址范围,获取目标数据,进而将该目标数据发送给IO截获组件331,通过IO截获组件331返回给OSD组件322。其中,IO分析组件332根据需读取的备份数据和目标数据的地址范围,获取目标数据的具体实现可参考图4所示的方法实施例中的描述,此处不再赘述。
或者,IO分析组件332,还用于在接收到存储设备发送的目标数据之后,将该目标数据发送给IO截获组件331,通过IO截获组件331返回给OSD组件322。具体可参考图4所示的方法实施例中的描述,此处不再赘述。
IO转发层34,包含一个对象存储访问http客户端341,用于转发对存储设备的http请求;在获取需读取的备份数据或者目标数据之后,将需读取的备份数据或者目标数据转给IO分析组件332。
下面将基于本申请实施例提供的备份服务器30,给出本申请实施例提供的在云数据中心实现数据转换的方法。其中,备份服务器30中存储有存储设备中的备份副本对应的虚拟镜像对象和虚拟镜像对象在备份服务器中的URL地址。如图4所示,在云数据中心实现数据转换的方法包括如下步骤:
S401、备份服务器接收块存储服务器发送的读请求,该读请求包括待读取的虚拟镜像对象在备份服务器中的URL地址和待读取的虚拟镜像对象中目标数据的地址范围。
其中,如上述步骤S6中所述,本申请实施例中,备份服务器需要根据选定的备份副本,创建虚拟镜像对象,具体创建过程将在下述实施例中描述,此处不再赘述。
其中,块存储服务器中的虚拟镜像对象的URL地址是由块存储服务器在接收到容灾/迁移管理服务器发送的创建云盘的指示消息之后,根据指示消息中携带的镜像服务器为该虚拟镜像对象分配的镜像ID,从镜像服务器中查询得到的(参见上述步骤S11),而镜像服务器中的虚拟镜像对象的URL地址是由备份服务器30生成,并通过备份管理服务器发送给容灾/迁移管理服务器之后,再经过上述步骤S7和S8得到的。比如,若以备份-2的虚拟镜像对象的URL地址为例,该虚拟镜像对象的URL地址可以是Http://BackupServer-IP/IMG-objectID-Backup-2。
其中,目标数据的地址范围指示要传输的镜像对象数据的范围,比如0~8MB地址的数据。
具体的,结合图3所示的备份服务器30,图5给出了备份服务器30在云数据中心实现数据转换的整体框架示意图。其中,备份服务器30中的Http服务器组件321用于支持备份服务器30执行本申请实施例中的步骤S401。
S402、备份服务器根据待读取的虚拟镜像对象在备份服务器中的URL地址,获取待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径。
可选的,备份服务器根据待读取的虚拟镜像对象在备份服务器中的URL地址,获取待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,具体可以包括:备份服务器根据待读取的虚拟镜像对象在备份服务器中的URL地址,确定待读取的虚拟镜像对象的标识;进而,备份服务器根据待读取的虚拟镜像对象的标识,获取预先存储的待读取的虚拟镜像对象中的元数据,该元数据包括待读取的虚拟镜像对象对 应的备份副本中备份数据的地址映射位图的存储路径和备份副本中备份数据的存储路径;进而,备份服务器根据备份副本中备份数据的地址映射位图的存储路径,从存储设备中获取备份副本中备份数据的地址映射位图。
比如,如图5所示,若待读取的虚拟镜像对象的URL地址可以是Http://BackupServer-IP/IMG-objectID-Backup-2,则Http服务器组件321接收到读请求之后,可以从待读取的虚拟镜像对象的URL地址中,分析出待读取的虚拟镜像对象的标识为IMG-objectID-Backup-2,也就是备份-2对应的虚拟镜像对象。进而Http服务器组件321可以向OSD组件322发送数据获取指令,该数据获取指令中携带该待读取的虚拟镜像对象的标识和目标数据的地址范围。OSD组件322在接收到数据获取指令之后,可以根据数据获取指令中携带的待读取的虚拟镜像对象的标识,从元数据管理组件323中获取该待读取的虚拟镜像对象中备份-2的元数据,包括:待读取的虚拟镜像对象对应的备份-2的地址映射位图的存储路径和备份-2的备份数据的存储路径。进而,OSD组件322可以通过对象存储访问http客户端341向真实存储设备发送地址映射位图的获取请求并获取到备份-2的地址映射位图。
需要说明的是,备份副本中备份数据的地址映射位图和存储路径在整个虚拟镜像对象的访问过程中可以仅获取一次,然后存储在备份服务器30的本地,后续使用时,仅需根据待读取的虚拟镜像对象在备份服务器中URL地址,获取备份服务器30中预先存储的待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径即可。
可选的,备份服务器中还可能存储备份副本在存储设备中的URL地址。备份服务器根据待读取的虚拟镜像对象在备份服务器中的URL地址,获取待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,具体可以包括:备份服务器根据待读取的虚拟镜像对象在备份服务器中的URL地址,获得待读取的虚拟镜像对象对应的备份副本在存储设备中的URL地址,根据待读取的虚拟镜像对象对应的备份副本在存储设备中的URL地址,从存储设备中获取待读取的虚拟镜像对象对应的备份副本中的元数据,元数据包括备份数据的地址映射位图的存储路径 和备份数据的存储路径。
比如,如图5所示,若待读取的虚拟镜像对象的URL地址可以是Http://BackupServer-IP/IMG-objectID-Backup-2,则Http服务器组件321接收到读请求之后,可以根据待读取的虚拟镜像对象的URL地址,获得待读取的虚拟镜像对象对应的备份副本在存储设备中的URL地址,例如可以是http://object-storage/objectID-Backup-2,即备份-2在存储设备中的URL地址。进而可以Http服务器组件321可以向OSD组件322发送数据获取指令,该数据获取指令中携带备份-2在存储设备中的URL地址和目标数据的地址范围。OSD组件322在接收到数据获取指令之后,可以根据备份-2在存储设备中的URL地址,通过对象存储访问http客户端341从存储设备中获取备份-2的元数据,元数据包括备份-2的地址映射位图的存储路径和备份-2的备份数据的存储路径。
S403、备份服务器根据目标数据的地址范围、备份副本中备份数据的地址映射位图和存储路径,从存储设备中获取目标数据。
一种可能的实现方式中,备份服务器根据目标数据的地址范围、备份副本中备份数据的地址映射位图和存储路径,从存储设备中获取目标数据,具体可以包括:备份服务器根据目标数据的地址范围、备份副本中备份数据的地址映射位图和存储路径,从存储设备中获取需读取的备份数据;备份服务器根据需读取的备份数据和目标数据的地址范围,获取目标数据。
具体的,如图5所示,IO截获组件331截获OSD组件322向对象存储访问http客户端341发送的数据获取指令,将该数据获取指令发送给IO分析组件332。其中,如上所述,该数据获取指令中携带该虚拟镜像对象的标识和目标数据的地址范围,比如0~8MB地址。进而,IO分析组件332根据目标数据的地址范围、备份副本中备份数据的地址映射位图和存储路径,通过对象存储访问http客户端341从存储设备中获取需读取的备份数据,并根据需读取的备份数据和目标数据的地址范围,获取目标数据。
其中,可选的,IO分析组件332根据目标数据的地址范围、备份副 本中备份数据的地址映射位图和存储路径,通过对象存储访问http客户端341从存储设备中获取需读取的备份数据,包括:IO分析组件332根据目标数据的地址范围和备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据备份副本中备份数据的地址映射位图和存储路径,获取需读取的备份数据在存储设备中的存储路径,进而根据需读取的备份数据在存储设备中的存储路径,为该需读取的备份数据创建数据读请求,其中,该数据读请求中包括需读取的备份数据在存储设备中的存储路径。进而,IO分析组件332通过对象存储访问http客户端341向存储设备发送该数据读请求;并通过对象存储访问http客户端341接收存储设备发送的需读取的备份数据。
示例性的,有一种情况是要获取的目标数据的地址范围大于备份副本中备份数据对象的地址范围,比如,以要获取备份-2的0~8MB的数据为例进行说明。则如图5所示,根据备份-2的地址映射位图,0~8MB的数据在两个不同的备份数据对象中,分别为“备份-2-1”(对应数据为A1),和“备份-2-2”(对应数据为B1),因此IO分析组件332要将数据获取指令拆为两个数据读请求通过对象存储访问http客户端341向存储设备发送,如:对http://object-storage/objectID-Backup-2-1所对应的备份数据对象中的数据进行Get操作;以及,对http://object-storage/objectID-Backup-2-2所对应的备份数据对象中的数据进行Get操作。进而,备份服务器的IO分析组件332会通过对象存储访问http客户端341接收存储设备发送的“备份-2-1”的数据和“备份-2-2”的数据。
另有一种情况是要获取的目标数据的地址范围不大于备份副本中备份数据对象的地址范围,比如,以要获取备份-2的0~2MB的数据为例进行说明。则如图5所示,根据备份-2的地址映射位图,0~2MB的数据在“备份-2-1”(对应数据为A1)中,因此IO分析组件332通过对象存储访问http客户端341向存储设备发送一个数据读请求,如:对http://object-storage/objectID-Backup-2-1所对应的备份数据对象中的数据进行Get操作。
需要说明的是,在上述要获取的目标数据的地址范围大于备份副本 中备份数据对象的地址范围的情况下,可能要获取的目标数据不一定是多个备份数据对象中的全部数据,比如,要获取备份-2的0~6MB的数据,则如图5所示,根据备份-2的地址映射位图,0~6MB的数据在两个不同的备份数据对象中,分别为“备份-2-1”(对应数据为A1),和“备份-2-2”(对应数据为B1),此时IO分析组件332仍要将数据获取指令拆为两个数据读请求进行处理,具体可参考上述第一种情况的实现方式,本申请实施例在此不再赘述。
其中,可选的,IO分析组件332根据需读取的备份数据和目标数据的地址范围,获取目标数据,具体可以包括:若目标数据的地址范围大于备份副本中备份数据对象的地址范围,IO分析组件332组合需读取的备份数据中不同的备份数据对象的备份数据,得到目标数据。
比如,接上述示例,若以要获取备份-2的0~8MB的数据为例进行说明,则如图5所示,IO分析组件332在通过对象存储访问http客户端341接收存储设备发送的“备份-2-1”的数据和“备份-2-2”的数据之后,可以将“备份-2-1”的数据和“备份-2-2”的数据进行组合,得到备份-2的0~8MB的数据,即目标数据。
或者,可选的,IO分析组件332根据需读取的备份数据和目标数据的地址范围,获取目标数据,具体可以包括:若目标数据的地址范围不大于备份副本中备份数据对象的地址范围,IO分析组件332从需读取的备份数据中截取目标数据的地址范围对应的数据作为目标数据。
比如,接上述示例,若以要获取备份-2的0~2MB的数据为例进行说明,则如图5所示,IO分析组件332在通过对象存储访问http客户端341接收存储设备发送的“备份-2-1”的数据,由于“备份-2-1”的数据为备份-2的0~4MB的数据,因此,IO分析组件332可以从“备份-2-1”的数据中截取0~2MB的数据作为目标数据。
需要说明的是,在上述要获取的目标数据的地址范围大于备份副本中备份数据对象的地址范围的情况下,可能要获取的目标数据不一定是多个备份数据对象中的全部数据,比如,要获取备份-2的0-6MB的数据,则如图5所示,IO分析组件332在通过对象存储访问http客户端341接 收存储设备发送的“备份-2-1”的数据和“备份-2-2”的数据之后,由于“备份-2-2”的数据为备份-2的5~8MB的数据,因此,若IO分析组件332直接将“备份-2-1”的数据和“备份-2-2”的数据进行组合,得到的是备份-2的0~8MB的数据,此时可以从“备份-2-2”的数据中截取5~6MB的数据之后,再将备份-2的5~6MB的数据与“备份-2-1”的数据进行组合,从而得到备份-2的0~6MB的数据,即目标数据。本申请实施例对该情况不作具体限定,具体可结合上述两种实现方式进行实现。
一种可能的实现方式中,备份服务器根据目标数据的地址范围、备份副本中备份数据的地址映射位图和存储路径,从存储设备中获取目标数据,具体可以包括:若目标数据的地址范围不大于备份副本中备份数据对象的地址范围,备份服务器根据目标数据的地址范围、备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据所述备份副本中备份数据的地址映射位图和存储路径,获取需读取的备份数据在存储设备中的存储路径;进而,备份服务器根据需读取的备份数据在存储设备中的存储路径,为需读取的备份数据创建数据读请求,该数据读请求中包括需读取的备份数据在存储设备中的存储路径和目标数据的地址范围;备份服务器向所述存储设备发送该数据读请求;备份服务器接收存储设备发送的目标数据。
也就是说,本申请实施例中,在从存储设备中读取数据时还可以采用分段读取的方式,或者指定更精细的地址范围。
比如,图5所示,IO截获组件331截获OSD组件322向对象存储访问http客户端341发送的数据获取指令,将该数据获取指令发送给IO分析组件332。其中,如上所述,该数据获取指令中携带该虚拟镜像对象的标识和目标数据的地址范围,比如,以要获取备份-2的0~2MB的数据为例进行说明,则该目标数据的地址范围是0~2MB。进而,IO分析组件332根据图5中备份-2的地址映射位图可以确定0~2MB的数据在“备份-2-1”(对应数据为A1)中,因此IO分析组件332通过对象存储访问http客户端341向存储设备发送一个数据读请求,如:对http://object-storage/objectID-Backup-2-1所对应的备份数据对象中0~2MB的数据进行Get操作。进而,IO分析组件332可以直接通过对象 存储访问http客户端341接收存储设备发送的“备份-2-1”中0~2MB的数据,即目标数据。
S404、备份服务器向块存储服务器发送目标数据。
具体的,IO分析组件332可以将该目标数据发送给IO截获组件331,通过IO截获组件331将该目标数据发送给OSD组件322,进而再通过Http服务器组件321发送给块存储服务器。
需要说明的是,图5所示的备份服务器30中仅是示意出了在云数据中心实现图4所示的实施例提供的数据转换的方法的过程中所需的功能模块和交互关系,显然,这仅仅是图3所示的备份服务器30中的一部分。
如图6所示,在步骤S401之前,还可以包括上述步骤S6中的虚拟镜像对象创建过程,即根据选定的备份副本,最终由备份服务器呈现出一个虚拟的镜像对象的访问路径。如将备份-2转换为一个虚拟镜像对象的访问路径:Http://BackupServer-IP/IMG-objectID-Backup-2,下面将结合图3所示的备份服务器30说明该虚拟镜像对象的创建过程,过程如下:
S601、备份服务器接收备份管理服务器发送的指令,指令中携带备份副本的标识,如备份-2,该指令用于指示备份服务器对存储设备中该备份副本的备份数据对象进行格式转换,转换为块存储服务器能够识别的镜像对象。
S602、备份服务器根据备份副本的标识,查询本地数据库,获取备份副本中的元数据的存储路径。
具体的,本地数据库一般是备份服务器中的基本配置,通常包括各个备份副本的元数据的存储路径,本申请实施例对此不做详细阐述。
具体的,结合图3所示的备份服务器30,图7给出了在备份服务器30中创建虚拟镜像对象的整体框架示意图。其中,备份服务器30中的备份模块31用于支持备份服务器30执行本申请实施例中的步骤S601和S602。
S603、备份服务器根据元数据的存储路径,从存储设备中获取元数据。
具体的,如图7所示,备份服务器30中的备份模块31将元数据的存储路径发送给元数据管理组件323,进而,元数据管理组件323可以通过对象存储访问http客户端341获取备份副本标识为备份-2的备份副本中的元数据,并存储该元数据。其中,如图7所示,该元数据可以包括磁盘大小、备份副本时间点和备份副本存储路径等。
S604、备份服务器根据元数据创建待读取数据的虚拟镜像对象,并生成该创建的虚拟镜像对象的URL地址。
具体的,如图7所示,备份服务器30中的元数据管理组件323可以根据元数据生成一条虚拟镜像对象记录。该虚拟镜像对象记录的信息可以包括:虚拟镜像对象的标识、大小和URL地址。其中,虚拟镜像对象的标识是元数据管理组件323自行为新对象分配的;待读取数据的虚拟镜像对象的URL地址是元数据管理组件323通过如下方式生成的:
备份服务器30中的元数据管理组件323可以在备份服务器30本地产生一个本地文件,该本地文件中无数据,只用于占位,以辅助元数据管理组件323产生虚拟镜像对象的URL地址。其中,该本地文件可以命名为IMG-objectID-Backup-2,即备份-2的虚拟镜像对象的标识,进而元数据管理组件323可以生成备份-2的虚拟镜像对象的URL地址可以为:Http://BackupServer-IP/IMG-objectID-Backup-2。其中,BackupServer-IP是指虚拟了该虚拟镜像对象的备份服务器的IP地址;IMG-objectID-Backup-2是指备份-2的虚拟镜像对象的标识。
需要说明的是,本申请实施例中,生成虚拟镜像对象记录的过程就是创建虚拟镜像对象的过程,在此进行统一说明,以下不再赘述。
S605、备份服务器通过备份管理服务器向容灾/迁移管理服务器发送创建的虚拟镜像对象的URL地址。
具体的,如图7所示,在备份服务器30中的元数据管理组件323生成该创建的虚拟镜像对象的URL地址之后,可以将该创建的虚拟镜像对象的URL地址发送给备份模块31,由备份模块31发送给备份管理服务器,进而通过备份管理服务器发送给容灾/迁移管理服务器。
需要说明的是,图7中的备份服务器30中仅是示意出了虚拟机的云磁盘的创建过程中,图6所示的实施例提供的创建虚拟镜像对象的过程中所需的功能模块和交互关系,显然,这仅仅是图3所示的备份服务器30中的一部分。
基于本申请实施例提供的在云数据中心实现数据转换的方法,一方面,由于本申请实施例中,是由备份服务器虚拟出一个虚拟镜像对象,而不是在存储设备中产生真正的镜像对象,因此可以节省用户在存储设备中的存储空间,从而减少用户在云数据中心的存储成本。另一方面,本申请实施例中,块存储设备可以通过备份服务器直接读取存储设备中的备份数据,而不是备份服务器先从存储设备中读取备份副本,然后再下发写操作到存储设备中,形成镜像对象,再由块存储设备从镜像对象中读取备份数据,因此可以在创建虚拟机的云磁盘时,消除因为产生真实镜像对象所消耗的读IO和写IO,从而缩短备份数据对象的转换时间。
上述主要从方法结合软件模块的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述计算机设备为了实现上述功能,其包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
如图8所示,为本申请实施例提供的一种备份服务器的硬件结构示意图,该备份服务器800包括至少一个处理器801,通信总线802,存储器803以及至少一个通信接口804。
处理器801可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线802可包括一通路,在上述组件之间传送信息。
通信接口804,使用任何收发器一类的装置,用于与其他设备或通信 网络通信,如以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器803可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,从而实现上述实施例中所述的在云数据中心中实现数据转换的方法。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种实施例,备份服务器800可以包括多个处理器,例如图8中的处理器801和处理器808。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,备份服务器800还可以包括输出设备805和输入设备806。输出设备805和处理器801通信,可以以多种方式来显示信息。例如,输出设备805可以是液晶显示器(Liquid Crystal Display,LCD),发光二级管(Light Emitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector) 等。输入设备806和处理器801通信,可以以多种方式接受用户的输入。例如,输入设备806可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的备份服务器800可以是一个通用备份服务器或者是一个专用备份服务器。在具体实现中,备份服务器800可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图8中类似结构的设备。本申请实施例不限定备份服务器800的类型。
由于本申请实施例提供的备份服务器可用于执行上述在云数据中心中实现数据转换的方法,因此其所能获得的技术效果可参考上述方法实施例,本申请实施例在此不再赘述。
本申请实施例还提供了一种计算机存储介质,用于储存为上述备份服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以在云数据中心中实现数据转换的方法。
本申请实施例还提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述方法实施例的流程。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提 供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本申请是参照本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (16)

  1. 一种在云数据中心中实现数据转换的方法,所述云数据中心包括备份服务器、块存储服务器和存储设备,其特征在于,所述备份服务器中存储有所述存储设备中的备份副本对应的虚拟镜像对象和所述虚拟镜像对象在所述备份服务器中的统一资源定位符URL地址,所述方法包括:
    所述备份服务器接收所述块存储服务器发送的读请求,所述读请求包括待读取的虚拟镜像对象在所述备份服务器中的URL地址和所述待读取的虚拟镜像对象中目标数据的地址范围;
    所述备份服务器根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,获取所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径;
    所述备份服务器根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,从所述存储设备中获取所述目标数据;
    所述备份服务器向所述块存储服务器发送所述目标数据。
  2. 根据权利要求1所述的方法,其特征在于,在所述备份服务器接收块存储服务器发送的读请求之前,还包括:
    所述备份服务器获取所述备份副本的标识;
    所述备份服务器根据所述备份副本的标识,查询本地数据库,获取所述备份副本中的元数据的存储路径;
    所述备份服务器根据所述元数据的存储路径,从所述存储设备中获取所述元数据;
    所述备份服务器根据所述元数据创建所述待读取的虚拟镜像对象;
    所述备份服务器生成所述创建的虚拟镜像对象的URL地址;
    所述备份服务器向镜像服务器发送所述创建的虚拟镜像对象的URL地址。
  3. 根据权利要求1或2所述的方法,其特征在于,所述备份服务器根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,获取所 述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:
    所述备份服务器根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,确定所述待读取的虚拟镜像对象的标识;
    所述备份服务器根据所述待读取的虚拟镜像对象的标识,获取预先存储的所述待读取的虚拟镜像对象中的元数据,所述元数据包括所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图的存储路径和所述备份副本中备份数据的存储路径;
    所述备份服务器根据所述备份副本中备份数据的地址映射位图的存储路径,从所述存储设备中获取所述备份副本中备份数据的地址映射位图。
  4. 根据权利要求1或2所述的方法,其特征在于,所述备份服务器根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,获取所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:
    所述备份服务器根据所述待读取的虚拟镜像对象在所述备份服务器中URL地址,确定所述待读取的虚拟镜像对象的标识;
    所述备份服务器根据所述待读取的虚拟镜像对象的标识,获取预先存储的所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述备份服务器根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,从所述存储设备中获取所述目标数据,包括:
    所述备份服务器根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,从所述存储设备中获取需读取的备份数据;
    所述备份服务器根据所述需读取的备份数据和所述目标数据的地址范围,获取所述目标数据。
  6. 根据权利要求5所述的方法,其特征在于,所述备份服务器根据 所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,从所述存储设备中获取需读取的备份数据,包括:
    所述备份服务器根据所述目标数据的地址范围和所述备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据所述备份副本中备份数据的地址映射位图和存储路径,获取所述需读取的备份数据在所述存储设备中的存储路径;
    所述备份服务器根据所述需读取的备份数据在所述存储设备中的存储路径,为所述需读取的备份数据创建数据读请求,其中,所述数据读请求中包括所述需读取的备份数据在所述存储设备中的存储路径;
    所述备份服务器向所述存储设备发送所述数据读请求;
    所述备份服务器接收所述存储设备发送的所述需读取的备份数据。
  7. 根据权利要求1-4任一项所述的方法,其特征在于,所述备份服务器根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,从所述存储设备中获取所述目标数据,包括:
    若所述目标数据的地址范围不大于所述备份副本中备份数据对象的地址范围,所述备份服务器根据所述目标数据的地址范围和所述备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据所述备份副本中备份数据的地址映射位图和存储路径,获取所述需读取的备份数据在所述存储设备中的存储路径;
    所述备份服务器根据所述需读取的备份数据在所述存储设备中的存储路径,为所述需读取的备份数据创建数据读请求,所述数据读请求中包括所述需读取的备份数据在所述存储设备中的存储路径和所述目标数据的地址范围;
    所述备份服务器向所述存储设备发送所述数据读请求;
    所述备份服务器接收所述存储设备发送的所述目标数据。
  8. 一种备份服务器,其特征在于,所述备份服务器包括:对象存储呈现模块、输入输出IO截获分析模块和IO转发层;
    所述对象存储呈现模块,用于存储存储设备中的备份副本对应的虚拟镜像对象和所述虚拟镜像对象在所述备份服务器中的统一资源定位符URL地址;
    所述对象存储呈现模块,还用于接收所述块存储服务器发送的读请求,所述读请求包括待读取的虚拟镜像对象在所述备份服务器中的URL地址和所述待读取的虚拟镜像对象中目标数据的地址范围;
    所述对象存储呈现模块,还用于根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,获取所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径;
    所述IO截获分析模块,用于截获所述对象存储呈现模块中的所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,并根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,通过所述IO转发层从所述存储设备中获取所述目标数据;
    所述对象存储呈现模块,还用于向所述块存储服务器发送所述IO截获分析模块获取的所述目标数据。
  9. 根据权利要求8所述的备份服务器,其特征在于,所述备份服务器还包括备份模块;
    所述备份模块,用于在所述对象存储呈现模块接收块存储服务器发送的读请求之前,获取所述备份副本的标识;
    所述备份模块,还用于根据所述备份副本的标识,查询本地数据库,获取所述备份副本中的元数据的存储路径;
    所述对象存储呈现模块,还用于根据所述备份模块获取的所述元数据的存储路径,通过所述IO转发层从所述存储设备中获取所述元数据;
    所述对象存储呈现模块,还用于根据所述元数据创建所述待读取的虚拟镜像对象,并生成所述创建的虚拟镜像对象的URL地址;
    所述备份模块,还用于向镜像服务器发送所述对象存储呈现模块创建的所述虚拟镜像对象的URL地址。
  10. 根据权利要求8或9所述的备份服务器,其特征在于,所述对象存储呈现模块根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,获取所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:
    根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,确定所述待读取的虚拟镜像对象的标识;根据所述待读取的虚拟镜像对象的标识,获取所述对象存储呈现模块中预先存储的所述待读取的虚拟镜像对象中的元数据,所述元数据包括所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图的存储路径和所述备份副本中备份数据的存储路径;
    根据所述备份副本中备份数据的地址映射位图的存储路径,通过所述IO转发层从所述存储设备中获取所述备份副本中备份数据的地址映射位图。
  11. 根据权利要求8或9所述的备份服务器,其特征在于,所述对象存储呈现模块根据所述待读取的虚拟镜像对象在所述备份服务器中的URL地址,获取所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径,包括:
    根据所述待读取的虚拟镜像对象在所述备份服务器中URL地址,确定所述待读取的虚拟镜像对象的标识;根据所述待读取的虚拟镜像对象的标识,获取预先存储的所述待读取的虚拟镜像对象对应的备份副本中备份数据的地址映射位图和存储路径。
  12. 根据权利要求8-11任一项所述的备份服务器,其特征在于,所述IO截获分析模块根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,通过所述IO转发层从所述存储设备中获取所述目标数据,包括:
    根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,通过所述IO转发层从所述存储设备中获取需读取的备份数据;
    根据所述需读取的备份数据和所述目标数据的地址范围,获取所述目标数据。
  13. 根据权利要求12所述的备份服务器,其特征在于,所述IO截获分析模块根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,通过所述IO转发层从所述存储设备中获取需读取的备份数据,包括:
    根据所述目标数据的地址范围和所述备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据所述备份副本中备份数据的地址映射位图和存储路径,获取所述需读取的备份数据在所述存储设备中的存储路径;
    根据所述需读取的备份数据在所述存储设备中的存储路径,为所述需读取的备份数据创建数据读请求,其中,所述数据读请求中包括所述需读取的备份数据在所述存储设备中的存储路径;
    通过所述IO转发层向所述存储设备发送所述数据读请求;
    通过所述IO转发层接收所述存储设备发送的所述需读取的备份数据。
  14. 根据权利要求8-11任一项所述的备份服务器,其特征在于,所述IO截获分析模块根据所述目标数据的地址范围、所述备份副本中备份数据的地址映射位图和存储路径,通过所述IO转发层从所述存储设备中获取所述目标数据,包括:
    若所述目标数据的地址范围不大于所述备份副本中备份数据对象的地址范围,根据所述目标数据的地址范围和所述备份副本中备份数据的地址映射位图确定需读取的备份数据,再根据所述备份副本中备份数据的地址映射位图和存储路径,获取所述需读取的备份数据在所述存储设备中的存储路径;
    根据所述需读取的备份数据在所述存储设备中的存储路径,为所述需读取的备份数据创建数据读请求,所述数据读请求中包括所述需读取的备份数据在所述存储设备中的存储路径和所述目标数据的地址范围;
    通过所述IO转发层向所述存储设备发送所述数据读请求;
    通过所述IO转发层接收所述存储设备发送的所述目标数据。
  15. 一种备份服务器,其特征在于,包括:处理器、存储器、总线和通信接口;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述备份服务器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述备份服务器执行如权利要求1-7中任意一项所述的在云数据中心中实现数据转换的方法。
  16. 一种云数据中心系统,其特征在于,所述云数据中心系统包括块存储服务器、镜像服务器、存储设备、以及如权利要求8-14中任意一项所述的备份服务器或者如权利要求15所述的备份服务器;
    其中,所述镜像服务器,用于接收并存储所述备份服务器发送的所述创建的虚拟镜像对象的URL地址;
    所述块存储服务器,用于从所述镜像服务器中查询得到所述创建的虚拟镜像对象的URL地址,并向所述备份服务器发送所述读请求;
    所述块存储服务器,还用于接收所述备份服务器发送的所述目标数据,并根据所述目标数据创建虚拟机的云盘。
PCT/CN2016/112184 2016-12-26 2016-12-26 数据转换方法及备份服务器 WO2018119601A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/CN2016/112184 WO2018119601A1 (zh) 2016-12-26 2016-12-26 数据转换方法及备份服务器
CN202110064595.7A CN112860479A (zh) 2016-12-26 2016-12-26 存储数据的方法及云数据中心
EP16915408.5A EP3379425A4 (en) 2016-12-26 2016-12-26 Data conversion method and back-up server
CN201680003338.XA CN108513657B (zh) 2016-12-26 2016-12-26 数据转换方法及备份服务器
US15/972,527 US10409694B2 (en) 2016-12-26 2018-05-07 Data conversion method and backup server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/112184 WO2018119601A1 (zh) 2016-12-26 2016-12-26 数据转换方法及备份服务器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/972,527 Continuation US10409694B2 (en) 2016-12-26 2018-05-07 Data conversion method and backup server

Publications (1)

Publication Number Publication Date
WO2018119601A1 true WO2018119601A1 (zh) 2018-07-05

Family

ID=62707104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/112184 WO2018119601A1 (zh) 2016-12-26 2016-12-26 数据转换方法及备份服务器

Country Status (4)

Country Link
US (1) US10409694B2 (zh)
EP (1) EP3379425A4 (zh)
CN (2) CN108513657B (zh)
WO (1) WO2018119601A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198784A (zh) * 2018-11-16 2020-05-26 杭州海康威视系统技术有限公司 一种数据存储的方法及装置
CN112685413A (zh) * 2020-12-28 2021-04-20 北京像素软件科技股份有限公司 一种游戏配置表的读取方法、装置、存储介质及电子设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030176B2 (en) * 2016-07-01 2021-06-08 Ebay Inc. Distributed storage of metadata for large binary data
EP3484125B1 (en) * 2016-07-08 2022-09-07 Tencent Technology (Shenzhen) Company Limited Method and device for scheduling interface of hybrid cloud
US10534566B1 (en) * 2017-07-19 2020-01-14 EMC IP Holding Company LLC Cloud storage tiering using application programming interface
US11237911B2 (en) * 2018-03-20 2022-02-01 Sap Se Object store for database backups
CN111913832A (zh) * 2019-05-10 2020-11-10 杭州信核数据科技股份有限公司 一种数据备份方法和数据备份设备
US11422897B2 (en) * 2019-07-31 2022-08-23 Rubrik, Inc. Optimizing snapshot image processing
CN112583868B (zh) * 2019-09-27 2023-04-07 浙江宇视科技有限公司 云存储数据的备份方法、装置、设备和介质
CN110837612B (zh) * 2019-11-01 2023-05-12 腾讯科技(深圳)有限公司 统一资源标识符uri数据的获取方法和装置、存储介质
CN111309435A (zh) * 2020-01-20 2020-06-19 福建奇点时空数字科技有限公司 一种跨操作系统的移动应用虚拟机系统
US11513715B2 (en) * 2020-08-07 2022-11-29 EMC IP Holding Company LLC Method and system for generating synthetic backups using block based backups
CN116149800B (zh) * 2023-04-18 2023-06-23 成都云祺科技有限公司 Kvm虚拟机应用层无代理cdp方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053802A (zh) * 2010-12-31 2011-05-11 中国科学院计算技术研究所 网络独立冗余磁盘阵列系统
US20110145199A1 (en) * 2009-12-11 2011-06-16 Computer Associates Think, Inc. System and method of storing backup image catalog
CN105955836A (zh) * 2016-05-09 2016-09-21 深圳市前海云端容灾信息技术有限公司 一种冷热备份自动演练多功能系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379990B2 (en) * 2002-08-12 2008-05-27 Tsao Sheng Ted Tai Distributed virtual SAN
US20040034807A1 (en) * 2002-08-14 2004-02-19 Gnp Computers, Inc. Roving servers in a clustered telecommunication distributed computer system
US7769722B1 (en) * 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8706833B1 (en) * 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US8438349B2 (en) * 2009-08-21 2013-05-07 Symantec Corporation Proxy backup of virtual disk image files on NAS devices
US8805968B2 (en) * 2010-05-03 2014-08-12 Panzura, Inc. Accessing cached data from a peer cloud controller in a distributed filesystem
US8799413B2 (en) * 2010-05-03 2014-08-05 Panzura, Inc. Distributing data for a distributed filesystem across multiple cloud storage systems
US9852150B2 (en) * 2010-05-03 2017-12-26 Panzura, Inc. Avoiding client timeouts in a distributed filesystem
US8799414B2 (en) * 2010-05-03 2014-08-05 Panzura, Inc. Archiving data for a distributed filesystem
US8560825B2 (en) * 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
US9703796B2 (en) * 2011-12-06 2017-07-11 Brocade Communications Systems, Inc. Shared dictionary between devices
US9183213B2 (en) * 2012-05-16 2015-11-10 Rackspace Us, Inc. Indirection objects in a cloud storage system
US8806489B2 (en) * 2012-07-05 2014-08-12 International Business Machines Corporation Virtual machine image distribution network
US20140236868A1 (en) * 2013-02-15 2014-08-21 Banyan Water, Inc. System and method for automated, range-based irrigation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145199A1 (en) * 2009-12-11 2011-06-16 Computer Associates Think, Inc. System and method of storing backup image catalog
CN102053802A (zh) * 2010-12-31 2011-05-11 中国科学院计算技术研究所 网络独立冗余磁盘阵列系统
CN105955836A (zh) * 2016-05-09 2016-09-21 深圳市前海云端容灾信息技术有限公司 一种冷热备份自动演练多功能系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198784A (zh) * 2018-11-16 2020-05-26 杭州海康威视系统技术有限公司 一种数据存储的方法及装置
CN111198784B (zh) * 2018-11-16 2024-04-23 杭州海康威视系统技术有限公司 一种数据存储的方法及装置
CN112685413A (zh) * 2020-12-28 2021-04-20 北京像素软件科技股份有限公司 一种游戏配置表的读取方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN112860479A (zh) 2021-05-28
CN108513657B (zh) 2021-01-29
US10409694B2 (en) 2019-09-10
CN108513657A (zh) 2018-09-07
EP3379425A4 (en) 2018-11-21
EP3379425A1 (en) 2018-09-26
US20180253359A1 (en) 2018-09-06

Similar Documents

Publication Publication Date Title
WO2018119601A1 (zh) 数据转换方法及备份服务器
US10013185B2 (en) Mapping systems and methods of an accelerated application-oriented middleware layer
US20210224241A1 (en) Distributed Storage of Metadata For Large Binary Data
US10223024B2 (en) Storage controller for provisioning storage services for an application based upon application-specific requirements
CA2923068C (en) Method and system for metadata synchronization
US10152246B1 (en) Application aware AMQP durable messages backup and restore
WO2019015288A1 (zh) 数据持久化处理的方法、装置、系统及可读存储介质
WO2016180055A1 (zh) 数据存储、读取的方法、装置及系统
US10754741B1 (en) Event-driven replication for migrating computing resources
US11199989B2 (en) Methods, apparatuses and computer program products for supporting and performing data replication of virtual machine
JP2016540298A (ja) 大規模データストリームの取得、記憶、及び消費のための管理型サービス
US9459897B2 (en) System and method for providing data analysis service in cloud environment
US9378039B2 (en) Virtual machine storage replication schemes
WO2019057055A1 (zh) 一种任务处理方法、装置、电子设备及存储介质
US11336588B2 (en) Metadata driven static determination of controller availability
JP2021517695A (ja) クラウドサービスのデータキャッシング
WO2016101662A1 (zh) 一种数据处理方法及相关服务器
US11093477B1 (en) Multiple source database system consolidation
CN113746641A (zh) 一种基于分布式存储的odx协议处理方法
US10637915B1 (en) Storage services configured for storage-oriented applications
US11074305B1 (en) Extending data store operations using function objects
WO2021109784A1 (zh) 混合云环境下的应用管理方法、系统和服务器
CN111949378A (zh) 虚拟机启动模式切换方法和装置、存储介质及电子设备
TWI537750B (zh) 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器
US10296636B2 (en) Efficient navigation category management

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE