CN114726852A - 节点调度方法、装置及存储介质 - Google Patents

节点调度方法、装置及存储介质 Download PDF

Info

Publication number
CN114726852A
CN114726852A CN202110002190.0A CN202110002190A CN114726852A CN 114726852 A CN114726852 A CN 114726852A CN 202110002190 A CN202110002190 A CN 202110002190A CN 114726852 A CN114726852 A CN 114726852A
Authority
CN
China
Prior art keywords
flow table
requirement
virtual machine
node
deployed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110002190.0A
Other languages
English (en)
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 Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
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 Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110002190.0A priority Critical patent/CN114726852A/zh
Publication of CN114726852A publication Critical patent/CN114726852A/zh
Pending legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种节点调度方法、装置及存储介质。其中,方法包括:获取待部署虚拟机的第一流表需求;确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。

Description

节点调度方法、装置及存储介质
技术领域
本申请涉及网络功能虚拟化(NFV,Network Functions Virtualization)领域,尤其涉及一种节点调度方法、装置及存储介质。
背景技术
在NFV系统架构中,在进行虚拟机创建、虚拟机疏散、虚拟机冷迁移(即对关闭电源的虚拟机进行迁移)及虚拟机热迁移(即在不停机的情况下进行虚拟机迁移)时,虚拟层具备调度计算节点的功能。比如,在进行虚拟机创建的过程中,虚拟层可以根据虚拟机的部署(即创建)需求,通过调度算法选取一个符合相应部署需求的计算节点用于部署虚拟机。
然而,相关技术中,虚拟层调度计算节点的方法尚需优化。
发明内容
为解决相关技术问题,本申请实施例提供一种节点调度方法、装置及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种节点调度方法,包括:
获取待部署虚拟机的第一流表需求;
确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;
基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。
上述方案中,所述基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点,包括:
将所述第一流表需求包含的流表条目数与第一阈值进行比较,得到比较结果;
基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点。
上述方案中,所述基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点,包括:
在所述比较结果表征所述第一流表需求包含的流表条目数大于或等于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第一类计算节点;所述第一类计算节点的第二流表需求包含的至少一个流表条目数中的最大流表条目数小于所述第一阈值;
基于预设部署策略从所述第一类计算节点中确定目标计算节点。
上述方案中,所述方法还包括:
在所述多个计算节点中不存在所述第一类计算节点的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于所述预设部署策略从所述第二类计算节点中确定目标计算节点。
上述方案中,所述基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点,包括:
在所述比较结果表征所述第一流表需求包含的流表条目数小于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于预设部署策略从所述第二类计算节点中确定目标计算节点。
上述方案中,所述基于预设部署策略确定目标计算节点,包括:
基于所述待部署虚拟机的其他部署需求,确定目标计算节点;所述其他部署需求包括以下至少之一:
计算能力;
存储能力;
网络和/或程序优化相关的部署需求。
上述方案中,所述获取待部署虚拟机的第一流表需求,包括:
获取待部署虚拟机的规格信息;所述规格信息至少包含所述第一流表需求。
本申请实施例还提供了一种节点调度装置,包括:
获取单元,用于获取待部署虚拟机的第一流表需求;
第一处理单元,用于确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;
第二处理单元,用于基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。
本申请实施例还提供了一种节点调度装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本申请实施例提供的节点调度方法、装置及存储介质,获取待部署虚拟机的第一流表需求;确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。本申请实施例的方案,在部署虚拟机时,结合待部署虚拟机的流表需求以及计算节点上已部署虚拟机的流表需求,对计算节点进行调度;也就是说,结合待部署虚拟机的流表需求以及计算节点针对待部署虚拟机的流表承载(即处理)能力对计算节点进行调度,如此,能够在对流表需求较大的虚拟机进行部署的场景中,保证NFV电信类应用的业务性能,提升用户体验。
附图说明
图1为本申请实施例节点调度方法的流程示意图;
图2为本申请实施例节点调度装置的结构示意图;
图3为本申请实施例节点调度装置的硬件结构示意图。
具体实施方式
下面结合附图及实施例对本申请再作进一步详细的描述。
相关技术中,通过NFV系统,能够将硬件资源虚拟化为可动态请求使用的虚拟资源提供给虚拟化网络功能(VNF,Virtualized Network Function),使VNF能够作为与物理网元具有相同功能的虚拟化功能设备(即虚拟网元)。同时,为了进一步提升系统灵活性,对虚拟网元的控制面与数据面进行解耦,在NFV系统中引入了软件定义网络(SDN,SoftwareDefined Network)技术,利用SDN技术对虚拟网元进行组网,能够实现信息技术(IT,Information Technology)类应用和电信类应用。
其中,如表1所示,在实现电信类应用的过程中,由于电信级VNF面向多协议连接的应用特性以及虚拟网元内部虚拟机全互联的设计,导致电信类应用的南北方向流量(即客户端到服务器之间通信的流量)和东西方向流量(即服务器和服务器之间通信的流量)远大于IT类应用的南北方向流量和东西方向流量。另外,由于SDN中的网络流量通过流(英文可以表示为Flow)来实现,并通过SDN控制器向下级节点下发OpenFlow流表(英文可以表示为FlowTable)来进行节点管理。因此,电信类应用的南北方向流表需求和东西方向流表需求远大于IT类应用的南北方向流表需求和东西方向流表需求。
Figure BDA0002881909550000041
Figure BDA0002881909550000051
表1
由此可见,在实现电信类应用的过程中,虚拟层在调度计算节点进行虚拟机部署时,如果仅根据虚拟机的部署需求确定目标计算节点,而未考虑到虚拟机的流表需求,可能无法保证电信类应用的业务性能。
另外,计算节点通过软件Open VSwitch(可简称为OVS)实现虚拟机的部署,OVS通过中央处理器(CPU)进行数据哈希(Hash)来实现流表的查询和转发。由于OVS进行流表的查询和转发的效率较低,为避免Hash冲突,OVS能够支持(即处理)的流表条目有限。如果多个流表需求较大的虚拟机被部署在同一计算节点上,可能会超过底层OVS自身的流表处理能力,造成数据包转发延迟甚至丢包的现象,严重影响上层应用的可靠性,用户体验较差。
基于此,在本申请的各种实施例中,在部署虚拟机时,结合待部署虚拟机的流表需求以及计算节点上已部署虚拟机的流表需求,对计算节点进行调度;也就是说,结合待部署虚拟机的流表需求以及计算节点针对待部署虚拟机的流表承载(即处理)能力对计算节点进行调度,如此,能够在对流表需求较大的虚拟机进行部署的场景中,保证NFV电信类应用的业务性能,即提升NFV电信类应用的可靠性,进而提升用户体验。
本申请实施例提供一种节点调度方法,如图1所示,该方法包括:
步骤101:获取待部署虚拟机的第一流表需求;
步骤102:确定多个计算节点中每个计算节点的第二流表需求;
这里,所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;
步骤103:基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。
这里,需要说明的是,本申请实施例提供的节点调度方法应用于NFV系统架构中的虚拟层,具体应用于虚拟化基础设施管理器(VIM,Virtualized InfrastructureManager);流表需求是指OpenFlow流表需求;相应流表需求至少包含流表条目数。另外,计算节点是指安装有虚拟化软件层(Hypervisor)的节点,也可以称为Hypervisor节点;所述多个计算节点用于部署虚拟机。
其中,实际应用时,第二流表需求能够反映相应计算节点针对待部署虚拟机的流表承载(即处理)能力。具体地,在第二流表需求表征相应计算节点已部署至少一个流表需求较大的虚拟机的情况下,反映相应计算节点针对待部署虚拟机的流表承载能力较弱;在第二流表需求表征相应计算节点部署的虚拟机的流表需求较小的情况下,反映相应计算节点针对待部署虚拟机的流表承载能力较强。当然,所述多个计算节点中可能存在未部署虚拟机的计算节点,此时,可以优先将待部署虚拟机部署在该计算节点上。
对于步骤101,在一实施例中,所述获取待部署虚拟机的第一流表需求,可以包括:
获取待部署虚拟机的规格(Flavor)信息;所述规格信息至少包含所述第一流表需求。
具体地,实际应用时,可以通过Flavor信息包含的镜像信息中的最大流表条目字段(该字段可以表示为K)来配置待部署虚拟机需要占用的流表条目数(即第一流表需求)。当然,在待部署虚拟机需要占用的流表条目数较小时,可以将K设置为0。也就是说,在获取到待部署虚拟机的Flavor信息并确定K为0的情况下,VIM可以确定待部署虚拟机没有流表需求(即确定待部署虚拟机的流表需求可以忽略不记)。此时,VIM可以基于预设部署策略确定目标计算节点。
在一实施例中,所述基于预设部署策略确定目标计算节点,可以包括:
基于所述待部署虚拟机的其他部署需求,确定目标计算节点;所述其他部署需求可以包括以下至少之一:
计算能力;
存储能力;
网络和/或程序优化相关的部署需求。
实际应用时,所述其他部署需求也可以通过待部署虚拟机的Flavor信息获取。
实际应用时,所述计算能力可以理解为待部署虚拟机对计算资源的需求;所述存储能力可以理解为待部署虚拟机对存储资源的需求;所述网络相关的部署需求可以理解为待部署虚拟机对网络资源的需求;所述程序优化相关的部署需求可以包括待部署虚拟机的加速资源需求以及CPU、硬盘等硬件需求。
实际应用时,基于流表需求确定目标计算节点的过程可以通过应用程序实现,比如用于基于获取的第一流表需求及确定的多个第二流表需求对所述多个计算节点进行过滤的流表过滤器(FlowTableFilter)程序。当然,基于预设部署策略确定目标计算节点的过程也可以通过过滤器程序实现,示例性地,用于实现基于预设部署策略确定目标计算节点的过滤器程序可以包括:
重试过滤器(RetryFilter),用于从所述多个计算节点中滤除本次创建(即部署)虚拟机失败过的计算节点;
运行状态过滤器(ComputeFilter),用于从所述多个计算节点中滤除故障、亚健康或处于维护状态的计算节点;
可用区域过滤器(AvailabilityZoneFilter),用于从所述多个计算节点中滤除不在相应可用区域信息(Nova AZ)内的计算节点;
特征过滤器(TraitFilter),用于根据所述Flavor信息中包含的特征(Trait)需求对所述多个计算节点进行过滤;
图像属性过滤器(ImagePropertiesFilter),用于根据相应镜像信息中配置的结构(Architecture)属性要求(即需求)对所述多个计算节点进行过滤;
NUMA拓扑过滤器(NUMATopologyFilter),用于根据所述Flavor信息中包含的“hw:numa_nodes”属性要求对所述多个计算节点进行过滤;“hw:numa_nodes”属性要求可以包含对虚拟CPU(vCPU)的数量要求、对虚拟随机存取存储器(vRAM)的容量要求、对网卡直通功能(SR-IOV VF)的数量要求等;
加速资源过滤器(AcceleratingResourceFilter),用于根据所述Flavor信息关联的配置文件(Device Profile)中声明(即包含)的加速资源要求对所述多个计算节点进行过滤;
磁盘过滤器(DiskFilter),用于根据所述Flavor信息中设定(即包含)的容量(包括Disk、Swap和Ephemeral)总和对所述多个计算节点进行过滤;和/或根据用户在创建待部署虚拟机时指定的直通磁盘或直通分区的数量和容量需求对所述多个计算节点进行过滤;用户在创建待部署虚拟机时指定的直通磁盘或直通分区的数量和容量需求可以通过所述Flavor信息获取;
计算能力过滤器(ComputeCapabilitiesFilter),用于根据所述Flavor信息中设定(即包含)的“hw:cpu_model”属性需求以及“capabilities:cpu_info:arch”属性需求,对所述多个计算节点进行过滤;“hw:cpu_model”属性需求可以包含对CPU指令集、CPU型号的需求;“capabilities:cpu_info:arch”属性需求可以是默认值,即所述Flavor信息中未设定“capabilities:cpu_info:arch”属性需求;
服务关联过滤器(ServiceAffinityFilter),用于在部署虚拟机时优先调度已部署相同“OS-SCH-HNT:scheduler_hints.service”参数值的虚拟机的计算节点;
服务组反关联过滤器(ServerGroupAntiAffinityFilter),用于优先调度未部署指定反亲和性服务组包含的虚拟机的计算节点;
多租户隔离(MultiTenancyIsolation),用于从所述多个计算节点中滤除不属于所述待部署虚拟机对应的当前租户的计算节点。
在步骤102中,实际应用时,VIM可以在本地维护所述多个计算节点中每个计算节点的运行情况信息,并在需要进行虚拟机部署时基于本地维护的所述多个计算节点中每个计算节点的运行情况信息确定每个计算节点的第二流表需求。
实际应用时,为了能够在对流表需求较大的虚拟机进行部署的场景中,保证NFV电信类应用对应的业务性能的可靠性,提升用户体验,可以预先设置流表需求门限(后续的描述中记作第一阈值),在确定目标计算节点的过程中,先将所述第一流表需求包含的流表条目数与第一阈值进行比较;在所述第一流表需求包含的流表条目数大于或等于所述第一阈值的情况下,可以确定所述待部署虚拟机的流表需求较大;在所述第一流表需求包含的流表条目数小于所述第一阈值的情况下,可以确定所述待部署虚拟机的流表需求较小。
基于此,对于步骤103,在一实施例中,所述基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点,可以包括:
将所述第一流表需求包含的流表条目数与第一阈值进行比较,得到比较结果;
基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点。
实际应用时,所述第一阈值的大小可以根据需求设置,比如20万。
实际应用时,在所述比较结果表征所述第一流表需求包含的流表条目数大于或等于所述第一阈值的情况下,说明所述待部署虚拟机的流表需求较大,此时,为了保证将所述待部署虚拟机部署到所述目标计算节点后不会使所述目标计算节点需要处理的流表条目数超过其底层OVS自身的流表处理能力,所述目标计算节点上已部署的至少一个虚拟机中不应包含流表需求包含的流表条目数大于或等于所述第一阈值的虚拟机。
基于此,在一实施例中,所述基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点,可以包括:
在所述比较结果表征所述第一流表需求包含的流表条目数大于或等于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第一类计算节点;所述第一类计算节点的第二流表需求包含的至少一个流表条目数中的最大流表条目数小于所述第一阈值;
基于所述预设部署策略从所述第一类计算节点中确定目标计算节点。
实际应用时,所述多个计算节点中的每个节点可能都已部署了一个流表需求包含的流表条目数大于或等于所述第一阈值的虚拟机,此时,为了能够成功部署所述待部署虚拟机,可以预先设置每个计算节点底层的OVS能够转发的最大流表条目数(后续的描述中记作第二阈值),并将每个计算节点的第二流表需求包含的总流表条目数(即相应第二流表需求包含的至少一个流表条目数之和)与相应的第二阈值进行比较;在第二流表需求包含的总流表条目数大于相应的第二阈值的情况下,可以确定相应计算节点需要处理的流表条目数超过其底层OVS自身的流表处理能力,即相应计算节点上不具备剩余的流表处理空间,不应当在相应计算节点上再部署新的虚拟机;在第二流表需求包含的总流表条目数小于或等于相应的第二阈值的情况下,可以确定相应计算节点需要处理的流表条目数未超过其底层OVS自身的流表处理能力,即相应计算节点上具备剩余的流表处理空间,可以在相应计算节点上再部署新的虚拟机。
基于此,在一实施例中,所述方法还可以包括:
在所述多个计算节点中不存在所述第一类计算节点的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于所述预设部署策略从所述第二类计算节点中确定目标计算节点。
这里,所述第二阈值大于所述第一阈值;所述第二阈值表征相应计算节点能够转发的最大流表条目数,即相应计算节点底层安装的OVS能够转发的最大流表条目数,也可以理解为相应计算节点底层安装的OVS的完整匹配快存(EMC,Exact Match Cache)可承载的流表条目数;所述第二阈值能够反映相应计算节点的流表处理能力。实际应用时,所述第二阈值的大小可以根据需求设置,比如在所述第一阈值为20万的情况下,所述第二阈值可以为60万。这里,可以通过单主机配置的方式或高可用性(HA)集群配置的方式为每个计算节点设置第二阈值;也就是说,每个计算节点对应的第二阈值可以相同或不同。
实际应用时,在通过单主机的方式或高可用性(HA)的方式为每个计算节点设置第二阈值时,还可以采用同样的方式为每个计算节点设置超分比,即相应计算节点实际转发的流表条目数与第二阈值的最大比例。示例性地,一个计算节点对应的第二阈值被设置为30万,在超分比为2的情况下,该计算节点实际能够转发的最大流表条目数为60万;在超分比为0.9的情况下,该计算节点实际能够转发的最大流表条目数为27万。当然,每个计算节点对应的超分比可以相同或不同,在相应计算节点对应的超分比不等于1的情况下,将相应计算节点的第二流表需求包含的总流表条目数与相应的第二阈值进行比较时,需要通过“相应第二阈值乘以相应超分比”的方式更新相应的第二阈值。
实际应用时,在所述比较结果表征所述第一流表需求包含的流表条目数小于所述第一阈值的情况下,说明所述待部署虚拟机的流表需求较小,此时,可以在所述第一类计算节点上部署所述待部署虚拟机。当然,为了筛选出性能更合适的计算节点,实现对计算节点的计算能力的优化,可以先从所述多个计算节点中确定第二类计算节点,再基于所述预设部署策略从所述第二类计算节点中确定目标计算节点。
基于此,在一实施例中,所述基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点,可以包括:
在所述比较结果表征所述第一流表需求包含的流表条目数小于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于所述预设部署策略从所述第二类计算节点中确定目标计算节点。
实际应用时,如果无法基于所述预设部署策略确定目标计算节点,则可以确定所述待部署虚拟机部署失败,可以在预设时长后重新尝试部署。
实际应用时,VIM可以通过OpenStack云计算管理平台(可简称为OpenStack)实现,其中,OpenStack的Nova组件用于管理计算资源。具体地,Nova可以记录有大流表虚拟机(即流表需求包含的流表条目数大于或等于所述第一阈值的虚拟机)的主机X(主机即计算节点),如果待部署虚拟机是大流表虚拟机,那么在第一轮部署过程中,不能在主机X上部署待部署虚拟机,可以在除主机X外的其他计算节点上部署待部署虚拟机。
如果待部署虚拟机是小流表虚拟机(即流表需求包含的流表条目数小于所述第一阈值的虚拟机)或第一轮部署失败的虚拟机,则可以在包括主机X在内的所有计算节点上部署待部署虚拟机,此时,针对包括主机X在内的所有计算节点中的每个计算节点,需要计算相应计算节点上已部署的所有虚拟机流数Sum(M1,M2,……,Mi)(即相应计算节点的第二流表需求包含的至少一个流表条目数之和,M表示相应计算节点上已部署的一个虚拟机的流表需求包含的流表条目数,i表示相应计算节点上已部署的虚拟机个数),并将相应计算节点的Sum与所述第二阈值进行比较,若Sum大于所述第二阈值,则将相应计算节点排除。筛选出所有的节点后(即除主机X外的其他计算节点,或者,Sum小于或等于所述第二阈值的计算节点),可以再根据其他过滤器(即上述用于实现基于预设部署策略确定目标计算节点的过滤器程序)部署虚拟机;如果不存在合适的计算节点,则部署失败。
本申请实施例提供的节点调度方法,获取待部署虚拟机的第一流表需求;确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。本申请实施例的方案,在部署虚拟机时,结合待部署虚拟机的流表需求以及计算节点上已部署虚拟机的流表需求,对计算节点进行调度;也就是说,结合待部署虚拟机的流表需求以及计算节点针对待部署虚拟机的流表承载(即处理)能力对计算节点进行调度,如此,能够在对流表需求较大的虚拟机进行部署的场景中,保证NFV电信类应用的业务性能,提升用户体验。
为了实现本申请实施例的方法,本申请实施例还提供了一种节点调度装置,如图2所示,该装置包括:
获取单元201,用于获取待部署虚拟机的第一流表需求;
第一处理单元202,用于确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;
第二处理单元203,用于基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。
其中,在一实施例中,所述第二处理单元203,具体用于:
将所述第一流表需求包含的流表条目数与第一阈值进行比较,得到比较结果;
基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点。
在一实施例中,所述第二处理单元203,还用于:
在所述比较结果表征所述第一流表需求包含的流表条目数大于或等于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第一类计算节点;所述第一类计算节点的第二流表需求包含的至少一个流表条目数中的最大流表条目数小于所述第一阈值;
基于预设部署策略从所述第一类计算节点中确定目标计算节点。
在一实施例中,所述第二处理单元203,还用于:
在所述多个计算节点中不存在所述第一类计算节点的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于预设部署策略从所述第二类计算节点中确定目标计算节点。
在一实施例中,所述第二处理单元203,还用于:
在所述比较结果表征所述第一流表需求包含的流表条目数小于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于预设部署策略从所述第二类计算节点中确定目标计算节点。
在一实施例中,所述第二处理单元203,还用于基于所述待部署虚拟机的其他部署需求,确定目标计算节点;所述其他部署需求包括以下至少之一:
计算能力;
存储能力;
网络和/或程序优化相关的部署需求。
在一实施例中,所述获取单元201,具体用于获取待部署虚拟机的规格信息;所述规格信息至少包含所述第一流表需求。
实际应用时,所述获取单元201可由该装置的处理器结合通信接口实现;所述第一处理单元202和所述第二处理单元203可由该装置的处理器实现。
需要说明的是:上述实施例提供的节点调度装置在调度计算节点时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的节点调度装置与节点调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种节点调度装置,如图3所示,该节点调度装置300包括:
通信接口301,能够与其他电子设备进行信息交互;
处理器302,与所述通信接口301连接,以实现与其他电子设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
存储器303,用于存储能够在所述处理器302上运行的计算机程序。
具体地,所述处理器302用于执行以下操作:
获取待部署虚拟机的第一流表需求;
确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;
基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。
在一实施例中,所述处理器302,还用于执行以下操作:
将所述第一流表需求包含的流表条目数与第一阈值进行比较,得到比较结果;
基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点。
在一实施例中,所述处理器302,还用于执行以下操作:
在所述比较结果表征所述第一流表需求包含的流表条目数大于或等于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第一类计算节点;所述第一类计算节点的第二流表需求包含的至少一个流表条目数中的最大流表条目数小于所述第一阈值;
基于预设部署策略从所述第一类计算节点中确定目标计算节点。
在一实施例中,所述处理器302,还用于执行以下操作:
在所述多个计算节点中不存在所述第一类计算节点的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于预设部署策略从所述第二类计算节点中确定目标计算节点。
在一实施例中,所述处理器302,还用于执行以下操作:
在所述比较结果表征所述第一流表需求包含的流表条目数小于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于预设部署策略从所述第二类计算节点中确定目标计算节点。
在一实施例中,所述处理器302,还用于执行以下操作:
基于所述待部署虚拟机的其他部署需求,确定目标计算节点;所述其他部署需求包括以下至少之一:
计算能力;
存储能力;
网络和/或程序优化相关的部署需求。
在一实施例中,所述处理器302,还用于获取待部署虚拟机的规格信息;所述规格信息至少包含所述第一流表需求。
需要说明的是:所述处理器302具体执行上述操作的过程详见方法实施例,这里不再赘述。
当然,实际应用时,节点调度装置300中的各个组件通过总线系统304耦合在一起。可理解,总线系统304用于实现这些组件之间的连接通信。总线系统304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统304。
本申请实施例中的存储器303用于存储各种类型的数据以支持节点调度装置300的操作。这些数据的示例包括:用于在节点调度装置300上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于处理器302中,或者由处理器302实现。处理器302可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器302中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器302可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器302可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器303,处理器302读取存储器303中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,节点调度装置300可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器303可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器303,上述计算机程序可由节点调度装置300的处理器302执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (10)

