Resource Dynamic Allocation Method, Apparatus, Device, and System

By obtaining service provision data of service provision nodes, determining target data processing services, and dynamic allocation of physical resources, the problem of unreasonable resource allocation in the existing technology is solved, and the accurate allocation of resources and improvement of service quality is achieved.

CN114035947BActive Publication Date: 2025-06-27HANGZHOU EZVIZ SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111284080.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-01
Publication Date
2025-06-27
Estimated Expiration
2041-11-01

AI Technical Summary

Technical Problem

In the prior art, the allocation method of computing resources depends on resource utilization and cannot accurately reflect the service quality of data processing services, resulting in unreasonable resource allocation.

Method used

By acquiring service provision data from multiple service provision nodes, it is determined whether there is a target data processing service that meets the dynamic allocation conditions of resource dynamic allocation in each data processing service, and dynamic allocation processing is performed based on the pre-acquisitioned physical resource information.

Benefits of technology

It realizes the accurate allocation of physical resources, improves resource utilization, and is conducive to improving service quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114035947B_ABST
    Figure CN114035947B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides a method, device, equipment and system for dynamic resource allocation. The method includes: obtaining service provision data of a plurality of service provision nodes; wherein, at least one process runs in each service provision node, and different processes provide the same or different data processing services based on the allocated physical resources; determining whether there is a target data processing service that meets the conditions for dynamic resource allocation among the data processing services according to the service provision data; if so, performing dynamic allocation processing of physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service provision node. The embodiment of the present application realizes accurate resource allocation, which is beneficial to improving resource utilization rate and service quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular, to a method, device, equipment and system for dynamic resource allocation. Background Art

[0002] With the continuous development of artificial intelligence and Internet of Things technologies, there is an increasing amount of image data, audio and video data, etc. that need to be processed. Correspondingly, it becomes increasingly important to reasonably allocate the computing resources required for data processing. The current method of allocating computing resources is usually to monitor the resource utilization rate of each data processing service, and when the resource utilization rate reaches the set threshold, elastic scaling is performed. However, in some scenarios, the resource utilization rate cannot accurately reflect the service quality of the data processing service, so there are problems such as unreasonable resource allocation. Summary of the Invention

[0003] The purpose of the embodiments of this application is to provide a method, device, equipment and system for dynamic resource allocation to solve problems such as unreasonable resource allocation existing in the existing resource allocation method.

[0004] To solve the above technical problems, the embodiments of this application are implemented as follows:

[0005] In a first aspect, the embodiments of this application provide a method for dynamic resource allocation, including:

[0006] Obtain service providing data of multiple service providing nodes; wherein, at least one process runs in each of the service providing nodes, and different processes provide the same or different data processing services based on the allocated physical resources;

[0007] According to the service providing data, determine whether there is a target data processing service that meets the conditions for dynamic resource allocation among the data processing services;

[0008] If so, perform dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service providing node.

[0009] In a second aspect, the embodiments of this application provide a device for dynamic resource allocation, including:

[0010] A processor, configured to obtain service provision data of multiple service provision nodes; determine whether there is a target data processing service that meets the resource dynamic allocation condition among the data processing services according to the service provision data; if so, perform dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service provision node; wherein, at least one process runs in each service provision node, and different processes provide the same or different data processing services based on the allocated physical resources;

[0011] A memory, configured to store the first resource information and the second resource information.

[0012] In a third aspect, an embodiment of the present application provides a resource dynamic allocation system, including: a resource management node and multiple service provision nodes;

[0013] The service provision node is configured to provide data processing services based on at least one running process; wherein, different processes provide the same or different data processing services based on the allocated physical resources;

[0014] The resource management node is configured to perform dynamic allocation processing of the physical resources of the service provision node according to the resource dynamic allocation method provided in the first aspect above.

[0015] In a fourth aspect, an embodiment of the present application provides a resource dynamic allocation device, including: a processor and a memory electrically connected to the processor. The memory stores a computer program, and the processor is configured to call and execute the computer program from the memory to implement the steps of the resource dynamic allocation method provided in the first aspect above.

[0016] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the resource dynamic allocation method provided in the first aspect above are implemented.

[0017] In the embodiment of the present application, by obtaining service provision data of multiple service provision nodes, where at least one process runs in each service provision node, and different processes provide the same or different data processing services; and when it is determined according to the service provision data that there is a target data processing service that meets the resource dynamic allocation condition among the data processing services, dynamic allocation processing of physical resources is performed. Since the service provision data can truly reflect the service quality and resource usage of the corresponding data processing service, performing dynamic allocation of physical resources based on the service provision data can not only achieve accurate allocation of physical resources and improve resource utilization rate, but also is beneficial to improving service quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments described in the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0019] Figure 1 The first flowchart of a resource dynamic allocation method provided by an embodiment of this specification;

[0020] Figure 2 The second flowchart of a resource dynamic allocation method provided by an embodiment of this specification;

[0021] Figure 3 The third flowchart of a resource dynamic allocation method provided by an embodiment of this specification;

[0022] Figure 4 The fourth flowchart of a resource dynamic allocation method provided by an embodiment of this specification;

[0023] Figure 5 The fifth flowchart of a resource dynamic allocation method provided by an embodiment of this specification;

[0024] Figure 6 The schematic diagram of the module composition of a resource dynamic allocation device provided by an embodiment of this specification;

[0025] Figure 7 The schematic diagram of the composition of a resource dynamic allocation system provided by an embodiment of this specification;

[0026] Figure 8 The schematic diagram of the composition of a resource dynamic allocation device provided by an embodiment of this specification. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0027] In order to enable those skilled in the art to better understand the technical solutions in the present application, the following will clearly and completely describe the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0028] Figure 1The flowchart of a resource dynamic allocation method provided for one or more embodiments of this specification, which is applied to a resource management node. Refer to Figure 1 , the method may specifically include the following steps:

[0029] Step 102, obtain the service provision data of multiple service providing nodes; wherein, at least one process runs in each service providing node, and different processes provide the same or different data processing services based on the allocated physical resources;

