Distributed application program allocation method and apparatus, and electronic device and storage medium

By generating and deploying configuration files in a distributed system and automatically adjusting configuration parameters, the problem of real-time performance management of distributed applications is solved, and optimal resource allocation and execution scheduling is achieved to adapt to system changes.

WO2025138187A1PCT designated stage expired Publication Date: 2025-07-03SIEMENS AG +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/143485
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

In distributed systems, it is difficult to automatically manage and adjust the real-time performance of distributed applications, especially in the case of system complexity and resource sharing, existing provisioning tools cannot effectively meet the real-time performance requirements of applications.

Method used

Provides a provisioning method for distributed applications, which automatically adjusts configuration parameters by receiving configuration instructions, generating configuration parameter schemes, deploying candidate configuration files, evaluating performance indicators until the target configuration requirements are met, and automatically adjusts configuration parameters to achieve optimal resource allocation and execution scheduling.

Benefits of technology

It realizes automatic finding of the optimal configuration solution on distributed devices, meets the real-time performance requirements of each application, reduces provisioning time, and automatically adjusts configuration parameters when the application changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023143485_03072025_PF_FP_ABST
    Figure CN2023143485_03072025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a distributed application program allocation method and apparatus, and an electronic device and a storage medium. The allocation method comprises: receiving a configuration description for an application program; analyzing the configuration description to generate a plurality of different configuration parameter schemes as configuration space schemes; on the basis of the analysis of the configuration description, performance indicators of stored historical configuration parameter schemes, and a preset evaluation rule, retrieving and generating candidate configuration parameters in the configuration space schemes, and using a preset configuration file template and the candidate configuration parameters to generate a candidate configuration file; deploying the candidate configuration file on one or more target devices; receiving the current performance indicators that are related to each application program and from the target devices; on the basis of the current performance indicators, evaluating whether the configuration parameters in the candidate configuration file meet a target configuration requirement; and if the configuration parameters in the candidate configuration file meet the target configuration requirement, outputting the candidate configuration file as a resultant configuration file.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device, electronic device and storage medium for deploying distributed application programs Technical Field

[0001] The present disclosure generally relates to the field of automation technology, and more particularly, to a method, apparatus, electronic device, and storage medium for deploying distributed applications. Background Art

[0002] Real-time or deterministic capabilities are an important aspect of industrial automation solutions, especially for manufacturing industries that require high precision and speed. In traditional PLC controllers, real-time capabilities are managed by proprietary engineering tools and equipment, but new automation solutions (such as robots) are moving towards more open systems (such as Linux) and adopting IT ecosystems and tools to develop and operate the entire system.

[0003] These new solutions bring new problems:

[0004] Application creators have greater flexibility in developing applications and running them in distributed systems, but this makes it more difficult to manage and meet quality requirements.

[0005] It is difficult to tune the real-time performance of distributed applications due to the complexity of the system:

[0006] -Different configurations of applications will have different effects on the system.

[0007] -Different metrics from applications in different devices need to be collected and processed to evaluate performance.

[0008] - When applications share resources on a device, there are too many possibilities.

[0009] - If the application changes, you may need to adjust the configuration again.

[0010] There is currently no solution to automate the adjustment process.

[0011] Existing configuration tools are designed for individual devices and are more suitable for hardware or systems rather than distributed applications. Simulating the system is one way to find the optimal configuration parameters, but building simulation models is very expensive and it is impossible to verify all physical parameters and conditions.

[0012] Summary of the Invention

[0013] A brief overview of the present invention is provided below to provide a basic understanding of certain aspects of the present invention. It should be understood that this overview is not an exhaustive overview of the present invention. It is not intended to identify key or important aspects of the present invention, nor is it intended to limit the scope of the present invention. Its purpose is simply to present certain concepts in a simplified form as a prelude to the more detailed description discussed later.

[0014] In view of this, the present disclosure proposes a method for obtaining an optimal configuration scheme for resource allocation and execution scheduling of multiple real-time applications on each distributed device in an automation system, so that the optimal configuration scheme can meet the real-time performance requirements of all applications.

[0015] According to one aspect of the present disclosure, a method for deploying a distributed application is provided, comprising:

