A container-based application automatic orchestration offline deployment system and method thereof

By building an offline image repository and utilizing the Docker Compose tool to generate configuration files and integrate deployment data, the inefficiency of the Docker Compose tool in network-constrained environments is solved, enabling automated deployment and management of applications and improving deployment efficiency and flexibility in offline environments.

CN119690460BActive Publication Date: 2025-11-18RESVENT MEDICAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411759987.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-11-18
Estimated Expiration
2044-11-29

AI Technical Summary

Technical Problem

In environments with limited network access or offline conditions, existing Docker Compose tools are inefficient and prone to errors in deploying applications, and cannot achieve automated deployment and management.

Method used

This paper provides a container-based application automatic orchestration offline deployment system, including a data integration module, a resource grouping module, a coefficient calculation module, a weight analysis module, and a report generation module. The system generates an offline deployment data report by building an offline image repository, generating configuration files, integrating deployment data, calculating resource impact coefficients and function impact weights.

Benefits of technology

It improves the deployment efficiency of applications in network-constrained or offline environments, ensures flexibility and reliability, enhances data visualization and optimization efficiency, and avoids resource waste and performance bottlenecks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690460B_ABST
    Figure CN119690460B_ABST
Patent Text Reader

Abstract

The application relates to the field of deployment and operation, and discloses a container-based application automatic arrangement offline deployment system and method thereof, which comprises the following steps: firstly, constructing an offline image warehouse and generating a configuration file, and obtaining integrated deployment data through containerization encapsulation and multi-source environment information integration; secondly, generating a deployment data matrix and extracting features, so as to perform resource grouping; thirdly, using a Docker Compose tool to screen key resource features, constructing a resource allocation graph, calculating a resource influence coefficient, constructing a feature-demand correlation graph, and analyzing a function influence weight; and finally, determining a level based on the performance evaluation value, extracting key performance data, and generating an offline deployment data report. The application can improve the offline deployment efficiency of a program.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application relates to the field of deployment and operation and maintenance, and in particular to an application automatic offline deployment system based on containers and a method thereof. BACKGROUND

[0002] In the current software development and deployment process, efficient deployment of application programs is crucial, and Docker has become a widely used containerization platform. However, in some specific scenarios, such as network-limited environments or offline environments, how to achieve fast and reliable deployment of application programs remains a challenge.

[0003] Docker Compose is a tool for defining and running multi-container applications, which configures each service of the application and its dependencies through a YAML file. However, the existing Docker Compose often requires manual operation for deployment in offline environments, which is inefficient and prone to errors. To solve the above problems, a container-based application automatic offline deployment method is needed to solve the problems of automatic deployment, management and operation of application programs in network-isolated or bandwidth-limited environments, and to improve the efficiency of offline deployment of programs. SUMMARY

[0004] The application provides an application automatic offline deployment system based on containers and a method thereof, which mainly aims to improve the efficiency of offline deployment of programs.

[0005] To achieve the above purpose, the application provides an application automatic offline deployment system based on containers, which comprises:

[0006] A data integration module is configured to build an offline image repository corresponding to a target application, extract program requirements corresponding to an application program in the offline image repository, generate a configuration file corresponding to the target application based on the program requirements, containerize and encapsulate the configuration file to obtain containerized application data, and integrate multi-source environment information of the containerized application data to obtain integrated deployment data.

[0007] A resource grouping module is configured to generate a deployment data matrix corresponding to the containerized application data based on the integrated deployment data, extract deployment data features in the deployment data matrix, group resources based on the deployment data features, and obtain a grouped resource cluster.

[0008] a coefficient calculation module, configured to filter key resource features in the grouped resource cluster by using a preset Docker Compose tool, construct a resource allocation graph corresponding to the containerized application data based on the key resource features, and calculate resource influence coefficients corresponding to key resources in the resource allocation graph;

[0009] a weight analysis module, configured to construct a feature-demand association graph corresponding to the target application based on the resource influence coefficients and application function requirements corresponding to the preset Docker Compose tool, and analyze function influence weights corresponding to features in the feature-demand association graph;

[0010] a report generation module, configured to calculate a performance evaluation value corresponding to the target application based on the function influence weights, determine a performance level corresponding to the performance evaluation value, extract key performance data in the performance level, and generate an offline deployment data report corresponding to the target application based on the key performance data.

[0011] Optionally, the generating the configuration file corresponding to the target application based on the program requirements comprises:

[0012] identifying resource requirement lists corresponding to the program requirements;

[0013] generating a configuration file framework corresponding to the target application based on the resource requirement lists;

[0014] analyzing framework indicators corresponding to the configuration file framework;

[0015] performing framework optimization on the configuration file framework based on the framework indicators to obtain an optimized framework;

[0016] filling detailed parameters in the program requirements into the optimized framework to obtain a filling result;

[0017] generating the configuration file corresponding to the target application based on the filling result.

[0018] Optionally, the performing multi-source environment information integration on the containerized application data to obtain integrated deployment data comprises:

[0019] identifying source identifiers corresponding to the containerized application data;

[0020] querying identifier extraction paths corresponding to the source identifiers;

[0021] collecting original environment information corresponding to the containerized application data based on the identifier extraction paths;

[0022] constructing an original information group corresponding to the original environment information;

[0023] screening key information points in the original information set;

[0024] integrating the key information points with multi-source environment information to obtain integrated deployment data.

[0025] Optionally, the generating, based on the integrated deployment data, of deployment data matrix corresponding to the containerized application data comprises:

[0026] parsing data dimension information corresponding to the integrated deployment data;

[0027] determining row identification elements and column identification elements corresponding to the data dimension information;

[0028] extracting key deployment values in the integrated deployment data;

[0029] classifying and grouping the key deployment values with the row identification elements and the column identification elements to obtain a grouped data set;

[0030] determining deployment cells corresponding to the grouped data set;

[0031] generating, based on the deployment cells, of deployment data matrix corresponding to the containerized application data.

[0032] Optionally, the resource grouping, based on the deployment data features, of the integrated deployment data to obtain grouped resource clusters comprises:

[0033] analyzing feature attribute types corresponding to the deployment data features;

[0034] dividing resource categories of the integrated deployment data based on the feature attribute types;

[0035] extracting resource management information in the integrated deployment data based on the resource categories;

[0036] identifying resource clusters corresponding to the resource management information;

[0037] grouping, based on the resource clusters, of the integrated deployment data to obtain grouped resource clusters.

[0038] Optionally, the constructing, based on the key resource features, of resource allocation graph corresponding to the containerized application data comprises:

[0039] querying feature association logic in the key resource features;

[0040] determining resource relationships between the key resource features based on the feature association logic;

[0041] constructing an initial graph framework corresponding to the resource relationships;

[0042] The initial graph framework is resource valued to obtain a valued resource framework;

[0043] Based on the valued resource framework, a resource allocation graph corresponding to the containerized application data is constructed.

[0044] Optionally, the resource influence coefficient corresponding to a key resource in the resource allocation graph is calculated, including:

[0045] The resource influence coefficient corresponding to a key resource in the resource allocation graph is calculated by using the following formula:

[0046]

[0047] Wherein, RI represents the resource influence coefficient corresponding to a key resource in the resource allocation graph, n represents the total number of the key resources, i represents the number index of the key resources, A i represents the resource utilization rate corresponding to the i-th key resource, B i represents the weight factor corresponding to the i-th key resource, m represents the number of environmental factors related to resource allocation, j represents the index of the environmental factors, C j represents the factor influence value corresponding to the j-th environmental factor, D represents the complexity coefficient corresponding to the resource allocation graph, and E represents the basic influence coefficient.

[0048] Optionally, the functional influence weight corresponding to a feature in the feature-demand association graph is analyzed, including:

[0049] A feature node in the feature-demand association graph is identified;

[0050] A node function path corresponding to the feature node is extracted;

[0051] The frequency of function interaction corresponding to the node function path is counted;

[0052] Based on the frequency of function interaction, the function influence level corresponding to a function in the associated function path is determined;

[0053] Based on the function influence level, the functional influence weight corresponding to a feature in the feature-demand association graph is analyzed.

[0054] Optionally, the performance evaluation value corresponding to the target application is calculated based on the functional influence weight, including:

[0055] The performance evaluation value corresponding to the target application is calculated by using the following formula:

[0056]

[0057] Wherein, QP represents the performance evaluation value corresponding to the target application, n' represents the total number of functional modules in the target application, i' represents the number index of the functional module, GA i′ represents the function influence weight of the i' functional module, ZL i′ represents the resource utilization rate of the i' functional module, SX i′ represents the actual response time of the i' functional module, YX i′ represents the expected optimal response time of the i' functional module, m' represents the total number of external environmental factors corresponding to the target application, j' represents the number index of the external environmental factor, EZ j′ represents the positive influence value of the j' external environmental factor, FG j′ represents the negative influence value of the j' external environmental factor.

[0058] Optionally, to solve the above problems, the application provides a container-based application automatic orchestration offline deployment method, the system comprises:

[0059] Constructing the offline image warehouse corresponding to the target application, extracting the program requirements corresponding to the application program in the offline image warehouse, generating the configuration file corresponding to the target application based on the program requirements, containerizing and packaging the configuration file to obtain containerized application data, and integrating multi-source environmental information of the containerized application data to obtain integrated deployment data;

[0060] Based on the integrated deployment data, a deployment data matrix corresponding to the containerized application data is generated, the deployment data features in the deployment data matrix are extracted, the integrated deployment data is grouped based on the deployment data features, and a grouped resource cluster is obtained;

[0061] Using a preset Docker Compose tool, the key resource features in the grouped resource cluster are screened, the resource allocation graph corresponding to the containerized application data is constructed based on the key resource features, and the resource influence coefficient corresponding to the key resource in the resource allocation graph is calculated;

[0062] Based on the resource influence coefficient and the application function requirements corresponding to the preset Docker Compose tool, a feature-demand association graph corresponding to the target application is constructed, and the function influence weight corresponding to the features in the feature-demand association graph is analyzed;

[0063] Based on the function influence weight, the performance evaluation value corresponding to the target application is calculated, the performance level corresponding to the performance evaluation value is determined, the key performance data in the performance level is extracted, and the offline deployment data report corresponding to the target application is generated based on the key performance data.

[0064] Firstly, the application can effectively solve the problem of application deployment in a network-limited or offline environment by constructing an offline image warehouse corresponding to the target application, extracting the program requirements corresponding to the application program in the offline image warehouse, ensuring that the deployment work can be smoothly carried out when there is no network connection, greatly enhancing the flexibility and reliability of application deployment. At the same time, based on the integrated deployment data, the deployment data matrix corresponding to the containerized application data is generated, which can present complex integrated deployment data in an intuitive and structured matrix form, greatly improving the visualization and understandability of the data. By using the preset Docker Compose tool, the application can efficiently focus on the core resource elements by filtering the key resource features in the grouped resource cluster. The Docker Compose tool can quickly and accurately locate the key resource features that play a decisive role in the running of the containerized application from the complex grouped resource cluster based on its powerful resource filtering and configuration capabilities, such as the core parameters of key computing resources and the key performance indicators of core storage resources, avoiding wasting too much analysis and management effort on non-key resources. Based on the resource influence coefficient and the application function requirements corresponding to the preset Docker Compose tool, the application constructs a feature-demand association graph corresponding to the target application to determine the degree of influence of the key resources on the target application. In combination with the application function requirements corresponding to the Docker Compose tool, the resources can be accurately allocated to each functional module of the application, for example, for key resources with high resource influence coefficients, ensure that they are preferentially configured when meeting the high-demand functional modules, avoid resource waste and performance bottlenecks. Further, based on the function influence weight, the application calculates the performance evaluation value corresponding to the target application, which can provide accurate guidance for the optimization direction of the application. The performance evaluation value calculated based on the function influence weight can clearly present the contribution degree of each functional module to the overall performance, avoiding blind and indiscriminate optimization of the entire application, greatly improving the optimization efficiency. Therefore, the application provides a kind of application automatic arrangement offline deployment system and method based on container, which can improve the offline deployment efficiency of the program. BRIEF DESCRIPTION OF DRAWINGS

[0065] Figure 1 A flowchart of a kind of application automatic arrangement offline deployment method based on container provided by an embodiment of the application is shown in the figure.

[0066] Figure 2 A module schematic diagram of the application automatic arrangement offline deployment system based on container provided by an embodiment of the application is shown in the figure.

[0067] The application purpose, function characteristics and advantages will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION

[0068] It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.

[0069] The embodiment of the present application provides a kind of based on the automatic arrangement offline deployment system of container-based application. The execution subject of the kind of based on the automatic arrangement offline deployment system of container-based application includes but is not limited to at least one of the electronic equipment that can be configured to execute the method provided by the embodiment of the present application, such as server, terminal etc.It is said in other words, the kind of based on the automatic arrangement offline deployment system of container-based application can be executed by software or hardware installed in terminal equipment or server equipment.The server includes but is not limited to: single server, server cluster, cloud server or cloud server cluster etc.

[0070] Embodiment 1:

[0071] Referring to Figure 1 It is the flowchart of the kind of based on the automatic arrangement offline deployment system of container-based application provided by an embodiment of the present application.As shown in the figure, in the embodiment, the kind of based on the automatic arrangement offline deployment system of container-based application includes:

[0072] S1, the offline image warehouse corresponding to target application is constructed, the program demand corresponding to application program in the offline image warehouse is extracted, the configuration file corresponding to the target application is generated based on the program demand, the configuration file is containerized encapsulation, and containerized application data is obtained, and the integrated deployment data is obtained by integrating multi-source environment information to the containerized application data.

[0073] The present application can effectively solve the problem of application deployment in network limited or offline environment by constructing the offline image warehouse corresponding to target application and extracting the program demand corresponding to application program in the offline image warehouse, ensure that deployment work can be carried out smoothly when lacking network connection, greatly enhance the flexibility and reliability of application deployment.

[0074] The target application refers to a specific software application to be deployed and run in a specific environment, has clear functions and business logic, and is the core object around which the entire deployment operation is centered, for example, a customer relationship management system in an enterprise or a specific data analysis software can be used as the target application; the offline image warehouse refers to a storage warehouse that pre-stores image files of the target application and related dependent components in an offline environment, and the image files include complete runtime resources required for application running, such as operating system environment, software library and application code; the program requirement refers to various resources, configuration parameters, running environment requirements and other detailed information required by the target application in the running process, which includes but is not limited to specific software version depended by the application, database connection requirement, minimum requirement of memory and CPU resource, specific network port configuration, user permission setting and interface requirement for interaction with other systems, and optionally, the construction of the offline image warehouse corresponding to the target application can be realized by a container image making tool, such as Buildah and the like; the extraction of the program requirement corresponding to the application program in the offline image warehouse can be realized by a static analysis tool, such as Checkstyle and the like.

[0075] Further, based on the program requirement, the configuration file corresponding to the target application is generated, which can ensure the accuracy and adaptability of application deployment, and according to the extracted detailed program requirements such as resource allocation requirements and dependency relationship, a configuration file specially adapted to the target application is customized, so that the application can be successfully started and run in a specific environment, and running failure or performance bottleneck caused by mismatch between general configuration and actual requirement is avoided.

[0076] The configuration file refers to a complete configuration file that can be directly applied to deployment and running of the target application after final arrangement, verification and format standardization based on the filling result, which not only contains all necessary configuration information, but also has undergone strict syntax checking, logic verification and compatibility test with the target application running environment, so as to ensure that the configuration file can be accurately read and parsed by the target application in the deployment process, so that the application can be successfully started, run and realize its predetermined function in the corresponding environment.

[0077] As an embodiment of the present application, the generation of the configuration file corresponding to the target application based on the program requirement comprises: identifying a resource requirement list corresponding to the program requirement; generating a configuration file framework corresponding to the target application based on the resource requirement list; analyzing a framework index corresponding to the configuration file framework; performing framework optimization on the configuration file framework based on the framework index to obtain an optimized framework; filling detailed parameters in the program requirement into the optimized framework to obtain a filling result; and generating the configuration file corresponding to the target application based on the filling result.

[0078] The resource requirement list refers to a detailed list of various resources required for the target application to run, which is sorted out from the program requirements and covers explicit records of aspects such as computing resources (e.g., CPU core number, memory capacity requirements), storage resources (disk space size, storage type requirements), network resources (network bandwidth, specific port requirements), and software dependency resources (specific version of library files, runtime environment, etc.); the configuration file framework refers to a preliminary configuration file template with a general structure and logical relationship, which is built based on the resource requirement list, for example, the layout and association of the application's basic environment configuration block, service startup configuration block, resource allocation configuration block, etc. in the entire configuration file; the framework indicators refer to a series of quantitative or qualitative reference standards for measuring the rationality, completeness, flexibility, and degree of adaptation to the target application of the configuration file framework, including the redundancy indicator of the framework structure (measuring whether there are unnecessary complex structures or repeated configuration parts), the key configuration item coverage indicator (evaluating whether all core resource requirements and application running required configuration points are covered), the scalability indicator (judging the adaptability of the framework when dealing with application upgrades or resource requirement changes in the future), etc.; the optimized framework refers to the result of adjusting, improving, and optimizing the original configuration file framework according to the framework indicators, for example, optimizing the structure of the network configuration block to adapt to multiple network environment switching, adding reserved configuration bits for newly emerging resource requirement types, etc.; the filling result refers to the intermediate achievement obtained by filling the detailed parameters in the program requirements one by one according to the requirements and specifications of the optimized configuration file framework. These detailed parameters include specific IP addresses, database connection strings, and accurate values of application startup parameters, etc.

[0079] Further, the identification of the resource requirement list corresponding to the program requirements can be achieved by code static analysis tools, such as SonarQube and other tools; the generation of the configuration file framework corresponding to the target application can be achieved by template engine tools, such as Thymeleaf, Jinja2 and other tools; the analysis of the framework indicators corresponding to the configuration file framework can be achieved by syntax parser, for example, for YAML format configuration file framework, PyYAML library in Python can be used for parsing to obtain framework indicators; the framework optimization of the configuration file framework can be achieved by rule engine tools, such as Drools and other tools; the generation of the configuration file corresponding to the target application can be achieved by file verification tools, such as using jq tool to format the configuration file, and finally generate the required configuration file.

[0080] The application effectively improves the isolation and security of the application by containerizing the configuration file, each containerized application data runs in an independent container environment, the configuration file is encapsulated therein, and is isolated from other applications or system resources, thereby avoiding security risks caused by configuration information leakage or mutual interference, and ensuring the stability of the application running.

[0081] The containerized application data refers to a complete and self-contained data set formed by integrating the configuration file with the application program and its required runtime environment, dependent components and other related elements, and encapsulating them according to the specifications and requirements of the containerization technology. It not only contains the configuration file generated by customization and adapted to the target application, but also covers the executable code of the application program itself, the operating system base image required for running the application (such as a specific distribution image based on Linux), various dependent software libraries (such as a specific version of a database driver library, a network communication library, etc.), static resources that may be involved in the application running process (such as images, style files, etc.), and related environment variable settings. Optionally, the containerization of the configuration file can be realized by containerization tools such as Docker, Podman, etc.

[0082] Further, the application can significantly improve the adaptability of the application to complex and variable environments by integrating the containerized application data with multi-source environment information to obtain integrated deployment data. By integrating environment information from different sources, such as the network architecture characteristics of different data centers, the performance parameters of various storage devices, and the differences between various operating systems, the containerized application data can be aware of and adapt to various possible running environments in advance, avoiding deployment failures or running abnormalities caused by environmental differences, and ensuring smooth running of the application in a heterogeneous environment.

[0083] The integrated deployment data refers to a data set that can be directly used for containerized application deployment after multi-source environment information integration processing of key information points. For example, the integrated deployment data can include application traffic distribution strategies for different network environments, container resource allocation schemes determined according to the hardware resource status of each data source (such as allocating more memory-intensive container instances on servers with ample memory), and application configuration adjustment suggestions considering the compatibility of multi-source environments.

[0084] As an embodiment of the present application, the multi-source environment information integration of the containerized application data to obtain integrated deployment data comprises: identifying the source identifier corresponding to the containerized application data; querying the identifier extraction path corresponding to the source identifier; collecting the original environment information corresponding to the containerized application data based on the identifier extraction path; constructing the original information group corresponding to the original environment information; screening the key information points in the original information group; and performing multi-source environment information integration on the key information points to obtain integrated deployment data.

[0085] The source identifier refers to a specific mark or code that can uniquely determine the source of containerized application data, which can be the name abbreviation of a data center, the IP address segment identifier of a server, the number of a specific repository, or the resource identifier allocated by a cloud service provider, etc. The identifier extraction path refers to a collection of specific methods, ways or network addresses for obtaining original environment information according to the source identifier, such as a username, password, specific file system path (such as “ / etc / environment” for obtaining system environment variable information), or database query statement (for obtaining application-related environment data stored on the server) if the source identifier is the IP address of a server in a data center. The original environment information refers to the unprocessed environment-related data directly obtained from the source of the containerized application data, such as operating system-level information including kernel version, installed software package list, file system type and available space, etc. The original information group refers to a collection of original environment information collected from different sources according to a certain logical structure, such as server hardware information, network information and application environment information collected from different data centers, which are classified and organized to form an original information group with data centers as sub-categories. The key information points refer to specific environment information elements that have important influence or decisive effect on the deployment and running of containerized applications, which can include key hardware resource limit information such as minimum memory requirement, CPU core threshold, etc., and network key path information such as network delay tolerance upper limit between application and core database, and network nodes that must be passed for high-traffic data transmission, etc.

[0086] Further, the identification of the source identifier corresponding to the containerized application data can be implemented by an energy analysis tool, such as Logstash, Kibana and the like; the query of the identifier extraction path corresponding to the source identifier can be implemented by creating a resource mapping table, such as pre-creating a resource mapping table, and when the source identifier is identified, the corresponding extraction path script is obtained by looking up the mapping table; the collection of the original environment information corresponding to the containerized application data can be implemented by an information collection tool, such as Nagios, Zabbix and the like; the construction of the original information group corresponding to the original environment information can be implemented by a database tool, such as MySQL, PostgreSQL and the like; the screening of the key information points in the original information group can be implemented by a feature selection algorithm, such as principal component analysis, information gain algorithm and the like; and the multi-source environment information integration of the key information points can be implemented by a Bayesian network model, such as constructing a Bayesian network model to integrate the key information points, taking different key information points as nodes of the Bayesian network, and integrating information by analyzing the conditional probability relationship therebetween.