1.一种节点调度方法,其特征在于,包括:
获取待部署虚拟机的第一流表需求;
确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;
基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。
2.根据权利要求1所述的方法,其特征在于,所述基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点,包括:
将所述第一流表需求包含的流表条目数与第一阈值进行比较,得到比较结果;
基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点。
3.根据权利要求2所述的方法,其特征在于,所述基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点,包括:
在所述比较结果表征所述第一流表需求包含的流表条目数大于或等于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第一类计算节点;所述第一类计算节点的第二流表需求包含的至少一个流表条目数中的最大流表条目数小于所述第一阈值;
基于预设部署策略从所述第一类计算节点中确定目标计算节点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述多个计算节点中不存在所述第一类计算节点的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于所述预设部署策略从所述第二类计算节点中确定目标计算节点。
5.根据权利要求2所述的方法,其特征在于,所述基于得到的比较结果,结合每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定目标计算节点,包括:
在所述比较结果表征所述第一流表需求包含的流表条目数小于所述第一阈值的情况下,基于每个第二流表需求包含的至少一个流表条目数,从所述多个计算节点中确定第二类计算节点;所述第二类计算节点的第二流表需求包含的至少一个流表条目数之和小于或等于第二阈值;
基于预设部署策略从所述第二类计算节点中确定目标计算节点。
6.根据权利要求3至5任一项所述的方法,其特征在于,所述基于预设部署策略确定目标计算节点,包括:
基于所述待部署虚拟机的其他部署需求,确定目标计算节点;所述其他部署需求包括以下至少之一:
计算能力;
存储能力;
网络和/或程序优化相关的部署需求。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述获取待部署虚拟机的第一流表需求,包括:
获取待部署虚拟机的规格信息;所述规格信息至少包含所述第一流表需求。
8.一种节点调度装置,其特征在于,包括:
获取单元,用于获取待部署虚拟机的第一流表需求;
第一处理单元,用于确定多个计算节点中每个计算节点的第二流表需求;所述第二流表需求包含相应计算节点上已部署的至少一个虚拟机中每个虚拟机的流表需求;
第二处理单元,用于基于获取的第一流表需求及确定的多个第二流表需求,从所述多个计算节点中确定目标计算节点;并将所述待部署虚拟机部署到所述目标计算节点上。
9.一种节点调度装置,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202110002190.0A 2021-01-04 2021-01-04 节点调度方法、装置及存储介质 Pending CN114726852A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110002190.0A CN114726852A (zh) 2021-01-04 2021-01-04 节点调度方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110002190.0A CN114726852A (zh) 2021-01-04 2021-01-04 节点调度方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN114726852A true CN114726852A (zh) 2022-07-08

Family

ID=82234448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110002190.0A Pending CN114726852A (zh) 2021-01-04 2021-01-04 节点调度方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114726852A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160381124A1 (en) * 2015-06-24 2016-12-29 International Business Machines Corporation Optimizing routing and load balancing in an sdn-enabled cloud during enterprise data center migration
CN108243044A (zh) * 2016-12-27 2018-07-03 华为技术有限公司 业务部署的方法与装置
CN110198234A (zh) * 2019-05-15 2019-09-03 中国科学技术大学苏州研究院 软件定义网络中虚拟交换机和虚拟网络功能联合部署方法
CN111988160A (zh) * 2019-05-23 2020-11-24 中移(苏州)软件技术有限公司 一种虚拟化网络功能的部署方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160381124A1 (en) * 2015-06-24 2016-12-29 International Business Machines Corporation Optimizing routing and load balancing in an sdn-enabled cloud during enterprise data center migration
CN108243044A (zh) * 2016-12-27 2018-07-03 华为技术有限公司 业务部署的方法与装置
CN110198234A (zh) * 2019-05-15 2019-09-03 中国科学技术大学苏州研究院 软件定义网络中虚拟交换机和虚拟网络功能联合部署方法
CN111988160A (zh) * 2019-05-23 2020-11-24 中移(苏州)软件技术有限公司 一种虚拟化网络功能的部署方法和装置

