首页> 中国专利> 一种P2P流媒体系统中获取候选合作节点的方法及系统

一种P2P流媒体系统中获取候选合作节点的方法及系统

摘要

本发明提供一种P2P流媒体系统中获取候选合作节点的方法及系统,所述方法包含:使用一维分布式哈希表来维护P2P流媒体系统中各个服务节点的多维度信息的步骤,该步骤中各个服务节点将该服务节点自身拥有的视频数据信息、自身的服务能力及稳定性信息为参量输入一组若干个具有位置敏感性的多维到一维的资源标识符生成函数,得到一组若干个一维标识符,并将包含所述若干个标识符信息的复合信息发布到分布式哈希表中;获取目标服务节点信息的步骤,当有应用需求的节点发出应用需求信息时,根据所述应用需求信息在所述分布式哈希表中搜索满足服务要求的服务节点作为目标服务节点,所述的目标服务节点作为所述数据调度层的候选合作节点。

著录项

  • 公开/公告号CN102547471A

    专利类型发明专利

  • 公开/公告日2012-07-04

    原文格式PDF

  • 申请/专利权人 中国科学院声学研究所;

    申请/专利号CN201110172909.1

  • 申请日2011-06-24

  • 分类号H04N21/63(20110101);H04N21/845(20110101);H04L12/56(20060101);

  • 代理机构11318 北京法思腾知识产权代理有限公司;

  • 代理人杨小蓉;高宇

  • 地址 100190 北京市海淀区北四环西路21号

  • 入库时间 2023-12-18 05:51:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-12-11

    授权

    授权

  • 2012-09-05

    实质审查的生效 IPC(主分类):H04N21/63 申请日:20110624

    实质审查的生效

  • 2012-07-04

    公开

    公开

说明书

技术领域

本发明涉及计算机网络技术领域,具体地说,本发明涉及一种P2P流媒体系统 中获取候选合作节点的方法及系统。

背景技术

P2P流媒体系统中的各个节点通过覆盖网层建立联系。覆盖网应根据数据调度层 的需求,快速、高校、准确的搜索到当前系统中满足一定条件的节点,为数据调度 层提供候选合作节点,并可通过调整自身组织结构的方式达到优化系统稳定性、带 宽利用率等指标的目的。

在P2P直播系统的每个频道内部,各节点的播放点均处于直播数据源的播放点附 近,能够进行数据合作的概率较大;点播系统中,各节点的播放点分布较为分散, 对overlay搜索候选合作节点的能力要求更高。而在选取合作节点时,候选节点的潜 在服务能力以及稳定性等因素也应予以考虑以提高数据调度的可靠性与效率。

部分P2P流媒体系统中,采用分布式哈希表如Kademlia、Chord来维护各个节点 拥有的数据等信息。在使用分布式哈希表时,节点将自己拥有的数据信息作为key, 将节点自身的IP:port等信息作为value,形成<key,value>对,发布到分布式哈希表中。 而一个节点在需要获得拥有指定数据的节点信息时,从分布式哈希表中搜索与所需 数据信息向匹配的<key,value>信息即可。目前,大多数传统P2P流媒体系统在组织 其覆盖网时,仅从组织、搜索视频内容的角度出发,并没有对各个节点的服务能力 及稳定性等信息做过多考虑。一些系统在此基础上做一定的优化,如地理位置敏感 的覆盖网组织方式等,但无法改变其以视频数据为根本的出发点。在这些流媒体系 统中,覆盖网层在为数据调度层提供候选合作节点时,无法有效获取到具有较好服 务能力及在线稳定性的节点,进而降低了为数据调度层所提供的候选节点的质量。

发明内容

本发明的目的是,为克服现有技术的流媒体系统中,覆盖网层在为数据调度层提 供候选服务节点时,无法有效获取到具有较好服务能力及在线稳定性的服务节点, 进而降低了为数据调度层所提供的候选节点的质量,从而本发明提供一种P2P流媒 体系统中获取候选合作节点的方法及系统。

本发明通过使用多维对等网维护起P2P流媒体系统中各个节点所拥有的视频数 据、节点服务能力及稳定性这三维信息,以便在为数据调度层提供候选合作节点时, 可以不仅从节点所拥有的数据出发,而是可以方便的获取到拥有所需数据、服务能 力及在线稳定性等性能均较好的节点,进而提高数据调度层所用的节点质量。

为实现上述发明目的,本发明提供一种P2P流媒体系统中获取候选合作节点的方 法,该方法的覆盖网层基于服务节点的服务能力及在线稳定性为数据调度层提供候 选的合作节点,包含:

使用一维分布式哈希表来维护P2P流媒体系统中各个服务节点的多维度信息的 步骤,该步骤中各个服务节点将该服务节点自身拥有的视频数据信息、自身的服务 能力及稳定性信息为参量输入一组若干个具有位置敏感性的多维到一维的资源标识 符生成函数,所述一组多维到一维的资源标识符生成函数将所述服务节点的多维输 入参量映射到一维,得到一组若干个一维标识符,并将包含所述若干个标识符信息 的复合信息发布到分布式哈希表中;

获取目标服务节点信息的步骤,当有应用需求的节点发出应用需求信息时,根 据所述应用需求信息在所述分布式哈希表中搜索满足服务要求的服务节点作为目标 服务节点,所述的目标服务节点作为所述数据调度层的候选合作节点;

其中,所述目标服务节点为所述服务节点中的某一个或若干个;所述服务节点包 含所有能为系统中其它节点提供直播或点播节目数据的节点;所述复合信息是指以 所述的一维标识符为key,节点的IP地址和端口号信息为value的<key,value>对。

上述技术方案中,所述视频数据信息,对于直播节目,使用该节目的序号来表示; 对于点播节目,将每个节目按固定时间长度分片后为各片段编号,每个片段的视频 数据信息使用点播节目号与该片段在其节目中的序号共同标识。

上述技术方案中,所述服务能力用于表征一个节点为其他节点提供流媒体数据的 能力,包括:节点的固有上行带宽、可用上行带宽或可服务节点数量。

上述技术方案中,所述节点稳定性用于表征一个节点为其他节点提供流媒体数据 的稳定程度,包括:节点在线时长、收看进度跳转、切换节目的时间间隔或上行带 宽波动程度。

上述技术方案中,所述多维到一维的资源标识符生成函数为:首先,通过一组位 置敏感性哈希函数将所述各个服务节点输入的多维信息向量哈希为中间多维向量; 之后再将中间向量由一个位置敏感性哈希函数哈希为一维整数;最后使用归一化函 数将已经得到的一维整数映射到一维分布式哈希表的标识符空间中,至此完成多维 信息到一维信息的哈希,得到最终的一维资源标识符。

上述技术方案中,所述获取目标服务节点的步骤进一步包含:

步骤201:获取所需目标服务节点应满足的多维特性信息的步骤;

步骤202:选取一个多维到一维的资源标识符生成函数的步骤,从所述一组若干 个具有位置敏感性的多维到一维的资源标识符生成函数中随机选择一个本次搜索尚 未使用过的资源标识符生成函数,并将选择的该标识符生成函数标记为已使用;

步骤203:获取目标服务节点对应的标识符范围的步骤,该步骤采用所述选择的 多维到一维的资源标识符生成函数,并根据所述获取的所需目标服务节点应满足的 多维特性信息生成所需目标服务节点的特征对应的一维标识符范围,从所述分布式 哈希表中搜索拥有该范围内的资源节点;

步骤204:判断已经选择的服务节点数是否满足应用需求的步骤,该步骤判断搜 索到的节点数目是否满足应用需求的要求,如果满足则停止搜索,并将搜索结果反 馈给等待应用服务的节点;如果否则返回步骤202。

基于以上方法,本发明提供一种P2P流媒体系统中获取候选合作节点的方法及 系统,该系统的覆盖网层基于服务节点的服务能力及在线稳定性为数据调度层提供 候选的合作节点,包含:

