一种基于弹性重叠网络的存储流媒体数据下载方法

文档序号:7647694阅读:173来源:国知局
专利名称:一种基于弹性重叠网络的存储流媒体数据下载方法
技术领域
本发明涉及信息网络技术领域,特别涉及到地域分散又需要相互协作的计算 节点间存储流媒体数据的网络下载方法。
背景技术
目前在信息网络中,视频点播业务形式逐渐地为人们所接受,该业务形式最 早出现于20世纪90年代,当时采用的是客户端-服务器的服务方式,这种方式
受限于服务器的服务能力,即处理能力、存储空间和网络接口速率等的限制;为
了解决服务器瓶颈问题,在21世纪初,计算机界出现了对等端到对等端(P2P) 的计算模式,最初用于文件传输和共享,最近几年出现了将这种技术用于流媒体 (存储流媒体、实况流媒体)方面,取得了一定的效果,但就用户所感受到的服 务质量,如时延、画面质量等方面还有待改进。在p2p下载技术中,首先需要找 到含有请求端所需流媒体数据的对等端。现有技术中, 一种方法是由中心索引服 务器直接返回n个对等端供请求端使用,缺点是受制于中心索引服务器的策略, 不能反映请求端与对等端之间的各种网络参数;第二种方法是数据请求和路由相 结合的思路,利用的是洪泛法,该方法中没有明确的对等端数量定义,其缺点是 对能否找到数据是没有保证的,且服务质量受到其方法本质上的限制。
另一方面,在2001年,MIT的David G. Andersen提出弹性重叠网(Resilience Overlay Network ,简称RON)的概念,并进行了实验研究,证明弹性重叠网络 比IP层网络具有更好的故障恢复时间和网络可靠性;2005年,David又探讨了 多接入重叠网络、MONET测试床以及将重叠网络用于防御拒绝服务攻击方面的 情况(参考[l]David G. Anderson, Resilient Overlay Networks, Master thesis,Massachusetts Institute of Technology 2001; [2] David G. Anderson, Improving End-to-End Availability Using Overlay Networks, Doctor Dissemination, Massachusetts Institute of Technology 2005)。弹性重叠网的功能包括(1)网络性 能探测,包括节点间的带宽、时延和丢报率,并能够将这些信息以数据库的形式存储,且在被请求的情况下能够提供这些信息或这些信息的函数运算后之结果; (2)能够在弹性重叠网中在应用层传送数据报文,即应用层路由,应用层路由 相对于网络层路由的优点包括能够进行快速的失效检测和恢复;路由选择和应 用紧密集成;可以灵活地进行策略路由。

发明内容
本发明的目的是在广域范围内应用弹性重叠网络的有效恢复时间和网络可 靠性,将P2P网络对网络性能参数的测量、判断以及数据传输隔离开来,结合 弹性重叠网络和P2P客户端两者的优势,达到提高存储流媒体数据下载服务质 量的目的。
为实现上述发明目的,本发明提供的基于弹性重叠网络的存储流媒体数据下 载方法,包括如下步骤
1) 数据请求节点向P2P网络发出下载目标数据的请求,P2P网络向该请求节 点返回具有所述目标数据的目标节点地址以及目标数据的文件块分布信息;
2) 请求节点根据目标节点地址在弹性重叠网中査询各目标节点,弹性重叠网 经匹配后,向请求节点返回各目标节点的应用层路由表项;
3) 计算目标数据各文件块的块到达最大时延,请求节点根据应用层路由表项 和块到达最大时延,从所有目标节点中选出n个目标节点;所述n为正整数;
4) 将步骤3)中选出的n个目标节点作为P2P对等端,依照弹性重叠网返回的 路由表项中的路径,对目标数据的各文件块进行下载。
上述技术方案中,所述步骤2)中,所述应用层路由表项包括节点地址,目 标节点到达该请求节点的带宽、传输时延和丢包率。
上述技术方案中,所述步骤3)中,选出的n个目标节点必须满足流媒体传 输条件,所述流媒体传输条件是块到达最大时延小于块播放时间点与当前时间 点之差;所述块到达最大时延=(块大小/可用速率)+传输时延;其中传输时延 是指路由表项中目标节点到请求节点的总传输时延,可用速率是指路由表项中目 标节点到请求节点的总带宽。
上述技术方案中,所述步骤2)中,当目标节点不是弹性重叠网节点时,弹性重叠网进行模糊匹配首先找到与目标节点最接近的弹性重叠网(RN)节点 作为为末端弹性重叠网(RN)节点;然后在弹性重叠网中获得末端弹性重叠网 (RN)节点到请求节点的的应用层路由、带宽、时延和丢包率信息;弹性重叠 网(RN)节点通过IP层探测技术获得目标节点到弹性重叠网(RN)节点的路 由、带宽、传输时延和丢包率信息;最后,弹性重叠网向请求节点返回综合路由 表项,该综合路由表项包括目标节点到末端RN节点的IP层路由和末端RN节 点到请求节点的应用层路由,以及总带宽、总传输时延和总丢包率信息。
上述技术方案中,当目标节点不是弹性重叠网节点时,所述步骤4)中,数 据下载的实施过程为文件块由目标节点通过IP封装形式传输至末端RN节点, 在末端弹性重叠网(RN)节点用弹性重叠网的数据格式封装报文,然后使用弹 性重叠网来传输报文。
上述技术方案中,所述步骤3)中,所述流媒体传输条件是块到达最大时 延+5 〈块播放时间点-当前时间点,其中5 〉 0;或者是块到达最大时延*5 〈块
播放时间点-当前时间点,其中s〉 1 。
上述技术方案中,所述步骤3)中,当满足流媒体传输条件的目标节点数目 超过n时,根据目标节点到请求节点的总带宽大小进行排序,选出前n个目标节 点。
上述技术方案中,当请求节点本身不是弹性重叠网(RN)节点时,则选择 一弹性重叠网(RN)节点作为头端弹性重叠网(RN)节点;在所述步骤2)中, 请求节点首先向头端弹性重叠网(RN)节点发出査询请求,然后由头端弹性重 叠网(RN)节点对目标节点进行匹配,并向请求节点返回匹配后得到的所述路 由表项。
与目前的方法相比,本发明具有下列技术效果(1)将弹性重叠网络应用于 存储流媒体数据的P2P下载服务中,充分利用了弹性重叠网的快速恢复和鲁棒 性;(2)结合存储流媒体的特征,利用弹性重叠网给出的测量信息选取前n个对 等节点,减少了 P2P层次探查的工作量,同时提高了流媒体的用户主观感受质 量;(3)提供了一种模糊匹配方法,能够路由数据到不在弹性重叠网上的节点,增强了网络的鲁棒性,拓展了弹性重叠网的使用范围。


图1是弹性重叠网、P2P网和IP网的层次关系图; 图2用户A播放影片的应用场景;
图3将数据传输到不在弹性重叠网上节点的数据流传输路径;
图4是本发明的基于弹性重叠网络的存储流媒体数据下载方法的流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步地描述。 实施例1
本发明涉及到两种应用层网络——弹性重叠网和P2P网,这两个网和IP网 的关系见图l,其中P2P网的网络层次位于弹性重叠网之上。本发明中,弹性重 叠网络主要应用于广域连接, 一般用户通过RON路由器(应用层次的路由器) 接入弹性重叠网。本发明涉及到两类实体弹性重叠网节点RN和P2P网节点 PN。本发明是一种在P2P网络中,利用弹性重叠网络的某些功能,对存储流媒 体数据进行优化下载的方法。
如图4所示,本实施例中的基于弹性重叠网络的存储流媒体数据下载方法包 括如下步骤
步骤l:数据请求节点向P2P网络发出下载某一存储流媒体数据的请求,为 描述方便,下文中将这一存储流媒体数据称为目标数据。P2P网络向该请求节点 返回具有所述目标数据的节点地址(包括IP地址和应用层地址,本实施例中应
用层地址采用节点ID)以及目标数据的文件块分布情况。为描述方便,下文中将 具有所述目标数据的节点称为目标节点。 一般情况下,P2P网络针对一目标数据 可以返回多个目标节点。
步骤2:请求节点在弹性重叠网中査询各目标节点,弹性重叠网经匹配后,
向请求节点返回各目标节点的应用层路由表项,该应用层路由表项是扩展后的路
由表项,除节点IP地址和ID地址外,还包括各目标节点到达该请求节点的带宽、 传输时延和丢包率等信息。本步骤中,弹性重叠网的匹配过程包括精确匹配和模糊匹配。当待匹配的目 标节点是位于弹性重叠网上的RN节点时,弹性重叠网能够精确匹配出应用层路 由表项;当待匹配的目标节点不是RN节点时,弹性重叠网进行模糊匹配。该模 糊匹配的方法如下
通过散列算法将目标节点的IP地址转化为目标节点ID,通过目标节点的ID 在应用层查找由请求节点到目标节点的最长匹配表项,该查找方法可以是二叉树
查找、Trie树或Patricia树等査找算法。在查找到最长匹配表项后,找出该表项 中与目标节点最接近的RN节点,将该节点称为末端RN节点。然后在弹性重叠 网中获得末端RN节点到请求节点的的应用层路由、带宽、时延和丢包率等信息。 并且,末端RN节点通过成熟的IP层探测技术(如网络断层推断技术)获得目 标节点到末端RN节点的路由、带宽、传输时延和丢包率等信息。最后,弹性重 叠网向请求节点返回综合路由表项,该综合路由表项包括目标节点到末端RN节 点的IP层路由和末端RN节点到请求节点的应用层路由,以及总带宽、总传输 时延和总丢包率。其中,总带宽为两段路由中带宽较小者的带宽,总传输时延为 两段路由传输时延之和,总丢包率为两段路由丢包率的乘积。同时,该综合路由 表项中标明匹配过程为模糊匹配。
另外,本步骤中,如果请求节点本身不是RN节点,则需要选择一RN节点 作为弹性重叠网的入口,并向该RN节点发出查询请求。为描述方便,下文中将 这种RN节点称为头端RN节点(该头端RN节点可通过事先的配置直接获得, 也可通过向已知的中心发布节点请求而得到)。所述头端RN节点在接到请求节 点发出的查询请求后,对目标节点进行匹配,然后向请求节点返回目标节点到头 端RN节点的路由表项(通过精确匹配获得的应用层路由表项,或者是通过模糊 匹配获得的综合路由表项);而头端RN节点到请求节点的路由表项可通过成熟 的IP层探测技术(如网络断层推断技术)来获得。最后,请求节点获得一个综 合路由表项,该综合路由表项包括目标节点到头端RN节点的路由和头端RN节 点到请求节点的路由,以及总带宽、总传输时延和总丢包率。其中,总带宽为两 段路由中带宽较小者的带宽,总传输时延为两段路由传输时延之和,总丢包率为 两段路由丢包率的乘积。步骤3:请求节点根据路由表项的信息,结合存储流媒体特征选取前n个目 标节点。具体过程为在存储流媒体的每块数据到达请求节点的时间要满足条件 -块到达最大时延〈块播放时间点-当前时间点;其中,当前时间点为请求节 点的机器当前时间,块播放时间点通过累计目标文件中前面块的播放时间或时间 戳获得。块到达最大时延可以直接采用路由表项中的信息进行计算。此时,块到 达最大时延=(块大小/可用速率)+传输时延;其中传输时延是指路由表项中目 标节点到请求节点的总传输时延,可用速率是指路由表项中目标节点到请求节点 的总带宽。
在本步骤中,为了在实际系统中留有较宽松的余地,还可以在条件①中加入 松弛常数S,即将条件①修正为块到达最大时延+S 〈块播放时间点-当前时间 点,S〉 0;或块到达最大时延*5 〈块播放时间点-当前时间点,S〉 1 。
当满足条件①的目标节点超过n时,则从这些节点中选择满足条件②前n个 节点。
条件②为可用速率〉播放速率。其中,可用速率是指目标节点到请求节点 的总带宽;播放速率指媒体正常播放的数据码率。前n个节点是指按照某个度量 指标(例如带宽大小)进行排序后的前n个节点。
步骤4:将步骤3中选出的n个目标节点作为P2P对等端,依照弹性重叠网 返回的路由表项中的路径,对目标数据的各文件块进行下载。
本步骤中,当路由表项为模糊匹配结果时,数据下载的实施过程为文件块 由目标节点通过IP封装形式传输至末端RN节点,在末端RN节点(即数据报 文进入弹性重叠网的节点)封装报文,然后使用弹性重叠网来传输报文。该封装 报文的结构如表l所示,
表l
IP报文首部传输层首部弹性重叠网首部报文净荷
当请求节点不是RN节点时,报文到达头端RN节点后,在头端RN节点处
进行解封包,最后由该头端RN节点将数据报文以单播方式(即端到端的方式) 传送到请求节点。
另外,执行所述步骤4前,还可以通过IP层探测技术测出目标节点到请求节点的带宽,当该带宽小于步骤3中选出的目标节点到请求节点的带宽时,再执 行所述步骤4,否则,直接通过IP网络从目标节点下载数据。
为使得本发明能够更易于理解,下面结合具体应用场景,给出本实施例的一 个数据下载流程。
如图2所示,本发明提供的一个应用场景用户A播放影片(例如,疯狂 的石头)的情况,其中A的计算机安装有P2P网络的客户端,但不在弹性重叠 网络之上,A仅能通过向位于弹性重叠网之上的节点发出请求而使用弹性重叠网 资源。F节点也不在弹性重叠网之上,B、 C、 D、 E节点均是P2P网和弹性重叠 网的节点。
A通过P2P客户端向P2P网络发出寻找"疯狂的石头"影片请求,P2P网络 使用目前成熟的技术(如集中式服务器或DHT方法)将含有"疯狂的石头"影 片的节点返回给A,此场景中假定仅返回两个节点,如F、 D,并将F、 D影片 文件块的分布情况告知A; A中的P2P客户端向弹性重叠网节点E询问到达这 两个节点的带宽情况,因为D在弹性重叠网上,所以能够返回精确的应用层路 由表项(此处对路由表项进行了扩展,如带有带宽、时延和丢包率);而F不在 弹性重叠网上,所以E使用本发明中的模糊匹配方法将返回到C的应用层路由 表项(此处使用到利用弹性重叠网查找节点的模糊匹配方法)。E将到D和E到 F (实际上是到C)的带宽返回给A,其中指明是精确匹配还是模糊匹配,如果 是模糊匹配,如E到F的情况,则A请求C返回C到达F的带宽。对影片中的 某一文件块,A到F和A到D的时延均满足前文中提到的约束条件(此处使用 到结合存储流媒体特征选取前n个对等端的方法)时,则综合考虑二者的带宽、 时延,如模糊匹配的F到A的路径优于精确匹配的D到A的路径,则由A判定 A直接到F的带宽(通过报文长度与A直接向F发送数据报文及接收响应的时 间长度的比值来判定),如A直接到F的带宽小于A通过C到F的带宽,则选 择通过弹性重叠网到F (我们这里假定F到A是对称的应用层路由)的路径对所 述文件块进行下载,其数据传输路径如图3中的虚线所示。
上面说明的是一个影片文件块的传输过程,因文件块是一个一个传递的,所 以多个文件块的传输是并行的过程,每个文件块的存储节点判定、选择和传输同上面的过程。
如此每个文件块均能在满足播放时延要求的情况下到达,则播放软件能够正 常平滑地播放。
权利要求
1、一种基于弹性重叠网络的存储流媒体数据下载方法,包括如下步骤1)数据请求节点向P2P网络发出下载目标数据的请求,P2P网络向该请求节点返回具有所述目标数据的目标节点地址以及目标数据的文件块分布信息;2)请求节点根据目标节点地址在弹性重叠网中查询各目标节点,弹性重叠网经匹配后,向请求节点返回各目标节点的应用层路由表项;3)计算目标数据各文件块的块到达最大时延,请求节点根据应用层路由表项和块到达最大时延,从所有目标节点中选出n个目标节点;所述n为正整数;4)将步骤3)中选出的n个目标节点作为P2P对等端,依照弹性重叠网返回的路由表项中的路径,对目标数据的各文件块进行下载。
2、 按权利要求1所述的基于弹性重叠网络的存储流媒体数据下载方法,其 特征在于,所述步骤2)中,所述应用层路由表项包括节点地址,目标节点到达 该请求节点的带宽、传输时延和丢包率。
3、 按权利要求1或2所述的基于弹性重叠网络的存储流媒体数据下载方法, 其特征在于,所述步骤3)中,选出的n个目标节点必须满足流媒体传输条件, 所述流媒体传输条件是块到达最大时延小于块播放时间点与当前时间点之差; 所述块到达最大时延=(块大小/可用速率)+传输时延;其中传输时延是指路由 表项中目标节点到请求节点的总传输时延,可用速率是指路由表项中目标节点到 请求节点的总带宽。
4、 按权利要求3所述的基于弹性重叠网络的存储流媒体数据下载方法,其 特征在于,所述步骤2)中,当目标节点不是弹性重叠网节点时,弹性重叠网进 行模糊匹配21) 首先找到与目标节点最接近的弹性重叠网节点作为为末端弹性重叠网节点22) 然后在弹性重叠网中获得末端弹性重叠网节点到请求节点的应用层路由 表项,由末端弹性重叠网节点获得目标节点到弹性重叠网节点的路由表项;23) 最后向请求节点返回步骤22)中得到的两个路由表项。
5、 按权利要求4所述的基于弹性重叠网络的存储流媒体数据下载方法,其特征在于,所述步骤22)中,所述弹性重叠网节点通过IP层探测技术获得目标 节点到弹性重叠网节点的路由、带宽、传输时延和丢包率信息。
6、 按权利要求5所述的基于弹性重叠网络的存储流媒体数据下载方法,其 特征在于,当目标节点不是弹性重叠网节点时,所述步骤4)中,数据下载的实 施过程为文件块由目标节点通过IP封装形式传输至末端弹性重叠网节点,在 末端弹性重叠网节点用弹性重叠网的数据格式封装报文,然后使用弹性重叠网来 传输报文。
7、 按权利要求3所述的基于弹性重叠网络的存储流媒体数据下载方法,其 特征在于,所述步骤3)中,所述流媒体传输条件是块到达最大时延+S 〈块 播放时间点-当前时间点,其中S〉 0;或者是块到达最大时延*6 〈块播放时间点-当前时间点,其中S〉 1 。
8、 按权利要求7所述的基于弹性重叠网络的存储流媒体数据下载方法,其 特征在于,所述步骤3)中,当满足流媒体传输条件的目标节点数目超过n时, 根据目标节点到请求节点的总带宽大小进行排序,选出前n个目标节点。
9、 按权利要求1所述的基于弹性重叠网络的存储流媒体数据下载方法,其 特征在于,当请求节点本身不是弹性重叠网节点时,则选择一弹性重叠网节点作 为头端弹性重叠网节点;在所述步骤2)中,请求节点首先向头端弹性重叠网节 点发出査询请求,然后由头端弹性重叠网节点对目标节点进行匹配,并向请求节 点返回匹配后得到的所述路由表项。
10、 按权利要求3所述的基于弹性重叠网络的存储流媒体数据下载方法,其 特征在于,当请求节点本身不是弹性重叠网节点时,则选择一弹性重叠网节点作 为头端弹性重叠网节点;在所述步骤2)中,请求节点首先向头端弹性重叠网节 点发出査询请求,然后由头端弹性重叠网节点对目标节点进行匹配,并向请求节 点返回匹配后得到的所述路由表项。
全文摘要
本发明涉及一种基于弹性重叠网络的存储流媒体数据下载方法,1)数据请求节点向P2P网络发出下载目标数据的请求;2)请求节点根据目标节点地址在弹性重叠网中查询各目标节点,弹性重叠网经匹配后,向请求节点返回各目标节点的应用层路由表项;3)请求节点根据应用层路由表项和块到达最大时延,从所有目标节点中选出n个目标节点;4)将步骤3)中选出的n个目标节点作为P2P对等端,依照弹性重叠网返回的路由表项中的路径,对目标数据的各文件块进行下载。本发明减少了流媒体服务中P2P层次探查的工作量,提高了用户主观感受质量;并且提供了一种模糊匹配方法,能够路由数据到不在弹性重叠网上的节点,增强了网络的鲁棒性,拓展了弹性重叠网的使用范围。
文档编号H04N7/173GK101287102SQ20071006543
公开日2008年10月15日 申请日期2007年4月13日 优先权日2007年4月13日
发明者李挺屹, 王劲林, 王玲芳, 谢铁兵, 齐卫宁 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1