一种点对点环境下实时数据传输路径生成方法

文档序号:7644758阅读:228来源:国知局
专利名称:一种点对点环境下实时数据传输路径生成方法
技术领域
本发明属于计算机网络、卖时数据传输、流媒体应用领域。特别涉及一种 点对点环境下实时数据传输路径生成方法。本发明可广泛应用于在现有点对点 网络中实时数据传输、流媒体传输等对网络资源要求高、实时性强的应用领 域。
背景技术
近年来,网络流媒体技术广泛流行,越来越多的人通过网络来观看现场直 播、电影及教程等等。然而,多媒体本身需要占用有很大的网络带宽,当大量 用户同时请求同一媒体资源时,'会给服务器造成很大的压力,也往往在网络上 造成阻塞。点对点技术的出现,降低了媒体提供者的分发成本,但是,单纯的 点对点技术并不足以解决上述问题。为了使得网络上的媒体分发更为容易、代 价更低,学术界及工业界现用的方法是采用镜像服务器、内容分发网络、多路 径传输、点对点等技术。申请人在点对点环境下的实时数据'传输领域进行査 新,主要查到了以下密切相关的文献-[1] V. N. Padmanabhan, H. J. Wang, and P. A. Chou. Resilient peer-to-peer streaming. In Network Protocols, 2003. Proceedings. 11th IEEE International Conference o'n, volume' 1, pages 16-27, 2003.提到两种点对点路径生成方法其中一种是随机路径生成方式,另外一种 是确定性的路径生成方式,对节点的度及节点的层次进行管理。这两种路径均 可降低传输路径的相关性,另外,采用确定性路径生成方式还可以降低节点的 层次,在一定程度上提高了系统的可靠性并降低了系统的延迟。[2]罗建光,张萌,赵黎,杨士强.基于P2P网络的大规模视频直播系统. 软件学报,18:391 - 399, 2 2007.主要对参与节点列表的加入及退出进行管理,并对节点的缓存进行优化, 在传输时采用推拉结合的方式进行传输,使得上层应用大规模视频直播的性能 得以提升。[3] A. De Mauro, D. Schonfe.ld, and C. Casetti. A peer-to-peer overlay network for real time video communication using multiple paths. In Multimedia and Expo, 2006 IEEE International Conference on, pages 921 - 924, 2006.根据在点对点网络中节点之间存在多条路径这一事实,本文采用测试包延 迟及延迟序列来评估不同路径之间相关性;在进行传输路径构建时,尽可能选 择不相关的路径进行传输。通过上述技术,以提高系统的可靠性及系统性能。综上所述,现有技术的采ri,使.得网络流量的得以分散,有效地缓解了服 务器的压力。现有的点对点技术关于实时媒体数据传输方面,主要有以下几方 面:节点中缓存的数据进行管理,以减少不必要的网络传输;对节点的加入和 离开进行优化,减少其对其它节点的影响;对每个节点连接的子节点数目及节 点树的层次进行优化,提高可靠性并降低延迟;采用拓扑感^J技术,在网络中 尽可能采用不相关的路径进行传输,以增加可用带宽并提高可靠性。然而现有 技术都没有解决数据在网络中的实际传输路径与网络物理拓扑结构相去甚远的 问题,并且不能避免同样在数据在网络中多次传输的缺点,在实际应用中,造 成网络资源开销过大。因此,有必要研究一种点对点环境中的实时数据传输路径生成方法,在其 中充分考虑网络设备的实际拓扑结构,在构造传输路径时以尽可能的减少实际 传输过程对网络设备的占用,以减少传输延迟、提高系统可靠性,并在很大程
度上提高网络资源的利用效率。 发明内容本发明目的在于克服现有技术的不足,提出一种点对点环境下的实时数据 传输路径生成方法,充分考虑网络设备的实际物理拓扑结构且尽可能地减少对 网络资源的占用,以提高上层应用的可靠性及网络资源的利用率。本发明主要解决实时数据传输过程中对网络资源占用过多,造成网络资源 浪费的问题。在构建实时数据传输路径时,首先检测节点之间的传输延迟,然 后按照传输延迟尽可能小的方式构建实时数据传输路径。本发明的技术方案是这样实现的本发明的方法按如下步骤进行-1) 对于一个正在进行实时数据传输的包含"个节点的点对点网络,其所有 节点组成的集合记为;',其中的各节点分别记为A,A,/VA ;2) 当一个新节点/W加入时,按如下步骤生成实时数据传输路径-a. p",在S^中随机选择c个节点组成集合S^,然后/;^调用其网络延迟检 测模块测试A^与&,中各个节点之间的传输延迟;b. /^与^中£;个节点网络延迟测试结果分别记为《(^1...<0,按延迟由小 到大将^中的节点排序得A。w,A。w,/^,3…A。,w,其中c取值区间为[l,lOO],且c. A^与&,中的节点建立连接并进行实时数据传输。其中,网络延迟检测模块按以下方式检测节点之间的传输延迟a.节点p,网络检测模块在测试节点A与A之间的延迟时,以UDP包的形 式向巧发出f个网络延迟测试数据包,其中,取值区间为[1,100],包中含有以下 信息源IP地址、源端口、目的IP地址,目的端口、发出时间、延迟测试标 志,其中延迟测试标志设为与己有类型的包不相混淆的独特标志,发出时间精 确到毫秒或更高; b. 点对点网络中任一节点P々'^…"),在收到网络延迟测试数据包后,将 包中的(源IP地址、源端口)与(目的IP地址,目的端口)信息互换后,立即发 出;c. 从网络延迟测试数据每发送完毕开始,直到达到超时阈值『w^为止,其中 ;^^取值范围为o.noo秒,网络状况检测模块接收由A返回的网络延迟测试数据包,并记录下各包发出时间(和返回时间、设A从发送完测 试包后超时阈值T—。达到的时间段中,接受到了由节点巧返回的Z个测试数据 包,其所对应的发出时间及返回时间记为C。 (z'elJ);则由节点^到节点i> 一)A的单向延迟按《一-1 :"计算。新加入的节点&w与&。,中的节点之间按如下步骤建立连接进行实时数据传输1) 设计数器f为l;2) 如果bc,则建立连接失败,A"亭止建立连接的尝试,转6);3) .节点P目向&,中的P—发出连接请求,并等待时间7;。一, 7;。一取值为 0.广100秒;4) 在此期间若p,得到^我,的建立连接确认,则A^成为Aw的子节点, 并从该节点获取实时数据,数据连接建立成功,转6);5) 若p,在^^,延迟内,没有得到连接建立确认或收到拒绝连接消息,则
更新计数器/ = / + 1,然后转到2.)对下一节点发出连接请求; 6)结束。进行实时数据传输的点对点网络中任一节点A (P,e^。w )在收到P,发出的 建立连接请求时,如果其处理能力及可用网络带宽能够再为.一节点提供转发服 务,则发出建立连接确认消息与^,建立连接,并开始向A^传输实时数据;否则,向P,发出拒绝连接消息。当点对点网络中任意节点A在最近的 ;,,—时间段内收不到由上级节点发出的实时数据时,或接收到上级节点发出的连接失效消息时,认为本节点与上级 节点的实时数据传输连接失效,然后A向其直接连接的子节点发出连接失效的消息,其中7;,^取值为0.l—20秒。 -网络中任意节点^在与上级节点的实时数据传输连接失效时,按新节点加 入的方式重新加入。本发明在路径选择时,以节点之间的实际传输延迟为优化对象,按本发明 所构建的实时数据传输路径进行实时数据传输,减少了对物理网络的设备占 用,降低了网络传输延迟,提高了网络资源的使用效率及实时数据传输效果。


