Method and device for dynamically expanding and shrinking VPS according to RPA execution condition

Through the dynamic expansion and capacity of VPS, resource configuration is adjusted in real time according to the attributes and execution of cloud RPA tasks, the traditional fixed resource allocation method is solved in order to deal with business fluctuations and differentiated resource requirements, and the optimization of resource utilization and reduction of operational costs are achieved.

CN120066771APending Publication Date: 2025-05-30ZIXUN TECHNOLOGY (FUJIAN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510121738.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-26
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The traditional fixed resource allocation method is difficult to deal with business fluctuations during the execution of cloud RPA tasks, resulting in resource waste and increased operational costs, and it is difficult to meet the differentiated resource needs of different types of tasks.

Method used

By dynamically scaling VPS based on RPA execution, the task pool is allocated according to the attributes of the received cloud RPA tasks, the capacity expansion and scaling configuration is set, the resource utilization rate and task queue status are monitored in real time, and the number of VPS resources is adjusted to cope with business changes.

Benefits of technology

It realizes intelligent adjustment of VPS resources, ensures optimal resource allocation during business peak and trough periods, improves overall operating efficiency, reduces operating costs, and supports flexible business needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066771A_ABST
    Figure CN120066771A_ABST
Patent Text Reader

Abstract

The invention provides a method and device for dynamically expanding and shrinking VPS according to RPA execution conditions, and the method comprises the steps: distributing a cloud RPA task to a corresponding task pool according to the attribute of the received cloud RPA task; capacity expansion configuration and capacity shrinkage configuration are set, each task pool is monitored, and if the capacity expansion configuration is met, the set number of VPS is added to the corresponding task pool; and if the capacity reduction configuration is met, the set number of VPS is reduced in the corresponding task pool, so that the overall operation efficiency can be improved, and remarkable economic benefits can be brought to enterprises.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of resource scheduling, and particularly relates to a method and device for dynamically scaling VPS according to the execution situation of RPA. Background Art

[0002] During the execution of cloud RPA tasks, the management of VPS resources is a key issue. The traditional method is to adopt a fixed resource configuration method, which has the following several significant problems:

[0003] First of all, the business volume has peaks and valleys, and it is difficult for a fixed number of VPSs to cope with. During the business peak period, limited VPS resources may cause cloud RPA tasks to queue and wait, affecting the execution efficiency; while during the business trough period, a large number of VPSs are idle, resulting in resource waste and increasing the operation cost;

[0004] Secondly, different types of cloud RPA tasks have large differences in resource requirements. Some cloud RPA tasks are computationally intensive and require high CPU performance; some cloud RPA tasks have a high degree of concurrency and require more memory resources; while some cloud RPA tasks have higher requirements for network bandwidth; therefore, it is difficult to meet this differentiated demand through a fixed resource configuration;

[0005] Thirdly, with the development of the business, there is a situation where new cloud RPA tasks increase, and the types and execution characteristics of cloud RPA tasks are also constantly changing; this requires the resource management system to be able to quickly respond to these changes and timely adjust the resource configuration to ensure the service quality.

[0006] In addition, cost control is also an important consideration; cloud resources are billed according to usage, and how to save costs to the greatest extent while ensuring the service quality requires an intelligent resource scheduling scheme. Therefore, there is an urgent need to establish a method for dynamically adjusting VPS resources according to the execution situation of cloud RPA tasks to achieve the optimization of resource utilization, effectively control the operation cost while ensuring the task execution efficiency. Summary of the Invention

[0007] The technical problem to be solved by the present invention is to provide a method and device for dynamically scaling VPS according to the execution situation of RPA, which can not only improve the overall operation efficiency, but also bring significant economic benefits to enterprises.

[0008] In the first aspect, the present invention provides a method for dynamically scaling VPS according to the execution situation of RPA, including the following steps:

[0009] Step 1: According to the attributes of the received cloud RPA task, allocate the cloud RPA task to the corresponding task pool;

[0010] Step 2: Set the configuration for capacity expansion and capacity reduction, monitor each task pool. If the capacity expansion configuration is met, the corresponding task pool adds a set number of VPSs; if the capacity reduction configuration is met, the corresponding task pool reduces a set number of VPSs.

[0011] The capacity expansion configuration is as follows:

[0012] When V < Vn and U1 > U1max or U2 > U2max, perform capacity expansion;

[0013] Or, if the waiting time of the cloud RPA task queue > Tq, perform capacity expansion;

[0014] The required number of VPSs

[0015] The expansion quantity = min(Vn - V, M - V); where S is the current number of stores in the task pool; P is the parallelism configuration of VPSs; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of VPSs; U2 is the CPU memory utilization rate of VPSs; Vmin is the minimum reserved number of VPSs in the task pool; U1max and U2max are set thresholds; Tq is the set time threshold;

[0016] The corresponding task pool adds a set number of VPSs according to the expansion quantity;

[0017] The capacity reduction configuration is specifically as follows:

[0018] When V > Vm, and U1 and U2 are monitored for N consecutive monitoring cycles, and U1 < Umin or U2 < Umin, perform capacity reduction;

[0019] Calculate the minimum reserved number of VPSs:

[0020] The reduction quantity = max(V - Vm, 0); where S is the current number of stores in the task pool; P is the parallelism configuration of VPSs; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of VPSs; U2 is the CPU memory utilization rate of VPSs; U1min and U2min are set thresholds;

[0021] The corresponding task pool reduces a set number of VPSs according to the reduction quantity.

[0022] In a second aspect, the present invention provides a device for dynamically expanding and reducing the number of VPSs according to the RPA execution situation, including:

[0023] An RPA task allocation module, which allocates the received cloud RPA task to the corresponding task pool according to the attributes of the cloud RPA task;

[0024] An expansion and contraction capacity setting module that sets expansion configuration and contraction configuration, monitors each task pool, and if the expansion configuration is met, a set number of VPSs are added to the corresponding task pool; if the contraction configuration is met, a set number of VPSs are reduced from the corresponding task pool;

[0025] The expansion configuration is as follows:

[0026] When V < Vn and U1 > U1max or U2 > U2max, expansion is performed;

[0027] Or, when the waiting time of the cloud RPA task queue > Tq, expansion is performed;

[0028] The required number of VPSs

[0029] Expansion quantity = min(Vn - V, M - V); where S is the current number of stores in the task pool; P is the parallelism configuration of VPSs; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of VPSs; U2 is the CPU memory utilization rate of VPSs; Vmin is the minimum reserved number of VPSs in the task pool; U1max and U2max are set thresholds; Tq is the set time threshold;

[0030] The corresponding task pool adds a set number of VPSs according to the expansion quantity;

[0031] The contraction configuration is specifically as follows:

[0032] When V > Vm, and U1 and U2 are monitored for N consecutive monitoring cycles, and U1 < Umin or U2 < Umin, contraction is performed;

[0033] Calculate the minimum reserved number of VPSs:

[0034] Contraction quantity = max(V - Vm, 0); where S is the current number of stores in the task pool; P is the parallelism configuration of VPSs; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of VPSs; U2 is the CPU memory utilization rate of VPSs; U1min and U2min are set thresholds;

[0035] The corresponding task pool reduces a set number of VPSs according to the contraction quantity.

[0036] One or more technical solutions provided by the present invention have at least the following technical effects or advantages:

[0037] Dynamic scaling mechanism: Achieves intelligent adjustment of VPS resources to ensure optimal resource allocation during peak and off-peak business periods.

[0038] Real-time monitoring and prediction: By monitoring the system resource utilization rate and task queue status in real time, accurately predicts resource requirements and quickly responds to business changes.

[0039] Flexible threshold management: Configures the minimum and maximum resource utilization rate thresholds to ensure stable operation while avoiding overuse or idleness of resources.

[0040] Resource recovery strategy: Through calculating the recovery amount and priority recovery strategy, ensures that ongoing tasks are not affected during scaling down and maintains business continuity.

[0041] Cost optimization: Maximizes the savings of cloud resource costs through on-demand scaling and optimizes operating expenses.

[0042] Scalability and flexibility: Supports flexible configuration and expansion and can adapt to business requirements of different scales and types.

[0043] Simplifies operation and maintenance management: The automated scaling process reduces manual intervention, improves operation and maintenance efficiency, and reduces management complexity.

[0044] The above description is only an overview of the technical solution of the present invention. In order to be able to understand the technical means of the present invention more clearly, it can be implemented according to the content of the specification. And in order to make the above and other objects, features and advantages of the present invention more obvious and understandable, the specific embodiments of the present invention are hereinafter specifically exemplified. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] The present invention will be further described below with reference to the accompanying drawings in conjunction with embodiments.

[0046] Figure 1 Is the flowchart of the method in Embodiment 1 of the present invention;

[0047] Figure 2 Is the structural schematic diagram of the device in Embodiment 2 of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0048] The overall idea of the technical solution in the embodiments of the present application is as follows:

[0049] Dynamic scaling mechanism: Achieves dynamic adjustment of VPS resources through the scaling mechanism, mainly including two core processes: scaling up and scaling down:

[0050] I. Scaling-up process

[0051] First, perform a pre-check, obtain all grouping information, and verify whether there are common groups. After confirming the grouping information, calculate the number of VPSs required currently. The calculation process includes obtaining standard values, handling special cases, etc.

[0052] After determining the target quantity, conduct an expansion judgment:

[0053] Compare the number of currently running machines with the required quantity. If expansion is needed, initialize new resources and retain the existing running machines;

[0054] Confirm the specific quantity of expansion through a secondary judgment to ensure the accuracy of expansion.

[0055] II. Shrinking process:

[0056] When it is detected that resources may be excessive, the shrinking process will be initiated.

[0057] First, recalculate the number of machines required, which is based on the current number of stores and parallelism. Determine whether to perform shrinking by judging the relationship between the current number of machines and the required quantity.

[0058] If shrinking is needed, calculate the specific amount to be recycled: the total current number of machines - the required number of machines;

[0059] Give priority to recycling from the smallest machine serial number;

[0060] Mark the machines to be recycled as in the Wait_close state;

[0061] Monitor the recycling progress and update the database status.

[0062] Definition of basic parameters:

[0063] S: The current number of stores;

[0064] P: The parallelism configuration of VPS;

[0065] V: The current number of running VPSs;

[0066] M: The maximum number of VPSs allowed in a single task pool;

[0067] Vmin: The minimum number of VPSs to be retained (can be configured as 0);

[0068] U: The system resource utilization rate (CPU, memory);

[0069] Threshold parameters:

[0070] Umin: The lowest resource utilization rate threshold (e.g., 30%);

[0071] Umax: The highest resource utilization rate threshold (e.g., 80%);

[0072] Tq: Task queue waiting time threshold;

[0073] Expansion calculation formula: Calculation of the theoretically required number of VPSs: (Round up to ensure there are enough VPSs to process all store tasks and meet the minimum VPS quantity requirement);

[0074] Calculation of the expansion quantity. The expansion quantity = min(Vn - V, M - V) (ensure not to exceed the maximum limit of the task pool);

[0075] Expansion condition judgment:

[0076] Expansion is triggered when any of the following conditions are met:

[0077] V < Vn and U > Umax;

[0078] Task queue waiting time > Tq;

[0079] Shrinkage calculation formula:

[0080] Calculation of the minimum reserved VPSs: (Round up, considering the minimum reserved quantity of VPSs);

