一种基于虚拟直播源的分布式流媒体点播方法

文档序号:7580223阅读:397来源:国知局
专利名称:一种基于虚拟直播源的分布式流媒体点播方法
技术领域
本发明涉及信息技术领域中的分布式的流媒体应用,特别涉及一种基于虚拟直播 源的分布式流媒体点播方法。
背景技术
随着互联网的发展和用户规模的增多,流媒体相关应用得到了越来越多的关注。 在大多数传统的流媒体方法中,用户所访问的内容需从服务器直接获取,这样的方法无法 保证用户并发数增大的情况下的服务质量,同时,增加了运营成本。因此,在网络环境下,基 于P2P的流媒体系统方法应运而生。其基本思想是在保障视频流的服务质量的前提下, 充分利用网络中的节点带宽、存储等资源,以缓解数据源服务器的负载,提高系统的可扩展 性。由于流媒体视频直播和点播是流媒体系统方法中最主要的两个部分,而各自对技术的 需求也有所不同,因此,大多数的实现方法都是两种业务各成系统。在基于P2P的直播系统中,节点加入一个频道后,在每一个数据调度周期内,节点 都尽量从观看同一个频道的节点中获取数据。如果在一定时间内,没有合适的节点提供所 需数据,则向服务器请求;同样,基于P2P的点播系统也尽量从其他节点获取数据。但不 同的是,由于点播系统可以有快进、快退、暂停等操作,播放点的动态范围很大,而系统中每 个节点缓存的数据有限,因此,只能从观看相邻播放点的节点中获取数据。尽管目的有所 不同,但从另一个角度看,如果将视频文件以很小的间隔切分,每个片段可看作一个直播频 道,因次,一个点播频道可以看成为多个直播频道的组合。

发明内容
本发明的目的在于,为了解决上述问题,提出了一种基于虚拟直播源的分布式流 媒体点播方法。为达到上述目的,本发明提出了一种基于虚拟直播源的分布式流媒体点播方法。所述的基于虚拟直播源的分布式流媒体点播方法,该方法的具体工作步骤如下步骤1)该点播方法通过将每个点播频道按照固定时间TL将点播频道的播放节 目划分为多个片段,每个片段称为桶,每个桶作为一个虚拟直播频道;所述的点播频道采用 动态时间坐标系的方法映射到点播系统中的多个虚拟直播频道,使直播、点播系统进行无 缝融合,有效地通过直播系统实现点播的目的;步骤2)当某节点P访问此流媒体点播系统的某个点播频道时,计算出访问节点P 所需播放点的桶号,即访问节点P的桶号;若发生VCR操作,则转至步骤2. 1);若没有发生 VCR操作,则转至步骤2. 2);步骤2. 1)判断是否发生跳桶,若出现跳桶,计算出新的桶号,转至步骤2. 2);步骤2. 2)为节点P生成节点IDp ;即IDp =点播频道ID+虚拟直播频道ID+hash ;其中,虚拟直播频道ID即是桶ID, hash即是哈希函数,目的是为了通过节点IP地址和端口号生成一个唯一的标识序列,转至步骤2. 3);步骤2. 3)根据DHT路由协议将节点P加入流媒体点播系统,所述的DHT路由协 i义^lli舌:Pastry> Tapastry gJc Chord ;步骤2. 4)根据直播系统的节点维护策略,通过节点P的IDp进行区分,判断其所 处的虚拟直播频道,并用DHT对该节点P路由表中所需填充的直播频道内的信息进行组织、 选择和维护;步骤3)当节点P退出流媒体点播系统后,会向邻居节点发送离开消息,收到消息 的邻居节点会将该节点P从邻居表中删除,同时DHT会对退出后的网络结构进行更新和维 护。在同一个虚拟直播频道内,所有访问节点通过任一一种基于P2P的直播系统的节 点组织方法进行组织、维护和数据调度。所述的步骤2.1)为2. 1. 1)如果VCR操作之后,播放点的桶号与当前桶号一致,则不发生跳桶,节点仍 通过桶内直播系统的数据调度算法获取所需数据;2. 1. 2)如果VCR操作之后,播放点的桶号与当前桶号不一致,则发生跳桶,节点需 更新桶ID,通过DHT获得新桶内的节点并进行数据交互。所述的动态时间坐标系为假设点播频道中有一个节点从某时间点开始循环播放本频道节目,则这一假设节 点当前正播放的位置称为本频道的虚拟播放点;动态时间坐标系的原点和本频道的虚拟播 放点相等;设C为系统中所有点播频道的有限集,设系统中的各频道 . e C的虚拟节点从绝 对时间TSj开始不断循环播放本频道的节目,本频道整个节目的播放时间是Tp则对于Cj, 计算出当前时间虚拟播放点循环播放的遍数Nj以及其播放位置TP。U ,TPcurr即为Cj的动态 时间坐标系原点Oj Nj = floor ((Tcurr-TSj) /Tj)Oj = TPcurr = (Tcurr-TSj) % Tjo所述的采用了动态之间坐标系的方法确认用户所需播放点所在的桶号的步骤 为当用户访问某个节目Cj中任意播放点TPjx时,设当前时间是T·,则TPjx所属的
桶为
权利要求
一种基于虚拟直播源的分布式流媒体点播方法,该方法的具体工作步骤如下步骤1)该点播方法通过将每个点播频道按照固定时间TL将点播频道的播放节目划分为多个片段,每个片段称为桶,每个桶作为一个虚拟直播频道;所述的点播频道采用动态时间坐标系的方法映射到点播系统中的多个虚拟直播频道,使直播、点播系统进行无缝融合,有效地通过直播系统实现点播的目的;步骤2)当某节点P访问此流媒体点播系统的某个点播频道时,计算出访问节点P所需播放点的桶号,即访问节点P的桶号;若发生VCR操作,则转至步骤2.1);若没有发生VCR操作,则转至步骤2.2);步骤2.1)判断是否发生跳桶,若出现跳桶,计算出新的桶号,转至步骤2.2);步骤2.2)为节点P生成节点IDp;即IDp=点播频道ID+虚拟直播频道ID+hash;其中,虚拟直播频道ID即是桶ID,hash即是哈希函数,目的是为了通过节点IP地址和端口号生成一个唯一的标识序列,转至步骤2.3);步骤2.3)根据DHT路由协议将节点P加入流媒体点播系统,所述的DHT路由协议包括Pastry、Tapastry或Chord;步骤2.4)根据直播系统的节点维护策略,通过节点P的IDp进行区分,判断其所处的虚拟直播频道,并用DHT对该节点P路由表中所需填充的直播频道内的信息进行组织、选择和维护;步骤3)当节点P退出流媒体点播系统后,会向邻居节点发送离开消息,收到消息的邻居节点会将该节点P从邻居表中删除,同时DHT会对退出后的网络结构进行更新和维护。
2.根据权利要求1所述的一种基于虚拟直播源的分布式流媒体点播方法,其特征在 于,在同一个虚拟直播频道内,所有访问节点通过任一一种基于P2P的直播系统的节点组 织方法进行组织、维护和数据调度。
3.根据权利要求1所述的一种基于虚拟直播源的分布式流媒体点播方法,其特征在 于,所述的步骤2. 1)为2. 1. 1)如果VCR操作之后,播放点的桶号与当前桶号一致,则不发生跳桶,节点仍通过 桶内直播系统的数据调度算法获取所需数据;2. 1.2)如果VCR操作之后,播放点的桶号与当前桶号不一致,则发生跳桶,节点需更新 桶ID,通过DHT获得新桶内的节点并进行数据交互。
4.根据权利要求1所述的一种基于虚拟直播源的分布式流媒体点播方法,其特征在 于,所述的动态时间坐标系为假设点播频道中有一个节点从某时间点开始循环播放本频道节目,则这一假设节点当 前正播放的位置称为本频道的虚拟播放点;动态时间坐标系的原点和本频道的虚拟播放点 相等;设C为系统中所有点播频道的有限集,设系统中的各频道q e C的虚拟节点从绝对时 间TS^开始不断循环播放本频道的节目,本频道整个节目的播放时间是Ir则对于Cp计算 出当前时间虚拟播放点循环播放的遍数Nj以及其播放位置TP。U ,TPcurr即为Cj的动态时间 坐标系原点Oj Nj = ^oor((Tcurr-TSj)Aj)
5.根据权利要求1所述的基于虚拟直播源的分布式流媒体点播方法,其特征在于,所 述的采用了动态之间坐标系的方法确认用户所需播放点所在的桶号的步骤为当用户访问某个节目Cj中任意播放点TPjx时,设当前时间是T·,则TPjx所属的桶为
全文摘要
本发明涉及一种基于虚拟直播源的分布式流媒体点播方法,该点播方法通过将每个点播频道按照固定时间TL将点播频道的播放节目划分为多个片段,每个片段称为桶,每个桶作为一个虚拟直播频道;所述的点播频道采用动态时间坐标系的方法映射到点播系统中的多个虚拟直播频道,使直播、点播系统进行无缝融合,有效地通过直播系统实现点播的目的。本发明的优点在于,该方法显著降低了传统方法中的系统复杂性和维护开销,也易于后续数据调度算法的优化。另外,该方法可以使直播、点播系统进行无缝融合,增加任一个系统内节点的候选合作节点集合,扩大了每一个系统的带宽、存储空间等资源总量,为后续提高网络中节点带宽的利用率算法的应用打下了基础。
文档编号H04N7/173GK101945254SQ20101028276
公开日2011年1月12日 申请日期2010年9月15日 优先权日2010年9月15日
发明者尤佳莉, 王劲林 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1