图1是本发明实时传输路径生成过程图; 图2是本发明网络延迟检测过程图; 下面结合附图对本发明的内容作进一步详细说明。
具体实施方式
参照图l所示,对于一个正在进行实时数据传输的包含w个节点的点对点
网络,其所有节点组成的集合记为、。'。"其中的各节点分别记为^,^,a…凡; 当一个新节点;^加入时,按如下步骤生成实时数据传输路径凡 在S^中随 机选择c个节点组成集合&,,然后/7^调用其网络延迟检测模块测试p^与S^ 中各个节点之间的传输延迟;p,与&,中c个节点网络延迟测试结果分别记为 《(/el…c),按延迟由小到大将&,中的节点排序得a。","a。w,a。w…^^ ;然后 ^w与&,中的节点之间按如下步骤建立连接进行实时数据传输1) '设计数器/为l;2) 如果bc,则建立连接失败,P,停止建立连接的尝试,转6);3) 节点/^向&中的a吣发出连接请求,并等待时间7;。"^;4) 在此期间若;^得到a。",,的建立连接确认,则^,成为a一的子节点, 并从该节点获取实时数据,数据连接建立成功,转6);5) 若a^在l自延迟内,没有得到连接建立确认或收到拒绝连接消息,则更新计数器/ = / + 1,然后转到2)对下一节点发出连接请求;6) 结束。参照图2所示,节点^网络检测模块在测试节点a与A之间的延迟时,以 UDP包的形式向A发出f个网络延迟测试数据包;从两络延迟测试数据包发送 完毕开始,直到达到超时阈值T。^^为止,网络状况检测模块接收由A返回 的网络延迟测试数据包,并记录下各包发出时间^和返回时间、然后根据所 获得的数据计算由节点a到节点a的单向延迟按《.计算。点对点网络中任一节点^,在收到网络延迟测试数据包后,将包中IP地 址及端口信息互换后,立即发出;
下'面是节点;^加入一个具有10个节点且正在进行实时数据传输的点对点 网络的情况。该点对点网络所有节点组成的集合记为S^ 。首先^,在&。 ,随机选择5个节点组成&,,其节点记为^(y"...5)。然后^ 调用其网络延迟检测模块测试其与&,中各节点的传输延迟。在P,测试其与&,中A之间的网络传输延迟时,首先向A发送6(t取值为 6)个UDP测试包。其中包含有p",的IP地址、发出端口、 p,的IP地址、监听 端口、发出时间、测试包标志为在UDP包数据区加入的"AB92843CDFEA4D5A" 字符串。测试数据包发出以后,p,开始接收由节点a返回的测试包,直到达 到5秒(7^w取值为5秒)超时阈值。在此期间,p,接收到由a返回的5个测 试包,并记下各包的发出时间^及返回时间^,单位为秒,数值如下<formula>formula see original document page 11</formula>然后,按<formula>formula see original document page 11</formula>计算A 与p,之间的传输延迟,结果为O. 189874秒<formula>formula see original document page 11</formula>采用同样的方法得到p^与&,中其它节点之间的传 输延迟为《=0.158239,《=0.197732,《=0.217629,^ =0.13,。A^按由传输延迟由小到大的顺序将&,中的节点排序为A, p2, A, p3, ;v 将它们依次记为 在建立连接时,首先设计算器/为l;因"5(C取值为5),继续进行建立连接尝试。p,向^^发出建立连 接请求,并等待时间5秒d一取值为5秒)。在此期间,i没有收到由;v,,
返回的建立连接的确认消息;执行/ = /+1,现在/为2,仍然小于5; ^继续向 P—发出连接请求,并等待5秒,在此期间,p《自身传输能力限制,不能为a^提供实时数据传输服务,故向^^发拒绝连接消息;a^收到此消息后,执 行/ = / + 1,现在/为3,仍小于5,然后A,向A。w发出连接请求,然后等待5秒;在此期间,A^收到连接请求后,由于具备足够数据传输能力,向^_发 出确认建立连接消息;p,收到此消息后,与A。^建立实时数据连接,并开始 传输;此实时数据传输路径建立成功。
权利要求
1、一种点对点环境下实时数据传输路径生成方法,其特征在于按如下步骤进行1)对于一个正在进行实时数据传输的包含n个节点的点对点网络,其所有节点组成的集合记为Stotal,其中的各节点分别记为p1,p2,p3…pn;2)当一个新节点pnew加入时,按如下步骤生成实时数据传输路径a.pnew在Stotal中随机选择c个节点组成集合Ssel,然后pnew调用其网络延迟检测模块测试pnew与Ssel中各个节点之间的传输延迟;b.pnew与Ssel中c个节点网络延迟测试结果分别记为di(i∈1...c),按延迟由小到大将Ssel中的节点排序得psort,1,psort,2,psort,3…psort,c,其中c取值区间为[1,100],且c≤n;c.pnew与Ssel中的节点建立连接并进行实时数据传输。
2、 根据权利要求1所述的点对点环境下实时数据传输路径生成方法,其 特征在于,所述的网络延迟检测模块按以下方式检测节点之间的传输延迟-a. 节点A网络检测模块在测试节点A与A之间的延迟时,以UDP包的形式向A发出/个网络延迟测试数据包,其中f取值区间为[UOO],包含有以下信 息源IP地址、源端口、目的IP地址,目的端口、发出时间、延迟测试标 志,其中延迟测试标志设为与已有类型的包不相混,的独特标志,发出时间精 确到毫秒或更高;b. 点对点网络中任一节点P々'^…"),在收到网络延迟测试数据包后,将 包中的源IP地址、源端口与目的IP地址,目的端口信息互换后,立即发出; C.从网络延迟测试数据包发送完毕开始,直到达到超时阈值7。w为 止,其屮7_,,取值范围为0. 1 — 100秒,网络状况检测模块接收由P,返回的网络延迟测试数据包,并记录下各包发出时间《和返回时间"设^,从发送完测试包后超时阈值L^达到的时间段中,接受到了由节点巧返回的Z个测试数据包,其所对应的发出时间及返回时间记为《、,和。('、1…/);则由节点^,到节点p,的单向延迟按《=_~计算。
3、 根据权利要求1所述的点对点环境下实时数据传输路径生成方法,其特征在于,A^与&,中的节点之间按如下步骤建立连接进行实时数据传输(1) 设计数器/为l;(2) 如果/",则建立连接失败,P,停止建立连接的尝试,转6);(3) 节点/^向&/中的^。 .,发出连接请求,并等待时间7;。—, :,_,取值为 0. 1一100秒;(4) 在此期间若A^得到A吣的建立连接确认,则/^.成为~,,的子节点, 并从该节点获取实时数据,数据连接建立成功,转6);(5) 若^在/ ,_.,延迟内,没有得到连接建立确认或收到拒绝连接消息,则更新计数器/ = / + 1,然后转到2)对下一节点发出连接请求;(6) 结束。
4、 根据权利要求1所述的点对点环境下实时数据传输路径生成方法,其 特征在于,进行实时数据传输的点对点网络中任一节点^ )在收到l发出的建立连接请求时,如果其处理能力及可用网络带宽能够再为一节点提供转发服务,则发出建立连接确认消息与^,建立连接,并开始向/^传输实时数 据;否则,向&M发出拒绝连接消息。
5、 根据权利要求1所述的点对点环境下实时数据传输路径生成方法,其特征在于,当点对点网络中任意节点/ ,在最近的7;,,,,'/,, ,时间段内收不到由上级节点发出的实时数据时,或接收到上级节点发出的连接失效消息时,认为本节点 与上级节点的实时数据传输连接失效,然后A向其直接连接的子节点发出连接失效的消息,其中L取值为0. 1 — 20秒。
6、 根据权利要求1所述的点对点环境下实时数据传输路径生成方法,其 特征在于,网络中任意节点A在与上级节点的实时数据传输连接失效时,按新 节点加入的方式重新加入。
全文摘要
本发明公开了一种点对点环境下实时数据传输路径生成方法,主要解决现有数据传输路径选择技术所导致的实际传输路径与物理路径差异太大,造成网络资源不必要的浪费、传输不可靠,传输延迟过大等问题。本发明通过在节点间进行UDP数据包往返测试,得到节点间数据传输延迟数据,根据上述检测结果,新加入的节点向传输延迟最小的节点发出连接请求,收到连接请求的节点在自身转发能力许可的情况下,就与请求节点建立连接。在此基础上,得到网络传输成本低的实时数据传输路径。在实际传输过程中,节点管理模块不断监测实时数据的传输情况,当与上级节点传输出现异常时,自动重新建立传输路径,以实现稳定、可靠、低开销的传输。
文档编号H04L12/18GK101127699SQ200710018538
公开日2008年2月20日 申请日期2007年8月24日 优先权日2007年8月24日
发明者均 刘, 吕伟梅, 挺 彭, 冬 杨, 郑庆华, 高晶晶 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1