Dynamic permission-based offline geographic layer incremental collaborative updating method and system

Through the offline incremental collaborative update method of geographic layers with dynamic permissions, the low efficiency and security issues of geographic information data updating in a network-free environment are solved, and efficient and secure offline map access and updating are achieved.

CN120670442BActive Publication Date: 2025-10-24CHENGDU SHANHE SPATIAL INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511178738.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-22
Publication Date
2025-10-24
Estimated Expiration
2045-08-22

AI Technical Summary

Technical Problem

Existing technologies cannot efficiently update geographic information data in an offline environment. Traditional methods require full downloading, which takes a long time and consumes a lot of traffic. It is difficult to ensure the dynamic nature of user permissions, incremental updates are difficult, offline access is limited, and the risk of data leakage is high.

Method used

An incremental collaborative update method for offline geographic layers based on dynamic permissions is adopted. Through the collaborative work of the client and server, data consistency is judged and incremental updates are performed, lightweight incremental packages are generated, and cached data is ensured to match user permissions. The SQLite database format is used to achieve efficient updates and access.

Benefits of technology

Efficiently access and update geographic information data in a network-free environment, reduce traffic consumption, improve cache efficiency, prevent unauthorized access, and ensure data security and integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120670442B_ABST
    Figure CN120670442B_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on dynamic permission offline geographic layer incremental collaborative updating method and system, belong to the technical field of geographic information data, this method includes: S1: user starts layer cache in client, find whether the O file of this layer exists in client, if yes, read the CLT data and CST data of O file, and request to server is initiated to execute S2;If no, request to server is initiated to execute S3;S2: determine whether CLT data is consistent with the SLT data of this user corresponding to this layer in server;S3: determine whether the O file of this user corresponding to this layer exists in server;S4: determine whether the latest modification time of layer recorded in O file in server is consistent with the SLT data of this layer, finally update layer and reload layer in client, to reach weak network or no network environment under efficient access and update geographic information data, to meet the purpose of offline map collaborative updating.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of geographic information data, and in particular relates to an offline geographic layer incremental collaborative updating method and system based on dynamic permissions, which is suitable for efficient access and updating of geographic information data by a mobile terminal in a weak network or no network environment. BACKGROUND

[0002] Geographic information is the geographic meaning contained and expressed by geographic data, which is identified by data, and is the most distinctive mark distinguishing other types of information, and is the positioning feature of geographic information.

[0003] Map data management refers to the systematic and standardized management of the whole process of map-related spatial data, attribute data, and its updating, storage, maintenance, sharing and application. The core goal is to ensure the accuracy, integrity, timeliness and usability of map data to support navigation, planning, emergency, business analysis and other diversified needs. Its key components include data collection and updating, data storage and structuring, quality control and standardization, sharing and security, and application scenarios.

[0004] Current geographic data management practices face many challenges, mainly including:

[0005] (1) Offline access is limited

[0006] Traditional online maps cannot be used without network, which cannot meet the needs of field work and other scenarios;

[0007] (2) Large data volume

[0008] The geographic information layer data volume is huge, and full caching occupies device resources and has low updating efficiency;

[0009] (3) Dynamic permissions

[0010] Users can only access authorized data, and directly caching full layers has the risk of data leakage;

[0011] (4) Incremental updating is difficult

[0012] After the layer data is changed, the traditional method needs to download the full data, which is time-consuming and consumes a lot of traffic. SUMMARY

[0013] In view of this, in order to solve the above problems existing in the prior art, the purpose of the present application is to provide an offline geographic layer incremental collaborative updating method and system based on dynamic permissions to efficiently access and update geographic information data in a weak network or no network environment, thereby meeting the purpose of offline map collaborative updating.

[0014] The technical scheme adopted by the application is as follows: a kind of off-line geographic layer incremental collaborative updating method based on dynamic permission, the method comprises:

[0015] S1: the user starts layer cache in client, finds whether the O file of the layer exists in client, if yes, reads the CLT data and CST data of O file, and initiates request to server to execute S2;If no, initiate request to server to execute S3;

[0016] S2: determine whether the CLT data is consistent with the SLT data of the user corresponding to the layer in the server, if yes, return the latest version of the layer to the client;If no, execute incremental updating process;

[0017] S3: determine whether the O file of the user corresponding to the layer exists in the server, if yes, execute S4;If no, generate O' file asynchronously, and reload the layer in client;

[0018] S4: determine whether the latest modification time of the layer recorded in the O file in the server is consistent with the SLT data of the layer, if yes, download the O file through the client and reload the layer in the client;If no, generate O' file asynchronously, download the O' file through the client and reload the layer.

[0019] Further, in S1, after initiating request to server, determine whether the user is in the processing team, if yes, return to client and wait for server processing;If no, continue to execute request instruction.

[0020] Further, the incremental updating process comprises:

[0021] S201: determine whether the SST data of the user corresponding to the layer in the server is consistent with the CST data of the client, if yes, execute S202;If no, execute S203;

[0022] S202: find whether the U file of the user corresponding to the layer exists in the server and determine whether the latest modification time of the layer recorded in the U file is consistent with the SLT data of the layer, if yes, execute layer updating;If no, execute asynchronous generation of O' file, and generate U file by comparing O file and O' file, and execute layer updating;

[0023] S203: execute asynchronous generation of O' file, download the O' file through the client and reload the layer.

[0024] Further, the layer updating method is: download the U file through the client, and reload the layer after updating the O file of the client by using the U file.

[0025] Further, the O file is an independent database file created for each user and layer, and the naming rule of the O file is: user id+layer id.

[0026] Further, the O' file is the same user id and layer id as the O file.

[0027] Further, the method for asynchronously generating the O' file is:

[0028] A1: create a database file and adopt the same naming as the O file;

[0029] A2: create a table structure, and the table structure includes: an info table, a geometry table and an attribute table;

[0030] A3: after querying the user permission through the geometry table and the attribute table, write visible data;

[0031] A4: generate the O' file.

[0032] Further, the method for generating the U file is:

[0033] B1: create a database file and adopt the same naming as the O file;

[0034] B2: create a table structure;

[0035] B3: connect the O file and the O' file;

[0036] B4: compare the differences through SQL statements, including: query new rows to generate an INSERT statement, query modified rows to generate an UPDATE statement, and query deleted rows to generate a DELETE statement;

[0037] B5: encapsulate the difference statements and generate a lightweight incremental package U file.

[0038] The application further provides an offline geographic layer incremental collaborative updating system based on dynamic permission, comprising at least one processor and at least one memory, at least one of the memories stores program instructions, and at least one of the processors reads the program instructions and executes the offline geographic layer incremental collaborative updating method based on dynamic permission.

[0039] The application has the following beneficial effects:

[0040] The offline geographic layer incremental collaborative updating method based on dynamic permission provided by the application can efficiently access the complete geographic information layer within the permission of the user when the user is offline after updating the geographic information layer within the access permission of the user under the network state, thereby improving the map access efficiency under the offline state.

[0041] The offline geographic layer incremental collaborative updating method based on dynamic permissions provided by the application is realized in an incremental updating manner when updating the original geographic layer, and the incremental change data is transmitted to reduce traffic consumption and improve cache efficiency.

[0042] The offline geographic layer incremental collaborative updating method based on dynamic permissions provided by the application is realized in an incremental updating manner when updating the original geographic layer, and the incremental change data is transmitted to reduce traffic consumption and improve cache efficiency.

[0043] The offline geographic layer incremental collaborative updating method based on dynamic permissions provided by the application is realized in an incremental updating manner when updating the original geographic layer, and the incremental change data is transmitted to reduce traffic consumption and improve cache efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0044] Figure 1 is the overall logical architecture diagram of the offline geographic layer incremental collaborative updating method based on dynamic permissions provided by the application;

[0045] Figure 2 is the logical architecture diagram of generating a lightweight incremental package U file in the offline geographic layer incremental collaborative updating method based on dynamic permissions provided by the application;

[0046] Figure 3 is the logical architecture diagram of generating an O' file asynchronously in the offline geographic layer incremental collaborative updating method based on dynamic permissions provided by the application. DETAILED DESCRIPTION

[0047] The embodiments of the present application will be described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference signs represent the same or similar modules or modules with the same or similar functions throughout. The embodiments described below by referring to the accompanying drawings are exemplary and are only used to explain the present application, and cannot be understood as a limitation of the present application. On the contrary, the embodiments of the present application include all changes, modifications and equivalents falling within the spirit and scope of the appended claims.

[0048] Embodiment 1

[0049] In this embodiment, an offline geographic layer incremental collaborative updating method based on dynamic permissions is specifically provided, which efficiently accesses and updates geographic information data in a weak network or no network environment, meets the demand of offline map collaborative updating, and improves map access efficiency. The method comprises:

