CN114079659A - Server of distributed storage system, data storage method and data access system - Google Patents

Server of distributed storage system, data storage method and data access system Download PDF

Info

Publication number
CN114079659A
CN114079659A CN202010813105.4A CN202010813105A CN114079659A CN 114079659 A CN114079659 A CN 114079659A CN 202010813105 A CN202010813105 A CN 202010813105A CN 114079659 A CN114079659 A CN 114079659A
Authority
CN
China
Prior art keywords
data
target
storage
content
server
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
CN202010813105.4A
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010813105.4A priority Critical patent/CN114079659A/en
Publication of CN114079659A publication Critical patent/CN114079659A/en
Pending legal-status Critical Current

Links

Images

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

In the server, the storage mode corresponding to each content data is recorded, and when a target application performs data storage or data access on target data, the server calls a program or an instruction matched with the storage mode corresponding to the target data by querying the storage mode corresponding to the target data, so as to perform data storage or data access operation on the target data. Therefore, the target application does not need to sense the storage mode corresponding to the target data, does not need to use different computer languages aiming at different storage modes, and only needs to send a request for data storage or data access to the server through the unified computer language, so that the server can call the corresponding computer language according to the storage mode corresponding to the data to execute the operation of data storage or data access, and the development cost of the application is saved.

Description