中心索引服务器,该服务器用于存储一组若干个具有位置敏感性的多维到一维 的资源标识符生成函数;服务节点,指P2P流媒体系统中能够为其他节点提供服务 的节点,从所述中心索引服务器获取多维到一维的资源标识符生成函数,根据本节 点拥有的视频数据信息、自身的服务能力及稳定性信息生成一维标识符,并将包含 一维标识符信息的复合信息存储到一维分布式哈希表中;应有需求发出节点,指P2P 流媒体系统中需要从其他节点获取服务的节点,发出应用需求的信息,该信息包含 目标服务节点应具有的视频数据信息、节点服务能力及在线稳定性信息,所述目标 服务节点为服务节点中的一个或若干个;其中,所述应用需求节点还设置有搜索模 块,该模块用于在所述分布式哈希表中搜索能够满足要求的服务节点作为目标服务 节点,所述服务节点作为数据调度层的候选合作节点;所述复合信息包含节点的IP 地址和端口号。

上述技术方案中,所述视频数据信息,对于直播节目,使用该节目的序号来表 示;对于点播节目,将每个节目按固定时间长度分片后为各片段编号,每个片段的 视频数据信息使用点播节目号与该片段在其节目中的序号共同标识;所述服务能力 用于表征一个节点为其他节点提供流媒体数据的能力,包括:节点的固有上行带宽、 可用上行带宽或可服务节点数量;所述节点稳定性用于表征一个节点为其他节点提 供流媒体数据的稳定程度,包括:节点在线时长、收看进度跳转、切换节目的时间 间隔或上行带宽波动程度;

上述技术方案中,所述多维到一维的资源标识符生成函数的生成过程为:首先, 通过一组位置敏感性哈希函数将输入的多维信息向量哈希为中间多维向量;之后再 将中间向量由一个位置敏感性哈希函数哈希为一维整数;最后使用归一化函数将已 经得到的一维整数映射到一维分布式哈希表的标识符空间中,至此完成多维到一维 的哈希,得到最终的一维资源标识符。

相对于现有技术,本发明具有如下技术效果:

1.本发明的P2P流媒体系统中获取候选合作节点的方法及系统,维护了包括各个节 点的拥有视频数据信息、节点服务能力、在线稳定性信息在内的多维数据,可以 令覆盖网在为数据调度层搜索合作节点时有效获取到服务能力及稳定性均满足 要求的节点,提高节点质量。

2.本发明的多维覆盖网,通过保持位置敏感性的资源标识符生成函数,将多维资源 信息映射到一维,进而实现使用一维的分布式哈希表维护多维数据,可以有效降 低覆盖网的构造与维护难度,并增强系统可扩展性。

3.本发明中,通过使用一组参数各不相同的一维资源标识符生成函数,可以有效地 分散资源标识符在标识符空间中的分布,均衡各个节点用于维护被发布到本节点 的信息的负载。

4.本发明中,覆盖网在分布式哈希表中进行搜索时,随机挑选一组一维资源标识符 范围信息中的一个进行搜索,可以有效降低分布式哈希表中节点用于处理信息搜 索的负载。

附图说明

图1为本发明的P2P流媒体系统中获取候选合作节点的系统组成框图;

图2为节点向覆盖网中发布资源信息流程图;

图3为覆盖网搜索所需节点的流程图;

图4为本发明的节点的组成框图;

图5是本发明的中心索引服务器的组成框图。

具体实施方式

下面结合附图和具体实施例对本发明的适用于P2P流媒体系统的多维度覆盖网 及其处理方法进行详细的说明。

本发明提供的适用于P2P流媒体系统的多维度覆盖网,该覆盖网将一个流媒体 系统中所有的收看直播、点播节目的节点及各个节点拥有的多维度信息均维护在一 个一维分布式哈希表(DHT)中,该覆盖网的运行包括如下步骤:

1)系统维护多维映射到一维的资源标识符生成函数,并将标识符生成函数存放 在中心索引服务器上;

2)每个服务节点刚上线时,获取到上述资源标识符生成函数;

3)整个系统使用一张一维分布式哈希表(DHT)维护P2P流媒体系统中的所有 节点及该服务节点的多维度信息;

4)服务节点对于自己所拥有的每一片段的视频数据信息,结合自身的多维度的 信息,成为多维信息向量,通过步骤1)所述的一组资源标识符生成函数生 成一组一维资源标识符;

5)服务节点以步骤4)中得到的一维标识符作为分布式哈希表的中的key,自身 的IP:port信息作为value,生成一组<key,value>对,将这些<key,value>对 信息发布到分布式哈希表中,完成<key,value>对信息在系统中各节点上的分 布式存储,供其他节点搜索。

6)当数据调度层需要从覆盖网层获取候选合作节点时,向覆盖网层提出目标节 点应该拥有哪些视频数据、服务能力值以及稳定性值应满足哪些需求。覆盖 网从分布式哈希表中搜索所需节点。

7)当一个应用需求节点需要获取P2P流媒体系统中拥有指定范围内的视频内容 数据且节点的服务能力及稳定性较好的节点时,通过指定所需的视频内容数 据的范围,所需的服务能力的范围以及稳定性的范围,通过1)中所述的一 组资源标识符生成函数,获知以上多维的目标范围在每一个资源标识符生成 函数下对应的一维资源标识符范围,并从分布式哈希表中搜索拥有该一维资 源标识符范围内资源的服务节点。

其中,所述的节点拥有的多维度的信息是由包括但不限于以下三项信息所组成 的向量:节点拥有的视频数据信息、节点服务能力信息及节点在线稳定性;

其中,所述步骤1)中的多维到一维的资源标识符生成函数的数量为α,α≥1为 系统配置参数。

其中,所述步骤1)中的一组多维映射到一维的资源标识符生成函数,其中的每 一个资源标识符生成函数都应保持位置敏感性,多维空间上相近的点在被资源标识 符生成函数映射到一维点后,应仍保持位置相近性,具体方式如下所示:

设资源标识符生成函数的输入为实数空间中的d维向量v=[v1,v2,...,vd],首先使 用k个p-稳定分布位置敏感性哈希函数(LSH函数)将v从映射到得到k维向量g(v)=(ha1,b1(v),...,hak,bk(v)),之后再次使用p-稳定LSH函 数将g(v)从维映射到至此将d维向量v映射到了 一维整数空间。为了令获得到的一维整数值的值域与分布式哈希表的标识符空间M 保持一致,使用归一化函数φ(τ)将结果调整到一维分布式哈希表的标识符空间M中。 该归一化函数可以使用为线性归一化或其他方式实现,例如使用以下φ(τ)函数:

φ(τ)=0,τ(μ-3σ)τ-(μ-3σ)6σ×M,μ-3σ<τ<μ+3σM,τ(μ-3σ)

上式中μ和σ分别为τg-LSH(v)的均值与标准差。至此,最终的资源标识符生成函 数为Φ(v)=φ(τg-LSH(v))=φ(ha′,b′(g(v)))。这组资源标识符生成函数中的每一个参数均 不相同,是通过随机选择作为其组成部分的p-稳定LSH函数ha1,b1(v),...,hak,bk(v)及 ha′,b′(g)的参数来实现的。以上所述上的所有p-稳定LSH函数可以是l1范式、l2范式 或其他范式下的p-稳定LSH函数。

其中,所述步骤3)中的视频数据信息,对于直播节目,视频数据信息使用该节 目的序号来表示;对于点播节目,每个节目按固定时间长度Tbucket分为片段后为各片 段编号,每个片段的视频数据信息使用点播节目号与该片段在其节目中的序号共同 标识。节点自身的服务能力可以使用节点自身的固有上行带宽、可用上行带宽、可 服务节点数量等来表示;节点的稳定性信息可以使用该节点的平均在线时间、带宽 稳定性等来表示。

其中,所述步骤4)中的一维分布式哈希表,可以是Kademlia或Chord或其他 各种一维分布式哈希表。

其中,所属步骤7)中的覆盖网从分布式哈希表中搜索所需节点,是指覆盖网按 照数据调度层所需求的视频数据、节点服务能力及稳定性范围,从分布式哈希表中 进行搜索,搜索处于指定范围内的信息。

其中,所述步骤8)中覆盖网层所需节点应满足的视频数据、服务能力、稳定性 要求,是按照数据调度层对候选合作节点所提出的要求来进行的。

其中,所述步骤8)中,在搜索拥有处于指定一维资源标识符范围内信息的节点 时,本节点的覆盖网从8)中所述的一组标识符范围信息中随机选则一个,在分布式 哈希表中进行搜索。

1.系统结构

图1为本发明的P2P流媒体系统中获取候选合作节点的系统组成框图。该系统中 存在一个中心式的索引服务器。系统初始化时,确定一组共α个多维到一维的资源 标识符生成函数,并将这组函数存放于中心索引服务器中,α为系统初始化时设定的 参数。该系统使用一张一维的分布式哈希表维护系统中收看直播点播节目的所有节 点,以及节点发布的资源信息。

资源标识符生成函数都应保持位置敏感性,多维空间上相近的点在使用该资源 标识符生成函数映射到一维点后,应仍保持位置相近性。例如可以基于位置敏感性 哈希来构造满足以上要求的资源标识符生成函数,如下所示:

设资源标识符生成函数的输入为三维变量:

v=[视频数据编号,服务能力值,稳定性值]

为了将v从映射到使用k个l2范式的p-稳定分布位置敏感性哈希函数 得到k维向量g(v)=(ha1,b1(v),...,hak,bk(v))。之后再次使用l2范式 的p-稳定LSH函数将g(v)从维映射到此τLSH服 从正态分布最后使用以下φ(τ)函数将τLSH值 调整到一维分布式哈希表的标识符空间M中:

φ(τ)=0,τ(μ-3σ)τ-(μ-3σ)6σ×M,μ-3σ<τ<μ+3σM,τ(μ-3σ)

上式中μ和σ分别为τg-LSH(v)的均值与标准差。所以我们使用的最终的资源标识 符生成函数为Φ(v)=φ(τg-LSH(v))=φ(ha′,b′(g(v)))。

这组资源标识符生成函数中的每一个参数均不相同,是通过随机选择作为其组成 部分的l2范式下的位置敏感性哈希函数ha1,b1(v),...,hak,bk(v)及ha′,b′(g)的参数来实现的。

2.节点加入系统流程

普通节点上线后,执行以下操作:

1)从中心索引服务器获取到如前所述的α个多维到一维的资源标识符生成函 数。

2)从中心索引服务器获取到已经处于本系统中的一些节点的信息

3)依靠这些节点信息进行加入系统的bootstrap操作,进而加入分布式哈希表。

3.节点向覆盖网中发布资源信息

图2为节点向覆盖网中发布资源信息的流程图。如该图所示,在本系统中, 直播节目的视频数据信息使用该节目的序号来表示;对于点播节目,每个节目按 固定时间长度Tbucket分为片段后为各片段编号,每个片段的视频数据信息使用点 播节目号与该片段在其节目中的序号共同标识。节点自身的服务能力使用节点自 身的上行带宽来表示;节点的稳定性信息使用该节点的平均在线时间来表示。节 点在加入收看一个直播节目,或已经缓存下一定数量的点播节目数据片段之后, 向覆盖网中发布视频资源信息。此发布流程如下:

1)节点获知自己要将哪些视频数据片段的信息发布到覆盖网中,并获取自身的 服务能力及在线稳定性值;

2)对于自身要发布的每一份视频数据片段信息,结合节点自身服务能力值及稳 定性值,形成3维向量v=[视频数据编号,服务能力值,稳定性值],并使 用从中心索引服务器或得到的α个多维到一维的资源标识符生成函数,计算 得到α个1维资源标识符;

3)分别以计算得到的每一个1维资源标识符为key,节点自身IP:Port信息为 value,形成<key,value>对,将这些<key,value>对发布到分布式哈希表中。

4.向数据调度层提供候选合作节点

当数据调度层需要从覆盖网层获取候选合作节点时,向覆盖网层提出目标节点应 该拥有哪些视频数据、服务能力值以及稳定性值应满足哪些需求。覆盖网层从自身 维护的候选节点列表中挑选出满足数据调度层所提要求的节点;若候选节点列表中 满足条件节点的总数少于数据调度层平均所需节点数量的β倍时,覆盖网从分布式 哈希表中搜索所需节点,β>1,为系统参数。