[0050] S1: a user starts a layer cache at a client, and the client finds whether an O file of the layer exists in the client according to an instruction; the O file is an independent database file created for each user and layer, and the naming rule of the O file is: user id+layer id, for example: user id_layer id.sobo;

[0051] If yes, CLT data and CST data of the O file are read, the CST data refers to the creation time of the O file in the client, and the CLT data refers to the latest modification time of the layer recorded in the O file in the client; and a request is initiated to the server;

[0052] If no, a request is initiated to the server.

[0053] S2: it is judged whether the user is in a processing team, if yes, the client is returned and waits for the server to process, and the judgment is circular; if no, the request instruction is continued to be executed, if the O file of the layer exists in the client, S3 is executed; if the O file of the layer does not exist in the client, S4 is executed. The asynchronous task queue is used to manage high-concurrency requests, so as to avoid repeatedly generating the same permission cache file.

[0054] S3: it is judged whether the CLT data is consistent with SLT data of the layer corresponding to the user in the server, if yes, it is returned to the client that the layer is the latest version; the SLT data refers to the latest modification time of the layer recorded in the server, if the times are consistent, the server returns a response to the client, and the client displays that the layer is the latest version. It should be noted that when the server is investigated, only the id of the layer required to be cached by the user in S1 needs to be queried;

[0055] If no, an incremental update process is executed, and the incremental update process specifically includes:

[0056] S201: the O file of the layer corresponding to the user exists in the server, and it is judged whether SST data of the layer corresponding to the user in the server is consistent with CST data, if yes, S202 is executed; if no, S203 is executed;

[0057] The SST data refers to the creation time of the O file in the server; the CST data refers to the creation time of the O file in the client;

[0058] S202: it is continued to be found whether the U file of the layer corresponding to the user exists in the server, and it is judged whether the latest modification time of the layer recorded in the U file is consistent with SLT data of the layer, the SLT data refers to the latest modification time of the layer recorded in the server;

[0059] If yes, perform layer update, and the layer update instruction is to download the incremental package U file through the client, merge and update the O file of the client using the U file, and then reload the layer on the client;

[0060] If no, perform asynchronous generation of the O' file, generate the U file by comparing the O file and the O' file, perform layer update, and the layer update instruction is to download the U file through the client, merge and update the O file of the client using the U file, without full download, thereby realizing efficient incremental update, and then reload the layer on the client;

[0061] The O' file and the O file are the same user id and layer id, the O' file can be understood as a new file, and the O file can be understood as an old file, and the method for asynchronously generating the O' file is:

[0062] A1: create a database file and adopt the same naming as the O file, for example, user id_layer id.sobo;

[0063] A2: create a table structure, and the table structure includes an info table, a geometry table and an attribute table; specifically as follows:

[0064] ① The info table: stores layer metadata, for example, rendering information, the latest modification time, the file creation time, etc.

[0065] ② The geometry table: stores spatial data, for example, geometric bodies, spatial boundary coordinates, etc.

[0066] ③ The attribute table: stores attribute data, for example, unique identifiers and attribute fields associated with geometric bodies, etc.

[0067] A3: after querying the user permission through the geometry table and the attribute table, the server dynamically filters the user visible data according to the user permission when generating / updating the O file, so as to ensure that the cache content strictly matches the permission, and the visible data is written after the permission identification.

[0068] A4: generate the O' file, and the O' file is a new version of the O file.

[0069] The U file refers to an update file package of the layer corresponding to the user, and the above method for generating the U file is:

[0070] B1: create a database file and adopt the same naming as the O file, for example, user id_layer id.sobu, and here, the naming method is the same but the file type is different.

[0071] B2: Create table structure, including: info table, geometry table and attribute table; details as follows:

[0072] ①info table: store layer metadata, such as: rendering information, the latest modification time, file creation time, etc.

[0073] ②geometry table: store spatial data, such as: geometric body, spatial boundary coordinates, etc.

[0074] ③attribute table: store attribute data, such as: unique identifier associated with geometric body and attribute field, etc.

[0075] B3: Connect old O file and new O' file;

[0076] B4: Compare differences through SQL statements, including: query new line to generate INSERT statement, query modified line to generate UPDATE statement and query delete line to generate DELETE statement; details as follows:

[0077] B401: Attach database:

[0078] Execute in old O file: ATTACH DATABASE '{0}' as db2 key '{1}';

[0079] Where: {0} is the path of new O' file, {1} is the database password.

[0080] B402: Query new data:

[0081] Execute in old O file: SELECT t2.* FROM db2.{0} t2 LEFT JOIN {0} t1 ON t2.{1} = t1.{1} WHERE t1.{1} IS NULL;

[0082] Where: {0} is the table name (for example: geometry, attribute), {1} is the unique identifier of the table (for example: id).

[0083] B403: Generate SQL statement of new data:

[0084] Add a record in update file: REPLACE INTO {0}({1}) VALUES({2});

[0085] Where: {0} is the table name, {1} is all fields separated by "," and {2} is all field values separated by ",".

[0086] B404: Query the deleted data:

[0087] Execute in the old O file: SELECT {1} FROM {0} EXCEPT SELECT {1} FROM db2.{0};

[0088] Where: {0} is the table name, {1} is the unique identifier of the table.

[0089] B405: Generate SQL statements for deleting data:

[0090] Add a record in the update file: DELETE FROM {0} WHERE {1}='{2}';

[0091] Where: {0} is the table name, {1} is the unique identifier of the table, and {2} is the value of the unique identifier.

[0092] B406: Query the modified data:

[0093] Execute in the old O file: SELECT t2.{1}, {2} FROM {0} t1 INNER JOIN db2.{0} t2 ON t1.{1} = t2.{1} WHERE {3};

[0094] Where: {0} is the table name, {1} is the unique identifier of the table, {2} is the concatenation of all fields, CASE WHEN IFNULL(t1.\"{a}\",'')!= IFNULL(t2.\"{a}\",'') THEN IFNULL(t2.\"{a}\",'') ELSE NULL END AS '{a}', where {a} is the field name, fields are separated by ",", {3} is the concatenation of all fields, t1.\"{a}\"!= t2.\"{a}\", where {a} is the field name, fields are separated by " OR".

[0095] B407: Generate SQL statements for modifying data:

[0096] Add a record in the update file: UPDATE {0} SET {1} WHERE {2}='{3}';

[0097] Where: {0} is the table name, {1} is the value of all fields separated by ",", {2} is the unique identifier of the table, and {3} is the value of the unique identifier.

[0098] B408: Separate the database:

[0099] In the old O file, execute: DETACH DATABASE db2;

[0100] B5: encapsulate the difference statement as a transaction submission, and generate a lightweight incremental package U file.

[0101] S203: execute asynchronous generation of the O' file, download the O' file through the client and reload the layer on the client;

[0102] S4: determine whether the O file corresponding to the layer of the user exists in the server, if yes, execute S5; if no, asynchronously generate an O' file, the method of the asynchronous generation of the O' file is the same as above, and the layer is reloaded on the client;

[0103] S5: determine whether the latest modification time of the layer recorded in the O file and the SLT data of the layer are consistent, if yes, download the O file through the client and reload the layer on the client; if no, asynchronously generate an O' file, the method of the asynchronous generation of the O' file is the same as above, download the O' file through the client and reload the layer.

[0104] Embodiment 2

[0105] Based on the dynamic permission-based offline geographic layer incremental collaborative updating method provided in Embodiment 1, the dynamic permission-based offline geographic layer incremental collaborative updating system is specifically provided in this embodiment, which comprises a processor and a memory, the memory stores program instructions, and the processor reads the program instructions to execute the program of the dynamic permission-based offline geographic layer incremental collaborative updating method described in Embodiment 1.

[0106] It should be noted that any process or method description in the flowchart or otherwise described herein can be understood as representing code modules, segments, or portions of code that include one or more executable instructions for implementing specific logic functions or steps, and that the scope of preferred embodiments of the present application includes additional implementation in which the functions are performed in different orders, in different ways, or in different manners, and that the application should not be limited to the described or discussed order, manner, or sequence, but should be understood to include additional implementations that are within the scope of the application.

[0107] It should be understood that parts of the present application can be realized in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be realized in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if realized in hardware, and as in another embodiment, any one or a combination of the following technologies known in the art can be used: discrete logic circuitry having logic gates for implementing logic functions on data signals, application specific integrated circuits having appropriate combinational logic gates, programmable gate arrays (PGA), field programmable gate arrays (FPGA), etc.

[0108] Those skilled in the art of the present technology can understand that all or part of the steps carried out by the above-mentioned embodiments can be completed by a program instructing the relevant hardware, and the program can be stored in a computer readable storage medium, and when executed, includes one or a combination of the steps of the method embodiments.

[0109] In addition, each functional unit in each embodiment of the present application can be integrated in one processing module, or each unit can be physically present separately, or two or more units can be integrated in one module. The above-mentioned integrated module can be realized in the form of hardware or in the form of a software functional module. The integrated module, if realized in the form of a software functional module and sold or used as an independent product, can also be stored in a computer readable storage medium.

[0110] The above-mentioned storage medium can be a read-only memory, a magnetic disk or an optical disk, etc.

[0111] Although the embodiments of the present application have been shown and described above, it should be understood that the above-mentioned embodiments are exemplary and cannot be understood as limiting the present application, and those skilled in the art can make changes, modifications, replacements and variations to the above-mentioned embodiments within the scope of the present application.

Claims

1. A dynamic permission-based offline geographic layer incremental collaborative updating method, characterized in that, The method comprises: S1: a user starts a layer cache on a client, checks whether an O file of the layer exists on the client, reads CLT data and CST data of the O file if yes, and initiates a request to a server to perform S2; if no, initiates a request to the server to perform S3; S2: judges whether the CLT data is consistent with SLT data of the layer corresponding to the user in the server, returns that the layer is the latest version to the client if yes, and performs an incremental update process if no; S3: judges whether the O file of the layer corresponding to the user exists in the server, performs S4 if yes, and asynchronously generates an O' file and reloads the layer on the client if no; S4: judges whether the latest modification time of the layer recorded in the O file in the server is consistent with SLT data of the layer, downloads the O file through the client and reloads the layer on the client if yes, and asynchronously generates an O' file, downloads the O' file through the client and reloads the layer if no; The O file is an independent database file created for each user and layer, and the naming rule of the O file is: user id+layer id; The O' file has the same user id and layer id as the O file; wherein the O' file is a new version of the O file; Wherein, the CST data refers to the creation time of the O file in the client; the CLT data refers to the latest modification time of the layer recorded in the O file in the client; and the SLT data refers to the latest modification time of the layer recorded in the server.

2. The dynamic permission-based offline geospatial layer incremental collaborative updating method according to claim 1, characterized in that, In S1, after initiating a request to the server, it is judged whether the user is in a processing team, the client is returned and waits for the server to process if yes, and the request instruction is continuously executed if no.

3. The dynamic permission based offline geospatial layer collaborative incremental updating method according to claim 1, characterized in that, The incremental update process comprises: S201: judges whether SST data of the layer corresponding to the user in the server is consistent with CST data in the client, performs S202 if yes, and performs S203 if no; S202: checks whether a U file of the layer corresponding to the user exists in the server and judges whether the latest modification time of the layer recorded in the U file is consistent with SLT data of the layer, performs layer update if yes, and performs asynchronous generation of an O' file, generates a U file through comparison between the O file and the O' file, and performs layer update if no; S203: performs asynchronous generation of an O' file, downloads the O' file through the client and reloads the layer; Wherein, the U file refers to an update file package of the layer corresponding to the user; and the SST data refers to the creation time of the O file in the server.

4. The dynamic permission-based offline geospatial layer incremental collaborative updating method according to claim 3, characterized in that, The layer update method is to download the U file through the client, update the O file in the client by using the U file, and reload the layer.

5. The method of claim 1, wherein, The method for asynchronously generating an O' file is: A1: creates a database file and adopts the same naming as the O file; A2: create table structure, and the table structure includes: an info table, a geometry table and an attribute table; wherein, the info table: stores layer metadata, the geometry table: stores spatial data, and the attribute table: stores attribute data; A3: after querying user permissions through the geometry table and the attribute table, write visible data; A4: generate an O' file.

6. The dynamic permission based offline geospatial layer collaborative incremental update method of claim 3, wherein, The method for generating the U file is: B1: create a database file and adopt the same naming as the O file; B2: create table structure; B3: connect the O file and the O' file; B4: compare differences through SQL statements, including: query new rows to generate INSERT statements, query modified rows to generate UPDATE statements, and query deleted rows to generate DELETE statements; B5: encapsulate the difference statements, and generate a lightweight incremental package U file. 7.A dynamic permission-based offline geographic layer incremental collaborative updating system, characterized in that, The method comprises at least one processor and at least one memory, and the at least one memory stores program instructions, and the at least one processor reads the program instructions and executes the method for offline collaborative updating of a geographic layer based on dynamic permissions according to any one of claims 1-6.

Citation Information

Patent Citations

  • Geographic asset management system and method

    CA2754225A1

  • Collaborative operation system for high-precision map production

    CN111507691A