Target machine management method for an airborne embedded continuous delivery platform
By building an onboard embedded continuous delivery platform, combining virtual and physical target machine management, and utilizing excitation functions and impact factors to calculate priority, the problem of limited hardware resources caused by the expansion of the onboard software code scale is solved, and efficient utilization and management of target machine resources is achieved.
Patent Information
- Application Number
- CN202211612383.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-15
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2042-12-15
AI Technical Summary
The expansion of the onboard software code scale has resulted in limited resources for hardware target machines and high development risks. The existing commercial continuous delivery platform cannot meet the reasonable order of user intervention in target machines management, making it difficult to improve the utilization rate of target machines.
Build an on-board embedded continuous delivery platform, including pipeline tool servers, web servers and target machine management servers, provide customized target machine pipelines, combine virtual and physical target machine management, and dynamically allocate resources through incentive functions and impact factors.
It improves the efficiency of onboard software development, improves product quality and target machine resource utilization, and realizes dynamic sorting and efficient management of target machine resources.
Smart Images

Figure CN116302308B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of airborne embedded computer system software, and in particular to a target machine management method for an airborne embedded continuous delivery platform. Background Art
[0002] Due to the complexity and security of airborne software code development, the scale of airborne software code has expanded rapidly, and the development risk has continued to increase, requiring a large number of tests and verifications on target machines. However, hardware target machine resources are relatively limited, and the comprehensive priority of target machine testing varies at different R&D stages. How to implement user-configured target machine management solutions and sort target machine resources in a continuous delivery platform to maximize target machine utilization and better meet user needs remains a difficult problem.
[0003] Given that the tools used in airborne software development, development and testing requirements, and test target machines are somewhat different from those of general software development, and in scenarios where existing commercial continuous delivery platforms cannot guarantee airborne use and do not meet the user's reasonable and sequential intervention in target machine management, the airborne embedded continuous delivery platform uses a variety of airborne-related tool sets, combined with user configuration to sort target machine resource usage, and provides management based on virtual and physical target machines. Based on the design concept of modernizing the software development process, user customization, and functional phasing, it can improve team collaboration and automation, and help enhance the ability to quickly update and deliver. Summary of the Invention
[0004] In view of this, an embodiment of the present application provides a target machine management method for an airborne embedded continuous delivery platform. Based on existing software development tools, target machines, and continuous delivery platforms, this application proposes a user-defined and configurable target machine management method for an airborne continuous delivery platform. This method, through customized processes, enables development teams to quickly implement pipelines based on their own project requirements, thereby improving airborne software development efficiency and enhancing product quality.
[0005] The present application provides the following technical solution: a target machine management method for an airborne embedded continuous delivery platform, comprising:
[0006] Construct an airborne embedded software continuous delivery platform, which includes a tool server, a web server, and a target machine management server in the pipeline. Through the delivery platform, the target machine pipeline is customized to achieve dynamic allocation and management of target machine resources;
[0007] The web server is used as a front-end page display to provide related functions of the physical / virtual target machine, including physical / virtual target machine status display, reservation, power on and off, and operation; different user permissions can perform corresponding operations through the web server; and it also provides pipeline target machine configuration function;
[0008] The target machine management server serves as a background server and provides automated functional testing and loading and running modes based on virtual target machines and physical target machines. It is used to manage physical / virtual target machines, monitor and record the status of all target machines, obtain the factor values of all target machine configuration factors, and perform analysis, sorting, and resource balancing based on the stage of selecting the target machine in the existing pipeline;
[0009] The tool server in the pipeline is used to build a continuous delivery pipeline configuration file based on the front-end pipeline configuration page content, generate a pipeline display page, and provide data feedback on the front-end visualization interface.
[0010] According to one embodiment of the present application, the delivery platform also includes a file server and a database server; the file server and the database server are used to store and record data in the management process to facilitate later analysis.
[0011] According to an embodiment of the present application, in a certain time period, when a conflict occurs in the resource occupation of the target machines, the target machines in the current time period are sorted by priority based on the factor values of the target machine configuration factors in the current time period.
[0012] According to one embodiment of the present application, the target machine configuration factors include: pipeline preset priority, owner level, expected normal execution time, expected worst-case execution time, pipeline deadline, whether it is a periodic job, whether preemption is required, whether similar target machines are available, whether the task fails and whether to rerun it, and the number of reruns.
[0013] According to an embodiment of the present application, a specific strategy for sorting target machines in the current time period by priority includes:
[0014] Design an incentive function for the target machine configuration factors. The incentive function has the property of monotonically increasing in the interval (0,1);
[0015] Pair the influencing factors for the target machine configuration factors and calculate the total ranking weight through weighted summation;
[0016] For pipelines that need to be run multiple times, a rerun strategy is designed in which the priority gradually decreases as the number of reruns increases.
[0017] According to an embodiment of the present application, the process of pairing the target machine configuration factors with the influencing factors further includes:
[0018] The influencing factor of a target machine configuration factor is designed to be an independent variable influencing factor, and the administrator can change the final weight by adjusting the independent variable influencing factor.
[0019] According to an embodiment of the present application, in the process of calculating the total ranking weight by weighted summation, if the weight calculation results are the same, the incentive values of the selected factors are summed according to the factors considered under the same result set by the user, and a second sorting is performed.
[0020] The embodiment of the present invention builds on existing technologies related to continuous software delivery and designs an airborne embedded software continuous delivery platform. This platform constructs airborne software development tools into a pipeline that can be selected and configured through a graphical interface and run on a specified target machine, making it convenient for users to customize the tools. At the same time, the target machine can be selected and configured, and configuration parameters are recorded and calculated to build a customized executable pipeline. Furthermore, even if a conflict occurs in the target machine's occupancy, scheduling and operation can still be achieved, ultimately accelerating pipeline automation. Through customized processes, the present invention enables development teams to quickly implement pipelines based on project requirements, thereby improving airborne software development efficiency and enhancing product quality. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0022] Figure 1 This is a schematic diagram of the system structure of an onboard embedded software continuous delivery platform according to an embodiment of the present invention;
[0023] Figure 2 It is a schematic diagram of the pipeline target machine management process of an embodiment of the present invention. DETAILED DESCRIPTION
[0024] The embodiments of the present application are described in detail below with reference to the accompanying drawings.
[0025] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of this application can be combined with each other. The present invention will be described in detail below with reference to the accompanying drawings and in combination with the embodiments, and the technical solutions of the present invention will be clearly and completely described. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0026] like Figure 1-Figure 2 As shown, an embodiment of the present invention provides a target machine management method of an airborne embedded continuous delivery platform, including:
[0027] Construct an airborne embedded software continuous delivery platform, which includes a tool server, a web server, a target machine management server, a file server, and a database server in the pipeline. The target machine pipeline is customized through the delivery platform to achieve dynamic allocation and management of target machine resources.
[0028] The web server is used as a front-end page display to provide related functions of the physical / virtual target machine, including physical / virtual target machine status display, reservation, power on and off, and operation; different user permissions can perform corresponding operations through the web server; and it also provides pipeline target machine configuration function;
[0029] The target machine management server serves as a background server and provides automated functional testing and loading and running modes based on virtual target machines and physical target machines. It is used to manage physical / virtual target machines, monitor and record the status of all target machines, obtain the factor values of all target machine configuration factors, and perform analysis, sorting, and resource balancing based on the stage of selecting the target machine in the existing pipeline;
[0030] The tool server in the pipeline is used to build a continuous delivery pipeline configuration file based on the front-end pipeline configuration page content, generate a pipeline display page, and provide data feedback on the front-end visualization interface.
[0031] In this embodiment, the basic components of target machine management include:
[0032] Front-end page display: Through a web server, it provides functions such as displaying the status of physical / virtual target machines, scheduling, powering on and off, and running. Different operations can be performed based on different user permissions. For example, administrators can configure and add target machines, pipeline tools, and target machine management factors. Ordinary users can select the target machine type for the pipeline to run, enter the values of various factors in the target machine configuration management factors, and schedule them for use. It also displays relevant optional / configurable pipeline tools and pipelines based on the DevOps process stage, allowing user interaction and demonstrating process results. This makes the entire software development lifecycle transparent, visualizes data, and automates the deployment process.
[0033] Backend Server: The target machine management server provides automated functional testing and loading and running modes for virtual and physical target machines, manages physical / virtual target machines, monitors and records the status of all target machines, obtains the values of all target machine configuration factors, and analyzes, sorts, and balances resources based on the stage of target machine selection in existing pipelines, striving to ensure that each pipeline can run smoothly within the user's desired timeframe. Due to the limited nature of target machine resources, when resource conflicts arise, dynamic weighting is performed based on the permissions of the pipeline setter, the pipeline's importance, the pipeline's operating status, and subsequent impact. It manages the use of virtual and physical target machines, improves target machine resource utilization, and implements dynamic allocation management. Run results are displayed in the system as reports, with alerts and reminders, and detailed error information can be queried. This entire process requires no human intervention, accelerating the testing process and achieving high test coverage.
[0034] The pipeline tool server builds continuous delivery pipeline configuration files based on the front-end pipeline configuration page content, generates pipeline display pages, and provides data feedback for the front-end visualization interface. Combined with selected tools and the continuous integration engine, it allows users to view pipeline-related operational status, providing a one-stop service for airborne embedded software development. File servers and database servers are used to store and record large amounts of data during the process for later analysis.
[0035] In a certain period, when a conflict occurs in the target machine resource occupation, the target machines in the current period are sorted by priority according to the factor values of the target machine configuration factors in the current period.
[0036] Sorting strategies have the following characteristics:
[0037] (1) Sorting factors include: pipeline preset priority, owner level, expected normal execution time, expected worst-case execution time, pipeline deadline, whether it is a periodic job, whether preemption is required, whether similar target machines are available, whether the task should be rerun if it fails, and the number of reruns, etc.
[0038] (2) An excitation function is designed for the influencing factors, and the excitation function has the property of monotonically increasing in the interval (0,1).
[0039] (3) Pair the influencing factors with each other and calculate the total ranking weight by weighted summation.
[0040] (4) For pipelines that need to be run multiple times, a rerun strategy is designed in which the priority gradually decreases as the number of reruns increases.
[0041] According to one embodiment, the process of pairing the target machine configuration factors with the influencing factors further includes:
[0042] The influencing factor of a target machine configuration factor is designed to be an independent variable influencing factor, and the administrator can change the final weight by adjusting the independent variable influencing factor.
[0043] According to another embodiment, in the process of calculating the total ranking weight by weighted summation, if the weight calculation results are the same, the incentive values of the selected factors are summed according to the factors considered under the same result set by the user, and a second sorting is performed.
[0044] Typical application examples of the embodiments of the present invention are as follows: Figure 1 As shown:
[0045] (1) Typical operating environment
[0046] This embodiment provides a target machine management method for an airborne embedded software continuous delivery platform. In an internal network environment, a private cloud service is constructed, including a pipeline tool server, a Web backend server, a target machine management server, and a file system / database server. To ensure high availability, dual-machine hot standby is used.
[0047] (2) Continuous delivery of functionality
[0048] According to DevOps, the development phase is divided into planning, development, construction, testing, release, delivery, deployment, operation and maintenance, and monitoring. Implementation functions are proposed for each phase. Target machine management is primarily focused on the delivery and deployment phases.
[0049] Functional modules for the delivery phase: Build management modules for physical and virtual target machines. For embedded hardware, build racks and consoles to control power, hardware reset, status signals, and mode signals, achieving control through signal and command transmission. Implement integrated service management for virtual target machines, centrally manage program startup, and start, pause, and stop simulated hardware.
[0050] Deployment phase functional module: Based on physical target machines and virtual target machines, automatic deployment on available target machines is achieved through automated script configuration.
[0051] (3) Pipeline target machine priority sorting strategy
[0052] Before using a target machine, users must first fill in and configure the administrator-defined target machine factors and their associated values. Some factor values are pre-determined based on the current user's role and permissions. Therefore, when a conflict arises over target machine resource usage during a specific timeframe, the priority of the target machine is determined based on various factors, including the pipeline's preset priority, owner level, expected normal execution time, expected worst-case execution time, pipeline deadline, whether the job is periodic, whether preemption is required, availability of similar target machines, whether a failed task should be re-run, and the number of re-runs. Because target machine occupation for deployment and testing requires hardware loading and running, once occupied, a target machine is run continuously until completion. Therefore, target machine occupation is uninterruptible, and a target machine occupation task cannot be split into smaller subtasks. Furthermore, because pipelines are constantly generated and executed, including during the testing phase on the target machine, occupation tasks are continuously queued and dynamically sorted. A time window is set within which queued target machine occupation tasks are processed, using custom rules:
[0053] 1. Normalize the influencing factor values so that they range from (0 to 1). For example, if the user enters the value t for the estimated run time, it will be replaced by s = (t – tmin) / (tmax – tmin) in the decision-making process, where tmax is the upper bound of the possible value and tmin is the lower bound of the possible value. When the incentive is negative, s = (tmax – t) / (tmax – tmin);
[0054] 2. Design an incentive function, Sort(s). This incentive function has the following properties: As the value of s increases, Sort(s) increases. As s approaches 0, Sort(s) approaches 0. As s approaches 1, Sort(s) approaches positive infinity. For example, the incentive value for the expected running time t is Sort(s), where s = (tmax – t) / (tmax – tmin). Because the larger the value of t, the smaller Sort(s) is required, which acts as a negative incentive.
[0055] 3. Design an impact factor for each influencing factor. For example, the factor value of the j influencing factor is set as Rank(j), which is set by the administrator for global consideration;
[0056] 4. When the priority calculation results are the same, the incentive values of the selected factors are summed up according to the user settings and the factors considered under the same results, and a second sorting is performed.
[0057] 5. Design a variable factor r. The administrator can adjust r to directly affect the final value of the pipeline priority.
[0058] In one embodiment, the target machine management of the real-world airborne embedded continuous delivery platform is abstracted into a test scenario. Within the test scenario, the modeling of virtual experimental objects is completed, and the test tasks are completed through the interaction between the models. An experimental scenario is defined as follows:
[0059] Scenario=<T,Sort(sji),Rank(j),tji,sji,m,n,r,Q>
[0060] The meaning of each component is as follows:
[0061] 1. Time window T: The set time window size, within which the tasks queued for target machine resources are sorted.
[0062] 2. Influencing factors tji: Influencing factors include the pipeline's preset priority, owner level, expected normal execution time, expected worst-case execution time, pipeline deadline, whether the job is periodic, whether preemption is required, and whether similar target machines are available. i represents the i-th pipeline, j represents the j-th influencing factor, and tji represents the collected value of the j-th influencing factor for the i-th pipeline.
[0063] 3. Normalized value sji: When the influencing factor is positive excitation, sji = (tji–tmin) / (tmax–tmin); when the influencing factor is negative excitation, sji = (tmax–tmin) / (tji–tmin).
[0064] 4. Activation function Sort(sji): represents the activation value of the jth influencing factor of the i-th pipeline.
[0065] 5. Rank(j): The value of the jth factor. This input is user-defined and indicates the user's level of importance, reflecting user feedback and revisions to the priority.
[0066] 6. Number of preemptive tasks m: The number of tasks to be preempted based on available target machine resources.
[0067] 7. Impact factor number n: the total number of impact factors.
[0068] 8. Available target machine resources n2: The number of available target machines.
[0069] 9. Administrator parameter r: an independent influencing factor that directly affects the final weight.
[0070] 10. Weight result Q: The weight result value calculated by a pipeline running the target machine task.
[0071] The final priority weight Q of the i-th pipeline is:
[0072] Qi = ∑j = 1n(Sort(sji)*Rank(j)) + r (i = 1, 2…m; j = 1, 2…n);
[0073] After calculating the priority weights of each pipeline task to be run within the time window T, based on the available target machine resources n2, the weight results Q are sorted and then fuzzified.
[0074] That is:
[0075] 1. The tasks with the Q values of the current n2 tasks can be allocated to target machines numbered 1 to n2 in order (i.e., the number of ties is less than n). The task ranked n2 + 1 waits for the first available target machine, the task ranked n2 + 2 waits for the second available target machine, and so on.
[0076] 2. If the Q values of more than n2 current tasks are all tied, according to the factors considered by the user setting under the same result, the incentive values of the selected factors are summed for the second sorting.
[0077] In one embodiment, for tasks that the user has set to need to be rerun due to failure to run on a physical target machine and the number of reruns is set to be greater than or equal to 1, based on parameters such as the decreasing ratio r2 (0 < r2 < 0.9) set by the administrator, the rerun priority weight Q of the failed rerun task is updated.
[0078] 1. When the result of the task after running is failure, but the target machine status is normal, it is considered that there may be an error in the task itself. The task is re - added to the queuing sequence. However, each time the weight is calculated for rerunning, the Q value is multiplied by the decreasing ratio r2 to ensure that the weight of the repeatedly running task is decaying.
[0079] 2. When the result of the task after running is failure, but the target machine status is abnormal (the target machine is powered off, interrupted, not connected, etc.), it is considered that the abnormal running result is caused by the target machine. The task is re - added to the queuing sequence and rerun once (worried that the task itself may damage the target machine). When calculating the rerun weight, the Q value is divided by the decreasing ratio r2 to ensure that the weight of the second - run task is increased.
[0080] For example, assume the embedded continuous delivery platform has five tasks in the current time window T: Task 1, Task 2, Task 3, Task 4, and Task 5; and there are currently three available target machines. The sorting factors currently set by the administrator on the target machine management configuration page include the pipeline's default priority, owner level, expected normal execution time, expected worst-case execution time, pipeline deadline, whether the job is periodic, whether preemption is required, availability of similar target machines, whether to rerun a failed task, and the number of reruns. Furthermore, if the priority calculation results are the same, the user-defined Sort(s) and Rank(j) settings are used to prioritize the tasks.
[0081] For pipeline task Task1, the incentive function is a simple monotonically increasing function: Sort(x) = x, where x is in the interval [0, 1]. The pipeline preset priority ranges from [0, 10]. Higher priorities have a greater weight, representing a positive incentive. The collected value for the pipeline preset priority is 3, so the calculated incentive is Sort(Pipeline Preset Priority) = Sort((3 - 0) / (10 - 0)) = 0.3. The owner level is also a positive incentive, ranging from [0, 10], with a collected value of 8. Therefore, Sort(Owner Level) = (8 - 0) / (10 - 0) = 0.8. The expected normal execution time is a negative incentive factor, ranging from [0, 1000], with a collected value of 500. Therefore, Sort(Expected Normal Execution Time) = (1000 - 500) / (1000 - 0) = 0.5. Similarly, the incentive function values for the other ranking factors, including the worst-case execution time, pipeline deadline, whether it is a periodic job, and whether preemption is required, can be calculated as 0.5, 0.5, 0, and 0, respectively. Finally, the final priority weight formula yields the final weight Q = 8.4, as shown in Table 1.
[0082] The five tasks are calculated as Q1, Q2, Q3, Q4, and Q5 according to the formula, and then ranked in order as the final priority order to determine the priority level occupied by the target machine.
[0083] Table 1
[0084]
[0085] (4) Application effect
[0086] After the onboard continuous delivery platform is launched, tasks are broken down into smaller, related tasks and work orders based on required tasks. These tasks are then assigned to the development team, who can view the status of all work orders in a viewable list. Development tasks are then organized into iterations, and the progress of work orders can be tracked by iteration. Developers develop project code, including both product code and Infrastructure as Code (IaC). This involves creating pipeline configuration files and orchestrating pipeline designs triggered by changes in the project code repository. Because there are multiple projects, each with different branches for different pipeline operations, a large number of pipelines are generated.
[0087] b. Build a pipeline by selecting configuration items on the page. From the list of existing pipeline tools, select the tools you want to use and connect them together. Fill in the custom sections for each tool, then click Create Pipeline. This automatically generates a pipeline configuration file and triggers the continuous integration engine to create a pipeline task. You can view the pipeline in the stage view, modify the pipeline configuration, click Run, and view the logs. This allows you to quickly build a pipeline.
[0088] c. To implement automated testing in a pipeline, select automated test cases to build a test suite, select a physical or virtual target machine for the test task, and fill in and configure the administrator-defined target machine factors and related values to facilitate subsequent target machine conflict management ranking calculations. For test tasks whose target machines are occupied or intended to run at a scheduled time, a reservation method can be used for the current or specified time. Once reservation mode is enabled, the target machine's status will be polled at intervals. When the target machine is idle, the test will be performed based on the priority calculated by the target machine conflict management policy. For pipelines with automated testing on target machines, once the pipeline begins running, target machine tasks with the same time period in the time window before the start of automated testing will be ranked according to the target machine conflict management policy. The target machine with the highest ranking will continue to run. If the target machine is occupied, the pipeline will wait in polling until it is assigned. If the user finds that the algorithm results do not meet their expectations during use, the administrator can modify the time window T value, the impact factor Rank(i) value, the administrator parameter r, and the number of impact factors n, allowing for customization based on user feedback.
[0089] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A target machine management method for an airborne embedded continuous delivery platform, characterized in that: include: Construct an airborne embedded software continuous delivery platform, which includes a tool server, a web server, and a target machine management server in the pipeline. Through the delivery platform, the target machine pipeline is customized to achieve dynamic allocation and management of target machine resources; The web server is used as a front-end page display to provide related functions of the physical / virtual target machine, including physical / virtual target machine status display, reservation, power on and off, and operation; different user permissions can perform corresponding operations through the web server; and it also provides pipeline target machine configuration function; The target machine management server serves as a background server and provides automated functional testing and loading and running modes based on virtual target machines and physical target machines. It is used to manage physical / virtual target machines, monitor and record the status of all target machines, obtain the factor values of all target machine configuration factors, and perform analysis, sorting, and resource balancing based on the stage of selecting the target machine in the existing pipeline; The tool server in the pipeline is used to build a continuous delivery pipeline configuration file based on the front-end pipeline configuration page content, generate the pipeline display page, and provide data feedback on the front-end visualization interface; In a certain period, when the target machine resource occupation conflicts, the target machines in the current period are sorted by priority according to the factor values of the target machine configuration factors in the current period; The target machine configuration factors include: pipeline preset priority, owner level, expected normal execution time, expected worst-case execution time, pipeline deadline, whether it is a periodic job, whether preemption is required, whether similar target machines are available, whether to rerun a failed task, and the number of reruns; The specific strategies for sorting the target machines in the current period by priority include: Design an incentive function for the target machine configuration factor. The incentive function has the property of monotonically increasing in the interval (0,1); Pair the influencing factors for the target machine configuration factors and calculate the total ranking weight through weighted summation; For pipelines that need to be run multiple times, a rerun strategy is designed in which the priority gradually decreases as the number of reruns increases.
2. The target machine management method of an airborne embedded continuous delivery platform according to claim 1, characterized in that: The delivery platform also includes a file server and a database server; the file server and the database server are used to store and record data in the management process to facilitate later analysis.
3. The target machine management method of an airborne embedded continuous delivery platform according to claim 1, characterized in that: The process of pairing the influencing factors for the target machine configuration factors also includes: The influencing factor of a target machine configuration factor is designed to be an independent variable influencing factor, and the administrator can change the final weight by adjusting the independent variable influencing factor.
4. The target machine management method of an airborne embedded continuous delivery platform according to claim 1, characterized in that: In the process of calculating the total ranking weight by weighted summation, if the weight calculation results are the same, the incentive values of the selected factors are summed according to the factors considered under the same result set by the user, and a second sorting is performed.
Citation Information
Patent Citations
Visual continuous delivery method and system
CN115129427A