一种支持负载均衡的内容副本生成、放置及更新方法与流程

文档序号:16134190发布日期:2018-12-01 00:43阅读:200来源:国知局

本发明涉及视频内容分发领域,特别涉及视频分发网络环境下的一种支持负载均衡的内容副本生成、放置及更新方法。

背景技术

随着互联网技术的快速发展,视频业务已被广泛应用生产生活中,在为用户提供多样性选择的同时,其访问热度的倾向性与时变性也带来了内容部署的问题。高热度影片的分布不均匀导致部分服务器访问负载过高,而其他服务器访问负载远小于服务能力,从而导致用户请求响应时间长或被拒绝,影响了用户的观看体验。为了提高用户的体验质量(qoe,qualityofexperience),通常为高热度视频生成多份副本并放置在不同的服务器上,以满足用户对该视频的过热请求,并且均衡了各个服务器的访问负载。然而,如何根据用户对视频的访问规律确定副本生成粒度、如何放置副本、以及在用户动态请求下如何更新副本,是视频分发网络环境下实现服务器集群间负载均衡的关键问题。

基于视频整体的副本生成算法和基于视频分片文件sij的副本生成算法是目前两种常用的副本生成方法。基于视频整体文件的副本生成算法根据视频热度的不同,将热度高的视频以整体文件的形式增加副本到集群中其他的服务器上,以降低单个服务器的访问负载。该方法虽然有效地降低了服务器的访问负载,但复制完整的视频会占用更多的存储空间,降低了存储利用率。基于视频分片文件sij的副本生成算法把视频整体文件vi按照时间进行分片,高热度的视频分片文件sij生成副本数量较多,低热度的视频分片文件sij生成副本数量较少,并放置到不同的服务器上。用户请求视频时从不同的服务器上下载相应的视频分片文件sij,从而均衡了服务器的访问负载,提高了存储利用率。但视频分片文件sij副本生成算法增大了系统开销,管理复杂度较高。

对于生成的副本,如何对副本进行放置,将直接影响服务器的访问负载。常用的放置方法有随机放置、轮询放置、最小负载优先放置。随机放置虽然在较短的时间内实现了视频整体文件vi的放置,但因其不考虑各个服务器的性能以及视频的热度,导致各服务器间副本放置的不均匀,从而引起服务器集群的访问负载不均衡。轮询放置在视频序列容量相近时可以均匀服务器集群的视频存储容量,但本质上只是通过机械的轮询来避免放置的不均衡,仍然没有解决视频序列的差异性带来的影响。最小负载优先放置以服务器的存储容量作为负载指标,选择存储容量占用最小的服务器,该方法只考虑服务器的单项指标,虽然服务器集群达到了存储容量的均衡,但忽略了视频热度与服务器带宽这两个影响服务器集群访问负载均衡的关键因素,从而导致服务器集群访问负载的不均衡,影响用户的观看体验。



技术实现要素:

本发明的目的在于:提供了一种支持负载均衡的内容副本生成、放置及更新方法,解决了一是如何根据用户对视频的访问规律确定副本生成的粒度,减少单个服务器的访问负载;二是在服务器的处理能力不同的情况下,如何对副本进行放置,实现副本热度的均匀分布,从而均衡服务器的访问负载;三是在用户动态请求下如何更新副本,避免视频热度变化带来的访问负载不均衡问题。

本发明采用的技术方案如下:

一种支持负载均衡的内容副本生成方法,假设副本服务器数量为m,视频的数量为n,每个视频根据相等时长进行分片,且视频整体文件vi的热度服从影响因子为θ1的zipf分布,视频分片文件sij的热度服从影响因子为θ2的zipf分布,以视频整体文件vi和视频分片文件sij为例,具体副本生成步骤如下:

步骤g1:根据视频整体文件vi在k个固定时间间隔内的访问次数,计算k个固定时间间隔内视频整体文件vi的访问概率分别为:

pv,t为第t个时间间隔视频整体文件vi的访问概率,lv,1,lv,2...lv,k分别为每个时间间隔内所有视频的总共访问次数;距当前越久远的时间段对视频整体文件vi热度的影响越小,反之影响越大,则视频整体文件vi的热度为:

其中,为视频整体文件vi的热度,pv,t为第t个时间间隔视频整体文件vi的访问概率,w是权重因子;

步骤g2:将n个视频依据热度进行排序,依据zipf分布将前20%的视频标记为高热度视频,剩余80%的视频标记为低热度视频;

步骤g3:对于高热度视频,视频的副本数量为m,即等同于服务器数量;

步骤g4:对于低热度视频,根据视频分片文件sij分别在k个时间间隔的访问次数,计算k个时间间隔内视频分片文件sij的访问概率分别为:

ps,t为第t个时间间隔视频分片文件sij的访问概率,ls,1,ls,2...ls,k分别为k个周期内单个视频中所有分片的总共访问次数,t为第t个时间间隔。距当前越久远的时间段对视频分片文件sij的热度影响越小,反之影响越大,则视频分片文件sij的热度为:

其中,为视频分片文件sij的热度,ps,t为第t个时间间隔视频分片文件sij的访问概率,w是权重因子;

步骤g5:假设低热度视频整体文件vi中视频分片文件sij的数量为r,则视频整体文件vi中视频分片文件sij的副本数量rij为:

rij为视频整体文件vi中视频分片文件sij的副本数量,m为服务器的数量,为视频整体文件vi的热度,为视频分片文件sij的热度,为视频vi中最大的视频分片文件sij热度。

由于视频整体文件vi生成副本具有元数据管理方便的优点,而视频分片文件sij生成副本具有存储空间利用率高的优点,本发明提出利用两者的优势,兼顾管理复杂度与存储空间利用率,根据视频整体文件vi热度确定副本生成粒度,具体技术方案如下:根据历史固定时间段内视频的访问情况,赋予每个时间段不同的权重。距当前时刻越近的时间段对视频整体文件vi热度的影响越大,对应的权重值越大;反之,距当前越远的时间段,对视频整体文件vi热度的影响越小,对应的权重值越小,以此统计出各个视频整体文件vi的热度。根据zipf定律,20%的视频拥有80%的访问量。因此本发明将前20%的视频作为高热度视频,其余的为低热度视频。高热度的视频将整个视频整体文件vi复制生成相应的副本,且副本数量为服务器数量。低热度视频按照视频分片文件sij生成副本的方式,在所属视频整体文件vi热度的基础上,将视频分片文件sij按照分片热度生成副本,以一个视频内热度最高的视频分片文件sij为基准,视频分片文件sij热度高的副本数量较多,反之副本数量较少。

一种支持负载均衡的内容副本放置方法,具体副本放置步骤如下:

步骤p1:假设视频服务器m的服务器选择因子为τ,pm为服务器存储内容热度,b为服务器剩余带宽,q为服务器剩余磁盘容量,α为权重因子,则

其中服务器存储内容热度的计算方式为:

步骤p2:放置高热度视频的视频整体文件vi副本时,将各副本服务器依服务器选择因子排序,选择服务器选择因子τ最小的副本服务器放置视频整体文件vi副本,每次放置完都需更新服务器选择因子τ,直至所有高热度视频整体文件vi副本放置完毕;

步骤p3:低热度视频按照视频分片文件sij文件放置,同样地,计算各副本服务器选择因子τ,选择服务器选择因子最小的副本服务器放置视频分片文件sij副本,每一次放置都要更新服务器选择因子τ,直至所有视频分片文件sij副本放置完毕。

综合考虑服务器的存储内容热度、存储容量以及带宽作为服务器选择因子的计算方式,依据服务器选择因子进行排序,选取服务器选择因子最低的服务器放置副本,每一次放置副本需更新服务器选择因子的值。

进一步,副本放置必须遵循以下规则:

1、同一视频整体文件的副本不能在单个服务器上重复存储;

2、同一视频分片文件sij的副本不能在单个服务器上重复存储;

3、视频整体文件的副本数量不能超过集群中存储服务器数量;

4、视频分片文件sij的副本数量不能超过集群中存储服务器数量;

5、每一个服务器上存储的内容大小不能超过服务器自身的存储容量。

6、在用户动态请求环境下,若相应的视频整体或视频分片文件sij热度升高需要增加副本,如果此时服务器的请求连接数过多导致带宽不足,则不再往该服务器上放置副本。

具体地,对于高热度视频,对其按照视频整体进行副本放置,对于低热度的视频,根据视频内部分片热度的差异产生不同数量的视频分片文件sij副本,并将视频整体文件vi副本和视频分片文件sij副本分别进行放置,用户根据自身所需内容可以从一个服务器上下载整个视频整体文件vi,也可以从多个服务器上获取多个视频分片文件sij,如图5所示,假设有三台同构的副本服务器,两个视频:视频1和视频2,其中视频1为高热度视频,视频2为低热度视频,则视频1基于视频整体生成副本且副本数量为3,并分别放置在三台服务器上,视频2基于视频分片文件sij生成副本,分别有视频分片文件1sij、视频分片文件2sij、视频分片文件3sij,假设3份视频分片文件sij分别放置在三台服务器上。客户端请求视频1时,从服务器1下载视频1的整体文件;客户端请求视频2时,分别从三台服务器下载视频分片文件1sij,视频分片文件2sij,视频分片文件3sij。

一种支持负载均衡的内容副本更新方法,具体副本更新步骤如下:

步骤u1:根据当前周期的访问次数以及视频整体文件vi的历史热度,重新计算视频整体文件vi的热度,具体计算方式如下:

步骤u1.1:假设当前周期视频整体文件vi的访问次数为所有视频的总访问次数为则当前周期内视频vi的访问热度为:

步骤u1.2:视频vi的历史热度由步骤g1计算得出,则视频整体文件vi的热度为:

步骤u1.3:根据步骤g2,得到高热度视频和低热度视频;

步骤u2:对于高热度视频,处理方式同步骤g3,对于低热度视频,需要重新计算视频内部分片的热度,具体步骤如下:

步骤u2.1:假设当前周期视频整体文件vi内视频分片文件sij的访问次数为所属视频整体文件vi内所有视频分片文件sij的总访问次数为则当前周期内视频分片文件sij的访问热度为:

步骤u2.2:视频分片文件sij的历史热度由步骤g4计算得出,则视频分片文件sij的热度为:

根据步骤g5计算得到视频分片文件sij的副本数量。

在动态访问环境中,每固定时间间隔内检测视频整体文件vi热度的变化,有以下两种情况:

第一种:高热度视频变为低热度视频,则该视频整体文件vi的副本生成方式改为以视频分片文件sij生成副本,同样地,类似于视频整体文件vi热度的计算方法,根据视频分片文件sij的历史访问情况以及当前时间段内视频分片文件sij的被访问情况计算视频分片文件sij的热度。在所属视频整体文件vi热度的基础上,以一个视频内热度最高的视频分片文件sij为基准,视频分片文件sij热度高的副本数量相对较多,反之副本数量较少,由此根据视频分片文件sij副本数量计算公式得出视频分片文件sij的副本数量,并生成相应数量的视频分片文件sij副本。

第二种:低热度视频变为高热度视频,则该视频的副本生成方式改为以视频整体生成副本,且副本数量为服务器数量。

对于更新生成的副本,依据副本放置方法选取当前服务器选择因子最小的服务器放置副本,并更新服务器选择因子。

另外,服务器存储空间有限,当服务器所存储内容大小超过一定阈值时,要对所存储内容中热度较低的副本进行删除。首先对视频整体文件vi依据视频热度进行升序排序,从第一个视频开始,判断该视频为低热度视频还是高热度视频,若为低热度视频,进而判断该视频是否有按照视频整体存储的副本,若有,则进行删除,否则,判断下一个视频。若为高热度视频,进而判断该视频是否有按照视频分片文件sij存储的副本,若有,则进行删除,否则,判断下一个视频,直至循环遍历完所有视频。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1.本发明将视频整体的副本生成方式与视频分片文件sij的副本生成方式相结合,将高热度视频依据视频整体生成副本,低热度视频依据视频分片文件sij热度对视频分片文件sij生成副本,该方法有效地利用了服务器存储空间,提高了存储利用率,降低了管理复杂度。

2.本发明副本放置选择服务器时综合考虑了服务器存储内容热度、存储容量以及带宽,该方法均衡了服务器的访问负载,增大了集群系统的吞吐量。

3.本发明依据视频整体文件vi热度及时更新副本,以应对视频整体文件vi热度突然升高时服务器的负载不均衡问题,提高了用户的观看质量。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1是流媒体系统整体架构示意图;

图2是视频分片文件sij结构示意图;

图3是副本生成流程图;

图4是副本放置流程图;

图5是副本放置流程图;

图6是副本更新流程图;

图7是副本删除流程图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

下面结合图1-7对本发明作详细说明。

一种支持负载均衡的内容副本生成方法,假设副本服务器数量为m,视频的数量为n,每个视频根据相等时长进行分片,且视频整体文件vi的热度服从影响因子为θ1的zipf分布,视频分片文件sij的热度服从影响因子为θ2的zipf分布,以视频整体文件vi和视频分片文件sij为例,具体副本生成步骤如下:

步骤g1:根据视频整体文件vi在k个固定时间间隔内的访问次数,计算k个固定时间间隔内视频整体文件vi的访问概率分别为:

pv,t为第t个时间间隔视频整体文件vi的访问概率,lv,1,lv,2...lv,k分别为每个时间间隔内所有视频的总共访问次数;距当前越久远的时间段对视频整体文件vi热度的影响越小,反之影响越大,则视频整体文件vi的热度为:

其中,为视频整体文件vi的热度,pv,t为第t个时间间隔视频整体文件vi的访问概率,w是权重因子;

步骤g2:将n个视频依据热度进行排序,依据zipf分布将前20%的视频标记为高热度视频,剩余80%的视频标记为低热度视频;

步骤g3:对于高热度视频,视频的副本数量为m,即等同于服务器数量;

步骤g4:对于低热度视频,根据视频分片文件sij分别在k个时间间隔的访问次数,计算k个时间间隔内视频分片文件sij的访问概率分别为:

ps,t为第t个时间间隔视频分片文件sij的访问概率,ls,1,ls,2...ls,k分别为k个周期内单个视频中所有分片的总共访问次数,t为第t个时间间隔。距当前越久远的时间段对视频分片文件sij的热度影响越小,反之影响越大,则视频分片文件sij的热度为:

其中,为视频分片文件sij的热度,ps,t为第t个时间间隔视频分片文件sij的访问概率,w是权重因子;

步骤g5:假设低热度视频整体文件vi中视频分片文件sij的数量为r,则视频整体文件vi中视频分片文件sij的副本数量rij为:

rij为视频整体文件vi中视频分片文件sij的副本数量,m为服务器的数量,为视频整体文件vi的热度,为视频分片文件sij的热度,为视频vi中最大的视频分片文件sij热度。

本发明的工作原理为:

由于视频整体文件vi生成副本具有元数据管理方便的优点,而视频分片文件sij生成副本具有存储空间利用率高的优点,本发明提出利用两者的优势,兼顾管理复杂度与存储空间利用率,根据视频整体文件vi热度确定副本生成粒度,具体技术方案如下:根据历史固定时间段内视频的访问情况,赋予每个时间段不同的权重。距当前时刻越近的时间段对视频整体文件vi热度的影响越大,对应的权重值越大;反之,距当前越远的时间段,对视频整体文件vi热度的影响越小,对应的权重值越小,以此统计出各个视频整体文件vi的热度。根据zipf定律,20%的视频拥有80%的访问量。因此本发明将前20%的视频作为高热度视频,其余的为低热度视频。高热度的视频将整个视频整体文件vi复制生成相应的副本,且副本数量为服务器数量。低热度视频按照视频分片文件sij生成副本的方式,在所属视频整体文件vi热度的基础上,将视频分片文件sij按照分片热度生成副本,以一个视频内热度最高的视频分片文件sij为基准,视频分片文件sij热度高的副本数量较多,反之副本数量较少。

实施例2与实施例1不同之处在于:

还包括一种支持负载均衡的内容副本放置方法,具体副本放置步骤如下:

步骤p1:假设视频服务器m的服务器选择因子为τ,pm为服务器存储内容热度,b为服务器剩余带宽,q为服务器剩余磁盘容量,α为权重因子,则

其中服务器存储内容热度的计算方式为:

步骤p2:放置高热度视频的视频整体文件vi副本时,将各副本服务器依服务器选择因子排序,选择服务器选择因子τ最小的副本服务器放置视频整体文件vi副本,每次放置完都需更新服务器选择因子τ,直至所有高热度视频整体文件vi副本放置完毕;

步骤p3:低热度视频按照视频分片文件sij文件放置,同样地,计算各副本服务器选择因子τ,选择服务器选择因子最小的副本服务器放置视频分片文件sij副本,每一次放置都要更新服务器选择因子τ,直至所有视频分片文件sij副本放置完毕。

本发明的工作原理为:

综合考虑服务器的存储内容热度、存储容量以及带宽作为服务器选择因子的计算方式,依据服务器选择因子进行排序,选取服务器选择因子最低的服务器放置副本,每一次放置副本需更新服务器选择因子的值。

进一步,副本放置必须遵循以下规则:

同一视频整体文件的副本不能在单个服务器上重复存储;

同一视频分片文件sij的副本不能在单个服务器上重复存储;

视频整体文件的副本数量不能超过集群中存储服务器数量;

视频分片文件sij的副本数量不能超过集群中存储服务器数量;

每一个服务器上存储的内容大小不能超过服务器自身的存储容量。

在用户动态请求环境下,若相应的视频整体或视频分片文件sij热度升高需要增加副本,如果此时服务器的请求连接数过多导致带宽不足,则不再往该服务器上放置副本。

具体地,对于高热度视频,对其按照视频整体进行副本放置,对于低热度的视频,根据视频内部分片sij热度的差异产生不同数量的视频分片文件sij副本,并将视频整体文件vi副本和视频分片文件sij副本分别进行放置,用户根据自身所需内容可以从一个服务器上下载整个视频整体文件vi,也可以从多个服务器上获取多个视频分片文件sij,如图5所示,假设有三台同构的副本服务器,两个视频:视频1和视频2,其中视频1为高热度视频,视频2为低热度视频,则视频1基于视频整体生成副本且副本数量为3,并分别放置在三台服务器上,视频2基于视频分片文件sij生成副本,分别有视频分片文件1sij、视频分片文件2sij、视频分片文件3sij,假设3份视频分片文件sij分别放置在三台服务器上。客户端请求视频1时,从服务器1下载视频1的整体文件;客户端请求视频2时,分别从三台服务器下载视频分片文件1sij,视频分片文件2sij,视频分片文件3sij。

实施例3与实施例1、2不同之处在于:

还包括一种支持负载均衡的内容副本更新方法,具体副本更新步骤如下:

步骤u1:根据当前周期的访问次数以及视频整体文件vi的历史热度,重新计算视频整体文件vi的热度,具体计算方式如下:

步骤u1.1:假设当前周期视频整体文件vi的访问次数为所有视频的总访问次数为则当前周期内视频vi的访问热度为:

步骤u1.2:视频vi的历史热度由步骤g1计算得出,则视频整体文件vi的热度为:

步骤u1.3:根据步骤g2,得到高热度视频和低热度视频;

步骤u2:对于高热度视频,处理方式同步骤g3,对于低热度视频,需要重新计算视频内部分片的热度,具体步骤如下:

步骤u2.1:假设当前周期视频整体文件vi内视频分片文件sij的访问次数为所属视频整体文件vi内所有视频分片文件sij的总访问次数为则当前周期内视频分片文件sij的访问热度为:

步骤u2.2:视频分片文件sij的历史热度由步骤g4计算得出,则视频分片文件sij的热度为:

根据步骤g5计算得到视频分片文件sij的副本数量。

本发明的工作原理为:

对于步骤u2中得到的副本,主要包含以下几种情况:

情况1:视频由高热度变为低热度

对于这种情况,计算视频内各视频分片文件sij的热度,以视频分片文件sij作为副本存储单位,高热度的分片副本数量较多,低热度的分片副本数量较少,具体副本数量根据步骤g5计算得出。

情况2:视频由低热度变为高热度

高热度的视频都以视频整体作为副本存储单位,副本数量为m,即服务器数量。

情况3:视频热度不变

若高热度的视频仍为高热度,则不做任何变化;若低热度的视频仍为低热度,则根据步骤g5重新计算各视频分片文件sij的副本数量,若副本数量增加,则生成相应数量的视频分片文件sij副本。若副本数量减少,则选择当前服务器选择因子最大的服务器删除对应的副本。

步骤u3:对更新后的视频整体文件vi副本和视频分片文件sij副本按照副本放置模块的具体步骤进行放置。

若所有副本服务器所存储内容大小均达到了阈值,不足以为更新后增加的副本提供存储空间,则需要对一些副本进行删除,删除流程图如图7所示,具体步骤如下:

步骤u4:将所有视频整体文件vi依据热度进行升序排序,从热度最低的视频整体文件vi开始,判断该视频整体文件vi为低热度视频还是高热度视频,若为低热度视频,进而判断该视频是否有按照视频整体存储的副本,若有,则进行删除,否则,判断下一个视频。若为高热度视频,进而判断该视频是否有按照视频分片文件sij存储的副本,若有,则进行删除,否则,判断下一个视频,直至循环遍历完所有视频。

以上所述,仅为本发明的优选实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

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