A mobile terminal satellite telemetry method and system based on an enterprise WeChat applet

CN122891128APending Publication Date: 2026-10-09CHANGGUANG SATELLITE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611181659.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-05
Publication Date
2026-10-09

AI Technical Summary

Technical Problem

[0006]针对现有卫星遥测系统受固定终端、内外网转发带宽、数据查询方式及访问权限管理等因素限制,难以兼顾移动观测的灵活性、数据调用效率和访问安全性的问题,本发明的目的是提出一种基于企业微信小程序的移动端卫星遥测方法及系统

Benefits of technology

(1)本发明所述方法基于企业微信小程序展示卫星遥测数据,使用户能够通过移动终端查看实时遥测数据和历史遥测数据,减少对固定终端的依赖,提高卫星遥测数据查看的灵活性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122891128A_ABST
    Figure CN122891128A_ABST
Patent Text Reader

Abstract

A mobile terminal satellite telemetry method and system based on an enterprise WeChat applet. It relates to the cross technical field of remote sensing satellite operation control and mobile internet application, and specifically relates to a mobile terminal satellite telemetry method and system based on an enterprise WeChat applet. The method comprises the following steps: user identity authentication and permission verification based on an enterprise WeChat account; determining a visible satellite set based on the user identity; receiving satellite telemetry frame data of the current telemetry circle in the visible satellite set, and providing the satellite telemetry frame data to the applet for real-time display; storing the telemetry circle data received, and reading and displaying the corresponding satellite telemetry data according to the playback request sent by the applet. Through message queue, memory cache, frame skipping reading and single frame on-demand playback, the transmission cost is reduced, and the real-time display and historical playback efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of cross-disciplinary technology of remote sensing satellite operation and control and mobile Internet applications, specifically to a mobile satellite telemetry method and system based on a WeChat mini-program. Background Technology

[0002] With the rapid development of aerospace remote sensing technology, the number of satellite applications continues to increase, the scale of satellite constellations is constantly expanding, and the frequency of aerospace remote sensing data acquisition and application demands are also rising. Satellite telemetry data can reflect the working mode, operating status, equipment condition, and anomaly information of satellites in orbit. It is an important basis for carrying out satellite operation monitoring, status analysis, and fault handling, and plays a vital role in ensuring the safe and stable operation of satellites.

[0003] Current satellite telemetry monitoring typically relies on dedicated terminals located in fixed locations, requiring operations and control personnel to view satellite operational status via fixed equipment at designated locations. This monitoring method is heavily limited by workplace and equipment conditions, making it difficult to meet the needs of operations and control personnel to promptly grasp satellite operational status from different locations. Especially in the event of sudden anomalies, it may affect the timely acquisition of abnormal information and the efficiency of subsequent handling.

[0004] Meanwhile, satellite telemetry data is typically provided by business systems deployed within enterprise networks, while mobile devices need to access this data via the public internet. Therefore, data requests and responses require traversing internal and external network forwarding links. Due to limitations in forwarding link bandwidth and interface response capabilities, problems such as low transmission efficiency, interface response delays, and slow data loading can easily occur when the telemetry data volume is large and the update frequency is high.

[0005] Furthermore, existing telemetry data is typically queried and transmitted in batches or over large areas, which can easily lead to the return of data that is not currently being viewed, increasing the data processing burden on internal and external network forwarding links and mobile devices, and affecting the real-time viewing and historical playback experience of telemetry data. At the same time, when telemetry data is provided from the internal network to the public network environment, it also faces security issues such as user identification, access scope control, and unauthorized access. Summary of the Invention

[0006] To address the limitations of existing satellite telemetry systems, such as fixed terminals, internal and external network forwarding bandwidth, data query methods, and access control, which make it difficult to balance the flexibility of mobile observation, data retrieval efficiency, and access security, the purpose of this invention is to propose a mobile satellite telemetry method and system based on WeChat mini-programs.

[0007] The method includes the following steps: S1. Perform user identity authentication and permission verification based on the WeChat Enterprise account; S2. Determine the set of visible satellites based on user identity; S3. Within the set of visible satellites determined in step S2, receive the satellite telemetry frame data of the current telemetry cycle, and provide the satellite telemetry frame data to the mini-program for real-time display. S4. Store the received telemetry cycle data, and read and display the corresponding satellite telemetry data according to the playback request sent by the mini program.

[0008] Furthermore, the user authentication and permission verification include the following steps: S11. Call the WeChat Work SDK interface to obtain the temporary authorization information corresponding to the currently logged-in user and send the temporary authorization information to the backend server; S12. The backend server initiates an identity verification request to the WeChat Work server based on the temporary authorization information to obtain the enterprise member identifier corresponding to the currently logged-in user. S13. Based on the enterprise member identifier, query the corresponding employee information and access permissions from the preset employee information database; S14. Complete user authentication and permission verification based on employee information and access permissions.

[0009] Furthermore, determining the set of visible satellites based on user identity includes the following steps: S21. Obtain the permission fields corresponding to the current user, and determine the satellite series corresponding to each satellite identifier according to the preset satellite series mapping relationship; S22. Based on the permission field corresponding to the current user and the satellite series mapping relationship, perform permission matching on the entire satellite set, determine the satellite that matches the permission field, and generate the visible satellite set corresponding to the current user based on the matching satellite; S23. Return the set of visible satellites to the mini-program, and have the mini-program cache the set of visible satellites; S24. When querying satellite telemetry data, generate corresponding permission filtering conditions based on the set of visible satellites, and add the permission filtering conditions to the telemetry data query request so that the query results only include telemetry data corresponding to satellites in the set of visible satellites.

[0010] Furthermore, in step S3, the satellite telemetry frame data is provided to the mini-program for real-time display, including the following steps: S31. Obtain the satellite telemetry frame data that has been parsed by the front-end system and written into the message queue, and obtain the corresponding satellite telemetry frame data according to the ground station. S32. The acquired satellite telemetry frame data is deserialized, then grouped according to the telemetry plan identifier, and the grouped satellite telemetry frame data is written into the corresponding memory cache. S33. Receive a real-time telemetry data request sent by the mini-program, and read satellite telemetry frame data from the corresponding memory cache according to the current frame number carried in the real-time telemetry data request and return it to the mini-program. S34. Determine whether the telemetry cycle has ended based on the last frame reception time and the predetermined end time of each telemetry cycle. If the telemetry cycle has ended, remove the corresponding memory cache data and trigger the persistent storage of satellite telemetry frame data.

[0011] Furthermore, step S33 also includes a frame skipping strategy, specifically: comparing the current frame number with the latest frame number in the memory cache; when the difference between the two exceeds a preset threshold, adjusting the current frame number, and continuing to read satellite telemetry frame data based on the adjusted current frame number.

[0012] Furthermore, the working process of step S4 is as follows: S41. After the target telemetry cycle is completed, classify the satellite telemetry frames corresponding to the target telemetry cycle according to the frame name. Multiple satellite telemetry frames corresponding to the same frame name are serialized to the frame data file corresponding to the frame name according to the frame number. Record the mapping relationship between the total number of frames corresponding to the target telemetry cycle and the storage location of the frame data file corresponding to each frame name. S42. Receive a telemetry playback request sent by the mini-program. The telemetry playback request includes the telemetry plan identifier, target frame name, and target frame sequence number of the target telemetry cycle. S43. Based on the telemetry plan identifier, target name, target frame number and the mapping relationship, determine the frame data file corresponding to the target frame name, and read the corresponding satellite telemetry frame data from the corresponding frame data file according to the target frame number, and return the read satellite telemetry frame data to the mini-program.

[0013] Furthermore, the frame data file is a JSON file set according to the frame name, with each frame name corresponding to a JSON file, and multiple satellite telemetry frame data under the same frame name are stored in the corresponding JSON file according to the frame sequence number.

[0014] Furthermore, when the mini-program performs historical playback of satellite telemetry data, after detecting a playback progress adjustment operation, it pauses the data request based on the frame sequence number before the adjustment, updates the target frame sequence number and increments the request sequence number, and sends a new telemetry playback request based on the updated target frame sequence number. After receiving the satellite telemetry frame data returned by the backend server, the request sequence number corresponding to the returned data is compared with the current request sequence number. If they match, the satellite telemetry frame data is displayed; if they do not match, the satellite telemetry frame data is discarded.

[0015] A mobile satellite telemetry system based on a WeChat mini-program for enterprises, the system being used to implement the above method, the system comprising: The accountless login module is used for user identity authentication and permission verification based on the enterprise WeChat account; The access control module is used to determine the set of visible satellites based on user identity. The mini-program real-time display module is used to receive satellite telemetry frame data of the current telemetry cycle within the visible satellite set, and provide the satellite telemetry frame data to the mini-program for real-time display. The storage and playback module is used to store the received telemetry cycle data and read and display the corresponding satellite telemetry data according to the playback request sent by the mini program.

[0016] The beneficial effects of the method described in this invention are as follows: (1) The method described in this invention displays satellite telemetry data based on enterprise WeChat mini-programs, enabling users to view real-time and historical telemetry data through mobile terminals, reducing dependence on fixed terminals and improving the flexibility of viewing satellite telemetry data.

[0017] (2) The method of the present invention obtains user identity information and access permissions based on the enterprise WeChat account, and determines the set of visible satellites corresponding to the current user according to the access permissions; in the process of real-time telemetry display and historical data retrieval, the range of satellite telemetry data that the user can view is limited according to the set of visible satellites, thereby realizing access control of satellite telemetry data.

[0018] (3) The method of the present invention receives satellite telemetry frame data provided by the front-end system, groups and stores the satellite telemetry frame data according to the telemetry plan identifier, and reads the corresponding satellite telemetry frame data according to the data request sent by the mini program, so that the data of the current telemetry cycle can be displayed in real time in the mini program.

[0019] (4) After the telemetry cycle is completed, the method of the present invention stores each satellite telemetry frame corresponding to the telemetry cycle as an independent frame data file, and records the total number of frames and the relationship between each frame number and the storage path of the corresponding frame data file; during historical playback, according to the telemetry plan identifier and target frame number in the applet request, the corresponding frame data file is directly read and returned without loading all the telemetry data of the telemetry cycle, thereby reducing the amount of data read per request and the amount of data forwarded on internal and external networks, reducing playback delay and stuttering under limited bandwidth conditions, and improving historical playback efficiency.

[0020] (5) The method of the present invention increments the request sequence number when the user drags the historical playback progress bar, and verifies the request sequence number after the playback data is returned, discarding the returned data that is inconsistent with the current request sequence number, thereby avoiding the cross-display of satellite telemetry frame data before and after dragging.

[0021] (6) The method described in this invention uses a front-end system to determine and count the anomalies of telemetry parameters, adds the generated anomaly records to the anomaly record set of the corresponding telemetry cycle, and sends them to the mini-program for classification and display according to the subsystem to which they belong, so that users can view the anomalies of telemetry parameters and take appropriate action. Attached Figure Description

[0022] Figure 1 This is a flowchart illustrating the user authentication and satellite data access control process based on the WeChat Mini Program as described in this invention. Figure 2 This is a flowchart illustrating the satellite telemetry data caching, single-frame storage, and real-time and historical playback processes described in this invention. Detailed Implementation

[0023] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0024] Example 1 This embodiment provides a mobile satellite telemetry method based on a WeChat mini-program for enterprises. The method includes the following steps: S1. Perform user identity authentication and permission verification based on the WeChat Enterprise account; The relevant operations in step S1 will be introduced with specific examples: The user authentication and permission verification include the following steps: S11, such as Figure 1 As shown, after a user launches a WeChat Mini Program, the Mini Program's front-end calls the WeChat SDK login interface to obtain the temporary authorization code corresponding to the currently logged-in user. The temporary authorization code is then sent to the backend server; the backend server is a business processing server used to handle user authentication, access permission verification, and satellite telemetry data retrieval requests.

[0025] In this embodiment, the mini-program is the front-end of a WeChat mini-program running on the user's mobile terminal. It is used to obtain temporary authorization information, initiate real-time telemetry and historical playback requests, and display the returned satellite telemetry data and abnormal information.

[0026] In this embodiment, the backend server is a business processing server that communicates with the mini-program, the WeChat Work server, and the front-end system. It is used to complete user identity authentication and permission verification, receive, cache, store, and read satellite telemetry data, and return data within the scope of permissions to the mini-program.

[0027] S12, The backend server receives the temporary authorization code sent by the mini-program. Then, carry the pre-configured corporate logo. and application key Calling the WeChat Enterprise server The interface performs authentication in exchange for the enterprise member identifier corresponding to the currently logged-in user. ; The above process can be schematically represented as follows: .

[0028] in, The temporary authorization code obtained for the mini-program. For corporate identity, For application keys, Corporate member identification This refers to the employee information and access permissions obtained based on the enterprise member identifier.

[0029] S13. Based on the enterprise member identifier, query the corresponding employee information and access permissions from the preset employee information database; The backend server uses the enterprise member identifier returned by the WeChat Work server. As a query condition, a matching query is performed in a preset employee information database. This database pre-stores the correspondence between enterprise member identifiers and employee information and access permissions. When a record matching the enterprise member identifier is found, the corresponding employee information and access permissions are read; if no matching record is found, it is determined that the current user does not belong to the preset accessible users.

[0030] S14. Complete user authentication and permission verification based on employee information and access permissions.

[0031] The backend server performs user authentication and permission verification based on the query results of step S13. When employee information corresponding to the enterprise member identifier exists in the preset employee information database, the server determines that the current user's enterprise member authentication is successful and reads the user's corresponding access permissions; the server then limits the range of satellite telemetry data that the current user can subsequently access based on the access permissions. If no corresponding employee information is found or the current user does not have the corresponding access permissions, satellite telemetry data is not granted to the user.

[0032] The process for logging in without an account is as follows: Figure 1As shown, the mini-program achieves employee ID login authentication through deep integration with the WeChat Work platform. Upon startup, the user ID can be obtained by calling the corresponding external interface using the user credentials carried by WeChat Work, thus replacing the account login method. Users do not need to manually enter their account, password or register. They only need to open the mini-program in the WeChat Work environment to complete identity recognition and permission verification, achieving seamless login without registration or password.