[0030] The resource dynamic allocation method provided by this application can be applied to a heterogeneous system including multiple service providing nodes. Among them, at least one process runs in each service providing node, and each process runs a corresponding data processing application based on the allocated physical resources to provide corresponding data processing services. Physical resources may include computing resources and running resources. Computing resources may include GPU (Graphics Processing Unit), CPU (Central Processing Unit), etc., and running resources may include video memory, memory, etc. Data processing services may include image data processing services, audio and video data processing services, etc. That is to say, each service providing node can provide at least one type of data processing service.

[0031] Further, the service providing node can record the service provision data of the data processing services provided by each process running on itself. Optionally, when the service providing node finishes providing each data processing service (for example, finishes processing an image), it sends the recorded service provision data of this data processing service to the resource management node; or, when each service providing node determines that the cut-off time of the preset statistical period is reached, it sends the service provision data of each service within this statistical period to the resource management node; correspondingly, step 102 may include: receiving the service provision data sent by each service providing node. Or, the resource management node can actively obtain the service provision data; correspondingly, step 102 may include: if it is determined that the cut-off time of the preset statistical period is reached, then send a data acquisition request to each service providing node and receive the service provision data of the corresponding statistical period sent by each service providing node. Among them, the service provision data may include the service identifier, service duration, service result, process identifier of the process providing the data processing service, node identifier of the service providing node where the process is located, etc. The statistical period can be set according to actual needs in practical applications, such as 5 minutes, 10 minutes, etc.

[0032] Step 104, according to the service provision data, determine whether there is a target data processing service that meets the resource dynamic allocation condition among each data processing service;

[0033] Since the service-provided data can better reflect the service quality and resource usage, in order to improve the resource utilization rate and service quality, in this application, the target data processing service that meets the conditions for dynamic resource allocation is determined according to the service-provided data.

[0034] Step 106, if so, perform dynamic allocation processing of physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service-providing node.

[0035] Among them, the first resource information and the second resource information may include computing resource information and operating resource information; the computing resource information may include information such as the type of computing resources and the number of cores of the computing resources, and the operating resource information may include information such as the capacity of each operating resource. For example, the first resource information of the physical resources corresponding to a certain target data processing service includes: computing resource type GPU, 4 GPU cores, video memory capacity 5MB, memory capacity 20MB, etc. Another example is that the second resource information of the physical resources of a certain service-providing node includes: computing resource type CPU, 8 CPU cores, video memory capacity 48GB, memory capacity 256GB, etc. It can be understood that the first resource information represents the physical resources required for the corresponding data processing service during operation; the second resource information represents the physical resources owned by the service-providing node.

[0036] In the embodiments of this specification, by obtaining the service-provided data of multiple service-providing nodes, where at least one process runs in each service-providing node, and different processes provide the same or different data processing services; and when determining that there is a target data processing service that meets the conditions for dynamic resource allocation among the data processing services according to the service-provided data, perform dynamic allocation processing of physical resources. Since the service-provided data can truly reflect the service quality and resource usage of the corresponding data processing service, performing dynamic allocation of physical resources based on the service-provided data can not only achieve accurate allocation of physical resources and improve resource utilization rate, but also help improve service quality.

[0037] In order to achieve effective management of resources and perform dynamic allocation of resources, in one or more embodiments of this application, as Figure 2 shown, before step 102, the following step 100 may further be included:

[0038] Step 100, obtain the first resource information of the physical resources corresponding to each data processing service, and obtain the second resource information of the physical resources of each service-providing node, and save the first resource information and the second resource information.

[0039] Specifically, the resource management node may include an operation interface through which a user can submit first resource information of physical resources corresponding to each data processing service. Correspondingly, obtaining the first resource information of physical resources corresponding to each data processing service may include: obtaining the first resource information of physical resources corresponding to each data processing service submitted by the user. When a service providing node joins the heterogeneous system, it may first send second resource information of its physical resources to the service providing node. Correspondingly, obtaining the second resource information of physical resources of each service providing node may include: receiving the second resource information of physical resources of each service providing node. It should be noted that the obtaining methods of the first resource information and the second resource information are not limited to the above-mentioned obtaining methods and can be set according to actual needs in practical applications. For example, the first resource information may also be pre-stored in the resource management node, and the resource management node may also send a resource information obtaining request to the service providing node according to the determined node information of each service providing node. The first resource information and the second resource information may be obtained simultaneously or non-simultaneously.

[0040] Furthermore, the storage methods of the first resource information and the second resource information can also be set according to actual needs in practical applications. In a feasible implementation manner, each first resource information may be stored through a first table; or a first table may be established for each data processing service, and the first resource information corresponding to the data processing service may be stored through the first table. Each second resource information may be stored through a second table; or a second table may be established for each service providing node, and the second resource information corresponding to the service providing node may be stored through the second table. The storage method of the first resource information and the storage method of the second resource information may be the same or different; this application does not make specific limitations in this regard.

[0041] In order to improve resource utilization rate and service quality, in one or more embodiments of this application, resource dynamic allocation processing includes resource allocation processing and resource recovery processing. Specifically, as Figure 3 shown, step 104 may include the following steps 104-2 to 104-6, and step 106 may include the following steps 106-2 to 106-8:

[0042] Step 104-2: Determine the current service parameters of the corresponding data processing services in the current statistical period according to the service providing data;

[0043] Among them, the service parameters may include failure rate, average time consumption, data processing quantity, etc., which can be set according to actual needs in practical applications.

[0044] Taking the service parameters including the failure rate and the average time consumption as an example, the service providing node divides the service providing data into multiple data sets according to the service identifiers in the obtained service providing data. Each data set includes the service providing data corresponding to the same service identifier, that is, each data set corresponds to a data processing service. Count the seventh quantity of the service providing data in each data set; calculate the total service time consumption of the corresponding data processing service according to the service time consumption included in each service providing data in each data set; calculate the ratio of the total service time consumption to the seventh quantity to obtain the average time consumption of the corresponding data processing service. Also, according to the service results included in each service providing data in each data set, count the third quantity of service failure results, and calculate the ratio of the third quantity to the seventh quantity to obtain the failure rate of the corresponding data processing service.

[0045] Step 104-4, according to the current service parameters, determine whether the corresponding data processing service is the first target data processing service that meets the resource expansion condition. If so, execute step 106-2; otherwise, execute step 104-6;

[0046] Specifically, determine whether the current service parameters are not less than the preset service parameter threshold; if so, obtain the historical service parameters of the corresponding data processing service in a continuous preset number of historical statistical periods; if it is determined that the historical service parameters are not less than the service parameter threshold, determine the corresponding data processing service as the first target data processing service that meets the resource expansion condition.

[0047] Step 104-6, according to the current service parameters, determine whether the corresponding data processing service is the second target data processing service that meets the resource reduction condition;

[0048] Specifically, if it is determined that the failure rate included in the current service parameters is zero and the average time consumption included in the current service parameters is lower than the average time consumption threshold, determine the corresponding data processing service as the second target data processing service that meets the resource reduction condition.

[0049] Taking the current service parameters including the failure rate and the average time consumption, and the preset quantity being 5 as an example for illustration. The resource management node determines each of the determined current service parameters as the current service parameters to be processed, and randomly selects one from the service parameters to be processed as the target service parameter. Determine whether the failure rate in the target service parameter is not less than the preset failure rate threshold, and determine whether the average time consumption in the target service parameter is not lower than the preset average time consumption threshold; if both determination results are yes, obtain the service identifier from the service providing data corresponding to the target service parameter, and obtain the nearest 5 historical service parameters according to the service identifier. Determine whether the failure rates in the 5 historical service parameters are all not less than the preset failure rate threshold, and determine whether the average time consumptions in the 5 historical service parameters are all not lower than the preset average time consumption threshold; if both determination results are yes, determine the data processing service corresponding to the target service parameter as the first target data processing service; otherwise, determine whether the failure rate in the target service parameter is zero, and determine whether the average time consumption in the target service parameter is not lower than the preset average time consumption threshold; if both determination results are yes, determine the data processing service corresponding to the target service parameter as the second target data processing service; otherwise, determine that the data processing service corresponding to the target service parameter is a service that does not require resource dynamic allocation processing, randomly select one from the current service parameters to be processed as the target service parameter, and process the target service parameter in the foregoing manner.

[0050] Step 106-2: Determine the first quantity of the process to be started according to the current service parameters;

[0051] In one or more embodiments of the present application, the current service parameters may include a service failure rate. Correspondingly, step 106-2 may include: determining the third quantity of the data that fails to be processed during the current statistical period according to the service failure rate; obtaining the associated target fourth quantity from the preset association relationship between the service identifier and the fourth quantity according to the service identifier of the first target data processing service; determining the first quantity of the process to be started according to the third quantity and the fourth quantity; wherein the fourth quantity is the quantity of data that can be successfully processed in each statistical period when the process provides the first target data processing service.

[0052] Specifically, determine the data set corresponding to the service failure rate, and determine the third quantity of the service failure results of this data set obtained by statistics as the third quantity of the data that fails to be processed by the corresponding first target data processing service during the current statistical period; obtain the service identifier from this data set, and according to the obtained service identifier, obtain the associated target fourth quantity from the preset association relationship between the service identifier and the fourth quantity; calculate the ratio of the third quantity to the fourth quantity, and determine whether this ratio is an integer. If so, determine this ratio as the first quantity of the process to be started; if not, round up this ratio, and determine the rounded value as the first quantity of the process to be started. For example, if this ratio is 2.3, the rounded value is 3.

[0053] In one or more embodiments of the present application, the current service parameter may include the average elapsed time. Correspondingly, step 106-2 may include: determining the fifth quantity of the process currently providing the first target data processing service; determining the first quantity of the process to be started according to the average elapsed time, the preset average elapsed time threshold, and the fifth quantity.

[0054] Specifically, obtain the process identifier from the data set corresponding to the current service parameter, perform deduplication processing on the obtained process identifier, and count the number of the remaining process identifiers as the fifth quantity of the process currently providing the corresponding first target data processing service; perform calculation processing according to the preset calculation formula [(average elapsed time - average elapsed time threshold) / average elapsed time]*fifth quantity to obtain the calculation result; determine whether the calculation result is an integer. If so, determine this calculation result as the first quantity of the process to be started; if not, round up this calculation result, and determine the rounded value as the first quantity of the process to be started.

[0055] In one or more embodiments of the present application, the current service parameter may include the failure rate and the average elapsed time. Correspondingly, step 106-2 may include: respectively determining the corresponding candidate quantities according to the failure rate and the average elapsed time; determining the largest quantity among the candidate quantities as the first quantity of the process to be started. Among them, the process of determining the corresponding candidate quantity according to the failure rate is the same as the above process of determining the first quantity according to the failure rate, and the process of determining the corresponding candidate quantity according to the average elapsed time is the same as the above process of determining the first quantity according to the average elapsed time. For details, please refer to the foregoing related descriptions, and the repeated parts will not be elaborated here.

[0056] It should be noted that the determination method of the first quantity is not limited to the above method, and can be set according to actual needs in practical applications.

[0057] Step 106-4: Based on the principle of resource balance, perform allocation processing of physical resources according to the determined computing resource type corresponding to the first target data processing service, the first resource information of the physical resources corresponding to the first target data processing service obtained in advance, the determined first quantity, and the second resource information of the physical resources of each service providing node obtained in advance;

[0058] Specifically, as Figure 4 shown, Step 106-4 may include the following steps 106-4-2 to 106-4-12:

[0059] Step 106-4-2: According to the determined computing resource type corresponding to the first target data processing service, determine candidate service providing nodes that match the computing resource type from each service providing node;

[0060] Specifically, according to the service identifier of the first target data processing service, obtain the corresponding computing resource type from the saved first resource information, and perform matching processing on the computing resource type information with the computing resource types in the saved second resource information of each; and determine the service providing nodes corresponding to the successfully matched second resource information as candidate service providing nodes.

[0061] Step 106-4-4: Determine the third resource information of the physical resources currently available for each candidate service providing node; according to the second resource information and the third resource information of each candidate service providing node, determine the current resource utilization rate of each candidate service providing node;

[0062] Specifically, according to the recorded resource allocation information of the candidate service providing nodes and the second resource information of each candidate service providing node, determine the third resource information of the physical resources currently available for each candidate providing node; according to the second resource information and the third resource information of each candidate service providing node, determine the utilization rate of each resource of each candidate service node, and calculate the average resource utilization rate according to the utilization rates of each resource; determine the average resource utilization rate as the current resource utilization rate of the candidate service providing node. For example, if the utilization rate of the GPU of a certain candidate service providing node is determined to be 60% according to its second resource information and third resource information, the utilization rate of the memory is 70%, and the utilization rate of the video memory is 50%, then its resource utilization rate is determined to be 60%.

[0063] It should be noted that the method of determining the current resource utilization rate of each candidate service providing node according to the second resource information and the third resource information of each candidate service providing node is not limited to the above method, and can be set according to actual needs in practical applications. For example, it can also calculate the weighted average according to the preset weights of each resource to obtain the current resource utilization rate of the corresponding candidate service providing node, etc.

[0064] Step 106-4-6: Perform a sorting process on the resource utilization rates, and obtain the first quantity of target resource utilization rates from the sorting result in ascending order of resource utilization rates;

[0065] Optionally, the sorting process can be performed in descending order. Correspondingly, obtain the first quantity of target resource utilization rates from the sorting result. Or, the sorting process is performed in ascending order. Correspondingly, obtain the first quantity of target resource utilization rates from the sorting result.

[0066] Step 106-4-8: Determine whether the third resource information corresponding to the target resource utilization rate matches the first resource information corresponding to the first target data processing service;

[0067] Specifically, obtain the remaining quantity of each resource from the third resource information corresponding to the target resource utilization rate, and determine whether the remaining quantity of each resource is not less than the quantity of the corresponding resource in the first resource information. If so, determine that the third resource information corresponding to the target resource utilization rate matches the first resource information corresponding to the first target data processing service.

[0068] For example, obtaining the remaining quantity of each resource from the third resource information corresponding to a certain target resource utilization rate includes: 45GB of memory and 20GB of video memory, which are respectively greater than 15GB of memory and 10GB of video memory in the first resource information, then it is determined that they match.

[0069] Step 106-4-10: If so, according to the first resource information corresponding to the first target data processing service, send a process start request to the candidate service providing node corresponding to the target resource utilization rate, so that the candidate service providing node starts a new process, and provides the first target data processing service based on the physical resources corresponding to the first resource information through this new process;

[0070] Specifically, according to the service identifier of the first target data processing service, obtain the corresponding startup information from the saved correspondence between the service identifier and the startup information, where the startup information includes the first resource information; send a process startup request to the candidate service providing node corresponding to the target resource utilization rate according to the startup information. When the service providing node receives the process startup request, parse the process startup request to obtain the startup information, and determine whether the corresponding data packet is saved locally according to the service identifier in the startup information; if so, start a new process, where the new process is based on the physical resources corresponding to the first resource information, and perform initialization processing of the corresponding first target data processing service according to the data packet and the startup information, and after the initialization is completed, start the first target data processing service. After the first target data processing service is successfully started, register the corresponding one to the specified registration center. When the candidate service providing node monitors the registration success information of the new process, send the process startup result to the resource management module according to the process identifier of the new process, the service identifier of the first target data processing service, etc. When the candidate service providing node determines that the corresponding data packet is not saved locally, obtain the download address from the startup information, and download the corresponding data packet according to the download address; perform subsequent processing based on the downloaded data packet. Among them, the startup information is saved when the process for the first target data processing is started for the first time. The data packet includes model data, algorithm library data, configuration data, etc. required for data processing.

[0071] Step 106-4-12, receive the process startup result sent by the candidate service providing node.

[0072] Thus, when it is determined according to the current service parameters that there is a first target data processing service that meets the resource expansion condition, based on the resource balance principle, start a new process in the service providing node with a low resource utilization rate and provide the first target data processing service, which not only realizes the precise allocation of resources; but also can reduce the average time-consuming of the first target data processing service, reduce the failure rate, and improve the service quality.

[0073] Step 106-6, if so, determine the second quantity of the processes to be closed according to the current service parameters;

[0074] At this time, the failure rate is zero, so the second quantity of the processes to be closed can be determined according to the average time-consuming. The process of determining the second quantity of the processes to be closed according to the average time-consuming is the same as the process of determining the first quantity of the processes to be started according to the average time-consuming described above, and the relevant description can be referred to above, and the repeated parts will not be elaborated here.

[0075] Step 106-8: Based on the principle of resource balance, perform the recycling process of physical resources according to the first resource information of the physical resources corresponding to the second target data processing service obtained in advance, the determined second quantity, and the second resource information of the physical resources of each service provider node obtained in advance.

[0076] Specifically, as Figure 4 shown, Step 106-8 may include the following steps 106-8-2 to 106-8-12:

[0077] Step 106-8-2: Determine the target service provider node where each process currently providing the second target data processing service is located;

[0078] Specifically, from the data set of the second target data processing service, obtain the node identifier, and determine the obtained node identifier as the target service provider node where the process currently providing the second target data processing service is located.

[0079] Step 106-8-4: Determine the fourth resource information of the physical resources currently used by the target service provider node, and determine the resource utilization rate of each target service provider node according to the second resource information and the fourth resource information of the target service provider node;

[0080] Among them, the process of determining the resource utilization rate of each target service provider node is the same as the process of determining the resource utilization rate of the candidate service provider node described above. For details, please refer to the relevant description above, and the repeated parts will not be elaborated here.

[0081] Step 106-8-6: Sort the resource utilization rates, and obtain the second quantity of target resource utilization rates from the sorting result in descending order;

[0082] Optionally, the sorting process may be sorted in descending order. Correspondingly, obtain the first second quantity of target resource utilization rates from the sorting result. Or, the sorting process is sorted in ascending order. Correspondingly, obtain the last second quantity of target resource utilization rates from the sorting result.

[0083] Step 106-8-8: Determine the process providing the second target data processing service among the target service provider nodes corresponding to the target resource utilization rate as the process to be closed;

[0084] Step 106-8-10: Send a process shutdown request to the corresponding target service provider node according to the process identifier of the process to be closed, so that the target service provider node closes the corresponding process to be closed to release the corresponding physical resources;

[0085] When the target service providing node receives a process shutdown request, determine the process to be shut down and perform shutdown processing on the process to be shut down; send the process shutdown result to the resource management node

[0086] Step 106-8-12, receive the process shutdown result sent by the target service providing node.

[0087] Thus, when the resource management node determines that there is a second target data processing service that meets the condition for capacity reduction according to the current service parameters, according to the principle of resource balance, the process providing the second target data processing service in the target service providing node with a high resource utilization rate is shut down to release the corresponding physical resources, which not only realizes the precise allocation of resources; but also can reduce the average time-consuming and improve the service quality without reducing the success rate of the first target data processing service.

[0088] For the convenience of subsequent resource dynamic allocation processing, the method may further include: storing the determined current service parameters corresponding to the service identifier of the corresponding data processing service.

[0089] Further, in order to ensure the accuracy of subsequent resource dynamic allocation, in one or more embodiments of the present application, as Figure 5 shown, after step 106, the following step 108 may further be included:

[0090] Step 108, if it is determined that the dynamic allocation processing is successful, perform update processing on the determined data to be updated; and clear the service-providing data.

[0091] Specifically, when performing resource allocation processing according to the foregoing steps 106-2 and 106-4, if it is determined that the corresponding process starts successfully according to the received process start result, the information of the started process, the resource allocation information of the corresponding service providing node, etc. are determined as the data to be updated, and the relevant information of the newly started process is recorded, as well as the resource allocation information of the corresponding service providing node is recorded. When performing resource recovery processing according to the foregoing steps 106-6 and 106-7, if it is determined that the corresponding process shuts down successfully according to the received process shutdown result, the information of the started process, the resource allocation information of the corresponding service providing node, etc. are determined as the data to be updated, the relevant information of the shut-down process is deleted, and the resource allocation information of the corresponding physical resources of the corresponding service providing node is deleted.

[0092] To provide data processing services, before the first service provision, resource allocation processing needs to be carried out first to provide data processing services based on each started process. Also, considering that in actual applications, as the business model continuously changes, data processing services often change accordingly. When a new data processing service needs to be started, the resource management node can also perform resource allocation processing. Correspondingly, the method can further include the following steps 110 to step 114:

[0093] Step 110, obtain the start information of the third target data processing service to be started;

[0094] Specifically, the user can edit the start information of the third target data processing service to be started through the operation interface of the resource management node. Correspondingly, the resource management node obtains the start information submitted by the user. Among them, the start information can include service identification, download address of the corresponding data packet, maximum concurrent number of supported data processing tasks, first resource information, deployment quantity, etc.

[0095] Step 112, determine the sixth quantity of the process to be started according to the start information;

[0096] Specifically, obtain the deployment quantity from the start information, and determine the deployment quantity as the sixth quantity of the process to be started.

[0097] Step 114, perform physical resource allocation processing according to the sixth quantity, the first resource information and the second resource information of the third target data processing service, to start the sixth quantity of processes, and provide the third target data processing service based on the allocated physical resources through the started processes.

[0098] Specifically, obtain the first resource information of the third target data processing service from the start information; based on the resource balance principle, perform physical resource allocation processing according to the computing resource type of the third target data processing service, the first resource information, the determined sixth quantity, and the pre-obtained second resource information respectively, to start the sixth quantity of processes. Among them, the process of performing physical resource allocation processing according to the computing resource type of the third target data processing service, the first resource information, the determined sixth quantity, and the pre-obtained second resource information respectively based on the resource balance principle is the same as the process of performing physical resource allocation processing according to the computing resource type of the first target data processing service, the first resource information, the first quantity, and the second resource information based on the resource balance principle, which can be referred to the foregoing relevant description, and the repeated parts are not elaborated here.

[0099] It can be understood that steps 110 to 114 can be executed before step 102, can also be executed after step 106, and can also be executed between steps 102 and 106.

[0100] In the embodiments of the present application, by obtaining service - providing data of multiple service - providing nodes, where at least one process runs in each service - providing node, and different processes provide the same or different data - processing services; and when it is determined, according to the service - providing data, that there is a target data - processing service that meets the conditions for dynamic physical - resource allocation among the data - processing services, dynamic allocation processing of physical resources is performed. Since the service - providing data can truly reflect the service quality of the corresponding data - processing service, performing dynamic allocation of physical resources based on the service - providing data can not only achieve accurate allocation of physical resources and improve resource utilization rate, but also be beneficial to improving service quality.

[0101] Based on the same technical concept, one or more embodiments of this specification also provide a device for dynamic resource allocation. Figure 6 A schematic diagram of the module composition of a device for dynamic resource allocation provided by one or more embodiments of this specification is as Figure 6 shown. The device includes:

[0102] A processor 201, configured to obtain service - providing data of multiple service - providing nodes; determine, according to the service - providing data, whether there is a target data - processing service that meets the conditions for dynamic physical - resource allocation among the data - processing services; if so, perform dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data - processing service obtained in advance and the second resource information of the physical resources of each service - providing node; where at least one process runs in each service - providing node, and different processes provide the same or different data - processing services based on the allocated physical resources.

[0103] A memory 202, configured to store the first resource information and the second resource information.

[0104] Optionally, the processor 201 is specifically configured to:

[0105] Determine the current service parameters of the corresponding data - processing services in the current statistical period according to the service - providing data;

[0106] Determine whether the corresponding data - processing service is a first target data - processing service that meets the resource - expansion conditions according to the current service parameters;

[0107] If not, determine whether the corresponding data - processing service is a second target data - processing service that meets the resource - reduction conditions according to the current service parameters.

[0108] Optionally, the processor 201 is further specifically configured to:

[0109] Determine whether the current service parameters are not less than a preset service - parameter threshold;

[0110] If so, obtain the historical service parameters of the corresponding data processing service in a continuous preset number of historical statistical periods;

