Data transmission method and device, storage medium and program product
By implementing task scheduling and file update mechanisms on the airborne server, the problem of limited data communication between the ground and airborne services was solved, enabling efficient data transmission and stable video playback, thus improving the user experience of civil aviation cabin internet applications.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA SOUTHERN AIRLINES DIGITAL TECHNOLOGY (GUANGDONG) CO LTD
- Filing Date
- 2025-12-23
- Publication Date
- 2026-04-21
AI Technical Summary
In the context of internet applications in civil aviation cabins, the data communication between the ground and the airborne services is restricted, which leads to limitations in the data uplink phase. Relying on relevant service providers to release new versions is cumbersome and time-consuming, video playback is not smooth, and the network is unstable.
The airborne server obtains task instructions and file lists from the ground server through the task scheduling function, creates and executes scheduled tasks, updates the file versions of the airborne service, and realizes active data communication between the ground and the airborne service.
In a one-way network environment, the airborne server can autonomously perform ground tasks, directly obtain new version files, improve data communication efficiency, solve the problem of dependence on service providers, and ensure smooth video playback and network stability.
Smart Images

Figure CN121908236A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of satellite communication technology, and in particular to a data transmission method, device, storage medium, and program product. Background Technology
[0002] With the development of satellite communication technology, airborne satellite communication technology refers to the installation of satellite communication equipment in aircraft (such as airplanes) to enable communication between the aircraft and ground stations or other aircraft. This technology is crucial for ensuring real-time communication during flight, especially during transoceanic and remote area flights. Airborne satellite communication can provide a stable communication link, supporting air traffic control (ATC), passenger internet access, and the real-time transmission of various flight data.
[0003] However, in current practical applications of in-flight internet in civil aviation, restrictions have been placed on the data uplink phase of satellite communication due to risk considerations. This limits proactive data communication between the ground and onboard services. Therefore, enabling proactive data communication between the ground and onboard services has become a pressing technical problem to be solved. Summary of the Invention
[0004] This application provides a data transmission method, device, storage medium, and program product to solve the technical problem of limited data communication between ground-based active and airborne services.
[0005] To achieve the above objectives, this application adopts the following technical solution: Firstly, a data transmission method is provided, applied to an airborne server deployed on an aircraft. The method includes: obtaining a task instruction list from a ground server, the task instruction list including at least one task instruction, the ground server being deployed on a ground base station; creating at least one scheduling task corresponding to at least one task instruction, and adding each scheduling task to a task scheduling pool one by one, with one task instruction corresponding to one scheduling task; and executing each scheduling task in the task scheduling pool. or, Obtain a first file list from the ground server; download the files from the first file list; update the files in the second file list on the airborne server to the files in the first file list, wherein the version of the files in the first file list is the updated version of the files in the second file list; the files include at least one of the following: video, module package, image, core package, the core package is a file used for at least one of service startup, module package loading, and data caching, and the module package includes at least one of the following: instruction module, timer module, onboard interface module, process data interface (PDI) module, and component module.
[0006] In one possible implementation, the mission instruction includes at least one of the following parameters: aircraft identifier, mission type, and instruction parameters; the mission type includes at least one of the following: uploading a target file from an airborne server to a ground server, downloading a target file from a ground server to an airborne server, or performing interface testing on the airborne server.
[0007] In one possible implementation, when the task type is uploading a target file from an airborne server to a ground server, the instruction parameters include at least one of the following: the access mode of the target file, the directory where the target file is located, the regular expression used to match the target file, the upload path of the target file, and the maximum upload speed of the target file; or, when the task type is downloading a target file from a ground server to an airborne server, the instruction parameters include at least one of the following: the Uniform Resource Locator (URL) path of the target file, the storage path of the target file on the airborne server, and the decompression path of the target file; or, when the task type is performing interface testing on the airborne server, the instruction parameters include at least one of the following: class name, method name, and parameters, wherein the class name and method name are pre-configured.
[0008] In one possible implementation, obtaining a first file list from a ground server includes: obtaining a third file list, which includes all files stored on an airborne server; comparing the version information of files in the first file list with the version information of files in the third file list, and determining a second file list from the third file list.
[0009] In one possible implementation, downloading files from the first file list includes: downloading files from the first file list if the ground server allows downloading files from the first file list.
[0010] In one possible implementation, downloading files from the first file list when the ground server allows downloading files from the first file list includes: determining whether the ground server allows downloading files from the first file list and whether the network is abnormal at preset time intervals when the ground server does not allow downloading files from the first file list and / or when the network is abnormal; and downloading files from the first file list when the ground server allows downloading files from the first file list and the network is normal.
[0011] In one possible implementation, after updating the files in the second file list of the airborne server to the files in the first file list, the method further includes: triggering a system restart of the airborne server if the files include core packages; or, if the files include module packages, using a module loader to load the code of the updated module packages.
[0012] In one possible implementation, after executing each scheduled task in the task scheduling pool, the method further includes: sending the task execution result of each scheduled task in the task scheduling pool to the air-to-ground information transmission queue, and transmitting the task execution result in the air-to-ground information transmission queue to the ground server. The task execution result includes at least one of the following: indication information of successful task execution, indication information of task execution failure, and reason for task execution failure.
[0013] Secondly, a data transmission device is provided, applied to an airborne server deployed in an aircraft. The data transmission device includes: an acquisition unit and a processing unit; the acquisition unit is used to acquire a task instruction list from a ground server, the task instruction list including at least one task instruction, the ground server being deployed at a ground base station; the processing unit is used to create at least one scheduling task corresponding to at least one task instruction, and add each scheduling task to a task scheduling pool one by one, one task instruction corresponding to one scheduling task; the processing unit is also used to execute each scheduling task in the task scheduling pool; the acquisition unit is also used to acquire a first file list from the ground server; the processing unit is also used to download files from the first file list; the processing unit is also used to update files in a second file list in the airborne server to the files in the first file list, the version of the files in the first file list being the updated version of the files in the second file list; the files include at least one of the following: video, module package, image, core package, the core package being a file used for at least one of service startup, module package loading, and data caching, and the module package including at least one of the following: instruction module, timer module, onboard interface module, process data interface (PDI) module, and component module.
[0014] In one possible implementation, the mission instruction includes at least one of the following parameters: aircraft identifier, mission type, and instruction parameters; the mission type includes at least one of the following: uploading a target file from an airborne server to a ground server, downloading a target file from a ground server to an airborne server, or performing interface testing on the airborne server.
[0015] In one possible implementation, when the task type is uploading a target file from an airborne server to a ground server, the instruction parameters include at least one of the following: the access mode of the target file, the directory where the target file is located, the regular expression used to match the target file, the upload path of the target file, and the maximum upload speed of the target file; or, when the task type is downloading a target file from a ground server to an airborne server, the instruction parameters include at least one of the following: the Uniform Resource Locator (URL) path of the target file, the storage path of the target file on the airborne server, and the decompression path of the target file; or, when the task type is performing interface testing on the airborne server, the instruction parameters include at least one of the following: class name, method name, and parameters, wherein the class name and method name are pre-configured.
[0016] In one possible implementation, the acquisition unit is further configured to acquire a third file list, which includes all files stored on the airborne server. The processing unit is further configured to compare the version information of files in the first file list with the version information of files in the third file list, and determine a second file list from the third file list.
[0017] In one possible implementation, the processing unit is further configured to download files from the first file list if the ground server allows the downloading of files from the first file list.
[0018] In one possible implementation, the processing unit is further configured to determine, at preset time intervals, whether the ground server allows downloading files from the first file list and whether the network is abnormal, in cases where the ground server does not allow downloading files from the first file list and / or there is a network anomaly; the processing unit is further configured to download files from the first file list when the ground server allows downloading files from the first file list and the network is normal.
[0019] In one possible implementation, the processing unit is further configured to trigger a system restart of the onboard server if the file includes a core package; the processing unit is further configured to load the code of the updated module package using a module loader if the file includes a module package.
[0020] In one possible implementation, the data transmission device further includes: a sending unit; the sending unit is used to send the task execution result of each scheduled task in the task scheduling pool to the air-to-ground information transmission queue, and to transmit the task execution result in the air-to-ground information transmission queue to the ground server. The task execution result includes at least one of the following: indication information of successful task execution, indication information of task execution failure, and reason for task execution failure.
[0021] Thirdly, an electronic device includes a processor and a memory; wherein the memory stores one or more programs, the one or more programs including computer-executable instructions, and when the electronic device is running, the processor executes the computer-executable instructions stored in the memory to cause the electronic device to perform a data transmission method as described in the first aspect.
[0022] Fourthly, a computer-readable storage medium is provided for storing one or more programs, the one or more programs including instructions that, when executed by a computer, cause the computer to perform a data transmission method as described in the first aspect.
[0023] Fifthly, a computer program product is provided, wherein when computer instructions are executed on an electronic device, the electronic device performs a data transmission method as described in the first aspect.
[0024] This application provides a data transmission method, device, storage medium, and program product, applied in data transmission scenarios. When data transmission from the ground to the air is required, an airborne server deployed on an aircraft can obtain a list of task instructions, including at least one task instruction, from a ground server deployed at a ground base station. Further, the airborne server creates a scheduling task corresponding to each task instruction and adds each scheduling task to a task scheduling pool, then executes each scheduling task in the pool. That is, the airborne server's task scheduling function can schedule tasks from the ground for execution. Thus, in a unidirectional network scenario where requests can only be sent from the air to the ground server, the airborne server can be driven by the ground to execute relevant tasks, enabling proactive data communication between the ground and the airborne service.
[0025] When data transmission from the ground to the air is required, the airborne server can obtain a first file list from the ground server and download the files in the first file list. Furthermore, the airborne server can update the files in a second file list on the airborne server with the files in the first file list. That is, if the files are related to the air-to-ground interconnection airborne service, the airborne server can obtain the latest version of the files published by the ground server and then update the corresponding files on board with the new version. In this way, even in a one-way network where requests can only be sent from the air to the ground server, the airborne server can directly obtain and update the latest version of the air-to-ground interconnection airborne service published by the ground without relying on a specific service provider. This improves the efficiency of publishing new versions of the air-to-ground interconnection airborne service and enables proactive data communication between the ground and the airborne service. Attached Figure Description
[0026] Figure 1 A schematic diagram of the structure of a data transmission system provided for an embodiment of this application; Figure 2A flowchart illustrating a data transmission method provided for embodiments of this application. Figure 1 ; Figure 3 A flowchart illustrating a data transmission method provided for embodiments of this application. Figure 2 ; Figure 4 A flowchart illustrating a data transmission method provided for embodiments of this application. Figure 3 ; Figure 5 A flowchart illustrating a data transmission method provided for embodiments of this application. Figure 4 ; Figure 6 A flowchart illustrating a data transmission method provided for embodiments of this application. Figure 5 ; Figure 7 A flowchart illustrating a data transmission method provided for embodiments of this application. Figure 6 ; Figure 8 A schematic flowchart of an airborne service scheduler provided for an embodiment of this application; Figure 9 A schematic flowchart of a ground service scheduler provided for an embodiment of this application; Figure 10 A schematic diagram of a data transmission device provided for an embodiment of this application; Figure 11 This is a schematic diagram of the structure of an electronic device provided as an embodiment of this application. Detailed Implementation
[0027] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.
[0028] In the description of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" and "multiple" refer to two or more. The terms "first," "second," etc., do not limit the quantity or order of execution, and "first," "second," etc., do not necessarily imply differences.
[0029] Airborne satellite communication technology refers to the installation of satellite communication equipment in aircraft to enable communication between the aircraft and ground stations or other aircraft. This technology is crucial for ensuring real-time communication during flight, especially during transoceanic and remote area flights. Airborne satellite communication can provide a stable communication link, supporting air traffic control (ATC), passenger internet access, and the real-time transmission of various flight data.
[0030] Traditional satellite communication technologies utilize Very High Frequency (VHF), Satellite Communication (SATCOM), High Frequency (HF), and Secondary Surveillance Radar (SSR) to achieve data transmission between aircraft and ground systems. With the continuous development of the internet, traditional air-to-ground satellite communication technologies have significant shortcomings in bandwidth capacity, application range, and frequency band stability. Along with the evolution and development of satellite communication technology, new technologies employing multi-beam antennas and polarization multiplexing can now meet passengers' demands for seamless global connectivity anytime, anywhere.
[0031] Currently, the user link for in-flight internet in civil aviation mainly relies on satellite communication technology, employing a layered design of the Internet Protocol (IP), which theoretically supports bidirectional data transmission. However, in actual civil aviation in-flight internet application scenarios, due to risk considerations, restrictions have been placed on the data uplink phase of satellite communication. Furthermore, with the onboard data transmission network being a one-way communication network from the aircraft to the ground server, it is only possible to rely on relevant service providers to release new versions of air-to-ground interconnection onboard services, resulting in a cumbersome and time-consuming process. Additionally, it relies solely on relevant service providers to locate the aircraft, and watching internal video resources onboard consumes significant bandwidth, with network instability causing video playback to be choppy.
[0032] Therefore, in order to enable proactive data communication between ground and airborne services, a solution is needed that complies with existing safety measures while simultaneously enabling proactive data interaction between the ground and the air.
[0033] To address the aforementioned issues, this application provides a data transmission method, which can also be referred to as an event-driven downlink data transmission method. Specifically, it refers to a method that combines satellite links and airline internal networks to upload and update ground-based data or applications to an airborne server in real time. The airborne server's task scheduling function schedules tasks from the ground for execution. Thus, in a unidirectional network scenario where requests can only be sent from the air to the ground server, the ground can drive the airborne server to execute relevant tasks, enabling proactive data communication between the ground and the airborne service.
[0034] Furthermore, the airborne server retrieves the latest version of the file published by the ground server and then updates the corresponding file on board with the new version. In this way, even in a one-way network where requests can only be sent from the air to the ground server, the system can directly obtain and update the latest version of the air-to-ground interconnection airborne service without relying on a specific service provider. This improves the efficiency of publishing new versions of the air-to-ground interconnection airborne service and enables proactive data communication between the ground and the airborne service.
[0035] The data transmission method provided in this application embodiment can be applied to data transmission systems. Figure 1 This is a schematic diagram of a data transmission system provided as an embodiment of this application. Figure 1 As shown, the data transmission system includes an aircraft 11 and a ground base station 12. The aircraft 11 and the ground base station 12 can be connected via a wired or wireless connection; this embodiment of the invention does not limit the connection. The aircraft 11 includes an onboard server, and the ground base station 12 also includes an onboard server.
[0036] The airborne server in aircraft 11 is used to obtain a list of task instructions, including at least one task instruction, from the ground server in ground base station 12, create a scheduling task corresponding to each task instruction, add each scheduling task to the task scheduling pool one by one, and execute each scheduling task in the task scheduling pool to realize data communication between the ground and the airborne service.
[0037] The airborne server in aircraft 11 is also used to obtain a first file list from the ground server of ground base station 12, download files from the first file list, and update files in the second file list in the airborne server to the files in the first file list, so as to realize data communication between the ground and the airborne service.
[0038] An aircraft (or simply an aircraft) is a machine capable of flight, relying on aerodynamic principles to achieve takeoff, propulsion, and control. Examples include fixed-wing aircraft, helicopters, drones, passenger planes, gliders, and hot air balloons.
[0039] Ground base station 12 is a base station (BS) in a mobile communication network, such as a cell tower or cellular base station. They are responsible for transmitting and receiving wireless signals, connecting user equipment to the core network. Base stations can be base stations in LTE, Long Term Evolution Advanced (LTEA), or Evolutionary Node B (eNB or eNodeB), base station equipment (gNB) in 5G networks, or base stations in future communication systems. Base stations can include various macro base stations, micro base stations, femtocell base stations, wireless remote extensions, reconfigurable intelligent surfaces (RISS), routers, relay stations, transmission and reception points (TRPs), receivers, access points, wireless fidelity (WIFI) devices, and other network-side equipment. Base stations can sometimes also be referred to as readers / writers used for communication with terminals.
[0040] The following description, in conjunction with the accompanying drawings, illustrates a data transmission method provided by an embodiment of this application. Figure 2 As shown in the embodiment of this application, a data transmission method is provided and applied to an airborne server, which is deployed in an aircraft. The method includes steps S201-S203, or steps S204-S205: S201. Obtain the list of task instructions from the ground server.
[0041] The mission instruction list includes at least one mission instruction, and the ground server is deployed at a ground base station. The airborne server can also be called an airborne service scheduler or scheduler, etc. The ground server can also be called a ground service scheduler, etc. The airborne server is a server that provides airborne services, which can be air-to-ground interconnected airborne services, i.e., services between the air and the ground.
[0042] Optionally, when ground-based active data communication with airborne services is required, the administrator can first add files that need to be cached on the aircraft and / or mission instructions for a specific aircraft to the ground server through a user interface (UI) / application programming interface (API). This data will be cached before the aircraft's airborne server connects to the network of the ground server.
[0043] Optionally, once the airborne service is started, the airborne service scheduler begins to work. After the aircraft's network is connected to the ground server, the airborne service scheduler periodically obtains the list of task instructions set by the ground server for the current aircraft.
[0044] S202. Create at least one scheduled task corresponding to at least one task instruction, and add each scheduled task to the task scheduling pool one by one.
[0045] One task instruction corresponds to one scheduling task.
[0046] S203. Execute each scheduled task in the task scheduling pool.
[0047] Optionally, the airborne service scheduler obtains the task instruction list, parses each task instruction in the list, creates a corresponding scheduling task for each task instruction, and adds the scheduling tasks one by one to the task scheduling pool. Each scheduling task in the task scheduling pool is executed asynchronously. This achieves the effect of executing related operations from a program on the ground-based actuator even in a unidirectional network environment where requests can only be sent from the aircraft to the ground server.
[0048] Optionally, if the mission instruction received by the airborne service scheduler indicates that resources should be downloaded from the ground server to the airborne server, the airborne service scheduler first determines whether the resource exists. If the resource does not exist, it returns the corresponding error code to the ground server. Further, it determines whether the number of aircraft currently downloading resources exceeds a limit; if so, it returns the corresponding error code. If the above download conditions are met, the resource is transmitted to the airborne server at the specified download speed.
[0049] S204. Obtain the first file list from the ground server.
[0050] S205. Download the files from the first file list.
[0051] The files include at least one of the following: video, module package, image, core package. The core package is a file used for at least one of the following: service startup, module package loading, and data caching. The module package includes at least one of the following: instruction module, timer module, on-board interface module, process driven interface (PDI) interface module, and component module.
[0052] The file can also be called a file resource, resource, or code package, etc. The file is related to the airborne service of air-to-ground interconnection.
[0053] In other words, the relevant files for the air-to-ground connectivity airborne service are divided into two parts: core packages and module packages. The core package is the core module of the air-to-ground connectivity airborne service architecture, mainly responsible for service startup, module package loading, and data caching. The module packages are independent packages, and the modules are not related to each other.
[0054] The instruction module is used for parsing and processing mission instructions. The timer module executes timed tasks, such as periodically querying the status of the aircraft's Passenger Address System (PA). The onboard interface module's interface data comes from the aircraft's cached data. The process data interface module is used to forward PDI interface requests to the ground server. The component module is used to extend resource update and routing forwarding components.
[0055] Optionally, when a new version update is required, developers can package the air-to-ground connectivity airborne service code, which the administrator can then upload to a designated directory on the ground server. This completes the operation. Further, the ground service automatically compresses and encrypts the air-to-ground connectivity airborne service code package and updates the resource version number. Further, once the airborne service starts, the airborne service scheduler begins operation. After the aircraft's network connects to the ground server, the airborne service scheduler periodically retrieves resource version information published by the ground server, i.e., retrieves the air-to-ground connectivity airborne service code package from the designated directory. When the airborne service scheduler detects an update to the resource version on the ground server (i.e., the air-to-ground connectivity airborne service code package exists in the designated directory), it notifies the resource update processor to update the resources. The resource update processor retrieves and downloads the new version file (i.e., the file in the first file list).
[0056] Optionally, when downloading a new version of a file, the resource update processor can download the new version to a temporary directory (also known as a temporary folder). After all files have been downloaded, the files are then copied / unzipped to a specified directory (also known as a specified folder or specified path) according to rules. This avoids the problems of excessive data usage and unstable network connections causing choppy video playback when watching internal video resources on aircraft.
[0057] S206. Update the files in the second file list of the airborne server to the files in the first file list.
[0058] In this context, the versions of the files in the first file list are the updated versions of the files in the second file list. That is, the first file list includes files stored on the ground server that have undergone version updates.
[0059] Optionally, after downloading the new version of the file, the resource update processor can update the files that need to be updated (i.e., the files in the second file list) to the new version. In this way, even in a one-way network where requests can only be sent from the air to the ground server, the new version of the air-to-ground interconnection airborne service can be obtained directly from the ground without relying on a specific service provider, and the version of the air-to-ground interconnection airborne service can be updated. This improves the efficiency of publishing new versions of the air-to-ground interconnection airborne service and enables proactive data communication between the ground and the airborne service.
[0060] For example, if the first file list includes Video 1 and Image 2, with Video 1 having version number V1.2 and Image 2 having version number V2.2, and the second file list includes Video 1 and Image 2, with Video 1 having version number V1.1 and Image 2 having version number V2.1, then the updated second file list will have Video 1 having version number V1.2 and Image 2 having version number V2.2.
[0061] In one possible implementation, the mission command includes at least one of the following parameters: aircraft identifier, mission type, and command parameters. The mission type includes at least one of the following: uploading a target file from the airborne server to the ground server, downloading a target file from the ground server to the airborne server, or performing interface testing on the airborne server.
[0062] Optionally, the data format of the task instruction can be JSON, specifically: {"tailNum":"tail number", "task":"instruction name", "params":instruction parameters (JSON format)}, where the tail number can also be referred to as the aircraft identifier, and the instruction name can also be referred to as the task type.
[0063] Task types can be: fileUpload: Uploads files from the aircraft to a ground server, i.e., uploads the target file from the onboard server to the ground server; fileDownload: Downloads resource files from the ground to the aircraft, that is, downloads target files from the ground server to the onboard server; apiTest: Primarily used for on-board testing, i.e., performing interface testing on onboard servers, such as querying onboard Enterprise Service Bus Interface Data (ESB) interface data and adding test data.
[0064] In other words, the airborne server can execute the scheduling task corresponding to the acquired task instruction based on the parameters in the task instruction. Based on the aircraft's identifier, the airborne server can determine whether the scheduling task is required for its own aircraft. Based on the task type, the airborne server can determine the type of scheduling task, such as uploading a target file from the airborne server to the ground server, downloading a target file from the ground server to the airborne server, or performing interface testing on the airborne server. Based on the instruction parameters, the airborne server can determine the specific parameters for executing the scheduling task.
[0065] In one possible implementation, when the task type is to upload a target file from an airborne server to a ground server, the instruction parameters include at least one of the following: the access mode of the target file, the file directory where the target file is located, the regular expression used to match the target file, the upload path of the target file, and the maximum upload speed of the target file.
[0066] In other words, based on the above instruction parameters, a task of uploading a target file from an airborne server to a ground server can be executed.
[0067] For example, taking the acquisition of the aircraft's onboard service logs (i.e., the target file) from June 2025 as an example, the administrator creates a task instruction through ground services. The specific data of the task instruction (i.e., the instruction data) is as follows: {"tailNum":"R-91429","task":"fileUpload","params":{"mode":"1","rgx":".*?2025-06.*?\\.log","folder":" / opt / csair / logs / ","filePath":"","maxLen":"102400"}}.
[0068] The command used here is named fileUpload, and the params field contains its parameters, which are explained below: mode: The mode (i.e., the access mode of the target file). 0, the default, uploads the specified file; 1, uploads the file matched by the regular expression.
[0069] folder: The directory where the uploaded file is located (i.e., the directory where the target file is located). This parameter is invalid if the mode value is 0.
[0070] rgx: The regular expression used to match filenames (i.e., the regular expression used to match target files).
[0071] filePath: The absolute path of the file (i.e., the upload path of the target file). This parameter is invalid if the mode value is 1.
[0072] maxLen: Maximum upload speed (i.e., the maximum upload speed of the target file). Unit: bytes, 1kb = 1024 bytes.
[0073] In one possible implementation, when the task type is to download a target file from a ground server to an airborne server, the instruction parameters include at least one of the following: the Uniform Resource Locator (URL) path of the target file, the storage path of the target file on the airborne server, and the decompression path of the target file.
[0074] In other words, based on the above instruction parameters, a task of downloading a target file from a ground server to an airborne server can be executed.
[0075] For example, taking updating a configuration file (i.e., the target file) on the machine as an example, the administrator creates a task instruction through the ground server. The specific data of this task instruction is as follows: {"tailNum":"R-91429","task":"fileDownload","params":{"savePath":" / opt / csair / config / xxx","extraceFolder":"","fileUrl":"http: / / xxx / xxx.config"}}.
[0076] The command used here is named fileDownload, and the params field contains its parameters, which are explained below: fileUrl: The URL path of the file to be downloaded (i.e., the URL path of the target file).
[0077] savePath: The storage path of the file on the aircraft server (i.e., the storage path of the target file on the airborne server).
[0078] extraceFolder: File extraction path (i.e., the extraction path of the target file). If this parameter is empty, the file will not be extracted.
[0079] In one possible implementation, when the task type is to perform interface testing on an airborne server, the instruction parameters include at least one of the following: class name, method name, and parameters, wherein the class name and method name are pre-configured.
[0080] In other words, based on the above instruction parameters, a task of interface testing of the airborne server can be executed.
[0081] For example, taking the query of the ESB interface to obtain the current aircraft's navigation data as an example, the administrator creates a task instruction through ground services. The specific data of this task instruction is as follows: {"tailNum":"R-91429","task":"apiTest","params":{"method":"navxx","params":{"p1":"xxx","p2":xxx},"class":"EsbApixx"}}.
[0082] The command used here is named apiTest, and the params field contains its parameters, which are explained below: class: Class name, set by the developer in a custom annotation.
[0083] method: The method name, set by the developer in a custom annotation.
[0084] params: Parameters (JSON data).
[0085] In a design, such as Figure 3 As shown in the embodiment of this application, a data transmission method is provided. The method in step S204 above specifically includes S301-S302: S301. Obtain a third file list, which includes all files stored on the airborne server.
[0086] S302. Compare the version information of the files in the first file list with the version information of the files in the third file list, and determine the second file list from the third file list.
[0087] In other words, when the airborne service scheduler discovers that the resource version of the ground server has been updated and notifies the resource update processor to update the resources, the resource update processor first compares the version of the file on the airborne server (i.e., the file in the third file list) with the version of the file on the ground server (i.e., the file in the first file list), and then finds the file that needs to be downloaded and updated from the files on the airborne server (i.e., the second file list).
[0088] For example, if the first file list includes Video 1 and Image 2, with Video 1 having version number V1.2 and Image 2 having version number V2.2, and the third file list includes Video 1, Image 1, and Image 2, with Video 1 having version number V1.1, Image 1 having version number V2.1, and Image 2 having version number V2.1, then the second file list includes Video 1 and Image 2 from the third file list.
[0089] In a design, such as Figure 4 As shown in the embodiment of this application, a data transmission method is provided. The method in step S205 above specifically includes S401: S401. If the ground server allows the download of files in the first file list, download the files in the first file list.
[0090] In other words, after the resource update processor learns that a file needs updating, it attempts to download the file from the first file list, determines whether the ground server allows the download, and if so, downloads and updates the file. This is because if multiple aircraft update resources simultaneously, it could saturate bandwidth, so the ground server limits the number of aircraft connections and download speed.
[0091] In a design, such as Figure 5 As shown in the embodiment of this application, a data transmission method is provided, and the method in step S401 above specifically includes S501-S502: S501. In the event that the ground server does not allow the download of files in the first file list and / or the network is abnormal, determine at preset time intervals whether the ground server allows the download of files in the first file list and whether the network is abnormal.
[0092] S502. If the ground server allows downloading files from the first file list and the network is normal, download the files from the first file list.
[0093] In other words, if the ground server does not allow downloading or there is a network error, the download will be retried after a specified time interval (i.e., a preset time period) until the ground server allows downloading again.
[0094] In a design, such as Figure 6 As shown, the data transmission method provided in this application embodiment further includes S601 or S602 after the above step S206: S601. If the file includes a core package, trigger a system restart of the airborne server.
[0095] In other words, after the file resources are updated, the onboard server can determine whether the update includes core program packages and module packages. If it includes core program packages, the container (i.e., the system) is restarted to complete the major version update.
[0096] S602. If the file includes a module package, use the module loader to load the code of the updated module package.
[0097] If only module packages are included, the module loader is used to load the new module package code to complete a minor version update (enabling dynamic addition, modification, and deletion of task instructions, etc.).
[0098] If the updated resource package does not contain the core package and module package, no action will be taken.
[0099] In a design, such as Figure 7 As shown, the data transmission method provided in this application embodiment further includes step S701 after step S203: S701. Send the task execution results of each scheduled task in the task scheduling pool to the air-to-ground information transmission queue, and transmit the task execution results in the air-to-ground information transmission queue to the ground server.
[0100] The task execution result includes at least one of the following: indication information for successful task execution, indication information for task failure, and the reason for task failure.
[0101] In other words, after the scheduling task is completed, the task processing result (i.e., the task execution result) is written to the log and sent to the air-to-ground information transmission queue, from which the air-to-ground information transmission queue transmits the task processing result to the ground server.
[0102] The overall architecture of this application combines a modular structure with a task scheduling pool and a resource caching scheme. The following uses an aircraft as an example to introduce the data transmission method provided by the embodiments of this application with specific flowcharts. Figure 8 This is a flowchart of the airborne service scheduler, divided into two parts: task scheduling and resource updates. Figure 8 This corresponds to the air-to-ground connectivity service on the aircraft.
[0103] After the onboard services are started, the scheduler begins operation. Once the aircraft network is connected to the ground server, the scheduler periodically retrieves the list of instructions and resource version information set for the current aircraft by the ground. That is, the scheduler obtains data from the ground server and performs data decoding and parsing.
[0104] 1. If a task instruction list exists, the scheduler parses the task instructions (i.e., the scheduler parses the task type and task parameters), creates a scheduled task (i.e., creates a scheduled task based on the task type), and adds the scheduled tasks to the task scheduling pool one by one. The scheduled tasks are executed asynchronously. After execution, the task processing result is written to a log and sent to the air-to-ground information transmission queue, which then transmits the task processing result to the ground server. That is, if the scheduled task executes successfully, the task processing result is added to the air-to-ground information transmission queue; if the scheduled task fails, and retrying a specified number of times still fails, the reason for the failure is added to the air-to-ground information transmission queue. Furthermore, air-to-ground information is transmitted periodically; if transmission fails, it is retransmitted after a specified time until successful.
[0105] Currently, the task scheduling function can perform onboard API interface testing, package onboard logs and send them to the ground, and download ground files to the aircraft. Because of its modular design, instruction programs can be dynamically added, modified, and deleted.
[0106] This functional module solves the problem that positioning can only rely on relevant service providers, and enables the program on the ground drive to perform relevant operations in the case of a one-way network where requests can only be sent from the aircraft to the ground server.
[0107] 2. If new file resources need to be updated (such as videos, module packages, images, etc.), the scheduler notifies the resource update processor to update the resources. The resource update processor obtains the files that need to be updated (i.e., it obtains a list of resource files that need to be updated from the ground server, compares it with the onboard file information data, and attempts to download the latest files (because multiple aircraft updating resources simultaneously may cause bandwidth exhaustion, the ground service will limit the number of aircraft connections and download speed), that is, it initiates a resource download request to the ground server. If the ground service allows the download, the file is downloaded and updated. If the ground service does not allow the download, the download is retried after a specified time interval (i.e., if there is a network error or the download is rejected by the ground server, the download request is re-initiated at the next task time). The file is first stored in a temporary folder (i.e., the file is downloaded to a temporary directory (with interrupted downloads), and after the download is complete, the file is compared with the Message-Digest Algorithm 5 (MD5) (i.e., the decrypted file is compared). If the comparison fails, the file is deleted and downloaded again). After all resources have been downloaded, the ground server is notified that the file download is complete, and the file is moved from the temporary folder to the designated folder (i.e., the file is moved from the temporary directory to the designated directory, completing the resource file update).
[0108] After the file resources are updated, it is determined whether the update includes core packages and module packages. If core packages are included, the container is restarted to complete the major version update. If only module packages are included, the module loader is used to load the new module package code to complete the minor version update (dynamic addition, modification, and deletion of tasks are implemented here).
[0109] This functional module effectively addresses two issues: the cumbersome and time-consuming process of releasing new versions of the air-to-ground interconnection airborne service, which can only rely on relevant service providers; and the high data consumption and unstable network conditions that cause video playback to be choppy when watching internal video resources on the aircraft.
[0110] Figure 9 The flowchart for the ground service scheduler is divided into two parts: task queue and resource download.
[0111] First, the administrator adds resources that need to be cached on the aircraft / mission instructions for a specific aircraft to the ground server via the UI / API interface. This data is cached before the aircraft and the ground server establish a network connection.
[0112] After the aircraft network connects with the ground server, the onboard dispatcher initiates a request to obtain the list of instructions and resource version information set by the ground for the current aircraft. In other words, the ground service dispatcher receives the data from the aircraft and performs data decoding and parsing.
[0113] 1. Check the cached data for the corresponding mission instructions (i.e., mission queue). If the mission instructions exist, return them to the onboard scheduler. That is, query the cached data for the mission queue corresponding to the aircraft's tail number and return the mission queue data to the onboard service scheduler.
[0114] 2. For resource downloads, the resource download manager parses the resource path and starting location to be downloaded. First, it checks if the resource exists (i.e., checks if the resource exists). If the resource does not exist, it returns the corresponding error code (i.e., notifies the onboard scheduling server that the resource does not exist and skips the download). Next, it checks if the number of aircraft currently downloading the resource exceeds the limit (i.e., checks if the number of current download connections exceeds the limit). If the limit is exceeded, it returns the corresponding error code (i.e., notifies the onboard scheduling server that the download is rejected and will try again after a specified time interval). When the download conditions are met, the resource is transferred to the aircraft at the specified download speed (i.e., the resource file is read and transferred to the onboard scheduling server at the specified download speed).
[0115] The following section uses an aircraft as an example, and combines airborne and ground-based interconnected services to introduce the specific process of instruction-driven and version update of the data transmission method provided in this application through specific embodiments.
[0116] Example 1: Taking the acquisition of aircraft onboard service logs from June 2025 as an example, the administrator creates a task instruction through ground services. The specific data of this task instruction is as follows: {"tailNum":"R-91429","task":"fileUpload","params":{"mode":"1","rgx":".*?2025-06.*?\\.log","folder":" / opt / csair / logs / ","filePath":"","maxLen":"102400"}}.
[0117] The command used here is named fileUpload, and the params field contains its parameters, which are explained below: mode: The pattern. 0, the default, uploads the specified file; 1, uploads the file matched by the regular expression.
[0118] folder: The directory where the uploaded file is located. This parameter is invalid if the mode value is 0.
[0119] rgx: A regular expression used to match filenames.
[0120] filePath: The absolute path to the file. This parameter is invalid if the mode value is 1.
[0121] maxLen: Maximum upload speed. Unit: bytes, 1kb = 1024 bytes.
[0122] Once the administrator creates a task instruction on the ground server, the operation is complete. The ground server will automatically encrypt the specific data of the task instruction and cache it in the task instruction list, waiting for the aircraft with the specified tail number to retrieve it.
[0123] After takeoff, the aircraft with tail number R-91429 connected to the ground server network. The airborne service scheduler retrieved the specific data of this mission instruction from the mission instruction list on the ground server.
[0124] The airborne service decrypts the specific data of this mission instruction, parses out the instruction name and instruction parameters, and then creates a corresponding scheduling task based on the instruction name and adds the scheduling task to the task scheduling pool.
[0125] When it's the task's turn to run, the task compresses the log files from June 2025 in the ` / opt / csair / logs / ` directory according to the command parameters, and then uploads the files at the set maximum upload speed. After the file transfer is complete, the task sends the execution result to the air-to-ground information transmission queue, which then transmits the task processing result to the ground server. The task then destroys itself.
[0126] Example 2: Taking updating a configuration file on the machine as an example, the administrator creates a task instruction through the ground server. The specific data of this task instruction is as follows: {"tailNum":"R-91429","task":"fileDownload","params":{"savePath":" / opt / csair / config / xxx","extraceFolder":"","fileUrl":"http: / / xxx / xxx.config"}}.
[0127] The command used here is named fileDownload, and the params field contains its parameters, which are explained below: fileUrl: The URL path of the file to be downloaded.
[0128] savePath: The storage path of the file on the aircraft server.
[0129] extraceFolder: File extraction path. If this parameter is empty, the file will not be extracted.
[0130] Once the administrator creates a task instruction on the ground server, the operation is complete. The ground server will automatically encrypt the specific data of the task instruction and cache it in the task instruction list, waiting for the aircraft with the specified tail number to retrieve it.
[0131] After takeoff, the aircraft with tail number R-91429 connected to the ground server network. The airborne service scheduler retrieved the specific data of this mission instruction from the mission instruction list on the ground server.
[0132] The airborne service decrypts the specific data of this mission instruction, parses out the instruction name and instruction parameters, and then creates a corresponding scheduling task based on the instruction name and adds the scheduling task to the task scheduling pool.
[0133] When it's the task's turn to run, the task downloads the file http: / / xxx / xxx.config to a temporary directory according to the command parameters. After downloading, if the extraceFolder parameter is empty, the file is copied to the specified path; otherwise, the file is unzipped to the directory corresponding to extraceFolder. After completing the operation, the task sends the execution result to the air-to-ground information transmission queue, which then transmits the result to the ground server. The task then destroys itself.
[0134] Example 3: Taking querying the ESB interface to obtain the current aircraft's navigation data as an example, the administrator creates a task command through ground services. The specific data of this task command is as follows: {"tailNum":"R-91429","task":"apiTest","params":{"method":"navxx","params":{"p1":"xxx","p2":xxx},"class":"EsbApixx"}}.
[0135] The command used here is named apiTest, and the params field contains its parameters, which are explained below: class: Class name, set by the developer in a custom annotation.
[0136] method: The method name, set by the developer in a custom annotation.
[0137] params: Parameters (JSON data).
[0138] Once the administrator creates a task instruction on the ground server, the operation is complete. The ground server will automatically encrypt the specific data of the task instruction and cache it in the task instruction list, waiting for the aircraft with the specified tail number to retrieve it.
[0139] After takeoff, the aircraft with tail number R-91429 connected to the ground server network. The airborne service scheduler retrieved the specific data of this task instruction from the task instruction list on the ground server.
[0140] The airborne service decrypts the specific data of this mission instruction, parses out the instruction name and instruction parameters, and then creates a corresponding scheduling task based on the instruction name and adds the scheduling task to the task scheduling pool.
[0141] When it is the task's turn to run, the task calls the code marked with custom annotations implemented by the developers, according to the instruction parameters. It then calls the ESB interface, retrieves the interface data, and sends it to the air-to-ground information transmission queue. This queue then transmits the task processing results to the ground server. The task subsequently destroys itself.
[0142] Example 4: Version Update.
[0143] When a new version update is needed, the developers package the air-to-ground interconnection airborne service code, and the administrator uploads the air-to-ground interconnection airborne service code package to the designated directory of the ground server, thus completing the operation.
[0144] The ground server automatically compresses and encrypts the airborne service code package for air-to-ground connectivity and updates the resource version number.
[0145] Once the airborne server connects to the ground server network, it detects that the resource version on the ground server has been updated and notifies the resource update processor to update the resources.
[0146] The resource update processor first compares the file differences between the onboard and ground servers to find the files that need to be downloaded and updated. Then, it downloads the files to a temporary directory. After all files have been downloaded, it copies / uncompresses the files to the specified directory according to the rules.
[0147] If the updated files contain core packages, the container will restart, completing the major version update.
[0148] If the updated files only contain module packages, then the module loader is used to load the new module package code to complete the minor version update.
[0149] If the updated resource package does not contain the core package and module package, no action will be taken.
[0150] The above embodiments address the problems of air-to-ground interconnection airborne services, where new version releases rely solely on service providers due to the unidirectional communication network from the aircraft to the ground server. These problems include cumbersome and time-consuming processes, reliance on service providers for problem identification, high bandwidth consumption when viewing internal video resources onboard, and network instability leading to choppy video playback. This invention provides an event-driven downlink data transmission method. Compared to related technologies, the advantages of this application are: reducing reliance on service providers by 90% in the new version release process, significantly improving release efficiency and reducing release time; enabling automatic log acquisition for problem identification and timely repair; and caching ground resources onboard, reducing network bandwidth consumption and improving user experience.
[0151] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, it includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0152] This application embodiment can divide a data transmission method into functional modules based on the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. Optionally, the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0153] Figure 10 This is a schematic diagram of a data transmission device provided in an embodiment of this application. Figure 10 As shown, a data transmission device 110 is used to enable active data communication between the ground and airborne services, for example, to perform... Figure 2 The data transmission device 110 is shown to be a data transmission method. The data transmission device 110 includes an acquisition unit 1101 and a processing unit 1102.
[0154] The acquisition unit 1101 is used to acquire a task instruction list from a ground server, the task instruction list including at least one task instruction, the ground server being deployed at a ground base station; the processing unit 1102 is used to create at least one scheduling task corresponding to at least one task instruction, and add each scheduling task to a task scheduling pool one by one, one task instruction corresponding to one scheduling task; the processing unit 1102 is also used to execute each scheduling task in the task scheduling pool; the acquisition unit 1101 is also used to acquire a first file list from the ground server; the processing unit 1102 is also used to download files from the first file list; the processing unit 1102 is also used to update the files in the second file list in the airborne server to the files in the first file list, the version of the files in the first file list being the updated version of the files in the second file list; the files include at least one of the following: video, module package, image, core package, the core package being a file used for at least one of service startup, module package loading, and data caching, the module package including at least one of the following: instruction module, timer module, onboard interface module, process data interface (PDI) module, component module.
[0155] In one possible implementation, the acquisition unit 1101 is further configured to acquire a third file list, which includes all files stored on the airborne server. The processing unit 1102 is further configured to compare the version information of files in the first file list with the version information of files in the third file list, and determine a second file list from the third file list.
[0156] In one possible implementation, the processing unit 1102 is further configured to download files from the first file list if the ground server allows the downloading of files from the first file list.
[0157] In one possible implementation, the processing unit 1102 is further configured to determine, at preset time intervals, whether the ground server allows downloading files from the first file list and whether the network is abnormal, in the event that the ground server does not allow downloading files from the first file list and / or the network is abnormal; the processing unit 1102 is further configured to download files from the first file list when the ground server allows downloading files from the first file list and the network is normal.
[0158] In one possible implementation, the processing unit 1102 is further configured to trigger a system restart of the airborne server if the file includes a core package; the processing unit 1102 is further configured to load the code of the updated module package using a module loader if the file includes a module package.
[0159] In one possible implementation, the data transmission device 110 further includes: a sending unit 1103; the sending unit 1103 is used to send the task execution result of each scheduled task in the task scheduling pool to the air-to-ground information transmission queue, and to transmit the task execution result in the air-to-ground information transmission queue to the ground server. The task execution result includes at least one of the following: indication information of successful task execution, indication information of task failure, and reason for task failure.
[0160] In the case where the functions of the integrated modules described above are implemented in hardware, this application provides a possible structural schematic diagram of the electronic device involved in the above embodiments. For example... Figure 11 As shown, an electronic device 120 is used to reduce the power consumption of a multi-mode terminal, for example, for performing... Figure 2 The diagram illustrates a data transmission method. The electronic device 120 includes a processor 1201, a memory 1202, and a bus 1203. The processor 1201 and the memory 1202 can be connected via the bus 1203.
[0161] Processor 1201 is the control center of the communication device. It can be a single processor or a collective term for multiple processing elements. For example, processor 1201 can be a general-purpose central processing unit (CPU) or other general-purpose processors. The general-purpose processor can be a microprocessor or any conventional processor.
[0162] As one embodiment, processor 1201 may include one or more CPUs, for example Figure 11 CPU 0 and CPU 1 are shown in the diagram.
[0163] The memory 1202 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0164] As one possible implementation, the memory 1202 can exist independently of the processor 1201. The memory 1202 can be connected to the processor 1201 via the bus 1203 and is used to store instructions or program code. When the processor 1201 calls and executes the instructions or program code stored in the memory 1202, it can implement a data transmission method provided in the embodiments of this application.
[0165] In another possible implementation, the memory 1202 can also be integrated with the processor 1201.
[0166] Bus 1203 can be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, or an extended industry standard architecture (EISA) bus. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 11 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0167] It should be pointed out that, Figure 11 The structure shown does not constitute a limitation on the electronic device 120. Except... Figure 11 In addition to the components shown, the electronic device 120 may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.
[0168] As an example, combined Figure 10 The functions implemented by the acquisition unit 1101, processing unit 1102, and sending unit 1103 in the data transmission device 110 are the same as those of the acquisition unit 1101, processing unit 1102, and sending unit 1103. Figure 11 The processor 1201 in it has the same function.
[0169] Optional, such as Figure 11 As shown, the electronic device 120 provided in this application embodiment may also include a communication interface 1204.
[0170] Communication interface 1204 is used to connect with other devices via a communication network. This communication network can be Ethernet, a wireless access network, a wireless local area network (WLAN), etc. Communication interface 1204 may include a receiving unit for receiving data and a transmitting unit for transmitting data.
[0171] In one design, the communication interface in the electronic device provided in this application embodiment can also be integrated into the processor.
[0172] Through the above description of the embodiments, those skilled in the art will clearly understand that, for the sake of convenience and brevity, only the division of the above functional units is used as an example. In practical applications, the above functions can be assigned to different functional units as needed, that is, the internal structure of the device can be divided into different functional units to complete all or part of the functions described above. The specific working process of the system, device, and unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0173] This application also provides a computer-readable storage medium storing instructions. When a computer executes these instructions, the computer performs each step of the method flow shown in the above-described method embodiments.
[0174] The embodiments of this application provide a computer program product in which, when computer instructions are run on an electronic device, the electronic device executes a data transmission method described in the above method embodiments.
[0175] The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), registers, hard disks, optical fibers, compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing, or any other form of computer-readable storage medium in the art.
[0176] An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside within an application-specific integrated circuit (ASIC).
[0177] In the embodiments of this application, the computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0178] Since the electronic devices, computer-readable storage media, and computer program products in the embodiments of this application can be applied to the above methods, the technical effects they can achieve can also be referred to the above method embodiments. The embodiments of this application will not be repeated here.
[0179] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be covered within the scope of protection of this application.
Claims
1. A data transmission method, characterized in that, Applied to an airborne server, wherein the airborne server is deployed in an aircraft, the method includes: A list of task instructions is obtained from a ground server, the list of task instructions including at least one task instruction, the ground server being deployed at a ground base station; Create at least one scheduling task corresponding to at least one task instruction, and add each scheduling task to the task scheduling pool one by one. One task instruction corresponds to one scheduling task. Execute each scheduled task in the task scheduling pool; or, Obtain the first file list from the ground server; Download the files from the first file list; The files in the second file list in the airborne server are updated to the files in the first file list, and the version of the files in the first file list is the updated version of the files in the second file list; The file includes at least one of the following: video, module package, image, core package, the core package being a file used for at least one of service startup, module package loading, and data caching, and the module package including at least one of the following: instruction module, timer module, on-board interface module, process data interface (PDI) module, and component module.
2. The method according to claim 1, characterized in that, The mission command includes at least one of the following parameters: the identification of the aircraft, the mission type, and the command parameters; The task type includes at least one of the following: uploading a target file from the airborne server to the ground server, downloading a target file from the ground server to the airborne server, and performing interface testing on the airborne server.
3. The method according to claim 2, characterized in that, When the task type is to upload a target file from the airborne server to the ground server, the instruction parameters include at least one of the following: the access mode of the target file, the file directory where the target file is located, the regular expression used to match the target file, the upload path of the target file, and the maximum upload speed of the target file; or, When the task type is to download a target file from the ground server to the airborne server, the instruction parameters include at least one of the following: the Uniform Resource Locator (URL) path of the target file, the storage path of the target file on the airborne server, and the decompression path of the target file; or, When the task type is to perform interface testing on the airborne server, the instruction parameters include at least one of the following: class name, method name, and parameters, wherein the class name and the method name are pre-configured.
4. The method according to claim 1, characterized in that, The step of obtaining the first file list from the ground server includes: Obtain a third file list, which includes all files stored on the airborne server; The version information of the files in the first file list is compared with the version information of the files in the third file list, and the second file list is determined from the third file list.
5. The method according to claim 1, characterized in that, The downloading of files from the first file list includes: If the ground server allows the downloading of files from the first file list, then download the files from the first file list.
6. The method according to claim 5, characterized in that, When the ground server allows downloading files from the first file list, downloading the files from the first file list includes: In the event that the ground server does not allow the download of files in the first file list and / or the network is abnormal, the ground server is checked every preset time period to determine whether the ground server allows the download of files in the first file list and whether the network is abnormal. If the ground server allows downloading files from the first file list and the network is functioning normally, then download the files from the first file list.
7. The method according to claim 1, characterized in that, After updating the files in the second file list of the airborne server to the files in the first file list, the method further includes: If the file includes the core package, trigger a system restart of the airborne server; or, If the file includes the module package, the code of the updated module package is loaded using the module loader.
8. The method according to claim 1, characterized in that, After executing each scheduled task in the task scheduling pool, the method further includes: The task execution results of each scheduled task in the task scheduling pool are sent to the air-to-ground information transmission queue, and the task execution results in the air-to-ground information transmission queue are transmitted to the ground server. The task execution results include at least one of the following: indication information of successful task execution, indication information of task failure, and reason for task failure.
9. An electronic device, characterized in that, include: Processor and memory; The memory is used to store one or more programs, the one or more programs including computer execution instructions. When the electronic device is running, the processor executes the computer execution instructions stored in the memory to cause the electronic device to perform the method of any one of claims 1-8.
10. A computer-readable storage medium for storing one or more programs, characterized in that, The one or more programs include instructions that, when executed by a computer, cause the computer to perform the method as described in any one of claims 1-8.
11. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-8.