[0016] An initialization step of receiving a configuration description for the application, wherein the configuration description is used to define initialization information for performing deployment operations on the application;

[0017] a configuration scheme generating step of analyzing the configuration description and generating a plurality of different configuration parameter schemes as a configuration scheme space;

[0018] a candidate configuration file generating step, based on an analysis of the configuration description, performance indicators of stored historical configuration parameter schemes, and preset evaluation rules, retrieving and generating candidate configuration parameters in the configuration space scheme, and generating a candidate configuration file using a predetermined configuration file template and the candidate configuration parameters;

[0019] a configuration file deployment step, deploying the candidate configuration file on one or more target devices;

[0020] a performance indicator receiving step of receiving current performance indicators of each application from the target device;

[0021] a configuration file evaluation step, evaluating whether the configuration parameters in the candidate configuration file meet the target configuration requirements based on the current performance indicators;

[0022] The result configuration file output step outputs the candidate configuration file as the result configuration file if the configuration parameters in the candidate configuration file meet the target configuration requirements.

[0023] In this way, a method for automatically obtaining an optimal configuration solution for resource allocation and execution scheduling of multiple real-time applications on various distributed devices can be provided.

[0024] Optionally, in an example of the above aspect, when the configuration parameters in the candidate configuration file do not meet the target configuration requirements, the method is repeatedly executed starting from the candidate configuration file generating step until configuration parameters meeting the target configuration requirements are obtained.

[0025] In this way, the configuration parameters can be adjusted based on the performance indicators collected using the candidate configuration parameters until the target configuration requirements, ie, the real-time performance requirements of each application, are met.

[0026] Optionally, in an example of the above aspect, the configuration description includes: adjustment configuration information, device and resource configuration information, application resource requirement information, and application dependency information.

[0027] In this way, appropriate initialization information can be set as needed.

[0028] Optionally, in an example of the above aspect, the application is an application requiring real-time performance that is installed on a distributed device.

[0029] According to another aspect of the present disclosure, a method for deploying a distributed application is provided, comprising:

[0030] receiving a candidate configuration file, the candidate configuration file including resource scheduling parameters and application configuration parameters;

[0031] Allocating resources for each application program according to the resource scheduling parameters;

[0032] scheduling execution of each application based on the application configuration parameters;

[0033] The performance indicators of each application are collected and sent to the first deployment device.

[0034] In this way, resources can be allocated and applications can be executed on each distributed device. At the same time, the performance indicators of each application can be collected as a reference for adjusting configuration parameters.

[0035] According to another aspect of the present disclosure, a first deployment device for a distributed application is provided, comprising:

[0036] an initialization unit configured to receive a configuration specification for an application, wherein the configuration specification is used to define initialization information for performing a deployment operation on the application;

[0037] a configuration scheme generating unit, configured to analyze the configuration description and generate a plurality of different configuration parameter schemes as a configuration scheme space;

[0038] a candidate configuration file generating unit configured to retrieve and generate candidate configuration parameters in the configuration space scheme based on an analysis of the configuration description, performance indicators of stored historical configuration parameter schemes, and preset evaluation rules, and generate a candidate configuration file using a predetermined configuration file template and the candidate configuration parameters;

[0039] a configuration file deployment unit, configured to deploy the candidate configuration file on one or more target devices;

[0040] a performance indicator receiving unit configured to receive a current performance indicator of each application from a target device;

[0041] a configuration file evaluation unit configured to evaluate whether the configuration parameters in the candidate configuration file meet target configuration requirements based on the current performance indicator; and

[0042] The result configuration file output unit is configured to output the candidate configuration file as the result configuration file if the configuration parameters in the candidate configuration file meet the target configuration requirements.

[0043] According to another aspect of the present disclosure, a second deployment apparatus for a distributed application is provided, which is disposed on a distributed device and includes:

[0044] a candidate configuration file receiving unit configured to receive a candidate configuration file, wherein the candidate configuration file includes resource scheduling parameters and application configuration parameters;

[0045] a resource allocation unit, configured to allocate resources for each application according to the resource scheduling parameters;

[0046] an application execution unit configured to schedule execution of each application according to the application configuration parameters;