[0111] If it is determined that all the historical service parameters are not less than the service parameter threshold, determine the corresponding data processing service as the first target data processing service that meets the resource expansion condition;

[0112] Determining whether the corresponding data processing service is the second target data processing service that meets the resource reduction condition according to the current service parameter includes:

[0113] If it is determined that the failure rate included in the current service parameter is zero and the average time consumption included in the current service parameter is lower than the average time consumption threshold, determine the corresponding data processing service as the second target data processing service that meets the resource reduction condition.

[0114] Optionally, the physical resource includes computing resources; correspondingly, the processor 201 is further specifically configured to:

[0115] If it is determined that there is the first target data processing service, determine the first number of processes to be started according to the current service parameter; based on the principle of resource balance, perform allocation processing of the physical resources according to the computing resource type of the first target data processing service, the first resource information, the first number, and the second resource information;

[0116] If it is determined that there is the second target data processing service, determine the second number of processes to be closed according to the current service parameter; based on the principle of resource balance, perform recycling processing of the physical resources according to the first resource information, the second number, and the second resource information of the second target data processing service.

[0117] Optionally, the processor 201 is further specifically configured to:

[0118] Determine the third number of data with processing failures in the current statistical period according to the service failure rate;

[0119] According to the service identifier of the first target data processing service, obtain the associated target fourth number from the preset association relationship between the service identifier and the fourth number; wherein, the fourth number is the number of data that can be successfully processed in each statistical period when the process provides the first target data processing service;

[0120] Determine the first number of processes to be started according to the third number and the fourth number;

[0121] Or,

[0122] The current service parameters include the average time consumption. Determining the first quantity of processes to be started according to the current service parameters includes:

[0123] Determining the fifth quantity of processes currently providing the first target data processing service;

[0124] Determining the first quantity of processes to be started according to the average time consumption, a preset average time consumption threshold, and the fifth quantity;

[0125] Or,

[0126] The current service parameters include the failure rate and the average time consumption. Determining the first quantity of processes to be started according to the current service parameters includes:

[0127] Respectively determining the corresponding candidate quantities according to the failure rate and the average time consumption;

[0128] Determining the maximum quantity among the candidate quantities as the first quantity of processes to be started.

[0129] Optionally, the processor 201 is further specifically configured to:

[0130] Determining, according to the computing resource type corresponding to the first target data processing service, candidate service providing nodes that match the computing resource type from each of the service providing nodes;

[0131] Determining the third resource information of the physical resources currently available for each of the candidate service providing nodes;

[0132] Determining the current resource utilization rate of each of the candidate service providing nodes according to the second resource information and the third resource information of each of the candidate service providing nodes;

[0133] Performing a sorting process on the resource utilization rates, and obtaining the target resource utilization rate of the first quantity from the sorting result in ascending order of the resource utilization rates;

[0134] Determining whether the third resource information corresponding to the target resource utilization rate matches the first resource information corresponding to the first target data processing service;

[0135] If so, sending a process start request to the candidate service providing node corresponding to the target resource utilization rate according to the first resource information corresponding to the first target data processing service, so that the candidate service providing node starts a new process, and providing the first target data processing service based on the physical resources corresponding to the first resource information through the new process;

[0136] Receiving the process start result sent by the candidate service providing node.

[0137] Optionally, the processor 201 is further specifically configured to:

[0138] Determine the target service - providing nodes where each process currently providing the second target data - processing service is located;

[0139] Determine the fourth resource information of the physical resources currently used by the target service - providing nodes;

[0140] According to the second resource information and the fourth resource information of the target service - providing nodes, determine the resource utilization rate of each target service - providing node;

[0141] Perform a sorting process on the resource utilization rates, and obtain the second quantity of target resource utilization rates from the sorting result in descending order;

[0142] Among the target service - providing nodes corresponding to the target resource utilization rates, determine the processes providing the second target data - processing service as the processes to be closed;

[0143] According to the process identifiers of the processes to be closed, send a process - closing request to the corresponding target service - providing nodes, so that the target service - providing nodes close the corresponding processes to be closed to release the corresponding physical resources;

[0144] Receive the process - closing results sent by the target service - providing nodes.

[0145] Optionally, the processor 201 is further used for:

[0146] If it is determined that the dynamic allocation process is successful, update the determined data to be updated; and,

[0147] Clear the service - providing data.

[0148] Optionally, the processor 201 is further used for:

[0149] Obtain the first resource information of the physical resources corresponding to each data - processing service; and,

[0150] Obtain the second resource information of the physical resources of each service - providing node;

[0151] Save the first resource information and the second resource information.

[0152] Optionally, the processor 201 is further used for:

[0153] Obtain the start - up information of the third target data - processing service to be started;

[0154] According to the start - up information, determine the sixth quantity of processes to be started;

[0155] Based on the sixth quantity, the first resource information and the second resource information of the determined third target data processing service, perform allocation processing of physical resources to start the sixth quantity of processes, and provide the third target data processing service based on the allocated physical resources through the started processes.

[0156] The resource dynamic allocation device provided by the embodiments of the present specification obtains service provision data of multiple service provision nodes, where at least one process runs in each service provision node, and different processes provide the same or different data processing services; and when it is determined according to the service provision data that there is a target data processing service that meets the resource dynamic allocation condition among the data processing services, perform dynamic allocation processing of physical resources. Since the service provision data can truly reflect the service quality of the corresponding data processing service, performing dynamic allocation of physical resources based on the service provision data can not only achieve accurate allocation of physical resources and improve resource utilization rate, but also is beneficial to improving service quality.

[0157] In addition, for the above device embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For related parts, refer to the partial description of the method embodiments. Moreover, it should be noted that among the various components of the device of the present invention, the components are logically divided according to the functions to be achieved. However, the present invention is not limited thereto, and the various components can be re-divided or combined as needed.

[0158] Based on the same technical concept, one or more embodiments of the present specification also provide a resource dynamic allocation system. Figure 7 It is a schematic diagram of the composition of a resource dynamic allocation system provided by one or more embodiments of the present specification; as Figure 7 shown, the system includes: a resource management node 301 and multiple service provision nodes 302;

