CN108228350B - 一种资源分配方法及装置 - Google Patents

一种资源分配方法及装置 Download PDF

Info

Publication number
CN108228350B
CN108228350B CN201711448425.9A CN201711448425A CN108228350B CN 108228350 B CN108228350 B CN 108228350B CN 201711448425 A CN201711448425 A CN 201711448425A CN 108228350 B CN108228350 B CN 108228350B
Authority
CN
China
Prior art keywords
resource
sub
resource set
tenant
granularity
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
CN201711448425.9A
Other languages
English (en)
Other versions
CN108228350A (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
Unicom Cloud Data Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Unicom Cloud Data 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, Unicom Cloud Data Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201711448425.9A priority Critical patent/CN108228350B/zh
Publication of CN108228350A publication Critical patent/CN108228350A/zh
Application granted granted Critical
Publication of CN108228350B publication Critical patent/CN108228350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种资源分配方法及装置,涉及通信技术领域,解决了由于云平台随机为租户分配资源导致云平台响应租户的资源请求的时间增加的问题。具体方案为:资源分配装置接收终端发送的包括有请求的资源数量和地理位置信息的第一租户的租用请求,并根据第一租户的地理位置信息,确定第一租户所处的地理位置的候选资源集合,该候选资源集合包括至少两层资源粒度,按照每层资源粒度,该候选资源集合被划分为至少一个子资源集合,且资源分配装置从候选资源集合中确定目标资源集合,该目标资源集合为候选资源集合中,满足可用Slot数目大于或等于第一租户请求的资源数量的最小资源粒度的子资源集合。本申请实施例用于资源分配的过程中。

Description

一种资源分配方法及装置
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种资源分配方法及装置。
背景技术
目前,在云数据中心建立一套高效的虚拟机部署机制,能够提高资源池中物理资源的利用率,且能够降低运营成本。
现有技术中的虚拟机部署机制为:云平台通过聚集物理硬件资源与网络资源,形成大规模的资源池,将虚拟机部署于物理机上,当租户向云平台请求资源时,云平台可以通过资源调度系统,将物理资源分配给虚拟机,通过虚拟机运行应用程序,来向租户提供云计算服务。且由于每个物理机所能提供的资源是有限的,物理机的数量也是有限的,因此,在进行虚拟机的部署时,通常考虑在最少的物理机上部署最多的虚拟机,以实现资源的最大利用率。
但是,现有技术中至少存在以下技术问题:由于云平台在分配资源时,是随机分配能够满足租户请求的一定数量的资源的,这样,如果云平台将距离租户所处的地理位置较远的位置处的资源分配给该租户,则会增加云平台响应该租户的资源请求的时间。
发明内容
本申请提供一种资源分配方法及装置,解决了由于云平台随机为租户分配资源导致云平台响应租户的资源请求的时间增加的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种资源分配方法,该方法可以包括:资源分配装置接收终端发送的第一租户的租用请求,该第一租户的租用请求中可以包括该第一租户请求的资源数量和该第一租户的地理位置信息,并根据该第一租户的地理位置信息,获取该第一租户所处的地理位置的候选资源集合,该候选资源集合中可以包括至少两层资源粒度,按照每层资源粒度,该候选资源集合被划分为至少一个子资源集合,且资源分配装置从候选资源集合中确定目标资源集合,目标资源集合为该候选资源集合中,满足可用资源数据块(Slot)数目大于或等于该第一租户请求的资源数量的最小资源粒度的子资源集合。其中,一个子资源集合可以包括至少一个主机的可用Slot。
本申请提供的资源分配方法,资源分配装置通过获取第一租户所处的地理位置的候选资源集合,并从该候选资源集合中确定满足第一租户请求的资源数量的最小资源粒度的子资源集合。这样,由于资源分配装置为第一租户分配的资源是第一租户所处的地理位置处的资源,且资源分配装置是从最小一层资源粒度开始,确定满足要求的子资源集合的,大大减小了资源分配装置响应第一租户的租用请求的时间。
结合第一方面,在一种可能的实现方式中,资源分配装置从候选资源集合中确定目标资源集合,具体的可以包括:资源分配装置遍历候选资源集合按照最小一层资源粒度划分的每个子资源集合,并在确定第一子资源集合包括的可用Slot数目大于或等于第一租户请求的资源数量时,确定第一子资源集合为目标资源集合,并将第一子资源集合包括的可用Slot分配给第一租户,且资源分配装置在确定按照最小一层资源粒度划分的每个子资源集合包括的可用Slot数目均小于第一租户请求的资源数量时,遍历按照比最小一层资源粒度大一层的资源粒度划分的每个子资源集合,并在确定第二子资源集合包括的可用Slot数目大于或等于第一租户请求的资源数量时,确定第二子资源集合为目标资源集合,并将第二子资源集合包括的可用Slot分配给第一租户。其中,第一子资源集合为按照最小一层资源粒度划分的子资源集合中的任意一个,第二子资源集合为按照比最小一层资源粒度大一层的资源粒度划分的子资源集合中的任意一个。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,候选资源集合可以包括以下四层资源粒度中的至少两层:每个主机的可用Slot;连接在同一交换机下的主机的可用Slot;一组交换机下的主机的可用Slot;所有组交换机下的主机的可用Slot。且四层资源粒度按照资源粒度由小到大的顺序为:每个主机的可用Slot、连接在同一交换机下的主机的可用Slot、一组交换机下的主机的可用Slot、所有组交换机下的主机的可用Slot。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,资源分配装置从候选资源集合中确定目标资源集合,具体的可以包括:资源分配装置在遍历候选资源集合按照第i层资源粒度划分的每个子资源集合时,根据经过交换机需要占用的可用Slot数目,更新第三子资源集合按照第i-1层资源粒度划分的每个子资源集合的可用Slot数目,并将第三子资源集合按照第i-1层资源粒度划分的所有子资源集合,按照可用Slot数目由多到少的顺序进行排序,从第三子资源集合按照第i-1层资源粒度划分的子资源集合中,可用Slot数目最多的子资源集合开始,逐次加入预设数量的可用Slot数目次之的子资源集合,直到确定当前加入的子资源集合的可用Slot数目之和大于或等于第一租户请求的资源数量时,确定当前加入的子资源集合的可用Slot为目标资源集合,并将当前加入的子资源集合的可用Slot分配给第一租户。其中,第i层资源粒度为除每个主机的可用Slot外的资源粒度,第三子资源集合为按照第i层资源粒度划分的子资源集合中的任意一个,i为大于0的整数。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,还可以包括:资源分配装置在确定按照候选资源集合包括的最大一层资源粒度划分的所有子资源集合的可用Slot数目之和小于第一租户请求的资源数量时,向终端发送为第一租户分配资源失败的消息。
第二方面,提供一种资源分配装置,该资源分配装置可以包括:接收单元、获取单元和确定单元。接收单元,用于接收终端发送的第一租户的租用请求,第一租户的租用请求中包括第一租户请求的资源数量和第一租户的地理位置信息。获取单元,用于根据接收单元接收的第一租户的地理位置信息,确定第一租户所处的地理位置的候选资源集合,候选资源集合包括至少两层资源粒度,按照每层资源粒度,候选资源集合被划分为至少一个子资源集合,一个子资源集合包括至少一个主机的可用Slot。确定单元,用于从获取单元获取的候选资源集合中确定目标资源集合,目标资源集合为候选资源集合中,满足可用Slot数目大于或等于第一租户请求的资源数量的最小资源粒度的子资源集合。
结合第二方面,在一种可能的实现方式中,确定单元,具体用于:遍历候选资源集合按照最小一层资源粒度划分的每个子资源集合,在确定第一子资源集合包括的可用Slot数目大于或等于第一租户请求的资源数量时,确定第一子资源集合为目标资源集合,并将第一子资源集合包括的可用Slot分配给第一租户,第一子资源集合为按照最小一层资源粒度划分的子资源集合中的任意一个。在确定按照最小一层资源粒度划分的每个子资源集合包括的可用Slot数目均小于第一租户请求的资源数量时,遍历按照比最小一层资源粒度大一层的资源粒度划分的每个子资源集合,在确定第二子资源集合包括的可用Slot数目大于或等于第一租户请求的资源数量时,确定第二子资源集合为目标资源集合,并将第二子资源集合包括的可用Slot分配给第一租户,第二子资源集合为按照比最小一层资源粒度大一层的资源粒度划分的子资源集合中的任意一个。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,候选资源集合可以包括以下四层资源粒度中的至少两层:每个主机的可用Slot;连接在同一交换机下的主机的可用Slot;一组交换机下的主机的可用Slot;所有组交换机下的主机的可用Slot。且四层资源粒度按照资源粒度由小到大的顺序为:每个主机的可用Slot、连接在同一交换机下的主机的可用Slot、一组交换机下的主机的可用Slot、所有组交换机下的主机的可用Slot。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,确定单元,具体用于:在遍历候选资源集合按照第i层资源粒度划分的每个子资源集合时,根据经过交换机需要占用的可用Slot数目,更新第三子资源集合按照第i-1层资源粒度划分的每个子资源集合的可用Slot数目,第i层资源粒度为除每个主机的可用Slot外的资源粒度,第三子资源集合为按照第i层资源粒度划分的子资源集合中的任意一个,并将第三子资源集合按照第i-1层资源粒度划分的所有子资源集合,按照可用Slot数目由多到少的顺序进行排序,且从第三子资源集合按照第i-1层资源粒度划分的子资源集合中,可用Slot数目最多的子资源集合开始,逐次加入预设数量的可用Slot数目次之的子资源集合,直到确定当前加入的子资源集合的可用Slot数目之和大于或等于第一租户请求的资源数量时,确定当前加入的子资源集合的可用Slot为目标资源集合,并将当前加入的子资源集合的可用Slot分配给第一租户,i为大于0的整数。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,资源分配装置还包括:发送单元。确定单元,还用于确定按照候选资源集合包括的最大一层资源粒度划分的每个子资源集合的可用Slot数目小于第一租户请求的资源数量。发送单元,用于在确定单元确定按照候选资源集合包括的最大一层资源粒度划分的所有子资源集合的可用Slot数目之和小于第一租户请求的资源数量时,向终端发送为第一租户分配资源失败的消息。
具体的实现方式可以参考第一方面或第一方面的可能的实现方式提供的资源分配方法中资源分配装置的行为功能。
第三方面,提供一种资源分配装置,该资源分配装置包括:至少一个处理器、存储器、通信接口和通信总线。处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当资源分配装置运行时,处理器执行存储器存储的计算机执行指令,以使资源分配装置执行如第一方面或第一方面的可能的实现方式中任意一项的资源分配方法。
第四方面,提供一种计算机存储介质,其上存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面或第一方面的可能的实现方式中任意一项的资源分配方法。
附图说明
图1为本申请实施例提供的一种可以应用本申请实施例的系统架构的简化示意图;
图2为本申请实施例提供的一种资源分配装置的组成示意图;
图3为本申请实施例提供的一种资源分配方法的流程图;
图4为本申请实施例提供的另一种资源分配装置的组成示意图;
图5为本申请实施例提供的另一种资源分配装置的组成示意图;
图6为本申请实施例提供的另一种资源分配装置的组成示意图。
具体实施方式
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请实施例提供的一种可以应用本申请实施例的系统架构的简化示意图,如图1所示,该系统架构可以包括:终端11、资源分配装置12、至少一个核心交换机13、至少一个聚合交换机14、至少一个边缘交换机15和至少一个主机16。
其中,终端11,用于向资源分配装置12发送第一租户的租用请求,该第一租户的租用请求中可以包括第一租户请求的资源数量和第一租户的地理位置信息。终端11,还用于接收资源分配装置12发送的为第一租户分配资源失败的消息。在具体的实现中,终端11可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、膝上型轻便电脑(laptop)等。在图1中以终端11为手机为例示出。
资源分配装置12,分别与至少一个核心交换机13中的每个交换机连接,用于在接收到终端11发送的第一租户的租用请求时,根据第一租户的地理位置信息,获取第一租户所处的地理位置的候选资源集合,并从候选资源集合中确定目标资源集合,且将该目标资源集合包括的可用Slot分配给第一租户,目标资源集合为候选资源集合中,满足可用Slot数目大于或等于第一租户请求的资源数量的最小资源粒度的子资源集合。资源分配装置12,还用于在确定按照最大一层资源粒度划分的所有子资源集合的可用Slot数目之和小于第一租户请求的资源数量时,向终端11发送为第一租户分配资源失败的消息。
至少一个核心交换机13,位于网络的核心层,是网络的高速交换骨干。至少一个核心交换机13,负责数据中心网络中所有流量的汇聚和分发,具有可靠性、高效性、冗余性、容错性、可管理性、适应性、低延时性等特性。
至少一个聚合交换机14,位于网络的汇聚层,该汇聚层是接入层和核心层的中介,用于提供基于策略的连接。至少一个聚合交换机14,是至少一个边缘交换机14的汇聚点,用于处理接入层的所有流量,使得流量在进入至少一个核心交换机13之前先进行汇聚,减轻核心交换机的负荷。
至少一个边缘交换机15,位于网络的接入层。至少一个边缘交换机15,直接与主机连接,用于将至少一个主机16接入网络。
至少一个主机16,在具体的实现中可以是服务器。假设至少一个主机16为第一租户所处的地理位置处的所有主机,则至少一个主机16中所有主机的可用Slot组成了候选资源集合。
需要说明的是,在本申请实施例中,候选资源集合可以包括至少两层资源粒度,按照每层资源粒度,候选资源集合被划分为至少一个子资源集合,一个子资源集合包括至少一个主机的可用Slot。明显的,资源粒度可以理解为分类方式,按照每层资源粒度,即按照每种分类方式。示例性的,资源粒度可以包括以下四层资源粒度中的至少两层:每个主机的可用Slot、连接在同一交换机下的主机的可用Slot、一组交换机下的主机的可用Slot、所有组交换机下的主机的可用Slot。该四层资源粒度按照资源粒度由小到大的顺序为:每个主机的可用Slot、连接在同一交换机下的主机的可用Slot、一组交换机下的主机的可用Slot、所有组交换机下的主机的可用Slot。
具体的,结合图1中的包括8个主机,假设8个主机均为第一租户所处的地理位置的主机,则候选资源集合包括8个主机的可用Slot。按照资源粒度:每个主机的可用Slot划分候选资源集合时,可以得到8个子资源集合,一个子资源集合包括1个主机的可用Slot。按照资源粒度:连接在同一交换机下的主机(可以将连接在同一交换机下的主机称为一组主机)的可用Slot划分候选资源集合时,可以得到4个子资源集合,一个子资源集合包括同一交换机下连接的2个主机的可用Slot,即一个子资源集合包括一组主机的可用Slot。按照资源粒度:一组交换机下的主机(可以将连接在一组交换机下的主机称为一群主机)的可用Slot划分候选资源集合时,假设一组交换机的划分如图1所示,则可以得到2个子资源集合,一个子资源集合包括一组交换机下连接的4个主机可用Slot,即一个子资源集合包括一群主机的可用Slot。按照资源粒度:所有组交换机下的主机的可用Slot划分候选资源集合时,可以得到1个子资源集合,该子资源集合包括8个主机的可用Slot。
图2为本申请实施例提供的一种资源分配装置的组成示意图,如图2所示,该资源分配装置可以包括:至少一个处理器21、存储器22、通信接口23和通信总线24。
其中,处理器21是资源分配装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digitalsignal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gatearray,FPGA)。
在具体的实现中,作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。且,作为一种实施例,资源分配装置可以包括多个处理器,例如图2中所示的处理器21和处理器25。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器22可以是独立存在,通过通信总线24与处理器21相连接。存储器22也可以和处理器21集成在一起。
在具体的实现中,存储器22,用于存储本申请中的数据和执行本申请的软件程序。处理器21可以通过运行或执行存储在存储器22内的软件程序,以及调用存储在存储器22内的数据,执行资源分配装置的各种功能。
通信接口23,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如终端、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口23可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
为了解决由于云平台随机为租户分配资源导致云平台响应租户的资源请求的时间增加的问题,本申请实施例提供了一种资源分配方法,如图3所示,该方法可以包括:
301、终端向资源分配装置发送第一租户的租用请求。
其中,当第一租户需要向网络请求服务时,终端可以在检测到第一租户的请求操作时向资源分配装置发送包括有第一租户请求的资源数量和第一租户的地理位置信息的租用请求。
302、资源分配装置接收终端发送的第一租户的租用请求。
303、资源分配装置根据第一租户的地理位置信息,获取第一租户所处的地理位置的候选资源集合。
其中,资源分配装置在接收到终端发送的第一租户的租用请求之后,可以根据第一租户的租用请求中包括的第一租户的地理位置信息,获取第一租户所处的地理位置的候选资源集合。
示例性的,假设第一租户的地理位置信息为第一租户使用的互联网协议(internet protocol,IP)地址,则资源分配装置可以根据该IP地址,确定第一租户所处的地区,并获取该地区所有主机的可用Slot,作为候选资源集合。
304、资源分配装置从候选资源集合中确定目标资源集合。
其中,资源分配装置在获取到第一租户所处的地理位置的候选资源集合之后,可以从该候选资源集合中确定,满足可用Slot数目大于或等于第一租户请求的资源数量的最小资源粒度的子资源集合,即确定目标资源集合。如果能够确定出目标资源集合,则资源分配装置可以执行以下步骤305。如果未能确定出目标资源集合,则资源分配装置可以执行以下步骤306。
资源分配装置确定目标资源集合的具体过程为:资源分配装置可以先遍历按照最小一层资源粒度将候选资源集合划分的每个子资源集合,对于按照最小一层资源粒度划分的子资源集合中的任意一个,如第一子资源集合,如果确定第一子资源集合包括的可用Slot数目大于或等于第一租户请求的资源数量,则资源分配装置可以将第一子资源集合确定为目标资源集合。如果确定按照最小一层资源粒度划分的每个子资源集合包括的可用Slot数目均小于第一租户请求的资源数量时,则资源分配装置遍历按照比最小一层资源粒度大一层的资源粒度将候选资源集合划分的每个子资源集合,对于按照比最小一层资源粒度大一层的资源粒度划分的子资源集合中的任意一个,如第二子资源集合,如果确定第二子资源集合包括的可用Slot数目大于或等于第一租户请求的资源数量,则资源分配装置可以将第二子资源集合确定为目标资源集合。如果确定按照比最小一层资源粒度大一层的资源粒度划分的每个子资源集合均小于第一租户请求的资源数量,则资源分配装置可以继续遍历按照更大一层资源粒度划分的每个子资源集合,或者,假设候选资源集合中仅包括两层资源粒度,则资源分配装置可以判断按照比最小一层资源粒度大一层的资源粒度划分的所有子资源集合包括的可用Slot数目之和是否大于或等于第一租户请求的资源数量。如果确定所有子资源集合包括的可用Slot数目之和大于或等于第一租户请求的资源数量,则资源分配装置可以将该所有子资源集合包括的可用Slot确定为目标资源集合。如果确定所有子资源集合包括的可用Slot数目之和小于第一租户请求的资源数量,则资源分配装置可以执行以下步骤306。
例如,假设候选资源集合中包括两层资源粒度,资源粒度由小到大分别为:每个主机的可用Slot和连接在同一交换机下的主机的可用Slot,那么资源分配装置可以先遍历每个主机的可用Slot,判断每个主机的可用Slot数目是否大于或等于第一租户请求的资源数量。假设每个主机的可用Slot数目均小于第一租户请求的资源数量,则资源分配装置可以遍历按照资源粒度:连接在同一交换机下的主机的可用Slot划分的每个子资源集合,即遍历每组主机的可用Slot,判断每组主机的可用Slot数目是否大于或等于第一租户请求的资源数量。假设每组主机的可用Slot数目均小于第一租户请求的资源数量,则资源分配装置可以判断所有组主机的可用Slot数目之和是否大于或等于第一租户请求的资源数量,如果是,则将所有组主机的可用Slot确定为目标资源集合,如果不是,则执行以下步骤306。
进一步的,资源分配装置可以在遍历按照第i层资源粒度划分的每个子资源集合时,先根据经过交换机需要占用的可用Slot数目,更新第三子资源集合(该第三子资源集合为按照第i层资源粒度划分的子资源集合中的任意一个),按照第i-1层资源粒度划分的每个子资源集合的可用Slot数目,其中,第i层资源粒度为除每个主机的可用Slot外的资源粒度,i为大于1的整数。然后资源分配装置可以将第三子资源集合按照第i-1层资源粒度划分的子资源集合按照可用Slot数目由多到少的顺序进行排序,并从这些子资源集合中可用Slot数目最多的子资源集合开始,先加入预设数量的可用Slot数目次之的子资源集合,判断当前加入的子资源集合的可用Slot数目之和是否大于或等于第一租户请求的资源数量,如果是,则将当前加入的子资源集合的可用Slot确定为目标资源集合,如果不是,则继续加入预设数量的可用Slot数目次之的子资源集合,直到确定当前加入的子资源集合的可用Slot数目之和大于或等于第一租户请求的资源数量。如果最终确定该第三子资源集合的可用Slot数目小于第一租户请求的资源数量,则资源分配装置可以按照上述方法判断下一个按照第i层资源粒度划分的子资源集合。这样,资源分配装置通过优先选择可用Slot数目较多的主机的可用Slot分配给第一租户,与现有技术中的随机分配相比,在突发流量时减小了拥塞现象的发生。且由于资源分配装置提前预留了经过交换机需要占用的可用Slot数目,使得在突发流量时减小了丢包问题的出现。
再例如,假设候选资源集合中包括四层资源粒度,资源粒度由小到大分别为:每个主机的可用Slot、连接在同一交换机下的主机的可用Slot、一组交换机下的主机的可用Slot、所有组交换机下的主机的可用Slot,且假设预设数量为1个。那么资源分配装置可以先根据每个主机的标识,遍历每个主机的可用Slot。如果确定某个主机的可用Slot数目大于或等于第一租户请求的资源数量,则资源分配装置确定该主机的可用Slot为目标资源集合。
如果确定所有主机的可用Slot均小于第一租户请求的资源数量,则资源分配装置可以遍历按照资源粒度:连接在同一交换机下的主机的可用Slot划分的每个子资源集合,即遍历每组主机的可用Slot。资源分配装置可以先将某组主机的可用Slot数目减去预先配置的经过一个交换机需要占用的可用Slot数目,得到更新后的该组主机中每个主机的可用Slot数目,然后将该组主机,按照可用Slot数目由多到少进行排序,并从可用Slot数目最多的主机开始,逐次加入一个可用Slot数目次之的主机的可用Slot,判断当前加入的主机的可用Slot数目之和是否大于或等于第一租户请求的资源数量。如果确定当前加入的主机的可用Slot数目之和大于或等于第一租户请求的资源数量,则资源分配装置可以将当前加入的主机的可用Slot确定为目标资源集合。如果确定当前加入的主机的可用Slot数目之和小于第一租户请求的资源数量,则资源分配装置可以继续加入一个可用Slot数目次之的主机的可用Slot,并判断是否满足要求。如果确定该组主机的可用Slot数目小于第一租户请求的资源数量,则资源分配装置可以对下一组主机的可用Slot进行判断。
如果确定每组主机的可用Slot数目均小于第一租户请求的资源数量,则资源分配装置可以遍历按照资源粒度:一组交换机下的主机的可用Slot划分的每个子资源集合,即遍历每群主机的可用Slot。资源分配装置可以先将某群主机的可用Slot数目减去经过一组交换机需要占用的可用Slot数目(假设一组交换机为N个,则经过一组交换机需要占用的可用Slot数目为:N乘以经过一个交换机需要占用的可用Slot数目),得到更新后的该群主机包括的每组主机的可用Slot数目,然后将该群主机包括的所有组主机,按照可用Slot数目由多到少进行排序,并从可用Slot数目最多的一组主机开始,逐次加入一组可用Slot数目次之的主机的可用Slot,判断当前加入的所有组主机的可用Slot数目之和是否大于或等于第一租户请求的资源数量。如果确定当前加入的所有组主机的可用Slot数目之和大于或等于第一租户请求的资源数量,则资源分配装置可以将当前加入的所有组主机的可用Slot确定为目标资源集合。如果确定当前加入的所有组主机的可用Slot数目之和小于第一租户请求的资源数量,则继续加入一组可用Slot数目次之的主机的可用Slot,并判断是否满足要求。如果确定该群主机的可用Slot数目小于第一租户请求的资源数量,则资源分配装置可以对下一群主机的可用Slot进行判断。
如果确定每群主机的可用Slot数目均小于第一租户请求的资源数量,则资源分配装置可以遍历按照最大一层资源粒度:所有组交换机下的主机的可用Slot划分的每个子资源集合,即遍历所有群主机的可用Slot。资源分配装置可以先将所有群主机的可用Slot数目减去经过所有组交换机需要占用的可用Slot数目(假设包括M组交换机,一组交换机为N个,则经过所有组交换机需要占用的可用Slot数目为:M*N*经过一个交换机需要占用的可用Slot数目),得到更新后的每群主机的可用Slot数目,然后将所有群主机,按照可用Slot数目由多到少进行排序,并从可用Slot数目最多的一群主机开始,逐次加入一群可用Slot数目次之的主机的可用Slot,判断当前加入的所有群主机的可用Slot数目之和是否大于或等于第一租户请求的资源数量。如果确定当前加入的所有群主机的可用Slot数目之和大于或等于第一租户请求的资源数量,则资源分配装置可以将当前加入的所有群主机的可用Slot确定为目标资源集合。如果确定当前加入的所有群主机的可用Slot数目之和小于第一租户请求的资源数量,则继续加入一群可用Slot数目次之的主机的可用Slot,并判断是否满足要求。如果确定所有群主机的可用Slot数目之和小于第一租户请求的资源数量,则资源分配装置可以执行以下步骤306。
305、资源分配装置在确定出目标资源集合时,将目标资源集合包括的可用Slot分配给第一租户。
306、资源分配装置在未确定出目标资源集合时,向终端发送为第一租户分配资源失败的消息。
本申请提供的资源分配方法,资源分配装置通过获取第一租户所处的地理位置的候选资源集合,并从该候选资源集合中确定满足第一租户请求的资源数量的最小资源粒度的子资源集合。这样,由于资源分配装置为第一租户分配的资源是第一租户所处的地理位置处的资源,且资源分配装置是从最小一层资源粒度开始,确定满足要求的子资源集合的,大大减小了资源分配装置响应第一租户的租用请求的时间。
并且,资源分配装置通过优先选择可用Slot数目较多的主机的可用Slot分配给第一租户,在突发流量时减小了拥塞现象的发生。且,资源分配装置提前预留了经过交换机需要占用的可用Slot数目,使得在突发流量时减小了丢包问题的出现。
上述主要从各个设备交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,资源分配装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对资源分配装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中涉及的资源分配装置的另一种可能的组成示意图,如图4所示,该资源分配装置可以包括:接收单元41、获取单元42和确定单元43。
其中,接收单元41,用于支持资源分配装置执行图3所示的资源分配方法中的步骤302。
获取单元42,用于支持资源分配装置执行图3所示的资源分配方法中的步骤303。
确定单元43,用于支持资源分配装置执行图3所示的资源分配方法中的步骤304。
在本申请实施例中,进一步的,如图5所示,资源分配装置还可以包括:发送单元44。
发送单元44,用于支持资源分配装置执行图3所示的资源分配方法中的步骤306。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的资源分配装置,用于执行上述资源分配方法,因此可以达到与上述资源分配方法相同的效果。
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的资源分配装置的另一种可能的组成示意图。如图6所示,该资源分配装置包括:处理模块51和通信模块52。
处理模块51用于对资源分配装置的动作进行控制管理,例如,处理模块51用于支持资源分配装置执行图3中的步骤303、步骤304、步骤305,和/或用于本文所描述的技术的其它过程。通信模块52用于支持资源分配装置与其他网络实体,如终端的通信。例如,通信模块52用于支持资源分配装置执行图3中的步骤302、步骤306。资源分配装置还可以包括存储模块53,用于存储资源分配装置的程序代码和数据。
其中,处理模块51可以是图2中的处理器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块52可以是图2中的通信接口。存储模块53可以是图2中的存储器。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种资源分配方法,其特征在于,所述方法包括:
接收终端发送的第一租户的租用请求,所述第一租户的租用请求中包括所述第一租户请求的资源数量和所述第一租户的地理位置信息;
根据所述第一租户的地理位置信息,获取所述第一租户所处的地理位置的候选资源集合,所述候选资源集合包括至少两层资源粒度,按照每层资源粒度,所述候选资源集合被划分为至少一个子资源集合,一个子资源集合包括至少一个主机的可用资源数据块Slot;
从所述候选资源集合中确定目标资源集合,所述目标资源集合为所述候选资源集合中,满足可用Slot数目大于或等于所述第一租户请求的资源数量的最小资源粒度的子资源集合;
所述从所述候选资源集合中确定目标资源集合,包括:
遍历所述候选资源集合按照最小一层资源粒度划分的每个子资源集合;
在确定第一子资源集合包括的可用Slot数目大于或等于所述第一租户请求的资源数量时,确定所述第一子资源集合为所述目标资源集合,并将所述第一子资源集合包括的可用Slot分配给所述第一租户,所述第一子资源集合为所述按照最小一层资源粒度划分的子资源集合中的任意一个;
在确定所述按照最小一层资源粒度划分的每个子资源集合包括的可用Slot数目均小于所述第一租户请求的资源数量时,遍历按照比所述最小一层资源粒度大一层的资源粒度划分的每个子资源集合;
在确定第二子资源集合包括的可用Slot数目大于或等于所述第一租户请求的资源数量时,确定所述第二子资源集合为所述目标资源集合,并将所述第二子资源集合包括的可用Slot分配给所述第一租户,所述第二子资源集合为所述按照比所述最小一层资源粒度大一层的资源粒度划分的子资源集合中的任意一个;
所述从所述候选资源集合中确定目标资源集合,包括:
在遍历所述候选资源集合按照第i层资源粒度划分的每个子资源集合时,根据经过交换机需要占用的可用Slot数目,更新第三子资源集合按照第i-1层资源粒度划分的每个子资源集合的可用Slot数目,所述第i层资源粒度为除每个主机的可用Slot外的资源粒度,所述第三子资源集合为所述按照第i层资源粒度划分的子资源集合中的任意一个,i为大于0的整数;
将所述第三子资源集合按照第i-1层资源粒度划分的所有子资源集合,按照可用Slot数目由多到少的顺序进行排序;
从所述第三子资源集合按照第i-1层资源粒度划分的子资源集合中,可用Slot数目最多的子资源集合开始,逐次加入预设数量的可用Slot数目次之的子资源集合,直到确定当前加入的子资源集合的可用Slot数目之和大于或等于所述第一租户请求的资源数量时,确定所述当前加入的子资源集合的可用Slot为所述目标资源集合,并将所述当前加入的子资源集合的可用Slot分配给所述第一租户。
2.根据权利要求1所述的方法,其特征在于,
所述候选资源集合包括以下四层资源粒度中的至少两层:
每个主机的可用Slot;
连接在同一交换机下的主机的可用Slot;
一组交换机下的主机的可用Slot;
所有组交换机下的主机的可用Slot;
所述四层资源粒度按照资源粒度由小到大的顺序为:每个主机的可用Slot、连接在同一交换机下的主机的可用Slot、一组交换机下的主机的可用Slot、所有组交换机下的主机的可用Slot。
3.根据权利要求1-2中任一项所述的方法,其特征在于,还包括:
在确定按照所述候选资源集合包括的最大一层资源粒度划分的所有子资源集合的可用Slot数目之和小于所述第一租户请求的资源数量时,向所述终端发送为所述第一租户分配资源失败的消息。
4.一种资源分配装置,其特征在于,所述资源分配装置包括:接收单元、获取单元和确定单元;
所述接收单元,用于接收终端发送的第一租户的租用请求,所述第一租户的租用请求中包括所述第一租户请求的资源数量和所述第一租户的地理位置信息;
所述获取单元,用于根据所述接收单元接收的所述第一租户的地理位置信息,确定所述第一租户所处的地理位置的候选资源集合,所述候选资源集合包括至少两层资源粒度,按照每层资源粒度,所述候选资源集合被划分为至少一个子资源集合,一个子资源集合包括至少一个主机的可用资源数据块Slot;
所述确定单元,用于从所述获取单元获取的所述候选资源集合中确定目标资源集合,所述目标资源集合为所述候选资源集合中,满足可用Slot数目大于或等于所述第一租户请求的资源数量的最小资源粒度的子资源集合;
所述确定单元,还用于:
遍历所述候选资源集合按照最小一层资源粒度划分的每个子资源集合;
在确定第一子资源集合包括的可用Slot数目大于或等于所述第一租户请求的资源数量时,确定所述第一子资源集合为所述目标资源集合,并将所述第一子资源集合包括的可用Slot分配给所述第一租户,所述第一子资源集合为所述按照最小一层资源粒度划分的子资源集合中的任意一个;
在确定所述按照最小一层资源粒度划分的每个子资源集合包括的可用Slot数目均小于所述第一租户请求的资源数量时,遍历按照比所述最小一层资源粒度大一层的资源粒度划分的每个子资源集合;
在确定第二子资源集合包括的可用Slot数目大于或等于所述第一租户请求的资源数量时,确定所述第二子资源集合为所述目标资源集合,并将所述第二子资源集合包括的可用Slot分配给所述第一租户,所述第二子资源集合为所述按照比所述最小一层资源粒度大一层的资源粒度划分的子资源集合中的任意一个;
所述确定单元,还用于:
在遍历所述候选资源集合按照第i层资源粒度划分的每个子资源集合时,根据经过交换机需要占用的可用Slot数目,更新第三子资源集合按照第i-1层资源粒度划分的每个子资源集合的可用Slot数目,所述第i层资源粒度为除每个主机的可用Slot外的资源粒度,所述第三子资源集合为所述按照第i层资源粒度划分的子资源集合中的任意一个,i为大于0的整数;
将所述第三子资源集合按照第i-1层资源粒度划分的所有子资源集合,按照可用Slot数目由多到少的顺序进行排序;
从所述第三子资源集合按照第i-1层资源粒度划分的子资源集合中,可用Slot数目最多的子资源集合开始,逐次加入预设数量的可用Slot数目次之的子资源集合,直到确定当前加入的子资源集合的可用Slot数目之和大于或等于所述第一租户请求的资源数量时,确定所述当前加入的子资源集合的可用Slot为所述目标资源集合,并将所述当前加入的子资源集合的可用Slot分配给所述第一租户。
5.根据权利要求4所述的装置,其特征在于,
所述候选资源集合包括以下四层资源粒度中的至少两层:
每个主机的可用Slot;
连接在同一交换机下的主机的可用Slot;
一组交换机下的主机的可用Slot;
所有组交换机下的主机的可用Slot;
所述四层资源粒度按照资源粒度由小到大的顺序为:每个主机的可用Slot、连接在同一交换机下的主机的可用Slot、一组交换机下的主机的可用Slot、所有组交换机下的主机的可用Slot。
6.根据权利要求4-5中任一项所述的装置,其特征在于,所述资源分配装置还包括:发送单元;
所述确定单元,还用于确定按照所述候选资源集合包括的最大一层资源粒度划分的每个子资源集合的可用Slot数目小于所述第一租户请求的资源数量;
所述发送单元,用于在所述确定单元确定按照所述候选资源集合包括的最大一层资源粒度划分的所有子资源集合的可用Slot数目之和小于所述第一租户请求的资源数量时,向所述终端发送为所述第一租户分配资源失败的消息。
7.一种资源分配装置,其特征在于,所述资源分配装置包括:至少一个处理器、存储器、通信接口和通信总线;
所述处理器与所述存储器、所述通信接口通过所述通信总线连接,所述存储器用于存储计算机执行指令,当所述资源分配装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述资源分配装置执行如权利要求1-3中任一项所述的资源分配方法。
8.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-3中任一项所述的资源分配方法。
CN201711448425.9A 2017-12-27 2017-12-27 一种资源分配方法及装置 Active CN108228350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711448425.9A CN108228350B (zh) 2017-12-27 2017-12-27 一种资源分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711448425.9A CN108228350B (zh) 2017-12-27 2017-12-27 一种资源分配方法及装置

