Non-full field data synchronization method based on hilbert curve and related device thereof

By using Hilbert curve-based hash operations and spatial mapping technology, the problems of computational resource consumption and time consumption during non-full-field data synchronization are solved, achieving efficient data synchronization.

CN115840781BActive Publication Date: 2026-04-07CHINA PING AN PROPERTY INSURANCE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-06
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing technologies consume significant computational resources and take a long time to synchronize non-full-field data, making it difficult to complete data synchronization efficiently.

Method used

The method based on Hilbert curves is adopted. The hash value of the primary key information is obtained through hash hashing, and it is mapped to the two-dimensional Hilbert curve space of the preset full data. The location information of the non-full field data is calculated by using the Hilbert space curve algorithm model to achieve fast query and location.

Benefits of technology

It reduces the time required for non-full-field data synchronization, decreases computational resource consumption, and improves data synchronization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115840781B_ABST
    Figure CN115840781B_ABST
Patent Text Reader

Abstract

The application discloses a non-full-field data synchronization method based on a Hilbert curve and related equipment thereof, and belongs to the technical field of big data. The application obtains the primary key information of non-full-field data, performs a hash operation on the primary key information to obtain a hash value corresponding to the primary key information, maps the hash value to a two-dimensional space where a Hilbert curve of full-amount data is located, obtains coordinate data of the hash value on the Hilbert curve, inputs the coordinate data into a preset Hilbert space curve algorithm model to obtain position information of the non-full-field data, obtains a synchronization mode corresponding to the non-full-field data, and synchronizes the non-full-field data based on the synchronization mode and the position information. In addition, the application also relates to the technical field of blockchains, and the non-full-field data can be stored on nodes of a blockchain network. The application can realize fast query and positioning of non-full-field data, quickly complete synchronization of non-full-field data, and improve the efficiency of data synchronization.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of big data, and particularly relates to a non-full-field data synchronization method based on a Hilbert curve and related equipment thereof. BACKGROUND

[0002] A data lake is an enterprise-level data infrastructure in the field of big data, and its core idea is to be data-oriented to realize data collection and storage of any source, any size and any type. Mass data collection is the premise and basis for all big data task analysis and processing. The data lake has various ways and means for mass data collection. A difficult data collection scenario in the industry is a non-full-field update scenario, which has the following form:

[0003] The data lake extracts full data from the source database to complete the initialization of the data. For subsequent data insertion, update, deletion and other change actions, the cost and resource consumption of data collection are considered, including network bandwidth consumption and server performance pressure on the data source. The database administrator (DBA) of the data source usually only allows the data lake to collect changed data range. The performance form is non-full-field, that is, the primary key information of a unique identifier is used to mark a changed field.

[0004] However, it is extremely difficult and costly for the data lake to complete data synchronization according to non-full-field information. Because the obtained information is incomplete, it is usually necessary to supplement the data on the basis of the synchronized data. However, it is difficult to locate the physical storage location of the basic data of the non-full-field data, because the primary key information of the unique identifier marking a changed field is not always a regular incremental field. Most scenarios are random and unique information, such as a universally unique identifier (UUID). Therefore, it is difficult to perform meaningful segmentation processing on the data according to the primary key information.

[0005] The industry uses a compromise solution to synchronize incomplete field data. This involves partitioning a specific business field and bucketing the primary key to limit the physical storage location of the underlying data for these incomplete fields, thus narrowing their potential scope. For example, if the data source updates the partition field, the corresponding incomplete field information includes both the primary key and partition information. In this case, the data lake can limit the search scope of the underlying data to the specified partition and bucket. However, if the data source updates a partition field that has not been updated, the data lake needs to search the entire table based on the primary key information, which can increase resource consumption and task time by hundreds or thousands of times. Therefore, designing an effective solution for synchronizing incomplete field data is imperative. Summary of the Invention

[0006] The purpose of this application is to propose a non-full-field data synchronization method, apparatus, computer equipment, and storage medium based on Hilbert curves, so as to solve the technical problems of high computational resource consumption and long time consumption in existing non-full-field data synchronization schemes.

[0007] To address the aforementioned technical problems, this application provides a non-full-field data synchronization method based on Hilbert curves, employing the following technical solution:

[0008] A non-full-field data synchronization method based on Hilbert curves includes:

[0009] Retrieve the primary key information of the non-full-field data to be synchronized;

[0010] Perform a hash operation on the primary key information to obtain the hash value corresponding to the primary key information;

[0011] Map the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data is located;

[0012] Obtain the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve;

[0013] The coordinate data is input into a preset Hilbert space curve algorithm model to obtain the position information of the non-full field data;

[0014] Obtain the synchronization method corresponding to the non-full field data, and synchronize the non-full field data based on the synchronization method and the location information.

[0015] Furthermore, before obtaining the primary key information of the non-full-field data to be synchronized, the process also includes:

[0016] Obtain the full dataset and sort it according to a standard Hilbert curve;

[0017] In a preset one-dimensional space, a mapping relationship between the full data and the Hilbert curve is constructed to obtain the Hilbert curve of the full data in the one-dimensional space.

[0018] The Hilbert curves of the full data in one-dimensional space are decomposed according to the preset decomposition rules;

[0019] The Hilbert curves of the decomposed full data are reconstructed in two-dimensional space.

[0020] Furthermore, after constructing the mapping relationship between the full data and the Hilbert curve in a preset one-dimensional space to obtain the Hilbert curve of the full data in the one-dimensional space, the method further includes:

[0021] Obtain the data file to be synchronized, and determine the non-full-field data to be synchronized based on the data file to be synchronized;

[0022] Obtain the one-dimensional sequence values ​​generated when constructing the mapping relationship between the full data and the Hilbert curve in the one-dimensional space;

[0023] Obtain the unique identifier corresponding to the non-full-field data, and concatenate the one-dimensional sequence value and the unique identifier to generate the primary key information of the non-full-field data.

[0024] Furthermore, mapping the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data lies specifically includes:

[0025] The hash values ​​corresponding to the primary key information are divided according to a preset partitioning rule to obtain a first hash value set and a second hash value set, wherein the partitioning rule corresponds to the decomposition rule.

[0026] Map the first set of hash values ​​to the X-plane of the two-dimensional space containing the Hilbert curve of the full data; and

[0027] The second set of hash values ​​is mapped to the Y-plane of the two-dimensional space containing the Hilbert curve of the full data.

[0028] Furthermore, the coordinate data is input into a preset Hilbert space curve algorithm model to obtain the location information of the non-full-field data, specifically including:

[0029] Obtain the order information of the Hilbert curve corresponding to the full dataset;

[0030] The order information and the position information are input into the Hilbert space curve algorithm model;

[0031] The location information of the non-full-field data is calculated based on the recursive algorithm in the Hilbert space curve algorithm model.

[0032] Furthermore, the calculation of the position information of the non-full-field data based on the recursive algorithm in the Hilbert space curve algorithm model specifically includes:

[0033] Based on the calculation of intermediate state values ​​according to the order of the Hilbert curve;

[0034] Based on the intermediate state value, the recursive algorithm is used to calculate the position information of the non-full field data.

[0035] Furthermore, the step of calculating the position information of the non-full-field data using the recursive algorithm based on the intermediate state value specifically includes:

[0036] Determine the relationship between the X coordinate and the intermediate state value in the location information, and determine the relationship between the Y coordinate and the intermediate state value in the location information;

[0037] If the X coordinate is less than or equal to the intermediate state value, and the Y coordinate is also less than or equal to the intermediate state value, then the order of the Hilbert curve is reduced by 1, the values ​​of the X and Y coordinates are swapped, and the recursive calculation is performed, and the calculated position information is returned.

[0038] If the X coordinate is greater than the intermediate state value and the Y coordinate is less than or equal to the intermediate state value, then the order of the Hilbert curve is reduced by 1, the intermediate state value is reduced by the Y coordinate and then added by 1 as the recursive X value, and the intermediate state value is multiplied by 2, the X coordinate is reduced and then added by 1 as the recursive Y value. The calculated recursive value is added by 3 and multiplied by the square of the intermediate state value, and the calculated position information is returned.

[0039] If the X coordinate is less than or equal to the intermediate state value and the Y coordinate is greater than the intermediate state value, then the order N of the Hilbert curve is reduced by 1, and the X coordinate is used as the recursive X value. The Y coordinate value minus the intermediate state value is used as the recursive Y value for recursive calculation. The calculated recursive value is added to the square of the intermediate state value, and the calculated position information value is returned.

[0040] If the X coordinate is greater than the intermediate state value and the Y coordinate is greater than the intermediate state value, then the order N of the Hilbert curve is reduced by 1, the X coordinate value is reduced by the intermediate state value to obtain the recursive X value, and the Y coordinate value is reduced by the intermediate state value to obtain the recursive Y value. The calculated recursive value is then added to the square of the intermediate state value by 2, and the calculated position information value is returned.

[0041] To address the aforementioned technical problems, this application also provides a non-full-field data synchronization device based on a Hilbert curve, employing the following technical solution:

[0042] A non-full-field data synchronization device based on Hilbert curves includes:

[0043] The primary key information acquisition module is used to obtain the primary key information of the non-full-field data to be synchronized;

[0044] The hash operation module is used to perform hash operation on the primary key information to obtain the hash value corresponding to the primary key information;

[0045] The hash value mapping module is used to map the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data is located.

[0046] The coordinate data acquisition module is used to acquire the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve;

[0047] The Hilbert operation module is used to input the coordinate data into a preset Hilbert space curve algorithm model to obtain the position information of the non-full field data;

[0048] The data information synchronization module is used to obtain the synchronization method corresponding to the non-full field data, and to synchronize the non-full field data based on the synchronization method and the location information.

[0049] To address the aforementioned technical problems, this application also provides a computer device that employs the following technical solution:

[0050] A computer device includes a memory and a processor, the memory storing computer-readable instructions, the processor executing the computer-readable instructions to implement the steps of the non-full-field data synchronization method based on Hilbert curves as described in any of the preceding claims.

[0051] To address the aforementioned technical problems, this application also provides a computer-readable storage medium, employing the technical solution described below:

[0052] A computer-readable storage medium storing computer-readable instructions, which, when executed by a processor, implement the steps of the non-full-field data synchronization method based on the Hilbert curve as described above.

[0053] Compared with the prior art, the embodiments of this application have the following main advantages:

[0054] This application discloses a method and related equipment for synchronizing non-full-field data based on Hilbert curves, belonging to the field of big data technology. This application involves: obtaining the primary key information of the non-full-field data to be synchronized; performing a hash operation on the primary key information to obtain the hash value corresponding to the primary key information; mapping the hash value corresponding to the primary key information to a two-dimensional space containing a preset Hilbert curve of the full data; obtaining the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve; inputting the coordinate data into a preset Hilbert space curve algorithm model to obtain the location information of the non-full-field data; obtaining the synchronization method corresponding to the non-full-field data; and synchronizing the non-full-field data based on the synchronization method and location information. Furthermore, this application also relates to the field of blockchain technology, where the non-full-field data can be stored on nodes of a blockchain network. This application utilizes Hilbert curves to quickly define the range of the full data and calculates the hash value corresponding to the primary key information of the non-full field data through hash operations. By mapping the hash value to the Hilbert curve of the full data, it enables fast querying and locating of the non-full field data, thereby completing the synchronization of the non-full field data. This significantly reduces the task time of non-full field synchronization, while also reducing the consumption of computing resources during data synchronization and improving the efficiency of data synchronization. Attached Figure Description

[0055] To more clearly illustrate the solutions in this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0056] Figure 1 An exemplary system architecture diagram is shown, in which this application can be applied;

[0057] Figure 2 A flowchart is shown as an embodiment of the non-full-field data synchronization method based on Hilbert curves according to this application;