[0087] S2, based on the integrated deployment data, generating a deployment data matrix corresponding to the containerized application data, extracting deployment data features in the deployment data matrix, grouping resources based on the deployment data features, and obtaining a grouped resource cluster.

[0088] Based on the integrated deployment data, the application generates a deployment data matrix corresponding to the containerized application data, which can present complex integrated deployment data in an intuitive and structured matrix form, greatly improving the visualization and understandability of the data.

[0089] The deployment data matrix is a two-dimensional data table presentation form carefully constructed based on a series of elements such as the above data dimension information, row identifier element, column identifier element, key deployment value, grouped data set and deployment cell, in which each row of data represents a complete set of deployment data under a combination of a specific environment and an application module, and fully displays the resource requirement and configuration of the combination; and each column of data reflects the distribution rule and change trend of the resource index in different environments and application modules.

[0090] As an embodiment of the present application, the generating, based on the integration deployment data, of the deployment data matrix corresponding to the containerized application data comprises: parsing data dimension information corresponding to the integration deployment data; determining row identification elements and column identification elements corresponding to the data dimension information; extracting key deployment values in the integration deployment data; classifying and grouping the key deployment values with the row identification elements and the column identification elements to obtain a grouped data set; determining deployment cells corresponding to the grouped data set; and generating, based on the deployment cells, the deployment data matrix corresponding to the containerized application data.

[0091] The data dimension information refers to various attribute categories and classification angles covered by the integrated deployment data, for example, dimensions at the infrastructure level, such as regional distribution of physical servers (different data center regions), virtualization platform types (such as VMware, Hyper-V, etc.); application architecture dimensions, including the hierarchical structure of applications (presentation layer, business logic layer, data access layer, etc.) and the interaction between layers; the row identification element refers to a carefully selected combination of identifying properties or variables from the data dimension information to clearly distinguish each row in the deployment data matrix, for example, the combination of different deployment environments of the application (production environment, pre-production environment, development environment, etc.) and key modules in the application architecture (such as core business processing modules, user authentication modules, report generation modules, etc.) can be used to determine the row identification element; the column identification element refers to a core attribute or parameter identifier determined according to the data dimension information to distinguish each column in the deployment data matrix, for example, various computing resource indicators (such as "CPU core number requirement" and "CPU usage rate limit"), storage resource indicators ("disk storage space allocation" and "data storage path"), network resource indicators ("network bandwidth reservation" and "network port number allocation"), and software environment resource indicators ("operating system patch level requirement" and "database connection pool size"), etc.; the key deployment value refers to a specific data value that has a decisive influence and key guiding significance for the deployment of containerized applications in a specific environment, which is strictly screened and refined from the integrated deployment data; the grouped data set refers to a data set formed by classifying, summarizing, arranging, and associating the extracted key deployment values according to the pre-determined row identification elements and column identification elements, for example, a grouped data set formed by "development environment-report generation module" as the row identification and "disk storage space allocation" and "data storage path" as the column identification, which contains the key deployment values of these two resource indicators under the environment and application module, as well as the corresponding source, timeliness, and reliability information; the deployment cell refers to a smallest data storage unit uniquely determined by a specific row identification element and column identification element in the two-dimensional data table structure of the deployment data matrix, for example, "production environment-core business processing module-network bandwidth reservation" in the above-mentioned deployment data matrix determines a deployment cell, and the data in this cell directly reflects the network bandwidth resource allocation requirements of the core business processing module in the production environment.

[0092] Further, the analyzing the data dimension information corresponding to the integrated deployment data can be achieved by an association rule mining algorithm, such as an Apriori algorithm, by analyzing the frequent occurrence patterns between different attributes in the integrated deployment data, the data dimension information can be mined; the determining the row identifier element and the column identifier element corresponding to the data dimension information can be achieved by an analytic hierarchy process, such as constructing a hierarchical structure model, dividing the data dimension information into a target layer (such as determining the best row and column identifier), a criterion layer (such as the importance of the data dimension and the distinguishability of the data), and a scheme layer (each candidate row and column identifier element); the extracting the key deployment value in the integrated deployment data can be achieved by a clustering algorithm, such as a K-Means clustering algorithm, clustering the integrated deployment data according to different attribute characteristics, and selecting the data points far from the cluster center or having special characteristics in each cluster as the key deployment value; the classifying and grouping the key deployment value with the row identifier element and the column identifier element can be achieved by an aggregation function, such as a SUM, AVG, or other function; the determining the deployment cell corresponding to the grouped data set can be achieved by a matrix index calculation algorithm, such as designing a corresponding algorithm to calculate the deployment cell position corresponding to each data in the grouped data set according to the order number rule of the pre-determined row identifier element and column identifier element in the matrix; and the generating the deployment data matrix corresponding to the containerized application data can be achieved by a matrix generation tool, such as a Matlab, Python, or other tool.

[0093] By extracting the deployment data features in the deployment data matrix, the application helps to accurately grasp the core elements and key patterns of containerized application deployment, and by extracting the features, the key data points that play a decisive role in application running performance and resource allocation, such as resource demand peak value features and deployment difference features in different environments, can be screened out, thereby providing a clear direction and focus object for optimizing the deployment strategy.

[0094] The deployment data features refer to representative information that can reflect the key characteristics and internal laws of containerized application deployment obtained by specific analysis and refinement from the deployment data matrix, for example, can include demand features of computing resources (such as CPU core number, typical value, peak value, and fluctuation characteristics of memory usage), storage resources (such as stable value of disk space occupation, growth trend characteristics, and key nodes of storage read-write speed requirements), network resources (such as minimum guarantee value of network bandwidth, tolerance upper limit and fluctuation interval characteristics of network delay), and the like. Optionally, the extracting the deployment data features in the deployment data matrix can be achieved by a data mining tool, such as a WEKA, Orange, or other tool.

[0095] Further, the application groups the integrated deployment data according to the deployment data features to obtain grouped resource clusters, which can significantly improve the refinement of resource management. By accurately grouping resources according to features, special management strategies and optimization schemes can be developed for different groups of resource characteristics. For example, resources with high consumption and high fluctuation characteristics can be monitored and dynamically allocated, while resources with stable demand can be managed in a conventional manner, thereby improving resource utilization efficiency and management effectiveness.

[0096] The grouped resource clusters refer to the final complete resource grouping result determined after classifying the integrated deployment data according to feature attribute types and extracting resource management information to identify resource clusters. For example, a grouped resource cluster can be a computing and storage resource cluster for core business functions, which closely cooperates to ensure the efficient operation of core business. Another grouped resource cluster can be a network and storage resource cluster for non-real-time auxiliary functions, which is mainly responsible for the stable operation of auxiliary functions and data storage.

[0097] As an embodiment of the application, the grouping of the integrated deployment data according to the deployment data features to obtain grouped resource clusters comprises: analyzing the feature attribute types corresponding to the deployment data features; dividing the resource classification of the integrated deployment data based on the feature attribute types; extracting resource management information in the integrated deployment data based on the resource classification; identifying the resource clusters corresponding to the resource management information; and grouping the integrated deployment data according to the resource clusters to obtain grouped resource clusters.

[0098] The characteristic attribute type refers to attribute identification of different properties and categories presented by the deployment data characteristics, for example, from the perspective of resource demand, can be divided into computing resource intensive characteristics (such as CPU core number demand, high memory occupation), storage resource sensitive characteristics (such as high requirement for disk read-write speed, large data storage), network resource dependent characteristics (such as high network bandwidth demand, low delay requirement) and the like; the resource classification refers to the result of classifying and dividing the resources in the integrated deployment data according to the characteristic attribute type, for example, according to the characteristic attribute types of computing resource intensive, storage resource sensitive, network resource dependent, and the like, the resources are correspondingly divided into a computing resource class (including CPU, GPU and other computing device related resource data), a storage resource class (disk array, memory storage unit and other resource data), and a network resource class (network interface, bandwidth allocation and other resource data); the resource management information refers to a set of information related to the management activities such as allocation, scheduling, monitoring and optimization of resources under each resource classification, in the computing resource class, can include CPU usage rate historical data, computing task amount in different time periods, computing resource allocation strategy parameters and the like; the resource cluster refers to a resource set formed based on the similarity, association or synergy between resources presented in the resource management information, for example, in the computing resource class, computing resources with similar CPU usage rate fluctuations, similar computing task types and close cooperation relationship in the same application module or business process can be classified into a resource cluster.

[0099] Further, the analysis of the characteristic attribute type corresponding to the deployment data characteristics can be realized by a clustering analysis algorithm, such as: taking the deployment data characteristics as data points, similar characteristics are clustered into different clusters by a clustering algorithm, and each cluster can be regarded as a kind of characteristic attribute type; the division of the resource classification of the integrated deployment data can be realized by a support vector machine classification algorithm, such as: taking the feature vector of the integrated deployment data as input, training an SVM model to distinguish different resource classifications; the extraction of the resource management information in the integrated deployment data can be realized by a data collection tool, such as: Zabbix and the like; the identification of the resource cluster corresponding to the resource management information can be realized by an association rule mining algorithm, such as: mining the association rules in the resource management information, and forming a resource cluster with strong association relationship; the resource grouping of the integrated deployment data can be realized by a data partitioning algorithm, such as: calculating the hash value according to one or more characteristic attributes of the resource, and then distributing the resource to different partitions according to the hash value, and each partition is a resource grouping.

[0100] S3, screening key resource features in the grouped resource cluster by using a preset Docker Compose tool, constructing a resource allocation graph corresponding to the containerized application data based on the key resource features, and calculating a resource influence coefficient corresponding to a key resource in the resource allocation graph.

[0101] By using the preset Docker Compose tool to screen the key resource features in the grouped resource cluster, the application can efficiently focus on core resource elements. The Docker Compose tool can quickly and accurately locate the key resource features that play a decisive role in the running of the containerized application from the complex grouped resource cluster based on its powerful resource screening and configuration capabilities, such as the core parameters of key computing resources and the key performance indicators of core storage resources, thereby avoiding wasting too much analysis and management effort on non-key resources.

[0102] The preset Docker Compose tool refers to a tool for defining and running multi-container Docker applications. For example, detailed configuration information such as the number of CPU cores, memory size, and port mapping required by a certain container can be specified in the YAML file, thereby achieving flexible deployment and resource allocation of containerized applications. The key resource features refer to resource properties or parameters that have a key decisive role in the performance, stability, scalability, and core function implementation of containerized applications. From the perspective of computing resources, they can include the minimum number of CPU cores required for the operation of a specific container, CPU properties with specific frequency requirements, GPU acceleration capabilities under specific architectures, etc. Optionally, the screening of key resource features in the grouped resource cluster can be achieved by feature screening tools such as Scikit-learn and LightGBM.

[0103] Further, based on the key resource features, the application constructs a resource allocation graph corresponding to the containerized application data, which can provide a clear and intuitive planning blueprint for resource allocation. By presenting key resource features in the form of a graph, the distribution and association of different resources in the application can be seen, thereby accurately performing resource allocation and optimization, avoiding resource mismatch and waste, and improving resource utilization efficiency.

[0104] The resource allocation graph refers to the final graphical representation obtained by further improving and optimizing the assigned resource framework. It comprehensively, accurately and intuitively displays the resource allocation of the containerized application data, and can include dynamic allocation of resources in different application modules or business processes (such as changes in resource allocation during business peak and trough periods), visualization of resource redundancy or tightness (such as through color, line thickness, etc.), etc.

[0105] As an embodiment of the present application, the resource allocation graph corresponding to the containerized application data is constructed based on the key resource features, including: querying the feature association logic in the key resource features; determining the resource relationship between the key resource features based on the feature association logic; constructing an initial graph framework corresponding to the resource relationship; performing resource assignment on the initial graph framework to obtain an assigned resource framework; and constructing the resource allocation graph corresponding to the containerized application data based on the assigned resource framework.

[0106] The feature association logic refers to the logical connection between the key resource features, which is formed by the interdependence, mutual influence and collaborative work based on the application running mechanism and business process. The resource relationship refers to the specific action mode and connection form between the key resource features, which is determined according to the feature association logic. It can be of various types, such as sequential relationship, in which certain resources must work in a specific order, like data being processed in memory first and then written to storage devices; parallel relationship, in which multiple resources work simultaneously to improve efficiency, such as multiple CPU cores processing different computing tasks in parallel, while transmitting data in parallel with network resources. The initial graph framework refers to the basic structural framework used to represent the key resource features and their mutual connections, which is preliminarily constructed in a graphical form based on the determined resource relationship. It determines the position of each resource node (representing the key resource features) and the general layout of the connection lines (representing the resource relationship) between the nodes. The assigned resource framework refers to the graph framework in which each resource node and connection line is given corresponding numerical or attribute information according to the specific attributes of the key resource features and the application's demand for resources, etc., on the basis of the initial graph framework. For example, the computing resource node is given numerical values such as CPU core number and frequency, the storage resource node is given numerical values such as storage capacity and read-write speed, and the network resource node is given numerical values such as bandwidth and delay.

[0107] Further, the query of the feature correlation logic in the key resource features can be implemented by a knowledge graph construction tool, such as a Neo4j tool; the determination of the resource relationship between the key resource features can be implemented by a model-driven engineering tool, such as a tool for creating a resource model of a containerized application, defining the attributes and mutual relationships of the key resource features in the model; the construction of the initial graph framework corresponding to the resource relationship can be implemented by a visual drawing tool, such as a Graphviz tool; the resource assignment to the initial graph framework can be implemented by a performance test tool-based method, such as a JMeter, a Gatling tool; and the construction of the resource allocation graph corresponding to the containerized application data can be implemented by a data visualization library, such as visualizing the graph framework data after the resource assignment to construct a resource allocation graph with rich functions and strong interactivity.

[0108] The application can accurately quantify the influence of the key resources on the overall performance of the containerized application by calculating the resource influence coefficient corresponding to the key resources in the resource allocation graph, and can intuitively know the importance of each key resource in different business scenarios and application running stages through the explicit resource influence coefficient, thereby ensuring the optimization and stability of the high-influence resources.

[0109] The resource influence coefficient refers to a quantitative index of the influence degree of a key resource on the entire system or application in the resource allocation graph, for example, different servers (key resources) have different influences on the running efficiency of the entire data center in the resource allocation of a data center.

[0110] As an embodiment of the application, the calculation of the resource influence coefficient corresponding to the key resources in the resource allocation graph comprises:

[0111] The resource influence coefficient corresponding to the key resources in the resource allocation graph is calculated by the following formula:

