内容分发网络及其负载预测均衡方法与流程

文档序号:11778503阅读:136来源:国知局
内容分发网络及其负载预测均衡方法与流程

本申请涉及内容分发网络技术领域,特别地,涉及一种内容分发网络及其负载预测均衡方法。



背景技术:

随着互联网的快速发展,智能电视的普及,网络数据流量成倍增长,会出现网络拥塞并出现影响业务应用体验的情况。内容分发网络(cdn,contentdeliverynetwork)作为一种能够提高互联网内容传输效率的系统,特别针对视频等多媒体内容传输的服务质量效率能得到很大提升,得到越来越广泛的应用。cdn是基于网络和部署在各地的边缘服务器,利用中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,从而降低网络拥塞,提高用户访问的响应速度和命中率。

但现有cdn系统在为用户终端分配cdn服务资源时,一般仅考虑边缘服务器的负载情况、离用户距离的远近等因素,而没有考虑边缘服务器的负载变化趋势,因此有可能使导向的边缘服务器迅速就达或超过其最大负载,使该服务器已提供服务的用户出现服务异常的情况,出现用户体验效果下降的问题。



技术实现要素:

本申请提供一种内容分发网络及其负载预测均衡方法,用于解决现有技术没有考虑边缘服务器的负载趋势、可能会因异常数据导致的大规模导向而影响服务器的稳定性以及系统服务质量的问题。

本申请公开的一种内容分发网络的负载预测均衡方法,所述内容分发网络设置有通过网络连接的全局负载均衡器和二个以上直接为客户端提供内容服务的边缘缓存节点,在所述全局负载均衡器侧,所述方法包括:接收客户端发出的服务请求;获取各边缘缓存节点当前状态下的单连接平均带宽,利用预设统计周期内的历史数据生成各边缘缓存节点对应的预测带宽;以预测带宽大于或等于预设服务带宽为筛选条件,筛选一个或多个满足所述筛选条件的边缘缓存节点返回给所述客户端。

优选的,利用预设统计周期内的历史数据生成各边缘缓存节点对应的预测带宽,具体为:以边缘缓存节点当前数据采集周期的单连接平均带宽s为输入参数,采用卡尔曼滤波算法生成该边缘缓存节点的单连接带宽kt;以预设带宽变化周期内该边缘缓存节点的最大带宽增益g和最大带宽减益d、以及该边缘缓存节点在上个数据采集周期的单连接带宽kt-1为调节参数,对该边缘缓存节点当前数据采集周期的单连接带宽kt进行调整,生成该边缘缓存节点的预测带宽ktg。

优选的,所述边缘缓存节点的预测带宽ktg利用下列公式计算生成:

当kt≥kt-1时,ktg=kt+∣kt-kt-1∣/g

当kt<kt-1时,ktg=kt-∣kt-kt-1∣/d

其中,kt和kt-1分别表示所述边缘缓存节点在当前数据采集周期和上个数据采集周期的单连接带宽;ktg表示所述边缘缓存节点的预测带宽;g表示预设带宽变化周期内所述边缘缓存节点的最大带宽增益;d表示预设带宽变化周期内所述边缘缓存节点的最大带宽减益。

优选的,所述服务请求包括待请求介质数据的信息、客户端的地址信息及其网络接入运营商信息;所述筛选一个或多个满足筛选条件的边缘缓存节点返回给所述客户端,具体包括:根据所述客户端的地址信息确定所述客户端所在区域;判断所述客户端所在区域内、与所述网络接入运营商相同的满足所述筛选条件的边缘缓存节点的数量是否达到所述客户端要求的数量;若是,则采用速度优先策略将上述满足所述筛选条件的边缘缓存节点返回给客户端;若否,采用地域优先或网络优先策略选择其他区域或以其他网络接入运营商作为接入网络的边缘缓存节点,直至满足所述筛选条件的边缘缓存节点的数量达到所述客户端要求的数量。

优选的,所述筛选条件还包括:所述边缘缓存节点中与所述待请求介质数据相同的服务请求数小于该待请求介质数据的预设介质并发阈值。

优选的,所述内容分发网络存储有根据客户端的服务请求为介质数据设置的热度值;所述筛选条件还包括:所述边缘缓存节点中与所述待请求介质数据的热度值相同的负载比例小于预设比例阈值。

优选的,所述边缘缓存节点设置有固态硬盘和机械硬盘;所述筛选条件还包括:优先选择将所述待请求介质数据缓存在固态硬盘中的边缘缓存节点。

本申请公开的一种内容分发网络,所述内容分发网络设置有通过网络连接的全局负载均衡器和二个以上直接为客户端提供内容服务的边缘缓存节点,所述全局负载均衡器包括:服务请求接收模块,用于接收客户端发出的服务请求;服务带宽预测模块,用于获取各边缘缓存节点当前状态下的单连接平均带宽,利用预设统计周期内的历史数据生成各边缘缓存节点对应的预测带宽;服务节点筛选模块,用于以预测带宽大于或等于预设服务带宽值为筛选条件,筛选一个或多个满足所述筛选条件的边缘缓存节点返回给所述客户端。

优选的,所述服务带宽预测模块具体包括:卡尔曼滤波子模块,用于以各边缘缓存节点的单连接平均带宽s为输入参数,利用卡尔曼滤波算法生成各边缘缓存节点的单连接带宽kt;历史数据统计子模块,用于统计预设带宽变化周期内各边缘缓存节点的最大带宽增益g和最大减益d;预测带宽计算子模块,用于以预设带宽变化周期内边缘缓存节点的最大带宽增益g和最大带宽减益d、以及该边缘缓存节点在上个数据采集周期的单连接带宽kt-1为调节参数,对该边缘缓存节点当前数据采集周期的单连接带宽kt进行调整,生成该边缘缓存节点的预测带宽ktg。

优选的,所述边缘缓存节点设置有区域负载均衡器和二个以上的流媒体服务器及其介质缓存节点,其中:所述区域负载均衡器用于获取并向所述全局负载均衡器上报所述边缘缓存节点中各流媒体服务器的状态,以及根据各流媒体服务器的状态将所述全局负载均衡器重定向的服务请求分配给合适的流媒体服务器;所述流媒体服务器用于把所述介质缓存节点缓存的介质数据返回给客户端。

与现有技术相比,本申请具有以下优点:

本申请优选实施例全局负载均衡器通过采集各边缘缓存节点的当前带宽及其历史数据,预测各边缘缓存节点的负载趋势,并采用边缘缓存节点的预测带宽作为服务导向的依据,可以有效防止高峰期过多导向到接近满负荷的机器的情况,实现过载保护,保障了用户的观影体验。

附图说明

图1为本申请内容分发网络的负载预测均衡方法第一实施例的流程图;

图1-1图1所示的实施例中步骤s101的具体流程图;

图1-2图1所示的实施例中步骤s102的具体流程图;

图2为本申请内容分发网络的负载预测均衡方法第二实施例的流程图;

图3为本申请内容分发网络第一实施例的结构示意图;

图4为本申请内容分发网络第二实施例的结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

参照图1,示出了本申请内容分发网络的负载预测均衡方法第一实施例的流程,在本方法实施例中,内容分发网络设置有通过网络连接的全局负载均衡器(gslb,globalserviceloadbalance)和二个以上直接为客户端提供内容服务的边缘缓存节点(可以根据实际运营需要分布在不同地理位置),所述方法由全局负载均衡器执行,所述方法具体包括:

步骤s100:接收用户通过客户端发出的服务请求。

步骤s101:获取各边缘缓存节点当前状态下的单连接平均带宽,利用预设统计周期内的历史数据生成各边缘缓存节点对应的预测带宽。

本优选实施例中,为了解决异常噪声数据的影响,采用卡尔曼滤波算法对系统采集的各边缘缓存节点的带宽值进行处理,具体的,以边缘缓存节点当前数据采集周期的单连接平均带宽s为输入参数,采用卡尔曼滤波算法生成该边缘缓存节点的单连接带宽kt。

后续的带宽预测,具体为:以预设带宽变化周期内该边缘缓存节点的最大带宽增益g和最大带宽减益d、以及该边缘缓存节点在上个数据采集周期的单连接带宽kt-1为调节参数,对该边缘缓存节点当前数据采集周期的单连接带宽kt进行调整,生成该边缘缓存节点的预测带宽ktg。

在进一步的优选实施例中,上述利用预设统计周期内的历史数据生成各边缘缓存节点对应的预测带宽的方法如图1-1所示,包括:

步骤s101-1:采集各边缘缓存节点的单连接平均带宽s;

具体实施时,可以对采集到的边缘缓存节点的实际出口带宽值l(单位kb/s)和该节点当前的有效连接数c采用如下公式计算,获得该节点的单连接平均带宽s:

s=l/c

步骤s101-2:利用卡尔曼滤波算法生成单连接带宽kt;

具体实施时,可以边缘缓存节点当前数据采集周期的单连接平均带宽s为输入参数,采用现有卡尔曼滤波算法,对数据进行回归迭代,生成该边缘缓存节点的单连接带宽kt;

具体实施时,可基于下述卡尔曼滤波算法公式进行计算。

假设现在的系统状态是k,根据系统的模型,可以基于系统的上一状态而预测出现在状态:

x(k|k-1)=ax(k-1|k-1)+bu(k)………..(1)

公式(1)中,x(k|k-1)是利用上一状态预测的结果,x(k-1|k-1)是上一状态最优的结果,u(k)为k时刻(现在状态)的控制量,如果没有控制量,它可以为0;a和b是系统参数,对于多模型系统,a和b为矩阵。

至此,系统结果已经更新,但对应于x(k|k-1)的协方差(用p表示)还没更新。

p(k|k-1)=ap(k-1|k-1)a’+q………(2)

公式(2)中,p(k|k-1)是x(k|k-1)对应的协方差,p(k-1|k-1)是x(k-1|k-1)对应的协方差,a’表示a的转置矩阵,q是系统过程的协方差。。

至此,已经得到现在状态的预测结果,然后再收集现在状态的测量值。结合预测值和测量值,即可得到现在状态(k)的最优化估算值x(k|k):

x(k|k)=x(k|k-1)+kg(k)(z(k)-hx(k|k-1))………(3)

公式(3)中,x(k|k)为(k)的最优化估算值,kg为卡尔曼增益,z(k)是k时刻的测量值,h是测量系统的参数,对于多测量系统,h为矩阵。

kg(k)=p(k|k-1)h’/(hp(k|k-1)h’+r)………(4)

公式(4)中,h’表示h的转置矩阵,r是系统过程的协方差。

至此,已经得到了k状态下最优的估算值x(k|k)。为了使卡尔曼滤波器不断的运行下去直到系统过程结束,还要更新k状态下x(k|k)的协方差:

p(k|k)=(i-kg(k)h)p(k|k-1)………(5)

公式(5)中,i为1的矩阵,对于单模型测量,i=1。

当系统进入k+1状态时,p(k|k)就是式子(2)的p(k-1|k-1)。这样,算法就可以自回归的运算下去。

上述利用卡尔曼算法进行数据迭代的方法具体可参见“http://baike.baidu.com/link?url=alqbvz1pnqo2ddgf47s0ys9htwni4mwij9nesg-li4htozynfb0ou_6j2kmbsntxqzvllahtbeibjoeb43gaka”。

步骤s101-3:统计预设带宽变化周期内(如24小时)各边缘缓存节点的最大带宽增益g和最大减益d;

发明人根据实际统计平台的大量数据展示发现,每组边缘缓存节点或者服务器的负载情况除宕机等异常外,其他时段基本按照24小时周期性变化,呈线性状态波动,符合引入卡尔曼滤波算法场景。

步骤s101-4:计算各边缘缓存节点的预测带宽ktg;

具体实施时,可采用如下公式计算边缘缓存节点的预测带宽ktg:

当kt≥kt-1时,ktg=kt+∣kt-kt-1∣/g

当kt<kt-1时,ktg=kt-∣kt-kt-1∣/d