[0033] S2. Determine the set of visible satellites based on user identity; The relevant operations in step S2 will be introduced with specific examples: S21. Obtain the permission fields corresponding to the current user, and determine the satellite series corresponding to each satellite identifier according to the preset satellite series mapping relationship, specifically: The backend server retrieves the permission fields corresponding to the current user. It then invokes a preset satellite series mapping relationship to determine the satellite series corresponding to each satellite identifier in the system. The satellite series mapping relationship can be represented as a mapping function. ,in, For satellite identification, The mapping function represents the satellite series corresponding to the satellite identifier. For example, satellites 1 and 2 are pre-defined to belong to series a, and satellites 3 and 4 to belong to series b. When the corresponding satellite identifier is input, the mapping function returns the satellite series to which the satellite belongs. Those skilled in the art can set the mapping function according to the actual situation.

[0034] S22. Based on the permission field corresponding to the current user and the satellite series mapping relationship, perform permission matching on the entire satellite set, determine the satellites that match the permission field, and generate the visible satellite set corresponding to the current user based on the matching satellites, specifically: Let the set of all satellites in the system be . Permission fields The set of visible satellite series recorded in the middle is Then, based on the permission fields and the satellite series mapping relationship, a set of visible satellites corresponding to the current user is generated. When permissions field Full permission identifier hour( ),Sure When the permission field When recording one or more specific satellite series, determine The satellite series to which it belongs will be included in the set of visible satellite series. Satellites in the collection of visible satellites When the permission field If empty, determine This means that no visible satellites exist for the current user. Subsequent real-time telemetry displays and historical telemetry data retrieval are limited to this set of visible satellites. It will be carried out internally.

[0035] S23. The visible satellite set is returned to the mini-program, and the mini-program caches the visible satellite set. Specifically, after the user successfully logs in, the mini-program sends a satellite list request to the backend server. The backend server then retrieves the visible satellite set... Returning to the mini-program, the mini-program caches the data and uses this cache to limit the range of satellites that the current user can select and view.

[0036] S24. When querying satellite telemetry data, the backend server uses the set of visible satellites corresponding to the current user. Generate access control filtering conditions and add these conditions to the telemetry data query request so that the query results include only the set of visible satellites. Telemetry data corresponding to the satellites within the area.

[0037] Specifically, when performing database queries for telemetry playback data and anomaly records, the backend server bases its queries on the set of visible satellites. Dynamically generate row-level permission filtering conditions. When When, it indicates that the current user has access to all satellites, without any additional satellite filtering conditions; when When adding a constant false condition to the query statement This will cause the query to return an empty result set; otherwise, according to Satellite identifiers in Construct query conditions, for example (The system searches the database for the corresponding telemetry and control plan based on the identifiers of all satellites within the user's visible range), thus limiting the query results to the current user's satellite access permissions. This is the satellite's index value.

[0038] In the real-time telemetry plan list, the mini-program limits the selectable range of the satellite filtering control to the cached set of visible satellites. This allows users to select and view only satellites within their authorized scope. The mini-program can also group visible satellites by the first letter of their names in pinyin and provides multi-select filtering functionality, enabling users to navigate within the set of visible satellites. Further selection of target satellite subsets ,in, .

[0039] The real-time planning, historical playback, and anomaly viewing functions each maintain their respective subsets of target satellites. The satellite filtering status in each function is independent of each other, and is within the visible satellite set. Within the defined scope of permissions, further filter the corresponding satellite telemetry data.

[0040] like Figure 1 As shown, in this step, when it is found that the current user has permission to view all satellites, the backend server determines all satellites in the system as visible satellites for that user. When it is found that the current user has permission to view some satellites, the backend server matches satellite identifiers according to permission fields and preset satellite series mapping relationships to determine the set of visible satellites corresponding to the current user. When no corresponding permission is found, access is denied to the current user and a permission- denied message is displayed. The backend server returns the set of visible satellites to the mini-program, and the mini-program displays the corresponding satellite data based on the set of visible satellites.

[0041] During telemetry playback and anomaly log querying, the backend server generates permission filtering conditions based on the current user's visible satellite set and adds these conditions to the database query statement, ensuring that the query results only include satellite telemetry data within the current user's permission range. This invention utilizes WeChat Work as the access portal for internal employees and restricts the range of satellite data that different employees can view through user authentication and satellite data permission filtering, thereby achieving access control for internal telemetry data and ensuring internal data security.

[0042] S3. Within the set of visible satellites determined in step S2, receive the satellite telemetry frame data of the current telemetry cycle, and provide the satellite telemetry frame data to the mini-program for real-time display. The relevant operations in step S3 will be introduced with specific examples: S31. Obtain the satellite telemetry frame data parsed by the front-end system and written to the message queue, and obtain the corresponding satellite telemetry frame data for each ground station, specifically as follows: After receiving the satellite downlink telemetry data frame, the ground station parses the downlink telemetry data frame using a front-end system and writes the parsed satellite telemetry frame data into a Redis message queue in JSON format. The front-end system is a telemetry data processing project that runs independently of the back-end server of this solution. It receives the satellite downlink hexadecimal telemetry source code provided by the ground station, converts the hexadecimal telemetry source code into telemetry engineering values ​​with actual physical meaning and corresponding units of measurement, such as temperature, voltage, or current values, according to a pre-defined parsing relationship. The system then compares these telemetry engineering values ​​with predefined anomaly criteria to complete the anomaly detection and statistical analysis of the telemetry parameters.

[0043] The Redis message queues are distinguished according to the ground station, and the queue key name adopts the corresponding ground station name.

[0044] The backend server creates a corresponding resident consumer thread for each ground station. Each resident consumer thread retrieves satellite telemetry frame data in batches from the Redis message queue of the corresponding ground station at a fixed period, and the number of satellite telemetry frame data retrieved at one time does not exceed the preset maximum number. This allows the ground stations to receive the corresponding satellite telemetry frame data.

[0045] During the parsing of satellite downlink telemetry data frames, the front-end system performs anomaly detection and statistical analysis on the extracted telemetry parameter values ​​based on preset anomaly criteria. When a telemetry parameter value meets the preset anomaly criteria, the front-end system generates a corresponding anomaly record. The anomaly record includes the parameter name, parameter value, anomaly detection threshold, number of anomalies, the subsystem to which it belongs, and the associated contact person.

[0046] The backend server retrieves the abnormal records, adds them to the abnormal record set of the corresponding telemetry cycle based on the telemetry cycle number, and sends the abnormal records to the mini-program, which then displays them according to their respective subsystems.

[0047] S32. The acquired satellite telemetry frame data is deserialized, then grouped according to the telemetry plan identifier, and the grouped satellite telemetry frame data is written into the corresponding memory cache. Specifically, the backend server deserializes the satellite telemetry frame data retrieved from the Redis message queue, converting the JSON string into a satellite telemetry frame data object that can be directly read and processed by the backend server to extract information such as satellite identifier, ground station identifier, orbit number, and frame sequence number. Subsequently, a telemetry plan identifier is generated based on the satellite identifier, ground station identifier, and orbit number. and in accordance with the telemetry plan identifier The data is grouped, and the grouped satellite telemetry frame data is written to the corresponding memory buffer. The telemetry plan identifier is mentioned here. It is formed by a combination of satellite identifier, ground station identifier, and orbit number.

[0048] The memory cache is managed using the following mapping relationship:

[0049] in, This establishes a mapping relationship between telemetry plan identifiers and real-time telemetry cache objects. This is a list of satellite telemetry frame data corresponding to the telemetry plan; The current frame number; This is the time when the last satellite telemetry frame data was received.

[0050] Because the backend server sets up resident consumer threads for each ground station, different threads may simultaneously send requests to... The satellite telemetry frame data is written; therefore, the frame data writing process uses write locks for thread protection, specifically:

[0051] That is, towards Before writing satellite telemetry frame data to the corresponding memory buffer, a write lock is acquired, and the write lock is released after the frame data writing is completed.

[0052] S33. Receive a real-time telemetry data request sent by the mini-program, and read satellite telemetry frame data from the corresponding memory cache according to the current frame number carried in the real-time telemetry data request and return it to the mini-program. Specifically, the mini-program sends a telemetry plan identifier to the backend server. The backend server requests real-time telemetry data based on the current frame sequence number. ,from Determine the corresponding memory cache object in the middle. And according to the current frame sequence number in the memory cache object The system retrieves the corresponding satellite telemetry frame data and returns it to the mini-program for real-time display.

[0053] Step S33 also includes a frame skipping strategy, specifically: comparing the current frame number with the latest frame number in the memory cache; when the difference between the two exceeds a preset threshold, adjusting the current frame number, and continuing to read satellite telemetry frame data based on the adjusted current frame number.

[0054] Specifically, it receives real-time telemetry data requests sent by the mini-program and determines the telemetry plan identifier carried in the real-time telemetry data request. ,from Determine the corresponding memory cache object in the middle. And obtain the current frame number carried in the real-time telemetry data request. and the latest frame sequence number in the memory cache object. .

[0055] Compare the current frame number With the latest frame number The difference between the two. When the difference between the two exceeds a preset threshold, it indicates that the current display progress of the mini-program is significantly behind the real-time reception progress. The backend server performs frame skipping processing and adjusts the current frame sequence number to:

[0056] And based on the adjusted current frame number, retrieve from the memory cache object Read the corresponding satellite telemetry frame data; when the difference between the two does not exceed the preset threshold, increment the current frame number sequentially, and then... The system reads the satellite telemetry frame data corresponding to the incremented frame number. The backend server then returns the read satellite telemetry frame data to the mini-program for real-time display.

[0057] In practice, after the mini-program enters the telemetry frame details page, it can poll the backend server's frame data interface at a frequency of 33 times per second, with each request carrying a telemetry plan identifier. and current frame number By employing the aforementioned frame skipping strategy, when the progress of the mini-program's display lags significantly due to the impact of internal and external network forwarding bandwidth, the backend server no longer returns all lagging frames sequentially. Instead, it adjusts the reading position to be close to the latest frame to prioritize ensuring the real-time display of telemetry data.

[0058] S34. Determine whether the telemetry cycle has ended based on the last frame reception time and the predetermined end time of each telemetry cycle. If the telemetry cycle has ended, remove the corresponding memory cache data and trigger the persistent storage of satellite telemetry frame data.

[0059] Specifically, the backend server is configured with a fixed-period scheduled detection task to iterate through... Each telemetry cycle is recorded, and the last frame reception time corresponding to each telemetry cycle is obtained. and scheduled end time Define the timeout threshold as... and the current time When the following conditions are met: and When the corresponding telemetry cycle is determined to have ended, the memory cache data corresponding to that telemetry cycle is retrieved from the cache. Removed from the data and triggers the persistent storage of satellite telemetry frame data.

[0060] S4. Store the received telemetry cycle data, and read and display the corresponding satellite telemetry data according to the playback request sent by the mini program.

[0061] The relevant operations in step S4 will be introduced with specific examples: S41. After the target telemetry cycle is completed, classify the satellite telemetry frames corresponding to the target telemetry cycle according to the frame name, serialize multiple satellite telemetry frames corresponding to the same frame name to the frame data file corresponding to the frame name according to the frame number, and record the total number of frames corresponding to the target telemetry cycle and the mapping relationship between each frame name and the storage location of the corresponding frame data file. The frame data file is a JSON file set according to the frame name. Each frame number and frame name corresponds to a JSON file. The JSON file includes multiple satellite telemetry frame data stored under the same frame name according to the frame number.

[0062] Specifically, after step S34 determines the completion of the target telemetry cycle, the backend server triggers the playback data persistence process. It categorizes all satellite telemetry frames corresponding to the target telemetry cycle by frame name, serializes multiple satellite telemetry frames with the same frame name to their corresponding JSON files according to their frame numbers, and writes them to disk. Simultaneously, it records the total number of frames corresponding to the target telemetry cycle and the mapping relationship between each frame name and the corresponding JSON file storage location. The backend server also writes the plan record corresponding to the target telemetry cycle into the database. The plan record includes a telemetry plan identifier, satellite identifier, plan time, total number of frames, abnormal status, and file storage path.

[0063] S42. Receive a telemetry playback request sent by the mini-program. The telemetry playback request includes the telemetry plan identifier, target frame name, and target frame sequence number of the target telemetry cycle. Specifically, after the mini-program enters the playback details page of the target telemetry cycle, it sends a telemetry playback request to the backend server. The telemetry playback request carries the target frame name and target frame number of the telemetry plan corresponding to the target telemetry cycle. The mini-program provides play, pause, and progress bar dragging functions on the playback details page.

[0064] S43. Based on the telemetry plan identifier, target name, target frame number and the mapping relationship, determine the frame data file corresponding to the target frame name, and read the corresponding satellite telemetry frame data from the corresponding frame data file according to the target frame number, and return the read satellite telemetry frame data to the mini-program.

[0065] When the mini-program performs historical playback of satellite telemetry data, after detecting the playback progress adjustment operation, it pauses the data request based on the frame sequence number before the adjustment, updates the target frame sequence number and increments the request sequence number, and sends a new telemetry playback request based on the updated target frame sequence number. After receiving the satellite telemetry frame data returned by the backend server, the request sequence number corresponding to the returned data is compared with the current request sequence number. If the two match, the satellite telemetry frame data is displayed; if they do not match, the satellite telemetry frame data is discarded.

[0066] Specifically, after receiving a telemetry playback request, the backend server determines the target telemetry cycle based on the telemetry plan identifier, and determines the JSON file corresponding to the target frame name based on the target frame name and the mapping relationship between each frame name and the storage location of the corresponding frame data file. Then, it reads the corresponding satellite telemetry frame data from the JSON file according to the target frame sequence number and returns the read satellite telemetry frame data to the mini-program. By avoiding full file loading or loading data files corresponding to other frame names under the target telemetry cycle, the response latency and memory usage of high-data-volume cycles are significantly reduced.

[0067] When the mini-program detects a drag operation on the playback progress bar, it pauses the data request based on the previous frame sequence number, increments the request sequence number, and updates the target frame sequence number to the frame sequence number corresponding to the drag target position. After the drag operation ends, a new telemetry playback request is sent based on the updated target frame sequence number. After receiving the satellite telemetry frame data returned by the backend server, the mini-program compares the request sequence number corresponding to the returned data with the current request sequence number. If they match, the satellite telemetry frame data is displayed; otherwise, it is discarded.

[0068] like Figure 2 As shown, steps S3-S4 describe the satellite telemetry data caching, frame name-based storage, and real-time and historical playback processes: During real-time telemetry data forwarding, the backend server first preprocesses the JSON data to be forwarded, removing unnecessary redundant fields to reduce the amount of data in a single interface response; simultaneously, it performs circle filtering based on business needs, excluding unlabeled BeiDou circles with large data volumes but low observation requirements, thereby reducing the data transmission volume and parsing overhead on the mobile device. A Redis message queue is used as a data buffer, and a persistent backend thread writes satellite telemetry frame data into a real-time in-memory cache structure BufferMap. Write locks are used during the writing process to ensure data consistency in a multi-threaded environment, avoiding data conflicts or read anomalies caused by high-frequency read / write operations.

[0069] The mini-program polls the real-time telemetry data interface 33 times per second. When the current frame number of the mini-program is significantly behind the latest frame number in the buffer, the backend server executes a frame skipping strategy, adjusting the reading position to be close to the latest frame to prioritize the real-time display of telemetry data under limited bandwidth conditions.

[0070] After a telemetry cycle is completed, the backend server categorizes the satellite telemetry frames for that cycle by frame name and stores multiple satellite telemetry frames under the same frame name in corresponding JSON files according to their frame sequence numbers. When the mini-program requests historical playback data, the backend server locates the corresponding JSON file based on the target frame name and reads and returns the corresponding satellite telemetry frame data based on the target frame sequence number. This eliminates the need to load data for the entire telemetry cycle, thereby reducing data reading and transmission volume, minimizing stuttering and response latency during historical playback, and improving playback efficiency by more than 10 times. During progress bar dragging, the mini-program increments the request sequence number and performs sequence number verification upon receiving the returned data to avoid network latency causing cross-display of satellite telemetry frame data before and after dragging.

[0071] Through the aforementioned technical means, this invention achieves the following performance in large-scale remote sensing constellation operation and control scenarios: System response time: The time from when a user enters the mini-program to when the user's employee ID information is automatically obtained is within 2 seconds, and the data interface response time is kept within 1 second.

[0072] Supported scale: It can stably support telemetry monitoring of more than 200 satellites and simultaneous online access by more than 500 users.

[0073] Functional Support: The system integrates multiple core functions covering the daily needs of satellite constellation operation and telemetry services, including viewing real-time satellite telemetry data, orbit information, and anomaly information, as well as replaying historical telemetry data with frame-by-frame analysis and autonomous control. Simultaneously, the system incorporates a visibility range permission management mechanism to ensure that users can only monitor data and retrieve information within their authorized scope.

[0074] Example 2 This embodiment provides a mobile satellite telemetry system based on a WeChat mini-program for enterprises. The system is used to implement the method described in Embodiment 1, and the system includes: The accountless login module is used for user identity authentication and permission verification based on the enterprise WeChat account; The access control module is used to determine the set of visible satellites based on user identity. The mini-program real-time display module is used to receive satellite telemetry frame data of the current telemetry cycle within the visible satellite set, and provide the satellite telemetry frame data to the mini-program for real-time display. The storage and playback module is used to store the received telemetry cycle data and read and display the corresponding satellite telemetry data according to the playback request sent by the mini program.

[0075] Example 3 This embodiment verifies the historical playback effect of storing satellite telemetry frame data by frame name in Embodiment 1. Three satellites were randomly selected, and two telemetry orbits with similar total frame counts were selected for each satellite. Historical playback was then performed on the same target frame from the same satellite. The total number of frames, the target number of frames, and the total playback time were recorded for both the case without and with the frame name-based storage method. The test results are shown in Table 1.

[0076] Table 1

[0077] As shown in Table 1, after adopting the method of storing data by frame name, the total playback time for telemetry frames from the Gaofen-03D07 satellite's central control unit decreased from 648 seconds to 86 seconds, the total playback time for integrated parameter frames from the Gaofen-06A22 satellite decreased from 614 seconds to 117 seconds, and the total playback time for telemetry and control frames from the Gaofen-03C01 satellite decreased from 623 seconds to 61 seconds. In this test data, the historical playback efficiency was improved by approximately 5 to 10 times, and the lower the proportion of the target frame to the total number of frames, the more significant the improvement in playback efficiency. This indicates that storing data by frame name and reading the telemetry data corresponding to the target frame name during historical playback can reduce historical playback time and improve the playback efficiency of satellite telemetry data.

Claims

1. A mobile satellite telemetry method based on a WeChat mini-program for enterprises, characterized in that, The method includes the following steps: S1. Perform user identity authentication and permission verification based on the WeChat Enterprise account; S2. Determine the set of visible satellites based on user identity; S3. Within the set of visible satellites determined in step S2, receive the satellite telemetry frame data of the current telemetry cycle, and provide the satellite telemetry frame data to the mini-program for real-time display. S4. Store the received telemetry cycle data, and read and display the corresponding satellite telemetry data according to the playback request sent by the mini program.

2. The mobile satellite telemetry method based on a WeChat mini-program for enterprises according to claim 1, characterized in that, The user authentication and permission verification include the following steps: S11. Call the WeChat Work SDK interface to obtain the temporary authorization information corresponding to the currently logged-in user and send the temporary authorization information to the backend server; S12. The backend server initiates an identity verification request to the WeChat Work server based on the temporary authorization information to obtain the enterprise member identifier corresponding to the currently logged-in user. S13. Based on the enterprise member identifier, query the corresponding employee information and access permissions from the preset employee information database; S14. Complete user authentication and permission verification based on employee information and access permissions.

3. The mobile satellite telemetry method based on a WeChat mini-program for enterprises according to claim 2, characterized in that, Determining the set of visible satellites based on user identity includes the following steps: S21. Obtain the permission fields corresponding to the current user, and determine the satellite series corresponding to each satellite identifier according to the preset satellite series mapping relationship; S22. Based on the permission field corresponding to the current user and the satellite series mapping relationship, perform permission matching on the entire satellite set, determine the satellite that matches the permission field, and generate the visible satellite set corresponding to the current user based on the matching satellite; S23. Return the set of visible satellites to the mini-program, and have the mini-program cache the set of visible satellites; S24. When querying satellite telemetry data, generate corresponding permission filtering conditions based on the set of visible satellites, and add the permission filtering conditions to the telemetry data query request so that the query results only include telemetry data corresponding to satellites in the set of visible satellites.

4. The mobile satellite telemetry method based on a WeChat mini-program for enterprises according to claim 3, characterized in that, In step S3, the satellite telemetry frame data is provided to the mini-program for real-time display, including the following steps: S31. Obtain the satellite telemetry frame data that has been parsed by the front-end system and written into the message queue, and obtain the corresponding satellite telemetry frame data according to the ground station. S32. The acquired satellite telemetry frame data is deserialized, then grouped according to the telemetry plan identifier, and the grouped satellite telemetry frame data is written into the corresponding memory cache. S33. Receive a real-time telemetry data request sent by the mini-program, and read satellite telemetry frame data from the corresponding memory cache according to the current frame number carried in the real-time telemetry data request and return it to the mini-program. S34. Determine whether the telemetry cycle has ended based on the last frame reception time and the predetermined end time of each telemetry cycle. If the telemetry cycle has ended, remove the corresponding memory cache data and trigger the persistent storage of satellite telemetry frame data.

5. A mobile satellite telemetry method based on a WeChat mini-program for enterprises, as described in claim 4, is characterized in that... Step S33 also includes a frame skipping strategy, specifically: comparing the current frame number with the latest frame number in the memory cache; when the difference between the two exceeds a preset threshold, adjusting the current frame number, and continuing to read satellite telemetry frame data based on the adjusted current frame number.

6. The mobile satellite telemetry method based on a WeChat mini-program for enterprises according to claim 5, characterized in that, The working process of step S4 is as follows: S41. After the target telemetry cycle is completed, classify the satellite telemetry frames corresponding to the target telemetry cycle according to the frame name. Multiple satellite telemetry frames corresponding to the same frame name are serialized to the frame data file corresponding to the frame name according to the frame number. Record the mapping relationship between the total number of frames corresponding to the target telemetry cycle and the storage location of the frame data file corresponding to each frame name. S42. Receive a telemetry playback request sent by the mini-program. The telemetry playback request includes the telemetry plan identifier, target frame name, and target frame sequence number of the target telemetry cycle. S43. Based on the telemetry plan identifier, target name, target frame number and the mapping relationship, determine the frame data file corresponding to the target frame name, and read the corresponding satellite telemetry frame data from the corresponding frame data file according to the target frame number, and return the read satellite telemetry frame data to the mini-program.

7. A mobile satellite telemetry method based on a WeChat mini-program for enterprises, as described in claim 6, is characterized in that... The frame data file is a JSON file set according to the frame name. Each frame name corresponds to one JSON file, and multiple satellite telemetry frame data under the same frame name are stored in the corresponding JSON file according to the frame sequence number.

8. The mobile satellite telemetry method based on a WeChat mini-program for enterprises according to claim 1, characterized in that, When the mini-program performs historical playback of satellite telemetry data, after detecting the playback progress adjustment operation, it pauses the data request based on the frame sequence number before the adjustment, updates the target frame sequence number and increments the request sequence number, and sends a new telemetry playback request based on the updated target frame sequence number. After receiving the satellite telemetry frame data returned by the backend server, the request sequence number corresponding to the returned data is compared with the current request sequence number. If they match, the satellite telemetry frame data is displayed; if they do not match, the satellite telemetry frame data is discarded.

9. A mobile satellite telemetry system based on a WeChat mini-program for enterprises, characterized in that, The system is used to implement the method according to any one of claims 1-8, and the system comprises: The accountless login module is used for user identity authentication and permission verification based on the enterprise WeChat account; The access control module is used to determine the set of visible satellites based on user identity. The mini-program real-time display module is used to receive satellite telemetry frame data of the current telemetry cycle within the visible satellite set, and provide the satellite telemetry frame data to the mini-program for real-time display. The storage and playback module is used to store the received telemetry cycle data and read and display the corresponding satellite telemetry data according to the playback request sent by the mini program.