[发明专利]一种P2P流媒体数据请求方法无效
申请号: | 200710179584.3 | 申请日: | 2007-12-14 |
公开(公告)号: | CN101459585A | 公开(公告)日: | 2009-06-17 |
发明(设计)人: | 王劲林;苏少炜;鲁逸峰;冯侦探;任浩;苏杭 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L1/00;H04L12/18 |
代理公司: | 北京泛华伟业知识产权代理有限公司 | 代理人: | 王 勇 |
地址: | 100080北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 p2p 流媒体 数据 请求 方法 | ||
技术领域
本发明涉及计算机网络流媒体技术领域,更具体地,本发明涉及一种P2P流媒体数据请求方法。
背景技术
数据请求分配是目前P2P流媒体技术领域中的一个关键技术问题。按照分配粒度,P2P流媒体系统中使用的数据请求分配方法主要分为两类,分别是基于数据层的粗粒度分配和基于数据包的细粒度分配。在基于数据层的粗粒度分配方法中,主要是基于多重描述编码(MDC)的数据分配方法,所述方法对每条多重描述编码子流采用独立多播树进行传输,接收方根据自身带宽情况选择加入到多棵多播树中,适应节点的异构性,但是,多重描述编码的效率比分层编码的效率低,同时,多重描述编码的各个分层之间的解码不存在依赖关系。基于数据包的细粒度分配方法主要分为两种,一种是基于TCP友好(TCP-friendly)带宽测试的数据分配方法,在不知发送节点可用带宽的条件下,确保每个数据包仅被一个发送节点发送;另一种是基于前向纠错编码(FEC)的数据分配方法,可以在突发丢包网络环境中,减小数据包的丢失概率。
上述现有的数据请求分配方法,或者以整个数据段为单位向入节点(本地节点向某个或某几个节点请求数据,这些被请求的节点称为本地节点的入节点)进行数据请求,或者以数据包为单位轮流向入节点进行数据请求。对于前者,在刚开始播放的时候,如果数据段比较大,因为入节点根据数据包的优先级进行响应,序号较小并具有较高优先级的数据包往往集中在同一个数据段中,所述同一数据段发向一个入节点,而一些优先级较低的数据包放在另一个数据段中,发向另外一个入节点,从而导致部分优先级高的数据包得不到及时的响应,而部分优先级较低的数据包在另外一个入节点得到优先响应。对于后者,在数据请求到达入节点中某个或某几个节点的缓冲区末端时,即部分入节点可供请求的最新数据数目已经不能达到正常播放码率所要求的数据包的数目时,由于该方法以数据包为单位轮流向入节点进行数据请求,将造成拥有稀有数据包的入节点同时也承担共有数据包的请求响应,从而导致拥有稀有数据包的入节点负载过大,变成网络中的瓶颈节点。
发明内容
为克服现有技术中的数据资源不能有效利用、带宽不能合理分配的缺陷,本发明提出一种P2P流媒体数据请求方法。
一种P2P流媒体数据请求方法,包括:
步骤10)、用户节点加入P2P网络,获得入节点列表,向所述列表中的入节点发送请求,检测丢包情况,获得各入节点的上行带宽;
步骤20)、根据所述各个入节点的上行带宽,向所述各个入节点分配数据请求:
步骤210)、当本地缓冲区的大小小于预设值时,将要请求的数据包按照优先级从大到小进行排序,按照排序结果依次将所述各个数据包按照一定的块大小进行分块,并分配给各个入节点,直至已分配的数量达到所述入节点的请求量;
步骤220)、当本地缓冲区的大小大于预设值时,依次检测从各入节点能获得的数据包的个数,根据所述数据包个数的比例,确定所述各入节点分配的请求量。
其中,数据包请求过程中,记录所述用户节点的唯一标识号,如果发往某个入节点的数据包丢失,则下次优先选择其他用户节点发送所述丢失数据包的请求。
在步骤10)中,在所述请求发送之前,检测上上次发送队列的全部和上次发送队列的前半部分的数据包是否存在丢包,或者检测上上次发送队列的数据包是否存在丢包。
其中,当还未开始播放时,在每次请求数据前,检测上上次发送队列的全部和上次发送队列的前半部分是否有数据包未收到,如果有数据包未收到,将所述数据包的播放位置值和对应的唯一标识号加入紧急队列,同时统计所述唯一标识号相应的入节点的丢包数。
其中,当已经开始播放时,在每次请求数据前,只检测上上次发送队列是否有数据包未收到,如果有数据包未收到,将所述数据包的播放位置值和对应的唯一标识号加入紧急队列,同时统计所述唯一标识号相应的入节点的丢包数。
其中,所述方法进一步包括:
步骤110)、将所述紧急队列中的序列号按照优先级的大小排序;
步骤120)、在数据请求前,优先处理所述紧急队列的数据请求,检测要请求的数据包的序列号是否过期,如果过期则放弃请求,如果没有过期,则请求所述数据包;
步骤130)、检查所述紧急队列中要请求的数据包对应节点的唯一标识号是否为空,如果不为空,在请求数据时,优先将所述数据包的请求向节点唯一标识号不同于所述紧急队列所记录的唯一标识号的节点发送。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710179584.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置