资源分配方法、装置及电子设备与流程

文档序号:17180335发布日期:2019-03-22 20:50阅读:211来源:国知局
资源分配方法、装置及电子设备与流程

本发明涉及计算机技术领域,更具体的说,是涉及资源分配方法、装置及电子设备。



背景技术:

终端设备可以从idc(互联网数据中心,internetdatacenter)节点的存储空间中获取用户请求的资源,一个idc节点包括一个或多个服务器;由于单个idc节点的存储空间有限导致存储资源有限,为了增大存储空间,将多个idc节点组合成回源树。

如图1所示,为回源树的结构示意图,假设终端设备的用户需要获取视频资源,向idc节点e发送回源请求,若idc节点e的存储空间未存储有该视频资源,那么idc节点e向idc节点b发起回源请求,若idc节点b的存储空间未存储有该视频资源,那么idc节点b向idc节点a发起回源请求;若idc节点a的存储空间存储有该视频资源,则idc节点a可以将该视频资源通过idc节点b、idc节点e传输至终端设备。综上,若被调度的idc节点的存储空间未存储有用户所请求的资源,则idc节点需要向上级idc节点发起回源请求,若上级idc节点的存储空间未存储该资源,则需要继续向更高级idc节点发起回源请求,依次迭代直到获取到用户请求的资源。在上述过程中,若idc节点的存储空间存储有用户请求的资源,称为idc节点的一次命中。

若idc节点的命中概率越低,终端设备在获取用户请求的资源的过程中需要调度的idc节点越多,导致用户访问服务延时越长。为了提高idc节点的命中概率,需要增大上级节点的存储空间,导致存储空间浪费的问题。



技术实现要素:

有鉴于此,本发明提供了一种资源分配方法、装置及电子设备。+

为实现上述目的,本发明提供如下技术方案:

一种资源分配方法,包括:

获取目标曲线;

其中,所述目标曲线中每一点用于表征一非叶子节点,所述目标曲线中的一点通过第一参数与第二参数表征,所述第一参数表征该非叶子节点的预测命中概率,所述预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;所述第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,所述预测比值为该非叶子节点的存储空间与第一值的比值;所述第一值为该非叶子节点的下级节点存储空间之和;

基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值;

基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。

在一可选实施例中,所述获取目标曲线包括:

针对回源树包含的每一非叶子节点,获取该非叶子节点的存储空间与其下级节点存储空间之和的实际比值,以及,该非叶子节点存储有自身接收到回源请求对应的资源的实际命中概率;

基于所述回源树包含的各非叶子节点分别对应的实际比值以及实际命中概率,获取目标曲线。

在一可选实施例中,所述基于所述回源树包含的各非叶子节点分别对应的实际比值以及实际命中概率,获取目标曲线包括:

针对所述回源树包含的每一非叶子节点,将该非叶子节点对应的实际比值以及实际命中概率作为一个拟合坐标点,以得到各非叶子节点分别对应的拟合坐标点;

基于各非叶子节点分别对应的拟合坐标点,拟合得到所述目标曲线。

在一可选实施例中,所述基于各非叶子节点分别对应的拟合坐标点,拟合得到所述目标曲线包括:

基于各非叶子节点分别对应的实际命中概率对各非叶子节点进行排序,以得到目标集合,所述目标集合包含排序后的各非叶子节点;

针对任一个非叶子节点,基于该非叶子节点的拟合坐标点以及相邻节点集合包含的相邻节点的拟合坐标点,拟合得到子曲线,以得到多个非叶子节点分别对应的子曲线;

其中,在所述目标集合中相邻两个节点分别对应的子曲线中具有至少一个相同的非叶子节点;所述相邻节点集合包括在所述目标集合中与该非叶子节点相邻的节点;

获得多个非叶子节点分别对应的子曲线拼接而成的所述目标曲线。

在一可选实施例中,所述基于该非叶子节点的拟合坐标点以及相邻节点集合包含的相邻节点的拟合坐标点,拟合得到子曲线包括:

确定步长参数,所述步长参数用于表征所述相邻节点集合包含的相邻节点的数目;

获取该非叶子节点的第一误差,以及,所述相邻节点集合包含的相邻节点的第二误差;其中,第一误差表征该非叶子节点的预测比值与实际比值的差值,一个相邻节点的第二误差表征该相邻节点的预测比值与实际比值的差值;

在所述第一误差和第二误差之和最小情况下,拟合得到所述子曲线。

在一可选实施例中,所述获取该非叶子节点的第一误差包括:

获取所述相邻节点集合包含的相邻节点相对于该非叶子节点的加权权重,一个节点相对于该非叶子节点的加权权重与所述目标集合中该节点与该非叶子节点之间相隔节点的数目呈负相关;

基于所述相邻节点集合包含的节点的实际比值以及相对于该非叶子节点的加权权重,获得该非叶子节点的预测比值;

基于该非叶子节点的预测比值以及实际比值,获得所述第一误差。

在一可选实施例中,所述基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值包括:

将回源树包含的未配置的至少一个非叶子节点,确定为待配置节点;

基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值。

在一可选实施例中,还包括:

调整所述待配置节点的存储空间,以达到所述最小存储空间;

在所述待配置节点的存储空间为所述最小存储空间下,获取所述待配置节点的实际命中率;

若所述待配置节点的实际命中率与所述预测命中率的差值大于预设值,将所述待配置节点的存储空间变更为初始存储空间。

一种资源分配装置,包括:

第一获取模块,用于获取目标曲线;

其中,所述目标曲线中每一点用于表征一非叶子节点,所述目标曲线中的一点通过第一参数与第二参数表征,所述第一参数表征该非叶子节点的预测命中概率,所述预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;所述第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,所述预测比值为该非叶子节点的存储空间与第一值的比值;所述第一值为该非叶子节点的下级节点存储空间之和;

第一确定模块,用于基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值;

第二获取模块,用于基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。

一种电子设备,包括:

存储器,用于存储程序;

处理器,用于执行所述程序,所述程序具体用于:

获取目标曲线;

其中,所述目标曲线中每一点用于表征一非叶子节点,所述目标曲线中的一点通过第一参数与第二参数表征,所述第一参数表征该非叶子节点的预测命中概率,所述预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;所述第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,所述预测比值为该非叶子节点的存储空间与第一值的比值;所述第一值为该非叶子节点的下级节点存储空间之和;

基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值;

基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。

经由上述的技术方案可知,与现有技术相比,本申请实施例提供了一种资源分配方法,首先获取目标曲线,目标曲线中每一点表征一非叶子节点,目标曲线中的一点通过第一参数与第二参数表征,第一参数表征该非叶子节点的预测命中概率,预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,预测比值为该非叶子节点的存储空间与第一值的比值;第一值为该非叶子节点的下级节点存储空间之和。基于目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值;基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。在待配置节点的下级节点的存储空间之和一定的情况下,预测比值越小,为待配置节点分配的存储空间越小,从而节省了存储空间资源。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为回源树的结构示意图;

图2为本申请实施例提供的资源分配方法的流程图;

图3为本申请实施例提供的目标曲线的示意图;

图4为本申请实施例提供的资源分配方法中获取目标曲线的流程图;

图5为本申请实施例提供的资源分配装置的结构图;

图6为本申请实施例提供的电子设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

回源树包含的idc节点的类型如下:

根节点:没有上级父节点的节点,如图1中idc节点a,根节点在回源树中表示源站。

叶子节点:没有下级节点的节点,如图1中idc节点k、idc节点l、idc节点f、idc节点g、idc节点m、idc节点i、idc节点j;叶子节点在回源树中表示边缘idc节点。

中间节点:除了根节点和叶子节点,剩下节点为中间节点。

目前每个idc节点存储空间的配置方式如下:首先根据实际业务流量确定idc节点的出口带宽(即宽带负载能力);然后基于跑满带宽的流量以及磁盘读写速度,得到idc节点所需磁盘的数目(可以理解的是,若每个磁盘存储空间相同,磁盘数目决定了存储空间的大小);可选的,计算所需磁盘的数目的公式如下:出口带宽÷磁盘读写速度=磁盘数目;假设idc节点e的出口带宽为80gb,磁盘读写速度为100mb/s,在带宽利用率为100%的情况下(实际业务场景中低于100%),需要配置的磁盘块数为:80(出口带宽)*1000(由gb转换成mb)÷8(由bit转换成byte)÷100(磁盘读写速度)=100块。那么idc节点e所需要配置的磁盘数目为100。

上述回源树可以应用于cdn系统,上述存储空间的配置方式仅仅从出口带宽角度配置idc节点的存储空间,并没有考虑存储空间对于命中概率的影响。本申请实施例提供了一种资源分配方法,可以在存储空间(例如磁盘数目)一定的情况下,对待配置节点的存储空间进行配置,使得待配置节点的命中概率最高;或,在命中概率一定的情况下,对待配置节点的存储空间进行配置,使得利用的磁盘数目最少,从而节省资源。

该资源分配方法可以应用于电子设备,例如服务器或服务器集群或云计算服务中心等设备。cdn系统可以包括该电子设备,上述电子设备可以调节回源树包含的各idc节点的存储空间分配。

下面对本申请实施例提供的资源分配方法进行说明。

请参阅附图2,为本申请实施例提供的资源分配方法的流程图,该方法包括:

步骤s201:获取目标曲线。

其中,所述目标曲线中每一点用于表征一非叶子节点,所述目标曲线中的一点通过第一参数与第二参数表征,所述第一参数表征该非叶子节点的预测命中概率,所述预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;所述第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,所述预测比值为该非叶子节点的存储空间与第一值的比值;所述第一值为该非叶子节点的下级节点存储空间之和。

可选的,第一参数可以为该非叶子节点的预测命中概率,第二参数可以为该非叶子节点在该预测命中概率下最小的预测比值;可选的,第一参数为该非叶子节点的预测命中概率,第二参数可以为该非叶子节点在该预测命中概率下第一值和与该节点的存储空间的最大的预测比值。可选的,第一参数还可以为该非叶子节点的预测命中概率与常量进行预设运算的结果,第二参数还可以为该非叶子节点在该预测命中概率下最小的预测比值与常量进行所述预设运算的结果。

可选的,目标曲线可为以第一参数为自变量,第二参数为因变量的函数;或者,目标曲线可为以第一参数为因变量,第二参数为自变量的函数。

下面以图1为例对最小的预测比值进行说明。

假设在一回源树中,idc节点b的存储空间已经被配置为80gb,idc节点b的下级节点包括:idc节点e以及idc节点f,idc节点b的下级节点存储空间之和=idc节点e的存储空间+idc节点f的存储空间,假设idc节点e的存储空间+idc节点f的存储空间=10gb,那么,此时idc节点b的存储空间与idc节点b的下级节点存储空间之和的预测比值为8。

假设将idc节点b作为待配置节点,若idc节点b的指定预测命中概率为0.8,可以理解的是,在idc节点b的下级节点的存储空间一定的情况下,idc节点b的存储空间越大,idc节点b的命中概率越高,假设在idc节点b的预测命中概率不低于0.8的情况下,经过目标曲线得到的最小的预测比值可以为2,可以理解的是,若比值为3或4或5或6都能满足idc节点的指定命中概率不低于0.8,但是最小的预测比值为2,因为低于2的预测比值会导致idc节点的命中概率低于0.8,不满足要求。

可以理解的是,在预测命中概率一定的情况下,比值(即idc节点b的存储空间与idc节点b的下级节点存储空间之和的比值)越小,为idc节点b分配的存储空间(例如,磁盘数目)越少;比值越大,为idc节点b分配的存储空间(例如,磁盘数目)越大。

例如,假设比值为8,若idc节点b的下级节点存储空间之和为1gb,那么需要为idc节点b分配8gb的存储空间;若比值为2,若idc节点b的下级节点存储空间之和为1gb,那么需要为idc节点b分配2gb的存储空间,综上,在下级节点存储空间之和一定的情况下,比值越小,为上级节点分配的存储空间越小,可以节省资源。而利用本申请实施例提供的资源分配方法即可以在一定的命中概率下得到最小的预测比值。

可选的,不同网络运营商之间具有高昂的跨网带宽费用,因此,一般具有上下级关系的节点属于同一运营商,且属于同一区域范围内。因为若属于上下级关系的节点不属于同一区域范围,则在进行回源请求时可能需要跨不同运营商,导致高昂的跨网带宽费用,且,若不属于同一区域范围,则回源请求的时间较长,导致获取资源的服务延时较长。

综上,可以基于各节点是否属于同一区域范围,和/或,各节点是否属于同一运营商,和/或,各节点的出口带宽,确定各节点的上下级关系。

可选的,为了实际业务需求,每个叶子节点的存储空间均具有一个最小值,例如,实际业务需求对应的业务参数包括:带宽利用率(此带宽利用率可以为实际带宽利用率或100%)、磁盘读写速度以及出口带宽;可以基于业务参数确定叶子节点的存储空间。例如,利用公式出口带宽÷磁盘读写速度=磁盘数目,确定叶子节点的存储空间。

可选的,本申请实施例中可以从下级节点为叶子节点的节点开始,采用本申请实施例提供的资源分配方法,依次向上逐层确定各中间节点以及根节点的存储空间。例如,首先基于业务参数确定叶子节点(以图1为例,idc节点k、idc节点l、idc节点f、idc节点g、idc节点m、idc节点i以及idc节点j)的存储空间;然后,确定中间节点(例如,idc节点e、idc节点c、idc节点h)的存储空间;再次确定中间节点(例如,idc节点b、idc节点d)的存储空间;最后确定根节点(idc节点a)的存储空间。

步骤s202:基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值。

指定预测命中概率可以为大于0,且小于或等于1的任意值。

步骤s203:基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。

步骤s202以及步骤s203的实现方式有多种,本申请实施例提供但不限于以下几种。

第一种,若实际业务需求中,对待配置节点的命中概率的大小无限制,待配置的存储空间(例如磁盘数量)无限制;那么可以基于目标曲线,对预测命中概率与预测比值进行权衡,权衡实际业务对命中概率以及存储空间配置的优劣,得到最优的预测命中概率和与其对应的最小的目标预测比值。然后,基于该待配置节点的下级节点的存储空间之和与该最小的目标预测比值,确定待配置节点的存储空间。实现利用存储空间较小的情况下的命中概率较高的目的。

为了本领域技术人员更加理解本申请实施例提供的资源分配方法,下面举一具体例子进行说明,如图3所示,为本申请实施例提供的目标曲线的示意图。

从图3中可以看出,图3所示的目标曲线以第二参数作为自变量,第一参数作为因变量。

从图3中可以看出,随着命中概率的增加,上级节点存储空间与下级节点存储空间之和的比值逐渐增大;例如,若需要上级节点的命中概率达到80%,需要配置上级节点存储空间与下级节点存储空间之和的比值为2,即上级节点的存储空间为下级节点存储空间之和的2倍;若需要上级节点的命中概率为90%,那么需要配置上级节点的存储空间为下级节点存储空间之和的2.5倍,即上级节点的存储空间为下级节点存储空间之和的2.5倍。

假设指定预测命中概率为0.9,从图3中可以看出在预测比值为2.5时,预测命中概率达到0.9;当预测比值大于2.5时,预测命中概率上升的并不明显,权衡利弊,可以确定预测命中概率为0.9对应最小的目标预测比值2.5;假设下级节点的存储空间之和为1gb,那么该待配置节点的存储空间未2.5gb。

第二种,若实际业务需求中,要求待配置节点的命中概率大于或等于指定预测命中概率,但是对待配置的存储空间(例如磁盘数量)无限制;那么可以基于目标曲线,得到在命中概率大于或等于指定预测命中概率的情况下的至少一个最小的预测比值,可以从中选择任意一个作为目标预测比值;基于待配置节点的下级节点的存储空间之和以及选择的目标预测比值,确定待配置节点的存储空间大小。从而实现了在命中概率一定的前提下,达到利用存储空间最小的目的。

假设指定预测命中概率为0.7,从图3中可以看出命中概率大于或等于0.7时,对应的预测比值大于或等于1.5,即预测命中概率大于或等于0.7对应有多个最小的预测比值,例如,预测命中概率0.8对应一最小的预测比值;可选的,可以从多个最小的预测比值中选择最小的目标预测比值。

第三种,若实际业务需求中,要求待配置节点的待配置的存储空间数量小于或等于第二预设值,对命中概率无要求,那么可以基于第二预设值与待配置节点的下级节点的存储空间之和,确定可能的预测比值;基于目标曲线以及可能的预测比值,确定命中概率最大时对应的最小的目标预测比值;基于待配置节点的下级节点的存储空间之和以及最小的目标预测比值,确定待配置节点的存储空间。从而实现了在存储空间数量一定的前提下,达到命中概率最高的目的。

若第二预设值为6gb,假设待配置节点的下级节点的存储空间之和为4gb,那么可以确定最大的预测比值为6/4=1.5,那么待配置节点的命中概率最高为0.7,可以确定1.5为预测命中概率0.7下的最小的目标预测比值;可选的,也可以确定小于1.5的预测比值作为最小的目标预测比值,例如,确定1为最小的目标预测比值,那么与该最小的目标预测比值对应的预测命中概率为0.5。

本申请实施例提供了一种资源分配方法,首先获取目标曲线,目标曲线中每一点表征一非叶子节点,目标曲线中的一点通过第一参数与第二参数表征,第一参数表征该非叶子节点的预测命中概率,预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,预测比值为该非叶子节点的存储空间与第一值的比值;第一值为该非叶子节点的下级节点存储空间之和。基于目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值;基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。在待配置节点的下级节点的存储空间之和一定的情况下,预测比值越小,为待配置节点分配的存储空间越小,从而节省了存储空间资源。

如图4所示,为本申请实施例提供的资源分配方法中获取目标曲线的流程图,该方法包括:

步骤s401:针对所述回源树包含的每一非叶子节点,获取该非叶子节点的存储空间与其下级节点存储空间之和的实际比值,以及,该非叶子节点存储有自身接收到回源请求对应的资源的实际命中概率。

可选的,步骤s401的具体实现方法包括:

步骤一:获取所述回源树包含的各节点的上下级关系参数,所述上下级关系参数包括:至少一个节点分别对应的下级节点集合,一个节点对应的下级节点集合包括至少一个下级节点。

可选的,回源树包含的各节点的上下级关系参数可以存储在cdn系统包含的数据库中,可选的,数据库可以存储在电子设备中,或者,数据库可以与电子设备独立。

可选的,可以通过追溯多条回源路径,获得上下级关系参数。

回源路径是指回源请求所经过的节点组成的路径,仍以图1为例,假设终端设备的用户需要获取视频资源,向idc节点e发送回源请求,若idc节点e的存储空间未存储有该视频资源,那么idc节点e向idc节点b发起回源请求,若idc节点b的存储空间未存储有该视频资源,那么idc节点b向idc节点a发起回源请求;若idc节点a的存储空间存储有该视频资源,则idc节点a可以将该视频资源通过idc节点b、idc节点e传输至终端设备;那么idc节点e、idc节点b、idc节点a组成一条回源路径。

步骤二:获取所述回源树包含的各节点分别对应的存储空间。

可选的,各节点分别对应的存储空间可以存储在cdn系统包含的数据库中,可选的,数据库可以存储在电子设备中,或者,数据库可以与电子设备独立。

可选的,数据库中可以记录有每个idc节点包含服务器的数目,每个服务器包含磁盘的数目(假设每个磁盘的存储空间相同),假设idc节点包括服务器1和服务器2,可选的,可以通过以下公式得到每个idc节点的存储空间;idc节点存储空间=服务器1包含的磁盘数目*磁盘的存储空间+服务器2包含的磁盘数目*磁盘的存储空间。

步骤三:基于各节点分别对应的存储空间以及各节点的上下级关系参数,确定各非叶子节点的存储空间与其自身的下级节点的存储空间之和的实际比值。

步骤四:获取所述回源树中各非叶子节点分别接收到的回源请求数目,以及各非叶子节点分别对应的回源请求命中数目。

可选的,可以从日志中获取回源请求的数目;可以理解的是,日志中不仅包括回源请求还包括同步请求;同步请求是指若上级节点获取新资源后,会将该新资源同步到自身的下级节点上,这个过程为同步请求。

在日志中回源请求对应的标识与同步请求对应的标识不同,在从日志中获取回源请求的数目的过程中,可以通过标识区分回源请求以及同步请求。

日志中记录有各节点分别接收到的回源请求,不同节点对应的节点标识不同;可以基于节点标识,区别回源请求对应哪个节点。

若回源请求命中,则日志记录该回源请求对应的命中标识,例如,hit;若回源请求未被命中,则日志记录该回源请求对应的未命中标识,例如,miss。

可以基于命中标识和未命中标识,区别回源请求是否被命中。

下面对命中和未命中进行说明。仍以图1为例,假设终端设备的用户需要获取视频资源,向idc节点e发送回源请求,若idc节点e的存储空间未存储有该视频资源,那么idc节点e向idc节点b发起回源请求,若idc节点b的存储空间未存储有该视频资源,那么idc节点b向idc节点a发起回源请求;若idc节点a的存储空间存储有该视频资源,则idc节点a可以将该视频资源通过idc节点b、idc节点e传输至终端设备;那么idc节点e、idc节点b、idc节点a组成一条回源路径。

在上述过程中,idc节点e、idc节点b以及idc节点a分别接收到一个回源请求;对于idc节点e、idc节点b而言,该回源请求未命中,对于idc节点a而言,该回源请求命中。

步骤五:基于各非叶子节点分别接收到的回源请求数目以及各非叶子节点分别对应的回源请求命中数目,确定各非叶子节点分别对应的实际命中概率。

可选的,一个非叶子节点的实际命中概率=该非叶子节点的命中的回源请求数目/该非叶子节点的回源请求总数目。

可选的,通过上述步骤一至步骤五,针对每个非叶子节点可以得到一个三元组(该节点下级节点数量,该节点的实际比值,该节点的实际命中概率)。

步骤s402:基于所述回源树包含的各非叶子节点分别对应的实际比值以及实际命中概率,获取目标曲线。

可选的,步骤s402的具体实现方式可以包括:

步骤一:针对所述回源树包含的每一非叶子节点,将该非叶子节点对应的实际比值以及实际命中概率作为一个拟合坐标点。

可选的,针对每个非叶子节点可以得到一个拟合坐标点,拟合坐标点可以为(该节点的实际比值,该节点的实际命中概率)。

步骤二:基于各非叶子节点分别对应的拟合坐标点,拟合得到所述目标曲线。

可选的,可以采用局部加权线性回归算法拟合得到所述目标曲线。

可选的,步骤二的实现方式可以如下:

步骤二一:基于各非叶子节点分别对应的实际命中概率对各非叶子节点进行排序,以得到目标集合,所述目标集合包含排序后的各非叶子节点。

步骤二二:针对每一个非叶子节点,基于该非叶子节点的拟合坐标点以及相邻节点集合包含的相邻节点的拟合坐标点,拟合得到子曲线。

其中,在所述目标集合中相邻两个节点分别对应的子曲线中具有至少一个相同的非叶子节点;所述相邻节点集合包括在所述目标集合中与该非叶子节点相邻的节点。

可选的,基于该非叶子节点的拟合坐标点以及相邻节点集合包含的相邻节点的拟合坐标点,拟合得到子曲线包括:

步骤二二一:确定步长参数,所述步长参数用于表征所述相邻节点集合包含的相邻节点的数目。

可选的,步长参数表征目标集合中与该非叶子节点一侧相邻的节点数目。假设步长参数为0,则相邻节点集合包括的相邻节点的数目为0;若步长参数为1,则相邻节点集合包含的相邻节点数目为2;若步长参数为2,则相邻节点集合包含的相邻节点数目为4;仍以图1为例,假设按照实际命中概率升序排序的结果为:idc节点h、idc节点e、idc节点d、idc节点c、idc节点b、idc节点a;假设当前非叶子节点为idc节点c,若步长参数为1,那么相邻节点集合包括:idc节点d以及idc节点b;若步长参数为2,那么相邻节点集合包括:idc节点e、idc节点d、idc节点b、idc节点a。

可选的,步长参数表征目标集合中与该非叶子节点左侧(或右侧)相邻的节点数目。假设步长参数为0,则相邻节点集合包括的相邻节点的数目为0;若步长参数为1,则相邻节点集合包含的相邻节点数目为1;若步长参数为2,则相邻节点集合包含的相邻节点数目为2;仍以图1为例,假设按照实际命中概率升序排序的结果为:idc节点h、idc节点e、idc节点d、idc节点c、idc节点b、idc节点a;假设当前非叶子节点为idc节点c,若步长参数为1,那么相邻节点集合包括:idc节点d(或者,相邻节点集合包括:idc节点b);若步长参数为2,那么相邻节点集合包括:idc节点e、idc节点d(或者,相邻节点集合包括:idc节点c、idc节点b)。

可选的,步长参数为任意正整数。

步骤二二二:获取该非叶子节点的第一误差,以及,所述相邻节点集合包含的相邻节点的第二误差;其中,第一误差表征该非叶子节点的预测比值与实际比值的差值,一个相邻节点的第二误差表征该相邻节点的预测比值与实际比值的差值。

可选的,获取该非叶子节点的第一误差包括:

获取所述相邻节点集合包含的相邻节点相对于该非叶子节点的加权权重,一个相邻节点相对于该非叶子节点的加权权重与所述目标集合中该相邻节点与该非叶子节点之间相隔节点的数目呈负相关;基于所述相邻节点集合包含的相邻节点的实际比值以及相对于该非叶子节点的加权权重,获得该非叶子节点的预测比值;基于该非叶子节点的预测比值以及实际比值,获得所述第一误差。

可选的,第i个相邻节点相对于该非叶子节点的加权权重的计算公式如下:

其中,i表示相邻节点集合包含的第i个相邻节点,index(xi)表示第i个相邻节点按照命中概率排序后的索引位置,τ表示步长参数,wi表示第i个相邻节点相对于该非叶子节点的加权权重,x表示该非叶子节点的实际命中概率,index(x)表示该非叶子节点按照命中概率排序后的索引位置。

由于,index(xi)表示第i个相邻节点按照命中概率排序后的索引位置,index(x)表示该非叶子节点按照命中概率排序后的索引位置,那么index(x)-index(xi)可以表征该相邻节点与该非叶子节点之间相隔节点的数目。

可以看到,一个相邻节点相对于该非叶子节点的加权权重与所述目标集合中该相邻节点与该非叶子节点之间相隔节点的数目呈负相关,即,一个相邻节点相对于该非叶子节点的加权权重,随着所述目标集合中该相邻节点与该非叶子节点之间相隔节点的数目的增大而减小,减小而增大。

可选的,目标集合中包含的排序后的非叶子节点的索引位置可以依次为:1、2、3…;或,0、1、2、3…。仍以图1为例,假设按照实际命中概率升序排序的结果为:idc节点h、idc节点e、idc节点d、idc节点c、idc节点b、idc节点a;假设该非叶子节点为idc节点c,可选的,idc节点h的索引index(x1)=1,idc节点e的索引index(x2)=2、idc节点d的索引index(x3)=3、idc节点c的索引index(x)=4、idc节点b的索引index(x5)=5、idc节点a的索引index(x6)=6。

本申请实施例利用上述指数衰减函数控制了加权权重随着该相邻节点与该非叶子节点之间相隔节点的数目的增加的下降速率。

可选的,获取该非叶子节点的预测比值y'的公式如下:

y'=((xtwx)-1xtwy)t*x;

其中,x表示相邻概率集合中各非叶子节点的实际命中概率组成的矩阵;xt为矩阵x的转置;w表示相邻概率集合中各非叶子节点相对于当前的非叶子节点的加权权重组成的矩阵;y表当前的非叶子节点的实际比值。

可选的,利用以下公式获得第一误差:(y-y')2

可选的,获取所述相邻节点集合包含的节点的第二误差包括:

获取所述相邻节点集合包含的节点相对于该非叶子节点的加权权重,一个相邻节点相对于该非叶子节点的加权权重与所述目标集合中该相邻节点与该非叶子节点之间相隔节点的数目呈负相关;

基于所述相邻节点集合包含的相邻节点的预测比值、实际比值以及该节点相对于该非叶子节点的加权权重,获得第二误差。

可选的,利用以下公式获得第二误差:wi(yi-yi')2;其中,yi表示相邻节点集合中第i个相邻节点的实际比值,yi'表示相邻节点集合中第i个相邻节点的预测比值。

步骤二二三:在所述第一误差和第二误差之和最小情况下,拟合得到所述子曲线。

可选的,可以利用以下公式得到第一误差和第二误差之和最小:

其中,n为相邻节点集合包含的相邻节点数目+1。

步骤二三:获得多个非叶子节点分别对应的子曲线拼接而成的所述目标曲线。

可以理解的是,回源树包括多个非叶子节点,可以理解的是,仅有在非叶子节点的下级节点的存储空间确定后,才能基于下级节点存储空间之和以及最小的目标预测比值,确定该非叶子节点的存储空间。可选的,可以由下级节点为叶子节点的非叶子节点逐层确定各非叶子节点的存储空间。可选的,所述至少基于所述目标曲线,确定待配置节点在指定预测命中概率下最小的目标预测比值包括:

将回源树包含的未配置的至少一个非叶子节点,确定为待配置节点;

基于所述目标曲线,确定所述待配置节点在指定预测命中概率下最小的目标预测比值。

本申请实施例中待配置节点可以有多个或一个。

可选的,本申请实施例提供的资源分配方法还包括:

调整所述待配置节点的存储空间,以达到所述最小存储空间;

在所述待配置节点的存储空间为所述最小存储空间下,获取所述待配置节点的实际命中率;

若所述待配置节点的实际命中率与所述预测命中率的差值大于预设值,将所述待配置节点的存储空间变更为初始存储空间。

可选的,若所述待配置节点的实际命中率与所述预测命中率的差值小于或等于预设值,维持所述待配置节点对应的最小存储空间。

本申请实施例中“未配置的至少一个非叶子节点”是指,未采用本申请实施例提供的资源分配方法进行存储空间分配的非叶子节点。

可选的,预设值可以根据实际情况而定。

可以理解的是,利用本申请实施例提供的资源分配方法,利用较少的存储空间可以达到较高的命中率,可能并不是所有的节点都适合本申请实施例提供的资源分配方法,若某个节点利用本申请实施例提供的资源分配方法分配存储空间后,发现其实际的命中概率与预测命中概率差距较大,例如,实际命中概率低于预测命中概率,且差值大于预设值,说明该节点不适合利用本申请实施例提供的资源分配方法分配存储空间,此时可以将该节点的存储空间变更为初始存储空间。

上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。

如图5所示,为本申请实施例提供的资源分配装置的结构图,该资源分配装置包括:

第一获取模块51,用于获取目标曲线;

其中,所述目标曲线中每一点用于表征一非叶子节点,所述目标曲线中的一点通过第一参数与第二参数表征,所述第一参数表征该非叶子节点的预测命中概率,所述预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;所述第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,所述预测比值为该非叶子节点的存储空间与第一值的比值;所述第一值为该非叶子节点的下级节点存储空间之和;

第一确定模块52,用于基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值;

第二获取模块53,用于基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。

可选的,第一获取模块包括:

第一获取单元,用于针对回源树包含的每一非叶子节点,获取该非叶子节点的存储空间与其下级节点存储空间之和的实际比值,以及,该非叶子节点存储有自身接收到回源请求对应的资源的实际命中概率;

第二获取单元,用于基于所述回源树包含的各非叶子节点分别对应的实际比值以及实际命中概率,获取目标曲线。

可选的,第二获取单元包括:

第一获取子单元,用于针对所述回源树包含的每一非叶子节点,将该非叶子节点对应的实际比值以及实际命中概率作为一个拟合坐标点;

拟合单元,用于基于各非叶子节点分别对应的拟合坐标点,拟合得到所述目标曲线。

可选的,拟合单元包括:

第一获取子模块,用于基于各非叶子节点分别对应的实际命中概率对各非叶子节点进行排序,以得到目标集合,所述目标集合包含排序后的各非叶子节点;

拟合子模块,用于针对每一个非叶子节点,基于该非叶子节点的拟合坐标点以及相邻节点集合包含的相邻节点的拟合坐标点,拟合得到子曲线;

其中,在所述目标集合中相邻两个节点分别对应的子曲线中具有至少一个相同的非叶子节点;所述相邻节点集合包括在所述目标集合中与该非叶子节点相邻的节点;

第二获取子模块,用于获得多个非叶子节点分别对应的子曲线拼接而成的所述目标曲线。

可选的,拟合子模块包括:

确定步长子模块,用于确定步长参数,所述步长参数用于表征所述相邻节点集合包含的相邻节点的数目;

获取误差子模块,用于获取该非叶子节点的第一误差,以及,所述相邻节点集合包含的相邻节点的第二误差;其中,第一误差表征该非叶子节点的预测比值与实际比值的差值,一个相邻节点的第二误差表征该相邻节点的预测比值与实际比值的差值;

拟合曲线子模块,用于在所述第一误差和第二误差之和最小情况下,拟合得到所述子曲线。

可选的,获取误差子模块包括:

获取加权权重子模块,用于获取所述相邻节点集合包含的相邻节点相对于该非叶子节点的加权权重,一个节点相对于该非叶子节点的加权权重与所述目标集合中该节点与该非叶子节点之间相隔节点的数目呈负相关;

获取预测比值子模块,用于基于所述相邻节点集合包含的节点的实际比值以及相对于该非叶子节点的加权权重,获得该非叶子节点的预测比值;

获取第一误差子模块,用于基于该非叶子节点的预测比值以及实际比值,获得所述第一误差。

可选的,第一确定模块包括:

第一确定单元,用于将回源树包含的未配置的至少一个非叶子节点,确定为待配置节点;

第二确定单元,用于基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值。

可选的,还包括:

调整模块,用于调整所述待配置节点的存储空间,以达到所述最小存储空间;

第三获取模块,用于在所述待配置节点的存储空间为所述最小存储空间下,获取所述待配置节点的实际命中率;

变更模块,用于若所述待配置节点的实际命中率与所述预测命中率的差值大于所述预设值,将所述待配置节点的存储空间变更为初始存储空间。

如图6所示,为本申请实施例提供的电子设备的结构图,该电子设备包括:

存储器61,用于存储程序;

处理器62,用于执行所述程序,所述程序具体用于:

获取目标曲线;

其中,所述目标曲线中每一点用于表征一非叶子节点,所述目标曲线中的一点通过第一参数与第二参数表征,所述第一参数表征该非叶子节点的预测命中概率,所述预测命中概率为该非叶子节点存储有接收到的回源请求对应资源的概率;所述第二参数表征该非叶子节点在该预测命中概率下最小的预测比值,所述预测比值为该非叶子节点的存储空间与第一值的比值;所述第一值为该非叶子节点的下级节点存储空间之和;

基于所述目标曲线,确定待配置节点在指定预测命中概率下的最小的目标预测比值;

基于所述最小的目标预测比值以及所述待配置节点的下级节点的存储空间之和,获取所述待配置节点的最小存储空间。

存储器61中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器61可以包括只读存储器(read-onlymemory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(randomaccessmemory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。

处理器62可以是通用处理器,例如通用中央处理器(cpu)、网络处理器(networkprocessor,简称np)、微处理器等,也可以是特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

处理器62可包括主处理器,还可包括基带芯片、调制解调器等。

电子设备还可以包括通信接口63以及通信总线64,其中,存储器61、处理器62以及通信接口63通过通信总线64完成相互间的通信。

可选的,通信接口可以为通信模块的接口,如gsm模块的接口。

本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如任一所述的资源分配方法包含的各个步骤。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置或系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1