基于多缓存服务器间协作的视频缓存方法和系统与流程

文档序号:16319429发布日期:2018-12-19 05:37阅读:245来源:国知局
基于多缓存服务器间协作的视频缓存方法和系统与流程

本发明涉及通信网络中资源分配技术领域,尤其涉及一种基于多缓存服务器间协作的视频缓存方法和系统。

背景技术

近几年用户对于在线视频的观看需求急剧增长,这给网络带宽带来了巨大的压力。缓解带宽压力的常用方法就是在终端用户附近部署缓存服务器,构成视频缓存系统。在这种视频缓存系统中,用户请求的视频文件可提前存储到其本地的缓存服务器,使得用户通过缓存服务器连接的基站获取该视频服务,而不必从视频源服务器处以较大的通信时延代价获取视频资源,一定程度上缓解了视频源服务器的带宽压力。

在现有的网络中的视频缓存方案中,用户终端主要是从视频源服务器处获取视频资源,视频资源的通信时延代价比较大。每个视频都有许多清晰度版本,在现有的视频缓存方案中,每个视频版本都被看作一个独立的个体,一个视频在同一缓存服务器上可能被存储多个版本,这种缓存设计就会产生大量的视频存储冗余,占用较多的系统存储空间。



技术实现要素:

本发明的实施例提供了一种基于多缓存服务器间协作的视频缓存方法和系统,以克服现有技术的缺点。

为了实现上述目的,本发明采取了如下技术方案。

根据本发明的一个方面,提供了一种基于多缓存服务器间协作的视频缓存方法,构建包括多个基站的缓存网络,各个基站都连接一个其对应的具有视频转码功能的缓存服务器,各个基站还通过无线通信网络连接视频源服务器,所述方法包括:

根据基站到其对应的缓存服务器的数据传输时延、不同基站间的数据传输时延、视频源服务器到各基站的数据传输时延,在所述缓存网络的既有视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延;

在所述既有视频缓存策略的基础上,将视频文件移动到新的候选缓存位置上,构成候选视频缓存策略,在所述候选视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延;

将所有候选视频缓存策略对应的整体时延与所述既有视频缓存策略对应的整体时延进行比较,根据比较结果确定所述缓存网络的最佳的视频缓存策略。

进一步地,所述的构建包括多个基站的缓存网络,各个基站都连接一个其对应的具有视频转码功能的缓存服务器,包括:

构建包括多个基站的缓存网络,各个基站都连接一个其对应的具有视频转码功能的缓存服务器,各基站利用对应的缓存服务器为其覆盖区域内的移动用户终端提供视频资源,不同基站间相互协作传输视频资源,每个基站还连接一个存储所有视频文件的视频源服务器,各基站与对应的缓存服务器之间的数据传输带宽无限大,各基站与视频源服务器之间的数据传输带宽小于设定带宽数值,不同基站之间的数据传输带宽为大于所述设定带宽数值的一定值。

进一步地,所述的根据基站到其对应的缓存服务器的数据传输时延、不同基站间的数据传输时延、视频源服务器到各基站的数据传输时延,在所述缓存网络的既有视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延,包括:

初始化所述缓存网络的既有缓存策略x为空,x为各个视频缓存方案的集合,x={xki=j|k∈n,i∈v,j∈q+0},其中,当j=0时,表示在缓存服务器k未缓存视频i,当j≠0时,表示在缓存服务器k缓存有视频i的清晰度为j的视频版本,n={1,2,…k}为缓存服务器的集合,v={1,2…i}为视频集合,q={1,2…j}为清晰度集合,其中k∈n;

任意基站间的单位数据传输时延为dkk’,从视频源服务器到各基站的单位数据传输时延为dk,视频i的清晰度为j的视频版本(i,j)的尺寸为sij,当用户终端从视频源服务器获取视频文件(i,j)时,其整个视频文件(i,j)的传输时延为sijdk,当用户终端从缓存服务器k’获取视频文件(i,j)时,其整个视频文件(i,j)的传输时延为sijdkk’,k为用户终端的基站对应的本地缓存服务器,当k=k’时,dkk’=0。

进一步地,所述的根据基站到其对应的缓存服务器的数据传输时延、不同基站间的数据传输时延、视频源服务器到各基站的数据传输时延,在所述缓存网络的既有视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延,包括:

设置用户终端的视频需求为λkij,λkij为在缓存服务器k下,请求视频i第j个清晰度版本的用户终端的数量;

在所述缓存网络的既有缓存策略x的前提下,根据所述传输时延dkk’、传输时延dk、传输时延sijdk和传输时延sijdkk计算在满足所有用户终端的视频需求下的整体时延d:

基于既有缓存策略x,遍历所有的缓存服务器,所有的视频的所有清晰度版本,计算得满足所有用户终端的视频需求的整体时延d,将该整体时延d作为既有视频缓存策略时延d。

进一步地,所述整体时延d的计算公式如下:

其中,为示性函数,当时,表示在缓存服务器k’缓存的视频i的版本低于用户终端请求的视频的版本,当时,表示在缓存服务器k’缓存的视频i的版本不低于用户终端请求的视频的版本。

进一步地,所述的根据基站到其对应的缓存服务器的数据传输时延、不同基站间的数据传输时延、视频源服务器到各基站的数据传输时延,在所述缓存网络的既有视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延,还包括:

当用户终端向其连接的基站发送视频文件(i,j)的请求时,按照以下优先级顺序来获取视频资源:

1)如果所述用户终端连接的基站对应的本地缓存服务器存储了视频文件(i,k),其中k≥j,则所述用户终端从其连接的基站对应的本地缓存服务器获取视频文件(i,k);

2)如果所述用户终端连接的基站对应的本地缓存服务器没有存储视频文件(i,k),其中k≥j,所述用户终端连接的基站将所述视频文件(i,j)的请求发送给其它基站,如果存在某些其它基站对应的本地缓存服务器缓存有视频文件(i,k),其中k≥j,则所述用户终端从带宽最大的基站对应的本地缓存服务器获取视频文件(i,k);

3)如果所有基站对应的本地缓存服务器都没有存储视频文件(i,k),其中k≥j,则所述用户终端通过其连接的基站从视频源服务器获取视频文件(i,k)。

进一步地,所述的在所述既有视频缓存策略的基础上,将视频文件移动到新的候选缓存位置上,构成候选视频缓存策略,在所述候选视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延,包括:

在既有视频缓存策略x基础上,假定将视频文件(i,j)放置一个新的候选缓存位置k,进而形成一个候选缓存方案(xki=j),所述候选缓存位置k是指满足以下条件的缓存服务器:在既有视频缓存策略x中,这些缓存服务器没有缓存过该文件,或只缓存有该文件低清晰度版本,并且缓存服务器有足够多的空间存储该文件;

遍历所有视频文件(i,j)和所有候选缓存位置k,生成多个候选缓存方案,分别将每个候选缓存方案加入到既有视频缓存策略x中,形成不同的候选缓存策略(x+xki=j),并计算不同候选缓存策略下,满足所有用户视频需求所需的整体时延d’,将该整体时延d’作为候选视频缓存策略时延d’。

进一步地,所述的将所有候选视频缓存策略对应的整体时延与所述既有视频缓存策略对应的整体时延进行比较,根据比较结果确定所述缓存网络的最佳的视频缓存策略,包括:

将各个候选视频缓存策略时延d’与既有视频缓存策略时延d进行比较,计算各候选视频缓存策略的价值量d-d’,当存在大于0的价值量d-d’时,选择最大的价值量d-d’对应的候选视频缓存策略作为所述缓存网络的最佳的视频缓存策略;当不存在大于0的价值量d-d’时,选择既有视频缓存策略x作为所述缓存网络的最佳的视频缓存策略。

根据本发明的另一个方面,提供了一种基于多缓存服务器间协作的视频缓存网络系统,包括:多个基站,各个基站都连接一个对应的具有视频转码功能的缓存服务器,各个基站还通过无线通信网络连接视频源服务器,所述视频缓存网络系统按照所述的视频缓存方法进行视频缓存,各基站间相互协作利用缓存服务器和视频源服务器共同为各基站覆盖区域内的移动用户终端提供视频资源。

进一步地,所述视频源服务器存储所有视频文件,各基站与对应的缓存服务器之间的数据传输带宽无限大,各基站与视频源服务器之间的数据传输带宽小于设定带宽数值,不同基站之间的数据传输带宽为大于所述设定带宽数值的一定值。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例提供的基于多缓存服务器间协作的视频缓存方法综合利用了视频转码的特点减少了缓存空间,并进一步将其扩展到多缓存服务器可相互协作的机制中,有效提高了视频资源的利用率。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

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

图1为本发明实施例提供的一种缓存网络及其具体工作过程;

图2为本发明实施例提供的一种基于多缓存服务器间协作的视频缓存网络系统的结构图;

图3为本发明实施例一提供的一种缓存服务器间协作的基于视频转码的缓存方法的处理流程图;

图4为本发明实施例二提供的一种缓存服务器间协作的基于视频转码的缓存方法的处理流程图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

本发明实施例结合视频转码技术,提出了一种多缓存服务间协作的基于视频转码的视频缓存方法。这种方法具有两个实用价值:一方面视频转码能够更细粒度地进行视频质量转换,在满足不同用户请求的基础上降低冗余。另一方面基于视频转码技术的缓存能够兼容已有的视频数据格式,因此不需要对移动软件终端(客户端)和视频源(源端)进行额外的升级。

图1为本发明实施例提供的一种缓存网络及其具体工作过程,图2为本发明实施例提供的一种基于多缓存服务器间协作的视频缓存网络系统的结构图,包括:多个基站,各个基站都连接一个对应的具有视频转码功能的缓存服务器,各个基站还通过无线通信网络连接视频源服务器。各基站间可以相互协作利用缓存服务器和视频源服务器共同为其各自基站覆盖区域内的移动用户终端提供视频资源,其中包括转码得到的视频资源,同一视频的不同清晰度版本间在内容上存在一定的依赖关系,高清晰度版本的视频可以转化为低清晰度版本的视频,并且转码是实时的,时延可忽略。除此之外,每个基站连接了同一个存储所有视频文件的视频源服务器。假设各缓存服务器与其对应基站间带宽无限大,视频文件的传输时延可忽略不计,各基站间的带宽是一定的,视频文件以一定的时延代价传输,而各基站与视频源服务器间的带宽较小,视频文件以较大的时延代价传输。

本发明针对离线缓存设计,假设每个缓存服务器对于不同视频每个版本的用户观看数量是已知的。

根据上述缓存网络的工作过程,本分明提供了一种缓存服务器间协作的基于视频转码的缓存方法,生成缓存策略,使得满足所有用户视频需求的整体时延最小。

实施例一

该实施例提供的一种基于多缓存服务器间协作的视频缓存方法的处理流程如图3所示,包括如下的处理步骤:

步骤s310、构建包括多个基站的缓存网络,各个基站都连接一个其对应的具有视频转码功能的缓存服务器,各个基站还通过无线通信网络连接视频源服务器。

构建包括多个基站的缓存网络,各个基站都连接一个其对应的具有视频转码功能的缓存服务器,各基站利用对应的缓存服务器为其覆盖区域内的移动用户终端提供视频资源,不同基站间相互协作传输视频资源,每个基站还连接一个存储所有视频文件的视频源服务器,各基站与对应的缓存服务器之间的数据传输带宽无限大,各基站与视频源服务器之间的数据传输带宽小于设定带宽数值,不同基站之间的数据传输带宽为大于所述设定带宽数值的一定值。

步骤s320、根据基站到其对应的缓存服务器的数据传输时延、不同基站间的数据传输时延、视频源服务器到各基站的数据传输时延,在所述缓存网络的既有视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延。

步骤s330、在所述既有视频缓存策略的基础上,将视频文件移动到新的候选缓存位置上,构成候选视频缓存策略,在所述候选视频缓存策略的条件下计算出满足所有用户终端的视频需求的整体时延。

步骤s340、将所有候选视频缓存策略对应的整体时延与所述既有视频缓存策略对应的整体时延进行比较,根据比较结果确定所述缓存网络的最佳的视频缓存策略。

将各个候选视频缓存策略时延d’与既有视频缓存策略时延d进行比较,计算各候选视频缓存策略的价值量d-d’,当存在大于0的价值量d-d’时,选择最大的价值量d-d’对应的候选视频缓存策略作为所述缓存网络的最佳的视频缓存策略;当不存在大于0的价值量d-d’时,选择既有视频缓存策略x作为所述缓存网络的最佳的视频缓存策略。

实施例二

图4为该实施例提供的一种缓存服务器间协作的基于视频转码的缓存方法的处理流程图,包括下述处理步骤:

步骤1,初始化。初始化既有缓存策略x为空,x为各个视频缓存方案的集合,x={xki=j|k∈n,i∈v,j∈q+0},其中当j=0时,表示在缓存服务器k未缓存视频i,当j≠0时,表示缓存服务器k缓存有视频i的清晰度为j的视频版本。n={1,2,…k}为缓存服务器的集合,v={1,2…i}为视频集合,q={1,2…j}为清晰度集合;每个缓存服务器的缓存空间大小为ck,其中k∈n;任意基站间的单位数据传输时延为dkk’,从视频源服务器到各基站的单位数据传输时延为dk,视频i的清晰度为j的视频版本(i,j)的尺寸为sij;当用户从视频源服务器获取视频文件(i,j)时,其整个文件的传输时延为sijdk,当用户从缓存服务器k’获取视频文件(i,j)时,其整个文件的传输时延为sijdkk’,k为用户的本地缓存服务器,当k=k’时,dkk’=0;初始化用户的观看需求λkij,λkij为在缓存服务器k下,请求视频i第j个清晰度版本的用户的数量。

按照缓存网络的工作过程,计算在既有缓存策略下,满足用户需求的整体时延。上述缓存网络具体工作过程如下:当用户终端向其连接的基站发送视频文件(i,j)的请求时,按照以下优先级顺序来获取视频资源:

1)如果所述用户终端连接的基站对应的本地缓存服务器存储了视频文件(i,k),其中k≥j,则所述用户终端从其连接的基站对应的本地缓存服务器获取视频文件(i,k);

2)如果所述用户终端连接的基站对应的本地缓存服务器没有存储视频文件(i,k),其中k≥j,所述用户终端连接的基站将所述视频文件(i,j)的请求发送给其它基站,如果存在某些其它基站对应的本地缓存服务器缓存有视频文件(i,k),其中k≥j,则所述用户终端从带宽最大的基站对应的本地缓存服务器获取视频文件(i,k);

3)如果所有基站对应的本地缓存服务器都没有存储视频文件(i,k),其中k≥j,则所述用户终端通过其连接的基站从视频源服务器获取视频文件(i,k)。

步骤2,在既有缓存策略x的前提下,根据上述缓存网络的工作过程,计算在既有缓存策略下,满足所有用户视频需求的整体时延d(称为既有策略时延)。整体时延的计算方法如下:

其中,为示性函数,当时,表示在缓存服务器k’缓存的视频i的版本低于用户终端请求的视频的版本,当时,表示在缓存服务器k’缓存的视频i的版本不低于用户终端请求的视频的版本。

当一个基站覆盖下的用户终端请求视频文件(i,j)时,所有缓存服务器都不能满足用户终端的视频需求时,即所述用户终端将从视频源服务器以λkijsijdk的时延代价获取其所请求的视频;

当有缓存服务器缓存的视频i的版本不低于用户终端请求的视频的版本,即所述用户终端将从能够满足用户终端的视频需求的缓存服务器n’中选择一个时延代价最小的缓存服务器获取视频文件,时延代价为

基于既有缓存策略x,遍历所有的缓存服务器,所有的视频的所有清晰度版本,计算得满足所有用户终端的视频需求的整体时延d,将该整体时延d作为既有视频缓存策略时延d。

步骤3,在既有视频缓存策略x基础上,假定将视频文件(i,j)放置一个新的候选缓存位置k,进而形成一个候选缓存方案(xki=j),所述候选缓存位置k是指满足以下条件的缓存服务器:在既有视频缓存策略x中,这些缓存服务器没有缓存过该文件,或只缓存有该文件低清晰度版本,并且缓存服务器有足够多的空间存储该文件;

遍历所有视频文件(i,j)和所有候选缓存位置k,生成多个候选缓存方案,分别将每个候选缓存方案加入到既有视频缓存策略x中,形成不同的候选缓存策略(x+xki=j),并计算不同候选缓存策略下,满足所有用户视频需求所需的整体时延d’,将该整体时延d’作为候选视频缓存策略时延d’。

步骤4,将各个候选视频缓存策略时延d’与既有视频缓存策略时延d进行比较,计算各候选视频缓存策略的价值量d-d’,当存在大于0的价值量d-d’时,选择最大的价值量d-d’对应的候选视频缓存策略作为所述缓存网络的最佳的视频缓存策略;当不存在大于0的价值量d-d’时,选择既有视频缓存策略x作为所述缓存网络的最佳的视频缓存策略。

步骤5,根据上述步骤不断更新候选视频缓存策略和既有视频缓存策略,通过判断是否存在候选视频缓存方案,来确定最终的视频缓存策略。如果有则执行步骤3,否则直接输出当前的既有视频缓存策略。

上述本发明实施例的方法适用于互联网、有线电视和视频等流媒体系统。该方法利用了贪婪的思想,逐步选择最有价值的放置方案,即哪个视频的哪个清晰度版本存储在哪个缓存服务器上,遍历所有的缓存服务器,所有的视频,以及所有的清晰度版本,受限于缓存空间大小,及文件的数量,从而得到最终的缓存策略。

综上所述,本发明实施例提供的基于多缓存服务器间协作的视频缓存方法综合利用了两种机制:一是视频文件可以从高清晰度向低清晰度转码,二是缓存站间可相互协作,利用了视频转码的特点减少了缓存空间,并进一步将其扩展到多缓存服务器的机制中,有效提高了视频资源的利用率。

本发明实施例的方法能显著地提升用户终端的体验质量(延迟),按照该方法逐步迭代选择价值量最大的视频文件存储,优化用户获取视频资源的时延。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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