[0159] The service provision node 302 is used to provide data processing services based on at least one running process; among them, different processes provide the same or different data processing services based on the allocated physical resources;

[0160] The resource management node 301 is used to perform dynamic allocation processing of the physical resources of the service provision node 302 according to the foregoing resource dynamic allocation method.

[0161] The dynamic allocation system of physical resources provided by the embodiments of this specification. The resource management node obtains service - providing data of multiple service - providing nodes, where at least one process runs in each service - providing node, and different processes provide the same or different data - processing services; and when it is determined according to the service - providing data that there is a target data - processing service that meets the conditions for dynamic resource allocation in each data - processing service, a dynamic allocation process of physical resources is performed. Since the service - providing data can truly reflect the service quality of the corresponding data - processing service, performing dynamic allocation of physical resources based on the service - providing data can not only achieve accurate allocation of physical resources and improve resource utilization rate, but also help improve service quality.

[0162] In addition, for the above - mentioned system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For related parts, refer to the partial description of the method embodiment.

[0163] Based on the same technical concept, the embodiments of this application also provide a resource dynamic allocation device, as Figure 8 shown. The resource dynamic allocation device may vary greatly due to configuration or performance differences. It may include one or more processors 401 and a memory 402. One or more application programs or data may be stored in the memory 402. Among them, the memory 402 may be transient storage or persistent storage. The application programs stored in the memory 402 may include one or more modules (not shown in the figure), and each module may include a series of computer - executable instructions for the resource dynamic allocation device. Further, the processor 401 may be set to communicate with the memory 402 and execute a series of computer - executable instructions in the memory 402 on the resource dynamic allocation device. The resource dynamic allocation device may also include one or more power supplies 403, one or more wired or wireless network interfaces 404, one or more input / output interfaces 405, and one or more keyboards 406.

[0164] Specifically, in this embodiment, the resource dynamic allocation device includes a memory and one or more programs. One or more of the programs are stored in the memory, and one or more of the programs may include one or more modules, and each module may include a series of computer - executable instructions for the resource dynamic allocation device, and is configured to be executed by one or more processors. The one or more programs include the following computer - executable instructions:

[0165] Obtain service - providing data of multiple service - providing nodes; wherein, at least one process runs in each of the service - providing nodes, and different ones of the processes provide the same or different data - processing services based on the allocated physical resources;

[0166] Determine whether there is a target data processing service that meets the conditions for dynamic resource allocation in each of the data processing services according to the data provided by the service.

[0167] If so, perform dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service providing node.

[0168] An embodiment of the present application also proposes a storage medium that stores one or more computer programs. The one or more computer programs include instructions that, when executed by an electronic device including multiple application programs, can enable the electronic device to execute each process of the above embodiment of a method for dynamic resource allocation and achieve the same technical effects. To avoid repetition, it will not be elaborated here.

[0169] The systems, devices, modules, or units illustrated in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.

[0170] For the convenience of description, when describing the above device, it is divided into various units according to functions for separate description. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0171] Those skilled in the art should understand that the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0172] This application is described with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and combinations of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processors of general-purpose computers, special-purpose computers, embedded processors, or other programmable data processing devices to generate a machine, such that the instructions executed by the processors of the computer or other programmable data processing devices produce means for implementing the functions specified in one or more of the flows Figure 1 one or more of the flows and / or blocks Figure 1 or means for implementing the functions specified in one or more of the blocks.

[0173] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable memory produce a manufacture including instruction means that implement the functions specified in one or more of the flows Figure 1 one or more of the flows and / or blocks Figure 1 or means for implementing the functions specified in one or more of the blocks.

[0174] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operational steps are performed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more of the flows Figure 1 one or more of the flows and / or blocks Figure 1 or means for implementing the functions specified in one or more of the blocks.

[0175] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.

[0176] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of computer-readable media.

[0177] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0178] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0179] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0180] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0181] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.

Claims

1. A method for dynamic resource allocation, characterized in that, Including: Obtaining service provision data of multiple service provision nodes; wherein, at least one process runs in each of the service provision nodes, and different processes provide the same or different data processing services based on the allocated physical resources; According to the service provision data, determining whether there is a target data processing service that meets the resource dynamic allocation condition among the data processing services; If so, performing dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service provision node, where the physical resources include computing resources; The determining whether there is a target data processing service that meets the resource dynamic allocation condition among the data processing services according to the service provision data includes: According to the service provision data, determining the current service parameters of the corresponding data processing services in the current statistical period; According to the current service parameters, determining whether the corresponding data processing service is a first target data processing service that meets the resource expansion condition; The performing dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service provision node includes: If it is determined that there is the first target data processing service, determining the first number of processes to be started according to the current service parameters; based on the resource balance principle, performing allocation processing of the physical resources according to the computing resource type of the first target data processing service, the first resource information, the first number, and the second resource information.

2. The method according to claim 1, wherein The determining whether there is a target data processing service that meets the resource dynamic allocation condition among the data processing services according to the service provision data further includes: If the corresponding data processing service is not the first target data processing service, determining whether the corresponding data processing service is a second target data processing service that meets the resource reduction condition according to the current service parameters.

3. The method according to claim 2, wherein The determining whether the corresponding data processing service is a first target data processing service that meets the resource expansion condition according to the current service parameters includes: Determining whether the current service parameters are not less than a preset service parameter threshold; If so, obtaining the historical service parameters of the corresponding data processing service in a continuous preset number of historical statistical periods; If it is determined that the historical service parameters are not less than the service parameter threshold, determining the corresponding data processing service as the first target data processing service that meets the resource expansion condition; The determining whether the corresponding data processing service is a second target data processing service that meets the resource reduction condition according to the current service parameters includes: If it is determined that the failure rate included in the current service parameters is zero and the average time consumption included in the current service parameters is lower than the average time consumption threshold, determining the corresponding data processing service as the second target data processing service that meets the resource reduction condition.