[0047] The performance indicator collection unit is configured to collect performance indicators of various application programs and send them to the first allocation device.

[0048] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory coupled to the at least one processor, the memory being used to store instructions that, when executed by the at least one processor, enable the processor to execute the method described above.

[0049] According to another aspect of the present disclosure, a non-transitory machine-readable storage medium is provided, which stores executable instructions. When the instructions are executed, the machine is caused to perform the method described above.

[0050] According to another aspect of the present disclosure, a computer program product is provided, which is tangibly stored on a computer-readable medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the method described above.

[0051] According to the deployment method of the embodiment of the present disclosure, an optimal configuration solution can be found for resource allocation and scheduling execution of distributed real-time applications.

[0052] The deployment time can be reduced based on appropriate evaluation rules, and the extension evaluation rules can be adjusted.

[0053] Configuration parameters for each application can be automatically adjusted as the application changes. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] The above and other purposes, features and advantages of the present invention will be more easily understood by referring to the following description of the embodiments of the present invention in conjunction with the accompanying drawings. The components in the accompanying drawings are only for illustrating the principles of the present invention. In the accompanying drawings, the same or similar technical features or components will be represented by the same or similar reference numerals. In the accompanying drawings:

[0055] FIG1 is a schematic architecture diagram of a distributed automation system;

[0056] FIG2 is a flowchart of an exemplary process of a method 200 for deploying a distributed application program executed on a first deployment device according to an embodiment of the present invention;

[0057] FIG3 is a flowchart of an exemplary process of a method 300 for deploying a distributed application program executed at a distributed device according to an embodiment of the present disclosure;

[0058] FIG4 is a block diagram of an exemplary configuration of a first deployment device 400 for a distributed application according to another embodiment of the present disclosure;

[0059] FIG5 is a block diagram of an exemplary configuration of a second deployment device 500 for a distributed application according to yet another embodiment of the present disclosure;

[0060] FIG6 shows a block diagram of an electronic device according to an embodiment of the present disclosure.

[0061] The accompanying drawings are numerals as follows: DETAILED DESCRIPTION

[0062] The subject matter described herein will now be discussed with reference to example embodiments. It should be understood that discussing these embodiments is intended only to enable those skilled in the art to better understand and implement the subject matter described herein, and is not intended to limit the scope of protection, applicability, or examples set forth in the claims. The functions and arrangements of the elements discussed may be changed without departing from the scope of protection of this disclosure. Various examples may omit, replace, or add various processes or components as needed. For example, the described method may be performed in an order different from the described order, and various steps may be added, omitted, or combined. In addition, features described relative to some examples may also be combined in other examples.

[0063] As used herein, the term "including" and its variations are open terms meaning "including but not limited to". The term "based on" means "based at least in part on". The terms "one embodiment" and "an embodiment" mean "at least one embodiment". The term "another embodiment" means "at least one other embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other definitions may be included below, whether explicit or implicit. Unless the context clearly indicates otherwise, the definition of a term is consistent throughout the specification.

[0064] According to the technical solution disclosed herein, a method is proposed for obtaining an optimal configuration scheme for resource allocation and execution scheduling of multiple real-time applications on each distributed device for multiple distributed devices in an automation system, so that the optimal configuration scheme can meet the real-time performance requirements of all applications.

[0065] FIG1 is a schematic architecture diagram of a distributed automation system 10, which includes multiple distributed devices 102-1, 102-2, ..., 102-n, and a first deployment apparatus 400 according to an embodiment of the present disclosure. Each distributed device 102-1, 102-2, ..., 102-n is installed with one or more applications (Apps) (or threads) 104-1, 104-2, ..., 104-m. These applications or threads require real-time performance, such as low latency and low jitter. Applications on different distributed devices may also communicate with each other, and the resources used by each application (e.g., CPU, network, etc.) are centrally managed. The first deployment apparatus 400 according to an embodiment of the present disclosure can execute the deployment method according to an embodiment of the present disclosure to generate an optimal configuration scheme for various parameters for resource allocation and application scheduling execution for multiple real-time applications on each distributed device, thereby meeting the real-time performance requirements of all applications. A second allocation device 500 is respectively provided on each distributed device 102 - 1 , 102 - 2 , . . . 102 - n for allocating resources to each application and scheduling the execution of the application, as well as collecting performance indicators of the application and sending them to the first allocation device 400 .

[0066] The following describes a method and apparatus for deploying a distributed application according to an embodiment of the present disclosure in conjunction with the accompanying drawings.

[0067] The distributed application deployment method according to the embodiment of the present disclosure involves two aspects: a first deployment device that generates a configuration plan for the distributed application and a distributed device that installs the application. The first deployment device can be set up on a server independent of the distributed device, and the operation steps it performs are shown in Figure 2.

[0068] FIG2 is a flow chart of an exemplary process of a method 200 for deploying a distributed application program executed on a first deployment device according to an embodiment of the present invention. The method specifically includes:

[0069] First, in the initialization step S202, a configuration description for the application is received, where the configuration description is used to define initialization information for performing deployment operations on the application.

[0070] In this article, "deployment" refers to the management of system resources and applications to achieve real-time performance of each application while executing the application. For example, it may include: allocating system resources (CPU, network resources, etc.) to the application of a certain device, determining which applications share which resources, deciding when to run a certain application, etc.

[0071] The configuration description may specifically include: adjustment configuration information, device and resource configuration information, application resource requirements, and application dependencies.

[0072] Adjustment configuration information defines the parameters of the deployment operation, such as the adjustment period (how often the application deployment plan is adjusted), and the result type, which can be either the optimal configuration or the first configuration that meets the requirements. The optimal configuration is obtained by adjusting the configuration parameters multiple times during the deployment process. The first configuration that meets the requirements is the first configuration obtained during the deployment process that meets the real-time requirements of all applications. This configuration is not necessarily the optimal solution, but it can save adjustment time.

[0073] Device and resource configuration information is used to define relevant information about the device or resource, such as IP address, security authentication information, and available resources on each device, such as independent CPU cores and network interfaces for real-time communication.

[0074] The application resource requirement information is used to define the resource requirements of each application, such as priority, and performance requirements, such as latency.

[0075] Application dependency information is used to define latency dependencies between multiple applications, such as the latency of application A is a fraction of the latency of application B, application A must be executed before application B, and so on.

[0076] Those skilled in the art may pre-set various information in the configuration instructions as needed, and are not limited to the above description. The information in the received configuration instructions is equivalent to initialization parameters for the deployment operation. After receiving the configuration instructions, subsequent deployment operations will be triggered. For example, the deployment operation can be triggered based on the adjustment period in the configuration information.

[0077] Next, in the configuration solution generating step S204 , the received configuration description is analyzed to generate a plurality of different configuration solutions as a configuration solution space.

[0078] Based on the analysis of the configuration description, different value ranges of various parameters related to system resources and applications can be obtained. Different parameter configuration schemes can be generated based on the different values ​​of each parameter. All possible parameter configuration schemes are stored as a configuration scheme space.

[0079] In the candidate configuration file generation step S206, based on the analysis of the configuration description, the performance indicators of the historical configuration schemes and the preset evaluation rules, candidate configuration parameters are retrieved and generated in the configuration space scheme, and the candidate configuration file is generated using the predetermined configuration file template and the candidate configuration parameters.

[0080] The historical configuration scheme may be configuration parameters previously adopted by the system or candidate configuration parameters evaluated during the execution of the configuration method.

[0081] In the solution according to the embodiment of the present disclosure, for each set of candidate configuration parameters, the performance indicators of each application when the set of configuration parameters is used for resource allocation and application scheduling of distributed devices are tracked and recorded, and some evaluation rules are set in advance, and the performance indicators and evaluation rules are used as reference standards for selecting and generating candidate configuration parameters in the configuration solution space.

[0082] The evaluation rules include rules for selecting the next set of candidate configuration parameters and rules for sorting the candidate configuration parameters. For example, the rules for selecting the next set of candidate configuration parameters may include:

[0083] The selected configuration parameters are no longer selected;

[0084] Since more applications sharing the same resources will degrade performance, if an application has reached its latency limit, no more applications will be added to share the same resources.

[0085] Latency is affected by dependent applications. If an application has reached its maximum latency limit, improve the performance of its dependent applications.

[0086] Rules for sorting candidate configuration parameters may include, for example:

[0087] Less over-performance;

[0088] The overall delay is small and the jitter during the working process is small;

[0089] More balanced sharing of resources.

[0090] Configuration parameters that can meet the above aspects are better parameters and can be used as a reference and selected at the front when sorting.

[0091] It is understood that those skilled in the art can define appropriate evaluation rules as needed, without being limited to the above.

[0092] Based on the analysis of the configuration description, the performance indicators of historical configuration solutions and predetermined evaluation rules, candidate configuration parameters can be retrieved and generated in the configuration space solution.

[0093] In the solution according to the embodiment of the present disclosure, an appropriate configuration file template may be preset, and the candidate configuration file is a candidate configuration parameter represented in the format of the predetermined configuration file template.

[0094] In the configuration file deployment step S208 , the candidate configuration file is deployed to one or more target devices.

[0095] The deployment method according to the present disclosure can be for deployment of multiple applications on the same distributed device, or for deployment of multiple applications on multiple distributed devices. Depending on different situations, the candidate configuration files are deployed to the corresponding target devices.

[0096] On the target device, resource allocation and application execution will be performed according to the parameters in the candidate configuration file. During this process, the performance indicators of each application will be collected at the same time and sent to the adjustment device that executes the deployment method. The specific process will be described in detail below in conjunction with Figure 3.

[0097] In the performance indicator receiving step S210 , the current performance indicator of each application is received from the target device.

[0098] In the configuration file evaluation step S212, whether the configuration parameters in the candidate configuration file meet the target configuration requirements is evaluated based on the current performance indicators. If Y is satisfied, the result configuration file output step S214 is executed to output the candidate configuration file as the result configuration file.

[0099] The target configuration requirements are pre-set real-time performance requirements for each application, such as minimum jitter, non-violation of latency requirements, etc. If the target configuration requirements are met, it is considered that the parameters for resource allocation and execution scheduling for the applications on each distributed device included in the current candidate configuration file to execute the deployment method according to the embodiment of the present disclosure can meet the real-time performance requirements of the applications on each distributed device. Therefore, the current candidate configuration file is output as the result configuration file to be used as the parameters for subsequent execution of the distributed application.

[0100] If N is not satisfied, the process returns to step S206 , where new candidate configuration parameters are retrieved and generated in the configuration space solution based on the analysis of the configuration description, the performance indicators of the historical configuration solutions, and the predetermined evaluation rules, and subsequent steps are executed.

[0101] Here, the performance indicators of the historical configuration scheme include the performance indicators of each application program received from the target device during the previous round of execution, and new candidate configuration parameters are further adjusted based on the performance indicators.

[0102] Repeat steps S206 to S212 until configuration parameters that meet the target configuration requirements are obtained.

[0103] This process is to continuously adjust the candidate configuration parameters based on the performance indicators of each application collected in each round until the configuration parameters that meet the target configuration requirements are obtained.

[0104] The above description of the operation steps performed by the first deployment device during the execution of the deployment method of the distributed application according to the embodiment of the present disclosure is based on FIG2. The operation steps performed on the distributed device side are shown in FIG3. FIG3 is a flowchart of an exemplary process of the deployment method 300 of the distributed application executed at the distributed device according to the embodiment of the present disclosure. The method specifically includes:

[0105] First, in step S302, a candidate configuration file is received, where the candidate configuration file includes resource scheduling parameters and application configuration parameters.

[0106] In step S304, resources are allocated to each application according to the resource scheduling parameters.

[0107] Resource scheduling parameters may include resource binding information and scheduling parameters. For example, if the resource scheduling parameters indicate that an application is to be bound to the first core of a CPU, the application is moved to the assigned CPU core. Scheduling parameters may include, for example, the scheduling algorithm to be selected, such as the Completely Fair Scheduler (CFS) algorithm. Those skilled in the art can set a suitable scheduling algorithm in the scheduling parameters as needed.

[0108] In step S306, the execution of each application is scheduled according to the application configuration parameters.

[0109] Application configuration parameters may include information such as priority, delay, execution cycle, etc. For example, the execution time of an application may be determined based on the execution cycle of the application.

