WO2019219059A1 - Method, apparatus and system for storing data, and method for reading data, apparatus, and system - Google Patents
Method, apparatus and system for storing data, and method for reading data, apparatus, and system Download PDFInfo
- Publication number
- WO2019219059A1 WO2019219059A1 PCT/CN2019/087232 CN2019087232W WO2019219059A1 WO 2019219059 A1 WO2019219059 A1 WO 2019219059A1 CN 2019087232 W CN2019087232 W CN 2019087232W WO 2019219059 A1 WO2019219059 A1 WO 2019219059A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage
- volume
- data
- block
- identifier
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Definitions
- the present application relates to the field of communications, and in particular, to a method for storing data, a method, device, and system for reading data.
- the camera device In the field of monitoring, the camera device is used to capture video data, and the video data captured by the camera device needs to be saved, so that the video data captured by the camera device can be queried in a later period. At present, the camera device transmits the captured video data to the network side after capturing the video data.
- a management server and multiple storage servers can be deployed in advance, and a large-capacity disk is deployed in each storage server.
- the management server selects a storage server from the plurality of storage servers, and stores the video data in the selected disk of the storage server.
- the video data Since the reliability of the storage server is not high, the video data is stored on the storage server, resulting in low reliability of data storage.
- the embodiment of the present application provides a method for storing data, a method, device, and system for reading data.
- the technical solution is as follows:
- an embodiment of the present application provides a method for storing data, where the method includes:
- the first storage device determines a target virtual storage volume for storing data to be stored, and determines a target storage block from the target virtual storage volume;
- the first storage device applies at least one data object included in the target storage block in an object storage platform
- the first storage device correspondingly saves a correspondence between the device identifier and the first index information in the management device, where the first index information includes at least a volume identifier of the target virtual storage volume, and the target storage block. a block identifier, a data identifier of the data to be stored, a first data start location of the data to be stored, and a first data length of the data to be stored;
- the first storage device stores second index information in an index block object corresponding to the target storage block in the object storage platform, where the second index information includes at least the first data start position.
- the determining a target virtual storage volume for storing data to be stored, and determining a target storage block from the target virtual storage volume includes:
- a free memory block is selected from the target virtual storage volume as a target storage block according to the block bitmap object.
- the method further includes:
- an identification bit of the target storage block is set to identify that the target storage block has been used.
- the method further includes:
- the creating, by the object storage platform, the first virtual storage volume for the first storage device includes:
- the boot block object is configured to store volume basic information, where the volume basic information includes at least a capacity of the first virtual storage volume, a number of storage blocks, and a device identifier of the first storage device;
- An object is configured to store an identifier bit of each of the first virtual storage volumes, where an identifier of the storage block is used to identify whether the storage block is idle;
- an index object of the storage block is used to store third index information.
- the third index information includes at least the number of data objects in the storage block.
- the method further includes:
- the storage volume list object is used to store a volume identifier of at least one virtual storage volume corresponding to the first storage device.
- the at least one virtual storage volume corresponding to the first storage device is loaded into the first storage device according to the storage volume list object corresponding to the first storage device in the object storage platform.
- a volume identifier of the second virtual storage volume Downloading, according to a volume identifier of the second virtual storage volume, a boot block object of the second virtual storage volume from the object storage platform, where a volume identifier of the second virtual storage volume is any one of the storage volume list objects
- the method further includes:
- the first storage device takes over the third virtual storage volume according to the volume identifier of the third virtual storage volume, where the third virtual storage volume is a virtual storage volume corresponding to the second storage device, and the second storage device is Other storage devices than the first storage device.
- the taking over the third virtual storage volume according to the volume identifier of the third virtual storage volume includes:
- the device identifier of the second storage device Updating, according to the volume identifier of the third virtual storage volume, the device identifier of the second storage device saved in the startup block object of the third virtual storage volume to the device identifier of the first storage device;
- the present application provides a method of reading data, the method comprising:
- a read request message including location information, where the location information includes a second data start location of the data to be read, a second data length, a volume identifier of the target storage volume where the data to be read is located, and a target The block identifier of the storage block;
- the reading the data to be read from the target storage block in the object storage platform according to the location information including:
- an index object of the target storage block from an object storage platform according to a volume identifier of the target storage volume and a block identifier of the target storage block, where the index object includes a data stored in the target storage block a data starting position;
- the present application provides an apparatus for storing data, the apparatus comprising:
- a determining module configured to determine a target virtual storage volume for storing data to be stored, and determining a target storage block from the target virtual storage volume
- An application module configured to apply, in an object storage platform, at least one data object included in the target storage block;
- a storage module configured to store the to-be-stored data in the at least one data object, and correspondingly store a correspondence between the device identifier of the device and the first index information, where the first index information is And including at least a volume identifier of the target virtual storage volume, a block identifier of the target storage block, a data identifier of the data to be stored, a first data start location of the data to be stored, and a first to be stored data a data length; storing, in the index block object corresponding to the target storage block in the object storage platform, second index information, where the second index information includes at least the first data start position.
- the determining module includes:
- a first selection unit configured to select one virtual storage volume from the at least one virtual storage volume corresponding to the device as the target virtual storage volume
- An obtaining unit configured to acquire, from the object storage platform, a block bitmap object of the target virtual storage volume, where the block bitmap object is used to store an identifier bit of each storage block in the target virtual storage volume, and a storage block The flag bit is used to record whether the memory block is idle;
- a second selecting unit configured to select, from the target virtual storage volume, a free storage block as the target storage block according to the block bitmap object.
- the device further includes:
- a setting unit configured to set, in a block bitmap object of the target virtual storage volume, an identification bit of the target storage block to identify that the target storage block has been used.
- the device further includes:
- a module is created for creating a first virtual storage volume for the device in the object storage platform.
- the creating module includes:
- a generating unit configured to generate a volume identifier of the first virtual storage volume
- a first adding unit configured to add a volume identifier of the first virtual storage volume to a storage volume list object corresponding to the device located in the object storage platform;
- An application unit configured to apply, in the object storage platform, a boot block object of the first virtual storage volume, a block bitmap object, and an index object of each of the first virtual storage volumes;
- the boot block object is configured to store volume basic information, where the volume basic information includes at least a capacity of the first virtual storage volume, a number of storage blocks, and a device identifier of the device; the block bitmap object is used for And storing an identifier bit of each of the first virtual storage volumes, where an identifier of the storage block is used to identify whether the storage block is idle; an index object of the storage block is configured to store third index information, The third index information includes at least the number of data objects in the storage block.
- the device further includes:
- a loading module configured to load at least one virtual storage volume corresponding to the device into the device according to a storage volume list object corresponding to the device in the object storage platform when the device is started,
- the storage volume list object is used to store a volume identifier of at least one virtual storage volume corresponding to the device.
- the loading module includes:
- a downloading unit configured to download, from the object storage platform, a storage volume list object corresponding to the device, and downloading, according to a volume identifier of the second virtual storage volume, the startup of the second virtual storage volume from the object storage platform a volume identifier, where a volume identifier of the second virtual storage volume is a volume identifier of any one of the storage volume list objects;
- a second adding unit configured to add a volume identifier of the second virtual storage volume to the device when the boot block object stores the device identifier of the device.
- the device further includes:
- a takeover module configured to take over the third virtual storage volume according to the volume identifier of the third virtual storage volume, where the third virtual storage volume is a virtual storage volume corresponding to the second storage device, and the second storage device is Other storage devices than the device.
- the takeover module includes:
- a receiving unit configured to receive a takeover request message, where the takeover request message carries a volume identifier of the third virtual storage volume
- An update unit configured to update, according to the volume identifier of the third virtual storage volume, a device identifier of the second storage device saved in the startup block object of the third virtual storage volume to a device identifier of the device;
- a third adding unit configured to separately add volume identifiers of the third virtual storage volume to the storage volume list object corresponding to the device and the device.
- the present application provides an apparatus for reading data, the apparatus comprising:
- a receiving module configured to receive a read request message including location information, where the location information includes a second data start location of the data to be read, a second data length, and a volume of the target storage volume where the data to be read is located The identifier of the block and the block of the target storage block;
- a reading module configured to read the data to be read from the target storage block in the object storage platform according to the location information.
- the reading module includes:
- An obtaining unit configured to acquire an index object of the target storage block from an object storage platform according to a volume identifier of the target storage volume and a block identifier of the target storage block, where the index object includes the target storage block The first data start position of the stored data;
- a determining unit configured to determine, according to the first data start location and the second data start location, a target data object for storing the data to be read and the data to be read in the target data The offset in the object;
- a reading unit configured to read the data to be read from the target data object according to the offset and the second data length.
- the embodiment of the present application provides a system for storing data, where the system includes: a storage device, an object storage platform, and a management device;
- the storage device is configured to determine a target virtual storage volume for storing data to be stored, and determine a target storage block from the target virtual storage volume; and apply at least the target storage block included in the object storage platform a data object; storing the data to be stored in the at least one data object; correspondingly storing a correspondence between the device identifier of the storage device and the first index information in the management device, the first
- the index information includes at least a volume identifier of the target virtual storage volume, a block identifier of the target storage block, a data identifier of the data to be stored, a first data start location of the data to be stored, and the to-be-stored data
- the first data length is stored in the index block object corresponding to the target storage block in the object storage platform, and the second index information includes at least the first data start position.
- the embodiment of the present application provides a system for reading data, where the system includes: a storage device, a management device, and an object storage platform;
- the storage device is configured to receive a read request message that includes the location information that is sent by the management device, where the location information includes a second data start location of the data to be read, a second data length, and the to-be-read
- the first storage device determines a target virtual storage volume for storing data to be stored, and determines a target storage block from the target virtual storage volume; applies at least one data object included in the target storage block in the object storage platform; and the data to be stored Stored in at least one data object. Moreover, since the reliability of the storage data of the object storage platform is high, the reliability of the data storage is improved.
- 1-1 is a schematic diagram of a network architecture provided by an embodiment of the present application.
- 1-2 is a schematic diagram of a storage structure provided by an embodiment of the present application.
- FIG. 2 is a flowchart of a method for creating a virtual storage volume according to an embodiment of the present application
- FIG. 3 is a flowchart of a method for loading a virtual storage volume according to an embodiment of the present application
- FIG. 4 is a flowchart of a method for taking over a virtual storage volume according to an embodiment of the present application
- FIG. 5 is a flowchart of a method for storing data according to an embodiment of the present application.
- FIG. 6 is a flowchart of a method for reading data according to an embodiment of the present application.
- FIG. 7 is a schematic structural diagram of an apparatus for storing data according to an embodiment of the present disclosure.
- FIG. 8 is a schematic structural diagram of an apparatus for reading data according to an embodiment of the present disclosure.
- FIG. 9 is a schematic structural diagram of a system for storing data according to an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of a system for reading data according to an embodiment of the present disclosure.
- FIG. 11 is a schematic structural diagram of a device according to an embodiment of the present application.
- an embodiment of the present application provides a network architecture, including:
- Management device 1, at least one storage device 2 and object storage platform 3;
- a network connection is established between the management device 1 and each of the at least one storage device 2, and a network connection is established between each storage device 2 and the object storage platform 3.
- the network connection can be a wired connection or a wireless connection.
- the object storage platform 3 stores data in a file storage manner.
- the storage unit in the object storage platform 3 is a data object, and one data object can be a file.
- the storage device 2 can call an object storage interface of the object storage platform 3, by which data can be read from the object storage platform 3, stored in or deleted from the object storage platform 3, and the like.
- the management device 1 may be a management server or a management terminal
- the storage device 2 may be a storage server or a storage terminal or the like.
- the storage device 2 corresponds to one storage volume list object and at least one virtual storage volume, and each virtual storage volume includes at least one storage block.
- the storage volume list object is a data object in the object storage platform 3 for storing the volume identifier of each virtual storage volume corresponding to the storage device 2.
- the virtual storage volume corresponds to a boot block object and a block bitmap object;
- the boot block object is a data object in the object storage platform 3, and is used to store volume basic information of the virtual storage volume.
- the volume basic information includes at least the capacity of the virtual storage volume, the number of storage blocks, and the device identification of the storage device 2.
- the block bitmap object is also a data object in the object storage platform 3, and is used for storing an identifier bit of each storage block included in the virtual storage volume, and the identifier bit of the storage block is used to identify whether the storage block is free.
- the storage block corresponds to an index object, and the storage block includes at least one data object.
- the index object corresponding to the storage block is a data object in the object storage platform 3, and is used for storing index information of the storage block; when the storage block does not store data, that is, when the storage block is idle, the index information is
- the third index information includes at least the number of data objects in the storage block.
- the index information includes second index information, and may further include third index information, where the second index information is at least Includes the starting position of the data.
- the embodiment of the present application provides a method for creating a virtual storage volume, which may be applied to the network architecture shown in FIG. 1-1, and the execution entity may be a storage device in the network architecture.
- the storage device is referred to as a first storage device, and the first storage device creates a first virtual storage volume for the storage device in the object storage platform.
- the creation process can be:
- Step 201 The first storage device generates a volume identifier of the first virtual storage volume.
- the first storage device may allocate a character string, and the device identifier of the first storage device and the string form a volume identifier of the first virtual storage volume.
- the first storage device may randomly assign a character string or sequentially assign a character string based on the last last allocated string. For the manner of sequential allocation, assuming that the last last allocated character string is OS 251, the character string sequentially allocated on the basis of the character string OS 251 is OS 252.
- the string may be suffixed and the device identifier of the first storage device is formed into a volume identifier of the first virtual storage volume; for example, if the device identifier of the first storage device is fall 613158, The assigned character string OS252 is suffixed, and the volume identifier of the first virtual storage volume constituting the device identifier of the first storage device is fall613158/OS252. or,
- the string may be prefixed with the device identifier of the first storage device to form a volume identifier of the first virtual storage volume; for example, the assigned string OS252 is prefixed, and The device identifier of a storage device constitutes the volume identifier of the first virtual storage volume as OS252/fall613158.
- the first storage device When the first storage device generates the volume identifier of the first virtual storage volume, it may ensure that the volume identifier of the first virtual storage volume is not the same as the volume identifier of the generated virtual storage volume. Therefore, in general, the first storage device may generate a volume identifier of the first virtual storage volume in a sequential allocation manner.
- the volume identifier of the first virtual storage volume may be added to the storage volume list object corresponding to the first storage device in the object storage platform, and the implementation process may be as follows. The operations of steps 202 to 204.
- Step 202 The first storage device determines whether there is a storage volume list object corresponding to the first storage device in the object storage platform. If not, step 203 is performed, and if yes, step 204 is performed.
- the storage volume list object corresponding to the first storage device is a data object in the object storage platform, and is used to store a volume identifier of at least one virtual storage volume belonging to the first storage device.
- the storage volume list object may include a storage volume list, and the volume identifier of the at least one virtual storage volume belonging to the first storage device may be stored in the storage volume list.
- the first storage device may acquire the object identifier of the storage volume list object according to the device identifier of the first storage device and the preset and the first preset character string, invoke the object storage interface, and invoke the object storage interface from the object.
- the storage platform queries the storage volume list object corresponding to the object identifier.
- the object storage platform Before the step of executing, if the first storage device has applied for the storage volume list object in the object storage platform, the object storage platform has an object identifier that is the same as the acquired object identifier, and the data object is the first storage.
- the first storage device may query, from the object storage platform, the obtained storage volume list object corresponding to the acquired object identifier.
- the object storage platform does not have the same data object as the obtained object identifier.
- the first storage device may not query the obtained storage volume list object corresponding to the object identifier from the object storage platform.
- the first storage device acquires an object identifier of the storage volume list object, and may be:
- the first storage device may form the first preset character string and the device identifier of the first storage device to form an object identifier of the storage volume list object.
- the first storage device may use the first preset character string as the prefix of the device identifier of the first storage device, and the device identifier of the first storage device to form the object identifier of the storage volume list object.
- the first preset character string is LIST
- the first preset character string LIST is used as a prefix
- the object identifier of the storage volume list object is formed by the device identifier fall 613158 of the first storage device as LIST_fall 613158. or,
- the first storage device may use the first preset character string as the suffix of the device identifier of the first storage device and the device identifier of the first storage device to form the object identifier of the storage volume list object.
- the first preset character string is LIST
- the first preset character string LIST is used as a suffix
- the object identifier of the storage volume list object is formed with the device identifier fall 613158 of the first storage device as fall613158/LIST.
- Step 203 The first storage device applies, in the object storage platform, a storage volume list object, where the storage volume list object is used to store the volume identifier of the first virtual storage volume, and step 205 is performed.
- the first storage device may invoke an object storage interface of the object storage platform, apply for a data object in the object storage platform, and set the object identifier of the data object to obtain the object identifier, and obtain the corresponding storage device.
- a volume list object is stored, and the volume identifier of the first virtual storage volume is stored in the storage volume list object.
- Step 204 The first storage device adds the volume identifier of the first virtual virtual volume to the storage volume list object in the object storage platform.
- the volume identifier of the first virtual storage volume may be added to the storage volume list object.
- the storage volume list object may include a storage volume list, and the volume identifier of the first virtual storage volume may be added to the storage volume list.
- the volume ID of the first virtual storage volume can be appended to the end of the list of storage volumes.
- the storage volume list object corresponding to the first storage device is substantially a file stored in the object storage platform.
- the storage volume list object is read from the object storage platform, and the volume identifier of the first virtual storage volume is added to the In the storage volume list object, the added storage volume list object is uploaded to the object storage platform, so that the object storage platform updates the storage volume list object corresponding to the first storage device saved by the object storage platform to the added storage volume list object.
- Step 205 The first storage device applies, in the object storage platform, a boot block object and a block bitmap object of the first virtual storage volume, and an index object of each storage block in the first virtual storage volume.
- the boot block object is configured to store volume basic information, where the volume basic information includes at least a capacity of the first virtual storage volume, a number of storage blocks, and a device identifier of the first storage device.
- the block bitmap object is used to store an identification bit of each storage block in the first virtual storage volume, and the identification bit of the storage block is used to identify whether the storage block is free.
- the index object of the storage block is used to store third index information, and the third index information includes at least the number of data objects in the storage block.
- the first storage device may set the capacity of the first virtual storage volume, the number of storage blocks M, and set the number N of data objects included in each storage block, and generate an object of the startup block object of the first virtual storage volume.
- the object identifier of the identifier and the block bitmap object, and the object identifier of the index object of each storage block applying the data object in the object storage platform, setting the object identifier of the data object to the object identifier of the startup block object, and obtaining the a boot block object of a virtual storage volume, storing basic information of the volume in the boot block object; applying a data object in the object storage platform, setting an object identifier of the data object to an object identifier of the block bitmap object, obtaining the first a block bitmap object of a virtual storage volume, where the M bitmap bits are stored in the block bitmap object, each identifier bit corresponding to a storage block in the first virtual storage volume, used to identify whether the storage block is idle; For each storage block, apply for a data object
- each storage block in the first virtual storage volume is idle, and the identification bits of the M storage blocks included in the block bitmap object of the first virtual storage volume, The identification bit of the memory block is used to identify that the memory block is free.
- the operation of generating the object identifier of the boot block object of the first virtual storage volume and the object identifier of the block bitmap object, and the object identifier of the index object of each storage block may be:
- the volume identifier of the first virtual storage volume and the second preset string are grouped into an object identifier of a boot block object of the first virtual storage volume.
- the object identifier of the startup block object of the first virtual storage volume composed may be fall613158/OS252/boot.
- the volume identifier of the first virtual storage volume and the third preset string are grouped into object identifiers of the block bitmap object of the first virtual storage volume.
- the object identifier of the block bitmap object of the first virtual storage volume composed may be fall613158/OS252/map.
- the volume identifier of the first virtual storage volume, the fourth preset character string, and the block number of the storage block in the first virtual storage volume constitute an object identifier of the index object of the storage block.
- the fourth preset character string is info and the block number of the storage block in the first virtual storage volume is 1, the object identifier of the index object of the storage block that is formed is fall613158/OS252/info/1.
- the volume identifier of the first virtual storage volume may also be added to the memory of the first storage device.
- the memory of the first storage device may include a storage volume linked list, where the storage volume linked list is used to store a volume identifier of each virtual storage volume corresponding to the first storage device.
- each node in the storage volume linked list is used to store a volume identifier of a virtual storage volume. Therefore, adding a node that stores the volume identifier of the first virtual storage volume to the storage volume linked list is implemented to add the volume identifier of the first virtual storage volume to the memory of the first storage device.
- the embodiment of the present application provides a method for loading a virtual storage volume.
- the method may be applied to a network architecture as shown in FIG. 1-1, and the execution entity may be a storage device in the network architecture.
- the storage device is referred to as a first storage device for convenience of description.
- the volume identifier of the virtual storage volume corresponding to the first storage device is loaded into the first storage device according to the storage volume list object of the first storage device in the object storage platform.
- the data saved in the memory of the first storage device may be lost when the first storage device is turned off, that is, the volume identifier of the virtual storage volume corresponding to the first storage device included in the memory of the first storage device may be lost.
- the volume identifier of the virtual storage volume corresponding to the first storage device needs to be saved to the memory of the first storage device.
- Loading the volume identifier of the virtual storage volume corresponding to the first storage device into the first storage device is: saving the volume identifier of the virtual storage volume corresponding to the first storage device to the memory of the first storage device. Referring to Figure 3, the loading process can be:
- Step 301 The first storage device downloads its corresponding storage volume list object from the object storage platform.
- the first storage device may obtain the object identifier of the storage volume list object, invoke the object storage interface, and download the storage volume list object corresponding to the object identifier from the object storage platform by using the invoked object storage interface.
- the first storage device may form the first preset character string and the device identifier of the first storage device to form an object identifier of the storage volume list object.
- the first storage device may use the first preset character string as a prefix of the device identifier of the first storage device and the device identifier of the first storage device to form an object identifier of the storage volume list object.
- the first preset character string is LIST
- the device identifier of the first storage device is fall 613158
- the first preset character string LIST is used as a prefix
- the device identifier fall 613158 of the first storage device constitutes an object identifier of the storage volume list object.
- LIST_fall613158 LIST_fall613158.
- the first storage device may use the first preset character string as a suffix of the device identifier of the first storage device and the device identifier of the first storage device to form an object identifier of the storage volume list object.
- the first preset character string is LIST
- the first preset character string LIST is used as a suffix
- the object identifier of the storage volume list object is formed with the device identifier fall 613158 of the first storage device as fall613158/LIST.
- Step 302 Download a boot block object of the second virtual storage volume from the object storage platform according to the volume identifier of the second virtual storage volume, where the volume identifier of the second virtual storage volume is any virtual storage volume in the storage volume list object. Volume identification.
- the object identifier of the startup block object of the second virtual storage volume is generated, and the object storage interface is invoked, and the startup block object corresponding to the object identifier is downloaded from the object storage platform through the object storage interface.
- the volume identifier of the second virtual storage volume and the second preset string may be formed into an object identifier of the startup block object of the second virtual storage volume. For example, suppose the second string boot is preset, the volume identifier of the second virtual storage volume is fall613158/OS252, and the object identifier of the startup block object of the composed second virtual storage volume may be fall613158/OS252/boot.
- Step 303 Add a volume identifier of the second virtual storage volume to the first storage device when the boot block object of the second virtual storage volume stores the device identifier of the first storage device.
- the volume basic information of the second virtual storage volume is stored in the startup block object of the second virtual storage volume, and the volume basic information includes at least the capacity of the second virtual storage volume, the number of storage blocks, and the device identifier of the storage device to which the storage device belongs.
- the memory of the first storage device may include a storage volume linked list, where the storage volume linked list is used to store a volume identifier of each virtual storage volume corresponding to the first storage device.
- a node storing the volume identifier of the second virtual storage volume is added to the storage volume linked list to implement the first
- the volume identifier of the second virtual storage volume is added to the memory of the first storage device.
- steps 302 and 303 above are performed on the volume identifier of each virtual storage volume in the storage volume list object, thereby loading the virtual storage volume of the first storage device into the first storage device.
- the embodiment of the present application provides a method for taking over a virtual storage volume.
- the method can be applied to the network architecture shown in FIG. 1-1, and the execution entity can be a storage device in the network architecture.
- the storage device is referred to as a first storage device, and the first storage device takes over the third virtual storage volume according to the volume identifier of the third virtual storage volume, and the third virtual storage volume is The virtual storage volume corresponding to the second storage device, and the second storage device is a storage device other than the first storage device.
- the takeover process can be:
- Step 401 The first storage device receives a takeover request message, where the takeover request message carries a volume identifier of the third virtual storage volume.
- the management device can send a takeover request message to the first storage device.
- the management device may schedule a storage device other than the second storage device to take over the virtual storage volume of the second storage device.
- the implementation process can be:
- the management device downloads the storage volume list object corresponding to the second storage device from the object storage platform, and determines the storage device to be taken over, which is referred to as the first storage device for convenience of description. Selecting, from the storage volume list object, a volume identifier of the virtual storage volume for the first storage device. To facilitate description of the volume identifier of the third virtual storage volume, a takeover request message is sent to the first storage device, where the takeover request message carries the Volume ID of the three virtual storage volumes.
- the management device further stores a correspondence between the device identifier and the first index information of the storage block, where the first index information of each storage block in the correspondence relationship is
- An index information includes at least a volume identifier of a storage volume in which the storage block is located, a block number of the storage block, a data identifier of data stored in the storage block, a start position and a data length of the data, and the like.
- each first index information including the volume identifier of the third virtual storage volume may also be obtained from the corresponding relationship, where the corresponding information is obtained.
- the device identifier of the storage device corresponding to each first index information is updated to the device identifier of the first storage device.
- the operation of the management device to download the storage volume list object corresponding to the second storage device may be: acquiring the device identifier of the second storage device, and setting the device identifier of the second storage device and the first preset character
- the string constitutes an object identifier of the storage volume list object of the second storage device; and the storage volume list object corresponding to the second storage device is downloaded from the object storage platform according to the object identifier.
- Step 402 The first storage device updates the device identifier of the second storage device saved in the startup block object of the third virtual storage volume to the device identifier of the first storage device according to the volume identifier of the third virtual storage volume.
- the first storage device may form a volume identifier of the third virtual storage volume and a second preset character string to form an object identifier of the startup block object, and download a startup block object of the third virtual storage volume from the object storage platform according to the object identifier; Modifying the device identifier of the second storage device saved in the boot block object to the device identifier of the first storage device; uploading the modified boot block object to the object storage platform, so that the third virtual storage volume to be saved by the object storage platform The startup block object is updated to the modified startup block object.
- Step 403 The first storage device adds the volume identifier of the third virtual storage volume to the storage volume list object corresponding to the first storage device in the memory of the first storage device.
- the first storage device may compose the device identifier and the first preset character string into an object identifier of the storage volume list object, and download the corresponding corresponding storage device from the object storage platform according to the object identifier. Storing a volume list object, adding a volume identifier of the third virtual storage volume to the storage volume list object; uploading the added storage volume list object to the object storage platform, so that the object storage platform stores the storage volume corresponding to the first storage device The list object is updated to the added storage volume list object.
- the first storage device may add a node that stores the volume identifier of the third virtual storage volume in the storage storage volume linked list thereof, and add the volume identifier of the third virtual storage volume to the first A memory device in memory.
- the first storage device when the second storage device is faulty or exits, the first storage device may be used to take over the third virtual storage volume corresponding to the second storage device, so that when the second storage device is faulty, A storage device reads the data in the third virtual storage volume, and the data cannot be read when the second storage device fails or exits, thereby improving the reliability of the data storage.
- an embodiment of the present application provides a method for storing data, where the method includes:
- Step 501 The first storage device determines a target virtual storage volume for storing data to be stored, and determines a target storage block from the target virtual storage volume.
- the data to be stored may be data buffered by the first storage device, and the cached data may be sent by the management device.
- the management device can receive data sent by the terminal device, and the terminal device can be an imaging device or the like, and the data can be image data captured by the imaging device.
- the management device determines a storage device for storing the data.
- the storage device is referred to as a first storage device, and the data is sent to the first storage device.
- the first storage device receives the data and caches the data in its buffer.
- the first storage device may reach a preset data volume threshold in the amount of data in the buffer, or the buffer occupancy rate reaches a preset occupancy threshold, or in its buffer cache.
- the method of the embodiment is started to store the data to be stored in the buffer into the object storage platform.
- the method in this embodiment is also started to store the data to be stored in the buffer into the object storage platform. That is, even if the amount of data in the buffer does not reach the preset data amount threshold, or if the buffer occupancy rate does not reach the preset occupancy threshold, or if its buffer is not buffered, etc., when in the buffer
- the method of the embodiment is started to store the data to be stored in the buffer into the object storage platform.
- the first storage device stores the data to be stored in the cache cache of the cache to the object storage platform, which can improve the reliability of the data storage.
- the target virtual storage volume may be determined through the following processes of 5011 to 5013, and the target storage block is determined, respectively:
- the volume identifier of the corresponding at least one virtual storage volume is stored in the memory of the first storage device.
- the first storage device determines each virtual storage volume corresponding to each virtual storage volume that is stored according to the volume identifier of each virtual storage volume that it stores, and selects one virtual storage volume from each corresponding virtual storage volume as the target virtual storage. volume.
- Block 5012 Download a block bitmap object of the target virtual storage volume from the object storage platform, where the block bitmap object is used to store an identifier bit of each storage block in the target virtual storage volume, and the storage block identifier bit is used for record storage. Whether the block is free.
- the volume identifier of the target virtual storage volume and the third preset string may be formed into an object identifier of the block bitmap object of the target virtual storage volume, and the object storage interface is invoked, and the object storage identifier is downloaded according to the object identifier.
- a block bitmap object for the target virtual storage volume may be formed into an object identifier of the block bitmap object of the target virtual storage volume, and the object storage interface is invoked, and the object storage identifier is downloaded according to the object identifier.
- the volume identifier of the target virtual storage volume is fall613158/OS252
- the third preset string is map
- the volume identifier fall613158/OS252 of the target virtual storage volume and the third preset string map are composed of the target virtual storage volume.
- the object identifier of the block bitmap object is fall613158/OS252/map.
- the object storage interface is called, and the block bitmap object of the target virtual storage volume is downloaded through the object storage interface according to the object identifier fall613158/OS252/map.
- the block bitmap object is used to store the identification bits corresponding to each of the storage blocks in the target virtual storage volume.
- the storage bits of each storage block in the block bitmap object are stored in the same order as each storage block in the target virtual storage volume.
- the identification bit of the storage block is used to identify whether the storage block is free. In a possible implementation manner, when the identifier bit is a value of 1, it may indicate that the storage block is idle; when the identifier bit is a value of 0, it may indicate that the storage block has been used.
- the block bitmap object stores 0001111, it means that the first storage block, the second storage block, and the third storage block in the target virtual storage volume are used, and the fourth storage block and the fifth storage block are used.
- the memory block, the sixth memory block, and the seventh memory block are all free.
- the free storage block in the target virtual storage volume can be determined, and the storage block is selected from the free storage block as the target storage block.
- the storage block and the seventh storage block can select the fourth storage block as the target storage block.
- the identification bit of the target storage block is set to be used to identify that the target storage block has been used.
- Step 502 The first storage device applies at least one data object included in the target storage block in the object storage platform.
- the first storage device acquires an index object of the target storage block from the object storage platform, and applies N data objects from the object storage platform according to the number N of data objects included in the target storage block stored by the index object, and sets the N The object ID of each data object in the data object.
- the setting process of the object identifier of the data object can be:
- the volume identifier of the target virtual storage volume, the block number, and the sequence number may be formed into an object identifier of the data object. For example, suppose the volume identifier of the target virtual storage volume is fall613158/OS252, the block number is 1, and the sequence number is 1, the object identifier of the data object composed is fall613158/OS252/1/1. or,
- the volume identifier of the target virtual storage volume, the block number, the sequence number, and the fifth preset string may be formed into an object identifier of the data object. For example, suppose the volume identifier of the target virtual storage volume is fall613158/OS252, the block number is 1, the sequence number is 1, and the fifth preset string is DATA/BLOCK, and the object identifier of the data object composed is fall613158/OS252. /DATA/BLOCK/1/1.
- Step 503 The first storage device stores the to-be-stored data in the at least one data object.
- the first storage device selects one or more data objects from the data objects included in the target storage block according to the data amount of the data to be stored, and sends a storage request to the object storage platform through the object storage interface.
- the storage request carries the object identifier of the data to be stored and the selected data object.
- the object storage platform stores the data to be stored in the data object corresponding to the object identifier.
- the capacity of each data object in the object storage platform may be equal, and the capacity of the data object is included in the first storage device, so the first storage device determines the data object according to the data amount of the data to be stored and the capacity of the data object.
- the number according to the number, selects a data object from the data objects included in the target storage block.
- Step 504 The first storage device saves the correspondence between the device identifier and the first index information in the management device, and stores the second index information in the index block object corresponding to the target storage block in the object storage platform.
- the first index information includes at least a volume identifier of the target virtual storage volume, a block number of the target storage block, and a data identifier of the data to be stored, a first data start location, and a first data length.
- the second index information includes at least a first data start position.
- the first data starting position is a starting storage location of the data to be stored in the target storage block, and the first data length is the length of the data to be stored.
- the first storage device may update the third index information saved by the index object of the target storage block to the second index information, or add the second index information to the index object of the target storage block; and then upload the update to the object storage platform. Or the added index object, so that the object storage platform replaces the index object of its saved target storage block with the updated or added index object.
- the first storage device may send the first index information to the management device, so that the management device saves the device identifier of the first storage device and the first index information in a corresponding relationship between the device identifier and the first index information.
- the data identifier of the data to be stored may be a device identifier of a device that collects data to be stored.
- the data identifier of the data to be stored may be the device identifier of the camera device
- the first data start position of the data to be stored may be the start of the segment of video data. time.
- the first storage device determines a target virtual storage volume for storing data to be stored, and determines a target storage block from the target virtual storage volume; and at least one of the target storage blocks is requested in the object storage platform.
- a data object storing the data to be stored in at least one data object.
- the data to be stored is stored in the data object of the object storage platform, which can improve the reliability of the data storage.
- an embodiment of the present application provides a method for reading data, where the method includes:
- Step 601 Receive a read request message including location information, where the location information includes a second data start location of the data to be read, a second data length, a volume identifier of the target storage volume where the data to be read is located, and a target The block number of the storage block.
- the read request message may be sent by the management device.
- the corresponding relationship between the device identifier and the first index information is stored in the management device.
- the first index information of the storage block is stored in the correspondence, and the first index information of the storage block includes at least a volume identifier of the virtual storage volume where the storage block is located, a block number of the storage block, and is stored in the storage block.
- the management device may receive the query data request from the terminal device, where the query data request may carry the data identifier of the data to be read, the second data start location, and the second data length; and the slave device identifier according to the data identifier of the data to be read.
- first index information of the at least one storage block Obtaining, by the correspondence relationship with the first index information, first index information of the at least one storage block, where the first index information of each of the at least one storage block includes a data identifier of the data to be read, according to each storage block Determining a first data start position and a first data length included in the first index information, determining a location range of data stored in each of the storage blocks, determining a location range including the second data start position, and determining the determined location range Corresponding storage block is used as the target storage block; the device identifier of the storage device corresponding to the first index information of the target storage block is obtained from the correspondence, and the target virtual storage of the target storage block is obtained from the first index information of the target storage block.
- the volume ID of the volume and the block number of the target storage block; the storage device is identified according to the device identifier of the storage device Transmitting a read request message including location information, where the second data start position of the data to be read, the second data length, the volume identifier of the target storage volume where the data to be read is located, and the target storage block where the target is located Block number.
- the data to be read can be read from the target storage block in the object storage platform according to the location information.
- the detailed reading process can be implemented by the following steps 602 to 604.
- Step 602 Acquire an index object of the target storage block from the object storage platform according to the volume identifier of the target storage volume and the block number of the target storage block, where the index object includes a first data start position of the data stored in the target storage block.
- the object identifier of the index object of the target storage block is obtained according to the volume identifier of the target storage volume and the block number of the target storage block, and the index object of the target storage block is downloaded from the object storage platform according to the object identifier.
- the volume identifier of the target virtual storage volume, the fourth preset character string, and the block number of the target storage block may be the object identifier of the index object of the target storage block.
- Step 603 Determine, according to the first data start position and the second data start position, an offset of the target data object for storing the data to be read and the data to be read in the target data object.
- Each data object in the object storage platform has the same capacity. Therefore, in this step, a difference between the first data start position and the second data start position may be calculated, and according to the difference and the data object capacity, the target data object for storing the data to be read may be calculated. The sequence number and the offset of the data to be read in the target data object.
- Step 604 Read data to be read from the target data object according to the offset and the second data length.
- An object identifier of the target data object may be obtained, and according to the offset, the data to be read of the second data length is read in the data object corresponding to the object identifier in the object storage platform.
- the read data is sent to the management device, and the data to be read is sent by the management device to the terminal device.
- the object identifier of the target data object may be generated according to the volume identifier of the target virtual storage volume, the block number of the target storage block, and the sequence number of the target data object.
- the volume identifier of the target virtual storage volume, the block number of the target storage block, and the sequence number of the target data object may be composed of the object identifier of the data object.
- the volume identifier of the target virtual storage volume, the block number of the target storage block, the sequence number of the target data object, and the fifth preset string may be composed of the object identifier of the data object.
- a read request message including location information is included, where the location information includes a second data start location of the data to be read, a second data length, and a volume identifier of the target storage volume where the data to be read is located And a block identifier of the target storage block; and reading the data to be read from the target storage block in the object storage platform according to the location information. Therefore, the data is stored in the object storage platform. Since the object storage platform stores data with high reliability, the data is stored in the object storage platform, thereby improving the reliability of the data storage. Using data objects in the object storage platform to simulate blocks, it is easy to manage unstructured data such as video data. In addition, one of the multiple storage devices fails, and other normal devices can quickly take over the storage volumes in the failed device. , which further improves reliability.
- an embodiment of the present application provides an apparatus 700 for storing data, where the apparatus 700 includes:
- a determining module 701 configured to determine a target virtual storage volume for storing data to be stored, and determine a target storage block from the target virtual storage volume;
- the application module 702 is configured to apply, in the object storage platform, at least one data object included in the target storage block;
- a storage module 703 configured to store the to-be-stored data in the at least one data object, and correspondingly save a correspondence between the device identifier of the device 700 and the first index information, where the first The index information includes at least a volume identifier of the target virtual storage volume, a block identifier of the target storage block, a data identifier of the data to be stored, a first data start location of the data to be stored, and the to-be-stored data
- the first data length is stored in the index block object corresponding to the target storage block in the object storage platform, and the second index information includes at least the first data start position.
- the determining module 701 includes:
- a first selection unit configured to select one virtual storage volume from the at least one virtual storage volume corresponding to the device 700 as the target virtual storage volume
- An obtaining unit configured to acquire, from the object storage platform, a block bitmap object of the target virtual storage volume, where the block bitmap object is used to store an identifier bit of each storage block in the target virtual storage volume, and a storage block The flag bit is used to record whether the memory block is idle;
- a second selecting unit configured to select, from the target virtual storage volume, a free storage block as the target storage block according to the block bitmap object.
- the apparatus 700 further includes:
- a setting unit configured to set, in a block bitmap object of the target virtual storage volume, an identification bit of the target storage block to identify that the target storage block has been used.
- the apparatus 700 further includes:
- a module is created for creating a first virtual storage volume for the apparatus 700 in the object storage platform.
- the creating module includes:
- a generating unit configured to generate a volume identifier of the first virtual storage volume
- a first adding unit configured to add a volume identifier of the first virtual storage volume to a storage volume list object corresponding to the device 700 located in the object storage platform;
- An application unit configured to apply, in the object storage platform, a boot block object of the first virtual storage volume, a block bitmap object, and an index object of each of the first virtual storage volumes;
- the boot block object is configured to store volume basic information, where the volume basic information includes at least a capacity of the first virtual storage volume, a number of storage blocks, and a device identifier of the device 700; And storing an identifier bit of each storage block in the first virtual storage volume, where an identifier bit of the storage block is used to identify whether the storage block is idle; an index object of the storage block is used to store third index information, where The third index information includes at least the number of data objects in the storage block.
- the apparatus 700 further includes:
- a loading module configured to load at least one virtual storage volume corresponding to the device 700 to the device 700 according to a storage volume list object corresponding to the device 700 in the object storage platform when the device 700 is started.
- the storage volume list object is configured to store a volume identifier of the at least one virtual storage volume corresponding to the device 700.
- the loading module includes:
- a downloading unit configured to download a storage volume list object corresponding to the device 700 from the object storage platform, and download the second virtual storage volume from the object storage platform according to a volume identifier of the second virtual storage volume Activating a block object, the volume identifier of the second virtual storage volume being a volume identifier of any one of the storage volume list objects;
- a second adding unit configured to add a volume identifier of the second virtual storage volume to the device 700 when the boot block object stores the device identifier of the device 700.
- the apparatus 700 further includes:
- a takeover module configured to take over the third virtual storage volume according to the volume identifier of the third virtual storage volume, where the third virtual storage volume is a virtual storage volume corresponding to the second storage device, and the second storage device is Other storage devices than the device 700.
- the takeover module includes:
- a receiving unit configured to receive a takeover request message, where the takeover request message carries a volume identifier of the third virtual storage volume
- An update unit configured to update, according to the volume identifier of the third virtual storage volume, a device identifier of the second storage device saved in the startup block object of the third virtual storage volume to a device identifier of the device 700;
- a third adding unit configured to add a volume identifier of the third virtual storage volume to the storage volume list object corresponding to the device 700 in the device 700.
- an embodiment of the present application provides an apparatus 800 for reading data, where the apparatus 800 includes:
- the receiving module 801 is configured to receive a read request message including location information, where the location information includes a second data start location of the data to be read, a second data length, and a target storage volume where the data to be read is located The volume identifier and the block identifier of the target storage block in which it resides;
- the reading module 802 is configured to read the data to be read from the target storage block in the object storage platform according to the location information.
- the reading module 802 includes:
- An obtaining unit configured to acquire an index object of the target storage block from an object storage platform according to a volume identifier of the target storage volume and a block identifier of the target storage block, where the index object includes the target storage block The first data start position of the stored data;
- a determining unit configured to determine, according to the first data start location and the second data start location, a target data object for storing the data to be read and the data to be read in the target data The offset in the object;
- a reading unit configured to read the data to be read from the target data object according to the offset and the second data length.
- the embodiment of the present application provides a system 900 for storing data, where the system 900 includes: a storage device 901, an object storage platform 902, and a management device 903;
- the first storage device 901 is configured to determine a target virtual storage volume for storing data to be stored, and determine a target storage block from the target virtual storage volume; apply the target storage in the object storage platform 902 At least one data object included in the block; storing the data to be stored in the at least one data object; correspondingly storing a correspondence between the device identifier of the storage device 901 and the first index information in the management device 903
- the first index information includes at least a volume identifier of the target virtual storage volume, a block identifier of the target storage block, a data identifier of the data to be stored, and a first data start location of the data to be stored. a first data length of the data to be stored; storing, in the index block object corresponding to the target storage block in the object storage platform, second index information, where the second index information includes at least the first data starting point.
- an embodiment of the present application provides a system 1000 for reading data, where the system 1000 includes: a storage device 1001, a management device 1002, and an object storage platform 1003;
- the storage device 1001 is configured to receive a read request message that includes the location information that is sent by the management device 1002, where the location information includes a second data start location, a second data length, and the to-be-read data. And reading a volume identifier of the target storage volume where the data is located and a block identifier of the target storage block where the data is stored; and reading the data to be read from the target storage block in the object storage platform 1003 according to the location information.
- FIG. 11 is a block diagram showing the structure of a device 1100 according to an exemplary embodiment of the present invention.
- the device 1100 includes a processor 1101 and a memory 1102.
- the processor 1101 can include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like.
- the processor 1101 may be configured by at least one of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). achieve.
- the processor 1101 may also include a main processor and a coprocessor.
- the main processor is a processor for processing data in an awake state, which is also called a CPU (Central Processing Unit); the coprocessor is A low-power processor for processing data in standby.
- the processor 1101 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and rendering of content that needs to be displayed on the display screen.
- the processor 1101 may further include an AI (Artificial Intelligence) processor for processing computational operations related to machine learning.
- AI Artificial Intelligence
- Memory 1102 can include one or more computer readable storage media, which can be non-transitory. Memory 1102 can also include high speed random access memory, as well as non-volatile memory, such as one or more disk storage devices, flash storage devices. In some embodiments, the non-transitory computer readable storage medium in memory 1102 is for storing at least one instruction for execution by processor 1101 to implement the present application as shown in FIGS. 2-6. The method provided by any of the method embodiments.
- the device 1100 can also optionally include: a peripheral device interface 1103 and at least one peripheral device.
- the processor 1101, the memory 1102, and the peripheral device interface 1103 may be connected by a bus or a signal line.
- Each peripheral device can be connected to the peripheral device interface 1103 via a bus, signal line or circuit board.
- the peripheral device includes at least one of a radio frequency circuit 1104, an audio circuit 1107, and a power source 1109.
- the peripheral device interface 1103 can be used to connect at least one peripheral device associated with an I/O (Input/Output) to the processor 1101 and the memory 1102.
- processor 1101, memory 1102, and peripheral interface 1103 are integrated on the same chip or circuit board; in some other embodiments, any of processor 1101, memory 1102, and peripheral interface 1103 or The two can be implemented on a separate chip or circuit board, which is not limited in this embodiment.
- the RF circuit 1104 is configured to receive and transmit an RF (Radio Frequency) signal, also called an electromagnetic signal.
- the RF circuit 1104 communicates with the communication network and other communication devices via electromagnetic signals.
- the radio frequency circuit 1104 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal.
- the radio frequency circuit 1104 includes an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and the like.
- the radio frequency circuit 1104 can communicate with other devices via at least one wireless communication protocol.
- the wireless communication protocols include, but are not limited to, the World Wide Web, a metropolitan area network, an intranet, generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and/or WiFi (Wireless Fidelity) networks.
- the display 1105 is used to display a UI (User Interface).
- the UI can include graphics, text, icons, video, and any combination thereof.
- the display 1105 also has the ability to capture touch signals over the surface or surface of the display 1105.
- the touch signal can be input to the processor 1101 as a control signal for processing.
- the display 1105 can also be used to provide virtual buttons and/or virtual keyboards, also referred to as soft buttons and/or soft keyboards.
- the display 1105 can be made of a material such as an LCD (Liquid Crystal Display) or an OLED (Organic Light-Emitting Diode).
- the audio circuit 1107 can include a microphone and a speaker.
- the microphone is used to collect sound waves of the user and the environment, and convert the sound waves into electrical signals for input to the processor 1101 for processing, or to the RF circuit 1104 for voice communication.
- the microphones may be multiple, and are respectively disposed at different parts of the device 1100.
- the microphone can also be an array microphone or an omnidirectional acquisition microphone.
- the speaker is then used to convert electrical signals from the processor 1101 or the RF circuit 1104 into sound waves.
- the speaker can be a conventional film speaker or a piezoelectric ceramic speaker.
- the audio circuit 1107 can also include a headphone jack.
- Power source 1109 is used to power various components in device 1100.
- the power source 1109 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery.
- the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery.
- a wired rechargeable battery is a battery that is charged by a wired line
- a wireless rechargeable battery is a battery that is charged by a wireless coil.
- the rechargeable battery can also be used to support fast charging technology.
- FIG. 11 does not constitute a limitation to device 1100, may include more or fewer components than illustrated, or may combine certain components, or employ different component arrangements.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (24)
- 一种存储数据的方法,其特征在于,所述方法包括:A method of storing data, the method comprising:第一存储设备确定用于存储待存储数据的目标虚拟存储卷,以及从所述目标虚拟存储卷中确定目标存储块;The first storage device determines a target virtual storage volume for storing data to be stored, and determines a target storage block from the target virtual storage volume;所述第一存储设备在对象存储平台中申请所述目标存储块包括的至少一个数据对象;The first storage device applies at least one data object included in the target storage block in an object storage platform;所述第一存储设备将所述待存储数据存储在所述至少一个数据对象中;The first storage device stores the to-be-stored data in the at least one data object;所述第一存储设备在管理设备中对应保存其设备标识与第一索引信息之间的对应关系,所述第一索引信息至少包括所述目标虚拟存储卷的卷标识、所述目标存储块的块标识、所述待存储数据的数据标识、所述待存储数据的第一数据起始位置和所述待存储数据的第一数据长度;The first storage device correspondingly saves a correspondence between the device identifier and the first index information in the management device, where the first index information includes at least a volume identifier of the target virtual storage volume, and the target storage block. a block identifier, a data identifier of the data to be stored, a first data start location of the data to be stored, and a first data length of the data to be stored;所述第一存储设备在所述对象存储平台中的所述目标存储块对应的索引块对象中存储第二索引信息,所述第二索引信息至少包括所述第一数据起始位置。The first storage device stores second index information in an index block object corresponding to the target storage block in the object storage platform, where the second index information includes at least the first data start position.
- 如权利要求1所述的方法,其特征在于,所述确定用于存储待存储数据的目标虚拟存储卷,以及从所述目标虚拟存储卷中确定目标存储块,包括:The method of claim 1, wherein the determining a target virtual storage volume for storing data to be stored, and determining a target storage block from the target virtual storage volume comprises:从所述第一存储设备对应的至少一个虚拟存储卷中选择一个虚拟存储卷作为目标虚拟存储卷;Selecting one virtual storage volume from the at least one virtual storage volume corresponding to the first storage device as the target virtual storage volume;从对象存储平台中获取所述目标虚拟存储卷的块位图对象,所述块位图对象用于存储所述目标虚拟存储卷中的每个存储块的标识位,存储块的标识位用于记录所述存储块是否空闲;Obtaining, from the object storage platform, a block bitmap object of the target virtual storage volume, where the block bitmap object is used to store an identifier bit of each storage block in the target virtual storage volume, and an identifier bit of the storage block is used for Recording whether the storage block is idle;根据所述块位图对象从所述目标虚拟存储卷中选择空闲的存储块作为目标存储块。A free memory block is selected from the target virtual storage volume as a target storage block according to the block bitmap object.
- 如权利要求1所述的方法,其特征在于,所述根据所述块位图对象从所述目标虚拟存储卷中选择空闲的存储块作为目标存储块之后,还包括:The method of claim 1, wherein after the selecting, according to the block bitmap object, the free storage block from the target virtual storage volume as the target storage block, the method further comprises:在所述目标虚拟存储卷的块位图对象中,将所述目标存储块的标识位设置成用于标识所述目标存储块已被使用。In a block bitmap object of the target virtual storage volume, an identification bit of the target storage block is set to identify that the target storage block has been used.
- 如权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 wherein the method further comprises:在所述对象存储平台中为所述第一存储设备创建第一虚拟存储卷。Creating a first virtual storage volume for the first storage device in the object storage platform.
- 如权利要求4所述的方法,其特征在于,所述在所述对象存储平台中为所述第一存储设备创建第一虚拟存储卷,包括:The method of claim 4, wherein the creating a first virtual storage volume for the first storage device in the object storage platform comprises:生成第一虚拟存储卷的卷标识;Generating a volume identifier of the first virtual storage volume;将所述第一虚拟存储卷的卷标识添加到位于所述对象存储平台中的所述第一存储设备对应的存储卷列表对象中;Adding a volume identifier of the first virtual storage volume to a storage volume list object corresponding to the first storage device in the object storage platform;在所述对象存储平台中申请所述第一虚拟存储卷的启动块对象、块位图对象和所述第一虚拟存储卷中的每个存储块的索引对象;Applying, in the object storage platform, a boot block object of the first virtual storage volume, a block bitmap object, and an index object of each of the first virtual storage volumes;其中,所述启动块对象用于存储卷基本信息,所述卷基本信息至少包括所述第一虚拟存储卷的容量、存储块数目和所述第一存储设备的设备标识;所述块位图对象用于存储所述第一虚拟存储卷中的每个存储块的标识位,存储块的标识位用于标识所述存储块是否空闲;所述存储块的索引对象用于存储第三索引信息,所述第三索引信息至少包括所述存储块中的数据对象数目。The boot block object is configured to store volume basic information, where the volume basic information includes at least a capacity of the first virtual storage volume, a number of storage blocks, and a device identifier of the first storage device; An object is configured to store an identifier bit of each of the first virtual storage volumes, where an identifier of the storage block is used to identify whether the storage block is idle; an index object of the storage block is used to store third index information. The third index information includes at least the number of data objects in the storage block.
- 如权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 wherein the method further comprises:在所述第一存储设备启动时,根据所述对象存储平台中的所述第一存储设备对应的存储卷列表对象,将所述第一存储设备对应的至少一个虚拟存储卷加载到所述第一存储设备中,所述存储卷列表对象用于存储所述第一存储设备对应的至少一个虚拟存储卷的卷标识。Loading at least one virtual storage volume corresponding to the first storage device to the first storage device according to the storage volume list object corresponding to the first storage device in the object storage platform when the first storage device is started In a storage device, the storage volume list object is used to store a volume identifier of at least one virtual storage volume corresponding to the first storage device.
- 如权利要求6所述的方法,其特征在于,所述根据所述对象存储平台中的所述第一存储设备对应的存储卷列表对象,将所述第一存储设备对应的至少一个虚拟存储卷加载到所述第一存储设备中,包括:The method according to claim 6, wherein the at least one virtual storage volume corresponding to the first storage device is according to a storage volume list object corresponding to the first storage device in the object storage platform Loading into the first storage device, including:从所述对象存储平台中下载所述第一存储设备对应的存储卷列表对象;Downloading, from the object storage platform, a storage volume list object corresponding to the first storage device;根据第二虚拟存储卷的卷标识,从所述对象存储平台中下载所述第二虚拟存储卷的启动块对象,所述第二虚拟存储卷的卷标识为所述存储卷列表对象中的任一个虚拟存储卷的卷标识;Downloading, according to a volume identifier of the second virtual storage volume, a boot block object of the second virtual storage volume from the object storage platform, where a volume identifier of the second virtual storage volume is any one of the storage volume list objects The volume ID of a virtual storage volume;在所述启动块对象存储有所述第一存储设备的设备标识时,将所述第二虚 拟存储卷的卷标识添加到所述第一存储设备中。And adding, when the boot block object stores the device identifier of the first storage device, a volume identifier of the second virtual storage volume to the first storage device.
- 如权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 wherein the method further comprises:所述第一存储设备根据第三虚拟存储卷的卷标识,接管所述第三虚拟存储卷,所述第三虚拟存储卷是第二存储设备对应的虚拟存储卷,所述第二存储设备是除所述第一存储设备以外的其他存储设备。The first storage device takes over the third virtual storage volume according to the volume identifier of the third virtual storage volume, where the third virtual storage volume is a virtual storage volume corresponding to the second storage device, and the second storage device is Other storage devices than the first storage device.
- 如权利要求8所述的方法,其特征在于,所述根据第三虚拟存储卷的卷标识,接管所述第三虚拟存储卷,包括:The method of claim 8, wherein the taking over the third virtual storage volume according to the volume identifier of the third virtual storage volume comprises:接收接管请求消息,所述接管请求消息携带所述第三虚拟存储卷的卷标识;Receiving a takeover request message, where the takeover request message carries a volume identifier of the third virtual storage volume;根据所述第三虚拟存储卷的卷标识,将所述第三虚拟存储卷的启动块对象中保存的第二存储设备的设备标识更新为所述第一存储设备的设备标识;Updating, according to the volume identifier of the third virtual storage volume, the device identifier of the second storage device saved in the startup block object of the third virtual storage volume to the device identifier of the first storage device;将所述第三虚拟存储卷的卷标识分别添加到所述第一虚拟存储设备中和所述第一存储设备对应的存储卷列表对象中。And adding a volume identifier of the third virtual storage volume to the storage volume list object corresponding to the first storage device and the first storage device.
- 一种读取数据的方法,其特征在于,所述方法包括:A method of reading data, the method comprising:接收包括位置信息的读取请求消息,所述位置信息包括待读取数据的第二数据起始位置、第二数据长度、所述待读取数据所在的目标存储卷的卷标识和所在的目标存储块的块标识;Receiving a read request message including location information, where the location information includes a second data start location of the data to be read, a second data length, a volume identifier of the target storage volume where the data to be read is located, and a target The block identifier of the storage block;根据所述位置信息从对象存储平台中的所述目标存储块中读取所述待读取数据。Reading the data to be read from the target storage block in the object storage platform according to the location information.
- 如权利要求10所述的方法,其特征在于,所述根据所述位置信息从对象存储平台中的所述目标存储块中读取所述待读取数据,包括:The method of claim 10, wherein the reading the data to be read from the target storage block in the object storage platform according to the location information comprises:根据所述目标存储卷的卷标识和所述目标存储块的块标识,从对象存储平台中获取所述目标存储块的索引对象,所述索引对象包括所述目标存储块中存储的数据的第一数据起始位置;Obtaining an index object of the target storage block from an object storage platform according to a volume identifier of the target storage volume and a block identifier of the target storage block, where the index object includes a data stored in the target storage block a data starting position;根据所述第一数据起始位置和所述第二数据起始位置,确定用于存储所述待读取数据的目标数据对象和所述待读取数据在所述目标数据对象中的偏移;Determining, according to the first data start position and the second data start position, a target data object for storing the data to be read and an offset of the data to be read in the target data object ;根据所述偏移和所述第二数据长度,从所述目标数据对象中读取所述待读 取数据。The to-be-read data is read from the target data object based on the offset and the second data length.
- 一种存储数据的装置,其特征在于,所述装置包括:An apparatus for storing data, the apparatus comprising:确定模块,用于确定用于存储待存储数据的目标虚拟存储卷,以及从所述目标虚拟存储卷中确定目标存储块;a determining module, configured to determine a target virtual storage volume for storing data to be stored, and determining a target storage block from the target virtual storage volume;申请模块,用于在对象存储平台中申请所述目标存储块包括的至少一个数据对象;An application module, configured to apply, in an object storage platform, at least one data object included in the target storage block;存储模块,用于将所述待存储数据存储在所述至少一个数据对象中;在管理设备中对应保存所述装置的设备标识与第一索引信息之间的对应关系,所述第一索引信息至少包括所述目标虚拟存储卷的卷标识、所述目标存储块的块标识、所述待存储数据的数据标识、所述待存储数据的第一数据起始位置和所述待存储数据的第一数据长度;在所述对象存储平台中的所述目标存储块对应的索引块对象中存储第二索引信息,所述第二索引信息至少包括所述第一数据起始位置。a storage module, configured to store the to-be-stored data in the at least one data object, and correspondingly store a correspondence between the device identifier of the device and the first index information, where the first index information is And including at least a volume identifier of the target virtual storage volume, a block identifier of the target storage block, a data identifier of the data to be stored, a first data start location of the data to be stored, and a first to be stored data a data length; storing, in the index block object corresponding to the target storage block in the object storage platform, second index information, where the second index information includes at least the first data start position.
- 如权利要求12所述的装置,其特征在于,所述确定模块包括:The device of claim 12, wherein the determining module comprises:第一选择单元,用于从所述装置对应的至少一个虚拟存储卷中选择一个虚拟存储卷作为目标虚拟存储卷;a first selection unit, configured to select one virtual storage volume from the at least one virtual storage volume corresponding to the device as the target virtual storage volume;获取单元,用于从对象存储平台中获取所述目标虚拟存储卷的块位图对象,所述块位图对象用于存储所述目标虚拟存储卷中的每个存储块的标识位,存储块的标识位用于记录所述存储块是否空闲;An obtaining unit, configured to acquire, from the object storage platform, a block bitmap object of the target virtual storage volume, where the block bitmap object is used to store an identifier bit of each storage block in the target virtual storage volume, and a storage block The flag bit is used to record whether the memory block is idle;第二选择单元,用于根据所述块位图对象从所述目标虚拟存储卷中选择空闲的存储块作为目标存储块。And a second selecting unit, configured to select, from the target virtual storage volume, a free storage block as the target storage block according to the block bitmap object.
- 如权利要求12所述的装置,其特征在于,所述装置还包括:The device of claim 12, wherein the device further comprises:设置单元,用于在所述目标虚拟存储卷的块位图对象中,将所述目标存储块的标识位设置成用于标识所述目标存储块已被使用。a setting unit, configured to set, in a block bitmap object of the target virtual storage volume, an identification bit of the target storage block to identify that the target storage block has been used.
- 如权利要求12所述的装置,其特征在于,所述装置还包括:The device of claim 12, wherein the device further comprises:创建模块,用于在所述对象存储平台中为所述装置创建第一虚拟存储卷。A module is created for creating a first virtual storage volume for the device in the object storage platform.
- 如权利要求15所述的装置,其特征在于,所述创建模块包括:The device of claim 15, wherein the creating module comprises:生成单元,用于生成第一虚拟存储卷的卷标识;a generating unit, configured to generate a volume identifier of the first virtual storage volume;第一添加单元,用于将所述第一虚拟存储卷的卷标识添加到位于所述对象存储平台中的所述装置对应的存储卷列表对象中;a first adding unit, configured to add a volume identifier of the first virtual storage volume to a storage volume list object corresponding to the device located in the object storage platform;申请单元,用于在所述对象存储平台中申请所述第一虚拟存储卷的启动块对象、块位图对象和所述第一虚拟存储卷中的每个存储块的索引对象;An application unit, configured to apply, in the object storage platform, a boot block object of the first virtual storage volume, a block bitmap object, and an index object of each of the first virtual storage volumes;其中,所述启动块对象用于存储卷基本信息,所述卷基本信息至少包括所述第一虚拟存储卷的容量、存储块数目和所述装置的设备标识;所述块位图对象用于存储所述第一虚拟存储卷中的每个存储块的标识位,存储块的标识位用于标识所述存储块是否空闲;所述存储块的索引对象用于存储第三索引信息,所述第三索引信息至少包括所述存储块中的数据对象数目。The boot block object is configured to store volume basic information, where the volume basic information includes at least a capacity of the first virtual storage volume, a number of storage blocks, and a device identifier of the device; the block bitmap object is used for And storing an identifier bit of each of the first virtual storage volumes, where an identifier of the storage block is used to identify whether the storage block is idle; an index object of the storage block is configured to store third index information, The third index information includes at least the number of data objects in the storage block.
- 如权利要求12所述的装置,其特征在于,所述装置还包括:The device of claim 12, wherein the device further comprises:加载模块,用于在所述装置启动时,根据所述对象存储平台中的所述装置对应的存储卷列表对象,将所述装置对应的至少一个虚拟存储卷加载到所述装置中,所述存储卷列表对象用于存储所述装置对应的至少一个虚拟存储卷的卷标识。a loading module, configured to load at least one virtual storage volume corresponding to the device into the device according to a storage volume list object corresponding to the device in the object storage platform when the device is started, The storage volume list object is used to store a volume identifier of at least one virtual storage volume corresponding to the device.
- 如权利要求17所述的装置,其特征在于,所述加载模块包括:The device of claim 17, wherein the loading module comprises:下载单元,用于从所述对象存储平台中下载所述装置对应的存储卷列表对象;根据第二虚拟存储卷的卷标识,从所述对象存储平台中下载所述第二虚拟存储卷的启动块对象,所述第二虚拟存储卷的卷标识为所述存储卷列表对象中的任一个虚拟存储卷的卷标识;a downloading unit, configured to download, from the object storage platform, a storage volume list object corresponding to the device, and downloading, according to a volume identifier of the second virtual storage volume, the startup of the second virtual storage volume from the object storage platform a volume identifier, where a volume identifier of the second virtual storage volume is a volume identifier of any one of the storage volume list objects;第二添加单元,用于在所述启动块对象存储有所述装置的设备标识时,将所述第二虚拟存储卷的卷标识添加到所述装置中。a second adding unit, configured to add a volume identifier of the second virtual storage volume to the device when the boot block object stores the device identifier of the device.
- 如权利要求12所述的装置,其特征在于,所述装置还包括:The device of claim 12, wherein the device further comprises:接管模块,用于根据第三虚拟存储卷的卷标识,接管所述第三虚拟存储卷,所述第三虚拟存储卷是第二存储设备对应的虚拟存储卷,所述第二存储设备是 除所述装置以外的其他存储设备。a takeover module, configured to take over the third virtual storage volume according to the volume identifier of the third virtual storage volume, where the third virtual storage volume is a virtual storage volume corresponding to the second storage device, and the second storage device is Other storage devices than the device.
- 如权利要求19所述的装置,其特征在于,所述接管模块包括:The device of claim 19, wherein the takeover module comprises:接收单元,用于接收接管请求消息,所述接管请求消息携带所述第三虚拟存储卷的卷标识;a receiving unit, configured to receive a takeover request message, where the takeover request message carries a volume identifier of the third virtual storage volume;更新单元,用于根据所述第三虚拟存储卷的卷标识,将所述第三虚拟存储卷的启动块对象中保存的第二存储设备的设备标识更新为所述装置的设备标识;An update unit, configured to update, according to the volume identifier of the third virtual storage volume, a device identifier of the second storage device saved in the startup block object of the third virtual storage volume to a device identifier of the device;第三添加单元,用于将所述第三虚拟存储卷的卷标识分别添加到所述装置中和所述装置对应的存储卷列表对象中。And a third adding unit, configured to separately add volume identifiers of the third virtual storage volume to the storage volume list object corresponding to the device and the device.
- 一种读取数据的装置,其特征在于,所述装置包括:A device for reading data, characterized in that the device comprises:接收模块,用于接收包括位置信息的读取请求消息,所述位置信息包括待读取数据的第二数据起始位置、第二数据长度、所述待读取数据所在的目标存储卷的卷标识和所在的目标存储块的块标识;a receiving module, configured to receive a read request message including location information, where the location information includes a second data start location of the data to be read, a second data length, and a volume of the target storage volume where the data to be read is located The identifier of the block and the block of the target storage block;读取模块,用于根据所述位置信息从对象存储平台中的所述目标存储块中读取所述待读取数据。And a reading module, configured to read the data to be read from the target storage block in the object storage platform according to the location information.
- 如权利要求21所述的装置,其特征在于,所述读取模块包括:The device of claim 21, wherein the reading module comprises:获取单元,用于根据所述目标存储卷的卷标识和所述目标存储块的块标识,从对象存储平台中获取所述目标存储块的索引对象,所述索引对象包括所述目标存储块中存储的数据的第一数据起始位置;An obtaining unit, configured to acquire an index object of the target storage block from an object storage platform according to a volume identifier of the target storage volume and a block identifier of the target storage block, where the index object includes the target storage block The first data start position of the stored data;确定单元,用于根据所述第一数据起始位置和所述第二数据起始位置,确定用于存储所述待读取数据的目标数据对象和所述待读取数据在所述目标数据对象中的偏移;a determining unit, configured to determine, according to the first data start location and the second data start location, a target data object for storing the data to be read and the data to be read in the target data The offset in the object;读取单元,用于根据所述偏移和所述第二数据长度,从所述目标数据对象中读取所述待读取数据。And a reading unit, configured to read the data to be read from the target data object according to the offset and the second data length.
- 一种存储数据的***,其特征在于,所述***包括:存储设备、对象存储平台和管理设备;A system for storing data, the system comprising: a storage device, an object storage platform, and a management device;所述存储设备,用于确定用于存储待存储数据的目标虚拟存储卷,以及从所述目标虚拟存储卷中确定目标存储块;在所述对象存储平台中申请所述目标存储块包括的至少一个数据对象;将所述待存储数据存储在所述至少一个数据对象中;在所述管理设备中对应保存所述存储设备的设备标识与第一索引信息之间的对应关系,所述第一索引信息至少包括所述目标虚拟存储卷的卷标识、所述目标存储块的块标识、所述待存储数据的数据标识、所述待存储数据的第一数据起始位置和所述待存储数据的第一数据长度;在所述对象存储平台中的所述目标存储块对应的索引块对象中存储第二索引信息,所述第二索引信息至少包括所述第一数据起始位置。The storage device is configured to determine a target virtual storage volume for storing data to be stored, and determine a target storage block from the target virtual storage volume; and apply at least the target storage block included in the object storage platform a data object; storing the data to be stored in the at least one data object; correspondingly storing a correspondence between the device identifier of the storage device and the first index information in the management device, the first The index information includes at least a volume identifier of the target virtual storage volume, a block identifier of the target storage block, a data identifier of the data to be stored, a first data start location of the data to be stored, and the to-be-stored data The first data length is stored in the index block object corresponding to the target storage block in the object storage platform, and the second index information includes at least the first data start position.
- 一种读取数据的***,其特征在于,所述***包括:存储设备、管理设备和对象存储平台;A system for reading data, characterized in that the system comprises: a storage device, a management device and an object storage platform;所述存储设备,用于接收所述管理设备发送的包括位置信息的读取请求消息,所述位置信息包括待读取数据的第二数据起始位置、第二数据长度、所述待读取数据所在的目标存储卷的卷标识和所在的目标存储块的块标识;根据所述位置信息从所述对象存储平台中的所述目标存储块中读取所述待读取数据。The storage device is configured to receive a read request message that includes the location information that is sent by the management device, where the location information includes a second data start location of the data to be read, a second data length, and the to-be-read The volume identifier of the target storage volume where the data is located and the block identifier of the target storage block in which the data is stored; the data to be read is read from the target storage block in the object storage platform according to the location information.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810474325.1A CN110502184B (en) | 2018-05-17 | 2018-05-17 | Data storage method, data reading method, device and system |
CN201810474325.1 | 2018-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019219059A1 true WO2019219059A1 (en) | 2019-11-21 |
Family
ID=68539488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/087232 WO2019219059A1 (en) | 2018-05-17 | 2019-05-16 | Method, apparatus and system for storing data, and method for reading data, apparatus, and system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110502184B (en) |
WO (1) | WO2019219059A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102304929B1 (en) * | 2020-02-07 | 2021-09-24 | 삼성전자 주식회사 | Storage system storing model information, Storage system including storage system and Operating method of storage system |
CN111262952B (en) * | 2020-03-27 | 2023-11-21 | 北京环鼎科技有限责任公司 | Breakpoint continuous loading method for downloading acoustic data file for storage logging |
CN112100184A (en) * | 2020-10-26 | 2020-12-18 | 上海擎感智能科技有限公司 | Vehicle total mileage data storage method and computer storage medium |
CN113449155B (en) * | 2021-07-16 | 2024-02-27 | 百度在线网络技术(北京)有限公司 | Method, apparatus, device and medium for feature representation processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1602480A (en) * | 2001-12-10 | 2005-03-30 | 单球体有限公司 | Managing storage resources attached to a data network |
US20130282674A1 (en) * | 2012-04-23 | 2013-10-24 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by designation of virtual address |
CN103748548A (en) * | 2011-06-30 | 2014-04-23 | 亚马逊科技公司 | Storage gateway activation process |
CN107315533A (en) * | 2016-04-26 | 2017-11-03 | 杭州海康威视数字技术股份有限公司 | A kind of date storage method and device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7548975B2 (en) * | 2002-01-09 | 2009-06-16 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure |
US9289681B2 (en) * | 2007-10-09 | 2016-03-22 | International Business Machines Corporation | Suggested actions within a virtual environment |
CN103064765B (en) * | 2012-12-28 | 2015-12-02 | 华为技术有限公司 | Data reconstruction method, device and cluster storage system |
CN108021513B (en) * | 2016-11-02 | 2021-09-10 | 杭州海康威视数字技术股份有限公司 | Data storage method and device |
-
2018
- 2018-05-17 CN CN201810474325.1A patent/CN110502184B/en active Active
-
2019
- 2019-05-16 WO PCT/CN2019/087232 patent/WO2019219059A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1602480A (en) * | 2001-12-10 | 2005-03-30 | 单球体有限公司 | Managing storage resources attached to a data network |
CN103748548A (en) * | 2011-06-30 | 2014-04-23 | 亚马逊科技公司 | Storage gateway activation process |
US20130282674A1 (en) * | 2012-04-23 | 2013-10-24 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by designation of virtual address |
CN107315533A (en) * | 2016-04-26 | 2017-11-03 | 杭州海康威视数字技术股份有限公司 | A kind of date storage method and device |
Also Published As
Publication number | Publication date |
---|---|
CN110502184B (en) | 2021-01-05 |
CN110502184A (en) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019219059A1 (en) | Method, apparatus and system for storing data, and method for reading data, apparatus, and system | |
CN112783564B (en) | Method for accelerating starting of application program and electronic equipment | |
WO2020211712A1 (en) | Patching method and related device, and system | |
CN110232048A (en) | Acquisition methods, device and the storage medium of journal file | |
CN113722087B (en) | Virtual memory management method and electronic equipment | |
CN113254409B (en) | File sharing method, system and related equipment | |
CN111628916B (en) | Method for cooperation of intelligent sound box and electronic equipment | |
CN113704205B (en) | Log storage method, chip, electronic device and readable storage medium | |
WO2021104117A1 (en) | Method for constructing application program resource packet, construction apparatus, and terminal device | |
CN114579954A (en) | Method for safely starting verification and electronic equipment | |
CN113495744A (en) | Version upgrading method and related device | |
KR102240526B1 (en) | Contents download method of electronic apparatus and electronic appparatus thereof | |
CN113641634A (en) | Method for controlling log flow and electronic equipment | |
CN113703849A (en) | Screen-casting application opening method and device | |
CN114268931A (en) | IoT (Internet of things) equipment management method and terminal | |
CN114253737B (en) | Electronic device, memory recovery method thereof and medium | |
CN113485969B (en) | Storage fragmentation method and device, terminal and computer storage medium | |
CN113590346B (en) | Method and electronic equipment for processing service request | |
CN111694521B (en) | Method, device and system for storing file | |
CN113721836A (en) | Data deduplication method and device | |
CN112698787A (en) | Data writing method and device and computer storage medium | |
CN112988552A (en) | Application program testing method, device, equipment and storage medium | |
CN106358070B (en) | Multimedia file uploading method and device | |
KR100678081B1 (en) | Mass storage data file management method of mobile communication terminal | |
CN117009023B (en) | Method for displaying notification information and related device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19804069 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: 19804069 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19804069 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 01.06.2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19804069 Country of ref document: EP Kind code of ref document: A1 |