Server of distributed storage system, data storage method and data access system
Technical Field
The present disclosure relates to the field of internet technologies, and in particular, to a server of a distributed storage system, a data storage method, and a data access method.
Background
In a distributed application scenario, multiple data will typically be stored in multiple storage devices, and there may be two or more types of storage modes for the multiple storage devices, for example: database (DB) based storage schema, GIT warehouse based storage schema or local file storage schema, etc. Different storage modes require different computer languages to perform operations such as data storage and data access. In the prior art, a unified management method is lacked, and a unified computer language is used for storing or accessing data stored in multiple storage modes, so that when an application platform stores or accesses data stored in multiple storage modes, the application platform needs to sense the storage mode corresponding to a data bottom layer in advance, and operate by using different computer languages and programs for different storage modes, thereby paying a lot of extra work.
Therefore, there is a need for a server, a distributed storage system, a method and a system for data storage and data access of a distributed storage system capable of uniformly managing a plurality of data storage modes, thereby reducing costs.
Disclosure of Invention
The present specification provides a server of a distributed storage system, a method and a system for data storage and data access, which can uniformly manage a plurality of data storage modes, thereby reducing costs.
In a first aspect, the present specification provides a server of a distributed storage system, the server being in communication connection with a plurality of storage devices of the distributed storage system during operation, the plurality of storage devices storing a plurality of content data in at least two storage modes, the server comprising at least one storage medium and at least one processor, the at least one storage medium comprising at least one instruction set for performing data operations on the plurality of content data, the at least one storage medium storing therein a storage mode corresponding to each of the plurality of content data; the at least one processor is communicatively coupled to the at least one storage medium and the plurality of storage devices of the distributed storage system, and when executing, reads the at least one instruction set and performs: receiving a data operation request for target data, the plurality of content data including the target data; determining a target storage mode corresponding to the target data, wherein the at least two storage modes comprise the target storage mode; and performing the data operation on the target data in a manner that matches the target storage mode for the plurality of storage devices.
In some embodiments, the at least one storage medium further includes a metadata database storing metadata for each of the plurality of content data, the metadata including a storage mode corresponding to the current content data.
In some embodiments, the determining a target storage mode corresponding to the target data includes: matching the target data with metadata in the metadata database to determine the metadata of the target data; and determining the target storage mode corresponding to the target data based on the metadata of the target data.
In some embodiments, the at least two storage modes are incompatible with each other.
In some embodiments, the at least two storage modes include: database-based storage schemas, and GIT repository-based storage schemas.
In some embodiments, the at least one instruction set comprises at least two data processing instructions and a call instruction, the at least two data processing instructions corresponding to the at least two storage modes, configured to instruct the at least one processor to perform the data operation in a manner matching the corresponding storage modes; and the calling instruction drives a data processing instruction corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions based on the storage mode corresponding to each content data in the plurality of content data.
In some embodiments, said performing said data operation on said target data in a manner matching said target storage pattern comprises: and driving a data processing instruction corresponding to the target storage mode to execute the data operation through the calling instruction according to the target storage mode.
In some embodiments, the at least one storage medium further comprises a data subscription relationship repository storing associations of the plurality of content data with applications.
In some embodiments, the data operation request comprises at least one of a data storage request and a data access request, and the data operation comprises at least one of a data storage and a data access.
In a second aspect, the present specification provides a distributed storage system comprising a plurality of storage devices storing a plurality of content data in at least two storage modes, and a server according to the first aspect of the present specification.
In a third aspect, the present specification provides a method of data storage, applied to a server of the distributed storage system according to the first aspect of the specification, the method including, by the at least one processor: receiving a data storage request for target data, the data storage request including a request for content writing to the target data, the plurality of content data including the target data; determining a target storage mode corresponding to the target data, wherein the at least two storage modes comprise the target storage mode; and writing the content into the target data in a manner matching the target storage pattern.
In some embodiments, the determining a target storage mode corresponding to the target data includes: matching the target data with metadata in the metadata database to determine the metadata of the target data; and determining the target storage mode corresponding to the target data based on the metadata of the target data.
In some embodiments, the at least one instruction set comprises at least two data processing instructions and a call instruction, the at least two data processing instructions corresponding to the at least two storage modes, configured to instruct the at least one processor to execute the data storage in a manner matching the corresponding storage modes; and the calling instruction drives a data processing instruction corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions based on the storage mode corresponding to each content data in the plurality of content data.
In some embodiments, the writing the content into the target data in a manner matching the target storage mode includes: and according to the target storage mode, driving a data processing instruction corresponding to the target storage mode through the calling instruction, and writing the content into the target data in the target storage mode.
In some embodiments, the at least one storage medium further comprises a data subscription relationship repository storing associations of the plurality of content data with applications.
In a fourth aspect, the present specification provides a method of data access, for use in a server of the distributed storage system according to the first aspect of the present specification, the method comprising, by the at least one processor: receiving a data access request sent by a target application, wherein the data access request comprises a request for performing data access on the content of target data, and the plurality of content data comprise the target data; determining a target storage mode corresponding to the target data, wherein the at least two storage modes comprise the target storage mode; performing the data access on the content of the target data in a mode matched with the target storage mode to acquire the content of the target data; and sending the content of the target data to the target application.
In some embodiments, the determining a target storage mode corresponding to the target data includes: matching the target data with metadata in the metadata database to determine the metadata of the target data; and determining the target storage mode corresponding to the target data based on the metadata of the target data.
In some embodiments, the at least one storage medium further comprises a data subscription relationship repository storing associations of the plurality of content data with applications, the applications including the target application.
In some embodiments, the receiving a data access request sent by a target application includes: receiving a data subscription relation query request sent by the target application; matching the target application with data in the data subscription relation library, and determining the target data which has an association relation with the target application; sending the target data to the target application; and receiving the data access request sent by the target application.
In some embodiments, the receiving a data access request sent by a target application includes: receiving the data access request sent by the target application; and matching the target application with the data in the data subscription relation library, and determining the target data which has an association relation with the target application.
In some embodiments, the at least one instruction set comprises at least two data processing instructions and a call instruction, the at least two data processing instructions corresponding to the at least two storage modes, configured to instruct the at least one processor to perform the data access in a manner matching the corresponding storage modes; and the calling instruction drives a data processing instruction corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions based on the storage mode corresponding to each content data in the plurality of content data.
In some embodiments, the obtaining the content of the target data includes: and according to the target storage mode, driving a data processing instruction corresponding to the target storage mode through the calling instruction, and acquiring the content of the target data in a mode matched with the target storage mode.
In a fifth aspect, the present specification provides a method for data access, which is applied to a target application, the target application being hosted on a client, and the method including: sending a data access request to a server, wherein the data access request comprises a request for performing data access on the content of target data by the target application, the server stores a target storage mode corresponding to the target data, and the server performs the data access in a mode matched with the target storage mode based on the target storage mode during operation to acquire the content of the target data; and acquiring the content of the target data sent by the server.
In some embodiments, the sending a data access request to a server includes: sending a data subscription relationship query request to the server, the data subscription relationship query request including a request to query the target data associated with the target application; receiving a query result sent by the server, wherein the query result comprises the target data having an association relation with the target application; and sending the data access request for the target data to the server.
In some embodiments, the obtaining the content of the target data sent by the server includes: storing the content of the target data in a database-based storage schema in the client; and acquiring the content of the target data.
In some embodiments, the obtaining the content of the target data includes at least one of: acquiring the content of the target data based on the data access layer of the target application; and obtaining content of the target data based on an Application Programming Interface (API) of the target application.
In a sixth aspect, the present specification provides a system for data access, comprising at least one storage medium and at least one processor, the at least one storage medium comprising at least one set of instructions for data access; and the at least one processor is communicatively connected to the at least one storage medium, wherein when the system is running, the at least one processor reads the at least one instruction set and performs the method of data access according to the fifth aspect of the specification as indicated by the at least one instruction set.
According to the technical scheme, the server of the distributed storage system, the data storage and data access method and system provided by the specification record the storage mode corresponding to each data in the server of the distributed storage system, and when the application platform performs data storage or data access on the distributed storage system, the server calls the program or the instruction matched with the storage mode corresponding to the data by inquiring the storage mode corresponding to the data, so that the data is stored or accessed. Therefore, the application platform does not need to sense the storage mode corresponding to the data, does not need to use different computer languages aiming at different storage modes, and only needs to send a request for data storage or data access to the server through the unified computer language, so that the server can call the corresponding computer language to execute the operation of data storage or data access according to the storage mode corresponding to the data, and the development cost of the application is saved.
Other functions of the server of the distributed storage system, the method and the system for data storage and data access provided by the specification are partially listed in the following description. The following numerical and exemplary descriptions will be readily apparent to those of ordinary skill in the art in view of the description. The inventive aspects of the servers of the distributed storage system, the methods and systems of data storage and data access provided by this specification can be fully explained by the practice or use of the methods, apparatus and combinations described in the detailed examples below.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present disclosure, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram illustrating an application scenario of a distributed storage system provided in accordance with an embodiment of the present specification;
FIG. 2 illustrates an apparatus diagram of a server provided in accordance with an embodiment of the present description;
FIG. 3 illustrates a flow diagram of a method of data storage provided in accordance with an embodiment of the present description;
FIG. 4 illustrates a flow diagram of a method of providing data access in accordance with an embodiment of the present description;
FIG. 5 illustrates a flow diagram of a method of receiving a request for data access sent by a target application according to an embodiment of the present description;
FIG. 6 illustrates a flow diagram of a method of providing data access in accordance with embodiments of the present description.
Detailed Description
The following description is presented to enable any person skilled in the art to make and use the present description, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present description. Thus, the present description is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. For example, as used herein, the singular forms "a", "an" and "the" may include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises," "comprising," "includes," and/or "including," when used in this specification, are intended to specify the presence of stated integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
These and other features of the present specification, as well as the operation and function of the elements of the structure related thereto, and the combination of parts and economies of manufacture, may be particularly improved upon in view of the following description. Reference is made to the accompanying drawings, all of which form a part of this specification. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the specification. It should also be understood that the drawings are not drawn to scale.
The flow diagrams used in this specification illustrate the operation of system implementations according to some embodiments of the specification. It should be clearly understood that the operations of the flow diagrams may be performed out of order. Rather, the operations may be performed in reverse order or simultaneously. In addition, one or more other operations may be added to the flowchart. One or more operations may be removed from the flowchart.
For convenience of describing the server of the distributed storage system, the data storage and data access method and system provided in the present specification, first, terms involved in the description are explained as follows:
a database: the file cabinet can be regarded as an electronic file cabinet, places for storing electronic files in a certain way can be used, and users can perform operations such as adding, intercepting, updating and deleting on data in the database. The databases may include relational class databases, time series class databases, key value databases, document databases, and the like. Such as MySQL, maridb, PostgreSQL, Oracle database, etc.
GIT warehouse: the GIT is an open-source distributed version control system, and can effectively process the project version management from very small to very large at high speed.
Data name: in the GIT warehouse, the data name is the warehouse name of the GIT warehouse; in the database, the data name is a table name of the data table.
Data primary key: the unique identification of the data, in the GIT warehouse, the data primary key is the prefix of the file name; in the database, the data primary key, i.e., the row record primary key of the data table, the value of which can uniquely identify each row.
Fig. 1 shows a schematic diagram of an application scenario of a distributed storage system 001.
As shown in FIG. 1, user 110 may be a user of client 300. The client 300 may be a terminal device carrying at least one Application (APP). The application can establish a communication connection with a server corresponding to the application through the client 300. Client 300 may be communicatively coupled to system 001. In some embodiments, the client 300 may have one or more applications installed. Such applications include, but are not limited to: chat-type applications, shopping-type applications, video-type applications, financial-type applications, and the like. The target application may be an application program corresponding to the distributed storage system 001 in the client 300, and the target application may establish a communication connection with the distributed storage system 001 and may perform data operations such as data storage and/or data access on the distributed storage system 001. The configuration parameters associated with the target application may be stored in the distributed storage system 001. When the target application is started, the configuration parameters may be obtained from the distributed storage system 001 through a communication connection between the target application and the distributed storage system 001.
In some embodiments, the client 300 may include a mobile device 300-1, a tablet computer 300-2, a laptop computer 300-3, an in-built device of a motor vehicle 300-4, or the like, or any combination thereof. In some embodiments, mobile device 300-1 may include a smart home device, a smart mobile device, or the like, or any combination thereof. In some embodiments, the smart home device may include a smart television, a desktop computer, or the like, or any combination thereof. In some embodiments, the smart mobile device may include a smartphone, personal digital assistant, or the like, or any combination thereof. In some embodiments, the client 300 may be a device with location technology for locating the location of the client 300.
Network 120 may facilitate the exchange of information and/or data. As shown in fig. 1, the client 300, the distributed storage system 001 may be connected to the network 120, and transmit information and/or data to each other through the network 120. For example, distributed storage system 001 may obtain a service request from client 300 over network 120. The client 300 may retrieve configuration parameters from the distributed storage system 001 through the network 120. In some embodiments, the network 120 may be any type of wired or wireless network, as well as combinations thereof. For example, network 120 may include a cable network, a wireline network, a fiber optic network, a telecommunications network, an intranet, the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a Wireless Local Area Network (WLAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), the Public Switched Telephone Network (PSTN), a Bluetooth network, a ZigBee network, a Near Field Communication (NFC) network, or the like. In some embodiments, network 120 may include one or more network access points. For example, network 120 may include wired or wireless network access points, such as base stations and/or internet exchange points, through which one or more components of client 300, distributed storage system 001, may connect to network 120 to exchange data and/or information.
As shown in fig. 1, the distributed storage system 001 may include a server 200 and a plurality of storage devices 100 connected in a distributed manner.
Storage device 100 may store data and/or instructions. In some embodiments, the storage device 100 may store configuration parameters for the target application. In some embodiments, the storage device 100 may store data obtained by the server 200 from the client 300. The server 200 may have access to the storage device 100, and the server 200 may access data or instructions stored in the storage device 100 through the network 120. In some embodiments, storage device 100 may be directly connected to server 200. In some embodiments, the storage device 100 may be part of the server 200. In some embodiments, storage device 100 may include mass storage, removable storage, volatile read-write memory, read-only memory (ROM), or the like, or any combination thereof. The mass storage may include non-transitory storage media such as magnetic disks, optical disks, solid state drives, and the like. Removable storage may include flash drives, floppy disks, optical disks, memory cards, zip disks, magnetic tape, and the like. Typical volatile read and write memory may include Random Access Memory (RAM). RAM may include Dynamic RAM (DRAM), double-date-rate synchronous dynamic RAM (DDR SDRAM), Static RAM (SRAM), thyristor RAM (T-RAM), zero-capacitance RAM (Z-RAM), and the like. ROM may include Masked ROM (MROM), Programmable ROM (PROM), virtually programmable ROM (PEROM), electrically programmable ROM (EEPROM), compact disk (CD-ROM), digital versatile disk ROM, and the like.
The plurality of storage devices 100 may store a plurality of content data. The content data may be configuration parameters of the application, may be written data from the application, etc. Each of the content data may include a data name, a data primary key, data content (i.e., a data value), and the like of the content data. The plurality of content data is stored in the plurality of storage devices 100 in at least two storage modes. The at least two storage modes are incompatible with each other, that is, the at least two storage modes use different computer languages for storage and access operations. For example, the at least two storage schemas may include a Database (DB) -based storage schema, a GIT repository-based storage schema, a folder-based (file) -based storage schema, and so on. A part of the plurality of content data may be stored in the storage device 100 based on a Database (DB) storage pattern, a part of the plurality of content data may be stored in the storage device 100 based on a GIT repository storage pattern, a part of the plurality of content data may be stored in the storage device 100 based on a folder (file) storage pattern, or the like. In some embodiments, multiple storage devices 100 may also communicate data and information to each other. One content data may be stored on one storage device 100, or may be simultaneously stored on a plurality of storage devices 100.
Server 200 may be communicatively coupled to a plurality of storage devices at runtime. The communication connection refers to any form of connection capable of receiving information directly or indirectly. For example, server 200 may be communicatively coupled to a plurality of storage devices 100 via network 120. The server 200 may be a proxy server for a plurality of storage devices 100. The server 200 may receive a request for a data operation on the content data and is responsible for performing the data operation on the content data. The data operation request may be at least one of a data storage request and a data access request. The data storage request includes a request to write data content (i.e., data values) to the content data. The data access request includes a request to access data content (i.e., data values) corresponding to the content data. The data operation request may also be data deletion and data update, and the like. The data operation may be an operation performed in response to the data operation request. For example, the data operation may be at least one of data storage and data access. The data storage may comprise writing data content (i.e. data values) to the content data. The data access may be to access data content (i.e., data values) corresponding to the content data. The data operation may also be data deletion and data update, among others. These requests or changes may come from the client 300 or from the application development side. Server 200 may have stored therein, and may execute or be used to execute, data or instructions to perform the methods of data storage and data access described herein. The server 200 may perform data interaction with each storage device 100 of the plurality of storage devices 100, that is, the server 200 may store or write content data into the plurality of storage devices 100, or may read content data from the plurality of storage devices 100. For example, the target application on the client 300 requests a content data on the storage device 100 for data access, the client 300 sends the data access request to the server 200, the server 200 executes the data access request, reads the content data from the storage device 100 according to the data access request, and returns the result to the target application of the client 300.
As shown in fig. 1, the user 110 operates the target application on the client 300, the target application sends a data operation request for content data to the server 200, and the server 200 may perform a data operation in response to the data operation request. For example, the target application sends a data storage request for the content data to the server 200, and the server 200 may execute the data storage method provided in this specification to write the content into the content data. For another example, the target application sends a data access request for the content data to the server 200, and the server 200 may execute the data access method provided in this specification, obtain the content of the content data, and send the content to the target application.
Fig. 2 shows a device diagram of a server 200. The server 200 may perform the methods of data manipulation described herein, including methods of data storage and methods of data access. Methods of data storage and methods of data access are described elsewhere in this specification. For example, the data storage method P200 is introduced in the description of fig. 3, and the data access method P300 is introduced in the descriptions of fig. 4 to 5.
As shown in fig. 2, server 200 includes at least one storage medium 230 and at least one processor 220. In some embodiments, server 200 may also include a communication port 250 and an internal communication bus 210. Meanwhile, the server 200 may also include an I/O component 260.
Internal communication bus 210 may connect various system components including storage device 230 and processor 220.
I/O components 260 support input/output between server 200 and other components.
The communication port 250 is used for data communication between the server 200 and the outside. For example, the server 200 may perform data transmission with a target application of the client 300 and/or a plurality of storage devices 100 through the network 120 through the communication port 250.
The at least one storage medium 230 may include a data storage device. The data storage device may be a non-transitory storage medium or a transitory storage medium. For example, the data storage device may include one or more of a magnetic disk, a read-only memory medium (ROM), or a random access memory medium (RAM).
The at least one storage medium 230 may store therein a storage pattern corresponding to each of the plurality of content data. The server 200 may invoke an instruction matched with the storage mode to perform the data operation on the content data according to the storage mode corresponding to the content data. In particular, the at least one storage medium 230 may include at least one instruction set 232 stored in the data storage device. In some embodiments, at least one storage medium 230 may also include a metadata repository 234. In some embodiments, the at least one storage medium 230 may further include a data subscription relationship library 236.
The instructions are computer program code that may include programs, routines, objects, components, data structures, procedures, modules, and the like that perform the methods of the data storage and the data access provided herein. At least one instruction set 232 may be used to perform the data operations on the plurality of content data in the plurality of storage devices 100. As mentioned above, if the storage modes of the content data are different, the languages of the corresponding computers executing the data operations are different, that is, the instructions corresponding to the data operations are different. Therefore, for different storage modes, the server 200 needs to call different instructions to perform the data operation. As described above, the plurality of storage devices 100 include a plurality of content data stored in at least two storage modes. Thus, the at least one instruction set 232 may include at least two data processing instructions 232-2. The at least one instruction set 232 may also include a call instruction 232-4.
At least two data processing instructions 232-2 correspond to the at least two storage modes, instructing the at least one processor 220 to perform the data operations in a manner matching the corresponding storage modes. That is, when the storage mode of the content data is the database-based storage mode, the server 200 drives at least one processor 220 to perform the data operation on the content data with data processing instructions matching the database-based storage mode; when the storage mode of the content data is the GIT repository based storage mode, the server 200 drives at least one processor 220 with data processing instructions matching the GIT repository based storage mode to perform the data operation on the content data; when the storage mode of the content data is the folder-based storage mode, the server 200 drives at least one processor 220 to perform the data operation on the content data with a data processing instruction matching the folder-based storage mode.
The at least one instruction set 232 may also include a call instruction 232-4. The call instruction 232-4 may drive a data processing instruction matching the storage mode corresponding to the current content data among the at least two data processing instructions 232-2 according to the storage mode corresponding to each of the plurality of content data.
The metadata repository 234 may be a storage directory of the plurality of content data. The metadata database 234 records therein metadata of each of the plurality of content data. The metadata of each content data may include a data name of each content data, a type of data content, a parameter, and a storage address of each content data. As described above, the storage pattern corresponding to each of the plurality of content data is stored in the at least one storage medium 230. Specifically, the storage mode corresponding to each of the plurality of content data may be stored in the metadata of the each content data. Of course, the storage pattern corresponding to each of the plurality of content data may also be separately stored in other locations of the at least one storage medium 230, independent of the metadata database 234, for example, the storage pattern corresponding to each of the plurality of content data may separately form a storage pattern database.
The data subscription relation library 236 may store the association relationship between the plurality of content data and the application, that is, the data name of the content data associated with each application. The application may be an application platform hosted on the client 300. The server 200 may query the data subscription relation library 236 for target data associated with the target application, and further query the metadata library 234 for a target storage schema corresponding to the target data, where the plurality of content data includes the target data, and the at least two storage schemas include the target storage schema. The data subscription relation library 236 is arranged in the server 200, and the application of the client 300 can conveniently acquire the data subscription relation from the server 200, so as to evaluate the influence range of the change of the content data on the application.
The at least one processor 220 is communicatively coupled to the at least one storage medium 230 and the plurality of storage devices 100 of the distributed storage system 001. The at least one processor 220 reads the at least one instruction set 232 and executes the at least one instruction set 232 when running. When the system 001 is in operation, the at least one processor 220 reads the at least one instruction set 232 and executes the method of data manipulation, i.e., the method of data storage P200 and the method of data access P300, provided herein according to the instructions of the at least one instruction set 232. The processor 220 may perform all the steps involved in the method of data storage P200 and the method of data access P300. Processor 220 may be in the form of one or more processors, and in some embodiments, processor 220 may include one or more hardware processors, such as microcontrollers, microprocessors, Reduced Instruction Set Computers (RISC), Application Specific Integrated Circuits (ASICs), application specific instruction set processors (ASIPs), Central Processing Units (CPUs), Graphics Processing Units (GPUs), Physical Processing Units (PPUs), microcontroller units, Digital Signal Processors (DSPs), Field Programmable Gate Arrays (FPGAs), Advanced RISC Machines (ARM), Programmable Logic Devices (PLDs), any circuit or processor capable of executing one or more functions, or the like, or any combination thereof. For illustrative purposes only, only one processor 220 is depicted in server 200 in this description. However, it should be noted that server 200 may also include multiple processors, and thus, the operations and/or method steps disclosed in this specification may be performed by one processor as described herein, or may be performed by a combination of multiple processors. For example, if in this description processor 220 of server 200 performs steps a and B, it should be understood that steps a and B may also be performed jointly or separately by two different processors 220 (e.g., a first processor performing step a, a second processor performing step B, or both a first and second processor performing steps a and B).
The at least one processor 220 is operative to read the at least one instruction set 232 and execute the at least one instruction set 232 to thereby perform the method of data manipulation. The method of data manipulation includes performing, by at least one processor 220:
receiving a data operation request for target data, where the target data may be data requested to be operated in the data operation request, the plurality of content data includes the target data, and the data operation request may be from the target application of the client 300 or from an application development end;
and determining a target storage mode corresponding to the target data, wherein the at least two storage modes comprise the target storage mode. Specifically, the at least one processor 220 may match the target data with metadata in the metadata database, determine metadata of the target data, and specifically, obtain metadata of the target data by matching a data name of the target data with a data name in the metadata database 234; determining the target storage mode corresponding to the target data based on the metadata of the target data;
performing the data operation on the target data on the plurality of storage devices 100 in a manner matching the target storage mode. Specifically, at least one processor 220 may drive, according to the target storage mode, a data processing instruction 232-2 corresponding to the target storage mode to perform the data operation through the call instruction 232-4.
In summary, the server 200 of the distributed storage system 001 may collectively manage a plurality of storage modes in the storage devices 100, the server 200 stores a unified management component in advance and is responsible for managing the storage modes corresponding to the content data, and the server 200 may determine, according to the storage modes corresponding to the content data, a target storage mode corresponding to target data requested to be operated in the data operation request, so as to invoke a data processing instruction matching the target storage mode to execute the data operation. The server 200 may receive the unified data operation request, and execute the data operation using different data processing instructions according to different storage modes, without the target application or the application development end sensing the storage mode corresponding to the target data in advance, or without the target application or the application development end sending the data operation request in different computer languages according to the storage mode corresponding to the target data, thereby greatly reducing the cost of application development. The distributed storage system 001 can implement unified management of content data of a plurality of different storage modes through the server 200.
The server 200 of the distributed storage system 001 can be applied not only to a general distributed storage scenario but also to a distributed storage scenario of a parameter configuration center. In a distributed storage scenario of the parameter configuration center, the plurality of content data are configuration parameters of a plurality of applications, and the configuration parameters of the plurality of applications may be stored in a plurality of storage devices 100 in a distributed storage manner, and are collectively managed by the server 200. For convenience of illustration, the following description will describe a distributed storage scenario in which the distributed storage system 001 is used as a parameter configuration center.
Fig. 3 shows a flow chart of a method P200 of data storage. As previously described, the server 200 may perform the method P200 of data storage provided herein. Specifically, the processor 220 in the server 200 can read at least one instruction set 232 stored in at least one storage medium 230, and then execute the method P200 of data storage provided in this specification according to the specification of the at least one instruction set 232. The method P200 may include performing, by at least one processor 220, the steps of:
s220: a data storage request for target data is received.
In a distributed storage scenario of a parameter configuration center, the data storage request may come from the development end 500 of the application. The target data may be content data to be subjected to a data storage operation by the application development terminal 500. The plurality of content data includes the target data. The data storage request may include a request to write content to the target data. The data storage request may include a data name of the target data, a data primary key of the target data (i.e., a unique data identifier of the target data that requires content writing), and the content that requires writing. For example, in a pay treasure application, the data name of the target data may be the balance of a balance treasure, the amount of flowers, the bill of 7 months, and so on; the data primary key of the target data can be an account number and a password of the payment treasure, and the account number and the password of the payment treasure can be used as a unique data identifier for distinguishing different users. The content may be a data value corresponding to the data primary key in the content data corresponding to the data name. For example, the content may be a balance value of a balance treasure of a user with an account number of a password B, or a value of a balance value of a user with an account number of a password B, or the like.
S240: and determining a target storage mode corresponding to the target data.
As described above, the metadata of all content data may be stored in the metadata database 234. The metadata may store a data name of the current content data and a corresponding storage mode. Specifically, the server 200 may determine the metadata of the target data according to matching the data name of the target data in the data storage request with the data name of the metadata in the metadata database 234; and determining the target storage mode corresponding to the target data based on the metadata of the target data. Wherein the target storage mode corresponding to the target data is one of the at least two storage modes.
S260: and writing the content into the target data in a manner matched with the target storage mode.
When the content is written into the target data, the content needs to be written into the target data in the target storage mode according to the target storage mode corresponding to the target data. For example, when the target storage mode is a database-based storage mode, the server 200 needs to write the content into the target data in the database-based storage mode, that is, the server 200 needs to execute an instruction matching the database-based storage mode to write the content into the target data. When the target storage mode is a GIT-warehouse-based storage mode, the server 200 needs to write the content into the target data in the GIT-warehouse-based storage mode, i.e., the server 200 needs to execute an instruction matching the GIT-warehouse-based storage mode to write the content into the target data.
As previously described, at least one instruction set 232 of the server 200 includes at least two data processing instructions 232-2, corresponding to the at least two storage modes, for instructing the at least one processor 220 to perform the data storage, i.e., the content writing, in a manner matching the corresponding storage modes. The at least one instruction set 232 also includes a call instruction 232-4. The call instruction 232-4 is configured to drive the data processing instruction 232-2 corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions 232-2 according to the storage mode corresponding to each content data in the plurality of content data.
Specifically, the step S260 may be implemented by at least one processor 220, according to the target storage mode, driving a data processing instruction 232-2 corresponding to the target storage mode through the call instruction 232-4, and writing the content into the target data in the target storage mode.
In summary, when the application development end performs the data storage on the target data, it is not necessary to sense a target storage mode corresponding to the target data in advance, and only needs to send the data name of the target data to the server 200, and the server 200 may perform the matching automatically, determine the target storage mode corresponding to the target data, and call a data processing instruction corresponding to the target storage mode based on the target storage mode, so as to perform the data storage in a manner matching with the target storage mode. Server 200 may enable the unified management of multiple incompatible storage schemas.
Fig. 4 shows a flow chart of a method P300 of data access. As previously described, the server 200 may perform the method for data access P300 provided herein. Specifically, the processor 220 in the server 200 may read at least one instruction set 232 stored in at least one storage medium 230 and then execute the method P300 of data access provided herein according to the specification of the at least one instruction set 232. The method P300 may include performing, by the at least one processor 220, the steps of:
s320: and receiving a data access request sent by the target application.
In a distributed access scenario of a parameter configuration center, the data access request may come from the target application of the client 300. The number access request may include a request for data access to the content of the target data, i.e., a request for accessing the content corresponding to the target data. The target data may be content data associated with the target application, i.e. configuration parameters of the target application. The plurality of content data includes the target data. The data access request may include a data name of the target data and a data primary key of the target data (i.e., a unique data identifier of the target data that requires content writing). For example, in a pay treasure application, the data name of the target data may be the balance of a balance treasure, the amount of flowers, the bill of 7 months, and so on; the data primary key of the target data can be an account number and a password of the payment treasure, and the account number and the password of the payment treasure can be used as a unique data identifier for distinguishing different users. For example, the data access request may be a request for accessing a balance value of a user with account number a and password B, or a request for accessing an amount value of a user with account number a and password B, or the like.
Step S320 may be implemented in different ways. Fig. 5 is a flowchart illustrating a method for receiving a request for data access sent by a target application according to an embodiment of the present specification. As shown in fig. 5, step S320 may include:
s322: receiving a data subscription relation query request sent by the target application, wherein the data subscription relation query request can include a unique identifier of the target application;
s324: matching the target application with data in the data subscription relation library, and determining the target data which has an association relation with the target application, wherein the target application can be associated with a plurality of target data at the same time;
s326: sending the target data to the target application, wherein the target data comprises a data name of the target data;
s328: and receiving the data access request sent by the target application.
Step S320 may also be implemented in other manners, for example, the server 200 receives the data access request sent by the target application, where the data access request includes the unique identifier of the target application; the server 200 matches the target application with the data in the data subscription relation library, and determines the target data having an association relation with the target application.
Upon receiving the data access request, server 200 performs, by at least one processor 220:
s340: and determining a target storage mode corresponding to the target data.
As described above, the metadata of all content data may be stored in the metadata database 234. The metadata may store a data name of the current content data and a corresponding storage mode. Specifically, the server 200 may determine the metadata of the target data according to matching the data name of the target data in the data access request with the data name of the metadata in the metadata database 234; and determining the target storage mode corresponding to the target data based on the metadata of the target data. Wherein the target storage mode corresponding to the target data is one of the at least two storage modes.
S360: and performing the data access on the content of the target data in a mode matched with the target storage mode to acquire the content of the target data.
When the content of the target data is accessed, the content of the target data needs to be read from the storage device where the target data is located in a manner matched with the target storage mode according to the target storage mode corresponding to the target data. For example, when the target storage mode is a database-based storage mode, the server 200 needs to read the content of the target data in the database-based storage mode, that is, the server 200 needs to execute an instruction matching the database-based storage mode to read the content of the target data. When the target storage mode is the GIT repository based storage mode, the server 200 needs to read the content of the target data in the GIT repository based storage mode, i.e., the server 200 needs to execute an instruction matching the GIT repository based storage mode to read the content of the target data.
As previously described, the at least one instruction set 232 of the server 200 includes at least two data processing instructions 232-2, corresponding to the at least two storage modes, for instructing the at least one processor 220 to perform the data access in a manner matching the corresponding storage modes. The at least one instruction set 232 also includes a call instruction 232-4. The call instruction 232-4 is configured to drive the data processing instruction 232-2 corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions 232-2 according to the storage mode corresponding to each content data in the plurality of content data.
Specifically, the step S360 may be implemented by at least one processor 220, according to the target storage mode, driving a data processing instruction 232-2 corresponding to the target storage mode through the call instruction 232-4, and acquiring the content of the target data.
S380: and sending the content of the target data to the target application.
To sum up, when the target application of the client 300 performs the data access on the content of the target data, it is not necessary to sense the target storage mode corresponding to the target data in advance, but only to send the data name of the target data to the server 200, and the server 200 may automatically perform matching, determine the target storage mode corresponding to the target data, and call a data processing instruction corresponding to the target storage mode based on the target storage mode, so as to perform the data access in a manner matching with the target storage mode. Server 200 may enable the unified management of multiple incompatible storage schemas.
The present specification further provides a method P400 for data access, which is applied to the target application, and the target application is piggybacked on the client 300. The client 300 may include at least one storage medium and at least one processor. The at least one storage medium includes at least one set of instructions for data access. The at least one processor is communicatively coupled to the at least one storage medium. Wherein when the client 300 is running, the at least one processor reads the at least one instruction set and performs the method of data access P400 as indicated by the at least one instruction set. Fig. 6 shows a flow chart of a method P400 of data access. The method of data access P400 may include performing, by the at least one processor of the client 300:
s420: a data access request is sent to the server 200.
The data access request includes a request for performing data access on target data by the target application, wherein the server 200 stores a target storage mode corresponding to the target data, and the server 200 performs the data access in a manner matched with the target storage mode based on the target storage mode during operation to acquire the content of the target data. Step S420 may include:
s422: a data subscription relationship query request is sent to the server 200. The data subscription relationship query request may include a request to query the target data associated with the target application. The data subscription relationship query request may include a unique identifier of the target application. The server 200 matches the data in the data subscription relation library 236 according to the unique identifier of the target application, determines the target data associated with the target application, and sends the target data to the target application.
S424: and receiving the query result sent by the server 200. And the query result comprises the data name of the target data which has an association relation with the target application.
S426: sending the data access request for the target data to server 200.
S440: the content of the target data sent by the server 200 is acquired.
Specifically, step S440 may include:
s442: storing the content of the target data in the at least one storage medium of the client 300 in a database-based storage schema. Before the configuration parameters of the application are transferred to the distributed storage system 001 for storage, the configuration parameters of a part of the applications of the client 300 may be stored in the at least one storage medium of the client 300 in a database-based storage mode, and the part of the applications are only provided with a data access layer of the database-based storage mode for accessing data in a local database (the at least one storage medium of the client 300). When the configuration parameters of all the applications are migrated to the distributed storage system 001 for unified storage and management, the applications not equipped with the API need to be upgraded and modified to be equipped with the API for obtaining the content of the target data. The amount of work to upgrade and modify such API-unaware applications is enormous, requiring a significant amount of time and labor costs. Therefore, after receiving the content of the target data sent by the server 200, the target application stores the content of the target data in the at least one storage medium of the client 300 in the database-based storage mode, and the target application can access the content of the target data stored in the database-based storage mode in the at least one storage medium of the client 300 by using the original data access layer without upgrading or modifying the target application. For an application equipped with an API interface, the data access layer may be called through the API interface to access the content of the target data stored in the database-based storage schema in the at least one storage medium of the client 300. Therefore, all applications can realize data access only by switching data sources without code modification.
S444: and acquiring the content of the target data. The target application may retrieve the content of the target data from the at least one storage medium of the client 300 in a variety of ways. Specifically, step S444 includes at least one of the following cases:
s444-2: and acquiring the content of the target data based on the data access layer of the target application.
S444-4: obtaining content of the target data based on an Application Programming Interface (API) of the target application.
When the target application is not equipped with an API interface, the content of the target data may be retrieved from the at least one storage medium of the client 300 based on the data access layer of the target application; when the target application is equipped with an API interface, the target application may call the data access layer of the target application through the API interface to access the content of the target data stored in the database-based storage schema in the at least one storage medium of the client 300.
In summary, the data access method P400 can be applied to various types of applications, so that the content data of different storage modes in the distributed storage system 001 can be accessed without modifying the code.
To sum up, in the server 200, the distributed storage system 001, the data storage method P200, the data access method P300, and the data access method P400 of the distributed storage system 001 provided in this specification, a storage mode corresponding to each content data is recorded in the server 200, and when a target application performs data storage or data access on the target data, the server 200 queries the storage mode corresponding to the target data, so as to invoke a program or an instruction matching the storage mode corresponding to the target data, and perform data storage or data access operation on the target data. Therefore, the target application does not need to sense the storage mode corresponding to the target data, does not need to use different computer languages for different storage modes, and only needs to send a request for data storage or data access to the server 200 through the unified computer language, so that the server 200 can call the corresponding computer language according to the storage mode corresponding to the data to perform the operation of data storage or data access, thereby saving the development cost of the application.
Another aspect of the present description provides a non-transitory storage medium storing at least one set of executable instructions for data storage and data access, which when executed by a processor, direct the processor to perform the steps of the data storage method P200 and the data access method P300 described herein. In some possible implementations, various aspects of the description may also be implemented in the form of a program product including program code. The program code is adapted to cause the server 200 to perform the steps of data storage and data access described herein when the program product is run on the server 200. A program product for implementing the above method may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on the server 200. However, the program product of the present specification is not so limited, and in this specification, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system (e.g., the processor 220). The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. The computer readable storage medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable storage medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Program code for carrying out operations for this specification may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the server 200, partly on the server 200, as a stand-alone software package, partly on the server 200 and partly on a remote computing device or entirely on the remote computing device. In the case of a remote computing device, the remote computing device may be connected to the server 200 through the network 120, or may be connected to an external computing device.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
In conclusion, upon reading the present detailed disclosure, those skilled in the art will appreciate that the foregoing detailed disclosure can be presented by way of example only, and not limitation. Those skilled in the art will appreciate that the present specification contemplates various reasonable variations, enhancements and modifications to the embodiments, even though not explicitly described herein. Such alterations, improvements, and modifications are intended to be suggested by this specification, and are within the spirit and scope of the exemplary embodiments of this specification.
Furthermore, certain terminology has been used in this specification to describe embodiments of the specification. For example, "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the specification. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined as suitable in one or more embodiments of the specification.
It should be appreciated that in the foregoing description of embodiments of the specification, various features are grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the specification, for the purpose of aiding in the understanding of one feature. This is not to be taken as an admission that any of the features are required in combination, and it is fully possible for one skilled in the art to extract some of the features as separate embodiments when reading this specification. That is, embodiments in this specification may also be understood as an integration of a plurality of sub-embodiments. And each sub-embodiment described herein is equally applicable to less than all features of a single foregoing disclosed embodiment.
Each patent, patent application, publication of a patent application, and other material, such as articles, books, descriptions, publications, documents, articles, and the like, cited herein is hereby incorporated by reference. All matters hithertofore set forth herein except as related to any prosecution history, may be inconsistent or conflicting with this document or any prosecution history which may have a limiting effect on the broadest scope of the claims. Now or later associated with this document. For example, if there is any inconsistency or conflict in the description, definition, and/or use of terms associated with any of the included materials with respect to the terms, descriptions, definitions, and/or uses associated with this document, the terms in this document are used.
Finally, it should be understood that the embodiments of the application disclosed herein are illustrative of the principles of the embodiments of the present specification. Other modified embodiments are also within the scope of this description. Accordingly, the disclosed embodiments are to be considered in all respects as illustrative and not restrictive. Those skilled in the art may implement the applications in this specification in alternative configurations according to the embodiments in this specification. Therefore, the embodiments of the present description are not limited to the embodiments described precisely in the application.

