P2P环境下的数据传输方法技术

技术编号:4248597 阅读:294 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种P2P环境下的数据传输方法,包括:对所要传输数据做分割后得到多组子数据流;在用户所登录的用户节点以及该用户节点的邻居节点上维护推送记录表,所述推送记录表用于记录所在节点所要推送以及所要接收的子数据流的信息;所述邻居节点按照随机的顺序将不同组的子数据流推送给所述用户节点,所述用户节点接收子数据流后结合所述推送记录表中的信息为所述邻居节点分配该邻居节点负责推送的子数据流;所述用户节点接收并保存所述邻居节点所推送的数据。本发明专利技术将推策略与拉策略相结合,能够尽可能地减少数据分片丢失情况的出现。本发明专利技术通过竞争机制实现子数据流的分配,能够减少冗余数据包的传输,提高整个系统的性能。

【技术实现步骤摘要】

本专利技术涉及流媒体数据传输方法,特别涉及P2P环境下的数据传输方法。
技术介绍
随着互联网络及其接入技术的快速发展,网络的数据传输能力得到了快速提升, 这使得过去无法大面积应用的海量数据交互应用程序获得了极大的发展空间。此类的应用 程序包括视频直播系统、视频点播系统、多媒体视像会议、远程医疗等。由于数据量过大, 传统的客户端/服务器模式并不能满足这些应用程序,其服务器端有限的资源会被轻易占 满,使得系统难以大面积部署。因此当前这些程序通常转而选择P2P互助的模式传输数据, 以期快速、高效、廉价的部署到互联网络中。 相较于客户端/服务器模式,P2P技术拥有网络负载均衡、易于快速大规模部署的 优点。以P2P视频直播系统为例,系统中各个客户端不但可以从视频的直接发布者请求数 据,同时还可以从其它客户端中分享数据。这种分享策略虽然会在一定程度上造成视频播 放的延迟,但却可以极大减轻该流媒体发布者的负担。实际上,对于普通的网络视频直播服 务来说,用户只要能够流畅收看到所希望看到的直播节目就会有很高的用户满意度,而并 不会在意数秒甚至数分钟的延迟。 虽然P2P的理念已经广泛应用于各种数据传输系统中,但是在实现细节方面,仍 然有很多值得深入探讨和研究的问题 第一,常见的网络终端接入技术,如ADSL等,大都存在下载能力大于上传能力的 问题,由于P2P流媒体系统的终端互助特性使得一个P2P流媒体终端通常需要连接多个邻 居节点才可以获得稳定的数据回放效果。如何打散媒体数据流、并将子数据流指派给邻居 节点集合,才能使得P2P流媒体系统的主要性能指标最大化,当前还没有明确方案。 第二, P2P流媒体系统中数据交换包含两种基本策略以数据提供节点为驱动力 量的推策略和以数据获得节点为驱动力量的拉策略。(1)推策略指P2P流媒体系统中的数据提供节点在未收到数据请求时,主动推送流媒体数据到其邻居节点。使用推策略可以降低系统客户端的网络时延,提高用户体验评分;但盲目使用推策略会导致数据的重复发送,对带宽资源会造成较大浪费; (2)拉策略指P2P流媒体系统中数据请求节点显式发出媒体数据请求消息到其邻居节点,邻居节点处理该请求消息后决定是否发送媒体数据给该数据请求节点。使用拉策略可以最大限度地减小数据传输所占用的带宽资源;然而,该策略会在一定程度上牺牲网络的实时性。
技术实现思路
本专利技术的一个目的是克服现有技术将媒体数据流打散成子数据流时不能使P2P 流媒体系统的主要性能指标最大化的缺陷,从而提供一种能够提高性能指标的P2P环境下 的数据传输方法。4 本专利技术的又一个目的是克服现有技术缺乏将推策略和拉策略相结合的数据交换 方法的缺陷,从而提供一种能够将推策略和拉策略相结合的P2P环境下的数据传输方法。 为了实现上述目的,本专利技术提供了一种P2P环境下的数据传输方法,包括 步骤1)、对所要传输数据做分割后得到多组子数据流; 步骤2)、在用户所登录的用户节点以及该用户节点的邻居节点上维护推送记录表,所述推送记录表用于记录所在节点所要推送以及所要接收的子数据流的信息; 步骤3)、所述邻居节点按照随机的顺序将不同组的子数据流推送给所述用户节点,所述用户节点接收子数据流后结合所述推送记录表中的信息为所述邻居节点分配该邻居节点负责推送的子数据流; 步骤4)、所述用户节点接收并保存所述邻居节点所推送的数据。 上述技术方案中,还包括 步骤5)、所述用户节点在某些数据无法及时到达时,向除了负责该数据推送的邻 居节点外的其它邻居节点请求该数据。 上述技术方案中,在所述的步骤1)中,对所要传输数据做分割包括分片、分组;其 中, 所述分片包括将数据按照规定的格式大小分割,得到数据分片;所述分组包括将 所述数据分片按照所述数据分配的标识进行分配,同一组的数据分片形成子数据流。 上述技术方案中,在对数据分片进行分组时,对所述数据分片的标识做取模操作, 将标识取模后所得到的余数相同的数据分片分在同一组中。 上述技术方案中,所述步骤3)包括 步骤3-1)、各个邻居节点对所述子数据流的序号做随机排列; 步骤3-2)、所述邻居节点根据随机排列结果将相应序号的子数据流按序推送给用户节点; 步骤3-3)、所述用户节点接收到某一邻居节点所推送的某一组子数据流后,根据 自身的推送记录表的信息,决定是否将该子数据流分配给该邻居节点,并将决定后的结果 通知该邻居节点。 上述技术方案中,所述步骤3-3)包括 步骤3-3-1)、所述用户节点接收到某一邻居节点所推送的某一组子数据流后,若 自身的推送记录表中记录拒绝接收该邻居节点所推送的该组子数据流,则向该邻居节点发 送拒绝消息,该邻居节点接收到拒绝消息后,在其自身的推送记录表中记录,否则,执行下 少; 步骤3-3-2)、若用户节点自身的推送记录表中记录接收该邻居节点所推送的该组 子数据流,则在该推送记录表中记录不接收其它邻居节点所推送的该组子数据流,并向该 邻居节点发送接收消息,该邻居节点接收到接收消息后,在其自身的推送记录表中记录。 上述技术方案中,所述的步骤5)包括 步骤5-1)、为数据设立未到达预警时刻; 步骤5-2)、在当前时刻到达该未到达预警时刻时,检查对应的数据是否已经到达 了所述用户节点,若没有到达,则向除了负责该数据推送的邻居节点外的其它邻居节点请 求该数据,否则不做操作; 步骤5-3)、所述邻居节点收到请求后,检查自身是否保存有相应的数据,若有,将该数据发送给所述用户节点,否则忽略该请求。 上述技术方案中,所述的步骤5)还包括 步骤5-4)、若当前时刻大于最晚到达时刻时,所请求的数据还未到达所述用户节点,则抛弃该数据。 本专利技术的优点在于 1、本专利技术将推策略与拉策略相结合,能够尽可能地减少数据分片丢失情况的出 现。 2、本专利技术通过竞争机制实现子数据流的分配,能够减少冗余数据包的传输,提高 整个系统的性能。附图说明 图1为P2P直播系统的示意图; 图2为本专利技术的P2P环境下的数据传输方法的流程图; 图3为本专利技术的P2P环境下的数据传输方法中为邻居节点分配子数据流的流程 图; 图4为本专利技术的P2P环境下的数据传输方法中用户节点主动请求数据分片的实现 过程的流程图; 图5为对数据流的数据分片进行分组的示意图; 图6为本专利技术中所涉及的推送记录表的示意图; 图7为当前时刻、预警时刻、最晚到达时刻间关系的示意图。具体实施例方式下面结合附图和具体实施方式对本专利技术进行说明。 在下面的实施例中以P2P环境为例,对本专利技术的方法进行说明。在说明方法之前, 首先就P2P环境做一举例说明。 图1示出了一个P2P直播系统的示意图,P2P直播系统是一种典型的P2P应用环 境。在该系统中包括有服务器和客户端节点,而客户端节点又可以分为直播发布者和直播 观看者。上述的服务器和直播发布者参与某一直播数据的发布,而直播观看者则参与该直 播数据的接收。由于直播发布者作为客户端节点本身参与流媒体数据的分发,因而能够极 大减轻流媒体服务器端的工作压力,促进网络负载均衡,提高网络资源的使用效率。需要说 明的是,图1所示P2P直播系统中的直播发布者与直播观看者的角色并不固定,对于某一客 户端节点而言,它对于某一直播数据可能是发布者,本文档来自技高网
...

【技术保护点】
一种P2P环境下的数据传输方法,包括:    步骤1)、对所要传输数据做分割后得到多组子数据流;    步骤2)、在用户所登录的用户节点以及该用户节点的邻居节点上维护推送记录表,所述推送记录表用于记录所在节点所要推送以及所要接收的子数据流的信息;    步骤3)、所述邻居节点按照随机的顺序将不同组的子数据流推送给所述用户节点,所述用户节点接收子数据流后结合所述推送记录表中的信息为所述邻居节点分配该邻居节点负责推送的子数据流;    步骤4)、所述用户节点接收并保存所述邻居节点所推送的数据。

【技术特征摘要】
一种P2P环境下的数据传输方法,包括步骤1)、对所要传输数据做分割后得到多组子数据流;步骤2)、在用户所登录的用户节点以及该用户节点的邻居节点上维护推送记录表,所述推送记录表用于记录所在节点所要推送以及所要接收的子数据流的信息;步骤3)、所述邻居节点按照随机的顺序将不同组的子数据流推送给所述用户节点,所述用户节点接收子数据流后结合所述推送记录表中的信息为所述邻居节点分配该邻居节点负责推送的子数据流;步骤4)、所述用户节点接收并保存所述邻居节点所推送的数据。2. 根据权利要求1所述的P2P环境下的数据传输方法,其特征在于,还包括步骤5)、所述用户节点在某些数据无法及时到达时,向除了负责该数据推送的邻居节 点外的其它邻居节点请求该数据。3. 根据权利要求1或2所述的P2P环境下的数据传输方法,其特征在于,在所述的步骤 1)中,对所要传输数据做分割包括分片、分组;其中,所述分片包括将数据按照规定的格式大小分割,得到数据分片;所述分组包括将所述 数据分片按照所述数据分配的标识进行分配,同一组的数据分片形成子数据流。4. 根据权利要求3所述的P2P环境下的数据传输方法,其特征在于,在对数据分片进行 分组时,对所述数据分片的标识做取模操作,将标识取模后所得到的余数相同的数据分片 分在同一组中。5. 根据权利要求1或2所述的P2P环境下的数据传输方法,其特征在于,所述步骤3) 包括步骤3-1)、各个邻居节点对所述子数据流的序号做随机排列;步骤3-2)、所述邻居节点根据随机排列结果将相应序号的子数据流按序推送给用户节点;步...

【专利技术属性】
技术研发人员:王雷叶靖吕建明林思明李静远刘悦程学旗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1