[0081] Calculation of the shrinkage quantity: The shrinkage quantity = max(V - Vm, 0) (when Vmin = 0, full shrinkage is allowed);

[0082] Shrinkage condition judgment is satisfied simultaneously:

[0083] V > Vm;

[0084] U < Umin for N consecutive monitoring periods.

[0085] Embodiment 1

[0086] As Figure 1 shown, this embodiment provides a method for dynamically expanding and shrinking VPSs according to the RPA execution situation, including the following steps:

[0087] Step 1: According to the attributes of the received cloud RPA tasks, allocate the cloud RPA tasks to the corresponding task pools;

[0088] Step 2: Set the expansion configuration and the shrinkage configuration, monitor each task pool. If the expansion configuration is met, the corresponding task pool increases the set number of VPSs; if the shrinkage configuration is met, the corresponding task pool decreases the set number of VPSs;

[0089] The expansion configuration is:

[0090] When V < Vn and U1 > U1max or U2 > U2max, expansion is performed;

[0091] Or, when the waiting time of the cloud RPA task queue > Tq, expansion is performed;

[0092] The required number of VPSs

[0093] The expansion quantity = min(Vn - V, M - V); where S is the current number of stores in the task pool; P is the parallelism configuration of the VPS; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of the VPS; U2 is the CPU memory utilization rate of the VPS; Vmin is the minimum reserved number of VPSs in the task pool; U1max and U2max are set thresholds; Tq is the set time threshold;

[0094] The corresponding task pool adds a set number of VPSs according to the expansion quantity;

[0095] The specific shrinkage configuration is as follows:

[0096] When V > Vm, and U1 < Umin or U2 < Umin are monitored for N consecutive monitoring cycles, shrinkage is performed;

[0097] Calculate the minimum reserved number of VPSs:

[0098] The shrinkage quantity = max(V - Vm, 0); where S is the current number of stores in the task pool; P is the parallelism configuration of the VPS; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of the VPS; U2 is the CPU memory utilization rate of the VPS; U1min and U2min are set thresholds;

[0099] The corresponding task pool reduces a set number of VPSs according to the shrinkage quantity.

[0100] In this embodiment, preferably, step 1 is specifically: according to the attributes of the received cloud RPA task, the cloud RPA task is assigned to the corresponding task pool; the attributes include the store ID, which is used to calculate the number of stores in the same task pool. If the store IDs are the same, they are the same store.

[0101] In this embodiment, preferably, the specific operation of reducing a set number of VPSs in the corresponding task pool when the shrinkage configuration is met in step 2 is as follows: If the shrinkage configuration is met, a set number of VPSs are reduced in the corresponding task pool, and the VPSs are recycled starting from the smallest VPS serial number in the task pool in ascending order; the VPSs to be recycled are marked as the Wait_close state; the recycling progress is monitored and the status is updated to the set database.

[0102] Based on the same inventive concept, the present application also provides a device corresponding to the method in Embodiment 1. For details, see Embodiment 2.

[0103] Embodiment 2

[0104] As Figure 2 shown, in this embodiment, a device for dynamically scaling VPS according to the RPA execution situation is provided, including:

[0105] An RPA task allocation module that allocates the cloud RPA task to the corresponding task pool according to the attributes of the received cloud RPA task;

[0106] A scaling configuration module that sets the expansion configuration and the shrinkage configuration, monitors each task pool. If the expansion configuration is met, a set number of VPSs are added to the corresponding task pool; if the shrinkage configuration is met, a set number of VPSs are reduced in the corresponding task pool;

[0107] The expansion configuration is:

[0108] When V < Vn and U1 > U1max or U2 > U2max, expansion is performed;

[0109] Or, if the waiting time of the cloud RPA task queue > Tq, expansion is performed;

[0110] The required number of VPSs

[0111] The expansion quantity = min(Vn - V, M - V); where S is the current number of stores in the task pool; P is the parallelism configuration of the VPS; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of the VPS; U2 is the CPU memory utilization rate of the VPS; Vmin is the minimum reserved number of VPSs in the task pool; U1max and U2max are set thresholds; Tq is the set time threshold;

[0112] The corresponding task pool adds a set number of VPSs according to the expansion quantity;

[0113] The specific shrinkage configuration is:

[0114] When V > Vm, and U1 and U2 are monitored for N monitoring cycles, and U1 < Umin or U2 < Umin, then capacity reduction is performed;

[0115] Calculate the minimum number of VPSs to be retained:

[0116] The capacity reduction quantity = max(V - Vm, 0); S is the current number of stores in the task pool; P is the parallelism configuration of VPSs; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of the VPS; U2 is the CPU memory utilization rate of the VPS; U1min and U2min are the set thresholds;

[0117] The corresponding task pool reduces the set number of VPSs according to the capacity reduction quantity.

[0118] In this embodiment, preferably, the RPA task allocation module is specifically: according to the attributes of the received cloud RPA task, allocate the cloud RPA task to the corresponding task pool; the attributes include the store ID, which is used to calculate the number of stores in the same task pool. If the store IDs are the same, they are the same store.

[0119] In this embodiment, preferably, in the scaling configuration module, if the capacity reduction configuration is met, the corresponding task pool reduces the set number of VPSs specifically as follows: if the capacity reduction configuration is met, the corresponding task pool reduces the set number of VPSs, starts to recycle the corresponding VPSs in ascending order of the VPS numbers in the task pool; mark the VPSs to be recycled as the Wait_close state; monitor the recycling progress and update the status to the set database.

[0120] Since the device introduced in the second embodiment of the present invention is the device adopted for implementing the method in the first embodiment of the present invention, based on the method introduced in the first embodiment of the present invention, those skilled in the art can understand the specific structure and variations of the device, so it will not be elaborated here. Any device adopted for the method in the first embodiment of the present invention belongs to the scope of protection of the present invention.

[0121] The technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:

[0122] This embodiment can accurately predict resource requirements, quickly respond to load changes, intelligently schedule resource configurations, optimize resource utilization efficiency, and reduce operating costs. This can not only improve the overall operation efficiency but also bring significant economic benefits to the enterprise.

[0123] Although the specific embodiments of the present invention have been described above, those skilled in the art should understand that the specific embodiments we described are illustrative rather than used to limit the scope of the present invention. Equivalent modifications and variations made by those skilled in the art in accordance with the spirit of the present invention should all be covered within the scope protected by the claims of the present invention.

Claims

1. A method for dynamically scaling VPS capacity according to RPA execution conditions, characterized in that: It includes the following steps: Step 1: According to the attributes of the received cloud RPA task, allocate the cloud RPA task to the corresponding task pool; Step 2: Set the scale-out configuration and scale-in configuration, monitor each task pool. If the scale-out configuration is met, the corresponding task pool increases the set number of VPSs; if the scale-in configuration is met, the corresponding task pool decreases the set number of VPSs; The scale-out configuration is: When V < Vn and U1 > U1max or U2 > U2max, then perform scale-out; Or, when the waiting time of the cloud RPA task queue > Tq, then perform scale-out; Number of VPSs required The scale-out quantity = min(Vn - V, M - V); where S is the current number of stores in the task pool; P is the parallelism configuration of VPSs; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of the VPS; U2 is the CPU memory utilization rate of the VPS; Vmin is the minimum reserved number of VPSs in the task pool; U1max and U2max are set thresholds; Tq is the set time threshold; The corresponding task pool increases the set number of VPSs according to the scale-out quantity; The scale-in configuration is specifically: When V > Vm, and U1 and U2 are monitored for N consecutive monitoring cycles, and U1 < Umin or U2 < Umin, then perform scale-in; Calculate the minimum number of VPS to reserve: The scale-in quantity = max(V - Vm, 0); where S is the current number of stores in the task pool; P is the parallelism configuration of VPSs; V is the current number of running VPSs; M is the maximum number of VPSs allowed in the task pool; U1 is the CPU resource utilization rate of the VPS; U2 is the CPU memory utilization rate of the VPS; U1min and U2min are set thresholds; The corresponding task pool decreases the set number of VPSs according to the scale-in quantity.

2. According to claim 1, a method for dynamically scaling VPS according to RPA execution conditions, characterized in that: The specific content of Step 1 is: According to the attributes of the received cloud RPA task, allocate the cloud RPA task to the corresponding task pool; the attributes include the store ID, which is used to calculate the number of stores in the same task pool. If the store IDs are the same, they are the same store.

3. According to claim 1, a method for dynamically scaling VPS according to RPA execution conditions, characterized in that: In Step 2, the statement that if the scale-in configuration is met, the corresponding task pool decreases the set number of VPSs specifically means: If the scale-in configuration is met, the corresponding task pool decreases the set number of VPSs, starts recycling the corresponding VPSs in ascending order of the VPS serial numbers in the task pool; marks the VPSs to be recycled as the Wait_close state; monitors the recycling progress and updates the status to the set database.

4. A device for dynamically scaling VPS capacity according to RPA execution conditions, characterized in that: It includes: An RPA task allocation module, which allocates the received cloud RPA task to the corresponding task pool according to the attributes of the cloud RPA task; A scale-out and scale-in setting module, which sets the scale-out configuration and scale-in configuration, monitors each task pool. If the scale-out configuration is met, the corresponding task pool increases the set number of VPSs; if the scale-in configuration is met, the corresponding task pool decreases the set number of VPSs; The scale-out configuration is: When V < Vn and U1 > U1max or U2 > U2max, then perform scale-out; Or, when the waiting time of the cloud RPA task queue > Tq, then perform scale-out; Number of VPSs required Expansion quantity = min(Vn - V, M - V); where S is the current number of stores in the task pool; P is the parallelism configuration of VPS; V is the current number of running VPS; M is the maximum number of VPS allowed in the task pool; U1 is the CPU resource utilization rate of VPS; U2 is the CPU memory utilization rate of VPS; Vmin is the minimum reserved number of VPS in the task pool; U1max and U2max are set thresholds; Tq is the set time threshold; The corresponding task pool adds a set number of VPS according to the expansion quantity; The specific shrinkage configuration is as follows: When V > Vm, and U1 < Umin or U2 < Umin are monitored for N consecutive monitoring cycles, then shrinkage is performed; Calculate the minimum number of VPS to reserve: Shrinkage quantity = max(V - Vm, 0); where S is the current number of stores in the task pool; P is the parallelism configuration of VPS; V is the current number of running VPS; M is the maximum number of VPS allowed in the task pool; U1 is the CPU resource utilization rate of VPS; U2 is the CPU memory utilization rate of VPS; U1min and U2min are set thresholds; The corresponding task pool reduces a set number of VPS according to the shrinkage quantity.

5. The device for dynamically scaling VPS according to RPA execution status according to claim 4, characterized in that: The specific RPA task allocation module is as follows: According to the attributes of the received cloud RPA task, the cloud RPA task is allocated to the corresponding task pool; the attributes include the store ID, which is used to calculate the number of stores in the same task pool. If the store IDs are the same, they are the same store.

6. The device for dynamically scaling VPS according to RPA execution status according to claim 4, characterized in that: In the expansion and shrinkage setting module, when the shrinkage configuration is met, the corresponding task pool reduces a set number of VPS. Specifically, if the shrinkage configuration is met, the corresponding task pool reduces a set number of VPS, starts recycling the corresponding VPS in ascending order of the VPS serial numbers in the task pool; marks the VPS to be recycled as the Wait_close state; monitors the recycling progress and updates the status to the set database.