WO2021046777A1 - 资源调度、申请与定价方法、设备、系统及存储介质 - Google Patents

资源调度、申请与定价方法、设备、系统及存储介质 Download PDF

Info

Publication number
WO2021046777A1
WO2021046777A1 PCT/CN2019/105458 CN2019105458W WO2021046777A1 WO 2021046777 A1 WO2021046777 A1 WO 2021046777A1 CN 2019105458 W CN2019105458 W CN 2019105458W WO 2021046777 A1 WO2021046777 A1 WO 2021046777A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
application
target
schedulable
actual
Prior art date
Application number
PCT/CN2019/105458
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 PCT/CN2019/105458 priority Critical patent/WO2021046777A1/zh
Priority to CN201980097832.0A priority patent/CN114072767B/zh
Publication of WO2021046777A1 publication Critical patent/WO2021046777A1/zh

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • An embodiment of the application also provides a data center system, including: at least one computer room, resource application equipment, and resource scheduling equipment; each computer room includes at least one schedulable resource and at least one infrastructure, and the at least one infrastructure is the At least one schedulable resource provides basic services;
  • FIG. 3 is a schematic structural diagram of a data center system provided by an exemplary embodiment of this application.
  • Fig. 5c is a schematic structural diagram of a resource providing device provided by an exemplary embodiment of this application.
  • schedulable resources refer to resource devices, modules, or units that can provide certain services, functions, or resources (for example, computing resources, storage resources, or network resources) to the outside.
  • the schedulable resource can be a hardware resource, for example, a physical device such as a server or a printer, or a hardware module such as a CPU, GPU, memory, network card, or hard disk on the server.
  • the schedulable resource may also be a software resource, for example, a software module or unit such as a virtual machine or cloud service running on a physical device.
  • the server as a resource form, is a relatively common schedulable resource.
  • application programs with resource requirements have a broader meaning, and generally refer to any program code written for user application purposes, including but not limited to: system applications, desktop applications, driver applications, Network applications, mobile phone applications, Internet of Things applications, etc.
  • the application with resource requirements can be APP, client, cloud service, application system, business system, a certain functional module or unit in the business system, etc.
  • the application in this embodiment may be, but is not limited to: a containerized application in the K8s system.
  • the resource demander 102 can determine the type of resource that the first application program needs to apply for and the first actual competitive value given by the first application program for the requested resource in response to resource application requirements;
  • the resource bidding request carries the resource type that the first application needs to apply for and the first actual bid value, and then the resource bidding request is sent to the resource scheduler 101.
  • the resource type that the first application needs to apply for is called the target resource type.
  • the first actual bidding price given by the first application program for the requested resource can be obtained from the resource bidding request of the first application program.
  • the mechanism of "the higher the price gets" is adopted, that is, the resource scheduler 101 will use the first application as the first application given by the application resource. 1.
  • the actual bid value is compared with the actual bid value given by other applications that have a bidding relationship with the first application for the application resource; if the first actual bid value is the highest actual bid value, it is determined that the first application can apply for the target. Scheduling resources; if the first actual bid value is not the highest actual bid value, it is determined that the first application fails to apply for the target schedulable resource.
  • other mechanisms such as "the lowest price” or "the closest average value” can also be used.
  • the urgency of each application's demand for the resource can be known; and the resource is based on the actual competitive value given by each application for the requested resource.
  • Scheduling is equivalent to resource scheduling according to the urgency of resource needs of each application, and schedulable resources can be allocated to applications that most urgently need resources, which is conducive to giving full play to the value of schedulable resources and improving overall resource utilization.
  • the system needs to feed back the data analysis results of the previous day to the online application system before 6 a.m. every day. If there are still most (for example, 60 %) analysis tasks are not completed, then the system needs to apply for new schedulable resources (mainly computing resources) to help the current computing resources complete the analysis tasks. In this case, due to the tight time, the system needs to apply for new schedulable resources (mainly computing resources) to complete the analysis tasks.
  • the urgency of the system's demand for resources is relatively high, and can give a relatively high actual competitive value that can characterize the urgency of the demand.
  • the system has high requirements for response delays, and during e-commerce promotions or e-commerce activities, the order volume of the system will increase sharply In order to ensure a high response delay, it is necessary to apply for new schedulable resources (mainly computing resources). In this case, because the order volume during the promotion or event will increase sharply, in order to ensure the promotion or event period In response to the delay, the system has relatively high urgency for resource demand, and can provide a relatively high actual competitive value that can characterize the urgency of the demand.
  • the resource scheduling system 100 further includes: a resource provider 103.
  • the resource provider 103 is shown as a dashed frame, indicating that the resource provider 103 is an optional object.
  • the resource provider 103 is mainly responsible for providing the resource scheduling system 100 with at least one schedulable resource that needs to be managed by the system and related information.
  • the related information includes, but is not limited to: the identifier of at least one schedulable resource, and the at least one schedulable resource belongs to Information about the resource type and benchmark bid value of at least one schedulable resource.
  • the resource provider 103 can collect information such as the identification and resource type of at least one schedulable resource contained in the resource scheduling system 100 or other systems that entrust the resource scheduling system 100 for resource management, and determine the benchmark bid for each schedulable resource Value; then, at least one schedulable resource identifier, resource type, and benchmark value are provided to the resource scheduler 101.
  • the resource scheduler 101 sends information such as the identification, resource type, and benchmark bid value of at least one schedulable resource to each resource demander 102.
  • information such as the identification, resource type, and benchmark bid value of at least one schedulable resource provided by the resource scheduler 101 can be received.
  • at least one schedulable resource belongs to at least one resource type. In other words, at least one schedulable resource can belong to the same resource type, or at least one schedulable resource can also belong to multiple different resource types.
  • the power consumption of the infrastructure can be allocated to the power consumption costs of multiple schedulable resources. Based on this, in the process of predicting the power consumption cost of the target schedulable resource based on the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends, the current infrastructure on which the target schedulable resource depends can be obtained.
  • the resource scheduler 101 sets a protection period for each application program that has applied for a schedulable resource.
  • the schedulable resource that the application program has applied for is not allowed to be bid by other applications.
  • another application initiates a bid for the schedulable resource that the application has applied for within the protection period, it can be directly determined that the other application fails to apply for the schedulable resource.
  • the following describes the content related to the protection period by taking the resource bidding process initiated by the first application program as an example in conjunction with Figure 1d:
  • the second actual bid value is the bid value that helps the first application to bid to the target schedulable resource.
  • the second method for determining the actual competitive value includes: obtaining a reference competitive value, which can represent the resource value of the target schedulable resource in a specified time period; then, based on the reference competitive value, determine a competitive value greater than the reference competitive value As the second actual competitive value.
  • the conditions in the above two examples can also be used in combination. In the case of combined use, it can be required to meet any of the conditions, and it can also be required to meet the above two conditions at the same time. This is not limited, depending on the specifics. Depending on application requirements. Further, before judging whether the migration cost of the first application from the target schedulable resource to other resources is greater than the set cost threshold, it also includes: predicting the migration of the first application from the target schedulable resource to other resources. Migration cost operation.
  • predicting the migration cost of migrating the first application from the target schedulable resource to other resources includes at least one of the following predictive operations:
  • the resource application device 203 and the resource scheduling device 202 cooperate with each other, and the process of resource scheduling for any application program with resource requirements is the same or similar.
  • the process of resource application and resource scheduling based on the resource bidding mechanism is described.
  • the first application program may be any application program that has permission to use at least one schedulable resource.
  • the resource application device 203 can respond to resource application requirements, on the one hand, from the at least one schedulable resource to which at least one schedulable resource belongs.
  • a resource type determine the resource type that the first application needs to apply for, that is, the target resource type; then, according to the resource type to which at least one schedulable resource provided by the resource scheduling device 202 belongs, determine each schedulable under the target resource type Resources; and then determine the benchmark bid value of each schedulable resource under the target resource type according to the benchmark bid value of at least one schedulable resource provided by the resource scheduling device 202; on the other hand, it can analyze the urgency of the first application's demand for resources; According to the urgency of the first application’s demand for resources, combined with the benchmark bid value of each schedulable resource under the target resource type, determine the first actual bid value given by the first application for the requested resource; according to the first actual bid value and For the target resource type, a resource bid request for the first application is generated; then, the resource bid request is sent to the resource scheduling device 202 for the resource scheduling device 202 to bid for the first application and other applications based on the first actual bid value. Scheduling resources.
  • the hardware management system is deployed on a server, which can collect the identifiers and resource types of all servers that are schedulable resources, and can determine the benchmark value of these servers, which will be the identifiers, resource types, and benchmark value of the servers that can be schedulable resources And other information is provided to the master node in the K8s system.
  • the master node in the K8s system acts as a scheduler, which can apply for server resources from resource scheduling services for containerized applications, and can manage the release of server resources.
  • the power consumption cost of the at least one schedulable resource may be combined to determine the benchmark bid value of the at least one schedulable resource. That is, the benchmark bid value of at least one schedulable resource represents the power consumption cost of at least one schedulable resource.
  • the benchmark bid value of at least one schedulable resource represents the power consumption cost of at least one schedulable resource.
  • a resource bidding request is generated, and the resource bidding request includes the first actual bid value given by the first application program for the requested resource.
  • the resource bidding request of the first application program not only includes the first actual bid value, but also includes: the target resource type that the first application program needs to apply for.
  • the processor 52a determines the target schedulable resource that the first application needs to apply for, it is specifically configured to: specify the target schedulable resource that the first application needs to apply for from the schedulable resources under the target resource type.
  • the processor 52a may specify the target schedulable resource to be applied for for the first application according to the benchmark bid value of each schedulable resource under the target resource type or the attribute information reflected by the benchmark bid value. .
  • an embodiment of the present application also provides a computer-readable storage medium storing a computer program, and when the computer program is executed, each step that can be executed by the resource scheduling device in the foregoing method embodiment can be implemented.
  • the processor 52b when determining the first actual competitive value, is specifically configured to: determine the target resource type that the first application needs to apply for according to resource application requirements; and combine the urgency of the first application with respect to resources
  • the benchmark bid value of each schedulable resource under the target resource type determines the first actual bid value.
  • the processor 52b when the processor 52b determines that the target schedulable resource needs to be released, it may specifically adopt at least one of the following methods:
  • the resource application device of this embodiment is implemented as a terminal device such as a desktop computer, a notebook computer, a smart phone, etc., it may include the components in the dashed box in Figure 5b; if the resource application device of this embodiment is implemented as a conventional server, cloud server or server Server devices such as arrays may not include the components in the dashed box in Figure 5b.
  • the embodiments of the present application also provide a computer-readable storage medium storing a computer program, and when the computer program is executed, the steps that can be executed by the resource providing device in the foregoing method embodiments can be implemented.

Abstract

本申请实施例提供一种资源调度、申请与定价方法、设备、系统及存储介质。在本申请实施例中,将资源调度与资源竞价机制相结合,各资源需求方可根据资源需求情况给出合理的实际竞价值参与资源竞价,资源调度方可根据各实际竞价值进行资源调度,有利于对资源进行更加合理地分配,有利于提高整体资源利用率,进而提高整体能效。

Description

资源调度、申请与定价方法、设备、系统及存储介质 技术领域
本申请涉及数据中心技术领域,尤其涉及一种资源调度、申请与定价方法、设备、系统及存储介质。
背景技术
随着云计算技术的发展,各类机房系统或数据中心(Data Center,DC)系统不断被部署,机房系统或数据中心系统承载的压力不断增加,能否合理利用机房系统或数据中心系统中的IT设备,提高IT设备的利用率,直接影响机房系统或数据中心系统的整体能效。
在现有技术中,一般是根据应用的优先级、IT设备的负载等因素对IT设备进行资源调度,例如,优先将IT设备分配给优先级较高的应用,或者优先将应用分配给负载较轻的IT设备。这种资源调度方式简单易于实施,但是机房系统或数据中心系统的整体资源利用率却不高,整体能效也不高。
发明内容
本申请实施例提供一种资源调度、申请与定价方法、设备、系统及存储介质,用以提高整体资源利用率,提高整体能效。
本申请实施例提供一种资源调度方法,包括:接收第一应用程序的资源竞价请求,所述资源竞价请求包括所述第一应用程序为申请资源给出的第一实际竞价值;确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一 应用程序能否申请到所述目标可调度资源;将所述第一应用程序对所述目标可调度资源的申请结果返回给所述第一应用程序。
本申请实施例还提供一种资源申请方法,包括:响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将所述资源竞价请求发送给资源调度设备,以供所述资源调度设备根据所述第一实际竞价值为所述第一应用程序与其它应用程序竞价申请目标可调度资源;接收所述资源调度设备返回的所述第一应用程序对所述目标可调度资源的申请结果。
本申请实施例还提供一种资源定价方法,包括:获取目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据;根据所述目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据,预测所述目标可调度资源的功耗代价;根据所述目标可调度资源的功耗代价,确定所述目标可调度资源在资源市场中的基准竞价值。
本申请实施例还提供一种资源调度设备,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:接收第一应用程序的资源竞价请求,所述资源竞价请求包括所述第一应用程序为申请资源给出的第一实际竞价值;确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;将所述第一应用程序对所述目标可调度资源的申请结果返回给所述第一应用程序。
本申请实施例还提供一种资源申请设备,包括:存储器、处理器以及通信组件;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;通过所述通信组件将所述资源竞价请求发送给资源调度设备,以供所 述资源调度设备根据所述第一实际竞价值为所述第一应用程序与其它应用程序竞价申请目标可调度资源;通过所述通信组件接收所述资源调度设备返回的所述第一应用程序对所述目标可调度资源的申请结果。
本申请实施例还提供一种资源提供设备,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:获取目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据;根据所述目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据,预测所述目标可调度资源的功耗代价;根据所述目标可调度资源的功耗代价,确定所述目标可调度资源在资源市场中的基准竞价值。
本申请实施例还提供一种资源管理系统,包括:资源调度方以及资源需求方;所述资源需求方,用于响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将所述资源竞价请求发送给所述资源调度方,以及接收所述资源调度方返回的所述第一应用程序对目标可调度资源的申请结果;所述资源调度方,用于接收所述资源竞价请求,确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;以及将所述第一应用程序对所述目标可调度资源的申请结果返回给所述资源需求方。
本申请实施例还提供一种机房系统,包括:至少一个可调度资源、至少一个基础设施、资源申请设备以及资源调度设备;所述至少一个基础设施为所述至少一个可调度资源提供基础服务;
所述资源申请设备,用于响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将所述资源竞价请求发送给所述资源调度设备,以及接收所述资源调度设备返回的所述第一应用程序对目标可调度资源的申请结果;
所述资源调度设备,用于接收所述资源竞价请求,确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;以及将所述第一应用程序对所述目标可调度资源的申请结果返回给所述资源申请设备;所述目标可调度资源属于所述至少一个可调度资源。
本申请实施例还提供一种数据中心系统,包括:至少一个机房、资源申请设备以及资源调度设备;每个机房包括至少一个可调度资源和至少一个基础设施,所述至少一个基础设施为所述至少一个可调度资源提供基础服务;
所述资源申请设备,用于响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将所述资源竞价请求发送给所述资源调度设备,以及接收所述资源调度设备返回的所述第一应用程序对目标可调度资源的申请结果;
所述资源调度设备,用于接收所述资源竞价请求,确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;以及将所述第一应用程序对所述目标可调度资源的申请结果返回给所述资源申请设备;所述目标可调度资源属于所述至少一个机房中的可调度资源。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现本申请各方法实施例中的步骤。
在本申请实施例中,将资源调度与资源竞价机制相结合,可根据资源需求方的资源需求情况给出合理的实际竞价值参与资源竞价,进而可根据各资源需求方给出的实际竞价值进行资源调度,有利于对资源进行更加合理地分配,有利于提高整体资源利用率,进而提高整体能效。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请示例性实施例提供的一种资源管理系统的结构及工作原理的示意图;
图1b为本申请示例性实施例提供的一种应用程序间竞价值的比较示意图;
图1c为本申请示例性实施例提供的一种乒乓效应的状态示意图;
图1d为本申请示例性实施例提供的对解决饥饿与乒乓效应的两种技术手段的示意性说明;
图2为本申请示例性实施例提供的一种机房系统的结构示意图;
图3为本申请示例性实施例提供的一种数据中心系统的结构示意图;
图4a为本申请示例性实施例提供的一种资源调度方法的流程示意图;
图4b为本申请示例性实施例提供的另一种资源申请方法的流程示意图;
图4c为本申请示例性实施例提供的又一种资源定价方法的流程示意图;
图5a为本申请示例性实施例提供的一种资源调度设备的结构示意图;
图5b为本申请示例性实施例提供的一种资源申请设备的结构示意图;
图5c为本申请示例性实施例提供的一种资源提供设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中 的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有机房系统或数据中心系统的整体资源利用率不高,整体能效不高的技术问题,在本申请一些实施例中,将资源调度与资源竞价机制相结合,可根据资源需求方的资源需求情况给出合理的实际竞价值参与资源竞价,进而可根据各资源需求方给出的实际竞价值进行资源调度,有利于对资源进行更加合理地分配,有利于提高整体资源利用率,进而提高整体能效。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1a为本申请示例性实施例提供的一种资源管理系统的结构及工作原理示意图。本实施例的资源管理系统100主要用于对至少一个可调度资源进行管理,在资源管理系统100中的资源管理包括但不限于:可调度资源的申请、调度或分配以及释放等。
在一些可选实施例中,资源管理系统100负责管理的至少一个可调度资源是资源管理系统100内的资源。在另一些可选实施例中,资源管理系统100负责管理的至少一个可调度资源是资源管理系统100之外的其它系统内的资源;其它系统授权委托资源管理系统100对其资源进行管理。在又一些可选实施例中,资源管理系统100负责管理的至少一个可调度资源也可以是来自多个系统,多个系统具有协助关系,且可共享资源。
其中,可调度资源是指可对外提供某种服务、功能或资源(例如计算资源、存储资源或网络资源)的资源设备、模块或单元。从资源形态来看,可调度资源可以是硬件资源,例如可以是服务器或打印机等物理设备,或者可以是服务器上的CPU、GPU、内存、网卡或硬盘等硬件模块。当然,可调度资源也可以是软件资源,例如可以是运行于物理设备上的虚拟机、云服务等软件模块或单元。通常来讲,服务器作为一种资源形态,是一种较为常见的可调度资源。
为了更好地对可调度资源进行管理,如图1a所示,本实施例的资源管理系统100包括:资源调度方101和资源需求方102。资源需求方102可以有一 个或多个;每个资源需求方102与资源调度方101通信连接。
其中,资源需求方102代表具有资源需求的一方,主要负责向资源调度方101申请可调度资源。资源需求方102可以是具有资源需求的应用程序,或者是负责为具有资源需求的应用程序进行资源申请的功能模块、SDK、插件或独立的服务等。
在本申请实施例中,具有资源需求的应用程序具有较为广泛的意义,泛指任何针对用户的应用目的所编写的程序代码,包括但不限于:系统应用程序、桌面应用程序、驱动应用程序、网络应用程序、手机应用程序、物联网应用程序等。在产品形态上,具有资源需求的应用程序可以是APP、客户端、云服务、应用系统、业务系统、业务系统中的某个功能模块或单元等。例如,本实施例的应用程序可以是但不限于:K8s系统中容器化的应用。
其中,资源调度方101代表资源管理一方,可根据各资源需求方102的资源申请,对可调度资源进行调度,从而确定将哪个或哪些可调度资源分配给哪个资源需求方102。资源调度方101可以是具有资源管理能力的应用程序、业务系统、服务或硬件设备等,对此不做限定。
在本实施例中,资源调度方101与资源需求方102相配合,可基于资源竞价机制进行资源调度,可让资源调度更加合理化,有利于提高整体资源利用率。在本实施例中,以第一应用程序对应的资源需求方102为例,对基于资源竞价机制的资源申请和资源调度过程进行说明。其中,第一应用程序可以是有资源需求,且有权限使用上述至少一个可调度资源的任何应用程序。
对资源需求方102来说,可响应于资源申请需求,生成资源竞价请求,该资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将该资源竞价请求发送给资源调度方101,以供资源调度方101根据第一实际竞价值为第一应用程序与其它应用程序竞价申请目标可调度资源;以及接收资源调度方101返回的第一应用程序对目标可调度资源的申请结果。其中,目标可调度资源是资源管理系统100所管理的至少一个可调度资源中的一个或多个可调度资源。
对资源调度方101来说,可接收资源需求方102发送的第一应用程序的资源竞价请求,并可从该资源竞价请求中获取第一应用程序为申请资源给出的第一实际竞价值。除了第一应用程序的资源竞价请求之外,资源调度方101还会接收到其它应用程序的资源竞价请求。在这些应用程序中,可能有一些应用程序会与第一应用程序申请相同的可调度资源,从而与第一应用程序形成竞价关系。为便于描述,将第一应用程序以及与第一应用程序存在竞价关系的其它应用程序所申请的可调度资源称为目标可调度资源。对资源调度方101来说,需要确定出与第一应用程序竞价申请目标可调度资源的其它应用程序以及其它应用程序为申请资源给出的实际竞价值;然后,根据第一应用程序为申请资源给出的第一实际竞价值和与第一应用程序存在竞价关系的其它应用程序为申请资源给出的实际竞价值,确定第一应用程序能否申请到目标可调度资源;并将第一应用程序对目标可调度资源的申请结果返回给资源需求方102。
进一步,对资源需求方102来说,在接收到第一应用程序对目标可调度资源的申请结果之后,还可以根据该申请结果进行后续操作。例如,在申请结果表示第一应用程序申请到目标可调度资源的情况下,资源需求方102可以通知第一应用程序,以便第一应用程序使用目标可调度资源。其中,根据目标可调度资源的不同,第一应用程序使用目标可调度资源的方式也会有所不同。例如,以目标可调度资源是服务器等计算资源,则第一应用程序可以将自己部署到目标可调度资源上,以便在目标可调度资源上创建自己的运行实例和数据等。在申请结果表示第一应用程序未能申请到目标可调度资源的情况下,资源需求方102可以为第一应用程序发起新一轮的资源竞价过程,以继续为第一应用程序申请资源。
其中,第一实际竞价值代表第一应用程序为申请资源实际付出的代价;相应地,其它实际竞价值代表其它应用程序为申请资源实际付出的代价。第一实际竞价值或其它实际竞价值可以是一个数值,例如可以是10、50、100或200等。在本实施例中,并不对第一实际竞价值或其它实际竞价值的实现 形式进行限定,例如可以是第一应用程序或其它应用程序对应资源账户中的虚拟资金、实际资金、信用值、积分、能量值或权益值等。其中,每个应用程序对应一个资源账户,资源账户中的资源可以用来申请资源市场中任何可调度资源的使用权,资源账户中的资源可以是虚拟资金、实际资金、信用值、积分、能量值或权益值等。
在本申请实施例中,并不对资源竞价请求包含的信息进行限定,除了包括第一应用程序为申请资源给出的第一实际竞价值之外,还可以包括一些其它信息。例如,资源竞价请求中还可以包括第一应用程序的标识,以及能够标识第一应用程序所需资源的信息等。其中,能够标识第一应用所需资源的信息可以是第一应用程序所需的资源类型,或者,也可以是第一应用程序所需的资源的标识。当然,能够标识第一应用所需资源的信息也可以同时包括第一应用程序所需的资源类型和第一应用程序所需的资源的标识。
在资源竞价请求中包括能够标识第一应用程序所需资源的信息的情况下,资源调度方101可根据资源竞价请求中包括的能够标识第一应用程序所需资源的信息,确定第一应用程序需要申请的目标可调度资源;然后,再以目标可调度资源为依据,确定需要申请目标可调度资源的其它应用程序,即与第一应用程序存在竞价关系的应用程序。
需要说明的是,在资源竞价请求中未包括能够标识第一应用程序所需资源的信息的情况下,资源调度方101也可以依据其它信息或采用其它方式,先确定第一应用程序需要申请的目标可调度资源;然后,再以目标可调度资源为依据,确定需要申请目标可调度资源的其它应用程序。
其中,根据资源竞价请求中包括的能够标识第一应用程序所需资源的信息的不同,资源调度方101确定需要申请目标可调度资源的其它应用程序的实现也会有所不同。下面对不同实现方式进行举例说明:
在一些可选实施例中,资源管理系统100所管理的至少一个可调度资源被划分为不同的资源类型,例如计算型资源、存储型资源等。资源需求方102预先知道资源管理系统100支持哪些资源类型;而且,在资源申请过程中, 资源需求方102只需向资源调度方101提供需要申请的资源类型即可,具体需要申请哪个可调度资源由资源调度方101指定。
基于上述,以第一应用程序为例,资源需求方102可响应于资源申请需求,确定第一应用程序需要申请的资源类型和第一应用程序为申请资源给出的第一实际竞价值;在资源竞价请求中携带第一应用程序需要申请的资源类型和第一实际竞价值,然后将资源竞价请求发送给资源调度方101。为便于区分和描述,将第一应用程序需要申请的资源类型称为目标资源类型。相应地,对资源调度方101来说,在接收到第一应用程序的资源竞价请求之后,可以从第一应用程序的资源竞价请求中获取第一应用程序为申请资源给出的第一实际竞价值和第一应用程序需要申请的目标资源类型;然后,从目标资源类型下的可调度资源中,为第一应用程序指定其需要申请的目标可调度资源;然后,再以该目标可调度资源为依据,确定需要申请目标可调度资源的其它应用程序。
在另一些可选实施例中,资源管理系统100所管理的至少一个可调度资源都有唯一的标识。资源需求方102预先知道每个可调度资源的标识;而且,在资源申请过程中,资源需求方102会指定具体需要申请哪个可调度资源。
基于上述,以第一应用程序为例,资源需求方102可响应于资源申请需求,确定第一应用程序需要申请的资源的标识和第一应用程序为申请资源给出的第一实际竞价值;在资源竞价请求中携带第一应用程序需要申请的资源的标识和第一实际竞价值,然后将资源竞价请求发送给资源调度方101。为便于区分和描述,将第一应用程序需要申请的资源的标识称为目标资源标识。相应地,对资源调度方101来说,在接收到第一应用程序的资源竞价请求之后,可以从第一应用程序的资源竞价请求中获取第一实际竞价值和目标资源标识;并将目标资源标识指向的可调度资源作为第一应用程序需要申请的目标可调度资源;然后,再以该目标可调度资源为依据,确定需要申请目标可调度资源的其它应用程序。
进一步,在一可选实施例中,资源调度方101可以为每个可调度资源维 护一个竞价池,该竞价池负责存储和维护参与该可调度资源的竞价的各应用程序的相关信息,例如参与竞价的应用程序的标识、参与竞价的时间以及参与竞价的实际竞价值等。基于此,无论是采用上述哪种方式确定出第一应用程序需要申请的目标可调度资源之后,资源调度方101一方面可以将第一应用程序加入目标可调度资源的竞价池中,该加入操作主要是指将第一应用程序的标识、参与竞价的时间(可以是接收到第一应用程序的资源竞价请求的时间)以及第一实际竞价值等信息加入竞价池的过程;另一方面可以确定在预设的有效时间内被加入目标可调度资源的竞价池中的其它应用程序,所述其它应用程序是与第一应用程序存在竞价关系的应用程序。
其中,上述有效时间的取值,可以根据应用需求灵活设定。例如,有效时间可以是刚过去的10分钟、刚过去的1小时或刚过去的1天等,也可以是未来的5分钟、未来的2小时或未来的2天,也可以包括刚过去的10分钟和未来的5分钟,或者包括刚过去的半天时间和未来半天时间,等等。以刚过去的10分钟为例,这意味着可以将第一应用程序与在刚过去10分钟内申请目标可调度资源的其它应用程序进行竞价;如果第一应用程序给出的第一实际竞价值高于刚过去10分钟内其他应用程序给出的实际竞价值,第一应用程序可以申请到目标可调度资源;反之,第一应用程序就不能申请到目标可调度资源。
在上述示例中,在确定第一应用程序能否申请到目标可调度资源的过程中,采用“价高者得”机制,即资源调度方101会将第一应用程序为申请资源给出的第一实际竞价值和与第一应用程序存在竞价关系的其它应用程序为申请资源给出的实际竞价值进行比较;若第一实际竞价值是最高实际竞价值,确定第一应用程序申请到目标可调度资源;若第一实际竞价值不是最高实际竞价值,确定第一应用程序未能申请到目标可调度资源。除了采用“价高者得”机制之外,也可以采用“价低者得”或“最接近平均值者得”等其它机制。
在采用“价低者得”机制的情况下,资源调度方101可以将第一应用程 序为申请资源给出的第一实际竞价值与其它应用程序(是指与第一应用程序存在竞价关系的应用程序)为申请资源给出的实际竞价值进行比较;若第一实际竞价值是最低实际竞价值,确定第一应用程序申请到目标可调度资源;若第一实际竞价值不是最低实际竞价值,确定第一应用程序未能申请到目标可调度资源。
在采用“最接近平均值者得”机制的情况下,资源调度方101可以计算第一应用程序为申请资源给出的第一实际竞价值与其它应用程序(是指与第一应用程序存在竞价关系的应用程序)为申请资源给出的实际竞价值的平均竞价值;将第一实际竞价和其它应用程序为申请资源给出的实际竞价值分别与该平均竞价值进行比较;若第一实际竞价值是最接近平均竞价值的竞价值,则确定第一应用程序申请到目标可调度资源;若第一实际竞价值不是最接近平均竞价值的竞价值,则确定第一应用程序未能申请到目标可调度资源。
在本申请上述实施例中,将资源调度与资源竞价机制相结合,资源需求方可根据资源需求情况给出合理的实际竞价值参与资源竞价,资源调度方可根据各资源需求方给出的实际竞价值进行资源调度,有利于对资源进行更加合理地分配,有利于提高整体资源利用率。
为了进一步提高资源分配的合理性,提高整体资源利用率,在本申请下述一些可选实施例中,可以将各应用程序对资源的需求迫切度与各应用程序为申请资源给出的实际竞价值相结合,通过各应用程序为申请资源给出的实际竞价值表征各应用程序对资源的需求迫切度。例如,在“价高者得”机制下,应用程序为申请资源给出的实际竞价值越高,表示应用程序对资源的需求迫切度越高。又例如,在“价低者得”机制下,应用程序为申请资源给出的实际竞价值越低,表示应用程序对资源的需求迫切度越高。对资源调度方101而言,可根据各应用程序为申请资源给出的实际竞价值,获知各应用程序对资源的需求迫切度;而根据各应用程序为申请资源给出的实际竞价值进行资源调度,相当于按照各应用程序对资源的需求迫切度进行资源调度,可将可调度资源分配给最迫切需要资源的应用程序,有利于充分发挥可调度资源 的价值,提高整体资源利用率。
需要说明的是,除了需求迫切度之外,也可以将资源对应用程序的重要程度与各应用程序为申请资源给出的实际竞价值相结合,通过各应用程序为申请资源给出的实际竞价值表征资源对应用程序的重要程度。例如,在“价高者得”机制下,应用程序为申请资源给出的实际竞价值越高,表示资源对应用程序来说越重要。又例如,在“价低者得”机制下,应用程序为申请资源给出的实际竞价值越低,表示资源对应用程序来说越重要。在本申请下述各实施例中,重点以需求迫切度与实际竞价值相结合为例,对详细实施过程进行说明。
以第一应用程序为例,资源需求方102为第一应用程序生成资源竞价请求的过程可以包括:响应于资源申请需求,分析第一应用程序对资源的需求迫切度;根据第一应用程序对资源的需求迫切度,确定第一应用程序为申请资源给出的第一实际竞价值;进而根据第一实际竞价值,生成第一应用程序的资源竞价请求;之后,将资源竞价请求发送给资源调度方101,以供资源调度方101根据第一实际竞价值为第一应用程序与其它应用程序竞价申请目标可调度资源。
可选地,根据资源申请需求,可以获取第一应用程序的性能要求、第一应用程序的整体负载量、第一应用程序在未来时段内的负载变化趋势(例如在短时间内的负载增长量)、第一应用程序当前的QoS以及预期的QoS等信息,根据这些信息可以分析出第一应用程序对资源的需求迫切度。
假设第一应用程序是一线下数据分析系统,该系统需要在每天凌晨6点之前将前一天的数据分析结果反馈给线上应用系统,若在凌晨5点30分时还有大部分(例如60%)的分析任务未做完,则此时该系统就需要申请新的可调度资源(主要是指计算资源)帮助当前已有计算资源完成分析任务,在该情况下,由于时间比较紧迫,该系统对资源的需求迫切度相对比较高,可以给出能表征该需求迫切度的相对较高的实际竞价值。
假设第一应用程序是一线上数据处理系统,例如电商领域中的订单处理 系统,该系统对响应时延要求较高,则在电商促销或电商活动期间,系统的订单量会剧增,为了保证较高的响应时延,需要申请新的可调度资源(主要是指计算资源),在该种情况下,由于在促销或活动期间订单量会剧增,为了保证促销或活动期间的响应时延,该系统对资源的需求迫切度相对比较高,可以给出能表征该需求迫切度的相对较高的实际竞价值。
进一步可选地,资源需求方102还可以根据资源申请需求,确定第一应用程序需要申请的目标资源类型;根据第一实际竞价值和目标资源类型,生成第一应用程序的资源竞价请求,该资源竞价请求包括第一实际竞价值和目标资源类型。
在上述生成资源竞价请求过程中,考虑了第一应用程序需要申请的目标资源类型。除此之外,在确定第一实际竞价值的过程中,也可以结合第一应用程序需要申请的目标资源类型。例如,可以将第一应用程序需要申请的目标资源类型和第一应用程序对资源的需求迫切度相结合,确定第一应用程序为申请资源给出的第一实际竞价值。例如,可以根据第一应用程序对资源的需求迫切度,结合该目标资源类型下各可调度资源的基准竞价值,确定第一实际竞价值。其中,可以将目标资源类型下各可调度资源的基准竞价值作为参考,这样可使给出的第一实际竞价值更加地合理,既有利于第一应用程序以较高概率申请到目标可调度资源,又能保证给出的第一实际竞价值不至于过高或过低,有利于节约第一应用程序对应的账户资源。
在上述实施例中,需要预先给定目标资源类型下各可调度资源的基准竞价值,且需要被资源需求方102感知。在本申请下述实施例中,将给出一种给定目标资源类型下各可调度资源的基准竞价值,以及被资源需求方102感知的实施方式。
在本申请一可选实施例中,如图1a所示,资源调度系统100还包括:资源提供方103。在图1a中,资源提供方103以虚线框示出,表示资源提供方103是一可选对象。资源提供方103主要负责向资源调度系统100提供需要该系统管理的至少一个可调度资源及其相关信息,所述相关信息包括但不限于: 至少一个可调度资源的标识、至少一个可调度资源所属的资源类型以及至少一个可调度资源的基准竞价值等信息。
其中,资源提供方103可以收集资源调度系统100或委托资源调度系统100进行资源管理的其它系统中包含的至少一个可调度资源的标识、资源类型等信息,并确定每个可调度资源的基准竞价值;然后,将至少一个可调度资源的标识、资源类型以及基准竞价值提供给资源调度方101。资源调度方101将至少一个可调度资源的标识、资源类型以及基准竞价值等信息下发给各个资源需求方102。对资源需求方102来说,可接收资源调度方101提供的至少一个可调度资源的标识、资源类型以及基准竞价值等信息。需要说明的是,至少一个可调度资源属于至少一种资源类型,换句话说,至少一个可调度资源可以属于同一资源类型,或者,至少一个可调度资源也可以属于多种不同的资源类型。
无论是至少一个可调度资源是属于同一资源类型还是属于多种不同的资源类型,以第一应用程序为例,资源需求方102可以从至少一个可调度资源所属的至少一种资源类型中,确定第一应用程序需要申请的资源类型,即目标资源类型;然后可以根据资源调度方101提供的至少一个可调度资源所属的资源类型,确定目标资源类型下的各可调度资源;进而从资源调度方101提供的至少一个可调度资源的基准竞价值中,确定目标资源类型下各可调度资源的基准竞价值。
其中,资源提供方103可以采用多种方式为每个可调度资源确定基准竞价值。例如,资源提供方103可以根据可调度资源的类型、数量、物理位置、易损程度以及负载情况等中至少一种信息,确定可调度资源的基准竞价值。例如,对于数量不同的各类可调度资源,可为其确定不同的基准竞价值;在该示例中,基准竞价值可以反映出各类可调度资源的多少。又例如,对于不同类型的可调度资源,可为其确定不同的基准竞价值;在该示例中,基准竞价值可以反映可调度资源所属的资源类型。又例如,对于物理位置不同的可调度资源,可为其确定不同的基准竞价值;在该示例中,基准竞价值可以反 映出可调度资源的物理位置的远近。对资源需求方102而言,在以可调度资源的基准竞价值为参考,确定各应用程序为申请资源给出的实际竞价值的情况下,结合基准竞价值所表征的可调度资源的属性信息,各实际竞价值可间接表征出可调度资源的属性信息。进而,对资源需求方102来说,在资源调度过程中,可根据各实际竞价值反映出的可调度资源的属性信息,确定各应用程序实际的资源需求,进一步结合实际竞价值反映出的需求迫切度或资源重要度等信息,可更加有针对性地为应用程序指定需要申请的可调度资源,可进一步提高整体资源利用率。
除上述方式之外,资源提供方103也可以将可调度资源的基准竞价值与可调度资源的功耗代价相结合,根据可调度资源的功耗代价,确定可调度资源的基准竞价值。在该方式中,基准竞价值反映可调度资源的功耗代价。从资源调度方101的角度来看,在对可调度资源进行调度的过程中,可以同时考虑可调度资源的功耗代价。将可调度资源的功耗代价和基于资源竞价机制的资源调度相结合,既可以优先调度功耗代价较低的资源,又可以降低出现局部热点的概率,有利于降低系统的整体功耗。
其中,对功耗代价具有影响的直接因素是可调度资源自身的功耗,除此之外,还包括很多其它因素。在本实施例中,重点考虑可调度资源所依赖的基础设施的功耗这个因素。基础设施是指可调度资源所属系统中为可调度资源提供基础服务的设施。根据可调度资源的不同,基础设施也会有所区别,对此不做限定。以可调度资源是服务器为例,基础设施可以包括为服务器提供支撑服务的机柜,为服务器降温的空调设备、风扇或水冷设备,为服务器供电的电力设备,为服务器提供网络连接的交换机,等等。
在本实施例中,可以根据可调度资源的及可调度资源依赖的基础设施的功耗数据预测可调度资源的功耗代价;进而根据可调度资源的功耗代价,确定可调度资源的基准竞价值。其中,将可调度资源所依赖的基础设施的功耗折算到可调度资源的功耗代价中,对可调度资源的功耗代价的衡量会更加合理,有利于提高资源调度的合理性。其中,对每个可调度资源来说,资源提 供方103为其确定基准竞价值的过程相同,在下面实施例中,以目标可调度资源为例,对确定基准竞价值的过程进行说明。其中,目标可调度资源是任一可调度资源。
以目标可调度资源为例,资源提供方103可以获取目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据;根据目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据,预测目标可调度资源的功耗代价;根据目标可调度资源的功耗代价,确定目标可调度资源在资源市场中的基准竞价值。其中,目标可调度资源的功耗代价越大,表示目标可调度资源对系统能耗的贡献越高,其功耗代价越高,其基准竞价值就越高;反之,目标可调度资源的功耗代价越小,表示目标可调度资源对系统能耗的贡献相对较低,其功耗代价越低,其基准竞价值就越低。
进一步,考虑到同一基础设施可能同时为多个可调度资源提供基础服务,则基础设施的功耗可以分摊到多个可调度资源的功耗代价中。基于此,在根据目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据,预测目标可调度资源的功耗代价的过程中,可以获取目标可调度资源依赖的基础设施当前正在服务的可调度资源的数量以及该基础设施与其当前正在服务的各可调度资源之间的拓扑关系;根据该数量以及拓扑关系,计算该基础设施对目标可调度资源的功耗贡献比;根据计算出的功耗贡献比、目标可调度资源的及该基础设施的当前功耗数据,预测目标可调度资源的功耗代价。
例如,假设机柜同时为五台服务器提供基础服务,其中,五台服务器为可调度资源。在一种情况下,五台服务器都处于工作状态,这相当于机柜同时为五台服务器提供基础服务,则机柜的功耗可被分摊到五台服务器的功耗代价中,例如,每台服务器可以分摊机柜功耗的五分之一。这里的五分之一仅是一种示例,并不限于此,每台服务器分摊的功耗比例与服务器和机柜的拓扑关系相关。在五台服务器分摊机柜功耗的情况下,每台服务器的功耗代价不会太高。在另一种情况下,其中四台服务器不工作,只有一台服务器工作,这相当于整个机柜仅为这一台工作的服务器提供基础服务,此时,该机 柜的功耗数据将会全部折算到这一台工作的服务器的功耗代价中,该台服务器的功耗代价会比较高。
为便于描述,在本实施例中,将对可调度资源的功耗代价具有影响的因素统称为功耗代价影响因子。在本实施例中,功耗代价影响因子至少包括两个,即可调度资源自身的功耗是一种功耗代价影响因子,可调度资源所依赖的基础设施功耗是另一种功耗代价影响因子。
可选地,资源提供方103可以预先训练出各功耗代价影响因子与功耗代价之间存在的影响关系,进而可根据目标可调度资源及其所依赖的基础设施的当前功耗数据,以及预先训练出的功耗代价影响因子与功耗代价之间存在的影响关系,预测目标可调度资源的功耗代价。
进一步可选地,可以在线下预先训练出各可调度资源对应的功耗代价预测模型,每个可调度资源对应的功耗代价预测模型可表征可调度资源自身对应的功耗代价影响因子与功耗代价之间存在的影响关系;基于此,在线上,资源提供方103可利用目标可调度资源各自对应的功耗代价预测模型进行功耗代价预测,得到目标可调度资源的功耗代价。
在上述基于资源竞价机制的资源管理系统100中,对某个可调度资源来说,可能因为应用程序P2给出的实际竞价值更高,而被从另一应用程序P1转移到该应用程序P2。如图1b所示,以可调度资源是一台服务器X为例,假设服务器X的基准竞价值是100,在t1时刻,应用程序P1成功以100的实际竞价值竞价到该服务器X。在应用程序P1使用服务器X的过程中,应用程序P2在t2时刻以更高实际竞价值110竞价到同一台服务器X。此时,应用程序P1或者将其负载迁移到应用程序P1使用的其它服务器上,或者将其负载迁移到重新竞价到的另一台服务器Y上。若应用程序P1没有其它服务器可用,或者未能成功竞价到另一台服务器Y,则应用程序P1就会出现资源不足的现象。这种现象可被称为饥饿现象。
另外,对某一应用程序来说,影响其为申请资源而给出的实际竞价值的 因素可能会发生变化,这些因素的变化可能导致同一应用程序在不同时刻为申请资源给出的实际竞价值发生波动。应用程序给出的实际竞价值的波动,可能导致同一可调度资源一直在两个或更多应用程序之间来回转移,这种现象被叫做竞价的乒乓效应。如图1c所示,一个可调度资源(以服务器X为例)的使用权会在2条曲线的每一个相交位置发生变化,这种情况是不被期望的;图1c中的2条曲线分别表示应用程序P1和应用程序P2在一段时间内的负载波动情况,假设应用程序P1和应用程序P2在负载较高时会给出较高的竞价值,在负载较低时会给出较低的竞价值,由此可知,在不同时段内应用程序P1和应用程序P2中负载较高者会竞价到服务器X。
无论是上述饥饿现象还是上述乒乓效应,都会涉及应用程序的迁移,如果应用程序的迁移是非必要的,就会引起额外的开销,并且会显著影响系统的整体能效。
为了避免上述现象引起的问题,在本申请下述实施例中,进一步地将市场竞价机制与动态调度机制相结合,给出一种动态竞价的解决方案。在采用该动态竞价的解决方案的情况下,随着越来越多的应用程序参与竞价,整个系统的能效会极大地得到改善。
在该动态竞价的解决方案中,采用了以下任意一种或两种技术手段:
技术手段1:为申请到可调度资源的应用程序设置保护期限
资源调度方101为每个申请到可调度资源的应用程序设置一个保护期限,在该保护期限内不允许该应用程序已经申请到的可调度资源被其它应用程序竞价走。换句话说,如果在该保护期限内,有其它应用程序发起对该应用程序已经申请到的可调度资源的竞价,可直接确定其它应用程序未能申请到该可调度资源。下面结合图1d,以第一应用程序发起的资源竞价过程为例,对与保护期限相关的内容进行说明:
资源需求方102根据第一应用程序的资源申请需求,生成第一应用程序的资源竞价请求,将该资源竞价请求发送给资源调度方101。资源调度方101根据第一应用程序的资源竞价请求,获取第一应用程序为申请资源给出的第 一实际竞价值,并确定第一应用程序需要申请目标可调度资源;之后,资源调度方101可以判断该目标可调度资源是否正被第二应用程序占用,第二应用程序是指任一应用程序,实际是判断目标可调度资源是否已经被应用程序占用;若目标可调度资源正被第二应用程序占用,则判断第二应用程序占用目标可调度资源的保护期限是否已经结束。该保护期限是在第二应用程序申请到目标可调度资源时,资源调度方101为第二应用程序设置的。
若第二应用程序占用目标可调度资源的保护期限已经结束,说明第一应用程序可以参与目标可调度资源的竞价,则资源调度方101可以将第一实际竞价值和与第一应用程序存在竞价关系的其它应用程序为申请资源给出的实际竞价值进行比较。可选地,采用“价高者得”机制的情况下,若第一实际竞价值是最高实际竞价值,确定第一应用程序申请到目标可调度资源;若第一实际竞价值不是最高实际竞价值,确定第一应用程序未能申请到目标可调度资源。进一步,可以向资源需求方102返回资源申请成功或失败结果;资源申请成功结果表示第一应用程序申请到目标可调度资源,资源申请失败结果表示第一应用程序未能申请到目标可调度资源。
若第二应用程序占用目标可调度资源的保护期限尚未结束,说明在该保护期限内不允许目标可调度资源被其它应用程序竞价走,因此可以确定第一应用程序未能申请到目标可调度资源。进一步,可以向资源需求方102返回资源申请失败结果,该结果表示第一应用程序未能申请到目标可调度资源。这在一定程度上可避免目标可调度资源在第二应用程序和第一应用程序之间出现乒乓效应,当然,也可以避免第二应用程序因资源被竞价走而引起的饥饿现象,有利于整体能效的提高。
进一步,若目标可调度资源未被第二应用程序占用,由于第二应用程序可以是任一应用程序,实际是指目标可调度资源未被任何应用程序占用,则资源调度方101可以将第一实际竞价值和与第一应用程序存在竞价关系的其它应用程序为申请资源给出的实际竞价值进行比较。可选地,采用“价高者得”机制的情况下,若第一实际竞价值是最高实际竞价值,确定第一应用程 序申请到目标可调度资源;若第一实际竞价值不是最高实际竞价值,确定第一应用程序未能申请到目标可调度资源。进一步,可以向资源需求方102返回资源申请成功或失败结果。
技术手段2:在资源释放前,增加继续占用资源的判断操作
在应用程序竞价到可调度资源之后,在使用可调度资源的过程,可能会因为各种原因需要释放该可调度资源。以第一应用程序为例,假设第一应用程序成功申请到目标可调度资源,则在第一应用程序使用目标可调度资源的过程,可能会因为各种原因需要释放目标可调度资源。例如,当第一应用程序正在占用的目标可调度资源,因第三应用程序给出的实际竞价值较高而被竞价走的情况下,资源调度方101可向第一应用程序对应的资源需求方102发送资源释放通知,以通知第一应用程序释放目标可调度资源。又或者,在第一应用程序结束了本次对目标可调度资源的使用的情况下,理论上第一应用程序也需要释放该目标可调度资源。其中,第三应用程序是任一应用程序。
其中,对不同应用程序来说,同一可调度资源的价值一般是不同的;同一可调度资源在同一应用程序的不同时段或阶段产生的价值也是不同的。为了避免释放后,很快或立即需要重新申请新的可调度资源而引起过多的额外开销,或者避免产生乒乓效应,则在确定需要释放可调度资源的情况下,可以结合可调度资源对应用程序的价值,先判断一下是否有必要继续占用该可调度资源;如果有必要,则继续占用该可调度资源;如果没有必要,则释放该可调度资源。
在本实施例中,并不限定“继续占用可调度资源”和“释放可调度资源”的实现方式。在一可选实施例中,“继续占用可调度资源”和“释放可调度资源”都可以通过发起新的资源竞价请求的方式实现,这可以直接使用基于资源竞价机制的接口,可降低资源调度方的实现难度。
结合图1d所示,以第一应用程序需要释放目标可调度资源为例,在进行资源释放操作之前,可以先判断是否满足第一应用程序继续占用目标可调度资源的条件;若满足第一应用程序继续占用目标可调度资源的条件,则确定 第一应用程序为继续占用目标可调度资源给出的第二实际竞价值;根据第二实际竞价值,向资源调度方101发送新的资源竞价请求,以请求继续占用目标可调度资源。
为了避免饥饿,第一应用程序可以在不同时间段根据目标可调度资源的重要程度或对目标可调度资源的需求迫切度,在可接受的浮动范围例如10-30%内调整自己的实际竞价值。基于此,在需要释放目标可调度资源的情况下,可通过提高实际竞价值来继续占用该目标可调度资源。
接续于图1b所示,应用程序P1因为特别需要服务器X来降低它的负载量,故在释放服务器X之前,将实际竞价值上浮30%,以130的实际竞价值重新竞价到服务器X。由于应用程序P1的实际竞价值130超过了应用程序P2的实际竞价值110,资源调度方101会认为应用程序P1更加需要服务器X,故会让应用程序P继续持有服务器X。由于可以继续持有服务器X,应用程序P1避免了饥饿,可以充分利用服务器X,同时可改善整体能效。
进一步,若不满足第一应用程序继续占用目标可调度资源的条件,则确定第一应用程序为释放目标可调度资源给出的第三实际竞价值;根据第三实际竞价值,向资源调度方发101送新的资源竞价请求,以请求释放目标可调度资源。
其中,第二实际竞价值是有利于第一应用程序能够竞价到目标可调度资源的竞价值。第二实际竞价值的确定方式包括:获取参考竞价值,该参考竞价值可以表示目标可调度资源在指定时段内的资源价值;然后,根据该参考竞价值,确定大于该参考竞价值的竞价值作为第二实际竞价值。以高于目标可调度资源在指定时段内的资源价值的第二实际竞价值参与竞价,可以成功申请到目标可调度资源,可继续占用目标可调度资源,无需释放,可减少释放后重新申请资源引起的不必要的操作,节约资源,提高整体能效。
在采用“价高者得”机制的情况下,可表示目标可调度资源在指定时段内的资源价值的参考竞价值可以是在指定时段内申请目标可调度资源的各应用程序给出的实际竞价值中的最大竞价值。
在一可选实施例中,资源需求方102可以向资源调度方101请求在指定时段内申请目标可调度资源的各应用程序给出的实际竞价值;然后,将在指定时段内申请目标可调度资源的各应用程序给出的实际竞价值中的最大竞价值,作为参考竞价值;进而,以该大于该参考竞价值的第二实际竞价值参与竞价,可以成功申请到目标可调度资源,可继续占用目标可调度资源,无需释放,可减少释放后重新申请资源引起的不必要的操作,节约资源,提高整体能效。
在另一可选实施例中,在因为目标可调度资源被第三应用程序申请到而需要释放的情况下,第三应用程序给出的实际竞价值应该是指定时间段内的最大竞价值。在该情况下,资源调度方101在向资源需求方102发送资源释放通知时,可将第三应用程序为申请资源给出的实际竞价值携带在资源方式通知中。基于此,资源需求方102可接收资源调度设备在第三应用程序申请到目标可调度资源时发送的资源释放通知;从资源释放通知中解析出第三应用程序为申请资源给出的实际竞价值,作为参考竞价值;进而,以该大于该参考竞价值的第二实际竞价值参与竞价,可以成功申请到目标可调度资源,可继续占用目标可调度资源,无需释放,可减少释放后重新申请资源引起的不必要的操作,节约资源,提高整体能效。
相应地,第三实际竞价值是有利于第一应用程序成功释放目标可调度资源给出的竞价值。其中,第三实际竞价值可以是低于参考竞价值的竞价值。例如,在采用“价高者得”机制的情况下,第三实际竞价值可以是预先设定的最低竞价值。进一步,该最低竞价值可以是0,这一方面表示第一应用程序释放目标可调度资源,另一方面还可以表示第一应用程序暂时退出对目标可调度资源的竞价,可避免竞价进入死循环。
在本申请实施例中,并不对“第一应用程序继续占用目标可调度资源的条件”进行限定。根据该条件的不同,判断是否满足第一应用程序继续占用目标可调度资源的条件的方式也会有所不同。下面给出几种示例:
示例1:将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本 大于设定的成本阈值作为需要继续占用目标可调度资源的一种条件。在该条件下,可以判断将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本是否大于设定的成本阈值;若是,确定满足第一应用程序继续占用目标可调度资源的条件;若否,确定不满足第一应用程序继续占用目标可调度资源的条件。
示例2:将第一应用程序在未来一定时间内需要继续使用目标可调度资源所属资源类型(即相同资源类型)下的资源作为需要继续占用目标可调度资源的一种条件。在该条件下,可以判断第一应用程序在未来一定时间内是否需要继续使用目标可调度资源所属资源类型下的资源;若是,确定满足第一应用程序继续占用目标可调度资源的条件;若否,确定不满足第一应用程序继续占用目标可调度资源的条件。
可选地,可以根据第一应用程序的日常流量模式,判断第一应用程序在未来一定时间内是否需要继续使用目标可调度资源所属资源类型下的资源。或者,可以通过深度学习模型,预先学习到第一应用程序的流量模式,进而基于该深度学习模型预测第一应用程序在未来一定时间内是否需要继续使用目标可调度资源所属资源类型下的资源。
需要说明的是,上述两个示例中的条件还可以结合使用,在结合使用的情况下,可以要求满足其中任一条件,也可以要求同时满足上述两个条件,对此不做限定,视具体应用需求而定。进一步,在判断第一应用程序从目标可调度资源迁移到其它资源上的迁移成本是否大于设定的成本阈值之前,还包括:预测将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本的操作。
其中,预测将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本,包括以下至少一种预测操作:
操作1:预测所第一应用程序在目标可调度资源上部署的实例的剩余运行时间,作为所述迁移成本;
操作2:预测将第一应用程序在目标可调度资源上部署的实例和数据迁移 到其它资源上所需的迁移时间,作为所述迁移成本;
操作3:预测为第一应用程序在目标可调度资源上部署的实例和数据重新申请到其它可调度资源的概率,作为所述迁移成本。
在本申请上述不同实施例中,分别综合考虑了下述动态因素:1、共享基础设施对可调度资源的功耗代价的贡献,使得基于功耗代价的资源调度更加合理2、基于保护期限,实现饥饿保护和乒乓效应的避免。3、基于继续占用资源的判断操作,实现饥饿保护和乒乓效应的避免。在某些实施例中,可以同时结合上述几个动态因素,有利于进一步整体资源利用率,进而提高整体能效。
在部署实施上,本申请上述实施例提供的资源管理系统100可以采用集中式部署方式,即资源调度方101、资源需求方102以及资源提供方103部署在同一物理设备(如服务器、笔记本或台式机)、虚拟机或容器等中实现;或者,也可以采用分布式部署方式,即资源调度方101、资源需求方102以及资源提供方103分布部署在多台物理设备、虚拟机或容器等中实现。例如,资源调度方101、资源需求方102以及资源提供方103分别部署在三台不同的服务器中实现。又例如,资源调度方101和资源需求方102部署在一台服务器中实现,资源提供方103部署在另一台服务器中实现。当然,资源调度方101、资源需求方102或资源提供方103也可以根据需要部署在云端。
本实施例提供的资源管理系统100可被部署到任何具有资源调度和管理的应用场景中,例如可以被部署到机房系统中,也可以被部署到数据中心系统等。下面实施例将分别提供一种基于市场竞价机制进行资源管理的机房系统和数据中心系统。
图2为本申请示例性实施例提供的一种机房系统的结构及工作原理示意图。如图2所示,本实施例的机房系统200包括:机房,机房是指存放机器设备的物理场所,例如可以是一个房间或厂房等。机房系统200可以单独建设,也可以置于其他建筑之内。进一步,如图2所示,机房系统200还包括:位于机房内的至少一个物理设备201、资源调度设备202和资源申请设备203。 本实施例并不限定物理设备201的数量,可以是一台,也可以是多台。
在本实施例中,并不限定物理设备201的设备形态。如图2所示,物理设备201可以是机房内的IT类设备和为IT类设备降温的制冷设备,例如空调设备。举例说明,至少一个物理设备201可以包括但不限于:机柜设备、服务器设备、终端设备、打印机、集线器、电源设备、存储设备、网络交换设备以及空调设备、水冷设备等。服务器设备可以是包括但不限于:常规服务器、服务器阵列或云服务器等。电源设备可以是蓄电池设备、干电池设备、或不间断电源(UPS)等。存储设备可以包括但不限于:磁盘、磁盘阵列、硬盘、网络存储设备(NAS)等。
同理,本实施例也不限定资源调度设备202和资源申请设备203的设备形态。资源调度设备202和资源申请设备203可以是任何具有一定资源调度能力的计算机设备,例如可以是智能手机、笔记本电脑、台式电脑、平板电脑或智能手表等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务器设备。
在本实施例中,从资源调度的角度,将机房内的物理设备201划分为至少一个可调度资源和至少一个基础设施。其中,可调度资源是指机房内可对外提供某种服务、功能或资源(例如计算、存储或网络)的资源设备、模块或单元。举例说明,可调度资源可以是机房内的服务器或打印机等物理设备,或者可以是服务器上的CPU、GPU、内存、网卡或硬盘等硬件模块,或者也可以是运行于物理设备上的虚拟机、云服务等软件模块或单元。通常来讲,物理服务器为最常见的可调度资源。基础设施是指机房内为可调度资源提供基础服务的设施。根据可调度资源的不同,基础设施也会有所区别,对此不做限定。以可调度资源是服务器为例,基础设施可以包括为服务器提供支撑服务的机柜,为服务器降温的空调设备、风扇或水冷设备,为服务器供电的电力设备,为服务器提供网络连接的交换机,等等。
其中,可调度资源作为机房系统200中的可用资源,通过资源调度设备202可对可调度资源进行合理地资源调度。合理地资源调度,对提高机房系统 200的资源利用效率,节约能源,提高资源共享和降低运营成本都具有极大意义。在本实施例中,资源调度是一个将可调度资源分配给有资源需求的应用程序的过程。对于资源过载(需求大于系统容量)的场景,或者需求与容量会随着时间的推移而动态变化的场景,资源调度设备202可以动态地重新分配资源,以便更高效地使用可用资源。例如,资源调度设备202可以将某些资源需求方的应用程序分配到某个或某些可调度资源上运行。又例如,资源调度设备202可以将某个或某些可调度资源所能提供的CPU、存储或网络带宽等资源分配给某些应用程序,应用程序依据实际情况使用这些资源。
在本实施例中,具有资源需求的应用程序具有较为广泛的意义,泛指任何针对用户的应用目的所编写的程序代码,包括但不限于:系统应用程序、桌面应用程序、驱动应用程序、网络应用程序、手机应用程序、物联网应用程序等。在产品形态上,具有资源需求的应用程序可以是APP、客户端、云服务、应用系统、业务系统、业务系统中的某个功能模块或单元等。
其中,资源申请设备203主要为至少一个应用程序提供资源申请服务。资源申请设备203可以是一个,也可以是多个。例如,资源申请设备203可以运行与资源申请相关的服务、程序、插件或补丁等,从而实现为应用程序提供资源申请服务。在本实施例中,资源申请设备203与资源调度设备202相互配合,可实现一种基于资源竞价机制的资源调度方案,可让资源调度更加合理化,有利于提高整体资源利用率。
其中,资源申请设备203与资源调度设备202相互配合,针对任何一个有资源需求的应用程序进行资源调度的过程均相同或类似。在本实施例中,以第一应用程序申请可调度资源为例,对基于资源竞价机制的资源申请和资源调度过程进行说明。其中,第一应用程序可以是有权限使用至少一个可调度资源的任何应用程序。
对资源申请设备203来说,可响应于资源申请需求,生成资源竞价请求,该资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将该资源竞价请求发送给资源调度设备202,以供资源调度设备202根据第一实际 竞价值为第一应用程序与其它应用程序竞价申请目标可调度资源;以及接收资源调度设备202返回的第一应用程序对目标可调度资源的申请结果。其中,目标可调度资源是机房系统200中任意一个或多个可调度资源。
对资源调度设备202来说,可接收资源申请设备203发送的第一应用程序的资源竞价请求,并可从该资源竞价请求中获取第一应用程序为申请资源给出的第一实际竞价值;确定与第一应用程序竞价申请目标可调度资源的其它应用程序以及其它应用程序为申请资源给出的实际竞价值;然后,根据第一应用程序为申请资源给出的第一实际竞价值与其它应用程序为申请资源给出的实际竞价值,确定第一应用程序能否申请到目标可调度资源;并将第一应用程序对目标可调度资源的申请结果返回给资源申请设备203。
其中,第一实际竞价值代表第一应用程序为申请资源实际付出的代价;相应地,其它实际竞价值代表其它应用程序为申请资源实际付出的代价。在本实施例中,并不对第一实际竞价值或其它实际竞价值的实现形式进行限定,例如可以是账户中的虚拟资金、实际资金、信用值、积分、能量值或权益值等。
进一步,对资源申请设备203来说,在接收到第一应用程序对目标可调度资源的申请结果之后,还可以根据该申请结果进行后续操作。例如,在申请结果表示第一应用程序申请到目标可调度资源的情况下,资源申请设备203可以通知第一应用程序,以便第一应用程序使用目标可调度资源。其中,根据目标可调度资源的不同,第一应用程序使用目标可调度资源的方式也会有所不同。例如,以目标可调度资源是服务器等计算资源,则第一应用程序可以将自己部署到目标可调度资源上,以便在目标可调度资源上创建自己的运行实例和数据等。在申请结果表示第一应用程序未能申请到目标可调度资源的情况下,资源申请设备203可以为第一应用程序发起新一轮的资源竞价,以继续为第一应用程序申请资源。
进一步,如图2所示,该机房系统200还包括:资源提供设备204。在本实施例中,也不限定资源提供设备204的设备形态,可以是任何具有一定处 理能力的计算机设备,例如可以是智能手机、笔记本电脑、台式电脑、平板电脑或智能手表等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务器设备。该资源提供设备204的数量可以是一个,也可以是多个。
资源提供设备204主要用于收集机房系统200中至少一个可调度资源的信息,例如每个可调度资源的标识、所属的资源类型等,还可以为每个可调度资源确定其基准竞价值,从而为资源申请设备203为相应应用程序申请可调度资源时给出的实际竞价值提供参考。资源提供设备204可将至少一个可调度资源的标识、所属的资源类型以及基准竞价值等提供给资源调度设备202;资源调度设备202将至少一个可调度资源的标识、所属的资源类型以及基准竞价值等信息提供给资源申请设备203。需要说明的是,至少一个可调度资源属于至少一种资源类型,换句话说,至少一个可调度资源可以属于同一资源类型,或者,至少一个可调度资源也可以属于多种不同的资源类型。
无论是至少一个可调度资源属于同一资源类型还是属于多种不同的资源类型,以第一应用程序为例,资源申请设备203可响应于资源申请需求,一方面从至少一个可调度资源所属的至少一种资源类型中,确定第一应用程序需要申请的资源类型,即目标资源类型;然后可以根据资源调度设备202提供的至少一个可调度资源所属的资源类型,确定目标资源类型下的各可调度资源;进而根据资源调度设备202提供的至少一个可调度资源的基准竞价值,确定目标资源类型下各可调度资源的基准竞价值;另一方面可分析第一应用程序对资源的需求迫切度;根据第一应用程序对资源的需求迫切度,结合目标资源类型下各可调度资源的基准竞价值,确定第一应用程序为申请资源给出的第一实际竞价值;根据第一实际竞价值和目标资源类型,生成第一应用程序的资源竞价请求;之后,将资源竞价请求发送给资源调度设备202,供资源调度设备202根据第一实际竞价值为第一应用程序与其它应用程序竞价申请目标可调度资源。
关于资源调度设备202、资源申请设备203以及资源提供设备204相互配合,基于资源竞价机制针对第一应用程序进行资源调度的详细过程以及与资 源调度相关的其它操作或内容,可参见前述实施例,在此不再赘述。
在一种业务场景中,本实施例提供的机房系统200包括多台服务器,一部分服务器用于部署K8s系统、资源调度服务和硬件管理系统,另一部分服务器为可调度资源。该K8s系统包括主节点(Master),该主节点部署在一台服务器上,用于管理机房系统200中其它作为可调度资源的服务器,可根据K8s系统中部署的容器化的应用进行资源调度。硬件管理系统部署在一台服务器,可收集所有作为可调度资源的服务器的标识、资源类型,并可确定这些服务器的基准竞价值,将作为可调度资源的服务器的标识、资源类型以及基准竞价值等信息提供给K8s系统中的主节点。K8s系统中的主节点作为调度器,可为容器化的应用向具有资源调度服务申请服务器资源,并可管理服务器资源的释放。
需要说明的是,K8s系统中的主节点所在的服务器、硬件管理系统所在的服务器以及资源调度服务所在的服务器可以是专用服务器,不再作为可调度资源;当然,如果这些服务器还具有剩余资源,这些剩余资源也可以作为可调度资源。
在本实施例的数据中心系统中,将资源调度与资源竞价机制相结合,可根据资源需求方的资源需求情况给出合理的实际竞价值参与资源竞价,进而可根据各资源需求方给出的实际竞价值进行资源调度,有利于对资源进行更加合理地分配,有利于提高整体资源利用率,进而提高整体能效。
图3为本申请示例性实施例提供的一种数据中心系统的结构示意图。如图3所示,该数据中心系统300包括:至少一个机房301、资源调度设备302以及资源申请设备303。数据中心系统300可以单独建设,也可以置于其他建筑之内,还可以是分布在不同地理位置。其中,每个机房301包括至少一台物理设备305。每个机房301包含的物理设备的数量,可以是一台,也可以是多台。
本实施例中的机房301与图2所示实施例中的机房类似,关于物理设备 305以及机房301的相关描述,可参见图2所示实施例中的描述,在此不再赘述。
在本实施例中,从资源调度的角度,将每个机房301内的物理设备305划分为至少一个可调度资源和至少一个基础设施。其中,可调度资源是指机房内可对外提供某种服务、功能或资源(例如计算、存储或网络)的资源设备、模块或单元。举例说明,可调度资源可以是机房内的服务器、打印机或交换机等物理设备,或者可以是服务器上的CPU、GPU、内存、网卡或硬盘等硬件模块,或者也可以是运行于物理设备上的虚拟机、云服务等软件模块或单元。基础设施是指机房内为可调度资源提供基础服务的设施。根据可调度资源的不同,基础设施也会有所区别,对此不做限定。以可调度资源是服务器为例,基础设施可以包括是为服务器提供支撑服务的机柜,为服务器降温的空调设备或水冷设备,为服务器供电的电力设备,等等。
本实施例与图2所示实施例的区别在于:资源调度设备302以及资源申请设备303不再专门服务于某个特定机房,而是服务于整个数据中心系统300,需要对各机房301内的可调度资源进行资源调度。虽然资源调度设备302不再专门服务于某个特定机房,但是物理部署上,可以部署在某个机房内,也可以独立部署于各机房之外。
同理,本实施例的资源申请设备303主要为各机房内的应用程序提供资源申请服务。资源申请设备303与资源调度设备302相互配合,可实现一种基于资源竞价机制的资源调度方案,可让资源调度更加合理化,有利于提高整体资源利用率。
进一步,数据中心系统300还可以包括资源提供设备,在图3中未示出。
关于资源申请设备303、资源调度设备302及资源提供设备相互配合,针对任何有资源需求的应用程序进行资源调度的详细过程以及与资源调度相关的其它操作和内容,可参见前述实施例,在此不再赘述。
在本实施例的数据中心系统中,将资源调度与资源竞价机制相结合,可根据资源需求方的资源需求情况给出合理的实际竞价值参与资源竞价,进而 可根据各资源需求方给出的实际竞价值进行资源调度,有利于对资源进行更加合理地分配,有利于提高整体资源利用率,进而提高整体能效。
图4a为本申请实施例提供的一种资源调度方法的流程示意图。如图4a所示,该方法包括:
41a、接收第一应用程序的资源竞价请求,该资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值。
42a、确定与第一应用程序竞价申请目标可调度资源的其它应用程序以及其它应用程序为申请资源给出的实际竞价值。
43a、根据第一实际竞价值与其它应用程序为申请资源给出的实际竞价值,确定第一应用程序能否申请到目标可调度资源。
44a、将第一应用程序对目标可调度资源的申请结果返回给第一应用程序。
本实施例方法主要是从资源调度方或资源调度设备的角度进行的描述,主要描述了如何根据第一应用程序的资源竞价请求,基于竞价机制为第一应用程序进行资源调度。
在一可选实施例中,在步骤42a中,确定与第一应用程序竞价申请目标可调度资源的其它应用程序,包括:确定第一应用程序需要申请的目标可调度资源,并将第一应用程序加入目标可调度资源的竞价池中;确定在预设的有效时间内被加入目标可调度资源的竞价池中的其它应用程序,这些其它应用程序是与第一应用程序存在竞价关系的应用程序。
进一步,在一可选实施例中,第一应用程序的资源竞价请求除了包括第一实际竞价值之外,还包括:第一应用程序需要申请的目标资源类型。基于此,确定第一应用程序需要申请的目标可调度资源的步骤包括:由资源调度方或资源调度设备从目标资源类型下的可调度资源中,为第一应用程序指定其需要申请的目标可调度资源。可选地,在该指定过程中,资源调度方或资源调度设备可以根据目标资源类型下各可调度资源的基准竞价值或由基准竞 价值反映的属性信息,为第一应用程序指定需要申请的目标可调度资源。其中,可调度资源的基准竞价值可由资源提供方或资源提供设备确定。关于基准竞价值可反映可调度单元的哪些属性信息以及如何确定可调度单元的基准竞价值等相关内容,可参见前述实施例,在此不再赘述。
进一步,在另一可选实施例中,第一应用程序的资源竞价请求除了包括第一实际竞价值之外,还包括:目标资源标识,用于标识第一应用程序需要申请的可调度资源。基于此,确定第一应用程序可申请目标可调度资源的步骤包括:资源调度方或资源调度设备直接获取目标资源标识指向的可调度资源,作为第一应用程序需要申请的目标可调度资源。
在一可选实施例中,采用“价高者得”机制,则上述步骤43a,即根据第一实际竞价值与其它应用程序为申请资源给出的实际竞价值,确定第一应用程序能否申请到目标可调度资源,包括:将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较;若第一实际竞价值是最高实际竞价值,确定第一应用程序申请到目标可调度资源;若第一实际竞价值不是最高实际竞价值,确定第一应用程序未能申请到目标可调度资源。
在上述可选实施例中,以“价高者得”机制为例进行了描述,但并不限于此。也可以采用“价低者得”、“最接近平均值者得”等机制。关于采用“价低者得”、“最接近平均值者得”等机制时,步骤43a的实施方式可参见前述实施例,在此不再赘述。
在一可选实施例中,在将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较之前,可以判断目标可调度资源是否正被第二应用程序占用,其中,第二应用程序是任一应用程序;若目标可调度资源正被第二应用程序占用,则判断第二应用程序占用目标可调度资源的保护期限是否已经结束;若第二应用程序占用目标可调度资源的保护期限已经结束,则执行将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较的操作。若第二应用程序占用目标可调度资源的保护期限尚未结束,则确定 第一应用程序未能申请到目标可调度资源。
进一步,若目标可调度资源未被第二应用程序占用,意味着目标可调度资源处于空闲状态,未被任何应用程序使用,则可以直接执行将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较的操作,进而可将目标可调度资源分配给第一应用程序或某个其它应用程序。
进一步,在目标可调度资源被第二应用程序占用,且确定第一应用程序申请到目标可调度资源的情况下,还可以进一步判断第一应用程序与第二应用程序是否相同;若第一应用程序与第二应用程序不相同,向第二应用程序发送资源释放通知,以通知第二应用程序释放目标可调度资源;以及接收第二应用程序根据资源释放通知新的资源竞价请求,该新的资源竞价请求表征第二应用程序对目标可调度资源的处理方式。
对第二应用程序来说,可以释放目标可调度资源,当然,如果有必要继续占用目标可调度资源,也可以请求继续占用目标可调度资源。也就是说,对第二应用程序来说,在接收到资源释放通知之后,针对目标可调度资源可进行两种处理。
无论是哪种处理方式,在本实施例中,为了便于实现,均通过资源竞价机制向资源调度方或资源调度设备返回新的资源竞价请求的方式来反馈对目标可调度资源的处理方式。新的资源竞价请求可反映第二应用程序对目标可调度资源的处理方式。在本实施例中,并不限定通过新的资源竞价请求反映第二应用程序对目标可调度资源的处理方式的实现方式。例如,新的资源竞价请求可以包含一个处理方式字段,该字段的不同取值可以表示不同处理方式。例如,该字段取值为1,表示释放目标可调度资源;该字段取值为0,表示请求继续占用目标可调度资源。除此之外,该新的资源竞价请求还可以携带新的竞价值,不同的竞价值表征不同处理方式。
在一可选实施例中,资源释放通知包括第一应用程序成功申请到目标可调度资源所使用的第一实际竞价值。相应地,资源申请设备或资源需求方可以以第一实际竞价值为基准,确定表征其对目标可调度资源的处理方式的新 的竞价值。例如,在采用“价高者得”机制的情况下,新的资源竞价请求包括:高于第一实际竞价值的第二实际竞价值,该第二实际竞价值表示第二应用程序给出更高的竞价值,以请求继续占用目标可调度资源。或者,该新的资源竞价请求包括:低于第一实际竞价值的第三实际竞价值,该第三实际竞价值表示第二应用程序同意释放目标可调度资源。可选地,第三实际竞价值可以是0,但不限于此。
在本实施例中,在步骤41a,即接收第一应用程序的资源竞价请求之前,还包括:接收资源提供设备上报的至少一个可调度资源的基准竞价值;将至少一个可调度资源的基准竞价值提供给各应用程序,以供各应用程序在申请资源时确定实际竞价值。
在一可选实施例中,可以结合至少一个可调度资源的功耗代价,确定至少一个可调度资源的基准竞价值。也就是说,至少一个可调度资源的基准竞价值表示至少一个可调度资源的功耗代价。关于如何结合可调度资源的功耗代价,确定至少一个可调度资源的基准竞价值的相关描述,可参见前述系统实施例或后续方法实施例中的描述,在此不再赘述。
图4b为本申请示例性实施例提供的一种资源申请方法的流程示意图。如图4b所示,该方法包括:
41b、响应于资源申请需求,生成资源竞价请求,该资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值。
42b、将资源竞价请求发送给资源调度设备,以供资源调度设备根据第一实际竞价值为第一应用程序与其它应用程序竞价申请目标可调度资源。
43b、接收资源调度设备返回的第一应用程序对目标可调度资源的申请结果。
本实施例方法主要是从资源需求方或资源申请设备的角度进行的描述,主要描述了如何为第一应用程序生成资源竞价请求,基于资源竞价请求为第一应用程序向资源调度方或资源调度设备申请可调度资源。
在一可选实施例中,响应于资源申请需求,生成资源竞价请求,包括: 响应于资源申请需求,分析第一应用程序对资源的需求迫切度;根据第一应用程序对资源的需求迫切度,确定第一实际竞价值。
进一步可选地,根据第一应用程序对资源的迫切度,确定第一实际竞价值,包括:根据资源申请需求,确定第一应用程序需要申请的目标资源类型;根据第一应用程序对资源的迫切度,结合目标资源类型下各可调度资源的基准竞价值,确定第一实际竞价值。
进一步,在确定第一实际竞价值之前,可以接收资源调度设备提供的至少一个可调度资源的基准竞价值,为结合目标资源类型下各可调度资源的基准竞价值确定第一实际竞价值提供数据基础。其中,至少一个可调度资源属于至少一种资源类型,至少一种资源类型包括目标资源类型。
在一可选实施例中,可以结合至少一个可调度资源的功耗代价,确定至少一个可调度资源的基准竞价值。也就是说,至少一个可调度资源的基准竞价值表示至少一个可调度资源的功耗代价。
在一可选实施例中,在申请结果表示第一应用程序申请到目标可调度资源的情况下,意味着会存在需要释放目标可调度资源的情况。则,在确定需要释放目标可调度资源的情况下,可以判断是否满足第一应用程序继续占用目标可调度资源的条件;若满足第一应用程序继续占用目标可调度资源的条件,则确定第一应用程序为继续占用目标可调度资源给出的第二实际竞价值;根据第二实际竞价值,向资源调度设备发送新的资源竞价请求,以请求继续占用目标可调度资源。这样可以避免释放资源引起的不必要的开销。
其中,判断是否满足第一应用程序继续占用目标可调度资源的条件,包括以下至少一种判断操作:
判断将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本是否大于设定的成本阈值;
判断第一应用程序在未来一定时间内是否需要继续使用目标可调度资源所属资源类型下的资源;
若至少一种判断操作的判断结果均为是,确定满足第一应用程序继续占 用目标可调度资源的条件。
进一步,在判断将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本是否大于设定的成本阈值之前,还包括预测将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本的操作。
其中,预测将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本包括但不限于以下至少一种预测操作:
预测第一应用程序在目标可调度资源上部署的实例的剩余运行时间,作为迁移成本;
预测将第一应用程序在目标可调度资源上部署的实例和数据迁移到其它资源上所需的迁移时间,作为迁移成本;
预测为第一应用程序在目标可调度资源上部署的实例和数据重新申请到其它可调度资源的概率,作为迁移成本。
进一步,确定第一应用程序为继续占用目标可调度资源给出的第二实际竞价值,包括:获取参考竞价值,参考竞价值表示目标可调度资源在指定时段内的资源价值;根据参考竞价值,确定大于参考竞价值的竞价值作为第二实际竞价值。
在一可选实施例中,获取参考竞价值,包括:向资源调度设备请求在指定时段内申请目标可调度资源的各应用程序给出的实际竞价值;将在指定时段内申请目标可调度资源的各应用程序给出的实际竞价值中的最大竞价值,作为参考竞价值。
在另一可选实施例中,获取参考竞价值,包括:接收资源调度设备在第三应用程序申请到目标可调度资源时发送的资源释放通知;第三应用程序不同于第一应用程序;从资源释放通知中解析出第三应用程序为申请资源给出的实际竞价值,作为参考竞价值。
其中,确定需要释放目标可调度资源,包括以下至少一种方式:
若接收到资源调度设备发送的资源释放通知,确定需要释放目标可调度资源;
若第一应用程序结束了本次对目标可调度资源的使用,确定需要释放目标可调度资源;
其中,资源释放通知是资源调度设备在第三应用程序申请到目标可调度资源的情况下发送的,第三应用程序不同于第一应用程序。
进一步,若不满足第一应用程序继续占用目标可调度资源的条件,则确定第一应用程序为释放目标可调度资源给出的第三实际竞价值;根据第三实际竞价值,向资源调度设备发送新的资源竞价请求,以请求释放目标可调度资源。其中,第三实际竞价值可以按照与第二实际竞价值类似的方式来获取。除此之外,第三实际竞价值也可以是一个预设值,例如可以是预先设定的最低竞价值,该最低竞价值表示对应应用释放目标可调度资源,不再参与相应资源的竞价过程。可选地,该最低竞价值可根据应用需求灵活设定,例如可以是0,也可以是1、5、10或100等。特别说明,本申请实施例中的“竞价值”是一个无量纲的值。
图4c为本申请示例性实施例提供的一种资源定价方法的流程示意图。如图4c所示,该方法包括:
41c、获取目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据。
42c、根据目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据,预测目标可调度资源的功耗代价。
43c、根据目标可调度资源的功耗代价,确定目标可调度资源在资源市场中的基准竞价值。
在一可选实施例中,根据目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据,预测目标可调度资源的功耗代价,包括:获取基础设施当前正在服务的可调度资源的数量以及基础设施与其当前正在服务的各可调度资源之间的拓扑关系;根据数量以及拓扑关系,计算基础设施对目标可调度资源的功耗贡献比;根据功耗贡献比、目标可调度资源的及基础设施 的当前功耗数据,预测目标可调度资源的功耗代价。
在本实施例中,将可调度资源的功耗代价和基于资源竞价机制的资源调度相结合,既可以优先调度功耗代价较低的资源,又可以降低出现局部热点的概率,有利于降低系统的整体功耗。
需要说明的是,在本申请各实施例中,如果采用“价高者得”机制,目标可调度资源的竞价值会越来越高。如果不希望竞价值越来越高,可以采用实际成交的竞价值是第二竞价值,而不是中标的竞价值的机制。即,如果第一实际竞价值是最高竞价值,则第一应用程序成功竞价到目标可调度资源,但是在从第一应用程序对应的账户中扣除资源时,并不是直接扣除第一实际竞价值表示的资源量,而是扣除由高到低排序后排在第二位的实际竞价值所表示的资源量,这样可以避免目标可调度资源的竞价值越来越高。
同理,如果采用“价低者得”机制,目标可调度资源的竞价值会越来越低。如果不希望竞价值越来越低,可以采用实际成交的竞价值是第二竞价值,而不是中标的竞价值的机制。即,如果第一实际竞价值是最低竞价值,则第一应用程序成功竞价到目标可调度资源,但是在从第一应用程序对应的账户中扣除资源时,并不是直接扣除第一实际竞价值表示的资源量,而是扣除由低到高排序后排在第二位的实际竞价值所表示的资源量,这样可以避免目标可调度资源的竞价值越来越低。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤41a至步骤44a的执行主体可以为设备A;又比如,步骤41a和42a的执行主体可以为设备A,步骤43a和44a的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如41a、42a等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包 括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图5a为本申请示例性实施例提供的一种资源调度设备的结构示意图。如图5a所示,该资源调度设备包括:存储器51a和处理器52a。
存储器51a,用于存储计算机程,并可被配置为存储其它各种数据以支持在资源调度设备上的操作。这些数据的示例包括用于在资源调度设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
处理器52a,与存储器51a耦合,用于执行计算机程序,以用于:
接收第一应用程序的资源竞价请求,资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;
确定与第一应用程序竞价申请目标可调度资源的其它应用程序以及其它应用程序为申请资源给出的实际竞价值;
根据第一实际竞价值与其它应用程序为申请资源给出的实际竞价值,确定第一应用程序能否申请到目标可调度资源;
将第一应用程序对目标可调度资源的申请结果返回给第一应用程序。
在一可选实施例中,处理器52a在确定与第一应用程序竞价申请目标可调度资源的其它应用程序时,具体用于:确定第一应用程序需要申请的目标可调度资源,并将第一应用程序加入目标可调度资源的竞价池中;确定在预设的有效时间内被加入目标可调度资源的竞价池中的其它应用程序,这些其它应用程序是与第一应用程序存在竞价关系的应用程序。
进一步,在一可选实施例中,第一应用程序的资源竞价请求除了包括第一实际竞价值之外,还包括:第一应用程序需要申请的目标资源类型。基于此,处理器52a在确定第一应用程序需要申请的目标可调度资源时,具体用于:从目标资源类型下的可调度资源中,为第一应用程序指定其需要申请的目标可调度资源。可选地,在该指定过程中,处理器52a可以根据目标资源 类型下各可调度资源的基准竞价值或由基准竞价值反映的属性信息,为第一应用程序指定需要申请的目标可调度资源。其中,可调度资源的基准竞价值可由资源提供方或资源提供设备确定。关于基准竞价值可反映可调度单元的哪些属性信息以及如何确定可调度单元的基准竞价值等相关内容,可参见前述实施例,在此不再赘述。
进一步,在另一可选实施例中,第一应用程序的资源竞价请求除了包括第一实际竞价值之外,还包括:目标资源标识,用于标识第一应用程序需要申请的可调度资源。基于此,处理器52a在确定第一应用程序可申请目标可调度资源时,具体用于:资源调度方或资源调度设备直接获取目标资源标识指向的可调度资源,作为第一应用程序需要申请的目标可调度资源。
在一可选实施例中,采用“价高者得”机制,则处理器52a在确定第一应用程序能否申请到目标可调度资源时,具体用于:将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较;若第一实际竞价值是最高实际竞价值,确定第一应用程序申请到目标可调度资源;若第一实际竞价值不是最高实际竞价值,确定第一应用程序未能申请到目标可调度资源。
在上述可选实施例中,以“价高者得”机制为例进行了描述,但并不限于此。也可以采用“价低者得”、“最接近平均值者得”等机制。关于采用“价低者得”、“最接近平均值者得”等机制时,处理器52a确定第一应用程序能否申请到目标可调度资源的实施方式可参见前述实施例,在此不再赘述。
在一可选实施例中,处理器52a还用于:在将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较之前,可以判断目标可调度资源是否正被第二应用程序占用,其中,第二应用程序是任一应用程序;若目标可调度资源正被第二应用程序占用,则判断第二应用程序占用目标可调度资源的保护期限是否已经结束;若第二应用程序占用目标可调度资源的保护期限已经结束,则执行将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较的操作。若第二应用程序占用目标可调度资源的保护期 限尚未结束,则确定第一应用程序未能申请到目标可调度资源。
进一步,处理器52a还用于:若目标可调度资源未被第二应用程序占用,意味着目标可调度资源处于空闲状态,未被任何应用程序使用,则可以直接执行将第一实际竞价值与其它应用程序为申请资源给出的实际竞价值进行比较的操作,进而可将目标可调度资源分配给第一应用程序或某个其它应用程序。
进一步,在目标可调度资源被第二应用程序占用,且确定第一应用程序申请到目标可调度资源的情况下,处理器52a还用于:判断第一应用程序与第二应用程序是否相同;若第一应用程序与第二应用程序不相同,向第二应用程序发送资源释放通知,以通知第二应用程序释放目标可调度资源;以及接收第二应用程序根据资源释放通知新的资源竞价请求,该新的资源竞价请求表征第二应用程序对目标可调度资源的处理方式。
在一可选实施例中,资源释放通知包括第一应用程序成功申请到目标可调度资源所使用的第一实际竞价值。相应地,资源申请设备或资源需求方可以以第一实际竞价值为基准,确定表征其对目标可调度资源的处理方式的新的竞价值。例如,在采用“价高者得”机制的情况下,新的资源竞价请求包括:高于第一实际竞价值的第二实际竞价值,该第二实际竞价值表示第二应用程序给出更高的竞价值,以请求继续占用目标可调度资源。或者,该新的资源竞价请求包括:低于第一实际竞价值的第三实际竞价值,该第三实际竞价值表示第二应用程序同意释放目标可调度资源。可选地,第三实际竞价值可以是0,但不限于此。
在本实施例中,处理器52a还用于:接收资源提供设备上报的至少一个可调度资源的基准竞价值;将至少一个可调度资源的基准竞价值提供给各应用程序,以供各应用程序在申请资源时确定实际竞价值。
在一可选实施例中,可以结合至少一个可调度资源的功耗代价,确定至少一个可调度资源的基准竞价值。也就是说,至少一个可调度资源的基准竞价值表示至少一个可调度资源的功耗代价。关于如何结合可调度资源的功耗 代价,确定至少一个可调度资源的基准竞价值的相关描述,可参见前述系统实施例或后续方法实施例中的描述,在此不再赘述。
进一步,如图5a所示,该资源调度设备还包括:通信组件53a、显示器54a、电源组件55a、音频组件56a等其它组件。图5a中仅示意性给出部分组件,并不意味着资源调度设备只包括图5a所示组件。另外,图5a中虚线框内的组件为可选组件,而非必选组件,具体可视资源调度设备的产品形态而定。本实施例的资源调度设备可以实现为台式电脑、笔记本电脑或智能手机等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的资源调度设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图5a中虚线框内的组件;若本实施例的资源调度设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图5a中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由资源调度设备执行的各步骤。
图5b为本申请示例性实施例提供的一种资源申请设备的结构示意图。如图5b所示,该资源申请设备包括:存储器51b、处理器52b以及通信组件53b。
存储器51b,用于存储计算机程序,并可被配置为存储其它各种数据以支持在资源申请设备上的操作。这些数据的示例包括用于在资源申请设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
处理器52b,与存储器51b耦合,用于执行计算机程序,以用于:
响应于资源申请需求,生成资源竞价请求,资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;
通过通信组件将资源竞价请求发送给资源调度设备,以供资源调度设备根据第一实际竞价值为第一应用程序与其它应用程序竞价申请目标可调度资源;
通过通信组件接收资源调度设备返回的第一应用程序对目标可调度资源的申请结果。
在一可选实施例中,处理器52b在生成资源竞价请求时,具体用于:响应于资源申请需求,分析第一应用程序对资源的需求迫切度;根据第一应用程序对资源的需求迫切度,确定第一实际竞价值。
进一步可选地,处理器52b在确定第一实际竞价值时,具体用于:根据资源申请需求,确定第一应用程序需要申请的目标资源类型;根据第一应用程序对资源的迫切度,结合目标资源类型下各可调度资源的基准竞价值,确定第一实际竞价值。
进一步,处理器52b还用于:在确定第一实际竞价值之前,接收资源调度设备提供的至少一个可调度资源的基准竞价值,这可为结合目标资源类型下各可调度资源的基准竞价值确定第一实际竞价值提供数据基础。其中,至少一个可调度资源属于至少一种资源类型,至少一种资源类型包括目标资源类型。
在一可选实施例中,可以结合至少一个可调度资源的功耗代价,确定至少一个可调度资源的基准竞价值。也就是说,至少一个可调度资源的基准竞价值表示至少一个可调度资源的功耗代价。
在一可选实施例中,在申请结果表示第一应用程序申请到目标可调度资源的情况下,意味着会存在需要释放目标可调度资源的情况。则,处理器52b还用于:在确定需要释放目标可调度资源的情况下,可以判断是否满足第一应用程序继续占用目标可调度资源的条件;若满足第一应用程序继续占用目标可调度资源的条件,则确定第一应用程序为继续占用目标可调度资源给出的第二实际竞价值;根据第二实际竞价值,向资源调度设备发送新的资源竞价请求,以请求继续占用目标可调度资源。这样可以避免释放资源引起的不必要的开销。
其中,处理器52b在判断是否满足第一应用程序继续占用目标可调度资源的条件时,具体用于执行以下至少一种判断操作:
判断将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本是否大于设定的成本阈值;
判断第一应用程序在未来一定时间内是否需要继续使用目标可调度资源所属资源类型下的资源;
若至少一种判断操作的判断结果均为是,确定满足第一应用程序继续占用目标可调度资源的条件。
进一步,处理器52b还用于在判断将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本是否大于设定的成本阈值之前,预测将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本。
其中,处理器52b在预测将第一应用程序从目标可调度资源迁移到其它资源上的迁移成本时,具体用于执行但不限于以下至少一种预测操作:
预测第一应用程序在目标可调度资源上部署的实例的剩余运行时间,作为迁移成本;
预测将第一应用程序在目标可调度资源上部署的实例和数据迁移到其它资源上所需的迁移时间,作为迁移成本;
预测为第一应用程序在目标可调度资源上部署的实例和数据重新申请到其它可调度资源的概率,作为迁移成本。
进一步,处理器52b在确定第一应用程序为继续占用目标可调度资源给出的第二实际竞价值时,具体用于:获取参考竞价值,参考竞价值表示目标可调度资源在指定时段内的资源价值;根据参考竞价值,确定大于参考竞价值的竞价值作为第二实际竞价值。
在一可选实施例中,处理器52b在获取参考竞价值时,具体用于:向资源调度设备请求在指定时段内申请目标可调度资源的各应用程序给出的实际竞价值;将在指定时段内申请目标可调度资源的各应用程序给出的实际竞价值中的最大竞价值,作为参考竞价值。
在另一可选实施例中,处理器52b在获取参考竞价值时,具体用于:接收资源调度设备在第三应用程序申请到目标可调度资源时发送的资源释放通 知;第三应用程序不同于第一应用程序;从资源释放通知中解析出第三应用程序为申请资源给出的实际竞价值,作为参考竞价值。
其中,处理器52b在确定需要释放目标可调度资源时,具体可采用以下至少一种方式:
若接收到资源调度设备发送的资源释放通知,确定需要释放目标可调度资源;
若第一应用程序结束了本次对目标可调度资源的使用,确定需要释放目标可调度资源;
其中,资源释放通知是资源调度设备在第三应用程序申请到目标可调度资源的情况下发送的,第三应用程序不同于第一应用程序。
进一步,处理器52b还用于:在不满足第一应用程序继续占用目标可调度资源的条件的情况下,确定第一应用程序为释放目标可调度资源给出的第三实际竞价值;根据第三实际竞价值,向资源调度设备发送新的资源竞价请求,以请求释放目标可调度资源。其中,第三实际竞价值可以按照与第二实际竞价值类似的方式来获取。除此之外,第三实际竞价值也可以是一个预设值,例如可以是预先设定的最低竞价值,该最低竞价值表示对应应用释放目标可调度资源,不再参与相应资源的竞价过程。可选地,该最低竞价值可根据应用需求灵活设定,例如可以是0,也可以是1、5、10或100等。特别说明,本申请实施例中的“竞价值”是一个无量纲的值。
进一步,如图5b所示,该资源申请设备还包括:显示器54b、电源组件55b、音频组件56b等其它组件。图5b中仅示意性给出部分组件,并不意味着资源申请设备只包括图5b所示组件。另外,图5b中虚线框内的组件为可选组件,而非必选组件,具体可视资源申请设备的产品形态而定。本实施例的资源申请设备可以实现为台式电脑、笔记本电脑或智能手机等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的资源申请设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图5b中虚线框内的组件;若本实施例的资源申请设备实现为常规服务器、 云服务器或服务器阵列等服务端设备,则可以不包含图5b中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由资源申请设备执行的各步骤。
图5c为本申请示例性实施例提供的一种资源提供设备的结构示意图。如图5c所示,该资源提供设备包括:存储器51c、处理器52c以及通信组件53c。
存储器51c,用于存储计算机程序,并可被配置为存储其它各种数据以支持在资源提供设备上的操作。这些数据的示例包括用于在资源提供设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
处理器52c,与存储器51c耦合,用于执行计算机程序,以用于:获取目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据;根据目标可调度资源的及目标可调度资源依赖的基础设施的当前功耗数据,预测目标可调度资源的功耗代价;根据目标可调度资源的功耗代价,确定目标可调度资源在资源市场中的基准竞价值。
在一可选实施例中,处理器52c在预测目标可调度资源的功耗代价时,具体用于:获取基础设施当前正在服务的可调度资源的数量以及基础设施与其当前正在服务的各可调度资源之间的拓扑关系;根据数量以及拓扑关系,计算基础设施对目标可调度资源的功耗贡献比;根据功耗贡献比、目标可调度资源的及基础设施的当前功耗数据,预测目标可调度资源的功耗代价。
进一步,如图5c所示,该资源提供设备还包括:显示器54c、电源组件55c、音频组件56c等其它组件。图5c中仅示意性给出部分组件,并不意味着资源提供设备只包括图5c所示组件。另外,图5c中虚线框内的组件为可选组件,而非必选组件,具体可视资源提供设备的产品形态而定。本实施例的资源提供设备可以实现为台式电脑、笔记本电脑或智能手机等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的资源提供设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图 5c中虚线框内的组件;若本实施例的资源提供设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图5c中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由资源提供设备执行的各步骤。
上述图5a-图5c中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图5a-图5c中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可以包括近场通信(NFC)模块,射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术等。
上述图5a-图5c中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图5a-图5c中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图5a-图5c中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式, 如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (36)

  1. 一种资源调度方法,其特征在于,包括:
    接收第一应用程序的资源竞价请求,所述资源竞价请求包括所述第一应用程序为申请资源给出的第一实际竞价值;
    确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;
    根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;
    将所述第一应用程序对所述目标可调度资源的申请结果返回给所述第一应用程序。
  2. 根据权利要求1所述的方法,其特征在于,确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序,包括:
    确定所述第一应用程序需要申请的目标可调度资源,并将所述第一应用程序加入所述目标可调度资源的竞价池中;
    确定在预设的有效时间内被加入所述目标可调度资源的竞价池中的其它应用程序。
  3. 根据权利要求2所述的方法,其特征在于,所述资源竞价请求还包括:所述第一应用程序需要申请的目标资源类型;则,确定所述第一应用程序需要申请的目标可调度资源,包括:
    从所述目标资源类型下的可调度资源中,为所述第一应用程序指定其需要申请的所述目标可调度资源。
  4. 根据权利要求2所述的方法,其特征在于,所述资源竞价请求还包括:目标资源标识;则,确定所述第一应用程序需要申请的目标可调度资源,包括:
    将所述目标资源标识指向的可调度资源,作为所述第一应用程序需要申请的目标可调度资源。
  5. 根据权利要求1所述的方法,其特征在于,根据所述第一实际竞价值与其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源,包括:
    将所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值进行比较;
    若所述第一实际竞价值是最高实际竞价值,确定所述第一应用程序申请到所述目标可调度资源;
    若所述第一实际竞价值不是最高实际竞价值,确定所述第一应用程序未能申请到所述目标可调度资源。
  6. 根据权利要求5所述的方法,其特征在于,在将所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值进行比较之前,还包括:
    判断所述目标可调度资源是否正被第二应用程序占用,所述第二应用程序是任一应用程序;
    若所述目标可调度资源正被所述第二应用程序占用,则判断所述第二应用程序占用所述目标可调度资源的保护期限是否已经结束;
    若所述第二应用程序占用所述目标可调度资源的保护期限已经结束,则执行将所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值进行比较的操作。
  7. 根据权利要求6所述的方法,其特征在于,还包括:
    若所述目标可调度资源未被第二应用程序占用,直接执行将所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值进行比较的操作;
    若所述第二应用程序占用所述目标可调度资源的保护期限尚未结束,则确定所述第一应用程序未能申请到所述目标可调度资源。
  8. 根据权利要求6所述的方法,其特征在于,在确定所述第一应用程序申请到所述目标可调度资源的情况下,所述方法还包括:
    判断所述第一应用程序与所述第二应用程序是否相同;
    若所述第一应用程序与所述第二应用程序不相同,针对所述第二应用程序发送资源释放通知,以通知所述第二应用程序释放所述目标可调度资源;以及
    接收所述第二应用程序的新的资源竞价请求,所述新的资源竞价请求表征所述第二应用程序对所述目标可调度资源的处理方式。
  9. 根据权利要求8所述的方法,其特征在于,所述资源释放通知包括所述第一实际竞价值;
    所述新的资源竞价请求包括高于所述第一实际竞价值的第二实际竞价值,所述第二实际竞价值表示所述第二应用程序请求继续占用所述目标可调度资源;或者,所述新的资源竞价请求包括低于所述第一实际竞价值的第三实际竞价值,所述第三实际竞价值表示所述第二应用程序同意释放所述目标可调度资源。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,在接收第一应用程序的资源竞价请求之前,还包括:
    接收资源提供设备上报的至少一个可调度资源的基准竞价值;
    将所述至少一个可调度资源的基准竞价值提供给各应用程序,以供各应用程序在申请资源时确定实际竞价值。
  11. 根据权利要求10所述的方法,其特征在于,所述至少一个可调度资源的基准竞价值表示所述至少一个可调度资源的功耗代价。
  12. 一种资源申请方法,其特征在于,包括:
    响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;
    将所述资源竞价请求发送给资源调度设备,以供所述资源调度设备根据所述第一实际竞价值为所述第一应用程序与其它应用程序竞价申请目标可调度资源;
    接收所述资源调度设备返回的所述第一应用程序对所述目标可调度资源的申请结果。
  13. 根据权利要求12所述的方法,其特征在于,响应于资源申请需求,生成资源竞价请求,包括:
    响应于资源申请需求,分析所述第一应用程序对资源的需求迫切度;
    根据所述第一应用程序对资源的需求迫切度,确定所述第一实际竞价值;
    根据所述第一实际竞价值,生成所述资源竞价请求。
  14. 根据权利要求13所述的方法,其特征在于,根据所述第一应用程序对资源的迫切度,确定所述第一实际竞价值,包括:
    根据资源申请需求,确定所述第一应用程序需要申请的目标资源类型;
    根据所述第一应用程序对资源的迫切度,结合所述目标资源类型下各可调度资源的基准竞价值,确定所述第一实际竞价值。
  15. 根据权利要求14所述的方法,其特征在于,在确定所述第一实际竞价值之前,还包括:
    接收所述资源调度设备提供的至少一个可调度资源的基准竞价值;所述至少一个可调度资源属于至少一种资源类型,所述至少一种资源类型包括所述目标资源类型。
  16. 根据权利要求12-15任一项所述的方法,其特征在于,在所述申请结果表示所述第一应用程序申请到所述目标可调度资源的情况下,所述方法还包括:
    在确定需要释放所述目标可调度资源的情况下,判断是否满足所述第一应用程序继续占用所述目标可调度资源的条件;
    若满足所述第一应用程序继续占用所述目标可调度资源的条件,则确定所述第一应用程序为继续占用所述目标可调度资源给出的第二实际竞价值;
    根据所述第二实际竞价值,向所述资源调度设备发送新的资源竞价请求,以请求继续占用所述目标可调度资源。
  17. 根据权利要求16所述的方法,其特征在于,判断是否满足所述第一应用程序继续占用所述目标可调度资源的条件,包括以下至少一种判断操作:
    判断将所述第一应用程序从所述目标可调度资源迁移到其它资源上的迁 移成本是否大于设定的成本阈值;
    判断所述第一应用程序在未来一定时间内是否需要继续使用所述目标可调度资源所属资源类型下的资源;
    若所述至少一种判断操作的判断结果均为是,确定满足所述第一应用程序继续占用所述目标可调度资源的条件。
  18. 根据权利要求17所述的方法,其特征在于,在判断将所述第一应用程序从所述目标可调度资源迁移到其它资源上的迁移成本是否大于设定的成本阈值之前,还包括以下至少一种预测操作:
    预测所述第一应用程序在所述目标可调度资源上部署的实例的剩余运行时间,作为所述迁移成本;
    预测将所述第一应用程序在所述目标可调度资源上部署的实例和数据迁移到其它资源上所需的迁移时间,作为所述迁移成本;
    预测为所述第一应用程序在所述目标可调度资源上部署的实例和数据重新申请到其它可调度资源的概率,作为所述迁移成本。
  19. 根据权利要求16所述的方法,其特征在于,确定所述第一应用程序为继续占用所述目标可调度资源给出的第二实际竞价值,包括:
    获取参考竞价值,所述参考竞价值表示所述目标可调度资源在指定时段内的资源价值;
    根据所述参考竞价值,确定大于所述参考竞价值的竞价值作为所述第二实际竞价值。
  20. 根据权利要求19所述的方法,其特征在于,获取参考竞价值,包括:
    向所述资源调度设备请求在指定时段内申请所述目标可调度资源的各应用程序给出的实际竞价值;
    将在指定时段内申请所述目标可调度资源的各应用程序给出的实际竞价值中的最大竞价值,作为所述参考竞价值。
  21. 根据权利要求19所述的方法,其特征在于,获取参考竞价值,包括:
    接收所述资源调度设备在第三应用程序申请到所述目标可调度资源时发 送的资源释放通知;所述第三应用程序不同于所述第一应用程序;
    从所述资源释放通知中解析出所述第三应用程序为申请资源给出的实际竞价值,作为所述参考竞价值。
  22. 根据权利要求16所述的方法,其特征在于,确定需要释放所述目标可调度资源,包括以下至少一种方式:
    若接收到所述资源调度设备发送的资源释放通知,确定需要释放所述目标可调度资源;
    若所述第一应用程序结束了本次对所述目标可调度资源的使用,确定需要释放所述目标可调度资源;
    其中,所述资源释放通知是所述资源调度设备在第三应用程序申请到所述目标可调度资源的情况下发送的,所述第三应用程序不同于所述第一应用程序。
  23. 根据权利要求16所述的方法,其特征在于,还包括:
    若不满足所述第一应用程序继续占用所述目标可调度资源的条件,则确定所述第一应用程序为释放所述目标可调度资源给出的第三实际竞价值;
    根据所述第三实际竞价值,向所述资源调度设备发送新的资源竞价请求,以请求释放所述目标可调度资源。
  24. 根据权利要求23所述的方法,其特征在于,所述第三实际竞价值为预先设定的最低竞价值。
  25. 一种资源定价方法,其特征在于,包括:
    获取目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据;
    根据所述目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据,预测所述目标可调度资源的功耗代价;
    根据所述目标可调度资源的功耗代价,确定所述目标可调度资源在资源市场中的基准竞价值。
  26. 根据权利要求25所述的方法,其特征在于,根据所述目标可调度资 源的及所述目标可调度资源依赖的基础设施的当前功耗数据,预测所述目标可调度资源的功耗代价,包括:
    获取所述基础设施当前正在服务的可调度资源的数量以及所述基础设施与其当前正在服务的各可调度资源之间的拓扑关系;
    根据所述数量以及所述拓扑关系,计算所述基础设施对所述目标可调度资源的功耗贡献比;
    根据所述功耗贡献比、所述目标可调度资源的及所述基础设施的当前功耗数据,预测所述目标可调度资源的功耗代价。
  27. 根据权利要求25或26所述的方法,其特征在于,在确定所述目标可调度资源在资源市场中的基准竞价值之后,还包括:
    将所述目标可调度资源的基准竞价值提供给资源调度设备,以供所述资源调度设备将所述目标可调度资源的基准竞价值提供给有资源需求的各应用程序。
  28. 根据权利要求27所述的方法,其特征在于,将所述目标可调度资源的基准竞价值提供给资源调度设备,包括:
    向资源调度设备发送资源竞价请求,所述资源竞价请求包括所述目标可调度资源的基准竞价值,以将所述目标可调度资源的基准竞价值提供给所述资源调度设备。
  29. 一种资源调度设备,其特征在于,包括:存储器和处理器;
    所述存储器,用于存储计算机程序;
    所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
    接收第一应用程序的资源竞价请求,所述资源竞价请求包括所述第一应用程序为申请资源给出的第一实际竞价值;
    确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;
    根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;
    将所述第一应用程序对所述目标可调度资源的申请结果返回给所述第一应用程序。
  30. 一种资源申请设备,其特征在于,包括:存储器、处理器以及通信组件;
    所述存储器,用于存储计算机程序;
    所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
    响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;
    通过所述通信组件将所述资源竞价请求发送给资源调度设备,以供所述资源调度设备根据所述第一实际竞价值为所述第一应用程序与其它应用程序竞价申请目标可调度资源;
    通过所述通信组件接收所述资源调度设备返回的所述第一应用程序对所述目标可调度资源的申请结果。
  31. 一种资源提供设备,其特征在于,包括:存储器和处理器;
    所述存储器,用于存储计算机程序;
    所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
    获取目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据;
    根据所述目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据,预测所述目标可调度资源的功耗代价;
    根据所述目标可调度资源的功耗代价,确定所述目标可调度资源在资源市场中的基准竞价值。
  32. 一种资源管理系统,其特征在于,包括:资源调度方以及资源需求方;
    所述资源需求方,用于响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将所述资源竞价请求发送给所述资源调度方,以及接收所述资源调度方返回的所述 第一应用程序对目标可调度资源的申请结果;
    所述资源调度方,用于接收所述资源竞价请求,确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;以及将所述第一应用程序对所述目标可调度资源的申请结果返回给所述资源需求方。
  33. 根据权利要求32所述的系统,其特征在于,还包括:资源提供方;
    所述资源提供方,用于根据所述目标可调度资源的及所述目标可调度资源依赖的基础设施的当前功耗数据,预测所述目标可调度资源的功耗代价;根据所述目标可调度资源的功耗代价,确定所述目标可调度资源的基准竞价值,以及通过所述资源调度方将所述目标可调度资源的基准竞价值提供给所述资源需求方;
    所述资源需求方具体用于:在申请资源时,根据所述目标可调度资源的基准竞价值确定所述第一实际竞价值。
  34. 一种机房系统,其特征在于,包括:至少一个可调度资源、至少一个基础设施、资源申请设备以及资源调度设备;所述至少一个基础设施为所述至少一个可调度资源提供基础服务;
    所述资源申请设备,用于响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将所述资源竞价请求发送给所述资源调度设备,以及接收所述资源调度设备返回的所述第一应用程序对目标可调度资源的申请结果;
    所述资源调度设备,用于接收所述资源竞价请求,确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;以及将所述第一应用程序对所述目标可调度资源的申请结果返回给 所述资源申请设备;所述目标可调度资源属于所述至少一个可调度资源。
  35. 一种数据中心系统,其特征在于,包括:至少一个机房、资源申请设备以及资源调度设备;每个机房包括至少一个可调度资源和至少一个基础设施,所述至少一个基础设施为所述至少一个可调度资源提供基础服务;
    所述资源申请设备,用于响应于资源申请需求,生成资源竞价请求,所述资源竞价请求包括第一应用程序为申请资源给出的第一实际竞价值;将所述资源竞价请求发送给所述资源调度设备,以及接收所述资源调度设备返回的所述第一应用程序对目标可调度资源的申请结果;
    所述资源调度设备,用于接收所述资源竞价请求,确定与所述第一应用程序竞价申请目标可调度资源的其它应用程序以及所述其它应用程序为申请资源给出的实际竞价值;根据所述第一实际竞价值与所述其它应用程序为申请资源给出的实际竞价值,确定所述第一应用程序能否申请到所述目标可调度资源;以及将所述第一应用程序对所述目标可调度资源的申请结果返回给所述资源申请设备;所述目标可调度资源属于所述至少一个机房中的可调度资源。
  36. 一种存储有计算机程序的计算可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现上述权利要求1-28任一项所述方法中的步骤。
PCT/CN2019/105458 2019-09-11 2019-09-11 资源调度、申请与定价方法、设备、系统及存储介质 WO2021046777A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/105458 WO2021046777A1 (zh) 2019-09-11 2019-09-11 资源调度、申请与定价方法、设备、系统及存储介质
CN201980097832.0A CN114072767B (zh) 2019-09-11 2019-09-11 资源调度、申请与定价方法、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/105458 WO2021046777A1 (zh) 2019-09-11 2019-09-11 资源调度、申请与定价方法、设备、系统及存储介质

Publications (1)

Publication Number Publication Date
WO2021046777A1 true WO2021046777A1 (zh) 2021-03-18

Family

ID=74866845

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/105458 WO2021046777A1 (zh) 2019-09-11 2019-09-11 资源调度、申请与定价方法、设备、系统及存储介质

Country Status (2)

Country Link
CN (1) CN114072767B (zh)
WO (1) WO2021046777A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886706A (zh) * 2023-09-07 2023-10-13 典基网络科技(上海)有限公司 一种应用程序放置方法、装置、电子设备和存储介质
CN117032940A (zh) * 2023-10-08 2023-11-10 北京小米移动软件有限公司 资源调度的系统、方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117459397A (zh) * 2022-07-19 2024-01-26 华为云计算技术有限公司 基于公有云服务的公网带宽分配方法及云管理平台

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100076805A1 (en) * 2008-09-24 2010-03-25 Netapp, Inc. Adaptive Scheduling Of Storage Operations Based On Utilization Of Multiple Client And Server Resources In A Distributed Network Storage System
CN102831015A (zh) * 2012-08-01 2012-12-19 华为技术有限公司 多核处理器的调度方法和设备
CN103023963A (zh) * 2012-10-31 2013-04-03 浪潮集团有限公司 一种用于云存储资源优化分配的方法
CN103516618A (zh) * 2012-06-21 2014-01-15 阿里巴巴集团控股有限公司 一种信息投放方法、系统及相关装置
CN107249217A (zh) * 2017-05-25 2017-10-13 东南大学 自组织移动云网络的联合任务卸载和资源分配方法
CN109426550A (zh) * 2017-08-23 2019-03-05 阿里巴巴集团控股有限公司 资源的调度方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002312334B2 (en) * 2001-06-07 2004-11-25 Contentguard Holdings, Inc. Method for managing access and use of resources by verifying conditions and conditions for use therewith
DE10240138A1 (de) * 2002-01-18 2003-08-14 Siemens Ag Dynamische Zuordnung von Funkressourcen in einem Funk-Kommunikationssystem
US10719872B2 (en) * 2017-01-10 2020-07-21 International Business Machines Corporation Bid advising in resource allocation data analytics frameworks
CN108712480B (zh) * 2018-05-02 2021-03-16 上海交通大学 数据中心中的非it资源分配系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100076805A1 (en) * 2008-09-24 2010-03-25 Netapp, Inc. Adaptive Scheduling Of Storage Operations Based On Utilization Of Multiple Client And Server Resources In A Distributed Network Storage System
CN103516618A (zh) * 2012-06-21 2014-01-15 阿里巴巴集团控股有限公司 一种信息投放方法、系统及相关装置
CN102831015A (zh) * 2012-08-01 2012-12-19 华为技术有限公司 多核处理器的调度方法和设备
CN103023963A (zh) * 2012-10-31 2013-04-03 浪潮集团有限公司 一种用于云存储资源优化分配的方法
CN107249217A (zh) * 2017-05-25 2017-10-13 东南大学 自组织移动云网络的联合任务卸载和资源分配方法
CN109426550A (zh) * 2017-08-23 2019-03-05 阿里巴巴集团控股有限公司 资源的调度方法及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886706A (zh) * 2023-09-07 2023-10-13 典基网络科技(上海)有限公司 一种应用程序放置方法、装置、电子设备和存储介质
CN116886706B (zh) * 2023-09-07 2023-11-28 典基网络科技(上海)有限公司 一种应用程序放置方法、装置、电子设备和存储介质
CN117032940A (zh) * 2023-10-08 2023-11-10 北京小米移动软件有限公司 资源调度的系统、方法、装置、电子设备及存储介质
CN117032940B (zh) * 2023-10-08 2024-02-13 北京小米移动软件有限公司 资源调度的系统、方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114072767A (zh) 2022-02-18
CN114072767B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
US11630704B2 (en) System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information
US10911367B2 (en) Computerized methods and systems for managing cloud computer services
Praveenchandar et al. RETRACTED ARTICLE: Dynamic resource allocation with optimized task scheduling and improved power management in cloud computing
CN109791504B (zh) 针对应用容器的动态资源配置
US8938542B2 (en) Fulfillment of requests for computing capacity
US20130086588A1 (en) System and Method of Using Transaction IDS for Managing Reservations of Compute Resources Within a Compute Environment
WO2021046777A1 (zh) 资源调度、申请与定价方法、设备、系统及存储介质
Sathiyamoorthi et al. Adaptive fault tolerant resource allocation scheme for cloud computing environments
CN111433745B (zh) 共享计算资源的动态容量优化
US8739173B2 (en) System and method of providing a fixed time offset based dedicated co-allocation of a common resource set
WO2016041446A1 (zh) 一种资源分配方法、装置及设备
CN113419846A (zh) 资源配置方法和装置、电子设备及计算机可读存储介质
Meng et al. A fault‐tolerant dynamic scheduling method on hierarchical mobile edge cloud computing
WO2021046774A1 (zh) 资源调度与信息预测方法、设备、系统及存储介质
CN115129458B (zh) 基于容器的进程调度方法、装置、设备及存储介质
US8589551B2 (en) Multiprocessor computer and network computing system processing use and provision of hardware resource via a network
WO2019119951A1 (zh) 设备资源管理
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
US20220188152A1 (en) System and Method for Consumerizing Cloud Computing
Yu et al. Towards dynamic resource provisioning for traffic mining service cloud
KR20160063430A (ko) 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법
Li et al. A research of resource scheduling strategy with SLA restriction for cloud computing based on Pareto optimality M× N production model
WO2021046775A1 (zh) 资源调度、申请与调控方法、设备、系统及存储介质
Hung et al. A thin-thick client collaboration for optimizing task scheduling in mobile cloud computing
US20230342200A1 (en) System and method for resource management in dynamic systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19944829

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19944829

Country of ref document: EP

Kind code of ref document: A1