[0058] Figure 3 A schematic diagram of the structure of an embodiment of a non-full-field data synchronization device based on a Hilbert curve according to this application is shown;

[0059] Figure 4 A schematic diagram of the structure of one embodiment of a computer device according to this application is shown. Detailed Implementation

[0060] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein in the specification of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "comprising" and "having," and any variations thereof, in the specification, claims, and foregoing drawings of this application, are intended to cover non-exclusive inclusion. The terms "first," "second," etc., in the specification, claims, or foregoing drawings of this application are used to distinguish different objects, not to describe a particular order.

[0061] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0062] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0063] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. Network 104 serves as the medium for providing communication links between terminal devices 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.

[0064] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social media platform software, etc.

[0065] Terminal devices 101, 102, and 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 players (Moving Picture Experts Group Audio Layer IV), laptops, and desktop computers, etc.

[0066] Server 105 can be a server that provides various services, such as a backend server that supports the pages displayed on terminal devices 101, 102, and 103. The server can be a standalone server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.

[0067] It should be noted that the non-full-field data synchronization method based on Hilbert curves provided in this application embodiment is generally executed by the server, and correspondingly, the non-full-field data synchronization device based on Hilbert curves is generally set in the server.

[0068] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0069] Continue to refer to Figure 2 The diagram illustrates a flowchart of an embodiment of the non-full-field data synchronization method based on the Hilbert curve according to this application. Embodiments of this application can acquire and process relevant data based on artificial intelligence technology. Artificial intelligence (AI) is the theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results.

[0070] Foundational artificial intelligence technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies mainly include computer vision, robotics, biometrics, speech processing, natural language processing, and machine learning / deep learning. The aforementioned non-full-field data synchronization method based on Hilbert curves includes the following steps:

[0071] S201, retrieve the primary key information of the non-full-field data to be synchronized.

[0072] Specifically, after the data lake extracts all data from the source database and completes the initialization of the full data, subsequent changes such as insertion, update, and deletion of partial data are typically performed using a non-full-field data synchronization method. When data synchronization operations such as insertion, update, or deletion are required, a data synchronization command is received, and the primary key information of the non-full-field data to be synchronized is obtained. The primary key information of the non-full-field data is composed of a one-dimensional sequence value generated when mapping the full data to the Hilbert curve and a unique identifier corresponding to the non-full-field data.