[0110] The candidate configuration file includes at least the above information, and the distributed device performs resource allocation and application execution based on the information.

[0111] In step S308, the current performance indicators of each application are collected and sent to the deployment device.

[0112] During application execution, each application is tracked in real time, along with the resource scheduling and allocation process, to collect performance metrics. This means there is virtually no additional performance overhead for the application.

[0113] Each distributed device executes the steps shown in Figure 3. Multiple rounds of these steps may be performed at each distributed device, with each round employing different configuration parameters and collecting different performance metrics. The deployment device stores historical performance metrics from each distributed device under different configuration parameters as a reference for generating candidate configuration parameters.

[0114] Figure 4 is a block diagram illustrating an exemplary configuration of a first deployment device 400 for a distributed application according to another embodiment of the present disclosure. The first deployment device 400 for a distributed application is configured to execute the distributed application deployment method shown in Figure 2. The first deployment device 400 can be a device independent of the distributed device or can be located on a server.

[0115] The first deployment device 400 of the distributed application shown in Figure 4 includes an initialization unit 402, a configuration scheme generation unit 404, a candidate configuration file generation unit 406, a configuration file deployment unit 408, a performance indicator receiving unit 410, a configuration file evaluation unit 412 and a result configuration file output unit 414.

[0116] The initialization unit 402 is configured to receive a configuration specification for an application, where the configuration specification is used to define initialization information for performing a deployment operation on the application.

[0117] The configuration solution generating unit 404 is configured to analyze the configuration description and generate a plurality of different configuration parameter solutions as a configuration solution space.

[0118] The candidate configuration file generation unit 406 is configured to retrieve and generate candidate configuration parameters in the configuration space scheme based on the analysis of the configuration description, the performance indicators of the stored historical configuration parameter schemes and the preset evaluation rules, and generate a candidate configuration file using a predetermined configuration file template and the candidate configuration parameters.

[0119] The configuration file deployment unit 408 is configured to deploy the candidate configuration file on one or more target devices.

[0120] The performance indicator receiving unit 410 is configured to receive a current performance indicator of each application from the target device.

[0121] The configuration file evaluation unit 412 is configured to evaluate whether the configuration parameters in the candidate configuration file meet the target configuration requirements based on the current performance indicators. If the configuration parameters in the candidate configuration file do not meet the target configuration requirements, the candidate configuration file generation device 406 begins to repeatedly perform operations until configuration parameters that meet the target configuration requirements are obtained.

[0122] The result configuration file output unit 414 is configured to output the candidate configuration file as the result configuration file if the configuration parameters in the candidate configuration file meet the target configuration requirements.

[0123] 5 is a block diagram of an exemplary configuration of a second deployment apparatus 500 for a distributed application according to another embodiment of the present disclosure. The second deployment apparatus 500 for a distributed application is provided in each distributed device and is configured to execute the deployment method for a distributed application as shown in FIG3 .

[0124] The second deployment device 500 of a distributed application according to an embodiment of the present disclosure includes: a candidate configuration file receiving unit 502 , a resource allocation unit 504 , an application execution unit 506 , and a performance indicator collection unit 508 .

[0125] The candidate configuration file receiving unit 502 is configured to receive a candidate configuration file, where the candidate configuration file includes resource scheduling parameters and application configuration parameters.

[0126] The resource allocation unit 504 is configured to allocate resources to each application according to the resource scheduling parameters.

[0127] The application execution unit 506 is configured to schedule the execution of each application according to the application configuration parameters.

[0128] The performance indicator collection unit 508 is configured to collect performance indicators of various applications and send them to the deployment device.

[0129] The details of the operations and functions of the various parts of the first deployment device 400 and the second deployment device 500 of the distributed application may be the same as or similar to the relevant parts of the embodiment of the deployment method of the distributed application of the present disclosure described in conjunction with Figures 1-3, and will not be described in detail here.

[0130] It should be noted that the structures of the distributed application deployment devices 400 and 500 and their constituent units shown in Figures 4 and 5 are merely exemplary, and those skilled in the art may modify the structural block diagrams shown in Figures 4 and 5 as needed.

[0131] The method and apparatus for deploying distributed applications according to the present disclosure have at least one or more of the following advantages.

[0132] According to the deployment method of the embodiment of the present disclosure, an optimal configuration solution can be found for resource allocation and scheduling execution of distributed real-time applications.

[0133] The deployment time can be reduced based on appropriate evaluation rules, and the extension evaluation rules can be adjusted.

[0134] Configuration parameters for each application can be automatically adjusted as the application changes.

[0135] The method and apparatus according to the embodiments of the present disclosure are described above with reference to Figures 1 to 5. Each unit of the first and second deployment apparatuses of the distributed application described above can be implemented using hardware, software, or a combination of hardware and software.

[0136] 6 shows a block diagram of an electronic device 600 according to an embodiment of the present disclosure. According to one embodiment, the electronic device 600 may include at least one processor 602 that executes at least one computer-readable instruction stored or encoded in a computer-readable storage medium (ie, memory 604).

[0137] It should be understood that the computer executable instructions stored in the memory 604, when executed, cause the at least one processor 602 to perform the various operations and functions described above in conjunction with Figures 1-5 in various embodiments of the present disclosure.

[0138] According to one embodiment, a non-transitory machine-readable medium is provided. The non-transitory machine-readable medium may have machine-executable instructions, which, when executed by a machine, enable the machine to perform various operations and functions described above in conjunction with FIG. 1-5 in various embodiments of the present disclosure.

[0139] According to one embodiment, a computer program is provided, including computer-executable instructions, which, when executed, enable at least one processor to perform the various operations and functions described above in conjunction with Figures 1-5 in various embodiments of the present disclosure.

[0140] According to one embodiment, a computer program product is provided, including computer-executable instructions, which, when executed, enable at least one processor to perform the various operations and functions described above in conjunction with Figures 1-5 in various embodiments of the present disclosure.

[0141] It should be understood that the various embodiments in this specification are described in a progressive manner, and reference can be made to the identical or similar parts of the various embodiments. Each embodiment focuses on the differences from the other embodiments. For example, the aforementioned apparatus embodiments, electronic device embodiments, and machine-readable storage medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For relevant details, reference can be made to the descriptions of the method embodiments.

[0142] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0143] Not all steps and units in the above processes and system structure diagrams are required, and some steps or units may be omitted according to actual needs. The device structures described in the above embodiments can be physical structures or logical structures, that is, some units may be implemented by the same physical entity, or some units may be implemented by multiple physical entities, or may be implemented by certain components in multiple independent devices.

[0144] The specific embodiments described above in conjunction with the accompanying drawings describe exemplary embodiments, but do not represent all embodiments that can be implemented or fall within the scope of protection of the claims. The term "exemplary" used throughout this specification means "used as an example, instance or illustration" and does not mean "preferred" or "having advantages" over other embodiments. For the purpose of providing an understanding of the described technology, the specific embodiments include specific details. However, these technologies can be implemented without these specific details. In some instances, in order to avoid obscuring the concepts of the described embodiments, well-known structures and devices are shown in block diagram form.

[0145] The foregoing description of the present disclosure is provided to enable any person skilled in the art to implement or use the present disclosure. Various modifications to the present disclosure will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the scope of the present disclosure. Therefore, the present disclosure is not limited to the examples and designs described herein, but is intended to be consistent with the widest range of principles and novel features disclosed herein.

[0146] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

[0147] Nouns and pronouns referring to persons in this patent application are not limited to a specific gender.

Claims

1. A deployment method (200) for a distributed application, comprising: An initialization step (S202) of receiving a configuration description for the application, the configuration description being used to define initialization information for performing deployment operations on the application; A configuration scheme generation step (S204) of analyzing the configuration description to generate a plurality of different configuration parameter schemes as a configuration scheme space; A candidate configuration file generation step (S206) of retrieving and generating candidate configuration parameters in the configuration space scheme based on the analysis of the configuration description, the performance metrics of the stored historical configuration parameter schemes, and a preset evaluation rule, and generating a candidate configuration file by using a predetermined configuration file template and the candidate configuration parameters; A configuration file deployment step (S208) of deploying the candidate configuration file on one or more target devices; A performance metric receiving step (S210) of receiving current performance metrics for each application from the target device; A configuration file evaluation step (S212) of evaluating whether the configuration parameters in the candidate configuration file meet the target configuration requirements based on the current performance metrics; And A result configuration file output step (S214) of outputting the candidate configuration file as a result configuration file when the configuration parameters in the candidate configuration file meet the target configuration requirements.

