一种降低p2p直播系统中播放延迟的方法与系统的制作方法

文档序号:7558150阅读:621来源:国知局
专利名称:一种降低p2p直播系统中播放延迟的方法与系统的制作方法
技术领域
本发明属于流媒体和分布式系统技术领域,具体涉及一种降低P2P直播系统中播 放延迟的方法与系统。
背景技术
基于单播C/S结构的媒体服务器容易成为系统瓶颈,其扩展性不高,不适合流媒 体大规模数据的分发。相应的IP组播技术存在固有限制难以部署、CDN分发网络成本过 高、只是将瓶颈转移而非消除等问题。在P2P方式下,每个对等实体(peer)既是服务的提 供者,又是服务的享用者。peer为系统提供有限的计算或存储资源,peer之间协作为其 他peer提供服务,将服务器的负载分散到peer中,从而有效地减轻了服务器的负载和 网络带宽占用,极大地提高了系统的可扩展性,具有巨大潜在的应用前景。而流媒体服 务中有巨大的数据量需要传输,因此,P2P流媒体技术成为研究热点。对于P2P流媒体系统而言,由于节点的不稳定性以及节点能力的差异,使得P2P 流媒体系统中的QoS问题更加突出,也是P2P流媒体系统研究的一大热点所在。比较突出 的问题有播放连续度不高,特别是在在线人数很多的时候;频道切换时间过长,通常在十秒 以上,导致用户满意度不高;直播系统的播放延时比较长,与电视等传统媒体相比有劣势。 这几个问题如果不能很好地解决,将会严重影响到用户的使用体验。如今,P2P流媒体已成为一种非常流行的媒体传播分发方案,许多研究机构都在持 续在这领域进行研究,很多公司也很注重对这一技术的使用和改进。而P2P流媒体中QoS 问题已成为热门的研究方向。目前P2P流媒体中存在主要问题有比较长的初始播放缓冲 延迟(选择频道点击播放后要等一段时间才能播放)和绝对播放延迟(与媒体源相比在播放 进度上晚一段时间),还有播放连续读问题(在播放过程中卡壳)。

发明内容
本发明的目的在于提供一种可改进视频播放的连续度,提升用户的体验的降低 P2P直播流媒体中的播放延迟的方法与系统。本发明提供的降低P2P直播流媒体中的播放延迟的方法,是利用节点自治域号、 地理位置和往返时延(Round-Trip Time)等信息来构建优化的覆盖网络拓扑结构,选择合 适的邻居节点,另外,系统使用了独特的缓冲区管理算法和节点延迟设定算法,从而达到提 升播放连续度和降低系统平均播放延迟的目的。用户的上传带宽利用率、数据块的调度算法、覆盖网络的构造和播放延迟设定方 式等因素是影响P2P系统性能的重要因素。本发明从覆盖网络拓扑构造、邻居选择算法、缓 冲区管理和播放延迟设置等几个方面入手,改善这些方面的性能来达到降低播放延迟、提 升用户体验的目的。本发明提出的降低P2P直播系统中播放延迟的方法,首先,在P2P系统中设置位置 服务器和自治域路径服务器两个特别的服务器,分来用来提供位置信息查询和计算K短路径,计算出来的结果用来筛选邻居节点和设置自治域默认播放延迟。然后,将P2P系统中的节点根据所在自治域进行分簇,在同一簇内的节点更有可 能成为邻居节点,同时选择优良的相邻自治域内的节点作为邻居节点来提升新数据块的分 发速度,防治覆盖网络拓扑发生分裂。普通节点由覆盖网络拓扑管理器、数据调度器、数据缓冲区和播放器四大部分组 成覆盖网络拓扑管理器负责P2P覆盖网络的构造和维护;数据调度器负责分析各个邻居 节点的缓冲区状况和上一个时间周期各个居节点的贡献和支出,然后根据结果做出决策。对于不同自治域中的节点,根据这些自治域节点离源媒体服务器所在自治域的 网络距离来进行自治域中节点默认播放延迟的设定,如果新加入节点在自治域默认播放 延迟设定情况下播放连续度不高,出现卡壳的情况,可以增加缓冲时间,相应也增加了播放 延迟。一、系统架构在本发明使用的系统架构中,除了频道列表服务器、Tracker服务器、媒体服务器 之外,还增加了位置服务器和自治域路径服务器。整个系统架构如附

图1所示。位置服务器 提供节点自治域号、经纬度和地区号等位置信息给各节点。因为每个节点基本上只需要查 询一次位置信息,所以此服务器可以直接使用PWhois的服务来代替或者做一个它的镜像 服务器来应对大量的查询。自治域路径服务器负责计算离给定自治域的最近的和次近的自 治域,然后提供给Tracker服务器用来初步筛选候选节点和设定自治域的默认播放延迟。新上线的用户,如果是第一次上线,就连接位置服务器去查询自己的自治域号、经 度纬度和所在地区等地理位置信息并保存在本地。已有自己位置信息的节点连接频道列表 服务器去拉取最新的频道列表信息。在用户选择了自己要观看的频道之后,客户端会发送 带有自己位置信息的请求给Tracker服务器。Tracker服务器根据发送过来的位置信息对 观看同一频道的节点进行初步筛选,同一自治域的节点更有可能被选为候选节点发送给新 上线的节点作为候选邻居节点。新上线的节点获取到Tracker服务器发送过来的候选邻居节点列表之后就会再 次根据自治域信息、往返时延(Round-Trip Time)和节点性能等条件挑选最合适的节点作 为自己的邻居节点。然后,新上线节点向选定的邻居节点发送数据包建立连接,交换播放延 迟、缓冲区信息和播放位置等信息,新节点根据最先收到的播放延迟信息和自治域路径服 务器返回的信息计算自己的播放延迟。确定自己的播放延迟后就向邻居节点拉取自己需要 的数据块并发送自己拥有的数据块给其它有需要的节点。二、节点的组成模块一个普通节点由覆盖网络拓扑管理器、数据调度器、数据缓冲区和播放器四大部分组 成的。覆盖网络拓扑管理器负责P2P覆盖网络的构造和维护,是影响系统性能的一个重要 因素,下一节我们会详细说明如何来保证构造一个优化的覆盖网络拓扑。数据调度器负责 分析各个邻居节点的缓冲区状况和上一个时间周期各个邻居节点的贡献和支出,然后根据 统计结果做出决策从什么邻居节点请求哪一块数据可以达到最大的数据接收速率,保持 视频的正常播放。本发明的数据缓冲区与一般流行的P2P直播流媒体系统的缓冲区不一样,我们使 用了不一样的数据缓冲区管理策略。一般的P2P流媒体系统不会保留播放了的数据,会直接抛弃掉。本发明将数据缓冲区切分为两个区段前区和后区。前区用于存放从其它节点 接收的即将播放的数据,而后区用来存放那些已经播放了的数据,这些数据可以用来为其 它播放延迟要高于自己的节点服务。在我们的发明中,缓冲区的总大小是固定的,而前区的 大小和后区的大小事根据节点所处的位置和节点自身的能力确定的。根据节点的播放延迟 来设定缓冲区的前区和后区的大小。如何确定节点的播放延迟会在第五小结详细说明。本发明的播放器模块与普通流媒体播放器无异。我们将数据缓冲区的媒体数据输 送给媒体播放器,播放器负责将数据播放呈现给用户。三、优化的覆盖网络拓扑构造构造优化的覆盖网络的主要思想如下构造一个扁平的覆盖网络拓扑,这样可以加快 数据块在整个网络中的分发,减少数据块从媒体源服务器产生到所有节点获得此数据块的 时间;另外采用位置感知技术,将在处于同一自治域的节点置于同一分簇中,加强节点间的 合作,这样数据可以高效地在各节点间传输。具体的拓扑形成控制过程如下每个节点在第一进入系统和网络位置发生改变时 (处于不同的自治域或者国家地区),通过位置服务器查询更新自己的自治域号、经度纬度 和地区号等位置信息,然后将这些位置信息保存在本地磁盘,以备下次使用,不用每次启动 都查询位置服务器。然后节点将自己的位置信息跟所选观看频道信息发送给Tracker服务 器,Tracker保存每个在线节点的相关信息并将观看同一频道的节点按照自治域号进行分 类。在Tracker返回给新加入节点候选节点列表中,同一自治域的节点占有大于60%的比 例,如果同一自治域的节点过少,邻近的自治域的节点作为次佳选择返回。另外,在整个节 点观看过程中,都按照同一自治域的节点有优先权的原则选取邻居节点。这样,邻居列表中 始终保持同一自治域的邻居节点占大多数,这为高效的数据传输打下了基础。另外一方面,为了加速媒体源服务器新编码的数据块的分发速度,在选择邻居节 点时我们会考虑到选择适当比例的临近自治域的优良节点作为邻居节点,这样可以有效地 保持整个覆盖网络的健壮性,不会因为节点的退出而产生拓扑分裂的情况。最终构造的拓 扑中,覆盖网络的拓扑会与物理网络的拓扑非常吻合匹配,可以提升网络传输效率,节省数 据分发时间。四、邻居节点选择算法在Tracker服务器中已经将观看同一频道的节点按照自治域分类,并按照一定的比例 将同一自治域的节点与非同一自治域的节点作为候选节点发送给新加入节点。新节点在收 到候选节点列表之后会在这两个集合中分别计算自己与他们的网络距离,网络距离的定义 如下式所示。其中Du代表节点i和节点j之间的网络距离,Gu表示节点i与节点j的物 理距离,Lati和Loni分别表示节点i的经度和纬度。
权利要求
1.一种降低P2P直播系统中播放延迟的方法,其特征在于P2P直播系统中除了频道 列表服务器、Tracker服务器、媒体服务器之外,还设置了位置服务器和自治域路径服务器; 位置服务器提供节点自治域号、经纬度和地区号等位置信息给各节点;自治域路径服务器 负责计算离给定自治域的最近的和次近的自治域,然后提供给Tracker服务器用来初步筛 选候选节点和设定自治域的默认播放延迟;新上线的用户,如果是第一次上线,就连接位置服务器去查询自己的自治域号、经度纬 度和所在地区等地理位置信息并保存在本地;已有自己位置信息的节点连接频道列表服务 器去拉取最新的频道列表信息;在用户选择了自己要观看的频道之后,客户端发送带有自 己位置信息的请求给Tracker服务器;Tracker服务器根据发送过来的位置信息对观看同 一频道的节点进行初步筛选,同一自治域的节点更有可能被选为候选节点发送给新上线的 节点作为候选邻居节点;新上线的节点获取到Tracker服务器发送过来的候选邻居节点列表之后,再次根据自 治域信息、往返时延和节点性能等条件挑选最合适的节点作为自己的邻居节点;然后,新上 线节点向选定的邻居节点发送数据包建立连接,交换播放延迟、缓冲区信息和播放位置等 信息;新上线节点根据最先收到的播放延迟信息和自治域路径服务器返回的信息计算自己 的播放延迟,确定自己的播放延迟后就向邻居节点拉取自己需要的数据块并发送自己拥有 的数据块给其它有需要的节点。
2.如权利要求1所述的方法,其特征在于一个普通节点由覆盖网络拓扑管理器、数据 调度器、数据缓冲区和播放器四大部分组成;其中覆盖网络拓扑管理器负责P2P覆盖网络的构造和维护;数据调度器负责分析各个邻居节点的缓冲区状况和上一个时间周期各个邻居节点的 贡献和支出,然后根据统计结果做出决策从什么邻居节点请求哪一块数据可以达到最大 的数据接收速率,保持视频的正常播放;数据缓冲区被切分为两个区段前区和后区,前区用于存放从其它节点接收的即将播 放的数据,后区用来存放那些已经播放了的数据,这些数据可以用来为其它播放延迟要高 于自己的节点服务;缓冲区总的大小是固定的,而前区的大小和后区的大小根据节点所处 的位置和节点自身的能力确定;播放器采用普通流媒体播放器,将数据缓冲区的媒体数据输送给媒体播放器,播放器 负责将数据播放呈现给用户。
3.如权利要求2所述的方法,其特征在于还构造优化的覆盖网络,即构造一个扁平的 覆盖网络拓扑,以加快数据块在整个网络中的分发,减少数据块从媒体源服务器产生到所 有节点获得此数据块的时间;同时,采用位置感知技术,将在处于同一自治域的节点置于同 一分簇中,加强节点间的合作,使数据可以高效地在各节点间传输;每个节点在第一进入系统和网络位置发生改变时,通过位置服务器查询更新自己的自 治域号、经度纬度和地区号等位置信息,然后将这些位置信息保存在本地磁盘,以备下次使 用;然后节点将自己的位置信息跟所选观看频道信息发送给Tracker服务器,Tracker服 务器会保存每个在线节点的相关信息并将观看同一频道的节点按照自治域号进行分类;在 Tracker服务器返回给新加入节点候选节点列表中,同一自治域的节点占有大于60%的比 例,如果同一自治域的节点过少,邻近的自治域的节点作为次佳选择返回;另外,在整个节点观看过程中,按照同一自治域的节点有优先权的原则选取邻居节点,使邻居列表中始终 保持同一自治域的邻居节点占大多数。
4.如权利要求3所述的方法,其特征在于邻居节点的选择算法如下在Tracker服务 器中将观看同一频道的节点按照自治域分类,并按照一定的比例将同一自治域的节点与非 同一自治域的节点作为候选节点发送给新加入节点;新节点在收到候选节点列表之后,在 这两个集合中分别计算自己与他们的网络距离,网络距离的定义如下式所示,其中0,」代表 节点i和节点j之间的网络距离,Giij表示节点i与节点j的物理距离,Lati和Loni分别表 示节点i的经度和纬度;
5.如权利要求4所述的方法,其特征在于还采用异步播放策略,将一个频道的覆盖网 络按照离源服务器的远近和网络状况按照自治域分成若干个同步播放区;离源服务器近 的,先获得数据块的区域先播放,离源服务器远的,需要其它节点接力的稍后进行播放;在 同一播放区域的拥有相同或者相近的播放延迟;一个自治域的播放延迟设定,使用基于播放延迟的成比例的播放延迟设定算法,即新 的自治域的默认播放延迟根据邻近的更靠近数据源的自治域的播放延迟来计算;一个基点 的播放延迟由它的初始启动偏移和初始缓冲时间决定,而初始缓冲时间是固定的,所以只 要计算出初始启动偏移即可;下式为计算自治域的默认初始启动偏移的公式,其中θ为节 点的默认初始启动偏移,&(、)为邻近自治域节点Pn的播放点,α为系统调节系数,Lp为 Pn的播放延迟;
6.一种降低P2P直播系统中播放延迟的系统,其特征在于P2P直播系统中除了频道 列表服务器、Tracker服务器、媒体服务器之外,还设置有位置服务器和自治域路径服务器; 位置服务器用于提供节点自治域号、经纬度和地区号等位置信息给各节点;自治域路径服 务器用于负责计算离给定自治域的最近的和次近的自治域,然后提供给Tracker服务器用 来初步筛选候选节点和设定自治域的默认播放延迟;新上线的用户,如果是第一次上线,就连接位置信息服务器去查询自己的自治域号、经 度纬度和所在地区等地理位置信息并保存在本地;已有自己位置信息的节点连接频道列表 服务器去拉取最新的频道列表信息;在用户选择自己要观看的频道之后,客户端发送带有自己位置信息的请求给Tracker服务器;Tracker服务器根据发送过来的位置信息对观看 同一频道的节点进行初步筛选,同一自治域的节点更有可能被选为候选节点发送给新上线 的节点作为候选邻居节点;新上线的节点获取到Tracker服务器发送过来的候选邻居节点列表之后,再次根据自 治域信息、往返时延和节点性能等条件挑选最合适的节点作为自己的邻居节点;然后,新上 线节点向选定的邻居节点发送数据包建立连接,交换播放延迟、缓冲区信息和播放位置等 信息;新上线节点根据最先收到的播放延迟信息和自治域路径服务器返回的信息计算自己 的播放延迟,确定自己的播放延迟后就向邻居节点拉取自己需要的数据块并发送自己拥有 的数据块给其它有需要的节点。
7.如权利要求6所述的系统,其特征在于一个普通节点由覆盖网络拓扑管理器、数据 调度器、数据缓冲区和播放器四大部分组成;其中覆盖网络拓扑管理器负责P2P覆盖网络的构造和维护;数据调度器负责分析各个邻居节点的缓冲区状况和上一个时间周期各个邻居节点的 贡献和支出,然后根据统计结果做出决策从什么邻居节点请求哪一块数据可以达到最大 的数据接收速率,保持视频的正常播放;数据缓冲区被切分为两个区段前区和后区,前区用于存放从其它节点接收的即将播 放的数据,后区用来存放那些已经播放了的数据,这些数据可以用来为其它播放延迟要高 于自己的节点服务;缓冲区总的大小是固定的,而前区的大小和后区的大小根据节点所处 的位置和节点自身的能力确定;播放器采用普通流媒体播放器,将数据缓冲区的媒体数据输送给媒体播放器,播放器 负责将数据播放呈现给用户。
全文摘要
本发明属于流媒体和分布式系统技术领域,具体为一种降低P2P直播系统中播放延迟的方法与系统。本发明在P2P直播系统的频道列表服务器、Tracker服务器、媒体服务器外,增设位置服务器和自治域路径服务器;前者提供节点自治域号、经纬度和地区号等位置信息给各节点;后者负责计算离给定自治域的最近的和次近的自治域,然后提供给Tracker服务器用来初步筛选候选节点和设定自治域的默认播放延迟;本发明还构建优化的覆盖网络拓扑结构,选择合适的邻居节点,并使用独特的缓冲区管理算法和节点延迟设定算法,从而达到提升播放连续度和降低系统平均播放延迟的目的。
文档编号H04L29/06GK102055808SQ20111000361
公开日2011年5月11日 申请日期2011年1月10日 优先权日2011年1月10日
发明者王新, 赵进, 黄东波 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1