[0073] In this embodiment, the non-full-field data synchronization method based on Hilbert curves runs on electronic devices (e.g., Figure 1 The server shown can receive data synchronization commands via wired or wireless connection. It should be noted that the aforementioned wireless connection methods may include, but are not limited to, 3G / 4G connections, WiFi connections, Bluetooth connections, WiMAX connections, Zigbee connections, UWB (ultra-wideband) connections, and other currently known or future wireless connection methods.

[0074] Furthermore, before obtaining the primary key information of the non-full-field data to be synchronized, the process also includes:

[0075] Obtain the full dataset and sort it according to the standard Hilbert curve.

[0076] In a predefined one-dimensional space, a mapping relationship between the full data and the Hilbert curve is constructed to obtain the Hilbert curve of the full data in the one-dimensional space.

[0077] The Hilbert curves of the full data in one-dimensional space are decomposed according to the preset decomposition rules.

[0078] The Hilbert curve of the decomposed full data is reconstructed in two-dimensional space.

[0079] A Hilbert curve is a fractal pattern of a space-filling curve, discovered by the German mathematician David Hilbert (1862-1943). Simply put, a space-filling curve is a curve that can be drawn in one continuous stroke to fill an entire two-dimensional, three-dimensional, or higher-dimensional space.

[0080] The Hilbert curve is a continuous curve that traverses space, meaning it passes through all points in any dimension. Compared to other spatial curves, the Hilbert curve is continuous and stable; that is, two consecutive adjacent points on the curve are also spatially adjacent. Based on this spatial characteristic of the Hilbert curve, mapping non-full-field primary key information onto the Hilbert curve allows the primary key information to appear as random and unique values. This also enables data segmentation, ensuring that data with adjacent primary key values ​​are also physically similar.

[0081] Specifically, before synchronizing non-full-field data, full-data synchronization is required first, which means initializing the full-data set. This involves acquiring the full data and sorting it according to a standard Hilbert curve. A mapping relationship between the full data and the Hilbert curve is then constructed in a predefined one-dimensional space, resulting in the Hilbert curve for the full data in one-dimensional space. This Hilbert curve is then decomposed according to a predefined decomposition rule, and reconstructed in two-dimensional space. The predefined decomposition rule is an equal-division rule, meaning the Hilbert curve of the full data in one-dimensional space is split into two equal parts, with the first part reconstructed in the X-plane of two-dimensional space and the second part in the Y-plane.

[0082] In the above embodiments, before performing non-full-field data synchronization, it is necessary to establish a mapping relationship between full data and Hilbert curves, and expand the Hilbert curves of full data in one-dimensional space to form Hilbert curves of full data in two-dimensional space, thus completing the initialization of full data.

[0083] Furthermore, after constructing the mapping relationship between the full dataset and the Hilbert curve in a predefined one-dimensional space to obtain the Hilbert curve for the full dataset in the one-dimensional space, the process also includes:

[0084] Obtain the data file to be synchronized, and determine the non-full-field data to be synchronized based on the data file;

[0085] Obtain the one-dimensional sequence values ​​generated when constructing the mapping relationship between the full dataset and the Hilbert curve in one-dimensional space;

[0086] Obtain the unique identifier corresponding to the non-full-field data, and concatenate the one-dimensional sequence value and the unique identifier to generate the primary key information of the non-full-field data.

[0087] Specifically, the process involves obtaining the data file to be synchronized, determining the non-full-field data to be synchronized based on the data file, obtaining the one-dimensional sequence value generated when constructing the mapping relationship between the full data and the Hilbert curve in one-dimensional space, obtaining the unique identifier code corresponding to the non-full-field data, and concatenating the one-dimensional sequence value and the unique identifier code to generate the primary key information of the non-full-field data.

[0088] In the above embodiments, primary key information of non-full-field data is generated by concatenating one-dimensional sequence values ​​and unique identifiers, so that the position information of non-full-field data in the full data can be determined by the primary key information of non-full-field data.

[0089] S202, perform a hash operation on the primary key information to obtain the hash value corresponding to the primary key information.

[0090] Hash is a function that transforms an input of arbitrary length (also called a pre-image) into a fixed-length output, known as the hash value, using a hash algorithm. This transformation is a compression mapping, meaning the space of hash values ​​is usually much smaller than the space of inputs. Different inputs may hash to the same output, so it's impossible to determine a unique input value from the hash value. Simply put, it's a function that compresses a message of arbitrary length into a message digest of a fixed length.

[0091] Specifically, a hash operation is performed on the primary key information of non-full-field data to obtain the hash value (Hash Code) corresponding to the primary key information. In a specific embodiment of this application, taking primary key information composed of UUIDs as an example, a UUID is a unique identifier of 128 bits, which can be used to mark 2^128 data points, sufficient to support any business scenario. However, for calculating the spatial position of the Hilbert curve, its value is too large. Therefore, it needs to be hashed to a length of 32 bits using a hash function, and the hash value (Hash Code) is obtained.

[0092] S203 maps the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data is located.

[0093] Specifically, the hash value corresponding to the primary key information obtained after hashing is mapped to the two-dimensional space where the Hilbert curve of the preset full data is located, so as to determine the position coordinates of the primary key information in the two-dimensional space.

[0094] Furthermore, the hash value corresponding to the primary key information is mapped to the two-dimensional space where the Hilbert curve of the preset full data is located, specifically including:

[0095] The hash values ​​corresponding to the primary key information are divided according to the preset partitioning rules to obtain the first hash value set and the second hash value set. The partitioning rules and the decomposition rules correspond to each other.

[0096] Map the first set of hash values ​​to the X-plane of the two-dimensional space containing the Hilbert curve of the entire data; and

[0097] Map the second set of hash values ​​to the Y-plane of the two-dimensional space containing the Hilbert curve of the full data.

[0098] Specifically, the hash values ​​corresponding to the primary key information are divided according to a preset partitioning rule to obtain a first hash value set and a second hash value set. The partitioning rule corresponds to the decomposition rule, mapping the first hash value set to the X-plane of the two-dimensional space containing the Hilbert curve of the entire data set, and mapping the second hash value set to the Y-plane of the two-dimensional space containing the Hilbert curve of the entire data set. The preset partitioning rule is an equal-division rule, which corresponds to the aforementioned equal-division decomposition rule.

[0099] In a specific embodiment of this application, the hash value HashCode corresponding to the above-mentioned 32-bit UU ID is decomposed into the form of 16-bit-16-bit by the partitioning rules, and respectively mapped to the two-dimensional space where the 16th order Hilbert curve of the full data is located. The first 16 bits are used as the coordinate x value corresponding to the primary key information, and the last 16 bits are used as the coordinate y value corresponding to the primary key information.

[0100] In the above embodiments, this application determines the coordinates corresponding to the primary key information by dividing the hash value corresponding to the primary key information and mapping the divided hash values ​​to the two-dimensional space where the Hilbert curve of the full data is located. The number of position points that the two-dimensional space where the 16th-order Hilbert curve is located can contain is fixed, totaling 2 to the power of 32. The values ​​of the position points contained in this curve are divided into 2 to the power of 13 segments, i.e., 8192 segments. Each segment contains 2 to the power of 19 position points, i.e., 524288 position points.

[0101] S204, retrieve the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve.

[0102] Specifically, after mapping the first set of hash values ​​to the X-plane of the two-dimensional space where the Hilbert curve of the full data is located, and mapping the second set of hash values ​​to the Y-plane of the two-dimensional space where the Hilbert curve of the full data is located, the entire two-dimensional space is traversed to obtain the coordinate data of the hash values ​​corresponding to the primary key information on the Hilbert curve.

[0103] S205: Input the coordinate data into the preset Hilbert space curve algorithm model to obtain the position information of the non-full field data.

[0104] Specifically, the coordinate data is input into a preset Hilbert space curve algorithm model. The Hilbert space curve algorithm model performs recursive calculations on the coordinate data to obtain the specific location information of the non-full field data in the full data, so as to synchronize the non-full field data in the future.

[0105] Furthermore, the coordinate data is input into a preset Hilbert space curve algorithm model to obtain the location information of the non-full-field data, specifically including:

[0106] Obtain the order information of the Hilbert curves corresponding to the full dataset;

[0107] The order and position information are input into the Hilbert space curve algorithm model;

[0108] The recursive algorithm in the Hilbert space curve algorithm model is used to calculate the position information of non-full field data.

[0109] Specifically, the order information of the Hilbert curve corresponding to the full dataset is obtained. This order and position information are then input into the Hilbert space curve algorithm model. The recursive algorithm within the Hilbert space curve algorithm model is used to calculate the position information of the non-full-field data. Specifically, the order of the Hilbert curve is determined based on the maximum number of points in each dimension, with the order value being the nearest 2 to the maximum number of points in each dimension. n The index value in the text.

[0110] Furthermore, the recursive algorithm in the Hilbert space curve algorithm model is used to calculate the location information of non-full-field data, specifically including:

[0111] Intermediate state values ​​are calculated based on the order of the Hilbert curve;

[0112] The location information of non-full-field data is calculated using a recursive algorithm based on intermediate state values.

[0113] Specifically, this application calculates the intermediate state value of the Hilbert curve using the order of the Hilbert curve, and then uses a recursive algorithm to calculate the position information of the non-full field data based on the intermediate state value and position information. Here, the intermediate state value M of the Hilbert curve is 2 to the power of N-1, and N is the order of the Hilbert curve.

[0114] Furthermore, based on intermediate state values, a recursive algorithm is used to calculate the location information of non-full-field data, specifically including:

[0115] Determine the relationship between the X coordinate and the intermediate state value in the location information, and determine the relationship between the Y coordinate and the intermediate state value in the location information;

[0116] If the X coordinate is less than or equal to the intermediate state value, and the Y coordinate is also less than or equal to the intermediate state value, then the order of the Hilbert curve is reduced by 1, the values ​​of the X and Y coordinates are swapped, and the recursive calculation is performed, and the calculated position information is returned.

[0117] If the X coordinate is greater than the intermediate state value and the Y coordinate is less than or equal to the intermediate state value, then the order of the Hilbert curve is reduced by 1, the intermediate state value is reduced by the Y coordinate and then added by 1 as the recursive X value, and the intermediate state value is multiplied by 2, the X coordinate is reduced and then added by 1 as the recursive Y value. The calculated recursive value is added by 3 and multiplied by the square of the intermediate state value, and the calculated position information is returned.

[0118] If the X coordinate is less than or equal to the intermediate state value and the Y coordinate is greater than the intermediate state value, then the order N of the Hilbert curve is reduced by 1, and the X coordinate is used as the recursive X value. The Y coordinate value minus the intermediate state value is used as the recursive Y value for recursive calculation. The calculated recursive value is added to the square of the intermediate state value, and the calculated position information value is returned.

[0119] If the X coordinate is greater than the intermediate state value and the Y coordinate is greater than the intermediate state value, then the order N of the Hilbert curve is reduced by 1, the X coordinate value is reduced by the intermediate state value to obtain the recursive X value, and the Y coordinate value is reduced by the intermediate state value to obtain the recursive Y value. The calculated recursive value is then added to the square of the intermediate state value by 2, and the calculated position information value is returned.

[0120] Specifically, the X and Y values ​​for recursive computation are determined by judging the relationship between the X coordinate and the intermediate state value in the location information, and by judging the relationship between the Y coordinate and the intermediate state value in the location information. The four relationships between the coordinate values ​​and the intermediate state values ​​and the corresponding recursive solution process are as follows:

[0121] If the X coordinate is less than or equal to the intermediate state value M, and the Y coordinate is also less than or equal to the intermediate state value M, then the order of the Hilbert curve is reduced by 1, the values ​​of the X and Y coordinates are swapped, the calculation is performed recursively, and the calculated position information is returned.

[0122] If the X coordinate is greater than the intermediate state value M and the Y coordinate is less than or equal to the intermediate state value M, then the order of the Hilbert curve is reduced by 1, the intermediate state value is reduced by the Y coordinate and then added by 1 as the recursive X value, and the intermediate state value is multiplied by 2, the X coordinate is reduced and then added by 1 as the recursive Y value. The calculated recursive value is added by 3 and multiplied by the square of the intermediate state value, and the calculated position information is returned.

[0123] If the X coordinate is less than or equal to the intermediate state value M, and the Y coordinate is greater than the intermediate state value M, then the order N of the Hilbert curve is reduced by 1, and the X coordinate is used as the recursive X value, and the Y coordinate value minus the intermediate state value is used as the recursive Y value for recursive calculation. The calculated recursive value is added to the square of the intermediate state value, and the calculated position information value is returned.

[0124] If the X coordinate is greater than the intermediate state value M and the Y coordinate is greater than the intermediate state value M, then the order N of the Hilbert curve is reduced by 1, the X coordinate value is reduced by the intermediate state value as the recursive X value, the Y coordinate value is reduced by the intermediate state value as the recursive Y value, and the calculated recursive value is added to 2 multiplied by the square of the intermediate state value, and the calculated position information value is returned.

[0125] In the above embodiments, this application calculates the order of the Hilbert curve, calculates the intermediate state value of the Hilbert curve, and combines the recursive algorithm in the Hilbert space curve algorithm model to calculate the location information value of the non-full field data, thereby obtaining the specific location information of the non-full field data in the full data, so as to carry out the synchronization work of the non-full field data in the future.

[0126] S206, obtain the synchronization method corresponding to the non-full field data, and synchronize the non-full field data based on the synchronization method and location information.

[0127] Specifically, the synchronization method for non-full-field data is determined, and the non-full-field data is synchronized based on the synchronization method and location information. If it is an insert operation, the newly added data is inserted into the data segment position according to the location information of the non-full-field data; if it is an update or delete operation, the data segment is searched for to match the data according to the location information of the non-full-field data, and the corresponding data update or data deletion operation is completed after the search is completed.

[0128] In the above embodiments, this application discloses a method for synchronizing non-full-field data based on Hilbert curves, belonging to the field of big data technology. This application obtains the primary key information of the non-full-field data to be synchronized; performs a hash operation on the primary key information to obtain the hash value corresponding to the primary key information; maps the hash value corresponding to the primary key information to a two-dimensional space where a preset Hilbert curve of the full data is located; obtains the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve; inputs the coordinate data into a preset Hilbert space curve algorithm model to obtain the position information of the non-full-field data; obtains the synchronization method corresponding to the non-full-field data; and synchronizes the non-full-field data based on the synchronization method and position information. Furthermore, this application also relates to the field of blockchain technology, where the non-full-field data can be stored on nodes of a blockchain network. This application utilizes Hilbert curves to quickly define the range of the full dataset and calculates the hash value corresponding to the primary key information of the incomplete data using hash operations. By mapping the hash value to the Hilbert curve of the full dataset, it achieves rapid querying and locating of the incomplete data, thus completing the synchronization of incomplete data. This significantly reduces the task time of incomplete data synchronization and also reduces the consumption of computing resources during data synchronization, improving the efficiency of data synchronization. In the scenario of synchronizing incomplete data in a data lake, the solution proposed in this application can reduce the latency of data entering the lake.

[0129] It should be emphasized that, in order to further ensure the privacy and security of the aforementioned incomplete field data, the aforementioned incomplete field data can also be stored in a node of a blockchain.

[0130] The blockchain referred to in this application is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include an underlying blockchain platform, a platform product service layer, and an application service layer.

[0131] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware through computer-readable instructions. These computer-readable instructions can be stored in a computer-readable storage medium. When executed, the computer-readable instructions can include the processes of the embodiments of the above methods. The aforementioned storage medium can be a non-volatile storage medium such as a magnetic disk, optical disk, or read-only memory (ROM), or random access memory (RAM).

[0132] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0133] Further reference Figure 3 As a response to the above Figure 2 The implementation of the method shown in this application provides an embodiment of a non-full-field data synchronization device based on Hilbert curves. This device embodiment is similar to... Figure 2 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.