2. The dispensing method (200) according to claim 1, wherein, In the case that it is determined in the configuration file evaluation step (S212) that the configuration parameters in the candidate configuration file do not meet the target configuration requirements, the method is repeatedly executed starting from the candidate configuration file generation step (S206) until configuration parameters that meet the target configuration requirements are obtained.

3. The dispensing method (200) according to claim 1, wherein, The configuration description includes: adjustment configuration information, device and resource configuration information, application resource requirement information, and application dependency relationship information.

4. The dispensing method (200) according to claim 1, wherein, The application is an application that requires real-time performance and is installed on a distributed device.

5. A deployment method (300) for a distributed application, executed on a distributed device, comprising: Receiving a candidate configuration file (S302), the candidate configuration file including resource scheduling parameters and application configuration parameters; Performing resource allocation for each application according to the resource scheduling parameters (S304); Scheduling the execution of each application according to the application configuration parameters (S306); Collecting the performance metrics of each application (S308) and sending them to a deployment device.

6. A first deployment apparatus (400) for a distributed application, comprising: An initialization unit (402) configured to receive a configuration description for the application, the configuration description being used to define initialization information for performing deployment operations on the application; A configuration scheme generation unit (404) configured to analyze the configuration description to generate a plurality of different configuration parameter schemes as a configuration scheme space; A candidate configuration file generation unit (406), configured to retrieve and generate candidate configuration parameters in the configuration space solution based on the analysis of the configuration description, the performance metrics of the stored historical configuration parameter solutions, and a preset evaluation rule, and generate a candidate configuration file by using a predetermined configuration file template and the candidate configuration parameters; A configuration file deployment unit (408), configured to deploy the candidate configuration file on one or more target devices; A performance metric receiving unit (410), configured to receive the current performance metrics of each application from the target device; A configuration file evaluation unit (412), configured to evaluate whether the configuration parameters in the candidate configuration file meet the target configuration requirements based on the current performance metrics; And A result configuration file output unit (414), configured to output the candidate configuration file as a result configuration file if the configuration parameters in the candidate configuration file meet the target configuration requirements.

7. The first deployment device (400) according to claim 6, wherein the configuration file evaluation unit (412) is further configured to, if the configuration parameters in the candidate configuration file do not meet the target configuration requirements, cause the candidate configuration file generation device to start repeating the operation until configuration parameters that meet the target configuration requirements are obtained.

8. A second deployment device (500) for a distributed application, provided on a distributed device, comprising: A candidate configuration file receiving unit (502), configured to receive a candidate configuration file, the candidate configuration file including resource scheduling parameters and application configuration parameters; A resource allocation unit (504), configured to perform resource allocation for each application according to the resource scheduling parameters; An application execution unit (506), configured to schedule the execution of each application according to the application configuration parameters; A performance metric collection unit (508), configured to collect the performance metrics of each application and send them to the first deployment device.

9. An electronic device (600), comprising: At least one processor (602); And A memory (604) coupled to the at least one processor (602), the memory being used to store instructions, and when the instructions are executed by the at least one processor (602), the processor (602) is caused to execute the method according to any one of claims 1-4, 5.

10. A non-transitory machine-readable storage medium, which stores executable instructions, and when the instructions are executed, the machine is caused to execute the method according to any one of claims 1-4, 5.

11. A computer program product, the computer program product being tangibly stored on a computer-readable medium and including computer-executable instructions, the computer-executable instructions, when executed, causing at least one processor to execute the method according to any one of claims 1-4, 5.

Citation Information

Patent Citations

  • Distributed application configuration method and device and distributed system

    CN109976822A

  • Distributed implementation method, distributed system, readable medium and electronic equipment

    CN114697348A

  • Resource scheduling method and device

    CN114816650A

  • Distributed application performance monitoring method based on service calling topology

    CN117112364A

  • Architecture for distributed computing system and automated design, deployment, and management of distributed applications

    CN1601510A