Similar Documents

Publication Publication Date Title
EP3761170B1 (en) Virtual machine creation method and apparatus
US11704144B2 (en) Creating virtual machine groups based on request
CN107924328B (zh) 选择虚拟机进行迁移的技术
US7716336B2 (en) Resource reservation for massively parallel processing systems
CN110098946B (zh) 虚拟化网元设备的部署方法以及装置
JP2003330740A (ja) 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム
WO2017050064A1 (zh) 共享内存数据库的内存管理方法及装置
CN111988160B (zh) 一种虚拟化网络功能的部署方法和装置
US11726816B2 (en) Scheduling workloads on a common set of resources by multiple schedulers operating independently
US9755986B1 (en) Techniques for tightly-integrating an enterprise storage array into a distributed virtualized computing environment
US10374967B2 (en) Profile-based placement of clients
CN114138405A (zh) 一种虚拟机创建方法、装置及电子设备和存储介质
US10250455B1 (en) Deployment and management of tenant services
CN116185599A (zh) 异构服务器系统及其使用方法
US11561824B2 (en) Embedded persistent queue
US11042395B2 (en) Systems and methods to manage workload domains with heterogeneous hardware specifications
US11023493B2 (en) Intelligently scheduling resynchronization jobs in a distributed object-based storage system
CN114726852A (zh) 节点调度方法、装置及存储介质
WO2016090485A1 (en) System and method for routing computing workloads based on proximity
CN111984510B (zh) 调度系统的性能测试方法及装置
US10097431B1 (en) Routing to tenant services utilizing a service directory
CN115827745A (zh) 内存数据库集群的实现方法、装置及内存数据库集群
WO2024055715A1 (zh) 大数据集群部署方案的确定方法、装置、集群和存储介质
EP4145801A1 (en) Distributed data grid routing for clusters managed using container orchestration services
CN111198649B (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