[0134] like Figure 3 As shown, the non-full-field data synchronization device 300 based on Hilbert curves described in this embodiment includes:

[0135] The primary key information acquisition module 301 is used to acquire the primary key information of the non-full-field data to be synchronized.

[0136] The hash operation module 302 is used to perform hash operation on the primary key information to obtain the hash value corresponding to the primary key information;

[0137] Hash value mapping module 303 is used to map the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data is located.

[0138] The coordinate data acquisition module 304 is used to acquire the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve.

[0139] Hilbert operation module 305 is used to input coordinate data into a preset Hilbert space curve algorithm model to obtain the position information of non-full field data;

[0140] The data information synchronization module 306 is used to obtain the synchronization method corresponding to the non-full field data, and to synchronize the non-full field data based on the synchronization method and location information.

[0141] Furthermore, the Hilbert curve-based non-full-field data synchronization device 300 also includes:

[0142] The full data sorting module is used to obtain the full data and sort it according to the standard Hilbert curve.

[0143] The full data mapping module is used to construct the mapping relationship between the full data and the Hilbert curve in a preset one-dimensional space, so as to obtain the Hilbert curve of the full data in the one-dimensional space.

[0144] The one-dimensional curve decomposition module is used to decompose the Hilbert curve of the full data in one-dimensional space according to the preset decomposition rules.

