CN116634027A - 一种业务分流方法、装置及系统 - Google Patents

一种业务分流方法、装置及系统 Download PDF

Info

Publication number
CN116634027A
CN116634027A CN202210667595.0A CN202210667595A CN116634027A CN 116634027 A CN116634027 A CN 116634027A CN 202210667595 A CN202210667595 A CN 202210667595A CN 116634027 A CN116634027 A CN 116634027A
Authority
CN
China
Prior art keywords
resource pool
target
traffic
resource
service
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
CN202210667595.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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to PCT/CN2022/117936 priority Critical patent/WO2023151268A1/zh
Publication of CN116634027A publication Critical patent/CN116634027A/zh
Pending legal-status Critical Current

Links

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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种业务分流方法、装置及系统。该系统包括云管理平台节点、多个资源池和分流节点,其中,每个资源池包括多个主机用于为多个租户运行业务,每个主机上运行至少一个实例,每个资源池内创建有目标租户的目标业务对应的实例集群,所述实例集群内的实例用于运行所述目标业务;在该方法中,云管理平台节点获取目标业务关联的每个资源池的可用资源信息,其中,每个资源池的可用资源信息指示该资源池在一个时间段内可提供给目标业务的实例集群的实例数量;云管理平台节点基于每个资源池的可用资源信息生成目标业务在该时间段内的分流规划;分流节点按照分流规划将目标业务在该时间段内的业务流量分配至所述多个资源池。

Description

一种业务分流方法、装置及系统
相关申请的交叉引用
本申请要求在2022年02月14日提交中华人民共和国知识产权局、申请号为202210132528.9、申请名称为“一种数据处理方法和计算机”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算技术领域,尤其涉及一种业务分流方法、装置及系统。
背景技术
负载均衡是一种根据负载均衡算法,把业务流量分散到一个实例集群中的可用服务器的技术。负载均衡通过管理进入实例集群的业务流量,从而使网络访问者获得尽可能好的网络体验。
目前,负载均衡策略包括负载均衡算法、预设分流比例等,其中,负载均衡算法主要用于选择分流的实例集群,例如轮询业务对应的实例集群,将业务请求分配到负载较小的实例集群上进行处理,或者,选择与触发业务请求的用户设备所在地距离较近实例集群来响应该业务请求。预设分流比例是指,按照业务对应的多个实例集群的预设比例进行分流。
然而,当业务流量突发,或者,业务对应的多个实例集群的资源可用量不一致时,选择负载最小的实例集群的或者按照预设流量比例进行分流,只能实现粗粒度的分流,可能导致分配至实例集群的业务请求不能得到及时处理,在流量突发场景中加重该情况的恶化,降低网络访问者的体验。
发明内容
本申请提供一种业务分流方法、装置及系统,用于实现细粒度精准分流,保证业务请求能够得到及时处理。
第一方面,本申请提供一种业务分流方法,该方法可应用于云计算系统,该系统至包括云管理平台节点、多个资源池和分流节点,其中,每个资源池包括多个主机用于为多个租户运行业务,每个主机上运行至少一个实例,每个资源池内可创建有目标租户的目标业务对应的实例集群,实例集群内的实例用于运行该目标业务;该方法包括:云管理平台节点获取目标业务关联的每个资源池的可用资源信息,其中,每个资源池的可用资源信息指示该资源池在一个时间段(记为目标时间段)内可提供给目标业务的实例数量;云管理平台节点基于每个资源池的可用资源信息生成目标业务在目标时间段内的分流规划;分流节点按照该分流规划将所述目标业务在目标时间段内的业务流量分配至一个或多个资源池。
上述技术方案中,云管理平台节点基于目标业务关联的资源池的可用资源信息,确定目标业务在目标时间段内的分流规划,从而可以预先确定出不同时间段内目标业务的业务流量分配入各资源池的业务流量,有助于更好的实现流量分配规划,避免分配入实例集群的业务流量不超过其所在资源池的承载能力,尽可能保证分配入实例集群的业务请求能够得到及时处理,实现细粒度分流,减少或避免业务流量突发时业务请求大规模拥塞的情况。
在一种可能的实现方式中,每个资源池的可用资源信息指示:该资源池在目标时间段内空闲实例的数量,空闲实例为该资源池在目标时间段内未被其他租户占用的。
上述技术方案中,相对于负载均衡策略而言,本申请不再着眼于实例集群的负载,而是确定资源池在目标时间段内空闲实例的数量,云管理平台节点基于该空闲实例的数量制定分流规划,如此,不论业务对应的多个实例集群的资源可用量是否一致,相对于负载均衡等策略均可实现一种更细粒度的流量分配。
在一种可能的实现方式中,分流规划指示在目标时间段内每个资源池可承接目标业务的业务流量的最大值,或所述目标业务的业务流量在所述时间段内被分配入每个资源池比例。
上述技术方案中,云管理平台节点基于各资源池的可用资源信息确定分流规划,指示每个资源池可承接目标业务的业务流量的最大值,避免分配入实例集群的业务流量不超过其所在资源池的最大承载能力。当分流规划指示流量比例时,可以与前述的负载均衡策略中按照预设流量比例进行分流的分流节点兼容,提高本申请技术方案的适用性。
在一种可能的实现方式中,分流规划指示目标业务的业务流量在目标时间段内被分配入每个资源池优先级信息。
上述技术方案中,基于资源池的优先级信息可调整将目标业务的业务流量分配入资源池的顺序,使流量分配的方式更加灵活。
在一种可能的实现方式中,该方法还包括:云管理平台节点获取目标业务的资源需求信息,该资源需求信息指示目标业务在目标时间段内的业务流量预测值;云管理平台节点基于目标业务的资源需求信息和每个资源池的可用资源信息生成分流规划。
上述技术方案中,基于目标业务的资源需求信息和每个资源池的可用资源信息生成分流规划,可实现计算资源与业务需求的协同调度,实现更细粒度的分流。
在一种可能的实现方式中,在目标时间段内被分配入每个资源池的目标业务的业务流量之和等于业务流量预测值,且在目标时间段内被分配入每个资源池的目标业务的业务流量不超过该资源池可承载的目标业务的业务流量的最大值。
在一种可能的实现方式中,分流规划满足成本策略,成本策略包括在目标时间段内被分配入每个资源池的目标业务的业务流量所产生的费用最低。
上述技术方案中,提供给目标租户一种新的成本策略,当采用成本策略确定分流规划时,还可以有效降低目标租户的成本费用。
在一种可能的实现方式中,在目标时间段内被分配入每个资源池的目标业务的业务流量所产生的费用最低包括实例费用和通信费用;实例费用指示在所述时间段内被分配入每个资源池的目标业务的业务流量所需的实例的租赁费用,通信费用指示所述分流节点与每个资源池传输目标业务的业务流量所需的通信费用。
在一种可能的实现方式中,每个资源池可承接目标业务的业务流量的最大值基于资源池在目标时间段内可提供给目标业务的实例集群的实例数量及目标业务的资源转换信息确定的,资源转换信息指示处理所述目标业务的单个业务请求所需的实例的数量。
第二方面,本申请实施例还提供了一种计算装置,该装置具有实现上述第一方面或第一方面任一可能的实现方式中云管理平台节点的功能,有益效果可以参见第一方面的描述此处不再赘述。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括获取模块、确定模块,可选的,还可以包括通信模块,这些模块可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第三方面,本申请实施例还提供了一种计算设备,所述计算设备包括处理器和存储器,还可以包括通信接口,所述处理器执行所述存储器中的程序指令执行上述第一方面或第一方面任一可能的实现方式提供的方法。所述存储器与所述处理器耦合,其保存确定分流规划的过程中必要的程序指令和数据。所述通信接口,用于与其他设备进行通信,如发送分流规划。
第四方面,本申请提供了一种计算设备集群,该计算设备集群包括至少一个计算设备。每个计算设备包括存储器和处理器。至少一个计算设备的处理器用于访问所述存储器中的代码以执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该存储介质中存储了程序。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第六方面,本申请提供了一种计算机程序产品,所述计算设备程序产品包括计算机指令,在被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
第七方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。
上述第二方面至第七方面中任一实现方式的有益效果请参见第一方面的描述,此处不再赘述。
附图说明
图1为一种区域和可用区的关系示意图;
图2为本申请实施例提供的一种可能的网络架构示意图;
图3为本申请实施例提供的另一种可能的网络架构示意图;
图4为本申请实施例提供的业务分流方法的流程示意图;
图5为本申请实施例提供的一种计算装置的结构示意图;
图6为本申请实施例提供的一种计算设备的结构示意图;
图7为本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
为方便理解,首先对本申请实施例中的部分技术用语进行解释说明。
(1)区域(Region)和可用区(AZ,Availability Zone)用于描述数据中心的位置。区域指数据中心所在的区域,可以是地区(例如华北)、也可以是城市(例如北京、天津)。可用区指机房、站点所在的物理区域,具有能耗、网络所独立的特点。
参见图1所示,一个Region通常包含多个低时延互联的AZ,用于同区域容灾备份和负载均衡等场景与服务。比如,在北京(Region)有两个机房,这两个机房就是两个可用区,它们拥有独立的水电、网络等。一个Region中的多个AZ间通过数据中心内部网络(高速光纤)相连,以满足租户跨AZ构建高可用性系统的需求。不同region之间需要通过公网互联。
(2)实例,可指用于运行业务的软件程序或计算资源,还可以称为计算实例、计算模块、算法实例等。
(3)虚拟机(Virtual Machine,VM),是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机(简称实体机)中能够完成的工作在虚拟机中都能够实现。在实体机中创建虚拟机时,需要将实体机的部分硬件资源(如CPU、内存、硬盘等)作为虚拟机的硬件资源。每个虚拟机都有独立的操作系统,可以像使用实体机一样对虚拟机进行操作。在实际应用中,一台物理主机可以通过虚拟化技术虚拟出多台虚拟机。虚拟机也可称为云服务器(Elastic Compute Service,ECS)、弹性实例(不同的云服务提供商有不同的叫法)。
(4)容器,是实现操作系统虚拟化的一种途径,可以让用户在资源受到隔离的进程中运行应用程序及其依赖关系。
(5)裸金属服务器,是指可以为租户提供专属化云资源的物理服务器,即主机(host)。
图2为本申请实施例提供一种可能的云计算系统的架构示意图。该云计算系统包括云管理平台1、一个或多个资源池(图2示出三个资源池20、21、22,但不限定于此)。
首先介绍资源池。通常,每个资源池包括多个主机(Host),每个主机上运行一个或多个实例。示例性地,同一个Region内使用同一个资源池,即一个资源池可包括一个Region内运行的全部实例。本申请实施例中,实例可以是虚拟机、容器、主机等不同粒度的计算资源的任意一种或多种组合。
租户可在特定的一个或多个资源池购买实例。对应的,一个或多个资源池内可创建目标租户的目标业务的实例集群,如图2中,资源池20内创建有目标租户的目标业务的实例集群200、资源池21内创建有目标租户的目标业务的实例集群210、资源池22内创建有目标租户的目标业务的实例集群220。实例集群内包括目标租户在该资源池租赁的实例,可包括虚拟机、容器、裸金属服务器中的一种或多种,用于运行目标业务,如图2右侧所示的,用户通过用户设备101、102、103等发送过来的业务流量。其中,每个实例集群内的实例可包括虚拟机、容器、裸金属服务器中的一种或多种。为便于说明,如下以实例为虚拟机为例来介绍。
在实际应用中,每个资源池可包括多种规格的虚拟机,目标租户从资源池租赁虚拟机时,可指定虚拟机的一种或多种规格。其中,不同规格的虚拟机可具有不同的硬件配置,硬件配置包括但不限于:CPU核数、内存容量、磁盘空间、带宽等。表1示例性地示出了某资源池内的几种虚拟机规格及相应的收费标准。应注意,表1仅为举例,不构成对实际应用的限定。
表1
应注意,不同资源池内包括的虚拟机的规格可以完全相同,或者不完全相同,或者完全不同。其中,相同规格的虚拟机在不同的资源池可能具有不同的收费标准,这与资源池本身的运营成本相关。另外应注意,目标租户在不同资源池中租赁的虚拟机的规格可能是不同的,比如,实例集群200内的虚拟机的规格为VM_1和VM_2,实例集群210内的虚拟机的规格为VM_2,实例集群220内的虚拟机的规格为VM_1。
在资源池内,除租赁给租户的虚拟机(即被纳入实例集群内的虚拟机)之外,还包括空闲的虚拟机,可以理解为未被其他租户占用或未出售的虚拟机,可用于资源池中已有实例集群的扩容。通常,目标租户不会购买固定数量的虚拟机,换言之,实例集群200、210、220内所包括的虚拟机的数量是不固定的,可通过弹性伸缩技术进行扩容、缩容。弹性伸缩技术,是指根据业务需求,自动增加或自动减少虚拟机的数量,如在接入的业务流量增多导致算力不足时,增加实例集群中的虚拟机数量,即将资源池中空闲的虚拟机纳入实例集群内,直至业务流量下降,算力富余后减少实例集群中的虚拟机数量,即将实例集群中的部分空闲的虚拟机释放回资源池中。
如下介绍云管理平台1,云管理平台1包括监控系统10、云管理平台节点11、分流节点12。
监控系统10包括监控节点113和数据库114。
其中,监控模块113,用于对资源池的性能指标进行监控,包括各种物理资源和虚拟资源的监控,如资源池中各实例集群内的VM数量、资源池中不同规格的空闲VM数量等。监控模块113负责实时或周期性的采集资源池的各项性能指标的值。数据库114,用于存储监控模块113采集到的数据。可选的,数据库114还可用于存储其他信息,如各资源池包括的各种VM的规格及相应的收费标准(参见表1)、目标业务对应的各实例集群、实例集群所在的资源池(目标业务关联的资源池)、及在资源池中指定的VM规格等的映射关系,等等,本申请对此不做限定。
云管理平台节点11,用于执行本申请实施例提供的业务分流方法,示例性的,云管理平台节点11用于获取目标业务关联的每个资源池的可用资源信息;根据目标业务关联的每个资源池的可用资源信息,确定目标业务在未来一个时间段(记为目标时间段)内的分流规划。可选的,云管理平台节点11还用于提供一种配置界面,目标租户可在该配置界面配置业务参数,如目标业务关联的资源池、在资源池中用于运行目标业务的虚拟机的规格、应用于实例集群的弹性伸缩策略、用于指定分流规划的成本策略(下文会进行介绍,此处不做赘述)等,这些业务参数可存储于数据库114中。
分流节点12,为目标业务的流量接口,用于接收目标业务的业务流量,如图2中右侧所示,用户设备可以是普通计算机101、平板电脑102、智能手机103等。用户可通过用户设备发送业务请求。分流节点12,还用于按照云管理平台节点11生成的分流规划,将目标业务在目标时间段内的业务流量分配至多个资源池。本申请中,业务流量可以以业务请求的数量来度量。举例来说,分流节点12基于分流规划,将目标业务在目标时间内2000个业务请求发送至实例集群200,将目标业务在目标时间内其他的3000个业务请求发送至实例集群210。示例性地,分流节点12可通过网络(如因特网)与资源池通信。
在一种可选的实施方式中,分流节点12可位于目标业务关联的一个资源池中,以节省分流节点12与该资源池中的实例集群之间的网络通信费用。比如,目标租户的目标业务对应于实例集群200、实例集群210和实例集群220,则该目标业务的关联资源池包括资源池20、资源池21和资源池22,目标业务的分流节点12可以位于资源池20中,或者资源池21中,或者资源池22中。参见图3所示,假设目标业务的分流节点12位于资源池20中,如此,当分流节点12向实例集群200发送业务流量时,不需要通过网络传输,从而节省两者之间的通信费用。
应注意,本申请中的用户与租户是不同的,租户为业务方,用户为使用业务方提供的服务的一方。举例来说,假设业务方提供某app,如该app为搜索引擎,则用户为使用该搜索引擎的一方,在用户设备上运行搜索引擎触发的业务请求可以是网页获取请求等。又如该app为视频软件,用户为使用该视频软件的一方,在用户设备上运行该视频软件触发的业务请求可以是获取视频请求等等。再如该app为会议软件,用户可在用户设备上运行该会议软件,触发的业务请求可以是创建会议请求、加入会议请求等。对应的,目标业务对应的实例集群内的虚拟机可用于处理目标业务的业务请求,比如,针对创建会议请求,创建会议资源并生成会议链接,将会议链接等信息置于会议响应中返回给分流节点12,由分流模型13返回给对应的用户。
需要说明的是,图2或图3所示的系统架构仅为示意,实际应用中,云计算系统可以包括相对图2或3更多或更少的节点,本申请实施例对此不做限定。
本申请提供一种业务分流方法,在制定分流规划时,基于目标业务关联的各资源池处理能力制定分流规划,尽可能保证分配至实例集群的业务请求能够得到及时处理,实现细粒度的分流。
接下来结合附图4,以本申请实施例提供的业务分流方法应用于图3所示的系统为例,对该方法进行详细说明。为便于说明,仍以虚拟机为例进行介绍,下文中的虚拟机均可以替换为实例,假设图3中,目标租户的目标业务对应于实例集群200、实例集群210和实例集群220。为便于描述,下文中将“目标租户的目标业务”简称为“目标业务”。
图4为本申请实施例提供的一种业务分流方法所对应的流程示意图。如图4所示,该方法包括如下步骤:
步骤401,云管理平台节点11获取目标业务关联的每个资源池的可用资源信息。
目标业务关联的资源池是指目标业务对应的实例集群所在的资源池,比如,图3中,目标业务对应于实例集群200、实例集群210、实例集群220,则目标业务关联的资源池包括资源池20、资源池21和资源池22。
其中,每个资源池的可用资源信息,用于指示该资源池在目标时间段内可提供给目标业务的虚拟机的数量(记为目标数量)。示例性的,该目标数量为,该资源池内可供目标业务对应的实例集群扩容的虚拟机的数量。
例如,该目标数量是指,资源池在目标时间段内目标规格的空闲虚拟机的数量。其中,目标规格指示目标业务在该资源池中指定的虚拟机规格。举例来说,参见表2,表2示例性示出了目标业务与对应的实例集群、资源池及虚拟机规格的映射关系。
表2
其中,资源池20在目标时间段可提供给目标业务的虚拟机的数量为,资源池20在目标时间段内规格为VM_1的空闲虚拟机的数量。同理,资源池21在目标时间段可提供给目标业务的虚拟机的数量为,资源池21在目标时间段内规格为VM_1的空闲虚拟机的数量。
可选的,当资源池内多个业务(包括目标业务)指定的虚拟机规格相同时,该目标数量可以是基于资源池在目标时间段内目标规格的空闲虚拟机的数量和该资源池内目标业务对应的占比确定。比如,结合表2,假设资源池20内,目标业务(如业务A)和业务B对应的目标规格均为VM_1,假设资源池20内,目标业务对应的占比为2/3,若资源池20在目标时间段内规格为VM_1的空闲虚拟机的数量为30台,则资源池20在目标时间段内可提供给目标业务的虚拟机的数量为30*2/3=20台。其中,目标业务对应的占比可以是预设值也可以是基于资源池20在目标时间段之前,目标业务对应的实例集群的规模与业务B对应的实例集群的规模之比,其中,实例集群的规模可以由实例集群所包含的虚拟机的数量表示。
值得注意的是,目标业务在资源池内还可以对应多种指定的虚拟机规格。本申请对此不做限定,另外,目标业务在不同资源池中指定的虚拟机规格可以相同也可以不同,具体不做限定。表3示例性示出了目标业务的另一种映射关系。
表3
结合表3,资源池20在目标时间段可提供给目标业务的虚拟机的数量为,资源池20在目标时间段内规格为VM_1的空闲虚拟机和规格为VM_2的空闲虚拟机的数量之和。比如,资源池20在目标时间段内规格为VM_1的空闲虚拟机的数量为20台,规格为VM_2的空闲虚拟机的数量为30台,则资源池在目标时间段内可提供给目标业务的虚拟机的数量为50台。同理,资源池21在目标时间段可提供给目标业务的虚拟机的数量为,资源池21在目标时间段内规格为VM_2的空闲虚拟机的数量。资源池22在目标时间段可提供给目标业务的虚拟机的数量为,资源池22在目标时间段内规格为VM_1的空闲虚拟机和规格为VM_3的空闲虚拟机的数量之和。
可选的,当资源池内多个业务(包括目标业务)指定的虚拟机规格有部分或完全重叠时,该目标数量可以是基于资源池在目标时间段内目标规格的空闲虚拟机的数量和该资源池内目标业务对应的占比确定。比如,结合表3,资源池20内目标业务(如业务A)对应的目标规格为VM_1和VM_2,假设资源池20内业务B对应的目标规格均为VM_1,假设资源池20内,目标业务对应的占比为2/3,若资源池20在目标时间段内规格为VM_1的空闲虚拟机的数量为30台,以及资源池20在目标时间段内规格为VM_2的空闲虚拟机的数量为15台,则资源池20在目标时间段内可提供给目标业务的虚拟机的数量(即目标数量)为30*2/3+15=35台。再比如,假设资源池20内目标业务(如业务A)和业务B对应的目标规格均为VM_1和VM_2,假设资源池20内,业务A和业务B的占比为2:1,若资源池20在目标时间段内规格为VM_1的空闲虚拟机和规格为VM_2的空闲虚拟机的数量之和为60台,资源池20在目标时间段内可提供给目标业务的虚拟机的数量(即目标数量)为60*2/3=40台,则资源池20在目标时间段内可提供给目标业务的虚拟机的数量(即目标数量)为40台。
在实际应用中,为方便管理,同一租户针对同一业务在不同资源池中通常指定同一种规格的虚拟机,如下以目标租户在各资源池指定的用于运行目标业务的虚拟机的规格均相同,如以表2为例进行说明。需要说明的是,表2仅为一种示例,并不构成对本申请实施例涉及的映射关系的限定,如表2还可以不包括实例集群这一列,或者,表2可以拆分为多个列表存储,本申请对此均不做限定。
接下来介绍如何确定各资源池在目标时间段内可提供给目标业务的虚拟机的数量(或目标数量)。
以一个资源池如资源池20为例,示例性地,该预测过程可以包括:基于资源池20在一段历史时间(记为第一历史窗口)内目标规格的空闲虚拟机的数量,来预测资源池20在目标时间段内目标规格的空闲虚拟机的数量。
示例性的,第一历史窗口可以是目标时间段之前一段相邻的时间段。比如,目标时间段为某一天的2:00—2:01,第一历史窗口可以是同一天的1:30—2:00。示例性地,结合表2,当达到2:00时,基于资源池20在该日1:30—2:00内的多个采样数据,来预测当天2:00—2:01内规格为VM_1的空闲虚拟机的数量。其中多个采样数据为资源池20在当天1:30—2:00内的不同时刻规格为VM_1的空闲虚拟机的数量。比如,采样间隔为5分钟,则多个采样数据可包括资源池20分别在该日的1:30、1:35、1:40、…、2:00时刻,规格为VM_1的空闲虚拟机的数量。类似的,当达到2:01时,基于资源池20在该日1:31—2:01内的多个采样数据,来预测当天2:01—2:02内规格为VM_1的空闲虚拟机的数量。当达到2:02时,基于资源池20在该日1:32—2:02内的多个采样数据,来预测当天2:02—2:03内规格为VM_1的空闲虚拟机的数量。其中,第一历史窗口内的采样数据可以从数据库114获取,也可以是从其他设备中获取,示例性地,这些采用数据可以是监控模块113采集的,本申请实施例对此均不做限定,下文类似之处不再赘述。上述方式也可以称为实时预测,通常应用于对预测精度要求较高或资源池中空闲虚拟机的数量不具有周期规律的场景中。
再示例性的,第一历史窗口为目标时间段的历史同期窗口,如当资源池20中目标规格的空闲虚拟机的数量具有周期规律时,第一历史窗口可以是目标时间段的历史同期窗口。比如,当资源池20中目标规格的空闲虚拟机的数量具有日内规律时,假设目标时间段为2024.04.10的0:00—24:00,第一历史窗口可以是2024.04.09的0:00—24:00,或第一历史窗口可以是2024.04.08的0:00—24:00等等。其中,第一历史窗口与目标时间段间隔k天,k取正整数。再比如,当资源池20中目标规格的空闲虚拟机的数量具有周内规律时,假设目标时间段为2024.04.25的0:00—24:00,第一历史窗口可以是2024.04.18的0:00—24:00,或第一历史窗口可以是2024.04.11的0:00—24:00等等。其中,资源池中目标规格的空闲虚拟机的数量还可能具有月内规律等等不同时间长度内的变化周期,具体不做限定。该预测方式通常应用于资源池中目标规格的空闲虚拟机的数量具有周期规律的场景,可以在保证准确性的基础上,减少算力开销。
需要说明的是,上述示例仅为举例,第一历史窗口的长度、采样间隔、预测间隔、输出数据间隔(可等于目标时间段的长度)、目标时间段的长度等还可以是其他值,具体不做限定。另外需要说明的是,在执行预测时,第一历史窗口的数量可以是一个或多个,如该多个历史窗口可包括目标时间段之前一个或多个相邻时间段,和/或,一个或多个目标时间段的历史同期窗口。该多个第二历史窗口的时间长度可以相同也可以不同或不完全相同,本申请对此也不做限定。比如,目标时间段为2024.04.25的0:00—24:00时,则对应的多个第一历史窗口可以是2024.04.18的0:00—24:00和2024.04.11的0:00—24:00,或2024.04.18的0:00—24:00和2024.04.24的23:00—24:00等等。另外,前述的预测方式仅为示例,具体不做限定,任何预测方法均适用于本申请实施例。
通过上述方式,分别获取目标业务关联的每个资源池的可用资源信息。其中,上述预测过程可以由云管理平台节点11执行,也可以由其他设备(如监控模块113)执行,具体不做限定,若有其他设备执行,则云管理平台节点11从其他设备获取目标业务关联的每个资源池的可用资源信息。假设云管理平台节点11获取的目标业务关联的各资源池的可用资源信息如下列表4所示。
表4
应注意,表4仅为示意,本申请对资源池的可用资源信息的存储形式及内容不做限定。
步骤402,云管理平台节点11获取目标业务的资源需求信息。
目标业务的资源需求信息可用于指示目标业务在目标时间段内的业务流量预测值。示例性地,该预测过程可以包括:基于目标业务在一段历史时间(记为第二历史窗口)内的业务流量数据,来预测目标业务在目标时间段内的业务流量,所得的值即为业务流量预测值。该预测过程可以由云管理平台节点11执行。或者饿,也可以由其他设备(如监控模块113)执行,如此,云管理平台节点11可以从其他设备获取目标业务的资源需求信息。
类似的,第二历史窗口可以是目标时间段之前一段相邻的时间段。或者,目标时间段的历史同期窗口,如目标业务的业务流量具有周期规律时,如日内规律、周内规律等等。
需要说明的是,第二历史窗口的长度、采样间隔、预测间隔、输出数据间隔(可等于目标时间段的长度)、目标时间段的长度等还可以是其他值,具体不做限定。另外需要说明的是,在执行一次预测时,第二历史窗口的数量可以是一个或多个,如多个历史窗口可包括目标时间段之前相邻的一个或多个时间窗口,和/或,一个或多个目标时间段的历史同期窗口,其中,多个第二历史窗口的时间长度可以相同也可以不同或不完全相同,本申请对此不做限定。具体参见前述对基于第一历史窗口预测资源池在目标时间段内空闲的虚拟机数量的相关描述,此处不再赘述。
步骤403,云管理平台节点11生成目标业务在目标时间段内的分流规划。
如下介绍两种确定分流规划的方式:
方式一:基于目标业务关联的每个资源池的可用资源信息,生成目标业务在目标时间段内的分流规划。
该分流规划可指示,在目标时间段内,每个资源池可承载目标业务的业务流量的最大值。
示例性地,可基于目标业务的资源转换信息,将该资源池在目标时间段内可提供给目标业务的虚拟机数量转换为资源池可承载目标业务的业务流量的最大值。其中,目标业务的资源转换信息用于指示处理目标业务的单个业务请求所需的计算资源数目。其中的计算资源可以是虚拟机或CPU核等不同粒度的计算资源,如目标业务的资源转换信息用于指示:运行目标业务的一个业务请求所需的CPU核数或VM数目等。
举例来说,以表4为例,假设目标业务的资源转换信息指示一个业务请求需要0.1个规格为VM_1的VM,结合表4可确定,在目标时间段内目标业务关联的各资源池可承接目标业务的业务流量的最大值,如资源池20可承接的目标业务的业务流量最大值为100/0.1=1000条业务请求。基于该方式,依次计算目标业务关联的每个资源池在目标时间段内可承接目标业务的业务流量最大值,参见表5所示。
表5
如果目标业务的资源转换信息用于指示:运行目标业务的一个业务请求所需的CPU核数等计算资源,则可以结合资源池20的可用资源信息、目标业务的资源转换信息和虚拟机规格信息确定目标业务关联的每个资源池在目标时间段内可承接目标业务的业务流量最大值,其中,资源规格信息用于指示规格的虚拟机包括的计算资源数目,如表1所示。
举例来说,目标业务的资源转换信息指示一个业务请求需要0.1个CPU核,参见表1可确定规格为VM_1的虚拟机包括1个CPU核,则结合表5可确定在目标时间段内,资源池20可承接的目标业务的业务流量最大值为100*1/0.1=1000条业务请求。
方式二:基于目标业务的资源需求信息和目标业务关联的每个资源池的可用资源信息,生成目标业务在目标时间段内的分流规划。
该分流规划可指示,在目标时间段内,被分配入一个或多个资源池的目标业务的业务流量之和等于业务流量预测值,且在所述时间段内被分配入每个资源池的目标业务的业务流量不超过该资源池可承载的目标业务的业务流量的最大值。换言之,该分流规划指示在目标时间段内,将目标业务的业务流量分配至哪些资源池,以及分配至每个资源池的业务流量是多少。
可以理解,满足该条件的分流规划有多种,比如,继续结合表5的示例,假设在目标时间段内,目标业务的业务流量预测值为1000个业务请求,则分流规划可以指示将1000个业务请求分配入资源池20,或者,分流规划指示将500个业务请求分配入资源池20,将其余500个业务请求分配入资源池21。或者,分流规划指示将500个业务请求分配入资源池20,将其余500个业务请求分配入资源池22,等等。在一种可选的实施方式中,云管理平台节点11可以基于成本策略选择一种分流规划,如该成本策略包括在目标时间段内将预测的目标业务的业务流量分配入一个或多个资源池所产生的费用最低。
示例性的,该费用包括但不限于:虚拟机费用和通信费用。其中,虚拟机费用指示在目标时间段内,将预测的目标业务的业务流量分配入一个或多个资源池时,每个资源池用于处理被分配的业务流量所需的虚拟机的租赁费用之和。其中,虚拟机的租赁费用可按照机时计费,机时=机时=机器数量*机器被占用的时间(如单位为:h),如表1示出了其中一个资源池内各规格的虚拟机的收费标准。本申请中,虚拟机的租赁费用可包括目标业务的业务流量分配入一个或多个资源池时,每个资源池用于处理被分配的业务流量所需的虚拟机的数量*目标时间段长度(/h)*该资源池内该规格的虚拟机每机时的费用。应理解的是,不同资源池中同一规格的虚拟机可能具有不同的价格,这与资源池本身的运营成本(如水费、电费等)有关,比如,位于城市中心的资源池比位于城市郊区的资源池的运营成本高,相应的,运营成本高的资源池中的虚拟机的价格也就越高。
通信费用指示分流节点与每个资源池传输目标业务的业务流量所需的通信费用。示例性地,通信费用可包括,分流节点12将目标业务的业务流量发送至各资源池所需的带宽费用,以及各目标资源池返回的业务响应的带宽费用。值得注意的是,分流节点12与目标资源池之间的带宽费用可以是0,如图3中,分流节点12将目标业务的业务请求分配入实例集群200时不需要带宽费用。
进一步,在一种可选的实施方式中,云管理平台节点11还可以基于约束条件确定分流规划,比如,约束条件包括但不限于:分流规划满足目标业务的服务等级协议(servicelevel agrement,SLA)。其中,SLA可以从实例集群的响应时延、抖动等指标进行评估,这里不做重点说明。理论上,租户会选择在满足SLA的资源池中部署业务,即目标业务的资源池均能够满足SLA的资源池,然而,当目标业务的SLA为发生变更时,可能存在目标业务所在的资源池不能满足目标业务的SLA的情况。在这种情况下,示例性地,可以由监控模块113实时或周期性测量各资源池中用于评估其服务质量所需的信息,从而计算该资源池的SLA,并将计算的各资源池的SLA存储至数据库114,令云管理平台节点11可以获取每个资源池的SLA,并从目标业务关联的多个资源池中筛选出能够满足目标业务的SLA的资源池。另外,目标业务的SLA等信息可以由业务管理员在云管理平台节点11中进行配置更新,并将更新后的SLA的信息存储至数据库114中,或者也可以存储于其他设备中,具体不做限定。需要说明的,约束条件还可以包括其他条件,比如,不超过AZ或Region的最大连接数等,本申请对此不做限定。
在前述的两种方式中,分流规划可以按照绝对值格式输出,指示各资源池可承接目标业务的业务请求的数量。如在目标时间段内,资源池20、资源池21、资源池22可承接目标业务的业务流量最大值分别为1000个业务请求、2000个业务请求、3000个业务请求。或者,分流规划按照流量比例格式输出,指示目标业务的业务流量在目标时间段内被分配入每个资源池比例。比如,基于表5可确定,在目标时间段内,目标业务的业务流量分配入资源池20、资源池21、资源池22的比例为1:2:3。当分流规划指示流量比例时,可以与前述的负载均衡策略中按照预设的流量比例进行分流的分流节点兼容,提高本申请技术方案的适用性。
可选的,该分流规划还可以指示目标业务的业务流量在目标时间段内被分配入每个资源池优先级信息。示例性地,目标业务的业务流量被优先分配入优先级较高的资源池中,当分配入该资源池的业务流量达到该资源池可承接的业务流量最大值时,再将目标业务的业务流量分配入优先级次之的资源池,依此类推。
其中,资源池的优先级信息可根据各资源池处理目标业务的业务流量所需的费用来确定。比如,多个资源池的优先级信息可基于该多个资源池的费用比确定,示例性的,多个资源池的费用比可以是每个资源池处理单个业务请求的费用之比,资源池处理单个业务请求所需的费用越低则资源池的优先级越高。其中,虚拟机费用指处理单个业务请求所需的虚拟机的租赁费用。如果目标业务在一个资源池指定了多种虚拟机规格,则虚拟机费用可按照多种规格的虚拟机费用的加权值确定,比如,目标业务在资源池20内指定的虚拟机规格包括VM_1和VM_2,其中,资源池20在目标时间段内可提供给目标业务的规格为VM_1的虚拟机为30台,可提供的规格为VM_2的虚拟机为20台,规格为VM_1的虚拟机每机时的费用为a,规格为VM_2的虚拟机每机时的费用为b,则平均每台虚拟机的费用为a*3/5+b*2/5。再计算平均每台虚拟机可处理的业务请求的数量,从而计算资源池20内处理一条业务请求所需的虚拟机的平均租赁费用。
通信费用指传输单个业务请求所需的通信费用,如分流节点12将业务流量发送至资源池所需的带宽费用,以及接收资源池返回的该业务请求的业务响应的带宽费用。值得注意的是,当分流节点12位于该资源池时,分流节点12与该资源池之间的带宽费用为0,参见前述的说明,此处不再赘述。
需要说明的是,确定多个资源池的优先级信息的方式有多种,上述仅为举例,本申请实施例对此不做限定。
步骤404,云管理平台节点11将分流规划发送给分流节点12。
步骤405,分流节点12按照分流规划,将目标业务在目标时间段内的业务流量分配至一个或多个资源池。
示例性的,分流规划指示在目标时间段(如2024.04.09的16:00—16:01),资源池20、资源池21、资源池22可承接目标业务的业务流量最大值分别为1000个业务请求、2000个业务请求、3000个业务请求。分流节点12按照该分流规划,将目标业务在2024.04.09的16:00—16:01内的业务流量分配至一个或多个资源池。分配顺序可随机分配,或按照负载均衡轮询分配,或按预设顺序分配,或按上一次分流规划指示的多个资源池的优先级信息确定分配顺序。其中,分配入资源池21的业务请求的数量不超过1000个,分配入资源池21的业务请求的数量不超过2000个,分配入资源池22的业务请求的数量不超过3000个。
若该分流规划还指示目标业务对应的多个资源池的优先级排序为:资源池20>资源池21>资源池22,则在2024.04.09的16:00—16:01段内,分流节点12首先将接收到的目标业务的业务流量优先分配入资源池20,当分配入资源池20的业务流量达到1000条业务请求时,再将目标业务的业务流量分配入资源池21,当分配入资源池21的业务流量达到2000条业务请求时,再将目标业务的业务流量分配入资源池22,直至分配入资源池22的业务流量达到3000个。应注意,上述分流规划是一种预分配,分流节点12在目标时间段内实际接收到的目标业务的业务请求的数量并非定值,上述分流规划并非限定其数量为6000(1000+2000+3000)个,如分流节点在目标时间段内接收到的目标业务的业务请求数量可能是600个,则分流节点12将接收到的600个业务请求分配入资源池20即可。下文类似之处不再赘述。
再示例性的,分流规划指示在目标时间段内,目标业务的业务流量分配入资源池20(或实例集群200)的业务请求的数量为1000个,分配入资源池21(或实例集群210)的业务请求的数量为500,分配入资源池22(或实例)的业务请求的数量为400。分流节点12按照该分流规划,将在目标时间段内接收到的业务请求分配至一个或多个资源池。
若该分流规划还指示目标业务对应的多个资源池的优先级排序为:资源池20>资源池22>资源池21,则在2024.04.09的16:00—16:01段内,分流节点12首先将接收到的目标业务的业务请求发送至资源池20,当发送至资源池20的业务请求的数量达到1000个时,若继续接收到目标业务的业务请求,再将接收到的目标业务的业务请求发送至资源池22,当发送至资源池22的业务请求的数量达到400个时,若继续接收到目标业务的业务请求,再将接收到的目标业务的业务请求发送至资源池21,直至数量达到500。
需要说明的是,步骤404为可选的步骤,若云管理平台节点11和分流节点12位于同一计算设备时,云管理平台节点11可不向分流节点12发送分流规划。另外,上述在确定每个资源池在目标时间段内可提供给目标业务的实例集群的实例数量时,仅包括资源池在目标时间段内可提供目标业务的实例集群扩容的虚拟机数量,可选的,还可以包括目标业务的实例集群本身所包括的虚拟机数量,比如在目标时间段的起始时刻,该实例集群内的虚拟机的数量。
基于上述设计,云管理平台节点11基于目标业务关联的各资源池的可用资源信息,确定目标业务在目标时间段内的分流规划,从而可以预先确定出不同时间段内目标业务的业务流量分配入各资源池的业务流量,有助于更好的实现流量分配规划,避免分配入实例集群的业务流量不超过其所在资源池的承载能力,可以实现计算资源与业务需求的协同调度,实现细粒度分流,减少或避免流量突发场景中业务请求大规模拥塞的情况。进一步,提供给目标租户一种新的成本策略,当采用成本策略确定分流规划时,还可以有效降低目标租户的成本费用。
基于与方法实施例同一发明构思,本申请实施例还提供了一种计算装置,该计算装置用于执行上述图4或图5的方法实施例中云管理平台节点11执行的方法。如图5所示,计算装置500包括获取模块501、确定模块502;具体地,在计算装置500中,各模块之间通过通信通路建立连接。
获取模块501,用于获取目标业务关联的每个资源池的可用资源信息。具体实现方式请参见图4中的步骤401的描述此处不再赘述。
确定模块502,用于根据目标业务关联的每个资源池的可用资源信息,确定目标业务在未来一个时间段内的分流规划。具体实现方式请参见图4中的步骤402的描述,此处不再赘述。
在一种可能的实现方式中,每个资源池的可用资源信息指示:该资源池在所述时间段内空闲实例的数量,所述空闲实例为该资源池在所述时间段内未被其他租户占用的。
在一种可能的实现方式中,所述分流规划指示所述目标业务的业务流量在所述时间段内被分配入每个资源池优先级信息。
在一种可能的实现方式中,所述获取模块501,还用于获取所述目标业务的资源需求信息,所述资源需求信息指示所述目标业务在所述时间段内的业务流量预测值;具体实现方式请参见图4中的步骤402的描述,此处不再赘述。
在一种可能的实现方式中,在所述时间段内被分配入每个资源池的所述目标业务的业务流量之和等于所述业务流量预测值,且在所述时间段内被分配入每个资源池的所述目标业务的业务流量不超过该资源池可承载的所述目标业务的业务流量的最大值。
在一种可能的实现方式中,所述分流规划满足成本策略,所述成本策略包括在所述时间段内被分配入每个资源池的所述目标业务的业务流量所产生的费用最低。
在一种可能的实现方式中,在所述时间段内被分配入每个资源池的所述目标业务的业务流量所产生的费用最低包括实例费用和通信费用;所述实例费用指示在所述时间段内被分配入每个资源池的所述目标业务的业务流量所需的实例的租赁费用,所述通信费用指示所述分流节点与每个资源池传输所述目标业务的业务流量所需的通信费用。
在一种可能的实现方式中,每个资源池可承接所述目标业务的业务流量的最大值基于所述资源池在所述时间段内可提供给所述目标业务的实例集群的实例数量及所述目标业务的资源转换信息确定的,所述资源转换信息指示处理所述目标业务的单个业务请求所需的实例的数量。
示例性的,接下来以计算装置500中的确定模块502为例,介绍确定模块502的实现方式。类似的,获取模块501的实现方式可以参考确定模块502的实现方式。
当通过软件实现时,确定模块502可以是运行在计算机设备上的应用程序或代码块。其中,计算机设备可以是物理主机、虚拟机、容器等计算设备中的至少一种。进一步地,上述计算机设备可以是一台或者多台。例如,确定模块502可以是运行在多个主机/虚拟机/容器上的应用程序。需要说明的是,用于运行该应用程序的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中。用于运行该应用程序的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。其中,通常一个region可以包括多个AZ。
同样,用于运行该应用程序的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个region可以包括多个VPC,而一个VPC中可以包括多个AZ。
当通过硬件实现时,确定模块502中可以包括至少一个计算设备,如服务器等。或者,确定模块502也可以是利用专用集成电路(application-specific integratedcircuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
确定模块502包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。确定模块502包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。同样,确定模块502包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
本申请还提供一种计算设备600。如图6所示,计算设备600包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。计算设备600可以是服务器或终端设备。应理解,本申请不限定计算设备600中的处理器、存储器的个数。
总线602可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线602可包括在计算设备600各个部件(例如,存储器606、处理器604、通信接口608)之间传送信息的通路。
处理器604可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器606可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器604还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器606中存储有可执行的程序代码,处理器604执行该可执行的程序代码以分别实现前述获取模块501、确定模块502的功能,从而实现业务分流方法。也即,存储器606上存有计算装置500用于执行本申请提供的业务分流方法的指令。
通信接口608使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图7所示,所述计算设备集群包括至少一个计算设备600。计算设备集群中的一个或多个计算设备600中的存储器606中可以存有相同的计算装置500用于执行本申请提供的业务分流方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备600也可以用于执行计算装置500用于执行本申请提供的业务分流方法的部分指令。换言之,一个或多个计算设备600的组合可以共同执行计算装置500用于执行本申请提供的业务分流方法的指令。
需要说明的是,计算设备集群中的不同的计算设备600中的存储器606可以存储不同的指令,用于执行计算装置500的部分功能。也即,不同的计算设备600中的存储器606存储的指令可以实现获取模块501、确定模块602中的一个或多个模块的功能。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算机设备上运行时,使得至少一个计算机设备执行上述图4或图5实施例中的云管理平台节点11所执行的业务分流方法,参见图4或图5各步骤的描述,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述图4或图5实施例中的云管理平台节点11所执行的业务分流方法,参见图4或图5各步骤的描述,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元(或模块)可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。

Claims (21)

1.一种业务分流方法,其特征在于,所述方法应用于云计算系统,所述系统至少包括云管理平台节点、多个资源池和分流节点,其中,每个资源池包括多个主机用于为多个租户运行业务,每个主机上运行至少一个实例,每个资源池内创建有目标租户的目标业务对应的实例集群,所述实例集群内的实例用于运行所述目标业务;
所述方法包括:
所述云管理平台节点获取所述目标业务关联的每个资源池的可用资源信息,其中,每个资源池的可用资源信息指示该资源池在一个时间段内可提供给所述目标业务的实例集群的实例数量;
所述云管理平台节点基于每个资源池的可用资源信息生成所述目标业务在所述时间段内的分流规划;
所述分流节点按照所述分流规划将所述目标业务在所述时间段内的业务流量分配至所述多个资源池。
2.如权利要求1所述的方法,其特征在于,每个资源池的可用资源信息指示:该资源池在所述时间段内空闲实例的数量,所述空闲实例为该资源池在所述时间段内未被其他租户占用的。
3.如权利要求1或2所述的方法,其特征在于,所述分流规划指示在所述时间段内每个资源池可承接所述目标业务的业务流量的最大值,或所述目标业务的业务流量在所述时间段内被分配入每个资源池比例。
4.如权利要求3所述的方法,其特征在于,所述分流规划指示所述目标业务的业务流量在所述时间段内被分配入每个资源池优先级信息。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
所述云管理平台节点获取所述目标业务的资源需求信息,所述资源需求信息指示所述目标业务在所述时间段内的业务流量预测值;
所述云管理平台节点基于每个资源池的可用资源信息生成所述目标业务在所述时间段内的分流规划,包括:
所述云管理平台节点基于所述资源需求信息和每个资源池的可用资源信息生成所述分流规划。
6.如权利要求5所述的方法,其特征在于,在所述时间段内被分配入每个资源池的所述目标业务的业务流量之和等于所述业务流量预测值,且在所述时间段内被分配入每个资源池的所述目标业务的业务流量不超过该资源池可承载的所述目标业务的业务流量的最大值。
7.如权利要求5或6所述的方法,其特征在于,所述分流规划满足成本策略,所述成本策略包括在所述时间段内被分配入每个资源池的所述目标业务的业务流量所产生的费用最低。
8.如权利要求7所述的方法,其特征在于,在所述时间段内被分配入每个资源池的所述目标业务的业务流量所产生的费用最低包括实例费用和通信费用;所述实例费用指示在所述时间段内被分配入每个资源池的所述目标业务的业务流量所需的实例的租赁费用,所述通信费用指示所述分流节点与每个资源池传输所述目标业务的业务流量所需的通信费用。
9.如权利要求3-8任一项所述的方法,其特征在于,每个资源池可承接所述目标业务的业务流量的最大值基于所述资源池在所述时间段内可提供给所述目标业务的实例集群的实例数量及所述目标业务的资源转换信息确定的,所述资源转换信息指示处理所述目标业务的单个业务请求所需的实例的数量。
10.一种业务分流装置,其特征在于,所述装置包括:
获取模块,用于获取所述目标业务关联的每个资源池的可用资源信息,其中,每个资源池的可用资源信息指示该资源池在一个时间段内可提供给所述目标业务的实例集群的实例数量;
处理模块,用于基于每个资源池的可用资源信息生成所述目标业务在所述时间段内的分流规划。
11.如权利要求10所述的装置,其特征在于,每个资源池的可用资源信息指示:该资源池在所述时间段内空闲实例的数量,所述空闲实例为该资源池在所述时间段内未被其他租户占用的。
12.如权利要求10或11所述的装置,其特征在于,所述分流规划指示所述目标业务的业务流量在所述时间段内被分配入每个资源池优先级信息。
13.如权利要求10-12任一项所述的装置,其特征在于,所述获取模块,还用于获取所述目标业务的资源需求信息,所述资源需求信息指示所述目标业务在所述时间段内的业务流量预测值;
所述处理模块在基于所述资源需求信息和每个资源池的可用资源信息生成所述分流规划。
14.如权利要求13所述的装置,其特征在于,在所述时间段内被分配入每个资源池的所述目标业务的业务流量之和等于所述业务流量预测值,且在所述时间段内被分配入每个资源池的所述目标业务的业务流量不超过该资源池可承载的所述目标业务的业务流量的最大值。
15.如权利要求13或14所述的装置,其特征在于,所述分流规划满足成本策略,所述成本策略包括在所述时间段内被分配入每个资源池的所述目标业务的业务流量所产生的费用最低。
16.如权利要求15所述的装置,其特征在于,在所述时间段内被分配入每个资源池的所述目标业务的业务流量所产生的费用最低包括实例费用和通信费用;所述实例费用指示在所述时间段内被分配入每个资源池的所述目标业务的业务流量所需的实例的租赁费用,所述通信费用指示所述分流节点与每个资源池传输所述目标业务的业务流量所需的通信费用。
17.如权利要求12-16任一项所述的装置,其特征在于,每个资源池可承接所述目标业务的业务流量的最大值基于所述资源池在所述时间段内可提供给所述目标业务的实例集群的实例数量及所述目标业务的资源转换信息确定的,所述资源转换信息指示处理所述目标业务的单个业务请求所需的实例的数量。
18.一种云计算系统,其特征在于,所述系统至少包括云管理平台节点、多个资源池和分流节点,其中,每个资源池包括多个主机用于为多个租户运行业务,每个主机上运行至少一个实例,每个资源池内创建有目标租户的目标业务对应的实例集群,所述实例集群内的实例用于运行所述目标业务;
所述云管理平台节点,用于获取所述目标业务关联的每个资源池的可用资源信息,其中,每个资源池的可用资源信息指示该资源池在一个时间段内可提供给所述目标业务的实例集群的实例数量;基于每个资源池的可用资源信息生成所述目标业务在所述时间段内的分流规划;
所述分流节点,用于按照所述分流规划将所述目标业务在所述时间段内的业务流量分配至所述多个资源池。
19.一种计算设备,其特征在于,所述装置包括处理器和存储器;
所述存储器用于存储计算机执行指令;
所述处理器用于执行所述存储器所存储的计算机执行指令,以使所述计算设备执行如权利要求1-9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序,所述程序被处理器调用时,权利要求1-9任一所述的方法被执行。
21.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如权利要求的1-9中任一项所述的方法。
CN202210667595.0A 2022-02-14 2022-06-13 一种业务分流方法、装置及系统 Pending CN116634027A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/117936 WO2023151268A1 (zh) 2022-02-14 2022-09-08 一种业务分流方法、装置及系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210132528 2022-02-14
CN2022101325289 2022-02-14

Publications (1)

Publication Number Publication Date
CN116634027A true CN116634027A (zh) 2023-08-22

Family

ID=87596029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210667595.0A Pending CN116634027A (zh) 2022-02-14 2022-06-13 一种业务分流方法、装置及系统

Country Status (1)

Country Link
CN (1) CN116634027A (zh)

Similar Documents

Publication Publication Date Title
CN108234581B (zh) 一种资源的调度方法和服务器
WO2023151268A1 (zh) 一种业务分流方法、装置及系统
US9110705B2 (en) Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history
US9032077B1 (en) Client-allocatable bandwidth pools
CN109684074B (zh) 物理机资源分配方法及终端设备
CN105103506B (zh) 用于为云计算网络中的非均匀带宽请求分配带宽的方法和系统
US9306870B1 (en) Emulating circuit switching in cloud networking environments
WO2019024445A1 (zh) 地理分布交互服务云资源协同优化方法
US20140297868A1 (en) Burst capacity for user-defined pools
US20150032516A1 (en) Managing electric vehicle (ev) charging station usage
US10042676B1 (en) Capacity pool health index
CN103377091A (zh) 用于资源共享池中的作业的高效执行的方法和系统
US10067785B1 (en) Event driven virtual machine instance pool balancing
CN102857548A (zh) 一种移动云计算资源优化配置方法
US10846788B1 (en) Resource group traffic rate service
WO2020148342A1 (en) A method and a system for managing the computing resources of a cloud computing platform
CN115033340A (zh) 一种宿主机的选择方法及相关装置
CN114780244A (zh) 容器云资源弹性分配方法、装置、计算机设备及介质
CN115604768A (zh) 基于资源状态的电磁感知任务动态迁移方法、系统及终端
WO2022062981A1 (zh) 资源调度方法和系统、电子设备及计算机可读存储介质
CN111988388B (zh) 流量分配的方法、装置、电子设备及存储介质
US20240020168A1 (en) Resource Scheduling Method and Apparatus, Computer Device, System, and Storage Medium
US20140297867A1 (en) Capacity merging for user-defined pools
CN116634027A (zh) 一种业务分流方法、装置及系统
CN108279968B (zh) 一种虚拟机资源的调度方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication