一种p2p流媒体直播方法和系统的制作方法

文档序号:7740912阅读:117来源:国知局
专利名称:一种p2p流媒体直播方法和系统的制作方法
技术领域
本发明涉及网络流媒体技术领域,尤其涉及一种P2P(Peer toPeer,对等)网络流 媒体直播方法和系统。
背景技术
流媒体是指采用流式传输的方式在Internet/Intranet播放的媒体格式。流式传 输将整个音频、视频或三维媒体等多媒体内容经过特定的压缩方式生成压缩包,由媒体服 务器向用户终端实时传送。客户端无需下载完整媒体内容即可播放该媒体。与单纯的下载 方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动延时大幅度缩短, 系统缓存容量需求也大大降低,极大地减少了用户等待时间。流媒体应用越来越普及,但对带宽资源要求高且服务时间长,传统C/S模式服务 器很容易成为系统瓶颈。IP组播采用多个节点共享媒体流的方式减轻服务器和网络负载, 但由于部署原因很难在hternet上广泛实施;CDN(Content Delivery Network,内容分发 网络)采用代理缓存节点的方式将服务和内容推向网络“边缘”,但部署昂贵且存在瓶颈。 P2P流媒体通过利用普通节点的资源为其它节点提供服务,在不改变现有网络配置的前提 下具有良好的性价比,是一种具有广泛应用前景的流媒体分发方法。高清流媒体直播是指以流媒体的形式传送高清的实时画面和声音,并还原播放为 视频和音频。然而要是以P2P方式承载的高清流媒体直播流畅播放,为减低客户节点对服 务器的依赖,节点间需要相互共享数据,而节点间的数据交互面临节点数据完整问题。直播的数据对实时性要求较高,已过时的数据会被抛弃。当由多个节点提供数据 的时候,需要解决如何实时获取完整的数据以保证流媒体的流畅播放的问题。

发明内容
本发明要解决的一个技术问题是提供一种P2P流媒体直播系统和方法,能够保证 直播流媒体的流畅播放。本发明提供一种P2P流媒体直播方法,包括监测直播流媒体的数据缓冲区的状态;当所述数据缓冲区的数据未填满数据安全区域时,客户节点优先向补偿服务器请 求对应的直播流媒体数据;当所述数据缓冲区的数据填满所述数据安全区域时,所述客户节点根据上层节点的评分向所述上层节点请求直播流媒体数据;所述客户节点停止向所述补偿服务器请求直播流媒体数据。进一步,上述客户节点根据上层节点的评分向所述上层节点请求直播流媒体数据 的步骤包括客户节点从索引服务器查询流媒体直播的节点列表;客户节点根据节点评分策略对节点列表中的上层节点进行评分;
客户节点根据上层节点的评分向上层节点按比例请求直播流媒体数据。进一步,该方法还包括监测所述直播流媒体数据的下载速度是否低于直播源码率,如果低于,则所述客 户节点向所述索引服务器请求新的节点列表,替换评分低的上层节点;禾口/ 或所述客户节点定期检查当前上层节点的评分,向所述索引服务器请求新的上层节 点以更新评分低的上层节点。禾P/或所述客户节点判断所述上层节点的数量是否满足预定数量,当不满足时,向所述 索引服务器请求新的节点列表。本发明提供一种P2P流媒体直播系统,包括索引服务器,用于基于频道管理频道所属的数据节点;接收了来自客户节点的注 册;接收来自客户节点的对于频道的数据节点查询请求,向客户节点发送所述频道的数据 节占.
I— /、、、 内容服务器,用于提供流媒体直播的原始数据;补偿服务器,用于接收来自客户节点的紧急直播流媒体数据请求,向客户节点发 送请求的数据;客户节点,用于监测流媒体直播的数据缓冲区的状态;当所述数据缓冲区的数据 未填满数据安全区域时,优先向所述补偿服务器请求对应的直播流媒体数据;当所述数据 缓冲区的数据填满所述数据安全区域时,根据上层节点的评分向所述上层节点请求直播流 媒体数据,停止向所述补偿服务器请求直播流媒体数据。进一步,所述客户节点还用于监测所述直播数据的下载速度是否低于直播源码 率,如果低于,则向所述索引服务器请求新的节点列表,替换评分低的上层节点;和/ 或所述客户节点还用于定期检查当前上层节点的评分,向所述索引服务器请求新的 上层节点以更新评分低的上层节点。禾P/或所述客户节点还用于判断所述上层节点的数量是否满足预定数量,当不满足时, 向所述索引服务器请求新的节点列表。本发明的P2P流媒体直播系统和方法,提供了安全区域补偿策略,通过补偿服务 器向客户节点提供紧急直播流媒体数据,保证客户节点上流媒体直播的流畅播放。


图1示出本发明实施例的一种P2P流媒体直播系统的示意图;图2示出本发明实施例的一种P2P流媒体直播方法的流程图;图3示出本发明实施例中采用的一种安全区域补偿策略示意图;图4示出本发明实施例的另一种P2P流媒体直播方法的流程图;图5示出本发明实施例中节点更新的示例的图示。
具体实施例方式下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。图1示出本发明实施例的一种P2P流媒体直播系统的示意图。如图1所示,该直 播系统包括索引服务器(Tracker krver) 11、内容服务器(Content krver) 12、补偿服务 器13和客户节点(如图1所示,节点A、B、C)。其中,索引服务器11是P2P直播网络的控 制者,用于基于频道管理频道所属的数据节点(客户节点);接收了来自客户节点的注册; 并接收来自客户节点的对于频道的数据节点查询请求,向客户节点发送该频道的数据节点 列表。内容服务器12是P2P直播数据源的提供者,用于提供直播流媒体的原始数据,客户 节点可以向内容服务器12请求直播流媒体数据,由内容服务器12发送给请求的客户节点。 补偿服务器13是紧急直播流媒体数据提供者,用于接收来自客户节点的紧急直播流媒体 数据请求,向客户节点发送请求的直播流媒体数据。当客户节点的数据不足时,向补偿服务 器13请求直播流媒体数据,以快速稳定地获取足够数据实现流媒体的流畅播放。客户节 点,用于监测流媒体直播的数据缓冲区的状态;当数据缓冲区的数据未填满数据安全区域 时,优先向补偿服务器请求对应的直播数据;当数据缓冲区的数据填满数据安全区域时,根 据上层节点的评分向上层节点请求直播流媒体数据,停止向补偿服务器请求直播流媒体数 据。流媒体直播的数据通常以时间为基准划分成不同的数据块,再以流水号的形式对 其进行编号,流媒体直播对已编号的数据块在P2P网络中传输,并在接收端对数据进行还 原播放。在本文中,也可以将一个直播流媒体称为一个直播频道。客户节点是P2P网络中的基础元素。客户节点在P2P网络内可以向其它节点请求 数据(下层节点功能),也可以向其它节点共享自身已拥有数据(上层节点功能)。其中, 索引服务器会控制客户节点之间的连接,根据索引服务器对内容服务器负载控制策略,减 轻内容服务器的负担,有一部分的节点会被分配向内容服务器请求数据(如图1中A、B节 点),而另一部分的节点会向其它客户节点请求数据(如图1中C节点向A、B节点请求数 据)。图2示出本发明实施例的一种P2P流媒体直播方法的流程图。如图2所示,在步骤202,监测直播流媒体的数据缓冲区的状态。该数据缓冲区对 应于媒体播放器的数据缓冲区,客户节点从上层节点下载的直播流媒体数据,排序后存入 该数据缓冲区以提供给媒体播放器进行播放。在步骤204,当数据缓冲区的数据未填满数据安全区域时,客户节点优先向补偿服 务器请求对应的直播流媒体数据。对应的直播流媒体数据指的是数据缓冲区中数据安全区 域中尚未填满的数据。当客户节点发现下载的数据安全区域的数据不足的时候,直接向补 偿服务器请求数据。在步骤206,当数据缓冲区的数据填满数据安全区域时,客户节点根据上层节点的 评分向上层节点请求直播流媒体数据,客户节点停止向补偿服务器请求直播流媒体数据。 客户节点登陆到有效的上层节点,上层节点会定时通知所拥有的数据,客户节点根据上层 节点的评分,按比例请求数据(评分高的多请求,评分低的少请求或不请求)。图3示出本发明实施例中采用的一种安全区域补偿策略示意图。在图3的实施例 中,在客户节点实现数据缓冲区队列,下载的直播流媒体数据从队列的末端插入,而播放器
6播放时从队列前端获取数据。以数据缓冲区队列的前端为基准,其后一定区域为数据安全 区域,当数据缓冲区中数据安全区域的数据不足时,及时向补偿服务器请求直播流媒体数 据。本领域的技术人员可以理解,数据安全区域的大小可以根据数据源的不同设置,例如, 码率大的流媒体的数据安全区域也需要相应增大。如图3所示,在状态1,作为起始时刻,数 据安全区域中的数据为空,客户节点向补偿服务器请求紧急数据;在状态2,数据安全区域 中的数据未满,此时客户节点继续向补偿服务器请求紧急数据;在状态3,数据安全区域中 的数据已满,客户节点转向上层节点请求数据,停止向补偿服务器请求数据;在状态4,当 上层节点不能满足数据安全区域数据时,客户节点再次向补偿服务器请求紧急数据;在状 态5,当数据安全区域的数据已满时,客户节点转向上层节点请求数据;在状态6,如果上层 节点下载的数据能够满足数据安全区域时,持续向上层节点请求数据。本发明的P2P流媒体直播系统和方法,提供了安全区域补偿策略,通过补偿服务 器向客户节点提供紧急直播流媒体数据,保证客户节点上流媒体直播的流畅播放。下面介绍本发明实施例中一种客户节点评分及其对应数据请求量的实现方法。首 先确定节点评分机制,例如设定最高分为10分,最低分为0分,分数越高代表节点的响应速 度越快,质量越好。为上层节点设定初始评分,例如初始分数为5分。当客户节点向上层节 点登陆后,上层节点会将拥有的最新数据块定时通知客户节点,客户节点会按照上层节点 最新数据块的总数以及上层节点的评分,计算出向每个上层节点请求的数据量。向一个上 层节点请求的数据量的计算公式示例为请求数据量=上层节点的最新数据块总数*(上层节点的评分/该客户节点的所 有上层节点总评分)(1)向上层节点发出数据请求后,如果数据完整返回,则增加该上层节点的评分;反 之,数据返回不完整或没有返回,则减少该上层节点的评分。评分的计算公式主要是考虑两 个方面数据能否被下载和传输速率。例如,一种增加或减少的评分计算公式为增加或减少的评分=(数据能下载为1/数据不能下载为-1)X下载速率X权重(2)其中,公式O)中的权重可以根据经验确定;在一些实施例中,可以不包含权重 项。一个节点的评分是其他节点对它评分之和。通过建立节点评分机制,客户节点可以保留优质的上层节点和抛弃劣质的上层节 点,从而更准确、有效地从优质数据节点中获取直播流媒体数据。图4示出本发明实施例的另一种P2P流媒体直播方法的流程图。如图4所示,在步骤402,客户节点向索引服务器注册登陆,查询该直播频道的节 点列表。在步骤404,客户节点登录返回的节点列表中的节点,保存成为上层节点,并根据 节点评分策略,对上层节点赋予初始分数。在步骤406,起始时客户节点向补偿服务器请求直播频道的数据。在步骤408,当数据缓冲区的数据填满数据安全区域时客户节点根据上层节点的 评分向上层节点请求流媒体数据。客户节点向上层节点登陆成功后请求数据,以上层节点CN 102137124 A
说明书
5/6页
的评分高低按比例向上层节点请求数据块。在步骤410,定时检查提供下载数据的当前上层节点的评分,并向索引服务器请求 新的节点列表,替换评分低的当前上层节点。在步骤412,定时监测直播流媒体数据的下载速度与直播源码率的比较情况,如果 下载速度比直播源码率低,则向索引服务器请求新的节点列表,并将评分低的上层节点替 换。在步骤414,定时监测上层节点的数量是否满足标准节点数量,如果不满足,则向 索引服务器请求新的节点列表,登陆上层节点以达到标准节点数量。根据本发明的数据安全区域策略,当从上层节点下载的直播流媒体数据未能支持 数据安全区域所需的数据量时,转向补偿服务器请求数据,以快速补齐所需的直播数据,确 保流畅播放。需要指出,本发明并不限定图4实施例中步骤410、412和414的顺序,在其他的实 施例中,可以包括步骤410、412和414中的一个或者多个。本发明提供了节点评分策略和安全区域补偿策略,以保障P2P高清流媒体直播流 畅播放。在P2P高清流媒体直播播放过程中,为了满足高清码流条件下的数据传输要求,用 户节点通过节点评分策略,选择网络传输属性优质的节点,组成自己的上层节点队列,同时 通过安全区域补偿策略,实现数据缓冲区安全预警,做到数据智能功化补偿,从而实现P2P 的高清流媒体直播流畅播放。图5示出本发明实施例中节点更新的示例的图示。在该实施例中,例如设定标准 节点数量为5。如图5所示,步骤5(a),加入频道直播,向索引服务器获取可提供直播数据的上层 节点,为上层节点赋予初始分数,例如5。步骤5(b),进行上层节点的评分更新。向上层节点发出数据请求后,如果数据完整 返回,则将该节点的评分增加;反之,数据返回不完整或没有返回,则将该节点的评分减少。 经过评分更新,上层节点A的评分变为9,上层节点B、E的评分变为6,而上层节点C和D的 评分分别变为2和3。步骤5 (c),更新评分低的上层节点。定时检查上层节点的评分,如果存在评分低于 阈值的上层节点,则重新将索引服务器请求新的上层节点,并将评分低的上层节点替换,例 如,用上层节点F、G替换上层节点C、D。为新加入的上层节点F、G赋予初始分数5。步骤5 (d),定时检查从上层节点下载数据的速度能否满足直播数据源码率需求, 如果不能满足,向索引服务器请求新的数据节点,并替换评分低的上层节点。由于上层节点 的数量超过了标准节点数量,所以并连接上层节点E、I。本发明提供的P2P流媒体直播系统和方法,节点之间有数据通知机制,上层节点 定时向下层节点通知自身拥有的数据。下层节点请求时,只请求上层节点已通知的数据,如 果没有收到数据通知,则直接向补偿服务器请求数据,对同一块数据,不会同时向多个节点 请求,从而高效利用了网络资源,最低限度减少冗余数据的下载。实现数据安全区域策略, 预先检测缓冲区数据不足的情况,通过补偿服务器快速下载缺少的数据块,及时快速下载 缺少的数据,从而提供足够的数据实现流畅的还原播放,保证播放流畅。根据数据源码率, 自动调整最优下载速度。引入节点评分策略,根据数据源码率自动调整对上层节点的数据请求量,从而调整下载速度。 本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明 限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描 述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理 解本发明从而设计适于特定用途的带有各种修改的各种实施例。
权利要求
1.一种P2P流媒体直播方法,其特征在于,包括 监测直播流媒体的数据缓冲区的状态;当所述数据缓冲区的数据未填满数据安全区域时,客户节点优先向补偿服务器请求对 应的直播流媒体数据;当所述数据缓冲区的数据填满所述数据安全区域时, 所述客户节点根据上层节点的评分向所述上层节点请求直播流媒体数据; 所述客户节点停止向所述补偿服务器请求直播流媒体数据。
2.根据权利要求1所述的P2P流媒体直播方法,其特征在于,所述客户节点根据上层节 点的评分向所述上层节点请求直播流媒体数据的步骤包括所述客户节点从索引服务器查询所述流媒体直播的节点列表; 所述客户节点根据节点评分策略对所述节点列表中的上层节点进行评分; 所述客户节点根据所述上层节点的评分向所述上层节点按比例请求直播流媒体数据。
3.根据权利要求1或2所述的P2P流媒体直播方法,其特征在于,还包括监测所述直播流媒体数据的下载速度是否低于直播源码率,如果低于,则所述客户节 点向所述索引服务器请求新的节点列表,替换评分低的上层节点。
4.根据权利要求1或2所述的P2P流媒体直播方法,其特征在于,还包括所述客户节点定期检查当前上层节点的评分,向所述索引服务器请求新的上层节点以 更新评分低的上层节点。
5.根据权利要求1或2所述的P2P流媒体直播方法,其特征在于,还包括所述客户节点判断所述上层节点的数量是否满足预定数量,当不满足时,向所述索引 服务器请求新的节点列表。
6.一种P2P流媒体直播系统,其特征在于,包括索引服务器,用于基于频道管理频道所属的数据节点;接收了来自客户节点的注册; 接收来自客户节点的对于频道的数据节点查询请求,向客户节点发送所述频道的数据节点;内容服务器,用于提供流媒体直播的原始数据;补偿服务器,用于接收来自客户节点的紧急直播流媒体数据请求,向客户节点发送请 求的数据;客户节点,用于监测流媒体直播的数据缓冲区的状态;当所述数据缓冲区的数据未填 满数据安全区域时,优先向所述补偿服务器请求对应的直播流媒体数据;当所述数据缓冲 区的数据填满所述数据安全区域时,根据上层节点的评分向所述上层节点请求直播流媒体 数据,停止向所述补偿服务器请求直播流媒体数据。
7.根据权利要求6所述的P2P流媒体直播系统,其特征在于,所述客户节点还用于监测 所述直播流媒体数据的下载速度是否低于直播源码率,如果低于,则向所述索引服务器请 求新的节点列表,替换评分低的上层节点。
8.根据权利要求6所述的P2P流媒体直播系统,其特征在于,所述客户节点还用于定 期检查当前上层节点的评分,向所述索引服务器请求新的上层节点以更新评分低的上层节 点。
9.根据权利要求6所述的P2P流媒体直播系统,其特征在于,所述客户节点还用于判断所述上层节点的数量是否满足预定数量,当不满足时,向所述索引服务器请求新的节点列表。
全文摘要
本发明公开一种P2P流媒体直播方法和系统。该方法包括监测直播流媒体的数据缓冲区的状态;当数据缓冲区的数据未填满数据安全区域时,客户节点优先向补偿服务器请求对应的直播流媒体数据;当数据缓冲区的数据填满数据安全区域时,客户节点根据上层节点的评分向上层节点请求直播流媒体数据。本发明的方法和系统,用户节点通过节点评分策略,选择网络传输属性优质的节点,组成自己的节点队列,以满足高清码流条件下的数据传输要求;通过安全区域补偿策略,实现数据缓冲量安全预警,做到数据智能功化补偿,从而实现P2P的高清流媒体直播流畅播放。
文档编号H04N21/24GK102137124SQ20101010169
公开日2011年7月27日 申请日期2010年1月27日 优先权日2010年1月27日
发明者庞涛, 张志健, 梁洁, 武娟, 黄海, 龙斌 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1