Data synchronous backup method and system for distributed mobile storage cluster

By forming a distributed relative clock and differential synchronization mechanism based on ultra-wideband ranging results in mobile ad hoc networks, the problem of synchronization conflicts and inefficiency caused by clock inaccuracies in mobile environments is solved. This achieves low-overhead, highly robust data consistency backup and improves the autonomous synchronization capability and consistency maintenance efficiency of mobile distributed storage clusters.

CN121387633AActive Publication Date: 2026-01-23TOPDISK ENTERPRISE CO LTD

Patent Information

Application Number
CN202511970483.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-25
Publication Date
2026-01-23
Estimated Expiration
2045-12-25

AI Technical Summary

Technical Problem

In mobile ad hoc networks, traditional eventual consistency models based on version vectors or logical clocks cannot rely on a unified external time source or a stable master node, leading to out-of-order data update sequences and conflicts, increasing transmission overhead and complexity, and affecting the convergence speed and reliability of data consistency.

Method used

The clock offset and drift between nodes are calculated using ultra-wideband two-way ranging results to form a distributed relative clock. Incremental synchronization entries are generated using logical timestamps and differential information to achieve self-organized time coordination and differential synchronization between nodes. This ensures that the granular differences before and after data changes are bound to logical timestamps, and only the necessary changes are transmitted for synchronization.

Benefits of technology

Without an external time source or a fixed master node, the self-organized time coordination and low-overhead, highly robust data consistency backup of the mobile distributed storage cluster were achieved, improving autonomous synchronization capabilities and consistency maintenance efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121387633A_ABST
    Figure CN121387633A_ABST
Patent Text Reader

Abstract

The invention discloses a data synchronous backup method and system for a distributed mobile storage cluster, and relates to the technical field of mobile distributed storage, comprising the following steps of: cooperatively calculating clock skew and drift of each node based on an ultra-wideband bidirectional ranging result of a mobile node in the distributed mobile storage cluster; forming a distributed relative clock under the conditions of no external time source and fixed master control node; when any mobile node is subjected to data change, calling a distributed relative clock to obtain a logic timestamp; generating difference information through a local conflict-free copy data engine; binding the logic timestamps with the difference information to form increment synchronization entries and storing the increment synchronization entries in a to-be-synchronized list; when the two mobile nodes enter a communication range, comparing the maximum logic timestamps in the to-be-synchronized lists of the two mobile nodes, and initiating a synchronization request from a backward party to a leading party; according to the invention, the distributed relative clock is formed based on the bidirectional ranging result, and the autonomous synchronization capability and the consistency keeping efficiency of the mobile distributed storage cluster are improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of mobile distributed storage, and particularly relates to a data synchronization backup method and system of a distributed mobile storage cluster. BACKGROUND

[0002] In the prior art, an eventual consistency model based on a version vector or a logical clock has been widely applied in distributed storage systems such as Ceph, Dynamo, etc. This kind of scheme usually relies on a coordinated global time source (such as NTP, PTP) or a centralized coordination node, and realizes ordered update and conflict merging between replicas through a logical timestamp or a version number. In a fixed network environment, this mechanism can effectively guarantee data eventual consistency.

[0003] However, when the eventual consistency model is transplanted into a mobile ad hoc network composed of vehicles, unmanned aerial vehicles and portable nodes, etc., its basic assumptions no longer hold. The connection between mobile cluster nodes is intermittent, and cannot rely on a unified external time source or a stable master node; the local clock of each node has a non-negligible offset and drift, so that the traditional logical clock or version vector cannot correctly reflect the true sequence of events after network splitting and reorganization; this leads to the possibility of out-of-order or conflict of data update sequences between nodes under the condition of no external time source, and the consistency needs to be restored through additional full comparison or version reordering, which not only increases the transmission overhead and conflict resolution complexity, but also wastes valuable short-time communication opportunities, affecting the convergence speed and reliability of eventual consistency; therefore, there is an urgent need for a method that can realize consistent backup of a mobile distributed storage cluster through a relative clock coordination and differential data synchronization mechanism between nodes under the condition of no external time source. SUMMARY

[0004] In view of the above existing problems, the present application is proposed.

[0005] Therefore, the present application provides a data synchronization backup method of a distributed mobile storage cluster to solve the problems of synchronization conflict and low efficiency caused by clock misalignment in a mobile environment.

[0006] To solve the above technical problems, the present application provides the following technical scheme: In a first aspect, the present application provides a data synchronization backup method of a distributed mobile storage cluster, which comprises, Based on the ultra-wideband bidirectional ranging results of the mobile nodes in the distributed mobile storage cluster, the clock offset and drift of each node are cooperatively calculated to form a distributed relative clock under the condition of no external time source and fixed master node; When any mobile node occurs data change, the distributed relative clock is called to obtain a logical timestamp; the local non-conflict replication data engine is used to generate differential information; and the logical timestamp and the differential information are bound to form an incremental synchronization entry which is stored in a to-be-synchronized list; When two mobile nodes enter a communication range, the maximum logical timestamps in the to-be-synchronized lists of the two mobile nodes are compared, and a synchronization request is initiated from the follower to the leader; the leader retrieves the incremental synchronization entries with the logical timestamps greater than the maximum logical timestamp of the follower from the to-be-synchronized list and sends them to the follower in the order of the logical timestamps; The follower receives and analyzes the incremental synchronization entries, applies the differential information through the local non-conflict replication data engine, and completes the synchronization backup.

[0007] As a preferred scheme of the data synchronization backup method of the distributed mobile storage cluster, the method for obtaining the ultra-wideband bidirectional ranging result comprises the following steps: For each mobile node in the distributed mobile storage cluster, the sending and receiving functions of the ultra-wideband signal are started respectively; and a broadcast cycle time is defined, and the ultra-wideband signal is broadcast to other mobile nodes in the detection range in each cycle; When each mobile node receives the ultra-wideband signal of other mobile nodes, the receiving time stamp of the ultra-wideband signal is recorded, and the receiving time stamp is matched with the sending time stamp; based on the matched sending time stamp and receiving time stamp, the round-trip propagation delay of the ultra-wideband signal is calculated; Based on the round-trip propagation delay of the ultra-wideband signal of each mobile node and the signal propagation rate, the bidirectional distance is calculated to obtain the bidirectional ranging result between the mobile nodes.

[0008] As a preferred scheme of the data synchronization backup method of the distributed mobile storage cluster, the method for obtaining the ultra-wideband bidirectional ranging result comprises the following steps: Based on the bidirectional ranging result between each mobile node, a plurality of mobile nodes with the minimum distance in the bidirectional ranging result are selected as adjacent mobile nodes; and the adjacent mobile nodes are taken as vertices, and the ranging distances are taken as weighted edges to construct a distance topology relationship; Using the distance topology relationship, the adjacent mobile nodes with the relative change rate of the variance of the bidirectional ranging result lower than the average change level in a plurality of continuous ranging cycles and the variance of the time change rate of the bidirectional ranging result converging in a sliding time window are selected as reference nodes; Based on the difference between the bidirectional ranging time series of the reference nodes and the mobile nodes, the initial offset and the drift rate of the local clock and the reference node clock are calculated; and the initial offset and the drift rate between the local clock and the reference node clock are jointly fitted to obtain global clock calibration parameters; Based on the global clock calibration parameter, the local clock time is differentially corrected, and the counting rate of the local clock is synchronously adjusted; until the deviation of the local clock and the reference node clock converges to the minimum change range, forming a distributed relative clock under the condition of no external time source and fixed master node.

[0009] As a preferred scheme of the data synchronization backup method of the distributed mobile storage cluster, the method for obtaining the logical timestamp comprises, When the data of a mobile node changes, the distributed relative clock obtains the local clock time of the current time of the mobile node; According to the global clock calibration parameter recorded in the distributed relative clock, the local clock time is differentially corrected to obtain a logically calibrated time value; and the logical time value is taken as a logical timestamp.

[0010] As a preferred scheme of the data synchronization backup method of the distributed mobile storage cluster, the method for obtaining the logical timestamp comprises, The changed data carrying the logical timestamp is input into the local conflict-free replication data engine; a state snapshot of the current local storage data of the mobile node of the data change is performed to obtain a static data mirror, which is taken as the data before the change, and compared with the data content after the change to output the data granularity difference; Based on the data granularity difference, the content identifiers before and after the change of the current mobile node are compared, and the differential information is extracted; when the differential information is extracted, the logical timestamp when the data change occurs is recorded, and the logical timestamp is taken as the unique time sequence identifier of the differential information; The logical timestamp and the corresponding differential information are bound to form an incremental synchronization entry that can uniquely identify the order and content of the data change; and the incremental synchronization entry is written into the synchronization list according to the logical timestamp.

[0011] As a preferred scheme of the data synchronization backup method of the distributed mobile storage cluster, the method for obtaining the logical timestamp comprises, When the two mobile nodes enter the communication range, all incremental synchronization entries in the synchronization lists of the two mobile nodes are read respectively, and the logical timestamp carried by each incremental synchronization entry is extracted; Based on the extracted logical timestamp, the maximum logical timestamp in the synchronization list of each mobile node is obtained as the time sequence identifier of the latest data change of the two mobile nodes; The maximum logical timestamp of one mobile node is compared with the maximum logical timestamp of the other mobile node; the mobile node with the larger logical timestamp is the leading mobile node, and the other mobile node is the lagging mobile node.

[0012] As a preferred solution of the data synchronization backup method of the distributed mobile storage cluster, wherein: the method of the leading party sending the incremental synchronization entries with the logical time stamp greater than the maximum logical time stamp of the follower to the follower in the order of the logical time stamp includes, The follower initiates a synchronization request to the leading party based on the maximum logical time stamp of the follower, and the request includes the local maximum logical time stamp and the list of to-be-synchronized entries; After receiving the synchronization request, the leading party retrieves all the incremental synchronization entries with the logical time stamp greater than the maximum logical time stamp of the follower from the to-be-synchronized list based on the maximum logical time stamp of the follower carried in the synchronization request; The leading party sorts the retrieved incremental synchronization entries in the order of the logical time stamp and sends them to the follower one by one.

[0013] As a preferred solution of the data synchronization backup method of the distributed mobile storage cluster, wherein: the method of the follower receiving and analyzing the incremental synchronization entries includes, After receiving the incremental synchronization entries, the mobile node of the follower reads the logical time stamp in each incremental synchronization entry one by one, and caches the incremental synchronization entries in the order of the logical time stamp to form a to-be-analyzed queue based on the read logical time stamp; The incremental synchronization entries are analyzed one by one in the order of the logical time stamp from the to-be-analyzed queue, and the differential information is extracted therefrom.

[0014] As a preferred solution of the data synchronization backup method of the distributed mobile storage cluster, wherein: The method of applying the differential information by the local conflict-free replication data engine includes, The local conflict-free replication data engine determines the corresponding data change order according to the logical time stamp in the differential information, and performs differential update on the local storage data of the mobile node of the follower in the order of the data change order; When it is detected that the data involved in the differential information has a modification record in the local, the local conflict-free replication data engine compares the logical time stamps of the change records of the two parties and performs conflict-free merging in the order of the logical time stamp; The local conflict-free replication data engine updates the state snapshot of the local storage data of the mobile node of the follower, synchronously writes the latest logical time stamp into the to-be-synchronized list, and generates the data consistency view of the current mobile node based on the updated state snapshot.

[0015] In a second aspect, the application provides a data synchronization backup system of a distributed mobile storage cluster, which includes, A clock synchronization module is configured to cooperatively calculate clock offset and drift of each node based on the ultra-wideband two-way ranging result of the mobile nodes in the distributed mobile storage cluster, and form a distributed relative clock under the condition of no external time source and fixed master node. A difference generation module is configured to call the distributed relative clock to obtain a logical timestamp when any mobile node changes data, generate difference information through a local conflict-free replication data engine, and bind the logical timestamp and the difference information to form an incremental synchronization entry and store it in a synchronization list. A synchronization coordination module is configured to compare the maximum logical timestamp in the synchronization list of both mobile nodes when the two mobile nodes enter a communication range, and initiate a synchronization request from the follower to the leader. A synchronization module is configured to receive and analyze the incremental synchronization entry by the follower, and apply the difference information through the local conflict-free replication data engine to complete the synchronization backup.

