WO2017177806A1 - 一种管理资源的方法和装置 - Google Patents

一种管理资源的方法和装置 Download PDF

Info

Publication number
WO2017177806A1
WO2017177806A1 PCT/CN2017/077730 CN2017077730W WO2017177806A1 WO 2017177806 A1 WO2017177806 A1 WO 2017177806A1 CN 2017077730 W CN2017077730 W CN 2017077730W WO 2017177806 A1 WO2017177806 A1 WO 2017177806A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
application
application set
scaling
usage rate
Prior art date
Application number
PCT/CN2017/077730
Other languages
English (en)
French (fr)
Inventor
房洪安
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP17781782.2A priority Critical patent/EP3401785A4/en
Publication of WO2017177806A1 publication Critical patent/WO2017177806A1/zh
Priority to US16/108,977 priority patent/US20180365075A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Definitions

  • the present invention relates to the field of communications and, more particularly, to a method and apparatus for managing resources in the field of communications.
  • cloud computing technology has become the mainstream of the industry and has become the development trend of current Information Technology ("IT").
  • IT Information Technology
  • the core idea of cloud computing is to establish a resource pool of computing resources through the network, perform unified management and scheduling of resource pools, and allocate resources according to users' needs.
  • Elastic scaling is a very important feature in cloud computing. Elastic scaling means that the cloud computing system can implement adaptive scaling of resources according to business needs, so that users can use various resources in the resource pool in a large or small way.
  • the current elastic scaling mechanism is to achieve flexible scaling of resources for a single application.
  • there may be multiple different applications interrelated or interdependent in the processing of a service if still based on existing
  • the elastic scaling mechanism is used to manage resources, and each application needs to be separately scaled and processed, so that the adaptation time of the entire service is longer.
  • the resources applied by application A need to be used together with the resources applied by application B. If one of the applications (for example, application A) completes the resource scaling, for example, the application has arrived. However, the system does not know that the application A is associated with other applications, and does not scale the application associated with the application A (for example, the application B) when the application A satisfies the preset condition of the resource expansion. That is to say, after application A completes the resource scaling, application B does not perform resource scaling or resource expansion. Therefore, application A cannot use the newly applied resources at this time. That is to say, the applications in the service are related to each other, and the length of the elastic extension of the entire service is determined by the sum of the lengths of the elastic extensions of all the related applications in the service.
  • the present application provides a method and apparatus for managing resources to shorten the elastic extension time of a service with multiple associated applications and improve resource management efficiency.
  • the application provides a method for managing a resource, the method comprising: determining, according to a service to be processed, an application set, where an application in the application set is used to process the to-be-processed service, where the application set includes at least two The application determines the resource usage rate of the application set; when the resource usage rate of the application set satisfies the preset condition of the resource expansion, the resource is expanded for each application in the application set according to the resource scaling policy corresponding to the preset condition Telescopic processing.
  • the application combines multiple applications for processing the same service to form an application set, and jointly manages each application in the application set.
  • Each application in the application set can perform resource scaling management at the same time, which can greatly reduce the elastic expansion time of the service and improve the execution efficiency of the service; on the other hand, compared with the resource management in the prior art by manual operation, the application is applied. Joint management to improve resource management efficiency and reduce manual operations and maintenance costs.
  • the resource scaling policy includes a resource allocation ratio between applications in the application set, and each of the application sets according to the resource scaling policy Applications
  • the resource scaling process includes: increasing or decreasing the resource allocation amount for each application in the application set according to the resource configuration ratio.
  • the application can elastically scale the related multiple applications at the same time, and can meet the resource requirements of different applications in different services.
  • each resource carries a resource identifier
  • resources are applied to each application in the application set.
  • the scaling process includes: determining, according to the resource scaling policy, a target resource set configured for the application set, where each target resource in the target resource set carries a resource identifier, and each application in the application set and the target resource set
  • the resource identifiers of each target resource are in one-to-one correspondence; according to the resource identifiers of each target resource in the target resource set, resource scaling processing is performed on each application in the application set.
  • determining a resource usage rate of the application set includes: acquiring a resource usage rate of each application in the application set; Determining, by the resource usage rate of each application in the set, the resource usage rate of the first application in the application set, and using the resource usage rate of the first application as the resource usage rate of the application set; or determining the application set The sum, maximum, minimum, or average of the resource usage of the application, and the sum, maximum, minimum, or average of the resource usage of the application in the application set is taken as the resource usage of the application set.
  • the present application determines whether to perform resource scaling on the application set, so that resource management is more reasonable.
  • the present application provides an apparatus for managing resources for performing the method of the first aspect or any possible implementation of the first aspect.
  • the apparatus comprises means for performing the method of the first aspect or any of the possible implementations of the first aspect.
  • the application provides a device for managing resources, the device comprising: a receiver, a transmitter, a memory, a processor, and a bus system.
  • the receiver, the transmitter, the memory and the processor are connected by the bus system, the memory is for storing instructions for executing the instructions stored by the memory to control the receiver to receive signals and control the sending
  • the transmitter transmits a signal, and when the processor executes the memory stored instructions, the execution causes the processor to perform the method of the first aspect or any of the possible implementations of the first aspect.
  • the present application provides a computer readable medium for storing a computer program, the computer program comprising instructions for performing the method of the first aspect or any of the possible implementations of the first aspect.
  • the resource usage rate includes at least one of the following: CPU usage, memory usage, or disk space usage.
  • the present application provides a method and an apparatus for managing resources, which can shorten the elastic extension time of a service with multiple associated applications, improve the execution efficiency of the service, reduce manual operation and maintenance costs, and improve resource management efficiency.
  • FIG. 1 is a schematic architectural diagram of a cloud computing system suitable for use in an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a method for managing resources according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a method for managing resources according to another embodiment of the present invention.
  • FIG. 4 is a schematic block diagram of an apparatus for managing resources according to an embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of an apparatus for managing resources according to an embodiment of the present invention.
  • the cloud computing system 100 includes: a scaling policy manager, a resource collector, a scaling controller, an application deployer, a resource manager, and an Infrastructure as a Service (IaaS). Said, I layer) resources.
  • IaaS Infrastructure as a Service
  • the application 2 may include the example 4, the example 5, and the example 6.
  • the application 3 may include the example 7, the example 8, and the example 9.
  • the invention is not limited thereto.
  • an instance can be understood as an application running on a running node, or an instance corresponds to a running node, where the running node can be a virtual machine, a physical machine or a container (for example, Docker).
  • a running node can be understood as a carrier of resources provided by a cloud computing system.
  • An example is an application running on a resource provided by a cloud computing system.
  • the resources of the cloud computing system may include: a Central Processing Unit (CPU), a memory, a storage space, and a network resource.
  • This resource can be stored in the I layer, that is, the I layer can be understood as a resource pool.
  • the resource may also include other resources of the cloud computing system.
  • the resource collector is used to collect the resource usage of each instance in each application, for example, the resource usage rate, and report the resource usage to the scaling policy manager.
  • the resource usage includes: CPU usage, memory usage, or disk space usage.
  • the scaling policy manager is configured to perform resource configuration for each application in real time according to the resource usage reported by the resource collector. Specifically, the scaling policy manager determines that the resource configured by the cloud computing system meets the preset condition of the resource scaling, and may determine the resource scaling policy corresponding to the preset condition according to the preset The application of the condition performs resource scaling processing (or elastic scaling processing).
  • resource scaling may include resource stretching and resource shrinking.
  • the preset condition of the resource expansion may include a first preset condition of the resource extension and a second preset condition of the resource contraction, and the preset condition of the resource expansion may include a preset condition of the CPU expansion, a preset condition of the memory expansion, and Pre-set conditions for storage space scaling, etc.
  • the resources may be extended or contracted according to the corresponding resource scaling strategy.
  • the scaling policy manager can be understood as a decision unit in which preset conditions for resource scaling and resource scaling policies are stored. When the scaling policy manager determines that an application meets the preset condition of resource scaling, the corresponding resource scaling policy may be sent to the scaling controller by using the resource scaling message, and the scaling controller performs resource scaling processing.
  • the resource scaling policy may be: pre-configuring a resource expansion amount (or a scaling step) of different specifications for different applications.
  • the scaling step can be determined according to the amount of service processing, and the scaling step can be updated in real time or periodically.
  • the expansion step size is updated according to the change of the service processing amount recorded in the historical data, and the expansion step size is large in the period when the service processing amount is large, and the expansion step is small in the period when the service processing amount is small.
  • the specifications of the scaling resources corresponding to each scaling step can be determined during application installation and deployment.
  • the specifications of the scaling resource can be in units of CPU core, memory size, storage size, or network configuration.
  • the scaling step is a virtual machine
  • the scaling resource of the virtual machine is a quad-core CPU.
  • the scaling policy manager may pre-store the correspondence between the application identifier, the specification of the scaling resource, and the scaling step (for the sake of understanding and description, as the first mapping relationship), and determine the need to An application (referred to as the first application for ease of understanding and description) performs resource scaling processing, determines a scaling step size corresponding to the first application, and a specification of the scaling resource, for example, configuring a quad-core CPU for the first application. virtual machine.
  • a virtual machine can be understood as a scaling step corresponding to the first application
  • the quad-core CPU can be understood as a specification of the scaling resource corresponding to the first application.
  • the scaling policy manager may send the application identifier of the first application and the information of the corresponding scaling resource and the scaling step to the scaling controller through the resource scaling message.
  • the scaling policy manager may also send the first mapping relationship to the scaling controller in advance, and send the application identifier of the first application to the scaling control when determining that the first application needs to perform resource scaling processing.
  • the scaling controller determines, according to the application identifier of the first application, the scaling step size and the scaling resource corresponding to the first application from the first mapping relationship.
  • the resources configured by the scaling controller or the resource manager for each application are recorded as target resources.
  • the resources configured by the system for each application may be carried by a virtual machine, a physical machine, or a container, or a virtual machine, a physical machine, or a container may serve as a carrier of resources.
  • the scaling policy manager determines to configure the quad-core CPU for the first application
  • the virtual machine can be used to carry the quad-core CPU, and the virtual machine is allocated to the first application, where the one virtual machine is corresponding to the first application. Stretching step size.
  • the scaling controller can apply for resources to the I layer through the resource manager. Specifically, the scaling controller may send a resource scaling request message to the resource manager, where the resource scaling request message carries the amount of resources that need to be applied.
  • the resource manager applies for the corresponding resource amount to the I layer according to the resource scaling request message.
  • the I layer allocates resources according to the resource scaling request message
  • the I layer allocates an identifier of the response to the resource and feeds back to the resource manager.
  • the resource manager sends a resource request response message to the scaling controller, where the resource request response message may carry the resource identifier of the applied resource to notify the scaling controller that the corresponding resource has been applied.
  • the resource identifier of the resource so that the application deployer uses the resource for the first application.
  • the scaling controller may send a resource allocation message to the application deployer to notify the application deployer to allocate resources for the first application.
  • the scaling controller may establish a correspondence between the application identifier and the resource identifier of the application that needs to be scaled according to the resource identifier fed back by the resource manager (for the purpose of understanding and distinguishing, the second mapping relationship is recorded).
  • the scaling controller may send the second mapping relationship to the application deployer, so that the application deployer allocates resources for the first application corresponding to the resource identifier according to the second mapping relationship.
  • the scalability controller applies for resources from the I layer through the resource manager, and can be controlled by different threads.
  • the system applies for multiple resources for multiple related applications at the same time, and may also apply for resources from the I layer in sequence, which is not limited by the present invention.
  • the resource identifier can be allocated to the resource through the I layer.
  • the I layer allocates a resource to an application, it can be assigned a specific resource identifier, so that the scaling controller can respond to the resource identifier according to the resource identifier.
  • the application allocates resources.
  • the resource is released, its resource identifier is also released, and the resource is returned to the I layer.
  • the I layer allocates a new resource identifier for it.
  • the resource identifier can be understood as, for example, an identifier (ID) of a virtual machine, and the resource identifier is an identifier for distinguishing different resources, so that the application deployer can perform resource allocation.
  • modules described above for applying for resources for the first application are merely illustrative and should not be construed as limiting the invention.
  • Each module may also be used for functions other than the above functions, or the system may also include other modules than the above modules, and more or fewer modules for performing the various functions described above, The present invention is not particularly limited thereto.
  • first application described above is only used for distinguishing between an identifier of an application and other applications (for example, a second application), and the “first” and “second” are only used to distinguish two different applications. Application, not used to indicate the order of execution or other content.
  • FIG. 1 the architecture of the cloud computing system 100 shown in FIG. 1 is taken as an example.
  • FIG. 2 and FIG. 3 a method for managing resources according to an embodiment of the present invention is described in detail from the perspective of a cloud computing system.
  • FIG. 1 can be used to perform the steps of the methods of FIGS. 2 and 3.
  • FIG. 2 is a schematic flowchart of a method 200 for managing resources according to an embodiment of the invention. It should be understood that FIG. 2 illustrates detailed communication steps or operations applied to a cloud computing system, but such steps or operations are merely examples, and embodiments of the invention may perform other operations or variations of the various operations in FIG. 2. Moreover, the various steps in FIG. 2 may be performed in a different order than that presented in FIG. 2, and it is possible that not all operations in FIG. 2 are to be performed.
  • the scaling policy manager determines the first application set.
  • the scaling policy manager can determine a corresponding application set (recorded as the first application set for ease of understanding and description) according to a certain service to be processed (recorded as the first service for ease of understanding and explanation), first
  • the application set is a collection of applications for processing the first service.
  • at least two applications may be included, and each application has an association relationship.
  • the application A may be executed after executing the application B, or the application A and the application B may be executed after the application is executed at the same time. C.
  • the application in the first application set is used to process the first service, and is not used to process services other than the first service. In other words, the application in the first application set is only used to process the first service.
  • the first application set can be understood as follows. If the second application set is run in the cloud computing system, and the second application set is used to process the second service, the intersection of the second application set and the first application set is empty.
  • the first application set and the second application set do not include the intersection. That is to say, the applications in the intersection are managed separately, and are not jointly managed in the first application collection or the second application collection.
  • the method for determining a plurality of related applications as the first application set according to the to-be-processed service in the embodiment of the present invention is merely exemplary, and the present invention should not be limited in any way.
  • the cloud computing system may also define a plurality of unrelated applications as an application set according to an artificial preset, and perform resource scaling processing on each application in the application set at the same time.
  • the present invention is not particularly limited thereto.
  • first application set and the second application set described above are only used for identifying two different application sets, and the “first” and “second” are only used to distinguish two different applications without using Indicates the order of execution or other content.
  • the resource collector sends the resource usage indication information to the scaling policy manager.
  • the resource collector can be used to collect resource usage for each instance of each application running in the cloud computing system, for example, resource usage. Therefore, the resource collector collects the resource usage of the first application set, and may be the resource usage of the application in the first application set, or may be the resource usage of each application.
  • the resource collector may send resource usage indication information to the scaling policy manager, the resource usage indication information being used to indicate resource usage of each application.
  • the scaling policy manager determines a resource usage rate of the first application set.
  • the scalability policy manager receives the resource usage indication information sent by the resource collector, and can determine the resource usage rate of the first application set.
  • the scaling policy manager may determine a resource usage rate of a preset application in the first application set, and determine a resource usage rate of the preset application as a resource usage rate of the first application set; or, a scaling policy management
  • the device may also determine a sum, a maximum value, a minimum value, or an average value of the resource usage rates of the applications in the first application set, and the sum, maximum, and minimum resource usage rates of the applications in the preset application set.
  • the value or the average value is used as the resource usage rate of the first application set; or the scaling policy manager may directly use the resource usage rate of each application in the first application set as the resource usage rate of the first application set, considering the first The resource usage of each app in the collection.
  • the specific content of the resource usage rate of the first application set may be determined by the scaling policy manager according to the weight of each application in the application of the first service. For example, if the first application in the first service belongs to the most important one in the first application set, and the other applications depend on the first application, the preset application may be determined as the first application, and only the first application is determined.
  • the resource usage rate of an application; or, if the applications in the first service are executed in sequence, the resource usage rate of each application in the first application set may be determined.
  • the specific method of the present invention for determining the resource usage rate of the first application set is not particularly limited.
  • the scaling policy manager determines to perform resource scaling processing on each application in the first application set.
  • the scaling policy manager determines to perform resources on each application in the first application set according to the preset resource scaling policy. Telescopic processing.
  • the resource usage rate of the first application set collected by the scaling policy manager is corresponding, and the first preset condition of the resource scaling may also be set with the threshold of the resource usage rate of the preset application.
  • a threshold of a resource usage rate of each application in the first application set a threshold of a sum of resource usage rates of applications in the first application set, a threshold of a maximum value of resource usage of an application in the first application set, and a threshold The threshold of the minimum value of the resource usage rate of the application in the application set or the average of the resource usage rate of the application in the first application set.
  • the resource usage rate may include CPU usage, memory usage, and storage space usage, and the thresholds for which the thresholds may be CPU usage thresholds or memory usage thresholds or storage space usage thresholds.
  • the present invention is not particularly limited thereto.
  • first preset condition is a preset condition for determining whether to perform a resource application, and is distinguished from a second preset condition for determining whether to perform resource release in the following.
  • a scaling policy may be pre-stored in the resource manager.
  • the resource may be scaled according to a preset resource allocation ratio according to information such as the type and weight of each application in the first application set.
  • the resource allocation ratio can be determined according to the proportional relationship of the processing amount between applications when the service is deployed, that is, the resource configuration ratio can be preset. For example, when the application processing ratio of the application A and the application B is 1:2 and the scaling step is a virtual machine, the application A and the application B scale the resources according to the ratio of 1:2, that is, when the virtual machine is allocated to the application A. , assign two virtual to application B Planned.
  • the virtual machines are allocated for both Application A and Application B, the resources carried may be different.
  • the virtual machine allocated for application A is a quad-core CPU
  • the virtual machine allocated for application B is an eight-core CPU.
  • the resources specifically carried by the virtual machine are determined according to the preset specifications of the scalable resources. It should be understood that the virtual machine for carrying resources listed herein is merely an exemplary description, and may also be a physical device, a container, or the like, or other physical device or virtual device that can be used to carry resources.
  • the scaling policy manager sends a resource scaling message to the scaling controller.
  • the scaling policy manager may send a resource scaling message to the scaling controller to notify the scaling controller to perform resource scaling processing when determining that the first application set meets the preset condition of the resource scaling.
  • the resource extension message may carry the application identifier of the first application and the information of the scaling step, so that the scaling controller performs resource scaling processing according to the application identifier and the scaling step of the first application.
  • the scaling controller sends a first resource request message to the resource manager.
  • the scaling controller sends a first resource request message to the resource manager to request the resource manager to apply for the resource according to the scaling step preset by the scaling policy manager.
  • the resource manager can determine the type, quantity, and carrier of the specific application to the I layer according to the scaling step, for example, applying for two quad-core virtual machines, or applying for a physical machine with 1024 megabytes of memory.
  • the resource manager sends a second resource request message to the I layer.
  • the second resource request message sent by the resource manager to the I layer may carry the type, quantity, and carrier of the resource determined by the extension controller.
  • the resource manager sends a resource request response message to the scaling controller.
  • the resource manager may send a resource request response message to the scaling controller to notify the scaling controller that the resource has been applied, so that the scaling controller can perform subsequent processing.
  • the resource request response message may carry the resource identifier of the applied resource, so that the scaling controller allocates resources for each application in the first application set according to the second mapping relationship.
  • a set of resources configured by the scaling controller or the resource manager for each application in the first application set is recorded as a target resource set, and each application corresponds to one target resource.
  • the scaling controller sends a resource allocation message to the application deployer.
  • the application deployer allocates resources for each application in the first application set.
  • the application deployer runs the corresponding application on the allocated virtual machine or other running node according to the determined resources allocated for each application in the first application set, that is, each in the first application set One or more instances have been run on the app.
  • the method for managing resources in the embodiment of the present invention combines multiple applications for processing the first service to form a first application set, and jointly manages each application in the first application set, in which one When one or more applications meet the preset conditions of the resource expansion, the resource extension management is performed on each application in the first application set at the same time, which can greatly reduce the elastic expansion time of the first service and improve the execution efficiency of the first service; On the one hand, compared with the resource management in the prior art by manual operation, the joint management of the application improves the resource management efficiency and reduces the manual operation and the maintenance cost.
  • FIG. 3 is a schematic flowchart of a method 300 for managing resources according to another embodiment of the present invention. It should be understood that FIG. 3 illustrates detailed communication steps or operations applied to a cloud computing system, but such steps or operations are merely examples, and embodiments of the invention may perform other operations or variations of the various operations in FIG. In addition, the various steps in Figure 3 can be followed by Figure 3. The different order of presentation is performed, and it is possible that not all of the operations in FIG. 3 are to be performed.
  • the scaling policy manager determines the first application set.
  • the resource collector sends the resource usage indication information to the scaling policy manager.
  • the scaling policy manager determines a resource usage rate of the first application set.
  • the scaling policy manager determines to perform resource scaling processing on each application in the first application set.
  • the scaling policy manager sends a resource scaling message to the scaling controller.
  • the scaling policy manager may perform resource scaling processing on each application of the first application set when the resource usage rate of the first application set meets the second preset condition of the resource expansion according to the resource usage rate of the first application set.
  • the second preset condition of the resource scaling may also be respectively set with a threshold of the resource usage rate of the first application, a threshold of the resource usage rate of each application in the first application set, and a first a threshold of a sum of resource usages of applications in the set, a threshold of a maximum value of resource usage of an application in the first application set, a threshold of a minimum value of resource usage of an application in the first application set, or a first The threshold of the average of the resource usage of the application in the collection.
  • the preset condition is met according to the resource usage rate of each application in the first application set, it may happen that some applications in the first application set satisfy the first preset condition, and another part The application satisfies the second preset condition. In this case, the application can be preferentially requested for each application in the first application set, and the resources of other applications in the service cannot be used together due to the release of the resources of the application, and the entire service cannot be operated normally.
  • the scaling controller sends an application uninstallation message to the application deployer.
  • the scaling controller may determine the resource identifier of the resource that can be released according to the resource scaling message and the preset resource scaling policy (for example, the scaling step).
  • the application deployer uninstalls the application in the first application set.
  • the application deployer may determine an application corresponding to the resource identifier according to the second mapping relationship, and then uninstall the application on the resource.
  • the scaling controller may determine, according to the resource scaling message, a resource identifier of the resource that can be released. And determining, according to the second mapping relationship, an application identifier corresponding to the resource identifier.
  • the scaling controller sends an application uninstallation message to the application deployer, and carries the resource identifier and the application identifier in the application uninstallation message, so that the application deployer can uninstall the application on the corresponding resource according to the resource identifier and the application identifier.
  • the scaling controller may directly send an application uninstallation message to the application deployer, where the resource release message carries a resource identifier of the releasable resource, and the application deployer may determine according to the resource identifier and the second mapping relationship. The app that needs to be uninstalled and uninstalled on that resource.
  • the application deployer sends an application uninstallation response message to the scaling controller.
  • the device may send a resource release response message to the scaling controller to notify the scaling controller that the application uninstallation has been completed on the releasable resource, and the resource may be released.
  • the scaling controller sends a first resource release message to the resource manager.
  • the scaling controller sends a first resource release message to the resource manager, where the resource identifier of the releasable resource may be carried in the first resource release message, to request the resource manager to release the resource according to the resource identifier determined by the scaling policy manager.
  • the resource manager sends a second resource release message to the layer I.
  • the resource manager sends a second resource release message to the layer I, and the second resource release message may carry a resource identifier of the releasable resource.
  • the I layer may release the corresponding resource according to the resource identifier.
  • the method for managing resources in the embodiment of the present invention combines multiple applications for processing the first service to form a first application set, and jointly manages each application in the first application set, in which one When one or more applications meet the preset conditions of the resource expansion, the resource extension management is performed on each application in the first application set at the same time, which can greatly reduce the elastic expansion time of the first service and improve the execution efficiency of the first service; On the one hand, compared with the resource management in the prior art by manual operation, the joint management of the application improves the resource management efficiency and reduces the manual operation and the maintenance cost.
  • the apparatus 400 includes a determining unit 410 and a processing unit 420.
  • the determining unit 410 is configured to determine, according to the service to be processed, an application set, where the application in the application set is used to process the to-be-processed service, where the application set includes at least two applications; and determining a resource usage rate of the application set;
  • the processing unit 420 is configured to: when the determining unit 410 determines that the resource usage rate of the application set meets the preset condition of the resource expansion, simultaneously perform, according to the resource scaling policy corresponding to the preset condition, each application in the application set Resource scaling processing.
  • the resource scaling policy includes a resource allocation ratio between applications in the application set, and the processing unit 420 is specifically configured to increase or decrease a resource allocation amount for each application in the application set according to the resource configuration ratio.
  • each resource carries a resource identifier, where each resource identifier is used to indicate a type of the corresponding resource
  • the processing unit 420 is specifically configured to determine, according to the resource scaling policy, a target resource set configured for the application set, where Each target resource in the target resource set carries a resource identifier, and each application in the application set has a one-to-one correspondence with a resource identifier of each target resource in the target resource set; and according to each of the target resource sets The resource identifier of the target resource is simultaneously subjected to resource scaling processing for each application in the application set.
  • the apparatus 400 further includes an obtaining unit 430, configured to acquire a resource usage rate of each application in the application set;
  • the determining unit 410 is specifically configured to determine a resource usage rate of the first application in the application set, and use the resource usage rate of the first application as a resource usage rate of the application set; or determine resource usage of the application in the application set.
  • the sum, maximum, minimum, or average of the rates, and the sum, maximum, minimum, or average of the resource usage of the application in the application set is taken as the resource usage of the application set.
  • the resource usage rate includes at least one of the following: CPU usage, memory usage, or disk space usage.
  • each unit in the apparatus 400 for managing resources may implement the corresponding functions through the modules of FIG.
  • the scaling policy manager of FIG. 1 can be used to implement the functionality of the determining unit 420 in the device 400.
  • the scaling controller, resource manager, and application deployer in FIG. 1 can be used to implement the processing unit 420 in the device 400.
  • the functionality of the resource collector in FIG. 1 can be used to implement the functionality of the acquisition unit 430 in the device 400.
  • the various modules enumerated in FIG. 1 are for illustrative purposes only, and that the functions of the above units may also be through other modules than those listed in FIG. 1, and more or fewer modules.
  • the present invention is not particularly limited in terms of implementing the various functions described above.
  • apparatus 400 for managing resources according to an embodiment of the present invention may correspond to the cloud computing system in the method 200 and the method 300 of managing resources according to an embodiment of the present invention, and the units in the apparatus 400 and the others described above Operation
  • the functions and/or functions are respectively implemented in order to implement the corresponding processes of the methods in FIG. 2 and FIG. 3, and are not described herein for brevity.
  • the device for managing resources in the embodiment of the present invention combines a plurality of applications for processing the first service to form a first application set, and jointly manages each application in the first application set, where When one or more applications meet the preset conditions of the resource expansion, the resource extension management is performed on each application in the first application set at the same time, which can greatly reduce the elastic expansion time of the first service and improve the execution efficiency of the first service; On the one hand, compared with the resource management in the prior art by manual operation, the joint management of the application improves the resource management efficiency and reduces the manual operation and the maintenance cost.
  • FIG. 5 is a schematic block diagram of an apparatus 500 for managing resources according to an embodiment of the present invention.
  • the device 500 includes a receiver 510, a transmitter 520, a processor 530, a memory 540, and a bus system 550.
  • the receiver 510, the transmitter 520, the processor 530 and the memory 540 are connected by a bus system 550 for storing instructions for executing instructions stored in the memory 540 to control the receiver 510 to receive.
  • Signal and control transmitter 520 to send a signal.
  • the processor 530 is configured to determine, according to the service to be processed, an application set, where the application in the application set is used to process the to-be-processed service, where the application set includes at least two applications; and determining a resource usage rate of the application set; And determining, when the resource usage of the application set meets the preset condition of the resource expansion, performing resource scaling processing on each application in the application set according to the resource scaling policy corresponding to the preset condition.
  • the resource scaling policy includes a resource allocation ratio between applications in the application set, and the processor 530 is specifically configured to increase or decrease a resource allocation amount for each application in the application set according to the resource configuration ratio.
  • each resource carries a resource identifier
  • the processor 530 is specifically configured to determine, according to the resource scaling policy, a target resource set configured for the application set, where each target resource in the target resource set carries a resource identifier, where Each application in the application set has a one-to-one correspondence with the resource identifier of each target resource in the target resource set; and each application in the application set according to the resource identifier of each target resource in the target resource set Perform resource scaling processing.
  • the processor 530 is further configured to obtain a resource usage rate of each application in the application set, and use a resource usage rate of the first application as a resource usage rate of the application set; and determine a number in the application set.
  • the resource usage rate of an application or determining the sum, maximum value, minimum value, or average value of the resource usage rate of the application in the application set, and summing, maximizing, and minimizing the resource usage rate of the application in the application set
  • the value or average is used as the resource usage for the collection of applications.
  • the resource usage rate includes at least one of the following: CPU usage, memory usage, or disk space usage.
  • the processor 530 may be a central processing unit ("CPU"), and the processor 530 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory 540 can include read only memory and random access memory and provides instructions and data to the processor 530. A portion of the memory 540 may also include a non-volatile random access memory. For example, the memory 540 can also store information of the device type.
  • the bus system 550 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as bus system 550 in the figure.
  • each step of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 530 or an instruction in a form of software.
  • the steps of the method for super-cell handover disclosed in the embodiments of the present invention may be directly implemented as hardware processor execution completion, or performed by a combination of hardware and software modules in the processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in the memory 540, and the processor 530 reads the information in the memory 540 and performs the steps of the above method in combination with its hardware. To avoid repetition, it will not be described in detail here.
  • the device 500 for managing resources according to an embodiment of the present invention may correspond to the cloud computing system in the method 200 and method 300 for managing resources according to an embodiment of the present invention, and the units in the device 500 and the other operations and/or the above-described operations and/or The functions are respectively implemented in order to implement the corresponding processes of the methods in FIG. 2 and FIG. 3, and are not described herein for brevity.
  • the device for managing resources in the embodiment of the present invention combines multiple applications for processing the first service to form a first application set, and jointly manages each application in the first application set, where When one or more applications meet the preset conditions of the resource expansion, the resource extension management is performed on each application in the first application set at the same time, which can greatly reduce the elastic expansion time of the first service and improve the execution efficiency of the first service; On the one hand, compared with the resource management in the prior art by manual operation, the joint management of the application improves the resource management efficiency and reduces the manual operation and the maintenance cost.
  • the size of the sequence numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be directed to the embodiments of the present invention.
  • the implementation process constitutes any limitation.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the function can be stored in the form of a software functional unit and sold or used as a standalone product.
  • a computer readable storage medium Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (RAM), a random access memory (ROM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种管理资源的方法和装置,能够缩短具有多个关联应用的业务的弹性伸缩时间,提高资源管理效率。该方法包括:根据待处理的业务,确定应用集合,该应用集合中的应用用于处理该待处理的业务,该应用集合包括至少两个应用;确定该应用集合的资源使用率;当该应用集合的资源使用率满足资源伸缩的预设条件时,根据与预设条件相对应的资源伸缩策略,对该应用集合中的每个应用进行资源伸缩处理。

Description

一种管理资源的方法和装置
本申请要求于2016年4月15日提交中国专利局、申请号为201610239254.8,发明名称为“一种管理资源的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信领域,并且更具体地,涉及一种通信领域中管理资源的方法和装置。
背景技术
随着计算机网络的进一步发展和海量数据计算能力的要求,云计算技术成为业界发展主流,成为当前信息技术(Information Technology,简称“IT”)的发展趋势。云计算的核心思想是,通过网络将计算资源建立一个资源池,对资源池进行统一管理和调度,根据用户的需要对资源进行按需分配。
弹性伸缩是云计算中一个非常重要的特性。弹性伸缩是指云计算系统可以根据业务需要,实现资源的自适应伸缩,使得用户可大可小、可增可减地利用资源池中的各种资源。
但是,目前的弹性伸缩机制是针对单个应用实现资源的弹性伸缩,而对于一些大型系统而言,一个业务的处理中可能存在多个不同的应用相互关联或者相互依赖的情况,如果仍然根据现有的弹性伸缩机制来管理资源,需要对每个应用分别进行资源的伸缩处理,使得整个业务的自适应时间较长。
具体来说,若某个业务中的处理涉及到两个应用(例如,应用A和应用B),应用A所申请到的资源是需要与应用B所申请的资源配合使用的。如果其中的一个应用(例如,应用A)完成了资源伸缩,例如,申请到了资源。但系统并不知道该应用A与其他应用相关联,并不会在应用A满足资源伸缩的预设条件时,对与应用A相关联的应用(例如,应用B)进行伸缩。也就是说,应用A完成了资源伸缩后,应用B并未进行资源伸缩或者还未完成资源伸缩,因此,应用A此时仍然无法使用新申请到的资源。也就是说,该业务中的应用相互关联,整个业务的弹性伸缩的时长由该业务中所有关联的应用的弹性伸缩的时长的总和决定。
发明内容
本申请提供一种管理资源的方法和装置,以缩短具有多个关联应用的业务的弹性伸缩时间,提高资源管理效率。
第一方面,本申请提供一种管理资源的方法,该方法包括:根据待处理的业务,确定应用集合,该应用集合中的应用用于处理该待处理的业务,该应用集合包括至少两个应用;确定该应用集合的资源使用率;当该应用集合的资源使用率满足资源伸缩的预设条件时,根据与预设条件相对应的资源伸缩策略,对应用集合中的每个应用进行资源伸缩处理。
本申请通过将用于处理同一业务的多个应用绑定在一起,组成应用集合,对应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对应用集合中的每个应用同时进行资源伸缩管理,可以大大减少业务的弹性伸缩时间,提高业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。
结合第一方面,在第一方面的第一种可能的实现方式中,该资源伸缩策略包括该应用集合中的各应用间的资源配置比例,以及,根据资源伸缩策略,对应用集合中的每个应用进行 资源伸缩处理,包括:根据资源配置比例,对应用集合中的每个应用增加或减少资源分配量。
本申请通过根据业务中各应用的权重确定资源配置比例,能够一次性对相关联的多个应用按比例地同时进行弹性伸缩,可以满足不同业务中不同应用对资源的需求。
结合第一方面的上述可能的实现方式,在第一方面的第二种可能的实现方式中,每个资源携带有资源标识,以及,根据资源伸缩策略,对应用集合中的每个应用进行资源伸缩处理,包括:根据资源伸缩策略,确定为应用集合配置的目标资源集合,该目标资源集合中的每个目标资源携带有资源标识,该应用集合中的每个应用与该目标资源集合中的每个目标资源的资源标识一一对应;根据该目标资源集合中的每个目标资源的资源标识,对该应用集合中的每个应用进行资源伸缩处理。
结合第一方面的上述可能的实现方式,在第一方面的第三种可能的实现方式中,确定应用集合的资源使用率,包括:获取应用集合中的每个应用的资源使用率;根据该应用集合中的每个应用的资源使用率,确定应用集合中的第一应用的资源使用率,并将该第一应用的资源使用率作为该应用集合的资源使用率;或者,确定应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将该应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为该应用集合的资源使用率。
本申请通过综合考虑各应用的权重以及资源使用率,确定是否对应用集合进行资源伸缩,使资源管理更加合理。
第二方面,本申请提供一种管理资源的装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第三方面,本申请提供一种管理资源的设备,该设备包括:接收器、发送器、存储器、处理器和总线系统。其中,该接收器、该发送器、该存储器和该处理器通过该总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制接收器接收信号,并控制发送器发送信号,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,本申请提供一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
在某些实现方式中,资源使用率包括以下至少一项:CPU使用率、内存使用率或磁盘空间使用率。
本申请提供了一种管理资源的方法和装置,能够缩短具有多个关联应用的业务的弹性伸缩时间,提高业务的执行效率;同时,减少人工操作和维护成本,提高资源管理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是适用于本发明实施例的云计算系统的示意性架构图。
图2是根据本发明一实施例的管理资源的方法的示意性流程图。
图3是根据本发明另一实施例的管理资源的方法的示意性流程图。
图4是根据本发明一实施例的管理资源的装置的示意性框图。
图5是根据本发明一实施例的管理资源的设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
以下,为便于理解和说明,以云计算系统为例详细说明根据本发明实施例的方法。
为便于理解,先结合图1,详细介绍适用于本发明实施例的云计算系统的架构图。
图1是适用于本发明实施例的云计算系统100的示意性架构图。如图1所示,云计算系统100中包括:伸缩策略管理器、资源采集器、伸缩控制器、应用部署器、资源管理器和基础设施即服务(Infrastructure as a Service,简称“IaaS”,或者说,I层)资源。云计算系统100中可以运行有多个应用,例如,图中所示的应用1、应用2和应用3,每个应用可以包括多个实例,例如,应用1可以包括实例1、实例2和实例3,应用2可以包括实例4、实例5和实例6,应用3可以包括实例7、实例8和实例9,本发明对此并未限定。
需要说明的是,一个实例可以理解为运行在一个运行节点上的应用,或者说,一个实例对应了一个运行节点,这里所说的运行节点可以为虚拟机、物理机或者容器(例如,Docker)。换句话说,运行节点可以理解为云计算系统所提供的资源的载体。一个实例,即一个应用运行在云计算系统所提供的一个资源上。
在本发明实施例中,云计算系统的资源可以包括:中央处理器(Central Processing Unit,简称“CPU”)、内存、存储空间、网络资源。该资源可以存放在I层,也就是说,I层可以理解为一个资源池。
应理解,以上列举的云计算系统的资源的具体内容仅为示例性说明,不应对本发明构成任何限定,本发明也不应限于此,例如,该资源还可以包括云计算系统的其他资源。
为便于说明,以下,以为应用申请资源为例,详细说明上述各个模块的功能。
在云计算系统100中,资源采集器用于采集各应用中的各实例的资源使用情况,例如,资源使用率,并将资源使用情况上报给伸缩策略管理器。作为示例而非限定,该资源使用率包括:CPU使用率、内存使用率或磁盘空间使用率。
伸缩策略管理器用于根据资源采集器上报的资源使用情况,实时地为各应用进行资源配置。具体地,伸缩策略管理器确定云计算系统当前为应用所配置的资源满足资源伸缩的预设条件时,即可以确定根据预设的、与预设条件相对应的资源伸缩策略,对满足预设条件的应用进行资源伸缩处理(或者说,弹性伸缩处理)。
在本发明实施例中,资源伸缩可以包括资源伸展和资源收缩。资源伸缩的预设条件可以包括资源伸展的第一预设条件和资源收缩的第二预设条件,并且,资源伸缩的预设条件可以包括CPU伸缩的预设条件、内存伸缩的预设条件以及存储空间伸缩的预设条件等。在不同类型的资源的使用率满足预设条件时,可以根据与之相对应的资源伸缩策略,对资源进行伸展或收缩。伸缩策略管理器可以理解为一个决策单元,其中存储了资源伸缩的预设条件以及资源伸缩策略。当伸缩策略管理器确定某个应用满足资源伸缩的预设条件时,便可以将相对应的资源伸缩策略通过资源伸缩消息的方法发送给伸缩控制器,由伸缩控制器来进行资源伸缩处理。
在本发明实施例中,该资源伸缩策略可以为:为不同应用预先配置不同规格的资源伸缩量(或者称,伸缩步长)。可选地,该伸缩步长可以根据业务处理量来确定,并且,该伸缩步长可以实时更新,或者周期性更新。例如,根据历史数据记载的业务处理量的变化情况来更新伸缩步长,在业务处理量较大的时段内,伸缩步长较大,在业务处理量较小的时段内,伸缩步长较小。
其中,每一个伸缩步长所对应的伸缩资源的规格在应用安装部署时就可以确定。该伸缩资源的规格可以以CPU核数、内存大小、存储大小或者网络配置为单位。例如,该伸缩步长为一个虚拟机,该虚拟机的伸缩资源的规格为四核CPU。
在一种实现方式中,伸缩策略管理器中可以预先保存应用标识、伸缩资源的规格与伸缩步长的对应关系(为便于理解和说明,记作第一映射关系),在确定需要对其中的某个应用(为便于理解和说明,记作第一应用)进行资源伸缩处理时,确定与第一应用相对应的伸缩步长以及伸缩资源的规格,例如,为第一应用配置一个四核CPU虚拟机。其中,一个虚拟机可以理解为与第一应用相对应的伸缩步长,四核CPU可以理解为与该第一应用相对应的伸缩资源的规格。伸缩策略管理器可以将该第一应用的应用标识以及对应的伸缩资源的规格和伸缩步长的信息通过资源伸缩消息发送给伸缩控制器。
在另一种实现方式中,伸缩策略管理器也可以预先将该第一映射关系发送给伸缩控制器,在确定第一应用需要进行资源伸缩处理时,将第一应用的应用标识发送给伸缩控制器,伸缩控制器根据该第一应用的应用标识,从第一映射关系中,确定与第一应用相对应的伸缩步长和伸缩资源的规格。
在本发明实施例中,为便于理解和说明,将伸缩控制器或者资源管理器为每个应用配置的资源记作目标资源。
需要说明的是,系统为每个应用配置的资源可以通过虚拟机、物理机或者容器来承载,或者说,虚拟机、物理机或者容器可以作为资源的载体。例如,伸缩策略管理器确定为第一应用配置四核CPU,则可以通过一个虚拟机来承载四核CPU,将该虚拟机分配给第一应用,该一个虚拟机即为与第一应用对应的伸缩步长。
伸缩控制器在接收到资源伸缩消息,并确定伸缩步长后,可以通过资源管理器向I层申请资源。具体地,伸缩控制器可以向资源管理器发送资源伸缩请求消息,在该资源伸缩请求消息中携带有需要申请的资源量。
资源管理器根据该资源伸缩请求消息,向I层申请相应的资源量。I层在根据该资源伸缩请求消息分配资源后,为资源分配响应的标识,并反馈给资源管理器。资源管理器在申请到该资源后,向伸缩控制器发送资源请求响应消息,该资源请求响应消息中可以携带有申请到的资源的资源标识,以通知伸缩控制器,已经申请到相应的资源以及该资源的资源标识,以便于应用部署器将该资源用于第一应用。
伸缩控制器接收到资源请求响应消息后,可以向应用部署器发送资源分配消息,以通知应用部署器为第一应用分配资源。
在一种实现方式中,伸缩控制器可以根据资源管理器反馈的资源标识,建立需要进行伸缩的应用的应用标识与资源标识的对应关系(为便于理解和区分,记作第二映射关系)。伸缩控制器可以将该第二映射关系发送给应用部署器,以便于应用部署器根据该第二映射关系,为与资源标识相对应的第一应用分配资源。
需要说明的是,伸缩控制器通过资源管理器从I层申请资源,可以通过不同的线程来控 制,同时为多个关联的应用申请多个资源,也可以依次从I层申请资源,本发明对此并未限定。
还需要说明的是,资源标识可以通过I层为资源分配,当I层将某个资源分配用于某个应用时,可以为其分配特定的资源标识,以便于伸缩控制器根据资源标识为相应的应用分配资源。当该资源被释放时,其资源标识也同时被释放,资源又返回到I层中,待下次使用时,I层再为其分配新的资源标识。也就是说,资源标识就可以理解为例如,一个虚拟机的标识符(Identifier,简称“ID”),资源标识是用于区分不同的资源的一种标识,以便于应用部署器进行资源分配。
应理解,以上所描述的用于为第一应用申请资源的各模块仅为示例性说明,不应对本发明构成任何限定。各模块还可以用于除上述功能之外的其他功能,或者,该系统也可以包括除上述模块之外的其他模块,以及更多或者更少的模块,用于执行以上所描述的各个功能,本发明对此并未特别限定。
还应理解,以上所述的第一应用仅用于对某个应用的标识以及与其他应用(例如,第二应用)的区分,“第一”、“第二”仅用于区分两个不同的应用,而不用于指示执行的先后顺序或其他内容。
以下,仍然以图1中所示的云计算系统100的架构为例,结合图2和图3,从云计算系统的角度详细说明根据本发明实施例的管理资源的方法。
应理解,图1所示的云计算系统100可用于执行图2和图3中的方法的各步骤。
图2是根据本发明一实施例的管理资源的方法200的示意性流程图。应理解,图2示出了应用于云计算系统的详细的通信步骤或操作,但这些步骤或操作仅是示例,本发明实施例还可以执行其它操作或者图2中的各种操作的变形。此外,图2中的各个步骤可以按照与图2呈现的不同的顺序来执行,并且有可能并非要执行图2中的全部操作。
下面描述图2的具体步骤。
S202,伸缩策略管理器确定第一应用集合。
伸缩策略管理器可以根据当前待处理的某一业务(为便于理解和说明,记作第一业务),确定相对应的应用集合(为便于理解和说明,记作第一应用集合),第一应用集合为用于处理第一业务的应用的集合。在该第一应用集合中,可以包括至少两个应用,各应用之间具有关联关系,例如,应用A可以在执行应用B之后执行,或者,应用A和应用B同时执行完之后才可以执行应用C。
可选地,该第一应用集合中的应用用于处理第一业务,且不用于处理除该第一业务之外的业务。或者说,该第一应用集合中的应用仅用于处理第一业务。
第一应用集合可以这样理解,假设该云计算系统中运行有第二应用集合,第二应用集合中的应用用于处理第二业务,则第二应用集合与第一应用集合的交集为空。
换句话说,如果与第一业务相对应的应用的集合和与第二业务相对应的应用的集合有交集,则第一应用集合和第二应用集合都不包括该交集。也就是说,将交集中的应用单独管理,而不放在第一应用集合或者第二应用集合中联合管理。
应理解,本发明实施例中根据待处理业务将多个相关联的应用确定为第一应用集合的方法仅为示例性说明,不应对本发明构成任何限定。云计算系统也可以根据人为的预先设置,将多个不相关联的应用定义为一个应用集合,对该应用集合中的每个应用同时进行资源伸缩处理。本发明对此并未特别限定。
还应理解,以上所述的第一应用集合和第二应用集合仅用于对两个不同应用集合的标识,“第一”、“第二”仅用于区分两个不同的应用,而不用于指示执行的先后顺序或其他内容。
S204,资源采集器向伸缩策略管理器发送资源使用指示信息。
资源采集器可以用于采集运行在该云计算系统中的每个应用的每个实例的资源使用情况,例如,资源使用率。因此,资源采集器采集第一应用集合的资源使用情况,可以为第一应用集合中的某一个应用的资源使用情况,也可以是每个应用的资源使用情况。
资源采集器可以向伸缩策略管理器发送资源使用指示信息,该资源使用指示信息用于指示每个应用的资源使用情况。
S206,伸缩策略管理器确定第一应用集合的资源使用率。
伸缩策略管理器接收到资源采集器发送的资源使用指示信息,可以确定第一应用集合的资源使用率。伸缩策略管理器可以确定第一应用集合中的某一个预设的应用的资源使用率,并将该预设的应用的资源使用率确定为第一应用集合的资源使用率;或者,伸缩策略管理器也可以确定第一应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值等,并将该预设的应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值等作为第一应用集合的资源使用率;或者,伸缩策略管理器还可以直接将第一应用集合中每个应用的资源使用率作为第一应用集合的资源使用率,考量第一应用集合中的每个应用的资源使用率。在本发明实施例中,伸缩策略管理器确定第一应用集合的资源使用率的具体内容可以根据第一业务的应用中各应用的权重来确定。例如,若第一业务中的第一应用是属于第一应用集合中最重要的一个应用,其他应用都依赖于该第一应用,则可以确定预设的应用即第一应用,只需确定第一应用的资源使用率;或者,若第一业务中的各应用依先后顺序来执行,则可以确定该第一应用集合中的每个应用的资源使用率。本发明对于确定第一应用集合的资源使用率的具体方法并未特别限定。
S208,伸缩策略管理器确定对第一应用集合中的每个应用进行资源伸缩处理。
具体来说,伸缩策略管理器在确定第一应用集合的资源使用率满足资源伸缩的第一预设条件时,根据预设的资源伸缩策略,确定对第一应用集合中的每个应用进行资源伸缩处理。
在本发明实施例中,与伸缩策略管理器所采集的第一应用集合的资源使用率相对应,资源伸缩的第一预设条件也分别可以设置有该预设的应用的资源使用率的门限、第一应用集合中每个应用的资源使用率的门限、第一应用集合中的应用的资源使用率的总和的门限、第一应用集合中的应用的资源使用率的最大值的门限、第一应用集合中的应用的资源使用率的最小值的门限或者第一应用集合中的应用的资源使用率的平均值的门限。
如上所述,资源使用率可以包括CPU使用率、内存使用率以及存储空间使用率,以及上述各门限可以为CPU使用率的门限或者内存使用率的门限或者存储空间使用率的门限。本发明对此并未特别限定。
应理解,上述第一预设条件为用于确定是否进行资源申请的预设条件,与后文中用于确定是否进行资源释放的第二预设条件相区分。
在本发明实施例中,资源管理器中可以预存有伸缩策略。例如,可以根据第一应用集合中的各应用的类型以及权重等信息,按预设的资源配置比例伸缩资源。该资源配置比例可以在业务部署时,根据各应用间的处理量的比例关系来确定,也就是说,该资源配置比例可以预先设置。例如,应用A与应用B的应用处理量比例为1:2,伸缩步长为一个虚拟机,则应用A与应用B按照1:2的比例伸缩资源,即,为应用A分配一个虚拟机时,为应用B分配两个虚 拟机。应注意,虽然为应用A和应用B分配的都是虚拟机,但是所承载的资源有可能是不同的。例如,为应用A所分配的虚拟机是四核CPU,为应用B所分配的虚拟机是八核CPU。虚拟机具体承载的资源是根据预设的伸缩资源的规格来确定的。应理解,这里所列举的用于承载资源的虚拟机仅为示例性说明,还可以为物理机、容器等其他可用于承载资源的物理设备或者虚拟设备。
S210,伸缩策略管理器向伸缩控制器发送资源伸缩消息。
伸缩策略管理器在确定第一应用集合满足上述资源伸缩的预设条件时,可以向伸缩控制器发送资源伸缩消息,以通知伸缩控制器进行资源伸缩处理。可选地,该资源伸缩消息中可以携带有该第一应用的应用标识以及伸缩步长的信息,以便于伸缩控制器根据第一应用的应用标识和伸缩步长进行资源伸缩处理。
S212,伸缩控制器向资源管理器发送第一资源请求消息。
伸缩控制器向资源管理器发送第一资源请求消息,以请求资源管理器根据伸缩策略管理器所预先设定的伸缩步长来申请资源。资源管理器可以根据伸缩步长确定具体向I层申请的资源的类型、数量与载体,例如,申请两个四核虚拟机,或者申请一个1024兆内存的物理机等。
S214,资源管理器向I层发送第二资源请求消息。
资源管理器向I层发送的第二资源请求消息中可以携带上述伸缩控制器所确定的资源的类型、数量与载体。
S216,资源管理器向伸缩控制器发送资源请求响应消息。
资源管理器在完成与I层的资源申请后,可以向伸缩控制器发送资源请求响应消息,以通知伸缩控制器资源已申请到,以便于伸缩控制器进行后续处理。该资源请求响应消息中可以携带有申请到的资源的资源标识,以便于伸缩控制器根据第二映射关系为第一应用集合中的每个应用分配资源。
在本发明实施例中,为便于理解和说明,将伸缩控制器或者资源管理器为第一应用集合中每个应用配置的资源的集合记作目标资源集合,每个应用对应一个目标资源。
S218,伸缩控制器向应用部署器发送资源分配消息。
S220,应用部署器为第一应用集合中的每个应用分配资源。
应用部署器根据确定好的、为第一应用集合中的每个应用所分配的资源,在分配的虚拟机或者其他运行节点上运行相对应的应用,即,在第一应用集合中的每个应用上增加运行了一个或多个实例。
伸缩控制器或者应用部署器根据上述的第二映射关系为第一应用集合中的每个应用分配资源的具体过程在前文中已经详细描述,为了简洁,这里不再赘述。
因此,本发明实施例的管理资源的方法,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。
图3是根据本发明另一实施例的管理资源的方法300的示意性流程图。应理解,图3示出了应用于云计算系统的详细的通信步骤或操作,但这些步骤或操作仅是示例,本发明实施例还可以执行其它操作或者图3中的各种操作的变形。此外,图3中的各个步骤可以按照与图3 呈现的不同的顺序来执行,并且有可能并非要执行图3中的全部操作。
下面描述图3的具体步骤。
S302,伸缩策略管理器确定第一应用集合。
S304,资源采集器向伸缩策略管理器发送资源使用指示信息。
S306,伸缩策略管理器确定第一应用集合的资源使用率。
S308,伸缩策略管理器确定对第一应用集合中的每个应用进行资源伸缩处理。
S310,伸缩策略管理器向伸缩控制器发送资源伸缩消息。
伸缩策略管理器可以根据第一应用集合的资源使用率,确定第一应用集合的资源使用率满足资源伸缩的第二预设条件时,对第一应用集合的每个应用进行资源伸缩处理。
与第一预设条件相对应地,资源伸缩的第二预设条件也可以分别设置有第一应用的资源使用率的门限、第一应用集合中每个应用的资源使用率的门限、第一应用集合中的应用的资源使用率的总和的门限、第一应用集合中的应用的资源使用率的最大值的门限、第一应用集合中的应用的资源使用率的最小值的门限或者第一应用集合中的应用的资源使用率的平均值的门限。
需要说明的是,若根据第一应用集合中的每个应用的资源使用率来确定是否满足预设条件,有可能会出现第一应用集合中的部分应用满足第一预设条件,而另一部分应用满足第二预设条件的情况。在这种情况下,可以优先为第一应用集合中的每个应用请求申请资源,而避免因部分应用的资源释放导致该业务中其他应用的资源无法配合使用,导致整个业务无法正常运行。
应理解,S302-S310的具体过程与S202-S210的具体过程相似,为了简洁,这里不再赘述。
S312,伸缩控制器向应用部署器发送应用卸载消息。
伸缩控制器可以根据资源伸缩消息,以及预设的资源伸缩策略(例如,伸缩步长),确定可以释放的资源的资源标识。
S314,应用部署器卸载第一应用集合中的应用。
应用部署器根据上述第二映射关系,可以确定与该资源标识对应的应用,进而在该资源上卸载该应用。
在一种实现方式中,伸缩控制器可以根据资源伸缩消息,确定可以释放的资源的资源标识。进而根据上述第二映射关系,确定与该资源标识对应的应用标识。伸缩控制器向应用部署器发送应用卸载消息,并在应用卸载消息中携带该资源标识和应用标识,以便于应用部署器可以根据该资源标识和应用标识,在相对应的资源上卸载应用。
在另一种实现方式中,伸缩控制器可以直接向应用部署器发送应用卸载消息,该资源释放消息中携带可以释放的资源的资源标识,应用部署器可以根据资源标识和第二映射关系,确定需要卸载的应用,并在该资源上卸载该应用。
S316,应用部署器向伸缩控制器发送应用卸载响应消息。
应用部署器完成应用卸载后,可以向伸缩控制器发送资源释放响应消息,以通知伸缩控制器已经在可以释放的资源上完成了应用卸载,可以释放该资源。
S318,伸缩控制器向资源管理器发送第一资源释放消息。
伸缩控制器向资源管理器发送第一资源释放消息,在第一资源释放消息中可以携带可以释放的资源的资源标识,以请求资源管理器根据伸缩策略管理器所确定的资源标识释放资源。
S320,资源管理器向I层发送第二资源释放消息。
资源管理器向I层发送第二资源释放消息,在第二资源释放消息中可以携带有可以释放的资源的资源标识。I层在接收到第二资源释放消息后,可以根据资源标识将对应的资源释放。因此,本发明实施例的管理资源的方法,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。
以上,结合图2和图3详细说明了根据本发明实施例的管理资源的方法。以下,结合图4详细说明根据本发明实施例的管理资源的装置。
图4是根据本发明实施例的管理资源的装置400的示意性框图。如图4所示,该装置400包括:确定单元410和处理单元420。
其中,该确定单元410用于根据待处理的业务,确定应用集合,应用集合中的应用用于处理该待处理的业务,该应用集合包括至少两个应用;并确定应用集合的资源使用率;
该处理单元420用于当该确定单元410确定应用集合的资源使用率满足资源伸缩的预设条件时,根据与该预设条件相对应的资源伸缩策略,对应用集合中的每个应用同时进行资源伸缩处理。
可选地,该资源伸缩策略包括该应用集合中的各应用间的资源配置比例,该处理单元420具体用于根据该资源配置比例,对应用集合中的每个应用增加或减少资源分配量。
可选地,每个资源携带有资源标识,每个资源标识用于指示所对应的资源的类型,该处理单元420具体用于根据该资源伸缩策略,确定为应用集合配置的目标资源集合,该目标资源集合中的每个目标资源携带有资源标识,该应用集合中的每个应用与该目标资源集合中的每个目标资源的资源标识一一对应;并根据该目标资源集合中的每个目标资源的资源标识,对该应用集合中的每个应用同时进行资源伸缩处理。
可选地,该装置400还包括获取单元430,用于获取应用集合中的每个应用的资源使用率;
该确定单元410具体用于确定应用集合中的第一应用的资源使用率,并将该第一应用的资源使用率作为该应用集合的资源使用率;或者,确定应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将该应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为该应用集合的资源使用率。
可选地,该资源使用率包括以下至少一项:CPU使用率、内存使用率或磁盘空间使用率。
应理解,根据本发明实施例的管理资源的装置400中的各单元可以通过图1的各模块来实现相应的功能。具体而言,图1中的伸缩策略管理器可用于实现装置400中的确定单元420的功能,图1中的伸缩控制器、资源管理器和应用部署器可用于实现装置400中的处理单元420的功能,图1中的资源采集器可用于实现装置400中的获取单元430的功能。还应理解,图1中所列举的各模块仅用于示例性说明,上述各单元的功能也可以通过除图1中所列举的模块之外的其他模块,以及更多或者更少的模块来实现以上所描述的各个功能,本发明对此并未特别限定。
还应理解,根据本发明实施例的管理资源的装置400可对应于根据本发明实施例的管理资源的方法200和方法300中的云计算系统,并且,该装置400中的各单元和上述其他操作 和/或功能分别为了实现图2和图3中的各方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的管理资源的装置,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。
以上,结合图4详细说明了根据本发明实施例的管理资源的装置。以下,结合图5详细说明根据本发明实施例的管理资源的设备。
图5是根据本发明实施例的管理资源的设备500的示意性框图。如图5所示,该设备500包括:接收器510、发送器520、处理器530、存储器540和总线系统550。其中,接收器510、发送器520、处理器530和存储器540通过总线系统550相连,该存储器540用于存储指令,该处理器530用于执行该存储器540存储的指令,以控制接收器510接收信号,并控制发送器520发送信号。
其中,该处理器530用于根据待处理的业务,确定应用集合,应用集合中的应用用于处理该待处理的业务,该应用集合包括至少两个应用;并确定应用集合的资源使用率;并在确定应用集合的资源使用率满足资源伸缩的预设条件时,根据与该预设条件相对应的资源伸缩策略,对应用集合中的每个应用进行资源伸缩处理。
可选地,该资源伸缩策略包括该应用集合中的各应用间的资源配置比例,该处理器530具体用于根据该资源配置比例,对应用集合中的每个应用增加或减少资源分配量。
可选地,每个资源携带有资源标识,该处理器530具体用于根据资源伸缩策略,确定为应用集合配置的目标资源集合,该目标资源集合中的每个目标资源携带有资源标识,该应用集合中的每个应用与该目标资源集合中的每个目标资源的资源标识一一对应;并根据该目标资源集合中的每个目标资源的资源标识,对该应用集合中的每个应用进行资源伸缩处理。
可选地,该处理器530还用于获取应用集合中的每个应用的资源使用率,并将该第一应用的资源使用率作为该应用集合的资源使用率;并确定应用集合中的第一应用的资源使用率,或者,确定应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将该应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为该应用集合的资源使用率。
可选地,该资源使用率包括以下至少一项:CPU使用率、内存使用率或磁盘空间使用率。
应理解,在本发明实施例中,该处理器530可以是中央处理单元(central processing unit,简称为“CPU”),该处理器530还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器540可以包括只读存储器和随机存取存储器,并向处理器530提供指令和数据。存储器540的一部分还可以包括非易失性随机存取存储器。例如,存储器540还可以存储设备类型的信息。
该总线系统550除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统550。
在实现过程中,上述方法的各步骤可以通过处理器530中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的用于超级小区间切换的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器540,处理器530读取存储器540中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的管理资源的设备500可对应于根据本发明实施例的管理资源的方法200和方法300中的云计算系统,并且,该设备500中的各单元和上述其他操作和/或功能分别为了实现图2和图3中的各方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的管理资源的设备,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在 一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,RAM)、随机存取存储器(random access memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

  1. 一种管理资源的方法,其特征在于,包括:
    根据待处理的业务,确定应用集合,所述应用集合中的应用用于处理所述待处理的业务,所述应用集合包括至少两个应用;
    确定所述应用集合的资源使用率;
    当所述应用集合的资源使用率满足资源伸缩的预设条件时,根据与所述预设条件相对应的资源伸缩策略,对所述应用集合中的每个应用进行资源伸缩处理。
  2. 根据权利要求1所述的方法,其特征在于,所述资源伸缩策略包括所述应用集合中的各应用间的资源配置比例,以及,
    所述根据预设的资源伸缩策略,对所述应用集合中的每个应用进行资源伸缩处理,包括:
    根据所述资源配置比例,对所述应用集合中的每个应用增加或减少资源分配量。
  3. 根据权利要求1或2所述的方法,其特征在于,每个资源携带有资源标识,以及,
    所述根据所述资源伸缩策略,对所述应用集合中的每个应用进行资源伸缩处理,包括:
    根据所述资源伸缩策略,确定为所述应用集合配置的目标资源集合,所述目标资源集合中的每个目标资源携带有所述资源标识,所述应用集合中的每个应用与所述目标资源集合中的每个目标资源的资源标识一一对应;
    根据所述目标资源集合中的每个目标资源的资源标识,对所述应用集合中的每个应用进行所述资源伸缩处理。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述确定所述应用集合的资源使用率,包括:
    获取所述应用集合中的每个应用的资源使用率;
    根据所述应用集合中的每个应用的资源使用率,确定所述应用集合中的预设的应用的资源使用率,并将所述第一应用的资源使用率作为所述应用集合的资源使用率;或者,
    根据所述应用集合中的每个应用的资源使用率,确定所述应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将所述应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为所述应用集合的资源使用率。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述资源使用率包括以下至少一项:CPU使用率、内存使用率或磁盘空间使用率。
  6. 一种管理资源的装置,其特征在于,包括:
    确定单元,用于根据待处理的业务,确定应用集合,所述应用集合中的应用用于处理所述待处理的业务,所述应用集合包括至少两个应用;并确定所述应用集合的资源使用率;
    处理单元,用于当所述确定单元确定所述应用集合的资源使用率满足资源伸缩的预设条件时,根据与所述预设条件相对应的资源伸缩策略,对所述应用集合中的每个应用进行资源伸缩处理。
  7. 根据权利要求6所述的装置,其特征在于,所述资源伸缩策略包括所述应用集合中的各应用间的资源配置比例,
    所述处理单元具体用于根据所述资源配置比例,对所述应用集合中的每个应用增加或减少资源分配量。
  8. 根据权利要求6或7所述的装置,其特征在于,每个资源携带有资源标识,
    所述处理单元具体用于根据所述资源伸缩策略,确定为所述应用集合配置的目标资源集 合,所述目标资源集合中的每个目标资源携带有所述资源标识,所述应用集合中的每个应用与所述目标资源集合中的每个目标资源的资源标识一一对应;并根据所述目标资源集合中的每个所述目标资源的资源标识,对所述应用集合中的每个应用进行所述资源伸缩处理。
  9. 根据权利要求6至8中任一项所述的装置,其特征在于,所述装置还包括获取单元,用于获取所述应用集合中的每个应用的资源使用率;
    所述确定单元具体用于确定所述应用集合中的第一应用的资源使用率,并将所述第一应用的资源使用率作为所述应用集合的资源使用率;或者,确定所述应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将所述应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为所述应用集合的资源使用率。
  10. 根据权利要求6至9中任一项所述的装置,其特征在于,所述资源使用率包括以下至少一项:CPU使用率、内存使用率或磁盘空间使用率。
PCT/CN2017/077730 2016-04-15 2017-03-22 一种管理资源的方法和装置 WO2017177806A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17781782.2A EP3401785A4 (en) 2016-04-15 2017-03-22 METHOD AND APPARATUS FOR MANAGING RESOURCES
US16/108,977 US20180365075A1 (en) 2016-04-15 2018-08-22 Resource Management Method and Apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610239254.8A CN107301093B (zh) 2016-04-15 2016-04-15 一种管理资源的方法和装置
CN201610239254.8 2016-04-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/108,977 Continuation US20180365075A1 (en) 2016-04-15 2018-08-22 Resource Management Method and Apparatus

Publications (1)

Publication Number Publication Date
WO2017177806A1 true WO2017177806A1 (zh) 2017-10-19

Family

ID=60042344

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/077730 WO2017177806A1 (zh) 2016-04-15 2017-03-22 一种管理资源的方法和装置

Country Status (4)

Country Link
US (1) US20180365075A1 (zh)
EP (1) EP3401785A4 (zh)
CN (1) CN107301093B (zh)
WO (1) WO2017177806A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721294B2 (en) * 2017-07-12 2020-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for subscription-based resource throttling in a cloud environment
US10635501B2 (en) 2017-11-21 2020-04-28 International Business Machines Corporation Adaptive scaling of workloads in a distributed computing environment
US10893000B2 (en) 2017-11-21 2021-01-12 International Business Machines Corporation Diagonal scaling of resource allocations and application instances in a distributed computing environment
US10812407B2 (en) 2017-11-21 2020-10-20 International Business Machines Corporation Automatic diagonal scaling of workloads in a distributed computing environment
US10733015B2 (en) * 2017-11-21 2020-08-04 International Business Machines Corporation Prioritizing applications for diagonal scaling in a distributed computing environment
US10887250B2 (en) 2017-11-21 2021-01-05 International Business Machines Corporation Reducing resource allocations and application instances in diagonal scaling in a distributed computing environment
US10721179B2 (en) 2017-11-21 2020-07-21 International Business Machines Corporation Adaptive resource allocation operations based on historical data in a distributed computing environment
CN108683720B (zh) * 2018-04-28 2021-12-14 金蝶软件(中国)有限公司 一种容器集群服务配置方法及装置
CN109240822A (zh) * 2018-08-07 2019-01-18 东软集团股份有限公司 应用程序弹性伸缩的方法、装置和存储介质以及电子设备
CN112256384B (zh) * 2020-09-22 2023-10-24 杭州指令集智能科技有限公司 基于容器技术的服务集合处理方法、装置和计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681899A (zh) * 2011-03-14 2012-09-19 金剑 云计算服务平台的虚拟计算资源动态管理系统
CN103324539A (zh) * 2013-06-24 2013-09-25 浪潮电子信息产业股份有限公司 一种作业调度管理系统及方法
CN104331328A (zh) * 2013-07-22 2015-02-04 中国电信股份有限公司 虚拟资源调度方法和虚拟资源调度装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136800B1 (en) * 2002-10-18 2006-11-14 Microsoft Corporation Allocation of processor resources in an emulated computing environment
US8706852B2 (en) * 2011-08-23 2014-04-22 Red Hat, Inc. Automated scaling of an application and its support components
US10057179B2 (en) * 2012-07-20 2018-08-21 Hewlett Packard Enterprise Development Company Lp Policy based scaling of network resources
US9081623B1 (en) * 2012-12-05 2015-07-14 Amazon Technologies, Inc. Service resource allocation
CN103631661B (zh) * 2013-11-27 2017-04-05 青岛海信电器股份有限公司 一种内存管理方法和装置
US20180046477A1 (en) * 2015-04-02 2018-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Technique For Scaling An Application Having A Set Of Virtual Machines
CN104881325B (zh) * 2015-05-05 2018-09-21 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统
US9584440B1 (en) * 2015-10-12 2017-02-28 Xirsys Llc Real-time distributed tree

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681899A (zh) * 2011-03-14 2012-09-19 金剑 云计算服务平台的虚拟计算资源动态管理系统
CN103324539A (zh) * 2013-06-24 2013-09-25 浪潮电子信息产业股份有限公司 一种作业调度管理系统及方法
CN104331328A (zh) * 2013-07-22 2015-02-04 中国电信股份有限公司 虚拟资源调度方法和虚拟资源调度装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3401785A4 *

Also Published As

Publication number Publication date
EP3401785A1 (en) 2018-11-14
CN107301093B (zh) 2021-02-09
EP3401785A4 (en) 2019-03-27
CN107301093A (zh) 2017-10-27
US20180365075A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
WO2017177806A1 (zh) 一种管理资源的方法和装置
US11714671B2 (en) Creating virtual machine groups based on request
CN105049268A (zh) 分布式计算资源分配系统和任务处理方法
US8949847B2 (en) Apparatus and method for managing resources in cluster computing environment
US10993127B2 (en) Network slice instance management method, apparatus, and system
WO2018049873A1 (zh) 一种应用调度方法及装置
US11734172B2 (en) Data transmission method and apparatus using resources in a resource pool of a same NUMA node
US9385964B2 (en) Resource management method and management server
JP2018537018A (ja) スケールアウト関連付けの方法および装置、ならびにシステム
EP3531749A1 (en) Management method, management unit and system for network function
CN111338779B (zh) 资源分配方法、装置、计算机设备和存储介质
US20180246772A1 (en) Method and apparatus for allocating a virtual resource in network functions virtualization network
CN111338785A (zh) 资源调度方法及装置、电子设备、存储介质
US12026536B2 (en) Rightsizing virtual machine deployments in a cloud computing environment
US20200272526A1 (en) Methods and systems for automated scaling of computing clusters
CN113849260A (zh) 一种实例的处理核分配方法及装置
CN107534678B (zh) 建立vnfm与vim之间的连接的方法、装置及系统
CN114490083A (zh) Cpu资源的绑定方法、装置、存储介质及电子装置
CN112015515B (zh) 一种虚拟网络功能的实例化方法及装置
JP6339978B2 (ja) リソース割当管理装置およびリソース割当管理方法
WO2022222975A1 (zh) 负载处理方法、计算节点、计算节点集群及相关设备
CN116932143A (zh) 虚拟机数量调整方法、装置、计算机设备及存储介质
CN111181755A (zh) 远程工作系统及其工作方法
CN112804069A (zh) 实例化虚拟网络功能的方法、设备及计算机可读存储介质
CN117149401A (zh) 一种资源调度方法、装置及设备

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2017781782

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017781782

Country of ref document: EP

Effective date: 20180809

NENP Non-entry into the national phase

Ref country code: DE