CN114327915B - 用于在线资源分配的方法及装置 - Google Patents
用于在线资源分配的方法及装置 Download PDFInfo
- Publication number
- CN114327915B CN114327915B CN202210218563.2A CN202210218563A CN114327915B CN 114327915 B CN114327915 B CN 114327915B CN 202210218563 A CN202210218563 A CN 202210218563A CN 114327915 B CN114327915 B CN 114327915B
- Authority
- CN
- China
- Prior art keywords
- virtual
- resource allocation
- unit
- online resource
- units
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种用于在线资源分配的方法及装置。该方法包括:获取关于当前和历史在线资源分配请求量的信息;基于所获取的信息来预测在未来特定时段内的在线资源分配请求量;基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置;以及基于计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量。
Description
技术领域
本公开涉及在线资源分配领域,具体地,涉及一种用于实现低时延的在线资源分配的方法及装置。
背景技术
在推荐、搜索、营销、广告***中,在线决策一方面需要考虑点击率、转化率等偏好指标,另一方面可能会遇到资金、成本、流量等资源方面的限制。如何在有限资源的前提下,实现整体资源分配的最大化,这类问题被称为在线资源分配问题(Online ResourceAllocation)。
在在线资源分配情况下,假设有K个关于资源(诸如红包、优惠券、电子券、消费券
等的资源)的约束(例如,消费券的总数或总额度),针对每次在线决策的服务主体i(例
如要分配资源的每个用户),在线决策的候选集可以离散化为J个选择(例如,J个在线资源
分配方案),主体i关于每个选择j的收益为,关于资源约束的消耗为。因此,可以将
在线资源分配建模为在全局资源约束下,求解0-1的决策变量,以实
现整体收益最大化的线性规划(LP)的规划问题。
目前的在线资源分配的实现方案一般是采用以下三种:(1)离线训练模型和在线打分的组合:在这种方案下,在离线训练模型时可以增加约束信息,但这种方式会受限于模型更新的效率(例如,通常是几十分钟才更新一次),从而时效性较差;(2)实时规划和在线服务的组合:这种方案可以根据资源分配结果进行实时规划并求解决策变量,该决策变量可以是可控变量且可用于进行在线服务,这种实时规划求解所需的处理时间一般是分钟级,相比第一种方案在处理时间上有所减少,但上述两种方案对在线资源分配请求的处理都存在滞后性,导致实际算法效果有损失;(3)基于统计的近似方法:以几乎最优快速近似(Nearly Optimal Fast Approximation)算法为例,该算法可以利用方差对其最坏表现进行估计,每次的请求决策过程是通过减少算法失败的概率来获得算法的最佳收益,它可以对算法进行分布式化并针对在线请求进行局部优化决策,实际算法效果损失较小。
然而,上述方案的在线资源分配方式灵活性差且无法应对突发的流量高峰,资源利用率低。有鉴于此,需要提出一种新的方案以克服上述缺陷。
发明内容
鉴于上述问题,在基于统计的近似方法进行在线资源分配时,本公开提出了一种用于在线资源分配的技术,用以通过根据请求量来自动调整虚拟路由单元和虚拟计算单元的数量从而确保低时延的在线资源分配。
根据本公开的一个方面,提供了一种用于在线资源分配的方法,包括:获取关于当前和历史在线资源分配请求量的信息;基于所获取的信息来预测在未来特定时段内的在线资源分配请求量;基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置;以及基于计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量。
可选地,在上述方面的一个示例中,当所述预测的在线资源分配请求量相比当前在线资源分配请求量上升时,增加所述虚拟路由单元的数量和/或增加所述虚拟工作单元的数量。
可选地,在上述方面的一个示例中,当所述预测的在线资源分配请求量相比当前在线资源分配请求量下降时,减少所述虚拟路由单元的数量和/或所述虚拟工作单元的数量。
可选地,该方法还可以包括:监测容器组的资源信息,其中,所述容器组包括一个或多个虚拟路由单元以及一个或多个虚拟工作单元,所述资源信息指示所述容器组的当前在线资源是否充足;以及当监测到的资源信息指示所述容器组的当前在线资源不充足时,将该容器组中的一个或多个虚拟路由单元和/或一个或多个虚拟工作单元调整到具有充足在线资源的其它容器组中。
根据本公开的另一方面,提供一种用于在线资源分配的装置,包括:获取单元,被配置为获取关于当前和历史在线资源分配请求量的信息;预测单元,被配置为基于所获取的信息来预测在未来特定时段内的在线资源分配请求量;计算单元,被配置为基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置;以及调整单元,被配置为基于所计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量。
根据本公开的另一方面,提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器运行时,使得所述至少一个处理器执行如上所述的用于在线资源分配的方法。
根据本公开的另一方面,提供一种机器可读介质,其存储有可执行指令,所述指令当被运行时使得所述机器执行如上所述的用于在线资源分配的方法。
在本公开的实施例中,可以对服务路由器和算法工作单元的角色进行抽象化或虚拟化,使其不再绑定具体的进程和/或线程结构。通过采用对未来时段的资源分配请求量进行预测的方式,可以根据预测的请求量提前对服务路由器和算法工作单元的数量进行调整,从而确保低时延的在线资源分配。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。
图1示出了当前在线资源分配的部署方案的架构图。
图2示出了根据本公开的实施例的在线资源分配的部署方案的示意性架构图。
图3示出了根据本公开的实施例的在线资源分配方案中对服务路由器和算法工作单元的数量进行调整的部署方案的示意性架构图。
图4示出了根据本公开的实施例的在线资源分配方案中对服务路由器和算法工作单元的数量进行调整的另一个部署方案的示意性架构图。
图5示出了根据本公开的实施例的用于实现低时延的在线资源分配的方法的示意性流程图。
图6示出了根据本公开的实施例的用于实现低时延的在线资源分配的装置的示意性方框图。
图7示出了根据本公开的实施例的用于实现低时延的在线资源分配的计算设备的示意性硬件结构图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对本公开内容中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
如本文中使用的,术语“在线资源分配”是指由资源分配***将诸如电子券、消费券、红包之类的资源分配给发出请求的用户,例如电商平台向用户发放消费券等等。
如本文中使用的,术语“虚拟路由单元”是指用于对请求进行路由或转发的服务路由器,其可以作为在线服务的入口,在数据面利用虚拟IP接收来自外部用户的在线请求,并将接收的请求转发或路由给挂载的虚拟工作单元,例如当前空闲的虚拟工作单元。在一些例子中,外部用户的请求在数据面被统一发送到利用该虚拟IP的服务路由器。
如本文中使用的,术语“虚拟工作单元”是指“算法工作单元”或“算法实例”,其被配置用于接收由服务路由器路由的在线请求以进行求解或处理,并生成诸如决策变量信息的处理结果。在本公开内容中,算法工作单元可以通过分布式存储来同步算法状态。举例而言,每个算法工作单元可以将关于其自身的区块状态传送至或存储于分布式存储中,并从分布式存储中获取或复制全局状态。在本文中,算法状态可以包括但不限于实时信息、一阶信息、二阶信息等,其中实时信息包括与当前资源消耗有关的信息,例如可以表示当前共产生多少收益和/或消耗了多少资源;一阶信息包括与处理每个任务的资源消耗有关的信息,例如可以表示处理每个任务或请求产生了多少收益和/或消耗了多少资源,二阶信息包括与针对目标任务的资源消耗有关的信息,例如可以表示针对目标任务或消耗的资源上的任务的随机性产生的方差。
在本公开的实施例中,服务路由器和算法工作单元被虚拟化或抽象成逻辑的基本单元,且不和具体的进程或线程结构绑定。
如本文中使用的,术语“控制单元”是指“算法主控器”或“算法主控单元”,其可以用于负责算法的生命周期管理,例如包括对服务路由器和/或算法工作单元的数量和/或部署位置的动态调整等。在一些实现中,算法主控单元收集每个服务路由器和每个算法工作单元的处理能力和运行情况,并根据所收集的处理能力和运行情况以及在线资源分配请求量来调整各服务路由器和/或算法工作单元的部署位置、通信方式、数量等。在本公开的实施例中,服务路由器的处理能力可以包括但不限于服务路由器接收请求的能力,例如每秒可以接收多少个请求;算法工作单元的处理能力可以包括但不限于算法工作单元处理请求的能力,例如每秒可以处理多少个请求。在本公开的实施例中,服务路由器的运行情况可以包括但不限于在该服务路由器处的接收到的请求是否存在排队的情况;算法工作单元的运行情况可以包括但不限于算法工作单元处理每个请求或任务的时间长短,等等。
图1示出了当前在线资源分配中的部署方案的示例性架构图100。
如图1中所示,集群120包括多个Pod(容器组)122-1、122-2,其中每个Pod中存在一个算法工作单元124-1、124-2。在一些例子中,每个Pod可以由例如一个机器来实现。这些算法工作单元可以接收来自外部的在线资源分配请求,例如来自数据面110的请求。
每个算法工作单元124-1、124-2可以与分布式存储130相通信,以将每个算法工作单元的区块状态134-1、134-2传送至或存储到分布式存储130中,并且从分布式存储130复制或获取全局状态132。
需要理解的是,虽然在图1中在每个Pod中仅示出一个算法工作单元,但在实践中,每个Pod中可以存在任意个算法工作单元。
在图1所示的部署方案中,需要根据外部的最大请求量(例如最大的在线资源分配请求数量)提前计算出所需的算法工作单元的数量。这种方式的灵活性较差,且无法应对突发的请求量高峰或增加。由于根据外部的最大请求量所计算出的算法工作单元的数量是固定的,从而在存在大于最大请求量的突发的请求量时,根据提前计算的数量所配置的多个算法工作单元可能无法及时处理在线资源分配请求,使得在线资源分配请求需要排队等待处理,导致资源的使用率较低。
在基于统计的近似方法进行在线资源分配时,端到端耗时主要受算法工作单元的算力和机器状况的影响,其中算力是指算法工作单元的计算能力,机器状况包括但不限于机器的中央处理单元(例如CPU)的负载和/或CPU的窃取时间(steal time),其中CPU的窃取时间是指虚拟机进程在物理或真实的CPU上等待其虚拟CPU时间的时间百分比。一方面,当算力不足时(例如上文所述的在固定数量的算法工作单元无法满足突发的请求量时的情况),在线资源分配请求需要排队等待,这导致端到端耗时较高。另一方面,机器状况会直接影响算法的运行效率。
鉴于此,本公开内容提出了一种用于实现低时延的在线资源分配的方法,其通过根据预测的在线资源请求量来动态调整算法工作单元和/或服务路由器的数量,同时监控机器状况以调整算法工作单元和/或服务路由器的位置,从而确保针对在线资源分配请求能够实现低时延的处理方法。
现在结合附图来描述根据本公开的实施例的用于实现低时延的在线资源分配的方法及装置。
图2示出了根据本公开内容的在线资源分配的部署方案的示意性架构图200。
如图2中所示,集群220包括多个Pod 222-1、222-2、222-3,其中Pod 222-1、222-2中的每个Pod可以包括一个或多个服务路由器,Pod 222-3可以包括算法主控单元228,其中每个服务路由器可以将从数据面210接收的请求转发或路由至与其相关联或通信的算法工作单元,以供算法工作单元进行处理。例如,Pod 222-1包括路由服务器224-1,Pod 222-2包括路由服务器224-2,其中路由服务器224-1向算法工作单元226-1、226-2路由从数据面210接收到的在线资源分配请求,路由服务器224-2向算法工作单元226-3、226-4路由从数据面210接收到的在线资源分配请求。
如图2中带箭头的虚线所示,Pod 222-3中的算法主控单元228可以控制每个服务路由器224-1、224-2以及每个算法工作单元226-1、226-2、226-3、226-4的数量和/或部署位置。
在本公开内容中,算法主控单元228可以获取在线资源分配请求量信息,例如按照分钟粒度定期采集当前在线资源分配请求量信息(即每分钟的在线资源分配请求量)并获取历史的在线资源分配请求量信息(例如从数据库或存储器等获取),基于所获取的当前和历史请求量来预测在未来特定时段(例如未来一分钟、未来五分钟、未来十分钟、未来一小时等等)的在线资源分配请求量。根据所预测的未来特定时段的请求量以及服务路由器和算法工作单元的处理能力来计算出满足未来特定时段内最大请求量所需的算力配置(例如所需的最小算力配置),其中服务路由器和算法工作单元的处理能力可以是预先确定的,最小算力配置可以包括例如满足请求量所需的服务路由器和算法工作单元的最少数量。基于计算出的算力配置和服务路由器和算法工作单元的当前数量,可以确定是否调整服务路由器和/或算法工作单元的数量。
在本公开内容的一个实施例中,每个算法工作单元226-1、226-2、226-3、226-4可以将其区块状态(例如区块状态234-1、234-2、234-3、234-4)传送或存储到分布式存储230中,并从分布式存储230获取或复制全局状态232。需要理解的是,上述方案中的分布式存储230可以利用其它方式来实现,例如可以用单独的参数服务器(图中未示出)来替代该分布式存储230,其中参数服务器可以是单独的进程或者将某个算法工作单元配置成执行参数服务器的功能。此外,在本公开内容的用于实现低时延的在线资源分配的方案中,分布式存储230是可选的,因此,在图2中将分布式存储230示出在虚线框中。
图3示出了根据本公开的实施例的在线资源分配方案中对服务路由器和算法工作单元的数量进行调整的部署方案的示意性架构图300。
如图3中所示,集群320包括多个Pod 322-1、322-2、322-3,其中Pod 322-1、322-2中的每个Pod可以包括一个或多个服务路由器,Pod 322-3可以包括算法主控单元328,其中每个服务路由器可以将从数据面310接收的请求转发或路由至与其相关联或通信的算法工作单元,以供算法工作单元进行处理。例如,Pod 322-1包括路由服务器324-1,Pod 322-2包括路由服务器324-2、324-3,其中路由服务器324-1向算法工作单元326-1、326-2路由从数据面310接收的在线资源分配请求,路由服务器324-2向算法工作单元326-3、326-4路由从数据面310接收的在线资源分配请求,路由服务器324-3向算法工作单元326-5路由从数据面310接收的在线资源分配请求。
如图3中带箭头的虚线所示,Pod 322-3中的算法主控单元328可以控制每个服务路由器324-1、324-2、324-3以及每个算法工作单元326-1、326-2、326-3、326-4、326-5的数量和/或部署位置。
相比图2的Pod 222-2,现在将结合图3所示的架构图300来讨论算法主控单元328添加新的服务路由器(例如图3中所示的服务路由器324-3)和/或算法工作单元(例如图3中所示的算法工作单元326-5)的场景。
在本公开内容的一个实施例中,当预测的未来特定时段的请求量相比当前请求量上升时,算法主控单元328可以根据基于预测的请求量计算出的算力配置来提前增加服务路由器和/或算法工作单元的数量。举例而言,算法主控单元328可以先添加算法工作单元,然后基于添加的算法工作单元和服务路由器的处理能力来判断是将添加的算法工作单元关联到当前的服务路由器还是添加新的服务路由器。举例而言,如果某个或某一些当前服务路由器的处理能力充足,则可以将添加的算法工作单元关联到这些处理能力充足的服务路由器;如果当前所有服务路由器的处理能力都已饱和且无法容纳新的算法工作单元,则可以添加一个或多个新的服务路由器,并将添加的新的算法工作单元关联到新的服务路由器且新的服务路由器可以被配置为接收外部在线资源分配请求,如图3所示的例子。在图3中,基于预测的未来特定时段的请求量大于当前请求量,算法主控单元328可以在Pod 322-2中添加一个服务路由器324-3和一个算法工作单元326-5。
类似于图2,在本公开内容的一个实施例中,每个算法工作单元326-1、326-2、326-3、326-4以及添加的工作单元326-5可以将其区块状态(例如区块状态334-1、334-2、334-3、334-4、334-5)传送或存储到分布式存储330中,并从分布式存储330获取或复制全局状态332。
图4示出了根据本公开的实施例的在线资源分配方案中对服务路由器和/或算法工作单元的数量进行调整的另一个部署方案的示意性架构图400。
如图4中所示,集群420包括多个Pod 422-1、422-2、422-3,其中Pod 422-1、422-2中的每个Pod可以包括一个或多个服务路由器,Pod 422-3可以包括算法主控单元428,其中每个服务路由器可以将从数据面410接收的请求转发或路由至与其相关联或通信的算法工作单元,以供算法工作单元进行处理。例如,Pod 422-1包括路由服务器424-1,Pod 422-2包括路由服务器424-2,其中路由服务器424-1向算法工作单元426-1、426-2、426-3路由从数据面410接收的在线资源分配请求,路由服务器424-2向算法工作单元426-4路由从数据面410接收的在线资源分配请求。
如图4中带箭头的虚线所示,Pod 422-3中的算法主控单元428可以控制每个服务路由器424-1、424-2以及每个算法工作单元426-1、426-2、426-3、426-4的数量和/或部署位置。
相比图2的Pod 222-2,现在将结合图4所示的架构图400来讨论算法主控单元428在某个Pod中减少服务路由器和/或算法工作单元(例如图4中所示的Pod 422-2)的场景。
在本公开内容的一个实施例中,当预测的未来特定时段的请求量相比当前请求量下降时,算法主控单元428可以向服务路由器发送通知以指示服务路由器不再接受或拒绝新的在线资源分配请求,并且指示服务路由器在与其相关联的算法工作单元处理完当前的在线资源分配请求后从数据面410的虚拟互联网协议(IP)地址卸载并退出。此外,算法工作单元在处理完在线资源分配请求后可以退出运行。在另一个例子中,算法工作单元可以在处理完在线资源分配请求后从分布式存储430获取全局状态并将其区块状态更新至全局状态后再退出运行。
相比图2所示的Pod 222-2,在图4中所示的Pod 422-2中,在预测的未来特定时段的请求量相比当前请求量下降的场景中,算法主控单元428可以将与服务路由器424-2相关联的两个算法工作单元减少至一个。需要理解的是,虽然在图4中示出仅减少Pod 422-2中的一个算法工作单元,但在其它实施例中,算法主控单元428可以根据需要减少任意数量的算法工作单元和/或任意数量的服务路由器424-2。
在本公开内容的另一个实施例中,相比图2,现在将结合图4所示的架构图400来讨论算法主控单元428在不同Pod之间迁移或调整服务路由器和/或算法工作单元的场景。
在本公开内容的一个实施例中,算法主控单元428可以收集或获取各个Pod的资源信息,例如Pod的CPU负载、CPU窃取时间(steal time)、使用的内存量等。当算法主控单元428根据收集的信息监测到某个Pod表现不佳或资源不足时(例如CPU负载过高、CPU窃取时间过高、使用的内存量过高等等),该算法主控单元428可以将资源不足的Pod中的一个或多个服务路由器和/或一个或多个算法工作单元迁移或调整到资源充足的其它Pod中。举例而言,当Pod 422-2的资源不足时,算法主控单元428可以将原本在Pod 422-2中的某个路由服务器和/或算法工作单元(例如算法工作单元426-3)迁移到其它Pod(例如资源充足的Pod422-1)中,并将该算法工作单元426-3连接到Pod 422-1中的当前服务路由器424-1(假设该服务路由器424-1能够挂载至少3个算法工作单元)。在另一个例子中,当服务路由器424-1无法挂载2个以上的算法工作单元时,可以在Pod 422-1中添加一个服务路由器,并将从Pod422-2迁移至Pod 422-1中的算法工作单元426-3连接到添加的新服务路由器。需要理解的是,在实践中,在任意Pod中增加或减少的服务路由器和/或算法工作单元的数量不限于上文所描述的例子,其可以是任意合适的数量。
类似于图2,在本公开内容的一个实施例中,每个算法工作单元426-1、426-2、426-3、426-4可以将其的区块状态(例如区块状态434-1、434-2、434-3、434-4)传送或存储到分布式存储430中,并从分布式存储430获取或复制全局状态432。
需要理解的是,图2、图3、图4中以及上文针对图2、图3和图4的描述中示出的集群数量、每个集群中包含的Pod数量、在每个Pod中包含的服务路由器和算法工作单元的数量均是示例性的,在其他示例或实际应用中,可以存在任意数量的集群,在每个集群中包括任意数量的Pod,在每个Pod中包括任意数量的服务路由器和算法工作单元,以及算法主控单元可以在任意Pod中增加或减少任意数量的服务路由器和/或算法工作单元。
图5示出了根据本公开的实施例的用于实现低时延的在线资源分配的方法500的示意性流程图。
如图5中所示,在操作502中,获取关于当前和历史在线资源分配请求量的信息。例如,利用算法主控单元定期地(例如按照分钟粒度)采集当前在线资源分配请求量(例如每分钟的请求量)并从数据库或存储器获取历史的在线资源分配请求量。
在操作504中,基于所获取的信息来预测在未来特定时段内的在线资源分配请求量。
在操作506中,计算满足所述预测的在线资源分配请求量的算力配置。例如,算法主控单元基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置。
在操作508中,调整所述虚拟路由单元的数量和所述虚拟工作单元的数量。例如,算法主控单元根据计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量。
通过在在线资源分配过程中引入在线资源分配请求量预测操作,可以在处理请求前自动调整满足请求量所需的资源或算力配置,而不是等到资源不足导致请求需要排队等待时再调整路由服务器和/或算法计算单元的数量和/或部署位置,从而确保了低时延的在线资源分配。
在本公开的一个示例中,当所述预测的在线资源分配请求量相比当前在线资源分配请求量上升时,增加所述虚拟路由单元的数量和/或增加所述虚拟工作单元的数量。
在本公开的一个示例中,增加所述虚拟工作单元的数量进一步包括:针对当前的虚拟路由单元添加新的虚拟工作单元。
在本公开的一个示例中,增加所述虚拟路由单元的数量进一步包括:在与所述虚拟路由单元相关联的容器组中添加新的虚拟路由单元;以及增加所述虚拟工作单元的数量进一步包括:针对所述新的虚拟路由单元添加新的虚拟工作单元。
在本公开的一个示例中,当所述预测的在线资源分配请求量相比当前在线资源分配请求量下降时,减少所述虚拟路由单元的数量和/或所述虚拟工作单元的数量。
在本公开的一个实例中,减少所述虚拟路由单元的数量进一步包括:向所述虚拟路由单元发送通知以指示所述虚拟路由单元执行以下操作:拒绝接收新的请求,以及在与所述虚拟路由单元相关联的虚拟工作单元处理完当前的在线资源分配请求后从数据面退出。
在本公开的一个实例中,减少所述虚拟工作单元的数量进一步包括:向所述虚拟工作单元发送通知以指示所述虚拟工作单元执行以下操作:在处理完当前的在线资源分配请求后退出运行。
在本公开的一个实例中,用于实现低时延的在线资源分配的方法500还可以包括以下操作:监测容器组的资源信息,其中,所述容器组包括一个或多个虚拟路由单元以及一个或多个虚拟工作单元,所述资源信息指示所述容器组的当前在线资源是否充足;以及当监测到的资源信息指示所述容器组的当前在线资源不充足时,将该容器组中的一个或多个虚拟路由单元和/或一个或多个虚拟工作单元调整到具有充足在线资源的其它容器组中。
通过对资源不足或表现不佳的Pod进行处理或调整,可以确保整体的在线资源分配服务都可以是低时延的。
图6是根据本公开的实施例的用于实现低时延的在线资源分配的装置(下文中简称为在线资源分配装置)600的方框图。如图6所示,在线资源分配装置600包括获取单元610、预测单元620、计算单元630以及调整单元640。
在本公开的一个实例中,获取单元610被配置为获取关于当前和历史在线资源分配请求量的信息。在一些例子中,获取单元610可以定期地(例如按照分钟粒度)采集当前在线资源分配请求量(例如每分钟的请求量)并从数据库或存储器获取历史的在线资源分配请求量。
预测单元620可以被配置为基于所获取的信息来预测在未来特定时段内的在线资源分配请求量。
计算单元630可以被配置为基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置。
调整单元640可以被配置为基于所计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量。
此外,在本公开的一个示例中,调整单元640可以进一步被配置为执行以下中的一项或多项:当所述预测的在线资源分配请求量相比当前在线资源分配请求量上升时,增加所述虚拟路由单元的数量和/或增加所述虚拟工作单元的数量;以及当所述预测的在线资源分配请求量相比当前在线资源分配请求量下降时,减少所述虚拟路由单元的数量和/或所述虚拟工作单元的数量。
在本公开的一个实例中,增加所述虚拟路由单元的数量进一步包括:在与所述虚拟路由单元相关联的容器组中添加新的虚拟路由单元。
在本公开的一个实例中,增加所述虚拟工作单元的数量的操作进一步包括:针对当前的虚拟路由单元添加新的虚拟工作单元或者针对所述新的虚拟路由单元添加新的虚拟工作单元。
在本公开的一个实例中,减少所述虚拟路由单元的数量的操作进一步包括:向所述虚拟路由单元发送通知以指示所述虚拟路由单元执行以下操作:拒绝接收新的请求,以及在与所述虚拟路由单元相关联的虚拟工作单元处理完当前的在线资源分配请求后从数据面退出。
在本公开的一个实例中,减少所述虚拟工作单元的数量的操作进一步包括:向所述虚拟工作单元发送通知以指示所述虚拟工作单元执行以下操作:在处理完当前的在线资源分配请求后退出运行。
此外,装置600还可以包括监测单元(图6中未示出),其被配置为监测容器组的资源信息,其中,所述容器组包括一个或多个虚拟路由单元以及一个或多个虚拟工作单元,所述资源信息指示所述容器组的当前在线资源是否充足。
在本公开的一个实例中,当监测单元监测到的资源信息指示所述容器组的当前在线资源不充足时,所述调整单元被进一步配置为将该容器组中的一个或多个虚拟路由单元和/或一个或多个虚拟工作单元调整到具有充足在线资源的其它容器组中。
如上参照图1到图6,对根据本公开的实施例的用于实现低时延的在线资源分配的方法及装置的实施例进行了描述。上面的用于实现低时延在线资源分配的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图7示出了根据本公开的实施例的用于实现低时延的在线资源分配的计算设备700的硬件结构图。如图7所示,计算设备700可以包括至少一个处理器710、非易失性存储器720、内存730和通信接口740,并且至少一个处理器710、非易失性存储器720、内存730和通信接口740经由总线750连接在一起。至少一个处理器710执行在存储器720中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器720中存储计算机可执行指令,其当执行时使得至少一个处理器710执行以下操作:获取关于当前和历史在线资源分配请求量的信息;基于所获取的信息来预测在未来特定时段内的在线资源分配请求量;基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置;以及基于计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量。
应该理解,在存储器720中存储的计算机可执行指令当运行时使得至少一个处理器710执行本公开的各个实施例中结合图1-6描述的各种操作和功能。
在本公开中,计算设备700可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以存储有可执行指令(即,上述以软件形式实现的元素),该指令当被机器运行时,使得机器执行本公开的各个实施例中结合图1-6描述的各种操作和功能。具体地,可以提供配置有可读存储介质的***或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入本公开内容的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (13)
1.一种用于在线资源分配的方法,包括:
获取关于当前和历史在线资源分配请求量的信息;
基于所获取的信息来预测在未来特定时段内的在线资源分配请求量;
基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置;
基于计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量;
监测容器组的资源信息,其中,所述容器组包括一个或多个虚拟路由单元以及一个或多个虚拟工作单元,所述资源信息指示所述容器组的当前在线资源是否充足;以及
当监测到的资源信息指示所述容器组的当前在线资源不充足时,将该容器组中的一个或多个虚拟路由单元和/或一个或多个虚拟工作单元调整到具有充足在线资源的其它容器组中。
2.如权利要求1所述的方法,其中,当所述预测的在线资源分配请求量相比当前在线资源分配请求量上升时,增加所述虚拟路由单元的数量和/或增加所述虚拟工作单元的数量。
3.如权利要求2所述的方法,其中,增加所述虚拟工作单元的数量进一步包括:针对当前的虚拟路由单元添加新的虚拟工作单元。
4.如权利要求2所述的方法,其中:
增加所述虚拟路由单元的数量进一步包括:在与所述虚拟路由单元相关联的容器组中添加新的虚拟路由单元;以及
增加所述虚拟工作单元的数量进一步包括:针对所述新的虚拟路由单元添加新的虚拟工作单元。
5.如权利要求1所述的方法,其中,当所述预测的在线资源分配请求量相比当前在线资源分配请求量下降时,减少所述虚拟路由单元的数量和/或所述虚拟工作单元的数量。
6.如权利要求5所述的方法,其中,减少所述虚拟路由单元的数量进一步包括:向所述虚拟路由单元发送通知以指示所述虚拟路由单元执行以下操作:拒绝接收新的请求,以及在与所述虚拟路由单元相关联的虚拟工作单元处理完当前的在线资源分配请求后从数据面退出。
7.如权利要求5所述的方法,其中,减少所述虚拟工作单元的数量进一步包括:向所述虚拟工作单元发送通知以指示所述虚拟工作单元执行以下操作:在处理完当前的在线资源分配请求后退出运行。
8.一种用于在线资源分配的装置,包括:
获取单元,被配置为获取关于当前和历史在线资源分配请求量的信息;
预测单元,被配置为基于所获取的信息来预测在未来特定时段内的在线资源分配请求量;
计算单元,被配置为基于预测的在线资源分配请求量、虚拟路由单元的处理能力和虚拟工作单元的处理能力来计算满足所述预测的在线资源分配请求量的算力配置;
调整单元,被配置为基于所计算的算力配置来调整所述虚拟路由单元的数量和所述虚拟工作单元的数量;以及
监测单元,被配置为监测容器组的资源信息,其中,所述容器组包括一个或多个虚拟路由单元以及一个或多个虚拟工作单元,所述资源信息指示所述容器组的当前在线资源是否充足;
其中,当所述监测单元监测到的资源信息指示所述容器组的当前在线资源不充足时,所述调整单元被进一步配置为将该容器组中的一个或多个虚拟路由单元和/或一个或多个虚拟工作单元调整到具有充足在线资源的其它容器组中。
9.如权利要求8所述的装置,其中,所述调整单元进一步被配置为执行以下中的一项或多项操作:
当所述预测的在线资源分配请求量相比当前在线资源分配请求量上升时,增加所述虚拟路由单元的数量和/或增加所述虚拟工作单元的数量;以及
当所述预测的在线资源分配请求量相比当前在线资源分配请求量下降时,减少所述虚拟路由单元的数量和/或所述虚拟工作单元的数量。
10.如权利要求9所述的装置,其中:
增加所述虚拟路由单元的数量进一步包括:在与所述虚拟路由单元相关联的容器组中添加新的虚拟路由单元;或者
增加所述虚拟工作单元的数量的操作进一步包括:针对当前的虚拟路由单元添加新的虚拟工作单元或者针对所述新的虚拟路由单元添加新的虚拟工作单元。
11.如权利要求9所述的装置,其中:
减少所述虚拟路由单元的数量的操作进一步包括:向所述虚拟路由单元发送通知以指示所述虚拟路由单元执行以下操作:拒绝接收新的请求,以及在与所述虚拟路由单元相关联的虚拟工作单元处理完当前的在线资源分配请求后从数据面退出;和/或
减少所述虚拟工作单元的数量的操作进一步包括:向所述虚拟工作单元发送通知以指示所述虚拟工作单元执行以下操作:在处理完当前的在线资源分配请求后退出运行。
12.一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器运行时,使得所述至少一个处理器执行如权利要求1到7任一所述的方法。
13.一种机器可读介质,其存储有可执行指令,所述指令当被运行时使得所述机器执行如权利要求1到7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210218563.2A CN114327915B (zh) | 2022-03-08 | 2022-03-08 | 用于在线资源分配的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210218563.2A CN114327915B (zh) | 2022-03-08 | 2022-03-08 | 用于在线资源分配的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327915A CN114327915A (zh) | 2022-04-12 |
CN114327915B true CN114327915B (zh) | 2022-06-28 |
Family
ID=81033810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210218563.2A Active CN114327915B (zh) | 2022-03-08 | 2022-03-08 | 用于在线资源分配的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327915B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000421A (zh) * | 2020-07-15 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于超融合架构的管理调度技术 |
CN113037786A (zh) * | 2019-12-09 | 2021-06-25 | 中国电信股份有限公司 | 智能算力调度方法、装置和*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945548B (zh) * | 2014-04-29 | 2018-12-14 | 西安电子科技大学 | 一种c-ran网络中的资源分配***及任务/业务调度方法 |
CN109039954B (zh) * | 2018-07-25 | 2021-03-23 | 广东石油化工学院 | 多租户容器云平台虚拟计算资源自适应调度方法及*** |
CN111224806A (zh) * | 2018-11-27 | 2020-06-02 | 华为技术有限公司 | 一种资源分配方法及服务器 |
CN110958192B (zh) * | 2019-12-04 | 2023-08-01 | 西南大学 | 一种基于虚拟交换机的虚拟数据中心资源分配***及方法 |
US11249790B1 (en) * | 2020-03-11 | 2022-02-15 | Amazon Technologies, Inc. | Scheduling usage of oversubscribed computing resources |
CN111858040A (zh) * | 2020-07-07 | 2020-10-30 | 中国建设银行股份有限公司 | 一种资源调度方法和装置 |
CN113230658A (zh) * | 2021-05-31 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 资源分配方法、装置、计算机可读介质及电子设备 |
-
2022
- 2022-03-08 CN CN202210218563.2A patent/CN114327915B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037786A (zh) * | 2019-12-09 | 2021-06-25 | 中国电信股份有限公司 | 智能算力调度方法、装置和*** |
CN112000421A (zh) * | 2020-07-15 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于超融合架构的管理调度技术 |
Also Published As
Publication number | Publication date |
---|---|
CN114327915A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Energy-efficient and quality-aware VM consolidation method | |
Song et al. | Optimal bidding in spot instance market | |
Kayaaslan et al. | Energy-price-driven query processing in multi-center web search engines | |
Zhang et al. | Contract-theoretic approach for delay constrained offloading in vehicular edge computing networks | |
CN108170530B (zh) | 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法 | |
US20110010456A1 (en) | Recording medium storing load-distribution program, load-distribution apparatus, and load-distribution method | |
Tripathi et al. | Non-cooperative power and latency aware load balancing in distributed data centers | |
Khalil et al. | Energy cost minimization for sustainable cloud computing using option pricing | |
Shao et al. | An online orchestration mechanism for general-purpose edge computing | |
US20100161145A1 (en) | Search engine design and computational cost analysis | |
JPWO2018061825A1 (ja) | 分散処理システム、分散処理方法、及び記録媒体 | |
Rahmani et al. | Burst‐aware virtual machine migration for improving performance in the cloud | |
Khaleel | Multi-objective optimization for scientific workflow scheduling based on Performance-to-Power Ratio in fog–cloud environments | |
Chunlin et al. | Efficient load-balancing aware cloud resource scheduling for mobile user | |
Kashyap et al. | Load balancing techniques for fog computing environment: Comparison, taxonomy, open issues, and challenges | |
Rawas et al. | LECC: Location, energy, carbon and cost-aware VM placement model in geo-distributed DCs | |
Malik et al. | A planned scheduling process of cloud computing by an effective job allocation and fault-tolerant mechanism | |
CN114327915B (zh) | 用于在线资源分配的方法及装置 | |
Lu et al. | Cost-efficient resource provisioning in delay-sensitive cooperative fog computing | |
US10691700B1 (en) | Table replica allocation in a replicated storage system | |
JP5601024B2 (ja) | 電力平準化方法、システム及びプログラム | |
CN113762866A (zh) | 一种物流信息处理方法、装置以及*** | |
Zhang et al. | Offloading demand prediction-driven latency-aware resource reservation in edge networks | |
Sun et al. | Based on QoS and energy efficiency virtual machines consolidation techniques in cloud | |
Jasim et al. | Asynchronous coarse-grained load migration scheme for IoT applications in fog networks |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100192 No. 306, 3 / F, building 28, Baosheng Beili West District, Haidian District, Beijing Patentee after: Ant yunchuang digital technology (Beijing) Co.,Ltd. Address before: 100192 No. 306, 3 / F, building 28, Baosheng Beili West District, Haidian District, Beijing Patentee before: Beijing ant cloud Financial Information Service Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |