A method and device for deploying aerospace measurement and control software
By extracting the metadata of aerospace measurement and control software and analyzing dependencies, and generating a deployment dependency tree, the problem of low deployment efficiency of aerospace measurement and control software in the existing technology is solved, and rapid response to high-density aerospace mission requirements and software requirements changes is achieved.
Patent Information
- Application Number
- CN202111141184.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-28
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2041-09-28
AI Technical Summary
The existing aerospace measurement and control software deployment methods are inefficient and difficult to quickly respond to high-density aerospace mission requirements. The software is large in scale and complex in structure, resulting in cumbersome deployment processes and difficult dependency analysis.
By extracting metadata of aerospace measurement and control software, analyzing dependencies, generating deployment dependencies trees, and using pre-built deployment generation code for software deployment, automation and rapid deployment can be achieved.
It improves the deployment efficiency of large-scale aerospace measurement and control software, enhances the rapid response ability to high-density aerospace software systems, reduces management workload, and supports rapid response to software requirements changes.
Smart Images

Figure CN113867737B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of aerospace measurement and control, and specifically to a method and device for deploying aerospace measurement and control software. Background Art
[0002] With the vigorous development of my country's aerospace industry, the difficulty and execution density of aerospace missions, including manned space flight, lunar exploration, and deep space exploration, are increasing. For the ground control center of aerospace missions, the software engineering process faces greater challenges in the context of high-density aerospace mission preparation and implementation:
[0003] (1) The mission preparation time is short, and the preparation and execution of multiple models of missions are carried out in parallel.
[0004] (2) The software is large in scale and has a high safety criticality level.
[0005] (3) Software requirements change frequently, and they occur mostly in the later stage of the task preparation phase.
[0006] The deployment of existing space mission software is generally carried out manually. From software coding implementation to software operation, the code must first be submitted to the code base, and then it can be run after going through steps such as building, testing, and deployment. From the perspective of personnel, it may also involve interactions between multiple teams such as development, configuration management, testing, and operation and maintenance. From the perspective of environmental migration, it involves the transfer between multiple computer hosts such as development environment, version control system, compilation workspace, test environment, and mission environment. If the above operations are all done manually, for large-scale information system software containing hundreds of software components, each time the software is built and deployed, a lot of work will be spent, and the confirmation of the build process and status will also be very cumbersome. Summary of the invention
[0007] In response to the problems in the prior art, the present application provides a method and device for deploying aerospace measurement and control software, which can realize the rapid deployment of large-scale aerospace measurement and control software and improve the rapid response capability to high-density aerospace measurement and control software systems.
[0008] In order to solve the above technical problems, this application provides the following technical solutions:
[0009] In a first aspect, the present application provides a method for deploying aerospace measurement and control software, comprising:
[0010] Extracting metadata from each aerospace measurement and control software according to the classification of each aerospace measurement and control software;
[0011] Perform dependency analysis on each of the aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency tree;
[0012] Software deployment is performed according to the extracted metadata and the deployment dependency tree.
[0013] Further, the extracting metadata from each aerospace measurement and control software according to the classification of each aerospace measurement and control software includes:
[0014] Generate a topological structure diagram of aerospace measurement and control software according to the basic characteristic data of each aerospace measurement and control software and the classification;
[0015] Constructing deployment description information of each aerospace measurement and control software according to the basic feature data and the topological structure diagram;
[0016] Metadata is extracted according to the deployment description information.
[0017] Furthermore, the dependency analysis of each aerospace measurement and control software is performed according to the extracted metadata to obtain a deployment dependency tree, including:
[0018] Establishing a dependency relationship list between various parts of each aerospace measurement and control software according to the metadata;
[0019] Traversing each part in the dependency linked list, obtaining the output status of each part and determining the part corresponding to the root node in the dependency linked list;
[0020] Generate a deployment dependency subtree of each part according to the output state and the position of the part corresponding to the root node;
[0021] The deployment dependency subtrees are combined to obtain the deployment dependency tree of each aerospace measurement and control software.
[0022] Further, the performing software deployment according to the extracted metadata and the deployment dependency tree includes:
[0023] Determining the pipeline type of each part according to the metadata;
[0024] Generate pipeline codes for each part using pre-built deployment generation code and keywords of each pipeline operation stage;
[0025] According to the deployment dependency relationship of each part in the deployment dependency relationship tree, the pipeline code of each part is run to complete the software deployment.
[0026] In a second aspect, the present application provides an aerospace measurement and control software deployment device, comprising:
[0027] A data extraction unit, used for extracting metadata from each aerospace measurement and control software according to the classification of each aerospace measurement and control software;
[0028] A dependency relationship establishment unit, used to perform dependency relationship analysis on each aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency relationship tree;
[0029] The software deployment unit is used to perform software deployment according to the extracted metadata and the deployment dependency tree.
[0030] Furthermore, the data extraction unit comprises:
[0031] A topology structure generation module, used to generate a topology structure diagram of aerospace measurement and control software according to the basic characteristic data of each aerospace measurement and control software and the classification;
[0032] A description information construction module, used to construct deployment description information of each aerospace measurement and control software according to the basic feature data and the topological structure diagram;
[0033] A data extraction module is used to extract metadata according to the deployment description information.
[0034] Furthermore, the dependency relationship establishing unit includes:
[0035] A relationship link list establishment module, used to establish a dependency link list between various parts of each aerospace measurement and control software according to the metadata;
[0036] A state node module, used to traverse each part in the dependency chain list, obtain the output state of each part and determine the part corresponding to the root node in the dependency chain list;
[0037] A relationship subtree establishment module, used to generate a deployment dependency relationship subtree of each part according to the output state and the position of the part corresponding to the root node;
[0038] The dependency establishing module is used to combine the deployment dependency subtrees to obtain the deployment dependency tree of each aerospace measurement and control software.
[0039] Furthermore, the software deployment unit includes:
[0040] A pipeline type determination module, used to determine the pipeline type of each part according to the metadata;
[0041] A pipeline code generation module, used to generate pipeline codes of the above parts by using pre-built deployment generation codes and keywords of each pipeline operation stage;
[0042] The software deployment module is used to run the pipeline code of each part according to the deployment dependency relationship of each part in the deployment dependency tree to complete the software deployment.
[0043] In a third aspect, the present application provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the aerospace measurement and control software deployment method when executing the program.
[0044] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the aerospace measurement and control software deployment method.
[0045] In response to the problems in the prior art, the aerospace measurement and control software deployment method and device provided in the present application can analyze the deployment structure of aerospace measurement and control software products according to the characteristics of aerospace measurement and control software, extract the metadata of component deployment, and then perform topological structure analysis on the dependency relationship between aerospace measurement and control software and measurement and control software components, thereby realizing the rapid deployment of large-scale aerospace measurement and control software and improving the rapid response capability of high-density aerospace measurement and control software systems. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0047] Figure 1 This is a flow chart of the aerospace measurement and control software deployment method in the embodiment of the present application;
[0048] Figure 2 This is a flowchart of metadata extraction in an embodiment of the present application;
[0049] Figure 3 A flowchart of obtaining a deployment dependency tree in an embodiment of the present application;
[0050] Figure 4 A flowchart of software deployment in an embodiment of the present application;
[0051] Figure 5 This is a structural diagram of the aerospace measurement and control software deployment device in the embodiment of the present application;
[0052] Figure 6 This is a structural diagram of a data extraction unit in an embodiment of the present application;
[0053] Figure 7 A structural diagram of a dependency relationship establishment unit in an embodiment of the present application;
[0054] Figure 8 This is a structural diagram of a software deployment unit in an embodiment of the present application;
[0055] Fig. 9 It is a schematic diagram of the structure of an electronic device in an embodiment of the present application;
[0056] Fig.10 This is a schematic diagram of the hardware system in the embodiment of the present application;
[0057] Fig.11 This is a schematic diagram of the structural design of the aerospace mission deployment product in the embodiment of this application;
[0058] Fig.12 This is a schematic diagram of the software product information database in the embodiment of the present application;
[0059] Fig.13 Establishing an algorithm logic flow chart for the dependency tree view and dependency order in the embodiment of the present application;
[0060] Fig.14 This is a schematic diagram of the pipeline type in the embodiment of the present application;
[0061] Fig.15 A schematic diagram of the process of automatically generating deployment code in an embodiment of the present application;
[0062] Fig.16 This is a structural diagram of the deployment system in an embodiment of the present application. DETAILED DESCRIPTION
[0063] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0064] Using automated deployment tools for software deployment can improve the efficiency of software deployment to a certain extent. However, for large-scale ground measurement and control software in the aerospace field, the use of these automated technologies still cannot solve the following problems:
[0065] (1) The workload of process definition and maintenance for automatic deployment of large-scale aerospace measurement and control software is very huge. Existing deployment tools mostly customize pipelines in the form of code or graphical interface. For large-scale aerospace measurement and control software, it may contain hundreds or thousands of pipelines that need to be customized. The system is complex, the execution density of aerospace missions is high, the software environment is complex, and the demand for rapid deployment is extremely urgent.
[0066] (2) Large-scale aerospace TT&C software is large in scale and complex in structure, and deployment pipelines are difficult to reuse at the software system level. To support high-density aerospace TT&C tasks, it is necessary to achieve a certain degree of reuse between TT&C software to quickly implement deployment, but existing technologies are difficult to support large-scale reuse.
[0067] (3) The dependencies between the various components (also called parts) of the aerospace tracking and control software are complex, resulting in a large workload for code maintenance and lack of flexibility. The aerospace mission tracking and control center needs to control both the aerospace tracking and control tasks and the various aircraft tasks. The complexity of these tasks brings about the complexity of the software system and deployment relationships. Existing automated deployment tools need to use code or graphical interfaces to customize the dependencies for the deployment pipeline of each component, which is a lot of work. When the dependencies change, the code needs to be modified accordingly to reflect the actual dependencies, resulting in additional workload.
[0068] Based on the problems existing in the prior art, in one embodiment, see Figure 1 In order to realize the rapid deployment of large-scale aerospace measurement and control software and improve the rapid response capability of high-density aerospace measurement and control software systems, the present application provides a method for deploying aerospace measurement and control software, including:
[0069] S101: extracting metadata from each aerospace measurement and control software according to the classification of the aerospace measurement and control software;
[0070] S102: performing dependency analysis on each of the aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency tree;
[0071] S103: Perform software deployment according to the extracted metadata and the deployment dependency tree.
[0072] It is understandable that continuous integration, continuous delivery and DevOps (Development and Operations) of software are new methods and new ideas developed in the field of software engineering in recent years. This method and idea encourages software developers to deploy software frequently. The entire process from code submission to product delivery, including automated compilation, automated testing and automated deployment, needs to be automatically implemented. The main goal of this method and idea is to increase the frequency of system deployment, reduce the failure rate of product releases, and shorten the mean time to repair faults. In the process of software development, the use of continuous integration and continuous delivery methods is conducive to discovering software defects in the early stages of the project and reducing software development risks.
[0073] In order to adapt to the requirements of the development of space missions and support the implementation of high-density space missions, large-scale space measurement and control software must improve the timeliness of deployment and achieve rapid response to the needs of space measurement and control missions.
[0074] Generally speaking, the hardware environment for deploying large-scale aerospace measurement and control software systems is as follows: Fig.10 As shown. The computer hosts in each environment are flexibly configured according to the progress requirements of the space measurement and control mission, and the build and deployment system can be the domestic Kirin operating system. The deployment work can be completed using a separate server, and the environment required in the software compilation and linking process can also be configured on the build and deployment server. The build and deployment server should track the deployment host system in real time to meet the deployment environment requirements.
[0075] In the process of cross-implementing multiple aerospace TT&C software deployments, it is first necessary to organize aerospace TT&C tasks and corresponding aerospace TT&C software products in an efficient way. The deployment structure of aerospace software products is organized and managed at the level of tasks (products) - multi-task support types / product suites - components.
[0076] Taking into account the specific circumstances of aerospace measurement and control software and the software engineering experience in recent years, in the embodiment of the present application, a set of software that completes all functions in a mission is called a "product"; all executable files, libraries, public header files, and initialization files under the software are defined as "product components (also called parts)".
[0077] In order to support the multi-task support requirements of aerospace measurement and control software, aerospace measurement and control software can be divided into the following types, see Table 1:
[0078] Table 1 Types of aerospace measurement and control software
[0079]
[0080] In actual aerospace measurement and control software systems, the above-mentioned types of software together constitute a large software system to support the measurement and control of space missions.
[0081] To deploy large-scale measurement and control software, the software product should be decomposed first. In one embodiment, the ground measurement and control application software system for a certain aerospace measurement and control mission can be defined as a mission product. According to the type of support for multiple tasks and multiple targets, the mission product is further decomposed into product suites. From the perspective of aerospace mission decomposition and reuse, general-purpose and multi-task types can be divided into one type of product suite, and single-task and single-target types can be divided into one type of suite. The main function of general-purpose and multi-task software is usually to provide basic services for aerospace measurement and control application software, such as providing telegrams, logs, files, database services, etc., and its reuse degree is relatively high. Single-task and single-target type software is mainly aimed at specific targets and aircraft. These types of components are generated for specific software environments, and the number of targets and software functions vary greatly between different tasks. At the product suite level, it continues to be decomposed into software components. The software components should not only include the executable image or library of the process, but also include separately deployed configuration files, folders and other software products into the unified deployment management. These products are collectively referred to as software components. The decomposition structure of the above-mentioned aerospace measurement and control software is as follows: Fig.11 The above structure can reuse the deployment work to the greatest extent in the subsequent development of aerospace measurement and control mission systems, and realize the rapid construction and support of high-density aerospace measurement and control missions.
[0082] According to the classification of each aerospace tracking and control software, metadata is extracted for each aerospace tracking and control software. These metadata include but are not limited to description information, source code information, build information, deployment information and dependency information. According to the extracted metadata (especially the dependency information in the metadata), dependency analysis can be performed on each aerospace tracking and control software to obtain a deployment dependency tree. Finally, software deployment is performed based on the extracted metadata and deployment dependency tree.
[0083] From the above description, it can be seen that the aerospace measurement and control software deployment method and device provided in this application can analyze the deployment structure of aerospace measurement and control software products according to the characteristics of aerospace measurement and control software, extract the metadata of component deployment, and then perform topological structure analysis on the dependency relationship between aerospace measurement and control software and measurement and control software components, thereby realizing the rapid deployment of large-scale aerospace measurement and control software and improving the rapid response capability of high-density aerospace measurement and control software systems.
[0084] In one embodiment, see Figure 2 , extracting metadata from each aerospace measurement and control software according to the classification of each aerospace measurement and control software, including:
[0085] S201: generating a topological structure diagram of aerospace measurement and control software according to basic characteristic data of each aerospace measurement and control software and the classification;
[0086] S202: constructing deployment description information of each aerospace measurement and control software according to the basic feature data and the topological structure diagram;
[0087] S203: Extract metadata according to the deployment description information.
[0088] It is understandable that the deployment process of a typical aerospace measurement and control software component (also called part) generally includes steps such as detection, construction, testing, packaging, release and delivery. Since the above steps are specific to each software component, the scale of deployment code used for automated implementation is also quite large. In order to further improve efficiency and improve the automatic generation of deployment pipelines, it is necessary to extract key information from the software deployment process as input information for the automatic code generation tool.
[0089] To realize automatic generation of build code, it is first necessary to define the deployment process description information and structure the properties of software components. In large-scale aerospace measurement and control software systems, the deployment information of software components not only includes information such as its deployment host and path, but also includes type information, information shared with components in the software product suite, etc. It may also include component description information, such as configuration item information and subsystem information. Among them, source code information can include coding language, compiler, and version library storage location information; automated test related build information can include test case loading information. In the information processing system corresponding to aerospace measurement and control software, the business metadata of the main attributes required for the deployment automation of a software is shown in Table 2.
[0090] Table 2 Build deployment description information
[0091] Serial number type Main information content 1 Description Configuration item, subsystem 2 Source code information Coding language, compiler, and version library storage location information 3 Build Information Compiler Information 4 Product Information Product name, type 5 Deployment Information Deploy hosts and paths, support multiple hosts and multiple paths 6 Test Information Automated test related build information, test case loading information 7 Reliance on Information Depends on the name of the software component
[0092] The above information can fully describe the main features of the software during the deployment process and provide the necessary data description for subsequent automated code generation and loading.
[0093] Similarly, for product suites, corresponding business metadata is also required for description, as shown in Table 3.
[0094] Table 3 Aerospace software product information
[0095]
[0096]
[0097] Divide all data according to the organizational structure of the product, and divide the attributes of software components into common information and special information. Based on the common information of software components in the same product suite, the information of the product suite can be extracted. This can save storage space on the one hand, and establish a hierarchical structure of software products on the other hand, laying the foundation for the subsequent establishment of the topological structure of software component dependencies.
[0098] From the perspective of software deployment, for heterogeneous and complex software environments, the "deployment host" and "deployment path" attributes of software components can support multiple hosts and multiple paths.
[0099] For example, Fig.12 The figure shows a simple example of a deployment database, which mainly includes a product description table, a product component description table, and a user information description table.
[0100] It can be seen from the above description that the aerospace tracking and control software deployment method provided in the present application can extract metadata for each aerospace tracking and control software according to the classification of each aerospace tracking and control software.
[0101] In one embodiment, see Figure 3 , performing dependency analysis on each of the aerospace measurement and control software according to the extracted metadata, and obtaining a deployment dependency tree, including:
[0102] S301: establishing a dependency relationship list between various parts of each aerospace measurement and control software according to the metadata;
[0103] S302: traverse each part in the dependency chain list, obtain the output status of each part and determine the part corresponding to the root node in the dependency chain list;
[0104] S303: Generate a deployment dependency subtree of each part according to the output state and the position of the part corresponding to the root node;
[0105] S304: Combining the deployment dependency subtrees to obtain the deployment dependency tree of each aerospace measurement and control software.
[0106] It is understandable that in order to implement the dependency analysis of each software product in the aerospace measurement and control software system, it is necessary to describe the dependency of each software component. In the embodiment of the present application, the dependency is divided into three types: inclusive dependency, build dependency and runtime dependency. Among them, inclusive dependency mainly refers to files that need to include files during compilation, such as include in C language, import in Java, etc.; build dependency refers to libraries that need to be relied on during linking, such as static libraries in C language, etc.; runtime dependency refers to libraries that need to be relied on when the program is running, such as dynamic link libraries, etc. Inclusion dependency and build dependency mainly affect the software construction steps, while runtime dependency mainly affects the code of the software deployment step.
[0107] Due to the complexity and dependencies of space missions, the build and deployment of a single software component may affect the build and deployment of other components. Single-task and single-target software components may depend on general-purpose, multi-task software components. Therefore, the build and deployment dependencies should not only come from within a single product suite, but also from multiple product suites within the entire software system product.
[0108] In the process of building a software system, changes to one software component may affect other components, such as Fig.12 When a header file on the left side changes, the process or library on the right side that depends on this header file needs to be recompiled and linked. Therefore, when multiple components are built, these dependent header files should be deployed to the host that performs compilation and linking first, and then the compilation of the process or library should be performed. If the process or library performs compilation and linking before the header file is deployed, it may cause errors such as build failure and abnormal software status. Therefore, it is necessary to establish a dependency tree between software components and determine the build order of software components according to the principle of building dependent components first.
[0109] The flowchart of the algorithm for establishing the dependency tree and build order is shown in Fig.13 As shown. In specific implementation, you can select the software components that need to be built, and use the above algorithm to view the dependencies between these components to form a dependency tree between the components. If a circular dependency occurs, it will prompt that there is an error in the dependency identification, and the algorithm will mark it. The above algorithm can eventually output a dependency tree view.
[0110] In the actual software construction and deployment process, software release and deployment also require release impact analysis, and the dependency relationship between software components is the main consideration for release impact analysis. For example, if a link library is changed, all other libraries and applications that call it must be rebuilt. The embodiment of the present application uses a recursive algorithm to analyze the dependency relationship of software components through the property setting of the software components, and can generate a dependency tree view and a build order to assist operation and maintenance personnel in performing impact analysis of software release.
[0111] From the above description, it can be seen that the aerospace measurement and control software deployment method provided in the present application can perform dependency analysis on the aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency tree.
[0112] In one embodiment, see Figure 4 , performing software deployment according to the extracted metadata and the deployment dependency tree, including:
[0113] S401: Determine the pipeline type of each part according to the metadata;
[0114] S402: Generate the pipeline codes of the respective parts by using the pre-built deployment generation code and the keywords of the respective pipeline operation stages;
[0115] S403: According to the deployment dependency relationship of each part in the deployment dependency relationship tree, the pipeline code of each part is run to complete the software deployment.
[0116] It is understandable that the scale and composition of aerospace measurement and control software are often complex. In the actual construction and deployment work, the software products that need to be deployed include executable programs, link libraries, configuration files, and third-party libraries, and their construction and deployment methods also have their own characteristics. The embodiment of the present application includes all products related to the mission software that need to be deployed into the build and deployment tool for management, sets the "type" attribute for the software components, and divides the component types into link libraries, executable programs, configuration files, third-party products, and folders. Software products such as configuration files and third-party libraries can be directly deployed to the host without going through steps such as building and testing. Self-developed executable programs and link libraries require steps such as building, static analysis, and testing before they can be deployed to the target host. See. Fig.14 .
[0117] The design of the construction and deployment process of the embodiment of the present application takes into account the coding language of specific components, the deployment host and path in a heterogeneous environment, the source of code, the product release method and other parameters, and also refers to the requirements of the specific software engineering standards. Among them, the file types defined by the project and the corresponding pipelines can be found in Fig.14 shown.
[0118] In the build and deployment tool, the basic stage of the pipeline is determined by reading the "type" attribute of the component, and then the corresponding code is generated according to the attributes of the software component and the code template of the specific stage to form the pipeline script. This script can be submitted to the build and deployment server to realize the automatic generation of the build and deployment pipeline of the software component, see Fig.15 shown.
[0119] For example, for a space mission, the implementation of software build and deployment should mainly consider the following factors:
[0120] ① The connection mode and product migration relationship between the code base, build deployment workspace, product library, and software running environment;
[0121] ②Build deployment process design;
[0122] ③Build and deploy execution status information and display execution results.
[0123] Among them, the workspace and environment include code base, build deployment workspace, product library and software related operating environment. The operating environment of aerospace measurement and control software can generally be divided into test, joint test and mission environment, which are respectively used in different stages from aerospace mission preparation to execution.
[0124] The release and delivery process is closely related to the hardware environment of the software system and the application scenario of the software. The different types, functions and usage of the software will also lead to differences in the release and delivery methods, such as Fig.16As shown. The hardware environment of the aerospace measurement and control software system is particularly complex in a server cluster environment. The release and delivery of the continuous integration system should basically have the capabilities of software environment configuration, software dependency maintenance, and remote deployment. To achieve automation of software release and delivery, the target host can be configured according to the software operating environment information and the environment configuration information of the deployment target host, and then the software in the software warehouse and the corresponding deployment information and the software configuration information in the deployment environment can be extracted to automatically identify and analyze software dependencies and complete the remote deployment of the software. Fig.16 shown.
[0125] From the above description, it can be seen that the aerospace measurement and control software deployment method provided in this application can perform software deployment based on the extracted metadata and the deployment dependency tree.
[0126] The beneficial effects of this application also include:
[0127] (1) It can be used for high-reliability, large-scale aerospace mission software and can enable large-scale software systems to respond quickly to changes in requirements.
[0128] Compared with various commercial or open source continuous integration tools, the automated build and deployment software highlights the high reliability, large scale, and high security level of aerospace measurement and control application software in the design and implementation of functions such as continuous integration process design, automated test process design, and initial mission establishment. It improves reusability in build and deployment, and enhances the ability of large software systems to respond quickly to demand changes. Especially when the mission is initially created, the original well-running software build project can be reused or inherited through the function of copying the task, realizing the reuse of mission system build and deployment at a higher level. Automatic generation of various scripts and configuration files in the build and deployment pipeline.
[0129] (2) It can further reduce the management workload.
[0130] Large software projects require a huge number of software products to be deployed, and the environment configuration is complex and diverse. Although most operations can be solidified and reused by writing scripts, the workload is also very high if these scripts are written and maintained manually. This solution classifies and manages software products, establishes a software product information database, realizes automatic generation and configuration of pipelines, and automatic and batch generation of various construction and analysis scripts, greatly reducing the workload of script writing and maintenance.
[0131] Based on the same inventive concept, the embodiments of the present application also provide a space measurement and control software deployment device, which can be used to implement the method described in the above embodiments, as described in the following embodiments. Since the principle of solving the problem by the aerospace measurement and control software deployment device is similar to that of the aerospace measurement and control software deployment method, the implementation of the aerospace measurement and control software deployment device can refer to the implementation of the method based on software performance benchmark determination, and the repeated parts will not be repeated. As used below, the term "unit" or "module" can be a combination of software and / or hardware that implements predetermined functions. Although the system described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0132] In one embodiment, see Figure 5 In order to realize the rapid deployment of large-scale aerospace measurement and control software and improve the rapid response capability of high-density aerospace measurement and control software systems, the present application provides an aerospace measurement and control software deployment device, including: a data extraction unit 501, a dependency establishment unit 502 and a software deployment unit 503.
[0133] The data extraction unit 501 is used to extract metadata from each aerospace tracking and control software according to the classification of each aerospace tracking and control software;
[0134] A dependency relationship establishing unit 502 is used to perform dependency relationship analysis on each aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency relationship tree;
[0135] The software deployment unit 503 is used to perform software deployment according to the extracted metadata and the deployment dependency tree.
[0136] In one embodiment, see Figure 6 , the data extraction unit 501 comprises:
[0137] A topology structure generating module 601 is used to generate a topology structure diagram of aerospace measurement and control software according to the basic characteristic data of each aerospace measurement and control software and the classification;
[0138] A description information construction module 602 is used to construct deployment description information of each aerospace measurement and control software according to the basic feature data and the topological structure diagram;
[0139] The data extraction module 603 is used to extract metadata according to the deployment description information.
[0140] In one embodiment, see Figure 7 , the dependency relationship establishing unit 502 comprises:
[0141] A relationship link table establishment module 701 is used to establish a dependency relationship link table between various parts of each aerospace measurement and control software according to the metadata;
[0142] The state node module 702 is used to traverse each part in the dependency chain list, obtain the output state of each part and determine the part corresponding to the root node in the dependency chain list;
[0143] A relationship subtree establishing module 703 is used to generate a deployment dependency relationship subtree of each part according to the output state and the position of the part corresponding to the root node;
[0144] The dependency establishing module 704 is used to combine the deployment dependency subtrees to obtain the deployment dependency tree of each aerospace measurement and control software.
[0145] In one embodiment, see Figure 8 , the software deployment unit 503 includes:
[0146] A pipeline type determination module 801, used to determine the pipeline type of each part according to the metadata;
[0147] The pipeline code generation module 802 is used to generate the pipeline code of each part by using the pre-built deployment generation code and the keywords of each pipeline operation stage;
[0148] The software deployment module 803 is used to run the pipeline code of each part according to the deployment dependency relationship of each part in the deployment dependency tree to complete the software deployment.
[0149] From the hardware level, in order to realize the rapid deployment of large-scale aerospace measurement and control software and improve the rapid response capability of high-density aerospace measurement and control software systems, the present application provides an embodiment of an electronic device for implementing all or part of the content of the aerospace measurement and control software deployment method, and the electronic device specifically includes the following content:
[0150] Processor, memory, communication interface and bus; wherein the processor, memory and communication interface communicate with each other through the bus; the communication interface is used to realize information transmission between the aerospace measurement and control software deployment device and related equipment such as core business systems, user terminals and related databases; the logic controller can be a desktop computer, a tablet computer and a mobile terminal, etc., but the present embodiment is not limited thereto. In the present embodiment, the logic controller can be implemented with reference to the embodiment of the aerospace measurement and control software deployment method and the embodiment of the aerospace measurement and control software deployment device in the embodiment, and the contents thereof are incorporated herein, and the repeated parts are not repeated.
[0151] It is understandable that the user terminal may include a smart phone, a tablet electronic device, a network set-top box, a portable computer, a desktop computer, a personal digital assistant (PDA), a vehicle-mounted device, a smart wearable device, etc. Among them, the smart wearable device may include smart glasses, a smart watch, a smart bracelet, etc.
[0152] In practical applications, part of the aerospace measurement and control software deployment method can be executed on the electronic device side as described above, or all operations can be completed in the client device. The specific selection can be based on the processing capability of the client device and the limitations of the user's usage scenario. This application does not limit this. If all operations are completed in the client device, the client device may also include a processor.
[0153] The client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission with the server. The server may include a server on the task scheduling center side, and other implementation scenarios may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, or a server cluster consisting of multiple servers, or a server structure of a distributed device.
[0154] Fig. 9 FIG. 9 is a schematic block diagram of the system structure of the electronic device 9600 according to an embodiment of the present application. Fig. 9 As shown, the electronic device 9600 may include a central processor 9100 and a memory 9140; the memory 9140 is coupled to the central processor 9100. It is worth noting that Fig. 9 is exemplary; other types of structures may also be used to supplement or replace this structure to implement telecommunication functions or other functions.
[0155] In one embodiment, the aerospace measurement and control software deployment method function may be integrated into the central processing unit 9100. The central processing unit 9100 may be configured to perform the following control:
[0156] S101: extracting metadata from each aerospace measurement and control software according to the classification of the aerospace measurement and control software;
[0157] S102: performing dependency analysis on each of the aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency tree;
[0158] S103: Perform software deployment according to the extracted metadata and the deployment dependency tree.
[0159] From the above description, it can be seen that the aerospace measurement and control software deployment method and device provided in this application can analyze the deployment structure of aerospace measurement and control software products according to the characteristics of aerospace measurement and control software, extract the metadata of component deployment, and then perform topological structure analysis on the dependency relationship between aerospace measurement and control software and measurement and control software components, thereby realizing the rapid deployment of large-scale aerospace measurement and control software and improving the rapid response capability of high-density aerospace measurement and control software systems.
[0160] In another embodiment, the aerospace tracking and control software deployment device can be configured separately from the central processing unit 9100. For example, the data composite transmission device aerospace tracking and control software deployment device can be configured as a chip connected to the central processing unit 9100, and the functions of the aerospace tracking and control software deployment method can be realized through the control of the central processing unit.
[0161] like Fig. 9 As shown, the electronic device 9600 may also include: a communication module 9110, an input unit 9120, an audio processor 9130, a display 9160, and a power supply 9170. It is worth noting that the electronic device 9600 does not necessarily have to include Fig. 9 In addition, the electronic device 9600 may also include Fig. 9 For components not shown, reference may be made to the prior art.
[0162] like Fig. 9 As shown, the central processing unit 9100 is sometimes also referred to as a controller or an operation control, and may include a microprocessor or other processor device and / or logic device. The central processing unit 9100 receives input and controls the operation of various components of the electronic device 9600.
[0163] The memory 9140 may be, for example, one or more of a cache, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory or other suitable devices. The above-mentioned information related to the failure may be stored, and a program for executing the relevant information may also be stored. The CPU 9100 may execute the program stored in the memory 9140 to implement information storage or processing, etc.
[0164] The input unit 9120 provides input to the central processing unit 9100. The input unit 9120 is, for example, a key or a touch input device. The power supply 9170 is used to provide power to the electronic device 9600. The display 9160 is used to display display objects such as images and texts. The display may be, for example, an LCD display, but is not limited thereto.
[0165] The memory 9140 may be a solid-state memory, such as a read-only memory (ROM), a random access memory (RAM), a SIM card, etc. It may also be a memory that saves information even when the power is off, can be selectively erased, and is provided with more data, examples of which are sometimes referred to as EPROMs, etc. The memory 9140 may also be some other type of device. The memory 9140 includes a buffer memory 9141 (sometimes referred to as a buffer). The memory 9140 may include an application / function storage unit 9142, which is used to store application programs and function programs or processes for executing the operation of the electronic device 9600 through the central processor 9100.
[0166] The memory 9140 may also include a data storage unit 9143 for storing data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 9144 of the memory 9140 may include various drivers for communication functions of the electronic device and / or for executing other functions of the electronic device (such as messaging applications, address book applications, etc.).
[0167] The communication module 9110 is a transmitter / receiver 9110 that sends and receives signals via an antenna 9111. The communication module (transmitter / receiver) 9110 is coupled to the central processor 9100 to provide input signals and receive output signals, which may be the same as the case of a conventional mobile communication terminal.
[0168] Based on different communication technologies, multiple communication modules 9110 may be provided in the same electronic device, such as a cellular network module, a Bluetooth module and / or a wireless LAN module. The communication module (transmitter / receiver) 9110 is also coupled to a speaker 9131 and a microphone 9132 via an audio processor 9130 to provide an audio output via the speaker 9131 and receive an audio input from the microphone 9132, thereby realizing a common telecommunication function. The audio processor 9130 may include any suitable buffer, decoder, amplifier, etc. In addition, the audio processor 9130 is also coupled to the central processor 9100, so that recording can be performed on the local machine through the microphone 9132, and the sound stored on the local machine can be played through the speaker 9131.
[0169] The embodiments of the present application also provide a computer-readable storage medium capable of implementing all the steps in the aerospace measurement and control software deployment method in the above-mentioned embodiment, where the execution subject is a server or a client. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, all the steps in the aerospace measurement and control software deployment method in the above-mentioned embodiment are implemented. For example, when the processor executes the computer program, the following steps are implemented:
[0170] S101: extracting metadata from each aerospace measurement and control software according to the classification of the aerospace measurement and control software;
[0171] S102: performing dependency analysis on each of the aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency tree;
[0172] S103: Perform software deployment according to the extracted metadata and the deployment dependency tree.
[0173] From the above description, it can be seen that the aerospace measurement and control software deployment method and device provided in this application can analyze the deployment structure of aerospace measurement and control software products according to the characteristics of aerospace measurement and control software, extract the metadata of component deployment, and then perform topological structure analysis on the dependency relationship between aerospace measurement and control software and measurement and control software components, thereby realizing the rapid deployment of large-scale aerospace measurement and control software and improving the rapid response capability of high-density aerospace measurement and control software systems.
[0174] It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention 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.
[0175] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (apparatus), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks 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.
[0176] 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.
[0177] 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.
[0178] The present invention uses specific embodiments to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.
Claims
1. A method for deploying aerospace measurement and control software, characterized in that: include: Metadata is extracted from each aerospace measurement and control software according to its classification; wherein the classification of each aerospace measurement and control software includes: general type, multi-task type, single-task multi-target type and single-task single-target type; the general type is irrelevant to a specific aerospace mission and a specific flight target; the multi-task type supports a specific mission by transmitting relevant parameters of the mission; the single-task multi-target type supports multiple targets of a specific mission by transmitting relevant parameters of the mission and the flight target; the single-task single-target type supports a specific target of a specific mission by transmitting relevant parameters of the mission and the flight target; According to the extracted metadata, dependency analysis is performed on each aerospace measurement and control software to obtain a deployment dependency tree; wherein, according to the extracted metadata, dependency analysis is performed on each aerospace measurement and control software to obtain a deployment dependency tree, including: establishing a dependency chain list between each component in each aerospace measurement and control software according to the metadata; traversing each component in the dependency chain list, obtaining the output state of each component and determining the part corresponding to the root node in the dependency chain list; generating a deployment dependency subtree of each component according to the output state and the position of the part corresponding to the root node; combining the deployment dependency subtrees to obtain the deployment dependency tree of each aerospace measurement and control software; wherein, the dependency includes inclusive dependency, build dependency and runtime dependency; wherein, inclusive dependency refers to a file that needs to include a file during compilation; build dependency refers to a library that needs to be relied on during linking; runtime dependency refers to a library that needs to be relied on when the program is running; wherein, the output state includes output and not output; Performing software deployment according to the extracted metadata and the deployment dependency tree; The step of extracting metadata from each aerospace measurement and control software according to the classification of each aerospace measurement and control software includes: Generate a topological structure diagram of aerospace measurement and control software according to the basic characteristic data of each aerospace measurement and control software and the classification; Constructing deployment description information of each aerospace measurement and control software according to the basic feature data and the topological structure diagram; wherein the deployment description information includes description information, source code information, construction information, product information, deployment information, test information and dependency information; Metadata is extracted according to the deployment description information.
2. The aerospace measurement and control software deployment method according to claim 1, characterized in that: The performing software deployment according to the extracted metadata and the deployment dependency tree includes: Determining the pipeline type of each component according to the metadata; Generate pipeline codes for each component using pre-built deployment generation code and keywords for each pipeline operation stage; According to the deployment dependency relationship of each component in the deployment dependency relationship tree, the pipeline code of each component is run to complete the software deployment.
3. A space measurement and control software deployment device, characterized in that: include: A data extraction unit is used to extract metadata from each aerospace tracking and control software according to the classification of each aerospace tracking and control software; wherein the classification of each aerospace tracking and control software includes: general type, multi-task type, single-task multi-target type and single-task single-target type; the general type is irrelevant to a specific aerospace mission and a specific flight target; the multi-task type supports a specific mission by transmitting relevant parameters of the mission; the single-task multi-target type supports multiple targets of a specific mission by transmitting relevant parameters of the mission and the flight target; the single-task single-target type supports a specific target of a specific mission by transmitting relevant parameters of the mission and the flight target; A dependency relationship establishment unit, used to perform dependency relationship analysis on each aerospace measurement and control software according to the extracted metadata to obtain a deployment dependency relationship tree; Wherein, the dependency relationship establishing unit includes: A relationship link list establishment module, used to establish a dependency link list between components in each aerospace measurement and control software according to the metadata; A state node module, used to traverse each component in the dependency linked list, obtain the output state of each component and determine the part corresponding to the root node in the dependency linked list; wherein the output state includes output and not output; A relationship subtree establishment module, used to generate a deployment dependency relationship subtree of each component according to the output state and the position of the corresponding part of the root node; A dependency establishing module, used for combining the deployment dependency subtrees to obtain the deployment dependency tree of each aerospace measurement and control software; Wherein, the data extraction unit includes: a topology structure generation module, which is used to generate a topology structure diagram of aerospace measurement and control software according to the basic feature data of each aerospace measurement and control software and the classification; a description information construction module, which is used to construct the deployment description information of each aerospace measurement and control software according to the basic feature data and the topology structure diagram; a data extraction module, which is used to extract metadata according to the deployment description information; wherein, the dependency relationship includes inclusive dependency, build dependency and runtime dependency; wherein, inclusive dependency refers to a file that needs to be included during compilation; build dependency refers to a library that needs to be relied upon during linking; runtime dependency refers to a library that needs to be relied upon when the program is running; wherein, the deployment description information includes description information, source code information, build information, product information, deployment information, test information and dependency information; The software deployment unit is used to perform software deployment according to the extracted metadata and the deployment dependency tree.
4. The aerospace measurement and control software deployment device according to claim 3, characterized in that: The software deployment unit includes: A pipeline type determination module, used to determine the pipeline type of each component according to the metadata; A pipeline code generation module, used to generate pipeline codes for each component using pre-built deployment generation codes and keywords of each pipeline operation stage; The software deployment module is used to run the pipeline code of each component according to the deployment dependency relationship of each component in the deployment dependency tree to complete the software deployment.
5. 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 steps of the aerospace measurement and control software deployment method described in any one of claims 1 to 2 are implemented.
6. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the aerospace measurement and control software deployment method described in any one of claims 1 to 2 are implemented.
Citation Information
Patent Citations
Software deployment method and device and related equipment
CN113238766A