WO2016050112A1 - 一种数据存储方法、存储装置及存储系统 - Google Patents

一种数据存储方法、存储装置及存储系统 Download PDF

Info

Publication number
WO2016050112A1
WO2016050112A1 PCT/CN2015/083767 CN2015083767W WO2016050112A1 WO 2016050112 A1 WO2016050112 A1 WO 2016050112A1 CN 2015083767 W CN2015083767 W CN 2015083767W WO 2016050112 A1 WO2016050112 A1 WO 2016050112A1
Authority
WO
WIPO (PCT)
Prior art keywords
version
value
version value
data
primary key
Prior art date
Application number
PCT/CN2015/083767
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 华为技术有限公司
Publication of WO2016050112A1 publication Critical patent/WO2016050112A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to the field of data storage, and in particular, to a data storage method, a storage device, and a storage system.
  • IP hard disk is a hard disk that provides an IP protocol interface. Since the IP hard disk can directly communicate with the host through the IP protocol, there is no distance limitation between the IP hard disk and the host, and it can support massive parallel access. , greatly improving the speed of data access.
  • the IP hard disk uses the structure of the primary key-data (Key-Value) for data storage, and the host also accesses the data in the IP hard disk by using the Key-Value interface.
  • Key is the primary key, usually a string, stored in the index area of the IP hard disk, and Value contains the data to be stored, stored in the data area of the IP hard disk, where a Key The location information of the storage space of Value on the hard disk is saved, and there is a one-to-one correspondence between Key and Value.
  • the embodiment of the present invention provides a data storage method, a storage device, and a storage system, which are used to solve the problem that the IP hard disk in the prior art is difficult to save multiple versions of data under one primary key value.
  • the embodiment of the present application provides a data storage method, where the method is applied to a storage system, where the storage system includes a host and a network interconnection protocol IP hard disk, and the method includes:
  • the IP hard disk receives a write data request sent by the host, where the write data request includes target data, a primary key value corresponding to the target data, and a version value corresponding to the target data;
  • the target data is written to the IP hard disk.
  • the method further includes: writing the version value to the version value set in.
  • the method further includes:
  • the version value When the version value is included in the version value set, obtaining location information corresponding to the version value, where the location information includes an address in which the old data corresponding to the version value is stored in the IP hard disk;
  • the target data is written into a storage space corresponding to the address.
  • the method further includes:
  • the location information corresponding to the version value is modified to the address of the free storage space.
  • the method further includes: the version value in the write data request is determined by the host according to the query in the metadata The version information of the primary key value is obtained.
  • the method further includes: the IP hard disk receiving a read data request sent by the host, where the read data request includes the primary key value and The version value;
  • the method further includes:
  • the method further includes:
  • the version value is deleted from the set of version values corresponding to the primary key value.
  • the method further includes:
  • the method further includes:
  • the embodiment of the present application provides a storage device, including:
  • a storage unit for storing data by using a non-volatile storage medium
  • An interface configured to receive a write data request by using a network interconnection protocol, where the write data request includes target data, a primary key value corresponding to the target data, and a version value corresponding to the target data;
  • a controller configured to determine whether the primary key value is saved in the IP hard disk; if yes, determining whether the version value is included in the version value set corresponding to the primary key value; When the version value is not included, the target data is written to the IP hard disk.
  • the controller is further configured to: after the target data is written into the storage unit, write the version value into the In the version value collection.
  • the controller is further configured to: when the version value is included in the version value set, obtain location information corresponding to the version value
  • the location information includes an address in which the old data corresponding to the version value is stored in the storage unit; and the target data is written in a storage space corresponding to the address.
  • the controller is further configured to: when the version value is included in the version value set, determine that the storage unit is idle a storage space, the target data is written into the free storage space; and the location information corresponding to the version value is modified to an address of the free storage space.
  • the interface is further configured to: receive a read data request
  • the read data request includes the primary key value and the version value
  • the controller is further configured to: determine the location information according to the primary key value and the version value; and read the target data stored in a storage space corresponding to the location information.
  • the interface is further configured to: receive a read data request
  • the read data request includes the primary key value
  • the controller is further configured to: determine a version with the highest version of the version value set corresponding to the primary key value The value is the version value; the location information corresponding to the version value is obtained; and the target data stored in the storage space corresponding to the location information is read.
  • the interface is further configured to: receive a delete data request
  • the deletion data request includes the primary key value and the version value
  • the controller is further configured to: delete the version value from a set of version values corresponding to the primary key value.
  • the controller is further configured to: delete the storage space corresponding to the location information corresponding to the version value The target data.
  • the controller is further configured to: determine whether the version value set corresponding to the primary key value still exists a version value other than the version value; if not present, the primary key value is deleted from the IP hard disk.
  • the embodiment of the present application provides a storage system, including:
  • a host configured to generate a data processing request according to the user input information, and send the data processing request to the storage device, where the data processing request includes a write data request, a read data request, and a delete data request.
  • the host is configured to determine, according to the metadata stored in the host, a primary key value corresponding to the target data included in the data processing request .
  • the host is further configured to determine, according to the metadata stored in the host, that the data processing request is included The version value corresponding to the target data.
  • the host is further configured to send a query instruction to the storage device, where the query instruction is used to save the storage device according to the saved
  • the metadata determines a version value corresponding to the target data included in the data processing request.
  • the IP hard disk receives the write data request sent by the host, where the write data request includes target data, a primary key value corresponding to the target data, and a version value corresponding to the target data; Whether the primary key value is saved in the IP hard disk; if yes, determining whether the version value is included in the version value set corresponding to the primary key value; when the version value is not included in the version value set, Then writing the target data to the IP hard disk.
  • the primary key value may correspond to multiple version values, and when the write data request is executed, if the version value corresponding to the primary key value corresponding to the target data does not include the target data
  • the version value is stored in the case of retaining the data of the original version of the primary key value, so that the primary key value can correspond to multiple versions of data, so that it is convenient to view historical version data and perform data fallback.
  • FIG. 1 is a schematic diagram of modifying data of an IP hard disk in the background art
  • FIG. 2 is a schematic diagram of a data storage structure in an IP hard disk according to an embodiment of the present application
  • FIG. 3 is a schematic flowchart of a data storage method according to an embodiment of the present application.
  • 4a is a schematic diagram of creating a new version of data in an embodiment of the present application.
  • 4b is a schematic diagram of changing data of a version in the embodiment of the present application.
  • FIG. 5 is a schematic flowchart diagram of another data storage method according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another method for changing data of a version in the embodiment of the present application.
  • FIG. 7 is a schematic flowchart diagram of still another data storage method according to an embodiment of the present application.
  • FIG. 8 is a schematic flowchart diagram of still another data storage method according to an embodiment of the present application.
  • FIG. 9 is a schematic flowchart diagram of still another data storage method according to an embodiment of the present application.
  • FIG. 10 is a schematic block diagram showing the structure of a storage device in an embodiment of the present application.
  • FIG. 11 is a schematic block diagram of a storage system in an embodiment of the present application.
  • a key-value pair of Key-Value1 is stored in an IP hard disk
  • Value1 is stored in a data area
  • a Key is stored in an index area
  • a location information of a storage space of Value1 is stored in the Key.
  • the hard disk will return the data in Value1 in response to the user reading the data corresponding to the Key.
  • the location information of the newly written Value2 storage space is recorded in the Key, and Value1 will be deleted.
  • the subsequent IP hard disk will return the data in Value2 in response to the user reading the data corresponding to the Key corresponding data.
  • version information is added between the primary key information and the data, and one primary key value may correspond to multiple version values, and each version value Corresponding to a piece of data, in order to save multiple versions of data under a primary key value, to facilitate data rollback and view historical version of the data.
  • a piece of data is stored in an IP hard disk in a structure of a key-Version-Value, where each primary key value corresponds to a version value set, and each of the version value sets A version value corresponds to a location information, and the location information contains a piece of data stored in the IP hard The address of the storage space in the disk.
  • the location information may include the offset of the data in the IP hard disk. Therefore, according to a primary key value and a version value in the set of version values corresponding to the primary key value, one piece of data stored in the IP hard disk can be uniquely determined.
  • the storage space of the IP hard disk may be divided into an index area and a data area, where the index area stores metadata, where the metadata includes a primary key value and a correspondence between each version value;
  • the data area is used to save data.
  • the version value is used to distinguish multiple data corresponding to one primary key value
  • the version value itself may be a digital sequence, a timestamp or information including a timestamp, a user identifier or information related to the user identification. And information related to the distribution of data, and so on.
  • the metadata stored in the host contains the file name of the saved file (or the identifier used to identify the file equivalent to the file name) and the primary key value.
  • a file needs to be divided into multiple data blocks for storage, and each data block corresponds to a primary key value. Therefore, the correspondence between each data block of a file and the primary key value is stored in the metadata. .
  • the target data is input to the host, and the file name of the target data.
  • the host queries the metadata stored by the host, and determines the primary key value corresponding to the target data according to the metadata stored by the host. .
  • the metadata stored in the host further includes version information of the primary key value, that is, which version values are included in the version value set corresponding to the primary key value.
  • the host can determine the version value in the write data request according to the version information of the primary key value contained in the metadata stored by the host. For example, when a new version of data is created for a primary key value, a new version value that is different from the version value currently present in the version value set of the primary key value is generated.
  • the host may request the IP hard disk to store the metadata of the IP hard disk, and according to the IP The metadata of the hard disk determines the version value in the write data request.
  • the user may request to use the currently input target data to overwrite the previous version of the data.
  • the host may determine the covered data according to the information of the overwritten version input by the user and the metadata stored by the host or the IP hard disk.
  • the version value which is the version value corresponding to the target data.
  • the host queries the metadata, if it is determined that the metadata does not include the file name entered by the user, it indicates that the user wants to store the new file, and the host will assign a primary key value that does not currently exist in the IP hard disk, and for the primary key value. Create a new version value that instructs the IP hard disk to store the target data based on the assigned primary key value and version value.
  • multiple data blocks divided by one file respectively correspond to primary key values in different IP hard disks, that is, data blocks are respectively stored in different IP hard disks.
  • FIG. 3 is a schematic flowchart of a data storage method according to an embodiment of the present disclosure, where the process may include:
  • Step 101 The IP hard disk receives the write data request sent by the host, where the write data request includes the target data, the primary key value corresponding to the target data, and the version value corresponding to the target data;
  • Step 102 Determine whether the primary key value is saved in the IP hard disk; if yes, proceed to step 103;
  • Step 103 determining whether there is a version value corresponding to the target data in the version value set corresponding to the primary key value; if not, proceeding to step 104;
  • Step 104 Write the target data to the IP hard disk.
  • the IP hard disk receives a write data request sent by the host, where the write data request includes the target data determined by the host in the foregoing manner, the primary key value of the target data, and the version value of the target data.
  • the IP hard disk can be set inside the host. In this case, the IP hard disk can communicate with the module including the processor in the host through the bus. In addition, the IP hard disk can also be set outside the host, and the IP hard disk can communicate with the host by using the IP protocol, and receive the write data request sent by the host.
  • the controller in the IP hard disk first determines whether the primary key value corresponding to the target data is a new primary key value or a current primary key value. If the controller determines the IP If the primary key value corresponding to the target data already exists in the hard disk, it is further determined whether the version value corresponding to the target data already exists in the version value set corresponding to the primary key value.
  • the version value of the version value does not include the version value corresponding to the target data, it indicates that a new version of the data needs to be created under the primary key value, and in the case of retaining the data of the original version of the primary key value, in the IP
  • the target data is stored in the free storage space of the hard disk, so that the primary key value can correspond to multiple versions of data, which is convenient for viewing historical version data and performing data rollback.
  • the data storage method further includes:
  • Step 105 Write the version value into the version value set.
  • step 105 and step 104 do not have a strict sequence relationship.
  • Step 105 may be performed before step 104, may be performed simultaneously with step 104, or may be performed after step 104.
  • the version value corresponding to the target data is added to the version value set corresponding to the primary key value corresponding to the target data, and the version value includes location information of the storage space of the target data, so that the target data can be queried by the primary key value.
  • version information corresponding to the target data which facilitates management of the target data.
  • the foregoing technical solution is exemplified: before the data is stored, the version value set corresponding to the Key in the index area includes V1 and V2, and when the write data request of Put (Key, V3, Value3) is obtained, When it is determined that V3 is not included in the version value set corresponding to the Key, Value3 is stored in a free storage space in the data area, V3 is added in the version value set corresponding to the Key, and the location information of the Value3 storage space is written in V3.
  • the IP hard disk stores data in a primary key-version-data structure, so that multiple versions of data can be saved under one primary key value, thereby allowing data to be updated by newly creating a version value without deleting the previous one.
  • the historical version of the data makes it easy to view the historical version of the data and the fallback of the execution data.
  • step 103 if it is determined that the version value corresponding to the target data exists in the version value set, the process proceeds to step 106, and the following process is performed:
  • Step 106 Obtain location information corresponding to the version value, where the location information includes a version value corresponding to The address where the old data is stored in the IP hard disk;
  • Step 107 Write the target data into the storage space corresponding to the obtained address.
  • the controller determines that the primary key value corresponding to the target data already exists in the index area, and the version value corresponding to the target data already exists in the version value set corresponding to the primary key value, it indicates that the current existing The data corresponding to one version is modified, and steps 106-107 are performed to determine the storage space of the data corresponding to the previous version that needs to be overwritten, and the target data is written in the determined storage space.
  • the version value set corresponding to the Key in the index area includes V1 and V2, and when the write data request of Put (Key, V1, Value3) is obtained, the key corresponding to the key is determined.
  • V1 already exists in the version value set the storage space information included in V1 is obtained, and the storage space of the old data Value1 corresponding to V1 in the data area is determined, and the value is overwritten in the storage space.
  • data of a certain version of a primary key value can be modified without affecting data of other versions of the primary key value, and data maintenance is easy, and the validity of the data is improved.
  • step 102 if it is determined that the primary key value corresponding to the target data does not exist in the IP hard disk, then the process proceeds to step 108, and the following process is performed:
  • Step 108 Save target data in an idle storage space of the IP hard disk
  • Step 109 Write a primary key value corresponding to the target data in the IP hard disk, and store the version value corresponding to the target data corresponding to the written primary key value, and add the free storage space to the stored version value. location information.
  • the IP hard disk allocates a free storage space to store the received data, and correspondingly writes the received primary key value and version value in the IP hard disk. Since the written data is the data of the first version corresponding to the primary key value, only the newly written version value is included in the version value set of the primary key value, and the version value includes the storage space for storing the newly written data. Location information.
  • step 109 can be performed concurrently with step 108, or prior to step 108, or After the step 108 is performed, the embodiment of the present application is not limited.
  • FIG. 5 is a schematic flowchart diagram of another data storage method according to an embodiment of the present disclosure, where the process may include:
  • Step 201 The IP hard disk receives the write data request sent by the host, where the write data request includes the target data, the primary key value corresponding to the target data, and the version value corresponding to the target data;
  • Step 202 Determine whether the primary key value corresponding to the target data is saved in the IP hard disk
  • Step 203 When the primary key value is stored in the IP hard disk, determine whether a version value corresponding to the target data exists in the version value set corresponding to the primary key value.
  • Step 204 When the version value set contains the version value corresponding to the target data, determine an idle storage space in the IP hard disk, and write the target data into the free storage space;
  • Step 205 Modify the location information corresponding to the version value to the address of the free storage space.
  • the implementation manner of steps 201-204 can refer to the implementation manners of steps 101-104.
  • the difference between the data storage method corresponding to FIG. 5 and the data storage method corresponding to FIG. 3 is that the controller determines that the primary key value corresponding to the target data already exists in the index area, and the version value set corresponding to the primary key value has been After the version value corresponding to the target data exists, when the data corresponding to a certain version value is updated, the new data is not directly written in the storage space of the old data corresponding to the version value, but is located at the idle position of the data area. Write new data, and then update the location information contained in the version value to the address of the storage space of the newly written data.
  • the version value set corresponding to the Key in the index area includes V1 and V2, and when the write data request of Put (Key, V2, Value3) is obtained, the key corresponding to the key is determined.
  • V2 already exists in the version value set Value3 is stored in a free storage space in the data area, and the storage space location information saved in V2 is updated to the location information of the Value3 storage space.
  • step 205 the storage space of the old data corresponding to the version value is released, thereby avoiding waste of storage space.
  • the data storage method may further include the following processes:
  • Step 301 The IP hard disk receives a read data request sent by the host, where the read data request includes a primary key value corresponding to the target data and a version value corresponding to the target data;
  • Step 302 Determine location information according to the primary key value and the version value.
  • Step 303 Read target data stored in a storage space corresponding to the location information.
  • the host queries the local metadata or simultaneously requests the metadata to the IP hard disk to determine the data.
  • the primary key value and version value corresponding to the target data are input to the host, and the host queries the local metadata or simultaneously requests the metadata to the IP hard disk to determine the data.
  • the metadata stored in the IP hard disk stores the correspondence between the primary key value corresponding to the data, the version value corresponding to the data, and the location information of the storage space for storing the data.
  • the processor in the IP hard disk can determine a location information according to the primary key value, the version value, and the foregoing correspondence between the metadata in the IP hard disk, and the location information is the target data to be read.
  • the location information of the storage space in the IP hard disk is located according to the location information, that is, the target data, and the target data is returned to the host to realize the reading of the target data.
  • the data storage method may further include the following processes:
  • Step 401 The IP hard disk receives a read data request sent by the host, and the read data request includes a primary key value corresponding to the target data.
  • Step 402 Determine that the highest version value of the version value set corresponding to the primary key value is a version value corresponding to the target data.
  • Step 403 Obtain location information corresponding to the version value.
  • Step 404 Read target data stored in a storage space corresponding to the location information.
  • the difference between the method and the method corresponding to FIG. 7 is that, in an actual situation, the user may not input relevant information of the data to be read by the user, and the read data request sent by the host to the IP hard disk does not include the version of the target data.
  • the IP hard disk when receiving the read data request of this type, the IP hard disk reads the data corresponding to the highest version value of the version value set corresponding to the primary key value by default, and returns the highest version value corresponding to the version to the host. The data.
  • the version value with the highest version can be determined according to the attribute of the version value itself in the primary key-version-data structure. For example, when the version value is a sequence of numbers that are continuously accumulated, the sequence of numbers corresponding to the largest value is the version value (for example, when there are only two version values of 1.1 and 1.2 in the version value set, the version value of 1.2 can be determined to be the highest version. When the version value is a timestamp or contains timestamp information, it can be determined that the version value corresponding to the latest time is the highest version version value.
  • the IP hard disk can return the data corresponding to the highest version value corresponding to the primary key value of the target data when receiving the read data request that does not include the version information, so that the user can quickly and conveniently read the data.
  • the data storage method may further include the following processes:
  • Step 501 The IP hard disk receives the delete data request sent by the host, and the delete data request includes a primary key value corresponding to the target data and a version value corresponding to the target data.
  • Step 502 Delete the version value corresponding to the target data from the version value set corresponding to the primary key value.
  • the user when the user deletes the data, the user inputs the file name corresponding to the target data and the information indicating which version of the file is to be deleted.
  • the host queries local metadata or simultaneously requests metadata from the IP hard disk to determine the primary key value and version value corresponding to the target data.
  • the IP hard disk After receiving the data deletion request, deletes the version value corresponding to the target data from the version value set corresponding to the primary key value corresponding to the target data. After deleting the version value, the data corresponding to the primary key value is not already in the data. Contains target data to quickly and accurately delete a version of the data corresponding to the primary key value.
  • the data storage method may further include the following steps:
  • Step 503 Delete the target data stored in the storage space corresponding to the location information corresponding to the version value.
  • the data corresponding to the version value corresponding to the target data in the IP hard disk may be deleted, and the data to be deleted is completely deleted from the physical level, thereby improving the utility of the storage space.
  • the step 503 may be performed simultaneously with the step 502 or before the step 502. After the location information in the version value corresponding to the target data is saved, the step 503 may also be performed after the step 502.
  • the data storage method may further include the following steps:
  • Step 504 determining whether the version value set corresponding to the primary key value further has a version value other than the version value corresponding to the target data; if not, executing step 505;
  • Step 505 Delete the primary key value from the IP hard disk.
  • the controller determines whether there are other version values in the version value set corresponding to the primary key value, and if yes, ends the process. If there is no other version value, indicating that there is no data corresponding to the primary key value, the primary key value is no longer necessary. At this time, the primary key value may be deleted, and the storage space of the index area storing the primary key value is increased. The utility.
  • the metadata stored in the IP hard disk may be in the form of a list or a database, and the correspondence between the primary key value, the version value, and the location information of the storage space of the data is stored in the list or the database.
  • the metadata stored in the IP hard disk may also be in the form of a primary key value and a version value stored in the IP hard disk index area, wherein each primary key value includes information of each version value corresponding to the primary key value. (can be the address information of the version value, the version name, and the like), by which the version values of the primary key value are known, and each version value includes location information, and the location information is used to represent a piece of data. The location of the storage space in the IP hard disk.
  • the embodiment of the present application provides a storage device.
  • the storage device includes a bus 600, and a controller 601, a storage unit 602, and an interface 603 connected to the bus 600.
  • the storage unit 602 is configured to use a non-volatile storage medium to store data
  • the interface 603 is configured to receive a write data request by using a network interconnection protocol, where the write data request includes target data, a primary key value corresponding to the target data, and target data. Corresponding version value.
  • the interface 603 in the embodiment of the present application may be an independent communication module, or may be a communication interface provided by the controller 601.
  • the controller 601 is configured to: determine whether the primary key value corresponding to the target data is saved in the IP hard disk; if yes, determine whether the version value set corresponding to the primary key value includes a version value corresponding to the target data; When the version value is not included, the target data is written to the IP hard disk.
  • controller 601 is further configured to: after the target data is written into the storage unit, write the version value corresponding to the target data into the version value set.
  • the controller 601 is further configured to: when the version value set includes the version value corresponding to the target data, obtain location information corresponding to the version value, where the location information includes the old data corresponding to the version value corresponding to the target data is stored in the The address in the storage unit; and the target data is written into the storage space corresponding to the address.
  • the controller is further configured to: when the version value set includes the version value corresponding to the target data, determine an idle storage space in the storage unit, write the target data into the idle storage space; and correspond the target data The location information corresponding to the version value is modified to the address of the free storage space.
  • the interface 603 is further configured to: receive a read data request, where the read data request includes a primary key value and a version value;
  • the controller 601 is further configured to: determine location information according to the primary key value and the version value; and read the target data stored in the storage space corresponding to the location information.
  • the interface 603 is further configured to: receive a read data request, and the read data request includes a primary key value;
  • the controller 601 is further configured to: determine that the highest version value of the version value set corresponding to the primary key value is a version value; obtain location information corresponding to the version value; and read target data stored in the storage space corresponding to the location information.
  • the interface 603 is further configured to: receive a delete data request, where the delete data request includes a primary key value and a version value;
  • the controller 601 is further configured to: delete the version value from the version value set corresponding to the primary key value corresponding to the target data.
  • the controller 601 is further configured to: delete the target data stored in the storage space corresponding to the location information corresponding to the version value.
  • the controller 601 is further configured to: determine whether a version value other than the version value exists in the version value set corresponding to the primary key value corresponding to the target data; if not, delete the main source from the IP hard disk Key value.
  • the embodiment of the present application further provides a storage system.
  • the system includes a host 701 and a storage device 702.
  • the storage device 702 is the foregoing storage device including the bus 600, the controller 601, the storage unit 602, and the interface 603.
  • the host 701 is configured to: generate a data processing request according to the user input information, and send a data processing request to the storage device 702, where the data processing request includes a write data request, a read data request, and a delete data request.
  • the host 701 is specifically configured to determine, according to the metadata stored in the host 701, a primary key value corresponding to the target data included in the data processing request.
  • the host 701 is further configured to determine, according to the metadata stored in the host 701, a version value corresponding to the target data included in the data processing request.
  • the host 701 is further configured to send a query instruction to the storage device, where the query instruction is used to cause the storage device to determine, according to the saved metadata, a version value corresponding to the target data included in the data processing request.
  • the query instruction sent by the host 701 to the storage device is used to return the storage device to the version information corresponding to the primary key value corresponding to the target data.
  • the host 701 is further configured to determine the version value corresponding to the target data according to the version information returned by the storage device. .
  • the host 701 includes a bus and a processor connected to the bus, a random access memory, a read only memory, an input device, an output device, and a transceiver.
  • the processor is coupled to the random access memory, the read-only memory, the input device, the output device, and the transceiver through a bus.
  • the system is booted by the basic input/output system that is solidified in the read-only memory, and the host 701 is booted into a normal operating state. After the host 701 enters the normal running state, the application and the operating system are run in the random access memory.
  • the input device is used to obtain user input information such as a touch screen, a keyboard, and the like.
  • the output device is used to output information to the user, such as a display, a speaker, and the like.
  • the transceiver is for communicating with the storage device 702.
  • the IP hard disk receives the write data request sent by the host, where the write data request includes target data, a primary key value corresponding to the target data, and a version value corresponding to the target data; Whether the primary key value is saved in the IP hard disk; if yes, determining whether the version value is included in the version value set corresponding to the primary key value; when the version value is not included in the version value set, Then writing the target data to the IP hard disk.
  • the primary key value may correspond to multiple version values, and when the write data request is executed, if the version value corresponding to the primary key value corresponding to the target data does not include the target data
  • the version value is stored in the case of retaining the data of the original version of the primary key value, so that the primary key value can correspond to multiple versions of data, so that it is convenient to view historical version data and perform data fallback.
  • embodiments of the present application can be provided as a method, system, 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.
  • 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.

Landscapes

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

Abstract

一种数据存储方法、存储装置及存储系统,用于解决IP硬盘难以在一个主键值之下保存多个版本的数据的问题。所述方法应用于存储系统中,所述存储系统包括主机和网络互联协议IP硬盘,所述方法包括:所述IP硬盘接收所述主机发送的写数据请求,所述写数据请求中包含目标数据、所述目标数据对应的主键值及所述目标数据对应的版本值(101);判断所述主键值是否保存在所述IP硬盘中(102);如果是,则判断所述主键值对应的版本值集合中是否包含所述版本值(103);当所述版本值集合中不包含所述版本值时,则将所述目标数据写入所述IP硬盘(104)。

Description

一种数据存储方法、存储装置及存储系统
本申请要求于2014年9月30日提交中国专利局、申请号为201410526359.2、发明名称为“一种数据存储方法、存储装置及存储系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及数据存储领域,特别涉及一种数据存储方法、存储装置及存储系统。
背景技术
网络互联协议(Internet Protocol,IP)硬盘为提供IP协议接口的硬盘,由于IP硬盘能够通过IP协议直接与主机进行通信,不仅使得IP硬盘与主机间没有了距离限制,而且能够支持大规模并行访问,大幅提高数据访问的速度。
目前,IP硬盘使用主键-数据(Key-Value)的结构进行数据存储,主机也以Key-Value接口对IP硬盘中的数据进行访问。在Key-Value的结构中,Key是主键,通常是一个字符串,保存在IP硬盘的索引区中,而Value中包含要存储的数据,保存在IP硬盘的数据区中,其中,一个Key中保存有Value在硬盘上的存储空间的位置信息,Key与Value之间是一一对应的。
在对IP硬盘中的数据进行修改操作时,在数据区分配另一空闲的存储空间保存修改后的Value,并将索引区中对应Key中保存的位置信息更改为修改后的Value的存储空间的位置信息,而为修改前的Value所分配的存储空间需要被回收。
因此,现有技术中要对数据进行修改必须将原有的Value删除,难以在一个Key之下保存多个版本的Value,不方便查看一个Key对应的历史版本的数据。
发明内容
本申请实施例提供一种数据存储方法、存储装置及存储系统,用于解决现有技术中IP硬盘难以在一个主键值之下保存多个版本的数据的问题。
第一方面,本申请实施例提供了一种数据存储方法,所述方法应用于存储系统中,所述存储系统包括主机和网络互联协议IP硬盘,所述方法包括:
所述IP硬盘接收所述主机发送的写数据请求,所述写数据请求中包含目标数据、所述目标数据对应的主键值及所述目标数据对应的版本值;
判断所述主键值是否保存在所述IP硬盘中;
如果是,则判断所述主键值对应的版本值集合中是否包含所述版本值;
当所述版本值集合中不包含所述版本值时,则将所述目标数据写入所述IP硬盘。
结合第一方面,在第一方面的第一种可能的实现方式中,将所述目标数据写入所述IP硬盘之后,所述方法还包括:将所述版本值写入所述版本值集合中。
结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:
当所述版本值集合中包含所述版本值时,获得所述版本值对应的位置信息,所述位置信息包括所述版本值对应的旧数据存储在所述IP硬盘中的地址;
将所述目标数据写入所述地址对应的存储空间中。
结合第一方面,在第一方面的第三种可能的实现方式中,所述方法还包括:
当所述版本值集合中包含所述版本值时,在所述IP硬盘中确定空闲的存储空间,将所述目标数据写入所述空闲的存储空间中;
将所述版本值对应的位置信息修改为所述空闲的存储空间的地址。
结合第一方面,在第一方面的第四种可能的实现方式中,所述方法还包括:所述写数据请求中的所述版本值是由所述主机根据在元数据中查询的所述主键值的版本信息获得的。
结合第一方面的第二种可能的实现方式或者第一方面的第三种可能的实 现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:所述IP硬盘接收所述主机发送的读数据请求,所述读数据请求中包含所述主键值及所述版本值;
根据所述主键值及所述版本值确定出所述位置信息;
读取所述位置信息对应的存储空间中存储的所述目标数据。
结合第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:
所述IP硬盘接收所述主机发送的读数据请求,所述读数据请求包含所述主键值;
确定所述主键值对应的版本值集合中版本最高的版本值是所述版本值;
获得所述版本值对应的位置信息;
读取所述位置信息对应的存储空间中存储的所述目标数据。
结合第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第七种可能的实现方式中,所述方法还包括:
所述IP硬盘接收所述主机发送的删除数据请求,所述删除数据请求包含所述主键值及所述版本值;
从所述主键值对应的版本值集合中删除所述版本值。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述方法还包括:
删除所述版本值对应的位置信息对应的存储空间中存储的所述目标数据。
结合第一方面的第七种可能的实现方式,在第一方面的第九种可能的实现方式中,所述方法还包括:
判断所述主键值对应的版本值集合中是否还存在除所述版本值之外的其它版本值;
若不存在,则从所述IP硬盘中删除所述主键值。
第二方面,本申请实施例提供一种存储装置,包括:
存储单元,用于利用非易失性存储介质来存储数据;
接口,用于利用网络互联协议接收写数据请求,所述写数据请求中包含目标数据、所述目标数据对应的主键值及所述目标数据对应的版本值;
控制器,用于判断所述主键值是否保存在所述IP硬盘中;如果是,则判断所述主键值对应的版本值集合中是否包含所述版本值;当所述版本值集合中不包含所述版本值时,将所述目标数据写入所述IP硬盘。
结合第二方面,在第二方面的第一种可能的实现方式中,所述控制器还用于:在将所述目标数据写入所述存储单元之后,将所述版本值写入所述版本值集合中。
结合第二方面,在第二方面的第二种可能的实现方式中,所述控制器还用于:当所述版本值集合中包含所述版本值时,获得所述版本值对应的位置信息,所述位置信息包括所述版本值对应的旧数据存储在所述存储单元中的地址;并将所述目标数据写入所述地址对应的存储空间中。
结合第二方面,在第二方面的第三种可能的实现方式中,所述控制器还用于:当所述版本值集合中包含所述版本值时,在所述存储单元中确定空闲的存储空间,将所述目标数据写入所述空闲的存储空间中;并将所述版本值对应的位置信息修改为所述空闲的存储空间的地址。
结合第二方面的第二种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接口还用于:接收读数据请求,所述读数据请求中包含所述主键值及所述版本值;
所述控制器还用于:根据所述主键值及所述版本值确定出所述位置信息;读取所述位置信息对应的存储空间中存储的所述目标数据。
结合第二方面的第二种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第五种可能的实现方式中,所述接口还用于:接收读数据请求,所述读数据请求包含所述主键值;
所述控制器还用于:确定所述主键值对应的版本值集合中版本最高的版本 值是所述版本值;获得所述版本值对应的位置信息;读取所述位置信息对应的存储空间中存储的所述目标数据。
结合第二方面的第二种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第六种可能的实现方式中,所述接口还用于:接收删除数据请求,所述删除数据请求包含所述主键值及所述版本值;
所述控制器还用于:从所述主键值对应的版本值集合中删除所述版本值。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述控制器还用于:删除所述版本值对应的位置信息对应的存储空间中存储的所述目标数据。
结合第二方面的第六种可能的实现方式,在第二方面的第八种可能的实现方式中,所述控制器还用于:判断所述主键值对应的版本值集合中是否还存在除所述版本值之外的其它版本值;若不存在,则从所述IP硬盘中删除所述主键值。
第三方面,本申请实施例提供一种存储系统,包括:
第二方面所述的存储装置;
主机,用于根据用户输入信息生成数据处理请求,并向所述存储装置发送所述数据处理请求,所述数据处理请求包括写数据请求、读数据请求、删除数据请求。
结合第三方面,在第三方面的第一种可能的实现方式中,所述主机具体用于根据所述主机中存储的元数据确定所述数据处理请求中包含的目标数据对应的主键值。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述主机还用于根据所述主机中存储的元数据确定所述数据处理请求中包含的目标数据对应的版本值。
结合第三方面,在第三方面的第三种可能的实现方式中,所述主机还用于向所述存储装置发送查询指令,所述查询指令用于使所述存储装置根据保存的 元数据确定所述数据处理请求中包含的目标数据对应的版本值。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,IP硬盘接收所述主机发送的写数据请求,所述写数据请求中包含目标数据、所述目标数据对应的主键值及所述目标数据对应的版本值;判断所述主键值是否保存在所述IP硬盘中;如果是,则判断所述主键值对应的版本值集合中是否包含所述版本值;当所述版本值集合中不包含所述版本值时,则将所述目标数据写入所述IP硬盘。由此可见,在本发明实施例中,所述主键值可以对应多个版本值,在执行写数据请求时,如果目标数据对应的主键值对应的版本值集合中不包含目标数据对应的版本值,则在保留该主键值原对应版本的数据的情况下,存储所述目标数据,使得该主键值能够对应多个版本的数据,便于查看历史版本的数据以及执行数据回退。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中IP硬盘修改数据的示意图;
图2为本申请实施例中IP硬盘中数据存储结构的示意图;
图3为本申请实施例中一种数据存储方法的流程示意图;
图4a为本申请实施例中新建一个版本数据的示意图;
图4b为本申请实施例中更改一个版本的数据的示意图;
图5为本申请实施例中另一种数据存储方法的流程示意图;
图6为本申请实施例中更改一个版本的数据的另一种方法的示意图;
图7为本申请实施例中又一种数据存储方法的流程示意图;
图8为本申请实施例中又一种数据存储方法的流程示意图;
图9为本申请实施例中又一种数据存储方法的流程示意图;
图10为本申请实施例中存储装置的结构示意框图;
图11为本申请实施例中存储系统的示意框图。
具体实施方式
参见图1,现有技术中,如果IP硬盘中保存有Key-Value1的键值对,Value1保存在数据区,Key保存在索引区,Key中保存有Value1的存储空间的位置信息,此时IP硬盘在响应用户读取Key对应数据的读操作时将返回Value1中的数据。而在数据修改后,Key中记录新写入的Value2的存储空间的位置信息,Value1将被删除,后续IP硬盘在响应用户读取Key对应数据的读操作时将返回Value2中的数据。
因此,对于IP硬盘中保存的一个Key-Value键值对,要对数据进行修改必须将原有的Value删除,难以在一个Key之下保存多个版本的Value,不方便查看一个Key对应的历史版本的数据。
为了解决上述技术问题,本申请实施例中,在以Key-Value的结构保存数据时,在主键信息与数据之间增加了版本信息,一个主键值可以对应多个版本值,每一个版本值对应一项数据,进而实现在一个主键值之下保存多个版本的数据,方便进行数据回退及查看历史版本的数据。
下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本申请实施例中,一项数据以主键-版本-数据(Key-Version-Value)的结构存储在IP硬盘中,其中,每个主键值对应一个版本值集合,该版本值集合中的每一个版本值对应一位置信息,该位置信息中包含一项数据保存在IP硬 盘中的存储空间的地址,具体的,位置信息中可以包含数据在IP硬盘中的偏移量。因此,根据一个主键值及该主键值对应的版本值集合中的一个版本值,可以唯一确定出IP硬盘中存储的一项数据。
可选的,参见图2,IP硬盘的存储空间可分为索引区和数据区,其中,索引区中保存有元数据,所述元数据包含主键值以及各个版本值之间的对应关系;而数据区用于保存数据。索引区中的一个版本值对应的一项数据在数据区中的存储空间的位置信息。
主键-版本-数据结构中,版本值用于区分对应一个主键值的多个数据,版本值本身可以是数字序列、时间戳或者是包含时间戳的信息、用户标识或者与用户标识相关的信息、以及与数据分布有关的信息,等等。
为了便于理解,首先介绍主机生成需要发送给IP硬盘的写数据请求的过程,具体如下:
主机存储的元数据中包含已保存文件的文件名(或者与文件名等同的用于标识文件的标识)与主键值的对应关系。实际情况中,一个文件需要被划分为多个数据块来进行存储,每个数据块对应有一个主键值,因此,元数据中保存有一个文件的每一个数据块与主键值的对应关系。
用户在存储文件时,向主机输入目标数据,以及目标数据的文件名,主机接收到用户输入的上述信息后,查询主机存储的元数据,根据主机存储的元数据确定目标数据对应的主键值。
可选的,主机存储的元数据中还包含主键值的版本信息,即一个主键值对应的版本值集合中包含有哪些版本值。主机可以根据主机存储的元数据中包含主键值的版本信息确定写数据请求中的版本值。例如,在针对一个主键值新建一个版本的数据时,生成一个不同于主键值的版本值集合中当前存在的版本值的新的版本值。
可选的,由于IP硬盘中存储的元数据中包含该IP硬盘保存的主键值对应的版本信息,因此,主机可以向IP硬盘请求IP硬盘存储的元数据,并根据IP 硬盘的元数据确定写数据请求中的版本值。
实际情况中,用户可能会要求使用当前输入的目标数据覆盖之前的某一版本的数据,主机可以根据用户输入的被覆盖版本的信息与主机或IP硬盘存储的元数据确定出被覆盖数据对应的版本值,亦即目标数据对应的版本值。
而如果主机查询元数据之后,如果确定元数据中不包含用户输入的文件名,则表明用户要存储新的文件,主机将分配一个IP硬盘当前不存在的主键值,并针对该主键值新建一个版本值,指示IP硬盘根据分配的主键值和版本值来存储目标数据。
可选的,一个文件划分的多个数据块分别对应不同IP硬盘中的主键值,即数据块被分别存储在不同的IP硬盘中。
参见图3,为本申请实施例提供的一种数据存储方法的流程示意图,该流程可包括:
步骤101:IP硬盘接收主机发送的写数据请求,写数据请求中包含目标数据、目标数据对应的主键值及目标数据对应的版本值;
步骤102:判断该主键值是否保存在IP硬盘中;若是,则转入步骤103;
步骤103:判断该主键值对应的版本值集合中是否存在目标数据对应的版本值;若不存在,则转入步骤104;
步骤104:将目标数据写入IP硬盘。
具体的,步骤101中,IP硬盘接收主机发送的写数据请求,该写数据请求中包含主机采用前述方式确定出的目标数据、目标数据的主键值以及目标数据的版本值。本申请实施例中,IP硬盘可以设置在主机内部,这种情况下,IP硬盘可以通过总线与主机中的包括处理器在内的模块进行通信。另外,IP硬盘也可以设置在主机外部,IP硬盘可以利用IP协议与主机进行通信,接收主机发送的写数据请求。
IP硬盘收到写数据请求之后,IP硬盘中的控制器首先判断目标数据对应的主键值是一个新的主键值,还是当前已经存在的主键值。如果控制器判断出IP 硬盘中已经存在了目标数据对应的主键值,则进一步判断该主键值对应的版本值集合中是否已经存在目标数据对应的版本值。如果判断出该版本值集合中不包含目标数据对应的版本值,则表明需要在该主键值之下新建一个版本的数据,在保留该主键值原对应版本的数据的情况下,在IP硬盘中的空闲存储空间中存储所述目标数据,使得该主键值能够对应多个版本的数据,便于查看历史版本的数据以及执行数据回退。
可选的,数据存储方法还包括:
步骤105:将该版本值写入版本值集合中。
具体的,步骤105与步骤104没有严格的先后顺序关系,步骤105可以在步骤104之前执行,可以与步骤104同时执行,也可以在步骤104之后执行。通过将目标数据对应的版本值加入目标数据对应的主键值对应的版本值集合中,而该版本值中包含有目标数据的存储空间的位置信息,使得通过该主键值能够查询到目标数据以及目标数据对应的版本信息,便于对目标数据进行管理。
参见图4a,对上述技术方案举例说明:在存储数据之前,索引区中的Key对应的版本值集合中包含V1、V2,在获取到Put(Key,V3,Value3)的写数据请求时,在判断出Key对应的版本值集合中不包含V3时,在数据区中一空闲存储空间存储Value3,并在Key对应的版本值集合中添加V3,在V3中写入Value3的存储空间的位置信息。
上述技术方案中,IP硬盘以主键-版本-数据结构来存储数据,使得一个主键值之下可以保存多个版本的数据,进而允许以新建版本值的方式来更新数据,而不删除之前的历史版本的数据,便于查看历史版本的数据以及执行数据的回退。
进一步,步骤103执行时,若确定版本值集合中存在目标数据对应的版本值,则转入步骤106,执行如下流程:
步骤106:获得该版本值对应的位置信息,该位置信息包括版本值对应的 旧数据存储在IP硬盘中的地址;
步骤107:将目标数据写入获得的地址对应的存储空间中。
具体的,如果控制器判断出索引区中已经存在了目标数据对应的主键值,以及该主键值对应的版本值集合中已经存在目标数据对应的版本值,则表明需要对当前已存在的一个版本对应的数据进行修改,执行步骤106~107,确定出需要被覆盖的在先版本对应的数据的存储空间,在确定出的存储空间处写入目标数据。
例如,参见图4b,在存储数据之前,索引区中的Key对应的版本值集合中包含V1、V2,在获取到Put(Key,V1,Value3)的写数据请求时,在判断出Key对应的版本值集合中已经存在V1时,获取V1中包含的存储空间信息,确定出V1对应的旧数据Value1在数据区中的存储空间,在该存储空间覆盖写入Value3。
上述技术方案中,可以对一个主键值的某一版本的数据进行修改,而不影响该主键值的其他版本的数据,容易对数据进行维护,提高了数据的有效性。
进一步,步骤102执行时,如果确定IP硬盘中不存在目标数据对应的主键值,则转入步骤108,执行如下流程:
步骤108:在IP硬盘的空闲存储空间中保存目标数据;
步骤109:在IP硬盘中写入目标数据对应的主键值,并将目标数据对应的版本值与写入的该主键值进行对应存储,以及在存储的版本值中添加该空闲存储空间的位置信息。
具体的,在目标数据对应的主键值为新的主键值时,IP硬盘将分配一空闲存储空间存储接收的数据,并在IP硬盘中对应的写入接收的主键值和版本值。由于写入的数据为主键值对应的第一个版本的数据,因此,该主键值的版本值集合中只有新写入的版本值,该版本值中包含存储新写入数据的存储空间的位置信息。
另外,步骤109可以与步骤108同时执行,或者先于步骤108执行,或者 在步骤108之后执行,本申请实施例不予限定。
参见图5,为本申请实施例提供的另一种数据存储方法的流程示意图,该流程可包括:
步骤201:IP硬盘接收主机发送的写数据请求,写数据请求中包含目标数据、目标数据对应的主键值及目标数据对应的版本值;
步骤202:判断目标数据对应的主键值是否保存在IP硬盘中;
步骤203:在IP硬盘中保存有该主键值时,判断该主键值对应的版本值集合中是否存在目标数据对应的版本值;
步骤204:当该版本值集合中包含目标数据对应的版本值时,在IP硬盘中确定空闲的存储空间,将目标数据写入该空闲的存储空间中;
步骤205:将该版本值对应的位置信息修改为该空闲的存储空间的地址。
具体的,步骤201~204的实施方式可以参考步骤101~104的实施方式。图5对应的数据存储方法与图3对应的数据存储方法的区别在于:在控制器判断出索引区中已经存在了目标数据对应的主键值,以及该主键值对应的版本值集合中已经存在目标数据对应的版本值后,在对某一版本值对应的数据进行更新时,不是直接在该版本值对应的旧数据的存储空间处写入新数据,而是在数据区的空闲位置处写入新数据,然后将该版本值中包含的位置信息更新为新写入数据的存储空间的地址。
例如,参见图6,在存储数据之前,索引区中的Key对应的版本值集合中包含V1、V2,在获取到Put(Key,V2,Value3)的写数据请求时,在判断出Key对应的版本值集合中已经存在V2时,在数据区中一空闲存储空间存储Value3,并将V2中保存的存储空间位置信息更新为Value3的存储空间的位置信息。
上述技术方案中,避免了在原数据的存储空间写入新数据时可能产生的错误,例如数据混淆错误、原数据存储空间的容量小于新数据的大小导致的新数据不完整错误,另外,还能避免原数据存储空间大于新数据大小造成的存储空 间浪费。
可选的,步骤205之后,释放该版本值对应的旧数据的存储空间,避免存储空间浪费。
进一步,参见图7,数据存储方法还可以包括如下流程:
步骤301:IP硬盘接收主机发送的读数据请求,读数据请求中包含目标数据对应的主键值及目标数据对应的版本值;
步骤302:根据该主键值及该版本值确定出位置信息;
步骤303:读取该位置信息对应的存储空间中存储的目标数据。
具体的,用户在读取之前写入的数据时需要向主机输入目标数据的文件名以及表明要读取哪个版本的数据的信息,主机查询本地元数据或者同时向IP硬盘请求元数据,确定出目标数据对应的主键值以及版本值。
而IP硬盘保存的元数据保存有:数据对应的主键值、数据对应的版本值、用于存储数据的存储空间的位置信息三者的对应关系。步骤302中,IP硬盘中的处理器根据读数据请求中的主键值、版本值以及IP硬盘中元数据的上述对应关系即可确定出一位置信息,该位置信息即待读取的目标数据在IP硬盘中存储空间的位置信息。步骤303中,根据该位置信息定位出数据,即为目标数据,向主机返回目标数据,实现目标数据的读取。
上述技术方案中,能够在一个主键值对应有多个数据的情况下,准确、便捷地读取用户需要的数据。
进一步,参见图8,数据存储方法还可以包括如下流程:
步骤401:IP硬盘接收主机发送的读数据请求,读数据请求包含目标数据对应的主键值;
步骤402:确定该主键值对应的版本值集合中版本最高的版本值是目标数据对应的版本值;
步骤403:获得版本值对应的位置信息;
步骤404:读取位置信息对应的存储空间中存储的目标数据。
具体的,本方法与图7对应的方法的区别在于:实际情况中,用户可能没有输入要读取那个版本的数据的相关信息,主机发送给IP硬盘的读数据请求中不包含目标数据的版本值,IP硬盘在接收到这一类的读取数据请求时,默认要读取该主键值对应的版本值集合中版本最高的版本值对应的数据,向主机返回该版本最高的版本值对应的数据。
实施过程中,可根据主键-版本-数据结构中版本值自身的属性来确定出版本最高的版本值。例如,在版本值为不断累加的数字序列时,对应数值最大的数字序列即为版本值(比如,在版本值集合中只有1.1和1.2这两个版本值时,可确定版本值1.2为最高版本);而在版本值为时间戳或者包含时间戳的信息时,可以确定出对应最晚时间的版本值为版本最高的版本值。
上述技术方案中,IP硬盘能够在接收到不包含版本信息的读数据请求时返回目标数据的主键值对应的版本最高的版本值对应的数据,便于用户通过快捷便利地读取数据。
进一步,参见图9,数据存储方法还可以包括如下流程:
步骤501:IP硬盘接收主机发送的删除数据请求,删除数据请求包含目标数据对应的主键值及目标数据对应的版本值;
步骤502:从该主键值对应的版本值集合中删除目标数据对应的版本值。
具体的,用户在删除数据时向主机输入目标数据对应的文件名及表明要删除哪个版本的文件的信息。主机查询本地元数据或者同时向IP硬盘请求元数据,确定出目标数据对应的主键值以及版本值。
IP硬盘在接收到删除数据请求后,从目标数据对应的主键值对应的版本值集合中删除目标数据对应的版本值,在删除该版本值之后,与该主键值对应的数据中已经不包含目标数据,进而实现快速、准确地删除主键值对应的一个版本数据。
可选的,步骤501之后,数据存储方法还可以包括如下步骤:
步骤503:删除版本值对应的位置信息对应的存储空间中存储的目标数据。
具体的,还可以删除IP硬盘中与目标数据对应的版本值对应的数据,从物理层面上彻底删除待删除的数据,提高存储空间的效用。其中,步骤503可以与步骤502同时进行,也可以在步骤502之前进行;在保存了目标数据对应的版本值中的位置信息之后,步骤503也可以在步骤502之后进行。
可选的,在步骤502之后,数据存储方法还可以包括如下步骤:
步骤504:判断该主键值对应的版本值集合中是否还存在除目标数据对应的版本值之外的其它版本值;若不存在,则执行步骤505;
步骤505:从IP硬盘中删除该主键值。
具体的,在将版本值删除之后,控制器将判断该主键值对应的版本值集合中是否还存在其他的版本值,如果还存在,则结束进程。如果不存在其他版本值了,表明已经没有数据与该主键值相对应,该主键值已经没有存在的必要,此时可以删除该主键值,提高存储主键值的索引区的存储空间的效用。
本申请实施例中,IP硬盘中存储的元数据可以是以列表或数据库的形式,列表或数据库中保存有主键值、版本值、数据的存储空间的位置信息三者的对应关系。另外,IP硬盘中存储的元数据也可以是IP硬盘索引区中保存的主键值与版本值的形式存在,其中,每一个主键值中包含于主键值对应的每一个版本值的信息(可以是版本值的地址信息、版本名,等等),通过该信息可以获知主键值对应有哪些版本值,而每一个版本值中包含有位置信息,该位置信息用于表征一项数据在IP硬盘中的存储空间的位置。
基于相同的发明构思,本申请实施例提供了一种存储装置,参见图10,存储装置包括总线600,以及连接到总线600的控制器601、存储单元602、接口603。
其中,存储单元602用于利用非易失性存储介质来存储数据;接口603,用于利用网络互联协议接收写数据请求,写数据请求中包含目标数据、目标数据对应的主键值及目标数据对应的版本值。本申请实施例中接口603可以是独立的通信模块,也可以是控制器601提供的通信接口。
而控制器601用于:判断目标数据对应的主键值是否保存在IP硬盘中;如果是,则判断该主键值对应的版本值集合中是否包含目标数据对应的版本值;当版本值集合中不包含版本值时,将目标数据写入IP硬盘。
可选的,控制器601还用于:在将目标数据写入存储单元之后,将目标数据对应的版本值写入版本值集合中。
可选的,控制器601还用于:当版本值集合中包含目标数据对应的版本值时,获得该版本值对应的位置信息,该位置信息包括目标数据对应的版本值对应的旧数据存储在存储单元中的地址;并将目标数据写入地址对应的存储空间中。
可选的,控制器还用于:当版本值集合中包含目标数据对应的版本值时,在存储单元中确定空闲的存储空间,将目标数据写入空闲的存储空间中;并将目标数据对应的版本值对应的位置信息修改为该空闲的存储空间的地址。
可选的,接口603还用于:接收读数据请求,该读数据请求中包含主键值及版本值;
控制器601还用于:根据主键值及版本值确定出位置信息;读取位置信息对应的存储空间中存储的目标数据。
可选的,接口603还用于:接收读数据请求,读数据请求包含主键值;
控制器601还用于:确定主键值对应的版本值集合中版本最高的版本值是版本值;获得版本值对应的位置信息;读取位置信息对应的存储空间中存储的目标数据。
可选的,接口603还用于:接收删除数据请求,删除数据请求包含主键值及版本值;
控制器601还用于:从目标数据对应的主键值对应的版本值集合中删除版本值。
可选的,控制器601还用于:删除版本值对应的位置信息对应的存储空间中存储的目标数据。
可选的,控制器601还用于:判断目标数据对应的主键值对应的版本值集合中是否还存在除该版本值之外的其它版本值;若不存在,则从IP硬盘中删除主键值。
前述实施例中的数据存储方法中的各种数据存储方式和具体实例同样适用于本实施例的存储装置,通过前述实施例中对数据存储方法的详细描述,本领域技术人员可以清楚的知道本实施例中存储装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于相同的发明构思,本申请实施例还提供了一种存储系统,参见图11,该系统包括主机701和存储装置702。
其中,存储装置702为前述包括总线600、控制器601、存储单元602、接口603的存储装置。
而主机701用于:根据用户输入信息生成数据处理请求,并向存储装置702发送数据处理请求,数据处理请求包括写数据请求、读数据请求、删除数据请求。
可选的,主机701具体用于根据主机701中存储的元数据确定数据处理请求中包含的目标数据对应的主键值。
可选的,主机701还用于根据主机701中存储的元数据确定数据处理请求中包含的目标数据对应的版本值。
可选的,主机701还用于向存储装置发送查询指令,查询指令用于使存储装置根据保存的元数据确定数据处理请求中包含的目标数据对应的版本值。
可选的,主机701向存储装置发送的查询指令用于使存储装置返回目标数据对应的主键值对应的版本信息;主机701还用于根据存储装置返回的版本信息确定目标数据对应的版本值。
较佳的,主机701包括:总线及连接到总线的处理器、随机存储器、只读存储器、输入设备、输出设备、收发器。其中,处理器通过总线分别耦接随机存取存储器、只读存储器、输入设备、输出设备以及收发器。当需要运行主机 701时,通过固化在只读存储器中的基本输入输出系统引导系统进行启动,引导主机701进入正常运行状态。而在主机701进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统。
输入设备用于获取用户输入信息,例如触摸屏、键盘,等等。输出设备用于向用户输出信息,例如显示器、扬声器,等等。而收发器用于与存储装置702进行通信。
前述实施例中的数据存储方法中的各种数据存储方式和具体实例同样适用于本实施例的存储系统,通过前述实施例中对数据存储方法的详细描述,本领域技术人员可以清楚的知道本实施例中存储系统的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,IP硬盘接收所述主机发送的写数据请求,所述写数据请求中包含目标数据、所述目标数据对应的主键值及所述目标数据对应的版本值;判断所述主键值是否保存在所述IP硬盘中;如果是,则判断所述主键值对应的版本值集合中是否包含所述版本值;当所述版本值集合中不包含所述版本值时,则将所述目标数据写入所述IP硬盘。由此可见,在本发明实施例中,所述主键值可以对应多个版本值,在执行写数据请求时,如果目标数据对应的主键值对应的版本值集合中不包含目标数据对应的版本值,则在保留该主键值原对应版本的数据的情况下,存储所述目标数据,使得该主键值能够对应多个版本的数据,便于查看历史版本的数据以及执行数据回退。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (23)

  1. 一种数据存储方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括主机和网络互联协议IP硬盘,所述方法包括:
    所述IP硬盘接收所述主机发送的写数据请求,所述写数据请求中包含目标数据、所述目标数据对应的主键值及所述目标数据对应的版本值;
    判断所述主键值是否保存在所述IP硬盘中;
    如果是,则判断所述主键值对应的版本值集合中是否包含所述版本值;
    当所述版本值集合中不包含所述版本值时,则将所述目标数据写入所述IP硬盘。
  2. 根据权利要求1所述的方法,其特征在于,将所述目标数据写入所述IP硬盘之后,所述方法还包括:将所述版本值写入所述版本值集合中。
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当所述版本值集合中包含所述版本值时,获得所述版本值对应的位置信息,所述位置信息包括所述版本值对应的旧数据存储在所述IP硬盘中的地址;
    将所述目标数据写入所述地址对应的存储空间中。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当所述版本值集合中包含所述版本值时,在所述IP硬盘中确定空闲的存储空间,将所述目标数据写入所述空闲的存储空间中;
    将所述版本值对应的位置信息修改为所述空闲的存储空间的地址。
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:所述写数据请求中的所述版本值是由所述主机根据在元数据中查询的所述主键值的版本信息获得的。
  6. 根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
    所述IP硬盘接收所述主机发送的读数据请求,所述读数据请求中包含所述主键值及所述版本值;
    根据所述主键值及所述版本值确定出所述位置信息;
    读取所述位置信息对应的存储空间中存储的所述目标数据。
  7. 根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
    所述IP硬盘接收所述主机发送的读数据请求,所述读数据请求包含所述主键值;
    确定所述主键值对应的版本值集合中版本最高的版本值是所述版本值;
    获得所述版本值对应的位置信息;
    读取所述位置信息对应的存储空间中存储的所述目标数据。
  8. 根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
    所述IP硬盘接收所述主机发送的删除数据请求,所述删除数据请求包含所述主键值及所述版本值;
    从所述主键值对应的版本值集合中删除所述版本值。
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
    删除所述版本值对应的位置信息对应的存储空间中存储的所述目标数据。
  10. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
    判断所述主键值对应的版本值集合中是否还存在除所述版本值之外的其它版本值;
    若不存在,则从所述IP硬盘中删除所述主键值。
  11. 一种存储装置,其特征在于,包括:
    存储单元,用于利用非易失性存储介质来存储数据;
    接口,用于利用网络互联协议接收写数据请求,所述写数据请求中包含目标数据、所述目标数据对应的主键值及所述目标数据对应的版本值;
    控制器,用于判断所述主键值是否保存在所述IP硬盘中;如果是,则判断所述主键值对应的版本值集合中是否包含所述版本值;当所述版本值集合中不包含所述版本值时,将所述目标数据写入所述IP硬盘。
  12. 根据权利要求11所述的装置,其特征在于,所述控制器还用于:在将所述目标数据写入所述存储单元之后,将所述版本值写入所述版本值集合 中。
  13. 根据权利要求11所述的装置,其特征在于,所述控制器还用于:当所述版本值集合中包含所述版本值时,获得所述版本值对应的位置信息,所述位置信息包括所述版本值对应的旧数据存储在所述存储单元中的地址;并将所述目标数据写入所述地址对应的存储空间中。
  14. 根据权利要求11所述的装置,其特征在于,所述控制器还用于:当所述版本值集合中包含所述版本值时,在所述存储单元中确定空闲的存储空间,将所述目标数据写入所述空闲的存储空间中;并将所述版本值对应的位置信息修改为所述空闲的存储空间的地址。
  15. 根据权利要求13或14所述的装置,其特征在于,所述接口还用于:接收读数据请求,所述读数据请求中包含所述主键值及所述版本值;
    所述控制器还用于:根据所述主键值及所述版本值确定出所述位置信息;读取所述位置信息对应的存储空间中存储的所述目标数据。
  16. 根据权利要求13或14所述的装置,其特征在于,所述接口还用于:接收读数据请求,所述读数据请求包含所述主键值;
    所述控制器还用于:确定所述主键值对应的版本值集合中版本最高的版本值是所述版本值;获得所述版本值对应的位置信息;读取所述位置信息对应的存储空间中存储的所述目标数据。
  17. 根据权利要求13或14所述的装置,其特征在于,所述接口还用于:接收删除数据请求,所述删除数据请求包含所述主键值及所述版本值;
    所述控制器还用于:从所述主键值对应的版本值集合中删除所述版本值。
  18. 根据权利要求17所述的装置,其特征在于,所述控制器还用于:删除所述版本值对应的位置信息对应的存储空间中存储的所述目标数据。
  19. 根据权利要求17所述的装置,其特征在于,所述控制器还用于:判断所述主键值对应的版本值集合中是否还存在除所述版本值之外的其它版本值;若不存在,则从所述IP硬盘中删除所述主键值。
  20. 一种存储系统,其特征在于,包括:
    根据权利要求11-19中任一权利要求所述的存储装置;
    主机,用于根据用户输入信息生成数据处理请求,并向所述存储装置发送所述数据处理请求,所述数据处理请求包括写数据请求、读数据请求、删除数据请求。
  21. 根据权利要求20所述的系统,其特征在于,所述主机具体用于根据所述主机中存储的元数据确定所述数据处理请求中包含的目标数据对应的主键值。
  22. 根据权利要求21所述的系统,其特征在于,所述主机还用于根据所述主机中存储的元数据确定所述数据处理请求中包含的目标数据对应的版本值。
  23. 根据权利要求20所述的系统,其特征在于,所述主机还用于向所述存储装置发送查询指令,所述查询指令用于使所述存储装置根据保存的元数据确定所述数据处理请求中包含的目标数据对应的版本值。
PCT/CN2015/083767 2014-09-30 2015-07-10 一种数据存储方法、存储装置及存储系统 WO2016050112A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410526359.2A CN104238963B (zh) 2014-09-30 2014-09-30 一种数据存储方法、存储装置及存储系统
CN201410526359.2 2014-09-30

Publications (1)

Publication Number Publication Date
WO2016050112A1 true WO2016050112A1 (zh) 2016-04-07

Family

ID=52227130

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/083767 WO2016050112A1 (zh) 2014-09-30 2015-07-10 一种数据存储方法、存储装置及存储系统

Country Status (2)

Country Link
CN (1) CN104238963B (zh)
WO (1) WO2016050112A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190087130A1 (en) * 2017-09-20 2019-03-21 Samsung Electronics Co., Ltd. Key-value storage device supporting snapshot function and operating method thereof
CN109582666A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 数据主键生成方法、装置、电子设备及存储介质
CN110147359A (zh) * 2017-12-13 2019-08-20 北京奇虎科技有限公司 一种增量生成方法、装置以及一种数据更新方法、装置
CN110968750A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种数据存储方法和系统
CN111182014A (zh) * 2018-11-09 2020-05-19 北京华为数字技术有限公司 一种数据同步方法和装置
CN113792031A (zh) * 2021-10-11 2021-12-14 小红书科技有限公司 键值对数据的处理方法、系统、设备和介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104238963B (zh) * 2014-09-30 2017-08-11 华为技术有限公司 一种数据存储方法、存储装置及存储系统
CN106681995B (zh) * 2015-11-05 2020-08-18 菜鸟智能物流控股有限公司 数据缓存方法、数据查询方法及装置
CN105354311B (zh) * 2015-11-10 2018-06-19 科大智能电气技术有限公司 一种基于嵌入式设备文件系统的数据键值对存储方法
CN105468300B (zh) * 2015-11-20 2018-08-14 华为技术有限公司 Ip硬盘的管理方法和装置
EP3916536A1 (en) 2015-12-28 2021-12-01 Huawei Technologies Co., Ltd. Data processing method and nvme storage device
CN107180036A (zh) * 2016-03-09 2017-09-19 阿里巴巴集团控股有限公司 一种数据读取方法和装置
CN107229415B (zh) * 2016-03-24 2020-06-02 华为技术有限公司 一种数据写方法、数据读方法及相关设备、系统
CN109710190B (zh) * 2018-12-26 2022-03-08 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
CN109684307B (zh) 2018-12-26 2021-06-22 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
CN110096505B (zh) * 2019-03-31 2021-05-11 杭州复杂美科技有限公司 一种数据存储方法和系统、设备及存储介质
US11907565B2 (en) * 2020-04-14 2024-02-20 International Business Machines Corporation Storing write data in a storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1664793A (zh) * 2005-03-11 2005-09-07 清华大学 基于元数据服务器的存储虚拟化管理方法
CN101546601A (zh) * 2009-05-13 2009-09-30 杭州华三通信技术有限公司 固态硬盘及存储系统
CN103714163A (zh) * 2013-12-30 2014-04-09 中国科学院信息工程研究所 一种NoSQL数据库的模式管理方法及系统
CN104238963A (zh) * 2014-09-30 2014-12-24 华为技术有限公司 一种数据存储方法、存储装置及存储系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078570B2 (en) * 2009-05-01 2011-12-13 International Business Machines Corporation Versioning data warehouses
CN102833273B (zh) * 2011-06-13 2017-11-03 中兴通讯股份有限公司 临时故障时的数据修复方法及分布式缓存系统
US8799228B2 (en) * 2011-06-29 2014-08-05 Nokia Corporation Method and apparatus for providing a list-based interface to key-value stores
CN102693312B (zh) * 2012-05-28 2014-05-28 清华大学 一种键值库数据存储中柔性事务管理方法
CN103902230A (zh) * 2012-12-27 2014-07-02 中国移动通信集团公司 一种数据处理方法、设备和系统
CN103559139B (zh) * 2013-10-23 2016-08-17 华为技术有限公司 一种数据存储方法及装置
CN103984640B (zh) * 2014-05-14 2017-06-20 华为技术有限公司 实现数据预取方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1664793A (zh) * 2005-03-11 2005-09-07 清华大学 基于元数据服务器的存储虚拟化管理方法
CN101546601A (zh) * 2009-05-13 2009-09-30 杭州华三通信技术有限公司 固态硬盘及存储系统
CN103714163A (zh) * 2013-12-30 2014-04-09 中国科学院信息工程研究所 一种NoSQL数据库的模式管理方法及系统
CN104238963A (zh) * 2014-09-30 2014-12-24 华为技术有限公司 一种数据存储方法、存储装置及存储系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102406666B1 (ko) 2017-09-20 2022-06-08 삼성전자주식회사 스냅샷 기능을 지원하는 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법
CN109521948A (zh) * 2017-09-20 2019-03-26 三星电子株式会社 支持快照功能的键值存储设备及其操作方法
KR20190032903A (ko) * 2017-09-20 2019-03-28 삼성전자주식회사 스냅샷 기능을 지원하는 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법
US20190087130A1 (en) * 2017-09-20 2019-03-21 Samsung Electronics Co., Ltd. Key-value storage device supporting snapshot function and operating method thereof
US10891074B2 (en) * 2017-09-20 2021-01-12 Samsung Electronics Co., Ltd. Key-value storage device supporting snapshot function and operating method thereof
CN109521948B (zh) * 2017-09-20 2023-08-15 三星电子株式会社 支持快照功能的键值存储设备及其操作方法
CN110147359A (zh) * 2017-12-13 2019-08-20 北京奇虎科技有限公司 一种增量生成方法、装置以及一种数据更新方法、装置
CN109582666A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 数据主键生成方法、装置、电子设备及存储介质
CN110968750A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种数据存储方法和系统
CN111182014A (zh) * 2018-11-09 2020-05-19 北京华为数字技术有限公司 一种数据同步方法和装置
CN111182014B (zh) * 2018-11-09 2022-04-26 北京华为数字技术有限公司 一种数据同步方法和装置
CN113792031A (zh) * 2021-10-11 2021-12-14 小红书科技有限公司 键值对数据的处理方法、系统、设备和介质
CN113792031B (zh) * 2021-10-11 2024-02-13 小红书科技有限公司 键值对数据的处理方法、系统、设备和介质

Also Published As

Publication number Publication date
CN104238963A (zh) 2014-12-24
CN104238963B (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
WO2016050112A1 (zh) 一种数据存储方法、存储装置及存储系统
US11799959B2 (en) Data processing method, apparatus, and system
CN108021336B (zh) 用于无缝数据迁移的数据布局方法、系统和存储介质
JP7090606B2 (ja) データベース・システムにおけるテスト・データの形成及び動作
US9235589B2 (en) Optimizing storage allocation in a virtual desktop environment
WO2018113580A1 (zh) 一种数据管理方法及服务器
JP2014513338A5 (ja) 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム
US10007548B2 (en) Transaction system
EP3669262B1 (en) Thin provisioning virtual desktop infrastructure virtual machines in cloud environments without thin clone support
JP2015510174A (ja) ロケーション非依存のファイル
CN108573019B (zh) 一种数据迁移方法、装置、电子设备及可读存储介质
US20130275369A1 (en) Data record collapse and split functionality
WO2014089828A1 (zh) 访问存储设备的方法和存储设备
WO2022095366A1 (zh) 基于Redis的数据读取方法、装置、设备及可读存储介质
WO2019076102A1 (zh) 一种数据回滚方法、系统、设备及计算机可读存储介质
US8903804B2 (en) Data existence judging device and data existence judging method
KR20210076828A (ko) 키-값 장치 및 이의 블록 인터페이스 에뮬레이션 방법
WO2015154425A1 (zh) 磁盘数据保护方法及装置
US20210149870A1 (en) Method, apparatus, and computer program product for improved tracking of state data
US11256434B2 (en) Data de-duplication
WO2021022274A1 (en) Deduplication based on consolidation of data fingerprints
WO2022223038A1 (zh) 一种键名称生成方法、装置和计算机可读存储介质
US10268411B1 (en) Policy and heuristic based conversion of write-optimized virtual disk format into read-optimized virtual disk format
WO2015162717A1 (ja) 計算機
JP5525740B2 (ja) 仮想アプライアンスサーバ管理方法及びシステム

Legal Events

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

Ref document number: 15846256

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15846256

Country of ref document: EP

Kind code of ref document: A1