A method and system for data synchronization and backup of a distributed mobile storage cluster
By utilizing ultra-wideband ranging in mobile ad hoc networks to form a distributed relative clock and differential synchronization mechanism, 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.
Patent Information
- Application Number
- CN202511970483.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-25
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2045-12-25
AI Technical Summary
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. This increases transmission overhead and conflict resolution complexity, affecting the convergence speed and reliability of data consistency.
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.
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.
Smart Images

Figure CN121387633B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of mobile distributed storage technology, and in particular to a data synchronization and backup method and system for a distributed mobile storage cluster. Background Technology
[0002] In existing technologies, eventual consistency models based on version vectors or logical clocks have been widely used, such as in distributed storage systems like Ceph and Dynamo. These schemes typically rely on a coordinateable global time source (such as NTP or PTP) or a centralized coordination node to achieve ordered updates and conflict merging among replicas through logical timestamps or version numbers. In a fixed network environment, this mechanism can effectively guarantee eventual data consistency.
[0003] However, when the eventual consistency model is ported to mobile ad hoc networks composed of vehicles, drones, and portable nodes, its fundamental assumptions no longer hold. Connections between mobile cluster nodes are intermittent and cannot rely on a unified external time source or a stable master node. The local clocks of each node exhibit significant offsets and drifts, making it difficult for traditional logical clocks or version vectors to accurately reflect the true sequence of events after network splits and reorganizations. This leads to potential out-of-order or conflicting data update sequences between nodes in the absence of an external time source, requiring additional full comparisons or version reordering to restore consistency. This not only increases transmission overhead and conflict resolution complexity but also wastes valuable short-term communication opportunities, affecting the convergence speed and reliability of eventual consistency. Therefore, there is an urgent need for a method to achieve consistent backup of mobile distributed storage clusters through relative clock coordination and differential data synchronization mechanisms between nodes in the absence of an external time source. Summary of the Invention
[0004] In view of the aforementioned existing problems, the present invention is proposed.
[0005] Therefore, this invention provides a data synchronization and backup method for a distributed mobile storage cluster to solve the problems of synchronization conflicts and low efficiency caused by clock inaccuracies in mobile environments.
[0006] To solve the above-mentioned technical problems, the present invention provides the following technical solution:
[0007] In a first aspect, the present invention provides a data synchronization and backup method for a distributed mobile storage cluster, comprising,
[0008] Based on the ultra-wideband bidirectional ranging results of mobile nodes in the distributed mobile storage cluster, the clock offset and drift of each node are calculated collaboratively to form a distributed relative clock under the condition of no external time source and fixed master control node.
[0009] When any mobile node experiences a data change, it calls the distributed relative clock to obtain a logical timestamp; it generates differential information through the local conflict-free data replication engine; and it binds the logical timestamp with the differential information to form an incremental synchronization entry and stores it in the synchronization list.
[0010] When two mobile nodes enter the communication range, they compare the maximum logical timestamp in their respective synchronization lists. The lagging node initiates a synchronization request to the leading node. The leading node retrieves incremental synchronization entries in the synchronization list whose logical timestamps are greater than the lagging node's maximum logical timestamp and sends them to the lagging node in logical timestamp order.
[0011] The lagging party receives and parses the incremental synchronization entries, applies the differential information through the local conflict-free replication data engine, and completes the synchronization backup.
[0012] As a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, the method for obtaining the ultra-wideband bidirectional ranging results includes:
[0013] For each mobile node in the distributed mobile storage cluster, the transmission and reception functions of ultra-wideband signals are activated; and a broadcast period is defined to broadcast ultra-wideband signals to other mobile nodes within the detection range in each period.
[0014] When each mobile node receives an ultra-wideband signal from another mobile node, it records the reception timestamp of the ultra-wideband signal and matches the reception timestamp with the transmission timestamp; based on the matched transmission timestamp and reception timestamp, it calculates the round-trip propagation delay of the ultra-wideband signal.
[0015] Based on the round-trip propagation delay and signal propagation rate of the ultra-wideband signal of each mobile node, the two-way distance is calculated to obtain the two-way ranging results between the mobile nodes.
[0016] In a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, the method for forming the distributed relative clock includes:
[0017] 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 a distance topology relationship is constructed with adjacent mobile nodes as vertices and ranging distances as weighted edges.
[0018] Using distance topology, adjacent moving nodes that have a relative rate of change of variance of bidirectional ranging results that is lower than the average rate of change in multiple consecutive ranging cycles, and whose time rate of change variance of bidirectional ranging results tends to converge within the sliding time window, are selected as reference nodes.
[0019] 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.
[0020] Based on the global clock calibration parameters, the local clock time is corrected for the difference, and the counting rate of the local clock is adjusted synchronously until the deviation between the local clock and the reference node clock converges to the minimum range, forming a distributed relative clock under the condition of no external time source and fixed master node.
[0021] As a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, the method for obtaining the logical timestamp includes:
[0022] When the data of a mobile node changes, the distributed relative clock obtains the local clock time of that mobile node at the current moment;
[0023] Based on the global clock calibration parameters recorded in the distributed relative clock, the local clock time is corrected for the difference to obtain the globally calibrated logical time value; and the logical time value is used as the logical timestamp.
[0024] As a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, the method for forming incremental synchronization entries and storing them in the list to be synchronized includes:
[0025] Input the changed data with logical timestamps into the local conflict-free replication data engine; perform a state snapshot on the current local storage data of the data-changed moving node to obtain a static data image; use the static data image as the data before the change and compare it with the data content after the change to output the data granularity difference.
[0026] Based on the differences in data granularity, the content identifiers before and after the current mobile node change are compared to extract the difference information. When extracting the difference information, the logical timestamp when the data change occurs is recorded, and this logical timestamp is used as the unique time sequence identifier of the difference information.
[0027] Bind the logical timestamp with the corresponding differential information to form an incremental synchronization entry that can uniquely identify the order and content of data changes; write the incremental synchronization entry into the list to be synchronized according to the logical timestamp.
[0028] As a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, the method for comparing the largest logical timestamps in the lists to be synchronized by both parties includes...
[0029] Once two mobile nodes enter the communication range, read all incremental synchronization entries in the synchronization list of the two mobile nodes respectively, and extract the logical timestamp carried by each incremental synchronization entry.
[0030] Based on the extracted logical timestamps, the maximum logical timestamps in the synchronization lists of the two mobile nodes are obtained respectively, and used as the time sequence identifiers of the latest data changes of the two mobile nodes.
[0031] Compare the maximum logical timestamp of one moving node with the maximum logical timestamp of the other moving node; the moving node with the larger logical timestamp is the leading party, and the other moving node is the lagging party.
[0032] In a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, the method for the leading party to retrieve incremental synchronization entries from the synchronization list whose logical timestamps are greater than the maximum logical timestamp of the lagging party, and to send them to the lagging party in logical timestamp order, includes:
[0033] The lagging party initiates a synchronization request to the leading party based on its own maximum logical timestamp. The request includes the local maximum logical timestamp and the list to be synchronized.
[0034] After receiving a synchronization request, the leading party retrieves all incremental synchronization entries whose logical timestamps are greater than the maximum logical timestamp of the lagging party from its own list of pending synchronization, based on the maximum logical timestamp of the lagging party carried in the synchronization request.
[0035] The leading party sorts the retrieved incremental synchronization entries according to their logical timestamps and sends them to the lagging party one by one.
[0036] As a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, the method for the lagging party to receive and parse incremental synchronization entries includes:
[0037] After receiving an incremental synchronization entry, the lagging mobile node reads the logical timestamp of each incremental synchronization entry in sequence; based on the read logical timestamps, it caches each incremental synchronization entry in the order of the logical timestamps to form a queue to be parsed.
[0038] The incremental synchronization entries are parsed one by one from the queue to be parsed in order of logical timestamp, and the differential information is extracted.
[0039] As a preferred embodiment of the data synchronization and backup method for the distributed mobile storage cluster described in this invention, wherein:
[0040] The method for applying differential information through a local conflict-free replication data engine includes:
[0041] The local conflict-free data replication engine determines the corresponding data change order based on the logical timestamp in the differential information; and performs differential updates on the local storage data of the lagging moving node in sequence according to the data change order.
[0042] When it is detected that the data involved in the difference information has already been modified locally, the local conflict-free replication data engine compares the logical timestamps of the change records of both parties and performs a conflict-free merge based on the order of the logical timestamps.
[0043] The local conflict-free replication data engine updates the state snapshot of the local storage data of the lagging mobile node and synchronously writes the latest logical timestamp into the list to be synchronized; based on the updated state snapshot, a data consistency view of the current mobile node is generated.
[0044] Secondly, this invention provides a data synchronization and backup system for a distributed mobile storage cluster, comprising,
[0045] The clock synchronization module is used to collaboratively calculate the clock offset and drift of each node based on the ultra-wideband bidirectional ranging results of mobile nodes in the distributed mobile storage cluster, so as to form a distributed relative clock under the condition of no external time source and fixed master control node.
[0046] The differential generation module is used to obtain a logical timestamp by calling a distributed relative clock when any mobile node undergoes a data change; generate differential information through a local conflict-free data replication engine; and bind the logical timestamp with the differential information to form an incremental synchronization entry and store it in the list to be synchronized.
[0047] The synchronization coordination module is used to compare the maximum logical timestamps in the synchronization lists of the two mobile nodes when they enter the communication range. The lagging node initiates a synchronization request to the leading node. The leading node retrieves incremental synchronization entries in the synchronization list whose logical timestamps are greater than the maximum logical timestamps of the lagging node and sends them to the lagging node in logical timestamp order.
[0048] The synchronization module is used by the lagging party to receive and parse incremental synchronization entries, and apply the differential information through the local conflict-free replication data engine to complete the synchronization backup.
[0049] The beneficial effects of this invention are as follows: By introducing a distributed relative clock based on bidirectional ranging results into a mobile cluster, self-organized time coordination is achieved under conditions of no external time source and no fixed master node. Each mobile node can self-calibrate its local clock offset and drift based on ranging topology and timing differences, thereby maintaining a unified logical timing reference in a dynamic network. Simultaneously, through a conflict-free replication and differential synchronization mechanism driven by logical timestamps, the granular differences before and after data changes are bound to logical timestamps in the form of differential information to generate incremental synchronization entries. This allows nodes to complete synchronization backup by transmitting only the necessary changes. The combination of these two aspects enables this invention to ensure global consistency of event timing while reducing data synchronization redundancy and conflicts in mobile environments with intermittent communication and frequent topology changes. This achieves low-overhead, highly robust data consistency backup, significantly improving the autonomous synchronization capability and consistency maintenance efficiency of the mobile distributed storage cluster. Attached Figure Description
[0050] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 This is a flowchart of the data synchronization and backup method for the distributed mobile storage cluster in this invention;
[0052] Figure 2 This is a schematic diagram of the data synchronization and backup system of the distributed mobile storage cluster in this invention;
[0053] Figure 3 This is a flowchart of the process for generating a distributed relative clock in this invention;
[0054] Figure 4 This is a flowchart of the process for generating incremental synchronization entries in this invention. Detailed Implementation
[0055] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0056] Many specific details are set forth in the following description in order to provide a full understanding of the invention. However, the invention may also be practiced in other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of the invention. Therefore, the invention is not limited to the specific embodiments disclosed below.
[0057] Secondly, the term "one embodiment" or "embodiment" as used herein refers to a specific feature, structure, or characteristic that may be included in at least one implementation of the present invention. The phrase "in one embodiment" appearing in different places in this specification does not necessarily refer to the same embodiment, nor is it a single or selective embodiment that is mutually exclusive with other embodiments.
[0058] Reference Figure 1 , Figure 2 , Figure 3 and Figure 4 As an embodiment of the present invention, this embodiment provides a data synchronization and backup method for a distributed mobile storage cluster, comprising the following steps:
[0059] Methods for obtaining ultra-wideband two-way ranging results include:
[0060] For each mobile node in the distributed mobile storage cluster, the function of transmitting and receiving ultra-wideband signals is activated; and the broadcast period is defined to broadcast ultra-wideband signals to other mobile nodes within the detection range in each period.
[0061] Specifically, after startup, each mobile node enters a standby synchronization state, detects the surrounding channel occupancy, and automatically selects a frequency band with low interference (3.1-4.8 GHz) as the working channel. It then verifies the stability of the communication link and the receiver sensitivity by sending test pulse packets. Once the link is confirmed to be stable, the mobile node loads its unique identifier and local initial timestamp into the ultra-wideband signal payload.
[0062] Furthermore, the broadcast period can be dynamically configured based on factors such as node movement speed, ranging accuracy requirements, and channel occupancy. For example, when the mobile node is moving at low speed or stationary, the broadcast period can be set to 500 ms to 1 s to reduce communication overhead; while in scenarios where the mobile node is moving at high speed or the topology changes rapidly, the broadcast period can be shortened to 100 ms to 200 ms. During each broadcast period, the mobile node actively and periodically broadcasts a UWB signal packet carrying its own identifier and timestamp information to other mobile nodes within the detection range; other mobile nodes immediately return a response packet after receiving the broadcast signal.
[0063] When each mobile node receives an ultra-wideband signal from another mobile node, it records the reception timestamp of the ultra-wideband signal and matches the reception timestamp with the transmission timestamp; based on the matched transmission timestamp and reception timestamp, it calculates the round-trip propagation delay of the ultra-wideband signal.
[0064] It should be noted that when a mobile node receives an ultra-wideband (UWB) signal from another mobile node, it reads the transmission timestamp carried in the signal and simultaneously records its local reception timestamp. Then, it performs a one-to-one matching based on the unique identifiers within the signal packet (including the sending node ID and sequence number). The receiving mobile node searches its local record table for a transmission record matching the sequence number and pairs its reception timestamp with the corresponding transmission timestamp. Based on the matched timestamps and the acknowledgment time difference during the round-trip time, the round-trip propagation delay of the UWB signal is calculated using the following formula:
[0065] ;
[0066] in, It is the round-trip propagation delay of ultra-wideband signals. It is the timestamp of the original sending mobile node receiving the acknowledgment signal. It is the timestamp of the mobile node transmitting the ultra-wideband signal. It is the timestamp of receiving the response signal sent by the mobile node. It is the timestamp of the mobile node receiving the signal.
[0067] Based on the round-trip propagation delay and signal propagation rate of the ultra-wideband signal of each mobile node, the two-way distance is calculated to obtain the two-way ranging results between the mobile nodes.
[0068] It should be noted that the expression for calculating the two-way distance is:
[0069] ;
[0070] in, It is a mobile node With mobile nodes The two-way distance between them It is the propagation speed of ultra-wideband signals in the air ( ).
[0071] Methods for forming distributed relative clocks include:
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] It should be noted that the formula for calculating the variance of bidirectional ranging results over multiple consecutive ranging periods is as follows:
[0078] ;
[0079] 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 mobile nodes The average value of continuous ranging results, and It can be any two distinct moving nodes. It is the sequence number of the current ranging cycle;
[0080] The formula for determining whether the relative rate of change of variance of bidirectional ranging results is lower than the average rate of change over multiple consecutive ranging periods is as follows:
[0081] ;
[0082] in, This indicates a moving node pair. The relative rate of change of the distance measurement variance It is the first Variance of bidirectional ranging results within a sliding time window It is the first Variance of bidirectional ranging results within a sliding time window It is the average of the relative rates of change of the variance of the two-way ranging results for all moving nodes. It is the sequence number of the sliding time window;
[0083] The formula for calculating the variance of the time rate of change of two-way ranging results is:
[0084] ;
[0085] in, It is a moving node pair The variance of the rate of change over time of the two-way ranging results. It is the first Next and first Rate of change between the two-way ranging results It is a moving node pair The average rate of change of bidirectional ranging results over multiple consecutive ranging cycles. and It is the pair of nodes that move between two consecutive ranging periods. Two-way ranging results, It is the time interval between two consecutive ranging cycles;
[0086] The formula for determining whether the variance of the rate of change over time tends to converge within the sliding time window is as follows;
[0087] ;
[0088] in, It is the current sliding time window (the first one) The variance of the rate of change of the two-way ranging results over time within (number of units). It is the previous sliding time window (the first one) The variance of the rate of change of the two-way ranging results over time within (number of units). It is the time-varying rate variance convergence threshold (example 0.05).
[0089] 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.
[0090] Through the above process, adjacent moving nodes that exhibit high ranging stability, small variance fluctuations, and convergent time-rate variance within a continuous ranging period can be selected and identified as reference nodes.
[0091] 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.
[0092] It should be noted that the expression for calculating the initial offset between the local clock and the reference node clock is:
[0093] ;
[0094] 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;
[0095] The formula for calculating the drift rate between the local clock and the reference node clock is:
[0096] ;
[0097] 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;
[0098] 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 ;
[0099] 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.
[0100] based on A weighted joint fit is performed on the initial offsets and drift rates from all reference nodes; specifically, the moving node... Global clock drift correction factor and global clock offset correction value The average value of the sequence corresponding to each reference node was calculated respectively. and It is obtained by weighted average of () and the calculation formula is:
[0101] ;
[0102] The summation iterates through all reference nodes. Thus, the data for moving nodes can be obtained. Global clock calibration parameters for clock calibration .
[0103] Based on the global clock calibration parameters, the local clock time is corrected for the difference, and the counting rate of the local clock is adjusted synchronously until the deviation between the local clock and the reference node clock converges to the minimum range, forming a distributed relative clock under the condition of no external time source and fixed master node.
[0104] It should be noted that the mobile node uses the global clock offset correction value to compensate the current reading of the local clock in real time; the mobile node adjusts the crystal oscillator drive frequency of the local clock or the increment step size of the software timer proportionally according to the global clock drift correction factor; in each subsequent ranging cycle, the mobile node repeats the calculation process of clock offset and drift rate, and compares the new calculation results with the currently used global clock calibration parameters.
[0105] The mobile node iteratively updates the difference correction and counting rate adjustment applied to its local clock. When the absolute value of the offset between the local clock and the reference node's clock remains below a preset offset threshold for multiple consecutive cycles (e.g., the absolute offset value is consistently below 100 microseconds), and the drift rate trend stabilizes (e.g., the absolute drift rate is less than 0.1 ppm and the drift rate change in adjacent cycles is less than 0.01 ppm), the mobile node's local clock is considered calibrated. When the deviation between the mobile node's local clock and the reference node's clock converges to the minimum range, the mobile node's local clock becomes part of the distributed relative clock. All mobile nodes follow the same process to complete local clock calibration, collectively forming a distributed relative clock under conditions without an external time source and a fixed master node.
[0106] By constructing distance topology relationships based on bidirectional ranging, selecting stable reference nodes, and performing joint fitting of offset and drift, a self-calibrated distributed relative clock is formed, realizing dynamic alignment of time bases between nodes. This mechanism can maintain clock consistency without an external time source, improving the data synchronization accuracy and collaborative stability of mobile clusters under dynamic topology.
[0107] Methods for obtaining logical timestamps include:
[0108] When the data of a mobile node changes, the distributed relative clock obtains the local clock time of that mobile node at the current moment.
[0109] It should be noted that when the distributed relative clock obtains the local clock time of a mobile node at the current moment, it directly reads the current count value of its internal timer and uses this count value as the local clock time at the current moment.
[0110] Based on the global clock calibration parameters recorded in the distributed relative clock, the local clock time is corrected for the difference to obtain the globally calibrated logical time value; and the logical time value is used as the logical timestamp.
[0111] It should be noted that the distributed relative clock performs difference correction calculation on the local clock time based on the recorded global clock calibration parameters. By multiplying the local clock time by the drift rate compensation factor and adding the offset correction value, the globally calibrated logical time value is obtained. The drift rate compensation is used to correct timing rate errors, and the offset correction is used to eliminate initial time deviations, so that the logical time can accurately reflect the globally unified time series.
[0112] Methods for creating incremental synchronization entries and storing them in the synchronization list include:
[0113] Existing distributed data synchronization methods mostly rely on full data comparison or centralized timestamps, which cannot accurately capture data differences in environments with frequent changes in mobile nodes and unstable networks. They lack fine-grained identification of data changes before and after, resulting in redundant synchronized data and high bandwidth consumption. At the same time, timestamps are attached to the local time of the nodes, which poses the risk of time sequence disorder and conflicting updates, affecting data consistency and synchronization efficiency.
[0114] Input the changed data with logical timestamps into the local conflict-free replication data engine; perform a state snapshot on the current local storage data of the data-changed mobile node to obtain a static data image; use the static data image as the data before the change and compare it with the data content after the change to output the data granularity difference.
[0115] It should be noted that after the changed data carrying a logical timestamp is input into the local conflict-free replication data engine, the conflict-free replication data engine immediately invokes the state snapshot mechanism when it detects a write or update operation trigger signal to perform a complete copy of the data object currently stored locally on the mobile node. During the copying process, the structural description, field values and their index mapping relationships of the target data object are extracted synchronously, and the extraction results are identified with snapshot numbers and logical timestamps to form a static data image that can uniquely correspond to the storage state before the change.
[0116] Furthermore, when comparing the static data mirror as the data before the change with the data content after the change, the old values recorded in the static data mirror are compared with the new values in the storage after the change, based on the field hierarchy of the data object and the storage key-value mapping relationship. During the comparison process, the differences in content are detected at the data granularity (field, record or node level), and the field identifiers, change types and change values of the changed fields are extracted to form data granularity differences.
[0117] Based on the differences in data granularity, the content identifiers before and after the current mobile node change are compared to extract differential information. When extracting differential information, the logical timestamp when the data change occurs is recorded, and this logical timestamp is used as the unique time sequence identifier of the differential information.
[0118] It should be noted that by traversing the corresponding fields or records of the static data mirror and the changed data object, comparing the old and new values of each field or node, the specific changes are identified, including field identifiers, change types (addition, deletion, and modification), and change values. Subsequently, the identified changes are encoded according to their position and level in the data structure to generate differential information, and a unique corresponding data differential entry is formed based on the differential information. While generating differential entries, the logical timestamp corresponding to the data change is recorded, and this logical timestamp is bound to the differential entry, so that each differential information has a unique time sequence identifier.
[0119] Bind the logical timestamp with the corresponding differential information to form an incremental synchronization entry that can uniquely identify the order and content of data changes; write the incremental synchronization entry into the list to be synchronized according to the logical timestamp.
[0120] It should be noted that when binding logical timestamps with corresponding difference information, a key-value pair structure is used to store the logical timestamps and difference information, with the logical timestamp as the key and the difference information as the value. After binding, the resulting incremental synchronization entries are arranged in ascending order of logical timestamps and written to the end of the synchronization list. The synchronization list is maintained using a first-in-first-out queue structure to ensure that incremental synchronization entries are stored in logical timestamp order.
[0121] By using a differential extraction mechanism based on logical timestamps, data change granularity identification and precise time sequence binding are achieved, ensuring that each change has a unique logical order. Combined with a local conflict-free replication data engine, incremental synchronization entries can be quickly generated without central coordination, significantly reducing redundant transmission and synchronization latency, and improving the controllability and reliability of distributed data consistency and synchronization processes.
[0122] Methods for comparing the largest logical timestamps in the synchronization lists of both parties include:
[0123] Once two mobile nodes enter the communication range, all incremental synchronization entries in the synchronization list of the two mobile nodes are read respectively, and the logical timestamp carried by each incremental synchronization entry is extracted.
[0124] It should be noted that the mobile node first accesses the local database or memory cache area storing incremental synchronization entries, traversing all incremental synchronization entries in the list to be synchronized. For each incremental synchronization entry in the list, the mobile node parses its data structure format, which typically includes header fields and payload data. During the parsing process, the mobile node locates the specific field in the data structure that stores the logical timestamp, extracts the timestamp value in binary or numerical form of that specific field, and obtains the logical timestamp carried by each incremental synchronization entry.
[0125] Based on the extracted logical timestamps, the maximum logical timestamp in the synchronization list of the two mobile nodes is obtained respectively, and used as the time sequence identifier of the latest data change of the two mobile nodes.
[0126] It should be noted that all logical timestamps extracted from the list to be synchronized are compared, and the logical timestamp with the largest value is selected as the maximum logical timestamp of the mobile node; the maximum logical timestamp represents the logical time when the most recent data change of the mobile node occurred.
[0127] Compare the maximum logical timestamp of one moving node with the maximum logical timestamp of the other moving node; the moving node with the larger logical timestamp is the leading party, and the other moving node is the lagging party.
[0128] It should be noted that the two mobile nodes exchange their maximum logical timestamp values through communication; by comparing the values of the two maximum logical timestamps, the mobile node with the larger logical timestamp value is marked as the leader, and the mobile node with the smaller logical timestamp value is marked as the lagging.
[0129] The method by which the leading node retrieves incremental synchronization entries from the synchronization list whose logical timestamps are greater than the lagging node's maximum logical timestamp, and sends them to the lagging node in logical timestamp order, includes:
[0130] The lagging party initiates a synchronization request to the leading party based on its own maximum logical timestamp. The request includes the local maximum logical timestamp and the list of items to be synchronized.
[0131] It should be noted that when the lagging mobile node encapsulates the synchronization request message, it uses the maximum logical timestamp value recorded in its local list to be synchronized as the core parameter, and also packages the summary information of the list to be synchronized. The summary information includes the total number of incremental synchronization entries currently stored in the list, the percentage of list storage capacity occupied, and the logical timestamp of the earliest incremental synchronization entry. This synchronization request message is organized and sent to the leading mobile node in a specific data frame format through an established communication link between mobile nodes, such as an ultra-wideband wireless channel. The data frame format consists of three parts: a frame header, payload data, and a frame tail checksum. The frame header defines the message type as a synchronization request. The payload data fields sequentially store parameters such as the maximum logical timestamp, the total number of list entries, the percentage of list capacity, and the earliest logical timestamp. The frame tail uses a cyclic redundancy checksum to ensure data transmission integrity.
[0132] After receiving a synchronization request, the leading party retrieves all incremental synchronization entries with logical timestamps greater than the lagging party's maximum logical timestamp from its own list of pending synchronization, based on the maximum logical timestamp of the lagging party carried in the synchronization request.
[0133] Specifically, the leading mobile node verifies the received data stream. First, it checks whether the data stream length reaches the expected length defined by the frame header. Then, the leading mobile node calculates the cyclic redundancy check (CRC) code of the payload data in the data stream and compares the calculation result with the check code carried at the end of the data stream frame. If the two match, it is determined that the synchronization request message format is complete and the transmission is error-free.
[0134] Furthermore, when the leading mobile node parses the synchronization request message body, it locates the offset address of the field storing the maximum logical timestamp of the lagging node based on the synchronization request message frame structure. The leading mobile node reads a fixed length of byte data from this address and decodes the byte data into an integer value according to a predefined encoding rule (such as big-endian or little-endian byte order). This integer value is the specific value of the maximum logical timestamp of the lagging node.
[0135] Furthermore, the leading mobile node uses the specific value of the maximum logical timestamp of the lagging node as a filtering condition to perform a full scan of the local list to be synchronized. It compares the logical timestamp bound to each incremental synchronization entry in the list one by one, and filters out all entries that meet the condition that the logical timestamp is greater than the maximum logical timestamp of the lagging node, forming a set of entries to be synchronized.
[0136] The leading party sorts the retrieved incremental synchronization entries according to their logical timestamps and sends them to the lagging party one by one.
[0137] Specifically, the leading mobile node converts each sorted incremental synchronization entry into a format suitable for network transmission. Each incremental synchronization entry is encapsulated into an independent data packet, with a packet structure including a header, payload, and trailer. The header field includes the destination mobile node identifier, source mobile node identifier, data packet sequence number, total number of packets, and current packet sequence number. The payload field stores the complete content of the incremental synchronization entry, including a logical timestamp and corresponding difference information. The trailer field contains a cyclic redundancy check (CRC) code for error detection.
[0138] The leading mobile node sequentially sends serialized data packets to the lagging mobile node via the established ultra-wideband communication link. The transmission process employs a transport protocol with an acknowledgment mechanism. For example, after sending a single data packet, the leading mobile node waits for an acknowledgment signal from the lagging mobile node. If no acknowledgment signal is received within a set time limit, the leading mobile node retransmits the data packet until successful transmission or the maximum number of retries is reached. All data packets are transmitted strictly in the ordered sequence, ensuring that the lagging mobile node can receive and process incremental synchronization entries according to logical timestamp order.
[0139] Methods for the lagging party to receive and parse incremental synchronization entries include:
[0140] After receiving an incremental synchronization entry, the lagging mobile node reads the logical timestamp of each incremental synchronization entry in sequence. Based on the read logical timestamps, the incremental synchronization entries are cached in chronological order according to the logical timestamps, forming a queue to be parsed.
[0141] It should be noted that during the reception process, the lagging mobile node immediately parses the header of each successfully received and verified data packet to obtain the data packet sequence number and reassembles a complete incremental synchronization entry. Subsequently, the lagging mobile node parses the header structure of this incremental synchronization entry and reads the encoded logical timestamp value. The lagging mobile node maintains a priority queue sorted in ascending order of logical timestamp values as a queue to be parsed; when inserting a newly arrived incremental synchronization entry, it determines the correct insertion position in the queue by comparing the logical timestamp values, thereby ensuring that the entries in the queue to be parsed always follow the global logical timing.
[0142] The incremental synchronization entries are parsed one by one from the queue to be parsed in order of logical timestamp, and the differential information is extracted.
[0143] It should be noted that the processing thread of the lagging mobile node continuously checks the parsing queue. When the parsing queue is not empty, the processing thread retrieves 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 parsing of this entry, including verifying the entry's integrity, decoding the compressed format of the differential information (if it exists), and restoring the data change operations (such as field updates, record insertions, or deletions) contained in the differential information into a clear set of operation instructions. The parsed differential information operation instruction set and the corresponding logical timestamp are temporarily stored in memory, awaiting application to local storage.
[0144] Methods for applying differential information through a local conflict-free replication data engine include:
[0145] The local conflict-free data replication engine determines the corresponding data change order based on the logical timestamp in the differential information; and performs differential updates on the local storage data of the lagging moving node in sequence according to the data change order.
[0146] It's important to note that the local conflict-free replication data engine maintains an operation log. Each differential information to be applied is assigned a globally unique sequence number based on its logical timestamp. The local conflict-free replication data engine strictly sorts these sequence numbers to create an ordered execution plan. During application, the local conflict-free replication data engine decodes the differential information into specific database operation instructions, such as PUT and DELETE operations for key-value stores, or field-level UPDATE operations for document databases. The local conflict-free replication data engine executes these database operation instructions sequentially within local storage transactions, ensuring that each change is completed atomically, thereby accurately replicating the data changes from the leading database to the lagging database's local storage.
[0147] When it is detected that the data involved in the difference information has already been modified locally, the local conflict-free replication data engine compares the logical timestamps of the change records of both parties and performs a conflict-free merge based on the order of the logical timestamps.
[0148] It's important to note that before applying changes, the conflict-free replication data engine queries the metadata of the target data item to check for any modification records generated locally by the lagging node that have a logical timestamp later than the last synchronization baseline but earlier than the current entry to be applied. When such conflicts are detected, the conflict-free replication data engine initiates a merging process: first, it unconditionally applies changes with larger logical timestamps, as these represent the more recent events; for conflicts with the same logical timestamps (extremely low probability events), a deterministic algorithm based on the node identifier of the change source (e.g., lexicographical order of node identifiers) is used to adjudicate the conflict and generate the merged result. The merged data item will be marked as having resolved the conflict, and the latest logical timestamp corresponding to the merged data item will be recorded.
[0149] The local conflict-free replication data engine updates the state snapshot of the local storage data of the lagging mobile node and synchronously writes the latest logical timestamp into the list to be synchronized; based on the updated state snapshot, a data consistency view of the current mobile node is generated.
[0150] It should be noted that the local storage data of the lagging mobile node is locked to ensure data stasis. Then, all data items in the lagging mobile node are traversed, and the complete content, metadata and corresponding latest logical timestamp of each data item are recorded. The complete content, metadata and 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 to the end of the synchronization list of the lagging mobile node. The synchronization completion record contains the version identifier of the new snapshot and the maximum logical timestamp value applied in this synchronization.
[0151] Furthermore, after the local conflict-free replication data engine generates the state snapshot, it loads the latest snapshot file and parses and reconstructs the index of all data items and their 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 each data item in the time dimension. For data items with multiple versions or duplicate records, according to the relationship between the old and new logical timestamps and the conflict resolution strategy, only the latest valid version is retained and marked as the current visible state: for key-value data, a key-to-version mapping table is established; for document-type or hierarchical data, the dependency relationship and parent-child reference relationship between fields are reconstructed to ensure the integrity of the internal structure of the snapshot and the correctness of the references; all valid data items, their latest metadata, and the corresponding logical timestamps are uniformly encapsulated into a consistent image structure to form a data consistency view of the current moving node.
[0152] This embodiment also provides a data synchronization and backup system for a distributed mobile storage cluster, including:
[0153] The clock synchronization module is used to collaboratively calculate the clock offset and drift of each node based on the ultra-wideband bidirectional ranging results of mobile nodes in the distributed mobile storage cluster, so as to form a distributed relative clock under the condition of no external time source and fixed master control node.
[0154] The differential generation module is used to obtain a logical timestamp by calling a distributed relative clock when any mobile node undergoes a data change; generate differential information through a local conflict-free data replication engine; and bind the logical timestamp with the differential information to form an incremental synchronization entry and store it in the list to be synchronized.
[0155] The synchronization coordination module is used to compare the maximum logical timestamps in the synchronization lists of the two mobile nodes when they enter the communication range. The lagging node initiates a synchronization request to the leading node. The leading node retrieves incremental synchronization entries in the synchronization list whose logical timestamps are greater than the maximum logical timestamps of the lagging node and sends them to the lagging node in logical timestamp order.
[0156] The synchronization module is used by the lagging party to receive and parse incremental synchronization entries, and apply the differential information through the local conflict-free replication data engine to complete the synchronization backup.
[0157] This embodiment also provides a computer device applicable to the data synchronization and backup method for a distributed mobile storage cluster, comprising: a memory and a processor; the memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the data synchronization and backup method for a distributed mobile storage cluster as proposed in the above embodiment.
[0158] The computer device can be a terminal, comprising a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, carrier networks, NFC (Near Field Communication), or other technologies. The display screen can be an LCD screen or an e-ink screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad on the computer device's casing, or an external keyboard, touchpad, or mouse.
[0159] This embodiment also provides a storage medium storing a computer program, which, when executed by a processor, implements the data synchronization and backup method for a distributed mobile storage cluster as proposed in the above embodiments. The storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Red-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0160] In summary, this invention achieves self-organized time coordination in mobile clusters by introducing a distributed relative clock based on bidirectional ranging results, even without an external time source or a fixed master node. Each mobile node can self-calibrate its local clock offset and drift based on ranging topology and timing differences, thus maintaining a unified logical timing reference in dynamic networks. Simultaneously, through a conflict-free replication and differential synchronization mechanism driven by logical timestamps, the granular differences before and after data changes are bound to logical timestamps in the form of differential information to generate incremental synchronization entries. This allows nodes to complete synchronization backup by transmitting only the necessary changes. The combination of these two aspects enables this invention to ensure global consistency of event timing while reducing data synchronization redundancy and conflicts in mobile environments with intermittent communication and frequent topology changes. This achieves low-overhead, highly robust data consistency backup, significantly improving the autonomous synchronization capability and consistency maintenance efficiency of mobile distributed storage clusters.
[0161] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.
Claims
1. A data synchronization backup method of a distributed mobile storage cluster, characterized in that: The application relates to a method for obtaining a distributed relative clock without an external time source and a fixed master node. The method comprises the following steps: For each mobile node in the distributed mobile storage cluster, the sending and receiving functions of an ultra-wideband signal are started, and a broadcast cycle time is defined, in each cycle, the ultra-wideband signal is broadcast to other mobile nodes in the detection range; 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 time delay of the ultra-wideband signal is calculated; Based on the round-trip propagation time delay of the ultra-wideband signal of each mobile node and the signal propagation rate, the two-way distance is calculated, and the two-way ranging result between the mobile nodes is obtained; Based on the two-way ranging result between the mobile nodes, a number of mobile nodes with the smallest distance in the two-way ranging result are selected as adjacent mobile nodes; and the adjacent mobile nodes are taken as vertices, and the ranging distance is taken as a weighted edge to construct a distance topological relationship; Using the distance topological relationship, the adjacent mobile nodes with the relative change rate of the two-way ranging result variance in continuous multiple ranging cycles being lower than the average change level and the time change rate variance of the two-way ranging result tending to converge in a sliding time window are selected as reference nodes; Based on the difference between the two-way ranging time series between the reference nodes and the mobile nodes, the initial offset and drift rate of 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 global clock calibration parameters; 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 between the local clock and the reference node clock converges to the minimum change range, a distributed relative clock without an external time source and a fixed master node is formed; When any mobile node changes data, the distributed relative clock is called to obtain a logical time stamp; Through a local conflict-free replication data engine, differential information is generated; The logical time stamp and the differential information are bound to form an incremental synchronization entry and are stored in a synchronization list; When two mobile nodes enter a communication range, the maximum logical time stamp in the synchronization list of both parties is compared, and a synchronization request is initiated from the follower to the leader; the leader sends the incremental synchronization entry with the logical time stamp greater than the maximum logical time stamp of the follower to the follower in sequence; The follower receives and analyzes the incremental synchronization entry, applies the differential information through the local conflict-free replication data engine, and completes the synchronization backup.
2. The method of claim 1, wherein the method further comprises: The method for obtaining the logical time stamp comprises the following steps: When the data of a mobile node changes, the distributed relative clock obtains the local clock time at the current time of the mobile node; According to the global clock calibration parameters recorded in the distributed relative clock, the local clock time is differentially corrected to obtain a logical time value calibrated by the global clock; And the logical time value is taken as a logical time stamp.
3. The method of claim 2, wherein: The method for forming the incremental synchronization entry and storing it in the to-be-synchronized list comprises, inputting the change data carrying the logical timestamp into the local conflict-free replication data engine; performing a state snapshot on the current local storage data of the mobile node of the data change to obtain a static data mirror, taking the static data mirror as the data before the change, and comparing it with the data after the change to output the data granularity difference; based on the data granularity difference, comparing the content identifiers before and after the change of the current mobile node to extract the differential information; when the differential information is extracted, the logical timestamp at the time of the data change is recorded as the unique time sequence identifier of the differential information; binding the logical timestamp with the corresponding differential information to form an incremental synchronization entry which can uniquely identify the data change order and content; and writing the incremental synchronization entry into the to-be-synchronized list according to the logical timestamp.
4. The method of claim 3, 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, reading all the incremental synchronization entries in the to-be-synchronized lists of the two mobile nodes respectively, and extracting the logical timestamps carried by each incremental synchronization entry; based on the extracted logical timestamps, obtaining the maximum logical timestamps in the to-be-synchronized lists of the two mobile nodes respectively as the time sequence identifiers of the latest data changes of the two mobile nodes; comparing the maximum logical timestamp of one mobile node 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.
5. The method of claim 4, wherein: 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 them to the lagging party in the order of the logical timestamps 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 includes 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 order of the logical timestamps, and sends them to the lagging party one by one.
6. The method of claim 5, wherein: The method for the lagging party receiving and analyzing the incremental synchronization entries comprises, after receiving the incremental synchronization entries, the mobile node of the lagging party reads the logical timestamps in each incremental synchronization entry one by one; based on the read logical timestamps, the incremental synchronization entries are cached according to the time order of the logical timestamps to form a to-be-analyzed queue; the incremental synchronization entries are analyzed one by one from the to-be-analyzed queue according to the order of the logical timestamps to extract the differential information.
7. 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, determining the corresponding data change order according to the logical timestamp in the differential information by the local conflict-free replication data engine; and performing differential update on the local storage data of the mobile node of the lagging party 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.
8. 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-7, 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