CN111324293B - Storage system, data storage method, data reading method and device - Google Patents

Storage system, data storage method, data reading method and device Download PDF

Info

Publication number
CN111324293B
CN111324293B CN201811535840.2A CN201811535840A CN111324293B CN 111324293 B CN111324293 B CN 111324293B CN 201811535840 A CN201811535840 A CN 201811535840A CN 111324293 B CN111324293 B CN 111324293B
Authority
CN
China
Prior art keywords
node
virtual file
block unit
data
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811535840.2A
Other languages
Chinese (zh)
Other versions
CN111324293A (en
Inventor
陈伟
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201811535840.2A priority Critical patent/CN111324293B/en
Publication of CN111324293A publication Critical patent/CN111324293A/en
Application granted granted Critical
Publication of CN111324293B publication Critical patent/CN111324293B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

The application relates to a storage system, a data storage method, a data reading method and a data reading device, and belongs to the field of communication. The storage system includes: the system comprises a plurality of nodes, at least one terminal corresponding to each node in the plurality of nodes and a cloud storage platform; each node stores at least one same virtual file, the file identification of the virtual file in each node is the same, and the parameters of the virtual file in each node are different; each terminal corresponding to the target node stores parameters of the virtual file in the target node; the cloud storage platform comprises at least one storage block unit corresponding to the file identification of the virtual file; a connection exists between a target terminal and the target node, where the connection corresponds to the virtual file. The method and the device can avoid the occurrence of nodes with heavier loads.

Description

Storage system, data storage method, data reading method and device
Technical Field
The present application relates to the field of communications, and in particular, to a storage system, a method for storing data, a method for reading data, and an apparatus for reading data.
Background
In the monitoring field, a terminal can manage at least one camera device, and each camera device can send data obtained by shooting to the corresponding terminal. However, the storage space in the terminal is limited, and the terminal stores data to the cloud storage platform through the nodes.
The node comprises virtual files for providing data storage and reading services, and at least one backup node can exist in the node, and the virtual files also exist in the backup node. The node may establish a connection with each of a plurality of terminals corresponding to the virtual file, the connection of each terminal corresponding to the virtual file. Therefore, when a certain terminal stores data, the node can receive the data sent by the terminal through the corresponding connection, and store the data in the cloud storage platform through the virtual file, or send the data to a certain backup node; the backup node stores the data on the cloud storage platform through the virtual file included therein.
In the process of implementing the present application, the inventors found that the above manner has at least the following defects:
because a plurality of terminals corresponding to the same virtual file are all connected with the same node, and data sent by the plurality of terminals are forwarded or stored by the node, the load of the node is heavier.
Disclosure of Invention
In order to avoid a node with a heavy load, embodiments of the present application provide a storage system, a method for storing data, a method for reading data, and an apparatus. The technical scheme is as follows:
in a first aspect, the present application provides a storage system comprising:
the system comprises a plurality of nodes, at least one terminal corresponding to each node in the plurality of nodes and a cloud storage platform;
each node stores at least one same virtual file, the file identifiers of the virtual files in each node are the same, the parameters of the virtual files in each node are different, and the parameters of the virtual files comprise the virtual addresses and the port numbers of the virtual files;
each terminal corresponding to a target node stores parameters of the virtual file in the target node, wherein the target node is any one of the nodes;
the cloud storage platform comprises at least one storage block unit corresponding to the file identification of the virtual file;
and a connection exists between a target terminal and the target node, the target terminal is any one of at least one terminal corresponding to the target node, and the connection corresponds to the virtual file in the target node.
Optionally, the method further includes: a management server;
the management server is configured to receive a parameter request message sent by the target terminal, where the parameter request message includes a file identifier of the virtual file, determine, according to the file identifier, a load size of each node in which the virtual file is stored, select a node according to the load size of each node, and send a parameter of the virtual file stored in the selected node to the target terminal.
Optionally, the management server includes a first corresponding relationship table of file identifiers and device identifiers and a second corresponding relationship table of device identifiers and load sizes, where the first corresponding relationship table is used to store file identifiers of virtual files in nodes and device identifiers of the nodes, and the second corresponding relationship table is used to store device identifiers of the nodes and load sizes of the nodes;
the management server is configured to obtain, according to the file identifier, an equipment identifier of each node in the first correspondence table, where the virtual file is stored, and obtain, according to the equipment identifier of each node, a load size of each node in the second correspondence table.
In a second aspect, the present application provides a method of storing data, the method comprising:
a target node receives a storage command sent by a target terminal through a connection corresponding to a virtual file stored by the target node, wherein the target node is one of a plurality of preset nodes, the target terminal is one of at least one terminal corresponding to the target node, the virtual file is stored in each node of the plurality of nodes, the file identification of the virtual file in each node is the same, the parameters of the virtual file in each node are different, the parameters of the virtual file comprise the virtual address and the port number of the virtual file, the storage command comprises data to be stored and the initial storage address of the data to be stored, and the connection is the connection between the target terminal and the target node;
the target node determines a first storage block unit and an offset address of the data to be stored in the first storage block unit according to the starting storage address and the virtual file, wherein the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
and the target node stores the data to be stored in the first storage block unit according to the offset address.
Optionally, the determining, according to the starting storage address and the virtual file, a first storage block unit and an offset address of the data to be stored in the first storage block unit includes:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be stored in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
Optionally, before the target node receives the storage command sent by the target terminal through the connection corresponding to the virtual file stored in the target node, the method further includes:
the target node receives a connection establishment request sent by the target terminal according to parameters of a virtual file, wherein the connection establishment request comprises a file identifier of the virtual file, and the virtual file is a virtual file stored by the target node;
and the target node establishes connection with the terminal and configures the virtual file to correspond to the connection.
In a third aspect, the present application provides a method of reading data, the method comprising:
a target node receives a reading command sent by a target terminal through a connection corresponding to a virtual file stored in the target node, wherein the target node is one of a plurality of preset nodes, the target terminal is one of at least one terminal corresponding to the target node, the virtual file is stored in each node of the plurality of nodes, the file identification of the virtual file in each node is the same, the parameters of the virtual file in each node are different, the parameters of the virtual file comprise the virtual address and the port number of the virtual file, the reading command comprises the data volume of data to be read and the initial storage address of the data to be read, and the connection is the connection between the target terminal and the target node;
the target node determines a first storage block unit and an offset address of the data to be read in the first storage block unit according to the starting storage address and the virtual file, wherein the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
the target node reads the data to be read from the first storage block unit according to the offset address and the data volume;
and the target node sends the data to be read to the terminal.
Optionally, the determining, by the target node, a first storage block unit and an offset address of the data to be read in the first storage block unit according to the starting storage address and the virtual file includes:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be stored in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
Optionally, before the target node receives the read command sent by the target terminal through the connection corresponding to the virtual file stored in the target node, the method further includes:
the target node receives a connection establishment request sent by the target terminal, wherein the connection establishment request comprises a file identifier of the virtual file, and the connection establishment request is sent by the target terminal according to the stored parameters of the virtual file in the target node;
and the target node establishes connection with the terminal and configures the virtual file to correspond to the connection.
In a fourth aspect, the present application provides an apparatus for storing data, the apparatus comprising:
a receiving module, configured to receive a storage command sent by a target terminal through a connection corresponding to a virtual file stored in the receiving module, where the device is one node in a preset plurality of nodes, the target terminal is one terminal in at least one terminal corresponding to the device, the virtual file is stored in each node in the plurality of nodes, file identifiers of the virtual files in each node are the same, parameters of the virtual files in each node are different, the parameters of the virtual files include virtual addresses and port numbers of the virtual files, the storage command includes data to be stored and a starting storage address of the data to be stored, and the connection is a connection between the target terminal and the device;
a determining module, configured to determine, according to the starting storage address and the virtual file, a first storage block unit and an offset address of the data to be stored in the first storage block unit, where the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
and the storage module is used for storing the data to be stored in the first storage block unit according to the offset address.
Optionally, the determining module is configured to:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be stored in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
Optionally, the apparatus further comprises an establishing module;
the receiving module is further configured to receive a connection establishment request sent by the target terminal according to parameters of a virtual file, where the connection establishment request includes a file identifier of the virtual file, and the virtual file is a virtual file stored in the apparatus;
and the establishing module is used for establishing connection with the terminal and configuring the virtual file to correspond to the connection.
In a fifth aspect, the present application provides an apparatus for reading data, the apparatus comprising:
a receiving module, configured to receive a read command sent by a target terminal through a connection corresponding to a virtual file stored in the receiving module, where the device is one node in a preset plurality of nodes, the target terminal is one terminal in at least one terminal corresponding to the device, the virtual file is stored in each node in the plurality of nodes, a file identifier of the virtual file in each node is the same, parameters of the virtual file in each node are different, the parameters of the virtual file include a virtual address and a port number of the virtual file, the read command includes a data amount of data to be read and a starting storage address of the data to be read, and the connection is a connection between the target terminal and the device;
a determining module, configured to determine, according to the starting storage address and the virtual file, a first storage block unit and an offset address of the data to be read in the first storage block unit, where the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
the reading module is used for reading the data to be read from the first storage block unit according to the offset address and the data volume;
and the sending module is used for sending the data to be read to the terminal.
Optionally, the determining module is configured to:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be stored in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
Optionally, the apparatus further comprises an establishing module;
the receiving module is further configured to receive a connection establishment request sent by the target terminal, where the connection establishment request includes a file identifier of the virtual file, and the connection establishment request is sent by the target terminal according to the stored parameters of the virtual file in the device;
the establishing module is further configured to establish a connection with the terminal, and configure the virtual file to correspond to the connection.
The technical scheme provided by the embodiment of the application can have the following beneficial effects:
the same virtual file is stored in the nodes, so that the terminals corresponding to the virtual file are distributed to the nodes, each node can be connected with the corresponding terminal, and when each terminal needs to store or read data, the data are stored or read through the corresponding node, so that the connection between the terminals corresponding to the virtual file and the same node can be avoided, the terminals are prevented from storing or reading data through the same node, and the occurrence of overloaded nodes is avoided.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
Fig. 1 is a schematic structural diagram of a storage system according to an embodiment of the present application;
FIG. 2 is a schematic structural diagram of another storage system provided in an embodiment of the present application;
FIG. 3 is a schematic structural diagram of another storage system provided in an embodiment of the present application;
FIG. 4 is a flow chart of a method for storing data according to an embodiment of the present disclosure;
FIG. 5 is a flowchart of a method for reading data according to an embodiment of the present disclosure;
FIG. 6 is a schematic structural diagram of an apparatus for storing data according to an embodiment of the present disclosure;
FIG. 7 is a schematic structural diagram of an apparatus for reading data according to an embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of a node according to an embodiment of the present application.
With the above figures, there are shown specific embodiments of the present application, which will be described in more detail below. These drawings and written description are not intended to limit the scope of the inventive concepts in any manner, but rather to illustrate the inventive concepts to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
Referring to fig. 1, an embodiment of the present application provides a storage system, where the storage system includes:
the system comprises a plurality of nodes 1, at least one terminal 2 corresponding to each node 1 in the plurality of nodes and a cloud storage platform 3;
each node 1 stores at least one same virtual file, the file identification of the virtual file in each node 1 is the same, the parameters of the virtual file in each node 1 are different, and the parameters of the virtual file comprise the virtual address and the port number of the virtual file;
at least one terminal corresponding to the target node stores the parameters of the virtual file in the target node, wherein the target node is any one of the plurality of nodes;
the cloud storage platform 3 comprises at least one storage block unit corresponding to the file identifier of the virtual file;
and a connection exists between the target terminal and the target node, the target terminal is any one of at least one terminal corresponding to the target node, the connection is established by the target terminal according to the stored parameters of the virtual file, and the connection corresponds to the virtual file in the target node.
The cloud storage platform 3 includes at least one storage block unit corresponding to each of the at least one virtual file.
The cloud storage platform 3 stores a corresponding relationship between the file identifier and the unit identifier, where the corresponding relationship is used to store a corresponding relationship between the file identifier of the virtual file corresponding to the virtual disk and the unit identifier of each storage block unit corresponding to the virtual disk.
Referring to fig. 1, the cloud storage platform 3 includes a metadata cluster 31 and a storage cluster 32, where the metadata cluster 31 stores a correspondence between file identifiers and unit identifiers, and the storage cluster 32 includes at least one storage block unit corresponding to each virtual disk.
For example, referring to fig. 2, it is assumed that the storage system includes a first node, a second node, and a third node, the first node corresponds to the terminal 1, the terminal 2, and the terminal 3, the second node corresponds to the terminal 4 and the terminal 5, and the third node corresponds to the terminal 6, the terminal 7, and the terminal 8.
The first node, the second node and the third node all store virtual files with file identifications of ID 1. The first parameters of the virtual file in the first node include a virtual address IP1 and a Port number Port1, and the first parameters are stored in each of the terminal 1, the terminal 2, and the terminal 3. The second parameters of the virtual file in the second node include the virtual address IP2 and the Port number Port2, and the second parameters are stored in both the terminal 4 and the terminal 5. The third parameters of the virtual file in the third node include a virtual address IP3 and a Port number Port3, and the third parameters are stored in the terminal 6, the terminal 7 and the terminal 8.
First connection, second connection and third connection are respectively established between the first node and the terminal 1, between the first node and the terminal 2 and between the first node and the terminal 3, and the first connection, the second connection and the third connection correspond to the virtual file in the first node. The first connection, the second connection and the third connection are established by the terminal 1, the terminal 2 and the terminal 3, respectively, according to the first parameter.
A fourth connection and a fifth connection are respectively established between the second node and the terminal 4 and the terminal 5, and both the fourth connection and the fifth connection correspond to the virtual file in the second node. The fourth connection and the fifth connection are established by the terminal 4 and the terminal 5, respectively, according to the second parameters.
A sixth connection, a seventh connection and an eighth connection are respectively established between the third node and the terminal 6, between the terminal 7 and the terminal 8, and correspond to the virtual file in the third node. The sixth connection, the seventh connection and the eighth connection are respectively established by the terminal 6, the terminal 7 and the terminal 8 according to the third parameter.
A plurality of storage block units corresponding to the virtual file identification ID1 are included in the cloud storage platform.
Optionally, referring to fig. 3, the storage system further includes: a management server 4;
the management server 4 is configured to receive a parameter request message sent by a target terminal before connection is established, where the parameter request message includes a file identifier of the virtual file, determine, according to the file identifier, a load size of each node in which the virtual file is stored, select a node according to the load size of each node, and send a parameter of the virtual file in the node to the target terminal.
Optionally, the management server 4 includes a first corresponding relationship table of the file identifier and the device identifier and a second corresponding relationship table of the device identifier and the load size, where the first corresponding relationship table is used to store the file identifier of the virtual file in the node and the device identifier of the node, and the second corresponding relationship table is used to store the device identifier of the node and the load size of the node;
the management server 4 is configured to obtain, according to the file identifier, a device identifier of each node including the virtual file from the first mapping table, and obtain the device identifier of each node, and obtain the load size of each node from the second mapping table.
Optionally, the management server may select a node with the smallest load size, obtain the parameter of the virtual file corresponding to the file identifier from the node, and send the parameter of the virtual file in the node to the target terminal.
When the target terminal receives the parameters of the virtual file, the connection with the target node can be established, and the detailed process is as follows:
the target terminal sends a connection establishment request, which includes the parameters of the virtual file, i.e. the target address and the target port number in the connection establishment request are the virtual address and the port number included in the parameters of the virtual file, respectively, so that the connection request message is routed to the target node.
And the target node receives the connection establishment request, establishes connection with the target terminal, and configures the address and the port number of the connection at the target node side as the virtual address and the port number included in the parameters of the virtual file.
Alternatively, the connection may be a long connection.
The virtual file in the target node is not a real virtual file, and the virtual file may be a program, and the program is configured to intercept a command sent by the terminal to read data or store data, and then store the data in the cloud storage platform 3 or read the data from the cloud storage platform 3.
For example, assume that the terminal 1 sends a connection establishment request whose destination address and destination Port number are the virtual address IP1 and Port number Port1 included in the parameters of the virtual file, respectively, so that the connection request message is routed to the first node. The first node receives the connection establishment request, establishes a first connection with the terminal 1, and configures an address and a Port number of the first connection at the first node as a virtual address IP1 and a Port number Port1 included in the parameters of the virtual file. The second, third, … …, eighth connections are established in the same manner as described above.
Wherein, for each terminal, the connection between the terminal and the node also corresponds to the virtual disk included in the terminal. The virtual disk in the terminal is not a real physical disk, and the actual storage space corresponding to the virtual disk is located in the cloud storage platform 3, that is, the actual storage space corresponding to the virtual disk is at least one storage block unit corresponding to the virtual file in the cloud storage platform 3.
Referring to fig. 4, the storage system may be used to store data, and the process of storing data may be:
step 101: the target terminal obtains data to be stored and an initial storage address of the data to be stored in a virtual disk included in the target terminal, and sends a storage command to the target node through a connection corresponding to the virtual disk, wherein the storage command includes the data to be stored and the initial storage address.
The target node is any node in the storage system, and the target terminal is any terminal in at least one terminal corresponding to the target node.
The user can input the data to be stored to the target terminal, and can also input the initial storage address of the data to be stored in the virtual disk to the target terminal. Or, the occupied space capacity in the virtual disk may be stored in the target terminal, and when data to be stored that needs to be stored in the virtual disk is received, the initial storage address of the data to be stored in the virtual disk may be determined according to the occupied space capacity.
Step 102: and the target node receives a storage command sent by the terminal through the connection, wherein the storage command comprises data to be stored and an initial storage address of the data to be stored, and determines a virtual file corresponding to the connection.
The virtual file is a virtual file corresponding to the virtual disk in the target node. And the virtual file has a corresponding file identifier.
Step 103: and the target node determines the offset addresses of the storage block unit and the data to be stored in the first storage block unit according to the initial storage address and the virtual file.
Specifically, the target node acquires at least one unit identifier corresponding to the virtual file from the corresponding relationship between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file; and determining a storage block unit from the storage block units corresponding to each unit identifier as a first storage block unit and an offset address of data to be stored in the first storage block unit according to the initial storage address and the capacity of the storage block unit.
Wherein, the capacity of each storage block unit in the cloud storage platform can be equal. Assume that the starting storage address of the data to be stored in the virtual disk is at the position of 7G, and the capacity of each storage block unit is 5G. Thus, according to the initial storage address and the capacity of the storage block unit, the determined first storage block unit is the second storage block unit corresponding to the virtual file, and the offset address of the data to be stored in the storage block unit is 2G.
Step 104: and the target node stores the data to be stored in the first storage block unit according to the offset address.
For example, the target node may store the data to be stored in the second storage block unit corresponding to the virtual file according to the location of the 2G.
In the embodiment of the application, as the same virtual file is stored in the plurality of nodes, the plurality of terminals corresponding to the virtual file are allocated to the plurality of nodes, each node can be connected with the corresponding terminal, and when each terminal needs to store data, the data is stored through the corresponding node, so that the connection between the plurality of terminals corresponding to the virtual file and the same node can be avoided, the plurality of terminals are prevented from storing data through the same node, and further, the occurrence of overloaded nodes is avoided.
Referring to fig. 5, the above-mentioned storage system may also be used to read data, and the process of reading data may be as follows:
step 201: the target terminal obtains the initial storage address of the data to be read in the virtual disk included in the target terminal and the data volume of the data to be read, and sends a reading command to the node through the connection corresponding to the virtual disk, wherein the reading command includes the initial storage address and the data volume of the data to be read.
The target node is any node in the storage system, and the target terminal is any terminal in at least one terminal corresponding to the target node.
The user can directly input the initial storage address and the data volume of the data to be read in the virtual disk to the terminal.
Correspondingly, the terminal receives the initial storage address of the data to be read in the virtual disk and the data volume of the data to be read, which are input by a user, determines the connection corresponding to the virtual disk, and sends a read command to the target node through the determined connection, wherein the read command comprises the initial storage address and the data volume of the data to be stored.
Step 202: and the target node receives a reading command sent by the target terminal through the connection, wherein the reading command comprises the initial storage address and the data volume of the data to be read, and the virtual file corresponding to the connection is determined.
Step 203: and the target node determines the offset address of the first storage block unit and the data to be read in the first storage block unit according to the initial storage address and the virtual file.
Specifically, the target node obtains at least one unit identifier corresponding to the virtual disk from a corresponding relationship between a file identifier and a unit identifier stored in a cloud storage platform according to the file identifier of the virtual file; and determining a storage block unit from the storage block units corresponding to each unit identifier as a first storage block unit and an offset address of the data to be read in the first storage block unit according to the starting target address and the capacity of the storage block unit.
Wherein, the capacity of each storage block unit in the cloud storage platform can be equal. Assume that the starting storage address of the data to be stored in the virtual disk is at the position of 7G, and the capacity of each storage block unit is 5G. Thus, according to the initial storage address and the capacity of the storage block unit, the determined first storage block unit is the second storage block unit corresponding to the virtual file, and the offset address of the data to be read in the first storage block unit is 2G.
Step 204: and the target node reads the data to be read from the first storage block unit according to the offset address and the data volume of the data to be read, and sends the data to be read to the terminal.
For example, assuming 2M of data to be read, the target node may read the 2M data to be read from the second storage block unit corresponding to the virtual file according to the position of the 2G, and send the data to be read to the target terminal through the connection.
In the embodiment of the application, as the same virtual file is stored in the plurality of nodes, the plurality of terminals corresponding to the virtual file are distributed to the plurality of nodes, each node can be connected with the corresponding terminal, and when each terminal needs to read data, the data is read through the corresponding node, so that the connection between the terminal corresponding to the virtual file and the same node can be avoided, the plurality of terminals can be prevented from reading the data through the same node, and further, the occurrence of overloaded nodes is avoided.
The following are embodiments of the apparatus of the present application that may be used to perform embodiments of the method of the present application. For details which are not disclosed in the embodiments of the apparatus of the present application, reference is made to the embodiments of the method of the present application.
Referring to fig. 6, an embodiment of the present application provides an apparatus 300 for storing data, where the apparatus 300 includes:
a receiving module 301, configured to receive a storage command sent by a target terminal through a connection corresponding to a virtual file stored in the receiving module, where the device is one node in a preset plurality of nodes, the target terminal is one terminal in at least one terminal corresponding to the device, each node in the plurality of nodes stores the virtual file, a file identifier of the virtual file in each node is the same, parameters of the virtual file in each node are different, the parameters of the virtual file include a virtual address and a port number of the virtual file, the storage command includes data to be stored and a starting storage address of the data to be stored, and the connection is a connection between the target terminal and the device;
a determining module 302, configured to determine, according to the starting storage address and the virtual file, a first storage block unit and an offset address of the data to be stored in the first storage block unit, where the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
a storage module 303, configured to store the data to be stored in the first storage block unit according to the offset address.
Optionally, the determining module 302 is configured to:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be stored in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
Optionally, the apparatus 300 further comprises an establishing module;
the receiving module 301 is further configured to receive a connection establishment request sent by the target terminal according to a parameter of a virtual file, where the connection establishment request includes a file identifier of the virtual file, and the virtual file is a virtual file stored in the apparatus;
the establishing module is used for establishing connection with the terminal and configuring the virtual file to correspond to the connection.
Referring to fig. 7, an embodiment of the present application provides an apparatus 400 for reading data, where the apparatus 400 includes:
a receiving module 401, configured to receive, through a connection corresponding to a virtual file stored in the receiving module, a read command sent by a target terminal, where the device is one node in a preset plurality of nodes, the target terminal is one terminal in at least one terminal corresponding to the device, the virtual file is stored in each node in the plurality of nodes, a file identifier of the virtual file in each node is the same, parameters of the virtual file in each node are different, the parameters of the virtual file include a virtual address and a port number of the virtual file, the read command includes a data amount of data to be read and a starting storage address of the data to be read, and the connection is a connection between the target terminal and the device;
a determining module 402, configured to determine, according to the starting storage address and the virtual file, a first storage block unit and an offset address of the data to be read in the first storage block unit, where the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
a reading module 403, configured to read the data to be read from the first memory block unit according to the offset address and the data amount;
a sending module 404, configured to send the data to be read to the terminal.
Optionally, the determining module 402 is configured to:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be stored in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
Optionally, the apparatus 400 further includes an establishing module;
the receiving module 401 is further configured to receive a connection establishment request sent by the target terminal, where the connection establishment request includes a file identifier of the virtual file, and the connection establishment request is sent by the target terminal according to the stored parameters of the virtual file in the device;
the establishing module is further configured to establish a connection with the terminal, and configure the virtual file to correspond to the connection.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Fig. 8 is a block diagram illustrating a structure of a node 500 according to an exemplary embodiment of the present invention. The node 500 may be a server or a computer or the like. The computer may be a desktop computer or a notebook computer, etc.
In general, node 500 includes: a processor 501 and a memory 502.
The processor 501 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so on. The processor 501 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 501 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also called a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 501 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, processor 501 may also include an AI (Artificial Intelligence) processor for processing computational operations related to machine learning.
Memory 502 may include one or more computer-readable storage media, which may be non-transitory. Memory 502 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 502 is used to store at least one instruction for execution by processor 501 to implement the methods provided by the method embodiments herein.
In some embodiments, the node 500 may further optionally include: a peripheral interface 503 and at least one peripheral. The processor 501, memory 502 and peripheral interface 503 may be connected by a bus or signal lines. Each peripheral may be connected to the peripheral interface 503 by a bus, signal line, or circuit board. Specifically, the peripheral device includes: at least one of radio frequency circuitry 504, touch screen display 505, camera 506, audio circuitry 507, positioning components 508, and power supply 509.
The peripheral interface 503 may be used to connect at least one peripheral related to I/O (Input/Output) to the processor 501 and the memory 502. In some embodiments, the processor 501, memory 502, and peripheral interface 503 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 501, the memory 502, and the peripheral interface 503 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.
The Radio Frequency circuit 504 is used for receiving and transmitting RF (Radio Frequency) signals, also called electromagnetic signals. The radio frequency circuitry 504 communicates with communication networks and other communication devices via electromagnetic signals. The rf circuit 504 converts an electrical signal into an electromagnetic signal to transmit, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 504 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 so forth. The radio frequency circuitry 504 may communicate with other nodes via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to: the world wide web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), Wireless local area networks, and/or WiFi (Wireless Fidelity) networks. In some embodiments, the rf circuit 504 may further include NFC (Near Field Communication) related circuits, which are not limited in this application.
The display screen 505 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display screen 505 is a touch display screen, the display screen 505 also has the ability to capture touch signals on or over the surface of the display screen 505. The touch signal may be input to the processor 501 as a control signal for processing. At this point, the display screen 505 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard. In some embodiments, the display screen 505 may be one, providing the front panel of the node 500; in other embodiments, the display screens 505 may be at least two, respectively disposed on different surfaces of the node 500 or in a folded design; in still other embodiments, the display 505 may be a flexible display, disposed on a curved surface or on a folded surface of the node 500. Even more, the display screen 505 can be arranged in a non-rectangular irregular figure, i.e. a shaped screen. The Display screen 505 may be made of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), and other materials.
The camera assembly 506 is used to capture images or video. Optionally, camera assembly 506 includes a front camera and a rear camera. Typically, the front camera is disposed on the front panel of the node and the rear camera is disposed on the back of the node. In some embodiments, the number of the rear cameras is at least two, and each rear camera is any one of a main camera, a depth-of-field camera, a wide-angle camera and a telephoto camera, so that the main camera and the depth-of-field camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize panoramic shooting and VR (Virtual Reality) shooting functions or other fusion shooting functions. In some embodiments, camera assembly 506 may also include a flash. The flash lamp can be a monochrome temperature flash lamp or a bicolor temperature flash lamp. The double-color-temperature flash lamp is a combination of a warm-light flash lamp and a cold-light flash lamp, and can be used for light compensation at different color temperatures.
Audio circuitry 507 may include a microphone and a speaker. The microphone is used for collecting sound waves of a user and the environment, converting the sound waves into electric signals, and inputting the electric signals to the processor 501 for processing, or inputting the electric signals to the radio frequency circuit 504 to realize voice communication. For stereo acquisition or noise reduction purposes, the microphones may be multiple and disposed at different locations of the node 500. The microphone may also be an array microphone or an omni-directional pick-up microphone. The speaker is used to convert electrical signals from the processor 501 or the radio frequency circuit 504 into sound waves. The loudspeaker can be a traditional film loudspeaker or a piezoelectric ceramic loudspeaker. When the speaker is a piezoelectric ceramic speaker, the speaker can be used for purposes such as converting an electric signal into a sound wave audible to a human being, or converting an electric signal into a sound wave inaudible to a human being to measure a distance. In some embodiments, audio circuitry 507 may also include a headphone jack.
The positioning component 508 is operable to locate a current geographic Location of the node 500 for navigation or LBS (Location Based Service). The Positioning component 508 may be a Positioning component based on the Global Positioning System (GPS) in the united states, the beidou System in china, or the galileo System in russia.
Power supply 509 is used to power the various components in node 500. The power source 509 may be alternating current, direct current, disposable or rechargeable. When power supply 509 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, node 500 also includes one or more sensors 510. The one or more sensors 510 include, but are not limited to: acceleration sensor 511, gyro sensor 512, pressure sensor 513, fingerprint sensor 514, optical sensor 515, and proximity sensor 516.
The acceleration sensor 511 may detect the magnitude of acceleration on three coordinate axes of the coordinate system established with the node 500. For example, the acceleration sensor 511 may be used to detect components of the gravitational acceleration in three coordinate axes. The processor 501 may control the touch screen 505 to display the user interface in a landscape view or a portrait view according to the gravitational acceleration signal collected by the acceleration sensor 511. The acceleration sensor 511 may also be used for acquisition of motion data of a game or a user.
The gyro sensor 512 may detect a body direction and a rotation angle of the node 500, and the gyro sensor 512 may cooperate with the acceleration sensor 511 to acquire a 3D motion of the user on the node 500. The processor 501 may implement the following functions according to the data collected by the gyro sensor 512: motion sensing (such as changing the UI according to a user's tilting operation), image stabilization at the time of photographing, game control, and inertial navigation.
The pressure sensors 513 may be disposed on the side frames of the node 500 and/or underneath the touch screen display 505. When the pressure sensor 513 is disposed on the side frame of the node 500, the holding signal of the user to the node 500 can be detected, and the processor 501 performs left-right hand recognition or shortcut operation according to the holding signal collected by the pressure sensor 513. When the pressure sensor 513 is disposed at the lower layer of the touch display screen 505, the processor 501 controls the operability control on the UI interface according to the pressure operation of the user on the touch display screen 505. The operability control comprises at least one of a button control, a scroll bar control, an icon control and a menu control.
The fingerprint sensor 514 is used for collecting a fingerprint of the user, and the processor 501 identifies the identity of the user according to the fingerprint collected by the fingerprint sensor 514, or the fingerprint sensor 514 identifies the identity of the user according to the collected fingerprint. Upon recognizing that the user's identity is a trusted identity, the processor 501 authorizes the user to perform relevant sensitive operations including unlocking the screen, viewing encrypted information, downloading software, paying, and changing settings, etc. The fingerprint sensor 514 may be disposed on the front, back, or side of the node 500. When a physical key or vendor Logo is provided on the node 500, the fingerprint sensor 514 may be integrated with the physical key or vendor Logo.
The optical sensor 515 is used to collect the ambient light intensity. In one embodiment, the processor 501 may control the display brightness of the touch screen 505 based on the ambient light intensity collected by the optical sensor 515. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 505 is increased; when the ambient light intensity is low, the display brightness of the touch display screen 505 is turned down. In another embodiment, processor 501 may also dynamically adjust the shooting parameters of camera head assembly 506 based on the ambient light intensity collected by optical sensor 515.
A proximity sensor 516, also known as a distance sensor, is typically disposed on the front panel of the node 500. The proximity sensor 516 is used to gather the distance between the user and the front of the node 500. In one embodiment, when the proximity sensor 516 detects that the distance between the user and the front surface of the node 500 gradually decreases, the processor 501 controls the touch display screen 505 to switch from the bright screen state to the dark screen state; when the proximity sensor 516 detects that the distance between the user and the front surface of the node 500 becomes gradually larger, the processor 501 controls the touch display screen 505 to switch from the screen-rest state to the screen-on state.
Those skilled in the art will appreciate that the architecture shown in FIG. 8 does not constitute a limitation of node 500, and may include more or fewer components than shown, or combine certain components, or employ a different arrangement of components.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (11)

1. A storage system, comprising:
the system comprises a plurality of nodes, at least one terminal corresponding to each node in the plurality of nodes and a cloud storage platform;
each node stores at least one same virtual file, the file identifiers of the virtual files in each node are the same, the parameters of the virtual files in each node are different, and the parameters of the virtual files comprise the virtual addresses and the port numbers of the virtual files;
each terminal corresponding to a target node stores parameters of the virtual file in the target node, wherein the target node is any one of the nodes;
the cloud storage platform comprises at least one storage block unit corresponding to the file identification of the virtual file;
and a connection exists between a target terminal and the target node, the target terminal is any one of at least one terminal corresponding to the target node, and the connection corresponds to the virtual file in the target node.
2. The storage system of claim 1, further comprising: a management server;
the management server is configured to receive a parameter request message sent by the target terminal, where the parameter request message includes a file identifier of the virtual file, determine, according to the file identifier, a load size of each node in which the virtual file is stored, select a node according to the load size of each node, and send a parameter of the virtual file stored in the selected node to the target terminal.
3. The storage system according to claim 2, wherein the management server includes a first correspondence table of file identifiers and device identifiers and a second correspondence table of device identifiers and load sizes, the first correspondence table is used for storing file identifiers of virtual files in nodes and device identifiers of the nodes, and the second correspondence table is used for storing device identifiers of nodes and load sizes of the nodes;
the management server is configured to obtain, according to the file identifier, an equipment identifier of each node in the first correspondence table, where the virtual file is stored, and obtain, according to the equipment identifier of each node, a load size of each node in the second correspondence table.
4. A method of storing data, the method comprising:
a target node receives a storage command sent by a target terminal through a connection corresponding to a virtual file stored in the target node, the target node is one of a plurality of preset nodes, the target terminal is one of at least one terminal corresponding to the target node, the virtual file is stored in each node of the plurality of nodes, the file identification of the virtual file in each node is the same, the parameters of the virtual file in each node are different, the parameters of the virtual file comprise the virtual address and the port number of the virtual file, the storage command comprises data to be stored and the initial storage address of the data to be stored, and the connection is the connection between the target node and the target node;
the target node determines a first storage block unit and an offset address of the data to be stored in the first storage block unit according to the starting storage address and the virtual file, wherein the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
and the target node stores the data to be stored in the first storage block unit according to the offset address.
5. The method of claim 4, wherein determining a first storage block unit and an offset address of the data to be stored in the first storage block unit according to the starting storage address and the virtual file comprises:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be stored in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
6. The method according to claim 4 or 5, wherein before the target node receives the storage command sent by the target terminal through the connection corresponding to the virtual file stored in the target node, the method further comprises:
the target node receives a connection establishment request sent by the target terminal according to parameters of a virtual file, wherein the connection establishment request comprises a file identifier of the virtual file, and the virtual file is a virtual file stored by the target node;
and the target node establishes connection with the terminal and configures the virtual file to correspond to the connection.
7. A method of reading data, the method comprising:
a target node receives a reading command sent by a target terminal through a connection corresponding to a virtual file stored in the target node, wherein the target node is one of a plurality of preset nodes, the target terminal is one of at least one terminal corresponding to the target node, the virtual file is stored in each node of the plurality of nodes, the file identification of the virtual file in each node is the same, the parameters of the virtual file in each node are different, the parameters of the virtual file comprise the virtual address and the port number of the virtual file, the reading command comprises the data volume of data to be read and the initial storage address of the data to be read, and the connection is the connection between the target terminal and the target node;
the target node determines a first storage block unit and an offset address of the data to be read in the first storage block unit according to the starting storage address and the virtual file, wherein the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
the target node reads the data to be read from the first storage block unit according to the offset address and the data volume;
and the target node sends the data to be read to the terminal.
8. The method of claim 7, wherein the target node determining a first storage block unit and an offset address of the data to be read in the first storage block unit according to the starting storage address and the virtual file comprises:
acquiring at least one unit identifier corresponding to the virtual file from the corresponding relation between the file identifier and the unit identifier stored in the cloud storage platform according to the file identifier of the virtual file;
and determining a first storage block unit and an offset address of the data to be read in the first storage block unit from the storage block unit corresponding to each unit identifier according to the initial storage address and the capacity of the storage block unit.
9. The method according to claim 7 or 8, wherein before the target node receives the read command sent by the target terminal through the connection corresponding to the virtual file stored in the target node, the method further comprises:
the target node receives a connection establishment request sent by the target terminal, wherein the connection establishment request comprises a file identifier of the virtual file, and the connection establishment request is sent by the target terminal according to the stored parameters of the virtual file in the target node;
and the target node establishes connection with the terminal and configures the virtual file to correspond to the connection.
10. An apparatus for storing data, the apparatus comprising:
a receiving module, configured to receive a storage command sent by a target terminal through a connection corresponding to a virtual file stored in the receiving module, where the device is one node in a preset plurality of nodes, the target terminal is one terminal in at least one terminal corresponding to the device, the virtual file is stored in each node in the plurality of nodes, file identifiers of the virtual files in each node are the same, parameters of the virtual files in each node are different, the parameters of the virtual files include virtual addresses and port numbers of the virtual files, the storage command includes data to be stored and a starting storage address of the data to be stored, and the connection is a connection between the target terminal and the device;
a determining module, configured to determine, according to the starting storage address and the virtual file, a first storage block unit and an offset address of the data to be stored in the first storage block unit, where the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
and the storage module is used for storing the data to be stored in the first storage block unit according to the offset address.
11. An apparatus for reading data, the apparatus comprising:
a receiving module, configured to receive a read command sent by a target terminal through a connection corresponding to a virtual file stored in the receiving module, where the device is one node in a preset plurality of nodes, the target terminal is one terminal in at least one terminal corresponding to the device, the virtual file is stored in each node in the plurality of nodes, a file identifier of the virtual file in each node is the same, parameters of the virtual file in each node are different, the parameters of the virtual file include a virtual address and a port number of the virtual file, the read command includes a data amount of data to be read and a starting storage address of the data to be read, and the connection is a connection between the target terminal and the device;
a determining module, configured to determine, according to the starting storage address and the virtual file, a first storage block unit and an offset address of the data to be read in the first storage block unit, where the virtual file corresponds to at least one storage block unit in a cloud storage platform, and the first storage block unit is one of the at least one storage block unit;
the reading module is used for reading the data to be read from the first storage block unit according to the offset address and the data volume;
and the sending module is used for sending the data to be read to the terminal.
CN201811535840.2A 2018-12-14 2018-12-14 Storage system, data storage method, data reading method and device Active CN111324293B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811535840.2A CN111324293B (en) 2018-12-14 2018-12-14 Storage system, data storage method, data reading method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811535840.2A CN111324293B (en) 2018-12-14 2018-12-14 Storage system, data storage method, data reading method and device

Publications (2)

Publication Number Publication Date
CN111324293A CN111324293A (en) 2020-06-23
CN111324293B true CN111324293B (en) 2022-08-05

Family

ID=71162926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811535840.2A Active CN111324293B (en) 2018-12-14 2018-12-14 Storage system, data storage method, data reading method and device

Country Status (1)

Country Link
CN (1) CN111324293B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114244855B (en) * 2020-09-08 2024-01-02 腾讯科技(深圳)有限公司 Fingerprint file storage method, device, equipment and readable storage medium
CN112069089B (en) * 2020-09-11 2022-09-27 杭州海康威视系统技术有限公司 Method and device for recycling storage blocks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902620A (en) * 2003-12-02 2007-01-24 交互式内容引擎有限责任公司 Virtual file system
CN101827121A (en) * 2010-03-12 2010-09-08 成都市华为赛门铁克科技有限公司 Method, service end and system for creating files in RAID (Redundant Array of Independent Disk)
CN102012933A (en) * 2010-12-02 2011-04-13 清华大学 Distributed file system and method for storing data and providing services by utilizing same
CN104603739A (en) * 2012-08-30 2015-05-06 微软公司 Block-level access to parallel storage

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032050B2 (en) * 2012-10-31 2015-05-12 Vmware, Inc. Systems and methods for accelerating remote data retrieval via peer nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902620A (en) * 2003-12-02 2007-01-24 交互式内容引擎有限责任公司 Virtual file system
CN101827121A (en) * 2010-03-12 2010-09-08 成都市华为赛门铁克科技有限公司 Method, service end and system for creating files in RAID (Redundant Array of Independent Disk)
CN102012933A (en) * 2010-12-02 2011-04-13 清华大学 Distributed file system and method for storing data and providing services by utilizing same
CN104603739A (en) * 2012-08-30 2015-05-06 微软公司 Block-level access to parallel storage

Also Published As

Publication number Publication date
CN111324293A (en) 2020-06-23

Similar Documents

Publication Publication Date Title
CN108833607B (en) Physical address acquisition method, device and readable medium
CN111225042A (en) Data transmission method and device, computer equipment and storage medium
CN112492097B (en) Audio playing method, device, terminal and computer readable storage medium
CN110659127A (en) Method, device and system for processing task
CN110288689B (en) Method and device for rendering electronic map
CN111031170A (en) Method, apparatus, electronic device and medium for selecting communication mode
CN112256320A (en) Version number generation method, device, terminal and storage medium
CN110636144A (en) Data downloading method and device
CN109783176B (en) Page switching method and device
CN111385525B (en) Video monitoring method, device, terminal and system
CN111324293B (en) Storage system, data storage method, data reading method and device
CN111897465B (en) Popup display method, device, equipment and storage medium
CN110086814B (en) Data acquisition method and device and storage medium
CN111008083A (en) Page communication method and device, electronic equipment and storage medium
CN113282243B (en) Method and device for storing object file
CN110471613B (en) Data storage method, data reading method, device and system
CN111694521B (en) Method, device and system for storing file
CN110708582B (en) Synchronous playing method, device, electronic equipment and medium
CN111369434B (en) Method, device, equipment and storage medium for generating spliced video covers
CN110851435B (en) Data storage method and device
CN111158791A (en) Configuration file updating method, device and system and storage medium
CN111193600B (en) Method, device and system for taking over service
CN112260845A (en) Method and device for accelerating data transmission
CN111163262B (en) Method, device and system for controlling mobile terminal
CN111246147B (en) Video caching method, device, terminal and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant