File-based engineering geographic information project synchronization method and system
By refining conflict detection to the file level and adopting a file-based engineering geographic information project synchronization method, the problem of complex manual intervention operations by users in existing technologies is solved, and efficient data synchronization and version management are achieved, which is suitable for multi-person collaboration in engineering geographic information projects.
Patent Information
- Application Number
- CN202511240489.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-02
- Publication Date
- 2025-10-14
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
During the synchronization of existing engineering geographic information projects, conflict detection and resolution rely on manual user intervention, which has a high operational threshold, especially for non-technical users, and complex algorithms are inconvenient to use when multiple people are operating.
By refining conflict detection to the file level, adopting a file-based engineering geographic information project synchronization method, supporting offline editing and one-click synchronization after network recovery, using cloud-based locking mechanism to prevent data conflicts, and providing a lightweight file differential synchronization mechanism.
It improves data synchronization efficiency, reduces network load, supports multi-client offline editing, enhances applicability, and is suitable for scenarios such as smart construction sites and field surveying, realizing lightweight file differential synchronization and version management.
Smart Images

Figure CN120785902A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of geographic information engineering collaborative technology, and in particular to a file-based engineering geographic information project synchronization method and system. Background Art
[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.
[0003] During the synchronization process of engineering geographic information projects, conflict detection and resolution are important steps to ensure data consistency. When a conflict is detected, the system needs to decide how to resolve it. Common methods include manual merging and automatic resolution using algorithms.
[0004] Current conflict resolution mechanisms mostly rely on manual user intervention, such as choosing which version of data to retain or abandoning changes. While flexible, this design places high demands on users. Understanding the context of the conflict and choosing the correct solution can be challenging, especially for non-technical users. Furthermore, complex algorithms may require a certain level of technical background to use correctly.
[0005] The existing technology is complex in conflict handling. When multiple people operate simultaneously, they need to manually merge versions or rely on complex algorithms, which has a high user operation threshold. In order to solve the above shortcomings, the present invention has made improvements. Summary of the Invention
[0006] In order to overcome the shortcomings of the background technology, the present invention provides a file-based engineering geographic information project synchronization method and system. By refining conflict detection to the file level, different users can synchronize different files of the same project at the same time, thereby improving data synchronization efficiency. After the data synchronization is completed, the new project version number is returned in time, which facilitates project version management.
[0007] To achieve the above object, the present invention provides the following technical solutions: In a first aspect, a file-based engineering geographic information project synchronization method is provided, the method comprising: Initiate a synchronization request for the engineering geographic information project from the client to the cloud; When the cloud receives a synchronization request, it will detect whether there are any files being synchronized for the project's geographic information project; If it is detected that a file is being synchronized, further check whether the file being synchronized conflicts with the file to be synchronized in this synchronization request; If there is no conflict between the file being synchronized and the file to be synchronized in this synchronization request, the data synchronization of the engineering geographic information project will continue and the new project version number will be returned.
[0008] Furthermore, The synchronization request carries local project information of the project to be synchronized, the local project information including project ID, project version number and incremental information, the incremental information including data generated by adding, modifying or deleting a file in the engineering geographic information project.
[0009] Further, the method further comprises: editing a file in the engineering geographic information project independently on the client in an offline state, saving the change record locally and forming the incremental information; after the network is restored, triggering the synchronization of the local engineering geographic information project to the cloud on the client and initiating the synchronization request to the cloud.
[0010] Further, the method further comprises: Upon receiving the synchronization request, the cloud will first determine whether all the files to be synchronized in the current synchronization request are first data synchronization; If all the files to be synchronized in the current synchronization request are first data synchronization, the cloud will lock all target files respectively; After the data synchronization of the current synchronization request is completed, all the files to be synchronized in the current synchronization request are unlocked.
[0011] Further, Upon receiving the synchronization request, the cloud will detect whether there is a file being synchronized in the engineering geographic information project, including: Upon receiving the synchronization request, the cloud will detect whether there is a file being synchronized in the engineering geographic information project, including: If there is at least one locked file in the engineering geographic information project, it indicates that there is a file being synchronized in the engineering geographic information project; If there is no locked file in the engineering geographic information project, it indicates that there is no file being synchronized in the engineering geographic information project.
[0012] Further, Detecting whether there is a conflict between the file being synchronized and the file to be synchronized in the current synchronization request, including: Detecting whether all the files to be synchronized in the current synchronization request are locked; If there is at least one locked file in all the files to be synchronized in the current synchronization request, it indicates that there is a conflict between the file being synchronized and the file to be synchronized in the current synchronization request; If none of the files to be synchronized in the current synchronization request is locked, it indicates that there is no conflict between the file being synchronized and the file to be synchronized in the current synchronization request.
[0013] Further, The method further comprises: if the file being synchronized conflicts with the file to be synchronized in the current synchronization request, returning a project synchronization conflict to the client initiating the synchronization request, and reminding the client to attempt data synchronization again after an estimated waiting time.
[0014] Further, the method further comprises: If it is detected that there is no file being synchronized for the engineering geographic information project, it is determined whether the cloud data of the engineering geographic information project has been updated; If the cloud data has not been updated, data synchronization of the engineering geographic information project is directly performed and a new project version number is returned; If the cloud data has been updated, it is determined whether the data to be synchronized in the current synchronization request conflicts with the cloud data; If there is no data conflict, data synchronization of the engineering geographic information project is directly performed and a new project version number is returned.
[0015] Further, the method further comprises: If the data to be synchronized in the current synchronization request conflicts with the cloud data, the cloud data is acquired at the client, differences between the updated cloud data and the local data are compared and displayed; The cloud data or the local data is selected to be retained according to the displayed data differences; If the cloud data is selected to be retained, the acquired cloud data is used to overwrite the local data and the project version number of the local data is updated; If the local data is selected to be retained, the local data is forcibly pushed to the cloud and a new project version number is returned.
[0016] In a second aspect, a file-based engineering geographic information project synchronization system is also provided, and the system comprises a cloud and a plurality of clients. The client is configured to initiate a synchronization request of an engineering geographic information project to the cloud. The conflict processing module is configured to detect whether a file being synchronized exists for the engineering geographic information project to be synchronized when receiving the synchronization request, and further configured to detect whether the file being synchronized conflicts with the file to be synchronized in the current synchronization request when detecting that the file being synchronized exists. The data synchronization module is configured to perform data synchronization of the engineering geographic information project when the file being synchronized does not conflict with the file to be synchronized in the current synchronization request. The version management module is configured to return a new project version number to the client after data synchronization of the current synchronization request is completed.
[0017] Compared with the prior art, the present application has the following beneficial effects: 1. By refining conflict detection to the file level, different users can synchronize different files of the same project at the same time, improving data synchronization efficiency. After the data synchronization of the current synchronization request is completed, the new project version number is returned to the client, updating the version number record of the client, and the version management of the engineering geographic information project can be well implemented; 2. Differentiated file synchronization can be achieved, providing a lightweight file differentiation synchronization mechanism, which can reduce network load. When initiating a synchronization request, only the incremental information (i.e., the difference file) is uploaded to the cloud, effectively reducing data transmission volume and improving data transmission efficiency; 3. Multi-client offline independent editing is supported, and conflict detection and synchronization can be completed with one key after network recovery, enhancing applicability, supporting engineering geographic information collaboration in a network-free environment, and being extendable to smart construction sites, field surveying and mapping, etc. 4. A cloud locking mechanism based on the file level is added. The locked object is the file, i.e., locking a certain file of a certain project. The purpose of locking the file is to prevent multiple users from simultaneously synchronizing data on a file, avoiding the risk of partial data overwrite and conflict.
[0018] Other features and advantages of the present application will be set forth in the following description, and in part will become apparent to those skilled in the art from the description, or can be learned by practice of the application. The objects and other advantages of the present application can be achieved and obtained by the structures indicated in the specification, claims and drawings.
[0019] The present application will be further described below with reference to the drawings. BRIEF DESCRIPTION OF DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiment or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained without creative labor based on these drawings.
[0021] Figure 1 The flowchart of the engineering geographic information project synchronization method based on files according to an embodiment of the present application is shown in the figure. Figure 2 The logic diagram of conflict detection according to an embodiment of the present application is shown in the figure. Figure 3 The overall flowchart of the engineering geographic information project synchronization method based on files according to an embodiment of the present application is shown in the figure. Figure 4 The architecture diagram of the engineering geographic information project synchronization system based on files according to an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION
[0022] For the purposes of making the objects, technical solutions and advantages of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0023] As shown in Figure 1 The embodiment of the present application provides a file-based engineering geographic information project synchronization method, which comprises the following steps: The client initiates a synchronization request of an engineering geographic information project to the cloud. The cloud detects whether there is a file being synchronized in the engineering geographic information project when receiving the synchronization request. If it is detected that there is a file being synchronized, it is further detected whether there is a conflict between the file being synchronized and the file to be synchronized in the current synchronization request. If there is no conflict between the file being synchronized and the file to be synchronized in the current synchronization request, the data synchronization of the engineering geographic information project is continued, and a new project version number is returned.
[0024] In the embodiment of the present application, the cloud stores a plurality of engineering geographic information projects (i.e. many projects exist simultaneously in the present scheme), one engineering geographic information project has a plurality of engineering files (referred to as files for short), and a plurality of data related to the engineering geographic information project are recorded in one file. In the above technical solution, the user can initiate a data synchronization request of the engineering geographic information project to the cloud through the client, and the detection of whether there is a file being synchronized in the engineering geographic information project is actually a judgment of whether the engineering geographic information project is being synchronized. The detection of whether there is a conflict between the file being synchronized and the file to be synchronized in the current synchronization request is actually a file conflict detection. When the synchronization files have no conflict, the data synchronization of the engineering geographic information project can be continued. By refining the conflict detection to the file level, different users can perform synchronization on different files of the same project at the same time, the data synchronization efficiency is improved, the new project version number is returned to the client after the data synchronization of the current synchronization request is completed, so that the version number record of the client is updated, and the version management of the engineering geographic information project can be well implemented.
[0025] As a preferred technical solution, the synchronization request carries local project information of the project to be synchronized, the local project information comprises a project ID, a project version number and incremental information, and the incremental information comprises data generated by adding, modifying or deleting operations on the files in the engineering geographic information project.
[0026] In this embodiment, the addition, deletion and modification are all expressed as incremental information. When the local (i.e., the client) needs to synchronize data, it first carries the local project information (mainly including the project ID, project version number and incremental information) to request to update the local data (i.e., to initiate a synchronization request). The project ID is the unique identifier of the engineering geographic information project and can be used to distinguish different engineering geographic information projects.
[0027] This embodiment can realize differentiated file synchronization and provides a lightweight file differentiation synchronization mechanism, which can reduce network load. Specifically, the client records the addition, modification and deletion operations of the local file, generates a difference log file (format example: { "action": "modify", "file_id": "A001", "timestamp": "2024-05-20T10:00"} ), and forms incremental information based on the difference log file. When initiating a synchronization request, only the incremental information (i.e., the difference file) is uploaded to the cloud, effectively reducing the data transmission amount and improving the data transmission efficiency.
[0028] As a preferred technical solution, the method further comprises: independently editing the file in the engineering geographic information project on the client in the offline state, locally saving the change record and forming the incremental information; after the network is restored, triggering the synchronization of the local engineering geographic information project to the cloud on the client and initiating a synchronization request to the cloud.
[0029] In this embodiment, the user can independently edit (i.e., add, modify or delete) the file in the engineering geographic information project on the client in the offline state, and save the change record locally. The data changes generated by offline editing form incremental information, which can be uploaded to the cloud together with the synchronization request during data synchronization. After the network is restored, the synchronization process is triggered, i.e., the synchronization of the local engineering geographic information project to the cloud is triggered on the client and a synchronization request is initiated to the cloud. This embodiment supports multiple clients to independently edit offline and completes conflict detection and synchronization with one key after the network is restored, enhancing the applicability. Since the present application supports engineering geographic information collaboration in a network-free environment, it can be extended to scenarios such as smart construction sites and field surveying.
[0030] An embodiment of offline editing and synchronization is given below, which is as follows: 1. The user uses the client APP to modify the engineering drawing (i.e., the engineering file) in the subway construction site (without network, i.e., offline state), and records the difference file (forms incremental information) locally; 2. After returning to the office and connecting to Wi-Fi (i.e., the network is restored), click the "one-key synchronization" button (i.e., trigger the synchronization process); 3. Get the latest version of the cloud, merge local modifications, if the drawing coordinates conflict, prompt the user to choose to retain the program (that is, choose to retain the cloud data or local data). In this embodiment, whether in offline state or online state, the editing is first completed on the client, and synchronization is performed on the premise that there is a network (that is, the client initiates a synchronization request for the engineering geographic information project to the cloud).
[0031] The embodiment of the application can well support offline independent editing, and the prior art is mostly a solution based on a browser + database, and in an offline case, because the basic data cannot be obtained from the server, editing cannot be performed.
[0032] As a preferred technical solution, the method further comprises: when the cloud receives the synchronization request, for the files to be synchronized in the current synchronization request, it is first judged whether all the files are first data synchronization; if all the files to be synchronized in the current synchronization request are first data synchronization, the cloud locks all the target files respectively; after the data synchronization of the current synchronization request is completed, all the files to be synchronized in the current synchronization request are unlocked.
[0033] The embodiment of the application adds a cloud locking mechanism based on the file level, in the embodiment, when it is judged whether a file is first data synchronization, if a file is not currently performing data synchronization, the file is first data synchronization, and if all the files to be synchronized in the current synchronization request are first data synchronization, it indicates that all the files to be synchronized in the current synchronization request are not currently performing data synchronization, and then the data synchronization of these files can be performed, so the cloud locks (that is, marks) all the target files respectively, the object of the locking in the embodiment is the file, that is, a file of a certain project is locked (that is, marked), if a file of a certain project is locked, it indicates that the file of the project is currently performing data synchronization. If at least one of the files to be synchronized in the current synchronization request is not first data synchronization, the cloud does not perform the locking operation. After the data synchronization of the current synchronization request is completed, all the files to be synchronized in the current synchronization request are unlocked, that is, the lock is released, and after a file is unlocked, it can be edited (that is, the data in the file is added, deleted or modified) by other users. The locking of the file is to prevent multiple users from simultaneously performing data synchronization on a file, and can avoid the risk of causing partial data to be overwritten and conflicted. The application adopts the cloud locking and conflict-free synchronization strategy, and supports multiple client parallel operations.
[0034] An embodiment of conflict processing of multi-person cooperation is given as follows: 1. User A and user B simultaneously edit the "pipeline layout" file of the same water conservancy project; 2. User A submits first, the cloud locks the file (i.e. target file); 3. When user B submits, the system detects that the target file is locked (conflict between pipeline node coordinate editing can be avoided by locking), and prompts "waiting for user A to complete synchronization". As shown in Figure 2 A logical diagram of conflict detection is provided, and the embodiment realizes conflict detection through a conflict processing module.
[0035] As a preferred technical solution, when the cloud receives a synchronization request, it detects whether there is a file being synchronized in the engineering geographic information project, including: When the cloud receives a synchronization request, it detects whether there is a locked file in the engineering geographic information project; If there is at least one locked file in the engineering geographic information project, it indicates that there is a file being synchronized in the engineering geographic information project; If there is no locked file in the engineering geographic information project, it indicates that there is no file being synchronized in the engineering geographic information project.
[0036] In this embodiment, by adding a cloud locking mechanism based on the file level, it is convenient to detect whether there is a file being synchronized in an engineering geographic information project. Since a file is locked, it indicates that the file is being synchronized. Therefore, by detecting whether there is a locked file in an engineering geographic information project, it can effectively determine whether there is a file being synchronized in the engineering geographic information project.
[0037] As a preferred technical solution, whether there is a conflict between the file being synchronized and the file to be synchronized in this synchronization request is detected, including: Detect whether all files to be synchronized in this synchronization request are locked; If there is at least one locked file in all files to be synchronized in this synchronization request, it indicates that there is a conflict between the file being synchronized and the file to be synchronized in this synchronization request; If none of the files to be synchronized in this synchronization request is locked, it indicates that there is no conflict between the file being synchronized and the file to be synchronized in this synchronization request.
[0038] In this embodiment, by adding a cloud locking mechanism based on the file level, it is convenient to detect whether there is a conflict between the file being synchronized and the file to be synchronized in this synchronization request. Since a file is locked, it indicates that the file is being synchronized. Therefore, by detecting whether all files to be synchronized in this synchronization request are locked, it can effectively determine whether there is a conflict between the file being synchronized and the file to be synchronized in this synchronization request.
[0039] As a preferred technical solution, the method further comprises: if the file being synchronized conflicts with the file to be synchronized in the current synchronization request, returning that there is a project synchronization conflict, and reminding the client initiating the synchronization request to attempt data synchronization again after an estimated waiting time.
[0040] In this embodiment, to avoid the risk of causing partial data to be overwritten and conflict, if the file being synchronized conflicts with the file to be synchronized in the current synchronization request, it is returned that there is data being synchronized, which will cause conflict, and the user is reminded to attempt data synchronization again after an estimated waiting time (the cloud can roughly estimate a time according to the data synchronization amount of the project being synchronized). In specific implementation, when a file conflict occurs, a conflict prompt pop-up window can be displayed on the APP interface (i.e., the user interface) of the client, facilitating reminding the client.
[0041] As a preferred technical solution, the method further comprises: If it is detected that there is no file being synchronized for the engineering geographic information project, it is determined whether the cloud data of the engineering geographic information project is updated; If the cloud data is not updated, data synchronization of the engineering geographic information project is directly performed and a new project version number is returned; If the cloud data is updated, it is determined whether the data to be synchronized in the current synchronization request conflicts with the cloud data; If there is no data conflict, data synchronization of the engineering geographic information project is directly performed and a new project version number is returned.
[0042] In this embodiment, the determination of whether the cloud data of the engineering geographic information project is updated and the determination of whether the data to be synchronized in the current synchronization request conflicts with the cloud data are further added, and through the two determinations, conflicts can be better handled and data synchronization can be performed, and through returning a new project version number in a timely manner, the local version number record can be updated by the client, thereby better achieving version management of the engineering geographic information project.
[0043] In some embodiments, whether the cloud data of the engineering geographic information project is updated is determined by comparing the difference between the local data and the cloud data.
[0044] In some embodiments, since the local project information carried by the synchronization request includes the project version number, whether the cloud data of the engineering geographic information project is updated can be quickly determined by directly comparing whether the project version number carried by the synchronization request is the same as the project version number of the corresponding project in the cloud.
[0045] As a preferred technical solution, the method further comprises: If there is a data conflict between the data to be synchronized in this synchronization request and the cloud data, the client obtains the cloud data, compares the updated data in the cloud with the local data, and displays the differences; Choose to keep cloud data or local data based on the displayed data differences; If you choose to keep the cloud data, the local data will be overwritten with the acquired cloud data and the local project version number will be updated; If you choose to keep local data, the local data will be forcibly pushed to the cloud and the new project version number will be returned.
[0046] In this embodiment, if cloud data is updated and there are data conflicts, the user is prompted to update the cloud data first. The user clicks to obtain the cloud data, and the differences between the updated cloud data and the local data are summarized and highlighted locally, allowing the user to quickly identify the differences between the cloud and local data and quickly decide whether to retain the cloud data or the local data. In specific implementation, a "One-click retain cloud / local" button can be set on the client app interface (i.e., user interface) to facilitate the user's choice of retaining cloud data or local data.
[0047] The present invention will be further described below with reference to the accompanying drawings and specific embodiments.
[0048] like Figure 3 As shown, a schematic diagram of the overall process of a file-based engineering geographic information project synchronization method is provided. Figure 3 middle: A. Initiate a synchronization request locally (i.e., on the client) to update local data. The synchronization request carries the local project information of the project to be synchronized. B. When the cloud receives a synchronization request, it will detect whether there are any files being synchronized for the project's geographic information project; C. If no files are being synchronized for the project, the local project information will be compared with the cloud data to determine whether the cloud data has been updated. In steps D and C, if the cloud data has not been updated, the data is synchronized directly and the latest data version number (i.e., the new project version number) is returned to the client. The client records the latest version number on the cloud. In steps E and B, if it is detected that a file of the project is being synchronized, it is further determined whether the file being synchronized conflicts with the file to be synchronized in this synchronization request; F. If there is no conflict in step E, synchronize the data directly and return the latest version number; G. If there is a conflict in step E, the system will return a message indicating that data is being synchronized, which will cause a conflict, and remind the user to try again after x amount of time (the estimated waiting time, which is estimated by the cloud). H、C step, if the cloud data has updates, further judge whether the data to be synchronized this time and the cloud data exist data conflict; I、H step, if it is judged that there is data conflict, the user is reminded to update the cloud data first, the user clicks to obtain the cloud data, the local data difference is summarized and combined with highlight display, which is convenient for the user to quickly identify the data difference between the cloud and the local, so that the user can quickly judge whether to keep the cloud data or the local data; J、H step, if it is judged that there is no data conflict, the data is directly synchronized, and the latest version number is returned.
[0049] In the above steps, the cloud records the update information in the form of version number (i.e. update version number record) every time the data is actually synchronized and updated, which is convenient for the administrator to conveniently roll back and recover on the web. The above technical solution simplifies the multi-person collaboration process through a user-friendly conflict resolution strategy.
[0050] In some embodiments, the above method further includes cloud version record and rollback, which can support rollback according to historical versions (modification records). Specifically, the cloud version record is realized through version marking, and the cloud version rollback refers to administrator rollback. The cloud record of the embodiment records the version history of each synchronization operation, and supports administrator rollback to a specified version. Since the present application supports the administrator to quickly trace back to any historical version, data loss caused by misoperation can be avoided, thereby effectively improving the data security.
[0051] Version marking: the cloud automatically generates a modification record version number (such as V2.1.3) after each file synchronization, and records the following metadata: { "version": "V2.1.3", "operator": "User A", "timestamp": "2024-05-20 14:30", "changed_files": ["land boundary.geojson": {tile1: "a->b", tile2: "n ull->a", title3: "a->null"}, "pipeline attribute table.csv": {tile1: "a->b", tile2: "null->a", title3: "a->null"}], } Administrator rollback: a time axis and version tree interface are provided on the administrator side, and one-key restoration of any historical version is supported. In implementation, the administrator can choose to roll back all at once. In some embodiments, the specified version of rollback can be performed only for one or several items specified in a certain project, while other parts are not affected.
[0052] An embodiment of the version rollback operation is given below, which is as follows: 1. The administrator finds that the engineering coordinate data of the latest version (V3.0) has errors; 2. Enter the cloud version management interface, and compare the change records of the historical version (V2.5); 3. Click the "Restore to V2.5" button, the system automatically covers the current version data, and generates a new version log (V3.1 marked as a rollback version).
[0053] The application actually provides a multi-end offline editing and cloud synchronization method based on file differentiation, which can support differential synchronization after offline editing, and can effectively solve the multi-end conflict problem, and can be applied to multi-person cooperation project management in the fields of building, surveying and mapping, natural resource management and the like.
[0054] As shown in Figure 4 The application embodiment further provides a file-based engineering geographic information project synchronization system, which comprises a cloud and a plurality of clients, the cloud comprises a data synchronization module, a conflict processing module and a version management module; The client is configured to initiate a synchronization request of the engineering geographic information project to the cloud; The conflict processing module is configured to detect whether there is a file being synchronized in the engineering geographic information project to be synchronized when receiving the synchronization request, and further detect whether there is a conflict between the file being synchronized and the file to be synchronized in the current synchronization request when detecting that there is a file being synchronized; The data synchronization module is configured to synchronize the data of the engineering geographic information project when there is no conflict between the file being synchronized and the file to be synchronized in the current synchronization request; The version management module is configured to return a new project version number to the client after the data synchronization of the current synchronization request is completed.
[0055] Among them, the cloud is a cloud server, the client is a local client, and the client is configured with an engineering geographic information project management APP, which can facilitate local editing and sending of a synchronization request to the cloud.
[0056] In some embodiments, the cloud further comprises a lock module, the lock module is configured to lock all target files respectively when all files to be synchronized in the current synchronization request are synchronized for the first time, and is further configured to unlock all target files respectively after the data synchronization of the current synchronization request is completed.
[0057] As to the system in the above-mentioned embodiments, the specific manner in which each unit module performs operations has been described in detail in the embodiments related to the method, and thus will not be described in detail here.
[0058] The file-based engineering geographic information project synchronization system provided in the embodiments of the present application is actually a multi-project management system deployed based on the cloud; the file-based engineering geographic information project synchronization method provided in the embodiments of the present application is specifically executed in the cloud, and there is no self-collapse or service interruption, so that it is not necessary to set a timeout automatic unlocking (for example, 10-minute timeout automatic unlocking). If the client suddenly drops offline in the data synchronization process, the cloud service will automatically roll back and release the lock.
[0059] In several embodiments provided in the present application, it should be understood that the disclosed system and method can be implemented in other ways. For example, the system embodiments described above are merely illustrative, for example, the division of the modules is only a logical functional division, and actual implementation can have another division manner, for example, a plurality of modules or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed systems or modules can be indirect coupling or communication connection between the systems or modules through some interfaces, and can be electrical, mechanical or other forms.
[0060] The modules described as separate components can or can not be physically separated, and the components displayed as modules can or can not be physical modules, that is, they can be located in one place or distributed on multiple network modules. Part or all of the modules can be selected according to actual needs to achieve the purpose of the present embodiment. In addition, the functional modules in each embodiment of the present application can be integrated in one processing module, or each module can exist physically, or two or more modules can be integrated in one module. The integrated module can be realized in the form of hardware or in the form of a software functional module.
[0061] The integrated module, if implemented in the form of a software function module and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various program code storage media.
[0062] It should be noted that, for the foregoing method embodiments, in order to facilitate description, they are all described as a combination of a series of actions, but those skilled in the art should know that the present application is not limited by the order of the described actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.
[0063] In the above embodiments, the description of each embodiment has its own emphasis, and the parts not described in detail in a certain embodiment can be referred to the related description of other embodiments.
[0064] The parts not involved in the above embodiments are the same as or can be implemented by the prior art, and will not be further described here.
[0065] Although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A file-based engineering geographic information project synchronization method, characterized in that: The method comprises: Initiate a synchronization request for the engineering geographic information project from the client to the cloud; When the cloud receives a synchronization request, it will detect whether there are any files being synchronized for the project's geographic information project; If it is detected that a file is being synchronized, further check whether the file being synchronized conflicts with the file to be synchronized in this synchronization request; If there is no conflict between the file being synchronized and the file to be synchronized in this synchronization request, the data synchronization of the engineering geographic information project will continue and the new project version number will be returned.
2. A file-based engineering geographic information project synchronization method according to claim 1, characterized in that: The synchronization request carries local project information of the project to be synchronized, wherein the local project information includes a project ID, a project version number, and incremental information, wherein the incremental information includes data generated by adding, modifying, or deleting files in the engineering geographic information project.
3. A file-based engineering geographic information project synchronization method according to claim 2, characterized in that: The method further comprises: Independently edit the files in the engineering geographic information project on the client in an offline state, save the change records locally and form the incremental information; After the network is restored, the client triggers the synchronization of the local engineering geographic information project to the cloud and initiates a synchronization request to the cloud.
4. A file-based engineering geographic information project synchronization method according to any one of claims 1 to 3, characterized in that: The method further comprises: When the cloud receives a synchronization request, it will first determine whether all files to be synchronized are being synchronized for the first time. If all files to be synchronized in this synchronization request are synchronized for the first time, the cloud will lock all target files separately; After the data synchronization of this synchronization request is completed, all files to be synchronized in this synchronization request are unlocked.
5. A file-based engineering geographic information project synchronization method according to claim 4, characterized in that: When the cloud receives a synchronization request, it detects whether there are any files being synchronized for the project's geographic information project, including: When the cloud receives a synchronization request, it will check whether there is a locked file in the project's geographic information project; If there is at least one locked file in the project geographic information project, it means that the project geographic information project has files being synchronized; If there is no locked file in the project geographic information project, it means that no file in the project geographic information project is being synchronized.
6. A file-based engineering geographic information project synchronization method according to claim 4, characterized in that: Checks whether the file being synchronized conflicts with the file to be synchronized in this synchronization request, including: Check whether all files to be synchronized in this synchronization request are locked; If there is at least one locked file among all the files to be synchronized in this synchronization request, it indicates that there is a conflict between the file being synchronized and the file to be synchronized in this synchronization request; If none of the files to be synchronized in this synchronization request are locked, it indicates that there is no conflict between the files being synchronized and the files to be synchronized in this synchronization request.
7. The method for synchronizing engineering geographic information projects based on files according to claim 1, characterized in that: The method further comprises: If the file being synchronized conflicts with the file to be synchronized in this synchronization request, a message notifying the client that initiated the synchronization request that there is a conflict in project synchronization will be sent, and the client will be reminded to try data synchronization again after the estimated waiting time.
8. A file-based engineering geographic information project synchronization method according to any one of claims 1 to 3, characterized in that: The method further comprises: If it is detected that no file of the project geographic information project is being synchronized, it is determined whether the cloud data of the project geographic information project is updated; If the cloud data is not updated, the data of the engineering geographic information project will be synchronized directly and the new project version number will be returned; If the cloud data is updated, determine whether there is a data conflict between the data to be synchronized in this synchronization request and the cloud data; If there is no data conflict, the data of the engineering geographic information project will be synchronized directly and the new project version number will be returned.
9. A file-based engineering geographic information project synchronization method according to claim 8, characterized in that: The method further comprises: If there is a data conflict between the data to be synchronized in this synchronization request and the cloud data, the client obtains the cloud data, compares the updated data in the cloud with the local data, and displays the differences; Choose to keep cloud data or local data based on the displayed data differences; If you choose to keep the cloud data, the local data will be overwritten with the acquired cloud data and the local project version number will be updated; If you choose to keep local data, the local data will be forcibly pushed to the cloud and the new project version number will be returned.
10. A file-based engineering geographic information project synchronization system, characterized in that: The system includes a cloud and several clients, wherein the cloud includes a data synchronization module, a conflict handling module and a version management module; The client is used to initiate a synchronization request for the engineering geographic information project to the cloud; The conflict handling module is used to detect whether there is a file being synchronized in the engineering geographic information project to be synchronized when a synchronization request is received, and is also used to further detect whether there is a conflict between the file being synchronized and the file to be synchronized in this synchronization request when it is detected that a file is being synchronized; The data synchronization module is used to synchronize the data of the engineering geographic information project when there is no conflict between the file being synchronized and the file to be synchronized in this synchronization request; The version management module is used to return the new project version number to the client after the data synchronization of this synchronization request is completed.
Citation Information
Patent Citations
Conflict detection method based on user-level file two-way synchronization
CN102945260A
Network storage system and file access conflict processing method thereof
CN103345482A
Information synchronization method, device and system
CN105007310A
Multi-person collaborative operation method for geographic information data production and updating
CN113568921A