[0112]

[0113] Wherein, RI represents the resource influence coefficient corresponding to the key resources in the resource allocation graph, n represents the total number of the key resources, i represents the number index of the key resources, A i represents the resource utilization rate corresponding to the i th key resource, B i represents the weight factor corresponding to the i th key resource, m represents the number of environmental factors related to resource allocation, j represents the index of the environmental factors, C j represents the factor influence value corresponding to the j th environmental factor, D represents the complexity coefficient corresponding to the resource allocation graph, and E represents the basic influence coefficient.

[0114] In detail, the resource utilization refers to the degree of the i-th key resource used in the actual operation process, for example, for a server, the resource utilization can be CPU usage, memory usage, etc.; the weight factor refers to the relative importance coefficient set for the i-th key resource according to business requirements, system architecture or other factors; the environmental factor refers to external conditions related to resource allocation or non-key resource factors inside the system, for example, in a cloud computing environment, network bandwidth, storage I / O speed, computer room temperature, etc. all belong to environmental factors; the factor influence value refers to the quantitative value of the i-th environmental factor affecting the key resource, for example, if network bandwidth is an environmental factor, the factor influence value can be expressed as the change amount of the response time or data transmission rate of the key resource (such as a network server) under different network bandwidths; the complexity coefficient refers to the quantitative index of the complexity of the resource allocation graph itself affecting the key resource, for example, in a large software system containing multiple subsystems and complex interaction relationships, the complexity coefficient will be higher, which reflects the influence degree of the complexity of the system architecture on the key resource (such as the core component in each subsystem); the basic influence coefficient refers to the basic influence degree of the key resource itself on the system without considering other factors (such as resource utilization, environmental factors, etc.).

[0115] S4, based on the resource influence coefficient and the application function requirement corresponding to the preset Docker Compose tool, a feature-demand association graph corresponding to the target application is constructed, and the function influence weight corresponding to the feature in the feature-demand association graph is analyzed.

[0116] Based on the resource influence coefficient and the application function requirement corresponding to the preset Docker Compose tool, the feature-demand association graph corresponding to the target application is constructed to determine the influence degree of the key resource on the target application, and then the application function requirement corresponding to the Docker Compose tool is combined to accurately allocate resources to each function module of the application, for example, for a key resource with a high resource influence coefficient, it is ensured that it is preferentially configured when meeting the high demand function module, and resource waste and performance bottleneck are avoided.

[0117] The application function needs to refer to various functions that need to be implemented by the target application deployed using the Docker Compose tool during the running process and conditions that must be met to meet these functions, for example, for an e-commerce application, the application function requirements can include user registration and login function, product display and search function, shopping cart management function, order processing and payment function, etc. The feature-demand association graph refers to a graphical representation method that shows the correspondence between various features (such as resource characteristics, architecture characteristics, etc.) of the target application and application function requirements, for example, in an application based on a microservice architecture, the feature-demand association graph can connect the resource requirements (such as CPU core number, memory size, etc. Resource characteristics) of a microservice and the application function (such as user authentication function) it is responsible for through an edge. Optionally, the feature-demand association graph corresponding to the target application can be constructed by using the minimum spanning tree algorithm, for example, on the basis of having determined some association relationships between part of the function requirements and system features, these relationships can be abstracted as a graph structure, and then the minimum spanning tree algorithm is used to construct the feature-demand association graph.

[0118] Further, by analyzing the function influence weight corresponding to the features in the feature-demand association graph, it can be clearly understood which features play a key role in the implementation of the application function, and resources can be preferentially allocated to the function modules corresponding to the features with high weight, ensuring efficient operation of the core function.

[0119] The function influence weight refers to the relative importance value of the feature node in the implementation of the application function after considering the function influence level and other related factors. This weight value can intuitively reflect the position and role of each feature in the entire application system function architecture.

[0120] As an embodiment of the present application, the analysis of the function influence weight corresponding to the features in the feature-demand association graph includes: identifying the feature nodes in the feature-demand association graph; extracting the node function path corresponding to the feature nodes; counting the function interaction frequency corresponding to the node function path; determining the function influence level corresponding to the functions in the association function path based on the function interaction frequency; and analyzing the function influence weight corresponding to the features in the feature-demand association graph based on the function influence level.

[0121] The feature node refers to an independent identification point representing various specific attributes, resource characteristics or technical features of the application system in the feature-demand association graph.

[0122] Further, the identification of the feature node in the feature-demand association graph can be realized by a graph traversal algorithm, such as DFS, BFS and the like; the extraction of the node function path corresponding to the feature node can be realized by a path search algorithm, such as Dijkstra and the like; the statistics of the function interaction frequency corresponding to the node function path can be realized by a log analysis tool, such as ELK stack and the like; the determination of the function impact level corresponding to the function in the association function path can be realized by a data-driven method, such as principal component analysis, analytic hierarchy process and the like; and the analysis of the function impact weight corresponding to the feature in the feature-demand association graph can be realized by a weight analysis method, such as entropy weight method, factor analysis and the like.

[0123] S5, based on the function impact weight, calculating the performance evaluation value corresponding to the target application, determining the performance level corresponding to the performance evaluation value, extracting the key performance data in the performance level, and generating the offline deployment data report corresponding to the target application based on the key performance data.

[0124] Based on the function impact weight, the application calculates the performance evaluation value corresponding to the target application, which can provide accurate guidance for the optimization direction of the application. The performance evaluation value calculated according to the function impact weight can clearly present the contribution degree of each function module to the overall performance, avoid blind and indiscriminate optimization of the entire application, and greatly improve the optimization efficiency.

[0125] The performance evaluation value refers to a numerical value for quantitatively measuring the overall performance of the target application, which comprehensively considers the influence of the functional module characteristics in the application and external environmental factors on the application performance, and can be used to compare the performance of different applications or to evaluate the performance change of the same application under different conditions.

[0126] As an embodiment of the present application, the calculating of the performance evaluation value corresponding to the target application based on the functional influence weight comprises:

[0127] The performance evaluation value corresponding to the target application is calculated by using the following formula:

[0128]

[0129] wherein QP represents the performance evaluation value corresponding to the target application, n' represents the total number of functional modules in the target application, i' represents the number index of the functional module, GA i′ represents the functional influence weight of the i'th functional module, ZL i′ represents the resource utilization rate of the i'th functional module, SX i′ represents the actual response time of the i'th functional module, YX i′ represents the expected optimal response time of the i'th functional module, m' represents the total number of external environmental factors corresponding to the target application, j' represents the number index of the external environmental factor, EZ j′ represents the positive influence value of the j'th external environmental factor, FG j′ represents the negative influence value of the j'th external environmental factor.

[0130] In detail, the function module refers to a component part capable of independently realizing a specific function in a target application, for example, in an e-commerce application, the product display module, the shopping cart module, the payment module, etc. are all function modules; the function influence weight refers to a quantitative value of the influence degree of each function module on the overall performance in the target application, for example, in an online video playing application, the function influence weight of the video decoding function module may be high because it is directly related to the fluency and quality of video playing; the resource utilization rate refers to the use degree of system resources (such as CPU, memory, network bandwidth, etc.) of each function module in the target application in the running process; the actual response time refers to the time spent from the time when a user sends an operation request to a certain function module of the target application to the time when the function module completes the operation and returns the result, for example, in a search engine application, the time elapsed from the time when the user inputs a keyword and clicks the search button to the time when the search result is displayed is the actual response time of the search function module; the expected optimal response time refers to the shortest response time that a certain function module of the target application should reach under ideal running conditions, for example, a well-designed database query function module should be able to return query results in a short time without external interference and resource bottlenecks, and this time is the expected optimal response time; the external environmental factor refers to the external conditions under which the target application runs, which will affect the performance of the application, but do not belong to the internal function module characteristics of the application itself, the external environmental factors include network conditions (such as network bandwidth, delay), server load (such as the number and resource occupation of other applications running on the same server), hardware environment (such as the hardware configuration of the server, the performance of the storage device) and the like; the positive influence value refers to a quantitative value of the external environmental factors that have a beneficial influence on the performance of the target application, for example, in a cloud computing environment, if the server where the application is located is in a low load state and the network bandwidth is sufficient, these external environmental factors will have a positive influence on the performance of the application; the negative influence value refers to a quantitative value of the external environmental factors that have an adverse influence on the performance of the target application, for example, when the network has high delay or packet loss phenomenon, it will have a negative influence on the performance of the application, and this negative influence can be represented by the negative influence value.

[0131] By determining the performance level corresponding to the performance evaluation value and extracting the key performance data in the performance level, the main factors causing the performance to be in the current level can be accurately found out, the resource allocation strategy can be optimized in a targeted manner, blind overall optimization of the application can be avoided, and the optimization efficiency is improved.

[0132] The performance level refers to different levels divided according to the performance evaluation value of the target application, and is used to intuitively represent the advantages and disadvantages of the application performance, for example, the performance level can be divided into excellent, good, medium, poor and very poor levels. The key performance data refers to the data that plays a key role in evaluating the application performance during the determination of the performance level. For example, in an online transaction application, the key performance data may include the average response time of transaction processing, the resource utilization rate (such as CPU and memory usage) of the system under high concurrent transaction, the number of transactions that can be processed per second, etc. Optionally, the performance evaluation value corresponding to the performance level can be determined by a method based on threshold setting, such as: the performance evaluation value threshold range corresponding to different performance levels is set in advance, and when the performance evaluation value of the target application is calculated, it is compared with these threshold ranges, so as to determine the corresponding performance level. The extraction of the key performance data in the performance level can be realized by statistical analysis tools, such as SPSS and other tools.

[0133] Based on the key performance data, the offline deployment data report corresponding to the target application is generated, which can be used as an important basis for troubleshooting. The technical personnel can compare the key performance data under normal operation and fault state, quickly locate the problem source, such as network problem, resource bottleneck or software configuration error, and then take effective measures to improve performance and repair faults.

[0134] The offline deployment data report refers to a document that comprehensively and systematically records information related to the target application in the offline deployment scene. The content covers the detailed information of the application in each key performance aspect in a specific offline environment, including but not limited to the actual use data and demand estimation of hardware resources (such as CPU core number, memory capacity, disk storage type and capacity, etc.), the analysis of software dependency relationship (such as the name, version and configuration information of required specific operating system version, runtime library and middleware), and the related points of network configuration (such as internal network architecture, communication protocol and bandwidth demand in offline environment). At the same time, the report also records the change trend of key performance data of the application in different running stages (such as startup, running stable period and high load period), such as the fluctuation of response time, the peak and average of resource utilization, etc. Optionally, the generation of the offline deployment data report corresponding to the target application can be realized by a report generation tool, such as Tableau, PowerBI and other tools.

[0135] Firstly, the application can effectively solve the problem of application deployment in a network-limited or offline environment by constructing an offline image warehouse corresponding to the target application, extracting the program requirements corresponding to the application program in the offline image warehouse, ensuring that the deployment work can be carried out smoothly when there is no network connection, greatly enhancing the flexibility and reliability of application deployment. At the same time, based on the integrated deployment data, the deployment data matrix corresponding to the containerized application data is generated, which can present complex integrated deployment data in an intuitive and structured matrix form, greatly improving the visualization and understandability of the data. By using the preset Docker Compose tool, the application can efficiently focus on the core resource elements by filtering the key resource features in the grouped resource cluster. The Docker Compose tool can quickly and accurately locate the key resource features that play a decisive role in the running of the containerized application from the complex grouped resource cluster based on its powerful resource filtering and configuration capabilities, such as the core parameters of key computing resources and the key performance indicators of core storage resources, avoiding wasting too much analysis and management effort on non-key resources. Based on the resource influence coefficient and the application function requirements corresponding to the preset Docker Compose tool, the application constructs a feature-demand association graph corresponding to the target application to determine the degree of influence of the key resources on the target application. In combination with the application function requirements corresponding to the Docker Compose tool, the resources can be accurately allocated to each functional module of the application, for example, for key resources with high resource influence coefficients, ensure that they are preferentially configured when meeting the high-demand functional modules, avoid resource waste and performance bottlenecks. Further, based on the function influence weight, the application calculates the performance evaluation value corresponding to the target application, which can provide accurate guidance for the optimization direction of the application. The performance evaluation value calculated based on the function influence weight can clearly present the contribution degree of each functional module to the overall performance, avoiding blind and indiscriminate optimization of the entire application, and greatly improving the optimization efficiency. Therefore, the application provides a kind of container-based application automatic arrangement offline deployment system and method, which can improve the offline deployment efficiency of the program.

[0136] Embodiment 2:

[0137] As Figure 2 shown is a module schematic diagram of a kind of container-based application automatic arrangement offline deployment system provided by an embodiment of the application.

[0138] The container-based application automatic arrangement offline deployment system 200 can be installed in an electronic device. According to the functions implemented, the container-based application automatic arrangement offline deployment system 200 can include a data integration module 201, a resource grouping module 202, a coefficient calculation module 203, a weight analysis module 204, and a report generation module 205. The modules of the present application can also be referred to as units, which refer to a series of computer program segments that can be executed by an electronic device processor and can complete a fixed function, stored in the memory of the electronic device.

[0139] In the present embodiment, the functions of each module / unit are as follows:

[0140] The data integration module 201 is used to build an offline image repository corresponding to the target application, extract the program requirements corresponding to the application program in the offline image repository, generate a configuration file corresponding to the target application based on the program requirements, containerize and package the configuration file to obtain containerized application data, and integrate multi-source environment information with the containerized application data to obtain integrated deployment data.

[0141] The resource grouping module 202 is used to generate a deployment data matrix corresponding to the containerized application data based on the integrated deployment data, extract deployment data features in the deployment data matrix, group resources based on the deployment data features, and obtain a grouped resource cluster.

[0142] The coefficient calculation module 203 is used to filter key resource features in the grouped resource cluster using a pre-set Docker Compose tool, construct a resource allocation graph corresponding to the containerized application data based on the key resource features, and calculate resource influence coefficients corresponding to key resources in the resource allocation graph.

[0143] The weight analysis module 204 is used to construct a feature-demand association graph corresponding to the target application based on the resource influence coefficients and the application function requirements corresponding to the pre-set Docker Compose tool, and analyze the function impact weight corresponding to the features in the feature-demand association graph.

[0144] The report generation module 205 is used to calculate a performance evaluation value corresponding to the target application based on the function impact weight, determine a performance level corresponding to the performance evaluation value, extract key performance data in the performance level, and generate an offline deployment data report corresponding to the target application based on the key performance data.

[0145] In detail, each module in the application automatic orchestration offline deployment method 200 in the embodiment of the application adopts the same technical means as the application automatic orchestration offline deployment system in the drawings when used, and can produce the same technical effects, which will not be described here.

