Baseline solution method, device and equipment applied to network real-time dynamic positioning
By storing state data in middleware when the baseline solution service is interrupted and quickly recovering it when the service is restarted or upgraded, the quality degradation caused by NRTK service interruption is resolved, achieving rapid recovery and improved stability.
Patent Information
- Application Number
- CN202610794295.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-03
- Publication Date
- 2026-08-25
AI Technical Summary
In existing technologies, Network Real-Time Dynamic Localization (NRTK) services require re-convergence calculation after baseline calculation is interrupted, which leads to a decrease in service quality and a longer processing time.
By externalizing and storing state data in middleware when the baseline solution service is interrupted, and quickly recovering when the service restarts or is upgraded, baseline solution can continue using effective historical solution information, thus avoiding reconvergence.
It enables rapid recovery of baseline calculations after NRTK service interruption, improving system stability and real-time performance, and ensuring the quality of NRTK services.
Smart Images

Figure CN122632292A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of positioning service technology, and in particular to a baseline calculation method, apparatus and equipment for real-time dynamic positioning of a network. Background Technology
[0002] Network Real-Time Kinematic (NRTK) is a high-precision positioning technology based on the Global Navigation Satellite System (GNSS), widely used in surveying, autonomous driving, precision agriculture, and other fields. One of the core modules of NRTK services is baseline calculation, which is responsible for calculating the relative positions (baselines) between reference stations, providing data support for subsequent atmospheric modeling and differential correction.
[0003] In existing technologies, baseline solutions rely on Melbourne-Wübbena Smoothing (MW Smoothing) and Kalman filtering, which require continuous calculations using historical data (such as ambiguity estimation data from the previous epoch).
[0004] However, in the above method, if the baseline calculation service is interrupted and historical data is lost, the calculation must be re-converged, which takes a long time and affects the quality of NRTK service. Summary of the Invention
[0005] This application provides a baseline calculation method, apparatus, and device based on real-time dynamic positioning services, which can quickly recover when the baseline calculation service is restarted or upgraded, avoiding re-convergence and ensuring the quality of NRTK services.
[0006] In a first aspect, embodiments of this application provide a baseline calculation method for real-time dynamic positioning in a network, including:
[0007] In response to the recovery of the baseline resolution service after an interruption, the status data of the target baseline is obtained from the middleware based on the baseline resolution service; wherein, the status data is stored before the baseline resolution service was interrupted;
[0008] The status data is verified to obtain the verification result;
[0009] If the verification result indicates that the state data is valid, baseline calculation is continued on the historical calculation information in the state data to obtain the calculation result of the target baseline.
[0010] In one possible implementation, the step of responding to a recovery after a baseline resolution service interruption, and obtaining the target baseline status data from the middleware based on the baseline resolution service, includes:
[0011] In response to the recovery of the baseline resolution service after an interruption, the serialized data corresponding to the target baseline is obtained from the middleware; wherein, the serialized data is obtained by serializing the state data of the target baseline before the interruption of the baseline resolution service;
[0012] The serialized data is deserialized to obtain the state data of the target baseline.
[0013] In one possible implementation, the status data further includes key-value information; the key-value information includes a baseline identifier and a subnet identifier.
[0014] In one possible implementation, prior to the recovery in response to a baseline resolution service interruption, the method further includes:
[0015] Baseline calculation is performed on the ephemeris data and observation data of the two end stations corresponding to the target baseline to obtain the historical calculation results corresponding to the target baseline;
[0016] The historical solution results are stored in the middleware.
[0017] In one possible implementation, the step of verifying the state data to obtain a verification result includes:
[0018] If the difference between the current time and the recording time of the status data is determined to be less than a preset threshold, then the identification information of the status data is verified to obtain the verification result.
[0019] In one possible implementation, the step of verifying the identification information of the state data to obtain the verification result includes:
[0020] If it is determined that the baseline identifier in the identifier information of the status data is consistent with the baseline identifier in the current identifier information of the target baseline, and it is determined that the subnet identifier in the identifier information of the status data is consistent with the subnet identifier in the current identifier information, then the receiver identifier in the identifier information of the status data is verified.
[0021] If it is determined that the receiver identifier in the identification information of the status data is consistent with the receiver identifier in the current identification information, then the verification result indicates that the status data is valid.
[0022] In one possible implementation, the method further includes:
[0023] If it is determined that the baseline identifier in the identifier information of the status data is inconsistent with the baseline identifier in the current identifier information of the target baseline, and / or, it is determined that the subnet identifier in the identifier information of the status data is inconsistent with the subnet identifier in the current identifier information, then the verification result indicates that the status data is invalid.
[0024] And / or, if it is determined that the receiver identifier in the identification information of the status data is inconsistent with the receiver identifier in the current identification information, then the verification result indicates that the status data is invalid.
[0025] In one possible implementation, the method further includes:
[0026] If the difference between the current time and the recording time of the status data is greater than or equal to the preset threshold, then the verification result indicates that the status data is invalid.
[0027] In one possible implementation, the method further includes:
[0028] If it is determined that the status data of the target baseline cannot be obtained from the middleware, then the status data of the target baseline is generated according to the baseline identifier, subnet identifier, receiver identifier and time-necessary information corresponding to the target baseline.
[0029] The state data is stored in the middleware.
[0030] Secondly, embodiments of this application provide a baseline calculation device for real-time dynamic positioning in a network, comprising:
[0031] The acquisition module is used to, in response to the recovery of the baseline solving service after an interruption, acquire the status data of the target baseline from the middleware based on the baseline solving service; wherein, the status data is stored before the baseline solving service was interrupted;
[0032] The verification module is used to verify the status data and obtain the verification result;
[0033] The calculation module is used to perform baseline calculation on the historical calculation information in the state data if it is determined that the verification result indicates that the state data is valid, so as to obtain the calculation result of the target baseline.
[0034] In one possible implementation, the acquisition module is specifically configured to: in response to the recovery of the baseline resolution service after an interruption, acquire serialized data corresponding to the target baseline from the middleware; wherein the serialized data is obtained by serializing the state data of the target baseline before the interruption of the baseline resolution service; and deserialize the serialized data to obtain the state data of the target baseline.
[0035] In one possible implementation, the status data further includes key-value information; the key-value information includes a baseline identifier and a subnet identifier.
[0036] In one possible implementation, before the baseline calculation service is restored after an interruption, the acquisition module is further specifically configured to: perform baseline calculation on the ephemeris data and end station observation data corresponding to the target baseline to obtain the historical calculation results corresponding to the target baseline; and store the historical calculation results in the middleware.
[0037] In one possible implementation, the verification module is specifically used to: if the difference between the current time and the recording time of the status data is less than a preset threshold, then perform verification processing on the identification information of the status data to obtain the verification result.
[0038] In one possible implementation, the verification module is specifically configured to: if it is determined that the baseline identifier in the identification information of the status data is consistent with the baseline identifier in the current identification information of the target baseline, and it is determined that the subnet identifier in the identification information of the status data is consistent with the subnet identifier in the current identification information, then verify the receiver identifier in the identification information of the status data; if it is determined that the receiver identifier in the identification information of the status data is consistent with the receiver identifier in the current identification information, then determine that the verification result indicates that the status data is valid.
[0039] In one possible implementation, the verification module is specifically configured to: determine that the verification result indicates the state data is invalid if it is determined that the baseline identifier in the identification information of the state data is inconsistent with the baseline identifier in the current identification information of the target baseline, and / or, the subnet identifier in the identification information of the state data is inconsistent with the subnet identifier in the current identification information; and / or, determine that the verification result indicates the state data is invalid if it is determined that the receiver identifier in the identification information of the state data is inconsistent with the receiver identifier in the current identification information.
[0040] In one possible implementation, the verification module is specifically configured to: if the difference between the current time and the recording time of the status data is greater than or equal to the preset threshold, then determine that the verification result indicates that the status data is invalid.
[0041] In one possible implementation, the apparatus is further configured to: if it is determined that the status data of the target baseline cannot be obtained from the middleware, generate the status data of the target baseline based on the baseline identifier, subnet identifier, receiver identifier and time-necessary information corresponding to the target baseline; and store the status data in the middleware.
[0042] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor;
[0043] The memory stores computer-executed instructions;
[0044] The processor executes computer execution instructions stored in the memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.
[0045] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect.
[0046] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.
[0047] The baseline calculation method, apparatus, and device for real-time dynamic positioning of the network provided in this application obtain the target baseline status data stored before the baseline calculation service interruption from the middleware when the baseline calculation service is restored after an interruption. The status data is then verified. When the status data is determined to be valid, the historical calculation information in the status data is used to continue the baseline calculation to obtain the calculation result of the target baseline. Furthermore, by externalizing the status data of the baseline calculation and storing it in the middleware, and quickly restoring it when the baseline calculation service is restarted or upgraded, re-convergence is avoided, thereby ensuring the quality of the NRTK service. Attached Figure Description
[0048] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0049] Figure 1 A schematic diagram of a multi-base station network based on NRTK provided in this application;
[0050] Figure 2 A flowchart illustrating a baseline calculation method for real-time dynamic positioning in a network, provided as an embodiment of this application;
[0051] Figure 3 A flowchart illustrating another baseline calculation method for real-time dynamic positioning in a network, provided in an embodiment of this application;
[0052] Figure 4 A baseline solution data exchange flowchart is provided for an embodiment of this application;
[0053] Figure 5 A schematic diagram illustrating a status data validity determination and update process provided in an embodiment of this application;
[0054] Figure 6 A schematic diagram of a baseline calculation device for real-time dynamic positioning in a network, provided in an embodiment of this application;
[0055] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0056] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0057] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0058] It should be noted that this application can be used in the field of location services, or in any field other than location services; the application field of this application is not limited.
[0059] Figure 1 A schematic diagram of a multi-base station network based on NRTK is provided for this application, as shown below. Figure 1As shown, A, B, C, D, E, F, and G are all Continuously Operating Reference System (CORS) base stations. A is the master station, with corresponding baselines AB, AC, AD, AE, AF, and AG. The virtual reference station (VRS) grids under the master station are a, b, c, d, e, and f. Baseline solution for each baseline relies on MW smoothing and Kalman filtering, requiring continuous calculation using historical data (such as ambiguity estimates from the previous epoch).
[0060] Based on the above scenarios, if the baseline calculation service is interrupted and historical data is lost, the calculation must be re-converged, which takes a long time and affects the quality of the NRTK service.
[0061] The baseline calculation method for real-time dynamic positioning of the network provided in this application solves the technical problem of low NRTK service quality caused by re-convergence calculation by externalizing the state data of the baseline calculation and storing it in middleware, and quickly restoring it when the baseline calculation service is restarted or upgraded.
[0062] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0063] Figure 2 This application provides a flowchart illustrating a baseline calculation method for real-time dynamic positioning in a network, as illustrated in the embodiments of this application. Figure 2 As shown, the method includes:
[0064] 201. In response to the recovery after the baseline solution service is interrupted, the target baseline status data is obtained from the middleware based on the baseline solution service; wherein, the status data is stored before the baseline solution service was interrupted.
[0065] For example, the execution subject of this embodiment may be an electronic device, hereinafter referred to as a device. The latest unit of baseline calculation is a baseline, and the calculation of a baseline is used as an example for explanation here.
[0066] The device deploys NRKT services and middleware, including a baseline resolution service module. Based on this service, during the baseline resolution process, intermediate data used in the convergence calculation, including MW smoothing parameters, Kalman filter data, and ambiguity estimation data, are identified as the current baseline resolution service's state data. This data characterizes the current service status of the baseline resolution service. When the baseline resolution service is being upgraded, to avoid interrupting the upgrade, the current baseline resolution service's state data can be stored in the middleware, rather than relying solely on memory.
[0067] The middleware can be a database with caching capabilities, such as a remote dictionary server (Redis). Simultaneously, the baseline calculation service can persistently save the baseline calculation results to this middleware during the baseline calculation process. Redis can be configured with high availability or disaster recovery mechanisms to prevent Redis failures or data loss.
[0068] When the baseline solution service is interrupted and then resumed, the target baseline's state data stored before the interruption can be directly read from the middleware based on the baseline solution service, and used to restore the baseline solution state of the baseline solution service.
[0069] 202. Verify the status data and obtain the verification results.
[0070] For example, before restoring the baseline solution state of the baseline solution service, the obtained state data is verified to obtain the verification result, so as to determine whether the state data is valid.
[0071] Specifically, the data format of the obtained status data can be compared with the preset data format, which is the format of the status data stored before the baseline calculation service was interrupted. If it is determined that the data format of the status data is consistent with the preset data format, it is determined that the status data has not been tampered with, that is, the status data is valid; otherwise, the status data is invalid.
[0072] 203. If the verification result indicates that the state data is valid, continue to perform baseline calculation on the historical solution information in the state data to obtain the solution result of the target baseline.
[0073] For example, if the acquired state data is determined to be valid, historical solution information is extracted from the state data, including, for example, the MW smoothing parameters, Kalman filter data, and ambiguity estimation data of the previous epoch, to restore the baseline solution state. Based on the baseline solution service, baseline solution is continued according to this historical solution information, avoiding recalculation of historical data and achieving instantaneous recovery; thus, the solution result of the target baseline can be quickly obtained for NRTK service processing.
[0074] It is worth adding that the upgrade can be performed by switching the baseline solution service. That is, first enable the baseline solution service to upgrade to the new version, and after running for a period of time and the baseline is fixed, switch the downstream modules to the new baseline solution service, and then stop the old baseline solution service to effectively solve the NRTK service interruption problem.
[0075] This embodiment provides a baseline calculation method for real-time dynamic positioning in a network. By externalizing storage and quickly restoring the baseline calculation state, it effectively solves the NRTK service interruption problem and improves the stability and real-time performance of the system.
[0076] Figure 3 A flowchart illustrating another baseline calculation method for real-time dynamic positioning in a network, provided in an embodiment of this application, is shown below. Figure 3 As shown, the method includes:
[0077] 301. In response to the recovery of the baseline solution service after an interruption, the serialized data corresponding to the target baseline is obtained from the middleware; wherein, the serialized data is obtained by serializing the state data of the target baseline before the baseline solution service was interrupted.
[0078] The status data also includes key-value information; the key-value information includes baseline identifier and subnet identifier.
[0079] For example, based on the baseline resolution service, during the baseline resolution process, the intermediate data used in the convergence calculation, including MW smoothing parameters, Kalman filter data, and ambiguity estimation data, are determined as the current baseline resolution service's state data to characterize its service status. When the baseline resolution service is upgraded, to avoid interrupting the upgrade, when resolving against the target baseline, the current baseline resolution service's state data can be serialized to obtain the serialized data corresponding to the target baseline—that is, state data with a serialized format—which is persistently stored in the middleware, rather than relying solely on memory.
[0080] This can be achieved by using a compact binary serialization scheme (such as Protocol Buffers) to serialize the state data. Simultaneously, during the baseline resolution process, the baseline resolution service can also serialize the results and persistently save them to this middleware.
[0081] When the baseline solution service is interrupted and then resumed, the serialized state data of the target baseline stored before the baseline solution service was interrupted can be directly read from the middleware based on the baseline solution service. This serialized data can then be used to restore the baseline solution state of the baseline solution service.
[0082] The state data saved in the middleware can be stored in key-value pairs. That is, the key information (key) of the state data stored in Redis is the subnet identifier and the baseline identifier. For example, the subnet identifier (ID) + the baseline ID can represent a unique baseline identifier.
[0083] By storing state data in key-value pairs using baseline identifiers, the system is fast and easily scalable, enabling it to easily handle massive amounts of data and high-concurrency access. It also provides great flexibility for handling complex scenarios, making it particularly suitable for latency-sensitive scenarios.
[0084] In one possible implementation, before the baseline calculation service is restored after an interruption, the method further includes: performing baseline calculation on the ephemeris data and end station observation data corresponding to the target baseline to obtain historical calculation results corresponding to the target baseline; and storing the historical calculation results in middleware.
[0085] For example, before the baseline calculation service is restored after an interruption, i.e. before the baseline calculation service is interrupted, the ephemeris data and observation data of the two end stations corresponding to the target baseline can be obtained to perform baseline calculation, and the calculation result corresponding to the target baseline can be obtained, i.e., the historical calculation result can be obtained; and the historical calculation result can be stored in the middleware.
[0086] The historical solution can be serialized using a compact binary serialization scheme (such as JSON or Protocol Buffers) and then stored in the middleware. The serialization format can be deployed across different machines to avoid byte order issues between different machines.
[0087] For example, Figure 4 A baseline solution data exchange flowchart is provided for embodiments of this application, such as... Figure 4As shown, the baseline calculation service obtains broadcast ephemeris data and baseline end-station observation data from external sources for calculation, obtaining the baseline calculation result, and simultaneously saving the baseline calculation result to the middleware Redis. To avoid interrupting upgrades, the baseline calculation service needs to periodically synchronize and save baseline status data to the middleware Redis. When the service restarts or a station goes offline / offline, the baseline status data can be retrieved from Redis for local caching, historical calculation information can be obtained from the status data, and then the baseline calculation can be performed. The baseline is fixed for one epoch, and the calculation result is output. To address the high Redis traffic caused by storing and retrieving all status data from Redis, a local cache of status data is added to the baseline calculation service, saving it to Redis at regular intervals. The interval can be adjusted from 1 second to 60 seconds, configurable according to actual needs.
[0088] By serializing and storing the baseline solution results in the middleware Redis, data transmission overhead can be reduced, the number of direct accesses to Redis can be significantly reduced, and the amount of computation and access pressure can be reduced.
[0089] In one possible implementation, the method further includes: if it is determined that the status data of the target baseline cannot be obtained from the middleware, then generating the status data of the target baseline based on the baseline identifier, subnet identifier, receiver identifier and time-necessary information corresponding to the target baseline; and storing the status data in the middleware.
[0090] For example, Figure 5 This is a schematic diagram illustrating a status data validity determination and update process provided in an embodiment of this application, as shown below. Figure 5 As shown, when using state data, the initial baseline calculation must be considered. If the corresponding baseline state data cannot be obtained from the middleware, empty state data can be input to initialize the empty state. In this case, it is considered that the baseline is being calculated for the first time, and the baseline ID, subnet ID, receiver ID, and necessary time information need to be saved in the state data. The current necessary time information includes the current calculation epoch time, and the state data is stored in the middleware. At the same time, these fixed values are not processed when resetting the baseline later; only the baseline smoothing and filtering related data are reset.
[0091] 302. Deserialize the serialized data to obtain the state data of the target baseline.
[0092] For example, combined Figure 5 After the first solution, the state data contains the baseline history data, i.e., the historical solution information. When the baseline solution starts, the state data can be deserialized to obtain the state data of the target baseline, restore the state at the end of the previous epoch, and then start the solution of the current epoch based on the historical solution information in the state data.
[0093] In this process, deserialization can be performed using the previously used serialization tools. For example, if a compact binary serialization scheme (such as JSON or Protocol Buffers) is used to serialize the state data, then the state data needs to be deserialized using a JSON serialization tool or a Protocol Buffers serialization tool.
[0094] To address compatibility issues with state data, it is serialized and stored, allowing it to be used normally across different machines without worrying about byte order. This significantly reduces the pressure on the backend database. Simultaneously, local caching reduces the frequency of Redis access, avoiding short-term high concurrency. State recovery does not require recalculating historical data, reducing the load on the Central Processing Unit (CPU) to balance real-time performance and transmission performance.
[0095] 303. If the difference between the current time and the recording time of the status data is less than a preset threshold, the identification information of the status data is verified to obtain the verification result.
[0096] For example, to ensure the reliability of status data, the recording time and identification information of the status data can be verified; specifically, the current time is determined, and the difference between the current time and the recording time of the status data is calculated. If the difference is determined to be less than a preset threshold, for example, combined with... Figure 5 If the current time minus the recording time of the status data is less than 600 seconds, indicating that the status data has not expired, then the identification information of the status data is validated to obtain the validation result. The preset threshold can be designed by the user according to specific circumstances; no restrictions are imposed here.
[0097] Furthermore, the content of the identifier information in the status data can be compared with the preset identifier information. If it is determined that the content of the identifier information in the status data is consistent with the preset identifier information, the status data is determined to be valid. If it is determined that the content of the identifier information in the status data is inconsistent with the preset identifier information, it indicates that the status data has been tampered with or has other abnormal issues, and the status data is determined to be invalid.
[0098] In one possible implementation, step 303 further includes: if the difference between the current time and the recording time of the status data is greater than or equal to a preset threshold, then the verification result indicates that the status data is invalid.
[0099] Specifically, in combination Figure 5The system determines the current time and calculates the difference between the current time and the recording time of the status data. This difference is compared with a preset threshold. If the difference is greater than or equal to the preset threshold (e.g., the current time minus the recording time of the status data is greater than or equal to 600 seconds), the status data is considered expired and invalid. In this case, the baseline ID, subnet ID, receiver ID, and necessary time information need to be re-entered and stored as new status data in the middleware. This new status data can be stored in a serialized format.
[0100] By verifying the recording time and identification information of status data, problems such as data tampering can be avoided, ensuring the validity of status data and thus improving the reliability and quality of services.
[0101] In one possible implementation, step 303 includes the following steps:
[0102] The first step is to verify the receiver identifier in the status data if the baseline identifier in the status data identification information is consistent with the baseline identifier in the current identification information of the target baseline, and if the subnet identifier in the status data identification information is consistent with the subnet identifier in the current identification information.
[0103] The second step is to determine that if the receiver identifier in the identification information of the status data is consistent with the receiver identifier in the current identification information, then the verification result indicates that the status data is valid.
[0104] In one possible implementation, step 303 further includes:
[0105] The third step is to determine that if the baseline identifier in the identification information of the determined state data is inconsistent with the baseline identifier in the current identification information of the target baseline, and / or, if the subnet identifier in the identification information of the determined state data is inconsistent with the subnet identifier in the current identification information, then the verification result indicates that the state data is invalid. And / or, if the receiver identifier in the identification information of the determined state data is inconsistent with the receiver identifier in the current identification information, then the verification result indicates that the state data is invalid.
[0106] Specifically, the identification information in the status data includes subnet identifier, baseline identifier, and receiver identifier. Combined with... Figure 5Once the difference between the current time and the recording time of the status data is determined to be less than a preset threshold, indicating that the status data has not expired, the identification information of the current status data of the baseline solution service can be obtained, i.e., the current identification information is obtained. The baseline identifier in the current identification information is compared with the baseline identifier in the current identification information. If it is determined that the baseline identifier in the current identification information of the status data is consistent with the baseline identifier in the current identification information of the target baseline, the subnet identifier in the current identification information is compared with the subnet identifier in the current identification information. If it is determined that the subnet identifier in the current identification information is also consistent with the subnet identifier in the current identification information, the receiver identifier in the current identification information is verified to determine whether the receivers at both ends of the input corresponding to the target baseline have switched. Specifically, if it is determined that the receiver identifier in the current identification information is also consistent with the receiver identifier in the current identification information, the status data is determined to be valid. The receiver identifier includes the receiver IDs at both ends of the input corresponding to the target baseline.
[0107] After comparing the baseline identifier in the current identifier information with the baseline identifier in the current identifier information of the status data, if the baseline identifier in the current identifier information of the status data is inconsistent with the baseline identifier in the current identifier information of the target baseline, the input status data is considered invalid, and an error is reported directly. And / or, after comparing the subnet identifier in the current identifier information with the subnet identifier in the current identifier information, if the subnet identifier in the current identifier information is inconsistent with the subnet identifier in the current identifier information, the input status data is also considered invalid, and a failure reason can be returned: the status data does not match the current solution baseline. And / or, after comparing the subnet identifier in the current identifier information with the subnet identifier in the current identifier information, if the receiver identifier in the current identifier information is inconsistent with the receiver identifier in the current identifier information, the status data is determined to be invalid. In this case, the status data needs to be reset, and the receiver identifier in the status data's identifier information needs to be updated.
[0108] After confirming that the acquired state data is valid, baseline calculation is continued based on the historical calculation information in the state data to obtain the calculation result of the target baseline.
[0109] By verifying the recording time and identification information of the status data, the validity of the status data can be further guaranteed, thereby improving the reliability of the data and enhancing the service quality of NRTK.
[0110] 304. If the verification result indicates that the state data is valid, continue to perform baseline calculation on the historical solution information in the state data to obtain the solution result of the target baseline.
[0111] For example, this step can be referred to as step 203, which will not be repeated here.
[0112] In this embodiment, based on the above embodiments, by storing the state data in the middleware Redis in a serialized manner, the state data is retrieved from Redis when the service restarts or is upgraded, and the state before the restart is restored after confirming that the state data is valid, the baseline solution service can be upgraded without interruption.
[0113] Figure 6 This application provides a schematic diagram of the structure of a baseline calculation device for real-time dynamic positioning in a network, as shown in the embodiments of this application. Figure 6 As shown, the device includes:
[0114] The acquisition module 401 is used to obtain the status data of the target baseline from the middleware based on the baseline calculation service in response to the recovery after the baseline calculation service is interrupted.
[0115] The verification module 402 is used to verify the status data and obtain the verification result;
[0116] The calculation module 403 is used to continue baseline calculation on the historical calculation information in the state data if the verification result indicates that the state data is valid, so as to obtain the calculation result of the target baseline.
[0117] In one possible implementation, the acquisition module 401 is specifically used to: in response to the recovery of the baseline solution service after interruption, acquire serialized data corresponding to the target baseline from the middleware; wherein the serialized data is obtained by serializing the state data of the target baseline before the baseline solution service was interrupted; and deserialize the serialized data to obtain the state data of the target baseline.
[0118] In one possible implementation, the status data also includes key-value information; the key-value information includes a baseline identifier and a subnet identifier.
[0119] In one possible implementation, before the baseline calculation service is restored after an interruption, the acquisition module 401 is further specifically used to: perform baseline calculation on the ephemeris data and observation data of the two end stations corresponding to the target baseline to obtain the historical calculation results corresponding to the target baseline; and store the historical calculation results in the middleware.
[0120] In one possible implementation, the verification module 402 is specifically used to: if the difference between the current time and the recording time of the status data is determined to be less than a preset threshold, then perform verification processing on the identification information of the status data to obtain a verification result.
[0121] In one possible implementation, the verification module 402 is specifically used to: verify the receiver identifier in the identification information of the status data if the baseline identifier in the current identification information of the target baseline is consistent with the baseline identifier in the identification information of the status data, and verify the subnet identifier in the identification information of the status data is consistent with the subnet identifier in the current identification information; and verify the receiver identifier in the identification information of the status data if the receiver identifier in the identification information of the status data is consistent with the receiver identifier in the current identification information.
[0122] In one possible implementation, the verification module 402 is specifically configured to: determine that the verification result indicates the state data is invalid if the baseline identifier in the identification information of the determined state data is inconsistent with the baseline identifier in the current identification information of the target baseline, and / or, the subnet identifier in the identification information of the determined state data is inconsistent with the subnet identifier in the current identification information; and / or, determine that the verification result indicates the state data is invalid if the receiver identifier in the identification information of the determined state data is inconsistent with the receiver identifier in the current identification information.
[0123] In one possible implementation, the verification module 402 is specifically used to: determine that the verification result indicates that the state data is invalid if the difference between the current time and the recording time of the state data is greater than or equal to a preset threshold.
[0124] In one possible implementation, the apparatus is further configured to: if it is determined that the status data of the target baseline cannot be obtained from the middleware, generate the status data of the target baseline based on the baseline identifier, subnet identifier, receiver identifier and time-necessary information corresponding to the target baseline; and store the status data in the middleware.
[0125] The apparatus in this embodiment can execute the technical solutions in the above method. Its specific implementation process and technical principles are the same, and will not be repeated here.
[0126] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 7 As shown, the electronic device includes: a memory 501 and a processor 502; the memory 501 is a memory used to store instructions executable by the processor 502.
[0127] The processor 502 is configured to perform the method provided in the above embodiments.
[0128] The electronic device also includes a receiver 503 and a transmitter 504. The receiver 503 is used to receive instructions and data sent by other devices, and the transmitter 504 is used to send instructions and data to external devices.
[0129] The specific implementation process of the processor can be found in the above method embodiments, and its implementation principle and technical effect are similar, so it will not be repeated here.
[0130] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0131] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed on a computer, cause the computer to perform the technical solutions described above.
[0132] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory, electrically erasable programmable read-only memory, erasable programmable read-only memory, programmable read-only memory, read-only memory, magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0133] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. The readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an application-specific integrated circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in a device.
[0134] This application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium, and when the at least one processor executes the computer program, it can implement the technical solutions in the above embodiments.
[0135] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0136] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as magnetic disks or optical disks.
[0137] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A baseline calculation method for real-time dynamic positioning in networks, characterized in that, include: In response to the recovery of the baseline resolution service after an interruption, the status data of the target baseline is obtained from the middleware based on the baseline resolution service; wherein, the status data is stored before the baseline resolution service was interrupted; The status data is verified to obtain the verification result; If the verification result indicates that the state data is valid, baseline calculation is continued on the historical calculation information in the state data to obtain the calculation result of the target baseline.
2. The method according to claim 1, characterized in that, The response to the recovery after the baseline resolution service interruption includes obtaining the target baseline status data from the middleware based on the baseline resolution service, including: In response to the recovery of the baseline resolution service after an interruption, the serialized data corresponding to the target baseline is obtained from the middleware; wherein, the serialized data is obtained by serializing the state data of the target baseline before the interruption of the baseline resolution service; The serialized data is deserialized to obtain the state data of the target baseline.
3. The method according to claim 2, characterized in that, The status data also includes key-value information; the key-value information includes a baseline identifier and a subnet identifier. Alternatively, prior to the recovery of the baseline resolution service after an interruption, the method further includes: Baseline calculation is performed on the ephemeris data and observation data of the two end stations corresponding to the target baseline to obtain the historical calculation results corresponding to the target baseline; The historical solution results are stored in the middleware.
4. The method according to claim 1, characterized in that, The step of verifying the state data to obtain the verification result includes: If the difference between the current time and the recording time of the status data is determined to be less than a preset threshold, then the identification information of the status data is verified to obtain the verification result.
5. The method according to claim 4, characterized in that, The verification process for the identifier information of the status data to obtain the verification result includes: If it is determined that the baseline identifier in the identifier information of the status data is consistent with the baseline identifier in the current identifier information of the target baseline, and it is determined that the subnet identifier in the identifier information of the status data is consistent with the subnet identifier in the current identifier information, then the receiver identifier in the identifier information of the status data is verified. If it is determined that the receiver identifier in the identification information of the status data is consistent with the receiver identifier in the current identification information, then the verification result indicates that the status data is valid.
6. The method according to claim 5, characterized in that, The method further includes: If it is determined that the baseline identifier in the identifier information of the status data is inconsistent with the baseline identifier in the current identifier information of the target baseline, and / or, it is determined that the subnet identifier in the identifier information of the status data is inconsistent with the subnet identifier in the current identifier information, then the verification result indicates that the status data is invalid. And / or, if it is determined that the receiver identifier in the identification information of the status data is inconsistent with the receiver identifier in the current identification information, then the verification result indicates that the status data is invalid.
7. The method according to claim 4, characterized in that, The method further includes: If the difference between the current time and the recording time of the status data is greater than or equal to the preset threshold, then the verification result indicates that the status data is invalid.
8. The method according to any one of claims 1-7, characterized in that, The method further includes: If it is determined that the status data of the target baseline cannot be obtained from the middleware, the status data of the target baseline is generated according to the baseline identifier, subnet identifier, receiver identifier and time-necessary information corresponding to the target baseline. The state data is stored in the middleware.
9. A baseline calculation device for real-time dynamic positioning in a network, characterized in that, include: The acquisition module is used to, in response to the recovery of the baseline solving service after an interruption, acquire the status data of the target baseline from the middleware based on the baseline solving service; wherein, the status data is stored before the baseline solving service was interrupted; The verification module is used to verify the status data and obtain the verification result; The calculation module is used to perform baseline calculation on the historical calculation information in the state data if it is determined that the verification result indicates that the state data is valid, so as to obtain the calculation result of the target baseline.
10. An electronic device, characterized in that, include: Memory, processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-8.
11. A computer-readable storage medium / computer program product, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-8; And / or, the computer program product includes: a computer program that, when executed by a processor, implements the method of any one of claims 1-8.