CN109691065A - Distributed memory system and its data read-write method, storage terminal and storage medium - Google Patents

Distributed memory system and its data read-write method, storage terminal and storage medium Download PDF

Info

Publication number
CN109691065A
CN109691065A CN201880002511.3A CN201880002511A CN109691065A CN 109691065 A CN109691065 A CN 109691065A CN 201880002511 A CN201880002511 A CN 201880002511A CN 109691065 A CN109691065 A CN 109691065A
Authority
CN
China
Prior art keywords
data
memory node
read request
request
client
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.)
Granted
Application number
CN201880002511.3A
Other languages
Chinese (zh)
Other versions
CN109691065B (en
Inventor
袁振南
简怀兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
District Chain Tong Network Co Ltd
Original Assignee
District Chain Tong Network 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 District Chain Tong Network Co Ltd filed Critical District Chain Tong Network Co Ltd
Publication of CN109691065A publication Critical patent/CN109691065A/en
Application granted granted Critical
Publication of CN109691065B publication Critical patent/CN109691065B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

This application discloses a kind of distributed memory system and its data read-write methods, storage terminal and storage medium.The distributed memory system data read-write method includes: that client generates multiple data read requests, and multiple data read requests include the first data read request and the second data read request;Client sends the first data read request to the first memory node and sends the second request of data to read request Coordination module;First memory node obtains the first request of data, and the first data are obtained from the data of storage according to the first request of data;Read request Coordination module obtains the second data read request, and the second data are obtained from the data that the second memory node stores according to the second request of data;First data are sent to client by the first memory node;Second data are sent to client by read request Coordination module.In this way, it is able to ascend the reading extended capability of distributed memory system.

Description

Distributed memory system and its data read-write method, storage terminal and storage medium
Technical field
This application involves information technology field, more particularly to a kind of distributed memory system and its data read-write method, Store terminal and storage medium.
Background technique
With the sharp increase of information content, large-scale distributed storage system is become more and more important.For this purpose, Microsoft is Large-scale distributed storage system develops a general duplication frame PacificA, and PacificA is also referred to as a prototype System.The frame is simple, practical, provides strong consistency, and can be adapted to different replication strategies.
Present inventor has found in long-term R&D work, block chain communication software The distributed memory system that (BlockchainMessenger, BCM) relies on rear end stores the mass datas such as account, address list, Rear end distributed memory system manages multiple data copies of the same data using PacificA replication protocol at present.? In PacificA replication protocol, all read-write operations are all initiated from Leader node (primary copy node), the reading ability of data It will not get a promotion with the addition of more data copies, therefore its reading scalability is poor.
Summary of the invention
The application is mainly solving the technical problems that provide a kind of distributed memory system and its data read-write method, storage Terminal and storage medium, to promote the reading extended capability of distributed memory system.
In order to solve the above technical problems, the technical solution that the application uses is: providing a kind of distributed memory system Data read-write method.The distributed memory system includes client and storage terminal, wherein storage terminal includes the first storage Node, at least two second memory nodes and at least two read request Coordination modules, read request Coordination module are saved with the second storage Point be correspondingly arranged, wherein the first memory node for storing data, the pair of at least two second memory nodes for storing data This, data read-write method includes: that client generates multiple data read requests, and multiple data read requests include the first data read request With the second data read request;Client sends the first data read request to the first memory node and sends to read request Coordination module Second request of data;First memory node obtains the first request of data, and is obtained from the data of storage according to the first request of data Take the first data;Read request Coordination module obtains the second data read request, and according to the second request of data from the second memory node The second data are obtained in the data of storage;First data are sent to client by the first memory node;Read request Coordination module will Second data are sent to client.
In order to solve the above technical problems, another technical solution that the application uses is: providing a kind of distributed storage system System, the distributed memory system include client and storage terminal, wherein storage terminal includes the first memory node, at least two A second memory node and at least two read request Coordination modules, read request Coordination module are correspondingly arranged with the second memory node, First memory node for storing data, the copy of at least two second memory nodes for storing data;Client is for giving birth to At multiple data read requests, multiple data read requests include the first data read request and the second data read request;Client is used for The first data read request is sent to the first memory node and sends the second request of data to read request Coordination module;First storage section Point and obtains the first data according to the first request of data for obtaining the first request of data from the data of storage, and by first Data are sent to client;Read request Coordination module is for obtaining the second data read request, and according to the second request of data from the The second data are obtained in the data of two memory nodes storage, and the second data are sent to client.
In order to solve the above technical problems, another technical solution that the application uses is: providing a kind of distributed storage system The data read-write method of system, the distributed memory system include client and storage terminal, wherein storage terminal is deposited including first Store up node, at least two second memory nodes and at least two read request Coordination modules, read request Coordination module and the second storage Node is correspondingly arranged, the first memory node for storing data, the copy of at least two second memory nodes for storing data, Data read-write method, which includes: the first memory node, obtains the first data read request from client, and according to the first request of data from The first data are obtained in the data of storage, and the first data are sent to client;Read request Coordination module is obtained from client Second data read request, and the second data are obtained from the data that the second memory node stores according to the second request of data, and will Second data are sent to client.
In order to solve the above technical problems, another technical solution that the application uses is: providing a kind of storage terminal, this is deposited Storing up terminal includes: the first memory node, and for storing data, the first memory node obtains the first data read request from client, And the first data are obtained from the data of storage according to the first data read request, and the first data are sent to the client; At least two second memory nodes, copy for storing data;Read request Coordination module, for obtaining the second number from client The second data are obtained from the data that the second memory node stores according to read request, and according to the second request of data, and second is counted According to being sent to client.
In order to solve the above technical problems, another technical solution that the application uses is: providing a kind of storage terminal, this is deposited Storing up terminal includes: memory module, for storing data;Transceiver module, for receiving data read request from client;Handle mould Block, for obtaining requested data from the data that memory module stores according to data read request;Transceiver module further will Requested data are sent to client.
In order to solve the above technical problems, another technical solution that the application uses is: providing a kind of storage medium, thereon It is stored with program data, which is performed the step realized in the above method.
The beneficial effect of the application is: being different from the prior art, the embodiment of the present application distributed memory system includes client End and storage terminal, wherein storage terminal includes that the first memory node, at least two second memory nodes and at least two readings are asked Coordination module is sought, read request Coordination module is correspondingly arranged with the second memory node, wherein the first memory node is for storing number According to the copy of at least two second memory nodes for storing data, which includes: visitor Family end generates multiple data read requests, and multiple data read requests include the first data read request and the second data read request;Client It holds and sends the first data read request to the first memory node and send the second request of data to read request Coordination module;First storage Node obtains the first request of data, and the first data are obtained from the data of storage according to the first request of data;Read request is coordinated Module obtains the second data read request, and obtains the second number from the data that the second memory node stores according to the second request of data According to;First data are sent to client by the first memory node;Second data are sent to client by read request Coordination module.It is logical This mode is crossed, multiple data read requests that the application generates client are divided into the first data read request and the reading of the second data is asked It asks, and the first data read request is sent to the first memory node, to obtain the first data from the first memory node, while by the Two data read requests are sent to read request Coordination module, to obtain the second number from the second memory node by read request Coordination module According to, therefore, the second memory node of the application can be jointly processed by multiple data read requests of client with the first memory node, The multiple data read requests for generating client are balancedly distributed in the entire memory node cluster of distributed memory system In, so as to promote the reading extended capability of distributed memory system.
Detailed description of the invention
In order to illustrate the technical solutions in the embodiments of the present application or in the prior art more clearly, below will be to institute in embodiment Attached drawing to be used is needed to be briefly described, it should be apparent that, the accompanying drawings in the following description is only some implementations of the application Example, for those of ordinary skill in the art, without creative efforts, can also obtain according to these attached drawings Obtain other attached drawings.
Fig. 1 is the structural schematic diagram of one embodiment of the application distributed memory system;
Fig. 2 is the structural block diagram of Fig. 1 embodiment distributed memory system;
Fig. 3 is the structural schematic diagram of one embodiment of data read-write method of the application distributed memory system;
Fig. 4 is the detailed process signal of step S203 in the data read-write method of Fig. 3 embodiment distributed memory system Figure;
Fig. 5 is that another detailed process of step S203 in the data read-write method of Fig. 3 embodiment distributed memory system is shown It is intended to;
Fig. 6 is the idiographic flow schematic diagram of step S402 in the data read-write method of Fig. 5 embodiment distributed memory system;
Fig. 7 is the structural schematic diagram of another embodiment of data read-write method of the application distributed memory system;
Fig. 8 is the structural schematic diagram of another embodiment of the application distributed memory system;
Fig. 9 is the structural schematic diagram that the application stores one embodiment of terminal;
Figure 10 is the structural schematic diagram that the application stores another embodiment of terminal;
Figure 11 is the structural schematic diagram of one embodiment of the application storage medium.
Specific embodiment
With reference to the accompanying drawings and examples, the application is described in further detail.It is emphasized that following implement Example is merely to illustrate the application, but is not defined to scope of the present application.Likewise, following embodiment is only the portion of the application Point embodiment and not all embodiments, institute obtained by those of ordinary skill in the art without making creative efforts There are other embodiments, shall fall in the protection scope of this application.
In distributed memory system, the data replication protocol of mainstream is PacificA replication protocol, it can reduce association The expense of tune, to promote the efficiency reached common understanding.The copy data of PacificA uses master-slave mode frame, to guarantee data one Cause property.Multiple copies of data are stored in primary copy (Leader) node and multiple from copy (Follower) node, number According to read-write all by Leader node processing, this data processing method is simple, and can read always from Leader node The preferable data of consistency.Obviously, in this kind of system, as long as Leader node is survived, Follower node is at one kind Warm standby state, therefore, it is poor that data read scalability, and resource cannot be well used.
To solve the above problems, the application proposes a kind of distributed memory system first, as shown in Figure 1, Fig. 1 is the application The structural schematic diagram of one embodiment of distributed memory system;Fig. 2 is the structural block diagram of Fig. 1 embodiment distributed memory system.This Application distributed memory system 101 includes: client 102 and storage terminal 103, wherein storage terminal 103 includes the first storage Node 104, at least two second memory nodes 105 and at least two read request Coordination modules 106, read request Coordination module 106 It is correspondingly arranged with the second memory node 105, wherein for storing data, at least two second storages save the first memory node 104 The copy of point 105 for storing data.
Wherein, the present embodiment the first memory node 104 storage data can be client 102 write-in former data or The copy of person's original data, specifically without limitation.
In an application scenarios, PacificA storing framework, this reality is can be used in the present embodiment distributed memory system 101 The storage terminal 103 of example is applied as storage cluster, the reading and update of system data are mainly responsible for, by using more copy modes Guarantee data reliability and availability;The present embodiment distributed memory system 101 can further comprise configuration management cluster, mainly It is responsible for maintenance copy information, such as the participation node of copy, primary copy node, the version number etc. of current copy.
The application distributed memory system 101 and traditional distributed memory system based on PacificA storing framework Difference includes at least: the dot data memory 103 of the present embodiment is provided with 106 read request Coordination module 106 of read request Coordination module Multiple data read requests of the generation of client 102 can be jointly processed by with the first memory node 104 (Leader node), therefore, In this way, multiple data read requests balanced can be handled by Leader node and Follower node, no It can only guarantee the consistency of reading data, and be able to ascend data and read scalability, make resource rational utilization.
The application is it is further proposed that a kind of data read-write method of distributed memory system, as shown in figure 3, the side of this implementation For realizing the reading data of above-described embodiment distributed memory system 101, the data read-write method of the present embodiment specifically wraps method Include following steps:
Step S301: client 102 generates multiple data read requests, and multiple data read requests include the first data read request With the second data read request.
Optionally, multiple data read requests can be divided into according to preset percentage x by the client 102 of the present embodiment One data read request and the second data read request.Specifically, the preset percentage x of the present embodiment is the number of the first data read request The ratio between the total quantity of amount and multiple data read requests.
Optionally, the preset percentage x of the present embodiment meets following formula:
Wherein, p is that the probability in the second memory node set is arranged in the second memory node 105, and n is the first memory node The sum of the quantity of 104 quantity and the second memory node 105, and n is greater than or equal to 3.
Wherein, the second memory node set is to be selected after read request Coordination module 106 receives the second data read request according to P Select the majority that multiple second memory nodes 105 form.Majority is used for data copy management, can adjust according to the actual situation It is whole to write number of copies and read number of copies, so that data is obtained balance between reliability and performance.
Optionally, the p of the present embodiment meets following formula:
As shown in Fig. 2, the n of the present embodiment is equal to 3, i.e., storage terminal 103 includes first memory node 104 and two Second memory node 105.As shown from the above formula, when n is equal to 3, p is equal to 1, that is to say, that each second memory node 105 is set Setting the probability in the second memory node set is 1, and therefore, two the second memory nodes 105 are in read request Coordination module 106 In the second memory node set formed.
Step S302: client 102 sends the first data read request to the first memory node 104 and coordinates mould to read request Block 106 sends the second request of data.
The present embodiment is managed by the second data read request that read request Coordination module 106 sends client 102, So that multiple second memory nodes 105 are capable of multiple second data read requests of processing of equilibrium.
The S303: the first memory node of step 104 obtains the first request of data, and according to the first request of data from the number of storage According to the first data of middle acquisition;Read request Coordination module 106 obtains the second data read request, and according to the second request of data from second The second data are obtained in the data that memory node 105 stores.
Optionally, the application realizes that above-mentioned first memory node 104 obtains the first data and asks using method as shown in Figure 4 It asks, and obtains the method for the first data from the data of storage according to the first request of data.Specifically, the method packet of the present embodiment Include step S401-S404:
The S401: the first memory node of step 104 obtains the first data read request, and obtains from the first data read request the First identification information of one data.
The S402: the first memory node of step 104 judge the first identification information whether the cache list with the first memory node In the second identification information matching, if so, S403 is entered step, if it is not, then entering step S404.
In above-mentioned application scenarios, each memory node of the storage terminal 103 of the present embodiment is provided with prepare List, prepare list are at least buffer memory in the identification information of the data of memory node.
The S403: the first memory node of step 104 obtains the first data corresponding with the first identification information, and will know with first Corresponding first data of other information are sent to client 102.
Certainly, the present embodiment can also further judge after the first identification information and the second identification information successful match Whether the first data corresponding with the first identification information of the first memory node 104 storage lack, if first data do not lack It loses, then first data is sent to client 102;It, can be further by the first identification information if first shortage of data Match with the third identification information of the first memory node 104 storage and shortage of data etc. operates, not repeated here.
The S404: the first memory node of step 104 sets zero for version number corresponding with the first data, and will be after zero setting Version number is sent to client 102.
It, can should when there is no the first data or the first shortage of data in the cache list of the first memory node 104 Version number's zero setting of first data.
Optionally, the application realizes that above-mentioned read request Coordination module 103 obtains the second data using method as shown in Figure 5 Read request, and the method that the second data are obtained according to the second request of data from the data that the second memory node 105 stores.Specifically Ground, the method for the present embodiment include step S501-S505:
Step S501: read request Coordination module 106 obtains the second data read request, and obtains the second memory node set, And the second memory node 105 into the second memory node set sends the second data read request.
It is not repeated here about the second memory node set.
The S502: the second memory node of step 105 receives the second data read request, and is obtained and the according to the second request of data The corresponding version number of two data, and version number is sent to read request Coordination module 106.
Step S503: read request Coordination module 106 receives the version number that all second memory nodes 105 are sent, and obtains The maximum value of multiple version numbers.
When the more new data of client 102, for data into the processing of the first memory node 104, the first memory node 104 is first should Data distribute version number, and the data are then inserted into prepare list, and the data on prepare list have according to version number Then the data for carrying version number are sent to the second memory node 105, the second memory node 105 is equally by the number by sequence arrangement According to being inserted into prepare list.Data are every to be updated once, and version number increases primary.Therefore, corresponding with maximum version number Two data are newest second data.
Step S504: read request Coordination module 106 judges whether the second data corresponding with maximum value lack, if so, S505 is entered step, if it is not, then return step S501.
It should be noted that not needing to receive the second data read request again when return step S501.
It can be caused because system cut-off or data cause data update imperfect the problems such as transmission in data updating process Shortage of data, therefore should first judge whether data lack before obtaining data.
Step S505: the second data corresponding with maximum value are sent to client 102 by read request Coordination module 106.
First data are sent to client 102 by the S304: the first memory node of step 104, and read request Coordination module 106 will Second data are sent to client 102.
In other embodiments, read request Coordination module can also be arranged on each memory node of storage terminal, The read request Coordination module that only selection is correspondingly arranged with the second memory node when handling read data request comes into force.
It is different from the prior art, the client 102 of the present embodiment distributed memory system 101 reads multiple data of generation Request is divided into the first data read request and the second data read request, and the first data read request is sent to the first memory node 104, to obtain the first data from the first memory node 104, while the second data read request is sent to read request Coordination module 106, to obtain the second data, therefore, the second of the present embodiment from the second memory node 105 by read request Coordination module 106 Memory node 105 can be jointly processed by multiple data read requests of client 102 with the first memory node 104, make client 102 The multiple data read requests generated can be balancedly distributed in the entire memory node cluster of distributed memory system 101, from And it is able to ascend the reading extended capability of distributed memory system 101.
Optionally, above-mentioned second memory node 105 of method realization as shown in FIG. 6 can be used according to the second data in the application The method of request version number corresponding with the second data.Specifically, the present embodiment method the following steps are included:
The S601: the second memory node of step 105 obtains the first identification information of the second data from the second data read request.
The S602: the second memory node of step 105 judge the first identification information whether the cache list with the second memory node In the second identification information whether match, if so, entering step S603.
The S603: the second memory node of step 105 obtains version number corresponding with the first identification information from cache list, and will Version number corresponding with the first identification information is sent to read request Coordination module 106.
Further, the second identification information in the first identification information and the cache list of the second memory node mismatches, Then enter step S604-S606.
The S604: the second memory node of step 105 judge the first identification information whether the with the storage of the second memory node 105 Three identification informations are matched, if so, S605 is entered step, if it is not, then entering step S606.
Wherein, each memory node of the present embodiment is equivalent to a server comprising cache list and disk storage Space, when, without required data, can further inquire from disk storage space should in the cache list of memory node Data.
The S605: the second memory node of step 105 obtains version number corresponding with the first identification information, and will be with the first identification The corresponding version number of information is sent to read request Coordination module 106.
The S606: the second memory node of step 105 sets zero for the version number of the second data, and by the version number after zero setting It is sent to read request Coordination module 106.
The application it is further proposed that a kind of distributed memory system of another embodiment data read-write method, such as Fig. 7 institute To show, the method for the present embodiment is written for realizing the data of above-described embodiment distributed memory system, specifically, the present embodiment Method comprising the following specific steps
Step S701: client 102 generates data write request.
Step S702: client 102 sends data write request to the first memory node 104.
The data write request of the present embodiment distributed memory system 101 is handled in the first memory node 104.
The S703: the first memory node of step 104 receives data write request, and obtains third data according to data read request, And third data are sent to the second memory node 105.
The S704: the second memory node of step 105 receives and saves third data.
As the above analysis, second memory node 105 of the present embodiment can be jointly processed by with the first memory node 104 Multiple data read requests of client 102, the multiple data read requests for generating client 102 are balancedly distributed in distribution In the entire memory node cluster of formula storage system 101, so as to promote the reading extended capability of distributed memory system 101. Meanwhile because of 105 sharing data read request of the second memory node, so that there are more resources to handle for the first memory node 104 Write request has been able to ascend the handling capacity of the entire company-data write-in of distributed memory system 101.
The application it is further proposed that the distributed memory system of another embodiment data read-write method, the number of the present embodiment Include: the first memory node 104 from the first data read request of acquisition of client 102 according to reading/writing method, and is asked according to the first data It asks and obtains the first data from the data of storage, and the first data are sent to the client 102;Read request Coordination module 106 obtain the second data read request, and the number stored according to the second request of data from the second memory node 105 from client 102 According to the second data of middle acquisition, and the second data are sent to client 102.
It is different from the prior art, the present embodiment is jointly processed by visitor by the second memory node 105 and the first memory node 104 Multiple data read requests at family end 102, the multiple data read requests for generating client 102 are balancedly distributed in distribution In the entire memory node cluster of storage system 101, it is able to ascend the reading extended capability of distributed memory system 101
The application it is further proposed that another embodiment distributed memory system, as shown in figure 8, the present embodiment distribution is deposited Storage system 801 includes client 802 and storage terminal 803, wherein storage terminal 803 includes the first memory node 804, at least Two the second memory nodes 805 and at least two read request Coordination modules 806, read request Coordination module 806 and the second storage save Point 805 is correspondingly arranged, and for storing data, at least two second memory nodes 805 are for storing data for the first memory node 804 Copy;Client 802 includes the first data read request and second for generating multiple data read requests, multiple data read requests Data read request;Client 802 is used to send the first data read request to the first memory node 804 and to read request Coordination module 806 send the second request of data;First memory node 804 for obtain the first request of data, and according to the first request of data from The first data are obtained in the data of storage, and the first data are sent to client 802;Read request Coordination module 806 is for obtaining The second data read request is taken, and the second data are obtained from the data that the second memory node 805 stores according to the second request of data, And the second data are sent to client 802.
It is different from the prior art, the client 802 of the present embodiment distributed memory system 801 reads multiple data of generation Request is divided into the first data read request and the second data read request, and the first data read request is sent to the first memory node 804, to obtain the first data from the first memory node 804, while the second data read request is sent to read request Coordination module 806, to obtain the second data, therefore, the second of the present embodiment from the second memory node 805 by read request Coordination module 806 Memory node 805 can be jointly processed by multiple data read requests of client 802 with the first memory node 804, make client 802 The multiple data read requests generated can be balancedly distributed in the entire memory node cluster of distributed memory system 801, from And it is able to ascend the reading extended capability of distributed memory system 801.
Certainly, the present embodiment distributed memory system 801 can be using the data read-write method in above method embodiment The read-write for carrying out data, does not repeat here.
The application is it is further proposed that a kind of storage terminal, as shown in figure 9, Fig. 9 is that the application stores one embodiment of terminal Structural schematic diagram.The present embodiment stores terminal 901 and includes the first memory node 902, at least two second memory nodes 903 and read Request Coordination module 904, wherein for storing data, the first memory node 902 obtains the first memory node 902 from client First data read request, and the first data are obtained from the data of storage according to the first data read request, and the first data are sent out It send to client;The copy of second memory node 903 for storing data;Read request Coordination module 904 from client for obtaining The second data read request is taken, and the second data are obtained from the data that the second memory node 903 stores according to the second request of data, And the second data are sent to client.
It is different from the prior art, the second memory node 903 that the present embodiment stores terminal 901 can be with the first memory node 902 are jointly processed by the data read request of client, and the multiple data read requests for generating client, which are balancedly distributed in, deposits In the entire memory node cluster for storing up terminal 901, so as to store the reading extended capability of terminal 901.
The application is it is further proposed that a kind of storage terminal, as shown in Figure 10, Figure 10 are that the application stores another implementation of terminal The structural schematic diagram of example.It includes memory module 1002, transceiver module 1003 and processing module that the present embodiment, which stores terminal 1001, 1004, wherein memory module 1002 is for storing data;Transceiver module 1003 is used to receive data read request from client;Place Reason module 1004 is used to obtain requested data from the data that memory module 1002 stores according to data read request;Receive and dispatch mould Requested data are further sent to client by block 1003.
It is different from the prior art, multiple data read requests that the present embodiment generates client, which are balancedly distributed in, deposits In the entire memory node cluster for storing up terminal 1001, so as to promote the reading extended capability of storage terminal 1001.
The application is it is further proposed that a kind of storage medium, as shown in figure 11, Figure 11 are one embodiments of the application storage medium Structural schematic diagram.The present embodiment storage medium 1101 is used to store the related data 1102 and program data of above-described embodiment 1103, wherein related data 1102 includes at least above-mentioned read request and write request etc., and program data 1103 can be performed above The method for stating embodiment of the method.Related data 1102 and program data 1103 have carried out in above method embodiment detailed Narration, does not repeat here.
There is the present embodiment the device 1101 of store function can be, but not limited to, USB flash disk, SD card, PD CD-ROM drive, movement firmly Disk, large capacity floppy drive, flash memory, multimedia memory card, server etc..
It is different from the prior art, the embodiment of the present application distributed memory system includes client and storage terminal, wherein is deposited Storing up terminal includes the first memory node, at least two second memory nodes and at least two read request Coordination modules, read request association Mode transfer block is correspondingly arranged with the second memory node, wherein for storing data, at least two second storages save the first memory node The copy of point for storing data, the distributed memory system data read-write method include: that the multiple data readings of client generation are asked It asks, multiple data read requests include the first data read request and the second data read request;Client is sent to the first memory node First data read request and to read request Coordination module send the second request of data;First memory node obtains the first data and asks It asks, and the first data is obtained from the data of storage according to the first request of data;Read request Coordination module obtains the second data and reads Request, and the second data are obtained from the data that the second memory node stores according to the second request of data;First memory node will First data are sent to client;Second data are sent to client by read request Coordination module.In this way, the application Multiple data read requests that client generates are divided into the first data read request and the second data read request, and the first data are read Request is sent to the first memory node, to obtain the first data from the first memory node, while the second data read request being sent To read request Coordination module, to obtain the second data, therefore, the application's from the second memory node by read request Coordination module Second memory node can be jointly processed by multiple data read requests of client with the first memory node, generate client more A data read request can be balancedly distributed in the entire memory node cluster of distributed memory system, so as to be promoted point The reading extended capability of cloth storage system.
If in addition, above-mentioned function realized in the form of software function and as stand-alone product when selling or using, can deposit Storage is in a mobile terminal read/write memory medium, that is, and the application also provides a kind of storage device for being stored with program data, The method that described program data can be performed to realize above-described embodiment, the storage device can be for such as USB flash disk, CD, services Device etc..That is, the application can be embodied in the form of software products comprising some instructions are used so that an intelligence Energy terminal executes all or part of the steps of each embodiment the method.
In the description of the present application, reference term " one embodiment ", " some embodiments ", " example ", " specific example ", Or the description of " some examples " etc. means particular features, structures, materials, or characteristics packet described in conjunction with this embodiment or example In at least one embodiment or example contained in the application.In the present specification, schematic expression of the above terms are necessarily It is directed to identical embodiment or example.Moreover, particular features, structures, materials, or characteristics described can be at any one Or it can be combined in any suitable manner in multiple embodiment or examples.In addition, without conflicting with each other, those skilled in the art Member the feature of different embodiments or examples described in this specification and different embodiments or examples can be combined and Combination.
In addition, term " first ", " second " are used for descriptive purposes only and cannot be understood as indicating or suggesting relative importance Or implicitly indicate the quantity of indicated technical characteristic.Define " first " as a result, the feature of " second " can be expressed or Implicitly include at least one this feature.In the description of the present application, the meaning of " plurality " is at least two, such as two, three It is a etc., unless otherwise specifically defined.
Any process described otherwise above or method description are construed as in flow chart or herein, and expression includes It is one or more for realizing specific logical function or process the step of executable instruction code module, segment or portion Point, and the range of the preferred embodiment of the application includes other realization, wherein can not press shown or discussed suitable Sequence, including according to related function by it is basic simultaneously in the way of or in the opposite order, Lai Zhihang function, this should be by the application Embodiment person of ordinary skill in the field understood.
Expression or logic and/or step described otherwise above herein in flow charts, for example, being considered use In the order list for the executable instruction for realizing logic function, may be embodied in any computer-readable medium, for Instruction execution system, device or equipment (can be personal computer, server, the network equipment or other can be from instruction execution System, device or equipment instruction fetch and the system executed instruction) it uses, or combine these instruction execution systems, device or equipment And it uses.For the purpose of this specification, " computer-readable medium " can be it is any may include, store, communicate, propagate, or transport Program is for instruction execution system, device or equipment or the device used in conjunction with these instruction execution systems, device or equipment. The more specific example (non-exhaustive list) of computer-readable medium include the following: there is the electrical connection of one or more wirings Portion's (electronic device), portable computer diskette box (magnetic device), random access memory (RAM), read-only memory (ROM) can It wipes editable read-only memory (EPROM or flash memory), fiber device and portable optic disk read-only storage (CDROM).In addition, computer-readable medium can even is that the paper that can print described program on it or other suitable Jie Matter, because can then be edited, be interpreted or when necessary with other for example by carrying out optical scanner to paper or other media Suitable method is handled electronically to obtain described program, is then stored in computer storage.
The foregoing is merely presently filed embodiments, are not intended to limit the scope of the patents of the application, all to utilize this Equivalent structure or equivalent flow shift made by application specification and accompanying drawing content, it is relevant to be applied directly or indirectly in other Technical field similarly includes in the scope of patent protection of the application.

Claims (16)

1. a kind of data read-write method of distributed memory system, which is characterized in that the distributed memory system includes client End and storage terminal, wherein the storage terminal includes the first memory node, at least two second memory nodes and at least two Read request Coordination module, the read request Coordination module are correspondingly arranged with second memory node, wherein first storage For storing data, at least two second memory nodes are used to store the copy of the data, the reading and writing data to node Method includes:
The client generates multiple data read requests, and multiple data read requests include the first data read request and the second number According to read request;
The client to first memory node sends first data read request and to the read request Coordination module Send second request of data;
First memory node obtains first request of data, and according to first request of data from the data of storage Obtain the first data;The read request Coordination module obtains second data read request, and according to second request of data The second data are obtained from the data that second memory node stores;
First data are sent to the client by first memory node;The read request Coordination module is by described Two data are sent to the client.
2. data read-write method according to claim 1, which is characterized in that the read request Coordination module obtains described the Two data read requests, and the second data are obtained from the data that second memory node stores according to second request of data Include:
The read request Coordination module obtains second data read request, and obtains the second memory node set, and to described All second memory nodes in second memory node set send second data read request;
Second memory node receives second data read request, and is obtained and described the according to second request of data The corresponding version number of two data, and the version number is sent to the read request Coordination module;
The read request Coordination module receives the version number that all second memory nodes are sent, and obtains multiple versions Number maximum value;
The read request Coordination module judges whether the second data corresponding with the maximum value lack;
If it is not, then the second data corresponding with the maximum value are sent to the client by the read request Coordination module.
3. data read-write method according to claim 2, which is characterized in that if the second data corresponding with the maximum value Missing then returns to all second memory nodes of the read request Coordination module into the second memory node set and sends institute The step of stating the second data read request.
4. data read-write method according to claim 2, which is characterized in that second memory node is according to described second Request of data obtains version number corresponding with second data
Second memory node obtains the first identification information of second data from second data read request;
Judge whether first identification information match with the second identification information in the cache list of the second memory node;
If so, second memory node obtains version number corresponding with first identification information from the cache list, And version number corresponding with first identification information is sent to the read request Coordination module.
5. data read-write method according to claim 4, which is characterized in that if first identification information and described second Whether the second identification information in the cache list of memory node mismatches, then judge first identification information with described second The third identification information matching that memory node is stored;
If so, second memory node obtains version number corresponding with first identification information, and will be with described first The corresponding version number of identification information is sent to the read request Coordination module.
6. data read-write method according to claim 5, which is characterized in that if first identification information and described second Third identification information that memory node is stored mismatches, then second memory node is by the corresponding version of second data Number it is set as zero, and the version number after zero setting is sent to the read request Coordination module.
7. data read-write method according to claim 2, which is characterized in that the quantity of first data read request and more The ratio between total quantity of a data read request is preset percentage.
8. data read-write method according to claim 7, which is characterized in that the preset percentage meets formula:
Wherein, x is the preset percentage, and the p is arranged for second memory node in institute State the probability in the second memory node set, quantity and second memory node of the n for first memory node The sum of quantity, and the n is more than or equal to 3.
9. data read-write method according to claim 8, which is characterized in that the p meets formula:
10. data read-write method according to claim 1, which is characterized in that first memory node obtains described the One data read request, and the first data are obtained from the data of storage according to first request of data and include:
First memory node obtains first data read request, and obtains from first data read request described the First identification information of one data;
First memory node judge first identification information whether in the cache list of first memory node The matching of second identification information;
If so, first memory node obtains the first data corresponding with first identification information, and will be with described the Corresponding first data of one identification information are sent to the client.
11. data read-write method according to claim 1, which is characterized in that the data read-write method further comprises:
The client generates data write request;
The client sends the data write request to first memory node;
First memory node receives the data write request, and obtains third data according to the data write request, and will The third data are sent to second memory node;
Second memory node receives and saves the third data.
12. a kind of distributed memory system, which is characterized in that the distributed memory system include client and storage terminal, Wherein, the storage terminal includes that the first memory node, at least two second memory nodes and at least two read requests coordinate mould Block, the read request Coordination module are correspondingly arranged with second memory node, first memory node for storing data, At least two second memory nodes are used to store the copy of the data;
For the client for generating multiple data read requests, multiple data read requests include the first data read request and the Two data read requests;The client is used to send first data read request to first memory node and to the reading Coordination module is requested to send second request of data;
First memory node is for obtaining first request of data, and according to first request of data from the number of storage According to the first data of middle acquisition, and first data are sent to the client;
The read request Coordination module is for obtaining second data read request, and according to second request of data from described The second data are obtained in the data of second memory node storage, and second data are sent to the client.
13. a kind of data read-write method of distributed memory system, which is characterized in that the distributed memory system includes client End and storage terminal, wherein the storage terminal includes the first memory node, at least two second memory nodes and at least two Read request Coordination module, the read request Coordination module are correspondingly arranged with second memory node, first memory node For storing data, at least two second memory nodes are used to store the copy of the data, the data read-write method Include:
First memory node obtains first data read request from the client, and according to first request of data The first data are obtained from the data of storage, and first data are sent to the client;The read request coordinates mould Block obtains second data read request from the client, and according to second request of data from second memory node The second data are obtained in the data of storage, and second data are sent to the client.
14. a kind of storage terminal, which is characterized in that the storage terminal includes:
First memory node, for storing data, first memory node obtain the first data read request, and root from client The first data are obtained from the data of storage according to first data read request, and first data are sent to the client End;
At least two second memory nodes, for storing the copy of the data;
Read request Coordination module, for obtaining the second data read request from the client, and according to second request of data The second data are obtained from the data that second memory node stores, and second data are sent to the client.
15. a kind of storage terminal, which is characterized in that the storage terminal includes:
Memory module, for storing data;
Transceiver module, for receiving data read request from client;
Processing module, for obtaining requested number from the data that the memory module stores according to the data read request According to;
The requested data are further sent to the client by the transceiver module.
16. a kind of storage medium, is stored thereon with program data, which is characterized in that described program data are performed realization power Benefit requires the step in the method for any one of 1-11,13.
CN201880002511.3A 2018-08-23 2018-08-23 Distributed storage system and data read-write method thereof, storage terminal and storage medium Active CN109691065B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/102027 WO2020037625A1 (en) 2018-08-23 2018-08-23 Distributed storage system and data read-write method therefor, and storage terminal and storage medium

Publications (2)

Publication Number Publication Date
CN109691065A true CN109691065A (en) 2019-04-26
CN109691065B CN109691065B (en) 2021-11-09

Family

ID=66190472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880002511.3A Active CN109691065B (en) 2018-08-23 2018-08-23 Distributed storage system and data read-write method thereof, storage terminal and storage medium

Country Status (2)

Country Link
CN (1) CN109691065B (en)
WO (1) WO2020037625A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347335A (en) * 2020-10-30 2021-02-09 银盛支付服务股份有限公司 Method, system, computer equipment and storage medium for efficient retrieval of Elasticissearch
CN113254415A (en) * 2021-05-19 2021-08-13 浪潮商用机器有限公司 Method and device for processing read request of distributed file system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204536A (en) * 2021-05-27 2021-08-03 济南浪潮数据技术有限公司 Read-write optimization method and device for distributed storage system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1840767A2 (en) * 2006-03-28 2007-10-03 Sun Microsystems, Inc. Systems and methods for a distributed cache
CN103248656A (en) * 2012-02-10 2013-08-14 联想(北京)有限公司 Method for achieving data reading and writing as well as DSF (distributed file system) and client side
CN105468302A (en) * 2015-11-23 2016-04-06 华为技术有限公司 Data processing method, apparatus and system
US20170024411A1 (en) * 2005-01-12 2017-01-26 Wandisco, Inc. Distributed file system using consensus nodes
CN106372136A (en) * 2010-12-30 2017-02-01 脸谱公司 Distributed cache system and method and storage medium
CN106850856A (en) * 2017-03-28 2017-06-13 南京卓盛云信息科技有限公司 A kind of distributed memory system and its synchronization caching method
CN108228750A (en) * 2017-12-21 2018-06-29 浪潮软件股份有限公司 A kind of distributed data base and its method that data are managed

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103635887B (en) * 2013-09-23 2015-07-08 华为技术有限公司 Data caching method and storage system
CN104580428B (en) * 2014-12-27 2018-09-04 北京奇虎科技有限公司 A kind of data routing method, data administrator and distributed memory system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170024411A1 (en) * 2005-01-12 2017-01-26 Wandisco, Inc. Distributed file system using consensus nodes
EP1840767A2 (en) * 2006-03-28 2007-10-03 Sun Microsystems, Inc. Systems and methods for a distributed cache
CN106372136A (en) * 2010-12-30 2017-02-01 脸谱公司 Distributed cache system and method and storage medium
CN103248656A (en) * 2012-02-10 2013-08-14 联想(北京)有限公司 Method for achieving data reading and writing as well as DSF (distributed file system) and client side
CN105468302A (en) * 2015-11-23 2016-04-06 华为技术有限公司 Data processing method, apparatus and system
CN106850856A (en) * 2017-03-28 2017-06-13 南京卓盛云信息科技有限公司 A kind of distributed memory system and its synchronization caching method
CN108228750A (en) * 2017-12-21 2018-06-29 浪潮软件股份有限公司 A kind of distributed data base and its method that data are managed

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王千阁等: "区块链系统的数据存储与查询技术综述", 《计算机科学》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347335A (en) * 2020-10-30 2021-02-09 银盛支付服务股份有限公司 Method, system, computer equipment and storage medium for efficient retrieval of Elasticissearch
CN113254415A (en) * 2021-05-19 2021-08-13 浪潮商用机器有限公司 Method and device for processing read request of distributed file system
CN113254415B (en) * 2021-05-19 2022-11-04 浪潮商用机器有限公司 Method and device for processing read request of distributed file system

Also Published As

Publication number Publication date
WO2020037625A1 (en) 2020-02-27
CN109691065B (en) 2021-11-09

Similar Documents

Publication Publication Date Title
US10108632B2 (en) Splitting and moving ranges in a distributed system
US20110196828A1 (en) Method and System for Dynamically Replicating Data Within A Distributed Storage System
CN109691065A (en) Distributed memory system and its data read-write method, storage terminal and storage medium
CN102387220A (en) Offline downloading method and system based on cloud storage
CN106375416B (en) Consistency dynamic adjusting method and device in distributed data-storage system
JP7378403B2 (en) Data processing methods, equipment, and computing devices
CN102413156B (en) Distributed data storage system and method
CN103399894A (en) Distributed transaction processing method on basis of shared storage pool
CN109933312A (en) A method of containerization relevant database I/O consumption is effectively reduced
CN110222076A (en) Distributed caching method, server and storage medium
CN107277128A (en) The method and device of request processing order-preserving in a kind of distributed storage agreement
JP2023541298A (en) Transaction processing methods, systems, devices, equipment, and programs
CN113051102B (en) File backup method, device, system, storage medium and computer equipment
Lv et al. An optimized RGA supporting selective undo for collaborative text editing systems
CN110402435A (en) Dull transaction in more primary databases with loose couplings node
CN105339906B (en) The method for controlling the data write-in to permanent storage appliance
CN109271105A (en) Date storage method and distributed storage cluster applied to distributed storage cluster
CN104363269B (en) It is a kind of to pass through FC link transmissions, the method and device of reception NAS data
CN114661818B (en) Method, system, and medium for real-time synchronization of data between clusters in a graph database
CN103095765B (en) Peer-to-peer communication network and data content distributing method thereof and communication node thereof
CN109992447A (en) Data copy method, device and storage medium
CN114490540A (en) Data storage method, medium, device and computing equipment
CN110288309B (en) Data interaction method, device, system, computer equipment and storage medium
CN114443677A (en) Object storage service system
Cheriere et al. How fast can one resize a distributed file system?

Legal Events

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