Quick application system deployment method based on two-stage resource allocation mechanism
By introducing a two-level resource allocation mechanism to quickly deploy the application system based on the two-level resource allocation mechanism in special business scenarios, using basic management services and automated deployment processes, the problem of lengthy deployment process of independent application systems is solved, and a more efficient and controllable deployment process is achieved.
Patent Information
- Application Number
- CN202411817006.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-05-09
AI Technical Summary
In special business scenarios, the deployment process of independent application systems is lengthy, which makes it difficult to deploy and work for a long time. Due to the complexity and special nature of the application system, it is difficult to completely containerize transformation, resulting in insufficient automation of the deployment process.
The application system rapid deployment method based on a two-level resource allocation mechanism is adopted, and the application system is quickly matched to the appropriate server and client by introducing basic management services and automated deployment processes. This method includes full-set service modeling, deploying basic management services, generating a list of backend services to be deployed according to the policy, and automatically planning and deploying basic platform services and application services.
It greatly enhances the automation of the deployment process, reduces the difficulty and working time of deploying personnel, and provides a more controllable, efficient and general application deployment process suitable for independent application systems in special business scenarios.
Smart Images

Figure CN119960767A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of software deployment scheme optimization, and in particular to a method for rapid deployment of an application system based on a two-level resource allocation mechanism. Background Art
[0002] This section merely provides background information related to the present disclosure and is not necessarily prior art.
[0003] The system deployment described in the present invention refers to a method for quickly deploying an independent application system in a limited hardware environment, by introducing basic management services and automated deployment process design to assist deployment personnel in quickly matching various services and application APPs in the application system to appropriate servers and clients.
[0004] Independent applications for special business scenarios are usually complex and special. The first is independence. Due to security and confidentiality factors, they cannot be connected to the external Internet and often cannot be directly connected to other information systems. The second is hybridity: first, there are old and mature applications that have been running stably and have no further business development needs and are at great risk of transformation; second, there are high-performance applications, that is, applications that run very stably on physical hosts; third, there are new big data applications, which generally rely on big data storage and computing platforms, have high resource consumption, and already have the scheduling and management capabilities of storage and computing resources.
[0005] Therefore, although cloud-native services for industry application systems have been widely used, the services of special business application systems are difficult to completely transform into containers, and an environment where containerized applications and non-containerized applications coexist will exist for a long time.
[0006] At present, the deployment process of independent application systems is very lengthy. Due to the large number of application services involved in the application system and the depth of service dependency links, the traditional deployment method is to first plan the deployment plan based on the resource requirements of each application service, and then deploy the application service based on the deployment plan. During the deployment process, resources may need to be manually reallocated due to improper manual planning of the deployment plan. Therefore, in this scenario, a more controllable and efficient deployment system and method is urgently needed. Summary of the invention
[0007] Purpose of the invention: In view of the shortcomings of the prior art, the present invention discloses a method for rapid deployment of application systems based on a two-level resource allocation mechanism to solve the special needs generated by executing independent application system deployment tasks in special business scenarios. The system and method can greatly enhance the automation of the deployment process, effectively reduce the deployment difficulty and working time of the deployment personnel, and have certain versatility.
[0008] Technical solution: A method for rapid deployment of an application system based on a two-level resource allocation mechanism, wherein the carrier entity of the method is a basic management service. The basic management service consists of a management node and an agent node. The agent node is a component deployed to each server and client, responsible for collecting the total resource information and usage information of each server and client, such as CPU, memory, disk, etc., and responsible for choosing whether to execute the specific deployment tasks issued by the management node based on its own load conditions. The management node is the core of the basic management service. After collecting and summarizing the information reported by the agent, the basic management service can know the operating status of all servers and clients in the entire system. At this time, the basic management service selects the idle computing and storage resources in the system based on the two-level resource allocation mechanism, and sends the corresponding deployment tasks to the agent node where the idle resources are located. The agent node determines whether to execute the deployment task based on its own status.
[0009] A method for rapid deployment of an application system based on a two-level resource allocation mechanism comprises the following steps:
[0010] Step 1: Full service modeling. Model the deployment resource requirements of the application system in layers. According to the application system architecture, the four service components are layered into basic platform services, platform component services, application services and applications. The platform service components determine their deployment requirements respectively. The deployment requirements include service category, dependent components, deployment mode, deployment node type and resource requirements.
[0011] Step 2, deploy basic management services, which include a management node module and an agent node module. The agent node module collects device resource information and reports it to the management node module. The agent node module performs deployment operations according to the deployment tasks received from the management node module. The management node module summarizes the idle resource information reported by the agent node module, selects idle resources in the system according to the two-level resource allocation mechanism, and sends the deployment tasks to the corresponding agent nodes for execution.
[0012] Step 3: Based on the basic management services obtained in step 2, a list of background services to be deployed is generated according to the user's application requirements and policies.
[0013] Step 4: Based on the basic management service obtained in step 2, automatically plan and deploy the basic platform service according to the first-level resource allocation method.
[0014] Step 5: Based on the basic management service obtained in step 2 and the basic platform service obtained in step 4, the secondary resource allocation algorithm of the basic platform service itself automatically plans and deploys the platform component service and application service.
[0015] Step 6: Users download and use the application system according to their needs.
[0016] Further, step 1: model the entire set of services, and generate a list of services to be deployed based on user needs and service dependency links and other strategies. First, model the hierarchical service components of the entire set of services. Here, the entire set of services is divided into four types of service components from bottom to top according to the system architecture: basic platform services, platform component services, application services, and applications. Each type of service component describes the necessary configuration information during the deployment process, including service component categories (such as container services, virtual machine / physical machine services), deployment-dependent service component information (such as dependent operation and maintenance services, user services), required computing storage network resource information (such as 8-core CPU, 16G memory, 500G disk), and service access addresses. Based on the service component modeling results, according to the application requirements entered by the user, the list of services to be deployed can be automatically generated according to the strategy.
[0017] For a certain application or service Am (m=1,2,3…), it is defined as the reasonable result obtained by the service development unit through sufficient testing of the deployment requirements of the service. Am is described as {Cm, Pm, Mm, Nm, Rm}.
[0018] Among them, Cm is the service category, including basic platform services, platform component services, application services and applications; Pm is the dependent component, generally a collection of Am; Mm is the deployment mode, which means that the service is recommended to be deployed on the target node Mm, Mm belongs to the client, server or basic platform service A; Nm is the deployment node requirement, which means that the service needs to be deployed on 1 node, i.e. single instance deployment, n nodes, i.e. cluster deployment, N nodes, i.e. distributed deployment; Rm is the single-node resource requirement, which includes the CPU core number requirement Um, memory requirement Gm and hard disk requirement Nm of the service deployed on a single node.
[0019] Further, step 2: deploying basic management services includes,
[0020] Step 2-1: Manually deploy the management node module. Select the server with the least resources among the nodes to be deployed to deploy the management node module.
[0021] Step 2-2: Push the deployment agent node module to the server nodes and terminal nodes in the system through automatic detection. The automatic detection method can be IP detection.
[0022] Step 2-3, after the proxy node module is deployed, it automatically obtains the resource information of the node, including CPU, memory, disk and network port load information, and reports the relevant information back to the management node.
[0023] Furthermore, the list of background services to be deployed is generated according to the strategy as described in step 3. The management node generates a complete set of application services and platform component services required for the operation of the application based on the application requirements input by the user and the service links that the application depends on. The server resources in the current system are evaluated to determine whether basic platform services need to be deployed, and the complete set of application services, platform component services and basic platform services required to be deployed are generated.
[0024] The strategies include:
[0025] Modeling the deployment of basic platform services, including the user needs n applications, namely A m , where m = 1, 2, ... n; the available device resources collected by the basic management service are Si = {Ci, Gi, Ni ...}, where i = 1, 2, ... Sn, Sn is the number of available devices collected, the number of CPU cores of device i is Ci, the number of memory is Gi, and the number of hard disks is Ni. It is considered that Ci ≥ 64 is a server; S = {S 1 ,..,S i , S i .Ci≥64} is a collection of server devices; the service list to be deployed is A list .
[0026] Perform a breadth-first traversal of the services that depend on the link to generate the original service list A list .
[0027] For the original service list A list Deduplication of services in .
[0028] When determining whether the deployed basic platform service set needs to be included in the virtualized cloud platform, the total number of container service bearer resources is D, the total number of big data platform bearer resources is H, and the total number of services that can only be deployed on the server is Count 1 , the total number of services that can be deployed on a virtual machine is Count 2 .
[0029] Determine whether the parameters meet the following conditions:
[0030] NUM(S)-Count 1 -D / AVR(Si.Ri)-H / AVR(Si.Ri)≤Count 2 ,
[0031] The NUM() function calculates the total number, and the AVR() function calculates the average value.
[0032] If the conditions are met, the service list A list Add the virtualized cloud service platform service to generate the final service list.
[0033] The pseudo code is as follows:
[0034]
[0035]
[0036] Furthermore, step 4: based on the basic management service obtained in step 2, the basic platform service is automatically planned and deployed according to the first-level resource allocation method. The management node selects idle resources in the system through the first-level resource allocation method, and sends the basic platform service deployment task to the corresponding agent node. After receiving the deployment task, the current agent node chooses whether to execute the deployment task based on its own current resource situation, and feeds back the execution status to the management node module; if the current agent node chooses not to execute the deployment task, the basic management service will be further sent to the next agent node module that meets the requirements. If not all requirements can be met, the deployment task will be updated based on the current deployment task execution status.
[0037] Step 4 includes:
[0038] Step 4-1: Based on the modeling results in step 1, the management node can automatically filter out all service components to be deployed according to the service dependency components and service deployment methods according to the strategy.
[0039] Step 4-2, plan the basic platform service deployment tasks. The management node plans the deployment tasks of the basic platform services based on the summarized resource conditions of the devices to be deployed. Through the first-level resource allocation method, it determines the allocation node of the deployment task and sends the basic platform service deployment task to the proxy node where the corresponding server is located for execution.
[0040] Step 4-3, execute the basic platform service deployment task. After receiving the deployment task, the current agent node chooses whether to execute the deployment task based on its current resource situation, and feeds back the execution status to the management node module; if the current agent node chooses not to execute the deployment task, the basic management service will be further sent to the next agent node module that meets the requirements. If all requirements cannot be met, the deployment task will be updated based on the current deployment task execution status.
[0041] Further, step 4-2: planning of basic platform service deployment tasks, the basic management service calculates the required basic platform service deployment tasks according to the service list in step 1 and the strategy, and the management node matches the idle resources that meet the requirements of the deployment task according to the first-level resource allocation algorithm, and sends the basic platform service deployment tasks to the agent nodes where the idle resources are located. After receiving the basic platform deployment task, the agent node chooses whether to accept the task based on its current resource occupancy and feeds back the selection result to the management node. If there is an agent node that does not receive the deployment task, the management node will continue to schedule and calculate the idle resources that meet the requirements of the deployment task, and then send the basic platform service deployment task until all deployment tasks are received.
[0042] Further, step 4-3: execution of the basic platform service deployment task. After receiving the deployment task, the agent node starts to execute the deployment task. After the deployment task is successfully executed, the deployment result is fed back to the management node. At this time, the management node has learned the access address of the basic platform service. If the deployment task is not successfully executed, the execution result will also be fed back to the management node. The management node will continue to schedule and calculate the idle resources that meet the requirements of the deployment task, and then continue to issue the basic platform service deployment task.
[0043] Furthermore, the first-level resource allocation method can configure the optimization goal of the deployment plan. For example, if the configuration minimizes the number of servers used, it can effectively reduce the operating cost of the system and maximize the utilization of system resources; if the configuration is the maximum and minimum fairness optimization goal, it can maximize the minimum dominant resource share of each basic platform service to be deployed, so as to keep the dominant resource share of different basic platform services as balanced as possible. By configuring the optimization goal, this resource allocation problem can be transformed into a 0-1 integer programming problem, and the specific allocation nodes of the basic platform service deployment task can be solved by implicit enumeration.
[0044] Furthermore, the first-level resource allocation method includes modeling the deployment of basic platform services, including available server resources Si = {Ci, Gi, Ni ...}, where i = 1, 2, 3, ... Sn, Sn is the number of available devices collected, the number of CPU cores of device i is Ci, the number of memory is Gi, the number of hard disks is Ni, and the basic platform service list A to be deployed is deque ; The basic platform service deployment task Tj (j = Aj in A deque ),Tn=NUM(A deque ) is the number of basic platform services that need to be deployed.
[0045] Calculation; X ij , i=1,2,3,…Sn, j=1,2,3,…Tn, that is, the target deployment node of the basic platform service deployment task Tj can be obtained.
[0046] The resource allocation problem model is established, that is, Tn basic platform deployment tasks Tj are allocated to Si.
[0047] Set the configuration optimization goal to minimize the number of servers used.
[0048]
[0049] The maximum and minimum fairness optimization goal is
[0050]
[0051] Where T j .U is the number of CPU resources required for the platform component service / application service deployment tasks that the basic platform service Aj can carry, T j. G is the amount of memory resources required for the platform component service / application service deployment tasks that the basic platform service Aj can carry, T j .N is the number of hard disk resources required for the platform component service / application service deployment tasks that the basic platform service Aj can carry; Si.Ci is the number of CPU resources of server resource device i, Si.Gi is the number of memory resources of server resource device i, and Si.Ni is the number of hard disk resources of server resource device i.
[0052] CPU resources, memory resources, and hard disk resources must satisfy the following formulas:
[0053] T j .U+A j .R j. U j ×n j ≤∑ i=1 Si.Ci×x ij ,j=1,2,3,…Tn,
[0054] T j. G+A j .R j. G j ×n j ≤∑ i=1 Si.Gi×x ij ,j=1,2,3,…Tn,
[0055] T j .N+A j .R j. N j ×n j ≤∑ i=1 Si.Ni×x ij ,j=1,2,3,…Tn,
[0056] where x ij =(0,1); where A j .R j. U j The CPU resource requirements for deploying a single node for the basic platform service Aj, A j .R j. G j The memory resource requirements for deploying a single node for the basic platform service Aj, A j .R j. N j Deploy the hard disk resource requirements of a single node for the basic platform service Aj.
[0057] At the same time, a server can only be assigned to one basic platform deployment task at most, that is, it must meet
[0058] ∑ j=1 X ij ≤1,i=1,2,3,…Sn,
[0059] The jth basic platform service deployment task is divided into n j servers, i.e.
[0060] ∑ i=1 X ij =n j ,j=1,2,3,…Tn,
[0061] The above resource allocation problem can be transformed into an integer programming problem and solved by implicit enumeration method. ij , that is, the target deployment node of the basic platform service can be obtained.
[0062] The pseudo code is as follows:
[0063]
[0064]
[0065] Furthermore, the deployment service described in step 5 includes deploying platform component services and deploying application services. The management node completes the reasonable allocation of platform component service and application service deployment tasks through a two-level resource allocation mechanism. When allocating resources for a specific deployment task, if the deployment task needs to be executed on the basic platform service, the management node will first send the deployment task to the idle basic platform service based on the first-level resource allocation method. The task will be allocated by the second-level resource allocation algorithm of the basic platform service itself to clarify the actual deployment node of the deployment task. The management node will feed back the allocation result to the corresponding proxy node for execution.
[0066] There is no order in which platform component services and application services are deployed.
[0067] Planning of platform component service deployment tasks: The basic management service calculates the required platform component service deployment tasks according to the service component model in step 1 and the strategy. If the platform component service deployment task is related to the basic platform service, the management node will first send the platform component service deployment task to the basic platform service, and the basic platform service will match the idle resources that meet the requirements of the deployment task according to the secondary resource allocation algorithm, and feed the result back to the management node, and the management node will send the deployment task to the proxy node where the idle resources are located. As in step 3, the proxy node can choose whether to receive the deployment task based on its current resource occupancy.
[0068] Execution of platform component service deployment tasks. After receiving the deployment task, the agent node starts to execute the deployment task. If the deployment task is related to the basic platform service, the agent node will spontaneously apply for relevant resources from the basic platform service and complete the deployment task. After the deployment task is successfully executed, the deployment result will be fed back to the management node. At this time, the management node has learned the access address of the platform component service.
[0069] Planning of application service deployment tasks. The basic management service calculates the required application service deployment tasks according to the service component model in step 2 and the strategy. If the application service deployment task is related to the basic platform service, the management node will first send the platform component service deployment task to the basic platform service. The basic platform service will match the idle resources that meet the requirements of the deployment task based on the secondary resource allocation algorithm and feed the result back to the management node. The management node will then send the deployment task to the proxy node where the idle resources are located. As in step 3, the proxy node can choose whether to receive the deployment task based on its current resource usage.
[0070] Execution of application service deployment tasks. After receiving the deployment task, the agent node starts to execute the deployment task. If the deployment task is related to the basic platform service or platform component service, the agent node will spontaneously apply for relevant resources from the basic platform service or platform component service and complete the deployment task. After the deployment task is successfully executed, the deployment result will be fed back to the management node. At this time, the management node has learned the access address of the application service.
[0071] Furthermore, the two-level resource allocation mechanism includes: when the service is deployed on the server, the management node matches the appropriate proxy node for deployment through the first-level resource allocation method; when the service is deployed on the basic platform service, the management node matches the appropriate basic platform service through the first-level resource allocation method, and the basic platform service's own second-level resource allocation algorithm matches the appropriate proxy node for deployment, such as the virtualization cloud platform's own resource allocation algorithm to determine which server and which virtual machine the service will be deployed on, such as the container platform's own resource allocation algorithm to determine which server and which container the service will be started on.
[0072] Furthermore, the normal operation of the application system. In the subsequent operation of the application system, the basic management service can always grasp the resource usage of all devices in the system. When the resource usage of a server is too high, the basic management service can execute the migration deployment of application services / platform component services according to the strategy, and can also adjust the resources of application services / platform component services through the expansion of basic platform services to ensure the smooth operation of the system.
[0073] The principle of the present invention is to introduce basic management services to uniformly manage and allocate all computing and storage resources that can be used by the application system to be deployed, and to automatically segment and execute the cumbersome process that originally relied on manual deployment by deployment personnel through basic management services.
[0074] Compared with the prior art, the present invention has the following significant advantages: the application system is physically isolated from the Internet and other external environments due to special business, security, confidentiality and other factors, and has independence and hybridity, providing an application deployment process that is more controllable, efficient and automated. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments, and the above and / or other advantages of the present invention will become more clear.
[0076] Figure 1 A schematic diagram of the deployment structure of the example described in the present invention.
[0077] Figure 2 Schematic diagram of a two-level resource allocation mechanism according to an example of the present invention.
[0078] Figure 3 The present invention is a flowchart of the deployment method of the example described in the present invention.
[0079] Figure 4 This is the overall architecture diagram of the present invention. DETAILED DESCRIPTION
[0080] The technical solution of the present invention is described in detail below with reference to the accompanying drawings and examples.
[0081] See also Figure 1 , the devices to be deployed in the independent network environment are 8 servers and 3 clients. The applications required by users are business front-end 1, business front-end 2, and business front-end 3. How to reasonably plan and deploy the application system to the corresponding servers and client devices, now combined with a method for rapid deployment of application systems described in this article to illustrate the typical process, so as to reflect that the method described in this article has certain adaptability.
[0082] Step 1: Model the service components for the entire set of services. The modeling content mainly includes service categories, dependent components, deployment modes, deployment node requirements, and resource requirements. According to the application system architecture, the services are modeled hierarchically, and the services are divided into four categories: basic platform services, platform component services, application services, and applications (front-end APPs). Basic platform services generally refer to services that provide basic resources such as computing and storage for application services, such as virtualization cloud platforms, container cloud platforms, and big data storage computing platforms; platform component services generally refer to middleware services provided to application service developers, such as service scheduling management services, user authentication and authorization services, etc.; application services generally refer to application services that directly provide background services for the application front end used by users; applications generally refer to front-end software that users can directly see, including the B-side web interface and the C-side interface. Dependent components refer to service components that must be relied on to run when the service component is running, such as database applications running on database services. Deployment mode refers to the deployment and operation location of the service component, whether it is a bare metal or basic platform service. The deployment node requirement refers to how many instances need to be deployed when the service component is running. If it is N, it means that the service component can be deployed in a distributed manner, and n means that the service component can be deployed in multiple instances. Resource requirements refer to the minimum computing, storage and network resources that need to be allocated when the service component is deployed, including CPU, memory, hard disk, etc. An example of modeling results is shown in Table 1.
[0083] Step 2: Manually deploy basic management services with scripts. Manually select the server with the most abundant resources from the devices in the independent network environment to be deployed to deploy the management node of the basic management service. After the management node is deployed, the agent node module is automatically pushed to the server and client in the system to be deployed through IP detection. After the agent node module is deployed, it can automatically obtain the resource load information of the node, including CPU, memory, disk and network port, and report the idle resources to the management node.
[0084] Step 3: Clarify application requirements. The user browses the software warehouse and identifies the application he needs to use. In this example, the user selects Business Front-end 1, Business Front-end 2, and Business Front-end 3.
[0085] Step 4: Implementation of the automated deployment process. For users, the only thing they need to care about is the application front-end entrance. However, in the actual application operation process, the use of an application front-end means that there are many running back-end services. The complex back-end service planning and deployment process is as follows: Figure 3 As shown in the figure, according to the equipment resource situation and the modeling data of the application system service components to be deployed, the automatic planning of the deployment plan begins.
[0086] Step 4-1, according to the modeling results in step 1, the management node can automatically filter out all the service components to be deployed according to the policy based on the service dependency components and service deployment mode. In this example, taking business front end 1 as an example, according to the modeling results, all the services required for the normal operation of business front end 1 can be introduced, namely business service 1, business service 2, business service 3, service scheduling management service, relational database, user management service, log service, business data processing service 3, distributed computing service, distributed database service, big data storage computing platform, a total of 11 service components. Since the big data storage computing platform is a basic platform component, it needs to be deployed in a distributed manner. Considering that there are only 11 servers in this project, a virtualized cloud platform needs to be deployed in this project. Considering the business front end 2 and business front end 3 required by users, it can be calculated through the modeling results that there are 28 services to be deployed, including 3 basic platform services, 14 platform component services, and 9 application services. So far, a list of services to be deployed (26 services) has been obtained, but the specific deployment task information of which machine each service should be deployed on and how many resources should be allocated has not yet been obtained.
[0087] Step 4-2, plan the basic platform service deployment tasks. The management node plans the deployment tasks of the basic platform services based on the summarized resource conditions of the devices to be deployed. Through the first-level resource allocation method, the allocation node of the deployment task is determined, and the basic platform service deployment task is sent to the proxy node where the corresponding server is located for execution. In this example, there are 3 basic platform services to be deployed. Based on the service modeling results, the resource requirements T of the virtualized cloud platform service can be calculated. 1 =(128+16N 1 )CPU, (256+16N 1 )Memory, resource requirements of container cloud platform T 2 =(96+16N 2 )CPU, (192+16N 2 )Memory, resource requirements of big data computing and storage platforms 3 =(72+16N 3 )CPU, (144+16N 3 ) memory, the basic management service is based on the idle resources S reported by each server, which is (64CPU, 128 memory). According to the first-level resource allocation method, the scheduling results are as follows: the virtualization cloud platform service deployment tasks are server 1, server 4, and server 7, the container cloud platform deployment tasks are server 2 and server 5, and the big data computing and storage platform deployment tasks are servers 3 and 6.
[0088] In this example, the first-level resource allocation method selects the configuration of maximum and minimum fairness as the optimization goal. The resource allocation calculation process is as follows: for the first idle server 1, the virtualized cloud service has the greatest demand for resources at this time, so server 1 is allocated to the virtualized cloud service deployment task. At this time, the virtualized cloud service deployment task also requires (80+16N) CPU and (144+16N) memory; for the second idle server 2, the container cloud platform has the greatest demand for resources at this time, so server 2 is allocated to the container cloud platform deployment task. At this time, the container cloud platform deployment task also requires (40+8N) CPU and (72+8N) memory; for the third idle server 3, the big data computing storage platform has the greatest demand for resources at this time, so server 3 is allocated to the big data computing storage platform. At this time, the big data computing storage deployment task also requires (20+8N) CPU and (32+8N) memory. Similarly, the fourth idle server 4 is allocated to the virtualized cloud service, the fifth idle server 5 is allocated to the container cloud platform, the sixth idle server 6 is allocated to the big data computing storage platform, and the seventh idle server 7 is allocated to the virtualized cloud platform.
[0089] Step 4-3, execute the basic platform service deployment task. The agent node chooses whether to accept the deployment task based on its current resource situation. If the current resources of the agent node meet the deployment task requirements, the agent node will accept the deployment task and start to execute the deployment operation. If the current resources of the agent node do not meet the requirements, the agent node will feedback that it does not accept the deployment task, and the management node will reassign it to other agent nodes for execution. After the deployment operation is successful, the agent node will feedback the execution result and the basic platform service address to the management node.
[0090] Step 5: Based on the basic management service obtained in step 2 and the basic platform service obtained in step 4, the secondary resource allocation algorithm of the basic platform service automatically plans the deployment service. The deployment service described in step 5 includes the deployment platform component service and the deployment application service. The management node completes the reasonable allocation of the platform component service and the application service deployment tasks through a two-level resource allocation mechanism. When allocating resources for a specific deployment task, if the deployment task needs to be executed on the basic platform service, the management node will first send the deployment task to the idle basic platform service according to the primary resource allocation method. The secondary resource allocation algorithm of the basic platform service itself will allocate the task and clarify the actual deployment node of the deployment task. The management node will feed back the allocation result to the corresponding proxy node for execution.
[0091] Step 5-1, plan the deployment tasks of platform component services and application services. The management node determines the allocation node of the deployment task through the first-level resource allocation method based on the summarized resources of the devices to be deployed and the basic platform services. If the service is to be run on the basic platform service, the specific allocation node will be determined by the second-level resource allocation algorithm of the basic platform service. After the allocation node of the deployment task is finally determined, the service deployment task is sent to the proxy node where the corresponding server is located for execution.
[0092] In this example, there are 23 platform component services and application services to be deployed, of which 2 services (relational database and application store service) have been clearly deployed on physical devices, 9 services (user management service, log management service, monitoring management service, service scheduling management service, cloud security protection service, business service 1, business service 2, business service 3, business service 4) have been clearly deployed on the virtualized cloud platform, 6 services (container scheduling management service, database security service, big data platform security service, container security protection service, business container service 1, business container service 2) have been clearly deployed on the container cloud platform, and 6 services (distributed file service, distributed database service, distributed computing service, business data processing service 1, business data processing service 2, business data processing service 3) have been clearly deployed on the big data computing and storage platform. The physical device on which each specific service is deployed is determined by the secondary resource allocation algorithm of the basic platform service. For example, the node on which the user management service is deployed on the virtualized cloud platform will be determined by the secondary resource allocation algorithm of the virtualized cloud platform itself. If it is determined to be deployed on server 1, the allocation result will be fed back to the proxy node where server 1 is located through the management node.
[0093] Step 5-2, execute the platform component service and application service deployment tasks. The agent node chooses whether to accept the deployment task based on its current resource situation. If the current resources of the agent node meet the deployment task requirements, the agent node will receive the deployment task and start to execute the deployment operation. If the current resources of the agent node do not meet the requirements, the agent node will feedback that it does not accept the deployment task, and the management node will reassign it to other agent nodes for execution. If the agent node receives the task and finds that it is deployed on the basic platform service, the agent node will actively call the basic platform service to create the required resources, complete the deployment of the service, and then feedback the deployment results and service address to the management node. In this example, when the agent node executes the user management service deployment task, it calls the virtualized cloud platform service to apply for the corresponding virtual machine resources to complete the deployment of the user management service, and feedbacks the user management service address to the management node.
[0094] Users download applications and use them as needed. At this point, the backend services of business front end 1, business front end 2, and business front end 3 required by users have all been deployed. Users can log in to the application store service on the client, complete the download of business application front end 1, business application front end 2, and business application front end 3, and directly access and use business applications.
[0095] The present invention provides a method and idea for a rapid deployment method of an application system based on a two-level resource allocation mechanism. There are many methods and approaches to implement the technical solution. The above is only a preferred implementation of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the protection scope of the present invention. All components not specified in this embodiment can be implemented using existing technologies.
[0096] Table 1
[0097]
[0098]
[0099]
Claims
1. A method for rapid deployment of an application system based on a two-level resource allocation mechanism, characterized in that: The following steps are involved: Step 1: Full set of service modeling, hierarchical modeling of the deployment resource requirements of the application system, hierarchical modeling of the four types of service components: basic platform service, platform component service, application service and application according to the application system architecture, and the platform service components respectively determine their deployment requirements; Step 2: deploy basic management services, which include management node modules and proxy node modules; Step 3: Based on the basic management services obtained in step 2, the system generates a list of backend services to be deployed according to the user's application requirements and policies; Step 4: Based on the basic management services obtained in step 2 and the backend service list obtained in step 3, the system automatically plans and deploys basic platform services according to the deployment plan set by the first-level resource allocation method; Step 5: Based on the basic management service obtained in step 2 and the basic platform service obtained in step 4, the basic platform service automatically plans and deploys the platform component service and application service according to the secondary resource allocation algorithm. Step 6: Users download and use the application system according to their needs.
2. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 1, characterized in that: The full set of service deployment resource requirements of the application system described in step 1 are modeled. The deployment requirements include service category, dependent components, deployment mode, deployment node type and resource requirements. For a certain application or service Am (m=1, 2, 3...), it is defined as a reasonable result obtained by the service development unit through sufficient testing of the deployment requirements of the service. Am is described as {Cm, Pm, Mm, Nm, Rm}; Among them, Cm is the service category, including basic platform services, platform component services, application services and applications; Pm is the dependent component, generally a collection of Am; Mm is the deployment mode, which means that the service is recommended to be deployed on the target node Mm, Mm belongs to the client, server or basic platform service A; Nm is the deployment node requirement, which means that the service needs to be deployed on 1 node, i.e. single instance deployment, n nodes, i.e. cluster deployment, N nodes, i.e. distributed deployment; Rm is the single-node resource requirement, which includes the CPU core number requirement Um, memory requirement Gm, and hard disk requirement Nm of the service deployed on a single node.
3. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 1, characterized in that: The deployment basic management services described in step 2 include: Step 2-1, deploy the management node module; Step 2-2, push and deploy the proxy node module to the server nodes and terminal nodes in the system through automatic detection; Step 2-3, after the proxy node module is deployed, the resource information of the node is automatically obtained, including CPU, memory, disk and network port load information; The proxy node module collects device resource information and reports it to the management node module. The proxy node module performs deployment operations according to the deployment tasks received from the management node module. The management node module summarizes the idle resource information reported by the proxy node modules, selects idle resources in the system according to the two-level resource allocation mechanism, and sends the deployment tasks to the corresponding proxy nodes for execution.
4. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 1, characterized in that: In step 3, the management node generates a list of backend services to be deployed according to the strategy. The management node generates the full set of application services and platform component services required to be deployed to meet the application operation based on the application requirements input by the user and the service links that the application depends on. The management node evaluates the server resources in the current system, determines whether the basic platform services need to be deployed, and generates the full set of application services, platform component services and basic platform services required to be deployed. The strategies include: Modeling the deployment of basic platform services, including the user needs n applications, namely A m , where m = 1, 2, ... n; the available device resources collected by the basic management service are Si = {Ci, Gi, Ni ...}, where i = 1, 2, ... Sn, Sn is the number of available devices collected, the number of CPU cores of device i is Ci, the number of memory is Gi, and the number of hard disks is Ni. It is considered that Ci ≥ 64 is a server; S = {S1, .., S i , S i .Ci≥64} is a collection of server devices; the service list to be deployed is A list ; Perform a breadth-first traversal of the services that depend on the link to generate the original service list A list ; For the original service list A list Deduplication of services in When determining whether the deployed basic platform service set needs to be included in the virtualized cloud platform, the total number of bearer resources for computing container services is D, the total number of bearer resources for the big data platform is H, the total number of services that can only be deployed on the server is Count1, and the total number of services that can be deployed on the virtual machine is Count2; Determine whether the parameters meet the following conditions: NUM(S)-Count1-D / AVR(Si.Ri)-H / AVR(Si.Ri)≤Count2, The function NUM() is used to calculate the total number, the function AVR() is used to calculate the average value, and Si.Ri is the single-node resource requirement of the available device resources of device i; If the conditions are met, the service list A list Add the virtualized cloud service platform service to generate the final service list.
5. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 1, characterized in that: The automatic planning and deployment of basic platform services according to the first-level resource allocation method described in step 4 includes: Step 4-1: Based on the modeling results in step 1, the management node automatically selects all service components to be deployed according to the service dependency components and service deployment mode according to the strategy; Step 4-2, planning the basic platform service deployment task. The management node plans the deployment task of the basic platform service based on the resource status of the devices to be deployed, determines the allocation node of the deployment task through the first-level resource allocation method, and sends the basic platform service deployment task to the proxy node where the corresponding server is located for execution; Step 4-3, execute the basic platform service deployment task. After receiving the deployment task, the current agent node chooses whether to execute the deployment task based on its current resource situation, and feeds back the execution status to the management node module; if the current agent node chooses not to execute the deployment task, the basic management service is sent to the next agent node module that meets the requirements. If all requirements cannot be met, the deployment task is updated based on the current deployment task execution status.
6. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 5, characterized in that: The primary resource allocation method includes: Model the deployment of basic platform services, including available server resources Si = {Ci, Gi, Ni ...}, where i = 1, 2, 3, ... Sn, Sn is the number of available devices collected, the number of CPU cores of device i is Ci, the number of memory is Gi, the number of hard disks is Ni, and the list of basic platform services to be deployed is A deque ; The basic platform service deployment task Tj (j = AjinA deque ),Tn=NUM(A deque ) is the number of basic platform services that need to be deployed; Calculation; X ij , i=1,2,3,…Sn, j=1,2,3,…Tn, that is, the target deployment node of the basic platform service deployment task Tj can be obtained; Establish a resource allocation problem model, that is, allocate Tn basic platform deployment tasks Tj to Si; Set the configuration optimization goal to minimize the number of servers used. Where n j The number of servers occupied by the basic platform deployment tasks; The maximum and minimum fairness optimization goal is Where T j .U is the number of CPU resources required for the platform component service / application service deployment tasks that the basic platform service Aj can carry, T j. G is the amount of memory resources required for the platform component service / application service deployment tasks that the basic platform service Aj can carry, T j .N is the number of hard disk resources required for the platform component service / application service deployment tasks that the basic platform service Aj can carry; Si.Ci is the number of CPU resources of server resource device i, Si.Gi is the number of memory resources of server resource device i, and Si.Ni is the number of hard disk resources of server resource device i; x ij =(0,1); CPU resources, memory resources, and hard disk resources must satisfy the following formulas: T j .U+A j .R j. U j ×n j ≤∑ i=1 Si.Ci×x ij ,j=1,2,3,…Tn, T j. G+A j .R j. G j ×n j ≤∑ i=1 Si.Gi×x ij ,j=1,2,3,…Tn, T j .N+A j .R j. N j ×n j ≤∑ i=1 Si.Ni×x ij ,j=1,2,3,…Tn, Among them A j .R j. U j The CPU resource requirements for deploying a single node for the basic platform service Aj, A j .R j. G j The memory resource requirements for deploying a single node for the basic platform service Aj, A j .R j. N j Deploy the hard disk resource requirements of a single node for the basic platform service Aj; At the same time, a server can only be assigned to one basic platform deployment task at most, that is, it must meet ∑ j=1 X ij ≤1,i=1,2,3,…Sn, The jth basic platform service deployment task is divided into n j servers, i.e. ∑ i=1 X ij =n j ,j=1,2,3,…Tn, The above resource allocation problem can be transformed into an integer programming problem and solved by implicit enumeration method. ij , that is, the target deployment node of the basic platform service can be obtained.
7. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 1, characterized in that: The deployment service described in step 5 includes the deployment of platform component services and the deployment of application services. The management node completes the reasonable allocation of platform component services and application service deployment tasks through a two-level resource allocation mechanism. When allocating resources for a specific deployment task, if the deployment task needs to be executed on a basic platform service, the management node will first send the deployment task to an idle basic platform service based on the primary resource allocation method. The secondary resource allocation algorithm of the basic platform service itself will allocate the task and identify the actual deployment node for the deployment task. The management node will then feed back the allocation result to the corresponding proxy node for execution.
8. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 7, characterized in that: The two-level resource allocation mechanism includes: when the service is deployed on the server, the management node matches the appropriate proxy node for deployment through the first-level resource allocation method; when the service is deployed on the basic platform service, the management node matches the appropriate basic platform service through the first-level resource allocation method, and the basic platform service's own second-level resource allocation algorithm matches the appropriate proxy node for deployment.
9. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 7, characterized in that: There is no order in which the platform component services and application services are deployed.
10. The method for rapid deployment of application systems based on a two-level resource allocation mechanism according to claim 1, characterized in that: During the subsequent operation of the application system, the basic management service monitors the resource usage of all devices in the system. When the resource usage of a server is too high, the basic management service executes the migration deployment of the application service or platform component service according to the strategy, or implements the resource adjustment of the application service or platform component service by expanding the capacity of the basic platform service.
Citation Information
Cited By
EHR system service co-processing method and system based on credential technology stack
CN121387547A
Ehr system service coordination processing method and system based on xinchuang technology stack
CN121387547B