[0016] The present application has the following advantages: by introducing the distributed relative clock formed based on the two-way ranging result in the mobile cluster, self-organizing time coordination is realized under the condition of no external time source and fixed master node, each mobile node can calibrate the local clock offset and drift according to the ranging topology and time sequence difference, thereby maintaining a unified logical time sequence reference in the dynamic network; meanwhile, through the logical timestamp-driven conflict-free replication and difference synchronization mechanism, the granularity difference before and after the data change is bound to the logical timestamp in the form of difference information to generate an incremental synchronization entry, so that the nodes only need to transmit the necessary change content to complete the synchronization backup. The combination of the two enables the present application to maintain global consistency of event time sequence and reduce the redundancy and conflict of data synchronization in the mobile environment with intermittent communication and frequent topology changes, realize low-overhead and high-robustness data consistent backup, and significantly improve the autonomous synchronization capability and consistency maintenance efficiency of the mobile distributed storage cluster. BRIEF DESCRIPTION OF DRAWINGS

[0017] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiment description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0018] Figure 1 The flowchart of the data synchronization backup method of the distributed mobile storage cluster in the present application; Figure 2 The schematic diagram of the data synchronization backup system of the distributed mobile storage cluster in the present application; Figure 3 Flow chart for generating a distributed relative clock in the present application; Figure 4 Flow chart for generating an incremental synchronization entry in the present application. DETAILED DESCRIPTION

[0019] In order to make the above objectives, features and advantages of the present application more apparent, specific embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0020] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, it will be apparent to one skilled in the art that the present application can be practiced without the specific details given herein, that the present application can be practiced with other than the described implementations, and that the present application can be practiced with different or additional components. Thus, the present application is not intended to be limited to the particular implementations described herein.

[0021] Secondly, the "one embodiment" or "an embodiment" referred to herein means that a specific feature, structure, or characteristic described can be included in at least one implementation of the present application. The appearances of "in one embodiment" or "in an embodiment" in various places in the specification do not necessarily refer to the same embodiment, nor do they necessarily refer to a single or particular implementation, although they can.

[0022] Reference Figure 1 , Figure 2 , Figure 3 and Figure 4 For one embodiment of the present application, the embodiment provides a data synchronization backup method for a distributed mobile storage cluster, comprising the following steps: The method for obtaining the results of the ultra-wideband two-way ranging comprises, For each mobile node in the distributed mobile storage cluster, the sending and receiving functions of the ultra-wideband signal are started respectively, and a broadcast cycle time is defined, and in each cycle, the ultra-wideband signal is broadcast to other mobile nodes within the detection range.

[0023] Specifically, after each mobile node is started, it enters a standby synchronization state, detects the channel occupation situation around, and automatically selects a frequency band (3.1-4.8 GHz) with lower interference as the working channel; then it verifies the stability and receiving sensitivity of the communication link by sending a test pulse packet; after confirming that the link is stable, the mobile node loads its unique identifier and local initial timestamp into the payload of the ultra-wideband signal; Further, the broadcast cycle time can be dynamically configured according to the node moving speed, ranging accuracy requirement, channel occupancy rate and other factors. For example, when the mobile node is in a low-speed or static state, the broadcast cycle time can be set to 500 ms to 1 s to reduce the communication overhead; in the scene where the mobile node moves at high speed or the topology changes quickly, the broadcast cycle time can be shortened to 100 ms to 200 ms; in each broadcast cycle, the mobile node actively broadcasts a UWB signal packet carrying its own identifier and timestamp information to other mobile nodes within the detection range; other mobile nodes return an answer packet immediately after receiving the broadcast signal.

[0024] When each mobile node receives the ultra-wideband signal of other mobile nodes, the receiving timestamp of the ultra-wideband signal is recorded, and the receiving timestamp is matched with the sending timestamp; based on the matched sending timestamp and receiving timestamp, the round-trip propagation delay of the ultra-wideband signal is calculated.

[0025] It should be noted that when the mobile node receives the ultra-wideband signal sent by other mobile nodes, the sending timestamp carried in the signal is read, and the local receiving timestamp is recorded at the same time; then the one-to-one matching is performed according to the unique identifier (including the sending node ID and the sequence number) in the signal packet. The receiving mobile node looks up the sending record consistent with the sequence number in the local record table, and pairs the receiving timestamp with the corresponding sending timestamp. Based on the matched timestamp, the round-trip propagation delay of the ultra-wideband signal is calculated combined with the answer time difference during the signal round trip, and the calculation formula is: ; Among them, is the round-trip propagation delay of the ultra-wideband signal, is the timestamp when the original sending mobile node receives the answer signal, is the timestamp when the sending mobile node sends the ultra-wideband signal, is the timestamp when the receiving mobile node sends the answer signal, is the timestamp when the receiving mobile node receives the signal.

[0026] Based on the round-trip propagation delay of the ultra-wideband signal of each mobile node and the signal propagation rate, the bidirectional distance is calculated to obtain the bidirectional ranging result between the mobile nodes; It should be noted that the expression for calculating the bidirectional distance is: ; Among them, is the bidirectional distance between the mobile node and the mobile node , is the propagation rate of the ultra-wideband signal in the air ( ).

[0027] Methods for forming distributed relative clocks include: Existing distributed clock synchronization relies heavily on external time sources or fixed master nodes, making it difficult to maintain continuous availability in mobile ad hoc networks. Clock offsets and drifts between nodes are affected by motion and channel fluctuations, leading to logical time inconsistencies. Accumulated time drift causes event sequencing errors and increases synchronization delays, thereby affecting the consistency of distributed data and the reliability of collaborative operations.

[0028] Based on the bidirectional ranging results between each mobile node, several mobile nodes with the smallest distance in the bidirectional ranging results are selected as adjacent mobile nodes; and distance topology is constructed with adjacent mobile nodes as vertices and ranging distances as weighted edges.

[0029] It should be noted that by indexing the bidirectional ranging results calculated between each pair of mobile nodes according to the mobile node number and filling them into the corresponding matrix row and column positions in sequence, a complete distance matrix between mobile nodes is constructed. For any mobile node, all the ranging results corresponding to it can be retrieved in the distance matrix between mobile nodes and sorted in ascending order of distance. Several mobile nodes with the smallest ranging distance and a ranging error lower than the example of 10 cm are selected first as the adjacent mobile nodes of the mobile node. Furthermore, taking all adjacent mobile nodes as vertices, mobile node pairs with a ranging error lower than the exemplary 10 cm are selected according to the distance matrix between adjacent mobile nodes, and their ranging results are used as weighted edge weights to construct a weighted undirected graph, thereby forming a distance topology that reflects the spatial distribution of nodes; where the smaller the edge weight, the closer the physical distance between nodes.

[0030] Using distance topology, adjacent moving nodes are selected as reference nodes if the relative rate of change of variance of bidirectional ranging results is lower than the average rate of change in multiple consecutive ranging cycles, and the variance of time rate of change of bidirectional ranging results tends to converge within the sliding time window.

[0031] It should be noted that the formula for calculating the variance of bidirectional ranging results over multiple consecutive ranging periods is as follows: ; in, It is a mobile node With mobile nodes Between in succession Variance of bidirectional ranging results within a ranging cycle It is the total number of consecutive ranging cycles calculated. It is the first Moving node within the next ranging cycle With mobile nodes Two-way ranging results, It is a mobile node with the mobile node The average of the successive ranging results, and are any two different mobile nodes, is the serial number of the current ranging period; The determination formula of the relative change rate of the variance of the bidirectional ranging results in the successive multiple ranging periods below the average change level is: ; wherein, is the relative change rate of the ranging variance of the mobile node pair , and is the variance of the bidirectional ranging results in the th sliding time window, is the variance of the bidirectional ranging results in the th sliding time window, is the average of the relative change rates of the bidirectional ranging variances of all the mobile node pairs, is the serial number of the sliding time window; The calculation formula of the variance of the time change rate of the bidirectional ranging results is: ; wherein, is the variance of the time change rate of the bidirectional ranging results of the mobile node pair , and is the change rate between the th and the th bidirectional ranging results, is the average change rate of the bidirectional ranging results of the mobile node pair in the successive multiple ranging periods, and is the bidirectional ranging results of the mobile node pair in the adjacent two ranging periods, is the time interval between the adjacent two ranging periods; The determination formula of the convergence of the variance of the time change rate in the sliding time window is: ; wherein, is the variance of the time change rate of the bidirectional ranging results in the current sliding time window (the th), is the variance of the time change rate of the bidirectional ranging results in the previous sliding time window (the th), is the convergence threshold of the time change rate (exemplarily 0.05); When the number of windows that continuously meet the convergence threshold of the time rate of change variance exceeds 80% as exemplarily, it is determined that the variance of the time rate of change of the bidirectional ranging results of the moving node pair tends to converge within the sliding time window. Through the above process, adjacent moving nodes that exhibit high ranging stability, small variance fluctuations, and convergent time rate of change variance within a continuous ranging period can be selected and identified as reference nodes.

[0032] Based on the difference in bidirectional ranging time series between the reference node and the mobile node, the initial offset and drift rate between the local clock and the reference node clock are calculated; and the initial offset and drift rate between the local clock and the reference node clock are jointly fitted to obtain the global clock calibration parameters.

[0033] It should be noted that the expression for calculating the initial offset between the local clock and the reference node clock is: ; in, It is the first Moving node within the next ranging cycle Local clock and reference node Initial offset between clocks It is the first Secondary ranging moving node The timestamp recorded under the local clock, It is the first Secondary ranging moving node The timestamp recorded under the local clock; The formula for calculating the drift rate between the local clock and the reference node clock is: ; in, It is a mobile node Local clock and reference node Clock drift rate, These represent the initial clock offsets within two adjacent ranging cycles. It is the time interval between two adjacent ranging cycles of the reference node; Furthermore, collection in continuous Within each ranging cycle, the moving node With each reference node Initial clock offset sequence between , with clock drift rate sequence ; For each reference node Assign a weight value The weight is determined based on the ranging stability of the reference node within the sliding time window; the higher the ranging stability, the larger the weight value is assigned. Based on , the initial offset and drift rate from all reference nodes are jointly fitted with weighting; specifically, the mobile node global clock drift correction factor and global clock offset correction value , are obtained by calculating the weighted average of the corresponding sequence average value (s and ) of each reference node, and the calculation formula is: ; Wherein, the sum is traversed through all reference nodes ; thus, the global clock calibration parameters for mobile node clock calibration can be obtained. .

[0034] Based on the global clock calibration parameters, the local clock time is differentially corrected, and the counting rate of the local clock is synchronously adjusted; until the deviation of the local clock and the reference node clock converges to the minimum change range, forming a distributed relative clock under the condition of no external time source and fixed master node.

[0035] It should be noted that the mobile node uses the global clock offset correction value to instantaneously compensate the current reading of the local clock; the mobile node adjusts the crystal oscillator driving frequency of the local clock or the incremental step of the software timer in proportion according to the global clock drift correction factor; in each subsequent ranging period, the mobile node repeatedly executes the calculation process of the clock offset and the drift rate, and compares the new calculation result with the currently used global clock calibration parameters; The mobile node continuously updates the differential correction amount and the counting rate adjustment amount applied to the local clock in an iterative manner; when the absolute value of the offset between the local clock and the reference node clock calculated in continuous multiple periods is maintained below the preset offset threshold, for example, the absolute value of the offset is continuously less than 100 microseconds, and the change trend of the drift rate tends to be stable, for example, the absolute value of the drift rate is less than 0.1 ppm and the drift rate change amount of adjacent periods is less than 0.01 ppm, it is determined that the local clock of the mobile node has completed calibration. The deviation of the local clock of the mobile node and the reference node clock converges to the minimum change range, and the local clock of the mobile node becomes part of the distributed relative clock; all mobile nodes complete local clock calibration following the same process, and together form a distributed relative clock under the condition of no external time source and fixed master node.

[0036] The distance topology relationship is constructed based on bidirectional ranging, a stable reference node is selected, and offset and drift joint fitting is performed to form a self-calibrated distributed relative clock, and dynamic alignment of time references between nodes is realized. The mechanism can maintain clock consistency without external time source, and improves data synchronization accuracy and collaborative stability of the mobile cluster under dynamic topology.

[0037] The method for obtaining a logical timestamp comprises, When data of a mobile node changes, the distributed relative clock obtains the local clock time of the current time of the mobile node.

[0038] It should be noted that when the distributed relative clock obtains the local clock time of the current time of the mobile node, the current count value of the internal timer of the mobile node is directly read, and the count value is taken as the local clock time of the current time.

[0039] According to the global clock calibration parameters recorded in the distributed relative clock, the local clock time is differentially corrected to obtain a logically calibrated logical time value; and the logical time value is taken as a logical timestamp.

[0040] It should be noted that the distributed relative clock performs differential correction operation on the local clock time according to the recorded global clock calibration parameters, and obtains the logically calibrated logical time value by multiplying the local clock time by the drift rate compensation factor and adding the offset correction value. The drift rate compensation is used to correct the timing rate error, and the offset correction is used to eliminate the initial time deviation, so that the logical time can accurately reflect the global unified time sequence.

[0041] The method for forming an incremental synchronization entry and storing it in the to-be-synchronized list comprises, Existing distributed data synchronization methods mostly rely on full data comparison or centralized time marking, and cannot accurately capture data differences in a mobile node frequently changing and an unstable network environment. There is a lack of refined identification of granularity levels before and after data changes, resulting in redundant synchronized data and high bandwidth occupation. At the same time, the timestamp is attached to the node local time, and there is a risk of time sequence disorder and conflict update, affecting data consistency and synchronization efficiency.

[0042] The changed data carrying the logical timestamp is input into the local conflict-free replication data engine; a state snapshot is performed on the current local storage data of the mobile node of the data change to obtain a static data image, the static data image is taken as the data before the change, and the data before the change is compared with the data after the change to output the data granularity difference.

[0043] It should be noted that after the change data carrying the logical timestamp is input into the local conflict-free replication data engine, the conflict-free replication data engine immediately invokes the state snapshot mechanism to perform complete replication on the data objects currently locally stored by the mobile node upon detecting a write or update operation trigger signal; during the replication process, the structure description, field values and index mapping relationship of the target data object are synchronously extracted, and the extraction results are identified by snapshot number and logical timestamp to form a static data mirror that can uniquely correspond to the storage state before the change; Further, when the static data mirror is taken as the data before the change and compared with the data content after the change, the old values recorded in the static data mirror and the new values in the storage after the change are compared based on the field level and storage key value mapping relationship of the data object; during the comparison process, the content difference is detected according to the data granularity (field, record or node level), and the field identifier, change type and change value that have changed are extracted to form the data granularity difference.

[0044] Based on the data granularity difference, the content identifiers before and after the change of the current mobile node are compared, and the differential information is extracted; when the differential information is extracted, the logical timestamp at the time of data change is recorded, and the logical timestamp is taken as the unique time sequence identifier of the differential information.

[0045] It should be noted that by traversing the corresponding fields or records of the static data mirror and the data object after the change, the old values and new values of each field or node are compared, the specific change content is identified, including the field identifier, change type (add, delete and modify) and change value; then, the identified change content is encoded according to its position and level in the data structure to generate differential information, and the unique corresponding data differential entry is formed based on the differential information; at the same time of generating the differential entry, the corresponding logical timestamp at the time of data change is recorded, and the logical timestamp is bound with the differential entry, so that each piece of differential information has a unique time sequence identifier.

[0046] The logical timestamp is bound with the corresponding differential information to form an incremental synchronization entry that can uniquely identify the order and content of data change; the incremental synchronization entry is written into the synchronization list according to the logical timestamp.

[0047] It should be noted that when the logical timestamp is bound with the corresponding differential information, the logical timestamp and the differential information are stored in a key-value pair structure, with the logical timestamp as the key and the differential information as the value; after the binding is completed, the incremental synchronization entry formed is arranged in ascending order of the logical timestamp, and is written into the end position of the synchronization list in turn; the synchronization list is maintained in a first-in-first-out queue structure to ensure that the incremental synchronization entry is stored in order of the logical timestamp.

[0048] By means of a logical timestamp-based differential extraction mechanism, data change granularity level identification and accurate timing binding are realized, so that each change has a unique logical sequence; in combination with a local conflict-free replication data engine, incremental synchronization entries can be quickly generated under the condition of no central coordination, thereby significantly reducing redundant transmission volume and synchronization delay, and improving the controllability and reliability of distributed data consistency and synchronization process.

[0049] The method for comparing the maximum logical timestamps in the synchronization lists of the two parties includes, When the two mobile nodes enter the communication range, all incremental synchronization entries in the synchronization lists of the two mobile nodes are read respectively, and the logical timestamps carried by each incremental synchronization entry are extracted.

[0050] It should be noted that the mobile node first accesses the local database or memory cache area storing the incremental synchronization entries, and traverses all the incremental synchronization entries in the synchronization list. For each incremental synchronization entry in the synchronization list, the mobile node parses its data structure format, which usually includes a header field and payload data. In the parsing process, the mobile node locates the specific field position storing the logical timestamp in the data structure, extracts the timestamp value in binary or numerical form of the specific field, and obtains the logical timestamp carried by each incremental synchronization entry.

[0051] Based on the extracted logical timestamps, the maximum logical timestamps in the synchronization lists of the two mobile nodes are obtained respectively as the timing identifiers of the latest data changes of the two mobile nodes.

[0052] It should be noted that all the logical timestamps extracted from the synchronization list are compared, and the logical timestamp with the largest numerical value is selected as the maximum logical timestamp of the mobile node; the maximum logical timestamp represents the logical time when the latest data change of the mobile node occurs.

[0053] The maximum logical timestamp of one mobile node is compared with the maximum logical timestamp of the other mobile node; the mobile node with the larger logical timestamp is the leading party, and the other mobile node is the lagging party.

[0054] It should be noted that the two mobile nodes exchange their maximum logical timestamp values through communication; the numerical values of the two maximum logical timestamps are compared, and the mobile node with the larger logical timestamp value is marked as the leading party, and the mobile node with the smaller logical timestamp value is marked as the lagging party.

[0055] The method for the leading party to retrieve the incremental synchronization entries with logical timestamps greater than the maximum logical timestamp of the lagging party from the synchronization list and send them to the lagging party in logical timestamp order includes, The falling-behind party initiates a synchronization request to the leading party based on its own maximum logical timestamp, and the request includes the local maximum logical timestamp and the list of to-be-synchronized.

[0056] It should be noted that when the falling-behind mobile node encapsulates the synchronization request message, it takes the maximum logical timestamp value recorded in the local to-be-synchronized list as a core parameter, and also packages the summary information of the to-be-synchronized list. The summary information includes the total number of incremental synchronization entries currently stored in the to-be-synchronized list, the percentage of list storage capacity, and the logical timestamp of the earliest incremental synchronization entry. The synchronization request message is sent to the leading party mobile node through the communication link established between the mobile nodes, such as the ultra-wideband wireless channel, in a specific data frame format. The data frame format includes a frame header, payload data, and a frame tail check code. The frame header defines the message type as a synchronization request, the payload data field stores the maximum logical timestamp, the total number of list entries, the percentage of list capacity, and the earliest logical timestamp, etc. in sequence, and the frame tail uses a cyclic redundancy check code to ensure data transmission integrity.

[0057] After receiving the synchronization request, the leading party retrieves all incremental synchronization entries with a logical timestamp greater than the maximum logical timestamp of the falling-behind party from its to-be-synchronized list based on the maximum logical timestamp carried in the synchronization request.

[0058] Specifically, the leading party mobile node checks the received data stream. First, it checks whether the data stream length reaches the expected length defined by the frame header. Then, the leading party mobile node calculates the cyclic redundancy check code of the payload data in the data stream and compares the calculation result with the check code carried by the data stream frame tail. If they are consistent, it is determined that the synchronization request message format is complete and the transmission is error-free. Further, when the leading party mobile node parses the synchronization request message body, it locates the field offset address storing the maximum logical timestamp of the falling-behind party according to the synchronization request message frame structure. The leading party mobile node reads the fixed-length byte data from this address and decodes the byte data into an integer value according to the predefined encoding rule (such as big-endian or little-endian byte order). The integer value is the specific value of the maximum logical timestamp of the falling-behind party. Further, the leading party mobile node takes the specific value of the maximum logical timestamp of the falling-behind party as a filtering condition to perform a full scan operation on the local to-be-synchronized list, compares the logical timestamp bound to each incremental synchronization entry in the to-be-synchronized list one by one, and filters out all entries that satisfy the condition of logical timestamp greater than the maximum logical timestamp of the falling-behind party to form a to-be-synchronized entry set.

[0059] The leading party sorts the retrieved incremental synchronization entries according to the chronological order of the logical timestamps and sends them to the falling-behind party one by one.

[0060] Specifically, the leading mobile node converts the sorted incremental synchronization entries one by one into a format suitable for network transmission. Each incremental synchronization entry is encapsulated as an independent data packet, and the data packet structure includes a packet header, a payload, and a packet trailer. The packet header field includes the destination mobile node identifier, the source mobile node identifier, the data packet sequence number, the total number of packets, and the current packet sequence number. The payload field stores the complete content of the incremental synchronization entry, including the logical timestamp and the corresponding delta information. The packet trailer field includes a cyclic redundancy check code for error detection. The leading mobile node sends the serialized data packets to the lagging mobile node one by one through the established ultra-wideband communication link. The transmission process uses a transmission protocol with an acknowledgement mechanism, for example, after sending a single data packet, the leading mobile node waits for the lagging mobile node to return an acknowledgement signal. If no acknowledgement signal is received within a set time limit, the leading mobile node re-sends the data packet until the transmission is successful or the maximum number of retries is reached. All data packets are strictly transmitted in the sorted order to ensure that the lagging mobile node can receive and process the incremental synchronization entries in the order of the logical timestamps.

[0061] The method for the lagging mobile node to receive and parse the incremental synchronization entries includes, After receiving the incremental synchronization entries, the lagging mobile node reads the logical timestamps in each incremental synchronization entry one by one. Based on the read logical timestamps, the lagging mobile node caches each incremental synchronization entry in the order of the logical timestamps to form a to-be-parsed queue.

[0062] It should be noted that during the reception process, for each successfully received and verified data packet, the lagging mobile node immediately parses the packet header to obtain the data packet sequence number and reassembles the complete incremental synchronization entry. Subsequently, the lagging mobile node parses the header structure of the incremental synchronization entry to read the encoded logical timestamp value. The lagging mobile node maintains a priority queue arranged in ascending order of logical timestamp values as the to-be-parsed queue; when inserting a newly arrived incremental synchronization entry, the lagging mobile node determines the correct insertion position of the entry in the queue by comparing the logical timestamp values, thereby ensuring that the entries in the to-be-parsed queue always follow the global logical time sequence.

[0063] The incremental synchronization entries are parsed from the to-be-parsed queue one by one in the order of the logical timestamps, and the delta information is extracted.

[0064] It is to be noted that the processing thread of the lagging mobile node continuously checks the pending resolution queue. When the pending resolution queue is not empty, the processing thread takes out an incremental synchronization entry from the head of the queue (i.e. the position with the smallest logical timestamp value). The lagging mobile node performs a deep resolution of the entry, including verifying the entry integrity, decoding the compression format of the delta information (if present), and restoring the data change operations (e.g. field updates, record insertions or deletions) contained in the delta information into an explicit set of operation instructions. The resulting set of delta information operation instructions and the corresponding logical timestamp are temporarily stored in memory, waiting to be applied to the local storage.

[0065] The method of applying delta information by the local conflict-free replicated data engine comprises, According to the logical timestamp in the delta information, the local conflict-free replicated data engine determines the corresponding data change order; and according to the data change order, sequentially performs delta update on the local storage data of the lagging mobile node.

[0066] It is to be noted that the local conflict-free replicated data engine maintains an operation log, and each pending delta information is assigned a globally unique sequence number according to its logical timestamp. The local conflict-free replicated data engine strictly sorts according to the sequence number to create an ordered execution plan. During the application process, the local conflict-free replicated data engine decodes the delta information into specific database operation instructions, such as PUT and DELETE operations for key-value storage, or field-level UPDATE operations for document databases; the local conflict-free replicated data engine executes these database operation instructions in sequence in a local storage transaction, ensuring that each change is completed in an atomic operation, thereby accurately reproducing the data changes of the leading party to the local storage of the lagging party.

[0067] When it is detected that the data involved in the delta information has a modification record in the local, the local conflict-free replicated data engine compares the logical timestamps of the change records of both parties, and performs conflict-free merging according to the order of the logical timestamps.

[0068] It is to be noted that before applying the change, the conflict-free replicated data engine queries the metadata of the target data item to check whether there is a modification record generated by the local of the lagging party with a logical timestamp later than the last synchronization reference but earlier than the current pending entry; when such a conflict is detected, the conflict-free replicated data engine starts the merging process: first, unconditionally apply the change with the larger logical timestamp, because it represents a more recent event; for conflicts with the same logical timestamp (an extremely low probability event), a deterministic algorithm based on the change source node identifier (e.g. preferential according to the lexicographic order of the node identifier) is used to make a decision, generating the merged result. The merged data item will be marked as having resolved the conflict state, and the latest logical timestamp after merging will be recorded.

[0069] The local conflict-free replication data engine updates a state snapshot of the local storage data of the falling-behind mobile node and synchronously writes a latest logical timestamp into the to-be-synchronized list; based on the updated state snapshot, a data consistency view of the current mobile node is generated.

[0070] It should be noted that the local storage data of the falling-behind mobile node is locked to ensure data staticity, and then all data items in the falling-behind mobile node are traversed, the complete content, metadata and the corresponding latest logical timestamp of each data item are recorded, the complete content, metadata and the corresponding latest logical timestamp are serialized to generate a new state snapshot file with a version identifier; at the same time, the local conflict-free replication data engine writes a synchronization completion record at the end of the to-be-synchronized list of the falling-behind mobile node, and the synchronization completion record contains the version identifier of the new snapshot and the maximum logical timestamp value applied in this synchronization; Further, after the state snapshot is generated, the local conflict-free replication data engine loads the latest snapshot file, parses and reconstructs the index of all data items and metadata contained therein; during the parsing process, the conflict-free replication data engine globally sorts the data items according to the logical timestamp to ensure the consistency of the data items in the time dimension; for the data items with multiple versions or duplicate records, only the latest valid version is retained according to the new-old relationship of the logical timestamp and the conflict resolution strategy, and the latest valid version is marked as the current visible state; for key-value type data, a key-to-version mapping table is established; for document type or hierarchical type data, the dependency relationship and parent-child reference relationship between fields are reconstructed to ensure the integrity and reference correctness of the internal structure of the snapshot; all valid data items, their latest metadata and corresponding logical timestamps are uniformly encapsulated into a consistency image structure to form a data consistency view of the current mobile node.

[0071] The embodiment also provides a data synchronization backup system of a distributed mobile storage cluster, comprising: The clock synchronization module is configured to cooperatively calculate clock offset and drift of each node based on the ultra-wideband bidirectional ranging result of the mobile nodes in the distributed mobile storage cluster to form a distributed relative clock under the condition of no external time source and fixed master node. The difference generation module is configured to call the distributed relative clock to obtain a logical timestamp when any mobile node changes data, generate difference information through the local conflict-free replication data engine, and bind the logical timestamp and the difference information to form an incremental synchronization item and store the incremental synchronization item in the to-be-synchronized list. The synchronization coordination module is configured to compare the maximum logical timestamp in the to-be-synchronized list of two mobile nodes when the two mobile nodes enter a communication range, and initiate a synchronization request from the falling-behind party to the leading party; the leading party retrieves the incremental synchronization item with a logical timestamp greater than the maximum logical timestamp of the falling-behind party from the to-be-synchronized list and sends the incremental synchronization item to the falling-behind party in the order of the logical timestamp. The synchronization module is used for receiving and analyzing the incremental synchronization entry, applying the differential information by the local conflict-free replication data engine, and completing the synchronization backup.

[0072] The embodiment further provides a computer device suitable for the data synchronization backup method of the distributed mobile storage cluster, which comprises a memory and a processor.

[0073] The computer device can be a terminal, and the computer device comprises a processor, a memory, a communication interface, a display screen and an input device connected through a system bus. The processor of the computer device is used for providing computing and control capabilities. The memory of the computer device comprises a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium. The communication interface of the computer device is used for wired or wireless communication with external terminals. The wireless communication can be achieved through WIFI, an operator network, NFC (Near Field Communication) or other technologies. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer overlaid on the display screen, or a key, a trackball or a touchpad arranged on the shell of the computer device, or an external keyboard, a touchpad or a mouse.

[0074] The embodiment further provides a storage medium having a computer program stored thereon. The program is executed by a processor to implement the data synchronization backup method of the distributed mobile storage cluster. The storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic disk or an optical disk.

[0075] To sum up, the application realizes self-organizing time coordination under the condition of no external time source and fixed master node by introducing a distributed relative clock formed based on bidirectional ranging results in a mobile cluster, and each mobile node can calibrate local clock offset and drift according to ranging topology and time sequence difference, thereby maintaining a unified logical time sequence reference in a dynamic network. Meanwhile, through a non-conflict replication and differential synchronization mechanism driven by a logical timestamp, the granularity difference before and after data change is bound to a logical timestamp in the form of differential information to generate an incremental synchronization entry, so that nodes only need to transmit necessary change content to complete synchronization backup. The combination of the two enables the application to ensure global consistency of event time sequence and reduce redundancy and conflict of data synchronization in a mobile environment with intermittent communication and frequent topology changes, thereby realizing low-overhead, high-robustness data consistent backup and significantly improving the autonomous synchronization capability and consistency maintenance efficiency of a mobile distributed storage cluster.

[0076] It should be noted that the above embodiments are only used to illustrate the technical solutions of the application but not limit the application. Although the application has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the application can be modified or replaced equivalently without departing from the spirit and scope of the application, and all should be covered in the scope of the claims of the application.

Claims

1. A data synchronization backup method of a distributed mobile storage cluster, characterized in that: The application relates to a method for synchronizing data among mobile nodes in a distributed mobile storage cluster. When data of any mobile node is changed, a logical timestamp is obtained by using the distributed relative clock; Differential information is generated by using a local conflict-free replication data engine; The logical timestamp and the differential information are bound to form an incremental synchronization entry which is stored in a to-be-synchronized list; When two mobile nodes enter a communication range, the maximum logical timestamp in the to-be-synchronized list of the two mobile nodes is compared, and a synchronization request is initiated from the follower to the leader; The leader sends the incremental synchronization entry with a logical timestamp greater than the maximum logical timestamp of the follower to the follower in a logical timestamp sequence; The follower receives and analyzes the incremental synchronization entry, and applies the differential information by using the local conflict-free replication data engine to complete synchronization backup.

2. The method of claim 1, wherein the method further comprises: The method for obtaining the ultra-wideband bidirectional ranging result comprises the following steps: The sending and receiving functions of the ultra-wideband signal are started for each mobile node in the distributed mobile storage cluster; and a broadcast cycle time is defined, and the ultra-wideband signal is broadcast to other mobile nodes in the detection range in each cycle; When the mobile node receives the ultra-wideband signal of other mobile nodes, the receiving time stamp of the ultra-wideband signal is recorded, and the receiving time stamp is matched with the sending time stamp; the round-trip propagation delay of the ultra-wideband signal is calculated based on the matched sending time stamp and receiving time stamp; The bidirectional distance is calculated based on the round-trip propagation delay of the ultra-wideband signal of each mobile node and the signal propagation rate, and the bidirectional ranging result between the mobile nodes is obtained.

