Geological survey mapping cloud platform data synchronization method and system

By using block processing and a two-layer hash index architecture for geological survey and mapping data, and by leveraging spatial anchors and complementary index expansion, efficient incremental synchronization of data on the geological survey and mapping cloud platform was achieved. This solved the problems of redundant calculation and high latency in existing technologies, ensuring high reliability and low latency synchronization of 3D models.

CN122173573APending Publication Date: 2026-06-09HUNAN SPIDER ROBOT TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUNAN SPIDER ROBOT TECH CO LTD
Filing Date
2026-05-13
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing technologies fail to effectively utilize the similarities and correlations between existing data, resulting in redundant calculations and high latency during the synchronization of geological survey data, which affects real-time performance and accuracy.

Method used

By collecting geological survey and mapping data, a three-dimensional geological model is generated using BIM software, and the model is divided into blocks. The content hash value is calculated, and incremental synchronization is performed using a two-layer hash index architecture. Spatial anchor points and complementary index expansion are used to identify the largest common block and generate a data update instruction set to be synchronized to the client.

Benefits of technology

It achieves efficient alignment and difference identification of large-scale geological data, reduces the synchronization bandwidth load of the cloud platform, ensures high reliability and low latency synchronization of 3D models between the server and the client, and solves the problem of topological logic consistency in complex geological environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122173573A_ABST
    Figure CN122173573A_ABST
Patent Text Reader

Abstract

This invention discloses a data synchronization method and system for a geological exploration and mapping cloud platform, relating to the field of data synchronization technology. The method involves collecting geological exploration and mapping data, using BIM modeling to obtain a three-dimensional geological model, and dividing the three-dimensional geological model into spatial blocks. Each spatial block is sorted and its content hash value is calculated to obtain an ordered block sequence. The content hash values ​​in the ordered block sequence are compared, sequence similarity is calculated, and spatial anchor points are selected. Complementary index expansion is performed based on the spatial anchor points to obtain matching interval pairs, which are then merged to identify the largest common block. Using the largest common block, the ordered block sequence is divided into sub-intervals to be aligned and iteratively expanded to identify all common blocks forming a common set. Spatial blocks in the ordered block sequence that do not belong to the common set are traversed, and the spatial blocks are divided to obtain the division results. A data update instruction set is generated based on the division results and synchronized to the client, improving synchronization speed and ensuring data integrity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of data synchronization, and in particular to a data synchronization method and system for a geological exploration and mapping cloud platform. Background Technology

[0002] In recent years, geological exploration and mapping cloud platforms have played a crucial role in the construction and real-time analysis of 3D geological models. However, existing technologies face numerous challenges in data synchronization. Traditional full-scale synchronization methods result in significant data redundancy, wasting bandwidth and computing resources, and are unable to meet the demands of large-scale data updates. Existing technologies lack efficient incremental synchronization mechanisms, failing to optimize transmission and computation efficiency while maintaining synchronization accuracy, leading to high latency and hindering real-time monitoring and collaborative operations in exploration progress. Therefore, a new data synchronization method is urgently needed to improve synchronization efficiency, reduce redundant computation, and ensure real-time and reliable data transmission in complex geological environments.

[0003] Currently, Chinese invention patent application number CN201610072717.6 discloses a method and system for achieving data synchronization in a cloud platform. The method includes: identifying whether there is a user data request at a data interface on a first user data platform; when a user data request is identified, identifying the data operation behavior to be performed on the data storage space of the first user data platform based on a relational database; obtaining the status value of the data storage space on the user data area of ​​the first user data platform, wherein the status value maps to the correlation between the user data areas of the first user data platform and the cloud platform area; and controlling the data content synchronization process between the first user data platform and the cloud platform area based on the data operation behavior and the status value of the data storage space. By implementing the method and system provided by this invention, concurrent operations between multiple user data platforms and the cloud platform can be achieved, ensuring data consistency while maintaining data content synchronization. Existing technologies fail to effectively utilize the similarity and correlation between existing data and cannot optimize updated content through intelligent matching, resulting in redundant calculations and high latency during the synchronization process, affecting the real-time performance and accuracy of geological survey data. Summary of the Invention

[0004] The technical problem solved by this invention is that the existing technology fails to effectively utilize the similarity and correlation between existing data, and cannot optimize the updated content through intelligent matching, resulting in redundant calculations and high latency in the synchronization process, which affects the real-time performance and accuracy of geological survey data.

[0005] To solve the above-mentioned technical problems, the present invention provides the following technical solution: A method for synchronizing data on a geological exploration and mapping cloud platform includes the following steps: Step S1: Collect geological survey and mapping data, use BIM software to model a three-dimensional geological model, and divide the three-dimensional geological model into spatial blocks; Step S2: Calculate the content hash value for each spatial block and sort all spatial blocks to obtain an ordered block sequence, which includes a new ordered block sequence and an existing ordered block sequence. Step S3: Compare the content hash values ​​of the new ordered block sequence with the existing ordered block sequence, calculate the sequence similarity and select a spatial anchor point, perform complementary index expansion based on the spatial anchor point to obtain matching interval pairs, merge the matching interval pairs and identify the largest common block, divide the ordered block sequence into sub-intervals to be aligned through the largest common block, perform iterative expansion within the sub-intervals to be aligned, identify all common blocks and form a common set; Step S4: Traverse the spatial blocks in the ordered block sequence that do not belong to the common set, divide the spatial blocks, obtain the division results, and generate a data update instruction set based on the division results to synchronize to the client.

[0006] Preferably, step S1 specifically includes: Step S11: Collect geological survey and mapping data, including borehole data and remote sensing image data; Borehole data includes formation location, lithological information, and geotechnical parameters; Remote sensing image data includes topographic elevation and surface images; Step S12: Use BIM software to model the geological survey and mapping data to obtain a three-dimensional geological model; Step S13: Divide the three-dimensional geological model into spatial blocks according to predefined rules to obtain the unique spatial identifier of the spatial block and the corresponding geometric data, attribute data and topological data; The geometric data includes the vertex coordinates and triangular mesh of the spatial blocks; The attribute data includes lithological category and mechanical parameters; The topological data includes the adjacency relationships between spatial blocks and the location identifiers of their respective stratigraphic layers.

[0007] Preferably, step S2 specifically includes: Step S21: Calculate the content hash value of each spatial block based on the geometric data, attribute data, and topological data of the spatial blocks, and sort all spatial blocks based on the unique spatial identifier to obtain an ordered block sequence, which includes an existing ordered block sequence and a new ordered block sequence. Step S22: Construct the first hash index and the second hash index using the existing ordered block sequence; Step S23: Based on the second hash index, compare the group-level hash values ​​of the new ordered block sequence with those of the existing ordered block sequence, and calculate the sequence similarity.

[0008] Preferably, step S22 specifically includes: Traverse the existing ordered block sequence, obtain the content hash value and position index of each spatial block in the sequence, and create a key-value hash table with the content hash value of the block as the key and a list of all position indices of the content hash value in the sequence as the value. Add the location index of each spatial block in the existing ordered block sequence to the location list corresponding to its content hash value to form the first hash index; Divide every N consecutive spatial blocks in an existing ordered block sequence into a block group, where N is a positive integer; For each block group, the content hash values ​​of all spatial blocks within the group are concatenated into a string in a fixed order. The hash value of the string is calculated, and the start and end positions of each block group and its corresponding group-level hash value are recorded to form a second hash index.

[0009] Preferably, step S3 specifically includes: Step S31: Based on the length of the new ordered block sequence and the sequence similarity, select a spatial anchor point, and use the first hash index to retrieve candidate position indices in the existing ordered block sequence that have the same hash value as the content of the spatial block where the spatial anchor point is located. For each candidate position index, the position of the spatial anchor point in the new ordered block sequence is combined with the candidate position index to form an alignment anchor point pair, and complementary index expansion is performed with the alignment anchor point pair as the center to obtain the starting matching position and the ending matching position. The spatial block sequence between the starting matching position and the ending matching position is used as the matching interval pair. Step S32: For two adjacent spatial blocks, calculate the position offset by the difference between the end position index of the previous spatial block and the start position index of the next spatial block. For matching interval pairs with zero position offset, select the smallest start position index and the largest end position index to merge them. For matching interval pairs with positive position offset and within the overlap threshold range, connect and merge them. Select the longest continuous matching interval pair from the merged matching interval pairs as the largest common block and add the largest common block to the common set. Using the start and end positions of the largest common block in the new ordered block sequence and the existing ordered block sequence as boundaries, the new ordered block sequence and the existing ordered block sequence are divided into a pre-alignment interval and a post-alignment interval, and iterative identification is performed. The iterative identification process includes: Within the preceding and following alignment intervals, complementary index expansion and merging are performed using alignment anchor pairs that fall outside the range of the maximum common block position index. The identified matching interval pairs that meet the length threshold interval are added to the common set. The iteration terminates when all matching interval pairs that meet the length threshold interval are added to the common set. If there are no alignment anchor pairs within any interval to be aligned except those falling within the maximum common block location index range, then step S31 is re-executed for that interval.

[0010] Preferably, the selection of spatial anchor points specifically includes: When the sequence length is greater than the first threshold and the similarity is lower than the second threshold, spatial anchor points are selected at fixed intervals from the start position to the end position of the new ordered block sequence. When the sequence length is less than or equal to the first threshold or the similarity is higher than the second threshold, the spatial anchor point of the center position of the new ordered block sequence is selected.

[0011] Preferably, complementary index extensions specifically include: Based on the alignment anchor pair, expansion matching is performed in the new ordered block sequence and the existing ordered block sequence from different expansion directions until a spatial block with a mismatched hash value is encountered in a certain expansion direction, and the start matching position and the end matching position are recorded. Extended matching includes the first pattern, the second pattern, and the third pattern; The first mode involves expanding the new ordered block sequence and the existing ordered block sequence block by block in both forward and reverse directions with the same offset. It then queries the first hash index to determine if the hash value of each candidate block on the expansion path has a corresponding record in the other sequence. If a corresponding record exists, the candidate block is considered to have matched successfully, and the expansion continues. If no corresponding record exists, the candidate block is determined to be unmatched, the expansion terminates in the corresponding expansion direction, and the termination position is recorded. The second mode is to expand by skipping intermediate blocks with a fixed step size. In the skipped block group, the second hash index is queried, and the group-level hash value of the skipped block group in the new ordered block sequence and the existing ordered block sequence is compared. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are the same, then all spatial blocks in the skipped block group are considered to be a match, the verification is successful, and the skipping is allowed to continue. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are different, it is determined that there is at least one mismatched space block in the skipped block group, the verification fails, the skipping stops, and the third mode is switched to expand. The third mode includes expanding forward with the current step size, querying the second hash index, and comparing the group-level hash value of the block group to be skipped in the new ordered block sequence and the existing ordered block sequence. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are the same, and the number of consecutively matched spatial blocks exceeds the first consecutive threshold, then the block group to be skipped is determined to be a good consecutive match, and the expansion step size of the next step is increased. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are different, it is determined that a difference boundary has been encountered, the step size is reduced, and the failure point is recorded. When K failure points are recorded, the system switches to the first mode, where K is an integer greater than 2. During the complementary index expansion process, the first mode is used first for expansion matching. If the number of consecutively matched blocks exceeds the second consecutive threshold, the second mode is switched to expand matching.

[0012] Preferably, in step S4, based on the common set, traversing the new ordered block sequence and the existing ordered block sequence to divide the spatial blocks specifically includes: Step S41: Traverse the spatial block location indices in the new ordered block sequence that do not belong to the common set: For each spatial block whose unique spatial identifier is not in the public set, search for spatial blocks with the same unique spatial identifier in the non-public block location intervals of the existing ordered block sequence: If no spatial block with the same unique spatial identifier is found, then the spatial block with the same unique spatial identifier that is not found in the existing ordered block sequence is determined to be a new block. If a spatial block with the same unique spatial identifier is found but has a different content hash value, then the spatial block with the same unique spatial identifier but a different content hash value in the existing ordered block sequence is determined to be a modified block. Step S42: Traverse the spatial block location indices in the existing ordered block sequence that do not belong to the common set: For each spatial block whose unique spatial identifier is not in the public set, search for spatial blocks with the same unique spatial identifier in the non-public block location interval of the new ordered block sequence: If no spatial block with the same unique spatial identifier is found, then the spatial block in the new ordered block sequence that does not have the same unique spatial identifier is determined to be a deleted block.

[0013] Preferably, in step S4, generating a data update instruction set and synchronizing it to the client by adding, deleting, and modifying blocks specifically includes: Step S43: Based on the newly added block, modified block, and deleted block, corresponding insertion instructions, replacement instructions, and removal instructions are generated respectively to form a data update instruction set. The data update instruction set includes insertion instructions, replacement instructions, and removal instructions, as well as the content hash value and position offset of the corresponding block. Step S44: The server obtains the data update instruction set, performs atomic updates on the existing ordered block sequence according to the index position, and updates the first hash index and the second hash index. Step S45: The data update instruction set is sent to the client. The client calls the data update instruction set through the BIM software to perform local loading, local replacement and local unloading on the three-dimensional geological model, and updates the existing ordered block sequence to obtain the updated ordered block sequence. Step S46: After the client completes the update, it calculates the root hash value of the updated ordered block sequence and sends it back to the server. The server compares the root hash values ​​of the server and the client: If they match, then the synchronization was successful. If there is a discrepancy, the server will trigger a data rollback command.

[0014] A data synchronization system for a geological exploration and mapping cloud platform includes an acquisition module, a sorting module, a processing module, and a synchronization module. The acquisition module is used to collect geological survey and mapping data, use BIM software to model a three-dimensional geological model, and divide the three-dimensional geological model into spatial blocks. The sorting module is used to calculate the content hash value for each spatial block and sort all spatial blocks to obtain an ordered block sequence, which includes a new ordered block sequence and an existing ordered block sequence. The processing module is used to compare the content hash values ​​of the new ordered block sequence with the existing ordered block sequence, calculate the sequence similarity and select spatial anchors, perform complementary index expansion based on the spatial anchors to obtain matching interval pairs, merge the matching interval pairs and identify the largest common block, divide the ordered block sequence into sub-intervals to be aligned through the largest common block, perform iterative expansion within the sub-intervals to be aligned, identify all common blocks and form a common set; The synchronization module is used to traverse the spatial blocks that do not belong to the common set in the ordered block sequence, divide the spatial blocks, obtain the division results, and generate a data update instruction set based on the division results to synchronize to the client.

[0015] The beneficial effects of this invention are as follows: By using an incremental synchronization mechanism based on spatial anchors and complementary index extensions, and by partitioning the 3D geological model and calculating content hashes, efficient alignment and difference identification of large-scale geological data are achieved. This method utilizes a two-layer hash index architecture, introducing three modes of complementary index extension during the synchronization process. This enables cross-regional retrieval in large, consistent areas and automatically shrinks the step size to lock changes at difference boundaries, improving the identification efficiency and computational energy efficiency of the largest common block. Through position offset merging and iterative expansion of the sub-intervals to be aligned, newly added, modified, and deleted blocks are accurately extracted, generating a data update instruction set which is sent to the client. Combined with a root hash closed-loop verification mechanism, this significantly reduces the synchronization bandwidth load on the cloud platform while solving the problem of topological logical consistency during local updates of complex geological models, ensuring highly reliable and low-latency synchronization of the 3D models between the server and client. Attached Figure Description

[0016] Figure 1 This is a schematic diagram of the basic process of a data synchronization method for a geological exploration and mapping cloud platform, provided as an embodiment of the present invention.

[0017] Figure 2 A flowchart illustrating the complementary index extension provided by this invention. Detailed Implementation

[0018] 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. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0019] Example 1, referring to Figure 1 As an embodiment of the present invention, a data synchronization method for a geological exploration and mapping cloud platform includes the following steps: Step S1: Collect geological survey and mapping data, use BIM software to model a three-dimensional geological model, and divide the three-dimensional geological model into spatial blocks; Step S2: Calculate the content hash value for each spatial block and sort all spatial blocks to obtain an ordered block sequence, which includes a new ordered block sequence and an existing ordered block sequence. Step S3: Compare the content hash values ​​of the new ordered block sequence with the existing ordered block sequence, calculate the sequence similarity and select a spatial anchor point, perform complementary index expansion based on the spatial anchor point to obtain matching interval pairs, merge the matching interval pairs and identify the largest common block, divide the ordered block sequence into sub-intervals to be aligned through the largest common block, perform iterative expansion within the sub-intervals to be aligned, identify all common blocks and form a common set; Step S4: Traverse the spatial blocks in the ordered block sequence that do not belong to the common set, divide the spatial blocks, obtain the division results, and generate a data update instruction set based on the division results to synchronize to the client.

[0020] This invention utilizes an incremental synchronization mechanism based on spatial anchors and complementary index extensions. By segmenting a 3D geological model and calculating content hashes, it achieves efficient alignment and difference identification of large-scale geological data. This method employs a two-layer hash index architecture, introducing three modes of complementary index extension during synchronization. This enables cross-regional retrieval across large, consistent areas and automatically shrinks the step size to lock changes at difference boundaries, improving the identification efficiency and computational energy efficiency of the largest common block. Through position offset merging and iterative expansion of the sub-intervals to be aligned, newly added, modified, and deleted blocks are accurately extracted, generating a data update instruction set which is sent to the client. Combined with a root hash closed-loop verification mechanism, this significantly reduces the synchronization bandwidth load on the cloud platform while solving the problem of topological logical consistency during local updates of complex geological models, ensuring highly reliable and low-latency synchronization of the 3D models between the server and client.

[0021] In a specific embodiment, step S1 specifically includes: Step S11: Collect geological survey and mapping data, including borehole data and remote sensing image data; Borehole data includes formation location, lithological information, and geotechnical parameters; Remote sensing image data includes topographic elevation and surface images; Step S12: Use BIM software to model the geological survey and mapping data to obtain a three-dimensional geological model; Step S13: Divide the three-dimensional geological model into spatial blocks according to predefined rules to obtain the unique spatial identifier of the spatial block and the corresponding geometric data, attribute data and topological data; The geometric data includes the vertex coordinates and triangular mesh of the spatial blocks; The attribute data includes lithological category and mechanical parameters; The topological data includes the adjacency relationships between spatial blocks and the location identifiers of their respective stratigraphic layers.

[0022] Specifically, stratigraphic location includes stratigraphic number, stratigraphic thickness, and stratigraphic depth; Lithological information includes rock type, mineral composition, porosity, and permeability; Geotechnical parameters include density, friction angle, elastic modulus, and shear strength; The predefined rule is to use the global coordinate system of the three-dimensional geological model as a reference, and divide it along the X, Y, and Z axes at fixed intervals to form a regular spatial block array.

[0023] Lithological categories include sedimentary rocks, metamorphic rocks, and igneous rocks; Mechanical parameters include compressive strength, tensile strength, and elastic modulus.

[0024] In a specific embodiment, step S2 specifically includes: Step S21: Calculate the content hash value of each spatial block based on the geometric data, attribute data, and topological data of the spatial blocks, and sort all spatial blocks based on the unique spatial identifier to obtain an ordered block sequence, which includes an existing ordered block sequence and a new ordered block sequence. Specifically, calculating the content hash value of each spatial block based on its geometric data, attribute data, and topological data includes: The geometric data, attribute data, and topological data of the spatial block are normalized and serialized. The vertex coordinates in the geometric data are arranged in a preset spatial order and uniformly quantized into 64-bit signed integers and then converted into byte streams. The key-value pairs in the attribute data are sorted in lexicographical order by key name and combined into strings in binary format and then encoded into byte streams. The adjacency relationship identifiers and the geological stratum identifiers in the topological data are combined in a predetermined format and encoded into byte streams. The three byte streams are concatenated in a fixed order of geometric data, attribute data, and topological data to form a unique normalized data byte sequence for the spatial block. Finally, this byte sequence is used as input to generate a fixed-length content hash value through a cryptographically secure hash function. This hash value can uniquely and sensitively represent the complete content state of the spatial block. Data changes will cause the hash value to change, thus providing a reliable data fingerprint for subsequent construction of multi-level indexes and implementation of incremental synchronization.

[0025] An existing ordered block sequence refers to the old version of data currently stored on the server or before the client updates, while a new ordered block sequence refers to the version to be synchronized based on the latest collected geological survey and mapping data.

[0026] The 3D model is segmented using predefined rules. Because these rules are fixed, even if the data is updated, segments with the same geographical location will still be mapped to the same unique spatial identifier. Therefore, the system accurately identifies new changes by comparing whether the content hash value under the same identifier has changed.

[0027] The sorting is added before the new ordered block sequence and the existing ordered block sequence in order to transform the three-dimensional blocks into a linear one-dimensional sequence, so as to make efficient matching possible using a two-level hash index architecture.

[0028] Step S22: Construct the first hash index and the second hash index using the existing ordered block sequence; Step S23: Based on the second hash index, compare the group-level hash values ​​of the new ordered block sequence with those of the existing ordered block sequence, and calculate the sequence similarity.

[0029] Specifically, calculating sequence similarity by comparing the group-level hash values ​​of the new ordered block sequence with those of the existing ordered block sequence includes: The difference between a new ordered block sequence and an existing ordered block sequence is obtained by calculating the Hamming distance between their group-level hash values. The Hamming distance represents the number of bits that differ between two group-level hash values, where the hash value length is equal to the number of bits in the hash value.

[0030] In a specific embodiment, step S22 specifically includes: Traverse the existing ordered block sequence, obtain the content hash value and position index of each spatial block in the sequence, and create a key-value hash table with the content hash value of the block as the key and a list of all position indices of the content hash value in the sequence as the value. Add the location index of each spatial block in the existing ordered block sequence to the location list corresponding to its content hash value to form the first hash index; Specifically, the first hash index can retrieve the locations of all blocks with the same content in constant time complexity by querying the hash value of any content. Divide every N consecutive spatial blocks in an existing ordered block sequence into a block group, where N is a positive integer; The last block group may contain fewer than N spatial blocks; For each block group, the content hash values ​​of all spatial blocks within the group are concatenated into a string in a fixed order. The hash value of the string is calculated, and the start and end positions of each block group and its corresponding group-level hash value are recorded to form a second hash index.

[0031] Specifically, the second hash index enables the system to quickly determine the similarity of two sequences within a large data block by comparing group-level hash values.

[0032] The first hash index is mainly used for precise matching and fast location, directly searching for single blocks whose content has not changed during incremental updates. The second hash index is mainly used for fast filtering and similarity assessment, quickly eliminating large areas of unchanged regions in step S23, significantly improving overall efficiency.

[0033] In a specific embodiment, step S3 specifically includes: Step S31: Based on the length of the new ordered block sequence and the sequence similarity, select a spatial anchor point, and use the first hash index to retrieve candidate position indices in the existing ordered block sequence that have the same hash value as the content of the spatial block where the spatial anchor point is located. For each candidate position index, the position of the spatial anchor point in the new ordered block sequence is combined with the candidate position index to form an alignment anchor point pair, and complementary index expansion is performed with the alignment anchor point pair as the center to obtain the starting matching position and the ending matching position. The spatial block sequence between the starting matching position and the ending matching position is used as the matching interval pair. Step S32: Calculate the position offset by subtracting the end position index of the previous spatial block from the start position index of the next spatial block in two adjacent spatial blocks. For matching interval pairs with zero position offset, select the smallest start position index and the largest end position index to merge them. Connect and merge matching interval pairs with positive position offsets that are within the overlap threshold. Select the longest continuous matching interval pair from the merged matching interval pairs as the largest common block and add the largest common block to the common set. Specifically, for any two adjacent spatial blocks A and B, first obtain the end position index of block A and the start position index of block B, and calculate the position offset as the difference between the start position of block B and the end position of block A. During the merging of spatial blocks, the position offset is used to determine whether the intervals overlap or are adjacent, and to decide whether to merge them. If the position offset of two blocks is zero, it means that the two blocks completely overlap in position; if the offset is positive and within the overlap threshold range, it means that the two blocks are adjacent.

[0034] The overlap threshold is set to 5% of the spatial block length to tolerate measurement errors and data dispersion, ensuring correct identification of adjacent blocks and optimizing the merging process.

[0035] By calculating the positional offset of adjacent blocks, it is determined whether the intervals are adjacent or overlapping, and matching pairs that meet the overlap threshold are merged, thereby solving the problem of logical interruption caused by data discreteness.

[0036] Using the largest common block as a stable backbone, the sequence is divided into sub-intervals to be aligned and iteratively expanded. This divide-and-conquer logic does not rely on direct intersections in physical space, but rather locks the difference boundaries through complementary index expansion of three modes. Even with complex multi-spatial connections or completely non-overlapping blocks, hash comparison failures can accurately determine whether they are new, modified, or deleted blocks, thereby generating insertion, replacement, or removal instruction sets to achieve precise synchronization.

[0037] Using the start and end positions of the largest common block in the new ordered block sequence and the existing ordered block sequence as boundaries, the new ordered block sequence and the existing ordered block sequence are divided into a pre-alignment interval and a post-alignment interval, and iterative identification is performed. The iterative identification process includes: Within the preceding and following alignment intervals, complementary index expansion and merging are performed using alignment anchor pairs that fall outside the range of the maximum common block position index. The identified matching interval pairs that meet the length threshold interval are added to the common set. The iteration terminates when all matching interval pairs that meet the length threshold interval are added to the common set. If there are no alignment anchor pairs within any interval to be aligned except those falling within the maximum common block location index range, then step S31 is re-executed for that interval.

[0038] Specifically, the length threshold interval is defined in each iteration where its maximum value is less than the length of the largest common block identified in the current iteration. The longest continuous common sequence is established as the stable backbone for this round of matching. Subsequently, within the intervals to be aligned on both sides of the backbone, only meaningful continuous matching intervals shorter than the backbone are searched and incorporated, and their lengths must simultaneously exceed the minimum value of the length threshold interval. In this way, the algorithm mines all common blocks layer by layer with decreasing granularity until no new matches conforming to the length threshold interval can be found, thus efficiently and conflict-free constructing a complete common set. Setting the minimum value of the length threshold interval is to filter out excessively short noisy matches.

[0039] Identifying the largest common block clearly defines the search interval for iteration, enabling efficient divide-and-conquer, and effectively filtering out accidental matching noise, thus ensuring the authority of the common set. Based on the accurate and complete common set, the client can update only a local part of the model and achieve end-to-end consistency verification through the root hash value. This comprehensively solves the core technical challenges of large data volume, high update latency, and high network overhead faced by large-scale 3D model synchronization in geological exploration and mapping cloud platforms.

[0040] By quickly and accurately locating all unchanged common regions from a massive sequence of ordered blocks, the amount of data to be synchronized is focused on the newly added, modified, and deleted blocks that have actually changed, greatly reducing the network transmission load. Using the longest continuous matching sequence of the largest common block as a stable anchor point and divide-and-conquer boundary, the global alignment problem is decomposed into multiple smaller-scale local alignment tasks, improving the algorithm's processing efficiency and convergence speed, and effectively avoiding matching drift or misjudgment in complex and different regions.

[0041] In a specific embodiment, selecting a spatial anchor point specifically includes: When the sequence length is greater than the first threshold and the similarity is lower than the second threshold, spatial anchor points are selected at fixed intervals from the start position to the end position of the new ordered block sequence. When the sequence length is less than or equal to the first threshold or the similarity is higher than the second threshold, the spatial anchor point of the center position of the new ordered block sequence is selected.

[0042] Specifically, the first threshold is used to distinguish the critical value of sequence length. For example, when the sequence length exceeds 1000 blocks, it is considered a long sequence, and more anchors are needed to ensure coverage; when the sequence length does not exceed 1000 blocks, it is considered a short sequence, and a center anchor can be used.

[0043] The second threshold is used as a critical value to distinguish sequence similarity. For example, when the similarity shown by the group-level hash value comparison is less than 70%, it is considered low similarity. At this time, the change area is scattered and requires evenly distributed anchor points; when the similarity is not less than 70%, it is considered high similarity. At this time, the change may be concentrated in a local area, and a central anchor point can be used for efficient location.

[0044] If the sequence is long and has large differences, a uniform distribution strategy is adopted, in which multiple anchor points are selected at equal intervals in the sequence to ensure that the search can cover all possible regions of the sequence that may change.

[0045] If the sequence is short or the differences are small, a central distribution strategy is adopted, selecting only a few anchor points in the central region of the sequence, because in this case, the unchanged common blocks are very likely to be concentrated in the middle of the sequence.

[0046] The fixed interval is set to evenly distribute the spatial anchors between the start and end positions of the new ordered block sequence when selecting spatial anchors.

[0047] The goal is to find the largest continuous position interval with the fewest initial search points and the highest probability, thereby avoiding invalid searches and improving overall efficiency.

[0048] In a specific embodiment, complementary index extension includes: Based on the alignment anchor pair, expansion matching is performed in the new ordered block sequence and the existing ordered block sequence from different expansion directions until a spatial block with a mismatched hash value is encountered in a certain expansion direction, and the start matching position and the end matching position are recorded. Extended matching includes the first pattern, the second pattern, and the third pattern; The first mode involves expanding the new ordered block sequence and the existing ordered block sequence block by block in both forward and reverse directions with the same offset. It then queries the first hash index to determine if the hash value of each candidate block on the expansion path has a corresponding record in the other sequence. If a corresponding record exists, the candidate block is considered to have matched successfully, and the expansion continues. If no corresponding record exists, the candidate block is determined to be unmatched, the expansion terminates in the corresponding expansion direction, and the termination position is recorded. The second mode is to expand by skipping intermediate blocks with a fixed step size. In the skipped block group, the second hash index is queried, and the group-level hash value of the skipped block group in the new ordered block sequence and the existing ordered block sequence is compared. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are the same, then all spatial blocks in the skipped block group are considered to be a match, the verification is successful, and the skipping is allowed to continue. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are different, it is determined that there is at least one mismatched space block in the skipped block group, the verification fails, the skipping stops, and the third mode is switched to expand. The third mode includes expanding forward with the current step size, querying the second hash index, and comparing the group-level hash value of the block group to be skipped in the new ordered block sequence and the existing ordered block sequence. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are the same, and the number of consecutively matched spatial blocks exceeds the first consecutive threshold, then the block group to be skipped is determined to be a good consecutive match, and the expansion step size of the next step is increased. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are different, it is determined that a difference boundary has been encountered, the step size is reduced, and the failure point is recorded. When K failure points are recorded, the system switches to the first mode, where K is an integer greater than 2. During the complementary index expansion process, the first mode is used first for expansion matching. If the number of consecutively matched blocks exceeds the second consecutive threshold, the second mode is switched to expand matching.

[0049] Specifically, refer to Figure 2 This invention enables the system to dynamically select the most suitable matching strategy based on different data update scenarios, such as partial updates, regional updates, and large-scale changes, through complementary index extension.

[0050] The first consecutive threshold is set to 5. This threshold indicates that during the expansion process, a certain number of consecutive spatial blocks must be matched before the current match is considered valid. Setting the first consecutive threshold to a lower value can prevent premature termination of the expansion process, allowing the system to capture more consecutive matching blocks, thereby improving the accuracy and fault tolerance of data synchronization. This effectively addresses the expansion failure problem caused by incomplete data matching and increases the probability of successful matching.

[0051] The second consecutive threshold is set to around 10, depending on the number of data blocks and the required matching accuracy. This value indicates that when the number of consecutively matched spatial blocks exceeds this value, the system can consider the match relatively successful and accelerate the subsequent matching expansion process. This reduces the time cost of multiple matching checks. In the case of consecutive successful matches, the system can quickly advance the matching process, reduce the time overhead of invalid matching checks, and thus accelerate the synchronization process.

[0052] By employing a precise first-mode block-by-block matching approach, high accuracy is ensured during local data synchronization. This is particularly crucial in geological exploration, where data updates are often localized and precise, requiring efficient accuracy assurance. The second and third modes, through skip-matching and step-size adjustment, significantly improve the synchronization efficiency of large-scale data. This is especially beneficial in scenarios with massive data volumes and frequent updates, avoiding the line-by-line comparisons required by traditional methods and reducing the computational burden.

[0053] By adaptively adjusting the step size and matching strategy, the system efficiently handles complex situations in geological exploration and mapping data, such as local updates in certain areas or large-scale data changes, avoiding synchronization failures caused by data mismatch or excessive errors in traditional methods. The invention's design gives the system strong fault tolerance; when there are significant differences between data, it can gradually find a suitable matching scheme through failure recording and step size adjustment, adapting to the needs of different geological exploration scenarios.

[0054] In a specific embodiment, step S4, based on the common set, traversing the new ordered block sequence and the existing ordered block sequence to divide the spatial blocks specifically includes: Step S41: Traverse the spatial block location indices in the new ordered block sequence that do not belong to the common set: For each spatial block whose unique spatial identifier is not in the public set, search for spatial blocks with the same unique spatial identifier in the non-public block location intervals of the existing ordered block sequence: If no spatial block with the same unique spatial identifier is found, then the spatial block with the same unique spatial identifier that is not found in the existing ordered block sequence is determined to be a new block. If a spatial block with the same unique spatial identifier is found but has a different content hash value, then the spatial block with the same unique spatial identifier but a different content hash value in the existing ordered block sequence is determined to be a modified block. Step S42: Traverse the spatial block location indices in the existing ordered block sequence that do not belong to the common set: For each spatial block whose unique spatial identifier is not in the public set, search for spatial blocks with the same unique spatial identifier in the non-public block location interval of the new ordered block sequence: If no spatial block with the same unique spatial identifier is found, then the spatial block in the new ordered block sequence that does not have the same unique spatial identifier is determined to be a deleted block.

[0055] Specifically, by traversing the non-public block position indices in the new and existing ordered block sequences, and comparing data based on unique spatial identifiers combined with content hash values, the system can accurately identify newly added, modified, and deleted blocks. New blocks are identified by confirming that their unique spatial identifier does not appear in the existing ordered block sequence; modified blocks are identified by hash value mismatches; and deleted blocks are identified by searching for blocks not appearing in the new ordered block sequence. This method ensures incremental synchronization, synchronizing only the changed parts, improving synchronization efficiency, and avoiding unnecessary full data transmission. Through this precise judgment, the system can efficiently update data, ensuring data consistency and integrity during synchronization, effectively avoiding missynchronization, data loss, or duplication, thereby improving the reliability of data transmission and synchronization.

[0056] In a specific embodiment, step S4, which generates a data update instruction set and synchronizes it to the client by adding, deleting, and modifying blocks, specifically includes: Step S43: Based on the addition, modification, and deletion of blocks, corresponding insertion, replacement, and removal instructions are generated to form a data update instruction set. The data update instruction set includes the insertion, replacement, and removal instructions and the content hash value and position offset of the corresponding block. Step S44: The server obtains the data update instruction set, performs atomic updates on the existing ordered block sequence according to the index position, and updates the first hash index and the second hash index. Step S45: The data update instruction set is sent to the client. The client calls the data update instruction set through the BIM software to perform local loading, local replacement and local unloading on the three-dimensional geological model, and updates the existing ordered block sequence to obtain the updated ordered block sequence. Specifically, both adding and modifying blocks are determined based on the new ordered block sequence, representing the latest state information that needs to be synchronized to the client; while deleting blocks are determined by traversing the existing ordered block sequence and comparing it with the missing items in the new sequence, representing redundant information that the client needs to unload.

[0057] An insertion instruction is generated for each new spatial block. The insertion instruction includes the unique identifier of the new spatial block, its content hash value, and the spatial offset of the block. The client loads the new block data into the local 3D geological model according to the insertion instruction.

[0058] A removal instruction is generated for the deleted space block. The removal instruction includes the unique identifier of the deleted block and the position of the block in the data. The client unloads the deleted block data according to the removal instruction to ensure that the local data is consistent with the server.

[0059] Replacement instructions are generated for the modified spatial blocks. The replacement instructions include the unique identifier of the modified spatial block, the updated content hash value, and the spatial location offset of the block. The client replaces the content of the existing local blocks according to the replacement instructions and updates the relevant data of the geological model.

[0060] Step S46: After the client completes the update, it calculates the root hash value of the updated ordered block sequence and sends it back to the server. The server compares the root hash values ​​of the server and the client: If they match, then the synchronization was successful. If there is a discrepancy, the server will trigger a data rollback command.

[0061] Specifically, calculating the root hash value of the updated ordered block sequence includes: Obtain the content hash values ​​of the updated ordered block sequence, and use the content hash value of each block in the updated ordered block sequence as a leaf node of the Merkle tree. Pair the leaf nodes together (if there are an odd number of leaf nodes, copy the last hash value and pair it with itself). Concatenate the hash values ​​of each pair of child nodes to form a new string, and then calculate a cryptographic hash on this new concatenation string to obtain the hash value of its parent node. Recursively repeat this process, hashing the nodes at each level pairwise and aggregating upwards until a single hash value is obtained, which is then used as the root hash value. The introduction of the root hash value ensures that the client and server are completely consistent after data updates. Any change to any data block will cause the root hash value to change, and the root hash value accurately reflects the integrity of data synchronization.

[0062] Data rollback commands include: When the root hash value calculated by the client differs from that calculated by the server, the server determines that there is a data synchronization problem. At this point, the server triggers a data rollback command, requiring the client to restore to a previously consistent state. This involves undoing partial loading, replacement, and unloading operations on the 3D geological model, restoring the existing ordered block sequence and its corresponding hash index to the baseline state of the last successful synchronization, and resending a synchronization request to the server. The server then re-retrieves the first and second hash indices, regenerates the data update command set, and sends it to the client until the root hash value returned by the client matches that of the server. Upon receiving the rollback command, the client undoes the data modifications and restores to the synchronization state before the error occurred. The client then retrieves the correct data from the server and recalculates and synchronizes until the root hash values ​​match.

[0063] Example 2, another embodiment of the present invention, is a data synchronization system for a geological exploration and mapping cloud platform, comprising an acquisition module, a sorting module, a processing module, and a synchronization module: The acquisition module is used to collect geological survey and mapping data, use BIM software to model a three-dimensional geological model, and divide the three-dimensional geological model into spatial blocks. The sorting module is used to calculate the content hash value for each spatial block and sort all spatial blocks to obtain an ordered block sequence, which includes a new ordered block sequence and an existing ordered block sequence. The processing module is used to compare the content hash values ​​of the new ordered block sequence with the existing ordered block sequence, calculate the sequence similarity and select spatial anchors, perform complementary index expansion based on the spatial anchors to obtain matching interval pairs, merge the matching interval pairs and identify the largest common block, divide the ordered block sequence into sub-intervals to be aligned through the largest common block, perform iterative expansion within the sub-intervals to be aligned, identify all common blocks and form a common set; The synchronization module is used to traverse the spatial blocks that do not belong to the common set in the ordered block sequence, divide the spatial blocks, obtain the division results, and generate a data update instruction set based on the division results to synchronize to the client.

[0064] This invention utilizes an incremental synchronization mechanism based on spatial anchors and complementary index extensions. By segmenting a 3D geological model and calculating content hashes, it achieves efficient alignment and difference identification of large-scale geological data. This method employs a two-layer hash index architecture, introducing three modes of complementary index extension during synchronization. This enables cross-regional retrieval across large, consistent areas and automatically shrinks the step size to lock changes at difference boundaries, improving the identification efficiency and computational energy efficiency of the largest common block. Through position offset merging and iterative expansion of the sub-intervals to be aligned, newly added, modified, and deleted blocks are accurately extracted, generating a data update instruction set which is sent to the client. Combined with a root hash closed-loop verification mechanism, this significantly reduces the synchronization bandwidth load on the cloud platform while solving the problem of topological logical consistency during local updates of complex geological models, ensuring highly reliable and low-latency synchronization of the 3D models between the server and client.

[0065] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code. 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. These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0066] 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 protection scope of the present invention.

Claims

1. A method for data synchronization on a geological exploration and mapping cloud platform, characterized in that, Includes the following steps: Step S1: Collect geological survey and mapping data, use BIM software to model a three-dimensional geological model, and divide the three-dimensional geological model into spatial blocks; Step S2: Calculate the content hash value for each spatial block and sort all spatial blocks to obtain an ordered block sequence, which includes a new ordered block sequence and an existing ordered block sequence. Step S3: Compare the content hash values ​​of the new ordered block sequence with the existing ordered block sequence, calculate the sequence similarity and select a spatial anchor point, perform complementary index expansion based on the spatial anchor point to obtain matching interval pairs, merge the matching interval pairs and identify the largest common block, divide the ordered block sequence into sub-intervals to be aligned through the largest common block, perform iterative expansion within the sub-intervals to be aligned, identify all common blocks and form a common set; Step S4: Traverse the spatial blocks in the ordered block sequence that do not belong to the common set, divide the spatial blocks, obtain the division results, and generate a data update instruction set based on the division results to synchronize to the client.

2. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 1, characterized in that, Step S1 specifically includes: Step S11: Collect geological survey and mapping data, including borehole data and remote sensing image data; Borehole data includes formation location, lithological information, and geotechnical parameters; Remote sensing image data includes topographic elevation and surface images; Step S12: Use BIM software to model the geological survey and mapping data to obtain a three-dimensional geological model; Step S13: Divide the three-dimensional geological model into spatial blocks according to predefined rules to obtain the unique spatial identifier of the spatial block and the corresponding geometric data, attribute data and topological data; The geometric data includes the vertex coordinates and triangular mesh of the spatial blocks; The attribute data includes lithological category and mechanical parameters; The topological data includes the adjacency relationships between spatial blocks and the location identifiers of their respective stratigraphic layers.

3. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 2, characterized in that, Step S2 specifically includes: Step S21: Calculate the content hash value of each spatial block based on the geometric data, attribute data, and topological data of the spatial blocks, and sort all spatial blocks based on the unique spatial identifier to obtain an ordered block sequence, which includes an existing ordered block sequence and a new ordered block sequence. Step S22: Construct the first hash index and the second hash index using the existing ordered block sequence; Step S23: Based on the second hash index, compare the group-level hash values ​​of the new ordered block sequence with those of the existing ordered block sequence, and calculate the sequence similarity.

4. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 3, characterized in that, Step S22 specifically includes: Traverse the existing ordered block sequence, obtain the content hash value and position index of each spatial block in the sequence, and create a key-value hash table with the content hash value of the block as the key and a list of all position indices of the content hash value in the sequence as the value. Add the location index of each spatial block in the existing ordered block sequence to the location list corresponding to its content hash value to form the first hash index; Divide every N consecutive spatial blocks in an existing ordered block sequence into a block group, where N is a positive integer; For each block group, the content hash values ​​of all spatial blocks within the group are concatenated into a string in a fixed order. The hash value of the string is calculated, and the start and end positions of each block group and its corresponding group-level hash value are recorded to form a second hash index.

5. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 4, characterized in that, Step S3 specifically includes: Step S31: Based on the length of the new ordered block sequence and the sequence similarity, select a spatial anchor point, and use the first hash index to retrieve candidate position indices in the existing ordered block sequence that have the same hash value as the content of the spatial block where the spatial anchor point is located. For each candidate position index, the position of the spatial anchor point in the new ordered block sequence is combined with the candidate position index to form an alignment anchor point pair, and complementary index expansion is performed with the alignment anchor point pair as the center to obtain the starting matching position and the ending matching position. The spatial block sequence between the starting matching position and the ending matching position is used as the matching interval pair. Step S32: For two adjacent spatial blocks, calculate the position offset by the difference between the end position index of the previous spatial block and the start position index of the next spatial block. For matching interval pairs with zero position offset, select the smallest start position index and the largest end position index to merge them. For matching interval pairs with positive position offset and within the overlap threshold range, connect and merge them. Select the longest continuous matching interval pair from the merged matching interval pairs as the largest common block and add the largest common block to the common set. Using the start and end positions of the largest common block in the new ordered block sequence and the existing ordered block sequence as boundaries, the new ordered block sequence and the existing ordered block sequence are divided into a pre-alignment interval and a post-alignment interval, and iterative identification is performed. The iterative identification process includes: Within the preceding and following alignment intervals, complementary index expansion and merging are performed using alignment anchor pairs that fall outside the range of the maximum common block position index. The identified matching interval pairs that meet the length threshold interval are added to the common set. The iteration terminates when all matching interval pairs that meet the length threshold interval are added to the common set. If there are no alignment anchor pairs within any interval to be aligned except those falling within the maximum common block location index range, then step S31 is re-executed for that interval.

6. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 5, characterized in that, Selecting a spatial anchor point specifically includes: When the sequence length is greater than the first threshold and the similarity is lower than the second threshold, spatial anchor points are selected at fixed intervals from the start position to the end position of the new ordered block sequence. When the sequence length is less than or equal to the first threshold or the similarity is higher than the second threshold, the spatial anchor point of the center position of the new ordered block sequence is selected.

7. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 6, characterized in that, Complementary index extensions specifically include: Based on the alignment anchor pair, expansion matching is performed in the new ordered block sequence and the existing ordered block sequence from different expansion directions until a spatial block with a mismatched hash value is encountered in a certain expansion direction, and the start matching position and the end matching position are recorded. Extended matching includes the first pattern, the second pattern, and the third pattern; The first mode involves expanding the new ordered block sequence and the existing ordered block sequence block by block in both forward and reverse directions with the same offset. It then queries the first hash index to determine if the hash value of each candidate block on the expansion path has a corresponding record in the other sequence. If a corresponding record exists, the candidate block is considered to have matched successfully, and the expansion continues. If no corresponding record exists, the candidate block is determined to be unmatched, the expansion terminates in the corresponding expansion direction, and the termination position is recorded. The second mode is to expand by skipping intermediate blocks with a fixed step size. In the skipped block group, the second hash index is queried, and the group-level hash value of the skipped block group in the new ordered block sequence and the existing ordered block sequence is compared. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are the same, then all spatial blocks in the skipped block group are considered to be a match, the verification is successful, and the skipping is allowed to continue. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are different, it is determined that there is at least one mismatched space block in the skipped block group, the verification fails, the skipping stops, and the third mode is switched to expand. The third mode includes expanding forward with the current step size, querying the second hash index, and comparing the group-level hash value of the block group to be skipped in the new ordered block sequence and the existing ordered block sequence. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are the same, and the number of consecutively matched spatial blocks exceeds the first consecutive threshold, then the block group to be skipped is determined to be a good consecutive match, and the expansion step size of the next step is increased. If the group-level hash values ​​in the new ordered block sequence and the existing ordered block sequence are different, it is determined that a difference boundary has been encountered, the step size is reduced, and the failure point is recorded. When K failure points are recorded, the system switches to the first mode, where K is an integer greater than 2. During the complementary index expansion process, the first mode is used first for expansion matching. If the number of consecutively matched blocks exceeds the second consecutive threshold, the second mode is switched to expand matching.

8. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 7, characterized in that, In step S4, based on the common set, traversing the new ordered block sequence and the existing ordered block sequence to divide the spatial blocks specifically includes: Step S41: Traverse the spatial block location indices in the new ordered block sequence that do not belong to the common set: For each spatial block whose unique spatial identifier is not in the public set, search for spatial blocks with the same unique spatial identifier in the non-public block location intervals of the existing ordered block sequence: If no spatial block with the same unique spatial identifier is found, then the spatial block with the same unique spatial identifier that is not found in the existing ordered block sequence is determined to be a new block. If a spatial block with the same unique spatial identifier is found but has a different content hash value, then the spatial block with the same unique spatial identifier but a different content hash value in the existing ordered block sequence is determined to be a modified block. Step S42: Traverse the spatial block location indices in the existing ordered block sequence that do not belong to the common set: For each spatial block whose unique spatial identifier is not in the public set, search for spatial blocks with the same unique spatial identifier in the non-public block location interval of the new ordered block sequence: If no spatial block with the same unique spatial identifier is found, then the spatial block in the new ordered block sequence that does not have the same unique spatial identifier is determined to be a deleted block.

9. The data synchronization method for a geological exploration and mapping cloud platform as described in claim 8, characterized in that, In step S4, by adding, deleting, and modifying blocks, a data update instruction set is generated and synchronized to the client. Specifically, this includes: Step S43: Based on the newly added block, modified block, and deleted block, corresponding insertion instructions, replacement instructions, and removal instructions are generated respectively to form a data update instruction set. The data update instruction set includes insertion instructions, replacement instructions, and removal instructions, as well as the content hash value and position offset of the corresponding block. Step S44: The server obtains the data update instruction set, performs atomic updates on the existing ordered block sequence according to the index position, and updates the first hash index and the second hash index. Step S45: The data update instruction set is sent to the client. The client calls the data update instruction set through the BIM software to perform local loading, local replacement and local unloading on the three-dimensional geological model, and updates the existing ordered block sequence to obtain the updated ordered block sequence. Step S46: After the client completes the update, it calculates the root hash value of the updated ordered block sequence and sends it back to the server. The server compares the root hash values ​​of the server and the client: If they match, then the synchronization was successful. If there is a discrepancy, the server will trigger a data rollback command.

10. A data synchronization system for a geological exploration and mapping cloud platform, characterized in that, It includes a data acquisition module, a sorting module, a processing module, and a synchronization module: The acquisition module is used to collect geological survey and mapping data, use BIM software to model a three-dimensional geological model, and divide the three-dimensional geological model into spatial blocks. The sorting module is used to calculate the content hash value for each spatial block and sort all spatial blocks to obtain an ordered block sequence, which includes a new ordered block sequence and an existing ordered block sequence. The processing module is used to compare the content hash values ​​of the new ordered block sequence with the existing ordered block sequence, calculate the sequence similarity and select spatial anchors, perform complementary index expansion based on the spatial anchors to obtain matching interval pairs, merge the matching interval pairs and identify the largest common block, divide the ordered block sequence into sub-intervals to be aligned through the largest common block, perform iterative expansion within the sub-intervals to be aligned, identify all common blocks and form a common set; The synchronization module is used to traverse the spatial blocks that do not belong to the common set in the ordered block sequence, divide the spatial blocks, obtain the division results, and generate a data update instruction set based on the division results to synchronize to the client.