A method and device for updating ephemeris information, a computer device and a storage medium
By verifying differential information and hash values, IoT devices update ephemeris information on blockchain nodes, solving the problem of limited storage space, achieving efficient and accurate ephemeris information updates, and improving satellite positioning accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN GUANGTONG YILIAN TECH CO LTD
- Filing Date
- 2026-03-12
- Publication Date
- 2026-06-09
AI Technical Summary
Due to limited storage space, IoT devices have difficulty effectively updating ephemeris information, leading to a decrease in satellite positioning accuracy.
IoT devices update ephemeris information by requesting differential information and hash values from the server, combined with blockchain node verification, to ensure information accuracy and reduce traffic overhead.
It improves the accuracy and efficiency of ephemeris information updates and reduces the storage and bandwidth requirements of IoT devices.
Smart Images

Figure CN122179313A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, computer device, and storage medium for updating ephemeris information. Background Technology
[0002] With the development of communication technology, intelligent positioning has emerged, which can be achieved through methods such as satellite positioning and cellular network positioning. In satellite positioning, the terminal device receives ephemeris information, and by analyzing and processing this information, the location information of the terminal device can be determined.
[0003] For terminal devices with limited storage capacity and power, such as IoT terminals, how to obtain ephemeris information is a hot research topic. Summary of the Invention
[0004] This application provides a method, apparatus, computer device, and storage medium for updating ephemeris information, which is beneficial for obtaining and storing accurate ephemeris information in limited storage space.
[0005] In a first aspect, embodiments of this application provide a method for updating ephemeris information. The method includes: sending a first request message to a server; the first request message includes a hash value of a reference ephemeris for a first satellite, and the first request message is used to request differential information corresponding to the reference ephemeris; receiving a first response message from the server; the first response message includes a hash value of a reference ephemeris for the first satellite and differential information, the differential information indicating the difference between the reference ephemeris and the reference ephemeris; sending a first query message to a blockchain node, the first query message including a hash value of the reference ephemeris for the first satellite, the first query message requesting a query to determine if a hash value of the reference ephemeris for the first satellite exists on the blockchain; upon receiving a first query response message from the blockchain, determining first ephemeris information and its hash value based on the differential information and the reference ephemeris; wherein the first query response message indicates that a hash value of the reference ephemeris for the first satellite exists on the blockchain; and updating the stored ephemeris information from the reference ephemeris to the first ephemeris information if the hash value of the first ephemeris is the same as the hash value of the reference ephemeris for the first satellite.
[0006] It is evident that IoT devices determine the first ephemeris information through differential information and reference ephemeris information, which helps reduce the bandwidth overhead during ephemeris information updates and ensures that IoT devices with limited memory can update ephemeris information. By verifying the existence of the hash value of the reference ephemeris information in the blockchain node and verifying whether the hash value of the first ephemeris information matches the hash value of the reference ephemeris information, IoT devices can check the accuracy of the first ephemeris information, thus improving its reliability.
[0007] In one possible implementation, when the reference ephemeris information stored in the IoT device is the ephemeris information initially broadcast by the first satellite, the ephemeris information initially broadcast only includes the necessary satellite data.
[0008] It is evident that using necessary satellite data as reference ephemeris information by IoT devices helps ensure that IoT devices with limited memory space can store reference ephemeris information.
[0009] In one possible implementation, the method further includes: sending a second request message to a server when the first query response message indicates that the hash value of the reference ephemeris information of the first satellite does not exist on the blockchain; the second request message includes the hash value of the reference ephemeris information of the first satellite, and the second request message is used to request differential information; receiving a second response message from the server; the second response message includes the differential information and the hash value of the reference ephemeris information of the first satellite; sending a second query message to a blockchain node, the second query message includes the hash value of the reference ephemeris information of the first satellite, and the second query message is used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain; upon receiving the second query response message from the blockchain, determining the second ephemeris information and the hash value of the second ephemeris information based on the differential information and the reference ephemeris information; wherein the second query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and updating the stored ephemeris information from the reference ephemeris information to the second ephemeris information when the hash value of the second ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite.
[0010] As can be seen, when the first query response message indicates that the hash value of the reference ephemeris information for the first satellite does not exist on the blockchain, the IoT device requests the server to resend the differential information and the hash value of the reference ephemeris information for the first satellite. This targeted approach addresses the issue of inaccurate updated ephemeris information caused by transmission anomalies, thus improving the accuracy of the updated ephemeris information.
[0011] In one possible implementation, the method further includes: sending a full download request to the server if the second query response message indicates that there is no hash value of the reference ephemeris information of the first satellite on the blockchain; the full download request is used to request the download of the reference ephemeris information of the first satellite; receiving a full download response from the server; the full download response includes the reference ephemeris information of the first satellite; and updating the stored ephemeris information from the base ephemeris information to the reference ephemeris information of the first satellite.
[0012] As can be seen, when the second query response message indicates that the hash value of the reference ephemeris information for the first satellite does not exist on the blockchain, the IoT device requests a full download of the reference ephemeris information for the first satellite. This specifically addresses the situation where a query fails due to the blockchain not successfully storing the hash value of the reference ephemeris information for the first satellite, preventing the ephemeris information update process from stalling and improving the efficiency of ephemeris information updates.
[0013] In one possible implementation, the method further includes: sending a third request message to a server when the hash value of the first ephemeris information differs from the hash value of the reference ephemeris information of the first satellite; the third request message includes the hash value of the reference ephemeris information of the first satellite and is used to request differential information; receiving a third response message from the server; the third response message includes the differential information and the hash value of the reference ephemeris information of the first satellite; sending a third query message to a blockchain node, the third query message including the hash value of the reference ephemeris information of the first satellite and being used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain; upon receiving the third query response message from the blockchain, determining the third ephemeris information and its hash value based on the differential information and the reference ephemeris information; wherein the third query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and updating the stored ephemeris information from the reference ephemeris information to the third ephemeris information when the hash value of the third ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite.
[0014] As can be seen, if the first ephemeris information fails to be reconstructed, the IoT device requests the server to resend the differential information and the hash value of the reference ephemeris information of the first satellite. Upon receiving the resent differential information and the hash value of the reference ephemeris information of the first satellite from the server, the IoT device determines the third ephemeris information based on the reference ephemeris information and the newly acquired differential information, thus specifically addressing the problem of the first ephemeris information reconstruction failure. In one possible implementation, determining the first ephemeris information and its hash value based on the differential information and the reference ephemeris information may include: adding the differential information and the reference ephemeris information to obtain the first ephemeris information; and performing a hash calculation on the first ephemeris information to obtain its hash value.
[0015] It is evident that IoT devices determine the first ephemeris information by using differential information and reference ephemeris information, which helps reduce the traffic overhead during the ephemeris information update process and ensures that IoT devices with limited memory space can update the ephemeris information.
[0016] Secondly, embodiments of this application provide another method for updating ephemeris information. The method includes: receiving a first request message from an Internet of Things (IoT) device; the first request message includes a hash value of a reference ephemeris information of a first satellite, and the first request message is used to request differential information corresponding to the reference ephemeris information; based on the hash value of the reference ephemeris information of the first satellite, obtaining differential information between the reference ephemeris information and the reference ephemeris information, as well as the hash value of the reference ephemeris information of the first satellite; and sending a first response message to the IoT device, the first response message including the differential information and the hash value of the reference ephemeris information of the first satellite.
[0017] It is evident that sending differential information from the server to IoT devices helps reduce the bandwidth overhead of IoT devices during ephemeris updates and ensures that IoT devices with limited memory can update their ephemeris information. Sending the hash value of the reference ephemeris from the server to the IoT device helps verify whether there are any anomalies in the first response message during transmission.
[0018] In one possible implementation, the method further includes: upon receiving reference ephemeris information from a satellite, determining the hash value of the reference ephemeris information of the first satellite and the difference information between the reference ephemeris information and the reference ephemeris information.
[0019] It is evident that server-determined differential information helps reduce the bandwidth overhead of IoT devices during ephemeris updates and ensures that IoT devices with limited memory can update ephemeris information.
[0020] In one possible implementation, the method further includes: sending a storage message to a blockchain node, the storage message including the hash value of the reference ephemeris information of the first satellite, the storage message being used to request the blockchain node to store the hash value of the reference ephemeris information of the first satellite.
[0021] It is evident that storing the hash value of the reference ephemeris in the blockchain node facilitates the verification of the accuracy of the first ephemeris information by IoT devices, which helps to improve the accuracy of the updated ephemeris information.
[0022] Thirdly, embodiments of this application provide a communication device, which includes a communication unit and a processing unit.
[0023] The communication unit is configured to send a first request message to a server; the first request message includes a hash value of the reference ephemeris information of the first satellite, and the first request message is used to request differential information corresponding to the reference ephemeris information; receive a first response message from the server; the first response message includes a hash value of the reference ephemeris information of the first satellite and differential information, the differential information being used to indicate the difference between the reference ephemeris information and the reference ephemeris information; and send a first query message to a blockchain node, the first query message including a hash value of the reference ephemeris information of the first satellite, the first query message being used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain.
[0024] The processing unit is configured to, upon receiving a first query response message from the blockchain, determine the first ephemeris information and its hash value based on differential information and reference ephemeris information; wherein the first query response message indicates that a hash value of reference ephemeris information for the first satellite exists on the blockchain; and if the hash value of the first ephemeris information is the same as the hash value of the reference ephemeris information for the first satellite, update the stored ephemeris information from the reference ephemeris information to the first ephemeris information.
[0025] In one possible implementation, when the reference ephemeris information stored in the IoT device is the ephemeris information initially broadcast by the first satellite, the ephemeris information initially broadcast only includes the necessary satellite data.
[0026] In one possible implementation, the communication unit is further configured to: send a second request message to the server if the first query response message indicates that the hash value of the reference ephemeris information of the first satellite does not exist on the blockchain; the second request message includes the hash value of the reference ephemeris information of the first satellite and is used to request differential information; receive a second response message from the server; the second response message includes the differential information and the hash value of the reference ephemeris information of the first satellite; send a second query message to the blockchain node, the second query message including the hash value of the reference ephemeris information of the first satellite and being used to request a query about the existence of the hash value of the reference ephemeris information of the first satellite on the blockchain; and the processing unit is further configured to: upon receiving the second query response message from the blockchain, determine the second ephemeris information and its hash value based on the differential information and the reference ephemeris information; wherein the second query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and if the hash value of the second ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, update the stored ephemeris information from the reference ephemeris information to the second ephemeris information.
[0027] In one possible implementation, the communication unit is further configured to send a full download request to the server if the second query response message indicates that there is no hash value of the reference ephemeris information of the first satellite on the blockchain; the full download request is used to request the download of the reference ephemeris information of the first satellite; receive a full download response from the server; the full download response includes the reference ephemeris information of the first satellite; and the processing unit is further configured to update the stored ephemeris information from the reference ephemeris information to the reference ephemeris information of the first satellite.
[0028] In one possible implementation, the communication unit is further configured to: send a third request message to the server if the hash value of the first ephemeris information differs from the hash value of the reference ephemeris information of the first satellite; the third request message includes the hash value of the reference ephemeris information of the first satellite and is used to request differential information; receive a third response message from the server; the third response message includes the differential information and the hash value of the reference ephemeris information of the first satellite; send a third query message to the blockchain node, the third query message including the hash value of the reference ephemeris information of the first satellite and being used to request a query on the blockchain to determine whether the hash value of the reference ephemeris information of the first satellite exists; and, upon receiving the third query response message from the blockchain, determine the third ephemeris information and its hash value based on the differential information and the reference ephemeris information; wherein the third query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and, if the hash value of the third ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, update the stored ephemeris information from the reference ephemeris information to the third ephemeris information.
[0029] In one possible implementation, the processing unit is further configured to perform addition on the differential information and the reference ephemeris information to obtain the first ephemeris information; and to perform hash calculation on the first ephemeris information to obtain the hash value of the first ephemeris information.
[0030] Fourthly, embodiments of this application provide another communication device, which includes a communication unit and a processing unit.
[0031] The communication unit is configured to receive a first request message from an IoT device; the first request message includes a hash value of reference ephemeris information, and the first request message is used to request differential information corresponding to the reference ephemeris information; the processing unit is configured to obtain differential information between the reference ephemeris information and the reference ephemeris information, as well as the hash value of the reference ephemeris information, based on the hash value of the reference ephemeris information; the communication unit is also configured to send a first response message to the IoT device, the first response message including differential information and the hash value of the reference ephemeris information.
[0032] In one possible implementation, the processing unit is further configured to, upon receiving reference ephemeris information from the satellite, determine the hash value of the reference ephemeris information and the difference information between the reference ephemeris information and the baseline ephemeris information.
[0033] In one possible implementation, the communication unit is also used to send a storage message to the blockchain node, the storage message including the hash value of the reference ephemeris information, the storage message being used to request the blockchain node to store the hash value of the reference ephemeris information.
[0034] Fifthly, embodiments of this application provide an electronic device, which includes: a memory for storing a program; and a processor for executing the program stored in the memory. When the program is executed by the processor, the processor executes a method as described in the first aspect and any possible implementation of the first aspect, or executes a method as described in the second aspect and any possible implementation of the second aspect.
[0035] Sixthly, embodiments of this application provide a computer storage medium storing a computer program, the computer program including program instructions, wherein when the program instructions are executed by a processor, the processor executes a method as described in the first aspect and any possible implementation thereof, or executes a method as described in the second aspect and any possible implementation thereof. Attached Figure Description
[0036] Figure 1 This is a schematic diagram of a system architecture using an embodiment of this application; Figure 2 A flowchart illustrating a method for updating ephemeris information provided in an embodiment of this application; Figure 3 A flowchart illustrating a differential information generation method provided in an embodiment of this application; Figure 4 A flowchart illustrating another method for updating ephemeris information provided in this application embodiment; Figure 5 A flowchart illustrating another method for updating ephemeris information provided in an embodiment of this application; Figure 6 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0037] The embodiments of this application will now be described with reference to the accompanying drawings.
[0038] The terms "first," "second," "third," and "fourth," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0039] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0040] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0041] The terms “component,” “module,” “system,” etc., used in this specification are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0042] First, some of the terms used in this application will be explained to facilitate understanding by those skilled in the art.
[0043] I. Ephemeral Information Ephemeris information refers to the ephemeris data of a satellite, which is the core navigation data broadcast by the Global Navigation Satellite System (GNSS) to terminal devices. Essentially, it is a type of satellite orbital parameter information, which may include, but is not limited to: the satellite's position information in orbit (e.g., semi-major axis, orbital inclination), the satellite's motion status information in orbit (e.g., satellite acceleration, angular velocity), and its validity period. The validity period can be the validity period of the position information, the validity period of the motion status information, or a combination of both; there is no limitation.
[0044] The wireless wide area network (WWAN) module in terminal devices (such as vehicle terminals, smartphones, and tablets) can perform GNSS positioning based on ephemeris information. This means the terminal device can accurately calculate the three-dimensional coordinates (longitude, latitude, and altitude) of satellites within the validity period of the ephemeris information. Simultaneously, the terminal device can predict satellite trajectories based on ephemeris information, enabling tracking and prediction of satellite operational status. When the terminal device can simultaneously acquire valid ephemeris information from at least four satellites, it can use pseudorange measurement to jointly calculate its own three-dimensional coordinates (longitude, latitude, and altitude) with its local clock, achieving real-time positioning. This positioning technology is widely used in fields such as car navigation, air traffic management, outdoor adventure positioning, and logistics transportation.
[0045] However, satellites are affected by various factors during actual operation (such as the uneven distribution of Earth's gravitational field, gravitational perturbations from the Sun and Moon, upper atmospheric drag, and solar radiation pressure), causing deviations between the actual and preset orbital parameters. Furthermore, the slight frequency deviation of the satellite's built-in atomic clock further exacerbates this discrepancy. If ephemeris information is not updated for a long period, the satellite position calculated by the terminal device based on outdated ephemeris will show significant errors, leading to decreased positioning accuracy and even positioning failure. Therefore, when using GNSS for positioning, it is necessary for the telemetry and control station to continuously monitor the satellite's orbital parameters and periodically send updated ephemeris information to the terminal device to ensure that the terminal can always achieve continuous and accurate positioning based on precise ephemeris information.
[0046] II. Blockchain Blockchain is a tamper-proof distributed ledger technology that enables orderly data storage through a chain structure and ensures that the stored data is immutable and traceable.
[0047] A blockchain consists of key components such as block structure, distributed node network, consensus mechanism, and encryption algorithm. The block structure is the basic unit of data storage; the distributed node network is a distributed network composed of multiple independent nodes (without a central control node); the consensus mechanism ensures data consistency among nodes, meaning no single node can control the data; and the encryption algorithm guarantees the security of data transmission and storage, and enables identity authentication.
[0048] Blockchain can be widely applied in various fields such as data security and the Internet of Things (IoT). Terminal devices can leverage blockchain to achieve multi-dimensional functions. For example, IoT devices can upload key information such as acquired sensor data and transaction records to the blockchain. After verification through node consensus, this information is written into blocks, forming an immutable record. Participating nodes can query the distributed ledger copy in real time to verify the integrity and authenticity of the written data. In multi-device collaboration scenarios (such as supply chain traceability and multi-institutional data sharing), blockchain can achieve data transparency by executing preset rules (such as data access control and anomaly trigger notifications).
[0049] III. Internet of Things (IoT) The Internet of Things (IoT) is a technology that connects objects to a network through information sensing devices based on preset protocols. The IoT technology architecture includes a perception layer, a network layer, and an application layer. The perception layer includes various sensors (such as temperature sensors and location sensors), cameras, and IoT terminals, used to collect status data of devices or the environment (such as device operating parameters, environmental data, and location information). The network layer includes various communication technologies such as wireless communication (e.g., 5G and 4G) and wired communication, used to transmit the data collected by the perception layer to servers or edge nodes. The application layer includes cloud platforms, edge computing nodes, and application management systems, used for data parsing, artificial intelligence analysis, and business logic processing.
[0050] Internet of Things (IoT) devices are the physical carriers of IoT technology. They refer to intelligent terminals that have the ability to sense physical quantities (such as temperature, location, motion status, etc.), interact across networks (such as cellular networks, wireless networks, satellite communication, etc.), and process data (such as local data preprocessing, edge collaborative processing, etc.). Examples include smart home devices (such as smart cameras, smart door locks, etc.), smart water meters, smart electricity meters, and so on.
[0051] IoT devices have been widely used in smart homes, smart logistics, smart agriculture, and other fields. Taking a smart surveillance camera in a smart home as an example, this device uses a built-in high-definition image sensor, infrared illumination module, and sound acquisition module to collect real-time data on static targets (such as furniture), dynamic targets (such as moving people or animals), light intensity, sound signals, and other physical quantities in the environment. With the help of edge collaborative computing, it filters out abnormal physical quantities (such as crying sounds) from the real-time collected physical quantities and generates prompts based on these abnormalities. Relying on standardized communication protocols, layered network architecture, and penetration technology, the prompts are sent to terminal devices (such as smartphones) to alert users to abnormal monitoring situations.
[0052] However, IoT devices also suffer from drawbacks in practical applications, such as resource constraints, low security, and insufficient compatibility. Resource constraints refer to the limitations imposed by cost and size on IoT devices, resulting in weak computing power, small storage space, and short battery life. Low security means that data within IoT devices is vulnerable to tampering or attacks. Insufficient compatibility stems from the fact that different IoT devices use different communication protocols, data formats, and interface standards, making interaction between them difficult.
[0053] Currently, terminal devices with satellite positioning capabilities can calculate their own location information by acquiring ephemeris information from multiple satellites. Furthermore, to ensure positioning accuracy, these devices periodically download the latest ephemeris information from these satellites, dynamically updating the locally stored ephemeris data. However, for IoT devices, due to their generally limited memory resources, they may not be able to store complete and up-to-date ephemeris information from multiple satellites. This can lead to ephemeris update failures and consequently, a decrease in satellite positioning accuracy.
[0054] In view of this, embodiments of this application provide a method, apparatus, computer device, and storage medium for updating ephemeris information. IoT devices update ephemeris information based on differential information, effectively reducing bandwidth overhead and ensuring that even IoT devices with limited memory can update ephemeris information. The IoT device verifies whether there are any anomalies in the differential information during transmission by searching for the hash value of the reference ephemeris information on the blockchain; the IoT device verifies whether the first ephemeris information is correctly reconstructed by comparing the hash value of the reference ephemeris information with the hash value of the first ephemeris information. Through multiple verifications, the accuracy of the updated ephemeris information is improved.
[0055] The following describes a system architecture applicable to the embodiments of this application.
[0056] Please see Figure 1 , Figure 1 This is a schematic diagram of a system architecture applying an embodiment of this application. For example... Figure 1 As shown, the system architecture includes a server 110, an IoT device 120, a blockchain network 130, and a first satellite 140. The server 110 and the IoT device 120 can communicate via wired or wireless means.
[0057] Server 110 is a secondary blockchain server. A secondary blockchain server is a server deployed outside the blockchain network, providing collaborative computing for blockchain nodes within the network to perform specific auxiliary functions (such as data format conversion and data compression). A secondary blockchain server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. In this embodiment, server 110 is used to obtain ephemeris information from satellite broadcasts and process that ephemeris information.
[0058] The Internet of Things (IoT) device 120 is an intelligent device with data acquisition, data processing, and data interaction functions. The IoT device 120 may include, but is not limited to, smart home devices (such as smart speakers, smart cameras, etc.), smart meters, smart locators, smart monitoring devices, etc., and this application does not impose any limitations on this. In this embodiment, the IoT device 120 can be used to process ephemeris information.
[0059] The blockchain network 130 consists of blockchain nodes 132a, 132b, 132c, and 132d. Each blockchain node is an independent computing device that connects to the blockchain network and participates in ledger maintenance and data interaction. Blockchain nodes can include, but are not limited to, servers, computers, IoT terminals, and other devices. In this embodiment, blockchain nodes 132a, 132b, 132c, and 132d can be used to store and verify hash values.
[0060] The first satellite 140 can be any satellite in the satellite system. In this embodiment, the first satellite 140 is used to broadcast ephemeris information.
[0061] In this embodiment, the first satellite 140 broadcasts ephemeris information. Upon receiving the ephemeris information, the server 110 determines the differential information of the ephemeris information and uploads the hash value of the ephemeris information to the blockchain network 130, where blockchain nodes in the blockchain network 130 add it to the blockchain. When the IoT device 120 needs to obtain ephemeris information, it requests the differential information corresponding to the reference ephemeris information from the server 110. The server 110 feeds back to the IoT device 120 the hash value and differential information of the reference ephemeris information corresponding to the reference ephemeris information. Upon obtaining the hash value and differential information, the IoT device 120 first determines whether the hash value exists in the blockchain network 130, that is, whether the hash value has been added to the blockchain. If the hash value has been added to the blockchain, the IoT device 120 reconstructs the ephemeris information based on the differential information fed back by the server 110 and determines the hash value of the reconstructed ephemeris information. If the hash value returned by server 110 is the same as the hash value of the reconstructed ephemeris information, IoT device 120 can update the stored ephemeris information and / or perform positioning based on the reconstructed ephemeris information.
[0062] The ephemeris information updating method provided in this application can be applied to updating the ephemeris information of one or more satellites. For ease of understanding, the following uses updating the ephemeris information corresponding to the first satellite as an example to introduce an ephemeris information updating method provided in this application. The first satellite can be any satellite in the satellite system.
[0063] Please see Figure 2 , Figure 2 This is a flowchart illustrating a method for updating ephemeris information provided in an embodiment of this application. Figure 2 As shown, this method for updating ephemeris information includes, but is not limited to, the following steps: S201, the IoT device sends a first request message to the server. Correspondingly, the server receives the first request message from the IoT device.
[0064] The first request message is used to request differential information corresponding to the reference ephemeris information. The first request message includes the hash value (H_base) of the reference ephemeris information. For example, the first request message is used to request differential information corresponding to the reference ephemeris information of a first satellite, including the hash value of the reference ephemeris information of the first satellite. The IoT device stores the reference ephemeris information of the first satellite. The reference ephemeris information can be understood as the preset orbital parameter information of the first satellite. This reference ephemeris information can be the ephemeris information initially broadcast by the first satellite. Alternatively, the reference ephemeris information can be understood as the ephemeris information of the first satellite after the last update by the IoT device.
[0065] To ensure that IoT devices with limited memory space can store reference ephemeris information, when the reference ephemeris information is the ephemeris information initially broadcast by the first satellite, only the necessary satellite data is retained in the ephemeris information.
[0066] The hash value of the reference ephemeris information is the result of the IoT device performing a hash calculation on the reference ephemeris information. For example, the IoT device performs a hash calculation on the stored reference ephemeris information of the first satellite to obtain the hash value of the reference ephemeris information of the first satellite.
[0067] The differential information corresponding to the reference ephemeris information refers to the differential information corresponding to the reference ephemeris information of the first satellite, that is, the difference information between the reference ephemeris information of the first satellite and the reference ephemeris information of the first satellite. Among them, the reference ephemeris information of the first satellite can be ephemeris information that is not initially broadcast by the first satellite, such as ephemeris information broadcast after the initial broadcast ephemeris information, or ephemeris information broadcast for the nth time, where n is a positive integer greater than 1.
[0068] For example, the reference ephemeris information of the first satellite is the ephemeris information broadcast by the first satellite for the first time, and the reference ephemeris information of the first satellite is the ephemeris information broadcast by the first satellite for the second time. Then the difference information is the difference information between the ephemeris information broadcast for the first time and the ephemeris information broadcast for the second time.
[0069] It should be understood that if the first satellite does not broadcast ephemeris information after the reference ephemeris information, the server cannot obtain the reference ephemeris information of the first satellite, and therefore cannot determine the differential information corresponding to the reference ephemeris information.
[0070] In one possible implementation, if the IoT device's shutdown time exceeds a preset shutdown time, the IoT device, after restarting, sends a first request message to the server to update the reference ephemeris information stored in the IoT device. Alternatively, if the IoT device's shutdown time does not exceed the preset shutdown time, and the IoT device's power-on duration is greater than or equal to the broadcast interval of the first satellite ephemeris information, the IoT device sends a first request message to the server.
[0071] S202, the server obtains the difference information between the reference ephemeris information and the reference ephemeris information, as well as the hash value of the reference ephemeris information of the first satellite, based on the hash value of the reference ephemeris information of the first satellite.
[0072] In one possible implementation, after the server receives reference ephemeris information from the first satellite, the server determines differential information based on the reference ephemeris information and the base ephemeris information of the first satellite. The server stores the base ephemeris information of the first satellite. Please refer to [link to relevant documentation]. Figure 3 , Figure 3 This is a flowchart illustrating a differential information generation method provided in an embodiment of this application. Figure 3 As shown, the differential information generation method includes, but is not limited to, the following steps: S301, the first satellite broadcasts reference ephemeris information. Correspondingly, the server receives the reference ephemeris information from the first satellite.
[0073] In one possible implementation, the first satellite broadcasts 128 bytes of reference ephemeris information. This 128-byte ephemeris information helps reduce transmission costs and energy consumption between the first satellite and the server, decreases the risk of packet loss and errors during transmission, and thus improves the accuracy of the reference ephemeris information received by the server.
[0074] S302, the server determines the hash value of the reference ephemeris information and the difference information between the base ephemeris information and the reference ephemeris information.
[0075] The server performs a hash calculation on the reference ephemeris information broadcast by the first satellite to obtain the hash value H0 of the reference ephemeris information of the first satellite.
[0076] In one possible implementation, the hash value H0 of the reference ephemeris information can be calculated using the following formula (1): H0 = Hash(RawEph) (1) Here, Hash() is a hash function used to determine the hash value of the input parameter; RawEph is the reference ephemeris information sent by the first satellite; the hash value H0 of the reference ephemeris information of the first satellite can also be represented as H_new1.
[0077] After completing the hash calculation, the server stores the reference ephemeris information of the first satellite in its local index database according to the reception time and satellite vehicle ID (Svid). The server's categorized storage of reference ephemeris information by reception time and satellite ID facilitates rapid indexing of relevant ephemeris information based on either the satellite ID or reception time when accessing it, thus improving retrieval efficiency.
[0078] After the server completes the storage of the reference ephemeris information of the first satellite, the server calls the reference ephemeris information of the first satellite and determines the amount of change between the reference ephemeris information and the reference ephemeris information of the first satellite as differential information, and stores the differential information in the local cache.
[0079] If, after storing the reference ephemeris information for the first satellite, the server fails to determine the differential information within the waiting time threshold (e.g., due to long server response times or high server load causing processing delays), the server can retrieve the reference ephemeris information for the first satellite from the index database via the differential engine when it needs to determine the differential information based on the reference ephemeris information and the reference ephemeris information for the first satellite. Alternatively, during subsequent maintenance, if the server needs to re-determine the differential information based on the reference ephemeris information for the first satellite in the index database and the locally stored reference ephemeris information, the server can retrieve the reference ephemeris information for the first satellite from the index database via the differential engine. The differential engine is a module within the server used to retrieve the corresponding reference ephemeris information.
[0080] In one possible implementation, the difference information can be represented as Eph_diff, which can be calculated using the following formula (2): Eph_diff = CurrentEph – BaseEph(2) Where CurrentEph represents the reference ephemeris information of the first satellite, and BaseEph represents the base ephemeris information of the first satellite. In other words, the differential information only retains the parameter of the change between the reference ephemeris information and the base ephemeris information.
[0081] S303, the server sends a storage message to the blockchain node. Correspondingly, the blockchain node receives the storage message from the server.
[0082] The storage message is used to request the blockchain node to store the hash value of the reference ephemeris information of the first satellite. The storage message includes the hash value of the reference ephemeris information of the first satellite. The hash value of the reference ephemeris information of the first satellite stored on the blockchain corresponds to the differential information determined based on that reference ephemeris information. In other words, the hash value of the uniquely corresponding reference ephemeris information can be determined through the differential information.
[0083] In one possible implementation, the server sends a storage message to the blockchain node. In response to the storage message, the blockchain node stores the hash value of the reference ephemeris information and maps the differential information determined based on the reference ephemeris information to the hash value of the reference ephemeris information, thereby achieving hash anchoring.
[0084] By storing the hash value of the reference ephemeris information in the blockchain node, the server achieves hash anchoring, which effectively reduces the risk of the hash value of the reference ephemeris information being tampered with. Furthermore, hash anchoring also effectively reduces the storage costs of the blockchain node.
[0085] S304, the blockchain node sends a storage response message to the server. Correspondingly, the server receives the storage response message from the blockchain node.
[0086] The storage response message is used to indicate whether the hash value of the reference ephemeris information of the first satellite was successfully stored.
[0087] If the hash value of the reference ephemeris information of the first satellite is not successfully stored as indicated by the storage response message, the server responds to the storage response message by resending the storage message to the blockchain node to request the blockchain node to store the hash value of the reference ephemeris information of the first satellite.
[0088] As can be seen, after receiving the reference ephemeris information from the first satellite, the server determines the differential information based on the reference ephemeris information and the first satellite's baseline ephemeris information. When an IoT device needs to update its ephemeris information, the server can send the differential information to the IoT device to update the ephemeris information. Sending differential information not only helps reduce bandwidth consumption during transmission but also reduces the memory requirements of IoT devices, enabling even IoT devices with limited memory to update their ephemeris information, thereby improving the practicality and cost-effectiveness of ephemeris information updates.
[0089] S203, the server sends a first response message to the IoT device. Correspondingly, the IoT device receives the first response message from the server.
[0090] The first response message is used to respond to the first request message. The first response message includes differential information and a hash value of the reference ephemeris information of the first satellite. Optionally, the first response message also includes the satellite identifier (svid) of the first satellite. For example, when the first request message requests differential information corresponding to the reference ephemeris information of the first satellite, the first response message includes the differential information Eph_diff1 corresponding to the reference ephemeris information of the first satellite, the hash value H_new1 of the reference ephemeris information of the first satellite, and the satellite identifier of the first satellite.
[0091] In one possible implementation, the server determines the corresponding differential information from its local cache based on the hash value of the reference ephemeris information of the first satellite in the first request message, and then determines the hash value of the reference ephemeris information of the first satellite from the blockchain node based on the differential information. The IoT device determines the first response information based on the aforementioned differential information and the hash value of the reference ephemeris information of the first satellite.
[0092] S204, the IoT device sends the first query message to the blockchain node. Correspondingly, the blockchain node receives the first query message from the IoT device.
[0093] The first query message includes the hash value of the reference ephemeris information of the first satellite, that is, the hash value (H_new1) of the reference ephemeris information of the first satellite obtained from the server. It is used to request whether the hash value exists on the blockchain in order to determine whether the reference ephemeris information has been tampered with.
[0094] S205, the blockchain node sends the first query response message to the IoT device. Correspondingly, the IoT device receives the first query response message from the blockchain node.
[0095] In response to the first query message, the blockchain node checks if the hash value (H_new1) carried in the first query message exists on the blockchain. If the hash value carried in the first query message does not exist on the blockchain, it means that the hash value returned by the server to the IoT device may have been tampered with during transmission, or the hash value returned by the server to the IoT device is inconsistent with the hash value stored in the blockchain. In this case, the first query response message indicates that the hash value of the reference ephemeris information for the first satellite does not exist on the blockchain. If the hash value carried in the first query message exists on the blockchain, it means that the hash value returned by the server to the IoT device is consistent with the hash value stored in the blockchain. In this case, the first query response message indicates that the hash value of the reference ephemeris information for the first satellite exists on the blockchain.
[0096] In one possible implementation, the blockchain node performs a query based on the hash value of the reference ephemeris information of the first satellite in the first query message to verify whether the hash value of the reference ephemeris information of the first satellite exists in the blockchain node. The blockchain node then sends the query result as the first query response message to the IoT device.
[0097] If the first query response message indicates that the hash value of the reference ephemeris information for the first satellite exists in the blockchain node, the IoT device reconstructs the first ephemeris information based on the reference ephemeris information and the differential information in the first response message, which is step S206. If the first query response message indicates that the hash value of the reference ephemeris information for the first satellite does not exist in the blockchain node, the IoT device requests the server to resend the differential information and the hash value of the reference ephemeris information for the first satellite, which is... Figure 4 Step S406.
[0098] By querying the blockchain nodes to check if the hash value of the reference ephemeris information for the first satellite exists, it can be verified whether the first response message encountered any abnormalities during transmission. When the first query response message indicates that the hash value of the reference ephemeris information for the first satellite exists in the blockchain nodes, it indicates that the first response message did not encounter any abnormalities during transmission.
[0099] S206, if the first query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain, the IoT device determines the first ephemeris information and the hash value of the first ephemeris information based on the differential information and the reference ephemeris information.
[0100] If the first query response message indicates that a hash value (H_new1) of the reference ephemeris information for the first satellite exists on the blockchain, the IoT device reconstructs the ephemeris information of the first satellite based on the differential information obtained from the server and the stored reference ephemeris information to obtain the first ephemeris information of the first satellite, and determines the hash value of the first ephemeris information. Optionally, the IoT device performs addition processing on the differential information and the reference ephemeris information to obtain the first ephemeris information.
[0101] In one possible implementation, the first ephemeris information can be represented as Eph_new1, which can be calculated using the following formula (3): Eph_new1 = BaseEph + Eph_diff 1 (3) Where BaseEph represents the reference ephemeris information of the first satellite; Eph_diff 1 represents the differential information carried in the first response message. Combining the formula (2) for determining the differential information, the first ephemeris information Eph_new1 determined by the IoT device is the reference ephemeris information CurrentEph. In other words, the determination of the first ephemeris information by the IoT device can be understood as the IoT device reconstructing the reference ephemeris information based on the reference ephemeris information and the differential information.
[0102] After determining the first ephemeris information, the IoT device performs a hash calculation on the first ephemeris information to obtain its hash value. The hash value of the first ephemeris information can be represented as H_one.
[0103] In one possible implementation, the IoT device compares the hash value H_one of the first ephemeris information with the hash value H_new1 of the reference ephemeris information of the first satellite to obtain a comparison result. If the comparison result indicates that the hash value H_one of the first ephemeris information is the same as the hash value H_new1 of the reference ephemeris information of the first satellite, the IoT device updates the stored ephemeris information from the reference ephemeris information to the first ephemeris information, which is step S207. If the comparison result indicates that the hash value H_one of the first ephemeris information is different from the hash value H_new1 of the reference ephemeris information of the first satellite, the IoT device again requests the server to send differential information and the hash value of the reference ephemeris information of the first satellite, which is... Figure 5 Step S507 in the process.
[0104] S207, if the hash value of the first ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, the IoT device updates the stored ephemeris information from the reference ephemeris information to the first ephemeris information.
[0105] In one possible implementation, the IoT device stores the first ephemeris information and deletes the stored reference ephemeris information. That is, the IoT device uses the first ephemeris information as the new reference ephemeris information.
[0106] As can be seen, in this embodiment, IoT devices can update ephemeris information based on differential information. Compared to the scheme where the server transmits complete reference ephemeris information to the IoT device, this application sends differential information to the IoT device via the server, which effectively reduces the bandwidth consumption during the ephemeris update process and ensures that the IoT device can complete the ephemeris update in bandwidth-constrained scenarios. Since the data volume of differential information is much smaller than that of complete reference ephemeris information, even IoT devices with limited memory space can update ephemeris information, which helps to overcome the hardware limitations of IoT devices, enhance device performance, and expand the application scope of ephemeris information updates.
[0107] Please see Figure 4 , Figure 4 This is a flowchart illustrating another ephemeris information updating method provided in an embodiment of this application. Figure 4 As shown, this method for updating ephemeris information may include, but is not limited to, the following steps: S401, the IoT device sends a first request message to the server. Correspondingly, the server receives the first request message from the IoT device.
[0108] S402, the server obtains the difference information between the reference ephemeris information and the reference ephemeris information, as well as the hash value of the reference ephemeris information, based on the hash value of the reference ephemeris information of the first satellite.
[0109] S403, the server sends a first response message to the IoT device. Correspondingly, the IoT device receives the first response message from the server.
[0110] S404, the IoT device sends the first query message to the blockchain node. Correspondingly, the blockchain node receives the first query message from the IoT device.
[0111] S405, the blockchain node sends the first query response message to the IoT device. Correspondingly, the IoT device receives the first query response message from the blockchain node.
[0112] The implementation methods for steps S401-S405 can be found in the following reference: Figure 2 The S201-S205 shown above, as well as the description of S201-S205 above.
[0113] S406, if the first query response message indicates that there is no hash value for the reference ephemeris information of the first satellite on the blockchain, the IoT device sends a second request message to the server. Correspondingly, the server receives the second request message from the IoT device.
[0114] The second request message is used to request differential information corresponding to the reference ephemeris information. The second request message includes the hash value (H_base) of the reference ephemeris information. For example, the second request message is used to request differential information corresponding to the reference ephemeris information of the first satellite, including the hash value of the reference ephemeris information of the first satellite. In other words, the IoT device uses the second request message to request the server to resend the differential information and the hash value of the reference ephemeris information of the first satellite.
[0115] If the reason why the hash value carried by the first query message is not found on the blockchain is that the hash value fed back by the server to the IoT device was tampered with during transmission, the IoT device can specifically solve the above problem by resending the hash values of the differential information and the reference ephemeris information of the first satellite through the server.
[0116] S407, the server sends a second response message to the IoT device. Correspondingly, the IoT device receives the second response message from the server.
[0117] The second response message is used to respond to the second request message. The second response message includes differential information and a hash value of the reference ephemeris information of the first satellite. Optionally, the second response message also includes the satellite identifier (svid) of the first satellite. For example, when the second request message requests differential information corresponding to the reference ephemeris information of the first satellite, the second response message includes the differential information Eph_diff2 corresponding to the reference ephemeris information of the first satellite, the hash value H_new2 of the reference ephemeris information of the first satellite, and the satellite identifier of the first satellite.
[0118] In one possible implementation, the server determines the corresponding differential information from its local cache based on the hash value of the reference ephemeris information of the first satellite in the second request message, and then determines the hash value of the reference ephemeris information of the first satellite from the blockchain node based on this differential information. The IoT device determines the second response information based on the aforementioned differential information and the hash value of the reference ephemeris information of the first satellite.
[0119] S408, the IoT device sends a second query message to the blockchain node. Correspondingly, the blockchain node receives the second query message from the IoT device.
[0120] The second query message includes the hash value H_new2 of the reference ephemeris information of the first satellite carried in the second response message, used to request whether the hash value exists on the blockchain.
[0121] S409, the blockchain node sends a second query response message to the IoT device. Correspondingly, the IoT device receives the second query response message from the blockchain node.
[0122] The second query response message is used to indicate whether the hash value (H_new2) carried by the second query message exists on the blockchain.
[0123] In one possible implementation, the blockchain node performs a query based on the hash value (H_new2) in the second query message to verify whether the hash value of the reference ephemeris information exists in the blockchain node. The blockchain node then sends the index result as a second query response message to the IoT device.
[0124] If the second query response message indicates that the hash value of the reference ephemeris information exists in the blockchain node, the IoT device determines the second ephemeris information based on the base ephemeris information and the difference information in the second response message, which is step S410. If the second query response message indicates that the hash value of the reference information does not exist in the blockchain node, the reason why the hash value of the reference ephemeris information of the first satellite does not exist on the blockchain may be that the hash value fed back to the IoT device by the server is inconsistent with the hash value stored in the blockchain, or that the blockchain failed to successfully store the hash value of the reference ephemeris information of the first satellite. In this case, the IoT device sends a full download request to the server to request the download of the reference ephemeris information of the first satellite. The server responds to the full download request by sending a full download response to the IoT device. The full download response includes the reference ephemeris information of the first satellite. After receiving the full download response, the IoT device updates the stored ephemeris information from the base ephemeris information to the reference ephemeris information of the first satellite.
[0125] S410, if the second query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain, the IoT device determines the second ephemeris information and the hash value of the second ephemeris information based on the differential information and the reference ephemeris information.
[0126] If the second query response message indicates that the hash value (H_new2) of the reference ephemeris information of the first satellite exists on the blockchain, the IoT device reconstructs the ephemeris information of the first satellite based on the differential information carried in the second response message and the stored reference ephemeris information to obtain the second ephemeris information of the first satellite, and determines the hash value of the second ephemeris information. Optionally, the IoT device performs addition processing on the differential information and the reference ephemeris information to obtain the second ephemeris information. In one possible implementation, the second ephemeris information can be represented as Eph_new2, and the second ephemeris information Eph_new2 can be calculated by the following formula (4): Eph_new2 = BaseEph + Eph_diff 2 (4) Where BaseEph represents the reference ephemeris information of the first satellite; Eph_diff 2 represents the differential information carried in the second response message.
[0127] After determining the second ephemeris information, the IoT device performs a hash calculation on the second ephemeris information to obtain its hash value. The hash value of the second ephemeris information can be represented as H_two.
[0128] The IoT device compares the hash value H_two of the second ephemeris information with the hash value H_new2 of the reference ephemeris information of the first satellite to obtain a comparison result. If the comparison result indicates that the hash value H_two of the second ephemeris information is the same as the hash value H_new2 of the reference ephemeris information of the first satellite, the IoT device updates the stored ephemeris information from the reference ephemeris information to the second ephemeris information, which is step S411.
[0129] S411, if the hash value of the second ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, the IoT device updates the stored ephemeris information from the reference ephemeris information to the second ephemeris information.
[0130] The implementation method of step S411 can be found in the following reference: Figure 2 S207 is shown and described above.
[0131] As can be seen, in this embodiment of the application, by verifying whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain, the IoT device can not only verify whether there is any abnormality in the transmission process of the first response message, thus avoiding the IoT device from reconstructing the first ephemeris information based on abnormal differential information; it can also determine whether there is any abnormality in the storage of the blockchain node, and specifically solve the problem of the hash value of the reference ephemeris information of the first satellite not existing on the blockchain, thereby improving the accuracy and efficiency of ephemeris updates.
[0132] Please see Figure 5 , Figure 5 This is a flowchart illustrating another ephemeris information updating method provided in an embodiment of this application. Figure 5 As shown, this method for updating ephemeris information may include, but is not limited to, the following steps: S501, the IoT device sends a first request message to the server. Correspondingly, the server receives the first request message from the IoT device.
[0133] S502, the server obtains the difference information between the reference ephemeris information and the reference ephemeris information, as well as the hash value of the reference ephemeris information, based on the hash value of the reference ephemeris information of the first satellite.
[0134] In step S503, the server sends a first response message to the IoT device. Correspondingly, the IoT device receives the first response message from the server.
[0135] S504, the IoT device sends the first query message to the blockchain node. Correspondingly, the blockchain node receives the first query message from the IoT device.
[0136] S505, the blockchain node sends the first query response message to the IoT device. Correspondingly, the IoT device receives the first query response message from the blockchain node.
[0137] S506, when the first query message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain, the IoT device determines the first ephemeris information and the hash value of the first ephemeris information based on the differential information and the reference ephemeris information.
[0138] The implementation methods of steps S501-S506 can be found in the following reference: Figure 2 The diagram shows S201-S206 and the preceding description of S201-S204.
[0139] S507, if the hash value of the first ephemeris information differs from the hash value of the reference ephemeris information of the first satellite, the IoT device sends a third request message to the server. Correspondingly, the server receives the third request message from the IoT device.
[0140] The third request message is used to request differential information corresponding to the reference ephemeris information. The third request message includes the hash value (H_base) of the reference ephemeris information. For example, the third request message is used to request differential information corresponding to the reference ephemeris information of the first satellite, including the hash value of the reference ephemeris information of the first satellite.
[0141] If the first ephemeris information and its hash value differ from the hash value of the reference ephemeris information of the first satellite, it indicates that the first ephemeris of the first satellite reconstructed by the IoT device is abnormal. Based on the stored reference ephemeris information and the differential information in the first response message, the IoT device reconstructs the first ephemeris information a second time and determines the hash value of the second-reconstructed first ephemeris information. It then compares the hash value of the second-reconstructed first ephemeris information with the hash value of the reference ephemeris information of the first satellite to obtain a comparison result. If the comparison result indicates that the hash value of the second-reconstructed first ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, the stored ephemeris information is updated from the reference ephemeris information to the second-reconstructed first ephemeris information. If the comparison result indicates that the hash value of the second-reconstructed first ephemeris information is different from the hash value of the reference ephemeris information of the first satellite, the IoT device sends a third request message to the server to request the server to resend the differential information and the hash value of the reference ephemeris information of the first satellite.
[0142] Optionally, the IoT device may also skip the second reconstruction and directly send a third request message to the server to request the server to resend the hash values of the differential information and the reference ephemeris information of the first satellite.
[0143] S508, the server sends a third response message to the IoT device. Correspondingly, the IoT device receives the third response message from the server.
[0144] The third response message is used to respond to the third request message. The third response message includes differential information and a hash value of the reference ephemeris information of the first satellite. Optionally, the third response message also includes the satellite identifier (svid) of the first satellite. For example, when the third request message requests differential information corresponding to the reference ephemeris information of the first satellite, the third response message includes the differential information Eph_diff3 corresponding to the reference ephemeris information of the first satellite, the hash value H_new3 of the reference ephemeris information of the first satellite, and the satellite identifier of the first satellite.
[0145] In one possible implementation, the server determines the corresponding differential information from its local cache based on the hash value of the reference ephemeris information of the first satellite in the third request message, and then determines the hash value of the reference ephemeris information of the first satellite from the blockchain node based on this differential information. The IoT device determines the third response information based on the aforementioned differential information and the hash value of the reference ephemeris information of the first satellite.
[0146] S509, the IoT device sends a third query message to the blockchain node. Correspondingly, the blockchain node receives the third query message from the IoT device.
[0147] The third query message includes the hash value H_new3 of the reference ephemeris information of the first satellite carried in the third response message, used to request whether the hash value exists on the blockchain.
[0148] In step S510, the blockchain node sends a third query response message to the IoT device. Correspondingly, the IoT device receives the third query response message from the blockchain node.
[0149] The third query response message is used to indicate whether the hash value (H_new3) carried by the third query message exists on the blockchain.
[0150] The implementation method of step S510 can be found in the following reference: Figure 2 The S205 shown above and the description of S205 above.
[0151] S511, when the third query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain, the IoT device determines the third ephemeris information and the hash value of the third ephemeris information based on the differential information and the reference ephemeris information.
[0152] If the third query response message indicates the existence of the hash value (H_new3) carried by the third query message on the blockchain, the IoT device reconstructs the ephemeris information of the first satellite based on the differential information carried by the third response message and the stored reference ephemeris information to obtain the third ephemeris information of the first satellite, and determines the hash value of the third ephemeris information. Optionally, the IoT device performs addition processing on the aforementioned differential information and reference ephemeris information to obtain the third ephemeris information.
[0153] In one possible implementation, the third ephemeris information can be represented as Eph_new3, which can be calculated using the following formula (5): Eph_new3 = BaseEph + Eph_diff 3(5) Where BaseEph represents the reference ephemeris information of the first satellite; Eph_diff 3 represents the differential information carried in the third response message.
[0154] After determining the third ephemeris information, the IoT device performs a hash calculation on the third ephemeris information to obtain the hash value of the third ephemeris information. The hash value of the third ephemeris information can be represented as H_three.
[0155] In one possible implementation, the IoT device compares the hash value H_three of the third ephemeris information with the hash value H_new3 of the reference ephemeris information of the first satellite to obtain a comparison result. If the comparison result indicates that the hash value H_three of the third ephemeris information is the same as the hash value H_new3 of the reference ephemeris information of the first satellite, the IoT device updates the stored ephemeris information from the reference ephemeris information to the third ephemeris information, that is, it executes step S512.
[0156] S512, if the hash value of the third ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, the IoT device updates the stored ephemeris information from the reference ephemeris information to the third ephemeris information.
[0157] The implementation method of step S512 can be found in the following document: Figure 2 S206 is shown and described above.
[0158] It is evident that by comparing the hash value of the reconstructed ephemeris information with the hash value of the reference ephemeris information of the first satellite, it is possible to determine whether the reconstructed ephemeris information is abnormal. In cases where the reconstructed ephemeris information is abnormal, re-requesting differential information from the server and re-performing the ephemeris reconstruction helps improve the accuracy of ephemeris updates. Through multi-level comparisons, the causes of anomalies can be accurately analyzed, and targeted solutions can be implemented based on these causes, thereby improving the efficiency of ephemeris updates.
[0159] The following describes the communication device provided in the embodiments of this application.
[0160] Please see Figure 6 , Figure 6 This is a schematic diagram of a communication device provided in an embodiment of this application. Figure 6 As shown, the communication device includes a communication unit 610 and a processing unit 620.
[0161] When the communication device is an Internet of Things (IoT) device, the communication device includes: The communication unit 610 is configured to send a first request message to a server; the first request message includes a hash value of the reference ephemeris information of the first satellite, and the first request message is used to request differential information corresponding to the reference ephemeris information; receive a first response message from the server; the first response message includes a hash value of the reference ephemeris information of the first satellite and differential information, the differential information being used to indicate the difference between the reference ephemeris information and the reference ephemeris information; and send a first query message to a blockchain node, the first query message including a hash value of the reference ephemeris information of the first satellite, the first query message being used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain.
[0162] The processing unit 620 is configured to, upon receiving a first query response message from the blockchain, determine first ephemeris information and its hash value based on differential information and reference ephemeris information; wherein the first query response message indicates that a reference ephemeris information for the first satellite exists on the blockchain; and if the hash value of the first ephemeris information is the same as the hash value of the reference ephemeris information, update the stored ephemeris information from the reference ephemeris information to the first ephemeris information.
[0163] In one possible implementation, when the reference ephemeris information stored in the IoT device is the ephemeris information initially broadcast by the first satellite, the ephemeris information initially broadcast only includes the necessary satellite data.
[0164] In one possible implementation, the communication unit 610 is further configured to: send a second request message to the server when the first query response message indicates that the hash value of the reference ephemeris information of the first satellite does not exist on the blockchain; the second request message includes the hash value of the reference ephemeris information of the first satellite and is used to request differential information; receive a second response message from the server; the second response message includes the differential information and the hash value of the reference ephemeris information of the first satellite; send a second query message to the blockchain node, the second query message including the hash value of the reference ephemeris information of the first satellite and being used to request a query about whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and the processing unit 620 is further configured to: upon receiving the second query response message from the blockchain, determine the second ephemeris information and its hash value based on the differential information and the reference ephemeris information; wherein the second query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and if the hash value of the second ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, update the stored ephemeris information from the reference ephemeris information to the second ephemeris information.
[0165] In one possible implementation, the communication unit 610 is further configured to send a full download request to the server if the second query response message indicates that there is no hash value of the reference ephemeris information of the first satellite on the blockchain; the full download request is used to request the download of the reference ephemeris information of the first satellite; receive a full download response from the server; the full download response includes the reference ephemeris information of the first satellite; and the processing unit 620 is further configured to update the stored ephemeris information from the reference ephemeris information to the reference ephemeris information of the first satellite.
[0166] In one possible implementation, the communication unit 610 is further configured to: send a third request message to the server if the hash value of the first ephemeris information differs from the hash value of the reference ephemeris information of the first satellite; the third request message includes the hash value of the reference ephemeris information of the first satellite and is used to request differential information; receive a third response message from the server; the third response message includes the differential information and the hash value of the reference ephemeris information of the first satellite; send a third query message to the blockchain node; the third query message includes the hash value of the reference ephemeris information of the first satellite and is used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and, upon receiving the third query response message from the blockchain, determine the third ephemeris information and its hash value based on the differential information and the reference ephemeris information; wherein the third query response message indicates that the hash value of the reference ephemeris information of the first satellite exists on the blockchain; and, if the hash value of the third ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, update the stored ephemeris information from the reference ephemeris information to the third ephemeris information. In one possible implementation, the processing unit 620 is further configured to perform addition processing on the differential information and the reference ephemeris information to obtain the first ephemeris information; and to perform hash calculation on the first ephemeris information to obtain the hash value of the first ephemeris information.
[0167] When the communication device is a server, the communication device includes: The communication unit 610 is configured to receive a first request message from an IoT device; the first request message includes a hash value of the reference ephemeris information of the first satellite, and the first request message is used to request differential information corresponding to the reference ephemeris information; the processing unit 620 is configured to obtain differential information between the reference ephemeris information and the reference ephemeris information, as well as the hash value of the reference ephemeris information of the first satellite, based on the hash value of the reference ephemeris information of the first satellite; the communication unit 610 is also configured to send a first response message to the IoT device, the first response message including differential information and the hash value of the reference ephemeris information of the first satellite.
[0168] In one possible implementation, the processing unit 620 is further configured to, upon receiving reference ephemeris information from the satellite, determine the hash value of the reference ephemeris information of the first satellite and the difference information between the reference ephemeris information and the reference ephemeris information.
[0169] In one possible implementation, the communication unit 610 is also used to send a storage message to the blockchain node. The storage message includes the hash value of the reference ephemeris information of the first satellite. The storage message is used to request the blockchain node to store the hash value of the reference ephemeris information of the first satellite.
[0170] For a description of the technical effects of the communication device and any of its possible implementations, please refer to the description of the technical effects of the foregoing method embodiments; further details will not be repeated here.
[0171] According to the embodiments of this application, Figure 6 The various units in the device shown can be individually or entirely combined into one or more other units, or some of the units can be further divided into multiple functionally smaller units. This can achieve the same operation without affecting the technical effect of the embodiments of this application. The above units are based on logical function division. In practical applications, the function of one unit can also be implemented by multiple units, or the function of multiple units can be implemented by one unit.
[0172] This application also provides a computer device; please refer to [link / reference]. Figure 7 , Figure 7 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application.
[0173] like Figure 7 As shown, the computer device may include: one or more processors 710, one or more memories 730, one or more communication interfaces 720, and a bus 740, wherein the processors 710, memories 730, and communication interfaces 720 are connected via the bus 740. The computer device may be the communication device described above.
[0174] The memory 730 is used to store a program; the processor 710 is used to execute the program stored in the memory. When the program is executed, the processor 710 performs the method as described in any of the possible implementations of the control method.
[0175] It should be understood that, in the embodiments of this application, the memory 730 mentioned above includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CDROM), as well as external memory other than computer memory and processor cache. A portion of the memory 730 may also include non-volatile random access memory. For example, the memory 730 may also store device type information.
[0176] The processor 710 described above can be one or more central processing units (CPUs). If the processor 710 is a CPU, it can be a single-core CPU or a multi-core CPU. The processor 710 can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0177] The steps performed in the foregoing embodiments can be based on the above. Figure 7 The computer device shown is implemented in a way that the processor 710 can execute any of the optional implementations of the control method provided in this application, as described in any of the embodiments, or it can execute the implementation of the communication device described in this application. Specifically, the processor 710 can implement... Figure 6 The processing unit 620 in the communication device shown has the following functions. The communication interface 720 can implement... Figure 6 The communication unit 610 in the communication device shown herein has the following functions. The memory 730 can provide a cache when the processor 710 executes the implementation of the communication device described in the embodiments of this application, and can also store the computer programs required by the processor 710 to execute the implementation of the communication device described in the embodiments of this application.
[0178] This application also provides a computer storage medium storing a computer program, the computer program including program instructions, which, when executed by a processor, enable the processor to implement the above-mentioned functions. Figures 2-5 The method shown.
[0179] This application also provides a computer program product, which includes: instructions or a computer program; when the instructions or the computer program are executed, the above-mentioned functions can be achieved. Figures 2-5 The method shown.
[0180] This application also provides a chip, which includes a processor. The processor executes instructions, enabling the chip to achieve the aforementioned... Figures 2-5 The method shown.
[0181] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by hardware related to computer programs. The computer programs can be stored in computer storage media, and when executed, they can implement the processes of the above method embodiments. The aforementioned computer storage media include various media capable of storing computer program code, such as read-only memory (ROM) or random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for updating ephemeris information, characterized in that, The method includes: Send a first request message to the server; the first request message includes the hash value of the reference ephemeris information of the first satellite, and the first request message is used to request the differential information corresponding to the reference ephemeris information; Receive a first response message from the server; the first response message includes a hash value of the reference ephemeris information of the first satellite and the difference information, the difference information being used to indicate the difference between the reference ephemeris information and the baseline ephemeris information; Send a first query message to the blockchain node. The first query message includes the hash value of the reference ephemeris information of the first satellite. The first query message is used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain. Upon receiving a first query response message from the blockchain, the first ephemeris information and its hash value are determined based on the differential information and the reference ephemeris information; wherein, the first query response message indicates that a hash value of the reference ephemeris information for the first satellite exists on the blockchain; If the hash value of the first ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, the stored ephemeris information is updated from the reference ephemeris information to the first ephemeris information.
2. The method as described in claim 1, characterized in that, The method further includes: If the first query response message indicates that there is no hash value of the reference ephemeris information of the first satellite on the blockchain, a second request message is sent to the server; the second request message includes the hash value of the reference ephemeris information of the first satellite, and the second request message is used to request the differential information; Receive a second response message from the server; the second response message includes the hash value of the differential information and the reference ephemeris information of the first satellite; Send a second query message to the blockchain node. The second query message includes the hash value of the reference ephemeris information of the first satellite. The second query message is used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain. Upon receiving a second query response message from the blockchain, the second ephemeris information and its hash value are determined based on the differential information and the reference ephemeris information; wherein, the second query response message indicates that a hash value of the reference ephemeris information for the first satellite exists on the blockchain; If the hash value of the second ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, the stored ephemeris information is updated from the reference ephemeris information to the second ephemeris information.
3. The method as described in claim 1, characterized in that, The method further includes: If the hash value of the first ephemeris information is different from the hash value of the reference ephemeris information of the first satellite, a third request message is sent to the server; the third request message includes the hash value of the reference ephemeris information of the first satellite, and the third request message is used to request the differential information; Receive a third response message from the server; the third response message includes the hash value of the differential information and the reference ephemeris information of the first satellite; A third query message is sent to the blockchain node. The third query message includes the hash value of the reference ephemeris information of the first satellite. The third query message is used to request whether the hash value of the reference ephemeris information of the first satellite exists on the blockchain. Upon receiving a third query response message from the blockchain, the third ephemeris information and its hash value are determined based on the differential information and the reference ephemeris information; wherein the third query response message indicates that a hash value of the reference ephemeris information for the first satellite exists on the blockchain; If the hash value of the third ephemeris information is the same as the hash value of the reference ephemeris information of the first satellite, the stored ephemeris information is updated from the reference ephemeris information to the third ephemeris information.
4. The method according to any one of claims 1-3, characterized in that, The step of determining the first ephemeris information and its hash value based on the differential information and the reference ephemeris information includes: The differential information and the reference ephemeris information are added together to obtain the first ephemeris information; The hash value of the first ephemeris information is obtained by performing a hash calculation on the first ephemeris information.
5. A method for updating ephemeris information, characterized in that, The method includes: Receive a first request message from an Internet of Things device; the first request message includes a hash value of the reference ephemeris information of a first satellite, and the first request message is used to request the differential information corresponding to the reference ephemeris information; Based on the hash value of the reference ephemeris information of the first satellite, the difference information between the reference ephemeris information and the reference ephemeris information, as well as the hash value of the reference ephemeris information of the first satellite, are obtained. A first response message is sent to the IoT device. The first response message includes the hash value of the differential information and the reference ephemeris information of the first satellite.
6. The method as described in claim 5, characterized in that, The method further includes: Upon receiving reference ephemeris information from the first satellite, the hash value of the reference ephemeris information of the first satellite and the difference information between the reference ephemeris information and the reference ephemeris information are determined.
7. The method as described in claim 5, characterized in that, The method further includes: A storage message is sent to the blockchain node. The storage message includes the hash value of the reference ephemeris information of the first satellite. The storage message is used to request the blockchain node to store the hash value of the reference ephemeris information of the first satellite.
8. A communication device, characterized in that, The communication device includes a unit for implementing the method as described in any one of claims 1-4, or includes a unit for implementing the method as described in any one of claims 5-7.
9. A computer device, characterized in that, include: Memory, processor; where: The memory is used to store computer programs, the computer programs including program instructions; The processor is configured to invoke the program instructions to cause the communication device to perform the method as described in any one of claims 1-4, or to perform the method as described in any one of claims 5-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1-4, or performs the method as described in any one of claims 5-7.