动态桥接点改善p2p节点在跨网络时的传输速度的方法

文档序号:7758373阅读:634来源:国知局
专利名称:动态桥接点改善p2p节点在跨网络时的传输速度的方法
技术领域
本发明涉及p2p领域,主要解决节点在跨网络运营商时的数据传输问题。
背景技术
p2p(peerto peer)系统的最大优点是使得用户可以有效的利用网络中的资源,这些资源包括数据资源、带宽资源以及计算资源。它突破了原有C/S (服务器和客户端)模式的瓶颈,有着很好的可扩展性。在P2p的模型中,每一个节点(peer)都有两种角色既是客户端也是服务器,作为客户端可以向其他节点请求数据和查询,而作为服务器也可以向其他节点提供数据及服务。但是P2p的应用效果也受很多因素的限制,比如在跨网络运营商时,流量会受到很大的制约。这就使得不同运营商下的节点,彼此间数据的交互会很困难, 而且会有很大的延时;这在延时要求不能超过数十秒的网络视频直播领域,是会带来难以容忍的客户体验。传统的解决方式并没有区别对待各个运营商的节点,而是通过节点相互间协调来实现,这种粗糙的调度并不能在特定环境下(比如初始观看直播的节点比较少,而且各自分散到不同的网络分组环境)产生良好的效果。

发明内容
本发明的目的是提供一种动态桥接点改善p2p节点在跨网络时的传输速度的方法,包括以下步骤(1)桥接点登录服务器;( 服务器将桥接点作为P2p普通节点的父节点;( 桥接点接收到p2p普通节点的打洞信息;(4)桥接点接收到p2p普通节点的数据请求;(5)桥接点回复p2p普通节点数据;(6)桥接点按照策略关闭自己。进一步的,上述步骤中(1)桥接点登录服务器;(1.1)桥接点以tcp方式登录服务器,并在登录包中填入自身所有的地址信息;(1.2)桥接点登录成功以后则向服务器发送心跳包,并维持整个登录周期;( 服务器将桥接点作为p2p普通节点的父节点;(2. 1) 服务器接收到p2p普通节点请求观看某一远程数据源的信息;(2. 2)服务器判断该p2p普通节点所属的网络分组i ; (2. 3)如果服务器从网络分组i中找不到足够数量的父节点;则将桥接点作为父节点返回给P2p普通节点;(3)桥接点接收到p2p普通节点的打洞信息; (3. 1)桥接点解析出p2p普通节点的请求数据源地址;(3. 2)桥接点向服务器请求父节点; (3. 3)桥接点与父节点间直连;(3. 4)桥接点从父节点获取数据;(4)桥接点接收到p2p普通节点的数据请求;(4. 1)桥接点接收到p2p普通节点的数据请求;(5)桥接点回复p2p普通节点数据;(5. 1)桥接点回复p2p普通节点数据(6)桥接点按照策略关闭自己;(6. 1)桥接点检查对某个数据源的最近请求时间;(6. 2)若该时间与当前时刻间隔了系统设定的超时时间,则停止请求该数据源的数据;(6. 3)桥接点删除与请求该数据源相关的资源,例如父节点列表。上述桥接点的创建环境是在多线机房并且拥有多个外网IP。进一步的,桥接点在初始化时从配置文件中获得所有可以正常通讯的外网IP。
上述桥接点具有和普通节点一致的结构。进一步的,桥接点具有和普通节点一致的网络通信模块,父节点管理模块以及本地数据缓存模块。上述动态桥接点改善p2p节点在跨网络时的传输速度的方法,还包括当有节点向其打洞时,需要按照该节点的网络类型返回与节点的网络类型相匹配的外网地址。有益效果如图6,采用以上网络数据传输的方法,在网络上有100个节点时,平均延时在30毫秒以内,丢包率能控制在千分之五以内。如图7,在网络上有500个节点时,平均延时在170毫秒以内,丢包率能控制在千分之八以内。


图1是桥接点登录服务器的流程图;图2是服务器处理节点数据观看请求的流程图;图3是普通节点和桥节点通信的时序图;图4是桥接点剔除数据源的流程图;图5是桥接点的网络示意图;图6是丢包率监测图A ;图7是丢包率监测图B。
具体实施例方式下面结合图1来说明桥接点登录服务器的流程图步骤SlOO 桥接点从配置文件中读出本节点对应的外网地址(一般会多于一个);步骤sllO:桥接点把地址信息作为登录信息的一部分,发送给登录服务器;如果登录不成功,则反复尝试N(3)次,依然不成功则输出日志,提示管理员登录故障;步骤sl20 桥接点在与服务器连接的整个周期内,需要定时的向服务器发送心跳包,维持连接。结合图2来说明服务器处理节点数据观看请求的流程图步骤s200 服务器在服务端口上监听到数据请求信息,该信息包含请求观看的数据源唯一标示,请求节点唯一标示;步骤s210 服务器根据请求节点的唯一标示,从登陆列表中查出该节点对应的网络分组类型NetX ;步骤s220 服务器从网络分组类型为NetX的节点列表中筛选出观看同一数据源的节点,筛选的依据是观看同一个数据源、来自相同的网络分组;步骤s230 如果服务器挑选的节点总数少于N,则选取和请求节点处于同一网络分组类型的桥接点;步骤 s240 服务器将筛选的父节点信息发送给请求节点。结合图3来说明普通节点和桥节点通信的时序图步骤s300 普通节点向服务器发送直连请求包,该信息包含目的节点的唯一标示符、数据源唯一标示符、请求节点的唯一标示符;服务器接收到该信息之后,将该包转发给目的节点;步骤s310 桥接点判断当前是否可以允许连接,判断标准是它自身的网络状况,如果良好就允许,向其发送直连应答信息包,否则不允许;对于允许连接的节点,桥接点还要取出直连请求包里的数据源唯一标示符,然后向服务器申请观看;将服务器返回的父节点列表(服务器应当尽量避免将s300里的普通节点看作桥接点的父节点)保存,然后依次尝试对其直连并申请数据;步骤s320 桥接点与普通节点直连后,响应普通节点的数据请求。结合图4来说明桥接点剔除数据源的流程图步骤s400 桥接点遍历每个数据源的被请求时间Ti,该请求时间是在某个节点请求数据的同时记下的;该时间距离当前时间越远,说明对该数据源的再次请求机率越低;步骤s410 判断Ti与系统定值Ts的大小,如果大于则说明所有节点对该数据源的数据请求均结束;步骤s420 向服务器发送停止观看该数据源的信息;删除该数据源对应的父节点列表。
图5,是桥接点的网络示意图。
权利要求
1.一种动态桥接点改善P2p节点在跨网络时的传输速度的方法,包括以下步骤(1)桥接点登录服务器;(2)服务器将桥接点作为p2p普通节点的父节点;(3)桥接点接收到p2p普通节点的打洞信息;(4)桥接点接收到p2p普通节点的数据请求;(5)桥接点回复p2p普通节点数据;(6)桥接点按照策略关闭自己。
2.根据权利要求1所述的动态桥接点改善p2p节点在跨网络时的传输速度的方法,其特征在于,所述步骤中(1)桥接点登录服务器;(1. 1)桥接点以tcp方式登录服务器,并在登录包中填入自身所有的地址信息; (1. 2)桥接点登录成功以后向服务器发送心跳包,并维持整个登录周期;(2)服务器将桥接点作为p2p普通节点的父节点;(2. 1)服务器接收到p2p普通节点请求观看某一远程数据源的信息; (2. 2)服务器判断该p2p普通节点所属的网络分组i ;(2. 3)如果服务器从网络分组i中找不到足够数量的父节点;则将桥接点作为父节点返回给p2p普通节点;(3)桥接点接收到p2p普通节点的打洞信息;(3. 1)桥接点解析出p2p普通节点的请求数据源地址; (3. 2)桥接点向服务器请求父节点; (3. 3)桥接点与父节点间直连; (3. 4)桥接点从父节点获取数据;(4)桥接点接收到p2p普通节点的数据请求; (4. 1)桥接点接收到p2p普通节点的数据请求;(5)桥接点回复p2p普通节点数据; (5. 1)桥接点回复p2p普通节点数据(6)桥接点按照策略关闭自己;(6. 1)桥接点检查对某个数据源的最近请求时间;(6. 2)若该时间与当前时刻间隔了系统设定的超时时间,则停止请求该数据源的数据;(6. 3)桥接点删除与请求该数据源相关的资源。
3.根据权利要求1或2所述的动态桥接点改善p2p节点在跨网络时的传输速度的方法,其特征在于,所述桥接点的创建环境是在多线机房并且拥有多个外网IP。
4.根据权利要求3所述的动态桥接点改善p2p节点在跨网络时的传输速度的方法,其特征在于,所述桥接点在初始化时从配置文件中获得所有可以正常通讯的外网IP。
5.根据权利要求1或2所述的动态桥接点改善p2p节点在跨网络时的传输速度的方法,其特征在于,所述桥接点具有和普通节点一致的结构。
6.根据权利要求5所述的动态桥接点改善p2p节点在跨网络时的传输速度的方法,其特征在于,所述桥接点具有和普通节点一致的网络通信模块,父节点管理模块以及本地数据缓存模块。
7.根据权利要求1或2所述的动态桥接点改善p2p节点在跨网络时的传输速度的方法,其特征在于,当有节点向其打洞时,需要按照该节点的网络类型返回与节点的网络类型相匹配的外网地址。
全文摘要
本发明涉及p2p领域,主要解决节点在跨网络运营商时的数据传输问题。包括以下步骤(1)桥接点登录服务器;(2)服务器将桥接点作为p2p普通节点的父节点;(3)桥接点接收到p2p普通节点的打洞信息;(4)桥接点接收到p2p普通节点的数据请求;(5)桥接点回复p2p普通节点数据;(6)桥接点按照策略关闭自己。
文档编号H04L29/08GK102387062SQ20101026643
公开日2012年3月21日 申请日期2010年8月30日 优先权日2010年8月30日
发明者严飞, 葛俊, 顾宏业 申请人:上海悠络客电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1