Task processing system and method for space-based computing platform
By designing a task processing system, including the system layer, the transmission layer and the service layer, the problems of resource heterogeneity, task dynamic changes and network bandwidth limitations of the space-based computing platform when processing computing tasks are solved, and efficient, flexible and fault-tolerant computing task processing is achieved.
Patent Information
- Application Number
- CN202510581346.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-06-06
AI Technical Summary
The existing space-based computing platforms have problems such as the heterogeneity of hardware resources, dynamic changes in computing tasks, and network bandwidth limitations when processing computing tasks, making it difficult to achieve rapid processing of computing tasks.
A task processing system is designed, including the system layer, the transport layer and the service layer. The system layer manages and drives heterogeneous resources of the satellite computer and monitors the hardware operation status; the transmission layer includes a programmable communication module, a telemetry communication module and a data transmission module to realize efficient data transmission and communication; the service layer schedules and calculates tasks based on task information and hardware status to ensure efficient execution of tasks.
Through modular design and collaborative working modules, the system can be flexibly configured and expanded, adapt to various task scenarios, maintain time synchronization and equipment status monitoring, and enhance the system's fault tolerance and computing efficiency.
Smart Images

Figure CN120110508A_ABST
Abstract
Description
Technical Field
[0001] The present specification relates to the field of computer technology, and in particular to a task processing system and method for a space-based computing platform. Background Art
[0002] Nowadays, the focus of space-based computing tasks has gradually shifted to large-scale computing tasks such as big data processing, artificial intelligence reasoning, and satellite communications. The computing demand has also continued to grow, and the existing ground computing platforms and traditional computing systems have gradually been unable to meet the needs of space-based computing. Especially in environments with limited resources, large communication delays, and complex computing tasks, the existing computing architecture cannot meet the efficiency, reliability, and flexibility requirements of space-based applications.
[0003] At present, the task processing system used by the existing space-based computing platform is similar to the traditional ground computing framework and cannot adapt to the particularity of the space-based platform. Therefore, the existing space-based computing platform has many disadvantages when processing computing tasks, including the heterogeneity of hardware resources, the dynamic changes of computing tasks, and the limitation of network bandwidth, which makes it difficult to achieve rapid processing of computing tasks.
[0004] Therefore, how to achieve efficient scheduling and resource management of space-based computing platforms is an urgent problem to be solved. Summary of the invention
[0005] This specification provides a task processing system and method for a space-based computing platform to at least partially solve the above-mentioned problems existing in the prior art.
[0006] This manual adopts the following technical solutions: This specification provides a task processing system, which is applied to a satellite-borne computer and includes: The system layer is used to manage and drive the heterogeneous resources of the onboard computer and monitor the operating status of each hardware of the onboard computer; The transmission layer at least includes a program-controlled communication module, a telemetry communication module, and a data transmission module; the program-controlled communication module is used to receive and send program-controlled instructions through program-controlled signals based on a program-controlled instruction protocol; the telemetry communication module is used to collect the operation data of the onboard computer based on a telemetry instruction protocol; the data transmission module is used to transmit the data inside the task processing system and the data between the onboard computer and external devices based on the data transmission protocol; wherein the program-controlled instruction protocol, the telemetry instruction protocol, and the data transmission protocol are unified into the same communication protocol and adopt the same data frame format; The service layer is used to call heterogeneous resources adapted to the computing task according to the task information of the computing task received by the onboard computer and the operating status of each hardware of the onboard computer; adjust the execution order of the computing task according to the task information, and use the heterogeneous resources adapted to the computing task to execute the computing task according to the execution order.
[0007] Optionally, the system layer includes at least a drive system module; The drive system module is used to initialize and start the hardware of the onboard computer, detect and monitor the operating status of the hardware, and report when the hardware fails; Allocate heterogeneous resources to other modules included in the system.
[0008] Optionally, the transmission layer further includes a time calibration module for periodically calibrating the time of the onboard computer.
[0009] Optionally, the service layer includes at least a high-elasticity task scheduling module and a high-throughput computing engine module; The highly flexible task scheduling module is used to allocate adaptive heterogeneous resources to the computing tasks received by the onboard computer according to the operating status of each hardware of the onboard computer, system load, task information and available resources, and adjust the execution order of the computing tasks; The high-throughput computing engine module is used to execute the computing task through parallel computing and / or distributed computing.
[0010] Optionally, the telemetry communication module is specifically used to: Receive telemetry information sent by external telemetry equipment; Assembling the telemetry information according to a preset telemetry instruction protocol to obtain a telemetry data frame; The telemetry data frames are sent to the payload processing unit of the onboard computer at a specified frequency, so that the payload processing unit sends the telemetry data frames to a ground station, so that the ground station parses the telemetry data.
[0011] Optionally, the data transmission module at least includes: a network transmission submodule; The network transmission submodule is used to receive a data transmission request communication frame sent by a data sender, and parse the data transmission request communication frame to obtain a data name, a first data size, and a number of data segments of the data to be received; Initializing a cache area and a memory area for receiving the data to be received according to the first data size; Returning confirmation information to the data sender, so that the data sender sends the data to be received; The to-be-received data is received.
[0012] Optionally, the data transmission module includes at least a breakpoint-resume transmission submodule; The breakpoint-resume transmission submodule is used to divide the data to be transmitted into blocks according to the second data size of the data to be transmitted, obtain each block of data, and determine the identifier of each block of data; For each block of data, when the block of data is transmitted, an identifier of the block of data is written into a temporary file; If the block data transmission is successful, the temporary file is deleted; If the block data transmission fails, the identifier contained in the temporary file is read and sent to the data recipient, and the block data is retransmitted.
[0013] This specification provides a task processing method, which is applied to the task processing system provided in this specification, and the method includes: Initializing and starting each hardware of the onboard computer, and continuously monitoring the operating status of each hardware of the onboard computer; In response to receiving the computing task, allocating heterogeneous resources to the computing task according to the task information and the running state of the computing task, and executing the computing task to obtain a computing result; The calculation result is stored in a system node of the mission processing system, and / or the calculation result is transmitted to a ground station.
[0014] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned task processing method is implemented.
[0015] This specification 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 implements the above-mentioned task processing method when executing the program.
[0016] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects: In the task processing system provided in the present specification, the system layer is used to manage and drive the heterogeneous resources of the onboard computer and monitor the operating status of each hardware of the onboard computer; the transmission layer includes at least a program-controlled communication module, a telemetry communication module, and a data transmission module; the program-controlled communication module is used to receive and send program-controlled instructions through program-controlled signals based on a program-controlled instruction protocol; the telemetry communication module is used to collect the operating data of the onboard computer based on a telemetry instruction protocol; the data transmission module is used to transmit the data inside the task processing system and the data between the onboard computer and external devices based on the data transmission protocol; wherein the program-controlled instruction protocol, the telemetry instruction protocol and the data transmission protocol are unified into the same communication protocol and adopt the same data frame format; the service layer is used to call the heterogeneous resources adapted to the computing task according to the task information of the computing task received by the onboard computer and the operating status of each hardware of the onboard computer; adjust the execution order of the computing task according to the task information, and use the heterogeneous resources adapted to the computing task to execute the computing task according to the execution order.
[0017] When using the task processing system for the Tianji computing platform provided in this specification, the modular design enables the system to be flexibly configured and expanded according to different needs to adapt to various task scenarios. Among them, through the collaborative work of the time calibration module and the telemetry module, the system can maintain accurate time synchronization and monitor the device status in real time to ensure the stable operation of the system; the breakpoint resume module can recover from the breakpoint when the data transmission is interrupted to avoid data loss and enhance the fault tolerance of the system; through the collaboration of high-elastic task scheduling and high-throughput computing engine modules, the system can maintain high computing and data transmission efficiency when processing large-scale tasks. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings: Figure 1 A structural diagram of a task processing system in this specification; Figure 2 A schematic diagram of the software framework architecture of a task processing system provided in this specification; Figure 3 A program-controlled instruction communication timing diagram of a program-controlled communication module provided in this specification; Figure 4 A flowchart of a satellite-borne computer receiving and parsing input data provided in this specification; Figure 5 A schematic diagram of a pipeline in a highly flexible task scheduling module provided in this specification; Figure 6 A flowchart of a task processing method provided in this specification; Figure 7 The corresponding Figure 6 Schematic diagram of electronic equipment. DETAILED DESCRIPTION
[0019] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0020] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
[0021] Figure 1 This is a schematic diagram of the structure of a task processing system in this specification, the system is applied to a satellite computer, and the system includes: The system layer is used to manage and drive the heterogeneous resources of the onboard computer and monitor the operating status of each hardware of the onboard computer; The transmission layer at least includes a program-controlled communication module, a telemetry communication module, and a data transmission module; the program-controlled communication module is used to receive and send program-controlled instructions through program-controlled signals based on a program-controlled instruction protocol; the telemetry communication module is used to collect the operation data of the onboard computer based on a telemetry instruction protocol; the data transmission module is used to transmit the data inside the task processing system and the data between the onboard computer and external devices based on the data transmission protocol; wherein the program-controlled instruction protocol, the telemetry instruction protocol, and the data transmission protocol are unified into the same communication protocol and adopt the same data frame format; The service layer is used to call heterogeneous resources adapted to the computing task according to the task information of the computing task received by the onboard computer and the operating status of each hardware of the onboard computer; adjust the execution order of the computing task according to the task information, and use the heterogeneous resources adapted to the computing task to execute the computing task according to the execution order.
[0022] In the task processing system provided in this application, the system layer mainly provides adaptation and management of hardware resources, supports the collaborative work of different types of heterogeneous hardware (such as CPU, GPU, DSP, FPGA, etc.), and has hardware performance monitoring and fault detection functions; the transport layer can realize efficient and reliable data transmission, support high-bandwidth, low-latency network protocols, and has breakpoint resumption and network security functions during communication; the service layer can dynamically schedule computing tasks according to the status of hardware resources and task requirements, to ensure that space-based computing tasks can be efficiently executed with limited hardware resources.
[0023] The task processing system provided in this specification needs to run on a satellite computer. The specific configuration of the satellite computer can be set according to specific needs. This specification provides a specific embodiment for reference. Table 1 is a detailed description of the peripheral components of a satellite computer provided in this specification.
[0024] Table 1
[0025] As shown in Table 1, in terms of interfaces, the onboard computer supports a variety of high-speed communication methods, including Gigabit Ethernet interface, USB interface, serial communication interface (such as UART / RS232 / RS422), controller area network (CAN), etc., which can ensure the high efficiency of multi-tasking and information exchange of the system in the onboard environment. In order to meet the needs of high-performance computing, the system is also equipped with an FPGA module to accelerate specific computing tasks, and supports the connection of expansion cards and storage devices through PCIe and SATA interfaces.
[0026] In terms of operating system deployment, Ubuntu 20.04LTS was selected as the operating system based on task requirements and system stability. Ubuntu 20.04 LTS has high stability, rich hardware compatibility and strong security, making it an ideal choice for supporting embedded applications and long-term operation. Operating system deployment consists of the following steps: Ⅰ. Make bootloader: Use U-Boot as the primary bootloader. U-Boot is highly configurable and has extensive hardware support. Make bootloader by following the steps below: (1) Obtain and customize the U-Boot source code; (2) Configure the cross-compilation tool chain; (3) Configure U-Boot and compile to generate binary files; (4) Burn the generated U-Boot image to the target hardware; (5) Complete testing and debugging to ensure the reliability of system startup.
[0027] Ⅱ. Make root file system and operating system image: Use Buildroot tool to build embedded Linux environment and generate complete image including kernel, file system and boot loader. Generate required root file system through cross-compilation tool chain to support boot and application of target hardware platform.
[0028] III. Configure the kernel and drivers: Use the kernel configuration tool menuconfig to configure the Ubuntu kernel and compile a kernel image suitable for the target hardware. Load the kernel module using the insmod command and unload it using the rmmod command. After the device driver module is loaded, the system can automatically identify the hardware and start the corresponding driver function. In particular, the device tree file needs to be customized for the hardware platform to ensure that the kernel can correctly identify and configure all hardware components.
[0029] In terms of drivers, in order to achieve seamless integration between the operating system and the hardware platform, it is necessary to write corresponding drivers for various hardware components. For each device type (such as character devices, block devices, network devices), it is necessary to define the corresponding data structure in the kernel and provide specific read, write, control and initialization functions. Register character devices through the cdev_add function and register block devices with register_blkdev to ensure that the kernel can correctly load and manage these devices. Drivers are divided into the following categories: (1) Character device driver: mainly used to process character data exchange with devices, such as USB interface, serial communication interface (UART, RS232 / RS422), CAN bus, etc. The development process includes defining the device structure, writing open / close functions, and implementing read and write functions.
[0030] (2) Block device driver: used to support data exchange between high-performance storage devices (such as SSD and SD card) and the system. During development, it is necessary to define the block device structure, implement read and write operation functions, and register the block device for system calls.
[0031] (3) Network device driver: responsible for driving Ethernet and other network interfaces (such as PCIe). The driver will handle the sending and receiving of data and ensure the stability of network communication. When implementing, it is necessary to support the interface between the upper-layer protocol stack and the hardware to ensure high-speed data transmission and error handling. Hardware devices such as network devices and serial communication interfaces usually require interrupt mechanisms for data transmission. The driver needs to implement an interrupt service routine (ISR) to handle hardware interrupt requests and ensure the real-time and stability of the system through operations such as queue management and data packet transmission during interrupt processing.
[0032] (4) Other hardware acceleration components: For NPU (such as MLU370) and FPGA modules, write specific drivers to support data transmission acceleration and hardware accelerated computing. Through the interface with the operating system, ensure that these hardware acceleration components can achieve the best performance in task scheduling and computing processing.
[0033] In the present application, the system layer of the task processing system may include at least a driving system module, which is mainly used to initialize and start the hardware of the onboard computer, detect and monitor the operating status of the hardware, and report when the hardware fails; and allocate heterogeneous resources to other modules in the task processing system.
[0034] The task processing system provided in this manual can be installed on the onboard computer as software for use. Figure 2 A software framework architecture diagram of a task processing system provided in this specification, such as Figure 2 As shown in the figure, the system layer is the foundation of the entire architecture and is mainly composed of the drive system module, which is responsible for the control of the underlying hardware and the management of system resources. The design of the drive system module requires ensuring the high availability and stability of the equipment, avoiding the impact of hardware failures on the operation of the entire system, and ensuring the continuous and reliable operation of the system. Specifically, the functions of the drive system module include: Ⅰ. Initialize, detect and start all hardware devices; Ⅱ. Monitor the operating status of the equipment and trigger the alarm mechanism when the equipment fails; III. Provide the required hardware support for the upper-level modules, including computing resources (such as CPU), storage resources (such as memory and external storage devices), etc.
[0035] In the onboard computer, there are many different types of heterogeneous hardware resources, such as CPU, GPU, DSP, FGPA, etc. The system layer can centrally develop drivers for various heterogeneous hardware to complete the system adaptation to various heterogeneous hardware. Through the above design, the task processing system can support multiple different heterogeneous hardware at the same time and call multiple different heterogeneous resources to work together.
[0036] In the task processing system provided in this manual, the transport layer is responsible for realizing data transmission and synchronization between modules and devices in the system, ensuring that data can flow stably and efficiently between modules. Figure 2As shown in the figure, in order to ensure the observability and controllability of the intelligent computer on the satellite from the ground, and the integrity and accuracy of data upload and download, the command communication interface between the satellite and the ground network includes program control, telemetry, and time synchronization command communication interfaces. Program control commands realize the control of the intelligent computing system on the satellite from the ground, telemetry data realizes the ground's observation of the status of the intelligent computing system on the satellite, and time synchronization commands synchronize the satellite and ground time. The data transmission interface includes data upload and data download. Data upload completes the function of the ground to upload data to the satellite and the input function of data such as images, and data download sends the processing results of the intelligent processing module on the satellite in real time. In addition, data that cannot be downloaded in real time by the satellite is backed up through local storage and data storage on disk; when large files are transferred, the integrity and reliability of data transmission are guaranteed by the breakpoint resume strategy.
[0037] Among them, the transport layer mainly involves the following detailed functions: Ⅰ. Accurately analyze and execute the program control instructions of the ground control center to achieve remote control and management of satellite equipment; II. Real-time downlink of satellite telemetry data to provide accurate satellite status information to the ground control center, supporting fault diagnosis and predictive maintenance; III. Synchronize with the ground time server to ensure the satellite's time accuracy and improve the accuracy of mission execution; IV. Scheduling transmission tasks in response to bandwidth limitations of satellite-to-ground links, real-time downloading of image data, processing results of satellite remote sensing data, etc.; V. For observation data that cannot be transmitted down in time, the satellite is equipped with a high-density, small-volume storage device for disk storage. When the satellite moves back to the range of the Earth observation point, the data information is quickly transmitted to the ground receiving station through the network transmission module.
[0038] In the transmission layer, in addition to the program-controlled communication module, the telemetry communication module and the data transmission module, a time calibration module may also be additionally included, the function of which is to periodically calibrate the time of the onboard computer.
[0039] The program-controlled communication module is mainly responsible for controlling the sending and receiving of data through a predetermined communication protocol, and supports multiple communication modes (such as point-to-point, broadcast, multicast, etc.). The program-controlled communication module can dynamically select the optimal communication path according to the real-time network status, and compress and encrypt the transmitted data to ensure efficient and secure communication.
[0040] Figure 3 A program-controlled instruction communication timing diagram of a program-controlled communication module provided in this specification, such as Figure 3As shown, after the onboard computer receives the program-controlled instructions sent by the ground station, the payload processing unit will usually parse and execute the program-controlled instructions; when the onboard computer is equipped with an AI unit, the payload processing unit will forward the program-controlled instructions to the AI unit, which will parse and execute the program-controlled instructions.
[0041] In addition, in order to solve the problem of the diversity of instructions received by the computing system of the onboard computer and the diversity of different user application layer protocols, the transport layer unifies the program control instruction protocol, telemetry instruction protocol and data transmission protocol introduced by the intelligent computing module to form a fixed data frame format. When dealing with different users and application layer protocols, only the application layer transmission method and data transmission process need to be updated. The onboard intelligent processing module establishes an instruction queue to prevent the loss of tasks due to untimely instruction processing.
[0042] The telemetry communication module is mainly used to collect the operating data of the equipment, such as temperature, humidity, pressure and other physical parameters, by wireless or wired means, and upload it to the system control unit in real time. The telemetry data is sent to the payload processing unit by the onboard intelligent computing system at a certain time interval. The payload processing unit sends it to the ground station in real time. The ground station analyzes the telemetry data to monitor the operating status of the onboard computer. The ground performs fault detection and predictive maintenance on the onboard status based on the telemetry information. The telemetry data transmission process can be shown in the following steps: Ⅰ. The onboard computer collects various telemetry information and assembles them according to the format of telemetry protocol frames; II. The onboard computer sends telemetry information frames to the payload processing unit through the telemetry information interface at a fixed frequency (e.g. 1 frame / s); III. After receiving the telemetry information frame, the payload processing unit forwards the telemetry information frame to the ground station. The ground station receives the returned telemetry frame and parses the on-board telemetry information.
[0043] Among them, the telemetry command protocol data frame format is the same as the program control command protocol data frame format.
[0044] The time calibration module performs time correction. The time calibration data is sent from the ground station to the payload processing unit at certain time intervals. The payload processing unit transmits it to the onboard computer in real time. The onboard computer parses the time calibration data in the data domain and completes synchronization with the ground time server to ensure the time accuracy of the satellite. The onboard computer obtains the universal standard time (UTC) by connecting to an external time source (such as a satellite signal or an Internet time server) and synchronizes the standard to the system clock. The time calibration module can ensure that all data recording, task scheduling and other operations within the system can be carried out accurately according to the time requirements.
[0045] The data transmission module is mainly responsible for the transmission of large amounts of data in the system, especially the upload and download of large data sets. The data transmission module needs to handle the flow of large amounts of data and support high-speed and reliable transmission.
[0046] The data transmission module may include a network transmission submodule, which is specifically used to receive a data transmission request communication frame sent by a data sender, and parse the data transmission request communication frame to obtain the data name, first data size, and number of data segments of the data to be received; initialize a cache area and a memory area for receiving the data to be received according to the first data size; return confirmation information to the data sender so that the data sender sends the data to be received; and receive the data to be received.
[0047] When the network transmission submodule inputs data files, it first receives the data transmission request communication frame. At this time, the content in the communication frame is the file information (including file name, file information, file length, etc.). After receiving the data transmission request communication frame, the onboard computer performs cache cleanup and memory allocation, waits for the file data frame, and then parses the file data frame to complete the file input. Figure 4 A flowchart of a satellite computer receiving and parsing input data provided in this specification, such as Figure 4 As shown, the specific steps include: Ⅰ. Receive data transmission request frame: wait for the unified data frame sent by the network transmission interface and receive the data frame; Ⅱ. Check the frame header: verify whether the received data frame starts with the correct frame header and whether the command is a data transmission request command; Ⅲ. Parse the data frame content: parse the file name, file length, and total number of file segments from the data frame according to the given order and byte length; IV. Initialize memory area: According to the file length, initialize enough memory area to store the file data to be received; Ⅴ. Clean up the buffer: Initialize all existing buffers to prevent previous data from interfering with the reception of new files; VI. Sending request data: The onboard intelligent unit sends a request data transmission frame to the sender, indicating that it is ready to receive file data; Ⅶ. Receiving file data frame: The sender sends a new communication frame containing a data file. The intelligent module parses the data field of the file data frame and copies the data to the initialized memory until all segments of the file are transmitted.
[0048] Additionally, the data transmission module may also include a breakpoint resume submodule, which is specifically used to divide the data to be transmitted into blocks according to the second data size of the data to be transmitted, obtain each block of data, and determine the identifier of each block of data; for each block of data, when transmitting the block data, write the identifier of the block data into a temporary file; if the block data transmission is successful, delete the temporary file; if the block data transmission fails, read the identifier contained in the temporary file and send it to the data recipient, and retransmit the block data.
[0049] Due to the limited bandwidth between the satellite and the ground, the file transmission link between the satellite and the ground is unstable. For the observation data that cannot be transmitted in time, the basic system software of the space-based computing system can be equipped with a high-density, small-volume storage device on the satellite to record it. When the satellite returns to the range of the earth observation point, the data information is quickly transmitted to the ground receiving station. In order to realize the above function, a breakpoint resume submodule is configured in the data transmission module.
[0050] The breakpoint-resume transmission solution between satellite and ground mainly needs to consider the following aspects: Data sharding: Divide the data to be transmitted into multiple smaller data blocks, each with a unique identifier. In this way, even if a data block is interrupted during transmission, it can be retransmitted from that data block without retransmitting the entire data set.
[0051] Checksum: A checksum is added to each data block to detect whether the data is wrong during transmission. If the receiver finds that the checksum of a data block is inconsistent with the checksum sent by the sender, it can ask the sender to resend the data block.
[0052] Retransmission mechanism: When the receiver finds that a data block fails to be transmitted, it can send a retransmission request to the sender to request the data block to be resent. After receiving the retransmission request, the sender will immediately resend the data block until the receiver confirms that the data block has been received successfully.
[0053] Timeout processing: To avoid indefinite waiting of data transmission process due to network congestion or other reasons, you can set a timeout period. If the data transmission process is not completed after this time, it can be considered as a transmission failure and appropriate processing measures can be taken.
[0054] The breakpoint resume submodule creates a temporary file to store the breakpoint position of the file when transferring files. Every time a file is sent or received, it first checks whether there is a temporary file. If there is, it reads the breakpoint value from the temporary file and moves the file pointer to the breakpoint position to start the transfer. Based on the above logic, the specific implementation steps of the breakpoint resume solution can be as follows: Ⅰ. The server transmits the file name and length to the client; Ⅱ. Calculate the number of file blocks based on the file length; III. The client writes the number of blocks transferred to a temporary file (as a breakpoint value); IV. If the file transfer is successful, delete the temporary file; V. If the transmission fails, the client reads the breakpoint value from the temporary file and sends it to the server; VI. The server and the client move the file pointer to the breakpoint; VII. Continue to transfer files.
[0055] Among them, the breakpoint-resume transmission scheme for satellite-to-ground transmission mainly involves data transmission between the onboard intelligent computer, the payload processing unit, and the ground station.
[0056] The service layer is mainly used to schedule and manage the tasks in the system to ensure that the system can efficiently handle various tasks. The service layer may include at least a high-elasticity task scheduling module and a high-throughput computing engine module. Among them, the high-elasticity task scheduling module is used to allocate adaptive heterogeneous resources to the computing tasks received by the onboard computer according to the operating status of each hardware of the onboard computer, system load, task information and available resources, and adjust the execution order of the computing tasks; the high-throughput computing engine module is used to execute the computing tasks through parallel computing and / or distributed computing.
[0057] The highly flexible task scheduling module can dynamically schedule and allocate resources according to the priority, time requirements and resource requirements of the task. It can monitor the task execution status in real time to ensure that the task is completed on time. When a task is delayed or fails, the task scheduling module will automatically adjust the execution order or reallocate resources to ensure stable operation of the system. When executing large-scale concurrent tasks, the module can flexibly handle tasks of different priorities to avoid wasting or overloading system resources. The highly flexible task scheduling module can be composed of the following multi-layer logical abstraction: Ⅰ. Elements: Components are the basic units of the scheduling module. By creating and connecting multiple components, data can flow between them, thus achieving information transmission and functional collaboration between modules; Ⅱ. Bins: Bins are containers for components. Pipelines are a special subtype of bins that can operate all components in them. Since bins themselves are also part of components, they can be operated like ordinary components, thus simplifying the complexity of the application. By changing the state of the bin, the state of all components inside it can be changed synchronously. Bins can also send bus messages to their subset components, including error messages, tag messages, and EOS messages; Ⅲ. Pipeline: Pipeline is a high-level cabinet. When the pause or play state of the pipeline is adjusted, the data stream will start to transmit, and the relevant media processing process will be started. Once the pipeline is started, it will run in an independent thread until the task is completed or stopped. During the operation of the pipeline, frequent data exchange is required between components. The pipeline provides a bus system and a variety of data types (such as buffers, events, messages, and queries) to support data transmission; Ⅳ. Bus: The bus is used to pass messages across threads and supports communication between threads in different pipelines. Messages are passed from the internal thread of the pipeline to the bus thread, and then sent from the bus thread to the application. The application only needs to register a processing function to receive messages from various components of the pipeline. With the help of the bus, the application does not need to care about the specific thread of the message source, which greatly simplifies multi-threaded message processing; V. Buffers: Buffers are caches between the data source and the receiving end to ensure stable transmission of media data; VI. Events: Events transmit information between components, or between components and applications, as a sign to trigger certain actions; Ⅶ. Messages: Messages sent by components are passed to applications asynchronously through the bus. These messages are usually used to pass error information, state changes, tags, buffer status, and redirection. Message passing is thread-safe, but since most messages are processed asynchronously, there may be slight delays. If real-time response is required, these messages must be processed in the stream processing thread; Ⅷ. Queries: Applications can obtain system operating status information through queries, such as total time, current time, file size, etc.
[0058] Figure 5 This is a schematic diagram of the pipeline in the high-elasticity task scheduling module provided in this manual. Figure 5 As shown in the figure, there is a buffer inside the pipeline to cache data. The application can query and transmit events to the pipeline, and messages can be transmitted between the application and the pipeline through the bus.
[0059] The high-throughput computing engine module is responsible for executing complex computing tasks, especially large-scale data processing and real-time computing tasks. Through parallel computing and distributed computing frameworks, this module can significantly improve computing efficiency. The high-throughput computing engine module can automatically select the most appropriate computing resources according to the scale and complexity of the task, and quickly process and analyze data to meet the needs of real-time data processing and big data analysis.
[0060] When using the task processing system for the Tianji computing platform provided in this specification, the modular design enables the system to be flexibly configured and expanded according to different needs to adapt to various task scenarios. Among them, through the collaborative work of the time calibration module and the telemetry module, the system can maintain accurate time synchronization and monitor the device status in real time to ensure the stable operation of the system; the breakpoint resume module can recover from the breakpoint when the data transmission is interrupted to avoid data loss and enhance the fault tolerance of the system; through the collaboration of high-elastic task scheduling and high-throughput computing engine modules, the system can maintain high computing and data transmission efficiency when processing large-scale tasks.
[0061] The above is a task processing system for a space-based computing platform provided in this specification. Based on the same idea, this specification also provides a corresponding task processing method, such as Figure 6 shown.
[0062] Figure 6 This is a flowchart of a task processing method provided in this specification. The method is applied to the task processing system provided in this specification. The method specifically includes: S100: Initializing and starting each hardware of the onboard computer, and continuously monitoring the operating status of each hardware of the onboard computer; S102: In response to receiving a computing task, allocating heterogeneous resources to the computing task according to the task information and the running state of the computing task, and executing the computing task to obtain a computing result; S104: storing the calculation result in a system node of the task processing system, and / or transmitting the calculation result to a ground station.
[0063] The task processing method provided in this specification is a method corresponding to the task processing system provided in this specification. Its execution process has been described in detail in the task processing system and will not be repeated here.
[0064] In the task processing method provided in this specification, the workflow of the task processing system includes multiple stages such as startup, task execution, data transmission and system monitoring, and each module works together to ensure the successful completion of the task. The details are as follows: System startup phase: When the system starts, the drive system module completes the initialization and status check of the equipment to ensure that the hardware equipment is in a usable state. The modules of the transport layer begin to work together, the program-controlled communication module establishes a communication connection with external devices, the telemetry communication module begins to collect equipment status data, and the time calibration module synchronizes the system time to the international standard time (UTC).
[0065] System monitoring stage: The telemetry communication module continuously monitors the operating status of the equipment to ensure the normal operation of the equipment. If the equipment fails or is abnormal, the telemetry communication module will send feedback information to the management system in real time for processing and adjustment.
[0066] Data transmission stage: During the data processing process, the data transmission module is responsible for uploading the calculation results to the relevant storage device or system node in real time. If a network abnormality occurs, the breakpoint resume module ensures that the data can continue to be transmitted from the interruption point to avoid data loss.
[0067] Task execution phase: After the task execution begins, the highly flexible task scheduling module allocates resources and dynamically schedules tasks according to their priority and resource requirements to ensure that each task is completed on time. The high-throughput computing engine module performs complex calculations according to task requirements, supports parallel processing and distributed computing of tasks, and speeds up the computing process.
[0068] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 6 Provides task processing methods.
[0069] This manual also provides Figure 7 The schematic structure diagram of the electronic device shown in FIG. Figure 7 As mentioned above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 6 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0070] For the improvement of a technology, it can be clearly distinguished whether it is a hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or a software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0071] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.
[0072] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0073] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0074] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0075] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0076] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0077] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0078] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0079] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0080] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media 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 memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0081] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0082] It should be understood by those skilled in the art that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0083] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0084] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0085] The above description is only an embodiment of this specification and is not intended to limit this specification. For those skilled in the art, this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification should be included in the scope of the claims of this application.
Claims
1. A task processing system, characterized in that: The system is applied to a satellite-borne computer, and the system comprises: The system layer is used to manage and drive the heterogeneous resources of the onboard computer and monitor the operating status of each hardware of the onboard computer; The transmission layer at least includes a program-controlled communication module, a telemetry communication module, and a data transmission module; the program-controlled communication module is used to receive and send program-controlled instructions through program-controlled signals based on a program-controlled instruction protocol; the telemetry communication module is used to collect the operation data of the onboard computer based on a telemetry instruction protocol; the data transmission module is used to transmit the data inside the task processing system and the data between the onboard computer and external devices based on the data transmission protocol; wherein the program-controlled instruction protocol, the telemetry instruction protocol, and the data transmission protocol are unified into the same communication protocol and adopt the same data frame format; The service layer is used to call heterogeneous resources adapted to the computing task according to the task information of the computing task received by the onboard computer and the operating status of each hardware of the onboard computer; adjust the execution order of the computing task according to the task information, and use the heterogeneous resources adapted to the computing task to execute the computing task according to the execution order.
2. The system according to claim 1, characterized in that The system layer at least includes a drive system module; The drive system module is used to initialize and start the hardware of the onboard computer, detect and monitor the operating status of the hardware, and report when the hardware fails; Allocate heterogeneous resources to other modules included in the system.
3. The system according to claim 1, characterized in that The transmission layer also includes a time calibration module for periodically calibrating the time of the onboard computer.
4. The system according to claim 1, characterized in that The service layer at least includes a high-elasticity task scheduling module and a high-throughput computing engine module; The highly flexible task scheduling module is used to allocate adaptive heterogeneous resources to the computing tasks received by the onboard computer according to the operating status of each hardware of the onboard computer, system load, task information and available resources, and adjust the execution order of the computing tasks; The high-throughput computing engine module is used to execute the computing task through parallel computing and / or distributed computing.
5. The system according to claim 3, characterized in that The telemetry communication module is specifically used for: Receive telemetry information sent by external telemetry equipment; Assembling the telemetry information according to a preset telemetry instruction protocol to obtain a telemetry data frame; The telemetry data frames are sent to the payload processing unit of the onboard computer at a specified frequency, so that the payload processing unit sends the telemetry data frames to a ground station, so that the ground station parses the telemetry data.
6. The system according to claim 1, wherein: The data transmission module at least includes: a network transmission submodule; The network transmission submodule is used to receive a data transmission request communication frame sent by a data sender, and parse the data transmission request communication frame to obtain a data name, a first data size, and a number of data segments of the data to be received; Initializing a cache area and a memory area for receiving the to-be-received data according to the first data size; Returning confirmation information to the data sender, so that the data sender sends the data to be received; The to-be-received data is received.
7. The system according to claim 1, characterized in that The data transmission module at least includes a breakpoint-resume transmission submodule; The breakpoint-resume transmission submodule is used to divide the data to be transmitted into blocks according to the second data size of the data to be transmitted, obtain each block of data, and determine the identifier of each block of data; For each block of data, when the block of data is transmitted, an identifier of the block of data is written into a temporary file; If the block data transmission is successful, the temporary file is deleted; If the block data transmission fails, the identifier contained in the temporary file is read and sent to the data recipient, and the block data is retransmitted.
8. A task processing method, characterized in that: The method is applied to the task processing system according to any one of claims 1 to 7, and the method comprises: Initializing and starting each hardware of the onboard computer, and continuously monitoring the operating status of each hardware of the onboard computer; In response to receiving the computing task, allocating heterogeneous resources to the computing task according to the task information and the running state of the computing task, and executing the computing task to obtain a computing result; The calculation result is stored in a system node of the mission processing system, and / or the calculation result is transmitted to a ground station.
9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to claim 8 is implemented.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method according to claim 8 is implemented.
Citation Information
Patent Citations
Space-based resource virtualization management and control system based on micro-service agent
CN114510344A
Distributed stream computing engine
CN118113424A
Satellite-borne heterogeneous AI computer
CN118606028A
Processing platform and processing method of satellite-borne computing system
CN118631322A
Mobile multiprocessor-oriented deep learning model collaborative reasoning method
CN118966350A