Claims (31)

1. A server of a distributed storage system, the server being in operative communication with a plurality of storage devices of the distributed storage system, the plurality of storage devices storing a plurality of content data in at least two storage modes, the server comprising:
at least one storage medium comprising at least one instruction set for performing data operations on the plurality of content data, the at least one storage medium having stored therein a storage mode corresponding to each of the plurality of content data; and
at least one processor, communicatively coupled to the at least one storage medium and the plurality of storage devices of the distributed storage system, operable to read the at least one instruction set and to perform:
receiving a data operation request for target data, the plurality of content data including the target data;
determining a target storage mode corresponding to the target data, wherein the at least two storage modes comprise the target storage mode; and
performing the data operation on the target data on the plurality of storage devices in a manner that matches the target storage pattern.
2. The server of claim 1, wherein the at least one storage medium further comprises:
a metadata database storing metadata of each of the plurality of content data, the metadata including a storage mode corresponding to the current content data.
3. The server of claim 2, wherein the determining the target storage mode to which the target data corresponds comprises:
matching the target data with metadata in the metadata database to determine the metadata of the target data; and
and determining the target storage mode corresponding to the target data based on the metadata of the target data.
4. The server of claim 1, wherein the at least two storage modes are incompatible with each other.
5. The server of claim 1, wherein the at least two storage modes comprise:
a database-based storage schema; and
storage schema based on the GIT repository.
6. The server of claim 1, wherein the at least one instruction set comprises:
at least two data processing instructions, corresponding to the at least two storage modes, configured to instruct the at least one processor to perform the data operations in a manner matching the corresponding storage modes; and
and calling an instruction, and driving a data processing instruction corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions based on the storage mode corresponding to each content data in the plurality of content data.
7. The server of claim 6, wherein said performing said data operation on said target data in a manner matching said target storage pattern comprises:
and driving a data processing instruction corresponding to the target storage mode to execute the data operation through the calling instruction according to the target storage mode.
8. The server of claim 1, wherein the at least one storage medium further comprises:
and the data subscription relational database stores the incidence relation between the content data and the application.
9. The server of claim 1, wherein the data operation request comprises at least one of a data storage request and a data access request, and the data operation comprises at least one of a data storage and a data access.
10. A distributed storage system, comprising:
a plurality of storage devices storing a plurality of content data in at least two storage modes; and
the server of any one of claims 1-9.
11. A method of data storage applied to a server of a distributed storage system, the server being in communication connection with a plurality of storage devices of the distributed storage system during operation, the plurality of storage devices storing a plurality of content data in at least two storage modes, the server comprising:
at least one storage medium comprising at least one instruction set for data storage of the plurality of content data, the at least one storage medium having stored therein a storage mode corresponding to each of the plurality of content data; and
at least one processor communicatively coupled to the at least one storage medium and the plurality of storage devices of the distributed storage system;
the method includes, by the at least one processor:
receiving a data storage request for target data, the data storage request including a request for content writing to the target data, the plurality of content data including the target data;
determining a target storage mode corresponding to the target data, wherein the at least two storage modes comprise the target storage mode; and
and writing the content into the target data in a manner matched with the target storage mode.
12. The method of claim 11, wherein the at least two storage modes are incompatible with each other.
13. The method of claim 11, wherein the at least two storage modes comprise:
a database-based storage schema; and
storage schema based on the GIT repository.
14. The method of claim 11, wherein the at least one storage medium further comprises a metadata database storing metadata for each of the plurality of content data, the metadata including a storage mode corresponding to a current content data;
the determining a target storage mode corresponding to the target data includes:
matching the target data with metadata in the metadata database to determine the metadata of the target data; and
and determining the target storage mode corresponding to the target data based on the metadata of the target data.
15. The method of claim 11, wherein the at least one instruction set comprises:
at least two data processing instructions, corresponding to the at least two storage modes, configured to instruct the at least one processor to perform the content writing in a manner matching the corresponding storage modes; and
and calling an instruction, and driving a data processing instruction corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions based on the storage mode corresponding to each content data in the plurality of content data.
16. The method of claim 15, wherein said writing said content into said target data in a manner matching said target storage pattern comprises:
and according to the target storage mode, driving a data processing instruction corresponding to the target storage mode through the calling instruction, and writing the content into the target data in the target storage mode.
17. The method of claim 11, wherein the at least one storage medium further comprises:
and the data subscription relational database stores the incidence relation between the content data and the application.
18. A method for data access, applied to a server of a distributed storage system, the server being in communication connection with a plurality of storage devices of the distributed storage system during operation, the plurality of storage devices storing a plurality of content data in at least two storage modes, the server comprising:
at least one storage medium comprising at least one instruction set for data storage of the plurality of content data, the at least one storage medium having stored therein a storage mode corresponding to each of the plurality of content data; and
at least one processor communicatively coupled to the at least one storage medium and the plurality of storage devices of the distributed storage system;
the method includes, by the at least one processor:
receiving a data access request sent by a target application, wherein the data access request comprises a request for performing data access on the content of target data, and the plurality of content data comprise the target data;
determining a target storage mode corresponding to the target data, wherein the at least two storage modes comprise the target storage mode;
performing the data access on the content of the target data in a mode matched with the target storage mode to acquire the content of the target data; and
and sending the content of the target data to the target application.
19. The method of claim 18, wherein the at least two storage modes are incompatible with each other.
20. The method of claim 18, wherein the at least two storage modes comprise:
a database-based storage schema; and
storage schema based on the GIT repository.
21. The method of claim 18, wherein the at least one storage medium further comprises a metadata database storing metadata for each of the plurality of content data, the metadata including a storage mode corresponding to a current content data;
the determining a target storage mode corresponding to the target data includes:
matching the target data with metadata in the metadata database to determine the metadata of the target data; and
and determining the target storage mode corresponding to the target data based on the metadata of the target data.
22. The method of claim 21, wherein the at least one storage medium further comprises a data subscription relationship repository storing associations of the plurality of content data with applications, the applications including the target application.
23. The method of claim 22, wherein receiving a data access request sent by a target application comprises:
receiving a data subscription relation query request sent by the target application;
matching the target application with data in the data subscription relation library, and determining the target data which has an association relation with the target application;
sending the target data to the target application; and
and receiving the data access request sent by the target application.
24. The method of claim 22, wherein receiving a data access request sent by a target application comprises:
receiving the data access request sent by the target application;
and matching the target application with the data in the data subscription relation library, and determining the target data which has an association relation with the target application.
25. The method of claim 18, wherein the at least one instruction set comprises:
at least two data processing instructions, corresponding to the at least two storage modes, configured to instruct the at least one processor to perform the data access in a manner matching the corresponding storage modes; and
and calling an instruction, and driving a data processing instruction corresponding to the storage mode corresponding to the current content data in the at least two data processing instructions based on the storage mode corresponding to each content data in the plurality of content data.
26. The method of claim 25, wherein said obtaining the content of the target data comprises:
and according to the target storage mode, driving a data processing instruction corresponding to the target storage mode through the calling instruction, and acquiring the content of the target data in a mode matched with the target storage mode.
27. A method for data access is applied to a target application, the target application is loaded on a client, and the method comprises the following steps:
sending a data access request to a server, wherein the data access request comprises a request for performing data access on the content of target data by the target application, the server stores a target storage mode corresponding to the target data, and the server performs the data access in a mode matched with the target storage mode based on the target storage mode during operation to acquire the content of the target data;
and acquiring the content of the target data sent by the server.
28. The method of claim 27, wherein said sending a data access request to a server comprises:
sending a data subscription relationship query request to the server, the data subscription relationship query request including a request to query the target data associated with the target application;
receiving a query result sent by the server, wherein the query result comprises the target data having an association relation with the target application; and
sending the data access request for the target data to the server.
29. The method of claim 27, wherein the obtaining the content of the target data sent by the server comprises:
storing the content of the target data in a database-based storage schema in the client; and
and acquiring the content of the target data.
30. The method of claim 29, wherein the obtaining the content of the target data comprises at least one of:
acquiring the content of the target data based on the data access layer of the target application; and
obtaining content of the target data based on an Application Programming Interface (API) of the target application.
31. A system for data access, comprising:
at least one storage medium comprising at least one set of instructions for data access; and
at least one processor communicatively coupled to the at least one storage medium,
wherein when the system is running, the at least one processor reads the at least one instruction set and performs the method of data access of any of claims 27-30 in accordance with the instructions of the at least one instruction set.
CN202010813105.4A 2020-08-13 2020-08-13 Server of distributed storage system, data storage method and data access system Pending CN114079659A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010813105.4A CN114079659A (en) 2020-08-13 2020-08-13 Server of distributed storage system, data storage method and data access system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010813105.4A CN114079659A (en) 2020-08-13 2020-08-13 Server of distributed storage system, data storage method and data access system

Publications (1)

Publication Number Publication Date
CN114079659A true CN114079659A (en) 2022-02-22

Family

ID=80280653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010813105.4A Pending CN114079659A (en) 2020-08-13 2020-08-13 Server of distributed storage system, data storage method and data access system

Country Status (1)

Country Link
CN (1) CN114079659A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100042990A1 (en) * 2008-08-14 2010-02-18 Kinder Nathan G Managing the distribution of client packages
CN104182487A (en) * 2014-08-11 2014-12-03 浪潮软件股份有限公司 Unified storage method supporting various storage modes
CN104618482A (en) * 2015-02-02 2015-05-13 浙江宇视科技有限公司 Cloud data access method, server, traditional storage device and architecture
CN106790434A (en) * 2016-12-05 2017-05-31 上海爱数信息技术股份有限公司 The management method of network data, network attached storage gateway and storage service system
CN109074362A (en) * 2016-05-02 2018-12-21 谷歌有限责任公司 Fractionation and moving range in distributed system
CN109408467A (en) * 2018-11-19 2019-03-01 郑州云海信息技术有限公司 A kind of method and device for realizing data storage
CN111522514A (en) * 2020-04-27 2020-08-11 上海商汤智能科技有限公司 Cluster file system, data processing method, computer device and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100042990A1 (en) * 2008-08-14 2010-02-18 Kinder Nathan G Managing the distribution of client packages
CN104182487A (en) * 2014-08-11 2014-12-03 浪潮软件股份有限公司 Unified storage method supporting various storage modes
CN104618482A (en) * 2015-02-02 2015-05-13 浙江宇视科技有限公司 Cloud data access method, server, traditional storage device and architecture
CN109074362A (en) * 2016-05-02 2018-12-21 谷歌有限责任公司 Fractionation and moving range in distributed system
CN106790434A (en) * 2016-12-05 2017-05-31 上海爱数信息技术股份有限公司 The management method of network data, network attached storage gateway and storage service system
CN109408467A (en) * 2018-11-19 2019-03-01 郑州云海信息技术有限公司 A kind of method and device for realizing data storage
CN111522514A (en) * 2020-04-27 2020-08-11 上海商汤智能科技有限公司 Cluster file system, data processing method, computer device and storage medium

Similar Documents

Publication Publication Date Title
US10291704B2 (en) Networked solutions integration using a cloud business object broker
US8555018B1 (en) Techniques for storing data
US7752165B2 (en) Persistent query system for automatic on-demand data subscriptions from mobile devices
US8583613B2 (en) On demand data conversion
US20090259993A1 (en) Sandbox Support for Metadata in Running Applications
US20120158795A1 (en) Entity triggers for materialized view maintenance
EP3516511B1 (en) Update migration system and method
US20140214784A1 (en) Apparatus for providing transaction sharing hybrid interface of session
CN108573019B (en) Data migration method and device, electronic equipment and readable storage medium
JP2022545303A (en) Generation of software artifacts from conceptual data models
CN113220669B (en) Service data processing method and device and electronic equipment
US20230082267A1 (en) Multi-schema version support in data synchronization
CN113094387A (en) Data query method and device, electronic equipment and machine-readable storage medium
CN112905630A (en) Data manipulation method, server, and computer-readable medium
CN112148709A (en) Data migration method, system and storage medium
CN114079659A (en) Server of distributed storage system, data storage method and data access system
US20070162498A1 (en) Improving Data Access Speed While Processing Transaction Requests From Web Based Applications
CN115714706A (en) Access acceleration system and method based on embedded H5, storage medium and electronic equipment
CN112114778B (en) Cross-platform dynamic library algorithm management system supporting horizontal expansion
US11023830B2 (en) Processing a request in accordance with original rules and configurations
CN112286894A (en) Log generation method and device and readable storage medium
US10599617B2 (en) Methods and apparatus to modify a binary file for scalable dependency loading on distributed computing systems
US11451627B2 (en) System and method for content management with intelligent data store access across distributed stores
WO2019153547A1 (en) Database operation method, apparatus and device, and computer-readable storage medium
CN112650713A (en) File system operation method, device, equipment and storage medium

Legal Events

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