Internet of Things equipment positioning method and device, electronic equipment and storage medium
By constructing a hierarchical hybrid storage base station conversion information database and a three-dimensional Kalman filter algorithm, the problems of high resource consumption, high cost, weak concurrency and high security risks in IoT device positioning solutions are solved, and high-precision and low-cost positioning services are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- FUZHOU STRAIT VOCATIONAL & TECH COLLEGE
- Filing Date
- 2026-02-02
- Publication Date
- 2026-04-21
AI Technical Summary
Existing IoT device positioning solutions suffer from high resource consumption, high operating costs, weak concurrency capabilities, high data security risks, and insufficient positioning accuracy, making it difficult to meet the needs of high-precision and large-scale applications.
A hierarchical hybrid base station conversion information database is constructed. By combining base station fingerprint information and grid correction data, a three-dimensional Kalman filter algorithm is used for positioning optimization to achieve efficient and accurate conversion of base station information to GPS coordinates.
It reduces terminal resource consumption, improves positioning accuracy and stability, supports high-concurrency request processing, reduces costs and improves security, and is suitable for IoT device positioning scenarios such as shared bicycles and logistics tracking.
Smart Images

Figure CN121908374A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet of Things (IoT) positioning technology, specifically to an IoT device positioning method, apparatus, electronic device, and storage medium. Background Technology
[0002] With the rapid iteration of IoT technology, the deployment scale of mobile IoT devices such as shared bicycles, logistics trackers, and mobile sensors has exploded. Their application scenarios have deeply covered IoT fields such as NB-IoT and LTE-M, as well as vehicle-to-everything (V2X) fields such as T-Box and OBD. In these scenarios, terminal devices, limited by power consumption control and hardware cost optimization requirements, typically only collect base station fingerprint information (including Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Absolute Radio Frequency Channel Number (ARFCN), Received Signal Strength Indicator (RSSI), and Timing Advance (TA),) and report the data via small data packets. However, when the platform performs core services such as map display, electronic fence management, device scheduling coordination, and risk control, it must rely on GPS coordinates as data support. Therefore, accurate conversion of base station information to GPS coordinates has become a key technical requirement.
[0003] Currently, the mainstream coordinate transformation schemes in the industry are mainly divided into two categories, but both have significant shortcomings in practical applications and are difficult to adapt to the application requirements of large-scale, high-precision, and low-cost applications:
[0004] First, the terminal-embedded conversion library solution. This solution requires the terminal to pre-install a complete global base station database, which not only consumes a large amount of the terminal's Flash storage resources and RAM running memory, leading to increased terminal hardware costs, but also has problems such as complex over-the-air upgrade processes, high maintenance difficulty, and inability to synchronize newly added base station data in a timely manner;
[0005] Second, the platform uses third-party public network APIs. This type of solution uses a pay-per-use model, resulting in high long-term service costs. Furthermore, it is limited by public network transmission bandwidth and third-party service architecture, making it difficult to support concurrent conversion requests from hundreds of thousands of terminals, leading to low conversion efficiency. At the same time, there are security risks such as leakage and tampering during data transmission across the public network, threatening the security of business data.
[0006] The coordinate transformation accuracy of both of the above schemes is highly dependent on the quality of the original data in the base station database. They have not established an effective regional and local error correction mechanism and cannot specifically compensate for positioning deviations caused by factors such as terrain obstruction, signal interference, and base station installation deviations, making it difficult to meet the usage requirements of high-precision scenarios.
[0007] In summary, existing base station information to GPS coordinate conversion schemes have multiple shortcomings in terms of resource consumption, usage cost, concurrency capability, data security, and positioning accuracy. There is an urgent need for an efficient, scalable, and high-precision conversion technology solution to meet the large-scale application needs of IoT and vehicle-to-everything (V2X) scenarios. Summary of the Invention
[0008] The purpose of this application is to provide an IoT device positioning method, apparatus, electronic device, and storage medium to solve the technical problems of high resource consumption, high usage cost, weak concurrency, high data security risk, and insufficient positioning accuracy in existing positioning schemes, and to achieve IoT device positioning that requires no terminal modification, is low-cost, has high concurrency, high security, and high accuracy.
[0009] In a first aspect, embodiments of this application provide an IoT device positioning method, applied to an IoT platform, the method comprising:
[0010] A hierarchical hybrid storage base station conversion information database is constructed, comprising a memory layer, a warm data layer, and a cold data layer, for storing base station information and grid correction data. The base station information includes at least the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Longitude (LON), Latitude (LAT), and Altitude (ALT). The grid correction data includes at least the grid ID, grid center longitude, grid center latitude, eastward residual, northward residual, and celestial residual, as well as the eastward standard deviation, northward standard deviation, and celestial standard deviation.
[0011] Receive base station fingerprint information reported by IoT devices. The base station fingerprint information includes Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Absolute Radio Frequency Channel Number (ARFCN), Received Signal Strength Indicator (RSSI), and Timing Advance (TA).
[0012] Based on the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI) in the base station fingerprint information, the base station conversion information database is queried to obtain the corresponding original base station coordinates (LON0, LAT0, ALT0). The query process follows the order from the memory layer to the warm data layer to the cold data layer. After a match is found, the target data from the warm data layer and the cold data layer are loaded into the memory layer, and the access frequency of the target data is updated.
[0013] Based on the original coordinates of the base station (LON0, LAT0, ALT0), the grid correction data is found, the residual data of at least 4 surrounding grids are obtained, the residual correction value of the current position is calculated using a preset interpolation algorithm, and the original coordinates of the base station are superimposed with the residual correction value to obtain the corrected coordinates.
[0014] The corrected coordinates are smoothed and optimized using a three-dimensional Kalman filter algorithm to obtain the final positioning coordinates;
[0015] The positioning accuracy is calculated by combining the Received Signal Strength Indication (RSSI), Timing Advance (TA), and Residual Correction Value from the base station fingerprint information.
[0016] Return the final positioning coordinates and positioning accuracy to the caller.
[0017] In one possible implementation, before receiving the base station fingerprint information reported by the IoT device, the method further includes:
[0018] It receives the application identifier and application key from the caller, and issues an access token after successful verification. Subsequent location requests must carry a valid access token to be executed.
[0019] In one possible implementation, the method further includes:
[0020] Record location request data within a preset time period, and statistically analyze the number of calls, number of erroneous calls, average response time, minimum response time, and maximum response time according to a preset time granularity.
[0021] Secondly, embodiments of this application provide an IoT device positioning apparatus, applied to an IoT platform, the apparatus comprising:
[0022] A construction module is used to build a hierarchical hybrid storage base station conversion information database. The base station conversion information database includes a memory layer, a warm data layer, and a cold data layer, which are used to store base station information and grid correction data. The base station information includes at least the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Longitude (LON), Latitude (LAT), and Altitude (ALT). The grid correction data includes at least the grid ID, grid center longitude, grid center latitude, eastward residual, northward residual, celestial residual, eastward standard deviation, northward standard deviation, and celestial standard deviation.
[0023] The receiving module is used to receive base station fingerprint information reported by IoT devices. The base station fingerprint information includes Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Absolute Radio Frequency Channel Number (ARFCN), Received Signal Strength Indicator (RSSI), and Timing Advance (TA).
[0024] The query module is used to query the base station conversion information database based on the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI) in the base station fingerprint information to obtain the corresponding original base station coordinates (LON0, LAT0, ALT0). The query process follows the order from the memory layer to the warm data layer to the cold data layer. After a match is found, the target data from the warm data layer and the cold data layer are loaded into the memory layer, and the access frequency of the target data is updated. Based on the original base station coordinates (LON0, LAT0, ALT0), the grid correction data is searched, and the residual data of at least four surrounding grids are obtained. A preset interpolation algorithm is used to calculate the residual correction value of the current position. The original base station coordinates are superimposed with the residual correction value to obtain the corrected coordinates.
[0025] The optimization module is used to smooth and optimize the corrected coordinates using a three-dimensional Kalman filter algorithm to obtain the final positioning coordinates.
[0026] The calculation module is used to calculate the positioning accuracy by combining the Received Signal Strength Indication (RSSI), Timing Advance (TA), and Residual Correction Value in the base station fingerprint information.
[0027] The output module is used to return the final positioning coordinates and the positioning accuracy to the caller.
[0028] In one possible implementation, the receiving module is further configured to receive the application identifier and application key of the caller before receiving the base station fingerprint information reported by the IoT device, and issue an access token after successful verification. Subsequent location requests must carry a valid access token to be executed.
[0029] In one possible implementation, the device further includes:
[0030] The statistics module is used to record location request data within a preset time period, and to count the number of calls, the number of erroneous calls, the average response time, the minimum response time, and the maximum response time according to a preset time granularity.
[0031] Thirdly, this application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the method as described in the first aspect.
[0032] Fourthly, this application provides a computer-readable storage medium having computer-readable instructions stored thereon, which can be executed by a processor to implement the method described in the first aspect.
[0033] Compared to existing technologies, the IoT device positioning method provided in this application constructs a hierarchical hybrid storage base station conversion information database. Based on base station fingerprint information, it sequentially performs base station information lookup, grid residual interpolation correction, three-dimensional Kalman filter optimization, and accuracy estimation steps to achieve efficient and accurate conversion from base station information to positioning coordinates. This application requires no hardware or software modifications to the terminal device, supports high-concurrency request processing, reduces positioning service costs, and improves positioning accuracy and stability. It can be widely applied to various IoT device positioning scenarios such as shared bicycles, logistics tracking, and mobile sensing. Attached Figure Description
[0034] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0035] Figure 1 A flowchart of an IoT device positioning method provided in an embodiment of this application is shown;
[0036] Figure 2 A schematic diagram of the server structure provided in an embodiment of this application is shown;
[0037] Figure 3 This document illustrates a flowchart of the querying base station switching information database provided in an embodiment of this application.
[0038] Figure 4 This paper shows a schematic diagram of the structure of an Internet of Things (IoT) device positioning device provided in an embodiment of this application;
[0039] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of this application is shown. Detailed Implementation
[0040] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0041] It should be noted that, unless otherwise stated, the technical or scientific terms used in this application shall have the ordinary meaning as understood by one of ordinary skill in the art to which this application pertains.
[0042] Furthermore, the terms "first" and "second," etc., are used to distinguish different objects, not to describe a specific order. Additionally, 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 those processes, methods, products, or apparatuses.
[0043] Please refer to Figure 1 , Figure 1 This is a flowchart of an IoT device positioning method provided in an embodiment of this application. The execution entity of this method can be a server deployed on the IoT platform side, used to batch convert the base station fingerprint information reported only by the terminal into positioning coordinates (such as GPS coordinates), thereby achieving low-cost location tracking of a massive number of terminals. Figure 2 The diagram shown is a structural diagram of the server provided in this application. The internal structure of the server can be divided into four modules: base station conversion information database, base station to GPS location conversion engine, base station to GPS location conversion service API, and dynamic configuration and real-time monitoring module.
[0044] The above method includes the following steps S101~S107:
[0045] S101. Construct a hierarchical hybrid storage base station conversion information database;
[0046] The base station conversion information database stores base station information, grid correction data, and configuration and monitoring data. To meet the requirements of running on a server with limited resources, this application adopts a three-layer hybrid storage structure of memory layer, warm data layer and cold data layer for organization and management.
[0047] The base station conversion information database stores the following: Base station information includes at least the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Longitude (LON), Latitude (LAT), and Altitude (ALT), used to provide raw base station location data. Grid correction data includes at least the grid ID, grid center longitude, grid center latitude, eastward residual, northward residual, and celestial residual, as well as the eastward standard deviation, northward standard deviation, and celestial standard deviation, used to achieve regional error correction. Configuration and monitoring data includes application identifier (APPID), application key (APPSECRET), IP whitelist, and other configuration information, as well as location request statistics.
[0048] The storage structure of the base station switching information database is as follows: The memory layer uses a hash table to store frequently accessed base station information and grid correction data. The key value is generated by combining MCC+MNC+TAC+ECI to ensure millisecond-level lookup speed; the warm data layer uses binary files to store medium-frequency access data in MCC+MNC+TAC fragments, supporting fast loading and unloading; the cold data layer uses CSV files to store low-frequency access data in MCC+MNC+TAC fragments, which is convenient for manual viewing and editing.
[0049] Data management method of base station conversion information database: It supports automatic cold and hot data migration based on LRU (Least Recently Used) algorithm, which automatically loads the hit data in the warm data layer and cold data layer into the memory layer to improve the efficiency of subsequent access; it supports incremental hot update based on differential file, and the update of base station information and grid correction data does not require system restart, ensuring data real-time performance.
[0050] S102. Receive base station fingerprint information reported by IoT device. The base station fingerprint information includes Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Absolute Radio Frequency Channel Number (ARFCN), Received Signal Strength Indicator (RSSI), and Timing Advance (TA).
[0051] In some embodiments, to ensure the security of the location service, authentication is performed before receiving a location request: the caller needs to submit a pre-configured APPID and APPSECRET. After successful system verification, an access token corresponding to the current session is issued. Subsequent location requests must carry a valid access token to be executed. Simultaneously, the system supports IP whitelist configuration, allowing only devices within the whitelist to initiate requests, further enhancing service security.
[0052] The system receives base station fingerprint information reported by IoT devices, which includes MCC, MNC, TAC, ECI, ARFCN, RSSI, and TA. It supports two modes: single location request and batch location request. Batch requests can submit base station fingerprint information of multiple devices at once, improving the processing efficiency of large-scale device location.
[0053] S103. Based on the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI) in the base station fingerprint information, query the base station conversion information database to obtain the corresponding original base station coordinates (LON0, LAT0, ALT0). The query process follows the order from the memory layer to the warm data layer to the cold data layer. After a match is found, the target data from the warm data layer and the cold data layer are loaded into the memory layer, and the access frequency of the target data is updated.
[0054] A lookup key is generated based on the combination of MCC, MNC, TAC, and ECI (cell-id) in the base station fingerprint information. The base station switching information database is queried in the order of memory layer → warm data layer → cold data layer.
[0055] First, the hash table in the memory layer is queried. If a match is found, the original coordinates of the base station (LON0, LAT0, ALT0) are directly obtained, and the data access time and access count are updated. If the hash table in the memory layer is not found, the corresponding fragment file in the warm data layer is queried. If a match is found, the original coordinates of the base station are obtained, and the data is loaded into the memory layer. If the hash table in the warm data layer is not found, the corresponding CSV file in the cold data layer is queried. If a match is found, the original coordinates of the base station are obtained, and the data is loaded into the memory layer. If no match is found in any of the three storage layers, a positioning failure result is returned, and the missing base station information is recorded for subsequent data supplementation. Figure 3 The diagram shown is a flowchart of the query base station conversion information database provided in this application, where the warm layer refers to the warm data layer and the cold layer refers to the cold data layer.
[0056] S104. Based on the original coordinates of the base station (LON0, LAT0, ALT0), find the grid correction data, obtain the residual data of at least 4 surrounding grids, calculate the residual correction value of the current position using a preset interpolation algorithm, and superimpose the original coordinates of the base station with the residual correction value to obtain the corrected coordinates.
[0057] To compensate for regional and local errors and improve positioning accuracy, the following grid residual interpolation correction steps are performed:
[0058] 1. Based on the original coordinates of the base station (LON0, LAT0, ALT0), find the grid correction data to determine the grid where the coordinates are located and the four surrounding adjacent grids;
[0059] 2. Extract the residual data from these 4 grids (eastward residual, northward residual, skyward residual, eastward standard deviation, northward standard deviation, and skyward standard deviation);
[0060] 3. The FMA (fused multiply-add) interpolation algorithm is used to fuse and calculate the residual data of the four grids to obtain the residual correction values (dx, dy, dz, std_dx, std_dy, std_dz) of the current device position.
[0061] 4. Superimpose the original coordinates of the base station with the residual correction values to calculate the corrected coordinates (LON_correct, LAT_correct, ALT_correct):
[0062] LON_correct = LON0+ dx, LAT_correct = LAT0+ dy, ALT_correct = ALT0+ dz.
[0063] S105. The corrected coordinates are smoothed and optimized using a three-dimensional Kalman filter algorithm to obtain the final positioning coordinates;
[0064] To further improve positioning accuracy and stability, a Q / R dynamically adaptive 3D Kalman filter algorithm is introduced to smooth and optimize the corrected coordinates (LON_correct, LAT_correct, ALT_correct).
[0065] The Kalman filter algorithm adapts to the changing movement state of IoT devices (such as stationary, low-speed movement, and high-speed movement) by dynamically adjusting the parameters of the process noise matrix Q and the observation noise matrix R. It predicts and updates the corrected coordinates, eliminates positioning jumps caused by factors such as signal fluctuations and measurement errors, and outputs smooth and stable final positioning coordinates (LON_final, LAT_final, ALT_final).
[0066] S106. Calculate the positioning accuracy by combining the Received Signal Strength Indication (RSSI), Timing Advance (TA), and Residual Correction Value in the base station fingerprint information;
[0067] Specifically, by combining the RSSI (signal strength) and TA (time advance) from the base station fingerprint information with the std_dx, std_dy, and std_dz (residual standard deviation) obtained in step S104, the positioning accuracy (ACCURACY) is estimated.
[0068] The closer the RSSI value is to 0 (stronger the signal) and the smaller the TA value (closer the device is to the base station), the higher the positioning accuracy. Based on the residual dispersion reflected by std_dx, std_dy, and std_dz, and combined with the weighting coefficients of RSSI and TA, the positioning accuracy (ACCURACY) is calculated through a statistical model and used to inform the caller of the reliability of the current positioning result.
[0069] S107. Return the final positioning coordinates and positioning accuracy to the caller.
[0070] The system returns the final location coordinates (LON_final, LAT_final, ALT_final) and location accuracy (ACCURACY) in JSON format to the caller or the business module of the IoT platform, which can be directly connected to business applications such as maps, electronic fences, and scheduling.
[0071] In some embodiments, the above-mentioned IoT device positioning method further includes: recording positioning request data within a preset time period, and statistically analyzing the number of calls, the number of erroneous calls, the average response time, the minimum response time, and the maximum response time according to a preset time granularity.
[0072] For example, the system records relevant data for location requests, and calculates the number of calls, number of erroneous calls, average response time, minimum response time, and maximum response time over a 7-day period, using time granularities of 1 day, 1 hour, 30 minutes, 15 minutes, and 1 minute. Callers can query these statistics through a dedicated interface to monitor service throughput and response performance in real time.
[0073] The IoT device positioning method provided in this application has the following beneficial effects:
[0074] 1. Reduce terminal resource consumption: No hardware or software modifications are required for IoT terminals. The terminals only need to report the fingerprint information of the base station to achieve positioning, which avoids the storage and computing power occupation problems caused by the terminal's built-in conversion library, reduces the terminal hardware cost and power consumption, and extends the terminal's battery life.
[0075] 2. Improve service cost-effectiveness and security: Deployed within the internal network of the IoT platform, it does not rely on third-party public network APIs, avoiding the high costs of per-use billing. Moreover, data transmission does not need to cross the public network, eliminating the security risks of data leakage and tampering. At the same time, it supports concurrent requests from more than 100,000 terminals, and 2GB of memory is sufficient to meet the needs of large-scale positioning. The average response time is less than 100 milliseconds, which is far more efficient than existing solutions.
[0076] 3. High and stable positioning accuracy: Regional and local error compensation is achieved through grid residual interpolation correction. Combined with Q / R dynamic adaptive three-dimensional Kalman filter algorithm to optimize coordinates, the positioning accuracy can be 3 to 15 meters, and the positioning trajectory is smooth without jumps, meeting the requirements of high-precision scenarios.
[0077] 4. Strong scalability and maintainability: Supports incremental hot updates based on differential files, and updates to base station information and grid correction data do not require system restart; provides flexible configuration and real-time monitoring functions, supports APPID / APPSECRET management, IP whitelist configuration and multi-granularity performance monitoring, which facilitates system maintenance and optimization.
[0078] In the above embodiments, an IoT device positioning method is provided. Correspondingly, this application also provides an IoT device positioning device. The IoT device positioning device provided in this application can implement the above-described IoT device positioning method. This IoT device positioning device can be implemented through software, hardware, or a combination of both. For example, the IoT device positioning device may include integrated or separate functional modules or units to perform the corresponding steps in the above methods.
[0079] Please refer to Figure 4 As shown, the IoT device positioning device 10 of this application includes:
[0080] Module 101 is used to construct a hierarchical hybrid storage base station conversion information database. The base station conversion information database includes a memory layer, a warm data layer, and a cold data layer, which are used to store base station information and grid correction data. The base station information includes at least the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Longitude (LON), Latitude (LAT), and Altitude (ALT). The grid correction data includes at least the grid ID, grid center longitude, grid center latitude, eastward residual, northward residual, celestial residual, eastward standard deviation, northward standard deviation, and celestial standard deviation.
[0081] The receiving module 102 is used to receive base station fingerprint information reported by IoT devices. The base station fingerprint information includes Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Absolute Radio Frequency Channel Number (ARFCN), Received Signal Strength Indicator (RSSI), and Timing Advance (TA).
[0082] The query module 103 is used to query the base station conversion information database based on the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI) in the base station fingerprint information to obtain the corresponding original base station coordinates (LON0, LAT0, ALT0). The query process follows the order from the memory layer to the warm data layer to the cold data layer. After a match is found, the target data of the warm data layer and the cold data layer are loaded into the memory layer, and the access frequency of the target data is updated. Based on the original base station coordinates (LON0, LAT0, ALT0), the grid correction data is searched, and the residual data of at least four surrounding grids are obtained. A preset interpolation algorithm is used to calculate the residual correction value of the current position. The original base station coordinates are superimposed with the residual correction value to obtain the corrected coordinates.
[0083] Optimization module 104 is used to smooth and optimize the corrected coordinates using a three-dimensional Kalman filter algorithm to obtain the final positioning coordinates;
[0084] The calculation module 105 is used to calculate the positioning accuracy by combining the Received Signal Strength Indication (RSSI), the Timing Advance (TA), and the Residual Correction Value in the base station fingerprint information.
[0085] The output module 106 is used to return the final positioning coordinates and the positioning accuracy to the caller.
[0086] In one possible implementation, the base station conversion information database supports automatic cold and hot data migration based on the Least Recently Used (LRU) algorithm, and incremental hot updates based on differential files, with the incremental update process not requiring a system restart.
[0087] In one possible implementation, the memory layer uses a hash table to store data, with the key value generated by combining the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI).
[0088] The temperature data layer is stored in binary files, segmented by Mobile Country Code (MCC), Mobile Network Code (MNC), and Tracking Area Code (TAC).
[0089] The cold data layer uses comma-separated CSV files for storage, segmented by Mobile Country Code (MCC), Mobile Network Code (MNC), and Tracking Area Code (TAC), and supports manual editing.
[0090] In one possible implementation, the receiving module is further configured to receive the application identifier and application key of the caller before receiving the base station fingerprint information reported by the IoT device, and issue an access token after successful verification. Subsequent location requests must carry a valid access token to be executed.
[0091] In one possible implementation, the device further includes:
[0092] The statistics module is used to record location request data within a preset time period, and to count the number of calls, the number of erroneous calls, the average response time, the minimum response time, and the maximum response time according to a preset time granularity.
[0093] The IoT device positioning device and the IoT device positioning method provided in this application are based on the same inventive concept and have the same beneficial effects as the methods they adopt, operate or implement.
[0094] This application also provides an electronic device corresponding to the method provided in the foregoing embodiments. The electronic device may be an electronic device for a client, such as a mobile phone, laptop, tablet computer, desktop computer, etc., to execute the above-described IoT device positioning method.
[0095] Please refer to Figure 5 This illustrates a schematic diagram of an electronic device provided by some embodiments of this application. For example... Figure 5 As shown, the electronic device 20 includes: a processor 200, a memory 201, a bus 202, and a communication interface 203. The processor 200, the communication interface 203, and the memory 201 are connected through the bus 202. The memory 201 stores a computer program that can run on the processor 200. When the processor 200 runs the computer program, it executes the IoT device positioning method provided in any of the foregoing embodiments of this application.
[0096] The memory 201 may include high-speed random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 203 (which can be wired or wireless), such as the Internet, wide area network, local area network, or metropolitan area network.
[0097] Bus 202 can be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. The memory 201 is used to store programs. After receiving an execution instruction, the processor 200 executes the program. The IoT device positioning method disclosed in any of the foregoing embodiments of this application can be applied to the processor 200, or implemented by the processor 200.
[0098] The processor 200 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 200 or by instructions in software form. The processor 200 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 201. The processor 200 reads the information in memory 201 and, in conjunction with its hardware, completes the steps of the above method.
[0099] The electronic device provided in this application embodiment and the IoT device positioning method provided in this application embodiment are based on the same inventive concept and have the same beneficial effects as the methods they adopt, operate or implement.
[0100] This application also provides a computer-readable storage medium corresponding to the IoT device positioning method provided in the foregoing embodiments, which stores a computer program (i.e., a program product) thereon. When the computer program is run by a processor, it executes the IoT device positioning method provided in any of the foregoing embodiments.
[0101] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical and magnetic storage media, which will not be elaborated here.
[0102] The computer-readable storage medium provided in the above embodiments of this application and the IoT device positioning method provided in the embodiments of this application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the applications stored therein.
[0103] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application, and they should all be covered within the scope of the claims and specification of this application.
Claims
1. A method for locating IoT devices, characterized in that, Applied to an Internet of Things (IoT) platform, the method includes: A hierarchical hybrid storage base station conversion information database is constructed, comprising a memory layer, a warm data layer, and a cold data layer, for storing base station information and grid correction data. The base station information includes at least the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Longitude (LON), Latitude (LAT), and Altitude (ALT). The grid correction data includes at least the grid ID, grid center longitude, grid center latitude, eastward residual, northward residual, and celestial residual, as well as the eastward standard deviation, northward standard deviation, and celestial standard deviation. Receive base station fingerprint information reported by IoT devices. The base station fingerprint information includes Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Absolute Radio Frequency Channel Number (ARFCN), Received Signal Strength Indicator (RSSI), and Timing Advance (TA). Based on the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI) in the base station fingerprint information, the base station conversion information database is queried to obtain the corresponding original base station coordinates (LON0, LAT0, ALT0). The query process follows the order from the memory layer to the warm data layer to the cold data layer. After a match is found, the target data from the warm data layer and the cold data layer are loaded into the memory layer, and the access frequency of the target data is updated. Based on the original coordinates of the base station (LON0, LAT0, ALT0), the grid correction data is found, the residual data of at least 4 surrounding grids are obtained, the residual correction value of the current position is calculated using a preset interpolation algorithm, and the original coordinates of the base station are superimposed with the residual correction value to obtain the corrected coordinates. The corrected coordinates are smoothed and optimized using a three-dimensional Kalman filter algorithm to obtain the final positioning coordinates; The positioning accuracy is calculated by combining the Received Signal Strength Indication (RSSI), Timing Advance (TA), and Residual Correction Value from the base station fingerprint information. Return the final positioning coordinates and positioning accuracy to the caller.
2. The method according to claim 1, characterized in that, The base station conversion information database supports automatic cold and hot data migration based on the Least Recently Used (LRU) algorithm, and incremental hot updates based on differential files. The incremental update process does not require a system restart.
3. The method according to claim 1, characterized in that, The memory layer uses a hash table to store data, and the key value is generated by combining the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI). The temperature data layer is stored in binary files, segmented by Mobile Country Code (MCC), Mobile Network Code (MNC), and Tracking Area Code (TAC). The cold data layer uses comma-separated CSV files for storage, segmented by Mobile Country Code (MCC), Mobile Network Code (MNC), and Tracking Area Code (TAC), and supports manual editing.
4. The method according to claim 1, characterized in that, Before receiving the base station fingerprint information reported by the IoT device, the method further includes: It receives the application identifier and application key from the caller, and issues an access token after successful verification. Subsequent location requests must carry a valid access token to be executed.
5. The method according to claim 1, characterized in that, The method further includes: Record location request data within a preset time period, and statistically analyze the number of calls, number of erroneous calls, average response time, minimum response time, and maximum response time according to a preset time granularity.
6. A positioning device for Internet of Things (IoT) devices, characterized in that, The device, applied to an Internet of Things (IoT) platform, includes: A construction module is used to build a hierarchical hybrid storage base station conversion information database. The base station conversion information database includes a memory layer, a warm data layer, and a cold data layer, which are used to store base station information and grid correction data. The base station information includes at least the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Longitude (LON), Latitude (LAT), and Altitude (ALT). The grid correction data includes at least the grid ID, grid center longitude, grid center latitude, eastward residual, northward residual, celestial residual, eastward standard deviation, northward standard deviation, and celestial standard deviation. The receiving module is used to receive base station fingerprint information reported by IoT devices. The base station fingerprint information includes Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), Cell Identifier (ECI), Absolute Radio Frequency Channel Number (ARFCN), Received Signal Strength Indicator (RSSI), and Timing Advance (TA). The query module is used to query the base station conversion information database based on the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI) in the base station fingerprint information to obtain the corresponding original base station coordinates (LON0, LAT0, ALT0). The query process follows the order from the memory layer to the warm data layer to the cold data layer. After a match is found, the target data from the warm data layer and the cold data layer are loaded into the memory layer, and the access frequency of the target data is updated. Based on the original base station coordinates (LON0, LAT0, ALT0), the grid correction data is searched, and the residual data of at least four surrounding grids are obtained. A preset interpolation algorithm is used to calculate the residual correction value of the current position. The original base station coordinates are superimposed with the residual correction value to obtain the corrected coordinates. The optimization module is used to smooth and optimize the corrected coordinates using a three-dimensional Kalman filter algorithm to obtain the final positioning coordinates. The calculation module is used to calculate the positioning accuracy by combining the Received Signal Strength Indication (RSSI), Timing Advance (TA), and Residual Correction Value in the base station fingerprint information. The output module is used to return the final positioning coordinates and the positioning accuracy to the caller.
7. The apparatus according to claim 6, characterized in that, The base station conversion information database supports automatic cold and hot data migration based on the Least Recently Used (LRU) algorithm, and incremental hot updates based on differential files. The incremental update process does not require a system restart.
8. The apparatus according to claim 6, characterized in that, The memory layer uses a hash table to store data, and the key value is generated by combining the Mobile Country Code (MCC), Mobile Network Code (MNC), Tracking Area Code (TAC), and Cell Identifier (ECI). The temperature data layer is stored in binary files, segmented by Mobile Country Code (MCC), Mobile Network Code (MNC), and Tracking Area Code (TAC). The cold data layer uses comma-separated CSV files for storage, segmented by Mobile Country Code (MCC), Mobile Network Code (MNC), and Tracking Area Code (TAC), and supports manual editing.
9. An electronic device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the computer program to implement the method as claimed in any one of claims 1 to 5.
10. A computer-readable storage medium, characterized in that, It stores computer-readable instructions that can be executed by a processor to implement the method as described in any one of claims 1 to 5.