CN113132445B - 资源调度方法、设备、网络系统及存储介质 - Google Patents

资源调度方法、设备、网络系统及存储介质 Download PDF

Info

Publication number
CN113132445B
CN113132445B CN202010027332.4A CN202010027332A CN113132445B CN 113132445 B CN113132445 B CN 113132445B CN 202010027332 A CN202010027332 A CN 202010027332A CN 113132445 B CN113132445 B CN 113132445B
Authority
CN
China
Prior art keywords
scheduling
crossed
scheduling mode
gene
iteration
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.)
Active
Application number
CN202010027332.4A
Other languages
English (en)
Other versions
CN113132445A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010027332.4A priority Critical patent/CN113132445B/zh
Publication of CN113132445A publication Critical patent/CN113132445A/zh
Application granted granted Critical
Publication of CN113132445B publication Critical patent/CN113132445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Landscapes

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

Abstract

本申请实施例提供一种资源调度方法、设备、网络系统及存储介质。在本申请实施例中,中心管控设备获取将N个实例调度到M台物理机上的资源调度任务,然后利用遗传算法计算出目标调度方式,最后按照目标调度方式将N个实例调度到M台物理机上。利用遗传算法获取目标调度方式,有利于提高资源调度的合理性,提高物理资源利用率,保证用户服务的高可用性。

Description

资源调度方法、设备、网络系统及存储介质
技术领域
本申请涉及网络技术领域,尤其涉及一种资源调度方法、设备、网络系统及存储介质。
背景技术
随着5G、物联网时代的到来以及云计算应用的逐渐增加,终端对云资源在时延、带宽等性能上的要求越来越高,传统集中式的云网络已经无法满足终端日渐增高的云资源需求。
随着边缘计算技术的出现,产生了边缘云的概念。如何合理地对边缘云进行资源调度,进而提升物理资源利用率、保证用户服务的高可用性是边缘云发展过程中亟需解决的问题。
发明内容
本申请的多个方面提供一种资源调度方法、设备、网络系统及存储介质,用以提高资源调度的合理性,提高物理资源利用率,保证用户服务的高可用性。
本申请实施例提供一种网络系统,包括:中心管控设备以及至少一个边缘云节点;中心管控设备,用于:获取资源调度任务,资源调度任务要求将N个实例调度到M台物理机上;利用遗传算法计算出N个实例在M台物理机上的目标调度方式;按照目标调度方式将N个实例调度到M台物理机上;其中,M台物理机是至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数。
本申请实施例还提供一种资源调度方法,适用于中心管控设备,包括:获取资源调度任务,资源调度任务要求将N个实例调度到M台物理机上;利用遗传算法计算出N个实例在M台物理机上的目标调度方式;按照目标调度方式将N个实例调度到M台物理机上;其中,M台物理机是至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数。
本申请实施例还提供一种中心管控设备,包括:存储器、处理器和通信组件;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:通过通信组件获取资源调度任务,资源调度任务要求将N个实例调度到M台物理机上;利用遗传算法计算出N个实例在M台物理机上的目标调度方式;按照目标调度方式将N个实例调度到M台物理机上;其中,M台物理机是至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数。
本申请实施例还提供一种调度方法,包括:获取调度任务,调度任务要求将N个对象调度至M个对象载体上;利用遗传算法计算出N个对象在M个对象载体上的目标调度方式;按照目标调度方式将N个对象调度到M个对象载体上;其中,N、M为大于或等于1的自然数。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器实现本申请实施例提供的任一种方法中的步骤。
在本申请实施例中,中心管控设备获取将N个实例调度到M台物理机上的资源调度任务,然后利用遗传算法计算出目标调度方式,最后按照目标调度方式将N个实例调度到M台物理机上。利用遗传算法获取目标调度方式,有利于提高资源调度的合理性,提高物理资源利用率,保证用户服务的高可用性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请示例性实施例提供的一种网络系统的结构示意图;
图2a为本申请示例性实施例提供的一种NF算法的原理示意图;
图2b为本申请示例性实施例提供的一种FF算法的原理示意图;
图2c为本申请示例性实施例提供的一种BF算法的原理示意图;
图3为本申请示例性实施例提供的一种基因交叉的状态示意图;
图4为本申请示例性实施例提供的一种利用遗传算法得到的调度结果的示意图;
图5a为本申请示例性实施例提供的一种资源调度方法的流程示意图;
图5b为本申请示例性实施例提供的一种调度算法的流程示意图;
图6为本申请示例性实施例提供的一种中心管控设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着边缘计算技术的出现,产生了边缘云的概念。如何合理地对边缘云进行资源调度是边缘云发展过程中亟需解决的问题。在本申请实施例中,中心管控设备获取将N个实例调度到M台物理机上的资源调度任务后,利用遗传算法计算出目标调度方式,按照该目标调度方式将N个实例调度到M台物理机上。利用遗传算法获取目标调度方式,有利于提高资源调度的合理性,提高物理资源利用率,保证用户服务的高可用性。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请示例性实施例提供的一种网络系统的结构示意图。如图1所示,该网络系统100包括:中心管控设备101和至少一个边缘云节点102;至少一个边缘云节点102均与中心管控设备101网络连接。
本实施例的网络系统100是基于云计算技术和边缘计算的能力,构筑在边缘基础设施之上的云计算平台,是一种边缘位置的具备计算、网络、存储、安全等能力的云平台。
与中心云或者传统的云计算平台相对应,本实施例的网络系统100可以视为一种边缘云网络系统。边缘云是个相对概念,边缘云是指相对靠近终端的云计算平台,或者说,与中心云或者传统的云计算平台相区别,中心云或者传统的云计算平台可以包括资源规模化且位置集中的数据中心,而边缘云节点覆盖的网络范围更广泛,也因此具备距离终端更近的特性,单个边缘云节点的资源规模较小,但是边缘云节点的数量多,多个边缘云节点构成了本实施例中边缘云的组成部分。本实施例的终端是指云计算服务的需求端,例如可以是互联网中的终端或者用户端,或者物联网中的终端或用户端。边缘云网络是基于中心云或者传统的云计算系统与终端之间的基础设施构建的网络。
其中,网络系统100包括至少一个边缘云节点102,每个边缘云节点102包括一系列的边缘基础设施,这些边缘基础设施包括但不限于:分布式数据中心(DC)、无线机房或集群,运营商的通信网络、核心网设备、基站、边缘网关、家庭网关、计算设备或存储设备等边缘设备及对应的网络环境等等。在此说明,不同边缘云节点102的位置、能力以及包含的基础设施可以相同,也可以不相同。
需要说明的是,本实施例的网络系统100可以与中心云或传统的云计算平台等中心网络相结合,进一步与终端结合,从而形成“云边端三体协同”的网络架构,在该网络架构中,可以将网络转发、存储、计算以及智能化数据分析等任务放在网络系统100中的各边缘云节点102中处理,由于各边缘云节点102更靠近终端,因此可以降低响应时延,减轻中心云或传统的云计算平台的压力,降低带宽成本。除此之外,本实施例的网络系统100也可以直接与终端相结合,从而形成“边到端”的网络架构。
无论是哪种网络结构,如何合理地调度多个边缘云节点中的资源,以及如何管控好多个边缘云节点以正确和稳定的逻辑进行云计算服务,是一个重要的挑战。在本实施例的网络系统100中,部署有中心管控设备101,中心管控设备101以边缘云节点102为管控对象,在资源调度,镜像管理,实例管控,运维,网络,安全等各方面对网络系统100中的至少一个边缘云节点102进行统一管控,从而将云计算服务放到各边缘云节点102中处理。在部署实施上,中心管控设备101可以部署在一个或多个云计算数据中心中,或者,可以部署在一个或多个传统数据中心中,中心管控设备101也可以和其管控的至少一个边缘云节点共同构成边缘云网络,本实施例对此不做限定。
对一个边缘云节点102来说,可以对外提供各种资源,例如CPU、GPU等计算资源,内存、硬盘等存储资源,带宽等网络资源等。另外,可以在边缘云节点102的物理机(NC)上部署相应实例,这些实例可对外提供各种云计算服务。其中,实例的实现形态可以是虚拟机(VM)、容器(Docker)或原生应用程序等。其中,实例应该放置到哪个边缘云节点102中,以及具体放置到边缘云节点102中的哪台物理机上,就是资源调度需要解决的问题。可选地,中心管控设备101可以对外提供人机交互界面,该人机交互界面可以是web页面、应用页面或命令窗等。该人机交互界面的作用是供资源调度需求方向中心管控设备101提交自己的资源调度任务。对于资源调度需求方,可以通过上述人机交互界面向中心管控设备101提交资源调度任务。在本实施例中,并不限定资源调度任务以及其内容。例如,资源调度任务可以包含待部署实例的数量和规格、待调度物理机的数量以及物理机的GPU核数、内存余量和硬盘大小等与资源调度相关的信息。例如,一种任务调度任务可以是客户请求在本地边缘云节点102中的5台物理机上部署10台规格为4核8G的虚拟机。另一种任务调度任务可以是客户请求在本地边缘云节点102中3台物理机上部署8台规格为4核4G的虚拟机,其中,这些虚拟机的CPU和内存资源部署在3台物理机上,存储资源放到云盘上。
在本实施例中,也不对发起资源调度任务的资源调度需求方进行限定,例如资源调度任务可由网络系统100的运营人员或网络系统100的客户发起。网络系统100的客户是指云计算服务的需求端,例如可以是互联网中的终端或者用户,或者物联网中的终端或用户。下面结合两个应用场景,对资源调度需求方以及资源调度任务进行示例性说明:
在应用场景1中,网络系统100的运营人员或运营系统根据运营需求,可能需要将若干个某一规格的实例部署在若干个可供调度的物理资源上。其中,N、M为大于或等于1的自然数。在该应用场景中,网络系统100的运营人员或运营系统可以作为资源调度需求方,通过中心管控设备101提供的人机交互界面向中心管控设备101提交资源调度任务,该资源调度任务至少包括:若干个可供调度的物理资源的信息,以及若干个待部署实例的规格和数量等信息。在该应用场景1中,中心管控设备101需要将若干个某一规格的实例成功部署在若干个边缘云节点中可供调度的物理资源上。
在应用场景2中,作为网络系统100的客户,例如个人或企业,因为实例需求会向网络系统100发出购买实例的请求。在该应用场景中,客户可以通过中心管控设备101提供的人机交互界面,向中心管控设备101提交资源调度任务,该资源调度任务至少包括:需要购买的实例的规格、数量等信息。例如,客户可以请求购买10个规格为4核8G的VM。或者,客户可以请求购买10个规格为4核8G的VM,以及8个规格为4核4G的VM。在该场景2中,中心管控设备101可以为客户请求购买的若干个某种或某几种规格的实例分配若干个物理资源,并将若干个某种或某几种规格的实例成功部署在若干个物理资源上。
关于人机交互界面的实现形式,本实施例不做限定。在一可选实施例中,中心管控设备101提供的人机交互界面包括查询页面和购买页面。对应用场景1来说,网络系统100的运营人员,可以进入中心管控设备101提供的查询页面,通过该查询页面提供查询涉及的物理资源的信息,以及查询涉及的实例的规格和数量等信息,并将这些信息携带在资源调度任务中提供给中心管控设备101,以供中心管控设备101据此进行资源调度。对应用场景2来说,网络系统100的客户,可以进入中心管控设备101提供的购买页面,通过该购买页面提供需要购买的实例的规格和数量等信息,并将这些信息携带在资源调度任务中提供给中心管控设备101,以供中心管控设备101据此进行资源调度。进一步可选地,查询页面和购买页面可以为同一页面,该页面上设置有查询控件和购买控件,以供网络系统100的运营人员或客户根据需求发起资源调度任务。
需要说明的是,除了上述人机交互界面方式之外,中心管控设备101也可以通过其它方式获取资源调度任务。例如,资源调度需求方也可以预先在中心管控设备101上内置资源调度任务,则中心管控设备101可以执行内置的资源调度任务从而获取资源调度任务。又或者,资源调度需求方也可以通过其它可与中心管控设备101通信的设备,例如终端设备或配置设备等,将资源调度任务以有线或无线通信方式传输给中心管控设备101,则中心管控设备101可以接收其它设备传输来的资源调度任务。
无论中心管控设备101以何种方式获取资源调度任务,均可以根据接收到的资源调度任务对网络系统100中的边缘云节点102进行资源调度。在本申请实施例中,资源调度任务用于请求中心管控设备101将N个实例部署在M台物理机上。其中,N个实例依赖边缘云节点102中的物理机运行,其实现形态可以是虚拟机(VM)、容器(Docker)或原生应用程序等。M台物理机是至少一个边缘云节点102中的物理资源,M台物理机可以是同一边缘云节点102中的物理机,也可以是不同边缘云节点102中的物理机。在保证N个实例稳定运行的前提下,如何尽量最大化M台物理机的利用率,是资源调度面临的主要问题。
在本实施例中,中心管控设备101在获取资源调度任务之后,可利用遗传算法计算出N个实例在M台物理机上的目标调度方式;按照目标调度方式将N个实例调度到M台物理机上;其中,M台物理机是至少一个边缘云节点102中可供调度的物理资源;N、M为大于或等于1的自然数。
在本实施例中,调度方式是指N个实例在M台物理机上的一种部署方式,一种调度方式可反映N个实例与M台物理机之间的一种映射关系。目标调度方式是指利用遗传算法得到的N个实例在M台物理机上的一种部署方式。在本实施例中,并不限定利用遗传算法得到的目标调度方式,其可以是满足一定条件或要求的一种调度方式。例如,目标调度方式可以是最优调度方式,也可以是能够使M台物理机的利用率大于设定利用率阈值的一种调度方式,也可以是能够将N个实例均匀部署在M台物理机上的一种调度方式,还可以是能够使N个实例部署在M台物理机上的集中度大于设定集中度阈值的一种调度方式。其中,对于目标调度方式是最优调度方式的情况,并不限定对最优调度方式的衡量标准。例如,可以以物理机的CPU、内存和/或硬盘等资源的利用率为标准,来衡量利用遗传算法得到的各调度方式中哪个属于最优调度方式;也可以是以N个实例部署在M台物理机上的分散度为标准,来衡量利用遗传算法得到的各调度方式中哪个属于最优调度方式。其中,N个实例部署在M台物理机上的分散度越高,因为物理机故障导致实例无法对外提供服务的概率就越低,有利于降低风险。
其中,遗传算法是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从含有潜在解集的种群开始的,一个种群则是由经过基因编码的一定数量的个体组成。将一个个体的一些基因,放置到另一个个体中,形成新的个体,这个过程称为基因交叉。遗传算法的原理是:利用父类个体进行基因交叉,得到一个包含多个个体的种群,从该种群中选取适应较好的多个个体作为新的种群,新种群选取父类个体进行新一轮的基因交叉,如此反复迭代,相当于达尔文进化论的自然选择和遗传学的生物进化过程,按照适者生存和优胜劣汰的原则,逐代演化产生越来越好的结果。
遗传算法虽然是一种已有的算法原理,但是在不同应用场景中,遗传算法中的基因片段、个体以及种群等概念的物理含义上会有所不同,以及遗传算法在具体应用场景中的实现细节也会有所不同。在本实施例中,将遗传算法应用到资源调度场景中,中心管控设备101利用遗传算法计算出N个实例在M台物理机上的目标调度方式,基于遗传算法优胜劣汰的优势,可得到符合一定要求或条件的调度方式,有利于提高物理机的利用率,或者保证实例的服务质量,或者提高资源调度效率。其中,利用遗传算法进行资源调度得到的目标调度方式,与上述一定要求或条件相关,按照目标调度方式将N个实例调度到M台物理机上所能达到的效果,也与上述一定要求或条件相关,对此不做限定。可选地,假设上述一定要求或条件是以物理机的资源利用率尽量优化为目标,则目标调度方式为基于遗传算法计算出的最优调度方式,则可以在保证实例服务质量的情况下,提高物理机的资源利用率。
在资源调度场景中,可以将调度方式作为遗传算法中的个体,一种调度方式是一个个体,多种调度方式合在一起可作为遗传算法中的种群,而在一种调度方式中,一台物理机与其对应的实例形成一个基因片段。
基于上述概念之间的对应关系,中心管控设备101利用遗传算法计算目标调度方式的一种方式,包括如下操作:
初始化操作:对N个实例在M台物理机上的调度方式进行初始化以得到初始种群,初始种群包括K1种调度方式;
交叉迭代操作:自初始种群开始,基于基因交叉操作进行种群迭代,以得到目标种群,目标种群包括K2种调度方式;
选择操作:从K2种调度方式中,选择目标调度方式;其中,K1、K2是大于或等于2的自然数。
其中,每种调度方式反应N个实例与M台物理机之间的一种映射关系,即N个实例在M台物理机上的一种部署方式。
针对初始化操作,在一可选实施例中,中心管控设备101在得到初始种群时,具体用于:对N个实例进行K1次排序,得到实例顺序不完全相同的K1个实例序列;利用下次适应(Next Fit,NF)算法、首次适应(First Fit,FF)算法或最佳适应(Best Fit,BF)算法,将K1个实例序列分别插入到M台物理机中至少部分物理机上,以得到初始种群。其中,并不限定对N个实例进行K1次排序的具体实施方式,凡是可以得到实例顺序不完全相同的K1个实例序列的实施方式均适用于本申请的实施例。
进一步可选地,对N个实例进行K1次随机排序,得到实例顺序不完全相同的K1个实例序列。例如,N为5,K1为3时,5个实例分别为VM1、VM2、VM3、VM4、VM5。可以得到3个不完全相同的实例序列为:VM1、VM2、VM3、VM4、VM5;VM5、VM2、VM3、VM4、VM1;VM4、VM2、VM3、VM1、VM5。
其中,将K1个不同的实例序列插入到M台物理机中至少部分物理机上,可以采用但不限于:NF、BF或FF算法。无论采用哪种算法,对不同实例序列来说,将不同实例序列插入到M台物理机中至少部分物理机上的过程均相同。故在下面示例中,以任一实例序列为例,对将该实例序列部署在M台物理机中至少部分物理机上的过程进行示例性说明。
在一示例中,假设需要将五个实例部署在四台物理机上为例,其中5个实例为虚拟机(VM),分别表示为VM1(6)、VM2(5)、VM3(7)、VM4(3)和VM5(4),括号中的数字表示虚拟机所需的正则化后的资源容量的大小,四台物理机分别表示为NC1(10)、NC2(10)、NC3(10)和NC4(10),括号中的数字表示物理机正则化后的容量大小。下面结合上述示例对上述几种算法,以将五个VM形成的一种VM序列为:VM1(6)、VM2(5)、VM3(7)、VM4(3)和VM5(4)部署在四台物理机上的过程及结果进行详细说明。
NF(Next Fit)算法:始终维持一台待部署的物理机,对于每一个待插入虚拟机,检查该虚拟机是否可以插入上述待部署的物理机中;若可以,则插入当前待部署的物理机;若不可以,则选定一台新的物理机,把该虚拟机插入到新的物理机,以新的物理机作为当前待部署的物理机继续部署其它虚拟机,直至将五个虚拟机全部部署在四台物理机上为止。例如,最开始可以选择NC1(10)作为当前待部署的物理机,判断VM1(6)是否可以部署在NC1(10)中;由于NC1(10)的资源容量为10,大于VM1(6)所需的资源容量6,故可以将VM1(6)部署在NC1(10)上;对VM2(5),判断是否可以部署在NC1(10)上;由于NC1(10)剩余的资源容量为4,小于VM2(5)所需的资源容量5,故无法将VM2(5)部署在NC1(10)上,因此选择NC2(10),将VM2(5)部署在NC2(10)上,依次下去,直至将所有VM都部署在四台物理机上为止,可以得到如图2a所示的调度方式。
FF(First Fit)算法是对NF算法的改进,其原理是:对于每一个待插入的虚拟机,检查所有容量非空的物理机,找到第一个能够插入虚拟机的物理机,否则将虚拟机放入新的物理机中。例如,选择非空物理机NC1(10),判断NC1(10)上的资源容量10,大于VM1(6)所需的资源容量6,因此将VM1(6)部署在NC1(10)上;对于VM2(5),选择非空物理机NC1(10),判断NC1(10)上的剩余资源容量为4,小于VM2(5)所需的资源容量5,继续选择非空物理机NC2(10),判断NC2(10)上的资源容量为10,大于VM2(5)所需的资源容量5,因此将VM2(5)部署在NC2(10)上,依次下去,直至将所有VM都部署在四台物理机上为止,可以得到如图2b所示的调度方式。
BF(BestFit)算法与FF算法类似,区别是对于每一个待插入的虚拟机,不是直接插入到第一个可插入的物理机中,而是插入到最合适的物理机中,如果没有合适的物理机,则插入新的物理机中。例如,对于VM1(6),判断目前四个物理机的剩余资源都为10,因此选择将VM1(6)部署在新的物理机NC1(10)上;对于VM2(5),判断NC1(10)的剩余容量为4,小于VM2(5)所需要的资源容量5,因此选择将VM2(5)部署在新的物理机NC2(10)上,依次下去,直至将所有VM都部署在四台物理机上为止,按照BF算法可以得到如图2c所示的调度方式。
在经过初始化操作之后,可以得到初始化种群。自初始化种群开始,基于基因交叉操作进行种群迭代,可以得到包含K2种调度方式的目标种群。
针对交叉迭代操作:本实施例的交叉迭代操作包括多次迭代操作,每次迭代操作中包括多次基因交叉操作。本实施例中,对迭代次数和每次迭代操作中基因交叉操作的次数均不做限定。例如,迭代次数可以是1万、1千、5百次等,可以预先设定。每次迭代操作中基因交叉的次数可以是5万、2千、6百次等,可以预先设定。另外,本实施例中,也并不对每次迭代过程中产生的调度方式的数量做限定,每次迭代产生的调度方式的数量可以相同,也可以不相同。较为优选的实现方式是,每次迭代产生的调度方式的数量相同。
其中,在每次迭代操作中,可以从上一次迭代操作产生的调度方式中选择一部分或全部调度方式形成本次迭代操作所需的种群。在一可选实施例中,在每次迭代操作中,从上一次迭代产生的调度方式中选择适应度最高的K3种调度方式形成该次迭代操作的种群;或者,在每次迭代操作中,从上一次迭代产生的调度方式中随机选择K3种调度方式形成该次迭代操作的种群。本实施例中,不对K3的数量做限定,只要是大于或等于2的自然数,均适用于本实施例。例如,假设上一次迭代操作产生了1000种调度方式,K3为100,即从1000种调度方式中选取100种调度方式作为本次迭代的种群。特殊地,第一次迭代操作时,从初始种群中选择K3种调度方式。
在遗传算法中,个体对环境的适应程度叫做适应度。从生物遗传的角度来看,一些环境中个子高、皮肤黑的个体更适合生存,他们的适应度就高,自然选择就会留下这类个体。在本申请实施例中,N个实例调度到M台物理机上,每种调度方式的优劣也可以通过适应度来衡量。在本申请实施例中,并不限定适应度的衡量方式,可根据应用需求适应性定义。例如,对每种调度方式,可以通过该调度方式下物理机的资源均衡度来衡量每种调度方式的适应度。一般来说,若某种调度方式下物理机的资源均衡度越高,表示该调度方式的适应度较高,除此之外,对某种调度方式,还可以通过该调度方式下物理机上CPU、内存或硬盘等资源利用率,来衡量该调度方式的适应度。
在一可选实施例中,以物理机的资源均衡度来衡量每种调度方式的适应度。基于此,中心管控设备101还用于:在每次迭代操作中,还可以计算本次迭代产生的各调度方式中物理机的资源均衡度,并根据本次迭代产生的各调度方式中物理机的资源均衡度分别计算本次迭代产生的各调度方式的适应度。
关于本次迭代产生的各调度方式的适应度,可以采用但不限于下述几种方式来计算:
适应度计算方式1:中心管控设备101具体用于:对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的指定维度的资源的使用率的均方差,将该均方差作为该调度方式的适应度。在计算方式1中,利用物理机包含的指定维度的资源的使用率的均方差来体现物理机的资源均衡度。例如,假设指定维度的资源为CPU资源,则在某种调度方式下,可以计算M台物理机的CPU使用率的均方差,将该均方差作为该调度方式的适应度。其中,均方差公式=M台物理机的CPU使用率的均值/(1+CPU利用率的标准差)。
适应度计算方式2:中心管控设备101具体用于:对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的多个维度的资源的使用率,根据多个维度的资源的使用率,计算该调度方式的适应度。在计算方式2中,利用物理机包含的多个维度的资源的使用率来体现物理机的资源均衡度。
进一步可选地,可以根据多个维度的资源的使用率,计算多个维度的资源的适应度;计算多个维度的资源的适应度的均值作为该调度方式的适应度。例如,对任一维度的资源,可以计算M台物理机该维度的资源的使用率的均方差,作为该维度资源的适应度。
例如,假设多个维度的资源为CPU、内存和硬盘资源,则在某种调度方式下,CPU的适应度=M台物理机的CPU使用率均值/(1+CPU使用率的标准差),内存的适应度=M台物理机的内存使用率均值/(1+内存使用率的标准差),硬盘的适应度=M台物理机的硬盘使用率均值/(1+硬盘使用率的标准差);之后,计算CPU的适应度、内存的适应度与硬盘的适应度的均值,作为该调度方式的适应度。
本申请实施例中,每次迭代操作包括多个基因交叉操作,每次基因交叉操作涉及待交叉调度方式的选择,以及具体使用的交叉方式。在本实施例中,并未限定选择待交叉调度方式的方式。下面给出两种具体可选实施方式:
实施方式A1:在每次迭代操作中,对于每次基因交叉操作,从该次迭代操作的种群中随机选择至少一种待交叉调度方式,对至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式。其中,在每次迭代操作中,对于不同基因交叉操作,所使用的待交叉调度方式的数量可以相同,也可以不相同。例如,本次迭代的种群中含有100种调度方式,在某一次基因交叉操作中,可以从100种调度方式中随机选取两种调度方式作为父类,基于所选择的两种调度方式进行基因交叉,得到一种调度方式;在另一次基因交叉操作中,可以从100种调度方式中随机选取三种调度方式作为父类,基于所选择的三种调度方式进行基因交叉,得到另一种调度方式。如此反复随机抽取,直至获取足够数量的调度方式。
实施方式A2:在每次迭代操作中,对每次基因交叉操作,根据该次迭代操作的种群中每种调度方式的适应度,从该次迭代操作的种群中选择至少一种待交叉调度方式,对至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式。同理,在每次迭代操作中,对于不同基因交叉操作,所使用的待交叉调度方式的数量可以相同,也可以不相同。优选地,在每次迭代操作中,对于不同基因交叉操作,所使用的待交叉调度方式的数量相同,这种方式便于实现,效率较高。
进一步可选地,本申请实施例并不限定根据每种调度方式的适应度选择至少一种待交叉调度方式的选择方式。可选地,可以以该次迭代操作中每次基因交叉操作所选择的待交叉调度方式不完全相同为目标,根据该次迭代操的种群中每种调度方式的适应度,优先从中选择适应度最高的至少一种调度方式作为待交叉调度方式。例如,可以从中选取适应度最高的两种待交叉调度方式,也可以从中选取适应度最高的一种待交叉调度方式,并随机选取另一种待交叉调度方式。对于适应度较高的待交叉调度方式,可以重复被选择。例如,本次迭代的种群中含有100种调度方式,按照适应度高低降序排列的前三种调度方式为:C1、C2、C3,则在基因交叉操作中,可以将调度方式C1和C2作为父类,进行基因交叉,得到一种调度方式;可以将调度方式C1和C3作为父类,进行基因交叉,得到另一种调度方式;也可以将调度方式C1和随机选取的调度方式D1作为父类,进行基因交叉,得到又一种调度方式;还可以将调度方式C1和随机选取的调度方式D2作为父类,进行基因交叉,得到再一种调度方式;如此反复抽取,直至获取足够数量的调度方式。
对于上述实施方式A1和A2,进一步可选地,至少一种待交叉调度方式包括:第一待交叉调度方式和第二待交叉调度方式。中心管控设备101在进行基因交叉时,具体用于:从第一待交叉调度方式包含的各基因片段中,选择待交叉基因片段;将待交叉基因片段与第二待交叉调度方式包含的基因片段进行交叉,得到该次迭代操作产生的一种调度方式。在本申请实施例中,并不限定待交叉基因片段的数量,例如可以是一段、二段、多段等等。下面结合图3所示,以一段待交叉基因片段为例对基因交叉过程进行说明。
以四台物理机分别为:NC1、NC2、NC3、NC4上部署有VMA、B、C、D、E、F、G、H为例,假设有两种调度方式分别为X和Y,其中,X包含四个基因片段,NC1上部署有虚拟机A、B;NC2上部署有虚拟机E、F;NC3上部署有虚拟机G、H;NC4上部署有虚拟机C、D;Y包含三个基因片段,即NC1上部署有虚拟机A、E、C;NC2上部署有虚拟机G、H、B;NC3上部署有虚拟机D、F。基因交叉过程:从X中选取NC2及其上虚拟机E、F形成的基因片段作为待交叉基因片段,将此待交叉基因片段与Y进行交叉,得到子代Z1,将Z1上重复的虚拟机去除,得到子代Z2,将Z2重新用FF算法重新插入,得到子代Z。如图3所示,子代Z包括:三个基因片段,即NC1上部署有虚拟机A、D、C;NC2上部署有虚拟机G、H、B;NC3上部署有虚拟机E、F。
在本申请实施例中,并不限定中心管控设备101中第一待交叉调度方式中选择待交叉基因片段的过程。下面给出几种选择待交叉基因片段的示例性实施例,如下所述:
实施方式B1:从第一待交叉调度方式包含的各基因片段中,随机选择待交叉基因片段。
实施方式B2:根据第一待交叉调度方式包含的各基因片段的质量,从中选择质量最优的至少一个基因片段作为待交叉基因片段。
进一步可选地,中心管控设备101在根据第一待交叉调度方式包含的各基因片段的质量选择待交叉基因片段时,具体用于:根据第一待交叉调度方式包含的各基因片段的资源均衡度,从中选择均衡度最高的至少一个基因片段作为待交叉基因片段;或者根据第一待交叉调度方式包含的各基因片段的资源利用率,从中选择利用率最高的至少一个基因片段作为待交叉基因片段。在本实施例中,以基因片段的资源均衡度或资源利用率作为依据,来衡量基因片段的质量仅为示例性实现方式,并不限于此。
其中,基因片段的资源均衡度或资源利用率,可以通过该基因片段包含的物理机的资源均衡度或资源利用率来反应。物理机的资源均衡度是指物理机包含的各种资源的使用率是否相同或相近。例如物理机中的CPU/内存/硬盘的使用率均为50%,则认为该物理机的资源均衡度比较好;物理机中的CPU使用率为80%,而内存使用率为20%,则认为该物理机的资源均衡度不好。物理机的资源利用率是指物理机包含的指定资源的利用率,或各种资源利用率的加权求和来表示。例如,对于资源较少的场景,选择整体资源利用率高的基因片段进行交叉。进一步,为了满足实际的对于CPU和内存的不同需求,需要对CPU和内存实施不同的加权比例,例如CPU占70%,内存占30%,进而得到加权的资源利用率,从中选取加权利用率最高的基因片段进行交叉。
实施方式B3:根据第二待交叉调度方式包含的各基因片段的分布情况,从第一待交叉调度方式包含的各基因片段中选择待交叉基因片段。
在基因交叉过程中,从第一待交叉调度方式上选取待交叉基因片段;选取出的基因片段上包含的实例可能与第二待交叉调度方式中原有的实例重复。因此需要将该重复实例从第二待交叉调度方式中去掉。这样就破坏了第二待交叉调度方式上资源利用率较高或者均衡度较好的基因片段。如图3所示,假设各物理机的资源容量为9,各虚拟机所需要的资源容量为3。在基因交叉过程中,子代Z2去掉重复的实例E、F后,使基因片段NC1的资源利用率由100%变为67%,基因片段NC3的资源利用率由67%变为33%。因此选择待交叉的基因片段会对第二待交叉调度方式产生破坏度。破坏度可以用待交叉基因片段将第二待交叉调度方式中较好的基因片段打散的程度来衡量打散程度越高,破坏度越大。
进一步可选地,中心管控设备101在根据第二待交叉调度方式包含的各基因片段的分布情况选择待交叉基因片段时,具体用于:计算第一待交叉调度方式包含的各基因片段在与第二待交叉调度方式包含的基因片段进行基因交叉时对第二待交叉调度方式产生的破坏度;根据第一待交叉调度方式包含的各基因片段在与第二待交叉调度方式包含的基因片段进行基因交叉时对第二待交叉调度方式产生的破坏度,从中选择破坏度最小的至少一个基因片段作为待交叉基因片段。
在交叉迭代操作中,通过基因交叉进行种群迭代得到的目标种群包括K2种调度方式。基于此,针对选择操作,中心管控设备101从K2种调度方式中,选择目标调度方式。可选地,从K2种调度方式中,选择适应度最高的一种调度方式作为目标调度方式。或者,从K2种调度方式中,随机选择一种调度方式作为目标调度方式。
在得到目标调度方式之后,中心管控设备101可以将目标调度方式将N个实例调度到M台物理机上。
接续于图2a-图2c所示示例,5个实例为VM,分别表示为VM1(6)、VM2(5)、VM3(7)、VM4(3)和VM5(4),四台物理机分别表示为NC1(10)、NC2(10)、NC3(10)和NC4(10),则采用遗传算法将5个VM调度到四台物理机上,可得到目标调度方式如图4所示,在目标调度方式中,物理机NC1(10)上有VM3(7)、VM4(3);NC2(10)上有VM1(6)、VM5(4);NC3(10)上有VM2(5);NC4(10)没有部署虚拟机。图4中物理机NC1(10)、NC2(10)、NC3(10)和NC4(10)的资源利用率分别为:100%、100%、50%、0%。而图2a中物理机的资源利用率分别为:60%、50%、70%、70%;图2b中物理机的资源利用率分别为:90%、90%、70%、0%。由此可见,利用遗传算法得到的调度方式,可提高资源调度的合理性,提高物理资源利用率,保证用户服务的高可用性。
在本申请实施例中,资源调度过程中会使用到物理机上各种资源的资源量。关于资源量的表示方式,不做限定,可以使用各类资源自身的规格和度量单位来表示。在实际应用中,物理机上的CPU、内存、硬盘等资源具有不同的规格和度量单位,例如CPU的度量单位一般是CPU核数,内存的度量单位可以是吉字节(Gigabyte,GB)等。另外,不同边缘云节点102上物理机的规格也是不同的,将物理机之间资源规格的不同称为物理机的异构性。在本申请一些可选实施例中,为了方便资源调度,将异构物理机转化为同规格物理机,即将所有物理机的资源容量视为同一规格,物理机之间的异构性被视为一种资源预留(称为异构性预留),这种处理方式称为正则化处理。例如,假设有两种规格的物理机,第一物理机的容量为64C,第二物理机的容量96C,将第二物理机的容量96C设置为100%容量,则将第一物理机少于第二物理机的32C容量视为33.33%(32/96)的资源预留。其中,被视为资源预留的资源是不可使用的资源。其中,C表示物理机的资源单位,C所代表的资源可以是但不限于CPU、内存或硬盘等。也就是说,CPU、内存或硬盘各类资源,均可采用上述方式进行正则化处理,统一为同一规格。在上述图2a-图2c以及图4所示实施例中,物理机包含的资源量以及虚拟机所需的资源量均是正则化处理后的资源量。例如,NC1(10)表示物理机1具有正则化的CPU内核数量为10,或者表示物理机1具有正则化的内存数量为10,或者表示物理机1具有正则化的硬盘数量为10,等等。
图5a为本申请示例性实施例提供的一种资源调度方法的流程示意图。如图5a所示,该方法适用于中心管控设备,具体包括:
51a、获取资源调度任务,资源调度任务要求将N个实例调度到M台物理机上;
52a、利用遗传算法计算出N个实例在M台物理机上的目标调度方式;
53a、按照目标调度方式将N个实例调度到M台物理机上;其中,M台物理机是至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数。
在本实施例中,并不限定资源调度任务以及其内容。例如,资源调度任务可以包含待部署实例的数量和规格、待调度物理机的数量以及物理机的GPU核数、内存余量和硬盘大小等与资源调度相关的信息。例如,一种任务调度任务可以是客户请求在本地边缘云节点中的5台物理机上部署10台规格为4核8G的虚拟机。另一种任务调度任务可以是客户请求在本地边缘云节点中3台物理机上部署8台规格为4核4G的虚拟机,其中,这些虚拟机的CPU和内存资源部署在3台物理机上,存储资源放到云盘上。
在本实施例中,也不对发起资源调度任务的资源调度需求方进行限定,例如资源调度任务可由网络系统的运营人员或网络系统的客户发起。网络系统的客户是指云计算服务的需求端,例如可以是互联网中的终端或者用户,或者物联网中的终端或用户。
本申请实施例并不对获取资源调度任务的方式做限定。例如可以是:中心管控设备提供的人机交互界面包括查询页面和购买页面。网络系统的运营人员,可以进入中心管控设备提供的查询页面,通过该查询页面提供查询涉及的物理资源的信息,以及查询涉及的实例的规格和数量等信息,并将这些信息携带在资源调度任务中提供给中心管控设备,以供中心管控设备据此进行资源调度;可以是资源调度需求方也可以预先在中心管控设备上内置资源调度任务,则中心管控设备可以执行内置的资源调度任务从而获取资源调度任务;还可以是资源调度需求方也可以通过其它可与中心管控设备通信的设备,例如终端设备或配置设备等,将资源调度任务以有线或无线通信方式传输给中心管控设备,则中心管控设备可以接收其它设备传输来的资源调度任务。
无论中心管控设备以何种方式获取资源调度任务,均可以根据接收到的资源调度任务对网络系统中的边缘云节点进行资源调度。在本申请实施例中,资源调度任务用于请求中心管控设备将N个实例部署在M台物理机(NC)上。其中,N个实例依赖边缘云节点102中的物理机运行,其实现形态可以是虚拟机(VM)、容器(Docker)或原生应用程序等。M台物理机是至少一个边缘云节点102中的物理资源,M台物理机可以是同一边缘云节点102中的物理机,也可以是不同边缘云节点102中的物理机。在保证N个实例稳定运行的前提下,如何尽量最大化M台物理机的利用率,是资源调度面临的主要问题。
在本实施例中,调度方式是指N个实例在M台物理机上的一种部署方式,一种调度方式可反映N个实例与M台物理机之间的一种映射关系。目标调度方式是指利用遗传算法得到的N个实例在M台物理机上的一种部署方式。在本实施例中,并不限定利用遗传算法得到的目标调度方式,其可以是满足一定条件或要求的一种调度方式。例如,目标调度方式可以是最优调度方式,也可以是能够使M台物理机的利用率大于设定利用率阈值的一种调度方式,也可以是能够将N个实例均匀部署在M台物理机上的一种调度方式,还可以是能够使N个实例部署在M台物理机上的集中度大于设定集中度阈值的一种调度方式。其中,对于目标调度方式是最优调度方式的情况,并不限定对最优调度方式的衡量标准。例如,可以以物理机的CPU、内存和/或硬盘等资源的利用率为标准,来衡量利用遗传算法得到的各调度方式中哪个属于最优调度方式;也可以是以N个实例部署在M台物理机上的分散度为标准,来衡量利用遗传算法得到的各调度方式中哪个属于最优调度方式。其中,N个实例部署在M台物理机上的分散度越高,因为物理机故障导致实例无法对外提供服务的概率就越低,有利于降低风险。
其中,关于遗传算法的详细内容请参见前述实施例,在此不再赘述。在资源调度场景中,可以将调度方式作为遗传算法中的个体,一种调度方式是一个个体,多种调度方式合在一起可作为遗传算法中的种群,而在一种调度方式中,一台物理机与其对应的实例形成一个基因片段。
针对步骤52a,基于上述概念之间的对应关系,利用遗传算法计算目标调度方式的一种方式,包括如下操作:
初始化操作:对N个实例在M台物理机上的调度方式进行初始化以得到初始种群,初始种群包括K1种调度方式;
交叉迭代操作:自初始种群开始,基于基因交叉操作进行种群迭代,以得到目标种群,目标种群包括K2种调度方式;
选择操作:从K2种调度方式中,选择目标调度方式;其中,K1、K2是大于或等于2的自然数。
其中,每种调度方式反应N个实例与M台物理机之间的一种映射关系,即N个实例在M台物理机上的一种部署方式。
针对初始化操作:在一可选实施例中,得到初始种群的方式包括:对N个实例进行K1次排序,得到实例顺序不完全相同的K1个实例序列;利用NF算法、FF算法、BF算法等,将K1个实例序列分别插入到M台物理机中至少部分物理机上,以得到初始种群。其中,并不限定对N个实例进行K1次排序的具体实施方式,凡是可以得到实例顺序不完全相同的K1个实例序列的实施方式均适用于本申请的实施例。
进一步可选地,对N个实例进行K1次随机排序,得到实例顺序不完全相同的K1个实例序列。关于NF、BF或FF算法以及将实例序列插入到物理机中的详细实施例,具体可参见前述,在此不再赘述。
在经过初始化操作之后,可以得到初始化种群。自初始化种群开始,基于基因交叉操作进行种群迭代,可以得到包含K2种调度方式的目标种群。
交叉迭代操作,本实施例的交叉迭代操作包括多次迭代操作,每次迭代操作中包括多次基因交叉操作。本实施例中,对迭代次数和每次迭代操作中基因交叉操作的次数均不做限定。例如,迭代次数可以是1万、1千、5百次等,可以预先设定。每次迭代操作中基因交叉的次数可以是5万、2千、6百次等,可以预先设定。另外,本实施例中,也并不对每次迭代过程中产生的调度方式的数量做限定,每次迭代产生的调度方式的数量可以相同,也可以不相同。较为优选的实现方式是,每次迭代产生的调度方式的数量相同。
其中,在每次迭代操作中,可以从上一次迭代操作产生的调度方式中选择一部分或全部调度方式形成本次迭代操作所需的种群。在一可选实施例中,在每次迭代操作中,从上一次迭代产生的调度方式中选择适应度最高的K3种调度方式形成该次迭代操作的种群;或者,在每次迭代操作中,从上一次迭代产生的调度方式中随机选择K3种调度方式形成该次迭代操作的种群。本实施例中,不对K3的数量做限定,只要是大于或等于2的自然数,均适用于本实施例。例如,假设上一次迭代操作产生了1000种调度方式,K3为100,即从1000种调度方式中选取100种调度方式作为本次迭代的种群。特殊地,第一次迭代操作时,从初始种群中选择K3种调度方式。
在遗传算法中,个体对环境的适应程度叫做适应度。关于适应度的详细介绍请参见前述实施例,在此不再赘述。
在一可选实施例中,以物理机的资源均衡度来衡量每种调度方式的适应度。基于此,在每次迭代操作中,还可以计算本次迭代产生的各调度方式中物理机的资源均衡度,并根据本次迭代产生的各调度方式中物理机的资源均衡度分别计算本次迭代产生的各调度方式的适应度。
关于本次迭代产生的各调度方式的适应度,可以采用但不限于下述几种方式来计算:
适应度计算方式1:对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的指定维度的资源的使用率的均方差,将该均方差作为该调度方式的适应度。在计算方式1中,利用物理机包含的指定维度的资源的使用率的均方差来体现物理机的资源均衡度。
适应度计算方式2:对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的多个维度的资源的使用率,根据多个维度的资源的使用率,计算该调度方式的适应度。在计算方式2中,利用物理机包含的多个维度的资源的使用率来体现物理机的资源均衡度。
进一步可选地,可以根据多个维度的资源的使用率,计算多个维度的资源的适应度;计算多个维度的资源的适应度的均值作为该调度方式的适应度。例如,对任一维度的资源,可以计算M台物理机该维度的资源的使用率的均方差,作为该维度资源的适应度。
本申请实施例中,每次迭代操作包括多个基因交叉操作,每次基因交叉操作涉及待交叉调度方式的选择,以及具体使用的交叉方式。在本实施例中,并未限定选择待交叉调度方式的方式。下面给出两种具体可选实施方式:
实施方式A1:在每次迭代操作中,对于每次基因交叉操作,从该次迭代操作的种群中随机选择至少一种待交叉调度方式,对至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式。其中,在每次迭代操作中,对于不同基因交叉操作,所使用的待交叉调度方式的数量可以相同,也可以不相同。
实施方式A2:在每次迭代操作中,对每次基因交叉操作,根据该次迭代操作的种群中每种调度方式的适应度,从该次迭代操作的种群中选择至少一种待交叉调度方式,对至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式。同理,在每次迭代操作中,对于不同基因交叉操作,所使用的待交叉调度方式的数量可以相同,也可以不相同。优选地,在每次迭代操作中,对于不同基因交叉操作,所使用的待交叉调度方式的数量相同,这种方式便于实现,效率较高。
进一步可选地,本申请实施例并不限定根据每种调度方式的适应度选择至少一种待交叉调度方式的选择方式。可选地,可以以该次迭代操作中每次基因交叉操作所选择的待交叉调度方式不完全相同为目标,根据该次迭代操的种群中每种调度方式的适应度,优先从中选择适应度最高的至少一种调度方式作为待交叉调度方式。
对于上述实施方式A1和A2,进一步可选地,至少一种待交叉调度方式包括:第一待交叉调度方式和第二待交叉调度方式。基于此,进行基因交叉的一种方式包括:从第一待交叉调度方式包含的各基因片段中,选择待交叉基因片段;将待交叉基因片段与第二待交叉调度方式包含的基因片段进行交叉,得到该次迭代操作产生的一种调度方式。在本申请实施例中,并不限定待交叉基因片段的数量,例如可以是一段、二段、多段等等。
在本申请实施例中,并不限定第一待交叉调度方式中选择待交叉基因片段的过程。下面给出几种选择待交叉基因片段的示例性实施例,如下所述:
实施方式B1:从第一待交叉调度方式包含的各基因片段中,随机选择待交叉基因片段。
实施方式B2:根据第一待交叉调度方式包含的各基因片段的质量,从中选择质量最优的至少一个基因片段作为待交叉基因片段。
进一步可选地,根据第一待交叉调度方式包含的各基因片段的质量选择待交叉基因片段,包括:根据第一待交叉调度方式包含的各基因片段的资源均衡度,从中选择均衡度最高的至少一个基因片段作为待交叉基因片段;或者根据第一待交叉调度方式包含的各基因片段的资源利用率,从中选择利用率最高的至少一个基因片段作为待交叉基因片段。在本实施例中,以基因片段的资源均衡度或资源利用率作为依据,来衡量基因片段的质量仅为示例性实现方式,并不限于此。
其中,基因片段的资源均衡度或资源利用率,可以通过该基因片段包含的物理机的资源均衡度或资源利用率来反应。物理机的资源均衡度是指物理机包含的各种资源的使用率是否相同或相近。
实施方式B3:根据第二待交叉调度方式包含的各基因片段的分布情况,从第一待交叉调度方式包含的各基因片段中选择待交叉基因片段。
在基因交叉过程中,从第一待交叉调度方式上选取待交叉基因片段;选取出的基因片段上包含的实例可能与第二待交叉调度方式中原有的实例重复。因此需要将该重复实例从第二待交叉调度方式中去掉。这样就破坏了第二待交叉调度方式上资源利用率较高或者均衡度较好的基因片段。
进一步可选地,根据第二待交叉调度方式包含的各基因片段的分布情况选择待交叉基因片段的一种方式,包括:计算第一待交叉调度方式包含的各基因片段在与第二待交叉调度方式包含的基因片段进行基因交叉时对第二待交叉调度方式产生的破坏度;根据第一待交叉调度方式包含的各基因片段在与第二待交叉调度方式包含的基因片段进行基因交叉时对第二待交叉调度方式产生的破坏度,从中选择破坏度最小的至少一个基因片段作为待交叉基因片段。
在交叉迭代操作中,通过基因交叉进行种群迭代得到的目标种群包括K2种调度方式。基于此,针对选择操作,从K2种调度方式中,选择目标调度方式。可选地,从K2种调度方式中,选择适应度最高的一种调度方式作为目标调度方式。或者,从K2种调度方式中,随机选择一种调度方式作为目标调度方式。
针对步骤53a,在得到目标调度方式之后,可以将N个实例调度到M台物理机上。
在本实施例中,在获取将N个实例调度到M台物理机上的资源调度任务后,针对该调度任务,可利用遗传算法计算出目标调度方式,最后按照目标调度方式将N个实例调度到M台物理机上。其中,利用遗传算法获取目标调度方式,有利于提高资源调度的合理性,提高物理资源利用率,保证用户服务的高可用性。
需要说明的是,本申请实施例提供的资源调度方案不仅适用于边缘云场景,凡是能够抽象为装箱问题的应用场景都可采用本申请实施例提供的技术方案或其类似方案来解决。例如可以是汽车运输包裹问题,将不同规格的包裹装进汽车车厢中,使汽车的容量利用率最高;也可以是火车集装箱问题,将不同规格的集装箱装进火车车厢中,使火车车厢容量的利用率最高等等。基于此,本申请示例性实施例还提供一种调度方法,如图5b所示,该方法包括:
51b、获取调度任务,所述调度任务要求将N个对象调度至M个对象载体上;
52b、利用遗传算法计算出所述N个对象在所述M个对象载体上的目标调度方式;
53b、按照所述目标调度方式将所述N个对象调度到所述M个对象载体上;其中,N、M为大于或等于1的自然数。
在本申请实施例中,调度方法是将待调度对象调度至对象载体上的方式,用以利用对象载体来承载对象。在本申请实施例中,并不限定对象和对象载体。对象不同,对象载体也会有所不同。例如,在对象为待运输货物时,对象载体可以是货车或汽车等,货车、汽车的车厢可承载待运输货物。在对象为集装箱时,对象载体可以是火车或货轮,火车或货轮的箱体可以承载集装箱。在对象为实例时,对象载体可以为边缘云场景下的物理机,实例可依赖物理机上的CPU、内存、硬盘等资源运行。
在本实施例中,调度方式是指N个对象在M个对象载体上的一种部署方式,一种调度方式可反映N个对象与M个对象载体之间的一种映射关系。其中,目标调度方式是指利用遗传算法得到的N个对象在M个对象载体上的一种部署方式。
在本实施例中,并不限定利用遗传算法得到的目标调度方式,其可以是满足一定条件或要求的一种调度方式。例如,目标调度方式可以是最优调度方式,也可以是能够使M个对象载体的利用率大于设定利用率阈值的一种调度方式,也可以是能够将N个对象均匀部署在M个对象载体上的一种调度方式,还可以是能够使N个对象部署在M个对象载体上的集中度大于设定集中度阈值的一种调度方式。
其中,关于遗传算法的详细内容请参见前述实施例,在此不再赘述。在调度场景中,可以将调度方式作为遗传算法中的个体,一种调度方式是一个个体,多种调度方式合在一起可作为遗传算法中的种群,而在一种调度方式中,一个对象载体与其对应的对象形成一个基因片段。
针对步骤52b,基于上述概念之间的对应关系,利用遗传算法计算目标调度方式的一种方式,包括如下操作:
初始化操作:对N个对象在M个对象载体上的调度方式进行初始化以得到初始种群,初始种群包括K1种调度方式;
交叉迭代操作:自初始种群开始,基于基因交叉操作进行种群迭代,以得到目标种群,目标种群包括K2种调度方式;
选择操作:从K2种调度方式中,选择目标调度方式;其中,K1、K2是大于或等于2的自然数。
针对步骤53b,在得到目标调度方式之后,可以将N个对象调度到M个对象载体上。
关于上述步骤51b-53b、以及初始化操作、交叉迭代操作和选择操作等详细实现,可参见前述实施例中相应操作的详细实现,在此不再赘述。其中,可将前述实施例中相关实现中的“实例”和“物理机”替换为本实施例中的“对象”和“对象载体”,从而得到本实施例中相关操作的详细实现。
在本实施例中,在获取将N个对象调度到M个对象载体上的调度任务后,针对该调度任务,可利用遗传算法计算出目标调度方式,最后按照目标调度方式将N个对象调度到M个对象载体上。其中,利用遗传算法获取目标调度方式,有利于提高资源调度的合理性,提高资源利用率,保证用户服务的高可用性。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤51a至步骤53a的执行主体可以为设备A;又比如,步骤51a和52a的执行主体可以为设备A,步骤53a的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如51a、52a等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图6为本申请示例性实施例提供的一种中心管控设备的结构示意图。如图6所示,该设备包括:一个或多个存储计算机指令的存储器602、一个或多个处理器601和通信组件603;
存储器602,用于存储计算机程序,并可被配置为存储其它各种数据以支持在中心管控设备上的操作。这些数据的示例包括用于在中心管控设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器602,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本实施例中,一个或多个处理器601,与存储器602耦合,用于执行计算机程序,以用于:通过通信组件603获取资源调度任务,资源调度任务要求将N个实例调度到M台物理机上;利用遗传算法计算出N个实例在M台物理机上的目标调度方式;按照目标调度方式将N个实例调度到M台物理机上;其中,M台物理机是至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数。
在一可选实施例中,一个或多个处理器601,在计算目标调度方式时,具体用于:对N个实例在M台物理机上的调度方式进行初始化以得到初始种群,初始种群包括K1种调度方式;自初始种群开始,基于基因交叉操作进行种群迭代,以得到目标种群,目标种群包括K2种调度方式;从K2种调度方式中,选择目标调度方式;其中,K1、K2是大于或等于2的自然数;其中,每种调度方式反应N个实例与M台物理机之间的一种映射关系,且在每种调度方式中,每台物理机与其对应的实例形成一个基因片段。
在一可选实施例中,一个或多个处理器601,在得到初始种群时,具体用于:对N个实例进行K1次排序,得到实例顺序不完全相同的K1个实例序列;利用NF、BF、FF、FFD或BFD算法,将K1个实例序列分别插入到M台物理机中至少部分物理机上,以得到初始种群。
在一可选实施例中,一个或多个处理器601,对N个实例进行K1次排序,得到实例顺序不完全相同的K1个实例序列时,具体用于:对N个实例进行K1次随机排序,得到实例顺序不完全相同的K1个实例序列。
在一可选实施例中,一个或多个处理器601,在进行种群迭代时,具体用于:在每次迭代操作中,从上一次迭代产生的调度方式中选择适应度最高的K3种调度方式形成该次迭代操作的种群;或者在每次迭代操作中,从上一次迭代产生的调度方式中随机选择K3种调度方式形成该次迭代操作的种群;其中,K3是大于或等于2的自然数。
在一可选实施例中,一个或多个处理器601,在基于基因交叉操作进行种群迭代时,具体用于:在每次迭代操作中的每次基因交叉操作中,从该次迭代操作的种群中随机选择至少一种待交叉调度方式,对至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式;或者在每次迭代操作中的每次基因交叉操作中,根据该次迭代操作的种群中每种调度方式的适应度,从该次迭代操作的种群中选择至少一种待交叉调度方式,对至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式。
在一可选实施例中,一个或多个处理器601,在根据该次迭代操作的种群中每种调度方式的适应度,从该次迭代操作的种群中选择至少一种待交叉调度方式时,具体用于:以该次迭代操作中每次基因交叉操作所选择的待交叉调度方式不完全相同为目标,根据该次迭代操的种群中每种调度方式的适应度,优先从中选择适应度最高的至少一种调度方式作为待交叉调度方式。
在一可选实施例中,至少一种待交叉调度方式包括:第一待交叉调度方式和第二待交叉调度方式;一个或多个处理器601,具体用于:从第一待交叉调度方式包含的各基因片段中,选择待交叉基因片段;将待交叉基因片段与第二待交叉调度方式包含的基因片段进行交叉,得到该次迭代操作产生的一种调度方式。
在一可选实施例中,一个或多个处理器601,在选择待交叉基因片段时,具体用于:从第一待交叉调度方式包含的各基因片段中,随机选择待交叉基因片段;或者根据第一待交叉调度方式包含的各基因片段的质量,从中选择质量最优的至少一个基因片段作为待交叉基因片段;或者根据第二待交叉调度方式包含的各基因片段的分布情况,从第一待交叉调度方式包含的各基因片段中选择待交叉基因片段。
在一可选实施例中,一个或多个处理器601,在根据第一待交叉调度方式包含的各基因片段的质量选择待交叉基因片段时,具体用于:根据第一待交叉调度方式包含的各基因片段的资源均衡度,从中选择均衡度最高的至少一个基因片段作为待交叉基因片段;或者根据第一待交叉调度方式包含的各基因片段的资源利用率,从中选择利用率最高的至少一个基因片段作为待交叉基因片段。
在一可选实施例中,一个或多个处理器601,在根据第二待交叉调度方式包含的各基因片段的分布情况选择待交叉基因片段时,具体用于:计算第一待交叉调度方式包含的各基因片段在与第二待交叉调度方式包含的基因片段进行基因交叉时对第二待交叉调度方式产生的破坏度;根据第一待交叉调度方式包含的各基因片段在与第二待交叉调度方式包含的基因片段进行基因交叉时对第二待交叉调度方式产生的破坏度,从中选择破坏度最小的至少一个基因片段作为待交叉基因片段。
在一可选实施例中,一个或多个处理器601,还用于:在每次迭代操作中,计算本次迭代产生的各调度方式中物理机的资源均衡度,并根据本次迭代产生的各调度方式中物理机的资源均衡度分别计算本次迭代产生的各调度方式的适应度。
在一可选实施例中,一个或多个处理器601,具体用于:对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的指定维度的资源的使用率的均方差,将均方差作为该调度方式的适应度;或者对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的多个维度的资源的使用率,根据多个维度的资源的使用率,计算该调度方式的适应度。
在一可选实施例中,一个或多个处理器601,在K2种调度方式中,选择目标调度方式时,具体用于:从K2种调度方式中,选择适应度最高的一种调度方式作为目标调度方式。
进一步,如图6所示,该中心管控设备还包括:显示器607、电源组件608、音频组件609等其它组件。图6中仅示意性给出部分组件,并不意味着中心管控设备只包括图6所示组件。另外,图6中虚线框内的组件为可选组件,而非必选组件,具体可视中心管控设备的产品形态而定。本实施例的中心管控设备可以实现为台式电脑、笔记本电脑、智能手机或IOT设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的中心管控设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图6中虚线框内的组件;若本实施例的中心管控设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图6中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由中心管控设备执行的各步骤。
本申请实施例还提供一种调度设备,该设备的实现结构与图6所示实施例的设备类似或相同,其与图6所示设备的主要区别在于:处理器执行存储器中存储的计算机程序所能实现的功能不同。在本实施例的调度设备中,处理器执行存储器中的计算机程序,以用于:获取调度任务,调度任务要求将N个对象调度至M个对象载体上;利用遗传算法计算出N个对象在M个对象载体上的目标调度方式;按照目标调度方式将N个对象调度到M个对象载体上;其中,N、M为大于或等于1的自然数。
与图6所示实施例相比,本实施例的主要区别在于:将图6实施例资源调度任务中的实例和物理机分别换成了本实施例调度任务中的对象和对象载体,其它内容均与前述实施例相同或相似,在此不再赘述,可参见前述实施例的描述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由调度设备执行的各步骤。
上述实施例的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可以包括近场通信(NFC)模块,射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术等。
上述实施例中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述实施例中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (31)

1.一种网络系统,其特征在于,包括:中心管控设备以及至少一个边缘云节点;
所述中心管控设备,用于:获取资源调度任务,所述资源调度任务要求将N个实例调度到M台物理机上;利用遗传算法计算出所述N个实例在所述M台物理机上的目标调度方式;按照所述目标调度方式将所述N个实例调度到所述M台物理机上;
其中,所述M台物理机是所述至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数,所述目标调度方式是目标种群中的一种调度方式,所述目标种群是自初始种群开始基于基因交叉操作进行种群迭代得到的;
其中,初始种群和目标种群中的每种调度方式反应所述N个实例与所述M台物理机之间的一种映射关系,且在每种调度方式中,每台物理机与其对应的实例形成一个基因片段。
2.根据权利要求1所述的系统,其特征在于,所述中心管控设备在计算目标调度方式时,具体用于:
对所述N个实例在M台物理机上的调度方式进行初始化以得到初始种群,所述初始种群包括K1种调度方式;
自所述初始种群开始,基于基因交叉操作进行种群迭代,以得到目标种群,所述目标种群包括K2种调度方式;
从所述K2种调度方式中,选择目标调度方式;其中,K1、K2是大于或等于2的自然数。
3.根据权利要求2所述的系统,其特征在于,所述中心管控设备得到初始种群时,具体用于:
对所述N个实例进行K1次排序,得到实例顺序不完全相同的K1个实例序列;
利用NF、BF或FF算法,将K1个实例序列分别插入到所述M台物理机中至少部分物理机上,以得到初始种群。
4.根据权利要求3所述的系统,其特征在于,所述中心管控设备具体用于:
对所述N个实例进行K1次随机排序,得到实例顺序不完全相同的K1个实例序列。
5.根据权利要求2所述的系统,其特征在于,所述中心管控设备具体用于:
在每次迭代操作中,从上一次迭代产生的调度方式中选择适应度最高的K3种调度方式形成该次迭代操作的种群;
或者
在每次迭代操作中,从上一次迭代产生的调度方式中随机选择K3种调度方式形成该次迭代操作的种群;
其中,K3是大于或等于2的自然数。
6.根据权利要求5所述的系统,其特征在于,所述中心管控设备在每次迭代操作中执行基因交叉操作时,具体用于:
在每次迭代操作中的每次基因交叉操作中,从该次迭代操作的种群中随机选择至少一种待交叉调度方式,对所述至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式;
或者
在每次迭代操作中的每次基因交叉操作中,根据该次迭代操作的种群中每种调度方式的适应度,从该次迭代操作的种群中选择至少一种待交叉调度方式,对所述至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式。
7.根据权利要求6所述的系统,其特征在于,所述中心管控设备在根据适应度选择至少一种待交叉调度方式时,具体用于:
以该次迭代操作中每次基因交叉操作所选择的待交叉调度方式不完全相同为目标,根据该次迭代操的种群中每种调度方式的适应度,优先从中选择适应度最高的至少一种调度方式作为待交叉调度方式。
8.根据权利要求6所述的系统,其特征在于,所述至少一种待交叉调度方式包括:第一待交叉调度方式和第二待交叉调度方式;
所述中心管控设备在进行基因交叉时,具体用于:从所述第一待交叉调度方式包含的各基因片段中,选择待交叉基因片段;将所述待交叉基因片段与所述第二待交叉调度方式包含的基因片段进行交叉,得到该次迭代操作产生的一种调度方式。
9.根据权利要求8所述的系统,其特征在于,所述中心管控设备在选择待交叉基因片段时,具体用于:
从所述第一待交叉调度方式包含的各基因片段中,随机选择待交叉基因片段;
或者
根据所述第一待交叉调度方式包含的各基因片段的质量,从中选择质量最优的至少一个基因片段作为待交叉基因片段;
或者
根据所述第二待交叉调度方式包含的各基因片段的分布情况,从所述第一待交叉调度方式包含的各基因片段中选择待交叉基因片段。
10.根据权利要求9所述的系统,其特征在于,所述中心管控设备在根据所述第一待交叉调度方式包含的各基因片段的质量选择待交叉基因片段时,具体用于:
根据所述第一待交叉调度方式包含的各基因片段的资源均衡度,从中选择均衡度最高的至少一个基因片段作为待交叉基因片段;
或者
根据所述第一待交叉调度方式包含的各基因片段的资源利用率,从中选择利用率最高的至少一个基因片段作为待交叉基因片段。
11.根据权利要求9所述的系统,其特征在于,所述中心管控设备在根据所述第二待交叉调度方式包含的各基因片段的分布情况选择待交叉基因片段时,具体用于:
计算所述第一待交叉调度方式包含的各基因片段在与所述第二待交叉调度方式包含的基因片段进行基因交叉时对所述第二待交叉调度方式产生的破坏度;
根据所述第一待交叉调度方式包含的各基因片段在与所述第二待交叉调度方式包含的基因片段进行基因交叉时对所述第二待交叉调度方式产生的破坏度,从中选择破坏度最小的至少一个基因片段作为待交叉基因片段。
12.根据权利要求5-11任一项所述的系统,其特征在于,所述中心管控设备还用于:
在每次迭代操作中,计算本次迭代产生的各调度方式中物理机的资源均衡度,并根据本次迭代产生的各调度方式中物理机的资源均衡度分别计算本次迭代产生的各调度方式的适应度。
13.根据权利要求12所述的系统,其特征在于,所述中心管控设备具体用于:
对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的指定维度的资源的使用率的均方差,将所述均方差作为该调度方式的适应度;或者
对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的多个维度的资源的使用率,根据所述多个维度的资源的使用率,计算该调度方式的适应度。
14.根据权利要求2-11任一项所述的系统,其特征在于,所述中心管控设备在所述K2种调度方式中,选择目标调度方式时,具体用于:
从所述K2种调度方式中,选择适应度最高的一种调度方式作为目标调度方式。
15.一种资源调度方法,适用于中心管控设备,其特征在于,所述方法包括:
获取资源调度任务,所述资源调度任务要求将N个实例调度到M台物理机上;
利用遗传算法计算出所述N个实例在所述M台物理机上的目标调度方式;
按照所述目标调度方式将所述N个实例调度到所述M台物理机上;
其中,所述M台物理机是至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数,所述目标调度方式是目标种群中的一种调度方式,所述目标种群是自初始种群开始基于基因交叉操作进行种群迭代得到的;
其中,初始种群和目标种群中的每种调度方式反应所述N个实例与所述M台物理机之间的一种映射关系,且在每种调度方式中,每台物理机与其对应的实例形成一个基因片段。
16.根据权利要求15所述的方法,其特征在于,利用遗传算法计算出所述N个实例在所述M台物理机上的目标调度方式,包括:
对所述N个实例在M台物理机上的调度方式进行初始化以得到初始种群,所述初始种群包括K1种调度方式;
自所述初始种群开始,基于基因交叉操作进行种群迭代,以得到目标种群,所述目标种群包括K2种调度方式;
从所述K2种调度方式中,选择目标调度方式;其中,K1、K2是大于或等于2的自然数。
17.根据权利要求16所述的方法,其特征在于,对所述N个实例在M台物理机上的调度方式进行初始化以得到初始种群时,包括:
对所述N个实例进行K1次排序,得到实例顺序不完全相同的K1个实例序列;
利用NF、BF或FF算法,将K1个实例序列分别插入到所述M台物理机中至少部分物理机上,以得到初始种群。
18.根据权利要求17所述的方法,其特征在于,对所述N个实例进行K1次排序,得到实例顺序不完全相同的K1个实例序列,包括:
对所述N个实例进行K1次随机排序,得到实例顺序不完全相同的K1个实例序列。
19.根据权利要求16所述的方法,其特征在于,还包括:
在每次迭代操作中,从上一次迭代产生的调度方式中选择适应度最高的K3种调度方式形成该次迭代操作的种群;
或者
在每次迭代操作中,从上一次迭代产生的调度方式中随机选择K3种调度方式形成该次迭代操作的种群;
其中,K3是大于或等于2的自然数。
20.根据权利要求19所述的方法,其特征在于,基于基因交叉操作进行种群迭代的过程,包括:
在每次迭代操作中的每次基因交叉操作中,从该次迭代操作的种群中随机选择至少一种待交叉调度方式,对所述至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式;
或者
在每次迭代操作中的每次基因交叉操作中,根据该次迭代操作的种群中每种调度方式的适应度,从该次迭代操作的种群中选择至少一种待交叉调度方式,对所述至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式。
21.根据权利要求20所述的方法,其特征在于,根据该次迭代操作的种群中每种调度方式的适应度,从该次迭代操作的种群中选择至少一种待交叉调度方式,包括:
以该次迭代操作中每次基因交叉操作所选择的待交叉调度方式不完全相同为目标,根据该次迭代操的种群中每种调度方式的适应度,优先从中选择适应度最高的至少一种调度方式作为待交叉调度方式。
22.根据权利要求20所述的方法,其特征在于,所述至少一种待交叉调度方式包括:第一待交叉调度方式和第二待交叉调度方式;
对所述至少一种待交叉调度方式进行基因交叉,得到该次迭代操作产生的一种调度方式,包括:从所述第一待交叉调度方式包含的各基因片段中,选择待交叉基因片段;将所述待交叉基因片段与所述第二待交叉调度方式包含的基因片段进行交叉,得到该次迭代操作产生的一种调度方式。
23.根据权利要求22所述的方法,其特征在于,从所述第一待交叉调度方式包含的各基因片段中,选择待交叉基因片段,包括:
从所述第一待交叉调度方式包含的各基因片段中,随机选择待交叉基因片段;
或者
根据所述第一待交叉调度方式包含的各基因片段的质量,从中选择质量最优的至少一个基因片段作为待交叉基因片段;
或者
根据所述第二待交叉调度方式包含的各基因片段的分布情况,从所述第一待交叉调度方式包含的各基因片段中选择待交叉基因片段。
24.根据权利要求23所述的方法,其特征在于,根据所述第一待交叉调度方式包含的各基因片段的质量,从中选择质量最优的至少一个基因片段作为待交叉基因片段,包括:
根据所述第一待交叉调度方式包含的各基因片段的资源均衡度,从中选择均衡度最高的至少一个基因片段作为待交叉基因片段;
或者
根据所述第一待交叉调度方式包含的各基因片段的资源利用率,从中选择利用率最高的至少一个基因片段作为待交叉基因片段。
25.根据权利要求23所述的方法,其特征在于,根据所述第二待交叉调度方式包含的各基因片段的分布情况,从所述第一待交叉调度方式包含的各基因片段中选择待交叉基因片段,包括:
计算所述第一待交叉调度方式包含的各基因片段在与所述第二待交叉调度方式包含的基因片段进行基因交叉时对所述第二待交叉调度方式产生的破坏度;
根据所述第一待交叉调度方式包含的各基因片段在与所述第二待交叉调度方式包含的基因片段进行基因交叉时对所述第二待交叉调度方式产生的破坏度,从中选择破坏度最小的至少一个基因片段作为待交叉基因片段。
26.根据权利要求19-25中任一项所述的方法,其特征在于,在每次迭代操作中,还包括:
计算本次迭代产生的各调度方式中物理机的资源均衡度,并根据本次迭代产生的各调度方式中物理机的资源均衡度分别计算本次迭代产生的各调度方式的适应度。
27.根据权利要求26所述的方法,其特征在于,计算本次迭代产生的各调度方式的适应度,包括:
对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的指定维度的资源的使用率的均方差,将所述均方差作为该调度方式的适应度;或者
对本次迭代产生的任一调度方式,计算该调度方式中物理机包含的多个维度的资源的使用率,根据所述多个维度的资源的使用率,计算该调度方式的适应度。
28.根据权利要求16-25任一项所述的方法,其特征在于,从所述K2种调度方式中,选择目标调度方式时,具体用于:
从所述K2种调度方式中,选择适应度最高的一种调度方式作为目标调度方式。
29.一种中心管控设备,其特征在于,包括:存储器、处理器和通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
通过通信组件获取资源调度任务,所述资源调度任务要求将N个实例调度到M台物理机上;
利用遗传算法计算出所述N个实例在所述M台物理机上的目标调度方式;
按照所述目标调度方式将所述N个实例调度到所述M台物理机上;
其中,所述M台物理机是至少一个边缘云节点中可供调度的物理资源;N、M为大于或等于1的自然数,所述目标调度方式是目标种群中的一种调度方式,所述目标种群是自初始种群开始基于基因交叉操作进行种群迭代得到的;
其中,初始种群和目标种群中的每种调度方式反应所述N个实例与所述M台物理机之间的一种映射关系,且在每种调度方式中,每台物理机与其对应的实例形成一个基因片段。
30.一种调度方法,其特征在于,包括:
获取调度任务,所述调度任务要求将N个对象调度至M个对象载体上;
利用遗传算法计算出所述N个对象在所述M个对象载体上的目标调度方式;
按照所述目标调度方式将所述N个对象调度到所述M个对象载体上;
其中,N、M为大于或等于1的自然数,所述目标调度方式是目标种群中的一种调度方式,所述目标种群是自初始种群开始基于基因交叉操作进行种群迭代得到的;
其中,初始种群和目标种群中的每种调度方式反应所述N个对象与所述M个对象载体之间的一种映射关系,且在每种调度方式中,每个对象载体与其对应的对象形成一个基因片段。
31.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求15-28以及30任一项所述方法中的步骤。
CN202010027332.4A 2020-01-10 2020-01-10 资源调度方法、设备、网络系统及存储介质 Active CN113132445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010027332.4A CN113132445B (zh) 2020-01-10 2020-01-10 资源调度方法、设备、网络系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010027332.4A CN113132445B (zh) 2020-01-10 2020-01-10 资源调度方法、设备、网络系统及存储介质

Publications (2)

Publication Number Publication Date
CN113132445A CN113132445A (zh) 2021-07-16
CN113132445B true CN113132445B (zh) 2023-04-28

Family

ID=76770884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010027332.4A Active CN113132445B (zh) 2020-01-10 2020-01-10 资源调度方法、设备、网络系统及存储介质

Country Status (1)

Country Link
CN (1) CN113132445B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116232781B (zh) * 2022-12-08 2024-04-16 中国联合网络通信集团有限公司 节能方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484512A (zh) * 2016-10-08 2017-03-08 电子科技大学 计算单元的调度方法
CN107172166A (zh) * 2017-05-27 2017-09-15 电子科技大学 面向工业智能化服务的云雾计算系统
CN108874525A (zh) * 2018-06-22 2018-11-23 浙江大学 一种面向边缘计算环境的服务请求分配方法
CN109451012A (zh) * 2018-11-01 2019-03-08 宜通世纪物联网研究院(广州)有限公司 一种端云协同负载均衡调度方法、系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811491A (zh) * 2015-04-17 2015-07-29 华南理工大学 一种基于遗传算法的云计算资源调度方法
CN105740051B (zh) * 2016-01-27 2019-03-22 北京工业大学 基于改进的遗传算法的云计算资源调度实现方法
CN109656713B (zh) * 2018-11-30 2022-09-16 河海大学 一种基于边缘计算框架的容器调度方法
CN109800071A (zh) * 2019-01-03 2019-05-24 华南理工大学 一种基于改进遗传算法的云计算任务调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484512A (zh) * 2016-10-08 2017-03-08 电子科技大学 计算单元的调度方法
CN107172166A (zh) * 2017-05-27 2017-09-15 电子科技大学 面向工业智能化服务的云雾计算系统
CN108874525A (zh) * 2018-06-22 2018-11-23 浙江大学 一种面向边缘计算环境的服务请求分配方法
CN109451012A (zh) * 2018-11-01 2019-03-08 宜通世纪物联网研究院(广州)有限公司 一种端云协同负载均衡调度方法、系统及存储介质

Also Published As

Publication number Publication date
CN113132445A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN108062246B (zh) 用于深度学习框架的资源调度方法和装置
Pham et al. A cost-and performance-effective approach for task scheduling based on collaboration between cloud and fog computing
US11232392B2 (en) Method for processing orders and electronic device
JP2023549655A (ja) コンテナ・スケーリングおよび移動を実施する方法、システム
CN109408205A (zh) 基于hadoop集群的任务调度方法和装置
CN113553140B (zh) 资源调度方法、设备及系统
CN113645262A (zh) 云计算服务系统和方法
CN111435943A (zh) 数据处理方法、设备、系统及存储介质
US20220150666A1 (en) Intelligent dynamic communication handoff for mobile applications
CN113132445B (zh) 资源调度方法、设备、网络系统及存储介质
CN114238237A (zh) 任务处理方法、装置、电子设备和计算机可读存储介质
CN113826078B (zh) 资源调度与信息预测方法、设备、系统及存储介质
Zhang A computing allocation strategy for Internet of things’ resources based on edge computing
CN112953993B (zh) 资源调度方法、设备、网络系统及存储介质
CN110309462A (zh) 数据展示方法及系统
Qiao et al. Making big data intelligent storable at the edge: Storage resource intelligent orchestration
Poltronieri et al. Value is king: the mecforge deep reinforcement learning solution for resource management in 5g and beyond
JP2024502329A (ja) 動的タスク移動を介したクラスタにまたがるエッジ・タイム・シェアリング
CN116954878A (zh) 容器集群的管理方法、装置、设备、存储介质及程序产品
CN114168446A (zh) 一种面向移动端运行算法模型的模拟评测方法及设备
Poleggi et al. Edge-to-cloud solutions for self-adaptive machine learning-based IoT applications: a cost comparison
CN113743425A (zh) 一种生成分类模型的方法和装置
CN115002215B (zh) 面向云上政企的资源分配模型训练方法以及资源分配方法
CN109840073B (zh) 业务流程的实现方法和装置
CN112308595A (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