3. The method of claim 2, wherein: The method for forming the distributed relative clock comprises the following steps: The mobile nodes with the minimum distance in the bidirectional ranging result are selected as adjacent mobile nodes based on the bidirectional ranging result between the mobile nodes; The distance topology relationship is constructed by taking the adjacent mobile nodes as vertices and the ranging distance as weighted edges; The reference nodes are selected by using the distance topology relationship, wherein the relative change rate of the variance of the bidirectional ranging result in continuous multiple ranging cycles is lower than the average change level, and the variance of the time change rate of the bidirectional ranging result tends to converge in a sliding time window; The initial offset and the drift rate between the local clock and the clock of the reference node are calculated based on the difference between the bidirectional ranging time series of the reference node and the mobile node; and the initial offset and the drift rate between the local clock and the clock of the reference node are jointly fitted to obtain global clock calibration parameters; The local clock time is differentially corrected based on the global clock calibration parameters, and the counting rate of the local clock is synchronously adjusted; Until the deviation between the local clock and the clock of the reference node converges to the minimum change range, the distributed relative clock under the condition of no external time source and no fixed master node is formed.

4. The method of claim 3, wherein the method further comprises: The method for obtaining the logical timestamp comprises the following steps: When the data of a mobile node is changed, the local clock time of the mobile node at the current moment is obtained by using the distributed relative clock; The local clock time is differentially corrected based on the global clock calibration parameters recorded in the distributed relative clock to obtain a logical time value calibrated globally. And the logical time value is taken as a logical timestamp.

5. The method of claim 4, wherein: The method for forming the incremental synchronization entry into the to-be-synchronized list comprises, The change data carrying the logical timestamp is input into the local conflict-free replication data engine; a state snapshot is performed on the current local storage data of the mobile node of the data change to obtain a static data mirror, the static data mirror is taken as the data before the change, and the data before the change is compared with the data after the change to output a data granularity difference; Based on the data granularity difference, the content identifiers before and after the change of the current mobile node are compared to extract the differential information; when the differential information is extracted, the logical timestamp at the time when the data change occurs is recorded, and the logical timestamp is taken as the unique time sequence identifier of the differential information; The logical timestamp is bound with the corresponding differential information to form the incremental synchronization entry which can uniquely identify the data change order and content; and the incremental synchronization entry is written into the to-be-synchronized list according to the logical timestamp.

6. The method of claim 5, wherein: The method for comparing the maximum logical timestamps in the to-be-synchronized lists of the two parties comprises, After the two mobile nodes enter the communication range, all the incremental synchronization entries in the to-be-synchronized lists of the two mobile nodes are read respectively, and the logical timestamps carried by each incremental synchronization entry are extracted; Based on the extracted logical timestamps, the maximum logical timestamps in the to-be-synchronized lists of the two mobile nodes are obtained respectively as the time sequence identifiers of the latest data changes of the two mobile nodes; The maximum logical timestamp of one mobile node is compared with the maximum logical timestamp of the other mobile node; the mobile node with the larger logical timestamp is the leading party, and the other mobile node is the lagging party.

7. The method of claim 6, wherein the method further comprises: The method for the leading party retrieving the incremental synchronization entries with the logical timestamps greater than the maximum logical timestamp of the lagging party from the to-be-synchronized list and sending the incremental synchronization entries to the lagging party according to the logical timestamp order comprises, The lagging party initiates a synchronization request to the leading party based on the maximum logical timestamp of the lagging party, and the request content comprises the local maximum logical timestamp and the to-be-synchronized list; After receiving the synchronization request, the leading party retrieves all the incremental synchronization entries with the logical timestamps greater than the maximum logical timestamp of the lagging party from the to-be-synchronized list based on the maximum logical timestamp of the lagging party carried in the synchronization request; The leading party sorts the retrieved incremental synchronization entries according to the logical timestamp order and sends the incremental synchronization entries to the lagging party one by one.

8. The method of claim 7, wherein the method further comprises: The method for the lagging party receiving and analyzing the incremental synchronization entries comprises, After receiving the incremental synchronization entries, the lagging party mobile node reads the logical timestamps in the incremental synchronization entries one by one; Based on the read logical timestamps, the incremental synchronization entries are cached according to the time sequence of the logical timestamps to form a to-be-analyzed queue; The incremental synchronization entries are analyzed from the to-be-analyzed queue one by one according to the logical timestamp order to extract the differential information.

9. The data synchronization and backup method for a distributed mobile storage cluster as described in claim 1, characterized in that: The method for applying the differential information by the local conflict-free replication data engine comprises, The corresponding data change order is determined according to the logical timestamp in the differential information by the local conflict-free replication data engine; And the local storage data of the lagging party mobile node is updated one by one according to the data change order. When detecting that the data involved in the differential information has a local modification record, the local conflict-free replication data engine compares the logical time stamps of the change records of both sides, and performs conflict-free merging according to the chronological order of the logical time stamps; The local conflict-free replication data engine updates the state snapshot of the data stored locally by the lagging mobile node, and synchronously writes the latest logical time stamp into the to-be-synchronized list; based on the updated state snapshot, a data consistency view of the current mobile node is generated.

10. A data synchronization backup system of a distributed mobile storage cluster, based on the data synchronization backup method of the distributed mobile storage cluster according to any one of claims 1-9, characterized in that: Comprise, The clock synchronization module is used for cooperatively calculating the clock offset and drift of each node based on the ultra-wideband bidirectional ranging result of the mobile node in the distributed mobile storage cluster, and forming a distributed relative clock under the condition of no external time source and fixed master node; The differential generation module is used for calling the distributed relative clock to obtain a logical time stamp when any mobile node changes data; The local conflict-free replication data engine is used for generating differential information; The logical time stamp and the differential information are bound to form an incremental synchronization entry and stored in the to-be-synchronized list; The synchronization coordination module is used for comparing the maximum logical time stamp in the to-be-synchronized list of both sides when two mobile nodes enter a communication range, and initiating a synchronization request from the lagging side to the leading side; the leading side retrieves the incremental synchronization entry with a logical time stamp greater than the maximum logical time stamp of the lagging side from the to-be-synchronized list, and sends it to the lagging side in chronological order of the logical time stamp; The synchronization module is used for the lagging side to receive and analyze the incremental synchronization entry, apply the differential information through the local conflict-free replication data engine, and complete the synchronization backup.

Citation Information

Patent Citations

  • Distributed storage management method and system

    CN112783669A

  • District logic clock method for distributed transactional database

    CN114362870A

  • Storage method and device for distributed storage cluster data and medium

    CN116521083A

  • Split brain resistant failover in high availability clusters

    US20130111261A1

  • System and method for data recovery in a distributed data computing environment implementing active persistence

    US20190026185A1

Cited By

  • Multi-node cooperative hot backup recovery method and device, equipment and storage medium

    CN122220153A