Publications (2)

Publication Number Publication Date
CN108228350A CN108228350A (zh) 2018-06-29
CN108228350B true CN108228350B (zh) 2021-04-30

Family

ID=62648171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711448425.9A Active CN108228350B (zh) 2017-12-27 2017-12-27 一种资源分配方法及装置

Country Status (1)

Country Link
CN (1) CN108228350B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669946B (zh) * 2018-12-14 2021-11-16 中南设计集团(武汉)工程技术研究院有限公司 一种基于海量用户的复杂权限体系数据隔离系统及方法
CN109814981B (zh) * 2019-01-28 2021-05-04 北京首都在线科技股份有限公司 物理机租用服务系统、方法、终端及存储介质
CN110321221A (zh) * 2019-06-28 2019-10-11 南瑞集团有限公司 主机部署方法、装置
CN110795237B (zh) * 2019-10-08 2021-02-09 支付宝(杭州)信息技术有限公司 资源处理方法、装置、电子设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101500022B (zh) * 2009-03-09 2013-03-20 北大方正集团有限公司 一种数据访问资源的分配方法及其系统和设备
CN102131142A (zh) * 2010-10-25 2011-07-20 上海复展照明科技有限公司 一种根据地理位置信息进行资源分配的方法

Also Published As

Publication number Publication date
CN108228350A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN108228350B (zh) 一种资源分配方法及装置
CN109561141B (zh) 一种cdn节点的选择方法及设备
US9667750B2 (en) Client-initiated leader election in distributed client-server systems
CN110896355B (zh) 一种网络切片的选择方法及装置
US11301303B2 (en) Resource pool processing to determine to create new virtual resource pools and storage devices based on currebt pools and devices not meeting SLA requirements
US10764132B2 (en) Scale-out association method and apparatus, and system
US9465641B2 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
CN109547286B (zh) 一种cdn节点的选择方法、设备及存储介质
CN108132827B (zh) 一种网络切片资源映射方法、相关设备及系统
EP3293969A1 (en) Method of terminal-based conference load-balancing, and device and system utilizing same
CN111182037B (zh) 一种虚拟网络的映射方法和装置
CN110267276B (zh) 网络切片部署方法及装置
JP2018531549A (ja) ネットワーク機能仮想化リソース処理方法および仮想化されたネットワーク機能マネージャ
EP3358795A1 (en) Method and apparatus for allocating virtual resources in network functions virtualization (nfv) network
CN113535319A (zh) 一种实现多rdma网卡虚拟化的方法、设备及存储介质
US20210409343A1 (en) Network controller
CN114172753B (zh) 地址预留的方法、网络设备和系统
CN114173396B (zh) 终端联网时间的确定方法和装置、电子设备和存储介质
CN107615872B (zh) 一种释放连接的方法、装置及系统
CN109257201B (zh) 一种License的发送方法和装置
CN113254207B (zh) 一种标识码生成方法、装置、服务器和存储介质
CN116846823A (zh) 通信方法、核心网设备及计算机可读存储介质
CN118210629A (zh) 内存分配方法及电子设备
CN116582437A (zh) 一种集群实例调整方法、装置以及相关设备
CN113992572A (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