【摘 要】提出一种CDN缓存空间调整优化方法,根据CDN节点以预定周期上报的各CP的欠流率,在存在欠流率不达标CP的情况下,调整指定CP的CP热度变量,将指定CP的CP热度变量下发给CDN节点,以便CDN节点利用CP热度变量对指定CP的内容热度进行调整,从而调度各CP的缓存空间。本方法可以使所有CP均能共享CDN节点的资源,从而有效提升CDN节点复用率、资源利用率,同时将由vCDN方式的非实时资源调整方式修改为准实时调整方式,以便使CDN节点为各CP提供公平合适的缓存空间。【关键词】缓存空间;欠流率;vCDN。1、引言互联网CP(Content Provider,内容提供者)租用CDN(Content Delivery Network,内容分发网络)时,会向CDN运营商提出KQI(Key Quality Indicator,关键质量指标)指标要求。在KQI指标中,欠流率(因CDN节点没缓存而需向源站实时获取的比率)是非常重要指标,这是由于欠流率未达标时,互联网CP的业务质量及源站负载会受到影响。现有CDN节点缓存的内容是根据节点内容的访问热度来决定的,CDN节点内部对所存储的内容根据内容访问热度进行排序,节点会定时将热度排序后面的内容删除,以腾出空间存储新的高热度内容。大CP由于其服务的用户多,其内容热度往往比小CP的热度高,因此大CP的内容往往比小CP的内容热度更高,出现大CP较冷的内容也比小CP最热的内容热度高。由于缓存的内容多少决定了内容的命中率,因此,在这种机制下小CP欠流率容易不达标。为解决该问题,现有的CDN通过为各CP划分专用资源的方式,例如vCDN(Virtual Content Delivery Network,虚拟内容分发网络),来解决欠流率问题。在划分专用资源的方式下,每个CP会分配固定空间的存储,相互独立,不能共享。因此,这种机制下CDN节点的复用率不高,容易造成资源浪费的问题。2、提升CDN欠流率的总体思路CDN欠流是由于CDN节点内容缓存数量与用户请求的内容数量不匹配而形成的,提升CDN欠流率最直接的方法是提升各CDN节点的总缓存空间。但由于CDN成本制约,提升CDN欠流率最有效的方案应该是根据目标欠流率,合理为CP内容进行合理缓存。由于CDN承载了多个CP的业务,每个CP也有不同类型的业务类型及内容,如视频点播业务、视频直播业务、静态页面等,因此,不同的CP对欠流率有不同,通过不同业务及CP的内容欠流率来调节CP缓存是可行方案。也应看到,当某CDN节点存在大部分欠流率不达标CP的情况,很可能表明该CDN节点资源不足,通过调整不同CP不同业务的欠流流很可能无法达到所有欠流率达标,这时应通过请求GSLB将部分资源转移到其它节点,从而缓解该CDN节点的缓存空间压力。因此,提升CDN欠流率的方法应满足以下要求:(1)CDN节点应具备判断CDN缓存资源是否具备全部CP欠流率的能力,当无法满足时,CDN节点应通过CDN GSLB过载,由GSLB把流量调度到其他CDN节点;(2)提升CDN欠流率的方法应有普适性,可适用于不同类型的业务;(3)提升CDN欠流率的方法应易于实施,不影响现有CDN的缓存算法;(4)提升CDN欠流率的方法应具备个性化配置能力,通过定义不同的欠流率为不同质量要求的业务提供不同等级的服务质量。3、CDN缓存空间调整方案本文提出的一种缓存空间调整方法,主要通过缓存空间调度服务器及安装在CDN节点的欠流率监测上报两个模块的协同完成,这两个模块交互接口如图1所示。图1 缓存空间调度系统示意图缓存空间调度服务器根据内容分发网络CDN节点以预定周期上报的各内容提供者CP的欠流率,判断是否存在欠流率不达标CP。在存在欠流率不达标CP的情况下,调整指定CP的CP热度变量。将指定CP的下发给CDN节点,以便CDN节点利用CP热度变量对指定CP的内容热度进行调整,以调度各CP的缓存空间。CDN节点欠流率监测上报,如表1所示。表1 CDN节点欠流率上报参数表其中CP热度变量计算方法如下:CP热度变量=(Target_Rate-Real_Rate)*HotdegreeX+HotdegreeXCDN缓存空间调整流程如图2所示。图2 缓存空间调度流程图(1)根据CDN节点以预定周期上报的各CP的欠流率,判断是否存在欠流率不达标CP。(2)发现CPx的欠流率不达标。(3)判断是否存在其它欠流率不达标的CP。若不存在其它欠流率不达标CP,则执行步骤4;若存在其它欠流率不达标CP,则执行步骤8。(4)在欠流率达标的CP中选择出欠流率最低的CPmin。(5)分别计算CPx和CPmin的CP热度变量。例如,若CPx的热度为HotdegreeX,当前欠流率为Real_Rate,目标欠流率为Target_Rate,则CPx的热度变量为:(Target_Rate-Real_Rate)×HotdegreeX+HotdegreeX(6)相应地,也可利用上述公式计算CPmin的热度变量。(7)将CPx和CPmin的CP热度变量下发给CDN节点,以便CDN节点利用CP热度变量对CPx和CPmin的内容热度进行调整,以调度各CP的缓存空间。(8)经过预定时间间隔,判断CPx当前的欠流率是否达标。若CPx当前的欠流率仍未达标,则返回步骤3。若CPx当前的欠流率已达标,则结束调度。(9)向GSLB(Global Server Load Balance,全局负载均衡)单元发送流量调度请求,以便将CDN节点上的部分流量调度到其它CDN节点。(10)若存在多个CP欠流率不达标的情况,表明CDN节点当前的资源不足,这时可通过向GSLB发送请求,以便将部分流量调度到其它CDN节点,从而能够减少缓存空间需求,解决当前多个CP欠流率不达标的情况。4、应用效果本文方案在CDN应用中发现,当不是大部分CP发生欠流率不达标情况下,通过本方案可快速降低CP的欠流率,适用于大部分的CDN应用场景。
版权免责声明: 本站内容部分来源于网络,请自行鉴定真假。如有侵权,违法,恶意广告,虚假欺骗行为等以上问题联系我们删除。
本文地址:https://assets.80590.com/article/225.html