WO2010069135A1 - 分布式系统版本控制方法、节点及系统 - Google Patents

分布式系统版本控制方法、节点及系统 Download PDF

Info

Publication number
WO2010069135A1
WO2010069135A1 PCT/CN2009/001459 CN2009001459W WO2010069135A1 WO 2010069135 A1 WO2010069135 A1 WO 2010069135A1 CN 2009001459 W CN2009001459 W CN 2009001459W WO 2010069135 A1 WO2010069135 A1 WO 2010069135A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
data
node
synchronization
management
Prior art date
Application number
PCT/CN2009/001459
Other languages
English (en)
French (fr)
Inventor
薛海强
王光霁
欧阳聪星
魏冰
Original Assignee
中国移动通信集团公司
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 中国移动通信集团公司 filed Critical 中国移动通信集团公司
Priority to US13/139,455 priority Critical patent/US8538923B2/en
Priority to EP09832817.2A priority patent/EP2378718B1/en
Publication of WO2010069135A1 publication Critical patent/WO2010069135A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • 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

Definitions

  • the present invention relates to a core network in the field of communications, and in particular to a distributed system version control method, node and system. Background technique
  • Distributed storage systems usually have a data redundancy storage mechanism, that is, storing multiple copies of the same data on different nodes, thereby bringing about high reliability of data storage, high throughput of data reading, and the like. .
  • a version control problem there is also a problem that synchronization between multiple copies of data is called a version control problem.
  • the version control is relatively simple, and the last modification time of the replica can be used as the evaluation criterion. Since the clock source is unique, the last modified copy is the latest version.
  • FIG 1 is a flow chart of the two-phase commit protocol in the prior art, as shown in Figure 1, in which the protocol
  • the resource manager's activities are controlled by a separate software component of the transaction coordinator, including: The transaction coordinator notifies the resource manager to prepare the commit (prepare), the resource manager response transaction coordinator (Vote Commit), the transaction coordinator Collect all responses from the resource manager (Global Commit), the transaction coordinator notifies the resource manager of the result of the transaction and receives the resource manager's response (Ack).
  • Oracle's version control method is simple and will coordinate The time of the person is used as the version number of the data, but once the time between the coordinators is not synchronized, when the system performs data recovery, it is likely to overwrite the latest data with an earlier data, therefore, the two-phase commit
  • the method to solve the version synchronization problem needs to maintain time synchronization, which makes the system's availability drop significantly, and the two-phase commit (2PL) is extremely costly.
  • the time synchronization methods mainly include: master-slave time synchronization, Byzantine protocol time synchronization and convergence function time synchronization.
  • the time synchronization technology related to the present invention is master-slave time synchronization, and the most widely used one is the Network Time Protocol (NTP) protocol.
  • NTP Network Time Protocol
  • the client (Client) interacts with the server to synchronize its own time.
  • a first object of the present invention is to provide a version control method for a distributed system to achieve a generalized time of a distributed system, in view of the disadvantages of poor scalability and poor practicability of a distributed system in the prior art. Synchronize to improve scalability and usability.
  • a second object of the present invention is to provide a distributed version control system for realizing the time synchronization of a distributed system and improving the scalability of the distributed system, in view of the disadvantages of poor scalability and poor practicability of the distributed system in the prior art. Practicality.
  • a third object of the present invention is to provide a management node in a distributed system for realizing the time synchronization of a distributed system and improving the distributed system in view of the disadvantages such as poor practicability and time synchronization of the distributed system in the prior art. Scalability and practicality.
  • a fourth object of the present invention is to provide a storage node for realizing the time synchronization of a distributed system and improving the scalability and practicability of the distributed system, in view of the defects of the prior art distributed system, such as poor practicability and low time synchronization. .
  • a version control method of a distributed system is provided.
  • a version control method for a distributed system includes: selecting one management node in each domain of the distributed system; selecting one of all management nodes as a synchronization source of the distributed system, and all management nodes according to synchronization
  • the time of the source is time synchronized; all management nodes control the time synchronization of the nodes in the corresponding domain according to the synchronized time, the section of the distributed system, and the version control of the replica of the stored data according to the synchronized time.
  • the foregoing version control method may further include: adding time identification information, and/or operation version identification information to the data stored in the distributed system, and according to the time identification information, and/or the operation version identification information. Multiple copies of the data are versioned.
  • the time identification information may include: a sending time and a receiving time.
  • the operation of selecting a management node in each domain of the distributed system may include: selecting, in each domain, a node with the smallest ID, the largest, or the longest online time as the management section of the domain.
  • a distributed version control system is provided.
  • a distributed version control system includes: a management node, selected from a storage node in each domain for time synchronization with a synchronization source selected from a plurality of management nodes, and according to the synchronized The time is responsible for the time synchronization of each storage node in the corresponding domain; the storage node is configured to version control the replica of the stored data according to the synchronized time.
  • a management node is provided.
  • the management node according to the embodiment of the present invention is selected and generated from each domain of the distributed system, and the management node includes: an interface module, configured to interact with a synchronization source selected from all management nodes, and send a carrier request time T1 synchronization.
  • a request message from the corresponding reply request message, obtaining a time T2 when the synchronization source receives the request message, and a time T3 for replying to the request message; and a calculating module, configured to receive the time T4, Tl according to the response request message And ⁇ 2 and ⁇ 3, calculating a relative difference ⁇ from the synchronization source time system, and adjusting the time system according to the relative difference to maintain synchronization with the synchronization source; and processing module, configured to: in the domain of the management node according to the time after synchronization Each storage node performs time synchronization.
  • a storage node includes: a time synchronization module, configured to perform time synchronization with a management node selected from each domain of the distributed system; a storage module, configured to save data of the distributed system and after synchronization Time; version control module, used to version control the copy of the stored data according to the time after synchronization.
  • the version control method, node and system of the distributed system perform time synchronization by selecting a plurality of management nodes, and then the management node controls the time synchronization of each node in the domain, and performs hierarchical synchronization, and the system can be synchronized after synchronization.
  • the clocks of all the nodes in the middle will reach a roughly synchronized state, achieving a certain range of time synchronization.
  • each node in the distributed system can perform version control according to the time after synchronization.
  • Embodiments of the present invention do not require clock height synchronization, nor do a centralized control node perform strict time synchronization of the version.
  • the system can automatically perform effective time synchronization, Need manual Configuration, showing good scalability to the outside world, high degree of automation, suitable for large-scale networks.
  • Embodiments of the present invention perform version control on the basis of time synchronization, allowing multiple inconsistencies in the system to be inconsistent, allowing the system to automatically analyze the latest data and provide it to the outside, greatly improving the availability of the distributed system. Effectively solve the defects in the prior art that all replicas need to be kept up-to-date, one node fails, and the utility is low.
  • FIG. 1 is a flow chart of a two-stage commit protocol in the prior art
  • FIG. 2 is a flowchart of a distributed system version control method according to Embodiment 1 of the present invention
  • FIG. 3 is a schematic diagram of selecting a management node in FIG.
  • FIG. 4( a ) is a schematic diagram of time synchronization of a management node of a distributed system version control method according to Embodiment 2 of the present invention
  • FIG. 4(b) is a schematic diagram of time synchronization of a storage node of a distributed system version control method according to Embodiment 2 of the present invention.
  • FIG. 5 is a schematic flowchart of a distributed system version control method according to a third embodiment of the present invention
  • FIG. 6 is a schematic flowchart of an embodiment of a distributed system version control method applied to data modification according to the present invention
  • FIG. 7 is a flow chart showing an embodiment of a distributed system version control method applied to data reading according to the present invention.
  • FIG. 8 is a diagram of an embodiment of a distributed system version control method applied to data recovery according to the present invention Schematic diagram of the process
  • FIG. 9 is a schematic diagram of a distributed version control system according to Embodiment 7 of the present invention.
  • FIG. 10 is a schematic structural diagram of an embodiment of a management node in FIG. 9;
  • FIG. 11 is a schematic structural diagram of an embodiment of a storage node in FIG. 9. Detailed ways
  • a distributed system version control method and system are provided.
  • the version control method, node and system of the present invention are described in detail below with reference to FIGS. 2-11.
  • FIG. 2 is a flowchart of a distributed system version control method according to Embodiment 1 of the present invention. As shown in FIG. 2, this embodiment includes:
  • Step S102 Select a management node in each domain of the distributed system.
  • Step S104 Select one of all management nodes as a synchronization source of the distributed system, and all the management nodes perform time synchronization according to the time of the synchronization source;
  • Step S106 The time control after all the management nodes are synchronized corresponds to the time synchronization of the nodes in the corresponding domain;
  • Step S108 The node of the distributed system performs version control on the replica of the stored data according to the time after the synchronization.
  • FIG. 3 is a schematic diagram of selecting a management node in FIG. 2.
  • the system includes nodes A, B, C, ..., U, and the entire system can be divided into four domains, and one management is selected from each domain.
  • Nodes, the management nodes in Figure 3 are nodes C, H, M, T.
  • the storage node is the node that is actually responsible for storing data.
  • Selecting one management node in each domain can be performed in various ways. For example, all the nodes in each domain select the node with the smallest ID number or the longest online time as the management node of the domain. It is also possible to use: One of the nodes in the domain advertises its request message as a management node to the remaining nodes, and when the remaining nodes accept, the node acts as the management node of the domain. There are many ways to select a management node, and the present invention is not limited to the above two selection methods.
  • step S104 may select one management node as the synchronization source among all the management nodes.
  • the synchronization source may be selected in a similar manner to the selection management node. The following is an example of selecting the management node with the longest online time among all management nodes as the synchronization source:
  • the management node can initiate the query request in a predefined order. For example, in a nationwide system in which the province is a domain and each domain contains a management node, all management nodes are arranged in order according to a unified pinyin prefix order. The election is initiated by the first node, that is, the node with the highest pinyin. The embodiment sends a query request to the management node of the corresponding domain in Anhui province, and adds its own online time and ID information to the query request. example;
  • Each management node that receives the message compares the online time in the message with its own online time. If the online time in the message is greater than its online time, the ID in the message and the online time information are forwarded to the subsequent management node. Pass, otherwise pass its own ID and online time;
  • the management node that initiates the query request for example, the management node of Anhui province receives the returned message, it knows the ID and online time information in the message, and uses the management node corresponding to the ID in the message as the standard time synchronization source of the system. And notify all management nodes of the election result, that is, the ID number is sent to the remaining management nodes. After the synchronization source is selected, all management nodes can be time synchronized according to the time system of the synchronization source.
  • Embodiment 2 Embodiment 2
  • FIG. 4(a) is a schematic diagram of time synchronization of a management node of a distributed system version control method according to a second embodiment of the present invention
  • FIG. 4(b) is a storage node time synchronization of a distributed system version control method according to a second embodiment of the present invention; schematic diagram. Time synchronization and management of the management node and the synchronization source The same time synchronization mode can be adopted for the node and the storage node in the domain.
  • time synchronization between the management node and the selected synchronization source in this embodiment includes:
  • the management node that needs the synchronization time initiates a synchronization request message to the synchronization source, where the transmission request time T1, T1 is the time when the management node sends the synchronization request with reference to its own time system;
  • ⁇ 2 is the time when the synchronization source receives the synchronization request with reference to its own time system
  • ⁇ 3 is The time at which the synchronization source replies to the message with reference to its own time system
  • the management node After receiving the message, the management node records the time of receiving the message (taken by its own time system) ⁇ 4;
  • the management node calculates the relative difference ⁇ from the synchronization source time system based on the receptions ⁇ 4, Tl, ⁇ 2, and ⁇ 3.
  • The relative difference between the synchronization source and the management node time system
  • the management node After obtaining the relative difference , the management node adds the time ⁇ to its own time to obtain A time system that keeps time synchronized with the sync source.
  • FIG. 4(b) is a schematic diagram of time synchronization of a storage node of a distributed system version control method according to Embodiment 2 of the present invention.
  • the management node After the management node synchronizes with the synchronization source, the management node can be used as the time synchronization source in the corresponding domain to synchronize the time of each storage node in the domain.
  • time synchronization between the management node and the selected synchronization source in this embodiment includes:
  • each storage node in the domain initiates a synchronization request message to the management node, with a sending request time ⁇ ;
  • the intra-domain node After receiving the message, the intra-domain node records the time of receiving the message ⁇ 4,;
  • the node calculates the relative difference ⁇ ' from the management node time system based on the received ⁇ 4, ⁇ , ⁇ 2, and ⁇ 3.
  • ⁇ ⁇ ⁇ 2 , ( ⁇ 2'- ⁇ ) + ( ⁇ 4'- ⁇ 3'), after the relative difference ⁇ is obtained, the storage node adds the difference ⁇ to its own time, and the time is maintained with the management node. Synchronized time system.
  • management node hardware There is no difference between the management node hardware and other storage nodes in the domain. It is only responsible for synchronizing the storage nodes in the management domain during time synchronization. After the management node performs time synchronization, it can be used as a common node of the distributed system and participate in subsequent version control. process.
  • the foregoing method embodiment performs time synchronization by electing a management node, and performs a certain range of clock synchronization on the entire network node, and can be similar to the home subscriber server (Home Subscriber).
  • Home Subscriber home subscriber server
  • the large-scale data storage system of this application scenario ensures data consistency. Even if the node scale is expanded to 10,000, the 100,000-level can still perform effective synchronization control, and the time synchronization of the embodiments of the present invention. Simple and easy to implement, and highly automated.
  • FIG. 5 is a schematic flowchart of a distributed system version control method according to Embodiment 3 of the present invention. As shown in FIG. 5, this embodiment includes:
  • Step S202 Select a management node in each domain of the distributed system
  • Step S204 Select one of all the management nodes as the synchronization source of the distributed system, and all the management nodes perform time synchronization according to the time of the synchronization source;
  • Step S206 The time synchronization of the node after the synchronization of the management node corresponds to the time synchronization of the node in the domain;
  • time identification information is added to the stored data according to the time of each node after synchronization, or the operation version identification information is added, or both types of information are added to implement multiple copies of the data.
  • the version control of the replica such as: The time-stamped latest data can be manipulated during reading, recovery or modification.
  • the time identification information of the data in this embodiment may include a sending time, a receiving time, and the like, where the sending time is a time when the sender sends the data to the node where the plurality of replicas are located with reference to the time of the user; the receiving time is a replica.
  • the time at which the node receives the data with reference to its own time system. According to the difference between the receiving time and the sending time, the relative storage time of the obtained data at the node where the replica is located can also be calculated.
  • multiple copies of the data may be versioned in multiple ways:
  • the data with the latest transmission time is the latest data.
  • the same data the data in the first copy is sent 5 minutes before, and the data in the other 2 copies is sent 2 minutes ago, the data of the 2 copies can be regarded as the latest data. It can be read, modified, restored, and so on.
  • This method is applicable to the clock synchronization of all nodes on the entire network. Because the node needs to join the data transmission time with reference to its own time system, it needs to ensure time synchronization.
  • the data with the shortest save time as the latest data.
  • the relative storage time of the data in the first copy is 5 minutes
  • the relative storage time of the data in the other 2 copies is 2 minutes
  • the data of the 2 copies can be regarded as the latest data. It can be read, modified, restored, and so on.
  • the receiving time of each node may be inconsistent when the multiple replicas are located. Therefore, the calculated relative storage time may also be Not the same, therefore, this method is suitable for situations where the delay is not important.
  • the operation version identification information may be the version number of the data, and the version number is the latest data.
  • the data modification time may be updated when the data is modified, and if the data is modified The most, you can also use it as the latest data.
  • the time synchronization is performed by electing the management node, and time identification information and operation version identification information are added to the data, and subsequent version control can be performed by combining the data content, thereby implementing data storage, modification, and reading of the storage system.
  • the acquisition and recovery, etc. can effectively perform version control and have high practicability.
  • the present invention can perform version control by combining time identification information and operation version information.
  • W is the response to the modification of the node where the replica is received, that is, W is the minimum number of successful responses to the node receiving the replica, and R is the least to read the same content replica.
  • the quantity, that is, the content of the copied R shares or more is the same.
  • W+R>N is satisfied, the configuration that satisfies this condition is legally configured.
  • the relationship between UR and N can be pre-configured in the system, and version control is performed according to the modified configuration during reading and modification.
  • FIG. 6 is a flow chart showing an embodiment of a distributed system version control method applied to data modification according to the present invention. As shown in FIG. 6, this embodiment includes:
  • Step S302 A front-end node in the distributed system receives a modification request for a certain data, where the front-end node is the first common storage node in the system that receives the request for modifying the data outside the system, and each storage node can serve as a front-end node.
  • the distributed system can be externally chained.
  • the first receiving node acts as the front-end node.
  • the front-end node obtains the data. N copies of the node where the copy is located;
  • Step S304 The sending time is added to the modification request, and the modification request is forwarded to the node where the N copies of the data are located, where the sending time is the time corresponding to the front end node sending the modification request according to the own clock;
  • Step S306 The front-end node determines whether the W-part success response is received, if yes, step S308 is performed; otherwise, step S310 is performed;
  • Step S308 Update the data sending time and the operation version identification information, and the process ends.
  • Step S310 The front-end node returns data modification failure, and notifies the node where the replica is located to restore the data before the modification request fails.
  • the front-end node fails to receive the modification request due to receiving less than 2 successfully accepted modification requests, and notifies the node to roll back the written data.
  • the node that successfully accepts the modification request writes the data sending time, the arrival time, and the data content into the database together, and modifies the version operation identification information of the data.
  • the number of modification times is taken as an example, each successfully modified. Once the data is added, the number of modifications to the data is increased by one, and the latest number of modifications is saved.
  • the time identification is combined to perform version control, thereby implementing data storage and modification of the storage system, which can effectively perform version control and has high practicability.
  • the present embodiment is applied to a version control method for data modification, and combines time identification information and operation version identification information to generate data for version control, and effective version control can be performed in a large-scale network at a low cost.
  • Figure 7 is a flow chart showing an embodiment of a distributed system version control method applied to data reading according to the present invention. As shown in FIG. 7, this embodiment includes:
  • Step S402 The front-end node receives the data read request, and forwards the read request to the node where the N copies of the data are located;
  • Step S404 The node where the replica is located takes out the time identification information of the data, obtains a relative modification time, and returns to the front end node;
  • Step S406 The front-end node determines whether there is the same data returned by the node where the replica is located, and returns the query result of the data, and ends;
  • Step S408 The front end node returns a search failure result.
  • the front end node receives the data read request, and sends the message to the node where the three replicas are located;
  • B. The sending time and arrival time of the data taken by the node where the replica is taken, the relative saving time obtained by subtracting the arrival time from the current time, and the number of data modification times, and returning to the front-end node;
  • the front-end node returns a search failure
  • the system compares the contents of the three data. If the contents of the three data contents are the same or two or three, the content is returned. If the three data contents are different, This indicates that there is a data inconsistency in the system, so the search failure will be returned.
  • the time identification and the operation version identification information are combined to perform version control, thereby implementing data reading of the storage system, which can effectively perform version control and has high practicability.
  • This embodiment adds the version operation identification information.
  • the version When the version is controlled, it can determine whether the data is the same or whether the data is synchronized according to the time, the number of data modification times, and whether the data content is consistent.
  • the embodiment solves the problem that the precise time synchronization is difficult, and the time synchronization in a certain range is achieved.
  • multiple copies of the system are allowed to be inconsistent, and then the system selects a piece of the latest data from the user, so that the system makes The system can be fault tolerant, greatly improving the availability and scalability of the system.
  • FIG. 8 is a flow chart showing an embodiment of a distributed system version control method applied to data recovery according to the present invention. As shown in FIG. 8, this embodiment includes:
  • Step S502 The fault recovery node sends a synchronization request to the node where the other N-1 copies of the data are located;
  • Step S503 The time identification information of the data taken by the node where the replica is located, the operation version identification information, and the like are returned to the front end node;
  • Step S504 determining whether the R share data is successfully read, if yes, executing step S505, otherwise executing Step S506;
  • Step S505' The return read fails, the data recovery fails, and the end;
  • Step S506 determining whether the version is consistent, if yes, executing step S510; otherwise, performing step S508; Step S508: returning the data with the most modification times, and the fault recovery node uses the data to perform data recovery, and the data recovery ends;
  • Step S510 determining whether the returned data is consistent in time, executing step S514, otherwise performing step S516;
  • Step S512 Returning the latest data of the data with a later transmission time, and the fault recovery node uses the data for data recovery, and the data recovery ends;
  • Step S514 determining whether the relative storage time is consistent, if yes, executing step S518; otherwise, executing step S516;
  • Step S516 Returning data that is relatively late to the storage time, the fault recovery node uses the data to perform data recovery, and the data recovery ends;
  • Step S518 Return any data, and the fault recovery node uses this data for data recovery, and the data recovery ends.
  • node E When node E recovers from the fault, it will synchronize all the data stored on it. For a piece of data stored on node E, there are duplicates on the other two nodes El and E2;
  • the node E sends a synchronization request to the nodes El and E2, and only the El and E2 respond to the data recovery synchronization;
  • node E When node E receives the response, it will compare the number of modification times of the two copies. When the number of modification is the same, the data transmission time will be compared. When the data transmission time is the same, the relative data retention time will be compared, and a newer one will be obtained.
  • Node E can provide services to the outside until data recovery is completed.
  • the time identifier and the operation version are combined.
  • This identification information is used for data recovery control, and the version recovery control can be effectively performed, which is highly practical.
  • This embodiment solves the problem of precise time synchronization difficulty, achieves a certain range of time synchronization, and allows multiple copies of the system to be inconsistent, and then the system selects a piece of the latest data to provide to the user, so that the system can Fault tolerance greatly increases the availability and scalability of the system.
  • the version control methods of existing distributed systems often rely on accurate synchronization of the entire network clock. However, in large-scale networks, this is very difficult.
  • the version control method proposed by the foregoing embodiments of the present invention generates data by using time identification and operation version identification information, and also combines comparison data content to assist in version control, and can be effectively implemented in a large-scale network at a low cost. Version control.
  • the existing clock synchronization scheme relies on manual configuration, and will be a very large workload in large-scale networking.
  • the time synchronization method proposed in the above embodiments automatically elects a synchronization synchronization source, and automatically performs a clock synchronization operation. high degree of automation.
  • FIG. 9 is a schematic diagram of a distributed version control system according to Embodiment 7 of the present invention. As shown in FIG. 9, the embodiment includes nodes A, B, C, ..., U, where nodes (, H, M, and T are management nodes, and the remaining nodes are storage nodes.
  • the management node is selected and generated from the storage nodes in each domain, and is used for time synchronization with the synchronization source selected from the multiple management nodes, and is responsible for time synchronization of each storage node in the corresponding domain according to the synchronized time.
  • the related descriptions of the time synchronization in the first embodiment, the second embodiment and the third embodiment implement time synchronization with the selected synchronization source, and are responsible for the time of the storage node in the domain.
  • the storage node is configured to perform time synchronization with the management node in the corresponding domain, and version control the replica of the stored data according to the synchronized time.
  • the time synchronization between the storage node and the management node can be referred to the description of Figure 4 (b).
  • the management node After the management node performs system time synchronization, it can join the domain to become a common storage node for version control.
  • the version control For a description of the version control, refer to the related description of FIG. 5 to FIG. 8. The same or similar contents are not repeatedly described herein.
  • the system can automatically perform effective time synchronization without manual configuration, and can present a good external appearance.
  • the scalability, high degree of automation, and application to a large-scale network, and the version control method of the embodiment can allow inconsistencies in the data in the system, thereby improving the availability of the system.
  • FIG. 10 is a schematic structural diagram of an embodiment of a management node in FIG. 9. As shown in FIG. 10, the management node in this embodiment includes:
  • the interface module 2 is configured to interact with a synchronization source selected from all the management nodes, send a request time T1 synchronization request message, obtain a time T2 of the synchronization source receiving the request message, and reply the request from the corresponding reply request message.
  • the time of the message is ⁇ 3;
  • the calculating module 4 is configured to calculate a relative difference ⁇ from the synchronization source time system according to the receiving time ⁇ 4, the T1, ⁇ 2, and ⁇ 3 of the receiving reply request message, and adjust the time system and the synchronization source of the relative difference adjusting Synchronize;
  • the processing module 6 is configured to perform time synchronization on each storage node in the domain according to the time after the synchronization.
  • the specific time synchronization process of the management node can be seen in the relevant synchronization description of Figure 4 (a).
  • FIG. 11 is a schematic structural diagram of an embodiment of a storage node in FIG. 9.
  • the storage node in this embodiment includes:
  • the time synchronization module 1 is configured to perform time synchronization with the corresponding management node selected from the corresponding domain of the distributed system, that is, the management node in the domain to which the storage node belongs is time synchronized;
  • the storage module 3 is configured to save the distribution.
  • the data of the system and the time after synchronization, the data may include time identification information, and/or operation version identification information, and the time identification information may include the transmission time and/or reception time of the data.
  • the version control module 5 is configured to perform version control on the replica of the stored data according to the synchronized time. Specifically, when the storage node is configured to modify, read, or restore the requested front end node, the requested data is more A copy of the copy is versioned.
  • the storage module 3 can also store version operation identification information of the data, that is, a piece of data can correspondingly save its transmission time, reception time, and data version information (such as the number of modifications, etc.).
  • a node In a distributed system, a node is not only a management node, or a storage node, or a front-end node. Sometimes it may be combined. For example, a node is selected as a management node in the domain during time synchronization; after time synchronization , can join the domain to become a normal storage node; if it is the first node to receive the external system request message, it may also be used as the front-end node for version control. Therefore, in the distributed system exemplified in the embodiments of the present invention, the management node and the storage node may be integrated into one node, and perform different functions in different processes.
  • the embodiments of the above method invention may be implemented in a management node and a storage node having the structure shown in the structural diagrams of FIG. 10 to FIG. 11. If a node acts as a management node and a storage node in different processes, correspondingly, The node has both the management node in FIG. 10 and the internal function module of the storage node in FIG.
  • the replica version control method and the distributed version control system proposed by the embodiments of the present invention do not need a clock height synchronization, and do not need a centralized control point to perform strict synchronization of the replica version, so that the system exhibits good scalability externally. It can be used in a large-scale distributed redundant storage system of 100,000 levels, which makes the system have good scalability.
  • Embodiments of the present invention allow multiple versions of the replica to be inconsistent in the system and apply
  • the new version control method allows the system to automatically distinguish which data copy represents the latest version of the data and provide the latest data to the requester, even if some copies have problems, they can still read and modify the data normally.
  • the system will select a new copy from the user to make the system fault-tolerant and improve system availability.
  • Embodiments of the present invention require all nodes of the entire network to perform clock synchronization.
  • the existing scheme directly applied to such a large-scale network such as D-HSS requires a large amount of manual configuration in terms of workload, and the present invention therefore proposes a new clock. Synchronization method, even if the node scale is expanded to 10,000, the 100,000 level can still perform effective clock synchronization, without manual configuration, high degree of automation, and the version control method has low hardware requirements.
  • the version control method and system of the present invention adopts a management node for clock synchronization, so that the distributed redundant storage system can maintain a high efficiency when expanding to a scale of 100,000 nodes, and the reliability can reach 99.999%. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

分布式系统版本控制方法、 节点及系统 技术领域
本发明涉及通信领域中核心网, 具体地, 涉及一种分布式系统版本控制 方法、 节点及系统。 背景技术
分布式存储系统通常具有数据冗余存储机制, 即对同一份数据, 在不同 的节点上存储多个复本, 由此带来了数据存储的高可靠性, 数据读取的高吞 吐量等优点。 但是也存在数据多复本之间需要同步的问题, 称为版本控制问 题。
在集中式存储系统中, 版本的控制比较简单, 可以使用复本的最后修改 时间作为评判标准, 由于时钟源唯一, 因此, 最后被^^改的复本是最新的版 本。 但是, 在分布式系统中, 保证各个节点时钟的高精度同步比较困难, 因 此, 要为复本制定一个版本控制方法很困难。 但这却是非常重要的一个问题, 例如: 某人帐户的复本 1显示余额 10元, 复本 2显示余额为 20元, 这时该分布 式系统将很难确定此人的实际余额, 因此, 版本控制是分布式系统中一个亟 待解决的问题。
现有分布式系统' Oracle"的 "Advanced Replication" 技术中的版本同步 依靠二阶段提交协议。 图 1为现有技术中的二阶段提交协议的流程图, 如图 1 所示, 在该协议中, 资源管理器的活动均由一个事务协调器的单独软件组件 来控制, 包括: 事务协调器通知资源管理器准备提交事务(prepare )、 资源管 理器回应事务协调器(Vote Commit ),事务协调器收集资源管理器的所有响应 ( Global Commit )、事务协调器将事务的结果通知给资源管理器并接收资源管 理器的响应 (Ack )。 如图 1所示, Oracle的版本控制方法简单, 将协调者的时 间作为数据的版本号, 但是一旦协调者之间的时间没有同步, 则系统进行数 据恢复时, 很可能用一个较早的数据覆盖掉最新的数据, 因此, 二阶段提交 方法解决版本同步问题需要保持时间同步, 这使得系统的可用性下降明显, 并且 2阶段提交( Two Phase Commitment, 简称 2PL )代价极高。 现有的分布式冗余存储系统中进行版本控制更新时, 时间同步的方法主 要有: 主从式时间同步化, 拜占庭协议式时间同步化和收敛函数式时间同步 化。 与本发明相关的时间同步技术是主从式时间同步, 其中, 应用最为广泛 的是网络时间协议((Network Time Protocol , 简称 NTP)协议。 主从式时间 同步方式中一定有一个固定的服务器(Server ), 该服务器通过卫星同步自身 时间, 或者通过互联网连接同步更新自身时间, 客户端 (Client )与服务器进 行交互, 同步自身时间。
在实现本发明过程中, 发明人发现现有技术中至少存在如下问题:
1. 扩展性差: 现有分布式系统的版本控制方法, 当系统规模扩大到万 级、 十万级时, 对时钟同步的要求比较高, 实现很困难;
2. 系统可用性低:现有分布式系统中需要所有的复本都保持最新的 状态,只要一个复本所在的节点出现了问题,数据修改等流程就无法进行, 而在大规模组网时, 节点故障非常常见, 如果要确保数据的每一个镜像都 保持最新的版本, 系统的性能下降十分明显, 大大降低了系统的可用性;
3. 实用性差: 现有分布式系统中, 进行版本控制更新时, 或者通过 卫星同步自身时间, 或者通过互联网连接同步更新自身时间,解决方案都 比较复杂, 实用性不高;
4. 成本高、 工作量大: 分布式系统大规模组网时, 时间同步对硬件的 要求较高,现有的时钟同步需要手工设置主、备时钟, 过多依赖于手动配置, 在大规模组网时工作量非常大。 发明内容
本发明的第一目的是针对现有技术中分布式系统的扩展性差、 实用性差 等缺陷, 提出一种分布式系统的版本控制方法, 以实现分布式系统的大致时 间同步, 提高扩展性及实用性。
本发明的第二目的是针对现有技术中分布式系统的扩展性差、 实用性差 等缺陷, 提出一种分布式版本控制系统, 以实现分布式系统的时间同步, 提 高分布式系统的扩展性和实用性。
本发明的第三目的是针对现有技术中分布式系统的实用性差、 时间不同 步等缺陷, 提出一种分布式系统中的管理节点, 以实现分布式系统的时间同 步, 提高分布式系统的扩展性和实用性。
本发明的第四目的是针对现有技术中分布式系统的实用性差、 时间同步 不高等缺陷, 提出一种存储节点, 以实现分布式系统的时间同步, 提高分布 式系统的扩展性和实用性。
为实现上述第一目的, 根据本发明的一个方面, 提供了一种分布式系统 的版本控制方法。
根据本发明实施例的分布式系统的版本控制方法, 包括: 在分布式系统 的每个域中选取一个管理节点; 在所有管理节点中选取一个作为分布式系统 的同步源, 所有管理节点根据同步源的时间进行时间同步; 所有管理节点根 据同步后的时间控制对应域内节点的时间同步, 分布式系统的节,、根据同步 后的时间对存储数据的复本进行版本控制。
优选地, 上述版本控制方法中, 还可以包括: 在该分布式系统中存储的 数据中加入时间标识信息、 和 /或操作版本标识信息, 并根据时间标识信息、 和 /或操作版本标识信息对数据的多份复本进行版本控制。
其中, 上述时间标识信息可以包括: 发送时间、 接收时间。
具体地, 对数据的多份复本进行版本控制包括: 对所述数据的 N份复本 进行修改、 读取或恢复, 且满足 W+R>N, N>=3 , 其中, W为收到复本的节 点修改成功的最少响应数量; R为读取到相同内容复本的最少数量。
优选地, 在分布式系统的每个域中选取一个管理节点的操作可以包括: 在每个域中选取 ID号最小、最大的或在线时间最长的节点作为该域的管理节 为实现上述第二目的, 根据本发明的另一个方面, 提供了一种分布式版 本控制系统。
根据本发明实施例的分布式版本控制系统, 包括: 管理节点, 从每个域 内的存储节点中选取产生, 用于与从多个管理节点中选取的同步源进行时间 同步, 并根据同步后的时间负责对应域内各存储节点的时间同步; 存储节点, 用于根据同步后的时间对存储数据的复本进行版本控制。
为实现上述第三目的, 根据本发明的另一个方面, 提供了一种管理节点。 根据本发明实施例的管理节点, 从分布式系统的每个域中选取产生, 该 管理节点包括: 接口模块, 用于与从所有管理节点中选取的同步源进行交互, 发送携带请求时间 T1同步请求消息, 从对应的回复请求消息中, 获得同步源 收到所述请求消息的时间 T2, 及回复所述请求消息的时间 T3; 计算模块, 用 于根据接收回复请求消息的接收时间 T4、 Tl、 Τ2及 Τ3, 计算与同步源时间 系统的相对差值 θ,并根据相对差值调整自身的时间系统与所述同步源保持同 步; 处理模块, 用于根据同步后的时间对管理节点所在域内各存储节点进行 时间同步。
为实现上述第四目的, 根据本发明的另一个方面, 提供了一种存储节点。 根据本发明实施例的存储节点, 包括: 时间同步模块, 用于与从分布式 系统的每个域中选取产生的管理节点进行时间同步; 存储模块, 用于保存分 布式系统的数据及同步后的时间; 版本控制模块, 用于根据同步后的时间对 存储数据的复本进行版本控制。
本发明各实施例的分布式系统的版本控制方法、 节点及系统, 通过选取 若干个管理节点进行时间同步, 然后由管理节点控制其域内各节点的时间同 步, 分级进行同步, 同步后可以使系统中所有节点的时钟将达到一个大致同 步的状态, 实现一定范围内的时间同步。 在此基础上, 分布式系统中的各节 点可以根据同步后的时间进行版本控制等。 本发明各实施例无需时钟高度同 步, 也不需一个集中的控制节点来进行版本的严格时间同步, 即使节点规模 扩大到万级、 十万级, 使得系统仍然能自动进行有效的时间同步、 不需手工 配置, 对外呈现出良好的扩展性, 自动化程度高, 适用于大规模的网络。 本发明各实施例在时间同步的基础上进行版本控制, 允许系统中存在多 个复本不一致的情况, 可以使系统自动分析最新的数据并向外提供, 大大提 高了分布式系统的可用性, 可有效解决现有技术中需要所有复本保持最新状 态, 一个节点出现故障则不可操作, 实用性低等缺陷。
本发明的其它特征和优点将在随后的说明书中阐述, 并且, 部分地从说 明书中变得显而易见, 或者通过实施本发明而了解。 本发明的目的和其他优 点可通过在所写的说明书、 权利要求书、 以及附图中所特别指出的结构来实 现和获得。
下面通过附图和实施例, 对本发明的技术方案做进一步的详细描述。 附图说明
附图用来提供对本发明的进一步理解, 并且构成说明书的一部分, 与本 发明的实施例一起用于解释本发明, 并不构成对本发明的限制。 在附图中: 图 1为现有技术中的二阶段提交协议的流程图;
图 2为根据本发明实施例一的分布式系统版本控制方法流程图; 图 3为图 2中选取管理节点的示意图;
图 4 ( a ) 为 居本发明实施例二的分布式系统版本控制方法的管理节点 时间同步示意图;
图 4 ( b ) 为根据本发明实施例二的分布式系统版本控制方法的存储节点 时间同步示意图;
图 5为根据本发明实施例三的分布式系统版本控制方法流程示意图; 图 6为根据本发明的分布式系统版本控制方法应用于数据修改的实施例 流程示意图;
图 7为根据本发明的分布式系统版本控制方法应用于数据读取的实施例 流程示意图;
图 8 为根据本发明的分布式系统版本控制方法应用于数据恢复的实施例 流程示意图;
图 9为根据本发明实施例七的分布式版本控制系统示意图;
图 10为图 9中管理节点的实施例结构示意图;
图 11为图 9中存储节点的实施例结构示意图。 具体实施方式
以下结合附图对本发明的优选实施例进行说明, 应当理解, 此处所描述 的优选实施例仅用于说明和解释本发明, 并不用于限定本发明。
根据本发明实施例, 提供了一种分布式系统版本控制方法及系统, 下面 分别通过图 2-图 11对本发明的版本控制方法、 节点及系统进行详细说明。
实施例一
图 2 为根据本发明实施例一的分布式系统版本控制方法流程图, 如图 2 所示, 本实施例包括:
步骤 S102: 在分布式系统的每个域中选取一个管理节点;
步骤 S104: 在所有管理节点中选取一个作为分布式系统的同步源, 所有 管理节点根据同步源的时间进行时间同步;
步骤 S106: 所有管理节点 居同步后的时间控制对应域内节点的时间同 步;
步骤 S108: 分布式系统的节点根据同步后的时间对存储数据的复本进行 版本控制。
本实施例中, 通过在分布式系统的每个域中选取一个管理节点, 由所有 管理节点选取一个同步源后进行时间同步, 然后由管理节点控制其域内各节 点的时间同步, 本实施例采用分级进行同步, 同步后可以使系统中所有节点 的时钟达到一个大致同步的状态, 实现一定范围内的时间同步。 本实施例通 过选取管理节点来保持分布式系统大致时间同步的方式, 即使节点规模扩大 到万级、 十万级, 系统仍然能自动进行有效的时间同步、 不需手工配置, 可 以对外呈现出良好的扩展性, 自动化程度高, 适用于大规模的网络。 图 3为图 2中选取管理节点的示意图,如图 3所示, 系统包括节点 A、 B、 C...U、 V, 整个系统可以分为 4个域, 从每个域中选取一个管理节点, 图 3 中管理节点为节点 C、 H、 M、 T。 管理节点硬件上和域内的其它存储节点没 有区别, 只是在时间同步时负责同步管理域内的存储节点的时间, 存储节点 是实际负责存储数据的节点。
每个域中选取一个管理节点可以采用多种方式, 如: 每个域的所有节点 中选取 ID号最小、或在线时间最长的节点作为该域的管理节点。还可以采用: 域中的其中一个节点向其余节点通告其作为管理节点的请求消息, 在其余节 点均接受时, 将该节点作为该域的管理节点。 选取管理节点的方式有很多, 本发明不限于上述两种选取方式。
在选取完管理节点后, 步骤 S104可以在所有的管理节点中选取一个管理 节点作为同步源, 同样地, 选取同步源也可以采用与选取管理节点相类似的 方式。 下面以在所有管理节点中选取在线时间最长的管理节点作为同步源为 例进行说明:
1 ) 管理节点可以按照预先定义好的顺序发起查询请求, 例如在以省为 一个域且每个域中含有一个管理节点的全国性系统中, 按照统一的拼音字头 顺序将所有管理节点依次排列, 选举由排名第一, 即拼音最靠前的节点发起 在线时间查询请求, 本实施例以安徽省对应域的管理节点发起查询请求, 且 在该查询请求中加入自己的在线时间及 ID信息为例;
2 ) 每个收到该消息的管理节点比较消息中的在线时间与自己在线时 间, 如果消息中的在线时间大于自己的在线时间, 则将该消息中的 ID以及在 线时间信息向后一管理节点传递, 否则传递自身的 ID以及在线时间;
3 ) 当发起查询请求的管理节点, 如: 安徽省的管理节点收到返回的消 息时, 获知消息中的 ID及在线时间信息, 将消息中的 ID对应的管理节点作为 系统的标准时间同步源, 并且向所有的管理节点通知选举结果, 即将 ID号发 送给其余的管理节点。 在选取同步源之后, 即可根据同步源的时间系统对所有管理节点进行时 间同步。 实施例二
图 4 (a) 为根据本发明实施例二的分布式系统版本控制方法的管理节点 时间同步示意图, 图 4 (b)为根据本发明实施例二的分布式系统版本控制方 法的存储节点时间同步示意图。 由于管理节点与同步源进行时间同步和管理 节点与域内的存储节点可以采用相同的时间同步方式。
如图 4 (a)所示, 本实施例中管理节点与选取的同步源进行时间同步包 括:
1) 需要同步时间的管理节点向同步源发起同步请求消息, 其中带有发 送请求时间 Tl, T1为管理节点以自身时间系统为参照发送同步请求的时间;
2) 同步源收到此请求时回复一条消息,其中带有收到此消息的时间 Τ2 及回复此消息的时间 Τ3, Τ2为同步源以自身时间系统为参照收到同步请求的 时间, Τ3为同步源以自身时间系统为参照回复该消息的时间;
3) 管理节点收到消息后,记录收到该消息的时间(以自身时间系统为参 照) Τ4;
4) 管理节点根据接收 Τ4、 Tl、 Τ2及 Τ3, 计算与同步源时间系统的相 对差值 θ。
假设下列参数的含义如下:
Θ: 同步源与管理节点时间系统的相对差值
51: 请求消息在网上传播所消耗的时间
52: 回复消息在网上传播所消耗的时间, 假设 δ1=δ2
贝' J有方程^口下: 1 ) ΤΑ = Τ -θ + σ2 2 ) Τ2 = ΤΙ + θ + σ\ 3 ) δ1=δ2
可 (Τ2-Τ1)-(Τ4-Τ3) δ1 52_ (Τ2-Τ\) + (Τ4-Τ3)
— 2 — — 2
在获得相对差值 Θ之后, 管理节点将自身的时间加上该差值 θ, 即可获得 与同步源保持时间同步的时间系统。 在通过上述方法进行时间同步时, 还可 以同时获得网络传播的消耗时间 δ1=δ2, 以作他用, 如管理人员根据此时延能 够判断网络是否拥堵; 或者节点根据此时延设定自身传输超时计时器等。
图 4 ( b ) 为根据本发明实施例二的分布式系统版本控制方法的存储节点 时间同步示意图。 在管理节点与同步源进行时间同步后, 管理节点即可作为 对应域内的时间同步源, 对域内的各存储节点进行时间同步。 如图 4 ( b )所 示, 本实施例中管理节点与选取的同步源进行时间同步包括:
1 )域内的各存储节点向管理节点发起同步请求消息, 其中带有发送请求 时间 ΤΓ;
2 ) 管理节点回复此消息, 其中带有收到此消息的时间 T2,及回复此消息的 时间 Τ3';
3 ) 域内节点收到消息后, 记录收到该消息的时间 Τ4,;
4 ) 节点根据接收 Τ4,、 ΤΓ、 Τ2,及 Τ3,, 计算与管理节点时间系统的相对 差值 θ'。
与 上 述 计 算 过 程 类 似 , 可 得 θ, = (Τ2'-Τν) - (Τ4'-Τ3' ) ,
2
δγ = δ2, (Τ2'-Τν) + (Τ4'-Τ3') , 在获得相对差值^之后, 存储节点将自身的时间 加上该差值 θ,, 即可获得与管理节点保持时间同步的时间系统。
管理节点硬件上和域内的其它存储节点没有区别, 只是在时间同步时负 责同步管理域内的存储节点的时间, 管理节点进行时间同步后, 即可作为分 布式系统的普通节点, 参与后续的版本控制过程。
上述方法实施例通过选举管理节点, 进行时间同步, 通过对全网节点进 行一定范围内的时钟同步, 可以在类似归属用户服务器 (Home Subscriber
Server,简称 HSS)这种应用场景的大规模数据存储系统中保证数据的一致性, 即便节点规模扩大到万级, 十万级依然能够进行有效的同步控制, 同时本发 明各实施例的时间同步简单易实现, 且自动化程度高。
实施例三 图 5 为 居本发明实施例三的分布式系统版本控制方法流程示意图。 如 图 5所示, 本实施例包括:
步骤 S202: 在分布式系统的每个域中选取一个管理节点;
步骤 S204: 在所有管理节点中选取一个作为分布式系统的同步源, 所有 管理节点根据同步源的时间进行时间同步;
步骤 S206: 管理节点 居同步后的时间控制对应域内节点的时间同步; 步骤 S208: 在系统中存储的数据中加入时间标识信息、 和 /或操作版本标 识信息, 根据上述信息对数据的多份复本进行版本控制, 如读取、 修改及恢 复等。
在分布式系统中的各节点时间同步后, 根据同步后各节点的时间, 在存 储的数据中加入时间标识信息, 或加入操作版本标识信息, 或者两种信息均 加入, 以实现对数据多份复本的版本控制, 如: 在读取、 恢复或修改时可以 对时间标识最新的数据进行操作。
本实施例中数据的时间标识信息可以包括发送时间、 接收时间等, 其中, 发送时间为发送者以自身时间为参照将该数据发送到多份复本所在节点时的 时间; 接收时间为复本所在节点接收该数据时以自身时间系统为参照的时间。 根据上述接收时间和发送时间的差值, 还可以计算获得数据在复本所在节点 的相对保存时间。
上述实施例加入了时间标识信息和 /或版本操作标识信息之后, 可以采用 多种方式对数据的多份复本进行版本控制:
1. 将发送时间最迟的数据为最新的数据。
如: 同一数据, 第 1份复本中数据的发送时间为 5分钟前, 其他 2份复 本中数据的发送时间为 2分钟前, 则该 2份复本的数据可以认为是最新的数 据, 可以对其进行读取、 修改、 恢复等操作。
这种方式适用于全网所有节点的时钟同步的情况下, 因为需要节点以自 身的时间系统为参照加入数据的发送时间, 需要保证时间同步。
2. 将相对保存保存时间最短的数据作为最新的数据 如: 同一数据, 第 1份复本中数据的相对保存时间为 5分钟, 其他 2份 复本中数据的相对保存时间为 2分钟, 则该 2份复本的数据可以认为是最新 的数据, 可以对其进行读取、 修改、 恢复等操作。
如果发送数据者加入的数据发送时间即使是一致的, 但考虑到网络中的 延迟, 到达多份复本所在节点时各节点的接收时间可能是不一致的, 因此, 计算出的相对保存时间可能也不一样, 因此, 这种方式适用于延时不重要的 情况。
3. 将操作版本标识信息最高的数据作为最新的数据
操作版本标识信息可以为数据的版本号 , 版本号最高的即为最新的数据, 在具体实现时, 可以在对数据进行修改时, 将该数据的修改次数进行更新, 如果哪份数据的修改次数最多, 则也可以将其作为最新的数据。
4.将时间标识信息和操作版本标识信息综合考虑作为最新的数据 在数据的多份复本的发送时间、相对保存时间、或者操作版本标识信息相 同的情况下, 可以结合上述 3种情况, 综合考虑, 获得最新的数据进行版本 控制。
本实施例通过选举管理节点, 进行时间同步, 并在此基础上对数据加入 时间标识信息、 操作版本标识信息, 后续可以结合数据内容来进行版本控制, 进而实现存储系统的数据存储、 修改、 读取和恢复等, 从而可以有效地进行 版本控制, 实用性高。 本发明在分布式系统的所有节点时间同步后, 可以结合时间标识信息、 操作版本信息进行版本控制。 下面对本发明的版本控制方法进行举例说明: 本发明在时间同步后进行版本控制, 适用于分布式系统中每份数据存储 N份复本的情况(N>=3 ), 设系统中每份数据存在 N份复本, W为收到 W份以 上复本所在节点的修改成功的响应, 即 W为收到复本的节点修改成功的最少 响应数量, R为读取到相同内容复本的最少数量, 即读取的 R份以上复本内容 相同, 当满足 W+R>N时, 称满足这种条件的配置为合法配置。 在分布式系统 中, 由于每份数据存储的复本数 N是预先定义的, 因此, 可以在系统中预先配 U R与 N的关系, 在读取、 修改时根据改合法配置进行版本控制。
举例说明如下: N=3, W=2, R=2, 表示系统中每份数据存在 3份复本, W=2表示至少修改 2份复本才算写入修改成功, R=2表示至少读取 2份才算读取 成功, 此配置一个合法配置, 因为 W+R>N。 同理, 当 N=4时, W=3, R=2或 者 W=l, R=4都是一个合法配置。 实施例四
图 6为根据本发明的分布式系统版本控制方法应用于数据修改的实施例 流程示意图。 如图 6所示, 本实施例包括:
步骤 S302: 分布式系统中某前端节点接收到某数据的修改请求, 其中前 端节点为系统内第一个接收到系统外数据修改请求的普通存储节点, 每个存 储节点均可以作为一个前端节点, 分布式系统如图 3 所示, 可以对外呈环链 状, 当外部系统向系统发送修改请求时, 第一个接收的节点作为前端节点, 前端节点接收到该修改请求后, 查询获得该数据的 N份复本所在节点;
步骤 S304: 在修改请求中加入发送时间并向数据的 N份复本所在节点转 发该修改请求, 其中, 发送时间为前端节点根据自身时钟发送修改请求时对 应的时间;
步骤 S306: 前端节点判断是否收到 W份成功响应, 是则执行步骤 S308, 否则执行步骤 S310;
步骤 S308: 对数据的发送时间及操作版本标识信息进行更新, 结束; 步骤 S310: 前端节点返回数据修改失败, 通知复本所在节点恢复修改请 求失败之前的数据。
下面以 N=3 , W=2, R=2为例, 对图 6版本控制方法应用于数据修改的流程 进行说明:
A、 前端节点在数据修改请求中写入发送时的时间, 以自己的时钟为准, 并把此消息发送给 3个复本所在节点; B、 前端节点如果收到两个或两个以上节点的响应且返回修改成功, 则前 端节点对外返回修改成功;
C、 如果两个或两个以上复本所在节点都离线或返回修改失败, 则前端节 点由于收到少于 2份成功接受的修改请求, 对外返回修改失败, 通知节点回滚 已写入的数据;
D、 成功接受修改请求的节点, 将数据的发送时间, 到达时间, 和数据内 容一起写入数据库, 并将该数据的版本操作标识信息进行修改, 本实施例以 修改次数为例, 每成功修改一次数据, 对该数据的修改次数加一, 并保存最 新的修改次数。
本实施例在通过选举管理节点, 进行时间同步后, 结合了时间标识来进 行版本控制, 进而实现存储系统的数据存储和修改, 可以有效地进行版本控 制, 实用性高。 本实施例应用于数据修改时的版本控制方法, 以时间标识信 息和操作版本标识信息结合来生成数据, 进行版本控制, 可以以较低的代价 在大规模网络中进行有效的版本控制。
实施例五
图 7为根据本发明的分布式系统版本控制方法应用于数据读取的实施例 流程示意图。 如图 7所示, 本实施例包括:
步骤 S402: 前端节点接收数据读取请求, 向该数据的 N份复本所在节点 转发该读取请求;
步骤 S404: 复本所在节点取出数据的时间标识信息, 获得相对修改时间, 返回前端节点;
步骤 S406:前端节点判断是否有 R份以上复本所在节点返回的数据相同, 是则返回该数据的查询结果, 结束;
步骤 S408: 前端节点返回查找失败结果。
下面仍以 N=3, W=2, R=2为例, 对图 7版本控制方法应用于数据读取的流 程进行说明:
A、 前端节点接收数据读取请求, 并把此消息发送给 3个复本所在节点; B、 复本所在节点取出数据的发送时间、 到达时间, 当前时间减去到达时 间得出的相对保存时间, 及数据修改次数, 返回前端节点;
C、 如果两个或两个以上节点无响应或返回读取失败, 前端节点返回查找 失败;
D、 如果两个或两个以上节点有响应, 系统比较三份数据的内容, 如果三 份数据内容有两份或三份的内容相同, 则返回此内容, 如果三份数据内容各 不相同, 则说明系统中出现了数据不一致的情况, 因此将返回查找失败。
判断数据是否相同可参见实施例三中采用多种方式对数据的多份复本进 行版本控制的 4种方式: 根据发送时间、 根据数据修改次数、 根据相对保存 时间、 或其结合判断返回的数据是否相同。
本实施例在通过选举管理节点, 进行时间同步后, 结合了时间标识和操 作版本标识信息来进行版本控制, 进而实现存储系统的数据读取, 可以有效 地进行版本控制, 实用性高。 本实施例加入了版本操作标识信息, 在版本控 制时可以根据时间、 数据修改次数和数据内容是否一致, 来判断数据是否相 同即数据是否同步。 本实施例解决了精确时间同步困难的问题, 做到了一定 范围内的时间同步, 本实施例允许系统中多个复本存在不一致的情况, 然后 系统从中选择一份最新的数据提供给用户, 使得系统可以容错, 大大提高了 系统的可用性和扩展性。 实施例六
图 8 为根据本发明的分布式系统版本控制方法应用于数据恢复的实施例 流程示意图。 如图 8所示, 本实施例包括:
步骤 S502: 故障恢复节点向所述数据的其它 N-1份复本所在节点发送同 步请求;
步骤 S503: 复本所在节点取出数据的时间标识信息, 操作版本标识信息 等, 返回前端节点;
步骤 S504: 判断是否读取 R份数据成功, 是则执行步骤 S505 , 否则执行 步骤 S506;
步骤 S505'. 返回读取失败, 数据恢复失败, 结束;
步骤 S506:判断版本是否一致,是则执行步骤 S510,否则执行步骤 S508; 步骤 S508: 返回修改次数最多的数据, 故障恢复节点采用此数据进行数 据恢复, 数据恢复结束;
步骤 S510: 判断返回的数据是否发送时间一致, 是执行步骤 S514, 否则 执行步骤 S516;
步骤 S512: 返回发送时间较晚的数据最为最新的数据, 故障恢复节点采 用此数据进行数据恢复, 数据恢复结束;
步骤 S514: 判断相对保存时间是否一致, 是则执行步骤 S518, 否则执行 步骤 S516;
步骤 S516: 返回相对保存时间较晚的数据, 故障恢复节点采用此数据进 行数据恢复, 数据恢复结束;
步骤 S518: 返回任意一份数据,故障恢复节点采用此数据进行数据恢复, 数据恢复结束。 下面仍以 N=3, W=2, R=2为例, 对图 8版本控制方法应用于数据恢复的流 程进行说明-.
A、 当节点 E从故障中恢复后, 将同步其上存储的所有数据, 对于节点 E上 存储的某条数据来说, 在其他两个节点 El、 E2上都有复本;
B、 节点 E向节点 El、 E2发出同步请求, 只有 El、 E2都回应才进行数据恢 复同步;
C、 节点 E 收到回应时, 将比两份复本的修改次数, 当修改次数一样时将 比较数据发送时间, 当数据发送时间一样时, 将比较相对数据保存时间, 从 中取得一份较新的数据源进行数据同步;
D、 节点 E直到完成了数据恢复才能向外提供服务。
同实施例四类似, 本实施例进行时间同步后, 结合了时间标识和操作版 本标识信息来进行数据恢复控制, 可以有效地进行版本恢复控制, 实用性高。 本实施例解决了精确时间同步困难的问题, 做到了一定范围内的时间同步, 且允许系统中多个复本存在不一致的情况, 然后系统从中选择一份最新的数 据提供给用户, 使得系统可以容错, 大大提高了系统的可用性和扩展性。
上述一个或多个方法实施例具有以下有益效果:
1.现有分布式系统的版本控制方法往往依赖于全网时钟精确同步, 然而, 在大规模网络中, 这是非常困难的。 本发明上述各实施例提出的版本控制方 法, 以时间标识和操作版本标识信息来生成数据, 同时还结合了比较数据内 容来协助进行版本控制, 可以以较低的代价在大规模网络中进行有效的版本 控制。
2.现有的时钟同步方案依赖于手动配置, 在大规模组网时将会是非常大的 工作量, 上述各实施例提出的时间同步方法自动化的选举同步源, 自动化的 进行时钟同步操作, 自动化程度高。
3.现有方案实现大规模的系统是非常困难的, 然而上述各实施例可以用于 10万级别的大规模分布式冗余存储系统, 使得系统具有良好的扩展性。
4. 现有方案需要使得所有的复本都保持最新的状态, 一旦由一个节点出 现故障, 则操作无法成功完成, 降低了系统可用性, 上述各实施例可以允许 系统中多个复本存在不一致的情况, 然后系统将从中选择一份最新的复本提 供给用户使得系统可以容错, 提高了系统可用性。
实施例七
图 9为根据本发明实施例七的分布式版本控制系统示意图。 如图 9所示, 本实施例包括节点 A、 B、 C...U、 V, 其中节点(、 H、 M、 T为管理节点, 其余节点为存储节点。 其中:
管理节点, 从每个域内的存储节点中选取产生, 用于与从多个管理节点 中选取的同步源进行时间同步, 并根据同步后的时间负责对应域内各存储节 点的时间同步, 具体可参见方法实施例一、 二和实施例三中的时间同步的相 关说明, 实现与选取的同步源的时间同步, 并负责本域内存储节点的时间同 步;
存储节点, 用于与对应域内的管理节点进行时间同步, 并根据同步后的 时间对存储数据的复本进行版本控制。 存储节点与管理节点的时间同步可参 照图 4 ( b ) 的相关说明, 在管理节点进行系统时间同步结束后, 即可加入域 内成为普通的存储节点,进行版本控制。版本控制的相关说明可参照图 5-图 8 的相关说明, 在此不对相同或类似内容进行重复说明。
本实施例通过选取管理节点来保持分布式系统大致时间同步的方式, 即 使节点规模扩大到万级、 十万级, 系统仍然能自动进行有效的时间同步、 不 需手工配置, 可以对外呈现出良好的扩展性, 自动化程度高, 适用于大规模 的网络, 并且, 本实施例的版本控制方法可以允许系统中数据存在不一致的 情况, 提高了系统的可用性。 实施例八
图 10为图 9中管理节点的实施例结构示意图, 如图 10所示, 本实施例 中管理节点包括:
接口模块 2, 用于与从所有管理节点中选取的同步源进行交互, 发送携带 请求时间 T1同步请求消息, 从对应的回复请求消息中, 获得同步源收到请求 消息的时间 T2, 及回复请求消息的时间 Τ3;
计算模块 4, 用于根据接收回复请求消息的接收时间 Τ4、 所述 Tl、 Τ2 及 Τ3, 计算与同步源时间系统的相对差值 θ, 并 居相对差值调整自身的时 间系统与同步源保持同步;
处理模块 6, 用于根据同步后的时间对域内各存储节点进行时间同步。 管理节点具体的时间同步过程可参见图 4 ( a ) 的相关同步说明。 实施例九
图 11为图 9中存储节点的实施例结构示意图。 如图 11所示, 本实施例 中存储节节点包括: 时间同步模块 1,用于与从分布式系统的对应域中选取产生的对应的管理 节点进行时间同步, 即该存储节点所归属的域内的管理节点进行时间同步; 存储模块 3, 用于保存分布式系统的数据及同步后的时间, 数据中可以包 含时间标识信息、 和 /或操作版本标识信息, 时间标识信息可以包含数据的发 送时间和 /或接收时间。
版本控制模块 5, 用于根据同步后的时间对存储数据的复本进行版本控 制, 具体地, 在存储节点为接收数据修改、 读取或恢复请求的前端节点时, 对所请求的数据的多份复本进行版本控制。
本实施例中存储模块 3还可以存储数据的版本操作标识信息, 即一份数 据可以对应保存其发送时间、 接收时间、 数据版本信息 (如修改次数等)。
在分布式系统中, 某一个节点并不只作为管理节点、 或存储节点、 或前 端节点, 有时可能结合在一起, 如某节点在时间同步过程中被选取出来作为 域内的管理节点; 在时间同步后, 即可加入域内成为普通的存储节点; 如果 是第一个接收外部系统请求消息的节点, 还可能作为前端节点进行版本控制。 因此, 在本发明各实施例中例举的分布式系统中, 管理节点和存储节点可能 集成到一个节点上, 在不同的过程中担当不同的功能。 其中上述方法发明的 各个实施例可以在具备图 10 -图 11结构图所示结构的管理节点及存储节点中 实现, 如果某节点在不同的过程中担当管理节点和存储节点, 则相应的, 该 节点同时具备图 10中管理节点和图 11中存储节点的内部功能模块。
综上所述, 本发明上述一个或多个实施例具有如下优点:
1.扩展性好
本发明各实施例提出的复本版本控制方法及分布式版本控制系统, 无 需时钟高度同步, 亦无须一个集中的控制点来进行复本版本的严格同步, 使得系统对外呈现出良好的扩展性,可以用于 10万级别的大规模分布式冗余 存储系统, 使得系统具有良好的扩展性。
2.系统可用性高
本发明各实施例允许系统中存在多个复本版本不一致的情况, 并应用 新的版本控制方法, 使得系统能够自动区分出哪个数据复本代表了数据的 最新的版本并将最新的数据提供给请求者, 即使某些复本出现问题, 但仍 然可以正常读取和修改数据, 系统将从中选择一份最新的复本提供给用户使 得系统可以容错, 提高了系统可用性。
3.高度自动化的时钟同步方法
本发明各实施例需要全网所有节点进行时钟同步, 然而, 现有方案直 接应用于 D-HSS如此的大规模网絡从工作量上来说需要大量手动配置,本 发明因此提出了一种新的时钟同步方法, 即便节点规模扩大到万级, 十万 级依然能够进行有效的时钟同步, 同时不需要进行手动配置, 自动化程度 高, 同时这种版本控制方法对硬件的要求不高。
4.可靠性高
本发明的版本控制方法及系统, 采用管理节点进行时钟同步的方式, 使 得分布式冗余存储系统能够在扩展到 10万节点规模时仍然保持一个很高的效 率, 同时可靠性也能达到 99.999%。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读 取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述 的存储介质包括: ROM、 RAM、 磁碟或者光盘等各种可以存储程序代码的介 质。
最后应说明的是: 以上所述仅为本发明的优选实施例而已, 并不用于限 制本发明, 尽管参照前述实施例对本发明进行了详细的说明, 对于本领域的 技术人员来说, 其依然可以对前述各实施例所记载的技术方案进行修改, 或 者对其中部分技术特征进行等同替换。 凡在本发明的精神和原则之内, 所作 的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims

权 利 要 求
1. 一种分布式系统版本控制方法, 其特征在于, 包括:
在分布式系统的每个域中选取一个管理节点;
在所有管理节点中选取一个作为所述分布式系统的同步源, 所有管理节 点根据所述同步源的时间进行时间同步;
所有管理节点 居同步后的时间控制对应域内节点的时间同步; 所述分布式系统的节点根据同步后的时间对存储数据的复本进行版本控 制。
2. 根据权利要求 1所述的方法, 其特征在于, 还包括:
在所述分布式系统中存储的数据中加入时间标识信息、 和 /或操作版本标 识信息, 根据所述时间标识信息、 和 /或操作版本标识信息对数据的多份复本 进行版本控制。
3. 根据权利要求 2所述的方法, 其特征在于, 所述时间标识信息包括: 发送时间、 接收时间。
4. 根据权利要求 1-3 中任一项所述的方法, 其特征在于, 对所述存储数 据的复本进行版本控制具体包括:
对所述数据的 N份复本进行修改、读取或恢复, 且满足 W+R>N, N>=3, 其中, W为收到复本的节点修改成功的最少响应数量; R为读取到相同内容 复本的最少数量。
5. 根据权利要求 4所述的方法, 其特征在于, 对所述数据的 N份复本进 行修改的操作具体包括:
接收所述数据对应修改请求的前端节点, 在所述修改请求中加入发送时 间并向所述数据的 N份复本所在节点转发所述修改请求, 所述发送时间为所 述前端节点根据自身时钟发送所述修改请求时对应的时间;
当 W份以上复本所在节点成功接受所述修改请求时, 更新所述数据及对 应的所述发送时间。
6. 根据权利要求 5所述的方法, 其特征在于, 当 W份以上复本所在节 点接受所述修改请求时还包括:
更新所述修改请求的到达时间;
和 /或更新所述数据的操作版本标识信息。
7. 根据权利要求 5所述的方法, 其特征在于, 还包括:
当 W份以上复本所在节点接受所述修改请求失败时, 所述前端节点通知 所述 N份复本所在节点恢复修改请求失败之前的数据。
8. 根据权利要求 4所述的方法, 其特征在于, 对所述数据的 N份复本进 行读取的操作具体包括:
接收所述数据对应读取查询请求的前端节点, 向所述数据的 N份复本所 在节点转发所述查询请求;
当 R份以上复本所在节点返回的数据相同时, 所述前端节点返回所述数 据的查询结果。
9. 根据权利要求 8所述的方法, 其特征在于, 对所述数据的 N份复本进 行读取的操作还包括:
所述数据的 N份复本所在节点读取所述数据及对应的时间标识信息, 并 返回至所述前端节点;
所述前端节点根据所述时间标识信息判断返回的数据是否相同。
10. 根据权利要求 8或 9所述的方法, 其特征在于, 对所述数据的 N份 复本进行读取的操作还包括:
所述数据的 N份复本所在节点读取所述数据对应的操作版本标识信息, 并返回至所述前端节点;
所述前端节点根据所述操作版本标识信息判断返回的数据是否相同。
11. 根据权利要求 4所述的方法, 其特征在于, 对所述数据的 N份复本 进行恢复的操作具体包括:
故障恢复节点向所述数据的其它 N-1份复本所在节点发送同步请求; 当接收到 R个所述数据的返回响应时, 根据最新的所述数据进行同步。
12. 根据权利要求 11所述的方法, 其特征在于, 所述最新的数据为操作 版本最高、 所述数据的发送时间最新、 和 /或所述数据的相对保存时间最短对 应的数据, 所述相对保存时间为所述数据的到达时间与所述发送时间的时间 差。
13.根据权利要求 1-3中任一项所述的方法, 其特征在于, 所述在分布式 系统的每个域中选取一个管理节点的操作包括:
在每个域中选取 ID号最小、 最大的或在线时间最长的节点作为该域的管 理节点。
14.根据权利要求 1-3中任一项所述的方法, 其特征在于, 所述在分布式 系统的每个域中选取一个管理节点的操作包括:
域中的其中一个节点向其余节点通告其作为管理节点的请求消息; 在其余节点均返回对应的请求接受响应时, 将所述发送请求消息的节点 作为所述域的管理节点。
15.根据权利要求 1-3中任一项所述的方法, 其特征在于, 所述在所有管 理节点中选取一个管理节点作为所述分布式系统的同步源的操作包括:
在所有管理节点中选取在线时间最长的管理节点作为所述同步源。
16.根据权利要求 1-3中任一项所述的方法, 其特征在于, 所述所有管理 节点根据所述同步源的时间进行时间同步的操作包括:
管理节点根据自身的时间系统向所述同步源发送携带请求时间 T1 的同步 请求消息;
所述同步源以自身的时间系统在对应的回复请求消息中,携带收到所述请 求消息的时间 T2, 及回复所述请求消息的时间 Τ3;
所述管理节点根据接收所述回复请求消息的接收时间 Τ4、 所述 Tl、 Τ2 及 Τ3, 计算与所述同步源时间系统的相对差值 Θ: g = (T2-T1)-( 4-T3) 。
2
17. 一种分布式版本控制系统, 其特征在于, 包括:
管理节点, 从每个域内的存储节点中选取产生, 用于与从所述多个管理 节点中选取的同步源进行时间同步, 并根据同步后的时间负责对应域内各存 储节点的时间同步;
存储节点, 用于根据同步后的时间对存储数据的复本进行版本控制。
18.根据权利要求 17所述的系统, 其特征在于, 所述管理节点包括: 接口模块, 用于与所述同步源进行交互, 发送携带请求时间 T1同步请求 消息, 从对应的回复请求消息中, 获得所述同步源收到所述请求消息的时间
T2, 及回复所述请求消息的时间 T3;
计算模块, 用于根据接收所述回复请求消息的接收时间 T4、 所述 Tl、 Τ2 及 Τ3, 计算与所述同步源时间系统的相对差值 θ, 并根据所述相对差值调整 自身的时间系统与所述同步源保持同步;
处理模块, 用于根据同步后的时间对域内各存储节点进行时间同步。
19.根据权利要求 17或 18所述的系统,其特征在于,所述存储节点包括: 时间同步模块, 用于与对应的管理节点进行时间同步;
存储模块, 用于保存分布式系统的数据及同步后的时间, 所述数据中包 含时间标识信息,所述时间标识信息包含所述数据的发送时间和 /或接收时间。
20.根据权利要求 19所述的系统, 其特征在于, 所述存储节点还包括: 版本控制模块, 用于在所述存储节点为接收数据修改、 读取或恢复请求 的前端节点时, 对所请求的数据的多份复本进行版本控制。
21. 一种管理节点, 其特征在于, 从分布式系统的每个域中选取产生, 所述管理节点包括:
接口模块, 用于与从所有管理节点中选取的同步源进行交互, 发送携带 请求时间 T1同步请求消息, 从对应的回复请求消息中, 获得所述同步源收到 所述请求消息的时间 Τ2, 及回复所述请求消息的时间 Τ3;
计算模块, 用于根据接收所述回复请求消息的接收时间 Τ4、 所述 Tl、 Τ2 及 Τ3, 计算与所述同步源时间系统的相对差值 θ, 并 居所述相对差值调整 自身的时间系统与所述同步源保持同步;
处理模块 , 用于根据同步后的时间对管理节点所在域内各存储节点进行 时间同步。
22. 一种存储节点, 其特征在于, 包括:
时间同步模块, 用于与从分布式系统的每个域中选取产生的管理节点进 行时间同步;
存储模块, 用于保存分布式系统的数据及同步后的时间;
版本控制模块, 用于根据同步后的时间对存储数据的复本进行版本控制。
23.根据权利要求 22所述的存储节点, 其特征在于, 所述存储模块中的 存储的所述数据中包含时间标识信息、 和 /或操作版本标识信息; 所述时间标 识信息包含所述数据的发送时间和 /或接收时间。
PCT/CN2009/001459 2008-12-15 2009-12-15 分布式系统版本控制方法、节点及系统 WO2010069135A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/139,455 US8538923B2 (en) 2008-12-15 2009-12-15 Method, node and system for controlling version in distributed system
EP09832817.2A EP2378718B1 (en) 2008-12-15 2009-12-15 Method, node and system for controlling version in distributed system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810239929A CN101753609B (zh) 2008-12-15 2008-12-15 分布式系统版本控制方法、节点及系统
CN200810239929.4 2008-12-15

Publications (1)

Publication Number Publication Date
WO2010069135A1 true WO2010069135A1 (zh) 2010-06-24

Family

ID=42268271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/001459 WO2010069135A1 (zh) 2008-12-15 2009-12-15 分布式系统版本控制方法、节点及系统

Country Status (4)

Country Link
US (1) US8538923B2 (zh)
EP (1) EP2378718B1 (zh)
CN (1) CN101753609B (zh)
WO (1) WO2010069135A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895568B (zh) * 2010-06-25 2014-03-12 中兴通讯股份有限公司 一种同步数据清理的方法和系统
WO2011157156A2 (zh) * 2011-06-01 2011-12-22 华为技术有限公司 数据存储系统的操作方法和装置
CN102821114B (zh) * 2011-06-07 2017-02-08 南京中兴新软件有限责任公司 分布式存储系统及其时间戳的实现方法
CN103020058B (zh) * 2011-09-21 2016-07-06 阿里巴巴集团控股有限公司 一种多版本数据获取方法和装置
US8959425B2 (en) 2011-12-09 2015-02-17 Microsoft Corporation Inference-based extension activation
US20130159365A1 (en) 2011-12-16 2013-06-20 Microsoft Corporation Using Distributed Source Control in a Centralized Source Control Environment
US9679163B2 (en) * 2012-01-17 2017-06-13 Microsoft Technology Licensing, Llc Installation and management of client extensions
US8843822B2 (en) 2012-01-30 2014-09-23 Microsoft Corporation Intelligent prioritization of activated extensions
US9449112B2 (en) 2012-01-30 2016-09-20 Microsoft Technology Licensing, Llc Extension activation for related documents
US9256445B2 (en) 2012-01-30 2016-02-09 Microsoft Technology Licensing, Llc Dynamic extension view with multiple levels of expansion
CN103810045B (zh) * 2012-11-09 2016-12-21 阿里巴巴集团控股有限公司 资源分配方法、资源管理器、资源服务器及系统
CN103856517B (zh) * 2012-11-30 2017-06-23 英业达科技有限公司 同步均衡系统及其方法
CN103914452B (zh) * 2012-12-30 2017-03-29 航天信息股份有限公司 一种分布式文件系统中时间差错校正方法及系统
CN103970620B (zh) * 2013-01-24 2017-03-22 杭州宏杉科技股份有限公司 一种准连续性数据复制方法及装置
CN105760184B (zh) * 2014-12-18 2019-07-23 深圳云之家网络有限公司 一种加载组件的方法和装置
CN107402872A (zh) * 2016-03-31 2017-11-28 阿里巴巴集团控股有限公司 一种用于确定数据库间数据同步延迟的方法与设备
CN106250264A (zh) * 2016-07-12 2016-12-21 乐视控股(北京)有限公司 用于分布式存储的数据恢复方法及系统
CN107147466B (zh) * 2017-07-20 2019-03-12 郑州云海信息技术有限公司 一种系统时间一致性的控制方法及系统
CN107436735A (zh) * 2017-07-28 2017-12-05 郑州云海信息技术有限公司 一种分布式文件系统中存储单元状态更新方法
CN110866062B (zh) * 2018-08-09 2023-11-24 菜鸟智能物流控股有限公司 基于分布式集群的数据同步方法以及装置
CN110795506A (zh) * 2019-10-23 2020-02-14 广州巨杉软件开发有限公司 基于分布式逻辑时间戳的分布式数据库管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132270A (zh) * 2007-08-02 2008-02-27 北京航空航天大学 多节点协调的时间一致性管理方法
CN101141334A (zh) * 2006-09-06 2008-03-12 腾讯科技(深圳)有限公司 一种在即时通讯群组中公告信息的系统及实现方法
US20080147781A1 (en) * 1999-10-04 2008-06-19 Hopmann Alexander I Method and system for supporting off-line mode of operation and synchronization

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278710B1 (en) * 1998-09-10 2001-08-21 Agilent Technologies, Inc. Enhancements to time synchronization in distributed systems
US20040088301A1 (en) * 2002-10-31 2004-05-06 Mallik Mahalingam Snapshot of a file system
JP4046096B2 (ja) * 2004-03-30 2008-02-13 株式会社Kddi研究所 ネットワークの時刻同期方法
CN101288258B (zh) * 2005-07-28 2012-01-25 Ima工业机械自动装置股份公司 用于在分布式系统的数字单元中交换信息的方法
US20080281938A1 (en) * 2007-05-09 2008-11-13 Oracle International Corporation Selecting a master node in a multi-node computer system
US7696866B2 (en) * 2007-06-28 2010-04-13 Microsoft Corporation Learning and reasoning about the context-sensitive reliability of sensors
CN101179430B (zh) * 2007-12-03 2012-09-26 中兴通讯股份有限公司 一种分布式系统软件版本更新控制装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147781A1 (en) * 1999-10-04 2008-06-19 Hopmann Alexander I Method and system for supporting off-line mode of operation and synchronization
CN101141334A (zh) * 2006-09-06 2008-03-12 腾讯科技(深圳)有限公司 一种在即时通讯群组中公告信息的系统及实现方法
CN101132270A (zh) * 2007-08-02 2008-02-27 北京航空航天大学 多节点协调的时间一致性管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2378718A4 *

Also Published As

Publication number Publication date
US20110289056A1 (en) 2011-11-24
EP2378718A1 (en) 2011-10-19
EP2378718A4 (en) 2015-08-26
CN101753609B (zh) 2012-09-19
CN101753609A (zh) 2010-06-23
EP2378718B1 (en) 2022-04-27
US8538923B2 (en) 2013-09-17

Similar Documents

Publication Publication Date Title
WO2010069135A1 (zh) 分布式系统版本控制方法、节点及系统
US8169856B2 (en) Time synchronization in cluster systems
JP5498594B2 (ja) フェデレーションインフラストラクチャ内の一貫性
US7680876B1 (en) Highly available domain name system
CN111131399B (zh) 一种区块链中共识节点动态增加方法及装置
WO2012071920A1 (zh) 分布式内存数据库的实现方法、系统、令牌控制器及内存数据库
US10892839B2 (en) Method for fast reconfiguration of GM clocks in the TSN network by means of an explicit teardown message
KR101670343B1 (ko) 피어투피어 데이터 복제를 위한 방법, 장치, 및 시스템 및 마스터 노드 전환을 위한 방법, 장치, 및 시스템
JP2008533564A (ja) データ管理のための方法および装置
CN108989391B (zh) 一种一致性处理的方法及系统
CN103530362A (zh) 一种用于多副本分布式系统的计算机数据读写方法
WO2015014170A1 (zh) 分区日志队列同步管理方法及设备
CN105493474A (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
WO2023185934A1 (zh) 数据处理方法及装置
CN110442591B (zh) 一种联盟链的全局时钟系统及方法
TW201308095A (zh) 資料同步方法
JP2004171278A (ja) データの複製管理方法、ノードにおける情報処理方法、ノード、データの複製管理プログラム、および該プログラムを記載した記録媒体
Almeida et al. Using light-weight groups to handle timing failures in quasi-synchronous systems
CN111522688B (zh) 分布式系统的数据备份方法及装置
CN109542353B (zh) 一种面向广域分布式存储系统的一致性算法
CN111600958A (zh) 服务发现系统、服务数据管理方法、服务器及存储介质
CN111124293A (zh) 一种地址空间转换算法中的部分复制方法
WO2024021746A1 (zh) 数据处理方法、通信系统和相关设备
US20240121297A1 (en) Method and apparatus for distributed synchronization
CN117856961A (zh) 时钟同步方法及相关装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09832817

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009832817

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13139455

Country of ref document: US