CN107659433A - 一种云资源调度方法及设备 - Google Patents

一种云资源调度方法及设备 Download PDF

Info

Publication number
CN107659433A
CN107659433A CN201710807304.2A CN201710807304A CN107659433A CN 107659433 A CN107659433 A CN 107659433A CN 201710807304 A CN201710807304 A CN 201710807304A CN 107659433 A CN107659433 A CN 107659433A
Authority
CN
China
Prior art keywords
resource
application
task
chromosome
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710807304.2A
Other languages
English (en)
Other versions
CN107659433B (zh
Inventor
李沸乐
赫罡
高功应
童俊杰
苗杰
王磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201710807304.2A priority Critical patent/CN107659433B/zh
Publication of CN107659433A publication Critical patent/CN107659433A/zh
Application granted granted Critical
Publication of CN107659433B publication Critical patent/CN107659433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Genetics & Genomics (AREA)
  • General Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Physiology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种云资源调度方法及设备,涉及云计算领域,本申请实施例提供的方法能够对私有云资源和公有云资源进行统一管理,实现混合云资源的优化调度。该方法包括:云资源调度设备获取应用的工作流信息,其中工作流信息包含应用中每个任务的信息;根据工作流信息,判断在私有云资源中为应用分配云资源时,应用的运行完成时间是否满足用户要求。若应用的运行完成时间满足用户要求,则在私有云资源中为应用分配云资源。若应用的运行完成时间不满足用户要求,则在公有云资源中为应用分配云资源。本申请应用于云资源调度。

Description

一种云资源调度方法及设备
技术领域
本申请涉及云计算领域,尤其涉及一种云资源调度方法及设备。
背景技术
云计算是目前广为流传的一种商业模式。在云计算中,用户希望租用合适的计算资源,满足需求的同时降低使用成本,服务提供商希望能快速高效地分配资源,以提高资源利用率增加收益。因此研究云资源调度具有十分重要的意义与现实价值。云资源调度中主要包括三个方面的内容:调度目标、调度机制和调度算法。调度目标是指在不同的用户需求下,所要满足的目标。因为云具有弹性、按需付费、扩展灵活等特点,因此可以满足很多不同的需求。主要的调度目标有任务完成时间、资源利用率、支出费用、负载均衡等。调度算法是指在系统中具体进行资源调度及分配所遵循的算法步骤,是实现资源调度的根本依据。通常针对不同的资源和用户,制定不同的调度目标,选取不一样的调度策略。云计算的资源调度算法是应用在云平台的资源管理中的,系统中的调度器模块将任务分发到由基础硬件资源构成的虚拟资源池中的选定的资源槽slot上。云计算中的调度机制是将硬件基础设施虚拟化成虚拟机节点,搭建成云平台,用户任务发送到云中,并且安排监控器在处理过程中监控各个虚拟节点的资源使用情况,当资源不能满足用户需求或者被其他用户占用了,就视为无效资源,需要在资源调度器统一管理的其他云中找到有效资源才可以运行任务。
在云计算领域中,云资源主要分为两种云环境类型:私有云资源和公有云资源。其中,私有云资源针对特定的组织或企业内部,为特定的组织或企业提供云计算服务,具有数据安全性好、成本基本固定且较低的优点,但是私有云资源普遍可用资源有限且性能水平受限。公有云资源是第三方供应商为租户提供基础设施及可租用的公共服务,可有多个企业或个人共同使用,各家供应商之间有一定的差异、公有云资源具有可用资源多、性能水平弹性大的优点,但是需要按使用情况计费,会增加用户的成本花费。目前中小型企业在使用单一的云平台时,存在一定的问题。仅仅使用单一的公有云平台,可以降低企业前期投资成本,不必花费太多时间去关注IT设施的安全和维护,但是却无法应对公有云突发的故障问题,且后期仍需花费租金。如果企业用户仅仅使用内部的私有云,那么构建私有云所需要的IT设施将会是企业很大的一部分开销,而且当工作负荷高峰来临时,由于有限的资源,无法承受巨大的用户任务,不得不继续花费资金用来扩大基础设施的规模,当工作负荷恢复到正常情况时,这部分IT资源又闲置下来,造成资源的浪费。
为了解决上述问题,混合云作为新型云环境,具有广泛的实用价值。混合云是指由多个相对独立的私有云资源和公有云资源组成的复杂云环境,由大量异构节点构。通过建立、使用混合云这种云环境,能够弥补上述单独使用私有云资源或单独使用公有云资源时出现的问题。
在对混合云资源调度中,一般通过对混合云中各个同构云资源的动态分配或各个单一云资源的资源调度来实现混合云资源的调度。针对这一情况,发明人发现现有技术中至少存在以下技术问题:现有技术中没有充分把握混合云中各云资源的特点,根据私有云和公有云的不同特点,统一组织、管理混合云资源。
发明内容
本申请提供一种云资源调度方法及设备,能够在对混合云资源调度时,针对私有云资源和公有云资源的不同特点,对私有云资源和公有云资源进行统一管理,根据用户要求为用户分配云资源,实现混合云资源的优化调度。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请实施例提供了一种云资源调度方法,包括:云资源调度设备获取应用的工作流信息,其中工作流信息包含应用中每个任务的信息;根据工作流信息,判断在私有云资源中为应用分配云资源时,应用的运行完成时间是否满足用户要求。若应用的运行完成时间满足用户要求,则在私有云资源中为应用分配云资源。若应用的运行完成时间不满足用户要求,则在公有云资源中为应用分配云资源。本申请实施例在为应用分配云资源时,优先考虑从私有云资源中为应用分配云资源,当私有云资源不能满足用户对于应用运行完成时间的要求时,再在公有云资源中为应用分配云资源。从而能够充分利用私有云资源使用成本低、安全性好,而公有云资源处理性能强的特点,为用户提供更加优化的混合云资源调度的方法。
可选的,该方法还包括:根据应用中的每个任务的属性,将任务分为M个任务组。根据私有云资源中每个资源插槽的性能,将资源插槽分为与任务组对应的M个资源插槽组。例如,根据任务的指令计算量、网络传输数据量以及磁盘读写数据量,将任务分为计算能力任务组、网络带宽任务组、磁盘读写任务组。根据资源插槽的计算能力、传输数据速度以及磁盘书写数据速度,将资源插槽分为计算能力资源组、网络带宽资源组、磁盘读写资源组。从与任务组对应的资源插槽组中,为任务组中的任务随机匹配资源插槽。根据应用中的每个任务与为任务匹配的资源插槽的对应关系,生成初始化染色体,将至少两个互不相同的初始化染色体组成初始的染色体群。利用遗传算法,对所述染色体群中的染色体进行遗传迭代,生成新的染色体,并将所述新的染色体添加至所述染色体群中。其中,在对所述染色体群中的染色体进行遗传迭代时,可以采用轮盘赌算法根据适应度函数从染色体群中选择父种群染色体,对父种群染色体进行遗传迭代生成新的染色体。其中适应度函数用于表示根据染色体为应用中的每个任务分配资源插槽后,完成应用中最晚完成的任务所需要的时长。在采用轮盘赌算法选择父种群染色体时,适应度函数值越小的染色体被选为父种群染色体的概率越高。当遗传迭代次数达到预设次数时,根据染色体群中适应度函数值最小的染色体,为任务分配资源插槽。其中,不同的所述染色体对应不同的资源插槽分配方式。
可选的,在对染色体群中的染色体进行遗传迭代生成新的染色体后,还包括:对新的染色体进行自传检测,当新的染色体所表示的资源插槽的分配方式中,若多个任务匹配同一资源插槽时,则对新的染色体进行变异处理,将多个任务匹配到对应资源插槽匹配组中负载更小的资源插槽;将进行变异处理后的新的染色体添加至所述染色体群中。
可选的,当在公有云资源中为应用分配云资源时,该方法还包括:获取用户的预期要求,预期要求包括对公有云资源的属性要求。根据预期要求,计算用户与历史用户对公有云资源的属性要求的相似度。根据所述相似度,从历史用户中确定至少一个参照用户。获取参照用户对使用过的公有云资源的评分,选择评分最高的公有云资源为应用分配云资源。本申请实施例中,当云资源调度设备确定需要在公有云资源中为应用分配云资源时,根据与该用户要求相似的历史用户对各公有云资源的评价,为用户选择合适的公有云资源。进而能够为用户提供更加符合用户使用偏好的公有云资源,提高了用户体验。
可选的,在为用户选择合适的公有云资源后,还包括:计算应用中的每个任务的调度优先级。按照任务的调度优先级的顺序,从高到低依次为任务在公有云中分配资源插槽,以使得任务在资源插槽上的运行时间最短。在本申请实施例中,在为任务分配资源插槽时,通过先为优先级高的任务分配资源插槽,后为优先级低的任务分配资源插槽,进而将优质资源优先分配给更重要的任务,有助于缩短应用的完成时间。
可选的,在为任务在公有云资源中分配资源插槽后,上述方法还包括:计算运行应用需要的时间。根据用户预先设定的运行应用的截止时间与运行应用需要的时间,计算调整时间。根据调整时间,确定应用中包括的多个任务中各任务在所述资源插槽上运行时可增加的运行时间;根据可增加的运行时间,对运行时间有调整的任务所对应的资源插槽重新进行分配。本申请实施例中,考虑到通过上述步骤为任务分配资源插槽后,此时运行应用需要的时间可能比用户要求的运行截止时间短,这就造成了资源的浪费,因此可以通过适当的调整,将应用中各任务匹配到性能略低的资源插槽,从而在保证不超过应用的截止时间的同时,还能尽可能降低用户的花费。
第二方面,本申请实施例提供一种云资源调度设备,包括:获取单元,用于获取应用的工作流信息,工作流信息包含应用中的多个任务中每个任务的信息。判断单元,用于在获取单元获取应用的工作流信息后,根据工作流信息,判断若在私有云资源中为应用分配云资源时,应用的运行完成时间是否满足用户要求。分配单元,用于在判断单元判断应用的运行完成时间满足用户要求时,在私有云资源中为应用分配云资源;或者,在判断单元判断应用的运行完成时间不满足用户要求时,在公有云中为所述应用云资源。
可选的,分配单元具体包括:匹配单元、初始化单元、遗传迭代单元、分配私有云资源单元。其中,匹配单元,用于根据应用中的每个任务的属性,将任务分为M个任务组;根据私有云资源中每个资源插槽的性能,将资源插槽分为与任务组对应的M个资源插槽组。例如,根据任务的指令计算量、网络传输数据量以及磁盘读写数据量,将任务分为计算能力任务组、网络带宽任务组、磁盘读写任务组。根据资源插槽的计算能力、传输数据速度以及磁盘书写数据速度,将资源插槽分为计算能力资源组、网络带宽资源组、磁盘读写资源组。其中,所述计算能力任务组与所述计算能力资源组对应;所述网络带宽任务组与所述网络带宽资源组对应;所述磁盘读写任务组与所述磁盘读写资源组对应。初始化单元,用于在匹配单元将任务以及资源插槽分组后,从与任务组对应的资源插槽组中,为任务组中的任务随机匹配资源插槽;,根据应用中的每个任务与任务匹配的资源插槽的对应关系,生成初始化染色体;将至少两个互不相同的初始化染色体组成初始的染色体群。遗传迭代单元,用于在初始化单元将至少两个互不相同的初始化染色体组成初始的染色体群后,利用遗传算法,对染色体群中的染色体进行遗传迭代,生成新的染色体,并将新的染色体添加至所述染色体群中。其中,在对所述染色体群中的染色体进行遗传迭代时,可以采用轮盘赌算法根据适应度函数从染色体群中选择父种群染色体,对父种群染色体进行遗传迭代生成新的染色体。其中适应度函数用于表示根据染色体为应用中的每个任务分配资源插槽后,完成应用中最晚完成的任务所需要的时长。在采用轮盘赌算法选择父种群染色体时,适应度函数值越小的染色体被选为父种群染色体的概率越高。分配私有云资源单元,用于在遗传迭代单元生成新的染色体并将新的染色体添加至染色体群中后,当遗传迭代次数达到预设次数时,根据染色体群中适应度函数值最小的染色体,为任务分配资源插槽;其中,适应度函数用于表示根据所述染色体为所述应用中的每个任务分配资源插槽后,完成所述应用中最晚完成的任务所需要的时长;其中,不同的所述染色体对应不同的资源插槽分配方式。
可选的,遗传迭代单元还用于:对新的染色体进行自传检测,当新的染色体所表示的分配私有云资源插槽的方式中,若多个的任务匹配同一资源插槽时,则对新的染色体进行变异处理,将多个任务匹配到对应资源插槽匹配组中负载更小的资源插槽;将进行变异处理后的新的染色体添加至所述染色体群中。
可选的,分配单元包括:计算单元、选择单元。计算单元,用于在判断单元判断运行完成时间不满足用户要求后,获取用户的预期要求;预期要求包括对公有云资源的属性要求;根据预期要求,计算用户与历史用户对公有云资源的属性要求的相似度。选择单元,用于在计算单元计算用户与历史用户对公有云资源的属性要求的相似度后,根据相似度,从历史用户中确定至少一个参照用户;获取参照用户对使用过的公有云资源的评分,选择评分最高的公有云资源为应用分配云资源。
可选的,分配单元还包括:分配公有云资源单元。计算单元,还用于在选择单元选择评分最高的公有云资源为应用分配云资源后,计算应用中的每个任务的调度优先级。分配公有云资源单元,用于在计算单元计算应用中的每个任务的调度优先级后,按照任务的调度优先级的顺序,从高到低依次为任务在公有云资源中分配资源插槽,以使得任务在资源插槽上的运行时间最短。
可选的,计算单元,还用于在分配公有云资源单元为任务在公有云资源中分配资源插槽后,计算运行应用需要的时间。调整单元,用于在计算单元计算运行应用需要的时间后,根据用户预先设定的运行应用的截止时间与运行应用需要的时间,计算调整时间;运行所述应用的截止时间表示用户对运行应用的时间限制;根据调整时间,确定应用中各任务在所述资源插槽上运行时可增加的运行时间;根据可增加的运行时间,对运行时间有调整的任务所对应的资源插槽重新进行分配。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请的实施例提供的一种应用的工作流模型的示意图;
图2为本申请的实施例提供的一种混合云资源调度系统的架构示意图;
图3为本申请的实施例提供的一种混合云资源调度方法的流程示意图;
图4为本申请的实施例提供的一种判断在私有云资源中为应用分配云资源时应用的运行完成时间是否满足用户要求的流程示意图;
图5为本申请的实施例提供的一种互换两个父种群染色体资源的示意图;
图6为本申请的实施例提供的一种混合云资源调度方法的流程示意图;
图7为本申请的实施例提供的一种在私有云资源中为应用分配云资源的流程示意图;
图8为本申请的实施例提供的一种云资源调度设备的结构示意图;
图9为本申请的实施例提供的一种云资源调度设备中的分配单元的结构示意图;
图10为本申请的实施例提供的一种云资源调度设备中的分配单元的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
针对本申请的实施例用到的技术数据描述如下:
在分布式系统中的一个需要运行的应用通常由多个任务组成,其中有些任务存在相互依赖关系必须按序依次执行,也有部分任务可以同时并行执行。具体的,可以通过建立一个工作流模型的方式来描述应用。本申请实施例中采用DAG(Directed Acyclic Graph,有向无环图)来抽象化工作流任务,在DAG图上可以进一步构造出耗时模型以及费用模型。如图1所示,为将一个应用通过DAG图描述的工作流实例。其中,圆形节点表示一个应用的工作流中的一个任务。每个节点中的第一个数字为任务编号,第二个数字为任务计算量大小,单位为百万条(MI),用符号wn表示,例如在最上面一个节点中“1/1”表示该节点的任务编号为1,该任务的计算量w1=1MI。有向边的箭头指向表示了任务之间的依赖关系,即先后执行关系,例如该图中任务2、任务3、任务4需要依赖于任务1的执行结果。有向边上的数字为前驱节点与后驱节点之间的传输数据量,即前驱节点的输出数据量和后继节点的输入数据量,单位为兆比特(MB),其中前驱节点的输出数据量用符号doutn表示,后继节点的输入数据量用符号dinn表示,例如任务1在执行完毕后,需要将3MB的数据传输至任务2,即dout1=3MB,din2=3MB。首节点左侧数字表示首节点的输入数据量标注,图1中首节点任务1的输入数据量为6MB。
本申请的实施例应用于在混合云资源中为用户分配、调度云资源的场景中。
如图2所示,为本申请实施例提供的一种混合云资源调度系统的架构示意图。该网络系统中包括私有云资源、公有云资源、监控器、云资源调度设备、Web(World Wide Web,全球广域网)服务器以及用户终端。其中,云资源调度设备分别与监控器、私有云资源、公有云资源连接以及Web服务器连接,监控器与私有云资源、公有云资源连接。监控器用于对私有云资源和公有云资源中的资源使用情况进行监控,其中资源使用情况具体可以包括:CPU计算性能、内存空间、磁盘读写速率、网络带宽等信息,之后监控器将这些资源信息上报给云资源调度设备,以使得云资源调度设备根据这些资源信息为应用分配云资源。具体的,当用户需要调用云资源时,可以先在终端进行身份认证并构建应用,然后再将应用提交给Web服务器。Web服务器在接收到应用后,将应用的工作流信息提交给云资源调度设备。云资源调度设备根据应用的工作流信息以及当前混合云资源的资源使用情况,将应用分配至相应的云资源中。
本申请实施例中,将每个私有云资源或公有云资源中的所有可调度资源划分为固定的资源插槽(slot),并依次编号。其中一个资源插槽同一时刻只能运行工作流中的一个任务。其中,私有云资源中的资源模型可以为slotk={μk、DSk、NBk、λk},其中,μk表示此云中第k个资源插槽的计算能力,单位MIPS(百万条指令/秒);DSk表示第k个资源插槽的磁盘书写数据的速度,单位MB/s(兆比特/秒);NBk表示第k个资源插槽的网络带宽,即不同资源插槽间数据传输速度,单位MB/s(兆比特/秒),λk表示第k个资源插槽的资源状态,空闲可用为1,不可用为0。公有云资源中的资源模型为slotp={μp,DSp,NBp,cCp,cTp,λp},其中μp表示此云中第p个资源插槽的计算能力,单位MIPS;DSp表示第p个资源插槽的磁盘书写数据的速度,单位MB/s;NBp表示第p个资源插槽的网络带宽,即不同资源插槽间数据传输速度,单位MB/s;cCp表示计算价格,单位为$/MI(美元/百万条指令);cTp表示数据传输到其他资源插槽的价格,单位为$/MB(美元/兆比特);λp表示第p个资源插槽的资源状态,可用为1,不可用为0。
当任务n在资源插槽k上运行时,所需要的运行时间为
当任务n在私有云中的资源插槽上运行时无费用;当任务n在公有云中的资源插槽上运行时的费用开销为
基于上述混合云资源调度系统的架构,本申请实施例提供一种混合云资源调度方法,参照图3所示,包括以下步骤:
S101、云资源调度装置获取应用的工作流信息。
其中,工作流信息包含应用中的多个任务中每个任务的信息。具体的,用户通过终端将应用提交给Web服务器。Web服务器在接收到应用后,将应用的工作流信息提交给云资源调度设备。
S102、根据工作流信息,判断在私有云资源中为应用分配云资源时,应用的运行完成时间是否满足用户要求。
具体的,参照图4所示,判断在私有云资源中为应用分配云资源时,应用的运行完成时间是否满足用户要求,具体可以包括:
S1021、根据应用中的每个任务的属性,将任务分为M个任务组。根据私有云资源中每个资源插槽的性能,将资源插槽分为与任务组对应的M个资源插槽组。
示例性的,可以根据任务的指令计算量、网络传输数据量以及磁盘读写数据量,所述将任务分为计算能力任务组、网络带宽任务组、磁盘读写任务组。根据资源插槽的计算能力、传输数据速度以及磁盘书写数据速度,将资源插槽分为计算能力资源组、网络带宽资源组、磁盘读写资源组。其中,计算能力任务组与计算能力资源组对应;网络带宽任务组与网络带宽资源组对应;磁盘读写任务组与磁盘读写资源组对应。需要说明的是,本申请实施例中也可根据应用中任务的的其他属性以及私有云资源插槽的其他性能,对所述任务以及私有云资源插槽进行分组,对此本申请不做限制。
具体的,步骤S1021中将任务以及资源插槽分组的过程,可以包括以下S1021a-S1021e的内容:
S1021a、获取私有云资源中所有空闲可用的资源插槽,计算所有K个空闲可用的资源插槽各项性能的平均值。其中,K表示私有云资源中所有空闲可用的资源插槽的个数。
具体可以包括,计算所有空闲可用的资源插槽的计算能力、传输数据速度以及磁盘书写数据速度的平均值,即
S1021b、计算应用中任务的属性的平均值。
具体可以包括,计算应用所中任务的指令计算量、网络传输数据量以及磁盘读写数据量的平均值,即
S1021c、计算基准指标值:
S1021d、计算应用中每个任务的属性指标:
其中,g1n表示任务n的指令计算量的指标;g2n表示任务n的网络传输数据量的指标;g3n表示任务n的磁盘读写数据量的指标。
当上述三个指标中若g1n最大则表示此任务需要匹配计算能力强的资源,若g2n最大则表示需要匹配网络带宽高的资源,若g3n最大则表示需要匹配磁盘I/O读写快的资源。因此,可以根据应用中每个任务的上述三个指标中数值最大的指标,将任务分为计算能力任务组、网络带宽任务组、磁盘读写任务组。
S1021e、计算私有云资源中每个资源插槽的性能指标:
其中,z1k表示资源插槽k的指令能力的指标;z2k表示资源插槽k的传输数据速度的指标;z3k表示资源插槽k的磁盘书写数据速度的指标。
将K个资源插槽中z1k最小的个资源插槽划分至计算能力资源组、z2k最小的个资源插槽划分至网络带宽资源组、z3k中最小的个资源插槽划分至磁盘读写资源组。
其中,若划分时出现同一资源插槽重复属于多个划分组时,则以此资源插槽的zik(i=1或2或3)中最小的值为准来划分该资源插槽。其他划分组中产生的空缺由剩下的未分配的资源插槽中对应性能指标参数值最小的资源插槽补上。最终三类资源插槽分别有分别为计算能力资源组、网络带宽资源组、磁盘读写资源组。
本申请实施例中,在为应用中的任务从私有云资源中分配云资源时,通过将私有云资源中的资源插槽和应用中的任务根据属性划分为多个匹配组,再基于匹配组的遗传算法为应用分配资源插槽。从而避免了在为应用中各任务分配资源插槽时进行全局匹配,进而导致迭代过程复杂、计算量大的问题。
S1022、从与任务组对应的资源插槽组中,为任务组中的任务随机匹配资源插槽;
具体的,步骤S1022可以包括以下步骤S1022a-S1022b的内容:
S1022a、将应用中的任务按照DAG图描述的工作流模型,自底向上将任务分层,一个任务的任务层数为后续任务节点最大层数加1。
示例性的,以图1所述应用的工作流模型为例,P8和P7为第0层,P5和P6和P4为第1层,P2和P3为第2层,P1为第3层。其中Pn表示任务n。
S1022b、从最高层的任务开始,每层任务依次在本任务所属任务组对应的资源插槽组中随机匹配空闲的资源插槽,若无空闲的则匹配等待队列最短的资源插槽。
示例性的,依然以图1所述应用的工作流模型为例,假设计算能力任务组包括P2、P3、P6、P7,对应的计算能力资源组包括Slot4、slot5、slot6、slot7、slot8、slot9;网络带宽任务组包括P4、P5,对应的网络带宽资源组包括slot10、slot11、slot12;磁盘读写任务组包括P1、P8,对应的磁盘读写资源组包括slot1、slot2、slot3。其中Pn表示任务n,slotm表示资源插槽m。
进而为每层任务依次在本任务所属任务组对应的资源插槽组中随机匹配空闲的资源插槽。例如,为第3层任务P1匹配slot1,为第2层任务P2、P3分别匹配Slot4、slot5,为第1层任务P5、P6、P4分别匹配slot11、slot6、slot10,为第0层任务P8、P7分别匹配Slot2、Slot7
S1023、根据应用中的每个任务与为任务匹配的资源插槽的对应关系,生成初始化染色体;将至少两个互不相同的初始化染色体组成初始的染色体群。
具体的,例如根据上述S1022所举实例,可以生成一个初始化染色体P1(1)P8(2)P2(4)P3(5)P6(6)P7(7)P4(10)P5(11),其中Pn(m)表示任务n与资源插槽m的对应关系。
其中,不同的所述染色体对应不同的资源插槽分配方式。
S1024、利用遗传算法,对染色体群中的染色体进行遗传迭代,生成新的染色体,并将新的染色体添加至染色体群中。
在一种可能的实现方法中,步骤S1024可以包括以下步骤S1024a-S1024c:
S1024a、采用轮盘赌算法在染色体群中根据适应度函数值选择父种群染色体,并对父种群染色体进行遗传迭代,生成新的染色体。适应度函数值越小的染色体被选为父种群染色体的概率越高。
示例性的,染色体的适应度函数可以表示为:
其中,表示在slotk中运行任务n所需要的时间;tWaitn表示任务n在运行之前的等待时间;fitT指根据染色体为应用中的每个任务分配资源插槽后,完成应用中最晚完成的任务所需要的时长。
进而,染色体群中第j个染色体被选为父种群染色体的概率可以表示为:
其中,m为染色体群中染色体个数。
然后,根据染色体群中每个染色体被选为父种群染色体的概率,选择本次遗传迭代的父种群染色体。
本申请实施例中,采用轮盘赌算法,根据染色体的适应度函数值选择用于生成新染色体的父种群染色体,进而能够在每次进行遗传迭代时选出更加合适的父种群染色体,从而使生成的新染色体更加接近要求,提高了遗传迭代的效率。
S1024b、在选出父种群染色体后,随机生成两个不大于N的整数n1、n2,其中N表示应用中的任务总个数。将两个父种群染色体中第n1和第n2个任务-资源插槽匹配对中间部分进行资源互换,生成两个新的染色体。
示例性的,假设两个父种群染色体为:
染色体1:P1(1)P8(2)P2(4)P3(5)P6(6)P7(7)P4(10)P5(11)
染色体2:P1(1)P8(3)P7(5)P3(7)P2(8)P6(9)P5(10)P4(12)
若随机生成n1=2,n2=6,如图5所述,对两个父种群染色体中第2和第6个任务-资源插槽匹配对中间部分进行资源互换。
进而生成如下两个子串:
P1(1)P8(3)P2(8)P3(7)P6(9)P7(5)P4(10)P5(11)
P1(1)P8(2)P7(7)P3(5)P2(4)P6(6)P5(10)P4(12)
对这两个子串,按照其中资源插槽的编号从小到大排列,生成两个新的染色体:
染色体3:P1(1)P8(3)P7(5)P3(7)P2(8)P6(9)P4(10)P5(11)
染色体4:P1(1)P8(2)P2(4)P3(5)P6(6)P7(7)P5(10)P4(12)
可选的,在步骤S1024b后,所述方法还可以包括:
S1024c、对新的染色体进行自传检测,当新的染色体所表示的资源插槽的分配方式中,若多个任务匹配同一资源插槽时,则对新的染色体进行变异处理,将多个任务匹配到对应资源插槽匹配组中负载更小的资源插槽;将进行变异处理后的新的染色体添加至染色体群中。
本申请实施例中,为了使任务分配到更加合适的资源,当多个任务都与同一资源插槽匹配时,则将这多个任务重新匹配到负载更小的资源插槽,进而实现了资源插槽的负载均衡,提高资源利用率、缩短任务等待时间。
S1025、当遗传迭代次数达到预设次数时,根据所述染色体群中适应度函数值最小的染色体,为所述任务分配资源插槽;所述适应度函数用于表示根据所述染色体为所述应用中的每个任务分配资源插槽后,完成所述应用中最晚完成的任务所需要的时长;其中,不同的所述染色体对应不同的资源插槽分配方式。
具体的,通过重复执行步骤S1024所述遗传迭代的过程并生成多个新的染色体,并将这些新的染色体添加至染色体群中。
当遗传迭代次数达到预设次数时,则从染色体群中选择适应度函数值最小的染色体。根据该染色体所表示的资源插槽分配方式,为应用中的每个任务分配资源插槽。
S1026、判断当采用步骤S1025中根据所述染色体群中适应度函数值最小的染色体为所述任务分配资源插槽时,应用的运行完成时间是否满足用户要求。
S103、若应用的运行完成时间满足用户要求,则在私有云资源中为应用分配云资源。
具体的,当应用的运行完成时间未超出用户设定的截止时间DT时,则确定应用的运行完成时间满足用户要求。将选中的资源插槽的资源状态λk由“0”修改为“1”,并将任务下发至对应的资源插槽,完成云资源调度。其中,用户设定的截止时间DT表示用户对应用运行完成的总时间限制。
本申请实施例在为应用分配云资源时,通过判断从私有云资源中为应用分配云资源能否满足用户要求,当能够满足时则优先在私有云资源中为应用分配云资源,从而提高了私有云资源的使用效率,能够充分发挥私有云资源使用成本低、安全性好的特点。
本申请实施例提供另一种混合云资源调度方法,参照图6所示,包括以下步骤:
S201、云资源调度装置获取应用的工作流信息。
S202、根据工作流信息,判断在私有云资源中为应用分配云资源时,应用的运行完成时间是否满足用户要求。
上述步骤S201-S202的实现过程及效果,具体可以参照上述步骤S101-S102中对应的描述,重复之处不再赘述。
S203、若应用的运行完成时间不满足用户要求,则在私有云资源中为应用分配云资源。
具体的,当应用的运行完成时间超出用户设定的截止时间DT时,则确定需要将应用置于在公有云资源上完成。进而在公有云资源中为应用分配云资源。
如图7所示,步骤S203具体可以包括以下步骤S2031-S2035:
S2031、获取用户的预期要求。根据预期要求,计算用户与历史用户对公有云资源的属性要求的相似度。
其中,预期要求包括对所述公有云资源的属性要求。
具体的,用户的预期要求Ti可以包括:
Ti={ti1,ti2,ti3,ti4}
其中,tiu表示用户i对公有云资源的性能u的要求。例如ti1,ti2,ti3,ti4分别表示用户i对公有云资源的计算能力、磁盘大小、内存空间、网络带宽的要求。
对应的,历史用户j对公有云资源的要求为:
Tj={tj1,tj2,tj3,tj4}
其中,tju表示历史用户j对公有云资源的性能u的要求。tj1,tj2,tj3,tj4分别表示历史用户j对公有云资源的计算能力、磁盘大小、内存空间、网络带宽的要求。
计算用户i与历史用户j对公有云资源的属性要求的相似度sim(i,j):
其中,表示所有历史用户对公有云资源的性能u的要求的平均值。
S2032、根据相似度,从历史用户中确定至少一个参照用户。获取参照用户对使用过的公有云资源的评分,选择评分最高的公有云资源为应用分配云资源。
具体的,从历史用户中确定至少一个与用户i预期要求的相似度较高的历史用户作为参照用户。示例性的,可以预先设定一个参数值β,选出用户i与历史用户相似度sim(i,j)中排名前β%的历史用户,作为参照用户。
获取参照用户对使用过的公有云资源的评分,选择评分最高的公有云资源为应用分配云资源。示例性的,可以事先在系统中保存各历史用户对各公有云资源的评分矩阵Rm×n。进而从该评分矩阵Rm×n中获取参照用户对公有云资源的评分,并选择其中评分最高的共有云资源为应用分配云资源。
本申请实施例中,当云资源调度设备确定需要在公有云资源中为应用分配云资源时,根据与该用户要求相似的历史用户对各公有云资源的评价,为用户选择合适的公有云资源。进而能够为用户提供更加符合用户使用偏好的公有云资源,提高了用户体验。
S2033、计算应用中的每个任务的调度优先级,按照任务的调度优先级的顺序,从高到低依次为任务在公有云中分配资源插槽,以使得任务在资源插槽上的运行时间最短。
示例性的,应用中的任务n的调度优先级PRn可以以任务n在应用中的重要程度来确定,具体可以通过以下公式计算:
其中,wn表示任务n的计算量,dinn表示任务n的输入数据量,doutn表示任务n的输出数据量,表示所有空闲可用的资源插槽的计算能力的平均值,表示所有空闲可用的资源插槽的传输数据速度的平均值,表示所有空闲可用的资源插槽的磁盘书写数据速度的平均值。
在计算出每个任务的调度优先级后,按照任务的调度优先级的顺序,从高到低依次为任务在公有云中分配资源插槽。
例如,假设任务优先级从高到低依次为任务1、任务3、任务2、任务5、任务4、任务6、任务8、任务7。则先为任务1在公有云中分配资源插槽,以使任务1的运行时间最短;再从剩下的资源插槽中为任务3在公有云中分配资源插槽,以使任务3的运行时间最短,依次类推直至将任务全部分配至资源插槽。
本申请实施例中,在为任务分配资源插槽时,通过先为优先级高的任务分配资源插槽,后为优先级低的任务分配资源插槽,进而将优质资源优先分配给更重要的任务,有助于缩短应用的完成时间。
S2034、计算运行应用需要的时间。根据用户预先设定的运行应用的截止时间与运行应用需要的时间,计算调整时间。
具体的,当通过步骤S2033为应用中的每个任务分配资源插槽后,计算在这种分配方式下运行应用所需要的时间DT’。再用用户预先设定的运行应用的截止时间DT减去运行应用所需要的时间DT’,得到调整时间Δt。
S2035、根据调整时间,确定应用中包括的多个任务中各任务在资源插槽上运行时可增加的运行时间。根据可增加的运行时间,对运行时间有调整的任务所对应的资源插槽重新进行分配。
具体的,将一个应用中的任务根据工作流DAG图分成L层,具体步骤可参照上述实施例中步骤S1022a的实现过程。则可以给第q层各任务增加的运行时间为其中表示第q层中运行时间最长的任务节点的耗时,表示第n层中运行时间最长的任务节点的耗时,表示各层中运行时间最长的任务节点的耗时的总和。例如,以图1所述应用为例,通过计算得到可以给第2层各任务增加的运行时间Δt2
进一步的,将有多个前驱节点或者多个后继节点的任务标记为同步任务,其他任务为普通任务。由图1所举应用的工作流实例可以看出,在两个同步任务之间可能存在多条并行的独立分支。进而可以通过将两个同步任务之间多条独立分支中运行时间短的分支的运行时间增加至与独立分支中运行时间长的分支相同的运行时间。最后,根据可增加的运行时间,对运行时间有调整的任务所对应的资源插槽重新进行分配。
例如,依然以图1为例,其中任务2与任务8为同步任务,任务2和任务8之间存在两条独立分支,两条独立分支上分别运行任务5和任务6。假设任务5的运行时间为60s,任务6的运行时间为50s。
首先,根据调整时间得出可以给第1层各任务增加的运行时间:Δt1(假设Δt1=10s)。因此,可知第1层中的任务5的运行时间可以增加至60s+10s即70s,任务6的运行时间可以增加至50s+10s,即60s。进一步的,因为任务5与任务6为任务2、8之间的两条分支,因此任务6的运行时间可以再增加至与任务5的运行时间相同的时间,即任务6的运行时间也增加至70s。最后,根据任务5的运行时间70s为任务5重新分配资源插槽、根据任务6的运行时间70s为任务6重新分配资源插槽。
本申请实施例中,考虑到在公有云资源中为任务分配资源插槽时,此时运行应用需要的时间可能比用户要求的运行截止时间短,这就造成了资源的浪费,因此可以通过适当的调整,将应用中各任务匹配到性能略低的资源插槽,从而在保证不超过应用的截止时间的同时,还能尽可能降低用户的花费。
本申请实施例提供了一种云资源调度设备,用于执行上述云资源调度方法。图8示出了所涉及云资源调度设备的一种可能的结构示意图。具体的,云资源调度设备10包括:获取单元101、判断单元102、分配单元103。其中,
获取单元101,用于获取应用的工作流信息,工作流信息包含应用中的多个任务中每个任务的信息。
判断单元102,用于在获取单元获取应用的工作流信息后,根据工作流信息,判断若在私有云资源中为应用分配云资源时,应用的运行完成时间是否满足用户要求。
分配单元103,用于在判断单元判断应用的运行完成时间满足用户要求时,在私有云资源中为应用分配云资源;或者,在判断单元判断应用的运行完成时间不满足用户要求时,在公有云中为应用分配云资源。
如图9所示,分配单元103具体可以包括:匹配单元1031、初始化单元1032、遗传迭代单元1033、分配私有云资源单元1034。其中:
匹配单元1031,用于根据应用中的每个任务的属性,将任务分为M个任务组;根据私有云资源中每个资源插槽的性能,将资源插槽分为与任务组对应的M个资源插槽组。其中,应用中的每个任务的属性至少包括:任务的指令计算量、网络传输数据量以及磁盘读写数据量;将任务分为M个任务组,包括:将任务分为计算能力任务组、网络带宽任务组、磁盘读写任务组。私有云资源中每个资源插槽的性能至少包括:资源插槽的计算能力、传输数据速度以及磁盘书写数据速度;将资源插槽分为与任务组对应的M个资源插槽组,包括:将资源插槽分为计算能力资源组、网络带宽资源组、磁盘读写资源组;其中,计算能力任务组与计算能力资源组对应;网络带宽任务组与网络带宽资源组对应;磁盘读写任务组与磁盘读写资源组对应。
初始化单元1032,用于在匹配单元将任务以及资源插槽分组后,从与任务组对应的资源插槽组中,为任务组中的任务随机匹配资源插槽;根据应用中的每个任务与任务匹配的资源插槽的对应关系,生成初始化染色体;将至少两个互不相同的初始化染色体组成初始的染色体群。
遗传迭代单元1033,用于在初始化单元将至少两个互不相同的初始化染色体组成初始的染色体群后,利用遗传算法,对染色体群中的染色体进行遗传迭代,生成新的染色体,并将新的染色体添加至染色体群中。
遗传迭代单元1033具体用于:采用轮盘赌算法,在染色体群中根据适应度函数值选择父种群染色体,并对父种群染色体进行遗传迭代,生成新的染色体,其中,适应度函数值越小的染色体被选为父种群染色体的概率越高。遗传迭代单元1033还用于:对新的染色体进行自传检测,当新的染色体所表示的分配私有云资源插槽的方式中,若多个的任务匹配同一资源插槽时,则对新的染色体进行变异处理,将多个任务匹配到对应资源插槽匹配组中负载更小的资源插槽;将进行变异处理后的新的染色体添加至染色体群中。
分配私有云资源单元1034,用于在遗传迭代单元生成新的染色体并将新的染色体添加至染色体群中后,当遗传迭代次数达到预设次数时,根据染色体群中适应度函数值最小的染色体,为任务分配资源插槽;其中,适应度函数用于表示根据染色体为应用中的每个任务分配资源插槽后,完成应用中最晚完成的任务所需要的时长;其中,不同的染色体对应不同的资源插槽分配方式。
如图10所示,分配单元103具体还可以包括:计算单元1035、选择单元1036、分配公有云资源单元1037、调整单元调整单元1038。
计算单元1035,用于在判断单元判断运行完成时间不满足用户要求后,获取用户的预期要求;预期要求包括对公有云资源的属性要求;根据预期要求,计算用户与历史用户对公有云资源的属性要求的相似度。
选择单元1036,用于在计算单元计算用户与历史用户对公有云资源的属性要求的相似度后,根据相似度,从历史用户中确定至少一个参照用户;获取参照用户对使用过的公有云资源的评分,选择评分最高的公有云资源为应用分配云资源。
计算单元1035,还用于在选择单元选择评分最高的公有云资源为应用分配云资源后,计算应用中的每个任务的调度优先级。
分配公有云资源单元1037,用于在计算单元计算应用中的每个任务的调度优先级后,按照任务的调度优先级的顺序,从高到低依次为任务在公有云资源中分配资源插槽,以使得任务在资源插槽上的运行时间最短。
计算单元1035,还用于在分配公有云资源单元为任务在公有云资源中分配资源插槽后,计算运行应用需要的时间。
调整单元调整单元1038,用于在计算单元计算运行应用需要的时间后,根据用户预先设定的运行应用的截止时间与运行应用需要的时间,计算调整时间;运行应用的截止时间表示用户对运行应用的时间限制;根据调整时间,确定应用中各任务在资源插槽上运行时可增加的运行时间;根据可增加的运行时间,对运行时间有调整的任务所对应的资源插槽重新进行分配。
需要说明的是,本申请实施例中提供的云资源调度设备中各单元所对应的其他相应描述,可以参考图3-图7以及上文中对图3-图7的对应描述内容,在此不再赘述。此外,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种云资源调度方法,其特征在于,包括:
云资源调度设备获取应用的工作流信息,所述工作流信息包含所述应用中的多个任务中每个任务的信息;
根据所述工作流信息,判断在私有云资源中为所述应用分配云资源时,所述应用的运行完成时间是否满足用户要求;
若所述应用的运行完成时间满足用户要求,则在私有云资源中为所述应用分配云资源;若所述应用的运行完成时间不满足用户要求,则在公有云资源中为所述应用分配云资源。
2.根据权利要求1所述方法,其特征在于,所述在私有云资源中为所述应用分配云资源,包括:
根据所述应用中的每个任务的属性,将所述任务分为M个任务组;
根据私有云资源中每个资源插槽的性能,将所述资源插槽分为与所述任务组对应的M个资源插槽组;
从与所述任务组对应的资源插槽组中,为所述任务组中的任务随机匹配资源插槽;根据所述应用中的每个任务与为所述任务匹配的资源插槽的对应关系,生成初始化染色体;将至少两个互不相同的初始化染色体组成初始的染色体群;
利用遗传算法,对所述染色体群中的染色体进行遗传迭代,生成新的染色体,并将所述新的染色体添加至所述染色体群中;
当遗传迭代次数达到预设次数时,根据所述染色体群中适应度函数值最小的染色体,为所述任务分配资源插槽;所述适应度函数用于表示根据所述染色体为所述应用中的每个任务分配资源插槽后,完成所述应用中最晚完成的任务所需要的时长;其中,不同的所述染色体对应不同的资源插槽分配方式。
3.根据权利要求2所述方法,其特征在于,利用遗传算法,对所述染色体群中的染色体进行遗传迭代,生成新的染色体,包括:
采用轮盘赌算法,在所述染色体群中根据所述适应度函数值选择父种群染色体,并对父种群染色体进行遗传迭代,生成所述新的染色体,其中所述适应度函数值越小的染色体被选为父种群染色体的概率越高。
4.根据权利要求2或3所述方法,其特征在于,所述方法还包括:对所述新的染色体进行自传检测,当所述新的染色体所表示的资源插槽分配方式中,若多个任务匹配同一资源插槽时,则对所述新的染色体进行变异处理,将所述多个任务匹配到对应资源插槽匹配组中负载更小的资源插槽;将进行变异处理后的新的染色体添加至所述染色体群中。
5.根据权利要求2或3所述方法,其特征在于,
所述应用中的每个任务的属性至少包括:所述任务的指令计算量、网络传输数据量以及磁盘读写数据量;所述将所述任务分为M个任务组,包括:将所述任务分为计算能力任务组、网络带宽任务组、磁盘读写任务组;
所述私有云资源中每个资源插槽的性能至少包括:所述资源插槽的计算能力、传输数据速度以及磁盘书写数据速度;所述将所述资源插槽分为与所述任务组对应的M个资源插槽组,包括:将所述资源插槽分为计算能力资源组、网络带宽资源组、磁盘读写资源组;
其中,所述计算能力任务组与所述计算能力资源组对应;所述网络带宽任务组与所述网络带宽资源组对应;所述磁盘读写任务组与所述磁盘读写资源组对应。
6.根据权利要求1所述方法,其特征在于,所述在公有云资源中为所述应用分配云资源,包括:
获取用户的预期要求,所述预期要求包括对所述公有云资源的属性要求;
根据所述预期要求,计算所述用户与历史用户对所述公有云资源的属性要求的相似度;
根据所述相似度,从所述历史用户中确定至少一个参照用户;
获取所述参照用户对使用过的公有云资源的评分,选择评分最高的公有云资源为所述应用分配云资源。
7.根据权利要求6所述方法,其特征在于,在所述选择评分最高的公有云资源为所述应用分配云资源后,所述方法还包括:
计算所述应用中的每个任务的调度优先级;
按照所述任务的调度优先级的顺序,从高到低依次为所述任务在公有云中分配资源插槽,以使得所述任务在资源插槽上的运行时间最短。
8.根据权利要求7所述方法,其特征在于,在所述依次为所述任务在公有云资源中分配资源插槽之后,所述方法还包括:
计算运行所述应用需要的时间;
根据用户预先设定的运行所述应用的截止时间与运行所述应用需要的时间,计算调整时间;
根据所述调整时间,确定所述应用中包括的多个任务中各任务在所述资源插槽上运行时可增加的运行时间;根据所述可增加的运行时间,对运行时间有调整的任务所对应的资源插槽重新进行分配。
9.一种云资源调度设备,其特征在于,包括:
获取单元,用于获取应用的工作流信息,所述工作流信息包含所述应用中的多个任务中每个任务的信息;
判断单元,用于在所述获取单元获取所述应用的工作流信息后,根据所述工作流信息,判断若在私有云资源中为所述应用分配云资源时,所述应用的运行完成时间是否满足用户要求;
分配单元,用于在判断单元判断所述应用的运行完成时间满足用户要求时,在私有云资源中为所述应用分配云资源;或者,在判断单元判断所述应用的运行完成时间不满足用户要求时,在公有云中为所述应用分配云资源。
10.根据权利要求9所述设备,其特征在于,所述分配单元具体包括:匹配单元、初始化单元、遗传迭代单元、分配私有云资源单元;
所述匹配单元,用于根据所述应用中的每个任务的属性,将所述任务分为M个任务组;根据私有云资源中每个资源插槽的性能,将所述资源插槽分为与所述任务组对应的M个资源插槽组;
所述初始化单元,用于在所述匹配单元将所述任务以及所述资源插槽分组后,从与所述任务组对应的资源插槽组中,为所述任务组中的任务随机匹配资源插槽;根据所述应用中的每个任务与所述任务匹配的资源插槽的对应关系,生成初始化染色体;将至少两个互不相同的初始化染色体组成初始的染色体群;
所述遗传迭代单元,用于在初始化单元将至少两个互不相同的初始化染色体组成初始的染色体群后,利用遗传算法,对所述染色体群中的染色体进行遗传迭代,生成新的染色体,并将所述新的染色体添加至所述染色体群中;
所述分配私有云资源单元,用于在遗传迭代单元生成新的染色体并将所述新的染色体添加至所述染色体群中后,当遗传迭代次数达到预设次数时,根据所述染色体群中适应度函数值最小的染色体,为所述任务分配资源插槽;其中,所述适应度函数用于表示根据所述染色体为所述应用中的每个任务分配资源插槽后,完成所述应用中最晚完成的任务所需要的时长;其中,不同的所述染色体对应不同的资源插槽分配方式。
11.根据权利要求10所述设备,其特征在于,所述遗传迭代单元具体用于:采用轮盘赌算法,在所述染色体群中根据所述适应度函数值选择父种群染色体,并对父种群染色体进行遗传迭代,生成所述新的染色体,其中,所述适应度函数值越小的染色体被选为父种群染色体的概率越高。
12.根据权利要求10或11所述设备,其特征在于,所述遗传迭代单元还用于:对所述新的染色体进行自传检测,当所述新的染色体所表示的分配私有云资源插槽的方式中,若多个的任务匹配同一资源插槽时,则对所述新的染色体进行变异处理,将所述多个任务匹配到对应资源插槽匹配组中负载更小的资源插槽;将所述进行变异处理后的新的染色体添加至所述染色体群中。
13.根据权利要求10或11所述设备,其特征在于,
所述应用中的每个任务的属性至少包括:所述任务的指令计算量、网络传输数据量以及磁盘读写数据量;所述将所述任务分为M个任务组,包括:将所述任务分为计算能力任务组、网络带宽任务组、磁盘读写任务组;
所述私有云资源中每个资源插槽的性能至少包括:所述资源插槽的计算能力、传输数据速度以及磁盘书写数据速度;所述将所述资源插槽分为与所述任务组对应的M个资源插槽组,包括:将所述资源插槽分为计算能力资源组、网络带宽资源组、磁盘读写资源组;其中,所述计算能力任务组与所述计算能力资源组对应;所述网络带宽任务组与所述网络带宽资源组对应;所述磁盘读写任务组与所述磁盘读写资源组对应。
14.根据权利要求9所述设备,其特征在于,所述分配单元包括:计算单元、选择单元;
所述计算单元,用于在所述判断单元判断所述运行完成时间不满足用户要求后,获取用户的预期要求;所述预期要求包括对所述公有云资源的属性要求;根据所述预期要求,计算所述用户与历史用户对所述公有云资源的属性要求的相似度;
所述选择单元,用于在所述计算单元计算所述用户与历史用户对所述公有云资源的属性要求的相似度后,根据所述相似度,从所述历史用户中确定至少一个参照用户;获取所述参照用户对使用过的公有云资源的评分,选择评分最高的公有云资源为所述应用分配云资源。
15.根据权利要求14所述设备,其特征在于,所述分配单元还包括:分配公有云资源单元;
所述计算单元,还用于在所述选择单元选择评分最高的公有云资源为所述应用分配云资源后,计算所述应用中的每个任务的调度优先级;
所述分配公有云资源单元,用于在所述计算单元计算所述应用中的每个任务的调度优先级后,按照所述任务的调度优先级的顺序,从高到低依次为所述任务在公有云资源中分配资源插槽,以使得所述任务在资源插槽上的运行时间最短。
16.根据权利要求15所述设备,其特征在于,所述分配单元包括:调整单元;
所述计算单元,还用于在所述分配公有云资源单元为所述任务在公有云资源中分配资源插槽后,计算运行所述应用需要的时间;
所述调整单元,用于在所述计算单元计算运行所述应用需要的时间后,根据用户预先设定的运行所述应用的截止时间与运行所述应用需要的时间,计算调整时间;所述运行所述应用的截止时间表示用户对运行所述应用的时间限制;根据所述调整时间,确定所述应用中各任务在所述资源插槽上运行时可增加的运行时间;根据所述可增加的运行时间,对运行时间有调整的任务所对应的资源插槽重新进行分配。
CN201710807304.2A 2017-09-08 2017-09-08 一种云资源调度方法及设备 Active CN107659433B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710807304.2A CN107659433B (zh) 2017-09-08 2017-09-08 一种云资源调度方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710807304.2A CN107659433B (zh) 2017-09-08 2017-09-08 一种云资源调度方法及设备

Publications (2)

Publication Number Publication Date
CN107659433A true CN107659433A (zh) 2018-02-02
CN107659433B CN107659433B (zh) 2020-03-03

Family

ID=61128180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710807304.2A Active CN107659433B (zh) 2017-09-08 2017-09-08 一种云资源调度方法及设备

Country Status (1)

Country Link
CN (1) CN107659433B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062673A (zh) * 2018-11-14 2018-12-21 中国人民解放军国防科技大学 动态容错弹性调度方法
CN109144726A (zh) * 2018-08-09 2019-01-04 深圳市瑞云科技有限公司 一种通过群组来调度节点机的方法
CN109347974A (zh) * 2018-11-16 2019-02-15 北京航空航天大学 一种提高在线服务质量和集群资源利用率的在线离线混合调度系统
CN109474544A (zh) * 2018-11-20 2019-03-15 郑州云海信息技术有限公司 一种互联云资源的分配方法及系统
CN109710392A (zh) * 2018-12-21 2019-05-03 万达信息股份有限公司 一种基于混合云的异构资源调度方法
CN110389817A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 多云系统的调度方法、装置和计算机程序产品
CN110519317A (zh) * 2018-05-21 2019-11-29 华为技术有限公司 一种数据传输方法以及设备
CN111506923A (zh) * 2020-05-11 2020-08-07 上海卓越睿新数码科技有限公司 一种教学教务信息与教学平台数据同步方法及系统
WO2020233438A1 (zh) * 2019-05-21 2020-11-26 深圳前海微众银行股份有限公司 交易链路决策方法、装置、设备及计算机可读存储介质
CN112148575A (zh) * 2020-09-22 2020-12-29 京东数字科技控股股份有限公司 一种信息处理方法、装置、电子设备及存储介质
CN113939803A (zh) * 2019-06-03 2022-01-14 亚马逊技术股份有限公司 用于专用主机的管理计算资源放置即服务
CN113961323A (zh) * 2021-10-20 2022-01-21 郑州轻工业大学 一种面向混合云的安全感知任务调度方法和系统
CN113992666A (zh) * 2021-09-18 2022-01-28 阿里巴巴(中国)有限公司 云资源分配方法、系统、设备及存储介质
US20220147197A1 (en) * 2020-11-10 2022-05-12 RealFar Ltd Augmenting web applications with optimized workflows supporting user interaction
CN115118594A (zh) * 2022-06-28 2022-09-27 平安银行股份有限公司 资源分配方法、装置、设备及计算机可读存储介质
WO2022213529A1 (zh) * 2021-04-07 2022-10-13 华为云计算技术有限公司 实例部署方法、装置、云系统、计算设备及存储介质
CN117033693A (zh) * 2023-10-08 2023-11-10 联通沃音乐文化有限公司 一种混合模式的云处理的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280488A1 (en) * 2013-03-15 2014-09-18 Cisco Technology, Inc. Automatic configuration of external services based upon network activity
CN104657220A (zh) * 2015-03-12 2015-05-27 广东石油化工学院 混合云中基于截止时间和费用约束的调度模型及方法
CN106056294A (zh) * 2016-06-06 2016-10-26 四川大学 一种基于任务概率聚簇和多约束工作流划分的混合云科学工作流调度策略

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280488A1 (en) * 2013-03-15 2014-09-18 Cisco Technology, Inc. Automatic configuration of external services based upon network activity
CN104657220A (zh) * 2015-03-12 2015-05-27 广东石油化工学院 混合云中基于截止时间和费用约束的调度模型及方法
CN106056294A (zh) * 2016-06-06 2016-10-26 四川大学 一种基于任务概率聚簇和多约束工作流划分的混合云科学工作流调度策略

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵科伟: "云环境下的任务调度算法研究", 《中国优秀硕士学位论文全文数据库(电子期刊),信息科技辑》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389817B (zh) * 2018-04-20 2023-05-23 伊姆西Ip控股有限责任公司 多云系统的调度方法、装置和计算机可读介质
CN110389817A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 多云系统的调度方法、装置和计算机程序产品
CN110519317A (zh) * 2018-05-21 2019-11-29 华为技术有限公司 一种数据传输方法以及设备
CN110519317B (zh) * 2018-05-21 2021-02-12 华为技术有限公司 一种数据传输方法以及设备
CN109144726A (zh) * 2018-08-09 2019-01-04 深圳市瑞云科技有限公司 一种通过群组来调度节点机的方法
CN109062673B (zh) * 2018-11-14 2019-04-05 中国人民解放军国防科技大学 动态容错弹性调度方法
CN109062673A (zh) * 2018-11-14 2018-12-21 中国人民解放军国防科技大学 动态容错弹性调度方法
CN109347974B (zh) * 2018-11-16 2020-10-13 北京航空航天大学 提高在线服务质量和集群资源利用率的混合调度系统
CN109347974A (zh) * 2018-11-16 2019-02-15 北京航空航天大学 一种提高在线服务质量和集群资源利用率的在线离线混合调度系统
CN109474544A (zh) * 2018-11-20 2019-03-15 郑州云海信息技术有限公司 一种互联云资源的分配方法及系统
CN109710392B (zh) * 2018-12-21 2023-08-01 万达信息股份有限公司 一种基于混合云的异构资源调度方法
CN109710392A (zh) * 2018-12-21 2019-05-03 万达信息股份有限公司 一种基于混合云的异构资源调度方法
WO2020233438A1 (zh) * 2019-05-21 2020-11-26 深圳前海微众银行股份有限公司 交易链路决策方法、装置、设备及计算机可读存储介质
CN113939803B (zh) * 2019-06-03 2023-01-13 亚马逊技术股份有限公司 用于专用主机的管理计算资源放置即服务
CN113939803A (zh) * 2019-06-03 2022-01-14 亚马逊技术股份有限公司 用于专用主机的管理计算资源放置即服务
CN111506923A (zh) * 2020-05-11 2020-08-07 上海卓越睿新数码科技有限公司 一种教学教务信息与教学平台数据同步方法及系统
CN112148575A (zh) * 2020-09-22 2020-12-29 京东数字科技控股股份有限公司 一种信息处理方法、装置、电子设备及存储介质
US11543930B2 (en) * 2020-11-10 2023-01-03 RealFar Ltd Augmenting web applications with optimized workflows supporting user interaction
US11579743B2 (en) 2020-11-10 2023-02-14 RealFar Ltd Augmenting web applications with optimized workflows supporting user interaction
US20220147197A1 (en) * 2020-11-10 2022-05-12 RealFar Ltd Augmenting web applications with optimized workflows supporting user interaction
WO2022213529A1 (zh) * 2021-04-07 2022-10-13 华为云计算技术有限公司 实例部署方法、装置、云系统、计算设备及存储介质
CN113992666A (zh) * 2021-09-18 2022-01-28 阿里巴巴(中国)有限公司 云资源分配方法、系统、设备及存储介质
CN113992666B (zh) * 2021-09-18 2023-12-29 阿里巴巴(中国)有限公司 云资源分配方法、系统、设备及存储介质
CN113961323A (zh) * 2021-10-20 2022-01-21 郑州轻工业大学 一种面向混合云的安全感知任务调度方法和系统
CN113961323B (zh) * 2021-10-20 2022-06-14 郑州轻工业大学 一种面向混合云的安全感知任务调度方法和系统
CN115118594A (zh) * 2022-06-28 2022-09-27 平安银行股份有限公司 资源分配方法、装置、设备及计算机可读存储介质
CN115118594B (zh) * 2022-06-28 2023-08-22 平安银行股份有限公司 资源分配方法、装置、设备及计算机可读存储介质
CN117033693A (zh) * 2023-10-08 2023-11-10 联通沃音乐文化有限公司 一种混合模式的云处理的方法及系统
CN117033693B (zh) * 2023-10-08 2024-03-08 联通沃音乐文化有限公司 一种混合模式的云处理的方法及系统

Also Published As

Publication number Publication date
CN107659433B (zh) 2020-03-03

Similar Documents

Publication Publication Date Title
CN107659433B (zh) 一种云资源调度方法及设备
US20200287961A1 (en) Balancing resources in distributed computing environments
CN108874538B (zh) 用于调度量子计算机的调度服务器、调度方法及应用方法
Mao et al. Scaling and scheduling to maximize application performance within budget constraints in cloud workflows
Kc et al. Scheduling hadoop jobs to meet deadlines
Ge et al. GA-based task scheduler for the cloud computing systems
Xu et al. A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing
Li et al. An greedy-based job scheduling algorithm in cloud computing.
Sun et al. Towards distributed machine learning in shared clusters: A dynamically-partitioned approach
CN107239336A (zh) 一种实现任务调度的方法及装置
CN103701886A (zh) 一种云计算环境下的服务及资源分层调度方法
CN103064744B (zh) 一种基于SLA的面向多层Web应用的资源优化方法
Shin et al. Deadline-guaranteed scheduling algorithm with improved resource utilization for cloud computing
CN107203412A (zh) 一种基于膜系统改进粒子群算法的云资源调度优化方法
CN106412124B (zh) 一种并序化云服务平台任务分配系统及任务分配方法
Sharma et al. An improved task allocation strategy in cloud using modified k-means clustering technique
Gandomi et al. HybSMRP: a hybrid scheduling algorithm in Hadoop MapReduce framework
Zhou et al. Concurrent workflow budget-and deadline-constrained scheduling in heterogeneous distributed environments
CN103685492B (zh) Hadoop集群系统的调度方法、调度装置及其应用
Yang et al. Multi-policy-aware MapReduce resource allocation and scheduling for smart computing cluster
Mylavarapu et al. An optimized capacity planning approach for virtual infrastructure exhibiting stochastic workload
CN106802822A (zh) 一种基于飞蛾算法的云数据中心认知资源调度方法
Singh et al. Scheduling algorithm with load balancing in cloud computing
CN112306642B (zh) 一种基于稳定匹配博弈理论的工作流调度方法
CN104869154A (zh) 统筹资源可信度与用户满意度的分布式资源调度方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant