一种云服务资源调度方法、装置、设备及存储介质
文献发布时间:2023-06-19 19:30:30
技术领域
本发明实施例涉及金融科技(Fintech)技术领域,尤其涉及一种云服务资源调度方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
由于所要处理的信息数据爆炸式增长,公司则需购买大量的计算资源或者存储资源进行信息数据的处理,然而这将会带来巨大的成本问题。为了解决处理大量信息数据所带来的成本问题,目前常通过公有云服务厂商购买云服务资源,并采用云服务资源进行信息数据的处理以及向客户提供各种服务。其中,云服务资源包括云服务器、云存储、云数据库等。
目前,一般采用PID(比例、积分、微分)控制算法进行云服务资源的申请和释放。其中,针对云服务资源的申请,PID控制算法是指——先确定所需申请的云服务资源的期望数量,再通过传感模块获取云服务资源的已申请数量,基于期望数量和已申请数量,得到云服务资源的差值。随后,根据云服务资源的差值,按照比例/积分/微分的函数关系进行运算,确定云服务资源的申请量。针对云服务资源的释放,与云服务资源的申请类似。
然而,在申请云服务资源时,从发送云服务资源的申请消息,到云服务资源可用之间存在一段预热时间,即启动延迟;在释放已申请的云服务资源时,从发送云服务资源的释放消息,到云服务资源不可用之间也有一段预热时间,即关闭延迟。由于采用PID控制算法进行云服务资源的申请和释放,并没有考虑到云服务资源的启动延迟和关闭延迟,导致所确定的云服务资源的申请量或者释放量并不准确,进而造成过多的申请或释放云服务资源,导致云服务资源的浪费。
发明内容
本申请实施例提供了一种云服务资源调度方法、装置、设备及存储介质,用于准确地确定云服务资源的申请量或者释放量。
一方面,本申请实施例提供了一种云服务资源调度方法,该方法包括:
获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数;
基于所述p个资源调度时延,对n个调度时延分布函数中与所述p个资源调度时延匹配的调度时延分布函数进行更新;所述n个调度时延分布函数是根据多个历史更新周期内的历史资源调度时延确定的;其中,n为正整数;
根据更新后的n个调度时延分布函数,确定所述云服务资源在预设探测周期内的调度时延预估值;
基于所述预设探测周期的时长、所述调度时延预估值以及所述云服务资源在所述预设探测周期内的资源待调度量,确定所述云服务资源在所述预设探测周期内的资源调度量,并将所述资源调度量发送至云服务资源提供商。
可选地,所述与所述p个资源调度时延匹配的调度时延分布函数通过如下方式确定,包括:
针对任一调度时延分布函数,基于所述p个资源调度时延和所述调度时延分布函数对应的q个历史资源调度时延,确定所述调度时延分布函数的残差和及偏离度;其中,q为大于0的整数;
选取残差和满足第一预设条件且偏离度满足第二预设条件的调度时延分布函数,作为与所述p个资源调度时延匹配的调度时延分布函数。
可选地,所述针对任一调度时延分布函数,基于所述p个资源调度时延和所述调度时延分布函数对应的q个历史资源调度时延,确定所述调度时延分布函数的残差和及偏离度,包括:
针对任一调度时延分布函数,执行以下步骤:
基于所述p个资源调度时延和所述q个历史资源调度时延,确定多个预设时延区间;
针对任一预设时延区间,基于所述调度时延分布函数和所述p个资源调度时延,确定所述预设时延区间对应的预估概率值;并基于位于所述预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延,确定所述预设时延区间对应的真实概率值;
基于每个预设时延区间对应的预估概率值和真实概率值,确定所述调度时延分布函数的残差和以及偏离度。
可选地,所述针对任一预设时延区间,基于所述调度时延分布函数和所述p个资源调度时延,确定所述预设时延区间对应的预估概率值,包括:
基于调度时延分布函数对应的q个历史资源调度时延和p个资源调度时延,确定待估时延分布函数;所述待估时延分布函数为幂律分布函数;
针对任一预设时延区间,基于所述预设时延区间的左端点值和右端点值,确定所述待估时延分布函数在所述预设时延区间的预估概率值,并作为所述预设时延区间对应的预估概率值。
可选地,所述基于位于所述预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延,确定所述预设时延区间对应的真实概率值,包括:
确定所述预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延的数量,作为第一数量;
确定所述p个资源调度时延和所述q个历史资源调度时延的数量,作为第二数量;
基于所述第一数量和所述第二数量的比值,确定所述预设时延区间对应的真实概率值。
可选地,所述基于每个预设时延区间对应的预估概率值和真实概率值,确定所述调度时延分布函数的残差和以及偏离度,包括:
针对任一预设时延区间,将所述预设时延区间的预估概率值和真实概率值的差值,作为所述预设时延区间的残差;
基于每个预设时延区间的残差以及第二数量,确定所述调度时延分布函数的残差和;
基于每个预设时延区间的残差,以及多个残差的中位数,确定所述调度时延分布函数的偏离度。
可选地,所述根据更新后的n个调度时延分布函数,确定所述云服务资源在预设探测周期内的调度时延预估值,包括:
根据更新后的n个调度时延分布函数,生成时延累积分布函数;
基于所述时延累积分布函数,确定多个预设分位点对应的概率取值范围以及对应的候选时延预估值;
针对所述预设探测周期生成随机值,基于所述随机值与所述多个概率取值范围的关系,从所述多个候选时延预估值中确定调度时延预估值。
可选地,所述基于所述预设探测周期的时长、所述调度时延预估值以及所述云服务资源在所述预设探测周期内的资源待调度量,确定所述云服务资源在所述预设探测周期内的资源调度量,包括:
确定所述预设探测周期的时长与所述调度时延预估值的比值,并将所述云服务资源在预设探测周期内的资源待调度量与所述比值的乘积,作为所述云服务资源在所述预设探测周期内的资源调度量。
可选地,还包括:
若不存在调度时延分布函数,基于所述p个资源调度时延,确定调度时延分布函数。
一方面,本申请实施例提供了一种云服务资源调度装置,该装置包括:
获取模块,用于获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数;
更新模块,用于基于所述p个资源调度时延,对n个调度时延分布函数中与所述p个资源调度时延匹配的调度时延分布函数进行更新;所述n个调度时延分布函数是根据多个历史更新周期内的历史资源调度时延确定的;其中,n为正整数;
确定模块,用于根据更新后的n个调度时延分布函数,确定所述云服务资源在预设探测周期内的调度时延预估值;
所述确定模块,还用于基于所述预设探测周期的时长、所述调度时延预估值以及所述云服务资源在所述预设探测周期内的资源待调度量,确定所述云服务资源在所述预设探测周期内的资源调度量,并将所述资源调度量发送至云服务资源提供商。
可选地,所述更新模块,还用于:
针对任一调度时延分布函数,基于所述p个资源调度时延和所述调度时延分布函数对应的q个历史资源调度时延,确定所述调度时延分布函数的残差和及偏离度;其中,q为大于0的整数;
选取残差和满足第一预设条件且偏离度满足第二预设条件的调度时延分布函数,作为与所述p个资源调度时延匹配的调度时延分布函数。
可选地,所述更新模块,具体用于:
针对任一调度时延分布函数,执行以下步骤:
基于所述p个资源调度时延和所述q个历史资源调度时延,确定多个预设时延区间;
针对任一预设时延区间,基于所述调度时延分布函数和所述p个资源调度时延,确定所述预设时延区间对应的预估概率值;并基于位于所述预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延,确定所述预设时延区间对应的真实概率值;
基于每个预设时延区间对应的预估概率值和真实概率值,确定所述调度时延分布函数的残差和以及偏离度。
可选地,所述更新模块,具体用于:
基于调度时延分布函数对应的q个历史资源调度时延和p个资源调度时延,确定待估时延分布函数;所述待估时延分布函数为幂律分布函数;
针对任一预设时延区间,基于所述预设时延区间的左端点值和右端点值,确定所述待估时延分布函数在所述预设时延区间的预估概率值,并作为所述预设时延区间对应的预估概率值。
可选地,所述更新模块,具体用于:
确定所述预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延的数量,作为第一数量;
确定所述p个资源调度时延和所述q个历史资源调度时延的数量,作为第二数量;
基于所述第一数量和所述第二数量的比值,确定所述预设时延区间对应的真实概率值。
可选地,所述更新模块,具体用于:
针对任一预设时延区间,将所述预设时延区间的预估概率值和真实概率值的差值,作为所述预设时延区间的残差;
基于每个预设时延区间的残差以及第二数量,确定所述调度时延分布函数的残差和;
基于每个预设时延区间的残差,以及多个残差的中位数,确定所述调度时延分布函数的偏离度。
可选地,所述确定模块,具体用于:
根据更新后的n个调度时延分布函数,生成时延累积分布函数;
基于所述时延累积分布函数,确定多个预设分位点对应的概率取值范围以及对应的候选时延预估值;
针对所述预设探测周期生成随机值,基于所述随机值与所述多个概率取值范围的关系,从所述多个候选时延预估值中确定调度时延预估值。
可选地,所述确定模块,具体用于:
确定所述预设探测周期的时长与所述调度时延预估值的比值,并将所述云服务资源在预设探测周期内的资源待调度量与所述比值的乘积,作为所述云服务资源在所述预设探测周期内的资源调度量。
可选地,所述更新模块,还用于:
若不存在调度时延分布函数,基于所述p个资源调度时延,确定调度时延分布函数。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述云服务资源调度方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述云服务资源调度方法的步骤。
在本申请实施例中,先获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数;再基于p个资源调度时延,对n个调度时延分布函数中与p个资源调度时延匹配的调度时延分布函数进行更新;其中,n均为正整数。根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值,最后,基于预设探测周期的时长、调度时延预估值以及云服务资源在预设探测周期内的资源待调度量,确定云服务资源在预设探测周期内的资源调度量。由于本申请实施例在确定云服务资源在预设探测周期内的资源调度量时,充分考虑到云服务资源的调度时延预估值,避免了云服务资源调度的浪费。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种云服务资源调度方法的流程示意图;
图3为本申请实施例提供的一种历史资源调度时延分布的结构示意图;
图4为本申请实施例提供的一种历史资源调度时延分布的结构示意图;
图5为本申请实施例提供的一种确定调度时延分布函数的方法的流程示意图;
图6为本申请实施例提供的一种确定该调度时延分布函数的残差和及偏离度的方法的流程示意图;
图7为本申请实施例提供的一种调度时延分布函数和待估时延分布函数的函数图;
图8为本申请实施例提供的一种确定该调度时延分布函数的残差和及偏离度的方法的流程示意图;
图9为本申请实施例提供的一种确定云服务资源的调度时延预估值的方法的流程示意图;
图10为本申请实施例提供的一种2个调度时延分布函数的函数图;
图11为本申请实施例提供的一种时延累积分布函数的结构示意图;
图12为本申请实施例提供的一种云服务资源调度系统的结构示意图;
图13为本申请实施例提供的一种云服务资源调度装置的结构示意图;
图14为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参考图1,其为本申请实施例适用的一种云服务资源调度系统架构图,该云服务资源调度系统架构图至少包括终端设备101、云服务资源调度系统102。
终端设备101安装有用于云服务资源调度的目标应用,该应用可以是预先安装的客户端、网页版应用或嵌入在其他应用中的小程序等。终端设备101可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。
云服务资源调度系统102为目标应用的后台服务器,为目标应用提供服务。云服务资源调度系统102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网路(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备101与云服务资源调度系统102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
终端设备101响应用户的云服务资源调度操作,发送云服务资源调度指令至云服务资源调度系统102。云服务资源调度系统102接收云服务资源调度指令,先获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数;基于所述p个资源调度时延,对n个调度时延分布函数中与p个资源调度时延匹配的调度时延分布函数进行更新;其中,n个调度时延分布函数是根据多个历史更新周期内的历史资源调度时延确定的;n均为正整数。再根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值。最后,基于预设探测周期的时长、调度时延预估值以及云服务资源在预设探测周期内的资源待调度量,确定云服务资源在预设探测周期内的资源调度量,并将资源调度量发送至云服务资源提供商。
基于图1所述的系统架构图,本申请实施例提供了一种云服务资源调度方法的流程,如图2所示,该方法的流程由图1所示的云服务资源调度系统102执行,包括以下步骤:
步骤S201,获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数。
具体地,云服务资源的调度包括云服务资源的申请或释放,云服务资源的p个资源调度时延是从云服务资源提供商处获取的。
在本申请实施例中,获取p个资源调度时延,包括以下两种可能的更新方式:
第一种可能的实施方式,获取云服务资源在预设更新周期内的资源调度时延,作为p个资源调度时延。
第二种可能的实施方式,获取云服务资源的预设数量的资源调度时延,作为p个资源调度时延。
步骤S202,基于p个资源调度时延,对n个调度时延分布函数中与p个资源调度时延匹配的调度时延分布函数进行更新;其中,n为正整数。
具体地,n个调度时延分布函数是根据多个历史更新周期内的历史资源调度时延确定的。其中,历史更新周期和预设更新周期大小相等。
针对多个历史更新周期内的历史资源调度时延进行统计可知,大多数的历史资源调度时延分布在最小历史资源调度时延附近,少数的历史资源调度时延分布在较大的历史资源调度时延附近,以上历史资源调度时延分布规律趋近于幂律分布,如图3所示。因此,在本申请实施例中,设定调度时延分布函数为幂律分布的概率分布函数,采用多个历史更新周期内的历史资源调度时延确定幂律分布所对应的函数参数。
其中,连续型随机变量X所对应的幂律分布的概率分布函数如公式(1)所示:
其中,POW(X)为幂律分布的概率分布函数,X
一般情况下,在针对多个历史更新周期内的历史资源调度时延进行统计时,大多数的历史资源调度时延分布在多个最小历史资源调度时延附近。因此,根据多个历史更新周期内的历史资源调度时延,可以确定多个幂律分布的概率分布函数。具体来说,一个幂律分布的概率分布函数可以由一个历史更新周期内的历史资源调度时延确定,也可以由多个历史更新周期内的历史资源调度时延确定。
举例来说,多个历史更新周期内的历史资源调度时延分布在两个最小历史资源调度时延附近,即分布在X1
在本申请实施例中,当调度时延分布函数为幂律分布的概率分布函数,采用p个资源调度时延对调度时延分布函数进行更新,更新后的调度时延分布函数仍为幂律分布的概率分布函数。
可选地,若不存在调度时延分布函数,基于p个资源调度时延,直接确定新的调度时延分布函数。
步骤S203,根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值。
具体地,预设探测周期可以等于预设更新周期,也可以小于预设更新周期。
当预设探测周期等于预设更新周期时,在每个预设更新周期内,获得更新后的n个调度时延分布函数后,便根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值。
当预设探测周期小于预设更新周期时,虽然调度时延分布函数还没更新,但是仍然可以根据调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值。虽然所确定的调度时延预估值的准确度会降低,但是提高了确定调度时延预估值的效率,进而提高了后续云服务资源的调度。
在本申请实施例中,在每个预设探测周期内,均需获得更新后的n个调度时延分布函数,并根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值。其中,所获得的n个调度时延分布函数包括以下两种情况:
第一种情况,当预设探测周期等于预设更新周期时,由于每个预设更新周期内n个调度时延分布函数均会被更新,因此,当前的预设探测周期所获得的更新后的n个调度时延分布函数与上一个预设探测周期所获得的更新后的n个调度时延分布函数存在部分不同。
第二种情况,当预设探测周期小于预设更新周期时,若预设更新周期的时长是预设探测周期的时长的2倍,由于在预设更新周期内才会更新n个调度时延分布函数,因此,当前的预设探测周期所获得的更新后的n个调度时延分布函数与上一个预设探测周期所获得的更新后的n个调度时延分布函数相同。
步骤S204,基于预设探测周期的时长、调度时延预估值以及云服务资源在预设探测周期内的资源待调度量,确定云服务资源在预设探测周期内的资源调度量,并将资源调度量发送至云服务资源提供商。
具体地,由于云服务资源的期望数量和云服务资源的已调度数量是时刻变化的,因此,需要针对每个预设探测周期检测云服务资源的期望数量和云服务资源的已调度数量,并将云服务资源的期望数量和云服务资源的已调度数量的差值,作为云服务资源在预设探测周期内的资源待调度量。
本申请实施例提供了一种可能的实施方式,用于确定云服务资源在预设探测周期内的资源调度量,具体包括以下步骤:
先确定预设探测周期的时长与调度时延预估值的比值,再将云服务资源在预设探测周期内的资源待调度量与比值的乘积,作为云服务资源在预设探测周期内的资源调度量。
设定预设探测周期的时长为T,调度时延预估值为T
举例来说,设定预设探测周期的时长为10s,调度时延预估值为100s。云服务资源的期望数量为100,云服务资源的已调度数量为70,则云服务资源在预设探测周期内的资源待调度量为30,通过公式(2)可以确定云服务资源在预设探测周期内的资源调度量为
在本申请实施例中,先获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数;再基于p个资源调度时延,对n个调度时延分布函数中与p个资源调度时延匹配的调度时延分布函数进行更新;其中,n均为正整数。根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值,最后,基于预设探测周期的时长、调度时延预估值以及云服务资源在预设探测周期内的资源待调度量,确定云服务资源在预设探测周期内的资源调度量。由于本申请实施例在确定云服务资源在预设探测周期内的资源调度量时,充分考虑到云服务资源的调度时延预估值,避免了云服务资源调度的浪费。
可选地,在上述步骤S202中,与所述p个资源调度时延匹配的调度时延分布函数通过如下方式确定,具体包括如图5所示的以下步骤:
步骤S501,针对任一调度时延分布函数,基于p个资源调度时延和调度时延分布函数对应的q个历史资源调度时延,确定该调度时延分布函数的残差和及偏离度;其中,q为大于0的整数。
具体地,针对任一调度时延分布函数,执行如图6所示的以下步骤:
步骤S601,基于p个资源调度时延和q个历史资源调度时延,确定多个预设时延区间。
一种可能的实施方式,基于p个资源调度时延和q个历史资源调度时延确定最大时延,将最大时延进行均等划分,获得多个预设时延区间。
设定2个资源调度时延,分别为40s和50s;3个历史资源调度时延,分别为50s、55s和60s,通过比较可知,最大时延为60s。每10s对最大时延进行划分,获得6个预设时延区间。
另一种可能的实施方式,设定云服务资源的最大调度时延,将最大调度时延进行均等划分,获得多个预设时延区间。
一般情况下,云服务资源的调度时延不超过300s,将300s设置为最大调度时延。每10s对最大时延进行划分,获得30个预设时延区间。
步骤S602,针对任一预设时延区间,基于调度时延分布函数和p个资源调度时延,确定该预设时延区间对应的预估概率值;并基于位于该预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延,确定该预设时延区间对应的真实概率值。
具体地,先基于该调度时延分布函数对应的q个历史资源调度时延和p个资源调度时延,确定待估时延分布函数;其中,待估时延分布函数为幂律分布函数。
针对任一预设时延区间,确定该预设时延区间对应的预估概率值,包括以下步骤:基于该预设时延区间的左端点值和右端点值,确定待估时延分布函数在该预设时延区间的预估概率值,并作为该预设时延区间对应的预估概率值。
如图7所示,设定根据该调度时延分布函数的函数图为图7中的(a),该调度时延分布函数是根据q个历史资源调度时延确定的,调度时延分布函数如公式(3)所示:
其中,POW1(X)为调度时延分布函数,X1
根据q个历史资源调度时延和p个资源调度时延,确定的待估时延分布函数的函数图为图7中的(b),待估时延分布函数如公式(4)所示:
其中,POW2(X)为待估时延分布函数,X2
可选地,针对第j个预设时延区间,基于该预设时延区间的左端点值和右端点值,确定待估时延分布函数在该预设时延区间的预估概率值,包括以下3种可能的实施方式:
第一种可能的实施方式,将第j个预设时延区间的左端点值作为变量X,再将变量X带入上述公式(4),确定第j个预设时延区间的预估概率值,如公式(5)所示:
其中,
第二种可能的实施方式,将第j个预设时延区间的右端点值的均值作为变量X,再将变量X带入上述公式(4),确定第j个预设时延区间的预估概率值,如公式(6)所示:
其中,
第三种可能的实施方式,将第j个预设时延区间的左端点值和右端点值的均值作为变量X,再将变量X带入上述公式(4),确定第j个预设时延区间的预估概率值,如公式(6)所示:
其中,
举例来说,根据q个历史资源调度时延确定调度时延分布函数的相关信息如表1所示。q个历史资源调度时延包括75s,72s,91s……,q个历史资源调度时延中的最小时延值为72s,根据q个历史资源调度时延所确定的幂律分布的幂参数α1为12。
表1.
根据q个历史资源调度时延和p个资源调度时延确定待估时延分布函数的相关信息如表2所示。q个历史资源调度时延包括75s,72s,91s……,p个资源调度时延包括70s,71s,80s,95s……,q个历史资源调度时延和p个资源调度时延中的最小时延值为70s,根据q个历史资源调度时延和p个资源调度时延所确定的幂律分布的幂参数α2为13。
表2.
根据表2中的待估时延分布函数的相关信息,第一个预设时延区间对应的预估概率值为
在本申请实施例中,先基于调度时延分布函数对应的q个历史资源调度时延和p个资源调度时延,确定待估时延分布函数;其中,待估时延分布函数为幂律分布函数。再针对任一预设时延区间,基于预设时延区间的左端点值和右端点值,确定待估时延分布函数在预设时延区间的预估概率值,并作为预设时延区间对应的预估概率值,便于后续根据预估概率值确定与p个资源调度时延分布相匹配的调度时延分布函数。
具体地,针对任一预设时延区间,确定该预设时延区间对应的真实概率值,包括以下步骤:
先确定该预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延的数量,作为第一数量。再确定p个资源调度时延和q个历史资源调度时延的数量,作为第二数量。最后,基于第一数量和第二数量的比值,确定该预设时延区间对应的真实概率值。
具体地,设定第j个预设时延区间内的资源调度时延和历史资源调度时延的数量为Count(j),记作第一数量;设定p个资源调度时延和q个历史资源调度时延的数量为Count(s),记作第二数量;因此,第j个预设时延区间对应的真实概率值如公式(8)所示:
在本申请实施例中,先确定该预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延的数量,作为第一数量。再确定p个资源调度时延和q个历史资源调度时延的数量,作为第二数量。最后,基于第一数量和第二数量的比值,确定该预设时延区间对应的真实概率值,便于后续根据真实概率值确定与p个资源调度时延分布相匹配的调度时延分布函数。
步骤S603,基于每个预设时延区间对应的预估概率值和真实概率值,确定该调度时延分布函数的残差和以及偏离度。
可选地,针对任一预设时延区间,具体执行如图8所示的步骤:
步骤S801,将该预设时延区间的预估概率值和真实概率值的差值,作为该预设时延区间的残差。
在本申请实施例中,可以将该预设时延区间的预估概率值和真实概率值的差值,作为该预设时延区间的残差;可以将该预设时延区间的预估概率值和真实概率值的差值的平方,作为该预设时延区间的残差;还可以将该预设时延区间的预估概率值和真实概率值的差值的绝对值,作为该预设时延区间的残差。
具体地,针对第j个预设时延区间,所确定的残差如公式(9)所示:
其中,V
步骤S802,基于每个预设时延区间的残差以及第二数量,确定该调度时延分布函数的残差和。
具体地,将每个预设时延区间的残差之和与第二数量的比值,作为该调度时延分布函数的残差和,该调度时延分布函数的残差和如公式(10)所示:
其中,
步骤S803,基于每个预设时延区间的残差,以及多个残差的中位数,确定该调度时延分布函数的偏离度。
具体地,针对多个预设时延区间的残差,确定多个残差的中位数,作为残差基准值。
针对第j个预设时延区间,将第j个预设时延区间的残差与残差基准值的差值的绝对值,作为第j个预设时延区间的预估偏离度;将第j个预估偏离度与残差基准值的比值,作为第j个预设时延区间的偏离度,如公式(11)所示:
其中,
在本申请实施例中,该调度时延分布函数的偏离度的确定包括以下两种可能的实施方式:
第一种可能的实施方式,将每个预设时延区间的偏离度的集合作为该调度时延分布函数的偏离度,如公式(12)所示:
第二种可能的实施方式,将每个预设时延区间的偏离度之和作为该调度时延分布函数的偏离度,如公式(13)所示:
在本申请实施例中,将该预设时延区间的预估概率值和真实概率值的差值,作为该预设时延区间的残差,再基于每个预设时延区间的残差以及第二数量,确定该调度时延分布函数的残差和,以及基于每个预设时延区间的残差,以及多个残差的中位数,确定该调度时延分布函数的偏离度,便于后续基于残差和及偏离度确定与p个资源调度时延分布相匹配的调度时延分布函数。
步骤S502,选取残差和满足第一预设条件且偏离度满足第二预设条件的调度时延分布函数,作为与p个资源调度时延匹配的调度时延分布函数。
具体地,针对n个调度时延分布函数,分别确定相对应的残差和及偏离度。
选取残差和满足第一预设条件的调度时延分布函数,即从n个残差和中选取最小的残差和对应的调度时延分布函数。
选取偏离度满足第二预设条件的调度时延分布函数,包括以下两种可能的实施方式:
第一种可能的实施方式,当调度时延分布函数的偏离度为
第二种可能的实施方式,当调度时延分布函数的偏离度为
举例来说,2个调度时延分布函数,调度时延分布函数1和调度时延分布函数2的相关信息,如表3所示。
表3.
p个资源调度时延包括70s,71s,80s,95s……,根据p个资源调度时延和调度时延分布函数1对应的q个历史资源调度时延确定待估时延分布函数1,根据p个资源调度时延和调度时延分布函数2对应的q个历史资源调度时延确定待估时延分布函数2。待估时延分布函数1和待估时延分布函数2的相关信息,如表4所示。
表4.
设定基于待估时延分布函数1对应的q个历史资源调度时延,以及p个资源调度时延确定调度时延分布函数1的残差和为1.09,偏离度为3.5;基于待估时延分布函数2对应的q个历史资源调度时延,以及p个资源调度时延确定调度时延分布函数2的残差和为1.66,偏离度为4,并且假定第二预设值V2
由于调度时延分布函数1的残差和1.09小于调度时延分布函数2的残差和1.66,并且调度时延分布函数1的偏离度3.5小于第二预设值V2
可选地,若不存在残差和满足第一预设条件且偏离度满足第二预设条件的调度时延分布函数,则根据p个资源调度时延,确定新的调度时延分布函数。
在本申请实施例中,针对任一调度时延分布函数,基于p个资源调度时延和调度时延分布函数对应的q个历史资源调度时延,确定该调度时延分布函数的残差和及偏离度;其中,q为大于0的整数。选取残差和满足第一预设条件且偏离度满足第二预设条件的调度时延分布函数,作为与p个资源调度时延匹配的调度时延分布函数,所确定的相匹配调度时延分布函数的分布与p个资源调度时延的分布大致一致,便于后续采用p个资源调度时延更新相匹配的调度时延分布函数。
可选地,在上述步骤S203中,根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值,具体包括如图9所示的以下步骤:
步骤S901,根据更新后的n个调度时延分布函数,生成时延累积分布函数。
具体地,针对每个预设时延区间,确定更新后的n个调度时延分布函数分别在该预设时延区间的概率值。
设定更新后的n个调度时延分布函数分别为
其中,POW
POW
POW
针对第j个预设时延区间,确定更新后的n个调度时延分布函数在第j个预设时延区间的概率值分别为
更新后的n个调度时延分布函数在第j个预设时延区间的概率值的均值,如公式(14)所示:
其中,P(j)为更新后的n个调度时延分布函数在第j个预设时延区间的概率值的均值,
时延累积分布函数在第i个预设时延区间的概率值是由前i个P(j)的和确定的,如公式(15)所示:
其中,C(i)为时延累积分布函数在第i个预设时延区间的概率值,P(j)为更新后的n个调度时延分布函数在第j个预设时延区间的概率值的均值。
举例来说,图10为2个调度时延分布函数对应的函数图,包括调度时延分布函数分别为POW
步骤S902,基于时延累积分布函数,确定多个预设分位点对应的概率取值范围以及对应的候选时延预估值。
具体地,如表5所示,设置3个预设分位点,分别为90,94.9,99.9。每个预设分位点对应的概率取值范围分别为[0,0.90),[0.9,0.949),[0.949,1]。根据时延累积分布函数,确定每个预设分位点对应的候选时延预估值,分别为C
表5.
步骤S903,针对预设探测周期生成随机值,基于随机值与所述多个概率取值范围的关系,从多个候选时延预估值中确定调度时延预估值。
具体地,针对每个预设探测周期均生成随机值,并根据随机值确定云服务资源在每个预设探测周期内的调度时延预估值。
举例来说,若随机值为0.93,落入概率取值范围[0.9,0.949)的范围之内,因此,C
在本申请实施例中,根据更新后的n个调度时延分布函数,生成时延累积分布函数,再基于时延累积分布函数,确定多个预设分位点对应的概率取值范围以及对应的候选时延预估值。最后,针对预设探测周期生成随机值,基于随机值与所述多个概率取值范围的关系,从多个候选时延预估值中确定调度时延预估值。由于每个预设探测周期所确定的调度时延预估值均是基于时延累积分布函数确定的,保证了所确定的调度时延预估值的准确性。
为了更好的解释本申请实施例,下面结合具体的实施场景描述本申请实施例提供的一种云服务资源调度方法,该方法由图1中的云服务资源调度系统102执行。如图12所示,云服务资源调度系统102的包括调度时延分布函数更新模块1201、资源调度量确定模块1202。
调度时延分布函数更新模块1201从云服务资源提供商处获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数。
调度时延分布函数更新模块1201基于p个资源调度时延,对n个调度时延分布函数中与p个资源调度时延匹配的调度时延分布函数进行更新,并将更新后的n个调度时延分布函数发送至资源调度量确定模块1202;其中,n为正整数。
资源调度量确定模块1202根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值,并基于预设探测周期的时长、调度时延预估值以及云服务资源在预设探测周期内的资源待调度量,确定云服务资源在预设探测周期内的资源调度量。
资源调度量确定模块1202将资源调度量发送至云服务资源提供商,以便从云服务资源提供商处进行云服务资源的调度。
在本申请实施例中,先获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数;再基于p个资源调度时延,对n个调度时延分布函数中与p个资源调度时延匹配的调度时延分布函数进行更新;其中,n均为正整数。根据更新后的n个调度时延分布函数,确定云服务资源在预设探测周期内的调度时延预估值,最后,基于预设探测周期的时长、调度时延预估值以及云服务资源在预设探测周期内的资源待调度量,确定云服务资源在预设探测周期内的资源调度量。由于本申请实施例在确定云服务资源在预设探测周期内的资源调度量时,充分考虑到云服务资源的调度时延预估值,避免了云服务资源调度的浪费。
基于相同的技术构思,本申请实施例提供了一种云服务资源调度,如图13所示,该云服务资源调度1300包括:
获取模块1301,用于获取云服务资源在预设更新周期内的p个资源调度时延;p为正整数;
更新模块1302,用于基于所述p个资源调度时延,对n个调度时延分布函数中与所述p个资源调度时延匹配的调度时延分布函数进行更新;所述n个调度时延分布函数是根据多个历史更新周期内的历史资源调度时延确定的;其中,n为正整数;
确定模块1303,用于根据更新后的n个调度时延分布函数,确定所述云服务资源在预设探测周期内的调度时延预估值;
所述确定模块1303,还用于基于所述预设探测周期的时长、所述调度时延预估值以及所述云服务资源在所述预设探测周期内的资源待调度量,确定所述云服务资源在所述预设探测周期内的资源调度量,并将所述资源调度量发送至云服务资源提供商。
可选地,所述更新模块1302,还用于:
针对任一调度时延分布函数,基于所述p个资源调度时延和所述调度时延分布函数对应的q个历史资源调度时延,确定所述调度时延分布函数的残差和及偏离度;其中,q为大于0的整数;
选取残差和满足第一预设条件且偏离度满足第二预设条件的调度时延分布函数,作为与所述p个资源调度时延匹配的调度时延分布函数。
可选地,所述更新模块1302,具体用于:
针对任一调度时延分布函数,执行以下步骤:
基于所述p个资源调度时延和所述q个历史资源调度时延,确定多个预设时延区间;
针对任一预设时延区间,基于所述调度时延分布函数和所述p个资源调度时延,确定所述预设时延区间对应的预估概率值;并基于位于所述预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延,确定所述预设时延区间对应的真实概率值;
基于每个预设时延区间对应的预估概率值和真实概率值,确定所述调度时延分布函数的残差和以及偏离度。
可选地,所述更新模块1302,具体用于:
基于调度时延分布函数对应的q个历史资源调度时延和p个资源调度时延,确定待估时延分布函数;所述待估时延分布函数为幂律分布函数;
针对任一预设时延区间,基于所述预设时延区间的左端点值和右端点值,确定所述待估时延分布函数在所述预设时延区间的预估概率值,并作为所述预设时延区间对应的预估概率值。
可选地,所述更新模块1302,具体用于:
确定所述预设时延区间内的至少一个资源调度时延和至少一个历史资源调度时延的数量,作为第一数量;
确定所述p个资源调度时延和所述q个历史资源调度时延的数量,作为第二数量;
基于所述第一数量和所述第二数量的比值,确定所述预设时延区间对应的真实概率值。
可选地,所述更新模块1302,具体用于:
针对任一预设时延区间,将所述预设时延区间的预估概率值和真实概率值的差值,作为所述预设时延区间的残差;
基于每个预设时延区间的残差以及第二数量,确定所述调度时延分布函数的残差和;
基于每个预设时延区间的残差,以及多个残差的中位数,确定所述调度时延分布函数的偏离度。
可选地,所述确定模块1303,具体用于:
根据更新后的n个调度时延分布函数,生成时延累积分布函数;
基于所述时延累积分布函数,确定多个预设分位点对应的概率取值范围以及对应的候选时延预估值;
针对所述预设探测周期生成随机值,基于所述随机值与所述多个概率取值范围的关系,从所述多个候选时延预估值中确定调度时延预估值。
可选地,所述确定模块1303,具体用于:
确定所述预设探测周期的时长与所述调度时延预估值的比值,并将所述云服务资源在预设探测周期内的资源待调度量与所述比值的乘积,作为所述云服务资源在所述预设探测周期内的资源调度量。
可选地,所述更新模块1302,还用于:
若不存在调度时延分布函数,基于所述p个资源调度时延,确定调度时延分布函数。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是终端或服务器,如图14所示,包括至少一个处理器1401,以及与至少一个处理器连接的存储器1402,本申请实施例中不限定处理器1401与存储器1402之间的具体连接介质,图14中处理器1401和存储器1402之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1402存储有可被至少一个处理器1401执行的指令,至少一个处理器1401通过执行存储器1402存储的指令,可以执行上述云服务资源调度方法中所包括的步骤。
其中,处理器1401是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1402内的指令以及调用存储在存储器1402内的数据,从而进行云服务资源调度。可选的,处理器1401可包括一个或多个处理单元,处理器1401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1401中。在一些实施例中,处理器1401和存储器1402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1401可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述云服务资源调度方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。