CN117135171A - Cloud storage method and system - Google Patents

Cloud storage method and system Download PDF

Info

Publication number
CN117135171A
CN117135171A CN202310361519.1A CN202310361519A CN117135171A CN 117135171 A CN117135171 A CN 117135171A CN 202310361519 A CN202310361519 A CN 202310361519A CN 117135171 A CN117135171 A CN 117135171A
Authority
CN
China
Prior art keywords
storage
data
file
user
information
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.)
Pending
Application number
CN202310361519.1A
Other languages
Chinese (zh)
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310361519.1A priority Critical patent/CN117135171A/en
Publication of CN117135171A publication Critical patent/CN117135171A/en
Pending legal-status Critical Current

Links

Classifications

    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application provides a cloud storage method and a cloud storage system. The method comprises the following steps: receiving a first write request for first data sent by a first terminal, wherein the first data is structured data, and the first data belongs to a first user; converting the first writing request into a first file writing request for file storage, wherein the first file writing request comprises first storage file information of first data to be written; reading first metadata corresponding to a first storage file and first storage configuration information corresponding to a first user; acquiring a first write address and first authorization information for accessing the first write address according to the first metadata and the first storage configuration information; according to the first authorization information, the first data is stored in a first write address of the first remote storage device. Therefore, the data sharing of the user in the plurality of cloud storage devices can be realized, the user does not need to divide the storage space for each data manually, and the storage experience of the user is improved.

Description

Cloud storage method and system
Technical Field
The present application relates to the field of terminal devices, and in particular, to a cloud storage method and system.
Background
Cloud storage is an important application of current terminal devices. Currently, a terminal (also referred to as an electronic device) directly interacts with a cloud storage server of a cloud storage server to perform cloud storage. I.e. the terminal stores data directly onto the cloud storage server or reads data directly from the storage server.
In this technology, the storage of individuals in a plurality of different cloud storage servers is independent, and different data needs to be manually divided and stored in different storage spaces of the cloud storage servers.
Disclosure of Invention
In order to solve the technical problems, the application provides the cloud storage method and the cloud storage system, which can realize data sharing of users in a plurality of cloud storage devices, and the users do not need to divide storage space for each data manually, so that the storage experience of the users is improved.
In a first aspect, the present application provides a cloud storage method. The method is applied to a cloud storage control server, and comprises the following steps: receiving a first write request for first data sent by a first terminal, wherein the first data is structured data, and the first data belongs to a first user; converting the first writing request into a first file writing request for storing files, wherein the first file writing request comprises first stored file information of first data to be written, and the first stored file is a file corresponding to a first user in a file system; reading first metadata corresponding to a first storage file and first storage configuration information corresponding to a first user; acquiring a first write address and first authorization information for accessing the first write address according to the first metadata and the first storage configuration information, wherein the first write address belongs to a first storage space corresponding to a first storage file in a first remote storage device; according to the first authorization information, the first data is stored in a first write address of the first remote storage device. Therefore, the data sharing of the user in the plurality of cloud storage devices can be realized, the user does not need to divide the storage space for each data manually, and the storage experience of the user is improved.
According to a first aspect, further comprising: receiving a second write request for second data sent by the first terminal, wherein the second data is unstructured data, and the second data belongs to the first user; determining second storage file information to be written into second data, wherein the second storage file is a file corresponding to the first user in the file system; reading second metadata corresponding to the second storage file and first storage configuration information corresponding to the first user; acquiring a second write address and second authorization information for accessing the second write address according to the second metadata and the first storage configuration information, wherein the second write address belongs to a second storage space corresponding to the second storage file in the second remote storage device; and storing the second data to a second write address of the second remote storage device according to the second authorization information.
According to a first aspect, further comprising: receiving a first reading request for third data sent by a first terminal, wherein the third data is structured data, and the third data belongs to a first user; converting the first reading request into a first file reading request for file storage, wherein the first file reading request comprises third stored file information for storing third data, and the third stored file is a file corresponding to a first user in a file system; reading third metadata corresponding to a third storage file and first storage configuration information corresponding to a first user; acquiring a first read address and third authorization information for accessing the first read address according to the third metadata and the first storage configuration information, wherein the first read address belongs to a third storage space corresponding to a third storage file in a third remote storage device, and the third data is stored in the first read address; reading third data from the first read address of the third remote storage device according to the third authorization information; and transmitting the third data to the first terminal.
According to a first aspect, further comprising: receiving a first reading request for third data sent by a first terminal, wherein the third data is structured data, and the third data belongs to a first user; converting the first reading request into a first file reading request for file storage, wherein the first file reading request comprises third stored file information for storing third data, and the third stored file is a file corresponding to a first user in a file system; reading third metadata corresponding to a third storage file and first storage configuration information corresponding to a first user; acquiring a first read address and third authorization information for accessing the first read address according to the third metadata and the first storage configuration information, wherein the first read address belongs to a third storage space corresponding to a third storage file in a third remote storage device, and the third data is stored in the first read address; and transmitting the first read address and the third authorization information to the first terminal so that the first terminal reads the third data from the first read address of the third remote storage device according to the third authorization information.
According to a first aspect, further comprising: receiving a second read request for fourth data sent by the first terminal, wherein the fourth data is unstructured data and belongs to the first user; determining fourth storage file information stored with fourth data, wherein the fourth storage file is a file corresponding to the first user in the file system; reading fourth data corresponding to the fourth storage file and first storage configuration information corresponding to the first user; acquiring a second read address and fourth authorization information for accessing the second read address according to the fourth metadata and the first storage configuration information, wherein the second read address belongs to a fourth storage space corresponding to a fourth storage file in fourth remote storage equipment, and the fourth data is stored in the second read address; reading fourth data from a second read address of the fourth remote storage device according to the fourth authorization information; and transmitting the fourth data to the first terminal.
According to a first aspect, further comprising: receiving a second read request for fourth data sent by the first terminal, wherein the fourth data is unstructured data and belongs to the first user; determining fourth storage file information stored with fourth data, wherein the fourth storage file is a file corresponding to the first user in the file system; reading fourth data corresponding to the fourth storage file and first storage configuration information corresponding to the first user; acquiring a second read address and fourth authorization information for accessing the second read address according to the fourth metadata and the first storage configuration information, wherein the second read address belongs to a fourth storage space corresponding to a fourth storage file in fourth remote storage equipment, and the fourth data is stored in the second read address; and transmitting the second read address and the fourth authorization information to the first terminal so that the first terminal reads the fourth data from the second read address of the fourth remote storage device according to the fourth authorization information.
According to a first aspect, further comprising: receiving a third write request for fifth data sent by the first terminal, wherein the fifth data is structured data, and belongs to the first user; converting the third writing request into a second file writing request for file storage, wherein the second file writing request comprises fifth storage file information of fifth data to be written, and the fifth storage file is a file corresponding to the first user in the file system; if the metadata corresponding to the fifth storage file does not exist, reading first storage configuration information corresponding to the first user; generating fifth data corresponding to the fifth storage file according to the space use strategy in the first configuration information and storing the fifth data; according to the fifth data and the fifth storage configuration information, a third write address and fifth authorization information for accessing the third write address are obtained, wherein the third write address belongs to a fifth storage space corresponding to a fifth storage file in a fifth remote storage device; and storing the fifth data to a third write address of the fifth remote storage device according to the fifth authorization information.
According to a first aspect, further comprising: receiving a fourth write request for sixth data sent by the first terminal, wherein the sixth data is unstructured data and belongs to the first user; determining sixth storage file information to be written with sixth data, wherein the sixth storage file is a file corresponding to a first user in a file system; if the metadata corresponding to the sixth storage file does not exist, reading first storage configuration information corresponding to the first user; generating and storing sixth metadata corresponding to a sixth storage file according to the space use strategy in the first storage configuration information; according to the sixth metadata and the sixth storage configuration information, a fourth write address and sixth authorization information for accessing the fourth write address are acquired, wherein the fourth write address belongs to a sixth storage space corresponding to a sixth storage file in a sixth remote storage device; and storing the sixth data to a fourth write address of the sixth remote storage device according to the sixth authorization information.
According to a first aspect, the space usage policy comprises any one or more of the following policies: storing according to the order of priority from high to low; storing data belonging to the target application in a first preset storage device; and using the second preset storage device as a mirror image.
According to a first aspect, according to first metadata and first storage configuration information, obtaining a first write address and first authorization information for accessing the first write address includes: determining a first remote storage device corresponding to the first storage file according to the first metadata; acquiring first target authorization information for accessing the first remote storage device from the first storage configuration information; transmitting the first file write request and the first target authorization information to the first remote storage device through the first plug-in; and receiving a first write address returned by the first remote storage device through the first plug-in and first authorization information for accessing the first write address.
According to a first aspect, further comprising: receiving a fifth write request for seventh data sent by the first terminal, wherein the seventh data is structured data, and the seventh data belongs to the first user; converting the fifth writing request into a third file writing request for file storage, wherein the third file writing request comprises seventh storage file information to be written with seventh data, and the seventh storage file is a file corresponding to the first user in the file system; reading seventh metadata corresponding to the seventh storage file and first storage configuration information corresponding to the first user; according to the seventh metadata and the first storage configuration information, a fifth write address and seventh authorization information for accessing the fifth write address are acquired, wherein the fifth write address belongs to a seventh storage space corresponding to the seventh storage file in the first local storage device; and according to the seventh authorization information, storing the seventh data into a fifth write address of the first local storage device through the second plug-in.
According to a first aspect, further comprising: receiving a sixth write request for eighth data sent by the first terminal, wherein the eighth data is unstructured data and belongs to the first user; determining eighth storage file information to be written with eighth data, wherein the eighth storage file is a file corresponding to a first user in a file system; reading eighth metadata corresponding to the eighth storage file and first storage configuration information corresponding to the first user; according to the eighth metadata and the first storage configuration information, a sixth write address and eighth authorization information for accessing the sixth write address are acquired, wherein the sixth write address belongs to an eighth storage space corresponding to the eighth storage file in the second local storage device; and according to the eighth authorization information, storing the eighth data into a sixth write address of the second local storage device through the third plug-in.
According to a first aspect, further comprising: receiving a sixth write request for eighth data sent by the first terminal, wherein the eighth data is unstructured data and belongs to the first user; determining eighth storage file information to be written with eighth data, wherein the eighth storage file is a file corresponding to a first user in a file system; reading eighth metadata corresponding to the eighth storage file and first storage configuration information corresponding to the first user; according to the eighth metadata and the first storage configuration information, a sixth write address, a first local write address, eighth authorization information for accessing the sixth write address and first local authorization information for accessing the first local write address are acquired, the sixth write address belongs to an eighth storage space corresponding to the eighth storage file in the second local storage device, and the sixth write address is identical to a physical space corresponding to the first local write address; and transmitting the sixth write address, the first local write address, the eighth authorization information and the first local authorization information to the first terminal, so that the first terminal stores eighth data into the sixth write address of the second local storage device through the third plug-in unit according to the eighth authorization information, or the first terminal stores eighth data into the first local write address of the second local storage device through the local area network according to the first local authorization information.
According to a first aspect, further comprising: receiving a third read request for ninth data sent by the first terminal, wherein the ninth data is structured data, and the ninth data belongs to the first user; determining ninth storage file information stored with ninth data, wherein the ninth storage file is a file corresponding to the first user in the file system; reading ninth metadata corresponding to the ninth storage file and first storage configuration information corresponding to the first user; according to the ninth metadata and the first storage configuration information, a third read address and ninth authorization information for accessing the third read address are acquired, wherein the third read address belongs to a ninth storage space corresponding to the ninth storage file in the third local storage device; according to the ninth authorization information, reading ninth data from a third read address of the third local storage device through the fourth plug-in unit; and transmitting the ninth data to the first terminal.
According to a first aspect, further comprising: receiving a fourth read request for tenth data sent by the first terminal, wherein the tenth data is unstructured data, and belongs to the first user; determining tenth stored file information stored with tenth data, wherein the tenth stored file is a file corresponding to the first user in the file system; reading tenth metadata corresponding to the tenth storage file and first storage configuration information corresponding to the first user; according to the tenth metadata and the first storage configuration information, a fourth read address and tenth authorization information for accessing the fourth read address are acquired, wherein the fourth read address belongs to a tenth storage space corresponding to a tenth storage file in fourth local storage equipment; according to the tenth authorization information, reading tenth data from a fourth read address of the fourth local storage device through the fifth plug-in unit; and transmitting the tenth data to the first terminal.
According to a first aspect, further comprising: receiving a fourth read request for tenth data sent by the first terminal, wherein the tenth data is unstructured data, and belongs to the first user; determining tenth stored file information stored with tenth data, wherein the tenth stored file is a file corresponding to the first user in the file system; reading tenth metadata corresponding to the tenth storage file and first storage configuration information corresponding to the first user; according to tenth metadata and first storage configuration information, a fourth read address, a first local read address, tenth authorization information for accessing the fourth read address and second local authorization information for accessing the first local read address are obtained, the fourth read address belongs to a tenth storage space corresponding to a tenth storage file in fourth local storage equipment, and the fourth read address is identical to a physical space corresponding to the first local read address; and transmitting the fourth read address, the first local read address, tenth authorization information and second local authorization information to the first terminal, so that the first terminal reads tenth data from the fourth read address of the fourth local storage device through the fifth plug-in unit according to the tenth authorization information, or the first terminal reads tenth data from the first local read address of the fourth local storage device through the local area network according to the second local authorization information.
According to a first aspect, the first data is data of a first application, and the first storage file is a file corresponding to the first application of the first user in the file system.
According to a first aspect, the first data is data of a first function of a first application, and the first storage file is a file corresponding to the first function of the first application of the first user in the file system.
According to a first aspect, the first remote storage device is a cloud storage server or a local storage device.
According to the first aspect, the cloud storage control server stores therein storage configuration information including correspondence between storage devices and authorization information for accessing the storage devices, and metadata including correspondence between users, storage files, and the corresponding storage devices.
In a second aspect, the present application provides a cloud storage system, further comprising a terminal, a cloud storage control server, and a storage device, wherein: the terminal is used for sending a cloud storage related request to the cloud storage control server; the cloud storage control server is used for reading data from the storage equipment according to the request and returning the data to the terminal; or for writing data to the storage device upon request; and the storage device is used for returning the data requested to be read to the cloud storage control server or storing the data written by the cloud storage control server.
In a third aspect, the present application provides an electronic device comprising: a memory and a processor, the memory coupled to the processor; the memory stores program instructions that, when executed by the processor, cause the electronic device to perform the cloud storage method of any of the first aspects.
In a fourth aspect, the present application provides a computer readable storage medium comprising a computer program which, when run on an electronic device, causes the electronic device to perform the cloud storage method of any of the preceding aspects.
Drawings
FIG. 1A is a schematic diagram illustrating a cloud storage mode in the related art;
fig. 1B is a diagram schematically showing one configuration example of a cloud storage control server in the present embodiment;
FIG. 2 is a diagram illustrating an example of a process of storing structured data in the present embodiment;
FIG. 3 is a schematic diagram illustrating virtual storage space and corresponding actual storage space for different users;
FIG. 4 is a diagram schematically showing an example of a process of storing unstructured data in the present embodiment;
FIG. 5 is a diagram schematically showing an example of a reading process of structured data in the present embodiment;
FIG. 6 is a diagram schematically showing an example of a reading process of unstructured data in the present embodiment;
FIG. 7 is a timing diagram corresponding to FIG. 2, shown schematically;
FIG. 8A is a timing diagram corresponding to FIG. 4, shown schematically;
FIG. 8B is another timing diagram corresponding to FIG. 4, shown schematically;
fig. 9 is a timing diagram corresponding to fig. 5, which is exemplarily shown;
FIG. 10A is a timing diagram corresponding to FIG. 6, shown schematically;
fig. 10B is another timing diagram corresponding to fig. 6, which is exemplarily shown.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone.
The terms first and second and the like in the description and in the claims of embodiments of the application, are used for distinguishing between different objects and not necessarily for describing a particular sequential order of objects. For example, the first target object and the second target object, etc., are used to distinguish between different target objects, and are not used to describe a particular order of target objects.
In embodiments of the application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the description of the embodiments of the present application, unless otherwise indicated, the meaning of "a plurality" means two or more. For example, the plurality of processing units refers to two or more processing units; the plurality of systems means two or more systems.
Fig. 1A is a schematic diagram illustrating a cloud storage manner in the related art. Referring to fig. 1A, in the related art, structured data and unstructured data are stored separately, wherein the structured data is stored in a database, and the unstructured data is stored in a file storage system.
Fig. 1B is a diagram schematically showing one configuration example of a cloud storage control server in the present embodiment. Referring to fig. 1B, in this embodiment, the cloud storage control server may include a storage synchronization service module, a storage engine module, a storage configuration database, and a metadata database. Wherein the storage synchronization service module comprises an embedded database engine.
The storage configuration database stores storage configuration information, and the metadata database stores metadata. The storage configuration information comprises a corresponding relation of the storage device and the authorization information for accessing the storage device, and the metadata comprises the corresponding relation of the user, the storage file and the corresponding storage device.
In this embodiment, the structured data is stored in the file storage space through the embedded database engine, and a virtual storage space is established for each user, allowing the user to map multiple cloud storages into the virtual storage space by means of service association, third party plug-ins, and the like.
In this embodiment, the overall process of cloud storage may include the following steps:
the terminal requests storage or synchronization;
the storage synchronization service module converts the request into a read-write request for file storage;
the storage engine reads the storage configuration information and the metadata and determines a cloud storage server corresponding to the file and related authorization information;
initiating a storage read-write request through a plug-in unit to acquire a temporary read-write address and authorization information;
the forwarding terminal reads and writes the address and the authorization information;
the terminal or the embedded database engine initiates file read-write operation.
The cloud storage process is described in detail below for structured data and unstructured data, respectively.
Fig. 2 is a diagram schematically showing an example of a process of storing structured data in the present embodiment. Fig. 7 is a timing diagram corresponding to fig. 2, which is exemplarily shown. Referring to fig. 2 and 7, in this embodiment, the storing process of the structured data may include the following steps:
s201, the handset 1 sends a write request 1 for the structured data a to the storage synchronization service module.
The write request 1 includes data a to be stored. The write request 1 may further include user information of the user X that issued the write request 1, and may further include an application name APP2 of the application 2 to which the data a belongs.
S202, the storage synchronization service module sends the write request 1 to the embedded database engine.
The storage synchronization service module is provided with 2 interfaces, one for receiving various requests for structured data, referred to herein as a first interface, and the other for receiving various requests for unstructured data, referred to herein as a second interface.
For various requests for structured data, i.e., requests received by the first interface, the storage synchronization service module forwards the requests to the embedded database engine so that the embedded database engine can store the structured data in a file.
S203, the embedded database engine converts the write request 1 into a write request 2 for file storage.
Wherein the write request 2 includes the file name of the storage file 1 to which the data a is to be written. The storage file 1 is used for storing data of APP2 of the user X. In this embodiment, both the read request and the write request may include user information and application information to which data belongs, for example, data a belongs to APP2, and may further include function information to which data belongs, so that a storage file corresponding to the data may be determined according to the user information, the application information, and/or the function information.
According to the embodiment, through the embedded database engine, data of different users and apps can be written into different data files. In the application, the isolation can be selected according to different functional modes of a user, or a user+App, or a user+App+.
The user isolation refers to storing all data of the same user in one file, namely, one user corresponds to one file, and the corresponding relation is as follows: user-store file. In this way, the storage file to which the data corresponds can be determined based on the user information included in the request.
Isolation according to user+App means that all data of the same user are stored in different files according to App, namely, each App data of the same user is stored in one file, and the corresponding relation is as follows: user+app—store file. In this way, the storage file corresponding to the data can be determined according to the user information and the application information to which the data belongs, which are included in the request.
Isolation according to different functions of the user+App+ means that data of different functions of the same App of the same user are stored in different files, namely, data of each function of the same App of the same user are stored in one file, and the corresponding relation is as follows: user+app+ function—store file. In this way, the storage file corresponding to the data can be determined according to the user information, the application information to which the data belongs, and the function information to which the data belongs, which are included in the request.
The embedded database engine may employ an open source engine such as sqlite, leveldb, supporting various data structures such as SQL (Structured Query Language ), K-V (key-value), columnar storage, etc. An implementation based on LSM (Log Structured Merge Tree) is typically chosen because typically cloud storage services do not provide the ability to append data, and the changed data is saved in incremental files by the LSM. These delta files would first be generated locally and synchronized by the storage engine into other storage media/cloud storage servers in the storage space.
And when the service is idle, the embedded database engine calls each storage medium/cloud storage server interface to combine the incremental data so as to accelerate the inquiry and reduce the occupation of the storage space.
Steps S201 to S203 correspond to the process indicated by the number 1 in fig. 7 (i.e., (1) in fig. 7, and the numbers are written directly for convenience of description.
S204, the embedded database engine sends the write request 2 to the storage engine module.
This step corresponds to the process indicated by reference numeral 2 in fig. 7.
S205, the storage engine module reads metadata 1 corresponding to the storage file 1 from the metadata database, and determines the cloud storage server M corresponding to the storage file 1 according to the metadata 1.
This step corresponds to the process indicated by reference numeral 3 in fig. 7.
The storage file 1 corresponds to the cloud storage server M, which means that the data of the storage file 1 is actually stored in the cloud storage server M.
The metadata includes the correspondence between the user, the storage file and the corresponding storage device. That is, the metadata stores correspondence information between virtual storage spaces and actual storage spaces of the respective users.
Wherein each user's virtual storage space may store a virtual storage file representation of that user's respective application (abbreviated APP). In this way, the data of the same user can be isolated according to the application.
Taking the example of the user X, the correspondence information between the storage file and the actual storage space (i.e., the corresponding storage device) in the metadata may be as shown in table 1.
TABLE 1
Virtual storage space for user X The actual storage space of user X
APP1 storage file Cloud storage server M and cloud storage server N
APP2 storage file Cloud storage server M
APP3 storage file Cloud storage server N
APP4 storage file Local storage
…… ……
Taking the APP1 storage file in table 1 as an example, the data of APP1 of the user X is stored in the APP1 storage file, where the APP1 storage file is a virtual storage file, and the actual storage space corresponding to the APP1 storage file includes a storage space for storing APP1 data, which belongs to the user X, in the cloud storage server M, and a storage space for storing APP1 data, which belongs to the user X, in the cloud storage server N.
In this embodiment, the cloud storage control server may establish a virtual storage space for each user.
Fig. 3 is a schematic diagram illustrating virtual storage spaces and corresponding actual storage spaces of different users. According to fig. 3, the virtual memory space of the user X includes an APP1 memory file, an APP2 memory file, an APP3 memory file, and an APP4 memory file. The actual storage space of the APP1 storage file of the user X is located in the cloud storage server M and the cloud storage server N, the actual storage space of the APP2 storage file of the user X is located in the cloud storage server M, the actual storage space of the APP3 storage file of the user X is located in the cloud storage server N, and the actual storage space of the APP4 storage file of the user X is located in the local storage device.
With continued reference to fig. 3, the virtual storage space of the user Y includes an APP1 storage file, an APP2 storage file, and an APP3 storage file. The actual storage space of the APP1 storage file of the user Y is located in the cloud storage server M, the cloud storage server N and the local storage device, the actual storage space of the APP2 storage file of the user Y is located in the cloud storage server M and the local storage device, and the actual storage space of the APP3 storage file of the user Y is located in the cloud storage server N and the local storage device.
As can be seen from fig. 3, the virtual storage spaces of different users are isolated from each other.
S206, the storage engine module reads the storage configuration information corresponding to the user X to which the data a belongs from the storage configuration database, and acquires the authorization information 11 for accessing the cloud storage server M from the storage configuration information.
This step corresponds to the process indicated by reference number 4 in fig. 7.
The storage configuration information in the storage configuration database stores authorization information of each storage device, for example, a cloud storage server, as shown in table 2. These authorization information are used to verify, authenticate, etc. the access to the storage device.
TABLE 2
S207, the storage engine module sends authorization information 11 and write request 2 to the cloud storage server M through plug-in a.
This step corresponds to the process indicated by reference numeral 5 in fig. 7.
S208, the cloud storage server M sends the write address 1 and the authorization information 12 to the storage engine module through the plug-in a.
This step corresponds to the process indicated by reference number 6 in fig. 7.
Cloud storage server
The plug-in is a driver, and the plug-in is a combination of a mapping relation and processing logic between an interface of the storage engine module and an interface of the cloud storage server.
S209, the storage engine module sends the write address 1 and the authorization information 12 to an embedded database engine in the storage synchronization service module.
This step corresponds to the process indicated by reference numeral 7 in fig. 7.
S210, the embedded database engine sends a write request 3 including data a to the cloud storage server M, where the write request 3 includes a write address 1 and authorization information 12.
This step corresponds to the process indicated by reference numeral 8 in fig. 7.
S211, the cloud storage server M writes the data a to the write address 1.
It should be noted that, in the embodiment shown in fig. 2, if the storage device corresponding to the storage file 1 is not a remote storage device (not in the same local area network as the mobile phone) such as the cloud storage server M, but is a local storage device/system, the steps corresponding to the solid lines numbered 5, 6, and 8 in fig. 7 are replaced with the steps corresponding to the broken lines numbered 5, 6, and 8 in fig. 7, respectively. In the dashed line step corresponding to number 8, the embedded database engine, after obtaining write address 1, accesses write address 1 through plug-in C to write data a into write address 1 of the local storage device/system.
In fig. 7 to fig. 10B, the local storage device/system is externally served by a long connection or an intranet penetration, that is, the local storage device/system communicates with the storage engine where the plug-in C is located by a long connection or an intranet penetration, etc. The local storage device/system and the mobile phone are in the same local area network, and the mobile phone can discover the local storage device/system through the local area network and transmit nearby.
As can be seen from the storage process of the embodiment shown in fig. 2, for the storage of structured data, the embedded database engine converts a write request for structured data into a write request for file storage, and the data is stored in the actual storage location by the embedded database engine.
It should be noted that, in the embodiment shown in fig. 2, the metadata database includes metadata 1 corresponding to the storage file 1, because the embodiment shown in fig. 2 is not the first data of the storage APP 2. If the data of the APP2 is stored for the first time, the metadata database does not contain the metadata 1 corresponding to the storage file 1, at this time, the storage file 1 needs to be created, the metadata 1 corresponding to the storage file 1 is generated, and then the metadata 1 is stored in the metadata database.
Therefore, when the embodiment shown in fig. 2 is a case of storing the data of APP2 for the first time, steps S1 and S2 as follows need to be added before step S205:
S1, if metadata corresponding to the storage file 1 does not exist, reading storage configuration information corresponding to a user X;
s2, generating metadata 1 corresponding to the storage file 1 according to a space use strategy in the storage configuration information corresponding to the user X, and storing the metadata 1 into a metadata database.
Similarly, the following embodiments refer to the case of writing or reading APP data for the first time, and the processing manner is the same as that described above, that is, metadata is first generated, and then the actual physical storage space corresponding to the storage file is obtained according to the metadata.
The storage configuration information of the storage configuration database may further include a space usage policy, where the space usage policy may be used to indicate a priority order of storage when the storage files of the same APP correspond to storage devices of a plurality of entities. For example, in fig. 3, the spatial usage policy of APP1 of user X may be as shown in table 3.
TABLE 3 Table 3
Cloud storage server Storage priority
Cloud storage server M 1
Cloud storage server N 2
Wherein the larger the value of the priority, the higher the priority. Thus, the priority of the cloud storage server N is higher than that of the cloud storage server M. Therefore, although according to fig. 3, the actual storage space corresponding to the APP1 storage file of the user X includes the storage space located in the cloud storage server M and the storage space located in the cloud storage server N, in the case where the storage space in the cloud storage server N is free, the storage space in the cloud storage server N is preferentially stored. In this way, the storage location of the data b determined in step S303 is located in the cloud storage server N, not in the cloud storage server M.
In this embodiment, through the virtual storage space, a space usage policy may be formulated for different apps, cloud storage or local storage, such as: preferably using local network storage, and secondly, service provider N, or App4 must be stored in local storage, app3 must be stored in service provider N, or using local storage as a mirror image, and so on.
In application, the above multi-level memory structure can be implemented in the following manner:
(1) The underlying storage medium or cloud storage service may be considered a physical disk;
(2) The plurality of physical disks can be combined into a mirror image storage space similar to RAID1/RAID10 specification or into a certain redundant storage space similar to RAID5 specification by error correction code mode;
(3) Unlike traditional RAID, the capacity of each storage medium or cloud storage service is not required to be ensured to be equal, the data is still subjected to mirroring and redundancy error correction by taking a file as a unit, and a single storage medium or cloud storage service can simultaneously provide mirroring or redundancy error correction capability for a plurality of storage spaces;
the user may specify that App is stored in a particular memory space as described above.
Fig. 4 is a diagram illustrating an example of a storage process of unstructured data in the present embodiment. Fig. 8A is a timing diagram corresponding to fig. 4, which is exemplarily shown. Referring to fig. 4 and 8A, in this embodiment, the storing process of unstructured data may include the following steps:
S401, the handset 1 sends a write request 4 for unstructured data b to the storage synchronization service module.
The write request 4 includes data b to be stored. The write request 4 may further include user information of the user X who issued the write request 4, and may further include an application name APP1 of the application 1 to which the data b belongs.
Step S401 corresponds to the process indicated by reference numeral 1 in fig. 8A.
S402, the storage synchronization service module sends a write request 4 to the storage engine module.
Step S402 corresponds to the process indicated by reference numeral 2 in fig. 8A.
S403, the storage engine module reads metadata 2 corresponding to the storage file 2 from the metadata database, and determines a cloud storage server N corresponding to the storage file 2 according to the metadata 2.
Step S403 corresponds to the process indicated by reference numeral 3 in fig. 8A.
The detailed process of determining the storage device corresponding to the storage file according to the metadata is referred to the description of step S205, and will not be repeated here.
S404, the storage engine module reads the storage configuration information corresponding to the user X to which the data b belongs from the storage configuration database, and acquires the authorization information 21 for accessing the cloud storage server N from the storage configuration information.
Step S404 corresponds to the process indicated by reference numeral 4 in fig. 8A.
The detailed process of searching the authorization information corresponding to the storage device according to the storage configuration information is referred to the description of step S206, and will not be repeated here.
S405, the storage engine module sends authorization information 21 and a write request 4 to the cloud storage server N through the plug-in B.
Step S405 corresponds to the process indicated by reference numeral 5 in fig. 8A.
S406, the cloud storage server N sends the write address 2 and the authorization information 22 to the storage engine module through the plug-in B.
Step S406 corresponds to the process indicated by reference numeral 6 in fig. 8A.
S407, the storage engine module sends the write address 2 and the authorization information 22 to the storage synchronization service module.
Step S407 corresponds to the process indicated by reference numeral 7 in fig. 8A.
S408, the storage synchronization service module forwards the write address 2 and the authorization information 22 to the mobile phone 1.
Step S408 corresponds to the process indicated by reference numeral 8 in fig. 8A.
The storage engine module forwards the write address 2 and the authorization information 22 to the handset 1 via the storage synchronization service module.
S409, the mobile phone 1 sends a write request 5 including the data b to the cloud storage server N, where the write request 5 includes the write address 2 and the authorization information 22.
Step S409 corresponds to the process indicated by reference numeral 9 in fig. 8A.
S410, the cloud storage server N writes the data b to the write address 2.
Fig. 8B is another timing diagram corresponding to fig. 4, which is exemplarily shown. In another example, steps S408 and S409 in the embodiment shown in fig. 4 may be replaced with step S1 as follows:
S1, the storage synchronization service module sends a write request 5 comprising data b to the cloud storage server N, wherein the write request 5 comprises a write address 2 and authorization information 22.
Step S1 corresponds to the process indicated by reference numeral 8 in fig. 8B.
Therefore, the data b is directly stored in the cloud storage server N by the storage synchronization service module, the interaction process with the mobile phone is reduced, and the processing speed is improved.
It should be noted that, in the embodiment shown in fig. 4, if the storage device corresponding to the storage file 2 is not the cloud storage server N, but is a local storage device/system, the step corresponding to the solid line numbered 9 in fig. 8A is replaced with the step corresponding to the broken line numbered 9 in fig. 8A accordingly. In the dashed line step corresponding to number 9, the handset accesses the local storage device/system via the lan and write address 2 is the lan local write address. In other embodiments, the handset may also use a remote access address to write data to write address 2 by accessing the local storage device/system through plug-in C. It should be noted that, the mobile phone accesses the local storage device/system through the plug-in C, and needs to use the remote access address of the local storage device/system to access the local storage device/system, and the mobile phone directly accesses the local storage device/system, and uses the local access address in the local area network of the local storage device/system, that is, the local access address.
Likewise, the step corresponding to the solid line numbered 8 in fig. 8B is replaced by the step corresponding to the broken line numbered 8 in fig. 8B. In the dashed line step corresponding to the number 8, the storage synchronization service module, after obtaining the write address 2, accesses the write address 2 through the plug-in C to write the data b into the write address 2 of the local storage device/system.
According to the storage process of the embodiment shown in fig. 4, for the storage of unstructured data, the storage synchronization service module does not need to go through an embedded database engine, the storage synchronization service module forwards a write request of unstructured data to the storage engine module, the storage engine module forwards a write address to the mobile phone 1 after acquiring the write address for storing the data, and the mobile phone 1 stores the data in an actual storage position.
Fig. 5 is a diagram illustrating an example of a reading process of structured data in the present embodiment, which is exemplarily shown. Fig. 9 is a timing chart corresponding to fig. 5, which is exemplarily shown. Referring to fig. 5 and 9, in this embodiment, the process of reading the structured data may include the following steps:
s501, the handset 1 sends a read request 6 for the structured data c to the storage synchronization service module.
The read request 6 may include user information of the user X that issued the read request 6, and may further include an application name APP2 of the application 2 to which the data c belongs.
S502, the storage synchronization service module sends a read request 6 to the embedded database engine.
S503, the embedded database engine converts the read request 6 into a read request 7 for file storage.
The read request 7 includes the storage file 1 corresponding to the data c
Steps S501 to S503 correspond to the process indicated by the number 1 in fig. 9.
S504, the embedded database engine sends a read request 7 to the storage engine module.
Step S504 corresponds to the process indicated by reference numeral 2 in fig. 9.
S505, the storage engine module reads metadata 1 corresponding to the storage file 1 from the metadata database, and determines the cloud storage server M corresponding to the storage file 1 according to the metadata 1.
Step S505 corresponds to the process indicated by reference numeral 3 in fig. 9.
S506, the storage engine module reads the storage configuration information corresponding to the user X to which the data c belongs from the storage configuration database, and acquires the authorization information 11 for accessing the cloud storage server M from the storage configuration information.
Step S506 corresponds to the process indicated by reference numeral 4 in fig. 9.
S507, the storage engine module sends authorization information 11 and a read request 7 to the cloud storage server M through the plug-in a.
Step S507 corresponds to the process indicated by reference numeral 5 in fig. 9.
S508, the cloud storage server M sends the read address 3 and the authorization information 12 to the storage engine module through the plug-in a.
Step S508 corresponds to the process indicated by reference numeral 6 in fig. 9. S509, the storage engine module sends the read address 3 and the authorization information 12 to the embedded database engine in the storage synchronization service module.
Step S509 corresponds to the process indicated by reference numeral 7 in fig. 9.
S510, the embedded database engine sends a read request 8 requesting to read the data c to the cloud storage server M, where the read request 8 includes the read address 3 and the authorization information 12.
Step S510 corresponds to the process indicated by reference numeral 8 in fig. 9.
S511, the cloud storage server M reads the data c from the read address 3, and returns the data c to the embedded database engine.
Step S511 corresponds to the process indicated by reference numeral 9 in fig. 9.
And S512, the embedded database engine transmits the data c to the mobile phone 1 through the storage synchronization service module.
Step S512 corresponds to the process indicated by reference numeral 10 in fig. 9.
It should be noted that, in the embodiment shown in fig. 5, if the storage device corresponding to the storage file 1 is not the cloud storage server M, but is a local storage device/system, the steps corresponding to the solid lines numbered 8 and 9 in fig. 9 are replaced by the steps corresponding to the broken lines numbered 8 and 9 in fig. 9 (the two-way broken line, the step represented by the number 8 pointing to the direction of the card C, and the step represented by the number 9 in the opposite direction). In the dashed steps corresponding to numbers 8, 9, the embedded database engine, after obtaining the read address 3, accesses the read address 3 via the plug-in C to read the data C from the read address 3 of the local storage device/system.
As can be seen from the storage process of the embodiment shown in fig. 5, for the reading of the structured data, the embedded database engine converts the read request for the structured data into a read request for the file storage, and the embedded database engine reads the data from the actual storage location and then sends the data to the mobile phone.
Fig. 6 is a diagram illustrating an example of a reading process of unstructured data in the present embodiment. Fig. 10A is a timing diagram corresponding to fig. 6, which is exemplarily shown. Referring to fig. 6 and 10A, in this embodiment, the process of reading unstructured data may include the following steps:
s601, the handset 1 sends a read request 9 for unstructured data d to the storage synchronization service module.
Step S601 corresponds to the process indicated by reference numeral 1 in fig. 10A.
The read request 9 may include user information of the user X that issued the read request 9, and may further include an application name APP1 of the application 1 to which the data d belongs.
S602, the storage synchronization service module sends a read request 9 to the storage engine module.
Step S602 corresponds to the process indicated by reference numeral 2 in fig. 10A.
The storage synchronization service module may determine, according to the user information of the user X requesting 9 and the application name APP1 of the application 1 to which the data d belongs, that the storage file corresponding to the data d is the storage file 2.
S603, the storage engine module reads metadata 2 corresponding to the storage file 2 from the metadata database, and determines a cloud storage server N corresponding to the storage file 2 according to the metadata 2.
Step S603 corresponds to the process indicated by reference numeral 3 in fig. 10A.
S604, the storage engine module reads the storage configuration information corresponding to the user X to which the data d belongs from the storage configuration database, and acquires the authorization information 21 for accessing the cloud storage server N from the storage configuration information.
Step S604 corresponds to the process indicated by reference numeral 4 in fig. 10A.
S605, the storage engine module sends authorization information 21 and a read request 9 to the cloud storage server N through the plug-in B.
Step S605 corresponds to the process indicated by reference numeral 5 in fig. 10A.
S606, the cloud storage server N sends the read address 4 and the authorization information 22 to the storage engine module through the plug-in B.
Step S606 corresponds to the process indicated by reference numeral 6 in fig. 10A.
S607, the storage engine module sends the read address 4 and the authorization information 22 to the storage synchronization service module.
Step S607 corresponds to the process indicated by reference numeral 7 in fig. 10A.
S608, the storage synchronization service module forwards the read address 4 and the authorization information 22 to the handset 1.
Step S608 corresponds to the process indicated by reference numeral 8 in fig. 10A.
S609, the mobile phone 1 sends a read request 10 requesting to read the data d to the cloud storage server N, where the read request 10 includes the read address 4 and the authorization information 22.
Step S609 corresponds to the process indicated by reference numeral 9 in fig. 10A.
S610, the cloud storage server N reads the data d from the read address 4, and returns the data d to the mobile phone 1.
Step S610 corresponds to the process indicated by reference numeral 10 in fig. 10A.
Fig. 10B is another timing diagram corresponding to fig. 6, which is exemplarily shown. Referring to fig. 10B, in other embodiments, after the storage synchronization service module receives the read address 4 and the authorization information 22, a read request 10 requesting the read data d may be sent to the cloud storage server N, where the read request 10 includes the read address 4 and the authorization information 22. Then, the cloud storage server N reads the data d from the read address 4, and returns the data d to the storage synchronization service module, which returns the data d to the mobile phone 1.
In fig. 7 to 10B, the dashed lines indicate timings corresponding to the respective numbers when the storage device is a local storage device. At this point, the storage engine module interacts with the local storage device through plug-in C.
It should be noted that, in the embodiment shown in fig. 6, if the storage device corresponding to the storage file 2 is not the cloud storage server N, but is a local storage device/system, the steps corresponding to the solid lines numbered 9 and 10 in fig. 10A are replaced with the steps corresponding to the broken lines numbered 9 and 10 in fig. 10A. In the dashed steps corresponding to the numbers 9, 10, the handset accesses the local storage device/system via the lan, and the read address 4 is the local read address of the lan. In other embodiments, the handset may also use a remote access address to access the local storage device/system via plug-in C to read data from the read address 4.
Similarly, the steps corresponding to the solid lines numbered 8 and 9 in fig. 10B are replaced with the steps corresponding to the broken lines numbered 8 and 9 in fig. 10B (the two-way broken line, the step represented by the number 8 in the direction toward the card C, and the step represented by the number 9 in the opposite direction). In the dashed steps corresponding to numbers 8, 9, the storage synchronization service module, after obtaining the read address 4, accesses the read address 4 via the local area network to read the data b from the read address 4 of the local storage device/system.
According to the storage process of the embodiment shown in fig. 6, for reading unstructured data, the storage synchronization service module does not need to go through an embedded database engine, the unstructured data is forwarded to the storage engine module, and after the storage engine module obtains a reading address for reading the data, the reading address is forwarded to the mobile phone 1, and the mobile phone 1 reads the data from an actual storage position.
It should be noted that, in the above embodiments, in order to distinguish the use of an address (for reading or writing) in each specific use process, whether it is a write address or a read address, the address is preceded by a word of "read" or "write".
The interaction process of the plug-in module of the storage engine module in the foregoing embodiment may also be completed through the terminal, for example, the plug-in module may be in session with the terminal through a separate channel, and notify the terminal to store the file in a certain storage medium, and notify the terminal of the specific stored identifier of the plug-in storage medium.
The embodiment has the following beneficial effects:
firstly, through the cloud storage control server, mapping between the virtual file storage space and the actual physical storage space is established, data sharing of users in a plurality of cloud storage devices is achieved, the users do not need to divide the storage space for each data manually, and storage experience of the users is improved.
Secondly, the local storage device/system can be home storage, company storage or other private storage, at this time, file type data is directly uploaded to the local storage device/system in a terminal local network, so that the bandwidth request of an external network is reduced, and meanwhile, the security is enhanced.
Note that, in the above embodiments, each operation performed by the cloud storage server is performed by a specific cloud storage server of the cloud storage server.
The principles of the above storage (read or write data) procedure apply equally to the synchronization procedure.
For example. Assuming that the mobile phone 1 and the mobile phone 2 are devices of the same user X, in the disconnected network state, the mobile phone 1 is newly added with a contact R, and the phone number of the contact R is increased. In the disconnected network state, the mobile phone 2 adds a contact person R in the page of the mobile phone 2, and adds address information of the contact person R.
After the mobile phone 1 and the mobile phone 2 are connected, the synchronization process can be as follows:
the mobile phone 1 sends a synchronization request 1 to a storage synchronization service module of the cloud storage control server, wherein the synchronization request 1 carries the telephone number of the contact person R;
the mobile phone 2 sends a synchronization request 2 to a storage synchronization service module of the cloud storage control server, wherein the synchronization request 2 carries address information of a contact person R;
the storing and synchronizing service module determines the information of the contact person R according to the synchronizing request 1 and the synchronizing request 2, wherein the determining of the information of the contact person R comprises the following steps: the telephone number of the contact person R and the address information of the contact person R;
the storage synchronization service module sends a synchronization response 1 to the mobile phone 1, and the information carrying the contact person R in the synchronization response 1 comprises the following steps: the telephone number of the contact person R and the address information of the contact person R;
the mobile phone 1 modifies the information of the contact person R in the mobile phone 1 into the following information according to the synchronous response 1: the telephone number of the contact person R and the address information of the contact person R;
the storage synchronization service module sends a synchronization response 2 to the mobile phone 2, and the information carrying the contact person R in the synchronization response 2 comprises the following steps: the telephone number of the contact person R and the address information of the contact person R;
the mobile phone 2 modifies the information of the contact person R in the mobile phone 2 into the following information according to the synchronous response 2: the telephone number of the contact person R, and the address information of the contact person R.
In this way, contact information synchronization is achieved.
The embodiment of the application also provides electronic equipment, which comprises a memory and a processor, wherein the memory is coupled with the processor, the memory stores program instructions, and when the program instructions are executed by the processor, the electronic equipment can realize the cloud storage method executed by the electronic equipment.
It will be appreciated that the electronic device, in order to achieve the above-described functions, includes corresponding hardware and/or software modules that perform the respective functions. The present application can be implemented in hardware or a combination of hardware and computer software, in conjunction with the example algorithm steps described in connection with the embodiments disclosed herein. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Those skilled in the art may implement the described functionality using different approaches for each particular application in conjunction with the embodiments, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The present embodiment also provides a computer storage medium having stored therein computer instructions that, when executed on an electronic device, cause the electronic device to perform the above-described related method steps to implement the cloud storage method in the above-described embodiments.
The present embodiment also provides a computer program product which, when run on a computer, causes the computer to perform the above-described related steps to implement the cloud storage method in the above-described embodiments.
In addition, the embodiment of the application also provides a device, which can be a chip, a component or a module, and can comprise a processor and a memory which are connected; the memory is used for storing computer-executable instructions, and when the device is operated, the processor can execute the computer-executable instructions stored in the memory, so that the chip executes the cloud storage method in each method embodiment.
The electronic device, the computer storage medium, the computer program product, or the chip provided in this embodiment are used to execute the corresponding methods provided above, so that the beneficial effects thereof can be referred to the beneficial effects in the corresponding methods provided above, and will not be described herein.
It will be appreciated by those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional modules is illustrated, and in practical application, the above-described functional allocation may be performed by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to perform all or part of the functions described above.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts shown as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
Any of the various embodiments of the application, as well as any of the same embodiments, may be freely combined. Any combination of the above is within the scope of the application.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The embodiments of the present application have been described above with reference to the accompanying drawings, but the present application is not limited to the above-described embodiments, which are merely illustrative and not restrictive, and many forms may be made by those having ordinary skill in the art without departing from the spirit of the present application and the scope of the claims, which are to be protected by the present application.
The steps of a method or algorithm described in connection with the present disclosure may be embodied in hardware, or may be embodied in software instructions executed by a processor. The software instructions may be comprised of corresponding software modules that may be stored in random access Memory (Random Access Memory, RAM), flash Memory, read Only Memory (ROM), erasable programmable Read Only Memory (Erasable Programmable ROM), electrically Erasable Programmable Read Only Memory (EEPROM), registers, hard disk, a removable disk, a compact disc Read Only Memory (CD-ROM), or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
Those skilled in the art will appreciate that in one or more of the examples described above, the functions described in the embodiments of the present application may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, these functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The embodiments of the present application have been described above with reference to the accompanying drawings, but the present application is not limited to the above-described embodiments, which are merely illustrative and not restrictive, and many forms may be made by those having ordinary skill in the art without departing from the spirit of the present application and the scope of the claims, which are to be protected by the present application.

Claims (23)

1. A cloud storage method, applied to a cloud storage control server, comprising:
receiving a first write request for first data sent by a first terminal, wherein the first data is structured data, and the first data belongs to a first user;
converting the first writing request into a first file writing request for storing files, wherein the first file writing request comprises first stored file information to be written into the first data, and the first stored file is a file corresponding to the first user in a file system;
reading first metadata corresponding to the first storage file and first storage configuration information corresponding to the first user;
acquiring a first write address and first authorization information for accessing the first write address according to the first metadata and the first storage configuration information, wherein the first write address belongs to a first storage space corresponding to the first storage file in a first remote storage device;
And storing the first data to the first write address of the first remote storage device according to the first authorization information.
2. The method as recited in claim 1, further comprising:
receiving a second write request for second data sent by a first terminal, wherein the second data is unstructured data, and the second data belongs to the first user;
determining second storage file information to be written into the second data, wherein the second storage file is a file corresponding to the first user in a file system;
reading second metadata corresponding to the second storage file and first storage configuration information corresponding to the first user;
acquiring a second write address and second authorization information for accessing the second write address according to the second metadata and the first storage configuration information, wherein the second write address belongs to a second storage space corresponding to the second storage file in a second remote storage device;
and storing the second data to the second write address of the second remote storage device according to the second authorization information.
3. The method as recited in claim 1, further comprising:
Receiving a second write request for second data sent by a first terminal, wherein the second data is unstructured data, and the second data belongs to the first user;
determining second storage file information to be written into the second data, wherein the second storage file is a file corresponding to the first user in a file system;
reading second metadata corresponding to the second storage file and first storage configuration information corresponding to the first user;
acquiring a second write address and second authorization information for accessing the second write address according to the second metadata and the first storage configuration information, wherein the second write address belongs to a second storage space corresponding to the second storage file in a second remote storage device;
and sending the second write address and the second authorization information to the first terminal so that the first terminal stores the second data into the second write address of the second remote storage device according to the second authorization information.
4. The method as recited in claim 1, further comprising:
receiving a first reading request for third data sent by a first terminal, wherein the third data is structured data, and the third data belongs to a first user;
Converting the first reading request into a first file reading request for file storage, wherein the first file reading request comprises third stored file information for storing third data, and the third stored file is a file corresponding to the first user in a file system;
reading third metadata corresponding to the third storage file and first storage configuration information corresponding to the first user;
acquiring a first read address and third authorization information for accessing the first read address according to the third metadata and the first storage configuration information, wherein the first read address belongs to a third storage space corresponding to the third storage file in a third remote storage device, and the third data is stored in the first read address;
reading the third data from the first read address of the third remote storage device according to the third authorization information;
and sending the third data to the first terminal.
5. The method as recited in claim 1, further comprising:
receiving a second read request for fourth data sent by a first terminal, wherein the fourth data is unstructured data and belongs to a first user;
Determining fourth storage file information stored with the fourth data, wherein the fourth storage file is a file corresponding to the first user in a file system;
reading fourth metadata corresponding to the fourth storage file and first storage configuration information corresponding to the first user;
acquiring a second read address and fourth authorization information for accessing the second read address according to the fourth metadata and the first storage configuration information, wherein the second read address belongs to a fourth storage space corresponding to the fourth storage file in a fourth remote storage device, and the fourth data is stored in the second read address;
reading the fourth data from the second read address of the fourth remote storage device according to the fourth authorization information;
and sending the fourth data to the first terminal.
6. The method as recited in claim 1, further comprising:
receiving a second read request for fourth data sent by a first terminal, wherein the fourth data is unstructured data and belongs to a first user;
determining fourth storage file information stored with the fourth data, wherein the fourth storage file is a file corresponding to the first user in a file system;
Reading fourth metadata corresponding to the fourth storage file and first storage configuration information corresponding to the first user;
acquiring a second read address and fourth authorization information for accessing the second read address according to the fourth metadata and the first storage configuration information, wherein the second read address belongs to a fourth storage space corresponding to the fourth storage file in a fourth remote storage device, and the fourth data is stored in the second read address;
and sending the second read address and the fourth authorization information to the first terminal, so that the first terminal reads the fourth data from the second read address of the fourth remote storage device according to the fourth authorization information.
7. The method as recited in claim 1, further comprising:
receiving a third write request for fifth data sent by a first terminal, wherein the fifth data is structured data, and the fifth data belongs to a first user;
converting the third writing request into a second file writing request for file storage, wherein the second file writing request comprises fifth storage file information to be written into the fifth data, and the fifth storage file is a file corresponding to the first user in a file system;
If the metadata corresponding to the fifth storage file does not exist, reading the first storage configuration information corresponding to the first user;
generating fifth data corresponding to the fifth storage file according to the space use strategy in the first configuration information and storing the fifth data;
acquiring a third write address and fifth authorization information for accessing the third write address according to the fifth data and the fifth storage configuration information, wherein the third write address belongs to a fifth storage space corresponding to the fifth storage file in a fifth remote storage device;
and storing the fifth data to the third write address of the fifth remote storage device according to the fifth authorization information.
8. The method as recited in claim 1, further comprising:
receiving a fourth write request for sixth data sent by a first terminal, wherein the sixth data is unstructured data, and belongs to a first user;
determining sixth storage file information to be written into the sixth data, wherein the sixth storage file is a file corresponding to the first user in a file system;
if the metadata corresponding to the sixth storage file does not exist, reading the first storage configuration information corresponding to the first user;
Generating and storing sixth metadata corresponding to the sixth storage file according to the space use strategy in the first storage configuration information;
according to the sixth metadata and the sixth storage configuration information, a fourth write address and sixth authorization information for accessing the fourth write address are acquired, wherein the fourth write address belongs to a sixth storage space corresponding to the sixth storage file in a sixth remote storage device;
and storing the sixth data to the fourth write address of the sixth remote storage device according to the sixth authorization information.
9. The method of claim 7 or 8, wherein the space usage policy comprises any one or more of the following policies:
storing according to the order of priority from high to low;
storing data belonging to the target application in a first preset storage device;
and using the second preset storage device as a mirror image.
10. The method of claim 1, wherein obtaining a first write address and first authorization information to access the first write address based on the first metadata and the first storage configuration information comprises:
determining the first remote storage device corresponding to the first storage file according to the first metadata;
Acquiring first target authorization information for accessing the first remote storage device from the first storage configuration information;
transmitting the first file write request and the first target authorization information to the first remote storage device through a first plug-in;
and receiving a first write address returned by the first remote storage device through the first plug-in and first authorization information for accessing the first write address.
11. The method as recited in claim 1, further comprising:
receiving a fifth write request for seventh data sent by a first terminal, wherein the seventh data is structured data, and the seventh data belongs to a first user;
converting the fifth writing request into a third file writing request for file storage, wherein the third file writing request comprises seventh storage file information to be written into the seventh data, and the seventh storage file is a file corresponding to the first user in a file system;
reading seventh metadata corresponding to the seventh storage file and first storage configuration information corresponding to the first user;
according to the seventh metadata and the first storage configuration information, a fifth write address and seventh authorization information for accessing the fifth write address are acquired, wherein the fifth write address belongs to a seventh storage space corresponding to the seventh storage file in the first local storage device;
And storing the seventh data into the fifth write address of the first local storage device through a second plug-in according to the seventh authorization information.
12. The method as recited in claim 1, further comprising:
receiving a sixth write request for eighth data sent by a first terminal, wherein the eighth data is unstructured data and belongs to a first user;
determining eighth storage file information to be written into the eighth data, wherein the eighth storage file is a file corresponding to the first user in a file system;
reading eighth metadata corresponding to the eighth storage file and first storage configuration information corresponding to the first user;
according to the eighth metadata and the first storage configuration information, a sixth write address and eighth authorization information for accessing the sixth write address are acquired, wherein the sixth write address belongs to an eighth storage space corresponding to the eighth storage file in the second local storage device;
and according to the eighth authorization information, storing the eighth data into the sixth write address of the second local storage device through a third plug-in.
13. The method as recited in claim 1, further comprising:
Receiving a sixth write request for eighth data sent by a first terminal, wherein the eighth data is unstructured data and belongs to a first user;
determining eighth storage file information to be written into the eighth data, wherein the eighth storage file is a file corresponding to the first user in a file system;
reading eighth metadata corresponding to the eighth storage file and first storage configuration information corresponding to the first user;
according to the eighth metadata and the first storage configuration information, a sixth write address, a first local write address, eighth authorization information for accessing the sixth write address, and first local authorization information for accessing the first local write address are acquired, wherein the sixth write address belongs to an eighth storage space corresponding to the eighth storage file in a second local storage device, and the physical space corresponding to the sixth write address is the same as the physical space corresponding to the first local write address;
and sending the sixth write address, the first local write address, the eighth authorization information and the first local authorization information to the first terminal, so that the first terminal stores the eighth data into the sixth write address of the second local storage device through a third plug-in unit according to the eighth authorization information, or the first terminal stores the eighth data into the first local write address of the second local storage device through a local area network according to the first local authorization information.
14. The method as recited in claim 1, further comprising:
receiving a third read request for ninth data sent by a first terminal, wherein the ninth data is structured data, and the ninth data belongs to a first user;
determining ninth storage file information stored with the ninth data, wherein the ninth storage file is a file corresponding to the first user in a file system;
reading ninth metadata corresponding to the ninth storage file and first storage configuration information corresponding to the first user;
according to the ninth metadata and the first storage configuration information, a third read address and ninth authorization information for accessing the third read address are acquired, wherein the third read address belongs to a ninth storage space corresponding to the ninth storage file in third local storage equipment;
reading the ninth data from the third read address of the third local storage device through a fourth plug-in according to the ninth authorization information;
and transmitting the ninth data to the first terminal.
15. The method as recited in claim 1, further comprising:
receiving a fourth read request for tenth data sent by a first terminal, wherein the tenth data is unstructured data, and the tenth data belongs to a first user;
Determining tenth stored file information stored with the tenth data, wherein the tenth stored file is a file corresponding to the first user in a file system;
reading tenth metadata corresponding to the tenth storage file and first storage configuration information corresponding to the first user;
according to the tenth metadata and the first storage configuration information, a fourth read address and tenth authorization information for accessing the fourth read address are acquired, wherein the fourth read address belongs to a tenth storage space corresponding to the tenth storage file in fourth local storage equipment;
reading the tenth data from the fourth read address of the fourth local storage device through a fifth plug-in according to the tenth authorization information;
and transmitting the tenth data to the first terminal.
16. The method as recited in claim 1, further comprising:
receiving a fourth read request for tenth data sent by a first terminal, wherein the tenth data is unstructured data, and the tenth data belongs to a first user;
determining tenth stored file information stored with the tenth data, wherein the tenth stored file is a file corresponding to the first user in a file system;
Reading tenth metadata corresponding to the tenth storage file and first storage configuration information corresponding to the first user;
according to the tenth metadata and the first storage configuration information, a fourth read address, a first local read address, tenth authorization information for accessing the fourth read address, and second local authorization information for accessing the first local read address are acquired, wherein the fourth read address belongs to a tenth storage space corresponding to the tenth storage file in fourth local storage equipment, and the fourth read address is the same as a physical space corresponding to the first local read address;
and sending the fourth read address, the first local read address, the tenth authorization information and the second local authorization information to the first terminal, so that the first terminal reads the tenth data from the fourth read address of the fourth local storage device through a fifth plug-in unit according to the tenth authorization information, or the first terminal reads the tenth data from the first local read address of the fourth local storage device through a local area network according to the second local authorization information.
17. The method of claim 1, wherein the first data is data of a first application, and the first stored file is a file corresponding to the first application of the first user in a file system.
18. The method of claim 1, wherein the first data is data of a first function of a first application, and the first stored file is a file corresponding to the first function of the first application of the first user in a file system.
19. The method of claim 1, wherein the first remote storage device is a cloud storage server.
20. The method of claim 1, wherein the cloud storage control server stores therein storage configuration information including correspondence between storage devices and authorization information for accessing the storage devices, and metadata including correspondence between users, storage files, and the corresponding storage devices.
21. The cloud storage system is characterized by further comprising a terminal, a cloud storage control server and storage equipment, wherein:
the terminal is used for sending a cloud storage related request to the cloud storage control server;
the cloud storage control server is used for reading data from the storage equipment according to the request and returning the data to the terminal; or for writing data to the storage device in accordance with the request;
And the storage device is used for returning the data requested to be read to the cloud storage control server or storing the data written by the cloud storage control server.
22. An electronic device, comprising:
a memory and a processor, the memory coupled with the processor;
the memory stores program instructions that, when executed by the processor, cause the electronic device to perform the cloud storage method of any of claims 1 to 20.
23. A computer readable storage medium comprising a computer program, characterized in that the computer program, when run on an electronic device, causes the electronic device to perform the cloud storage method of any of claims 1 to 20.
CN202310361519.1A 2023-03-31 2023-03-31 Cloud storage method and system Pending CN117135171A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310361519.1A CN117135171A (en) 2023-03-31 2023-03-31 Cloud storage method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310361519.1A CN117135171A (en) 2023-03-31 2023-03-31 Cloud storage method and system

Publications (1)

Publication Number Publication Date
CN117135171A true CN117135171A (en) 2023-11-28

Family

ID=88849724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310361519.1A Pending CN117135171A (en) 2023-03-31 2023-03-31 Cloud storage method and system

Country Status (1)

Country Link
CN (1) CN117135171A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1771495A (en) * 2003-05-07 2006-05-10 国际商业机器公司 Distributed file serving architecture system
US20110276538A1 (en) * 2010-05-06 2011-11-10 The Go Daddy Group, Inc. Cloud storage solution for reading and writing files
CN105302920A (en) * 2015-11-23 2016-02-03 上海爱数信息技术股份有限公司 Optimal management method and system for cloud storage data
CN114124981A (en) * 2021-11-19 2022-03-01 天翼数字生活科技有限公司 Cloud storage data direct transmission management method, cloud transmission management platform and system
CN115242813A (en) * 2021-04-23 2022-10-25 华为技术有限公司 File access method, network card and computing device
CN115695416A (en) * 2022-11-07 2023-02-03 稿定(厦门)信息服务有限公司 File downloading method, device, medium and equipment based on cloud storage service

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1771495A (en) * 2003-05-07 2006-05-10 国际商业机器公司 Distributed file serving architecture system
US20110276538A1 (en) * 2010-05-06 2011-11-10 The Go Daddy Group, Inc. Cloud storage solution for reading and writing files
CN105302920A (en) * 2015-11-23 2016-02-03 上海爱数信息技术股份有限公司 Optimal management method and system for cloud storage data
CN115242813A (en) * 2021-04-23 2022-10-25 华为技术有限公司 File access method, network card and computing device
CN114124981A (en) * 2021-11-19 2022-03-01 天翼数字生活科技有限公司 Cloud storage data direct transmission management method, cloud transmission management platform and system
CN115695416A (en) * 2022-11-07 2023-02-03 稿定(厦门)信息服务有限公司 File downloading method, device, medium and equipment based on cloud storage service

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵妍;黄伟剑;: "面向智能家居大数据云存储系统设计与实现", 现代电子技术, no. 10, 15 May 2016 (2016-05-15) *

Similar Documents

Publication Publication Date Title
US10162871B2 (en) Cloud computing system and data synchronization method
US20120144448A1 (en) Data Store Including a File Location Attribute
US7653935B2 (en) File server for translating user identifier
CN105138571B (en) Distributed file system and method for storing massive small files
EP2751716B1 (en) Method for data maintenance
EP3474146B1 (en) Data processing method, storage system and exchange device
WO2009033407A1 (en) Method for terminal to log in chat room, chat room system and automatic login server
US10067719B1 (en) Methods and systems for storing and accessing data in a distributed data storage system
CN104836862A (en) Intelligent terminal data storage method
US8447825B2 (en) File sharing system and file sharing method
CN114385091A (en) Method and device for realizing network disk drive character, network disk and storage medium
US20120173615A1 (en) Data broker method, apparatus and system
KR101628195B1 (en) Double backup system using cloud service and method for data management
CN102045399A (en) Cloud computing mode file system and file reading method
CN109525633B (en) Block chain network, message sending method and message receiving method based on block chain network
KR101663526B1 (en) Storage integrating method and system using file system
US8826026B2 (en) Systems and methods for tracking electronic files in computer networks using electronic signatures
CN117135171A (en) Cloud storage method and system
KR20120073799A (en) Data synchronizing and servicing apparatus and method based on cloud storage
CN111212138B (en) Cross-site storage system and data information access method
US20060282434A1 (en) Access to fragmented database system
CN101741861A (en) Data storage method and device
CN104468303A (en) Internetwork connecting device, server, terminal, data management system and data management method
CN115408478B (en) Data storage and management system and method for sharing experimental instrument
CN116431566B (en) Data migration method, device, electronic equipment and 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