[0146] The above description is merely that of the specific embodiments of the application, so that those skilled in the art can understand or implement the application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the application. Therefore, the application will not be limited to these embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A container-based application automatic orchestration offline deployment system, characterized in that, The system includes: The data integration module is used to build an offline image repository corresponding to the target application, extract the program requirements corresponding to the application in the offline image repository, generate a configuration file corresponding to the target application based on the program requirements, containerize and encapsulate the configuration file to obtain containerized application data, and integrate multi-source environmental information of the containerized application data to obtain integrated deployment data. The resource grouping module is used to generate a deployment data matrix corresponding to the containerized application data based on the integrated deployment data, extract deployment data features from the deployment data matrix, and group the integrated deployment data into resource clusters based on the deployment data features to obtain grouped resource clusters. The coefficient calculation module is used to use the preset Docker Compose tool to filter key resource features in the grouped resource clusters, construct a resource allocation map corresponding to the containerized application data based on the key resource features, and calculate the resource influence coefficients corresponding to key resources in the resource allocation map. The weight analysis module is used to construct a feature-requirement relationship graph corresponding to the target application based on the resource impact coefficient and the application functional requirements corresponding to the preset Docker Compose tool, and to analyze the functional impact weight of the features in the feature-requirement relationship graph. The report generation module is used to calculate the performance evaluation value corresponding to the target application based on the function impact weight, determine the performance level corresponding to the performance evaluation value, extract key performance data from the performance level, and generate an offline deployment data report corresponding to the target application based on the key performance data.

2. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The step of generating the configuration file corresponding to the target application based on the program requirements includes: Identify the resource requirement list corresponding to the program requirements; Based on the resource requirements list, generate the configuration file framework corresponding to the target application; Parse the framework metrics corresponding to the configuration file framework; Based on the aforementioned framework metrics, the configuration file framework is optimized to obtain an optimized framework. The detailed parameters from the program requirements are filled into the optimization framework to obtain the filling result; Based on the population results, a configuration file corresponding to the target application is generated.

3. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The process of integrating multi-source environmental information from the containerized application data to obtain integrated deployment data includes: Identify the source identifier corresponding to the containerized application data; Query the identifier extraction path corresponding to the source identifier; Based on the identifier extraction path, collect the original environment information corresponding to the containerized application data; Construct the original information group corresponding to the original environmental information; Filter the key information points in the original information group; Multi-source environmental information is integrated from the key information points to obtain integrated deployment data.

4. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The step of generating a deployment data matrix corresponding to the containerized application data based on the integrated deployment data includes: Parse the data dimension information corresponding to the integrated deployment data; Determine the row identifier element and column identifier element corresponding to the data dimension information; Extract key deployment values ​​from the integrated deployment data; The key deployment values ​​are classified and grouped with the row identifier elements and the column identifier elements to obtain a grouped dataset. Determine the deployment cell corresponding to the grouped dataset; Based on the deployment cell, a deployment data matrix corresponding to the containerized application data is generated.

5. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The process of grouping the integrated deployment data into resource clusters based on the deployment data characteristics to obtain grouped resource clusters includes: Analyze the feature attribute types corresponding to the deployment data features; Based on the aforementioned characteristic attribute types, the integrated deployment data is categorized into resource classes; Based on the resource classification, extract resource management information from the integrated deployment data; Identify the resource cluster corresponding to the resource management information; Based on the resource clusters, the integrated deployment data is grouped into resource clusters to obtain grouped resource clusters.

6. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The step of constructing a resource allocation map corresponding to the containerized application data based on the key resource characteristics includes: Query the feature association logic in the key resource features; Based on the feature association logic, the resource relationships between the key resource features are determined; Construct the initial graph framework corresponding to the resource relationships; The initial atlas framework is assigned resource values ​​to obtain the assigned resource framework; Based on the aforementioned resource assignment framework, a resource allocation graph corresponding to the containerized application data is constructed.

7. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The calculation of the resource impact coefficients corresponding to key resources in the resource allocation map includes: The resource impact coefficients corresponding to key resources in the resource allocation map are calculated using the following formula: Wherein, RI represents the resource influence coefficient corresponding to the key resource in the resource allocation map, n represents the total number of key resources, i represents the quantity index of the key resource, and A i B represents the resource utilization rate corresponding to the i-th key resource. i Let m represent the weight factor corresponding to the i-th key resource, m represent the number of environmental factors related to resource allocation, j represent the index of the environmental factor, and C represent the weight factor corresponding to the i-th key resource. i Let represent the factor impact value corresponding to the i-th environmental factor, D represent the complexity coefficient corresponding to the resource allocation map, and E represent the basic impact coefficient.

8. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The analysis of the functional influence weights corresponding to the features in the feature-demand association graph includes: Identify the feature nodes in the feature-demand association graph; Extract the node function path corresponding to the feature node; Statistically analyze the frequency of functional interactions corresponding to the functional paths of the nodes; Based on the frequency of the function interaction, determine the function impact level corresponding to the function in the associated function path; Based on the functional impact level, the functional impact weights corresponding to the features in the feature-demand association graph are analyzed.

9. The container-based application automatic orchestration offline deployment system as described in claim 1, characterized in that, The calculation of the performance evaluation value corresponding to the target application based on the functional impact weight includes: The performance evaluation value for the target application is calculated using the following formula: Where QP represents the performance evaluation value corresponding to the target application, n′ represents the total number of functional modules in the target application, i′ represents the index of the number of functional modules, and GA i′ ZL represents the functional influence weight of the i′-th functional module. i′ SX represents the resource utilization rate of the i′-th functional module. i′ YX represents the actual response time of the i′-th functional module. i′ Let m' represent the expected optimal response time of the i′-th functional module, m′ represent the total number of external environmental factors corresponding to the target application, j′ represent the index of the number of external environmental factors, and EZ represent the expected optimal response time of the i′-th functional module. j′ FG represents the positive impact value of the j′-th external environmental factor. j′ This represents the negative impact value of the j′-th external environmental factor.

10. A container-based application automatic orchestration offline deployment system, characterized in that, A method for executing an automated offline deployment method for container-based applications as described in any one of claims 1-9, the method comprising: Build an offline image repository corresponding to the target application, extract the program requirements corresponding to the application in the offline image repository, generate a configuration file corresponding to the target application based on the program requirements, containerize and encapsulate the configuration file to obtain containerized application data, and integrate multi-source environmental information of the containerized application data to obtain integrated deployment data. Based on the integrated deployment data, a deployment data matrix corresponding to the containerized application data is generated. Deployment data features are extracted from the deployment data matrix. Based on the deployment data features, the integrated deployment data is grouped into resource clusters to obtain grouped resource clusters. Using the pre-defined Docker Compose tool, key resource features in the grouped resource clusters are filtered out. Based on the key resource features, a resource allocation map corresponding to the containerized application data is constructed, and the resource impact coefficients corresponding to key resources in the resource allocation map are calculated. Based on the resource impact coefficient and the application functional requirements corresponding to the preset Docker Compose tool, a feature-requirement association graph corresponding to the target application is constructed, and the functional impact weights corresponding to the features in the feature-requirement association graph are analyzed. Based on the functional impact weight, calculate the performance evaluation value corresponding to the target application, determine the performance level corresponding to the performance evaluation value, extract key performance data from the performance level, and generate an offline deployment data report corresponding to the target application based on the key performance data.

Citation Information

Patent Citations

  • Container cloud-based high-performance computing cluster creation method and system

    CN111212116A

  • Method for deploying software infrastructure resources based on directed acyclic graph characteristics

    CN114968339A