A data transmission method and system for single-terminal multi-GNSS device
Patent Information
- Application Number
- CN202610296956.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-12
- Publication Date
- 2026-05-29
- Estimated Expiration
- 2046-03-12
Smart Images

Figure CN121814188B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of Global Navigation Satellite System (GNSS) data transmission technology, and particularly relates to a data transmission method and system for a single terminal with multiple GNSS devices. Background Technology
[0002] The statements in this section are merely background information related to the present invention and do not necessarily constitute prior art.
[0003] With the rapid development of GNSS technology, its applications have expanded to cover a wide range of industries, including military, resource and environmental monitoring, disaster prevention and mitigation, surveying and mapping, power and telecommunications, urban management, engineering construction, machinery control, transportation, and agriculture. GNSS technology, with its high precision, all-weather capability, high efficiency, and multifunctionality, has greatly improved the efficiency and reliability of surveying operations and effectively reduced the workload of technicians in conventional surveying projects.
[0004] In practical applications, we often encounter scenarios where a single computer terminal needs to connect to multiple GNSS devices simultaneously, and there are often multiple such computer terminals working in parallel. In this distributed environment, it is necessary to collect and forward the data generated by all GNSS devices connected to different terminals to a data aggregation server in order to achieve centralized management and data processing.
[0005] Existing technologies have significant technical shortcomings in data transmission: insufficient manageability of data reception and forwarding, making it impossible to independently control the data reception and forwarding of each GNSS device; lack of an effective service status monitoring mechanism, making it impossible to monitor the operational status of data reception and forwarding services in real time; lack of automatic restart function after service interruption, resulting in poor fault tolerance and stability; and difficulty in centrally monitoring and configuring data transmission from multiple GNSS devices. Summary of the Invention
[0006] To address the technical problems mentioned above, this invention provides a data transmission method and system for single-terminal multi-GNSS devices. It employs a three-layer service architecture, achieving separation and coordination of data reception, forwarding, and monitoring. Furthermore, by designing one set of data reception and forwarding services for each GNSS device, resource isolation between devices is achieved. This enables independent control and monitoring of data transmission for each GNSS device, avoiding the impact of single-device failures or abnormal traffic on the transmission links of other devices, and significantly improving the overall reliability and anti-interference capability of data transmission.
[0007] To achieve the above objectives, the present invention adopts the following technical solution:
[0008] The first aspect of the present invention provides a data transmission method for a single terminal with multiple GNSS devices, comprising:
[0009] Obtain GNSS device configuration;
[0010] The data monitoring service is started, and a cyclical liveness scan is performed on all data receiving and data forwarding services. After the scan is successful, the data receiving and data forwarding services corresponding to the GNSS device are started according to the GNSS device configuration. The GNSS device connects to the data receiving service and generates data. The data receiving service receives the connection request from the GNSS device and determines whether the request matches the GNSS device configuration. If it does not match, the GNSS device access is rejected. If it matches, the data receiving service starts receiving data sent from the GNSS device. The data forwarding service forwards the data received by the data receiving service to the data aggregation server.
[0011] One GNSS device corresponds to one set of data receiving service and data forwarding service, while the data monitoring service is independent of all data receiving service and data forwarding service.
[0012] Furthermore, the GNSS device configuration includes device name, device IP, data receiving service IP, data receiving service port, data aggregation server IP, and data aggregation server port.
[0013] Furthermore, the device name, device IP, data receiving service IP, and data receiving service port are used to start the data receiving service;
[0014] The device name, device IP, data aggregation server IP, and data aggregation server port are used to start the data forwarding service.
[0015] Furthermore, the cyclic liveness scan determines whether a service is alive by checking if its process ID exists. If a service crashes, the number of crashes is checked. If the number of crashes exceeds a threshold, the service is removed from the liveness scan and no longer scanned. If the number of crashes is less than the threshold, the service is restarted according to the GNSS device configuration and the liveness scan is performed again.
[0016] Furthermore, the threshold number of times is calculated based on the real-time utilization rates of CPU, memory, and disk.
[0017] A second aspect of the present invention provides a data transmission system for a single terminal with multiple GNSS devices, comprising:
[0018] The configuration module is configured to: obtain GNSS device configuration;
[0019] The data transmission module is configured to: start the data monitoring service, perform a cyclical liveness scan on all data receiving and data forwarding services, and, after the scan is successful, start the corresponding data receiving and data forwarding services for the GNSS device according to the GNSS device configuration. The GNSS device connects to the data receiving service and generates data. The data receiving service receives the connection request from the GNSS device, determines whether the request conforms to the GNSS device configuration, and if not, rejects the GNSS device access. If it conforms, the data receiving service starts receiving data sent from the GNSS device, and the data forwarding service forwards the data received by the data receiving service to the data aggregation server.
[0020] One GNSS device corresponds to one set of data receiving service and data forwarding service, while the data monitoring service is independent of all data receiving service and data forwarding service.
[0021] Furthermore, the GNSS device configuration includes device name, device IP, data receiving service IP, data receiving service port, data aggregation server IP, and data aggregation server port.
[0022] Furthermore, the device name, device IP, data receiving service IP, and data receiving service port are used to start the data receiving service;
[0023] The device name, device IP, data aggregation server IP, and data aggregation server port are used to start the data forwarding service.
[0024] Furthermore, the cyclic liveness scan determines whether a service is alive by checking if its process ID exists. If a service crashes, the number of crashes is checked. If the number of crashes exceeds a threshold, the service is removed from the liveness scan and no longer scanned. If the number of crashes is less than the threshold, the service is restarted according to the GNSS device configuration and the liveness scan is performed again.
[0025] Furthermore, the threshold number of times is calculated based on the real-time utilization rates of CPU, memory, and disk.
[0026] Compared with the prior art, the beneficial effects of the present invention are:
[0027] This invention adopts a three-layer service architecture, realizing the separation and coordination of data reception, forwarding and monitoring. By designing one set of data reception and data forwarding services for each GNSS device, resource isolation between devices is achieved. This enables independent control and monitoring of data transmission for each GNSS device, avoiding the impact of single device failure or abnormal traffic on the transmission links of other devices, and significantly improving the overall reliability and anti-interference capability of data transmission.
[0028] The independent data monitoring service of this invention performs a cyclical liveness scan on all data receiving and forwarding services. When a service crashes abnormally, it will automatically attempt to restart. If the number of failed restarts exceeds a dynamically calculated threshold, the service will be removed from the scan set, thus avoiding the continuous consumption of resources by invalid retries and improving self-healing capabilities and overall stability.
[0029] The frequency threshold of this invention is dynamically calculated based on the real-time utilization of the server's CPU, memory, and disk. It can intelligently adjust the service restart strategy according to the hardware resource status, ensuring rapid recovery when resources are sufficient and avoiding increased load due to frequent restarts when resources are scarce, thus achieving a balance between resource utilization and service availability. Attached Figure Description
[0030] The accompanying drawings, which form part of this invention, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.
[0031] Figure 1 This is a relationship diagram of the three services in Embodiment 1 of the present invention;
[0032] Figure 2 This is a flowchart of a data transmission method for a single terminal with multiple GNSS devices according to Embodiment 1 of the present invention;
[0033] Figure 3 This is a schematic diagram of the GNSS equipment configuration according to Embodiment 1 of the present invention;
[0034] Figure 4 This is a flowchart of the data stream monitoring service according to Embodiment 1 of the present invention;
[0035] Figure 5 This is a flowchart of the data receiving and forwarding service according to Embodiment 1 of the present invention. Detailed Implementation
[0036] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings.
[0037] It should be noted that the following detailed description is illustrative and intended to provide further explanation of the invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.
[0038] Example 1
[0039] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices.
[0040] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices. The technical problems to be solved include: how to achieve independent control over data reception and forwarding for each GNSS device; how to establish an effective service status monitoring mechanism; and how to achieve automatic recovery function when service is abnormal.
[0041] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices, such as... Figure 1 As shown, fine-grained management of the data transmission process is achieved by developing three collaborative service modules: data receiving service, data forwarding service, and data monitoring service.
[0042] (1) Data receiving service: GNSS devices that generate data can connect to the data receiving service via IP (address) and port. The data receiving service identifies the IP of the data source connected to it, determines whether it is the corresponding device connected, and can statistically update the connection, disconnection and data transmission status of the corresponding device.
[0043] (2) Data forwarding service: The data forwarding service receives data from the data receiving service and sends the data to the NtripCaster (data processing center) for data aggregation, including information such as terminal, device, data mount point, data volume, and connection time.
[0044] (3) Data monitoring service: The data monitoring service completes the comprehensive management of the data receiving service and the data forwarding service, and completes the status monitoring of each service, the start and stop functions, the data transmission status and other information.
[0045] The relationship between the three services is as follows: a single computer terminal installs one data monitoring service, and the data receiving service and forwarding service appear in pairs, corresponding to the configuration of one GNSS device.
[0046] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices, such as... Figure 2 As shown, it includes the following steps:
[0047] Step 1: Complete the GNSS device configuration, including the device name, device IP, data receiving service IP, data receiving service port, data aggregation server IP, and data aggregation server port. Figure 3 As shown.
[0048] Among them are the monitoring equipment name, the monitoring equipment IP identifier, and the attributes of the GNSS equipment itself.
[0049] Among them, the data receiving service IP and data receiving service port identify the binding relationship between the data stream receiving service and the GNSS device.
[0050] Among them, the data aggregation server IP and data aggregation server port identify the destination to which the data generated by a GNSS device will be sent, and are also parameters required by the data forwarding service.
[0051] Step 2: Start the data monitoring service. The data receiving service and data forwarding service are ready according to the configuration in Step 1 and are waiting for the data monitoring service to call them.
[0052] The data monitoring service is independent of all data receiving and data forwarding services. It captures any abnormal issues that occur. One GNSS device corresponds to one set of data receiving and data forwarding services. Multiple GNSS devices need to be configured with the corresponding configuration information according to step 1.
[0053] During operation, the data monitoring service performs process liveness scans on all data receiving and data forwarding services. The initial service set for the scan comes from manually started services, and this service set is maintained periodically. Data receiving and data forwarding services are two different types of services and need to be considered separately during maintenance. If a service crashes, it is restarted every 5 seconds. After three failed restarts, the corresponding service is removed from the service set. For the data receiving service, the receiving service status and receiving status in the task and configuration file need to be modified; for the data forwarding service, the forwarding service status and forwarding status in the task and configuration file need to be modified.
[0054] like Figure 4 As shown, the data monitoring service specifically includes:
[0055] Step 201: Start the data monitoring service and perform a cyclical liveness scan on all data receiving and data forwarding services.
[0056] In this embodiment, the liveness scan is performed by checking if the process ID of the service exists. Specifically, all enabled data receiving services and data forwarding services are independent processes, and each process is assigned an independent process ID (PID). The principle of liveness scanning is to scan the process ID and check if the process ID exists by using a process query command to determine whether the service is alive.
[0057] Step 202: Check if the data receiving service is down. If the data receiving service is down, further check the number of times the data receiving service has been down. If the number of downs is greater than the threshold (e.g., three times), remove the data receiving service from the liveness scan and stop performing liveness scans. If the number of downs is less than the threshold (e.g., three times), restart the data receiving service according to the parameters in Step 1 (monitoring device name, monitoring device IP, data receiving service IP, data receiving service port, etc.) and perform a liveness scan again. If the data receiving service is normal, proceed to the next round of liveness scan cycle.
[0058] Step 203: Check if the data forwarding service is down. If the data forwarding service is down, further check the number of times the data forwarding service has been down. If the number of downs is greater than the threshold (e.g., three times), remove the data forwarding service from the liveness scan and stop performing liveness scans. If the number of downs is less than the threshold (e.g., three times), restart the data forwarding service according to the parameters in Step 1 (monitoring device name, monitoring device IP, data aggregation server IP, data aggregation server port, etc.) and perform a liveness scan again. If the data forwarding service is normal, proceed to the next round of liveness scan cycle.
[0059] The threshold setting mainly considers the server's hardware resource status. If the server's hardware resources are limited, such as frequent system resource exhaustion (CPU and memory usage at 100%, disk full), the threshold can be appropriately increased.
[0060] Preferably, the number of times threshold is , where the operator (x) + =max(x,0), comprehensive resource utilization rate N is the final restart threshold (a positive integer, the maximum number of service restarts allowed), N0 is the base restart threshold, and U is the overall utilization rate of server hardware resources (weighted sum of CPU, memory, and disk). CPU U MEM and U DISK These represent the real-time utilization rates of CPU, memory, and disk, respectively. α, β, and γ are resource weighting coefficients (satisfying α+β+γ=1), where α=0.4, β=0.4, and γ=0.2. k is the resource adjustment coefficient (controlling the overall increase in the threshold), σ is the non-linear correction coefficient, and U... th This is the resource consumption threshold (the critical point that triggers non-linear growth).
[0061] In this embodiment, the number of restarts threshold is dynamically calculated based on the overall utilization rate of server hardware resources. When server resources are sufficient, the basic threshold is maintained. When resources are scarce (e.g., high CPU, memory, and disk usage), the threshold increases non-linearly, effectively preventing further resource depletion caused by frequent service restarts and improving stability under high load. Moreover, the natural exponential function design allows the number of restarts threshold to increase rapidly after resource usage exceeds the critical value. This characteristic accurately simulates the marginal effect of hardware resources, i.e., the higher the resource usage, the faster the pressure increases, requiring a more lenient restart strategy to ensure service availability. In addition, the overall resource utilization rate is obtained by weighted summation of CPU, memory, and disk usage, achieving a refined perception of the overall server load. Based on this, the dynamic threshold strategy can effectively balance service availability and system resource consumption, avoiding overall service avalanche caused by a single resource bottleneck, and significantly improving the robustness and self-healing capability of the data transmission system.
[0062] Step 3: Start the data receiving service and data forwarding service, and wait for the GNSS device to connect to the data receiving service.
[0063] Start the data receiving and data forwarding services of the corresponding GNSS device according to the parameters provided in step 1, and wait for the bound GNSS device to connect to the data receiving service.
[0064] In particular, step 3 is based on the parameters provided in step 1: monitoring device name, monitoring device IP, data receiving service IP, and data receiving service port are used to start the data receiving service; monitoring device name, monitoring device IP, data aggregation server IP, and data aggregation server port are used to start the data forwarding service.
[0065] Step 4: Once the GNSS device connects to the data receiving service and generates data, the data forwarding process of "GNSS device - data receiving service - data forwarding service - data aggregation server" is completed.
[0066] like Figure 5 As shown, the data receiving and forwarding service processes specifically include:
[0067] Step 401: The GNSS device connects to the data stream receiving service (i.e., the data receiving service) and generates data;
[0068] Step 402: When the data receiving service receives a connection request from a GNSS device, it first determines whether the requesting IP is the device IP bound to the device in step 1. If it is, proceed to step 403; otherwise, the GNSS device access is rejected.
[0069] Step 403: The data receiving service begins to receive data sent from GNSS devices and records information such as the time of connection request, the duration of data transmission, and the total amount of data received. On the one hand, it can manage the data receiving status of each GNSS device in a refined manner, and on the other hand, it can trace the source of problems when encountering data transmission interruption or failure.
[0070] Step 404: The data forwarding service forwards the data received by the data receiving service to the data aggregation server, completing the data forwarding process from "GNSS device to data receiving service to data forwarding service to data aggregation server".
[0071] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices. It adopts a three-layer service architecture to achieve the separation and coordination of data reception, forwarding and monitoring.
[0072] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices, which enables independent control and monitoring of data transmission for each GNSS device.
[0073] This embodiment provides a data transmission method for multiple GNSS devices on a single terminal, which has a complete service anomaly detection and automatic recovery mechanism.
[0074] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices, offering a wealth of configurable parameters to adapt to different application scenarios.
[0075] This embodiment provides a data transmission method for a single terminal with multiple GNSS devices. The modular design facilitates the expansion and upgrading of system functions.
[0076] This embodiment provides a data transmission method for single-terminal multi-GNSS devices. Through innovative service architecture design and refined management mechanism, it effectively solves the problems existing in the prior art and provides an efficient, reliable and flexible solution for data transmission management of single-terminal multi-GNSS devices.
[0077] Example 2
[0078] This embodiment provides a data transmission system for a single terminal with multiple GNSS devices, including:
[0079] The configuration module is configured to: obtain GNSS device configuration;
[0080] The data transmission module is configured to: start the data monitoring service, perform a cyclical liveness scan on all data receiving and data forwarding services, and, after the scan is successful, start the corresponding data receiving and data forwarding services for the GNSS device according to the GNSS device configuration. The GNSS device connects to the data receiving service and generates data. The data receiving service receives the connection request from the GNSS device, determines whether the request conforms to the GNSS device configuration, and if not, rejects the GNSS device access. If it conforms, the data receiving service starts receiving data sent from the GNSS device, and the data forwarding service forwards the data received by the data receiving service to the data aggregation server.
[0081] One GNSS device corresponds to one set of data receiving service and data forwarding service, while the data monitoring service is independent of all data receiving service and data forwarding service.
[0082] Furthermore, the GNSS device configuration includes device name, device IP, data receiving service IP, data receiving service port, data aggregation server IP, and data aggregation server port.
[0083] Furthermore, the device name, device IP, data receiving service IP, and data receiving service port are used to start the data receiving service;
[0084] The device name, device IP, data aggregation server IP, and data aggregation server port are used to start the data forwarding service.
[0085] Furthermore, the cyclic liveness scan determines whether a service is alive by checking if its process ID exists. If a service crashes, the number of crashes is checked. If the number of crashes exceeds a threshold, the service is removed from the liveness scan and no longer scanned. If the number of crashes is less than the threshold, the service is restarted according to the GNSS device configuration and the liveness scan is performed again.
[0086] Furthermore, the threshold number of times is calculated based on the real-time utilization rates of CPU, memory, and disk.
[0087] It should be noted that each module in this embodiment corresponds one-to-one with each step in Embodiment 1, and their specific implementation processes are the same, so they will not be repeated here.
[0088] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A data transmission method for a single terminal with multiple GNSS devices, characterized in that, include: Obtain GNSS device configuration; The data monitoring service is started, and a cyclical liveness scan is performed on all data receiving and data forwarding services. After the scan is successful, the data receiving and data forwarding services corresponding to the GNSS device are started according to the GNSS device configuration. The GNSS device connects to the data receiving service and generates data. The data receiving service receives the connection request from the GNSS device and determines whether the request matches the GNSS device configuration. If it does not match, the GNSS device access is rejected. If it matches, the data receiving service starts receiving data sent from the GNSS device. The data forwarding service forwards the data received by the data receiving service to the data aggregation server. One GNSS device corresponds to one set of data receiving service and data forwarding service, while the data monitoring service is independent of all data receiving service and data forwarding service; The cyclic liveness scan determines whether a service is alive by checking if its process ID exists. If a service crashes, the number of crashes is checked. If the number of crashes exceeds a threshold, the service is removed from the liveness scan and no longer scanned. If the number of crashes is less than the threshold, the service is restarted according to the GNSS device configuration and the liveness scan is performed again. The threshold number of times is calculated based on the real-time utilization rates of CPU, memory, and disk. The formula for calculating the number of times threshold is: , where the operator (x) + =max(x,0), comprehensive resource utilization rate N is the final threshold number of attempts, N0 is the base threshold number of attempts, and U is the overall utilization rate of server hardware resources. CPU U MEM and U DISK These represent the real-time utilization rates of CPU, memory, and disk, respectively. α, β, and γ are resource weighting coefficients, satisfying α + β + γ = 1. k is the resource adjustment coefficient, σ is the non-linear correction coefficient, and U... th This represents the resource usage threshold.
2. The data transmission method for a single terminal with multiple GNSS devices as described in claim 1, characterized in that, The GNSS device configuration includes device name, device IP, data receiving service IP, data receiving service port, data aggregation server IP, and data aggregation server port.
3. The data transmission method for a single terminal with multiple GNSS devices as described in claim 2, characterized in that, The device name, device IP, data receiving service IP, and data receiving service port are used to start the data receiving service; The device name, device IP, data aggregation server IP, and data aggregation server port are used to start the data forwarding service.
4. A data transmission system for a single terminal with multiple GNSS devices, characterized in that, include: The configuration module is configured to: obtain GNSS device configuration; The data transmission module is configured to: start the data monitoring service, perform a cyclical liveness scan on all data receiving and data forwarding services, and, after the scan is successful, start the corresponding data receiving and data forwarding services for the GNSS device according to the GNSS device configuration. The GNSS device connects to the data receiving service and generates data. The data receiving service receives the connection request from the GNSS device, determines whether the request conforms to the GNSS device configuration, and if not, rejects the GNSS device access. If it conforms, the data receiving service starts receiving data sent from the GNSS device, and the data forwarding service forwards the data received by the data receiving service to the data aggregation server. One GNSS device corresponds to one set of data receiving service and data forwarding service, while the data monitoring service is independent of all data receiving service and data forwarding service; The cyclic liveness scan determines whether a service is alive by checking if its process ID exists. If a service crashes, the number of crashes is checked. If the number of crashes exceeds a threshold, the service is removed from the liveness scan and no longer scanned. If the number of crashes is less than the threshold, the service is restarted according to the GNSS device configuration and the liveness scan is performed again. The threshold number of times is calculated based on the real-time utilization rates of CPU, memory, and disk. The formula for calculating the number of times threshold is: , where the operator (x) + =max(x,0), comprehensive resource utilization rate N is the final threshold number of attempts, N0 is the base threshold number of attempts, and U is the overall utilization rate of server hardware resources. CPU U MEM and U DISK These represent the real-time utilization rates of CPU, memory, and disk, respectively. α, β, and γ are resource weighting coefficients, satisfying α + β + γ = 1. k is the resource adjustment coefficient, σ is the non-linear correction coefficient, and U... th This represents the resource usage threshold.
5. A data transmission system for a single terminal with multiple GNSS devices as described in claim 4, characterized in that, The GNSS device configuration includes device name, device IP, data receiving service IP, data receiving service port, data aggregation server IP, and data aggregation server port.
6. A data transmission system for a single terminal with multiple GNSS devices as described in claim 5, characterized in that, The device name, device IP, data receiving service IP, and data receiving service port are used to start the data receiving service; The device name, device IP, data aggregation server IP, and data aggregation server port are used to start the data forwarding service.
7. A data transmission system for a single terminal with multiple GNSS devices as described in claim 4, characterized in that, The cyclic liveness scan determines whether a service is alive by checking if its process ID exists. If a service crashes, the number of crashes is checked. If the number of crashes exceeds a threshold, the service is removed from the liveness scan and no longer scanned. If the number of crashes is less than the threshold, the service is restarted according to the GNSS device configuration and the liveness scan is performed again.
8. A data transmission system for a single terminal with multiple GNSS devices as described in claim 7, characterized in that, The threshold number of times is calculated based on the real-time utilization of CPU, memory, and disk.
Citation Information
Patent Citations
GNSS receiver management system and method
CN105657015A
Service process management method and device, storage system and storage medium
CN113835966A
One-to-many communication service system and method based on TCP protocol
CN120378472A