5.从分布式哈希表中搜索节点

在覆盖网层不能向数据调度层提供所需数量的满足其要求的节点时,或覆盖网层 所维护的候选节点列表中的节点数量少于数据调度层平均所需节点数量的2倍时, 覆盖网进行如下操作:

覆盖网通过获知所需的视频内容数据的范围,所需的服务能力的范围以及稳定性 的范围,通过在加入系统时或得到的α个资源标识符生成函数,获知以上3维的目 标范围在每一个资源标识符生成函数下对应的一维资源标识符范围,随后开始从分 布式哈希表中搜索满足数据调度要求的节点

图3为覆盖网搜索所需节点的流程图,如该图所示:

在搜索处拥有于指定一维资源标识符范围内信息的节点时,本节点的覆盖网从中 所述的一组标识符范围信息中随机选则一个,在分布式哈希表中进行搜索;若可以 搜索到足够数量的节点,则停止搜索;若不能搜索到足够数量的节点,则在一定周 期后,从上述一组标识符范围信息中再次随机选择一个尚未使用过的范围信息,再 次进行搜索。如此反复,直到搜索到足够数量的节点,或该组一维范围信息均被使 用过。

6、节点结构

图4为本发明的节点的组成框图。本发明针对的是P2P流媒体系统,每个节点既 可以从其他节点获取视频数据,也可以为其他节点提供数据。因此系统每个节点具 有接收服务与提供服务两重角色。

每个节点中维护着从中心式索引服务器中获取到的组共α个多维到一维的资源 标识符生成函数列表,用于将多维信息映射到一维;每个节点还维护着分布式哈希 表,即路由表。该分布式哈希表中按照一定的分布式哈希表协议结构,存放着系统 中部分其他节点的ID、IP、port等信息,以及维护着其他节点发布到系统中的部分 <key,value>对信息。各个节点所维护的分布式哈希表共同“分布式的”完成对系统中 的节点及节点所发布信息的索引、查询功能。

本节点对于自己所拥有的每一片段的视频数据信息,结合自身的稳定性、服务能 力等多维度的信息,生成多维信息向量,并通过从中心式索引服务器中获取到的组 共α个多维到一维的资源标识符生成函数,将多维信息降维到一维;随后本节点以 上述一维标识符作为分布式哈希表的中的key,自身的IP:port信息作为value,生 成一组<key,value>对,将这些<key,value>对信息发布到分布式哈希表中,完成<key, value>对信息在系统中各节点上的分布式存储,供其他节点搜索。

当本节点需要获取满足一定要求的候选合作节点时,本节点的上层应用(例如 数据调度层)首先提出对目标候选合作节点的各方面需求,包括目标节点应拥有的 数据、服务能力、稳定性信息;这些需求组成多维度的需求向量,通过本节点存储 的多维到一维的资源标识符生成函数,被映射成一维目标标识符;此后,通过分布 式哈希表搜索系统中与该一维目标标识符匹配的<key,value>对信息(key与该该一维 目标标识符匹配),进而通过value信息获取到目标候选合作节点信息,并将该搜索 结果添加到候选合作节点列表中。

7、中心索引服务器结构

图5为本发明的中心索引服务器的组成框图。中心式索引服务器维护着系统中 的在线节点列表及资源标识符生成函数列表。其中,在线节点列表中存储着系统中 当前在线的全部或部分节点的IP、port、节点ID等信息。当一个新节点加入系统时, 该节点首先从中心索引服务器的在线节点列表中获取若干当前在线节点信息,进而 通过这些在线节点将自身信息告知系统中其他节点,并收集其他节点信息建立自己 的分布式路由表,进而完成入分布式哈希表的步骤。系统初始化时,确定一组共α 个多维到一维的资源标识符生成函数,并将这组函数存放于中心索引服务器中,α 为系统初始化时设定的参数。

需要说明的是,以上介绍的本发明的实施方案而并非限制。本领域的技术人员 应当理解,任何对本发明技术方案的修改或者等同替代都不脱离本发明技术方案的 精神和范围,其均应涵盖在本发明的权利要求范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号