A method for switching network RTK nodes across cloud nodes and related equipment
By receiving the approximate location of the terminal and transmitting additional information using RTCM messages, the problem of untimely cloud node switching in network RTK services is solved, enabling early node switching of the terminal in the overlapping area and ensuring the continuity and stability of the service.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-07
- Publication Date
- 2026-04-03
AI Technical Summary
In existing technologies, network RTK services cannot switch cloud nodes in a timely manner when the terminal moves rapidly, resulting in service interruption. This is especially true in distributed architectures, where frequent changes in the VRS mesh requested by the terminal cause connection interruptions.
By receiving the approximate location of the terminal, the target VRS grid is determined and additional information is sent. The terminal determines the switching node based on the additional information, ensuring that the target VRS grid is located in the mapping area between secondary nodes within the overlap area. Additional information is transmitted using the reserved fields in the RTCM message to achieve early node switching.
It enables timely node switching when the terminal moves rapidly, avoiding significant interruptions to the network RTK service and improving service stability and continuity.
Smart Images

Figure CN118828752B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of node switching technology, and in particular to a method and related equipment for switching network RTK nodes across cloud environments. Background Technology
[0002] The existing technical solutions for high-precision positioning network RTK (Real-time Kinematic) cloud services mainly have two architectures: centralized broadcast architecture and distributed architecture.
[0003] A centralized broadcast architecture (centralized architecture) involves deploying a complete high-precision positioning platform in a central node data center (or group of central nodes). The platform can be broadly divided into three steps and modules based on its data processing flow: the acquisition of raw data from the base station, the differential data processing, and the differential data broadcasting. The problem with this centralized broadcast architecture is that the differential data broadcasting module, which directly broadcasts differential data to terminals, needs to be expanded as the number of terminals increases, and the required cloud resources will quickly reach the capacity limit of the central data center.
[0004] Distributed architecture (two-level broadcast architecture), see [link / reference] Figure 1 The differential data broadcasting module is decoupled from the high-precision positioning platform in the central broadcast architecture and deployed to multiple lower-level nodes. The original central node is called a first-level node, and the lower-level nodes are called second-level nodes. The entire VRS (Virtual Reference Station) mesh is divided into multiple regions. The VRS mesh corresponding to the differential data broadcast by each second-level node only covers one region. Multiple second-level nodes cover different regions, and the coverage areas of all second-level nodes are merged to cover the VRS mesh nationwide. The terminal's request for network RTK service is changed from the central node to the second-level nodes, which significantly alleviates the resource load on the central data center and overcomes the problems of the central broadcast architecture. However, because the actual geographical location of the terminal changes rapidly in real time, the VRS mesh corresponding to the request for high-precision network RTK broadcast differential data also changes rapidly. When the mesh change occurs at the boundary of the original second-level node's coverage area, the next VRS mesh is not within the coverage area of the original second-level node, and the terminal will return no differential data when continuing to request network RTK service from the original second-level node. The existing technical solution is as follows: when the terminal requests network RTK service and returns no data for a certain period of time, the terminal will actively disconnect the current RTK network connection and re-request the network RTK connection from the central node. Its drawback is that the network RTK node cannot switch in a timely manner, causing a significant interruption to the terminal's network RTK service. Summary of the Invention
[0005] To address at least one technical problem in the prior art, this disclosure provides a method and related equipment for switching network RTK across cloud nodes.
[0006] According to a first aspect of this disclosure, a method for switching network RTK across cloud nodes is provided, the method comprising:
[0007] Upon receiving a rough location from the terminal, a target VRS grid matching the rough location is determined;
[0008] If the target VRS grid is located in the target overlap area, differential data and additional information of the target VRS grid are sent to the terminal so that the terminal can determine the switching node based on the additional information. The target overlap area is the overlap area of the broadcast mapping area between secondary nodes. The additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid.
[0009] Optionally, determining the target VRS grid matching the approximate location includes:
[0010] Based on the approximate location and the mapping area of each VRS grid, the VRS grid corresponding to the mapping area where the approximate location is located is taken as the target VRS grid.
[0011] Optionally, the target overlap area includes the extended overlap area of the VRS mesh of each secondary node.
[0012] Optionally, sending the differential data of the target VRS mesh and additional information to the terminal includes:
[0013] An RTCM message is sent to the terminal, wherein the differential data is set in the message field of the RTCM message and the additional information is set in the reserved field of the RTCM message.
[0014] Optionally, based on the target VRS grid and the preset correspondence between the target overlap area and the VRS grid, it can be determined whether the target VRS grid belongs to the target overlap area.
[0015] According to a second aspect of this disclosure, a method for switching network RTK across cloud nodes is provided, the method comprising:
[0016] Send the approximate location of the terminal to the secondary node server;
[0017] If additional information is received from the secondary node server, the additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid, then the switching node is determined from the mapping node corresponding to the second information according to the movement direction of the terminal. The target VRS grid is the VRS grid that matches the approximate location, and the target overlap area is the overlap area of the broadcast mapping area between secondary nodes.
[0018] According to a third aspect of this disclosure, a network RTK cross-cloud node switching system is provided, comprising:
[0019] The grid matching module is used to determine the target VRS grid that matches the approximate location when it receives the approximate location sent by the terminal.
[0020] The information sending module is used to send differential data and additional information of the target VRS grid to the terminal if the target VRS grid is located in the target overlap area, so that the terminal can determine the switching node based on the additional information. The target overlap area is the overlap area of the broadcast mapping area between secondary nodes, and the additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid.
[0021] According to a fourth aspect of this disclosure, a network RTK cross-cloud node switching system is provided, comprising:
[0022] The location sending module is used to send the approximate location of the terminal to the secondary node server;
[0023] The node switching module is used to determine a switching node from the mapping nodes corresponding to the second information based on the movement direction of the terminal if it receives additional information sent by the secondary node server, the additional information including first information that the target VRS grid is located in the target overlap area and second information of the mapping nodes of the target VRS grid. The target VRS grid is a VRS grid that matches the approximate location, and the target overlap area is the overlap area of the broadcast mapping areas between secondary nodes.
[0024] According to a fifth aspect of this disclosure, an electronic device is provided, comprising:
[0025] Processor; and
[0026] Stored program memory,
[0027] The program includes instructions that, when executed by the processor, cause the processor to perform the method according to any one of the preceding descriptions.
[0028] According to a sixth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the method according to any one of the preceding statements.
[0029] According to a seventh aspect of this disclosure, a computer program product includes a computer program, wherein, when executed by a processor of a computer, the computer program is used to cause the computer to perform the method according to any of the preceding claims.
[0030] One or more technical solutions provided in this application embodiment, when the target VRS grid matching the approximate location of the terminal is located in the target overlap area, the server sends additional information to the terminal, so that the terminal can switch nodes in advance from the mapped nodes in the additional information according to the direction of the terminal's movement. In the target overlap area, the broadcast mapping area of the current node connected to the terminal and the mapped node in the additional information both include the target overlap area. Therefore, switching nodes during this period can not only switch nodes in advance but also will not cause service interruption. Thus, it has the technical effect of timely switching nodes and preventing significant interruption of the terminal network RTK service. Attached Figure Description
[0031] The accompanying drawings illustrate exemplary embodiments of the present disclosure and, together with the description thereof, serve to explain the principles of the present disclosure. These drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification.
[0032] Figure 1 This illustrates a data flow diagram of a distributed architecture in the prior art;
[0033] Figure 2 A simplified pattern partitioning diagram of the VRS mesh broadcast mapping region of a secondary node according to an exemplary embodiment of the present disclosure is shown;
[0034] Figure 3 The flowchart illustrates a method for switching network RTK across cloud nodes according to an exemplary embodiment of this disclosure. Figure 1 ;
[0035] Figure 4 The flowchart illustrates a method for switching network RTK across cloud nodes according to an exemplary embodiment of this disclosure. Figure 2 ;
[0036] Figure 5 A schematic diagram of a neighboring VRS grid according to an exemplary embodiment of the present disclosure is shown;
[0037] Figure 6 A schematic diagram of the overlap area between the secondary node's outer expansion area and the target area according to an exemplary embodiment of this disclosure is shown;
[0038] Figure 7 The flowchart illustrates a method for switching network RTK across cloud nodes according to an exemplary embodiment of this disclosure. Figure 3 ;
[0039] Figure 8 A further flow diagram of a network RTK cross-cloud node handover method according to an exemplary embodiment of the present disclosure is shown. Figure 4 ;
[0040] Figure 9 A schematic block diagram of a network RTK cross-cloud node handover system according to an exemplary embodiment of the present disclosure is shown;
[0041] Figure 10 Another schematic block diagram of a network RTK switching system across cloud nodes according to an exemplary embodiment of the present disclosure is shown;
[0042] Figure 11 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation
[0043] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0044] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0045] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc., used in this disclosure are only used to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0046] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0047] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0048] For ease of understanding, see Figure 2 , Figure 2 This diagram illustrates a simplified partitioning of the VRS grid broadcast mapping area for a secondary broadcast node (referred to as a secondary node). This simplified model abstracts the VRS grid broadcast mapping area into a large square consisting of 64 VRS squares with sides of 8 x 8. Each secondary node's broadcast mapping area is further divided into smaller squares, each consisting of 16 smaller VRS squares with sides of 4 x 4 (top left, top right, bottom left, and bottom right) from the top left and bottom right of the large square. Specifically: the area covered by node A's broadcast service is mapped to the top left VRS grid; the area covered by node B's broadcast service is mapped to the top right VRS grid; the area covered by node C's broadcast service is mapped to the bottom left VRS grid; and the area covered by node D's broadcast service is mapped to the bottom right VRS grid.
[0049] Each VRS grid is named according to the following rule: "VRS-" + "Region Code" + "Number Sequence Number". That is: the VRS grids mapped to region A are numbered VRS-A1, VRS-A2, VRS-A3, ..., VRS-A16; the VRS grids mapped to region B are numbered VRS-B1, VRS-B2, VRS-B3, ..., VRS-B16; the VRS grids mapped to region C are numbered VRS-C1, VRS-C2, VRS-C3, ..., VRS-C16; and the VRS grids mapped to region D are numbered VRS-D1, VRS-D2, VRS-D3, ..., VRS-D16. These VRS grid numbers for each region are pre-configured and stored on the server side of their respective nodes.
[0050] The process of network RTK service is as follows: when the server (the server of the secondary node in the distributed architecture) receives the approximate location reported by the terminal, it finds the matching VRS mesh according to the pre-configured strategy and broadcasts the differential data of the VRS mesh to the terminal.
[0051] The present disclosure is described below with reference to the accompanying drawings.
[0052] See Figure 3 and Figure 4A method for switching network RTK across cloud nodes, the method includes:
[0053] S301, upon receiving the approximate location sent by the terminal, determines the target VRS grid that matches the approximate location.
[0054] The execution entity of a network RTK cross-cloud node switching method according to an embodiment of this disclosure may be a secondary broadcast node server. In this application embodiment, the secondary broadcast node server is simply referred to as the secondary broadcast server.
[0055] See Figure 4 Taking the secondary broadcast node A server as the executing entity as an example, this step involves determining the target VRS grid that matches the approximate location sent by the terminal. Therefore, it can be known that before this step, the secondary broadcast node A server and the terminal have established a connection, and the terminal has sent its approximate location to the secondary broadcast node A server. The secondary broadcast server then determines the target VRS grid that matches the approximate location and checks whether the target VRS grid is located within the target overlap area.
[0056] In some embodiments, the approximate location transmitted by the terminal is obtained through the GGA (Global Positioning System FixData, GPS positioning information) field defined by the NMEA (National Marine Electronics Association), specifically in the format: $GPGGA. <1> , <2> , <3> , <4> , <5> , <6> , <7> , <8> , <9> M <10> M <11> , <12> *hh.
[0057] in: <1> UTC time, hhmmss (hours, minutes, seconds) format; <2> Latitude in ddmm.mmmm (degrees and minutes) format (leading zeros will also be transmitted); <3> Latitude hemisphere N (North latitude) or S (South latitude); <4> Longitude in dddmm.mmmm (degrees and minutes) format (leading zeros will also be transmitted); <5> Longitude hemisphere E (East longitude) or W (West longitude); <6> GPS status: 0 = Not located, 1 = Non-differential positioning, 2 = Differential positioning, 6 = Estimating; <7> The number of satellites whose positions are being calculated (00-12) (leading 0s will also be transmitted); <8> HDOP horizontal precision factor (0.5-99.9); <9> Altitude (-9999.9-99999.9); <10> The height of the Earth's ellipsoid relative to the geoid; <11> Differential time (the number of seconds since the last received differential signal; if it is not differential positioning, it will be empty); <12> Differential station ID number 0000-1023 (the leading 0 will also be transmitted; if it is not differential positioning, it will be empty).
[0058] In some embodiments, based on the approximate location and the mapping regions of each VRS grid, the VRS grid corresponding to the mapping region where the approximate location is located is used as the target VRS grid. The mapping regions of each VRS grid can be pre-stored, and the VRS grid corresponding to the mapping region where the approximate location is located is obtained from the pre-stored mapping regions of each VRS grid as the target VRS grid. Using this method to obtain the target VRS grid can improve efficiency, especially for regular regions such as squares, as the relationship between the coordinates of the two vertices of the square and the coordinates of the probability location can be used to directly determine whether the probability location is in the corresponding mapping region.
[0059] Specifically, this could be based on the latitude and longitude coordinates in the probability location (i.e., the GPGGA field mentioned above). <2> - <5> The field information maps the approximate location to the corresponding VRS grid. VRS grids are typically pre-defined squares. Therefore, the latitude and longitude coordinates of the probabilistic location are compared with the coordinates of the top-left and bottom-right corners of the VRS grids. The VRS grid whose latitude and longitude coordinates fall within the range of the top-left and bottom-right corners of the probabilistic location is considered to match the approximate location.
[0060] It should be understood that if the approximate location sent by the terminal corresponds to a certain VRS mesh that is not stored on the server of the current node, the server cannot find a matching VRS mesh and can return no-differential data to the terminal. Once the terminal determines that the server has returned no data for a certain period (e.g., 30 seconds), it will actively disconnect the current RTK network connection.
[0061] In some embodiments, the target overlap region includes the extended overlap region of the VRS mesh of each secondary node. In this embodiment, the target overlap region is synthesized from the extended overlap region of the VRS mesh. To better understand the extended region and the target overlap region in this embodiment, the concept of a neighboring VRS mesh of a certain VRS mesh is first defined, see [link to relevant documentation]. Figure 5 A neighboring VRS grid is defined as follows: if a terminal moves continuously from its original VRS grid and crosses a boundary of that VRS grid, and its current location falls within the range of another VRS grid, then that other VRS grid is called a neighboring VRS grid of the original VRS grid. See also Figure 5 For the VRS5 grid, if four terminals move continuously from within the VRS5 grid and cross the boundary in the upward, left, right, and downward directions respectively, their positions fall within the VRS2, VRS4, VRS6, and VRS8 grids respectively. According to the definition of neighboring VRS grids, VRS2, VRS4, VRS6, and VRS8 are called the neighboring VRS grids of VRS5. The neighboring VRS grid information of VRS5 is recorded in the following format:
[0062] Table 1 - Information on neighboring VRS grids for VRS5
[0063]
[0064] For the VRS1 grid, if a terminal moves continuously within the VRS1 grid area, only terminals moving to the right or down will have their positions fall within another VRS grid area, namely VRS2 and VRS4, after crossing the boundary. Positions moved in other directions will not fall within this grid area. Figure 5 Any VRS grid range. As shown in Table 2, according to the definition of neighboring VRS grids, VRS2 and VRS4 are called neighboring VRS grids of VRS1.
[0065] Table 2 - Information on neighboring VRS grids of VRS1
[0066]
[0067] The above analysis shows that the number of neighboring VRS grids varies depending on the location of the VRS grid. In a VRS network diagram with a square shape, the number of neighboring VRS grids of a certain VRS grid can be 1, 2, 3 or 4.
[0068] The outer region of a node is defined as follows:
[0069] Definition of the first-layer outer extension region of a node: The set of neighboring VRS meshes of all VRS meshes in the mapping region of a node, after removing meshes that are located within the mapping region of the node, and removing meshes that are counted repeatedly, the mapping regions of the remaining meshes in the set are all located outside the mapping region of the node. This region is called the first-layer outer extension region of the node, or simply the first-layer outer extension region.
[0070] Definition of the second-layer outer extension region of a node: The set of neighboring VRS meshes of all VRS meshes in the mapping region and the first-layer outer extension region of a node, after removing the meshes that are located in the mapping region and the first-layer outer extension region of the node, and removing the meshes that are counted repeatedly, the mapping regions of the remaining meshes in the set are all located outside the mapping region and the first-layer outer extension region of the node. This region is called the second-layer outer extension region of the node, or simply the second-layer outer extension region.
[0071] Generally, the definition of the Nth layer (N>1) outer extension region of a node is: the set of neighboring VRS meshes of a node's mapping region and its outer extension regions from the 1st layer to the (N-1)th layer, after removing meshes that are located within the node's mapping region and its outer extension regions from the 1st layer to the (N-1)th layer, and further removing meshes that are counted repeatedly, the mapping regions of the remaining meshes in the set are all located outside the node's mapping region and its outer extension regions from the 1st layer to the (N-1)th layer. This region is called the Nth layer outer extension region of the node, or simply the Nth layer outer extension region.
[0072] To prevent the terminal from prematurely moving out of the VRS mesh mapped by the original node before completing the handover, the time for the terminal to execute the handover judgment logic and the handover action must be less than the time for traveling through the extended area. The technical solution of this disclosure allows for flexible setting of an appropriate extended area width. However, since the side length of a VRS mesh is generally fixed, the VRS mesh can be extended multiple times, i.e., multiple extended areas, to meet the requirement of flexible width.
[0073] In practice, a square VRS grid has a side length of 5 kilometers. The fastest time for a car traveling at 120 km / h on a highway to pass through this grid is 2.5 minutes, which can be considered to be much longer than the time it takes for the terminal to perform a handover. Therefore, the setting of a 1-layer outer expansion area can meet the needs of most high-speed scenarios.
[0074] For ease of understanding, the following detailed description of the technical solutions uses a single-layer outer expansion area (hereinafter referred to as the outer expansion area) as an example, but the described technical solutions are applicable to the case of multi-layer outer expansion areas.
[0075] Definition of overlapping areas between nodes: See Figure 6 Between two nodes A and B, if at least one VRS mesh exists within the outer region of node A that is within the range of node B, the mapped region of this or these VRS meshes is called the outer overlapping region of node A in node B. Similarly, if at least one VRS mesh exists within the outer region of node B that is within the range of node A, the mapped region of this or these VRS meshes is called the outer overlapping region of node B in node A. The outer overlapping region of node A in node B and the outer overlapping region of node B in node A are together called the overlapping region between nodes A and B. All overlapping regions of the second-level nodes are taken as the target overlapping region.
[0076] The outer expansion area of node A consists of these VRS grids within the corresponding thick border: VRS-B1, VRS-B5, VRS-B9, VRS-B13, VRS-C1, VRS-C2, VRS-C3, and VRS-C4.
[0077] The outer expansion area of node B consists of these VRS grids within the corresponding thick border: VRS-A4, VRS-A8, VRS-A12, VRS-A16, VRS-D1, VRS-D2, VRS-D3, and VRS-D4.
[0078] The outer expansion area of node C consists of these VRS grids within the corresponding thick border: VRS-A13, VRS-A14, VRS-A15, VRS-A16, VRS-D1, VRS-D5, VRS-D9, and VRS-D13.
[0079] The outer expansion area of node D consists of these VRS grids within the corresponding thick border: VRS-B13, VRS-B14, VRS-B15, VRS-B16, VRS-C4, VRS-C8, VRS-C12, and VRS-C16.
[0080] The overlapping area between nodes A and B consists of the following VRS meshes: VRS-B1, VRS-B5, VRS-B9, VRS-B13, VRS-A4, VRS-A8, VRS-A12, and VRS-A16.
[0081] The overlapping area between nodes A and C consists of the following VRS meshes: VRS-C1, VRS-C2, VRS-C3, VRS-C4, VRS-A13, VRS-A14, VRS-A15, and VRS-A16.
[0082] The overlapping area of nodes B and D consists of the following VRS meshes: VRS-D1, VRS-D2, VRS-D3, VRS-D4, VRS-B13, VRS-B14, VRS-B15, and VRS-B16.
[0083] The overlapping area of nodes C and D consists of the following VRS meshes: VRS-D1, VRS-D5, VRS-D9, VRS-D13, VRS-C4, VRS-C8, VRS-C12, and VRS-C16.
[0084] Depend on Figure 6 As can be seen from the definition, there is no overlap between nodes A and D, or between nodes B and C.
[0085] In embodiments of this disclosure, a terminal can request differential data from the server of any one of the multiple secondary nodes (regional nodes) mapped to the target overlapping area. Therefore, the VRS grid of the target overlapping area belongs to the broadcast range of each corresponding node. That is, in addition to the VRS grid numbers configured and saved by the existing node servers, additional VRS grid numbers for the overlapping areas of each node can be configured and saved, as follows:
[0086] The VRS grid numbers mapped to the broadcast area of node A are newly added as follows: VRS-A1, VRS-A2, VRS-A3, ..., VRS-A16, VRS-B1, VRS-B5, VRS-B9, VRS-B13, VRS-C1, VRS-C2, VRS-C3, VRS-C4;
[0087] The VRS grid numbers mapped to the broadcast area of node B are newly added as follows: VRS-B1, VRS-B2, VRS-B3, ..., VRS-B16, VRS-A4, VRS-A8, VRS-A12, VRS-A16, VRS-D1, VRS-D2, VRS-D3, VRS-D4;
[0088] The VRS mesh numbers mapped to the broadcast area of node C are newly added as follows: VRS-C1, VRS-C2, VRS-C3, ..., VRS-C16, VRS-A13, VRS-A14, VRS-A15, VRS-A16, VRS-D1, VRS-D5, VRS-D9, VRS-D13;
[0089] The VRS grid numbers mapped to the broadcast area of node D are newly added as follows: VRS-D1, VRS-D2, VRS-D3, ..., VRS-D16, VRS-B13, VRS-B14, VRS-B15, VRS-B16, VRS-C4, VRS-C8, VRS-C12, VRS-C16.
[0090] As can be seen from the above configuration, the VRS mesh of the target overlapping area is stored by multiple secondary node servers. When any node server executes the VRS mesh search and matching logic of the target overlapping area, it can be matched successfully.
[0091] S302, if the target VRS grid is located in the target overlap area, the differential data of the target VRS grid and additional information are sent to the terminal so that the terminal can determine the switching node based on the additional information. The target overlap area is the overlap area of the broadcast mapping area between secondary nodes. The additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid.
[0092] See Figure 4In this step, if a match is successful and the target VRS mesh is located within the target overlap area, the terminal calculates the fixed solution and determines the switching node based on additional information. If the switching node is determined to be the secondary broadcast node B server, a connection is established with the secondary broadcast node B server, and the connection with the secondary broadcast node A server is disconnected. If the target VRS mesh is not located within the target overlap area, the differential data of the target VRS mesh is sent according to the normal procedure, and the terminal calculates the fixed solution. If the match fails, empty data is sent, the terminal service fails, and the connection is disconnected.
[0093] In step S302, the mapping node of the target VRS mesh refers to the secondary node that maps the broadcast mapping area to the target VRS mesh. The broadcast mapping area of this secondary node (the mapping node of the target VRS mesh) includes the target VRS mesh, and this secondary node can connect to the terminal and provide network RTK services.
[0094] In some embodiments, it is determined whether a target VRS grid belongs to a target overlapping area based on the target VRS grid and a preset correspondence between the target overlapping area and the VRS grid. Utilizing the preset correspondence allows for quick determination of whether a target VRS grid belongs to a target overlapping area, improving efficiency. For example, each VRS grid has a unique number, and the unique number of the target overlapping area serves as a correspondence identifier. Whether a target VRS grid belongs to a target overlapping area can be determined directly by checking whether the unique number corresponding to the target overlapping area contains the unique number of the target VRS grid.
[0095] In some embodiments, sending differential data and additional information of the target VRS mesh to the terminal includes: sending an RTCM message to the terminal, wherein the differential data is set in the message field of the RTCM message and the additional information is set in the reserved field of the RTCM message. Since both the differential data and the additional information are set in the RTCM message, the node switching process does not require additional information transmission, improving transmission efficiency and reducing server performance consumption.
[0096] In this embodiment, the non-target overlap area is processed according to the conventional procedure. The data returned by the target overlap area and the non-target overlap area differs as follows: Additional information is attached along with the returned differential data. This additional information includes first information that the target VRS mesh is located in the target overlap area and second information about the mapping nodes of the target VRS mesh. The second information may include the access method of the mapping nodes of the target VRS mesh. The additional information includes both pieces of information instead of just one, which can prevent errors in network transmission. The redundancy of the two pieces of information allows for mutual verification of information correctness. The fact that the additional information only needs to include these two pieces of information, without including other information, can minimize or even avoid additional data consumption of RTK service bandwidth while ensuring that the information content fully meets the terminal's handover judgment logic. The terminal uses the above-mentioned additional information to determine whether a node handover is necessary and to execute the handover to another node.
[0097] The differential data is in RTCM format. To address the real-time data service requirements of GNSS (Global Navigation Satellite System), the Radio Technical Commission for Maritime Services proposed a universal GNSS data encoding format for network communication. In practical use, the RTCM format is broadcast as an array of binary sequences, and its frame format is shown in Table 3 below:
[0098] Table 3 RTCM Message Frame Format Table
[0099]
[0100] The number of bytes occupied by the four parts—prefix, reserved words, message size, and CRC—remains fixed, while the message field is determined by the actual amount of differential data.
[0101] The technical solution of this disclosure can utilize the reserved word field in the RTCM format to define additional information. The reserved word occupies a fixed 6 bits, and the specific definition is shown in Table 4 below:
[0102] Table 4 Custom Format Table for Reserved Word Fields in RTCM Messages
[0103]
[0104] The reserved word field consists of 6 bits, which are numbered Bit1, Bit2, ..., Bit6 from least significant bit to most significant bit.
[0105] definition:
[0106] Bit1 meaning: The flag bit for mapping node A in the VRS mesh. Value definition: 0 - default value; 1 - mapping node is node A.
[0107] Bit2 meaning: The flag bit for mapping node B in the VRS mesh. Value definition: 0 - default value; 1 - mapping node is node B.
[0108] Bit 3 meaning: The flag bit for mapping node C in the VRS mesh. Value definition: 0 - default value; 1 - mapping node is node C.
[0109] Bit 4 meaning: The flag bit for mapping node D in the VRS mesh. Value definition: 0 - default value; 1 - mapping node is node D.
[0110] Bit 5 meaning: Undefined, reserved for future expansion. Bit 6 meaning: VRS grid overlap flag.
[0111] Value definition: 0 - default value; 1 - belongs to the overlapping area.
[0112] For example, assuming the value of the reserved word field in the RTCM message is 100011, it means that the VRS mesh belongs to the overlapping area, and the VRS mesh mapping nodes include node A and node B. The access method of the server in each node is the IP address or URL (Uniform Resource Locator) address accessed by the terminal to establish a connection with the server, which is pre-configured and stored in the terminal.
[0113] If the VRS grid is located in the target overlap area, set Bit6 of the reserved word field of the RTCM message to 1, further search for the mapping node of the VRS grid, set the corresponding flag bits of Bits 1-5 to 1, set the flag bit of the non-mapped node to 0, merge the differential data of the reserved word field and the message field into a single RTCM message, and return it to the terminal.
[0114] See Figure 7 and Figure 8 A method for switching network RTK across cloud nodes, the method includes:
[0115] S701 sends the approximate location of the terminal to the secondary node server.
[0116] S702, if additional information is received from the secondary node server, the additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid, and the target VRS grid is a VRS grid that matches the approximate location, then the switching node is determined from the mapping node corresponding to the second information contained in the additional information according to the moving direction of the terminal.
[0117] In this step, it can be determined first whether the first information has been received. After receiving the first information, the second information of the mapping node of the target VRS grid can be obtained. Based on the movement direction of the terminal, the switching node can be determined from the mapping node corresponding to the second information contained in the supplementary information.
[0118] In one embodiment, see Figure 8 The terminal initializes, establishes a connection with the secondary node A server, obtains a rough location, and continuously sends the rough location to the secondary node A server. If it receives additional information sent by the secondary node server, the terminal calculates a fixed solution and determines the node switching based on the additional information.
[0119] Taking the server sending an RTCM message, with differential data set in the message field of the RTCM message and additional information set in the reserved field of the RTCM message as an example, after the terminal receives the RTCM message, in addition to using the differential data parsed from the message field for the terminal to solve the fixed solution.
[0120] See Figure 8 The following additional processing steps have been added:
[0121] The terminal checks the reserved field Bit6. If Bit6 is 1, it parses reserved fields Bits 1-5, searches for nodes with a value of 1, and determines the corresponding node IP address or URL address and access method based on pre-configured and saved node IP addresses or URL addresses. The terminal determines its direction of movement based on at least two changes in its approximate location. Based on its direction of movement, the terminal determines which new region it will enter from among the nodes with a node flag value of 1. Based on the new region it will enter, it finds the access method for the new node mapped to that new region. A connection is established to the server of the new node (Node B), and the approximate location is obtained. The terminal continuously sends the approximate location to the server of Node B. Upon receiving differential data from the server of Node B, the terminal calculates the fixed solution. The connection to the server of Node A is disconnected. If Bit6 is 0, the additional processing ends.
[0122] According to the technical solution of this disclosure, reserved words are defined such that Bit6 and Bits 1-5 are two pieces of information required for additional information. Parsing of reserved words Bits 1-5 continues only if Bit6 is 1; otherwise, the entire additional process terminates. This process reflects the design idea of defining redundant information to mutually verify the correctness of information in order to avoid bit errors. Furthermore, the RTCM message received by the terminal originally contains a reserved word field; now, the additional information is defined using this existing reserved word, thus achieving the requirement of consuming no additional data traffic. The additional information is included in the differential data returned by the secondary node server to the terminal, and its function is to execute the node switching judgment logic on the terminal.
[0123] The initial connection between a terminal and a server can be established as follows: In a two-level broadcast architecture, when a terminal first accesses a server, it uses standard DNS domain name resolution to determine which secondary node server to connect to. The specific process is as follows: The terminal requests network RTK services in the form of a URL address (domain name). This request first accesses the operator's local DNS server to resolve the URL address (domain name). If the local DNS has a cache, it returns the result directly; otherwise, it recursively searches from the root DNS server until it reaches the global DNS server. The global DNS server returns the IP address of the Global Load Balancer (GSLB) to the local DNS. The local DNS resolves this domain name to the GSLB. During the domain name resolution process, the GSLB achieves load balancing through the following strategies: ① Based on the local DNS server's IP address, it determines which secondary node server is closest to the user; ② It queries the current load of servers in different availability zones under this secondary node to determine which server has more service capacity. The GSLB returns the public IP address of the secondary node after comprehensive analysis to the local DNS server. The local DNS server caches the public IP address of the secondary node before returning it to the terminal. The terminal initiates a network RTK request to the server with the public IP of the aforementioned secondary node, uploading the approximate location of the terminal to the server. The server responds to the request, finds the matching VRS mesh based on the approximate location, and returns the differential data corresponding to the VRS mesh to the terminal.
[0124] As can be seen from the DNS domain name resolution process described above, when a high-speed mobile terminal crosses a regional boundary, directly using the DNS domain name resolution method cannot guarantee that the terminal will promptly forward the RTK request to the server of the next secondary node. The specific reasons are as follows: 1. Before crossing the regional boundary, the terminal is already in a connected state continuously obtaining differential data from the previous secondary node and will not actively trigger the domain name resolution process as it did when first connecting to the server. Therefore, it will not obtain the public IP address of the next secondary node. 2. Even if the terminal actively initiates a new connection request for network RTK before crossing the regional boundary, as shown in steps 1 and 2 of the standard DNS domain name resolution process, the operator's local DNS server will return the cached public IP address of the current secondary node's server to the terminal. Therefore, the terminal will not obtain the public IP address of the next secondary node either. 3. To ensure the terminal can obtain the public IP address of the next secondary node, the following two conditions must be met: ① The new network RTK connection request initiated by the terminal can flow to the operator's local DNS server in the next region, and this DNS has already cached the public IP address of the server of the secondary node in the next region; ② The aforementioned local DNS does not cache the IP address, and GSLB determines that the closest node to the user is the secondary node in the next region. Therefore, the terminal may not have enough time to complete a smooth handover. This depends on the timing of the new network RTK connection request initiated by the terminal and whether the configuration of the operator's local DNS and the global load balancer GSLB includes redundant areas. Therefore, this technical solution uses the server of the secondary node of the high-precision positioning service to define and store the outer extension area and overlapping area of the VRS mesh as the redundant broadcast range. The server embeds the additional information formed by the above redundant range into the RTCM message of the differential data and sends it to the terminal. The terminal triggers the second handover upon receiving the additional information.
[0125] The technical solution of this disclosure embodiment enables RTK service switching between secondary nodes while maintaining service continuity. The switching judgment logic and node switching operation are executed on the terminal itself. The mapping area boundary of each node is appropriately expanded outwards, with the expanded areas overlapping to form an overlapping area. The terminal can request differential data from any server in the overlapping area, allowing sufficient time for the rapidly moving terminal to make the aforementioned judgment and execute the switching, preventing the terminal from prematurely moving out of the VRS mesh mapped by the original node before completing the switching. The RTK service provided by the server returns data in the overlapping and non-overlapping areas with the following differences: In addition to returning differential data, it includes supplementary information: the current VRS mesh belongs to the overlapping area and the access method of other servers corresponding to that overlapping area. The terminal uses this supplementary information to determine whether node switching is necessary and to execute the switch to another node.
[0126] See Figure 9A network RTK cross-cloud node switching system, comprising:
[0127] The grid matching module 901 is used to determine the target VRS grid that matches the approximate location when it receives the approximate location sent by the terminal.
[0128] The information sending module 902 is used to send differential data and additional information of the target VRS grid to the terminal if the target VRS grid is located in the target overlap area, so that the terminal can determine the switching node based on the additional information. The target overlap area is the overlap area of the broadcast mapping area between secondary nodes. The additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid.
[0129] In some embodiments, when the mesh matching module 901 determines the target VRS mesh that matches the approximate location, it specifically uses the following method: based on the approximate location and the mapping area of each VRS mesh, the VRS mesh corresponding to the mapping area where the approximate location is located is taken as the target VRS mesh.
[0130] In some embodiments, the target overlap area includes the extended overlap area of the VRS mesh of each secondary node.
[0131] In some embodiments, when the information sending module 902 sends differential data and additional information of the target VRS mesh to the terminal, it is specifically used for:
[0132] Send RTCM messages to the terminal. Differential data is set in the message field of the RTCM message, and additional information is set in the reserved field of the RTCM message.
[0133] In some embodiments, the system further includes a determination module, used to determine whether the target VRS grid belongs to the target overlap area based on the target VRS grid and the preset correspondence between the target overlap area and the VRS grid.
[0134] See Figure 10 A network RTK cross-cloud node switching system, comprising:
[0135] The location sending module 1001 is used to send the approximate location of the terminal to the secondary node server.
[0136] The node switching module 1002 is used to determine the switching node from the mapping nodes corresponding to the second information according to the moving direction of the terminal if it receives additional information sent by the secondary node server, the additional information including first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid. The target VRS grid is the VRS grid that matches the approximate location, and the target overlap area is the overlap area of the broadcast mapping area between the secondary nodes.
[0137] Exemplary embodiments of this disclosure also provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to cause the electronic device to perform a method according to an embodiment of this disclosure.
[0138] Exemplary embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by a computer's processor, is used to cause the computer to perform a method according to embodiments of this disclosure.
[0139] Exemplary embodiments of this disclosure also provide a computer program product, including a computer program, wherein, when executed by a processor of a computer, the computer program is used to cause the computer to perform a method according to an embodiment of this disclosure.
[0140] refer to Figure 11 The present invention describes a structural block diagram of an electronic device 110 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0141] Electronic device 110 includes a computing unit 111, which can perform various appropriate actions and processes according to a computer program stored in read-only memory (ROM) 112 or a computer program loaded from storage unit 118 into random access memory (RAM) 113. The RAM 113 may also store various programs and data required for device operation. The computing unit 111, ROM 112, and RAM 113 are interconnected via bus 114. An input / output (I / O) interface 115 is also connected to bus 114.
[0142] Multiple components in electronic device 110 are connected to I / O interface 115, including: input unit 116, output unit 117, storage unit 118, and communication unit 119. Input unit 116 can be any type of device capable of inputting information to electronic device 110. Input unit 116 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of the electronic device. Output unit 117 can be any type of device capable of presenting information and may include, but is not limited to, a display, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 118 may include, but is not limited to, disks and optical discs. Communication unit 119 allows electronic device 110 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.
[0143] The computing unit 111 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 111 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 111 performs the various methods and processes described above. For example, in some embodiments, the methods of the embodiments of this disclosure can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 118. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 110 via ROM 112 and / or communication unit 119. In some embodiments, the computing unit 111 can be configured to perform the methods of the embodiments of this disclosure by any other suitable means (e.g., by means of firmware).
[0144] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0145] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0146] As used in this disclosure, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, memory, programmable logic device) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0147] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0148] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0149] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.
Claims
1. A method for switching network RTK across cloud nodes, characterized in that, The method includes: Upon receiving a rough location from the terminal, a target VRS grid matching the rough location is determined; If the target VRS grid is located in the target overlap area, differential data and additional information of the target VRS grid are sent to the terminal so that the terminal can determine the switching node based on the additional information. The target overlap area is the overlap area of the broadcast mapping area between secondary nodes. The additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid.
2. The method according to claim 1, characterized in that, The determination of the target VRS grid matching the approximate location includes: Based on the approximate location and the mapping area of each VRS grid, the VRS grid corresponding to the mapping area where the approximate location is located is taken as the target VRS grid.
3. The method according to claim 1, characterized in that, The target overlap area includes the outer overlap area of the VRS mesh of each secondary node.
4. The method according to claim 1, characterized in that, The step of sending differential data and additional information of the target VRS mesh to the terminal includes: An RTCM message is sent to the terminal, wherein the differential data is set in the message field of the RTCM message and the additional information is set in the reserved field of the RTCM message.
5. The method according to claim 1, characterized in that, Based on the target VRS grid and the preset correspondence between the target overlap area and the VRS grid, it is determined whether the target VRS grid belongs to the target overlap area.
6. A method for switching network RTK across cloud nodes, characterized in that, The method includes: Send the approximate location of the terminal to the secondary node server; If additional information is received from the secondary node server, the additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid, then the switching node is determined from the mapping node corresponding to the second information according to the movement direction of the terminal. The target VRS grid is the VRS grid that matches the approximate location, and the target overlap area is the overlap area of the broadcast mapping area between secondary nodes.
7. A network RTK cross-cloud node switching system, characterized in that, include: The grid matching module is used to determine the target VRS grid that matches the approximate location when it receives the approximate location sent by the terminal. The information sending module is used to send differential data and additional information of the target VRS grid to the terminal if the target VRS grid is located in the target overlap area, so that the terminal can determine the switching node based on the additional information. The target overlap area is the overlap area of the broadcast mapping area between secondary nodes, and the additional information includes first information that the target VRS grid is located in the target overlap area and second information of the mapping node of the target VRS grid.
8. A network RTK cross-cloud node switching system, characterized in that, include: The location sending module is used to send the approximate location of the terminal to the secondary node server; The node switching module is used to determine a switching node from the mapping nodes corresponding to the second information based on the movement direction of the terminal if it receives additional information sent by the secondary node server, the additional information including first information that the target VRS grid is located in the target overlap area and second information of the mapping nodes of the target VRS grid. The target VRS grid is a VRS grid that matches the approximate location, and the target overlap area is the overlap area of the broadcast mapping areas between secondary nodes.
9. An electronic device, characterized in that, include: processor; as well as Stored program memory, The program includes instructions that, when executed by the processor, cause the processor to perform the method according to any one of claims 1-6.
10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-6.
11. A computer program product, characterized in that, Includes a computer program, wherein the computer program, when executed by a computer's processor, is used to cause the computer to perform the method according to any one of claims 1-6.
Citation Information
Patent Citations
Network RTK switching method
CN108519612A