其中,kt和kt-1分别表示所述边缘缓存节点在当前数据采集周期和上个数据采集周期的单连接带宽;ktg表示所述边缘缓存节点的预测带宽。

步骤s102:以预测带宽大于或等于预设服务带宽为筛选条件,筛选一个或多个满足所述筛选条件的边缘缓存节点返回给所述客户端。

在具体实施时,可以根据需要为不同的级别的用户(一般注册用户和vip用户等)设置不同的预设服务带宽,如,可以为一般用户设置一般状态的带宽值tg1(即只要不是异常状态的带宽值即可),为vip用户设置极速状态的带宽值tg2,以保证为重点客户提供更为优质的服务。

本申请通过上述手段,可以对网络抖动或其他因素产生的瞬时低速带宽和高速带宽情况过滤,实现网络负载的平滑过渡,防止突发情况导致的异常数据影响导向判断。

而基于预测信息和预设周期内历史数据,可以实现过载保护,防止高峰期过多导向到接近满负荷机器,保障了用户的观影体验。

为了解决现有cdn系统因没有考虑边缘服务器中与介质内容相关的负载趋势(即介质本身对服务器性能的影响)而可能使导向的边缘服务器迅速达到或超过其最大负载的问题,用户发出的服务请求中可以包括待请求介质数据的信息,如介质数据的名称、类型、大小等。上述筛选条件还可以包括:边缘服务节点中现有与所述待请求介质数据相同的服务请求数小于该待请求介质数据的预设介质并发阈值。

上述预设介质并发阈值可以根据预设规则设置,如,对于数据量特别大的介质数据(如超过10gb),其预设介质并发阈值相对较小(如可以设置为10);对于数据量较小的介质数据(如小于5mb),其预设介质并发阈值可以相对较大(如可以设置为10000)。

为进一步的提高系统的服务性能,本实施例还采用如下方式进一步限定边缘缓存节点的筛选策略,为执行下述策略,用户通过客户端发出的服务请求还需要包括该客户端的地址信息(如ip地址)及其网络接入运营商信息(如中国电信);上述筛选一个或多个满足筛选条件的边缘缓存节点返回给所述客户端的方法,如图1-2所示,具体包括:

步骤s102-1:根据客户端的地址信息确定所述客户端所在区域;

步骤s102-2:筛选所述客户端所在区域内、与所述网络接入运营商相同的满足所述筛选条件的边缘缓存节点;

步骤s102-3:判断上述筛选出的边缘缓存节点的数量是否达到所述客户端要求的数量;若是,转步骤s102-5;否则,转步骤s102-4;

步骤s102-4:采用地域优先或网络优先策略选择其他区域或以其他网络接入运营商作为接入网络的边缘缓存节点,直至满足所述筛选条件的边缘缓存节点的数量达到所述客户端要求的数量;

步骤s102-5:将上述筛选出的边缘缓存节点返回给客户端。

当采用地域优先策略时,首先筛选客户端所在区域内(所在城市)采用其他网络接入运营商(如中国联通和中国网通)接入网络的边缘缓存节点中满足筛选条件的数量是否达到客户端要求的数量;然后再扩大地域范围(所在省或全网地域范围)筛选采用相同网络接入运营商(如中国电信)接入网络的边缘缓存节点;最后在上述扩大地域范围内(所在省或全网地域范围)筛选采用其他网络接入运营商(如中国联通和中国网通)接入网络的边缘缓存节点。

当采用网络优先策略时,首先扩大地域范围(所在省或全网地域范围)筛选采用相同网络接入运营商(如中国电信)接入网络的边缘缓存节点中满足筛选条件的数量是否达到客户端要求的数量;然后再筛选客户端所在区域内(所在城市)采用其他网络接入运营商(如中国联通和中国网通)接入网络的边缘缓存节点;最后在上述扩大地域范围内(所在省或全网地域范围)筛选采用其他网络接入运营商(如中国联通和中国网通)接入网络的边缘缓存节点。