4. The method according to claim 2, wherein Performing dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data processing service obtained in advance and the second resource information of the physical resources of each service providing node further includes: If it is determined that there is a second target data processing service, determining a second quantity of processes to be shut down according to the current service parameters; based on the principle of resource balance, performing recovery processing of physical resources according to the first resource information, the second quantity, and the second resource information of the second target data processing service.

5. The method according to claim 1, wherein The current service parameters include a service failure rate, and determining a first quantity of processes to be started according to the current service parameters includes: Determining a third quantity of data that has failed to be processed during the current statistical period according to the service failure rate; According to the service identifier of the first target data processing service, obtaining an associated target fourth quantity from the preset association relationship between the service identifier and the fourth quantity; wherein the fourth quantity is the quantity of data that can be successfully processed by the process providing the first target data processing service during each statistical period; Determining a first quantity of processes to be started according to the third quantity and the fourth quantity; Or, The current service parameters include an average elapsed time, and determining a first quantity of processes to be started according to the current service parameters includes: Determining a fifth quantity of processes currently providing the first target data processing service; Determining a first quantity of processes to be started according to the average elapsed time, a preset average elapsed time threshold, and the fifth quantity; Or, The current service parameters include a failure rate and an average elapsed time, and determining a first quantity of processes to be started according to the current service parameters includes: Respectively determining corresponding candidate quantities according to the failure rate and the average elapsed time; Determining the maximum quantity among the candidate quantities as the first quantity of processes to be started.

6. The method according to claim 1, characterized in that, Performing allocation processing of the physical resources based on the principle of resource balance according to the computing resource type of the first target data processing service, the first resource information, the first quantity, and the second resource information includes: According to the computing resource type corresponding to the first target data processing service, determining candidate service providing nodes that match the computing resource type from each service providing node; Determining third resource information of the physical resources currently available for each candidate service providing node; Determining the current resource utilization rate of each candidate service providing node according to the second resource information and the third resource information of each candidate service providing node; Performing a sorting process on the resource utilization rates, and obtaining the first quantity of target resource utilization rates from the sorting result in ascending order of the resource utilization rates; Determining whether the third resource information corresponding to the target resource utilization rate matches the first resource information corresponding to the first target data processing service; If so, according to the first resource information corresponding to the first target data processing service, send a process start request to the candidate service provider node corresponding to the target resource utilization rate, so that the candidate service provider node starts a new process, and provides the first target data processing service based on the physical resources corresponding to the first resource information through the new process; Receive the process start result sent by the candidate service provider node.

7. The method according to claim 4, wherein Based on the principle of resource balance, according to the first resource information, the second quantity, and the second resource information of the second target data processing service, perform physical resource recovery processing, including: Determine the target service provider node where each process currently providing the second target data processing service is located; Determine the fourth resource information of the physical resources currently used by the target service provider node; According to the second resource information and the fourth resource information of the target service provider node, determine the resource utilization rate of each target service provider node; Sort the resource utilization rates, and obtain the second quantity of target resource utilization rates from the sorting result in descending order; Determine the processes providing the second target data processing service in the target service provider nodes corresponding to the target resource utilization rates as processes to be closed; According to the process identifier of the process to be closed, send a process close request to the corresponding target service provider node, so that the target service provider node closes the corresponding process to be closed to release the corresponding physical resources; Receive the process close result sent by the target service provider node.

8. The method according to claim 1, after performing the dynamic allocation processing of the physical resources, further includes: If it is determined that the dynamic allocation processing is successful, perform update processing on the determined data to be updated; And, Clear the service provider data.

9. The method according to claim 1, wherein Before obtaining the service provider data of multiple service provider nodes, further includes: Obtain the first resource information of the physical resources corresponding to each data processing service; and, Obtain the second resource information of the physical resources of each service provider node; Save the first resource information and the second resource information.

10. The method according to claim 1, characterized in that, The method further includes: Obtain the start information of the third target data processing service to be started; According to the start information, determine the sixth quantity of the process to be started; According to the sixth quantity, the first resource information and the second resource information of the determined third target data processing service, perform physical resource allocation processing to start the sixth quantity of processes, and provide the third target data processing service based on the allocated physical resources through the started processes.

11. A resource dynamic allocation device, characterized in that, Includes: A processor for obtaining service - providing data of multiple service - providing nodes; wherein, at least one process runs in each of the service - providing nodes, and different processes provide the same or different data - processing services based on the allocated physical resources; determining, according to the service - providing data, whether there is a target data - processing service that meets the resource dynamic allocation condition among the data - processing services; if so, performing dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data - processing service obtained in advance and the second resource information of the physical resources of each service - providing node; A memory for storing the first resource information and the second resource information; wherein, the physical resources include computing resources; The determining, according to the service - providing data, whether there is a target data - processing service that meets the resource dynamic allocation condition among the data - processing services includes: Determining the current service parameters of the corresponding data - processing services in the current statistical period according to the service - providing data; Determining whether the corresponding data - processing service is a first target data - processing service that meets the resource expansion condition according to the current service parameters; The performing dynamic allocation processing of the physical resources according to the first resource information of the physical resources corresponding to the target data - processing service obtained in advance and the second resource information of the physical resources of each service - providing node includes: If it is determined that there is the first target data - processing service, determining the first number of processes to be started according to the current service parameters; based on the resource balance principle, performing allocation processing of the physical resources according to the computing resource type of the first target data - processing service, the first resource information, the first number, and the second resource information.

12. A resource dynamic allocation system, characterized in that, Comprising: A resource management node and multiple service - providing nodes; The service - providing nodes for providing data - processing services based on at least one running process; wherein, different processes provide the same or different data - processing services based on the allocated physical resources; The resource management node for performing dynamic allocation processing of the physical resources of the service - providing nodes according to the method according to any one of claims 1 - 10.

13. A resource dynamic allocation device, characterized in that, Comprising: A processor, a memory electrically connected to the processor; the memory stores a computer program, and the processor is used to call and execute the computer program to perform the steps of the method according to any one of claims 1 to 10 above.

14. A computer-readable storage medium, characterized in that, A computer - readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 10 above.

Citation Information

Patent Citations

  • Service resource control method and device, equipment and storage medium

    CN110196767A