CN111211998A - Resource allocation method and device capable of elastically expanding capacity and electronic equipment - Google Patents
Resource allocation method and device capable of elastically expanding capacity and electronic equipment Download PDFInfo
- Publication number
- CN111211998A CN111211998A CN201911271350.0A CN201911271350A CN111211998A CN 111211998 A CN111211998 A CN 111211998A CN 201911271350 A CN201911271350 A CN 201911271350A CN 111211998 A CN111211998 A CN 111211998A
- Authority
- CN
- China
- Prior art keywords
- resource
- capacity
- demand
- capacity expansion
- providing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013468 resource allocation Methods 0.000 title claims abstract description 39
- 238000009826 distribution Methods 0.000 claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000003860 storage Methods 0.000 claims description 25
- 238000013507 mapping Methods 0.000 claims description 16
- 238000010801 machine learning Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 23
- 238000005192 partition Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000002939 conjugate gradient method Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention discloses a resource allocation method and device capable of elastically expanding capacity and electronic equipment, wherein the method comprises the following steps: constructing a resource distribution network, wherein the resource distribution network comprises a common resource providing node and a plurality of capacity expansion resource providing clusters, and the capacity expansion resource providing clusters comprise at least one resource providing node; acquiring the current resource demand of a resource demand party in real time; monitoring resource availability of the common resource providing node; and setting a capacity expansion rule, and calling the capacity expansion resource providing cluster to provide resources to meet the current resource demand of the resource demander when the current resource demand and the resource suppliable capacity meet the capacity expansion rule. According to the invention, the resource demand is monitored in real time, and the resource allocation is dynamically adjusted, so that the resource supply can meet the demands of demands under different environments, the service is provided for the user with low delay, and the user experience is better.
Description
Technical Field
The present invention relates to the field of computer information processing, and in particular, to a method and an apparatus for allocating resources capable of elastically expanding capacity, an electronic device, and a computer-readable medium.
Background
With the rapid development of the internet technology and the rapid popularization of the intelligent mobile client, more and more task demands are switched from the original offline to the online, and better user experience is brought by the innovation of the service mode. The increase of online users also provides great challenges for the providing capability of resource providers in the network, and the resource providers often meet the increasing user requirements in a capacity expansion mode. In real life, however, the resource demand of users is not smooth, and a large amount of demand applications appear in short time along with the fluctuation of time, for example, the peak value of a single transaction platform in the twenty-one period is up to 32.5 ten thousand per second, and the peak value of payment is 25.6 ten thousand per second; the PV value of the train ticket purchasing platform reaches 297 hundred million on the peak of the spring shipment in 2015, and the flow is increased by 1000 times. For the short-term high-concurrency condition, the same number of resource providing modes as those in ordinary times are still used, so that the network load of resource providing is too high, a large number of resource requirements cannot be met, and the use experience of users is reduced; and the capacity expansion according to the highest concurrent resource requirement can lead to the idle resource supply under the concurrent requirement of daily resources, thereby increasing the cost.
Disclosure of Invention
The invention aims to provide a resource allocation method and device capable of elastically expanding capacity and electronic equipment, aiming at dynamically adjusting resource allocation by monitoring resource requirements in real time, so that the resource can meet the requirements of demand parties in different environments, provide services for users with low delay and provide better use experience for the users.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
In order to achieve the above object, an aspect of the present invention provides a resource allocation method capable of flexibly expanding capacity, including:
constructing a resource distribution network, wherein the resource distribution network comprises a common resource providing node and a plurality of capacity expansion resource providing clusters, and the capacity expansion resource providing clusters comprise at least one resource providing node;
acquiring the current resource demand of a resource demand party in real time;
monitoring resource availability of the common resource providing node;
and setting a capacity expansion rule, and calling the capacity expansion resource providing cluster to provide resources to meet the current resource demand of the resource demander when the current resource demand and the resource suppliable capacity meet the capacity expansion rule.
According to a preferred embodiment of the present invention, the capacity expansion rule further includes: setting a capacity expansion threshold, and sending a supply capacity expansion signal when the ratio of the current resource demand to the resource suppliable capacity exceeds the threshold.
In accordance with a preferred embodiment of the present invention, further comprising, in response to the supply expansion signal, analyzing the current resource demand; formulating a resource allocation scheme based on the current resource demand and the cluster suppliable capacity provided by the capacity expansion resources; and calling the capacity expansion resources to provide the cluster providing resources according to the resource allocation scheme.
According to a preferred embodiment of the present invention, the step of formulating a resource allocation scheme based on the current resource demand and the capacity-expanded resource providing cluster suppliable capability further includes determining that one or more of the capacity-expanded resources provide a cluster-provided resource according to the current resource demand and the capacity-expanded resource providing cluster suppliable capability.
According to a preferred embodiment of the present invention, when the resource is provided by a plurality of the capacity expansion resource providing clusters, the method further includes decomposing the current resource requirement into a plurality of resource sub-requirements; forming allocation mapping rules of each resource allocation demand and each capacity expansion resource providing cluster; and providing resources by the corresponding capacity expansion resources based on the mapping rule.
According to a preferred embodiment of the present invention, the allocation mapping rule is formed based on any one of an average allocation, an in-order allocation, or an allocation model generated by machine learning.
According to a preferred embodiment of the present invention, the capacity-extended resource providing cluster receiving the resource sub-demand further provides the resource directly to the corresponding resource demanding side.
According to a preferred embodiment of the present invention, the method further includes merging the corresponding resources provided by the capacity expansion resource providing cluster that receives the resource division demand, and then providing the merged resources to the resource demander.
According to a preferred embodiment of the present invention, the current resource requirement includes a resource requirement of a resource requirement node or resource requirements of a plurality of resource requirement nodes.
A second aspect of the present invention provides a resource allocation apparatus capable of flexibly expanding capacity, including:
the system comprises a resource distribution network, a resource distribution network and a resource management system, wherein the resource distribution network comprises a common resource providing node and a plurality of capacity expansion resource providing clusters, and the capacity expansion resource providing clusters comprise at least one resource providing node;
the demand acquisition module acquires the current resource demand of a resource demand side in real time;
the supply capacity monitoring module is used for monitoring the resource supply capacity of the common resource providing node;
the rule module is used for setting capacity expansion rules;
and the demand distribution module is used for calling the capacity expansion resource providing cluster to provide resources so as to meet the current resource demand of the resource demander when the current resource demand and the resource suppliable capacity meet the capacity expansion rule.
According to a preferred embodiment of the present invention, the rule module further includes a threshold setting unit, configured to set a capacity expansion threshold; and the triggering unit is used for sending a supply capacity expansion signal when the ratio of the current resource demand to the resource suppliable capacity exceeds the threshold value.
According to a preferred embodiment of the present invention, the demand distribution module further includes an analysis unit, configured to analyze the current resource demand in response to the supply capacity expansion signal; a distribution scheme making unit, configured to make a resource distribution scheme based on the current resource demand and the cluster suppliable capacity provided by the capacity expansion resource; and the resource allocation unit is used for calling the capacity expansion resources to provide the cluster providing resources according to the resource allocation scheme.
Drawings
In order to make the technical problems solved by the present invention, the technical means adopted and the technical effects obtained more clear, the following will describe in detail the embodiments of the present invention with reference to the accompanying drawings. It should be noted, however, that the drawings described below are only illustrations of exemplary embodiments of the invention, from which other embodiments can be derived by those skilled in the art without inventive faculty.
Fig. 1 is a flowchart illustrating a method for allocating a resource that can be expanded flexibly according to an exemplary embodiment.
Fig. 2 is a flowchart of a resource providing method for flexible capacity expansion in a high concurrent task environment according to the present invention.
Fig. 3 is a block diagram illustrating a flexibly scalable resource allocation apparatus according to an example embodiment.
FIG. 4 is a block diagram illustrating a rules module in accordance with an exemplary embodiment.
FIG. 5 is a block diagram illustrating a demand assignment module in accordance with an exemplary embodiment.
FIG. 6 is a block diagram illustrating a resource allocation unit in accordance with an example embodiment.
FIG. 7 is a block diagram illustrating an electronic device in accordance with an example embodiment.
FIG. 8 is a block diagram illustrating a computer-readable medium in accordance with an example embodiment.
Detailed Description
Exemplary embodiments of the present invention will now be described more fully with reference to the accompanying drawings. The exemplary embodiments, however, may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. The same reference numerals denote the same or similar elements, components, or parts in the drawings, and thus their repetitive description will be omitted.
Features, structures, characteristics or other details described in a particular embodiment do not preclude the fact that the features, structures, characteristics or other details may be combined in a suitable manner in one or more other embodiments in accordance with the technical idea of the invention.
In describing particular embodiments, the present invention has been described with reference to features, structures, characteristics or other details that are within the purview of one skilled in the art to provide a thorough understanding of the embodiments. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific features, structures, characteristics, or other details.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and operations/steps, nor do they necessarily have to be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
It will be understood that, although the terms first, second, third, etc. may be used herein to describe various elements, components, or sections, these terms should not be construed as limiting. These phrases are used to distinguish one from another. For example, a first device may also be referred to as a second device without departing from the spirit of the present invention.
The term "and/or" and/or "includes any and all combinations of one or more of the associated listed items.
Fig. 1 is a flowchart illustrating a method for allocating a resource that can be expanded flexibly according to an exemplary embodiment. The method for allocating resource capable of flexible expansion at least includes steps S101 to S106.
As shown in FIG. 1, in step S101, a resource allocation network is constructed
The method comprises the steps of constructing a resource distribution network, wherein the resource distribution network comprises a common resource providing node and a plurality of capacity expansion resource providing clusters, and the capacity expansion resource providing clusters comprise at least one resource providing node.
In one embodiment, the resource providing node may be a similar device that provides computational power for a computer or the like or a service providing node that provides the service to meet the service requirements.
In one embodiment, the resource distribution network may be a computer network formed by a plurality of computers or servers through a local area network or a public network, wherein one computer is used as a common resource providing node, and the others include a plurality of computer clusters, and each cluster comprises at least one computer as a resource providing node. The computers as the common resource providing nodes are connected with the other computer clusters through the routes. In daily use, only a computer serving as a common resource providing node is used as a resource provider, and other computer clusters are in a dormant state.
In one embodiment, the resource allocation network may be comprised of a cloud computing platform. The common resource providing node can be a virtual machine in a cloud computing platform or a cloud computing module capable of providing computing power and service capability, and the common resource providing node comprises a plurality of similar virtual machine clusters or cloud computing module clusters, wherein each virtual machine cluster or cloud computing module cluster comprises at least one virtual machine or cloud computing module as a resource providing node. In daily use, only a virtual machine or a cloud computing module as a common resource providing node is used.
In step S102, the current resource requirements are obtained.
The method comprises the steps of acquiring the current resource demand of a resource demand party in real time, wherein in one embodiment, the resource demand of the resource demand party comprises the demand for computing power, the satisfaction of service demand, the demand for storage space and the like.
Further, the current resource request is from one or more resource demanders.
In step S103, the suppliable capability is monitored.
And acquiring the resource providing capability of the common resource providing node.
In step S104, capacity expansion determination is performed.
And comparing whether the resource requirement acquired in the step S102 and the resource providing capability of the common resource providing node acquired in the step S103 meet the capacity expansion condition.
If the capacity expansion condition is not met, namely the resource supply capability of the common resource supply node can meet the current resource demand, the common resource supply node supplies corresponding resources to the resource demand party.
If the expansion condition is met, an expansion signal is sent out.
In an embodiment, the capacity expansion condition may specifically include setting a capacity expansion threshold, and when a ratio of the current resource demand to the resource suppliable capacity exceeds the threshold, it may be determined that the capacity expansion condition is met.
In step S105, a capacity expansion allocation scheme is generated.
In response to the capacity expansion signal of step S104, analyzing the current resource demand, and formulating a resource allocation scheme based on the resource demand and the resource suppliable capability of the capacity expansion resource providing cluster.
In one embodiment, the analysis module determines that resources are provided by one or more of the capacity expansion resource providing clusters according to the current resource demand and the capacity of the capacity expansion resource providing clusters. Further, the current resource demand is decomposed into a plurality of resource branch demands, and the resource branch demands are corresponded to one or a plurality of capacity expansion resource providing clusters according to the resource providing capacity of the capacity expansion resource providing clusters to form an allocation mapping rule. Still further, the allocation mapping rule may include an average allocation, an in-order allocation, or an allocation model generated by machine learning to perform the allocation demand allocation.
And (3) average distribution: and averagely dividing the current resource demand into corresponding sub-demands according to the number of the capacity expansion resource providing clusters, and respectively endowing each capacity expansion resource providing cluster with the current resource demand.
And (3) sequentially distributing: and providing the resource demand for the capacity expansion resource providing cluster according to the cluster number. When the capacity expansion resource providing cluster with the previous number reaches the saturated resource providing, the capacity expansion resource providing cluster with the next number is allocated.
Performing the split demand split by a split model generated by machine learning: in the scheme of training, acquiring and searching for the optimal solution according to the existing data set, the supervised machine learning algorithm has wider application. Supervised learning algorithms accept a known set of input data (training set) and known responses to the data (outputs), and then train a model to generate reasonable predictions for the responses to the new input data. And taking the historical data of the supply priority, the performance grade and the supply and demand of each capacity expansion resource providing cluster as training data, and acquiring the optimal configuration of distribution of the demands of each resource providing cluster in a machine learning manner so as to ensure that the resource providing task of each capacity expansion resource providing cluster is matched with the performance, the priority and the historical condition of the resource providing task. More specifically, the algorithm of machine-supervised machine learning may be a gradient descent method, a conjugate gradient method, a Momentum algorithm and variants thereof, a newton method and quasi-newton method, an AdaGrad algorithm, an adaelta algorithm, an RMSprop algorithm, an Adam algorithm and variants thereof, a Nadam algorithm. The algorithms are common algorithms for supervised machine learning, and therefore, are not described in detail.
In step S106, the capacity is expanded.
And sending each piece of branch demand information to a corresponding capacity expansion resource providing cluster according to a capacity expansion allocation scheme formulated in the step S105, wherein the capacity expansion resource providing cluster executes a corresponding resource providing task.
In step S107, a resource is provided.
And after the capacity expansion resource supply in the step S106 is executed, the resource is sent to the resource demand side.
In one embodiment, the capacity-extended resource providing cluster that receives the resource sub-demand directly provides resources to the corresponding resource demander.
In another implementation, the corresponding resources provided by the capacity expansion resource providing cluster which receives the resource allocation demand are provided to the resource demanding party after being merged.
By adopting the method, the resource demand is monitored in real time, and the resource allocation is dynamically adjusted, so that the resource supply can meet the demands of demands under different environments, the service is provided for the user with low delay, and the user experience is better.
Examples of the invention
Fig. 2 is a flowchart of a resource providing method for flexible capacity expansion in a high concurrent task environment according to the present invention.
As shown in fig. 2, nodes for daily traffic processing and partitions available for capacity expansion in a highly concurrent task environment are included in the entire resource providing network. In step S201, a large number of service invocation requests are initiated in a short time, in step S202, it is determined whether partition providing service is needed according to the current resource providing capability, if it is determined that partition providing service is not needed, step S203 is executed, the current service processing node processes the corresponding service, and in step S204, the service processing result is fed back to the service demand party.
And when the current business processing requirement is judged to need the service provided by the subarea, distributing the business requirement to the subarea. Further, the service processing requirement can be pushed to the partition processor through a route or a virtual interface.
In step S206, the partition processor determines that all the business processing requirements require calling multiple partitions. If the service processing result is judged to be unnecessary, step S207 is executed, the service requirement is processed by the single partition, and the service processing result is fed back.
If the multi-partition calling is determined to be needed, step S208 is executed to process the related service requirement by the multi-partition calling. After the multi-partition processing of the related service requirements, step S209 is executed to determine whether the processing results need to be merged, if not, the processing results are directly fed back, and if so, step S210 is executed to merge the processing results first and then feed back the merged processing results.
Those skilled in the art will appreciate that all or part of the steps to implement the above-described embodiments are implemented as programs (computer programs) executed by a computer data processing apparatus. When the computer program is executed, the method provided by the invention can be realized. Furthermore, the computer program may be stored in a computer readable storage medium, which may be a readable storage medium such as a magnetic disk, an optical disk, a ROM, a RAM, or a storage array composed of a plurality of storage media, such as a magnetic disk or a magnetic tape storage array. The storage medium is not limited to centralized storage, but may be distributed storage, such as cloud storage based on cloud computing.
Embodiments of the apparatus of the present invention are described below, which may be used to perform method embodiments of the present invention. The details described in the device embodiments of the invention should be regarded as complementary to the above-described method embodiments; reference is made to the above-described method embodiments for details not disclosed in the apparatus embodiments of the invention.
Fig. 3 is a block diagram illustrating a flexibly scalable resource allocation apparatus according to an example embodiment.
As shown in fig. 3, the resource allocation apparatus capable of flexible capacity expansion may specifically include a resource allocation network S301, a demand obtaining module 302, a supply capacity monitoring module 303, a rule module 304, and a demand allocation module 305.
The resource allocation network 301 is configured to provide resources to a resource demander, where the resource allocation network includes a common resource providing node and a plurality of capacity expansion resource providing clusters, where the capacity expansion resource providing clusters include at least one resource providing node.
In one embodiment, the resource providing node may be a similar device that provides computational power for a computer or the like or a service providing node that provides the service to meet the service requirements.
In one embodiment, the resource distribution network may be a computer network formed by a plurality of computers or servers through a local area network or a public network, wherein one computer is used as a common resource providing node, and the others include a plurality of computer clusters, and each cluster comprises at least one computer as a resource providing node. The computers as the common resource providing nodes are connected with the other computer clusters through the routes. In daily use, only a computer serving as a common resource providing node is used as a resource provider, and other computer clusters are in a dormant state.
In one embodiment, the resource allocation network may be comprised of a cloud computing platform. The common resource providing node can be a virtual machine in a cloud computing platform or a cloud computing module capable of providing computing power and service capability, and the common resource providing node comprises a plurality of similar virtual machine clusters or cloud computing module clusters, wherein each virtual machine cluster or cloud computing module cluster comprises at least one virtual machine or cloud computing module as a resource providing node. In daily use, only a virtual machine or a cloud computing module as a common resource providing node is used.
The requirement obtaining module 302 obtains the current resource requirement of the resource demander in real time. In one embodiment, the resource requirements of the resource demander include a demand for computing power, a fulfillment of a service requirement, a demand for storage space, and the like. Further, the current resource request is from one or more resource demanders.
And a supply capability monitoring module 303, configured to monitor resource supply capability of the common resource providing node.
As shown in fig. 4, the rule module 304 is configured to set a capacity expansion rule, and further includes a threshold setting unit 401 and a triggering unit 402.
A threshold setting unit 401, configured to set a capacity expansion threshold;
a triggering unit 402, configured to send a supply capacity expansion signal when it is monitored that a ratio of the current resource demand to the resource suppliable capacity exceeds the threshold.
More specifically, whether the resource demand acquired by the demand acquisition module 302 and the resource providing capability of the common resource providing node acquired by the supply capability monitoring module 303 satisfy the capacity expansion condition is compared.
If the capacity expansion condition is not met, namely the resource supply capability of the common resource supply node can meet the current resource demand, the common resource supply node supplies corresponding resources to the resource demand party.
If the expansion condition is met, an expansion signal is sent out.
In an embodiment, the capacity expansion condition may specifically include setting a capacity expansion threshold, and when a ratio of the current resource demand to the resource suppliable capacity exceeds the threshold, it may be determined that the capacity expansion condition is met.
A requirement allocating module 305, configured to, when the current resource requirement and the resource availability satisfy the capacity expansion rule, invoke the capacity expansion resource providing cluster to provide resources to satisfy the current resource requirement of the resource demander. The demand analysis module 305 includes an analysis unit 501, a distribution scheme formulation unit 502, and a resource distribution unit 503.
An analyzing unit 501, configured to analyze the current resource demand in response to the supply capacity expansion signal.
A distribution scheme establishing unit 502, configured to establish a resource distribution scheme based on the current resource demand and the cluster suppliable capability provided by the capacity expansion resource;
a resource allocation unit 503, configured to invoke the capacity expansion resource to provide the cluster providing resource according to the resource allocation scheme. As shown in fig. 6, the resource allocation unit 503 includes a requirement decomposition component 601, an allocation mapping rule making component 602, a resource allocation component 603, a summarization component 604, and a sending component 605.
A demand decomposition component 601 for decomposing the current resource demand into a plurality of resource sub-demands;
a distribution mapping rule making component 602, configured to form a distribution mapping rule of each resource distribution requirement and each capacity expansion resource providing cluster;
a resource allocating component 603, configured to provide resources from the corresponding capacity expansion resources to the cluster based on the mapping rule.
In response to the capacity expansion signal sent by the rule module 304, the analysis unit 501 analyzes the current resource demand, and based on the resource demand and the capacity expansion resource, the scheme preparation unit 502 prepares a resource allocation scheme.
In one embodiment, the analysis unit 501 determines that resources are provided by one or more of the capacity expansion resource providing clusters according to the current resource demand and the capacity of the capacity expansion resource providing clusters. The demand decomposition component 601 decomposes the current resource demand into a plurality of resource demand segments, and the allocation mapping rule making component 602 corresponds the resource demand segments to one or more capacity-expansion resource providing clusters according to the resource providing capability of the capacity-expansion resource providing clusters to form an allocation mapping rule. Still further, the allocation mapping rule may include an average allocation, an in-order allocation, or an allocation model generated by machine learning to perform the allocation demand allocation.
And (3) average distribution: and averagely dividing the current resource demand into corresponding sub-demands according to the number of the capacity expansion resource providing clusters, and respectively endowing each capacity expansion resource providing cluster with the current resource demand.
And (3) sequentially distributing: and providing the resource demand for the capacity expansion resource providing cluster according to the cluster number. When the capacity expansion resource providing cluster with the previous number reaches the saturated resource providing, the capacity expansion resource providing cluster with the next number is allocated.
Performing the split demand split by a split model generated by machine learning: in the scheme of training, acquiring and searching for the optimal solution according to the existing data set, the supervised machine learning algorithm has wider application. Supervised learning algorithms accept a known set of input data (training set) and known responses to the data (outputs), and then train a model to generate reasonable predictions for the responses to the new input data. And taking the historical data of the supply priority, the performance grade and the supply and demand of each capacity expansion resource providing cluster as training data, and acquiring the optimal configuration of distribution of the demands of each resource providing cluster in a machine learning manner so as to ensure that the resource providing task of each capacity expansion resource providing cluster is matched with the performance, the priority and the historical condition of the resource providing task. More specifically, the algorithm of machine-supervised machine learning may be a gradient descent method, a conjugate gradient method, a Momentum algorithm and variants thereof, a newton method and quasi-newton method, an AdaGrad algorithm, an adaelta algorithm, an RMSprop algorithm, an Adam algorithm and variants thereof, a Nadam algorithm. The algorithms are common algorithms for supervised machine learning, and therefore, are not described in detail.
The resource allocating component 603 provides the cluster allocated resources from each of the extended resources according to the mapping rule, and sends the cluster allocated resources to the resource demander through the sending component 601.
In one embodiment, the extended resource provisioning cluster receiving the resource allocation demand directly provisions the resource to the corresponding resource demander via sending component 601.
In another embodiment, the corresponding resources provided by the capacity-expanded resource providing cluster that receives the resource demand are combined by the aggregation component 604 and then provided to the resource demanding party by the sending component 601.
Those skilled in the art will appreciate that the modules in the above-described embodiments of the apparatus may be distributed as described in the apparatus, and may be correspondingly modified and distributed in one or more apparatuses other than the above-described embodiments. The modules of the above embodiments may be combined into one module, or further split into multiple sub-modules.
In the following, embodiments of the electronic device of the present invention are described, which may be regarded as specific physical implementations for the above-described embodiments of the method and apparatus of the present invention. Details described in the embodiments of the electronic device of the invention should be considered supplementary to the embodiments of the method or apparatus described above; for details which are not disclosed in embodiments of the electronic device of the invention, reference may be made to the above-described embodiments of the method or the apparatus.
FIG. 7 is a block diagram illustrating an electronic device in accordance with an example embodiment.
An electronic device 700 according to this embodiment of the disclosure is described below with reference to fig. 7. The electronic device 700 shown in fig. 7 is only an example and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, electronic device 700 is embodied in the form of a general purpose computing device. The components of the electronic device 700 may include, but are not limited to: at least one processing unit 710, at least one memory unit 720, a bus 730 that connects the various system components (including the memory unit 720 and the processing unit 710), a display unit 740, and the like.
Wherein the storage unit stores program codes executable by the processing unit 710 to cause the processing unit 710 to perform the steps according to various exemplary embodiments of the present disclosure described in the above-mentioned electronic prescription flow processing method section of the present specification. For example, the processing unit 710 may perform the steps as shown in fig. 2 and 4.
The memory unit 720 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)7201 and/or a cache memory unit 7202, and may further include a read only memory unit (ROM) 7203.
The memory unit 720 may also include a program/utility 7204 having a set (at least one) of program modules 7205, such program modules 7205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
The electronic device 700 may also communicate with one or more external devices 800 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 700, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 700 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 750. Also, the electronic device 700 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet) via the network adapter 760. The network adapter 760 may communicate with other modules of the electronic device 700 via the bus 730. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments of the present invention described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiment of the present invention can be embodied in the form of a software product, which can be stored in a computer-readable storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to make a computing device (which can be a personal computer, a server, or a network device, etc.) execute the above-mentioned method according to the present invention. The computer program, when executed by a data processing apparatus, enables the computer readable medium to carry out the above-described methods of the invention.
The computer program may be stored on one or more computer readable media. The computer readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable storage medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable storage medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
In summary, the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that some or all of the functionality of some or all of the components in embodiments in accordance with the invention may be implemented in practice using a general purpose data processing device such as a microprocessor or a Digital Signal Processor (DSP). The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
While the foregoing embodiments have described the objects, aspects and advantages of the present invention in further detail, it should be understood that the present invention is not inherently related to any particular computer, virtual machine or electronic device, and various general-purpose machines may be used to implement the present invention. The invention is not to be considered as limited to the specific embodiments thereof, but is to be understood as being modified in all respects, all changes and equivalents that come within the spirit and scope of the invention.
Claims (10)
1. A resource allocation method capable of flexibly expanding capacity is characterized by comprising the following steps:
constructing a resource distribution network, wherein the resource distribution network comprises a common resource providing node and a plurality of capacity expansion resource providing clusters, and the capacity expansion resource providing clusters comprise at least one resource providing node;
acquiring the current resource demand of a resource demand party in real time;
monitoring resource availability of the common resource providing node;
and setting a capacity expansion rule, and calling the capacity expansion resource providing cluster to provide resources to meet the current resource demand of the resource demander when the current resource demand and the resource suppliable capacity meet the capacity expansion rule.
2. The method of claim 1, wherein the expansion rule further comprises:
setting a capacity expansion threshold, and sending a supply capacity expansion signal when the ratio of the current resource demand to the resource suppliable capacity exceeds the threshold.
3. The method of claims 1-2, further comprising:
analyzing the current resource demand in response to the supply expansion signal;
formulating a resource allocation scheme based on the current resource demand and the cluster suppliable capacity provided by the capacity expansion resources;
and calling the capacity expansion resources to provide the cluster providing resources according to the resource allocation scheme.
4. The method of claims 1-3, wherein the step of formulating a resource allocation scheme based on the current resource demand and the capacity-expanded resource providing cluster suppliable capacity further comprises:
and determining that one or more of the capacity expansion resource providing clusters provide resources according to the current resource demand and the capacity of the capacity expansion resource providing clusters to supply resources.
5. The method of claims 1-4, further comprising, when providing resources by a plurality of the capacity-expansion resources providing clusters:
decomposing the current resource demand into a plurality of resource sub-demands;
forming allocation mapping rules of each resource allocation demand and each capacity expansion resource providing cluster;
and providing resources by the corresponding capacity expansion resources based on the mapping rule.
6. The method of claims 1-5, wherein the allocation mapping rules are formed based on any one of an even allocation, an in-order allocation, or an allocation model generated by machine learning.
7. The method according to claims 1-6, characterized in that:
and the capacity expansion resource providing cluster receiving the resource division requirement directly provides resources to a corresponding resource demanding party.
8. A resource allocation apparatus capable of flexibly expanding capacity, comprising:
the system comprises a resource distribution network, a resource distribution network and a resource management system, wherein the resource distribution network comprises a common resource providing node and a plurality of capacity expansion resource providing clusters, and the capacity expansion resource providing clusters comprise at least one resource providing node;
the demand acquisition module acquires the current resource demand of a resource demand side in real time;
the supply capacity monitoring module is used for monitoring the resource supply capacity of the common resource providing node;
the rule module is used for setting capacity expansion rules;
and the demand distribution module is used for calling the capacity expansion resource providing cluster to provide resources so as to meet the current resource demand of the resource demander when the current resource demand and the resource suppliable capacity meet the capacity expansion rule.
9. An electronic device, wherein the electronic device comprises:
a processor; and the number of the first and second groups,
a memory storing computer-executable instructions that, when executed, cause the processor to perform the method of any of claims 1-7.
10. A computer readable storage medium, wherein the computer readable storage medium stores one or more programs which, when executed by a processor, implement the method of any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911271350.0A CN111211998A (en) | 2019-12-12 | 2019-12-12 | Resource allocation method and device capable of elastically expanding capacity and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911271350.0A CN111211998A (en) | 2019-12-12 | 2019-12-12 | Resource allocation method and device capable of elastically expanding capacity and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111211998A true CN111211998A (en) | 2020-05-29 |
Family
ID=70786989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911271350.0A Pending CN111211998A (en) | 2019-12-12 | 2019-12-12 | Resource allocation method and device capable of elastically expanding capacity and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111211998A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208893A (en) * | 2022-05-23 | 2022-10-18 | 中国银行股份有限公司 | Resource scheduling method and device |
CN116089477A (en) * | 2023-04-10 | 2023-05-09 | 荣耀终端有限公司 | Distributed training method and system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140012995A1 (en) * | 2011-03-11 | 2014-01-09 | Huawei Technologies Co., Ltd. | Resource management method, resource management system and resource manager |
CN106126338A (en) * | 2016-06-21 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | A kind of method and device of cluster virtual machine telescopic arrangement |
WO2017011938A1 (en) * | 2015-07-17 | 2017-01-26 | 华为技术有限公司 | Virtual network function capacity expansion method and apparatus |
CN107360202A (en) * | 2016-05-09 | 2017-11-17 | 腾讯科技(深圳)有限公司 | The access scheduling method and device of a kind of terminal |
CN107733676A (en) * | 2016-08-12 | 2018-02-23 | 中国移动通信集团浙江有限公司 | A kind of method and system of flexible scheduling resource |
CN109343965A (en) * | 2018-10-31 | 2019-02-15 | 北京金山云网络技术有限公司 | Resource adjusting method, device, cloud platform and server |
CN109857518A (en) * | 2019-01-08 | 2019-06-07 | 平安科技(深圳)有限公司 | A kind of distribution method and equipment of Internet resources |
-
2019
- 2019-12-12 CN CN201911271350.0A patent/CN111211998A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140012995A1 (en) * | 2011-03-11 | 2014-01-09 | Huawei Technologies Co., Ltd. | Resource management method, resource management system and resource manager |
WO2017011938A1 (en) * | 2015-07-17 | 2017-01-26 | 华为技术有限公司 | Virtual network function capacity expansion method and apparatus |
CN107360202A (en) * | 2016-05-09 | 2017-11-17 | 腾讯科技(深圳)有限公司 | The access scheduling method and device of a kind of terminal |
CN106126338A (en) * | 2016-06-21 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | A kind of method and device of cluster virtual machine telescopic arrangement |
CN107733676A (en) * | 2016-08-12 | 2018-02-23 | 中国移动通信集团浙江有限公司 | A kind of method and system of flexible scheduling resource |
CN109343965A (en) * | 2018-10-31 | 2019-02-15 | 北京金山云网络技术有限公司 | Resource adjusting method, device, cloud platform and server |
CN109857518A (en) * | 2019-01-08 | 2019-06-07 | 平安科技(深圳)有限公司 | A kind of distribution method and equipment of Internet resources |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208893A (en) * | 2022-05-23 | 2022-10-18 | 中国银行股份有限公司 | Resource scheduling method and device |
CN115208893B (en) * | 2022-05-23 | 2024-04-16 | 中国银行股份有限公司 | Resource scheduling method and device |
CN116089477A (en) * | 2023-04-10 | 2023-05-09 | 荣耀终端有限公司 | Distributed training method and system |
CN116089477B (en) * | 2023-04-10 | 2023-08-08 | 荣耀终端有限公司 | Distributed training method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mechalikh et al. | PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments | |
CN111181770A (en) | Resource allocation method, system, electronic equipment and storage medium | |
US11770305B2 (en) | Distributed machine learning in edge computing | |
Grandinetti et al. | An approximate ϵ-constraint method for a multi-objective job scheduling in the cloud | |
CN114924751A (en) | Method and device for distributing service access request flow | |
Shruthi et al. | The resource allocation using weighted greedy knapsack based algorithm in an educational fog computing environment | |
Bolodurina et al. | Approach to the effective controlling cloud computing resources in data centers for providing multimedia services | |
CN111211998A (en) | Resource allocation method and device capable of elastically expanding capacity and electronic equipment | |
CN111010453B (en) | Service request processing method, system, electronic device and computer readable medium | |
CN110795233B (en) | Distributed resource allocation method and device and electronic equipment | |
Bosque et al. | A load index and load balancing algorithm for heterogeneous clusters | |
CN108009010B (en) | Management device, system, method, electronic device and storage medium for thin client | |
Mukherjee et al. | Utilising condor for data parallel analytics in an IoT context—An experience report | |
CN114301980A (en) | Method, device and system for scheduling container cluster and computer readable medium | |
Jain et al. | Optimal task offloading and resource allotment towards fog-cloud architecture | |
Imdoukh et al. | Optimizing scheduling decisions of container management tool using many‐objective genetic algorithm | |
US20130166751A1 (en) | Distributed resource management systems and methods for resource management thereof | |
CN111046010A (en) | Log storage method, device, system, electronic equipment and computer readable medium | |
CN111681032B (en) | Method and device for configuring additional resources and electronic equipment | |
CN107342929B (en) | Method, device and system for sending new message notification | |
CN111681093B (en) | Method and device for displaying resource page and electronic equipment | |
Panigrahi et al. | Green Cloud Computing: An Emerging Trend of GIT in Cloud Computing | |
Dorogyy et al. | Critical IT Infrastructure Resource Distribution Algorithm | |
CN113938422B (en) | Flow distribution method and device and electronic equipment | |
Oduwole et al. | An enhanced load balancing technique for big-data cloud computing environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200529 |
|
RJ01 | Rejection of invention patent application after publication |