进一步的,上述客户端发出的服务请求还可以包括所述客户端至所述全局负载均衡器的路由信息,上述流程中,若所述客户端所在区域内、与所述网络接入运营商相同的满足所述筛选条件的边缘缓存节点的数量不能达到所述客户端要求的数量,还可以采用如下方式进一步筛选边缘缓存节点:

首先,获取所述路由信息中的ip地址相对应的不同于所述客户端所在区域的第二区域;

然后,将所述第二区域内、与所述网络接入运营商相同,且满足所述筛选条件的边缘缓存节点加入到待选择边缘缓存节点列表中;

最后,采用地域优先或网络运营商优先策略选择其他区域或以其他网络接入运营商作为接入网络的边缘缓存节点,直至满足所述筛选条件的边缘缓存节点的数量达到所述客户端要求的数量。

如果采用上述手段还无法达到客户端要求的数量,则可以适当修改筛选条件(如增加预设介质并发阈值等),以增加筛选出的边缘缓存节点的数量。

在另一进一步的优选实施例中,边缘缓存节点中设置有区域负载均衡器(slb,serviceloadbalance)和二个以上的流媒体服务器(vss,streamingserver)及其介质缓存节点(cache);slb用于获取并向gslb上报该边缘缓存节点中各流媒体服务器vss的状态,以及根据各vss的状态将gslb重定向的客户端的服务请求分配给合适的vss;流媒体服务器用于把该介质缓存节点缓存的介质数据返回给客户端;

该优选实施例中,上述筛选条件还可以包括下述一个或多个:

(1)边缘缓存节点的状态更新时间小于预设状态更新时间阈值(如该边缘缓存节点的最新状态更新时间在30s以内),以保证重定向的边缘缓存节点负载不会马上进入饱和状态或超负载状态。

(2)边缘缓存节点中与待请求介质数据的热度值相同的负载比例小于预设比例阈值(如当介质数据的热度值分别为高、中、低时,可以将边缘缓存节点的高热度介质数据的负载比例阈值设置为60~80%、中热度介质数据的负载比例阈值设置为20~40%、低热度介质数据的负载比例阈值设置为0~20%),以保障客户端请求服务的流畅性,能够有效避免高峰期大量用户涌向即将满负载的节点时导致已服务客户的速率降低的问题。

当筛选条件包括有上述第(2)项时,内容分发网络中还存储有根据客户端请求为介质数据设置的热度值,具体可以采用如下设置方式:

首先,收集预设时间周期内(如1天或1周等)客户端的服务请求;

其次,统计上述服务请求中每个介质数据的出现次数;

最后,按照预设的冷热度划分规则生成所述介质数据的热度值。例如,可以将请求次数大于30次的介质数据的热度值设置为高、将请求次数介于3~30次之间的介质数据的热度值设置为中、将请求次数小于3次的介质数据的热度值设置为低等。

(3)当边缘缓存节点中同时设置有固态硬盘(ssd,solidstatedriver)和机械硬盘(hdd,harddiskdriver)时,优先选择将待请求介质数据缓存在固态硬盘(ssd)中的边缘缓存节点,以减少低效率的读数据操作,充分发挥ssd具有高i/o操作性能的优点。

hdd是一种采用磁性碟片作为存储介质的存储器,数据读取性能相对较低,用于存储热度值相对较低的介质数据。hdd的接口类型可以为电子集成驱动接口(ide,integrateddriveelectronics)、小型计算机系统接口(scsi,smallcomputersysteminterface)、串行接口(sata,serialata)、串行scsi接口(sas,serialattachedscsi)或光纤通道接口(fc,fibrechannel)等。ssd是一种以闪存颗粒作为存储介质的存储器,由于数据存放在半导体内存上,能够在低于1毫秒的时间内对任意位置的存储单元完成i/o(输入/输出)操作,因此其最为关键的i/o性能指标iops(即每秒io操作的次数)上,ssd可以达到hdd的50倍以上;本优选实施例中用于缓存热度值相对较高的介质数据。

具体实施时,可以在ssd中缓存热度值大的介质数据,按照ssd实际大小,直到ssd存满;将ssd存不下的介质数据,全部缓存在hdd中,以充分发挥ssd性能,提升系统服务能力。

例如,可以根据需要定时(如每天或每周)统计一次ssd和hdd中所有介质数据的访问次数,如果hdd有访问次数超过ssd中的介质数据,则把ssd中访问次数低的迁移到hdd中,把hdd中访问次数高的迁移到ssd中。

参照图2,示出了本申请内容分发网络的负载预测均衡方法第二实施例的流程,在本优选实施例中,当全局负载均衡器(gslb)进行负载均衡时,首先对各边缘缓存节点的带宽进行预测,之后进行本网、本地优先筛选策略,之后进行路由补选以及介质导向策略。具体包括以下步骤:

步骤s201:获取各边缘缓存节点当前状态下的单连接平均带宽,利用24小时周期内的历史数据生成各边缘缓存节点对应的预测带宽。

步骤s202:获取客户端的服务请求中包括的地址信息(socketip),从ip地址段库中查找该ip地址对应的地域属性(所在的城市)和网段属性(网络接入运营商信息)。

步骤s203:根据上述地域属性和网段属性,筛选满足条件的边缘缓存节点。

本优选实施例中,采用如下筛选条件进行筛选:

(1)slb状态最新时间小于30s内。

(2)slb组内预测带宽大于或等于预设服务带宽(如10kb/s);优选slb组内预测带宽大于或等于预设极速带宽(如100kb/s)。

步骤s203具体包括如下步骤:

步骤s203-1:在上述地域范围与上述网段属性相同的slb中,筛选出满足上述筛选条件的slb,形成slb列表;若slb列表中具有足够个数的slb,转步骤s206;否则,继续后续步骤。

步骤s203-2:筛选同省范围内其他城市中相同接入网络类型中满足上述筛选条件的slb,加入slb列表,若slb列表中的slb个数满足客户端要求,转步骤s206;否则,继续后续步骤。

步骤s203-3:筛选全网范围内相同接入网络类型中满足上述筛选条件的slb,加入slb列表,若slb列表中的slb个数满足客户端要求,转步骤s206;否则,继续后续步骤。

步骤s203-4:筛选相同地区其他网络接入类型中满足上述筛选条件的slb,加入slb列表,若slb列表中的slb个数满足客户端要求,转步骤s206;否则,继续后续步骤。

步骤s203-5:筛选同省范围内其他城市中其他接入网络类型中满足上述筛选条件的slb,加入slb列表,若slb列表中的slb个数满足客户端要求,转步骤s206;否则,继续后续步骤。

步骤s203-6:筛选全网范围内其他接入网络类型中满足上述筛选条件的slb,加入slb列表,若slb列表中的slb个数满足客户端要求,转步骤s206;否则,转步骤s204。

步骤s204:当客户端发出的服务请求中包括有路由信息时,从路由信息中的ip地址相对应的第二区域筛选满足筛选条件的边缘缓存节点加入到待选择边缘缓存节点列表中。

如果客户端发出的服务请求中带有路由信息(tracerouteip地址),查询出该ip区域与客户端socketip区域不同,从trace地区查询满足筛选条件的边缘缓存节点,补充到上述slb列表中。

步骤s205:当用户发出的服务请求中包括有待请求介质数据的信息(如介质数据的名称、类型、大小等)时,以与服务请求中的介质数据相同的服务请求数小于该待请求介质数据的预设介质并发阈值为条件,从其他地域和/或运营商筛选符合条件的slb并补充到slb列表。和/或,以相同热度的介质数据(cdn保存有通过统计客户端请求获得的各介质数据的热度值)在边缘缓存节点中的负载比例是否小于预设比例阈值(如可以预设高、中、低热度介质数据的负载比例阈值分别为60~80%、20~40%、0~20%)为条件,从其他地域和/或运营商筛选符合条件的slb并补充到slb列表。

步骤s206:将上述筛选出的slb返回给客户端,完成一次导向过程。

对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但是本领域的技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为根据本申请,某些步骤可以采用其他顺序或同时执行;其次,本领域技术人员也应该知悉,上述方法实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

参照图3,示出了本申请内容分发网络第一实施例的结构框图,包括通过网络连接的全局负载均衡器31和二个以上直接为客户端提供内容服务的边缘缓存节点32,其中,全局负载均衡器31具体包括:

服务请求接收模块311,用于接收客户端发出的服务请求。

服务带宽预测模块312,用于获取各边缘缓存节点当前状态下的单连接平均带宽,利用预设统计周期内的历史数据生成各边缘缓存节点对应的预测带宽。

在具体实施时,上述服务带宽预测模块312具体可以设置有:

卡尔曼滤波子模块,用于以各边缘缓存节点的单连接平均带宽s为输入参数,利用卡尔曼滤波算法生成各边缘缓存节点的单连接带宽kt;

所述各边缘缓存的单连接平均带宽s采用如下公式计算:s=l/c

其中,l和c分别表示所述边缘缓存节点的总出口带宽值和有效连接数;

历史数据统计子模块,用于统计预设带宽变化周期内各边缘缓存节点的最大带宽增益g和最大减益d;

预测带宽计算子模块,用于以预设带宽变化周期内边缘缓存节点的最大带宽增益g和最大带宽减益d、以及该边缘缓存节点在上个数据采集周期的单连接带宽kt-1为调节参数,对该边缘缓存节点当前数据采集周期的单连接带宽kt进行调整,生成该边缘缓存节点的预测带宽ktg;

具体实施时,预测带宽计算子模块可以利用下列公式计算各边缘缓存节点的预测带宽ktg:

当kt≥kt-1时,ktg=kt+∣kt-kt-1∣/g

当kt<kt-1时,ktg=kt-∣kt-kt-1∣/d

其中,kt和kt-1分别表示所述边缘缓存节点在当前数据采集周期和上个数据采集周期的单连接带宽;ktg表示所述边缘缓存节点的预测带宽。

服务节点筛选模块313,用于以预测带宽大于或等于预设服务带宽值为筛选条件,筛选一个或多个满足所述筛选条件的边缘缓存节点返回给所述客户端。

如图4所示,在进一步的优选实施例中,边缘缓存节点32中具体可以设置有区域负载均衡器321和二个以上的流媒体服务器322及其介质缓存节点323;区域负载均衡器321用于获取并向全局负载均衡器31上报该边缘缓存节点32中各流媒体服务器322的状态,以及根据各流媒体服务器322的状态将全局负载均衡器31重定向的客户端的服务请求分配给合适的流媒体服务器322;流媒体服务器322用于把该介质缓存节点323缓存的介质数据返回给客户端。

当全局负载均衡器31接收到的客户端的服务请求包括有待请求介质数据的信息、客户端的地址及其网络接入运营商等信息时,服务节点筛选模块313采用的筛选条件还可以包括下述一个或多个:

(1)边缘缓存节点32的状态更新时间小于预设状态更新时间阈值。

(2)边缘缓存节点32中与所述待请求介质数据相同的服务请求数小于该待请求介质数据的预设介质并发阈值,以防止同一服务器为多个大介质数据服务时对服务性能的影响。

(3)边缘缓存节点32中与待请求介质数据的热度值相同的负载比例小于预设比例阈值要求,以保障客户端请求服务的流畅性,能够有效避免高峰期大量用户涌向即将满负载的节点时导致已服务客户的速率降低的问题。

(4)当边缘缓存节点中同时设置有固态硬盘(ssd)和机械硬盘(hdd)时,优先选择将待请求介质数据缓存在固态硬盘(ssd)中的边缘缓存节点,以减少低效率的读数据操作,充分发挥ssd具有高i/o操作性能的优点。

当筛选条件包括有上述第(3)项时,内容分发网络中还存储有根据客户端请求为介质数据设置的热度值,具体可以采用如下设置方式:

首先,收集预设时间周期内客户端的服务请求;

其次,统计上述服务请求中每个介质数据的出现次数;

最后,按照预设的冷热度划分规则生成所述介质数据的热度值。

需要说明的是,上述系统实施例属于优选实施例,所涉及的单元和模块并不一定是本申请所必须的。

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

以上对本申请所提供的一种内容分发网络及其负载预测均衡方法,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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