[0145] The 2D curve reconstruction module is used to reconstruct the Hilbert curves of the decomposed full data in a 2D space.

[0146] Furthermore, the Hilbert curve-based non-full-field data synchronization device 300 also includes:

[0147] The data synchronization determination module is used to obtain the data file to be synchronized and determine the non-full-field data to be synchronized based on the data file;

[0148] The sequence value acquisition module is used to acquire the one-dimensional sequence values ​​generated when constructing the mapping relationship between the full data and the Hilbert curve in one-dimensional space.

[0149] The primary key information generation module is used to obtain the unique identifier code corresponding to non-full-field data, and concatenate the one-dimensional sequence value and the unique identifier code to generate the primary key information of the non-full-field data.

[0150] Furthermore, the hash value mapping module 303 specifically includes:

[0151] The hash value partitioning submodule is used to partition the hash values ​​corresponding to the primary key information according to the preset partitioning rules to obtain the first hash value set and the second hash value set. The partitioning rules and the decomposition rules correspond to each other.

[0152] The first hash value mapping submodule is used to map the first hash value set to the X-plane of the two-dimensional space where the Hilbert curve of the entire data is located; and

[0153] The second hash value mapping submodule is used to map the second hash value set to the Y plane of the two-dimensional space where the Hilbert curve of the full data is located.

[0154] Furthermore, the Hilbert operation module specifically includes:

[0155] The curve order acquisition submodule is used to obtain the order information of the Hilbert curves corresponding to the full dataset;

[0156] The model information input submodule is used to input order information and position information into the Hilbert space curve algorithm model;

[0157] The model recursive calculation submodule is used to calculate the location information of non-full-field data based on the recursive algorithm in the Hilbert space curve algorithm model.

[0158] Furthermore, the model recursive computation submodule specifically includes:

[0159] Intermediate state value calculation unit, used to calculate intermediate state values ​​based on the order of the Hilbert curve;

[0160] The location information calculation unit is used to calculate the location information of non-full-field data based on intermediate state values ​​using a recursive algorithm.

[0161] Furthermore, the location information calculation unit specifically includes:

[0162] The coordinate value judgment subunit is used to determine the relationship between the X coordinate and the intermediate state value in the position information, and to determine the relationship between the Y coordinate and the intermediate state value in the position information.

[0163] The first judgment result subunit is used to subtract 1 from the Hilbert curve order when the X coordinate is less than or equal to the intermediate state value and the Y coordinate is also less than or equal to the intermediate state value, and then recursively calculate and return the calculated position information after swapping the values ​​of the X and Y coordinates.

[0164] The second judgment result subunit is used to recursively calculate the following when the X coordinate is greater than the intermediate state value and the Y coordinate is less than or equal to the intermediate state value: subtract 1 from the Hilbert curve order, subtract the Y coordinate from the intermediate state value and add 1 as the recursive X value, multiply the intermediate state value by 2, subtract the X coordinate and add 1 as the recursive Y value, add 3 to the calculated recursive value and multiply by the square of the intermediate state value, and return the calculated position information.

[0165] The third judgment result subunit is used to subtract 1 from the Hilbert curve order N when the X coordinate is less than or equal to the intermediate state value and the Y coordinate is greater than the intermediate state value. The X coordinate is used as the recursive X value, and the Y coordinate value minus the intermediate state value is used as the recursive Y value for recursive calculation. The calculated recursive value is added to the square of the intermediate state value, and the calculated position information value is returned.

[0166] The fourth judgment result subunit is used to recursively calculate the following when the X coordinate is greater than the intermediate state value and the Y coordinate is greater than the intermediate state value: subtract 1 from the Hilbert curve order N, subtract the intermediate state value from the X coordinate value to obtain the recursive X value, subtract the intermediate state value from the Y coordinate value to obtain the recursive Y value, add 2 to the square of the intermediate state value, and return the calculated position information value.

[0167] In the above embodiments, this application discloses a non-full-field data synchronization device based on Hilbert curves, belonging to the field of big data technology. This application obtains the primary key information of the non-full-field data to be synchronized; performs a hash operation on the primary key information to obtain the hash value corresponding to the primary key information; maps the hash value corresponding to the primary key information to a two-dimensional space where a preset Hilbert curve of the full data is located; obtains the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve; inputs the coordinate data into a preset Hilbert space curve algorithm model to obtain the position information of the non-full-field data; obtains the synchronization method corresponding to the non-full-field data, and synchronizes the non-full-field data based on the synchronization method and position information. Furthermore, this application also relates to the field of blockchain technology, where the non-full-field data can be stored on nodes of a blockchain network. This application utilizes Hilbert curves to quickly define the range of the full data and calculates the hash value corresponding to the primary key information of the non-full field data through hash operations. By mapping the hash value to the Hilbert curve of the full data, it enables fast querying and locating of the non-full field data, thereby completing the synchronization of the non-full field data. This significantly reduces the task time of non-full field synchronization, while also reducing the consumption of computing resources during data synchronization and improving the efficiency of data synchronization.

[0168] To address the aforementioned technical problems, embodiments of this application also provide a computer device. Please refer to [link / reference needed]. Figure 4 , Figure 4 This is a basic structural block diagram of the computer device in this embodiment.

[0169] The computer device 4 includes a memory 41, a processor 42, and a network interface 43 that are interconnected via a system bus. It should be noted that only the computer device 4 with components 41-43 is shown in the figure; however, it should be understood that it is not required to implement all the shown components, and more or fewer components can be implemented alternatively. Those skilled in the art will understand that the computer device described here is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions. Its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.

[0170] The computer device can be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device can interact with the user via a keyboard, mouse, remote control, touchpad, or voice control.

[0171] The memory 41 includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 41 may be an internal storage unit of the computer device 4, such as the hard disk or memory of the computer device 4. In other embodiments, the memory 41 may also be an external storage device of the computer device 4, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the computer device 4. Of course, the memory 41 may also include both the internal storage unit and its external storage device of the computer device 4. In this embodiment, the memory 41 is typically used to store the operating system and various application software installed on the computer device 4, such as computer-readable instructions based on the Hilbert curve-based non-full-field data synchronization method. In addition, the memory 41 can also be used to temporarily store various types of data that have been output or will be output.

[0172] In some embodiments, the processor 42 may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other data processing chip. The processor 42 is typically used to control the overall operation of the computer device 4. In this embodiment, the processor 42 is used to execute computer-readable instructions stored in the memory 41 or to process data, for example, to execute computer-readable instructions of the Hilbert curve-based non-full-field data synchronization method.

[0173] The network interface 43 may include a wireless network interface or a wired network interface, which is typically used to establish communication connections between the computer device 4 and other electronic devices.

[0174] This application discloses a computer device belonging to the field of big data technology. This application obtains the primary key information of the non-full-field data to be synchronized; performs a hash operation on the primary key information to obtain the hash value corresponding to the primary key information; maps the hash value corresponding to the primary key information to a two-dimensional space containing a preset Hilbert curve of the full data; obtains the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve; inputs the coordinate data into a preset Hilbert space curve algorithm model to obtain the location information of the non-full-field data; obtains the synchronization method corresponding to the non-full-field data; and synchronizes the non-full-field data based on the synchronization method and location information. Furthermore, this application also relates to the field of blockchain technology, where the non-full-field data can be stored on nodes of a blockchain network. This application utilizes the Hilbert curve to quickly define the range of the full data and calculates the hash value corresponding to the primary key information of the non-full-field data through hash operations. By mapping the hash value to the aforementioned Hilbert curve of the full data, it achieves rapid querying and positioning of the non-full-field data to complete the synchronization of the non-full-field data, greatly reducing the task time of non-full-field synchronization, while also reducing the consumption of computing resources during data synchronization and improving the efficiency of data synchronization.

[0175] This application also provides another embodiment, namely, providing a computer-readable storage medium storing computer-readable instructions that can be executed by at least one processor to cause the at least one processor to perform the steps of the non-full-field data synchronization method based on the Hilbert curve described above.

[0176] This application discloses a storage medium belonging to the field of big data technology. This application obtains the primary key information of the non-full-field data to be synchronized; performs a hash operation on the primary key information to obtain the hash value corresponding to the primary key information; maps the hash value corresponding to the primary key information to a two-dimensional space containing a preset Hilbert curve of the full data; obtains the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve; inputs the coordinate data into a preset Hilbert space curve algorithm model to obtain the location information of the non-full-field data; obtains the synchronization method corresponding to the non-full-field data; and synchronizes the non-full-field data based on the synchronization method and location information. Furthermore, this application also relates to the field of blockchain technology, where non-full-field data can be stored on nodes of a blockchain network. This application utilizes the Hilbert curve to quickly define the range of the full data and calculates the hash value corresponding to the primary key information of the non-full-field data through hash operations. By mapping the hash value to the aforementioned Hilbert curve of the full data, it achieves rapid querying and positioning of the non-full-field data to complete the synchronization of the non-full-field data, greatly reducing the task time of non-full-field synchronization, while also reducing the consumption of computing resources during data synchronization and improving the efficiency of data synchronization.

[0177] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0178] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0179] Obviously, the embodiments described above are only some embodiments of this application, not all embodiments. The accompanying drawings show preferred embodiments of this application, but do not limit the patent scope of this application. This application can be implemented in many different forms; rather, the purpose of providing these embodiments is to provide a more thorough and comprehensive understanding of the disclosure of this application. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing specific embodiments, or make equivalent substitutions for some of the technical features. Any equivalent structures made using the content of this application's specification and drawings, directly or indirectly applied to other related technical fields, are similarly within the scope of patent protection of this application.

Claims

1. A non-full-field data synchronization method based on Hilbert curves, characterized in that, include: Retrieve the primary key information of the non-full-field data to be synchronized; Perform a hash operation on the primary key information to obtain the hash value corresponding to the primary key information; Map the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data is located; Obtain the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve; The coordinate data is input into a preset Hilbert space curve algorithm model to obtain the position information of the non-full field data; Obtain the synchronization method corresponding to the non-full field data, and synchronize the non-full field data based on the synchronization method and the location information.

2. The non-full-field data synchronization method based on Hilbert curves as described in claim 1, characterized in that, Before obtaining the primary key information of the non-full-field data to be synchronized, the following steps are also included: Obtain the full dataset and sort it according to a standard Hilbert curve; In a preset one-dimensional space, a mapping relationship between the full data and the Hilbert curve is constructed to obtain the Hilbert curve of the full data in the one-dimensional space. The Hilbert curves of the full data in one-dimensional space are decomposed according to the preset decomposition rules; The Hilbert curves of the decomposed full data are reconstructed in two-dimensional space.

3. The non-full-field data synchronization method based on Hilbert curves as described in claim 2, characterized in that, After constructing the mapping relationship between the full data and the Hilbert curve in a preset one-dimensional space to obtain the Hilbert curve of the full data in the one-dimensional space, the method further includes: Obtain the data file to be synchronized, and determine the non-full-field data to be synchronized based on the data file to be synchronized; Obtain the one-dimensional sequence values ​​generated when constructing the mapping relationship between the full data and the Hilbert curve in the one-dimensional space; Obtain the unique identifier corresponding to the non-full-field data, and concatenate the one-dimensional sequence value and the unique identifier to generate the primary key information of the non-full-field data.

4. The non-full-field data synchronization method based on Hilbert curves as described in claim 2, characterized in that, The step of mapping the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data is located specifically includes: The hash values ​​corresponding to the primary key information are divided according to a preset partitioning rule to obtain a first hash value set and a second hash value set, wherein the partitioning rule corresponds to the decomposition rule. Map the first set of hash values ​​to the X-plane of the two-dimensional space containing the Hilbert curve of the full data; and The second set of hash values ​​is mapped to the Y-plane of the two-dimensional space containing the Hilbert curve of the full data.

5. The non-full-field data synchronization method based on Hilbert curves as described in claim 1, characterized in that, The coordinate data is input into a preset Hilbert space curve algorithm model to obtain the location information of the non-full-field data, specifically including: Obtain the order information of the Hilbert curve corresponding to the full dataset; The order information and the coordinate data are input into the Hilbert space curve algorithm model; The location information of the non-full-field data is calculated based on the recursive algorithm in the Hilbert space curve algorithm model.

6. The non-full-field data synchronization method based on Hilbert curves as described in claim 5, characterized in that, The recursive algorithm based on the Hilbert space curve algorithm model is used to calculate the position information of the non-full-field data, specifically including: Calculate intermediate state values ​​based on the order of the Hilbert curve; Based on the intermediate state value, the recursive algorithm is used to calculate the position information of the non-full field data.

7. The non-full-field data synchronization method based on Hilbert curves as described in claim 6, characterized in that, The step of calculating the position information of the non-full-field data using the recursive algorithm based on the intermediate state value specifically includes: Determine the relationship between the X coordinate and the intermediate state value in the location information, and determine the relationship between the Y coordinate and the intermediate state value in the location information; If the X coordinate is less than or equal to the intermediate state value, and the Y coordinate is also less than or equal to the intermediate state value, then the order of the Hilbert curve is reduced by 1, the values ​​of the X and Y coordinates are swapped, and the recursive calculation is performed, and the calculated position information is returned. If the X coordinate is greater than the intermediate state value and the Y coordinate is less than or equal to the intermediate state value, then the order of the Hilbert curve is reduced by 1, the intermediate state value is reduced by the Y coordinate and then added by 1 as the recursive X value, and the intermediate state value is multiplied by 2, the X coordinate is reduced and then added by 1 as the recursive Y value. The calculated recursive value is added by 3 and multiplied by the square of the intermediate state value, and the calculated position information is returned. If the X coordinate is less than or equal to the intermediate state value and the Y coordinate is greater than the intermediate state value, then the order N of the Hilbert curve is reduced by 1, and the X coordinate is used as the recursive X value. The Y coordinate value minus the intermediate state value is used as the recursive Y value for recursive calculation. The calculated recursive value is added to the square of the intermediate state value, and the calculated position information value is returned. If the X coordinate is greater than the intermediate state value and the Y coordinate is greater than the intermediate state value, then the order N of the Hilbert curve is reduced by 1, the X coordinate value is reduced by the intermediate state value to obtain the recursive X value, and the Y coordinate value is reduced by the intermediate state value to obtain the recursive Y value. The calculated recursive value is then added to the square of the intermediate state value by 2, and the calculated position information value is returned.

8. A non-full-field data synchronization device based on Hilbert curves, characterized in that, include: The primary key information acquisition module is used to obtain the primary key information of the non-full-field data to be synchronized; The hash operation module is used to perform hash operation on the primary key information to obtain the hash value corresponding to the primary key information; The hash value mapping module is used to map the hash value corresponding to the primary key information to the two-dimensional space where the Hilbert curve of the preset full data is located. The coordinate data acquisition module is used to acquire the coordinate data of the hash value corresponding to the primary key information on the Hilbert curve; The Hilbert operation module is used to input the coordinate data into a preset Hilbert space curve algorithm model to obtain the position information of the non-full field data; The data information synchronization module is used to obtain the synchronization method corresponding to the non-full field data, and to synchronize the non-full field data based on the synchronization method and the location information.

9. A computer device, characterized in that, The method includes a memory and a processor, wherein the memory stores computer-readable instructions, and the processor executes the computer-readable instructions to implement the steps of the non-full-field data synchronization method based on the Hilbert curve as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the non-full-field data synchronization method based on the Hilbert curve as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for protecting track privacy by forwarding inquiries based on neighboring nodes in location service

    CN101834861A

  • Hilbert curve encoding and decoding method based on state view

    CN110457317A