一种数据传输方法

文档序号:7744446阅读:127来源:国知局
专利名称:一种数据传输方法
技术领域
本发明涉及数据传输技术领域,特别是涉及一种数据传输方法。
背景技术
随着互联网技术的发展,网络中 的任意两台设备之间都可以通过数据传输实现资源共享。在实际应用中,我们经常会遇到需要将一台设备上的数据向多台设备进行复制的情况,现有技术中,常用的方法是由数据源所在设备向目标设备逐台复制数据。这种方法不但操作麻烦,而且每次复制过程都需要占用源设备与当前目标设备之间的带宽。特别是当目标设备与源设备处于不同网段、并且目标设备均处于相同网段时,这种复制方法显然不利于节约宝贵的网间带宽资源。P2P(peer-to-peer,点对点)技术是一种目前比较流行的数据传输方式,在P2P 中,每个目标设备在接收数据的同时,还会将所接收到的数据提供给其他目标设备,这就将原本闲置的目标设备之间的带宽利用起来。如果将P2P技术应用到上述场景,以有效利用目标设备之间的网内带宽,从而减少网间带宽上的数据传输量,达到节约网间带宽资源的目的。在实现本发明的过程中,发明人发现现有技术中至少存在如下问题在目前的 P2P应用中,每个设备都可以对自身的发送和接收(包括速率、目标设备数量等)进行控制, 但是P2P的传输机制使得我们无法在某个设备上实现对整个网络数据传输的统一控制。当数据传输量较大时,很可能导致网络风暴,造成网络瘫痪。而我们前面所描述的应用场景,其数据传输是由源设备发起,根据传输数据量以及目标设备数量的变化,需要在源设备(或某一个目标设备)上对整个网络数据传输进行统一控制,而其他目标设备可以仅用于被动接收数据,这种需求是P2P技术所无法实现的。

发明内容
有鉴于此,本发明提供了一种数据传输方法,该方法包括(1)节点进行待传输数据的接收;(2)如果接收到所述传输数据的当前节点有子节点,则所述当前节点将所述待传输数据发送至所有所述子节点中的一个子节点;和,(3)如果接收到所述传输数据的当前节点有还未获得过所述待传输数据的兄弟节点,则所述当前节点将所述待传输数据发送至所有所述兄弟节点中的一个兄弟节点;(4)计算交换节点瓶颈链接数目的估计值L = [10,11,…1D]T,其中Ij为往循环往返延时等于j时间槽的瓶颈链接的数目;(5)确定D+2个闭环极点的位置,从而确定特征多项式系数向量F= (f0, fi;…
f τ .
丄D+2」 ,(6)根据公式G(L) = [M(L) F1F来计算控制器参数G,其中F = (f\+2,f2_l,...f3,f4,…,fD+1,fD+2,0)T。
其中,所述节点建立树形连接关系,具体实现为处于同一网段的节点,与同一个父节点建立连接关系,子节点通过周期性向父节点发送注册信息,保持与父节点的连接关系。以上技术方案中,所有设备之间的数据均为单向传输,如果将源设备作为树形结构的根节点,则源设备与目标设备之间仅有一条数据通道,通过对这条数据通道传输的控制,就可以实现对整个网络的数据传输进行统一控制。此外,在一个父节点的多个子节点中,只有一个是从父节点获得数据,其他子节点依次从自己的上一个兄弟节点获得数据,这样,只要将同一网段的设备相互设为兄弟节点, 就可以有效利用网内带宽,节省网间带宽。


图1为本发明所提供的链式数据传输系统的一种结构示意图;图2为本发明所提供的链式数据传输系统的另一种结构示意图;图3为实现本发明方法的流程图;图4为本发明实施例链式数据传输节点的结构示意图;图5为本发明实施例链式数据传输节点的另一种结构示意图;图6为本发明实施例链式数据传输节点的第三种结构示意图。
具体实施例方式本发明所提供的技术方案,称为LCP(LinkCopy链式复制)技术,下面首先对本发明所提供的链式数据传输系统进行说明,本发明所提供的链式数据传输系统,包括一个数据源节点和至少一个数据目标节点,数据源节点与数据目标节点建立树形连接关系,数据目标节点为数据源节点的后辈节点。实施例一图1所示为本发明所提供的链式数据传输系统的一种结构示意图,其中,101为数据源节点,111-114为数据目标节点,图中的节点间的细线代表节点之间所建立的连接关系,可以看出该系统为两层树形结构,源节点101在树形结构中处于父节点的位置,而目标节点111 114都是101的子节点,由于111 114具有相同的父节点101,因此111 114之间彼此互为兄弟节点。图1中节点间的粗箭头线示出了在该系统中的数据传输情况,可以看出数据源节点101是将数据发送至自己的一个子节点(在图1中所示为111);而数据目标节点111 114,在接收数据之后,会将所接收的数据发送至自己的一个兄弟节点, 为了避免数据重复传输,该兄弟节点应该是还没有获得过待传输数据的。图中所示的数据传 输路径为111 — 112 — 113 — 114,对于114来说,接收到数据之后,此时自己所有的兄弟节点都已经获得过待传输数据,因此114不再执行发送动作,数据传输中止。实施例二 图2所示为本发明所提供的链式数据传输系统的另一种结构示意图,与图1不同之处在于,该系统为三层树形结构,源节点201在树形结构中处于父节点的位置,211 115 为201的子节点,215 115之间彼此互为兄弟节点;212a、212b为212的子节点,212a和212b彼此互为兄弟节点;214a为214的子节点。由图2中的粗箭头线可以看出,拥有子节点的目标节点,在接收数据之后,除了会将所接收的数据发送至自己的一个兄弟节点之外,还会将数据发送至自己的一个子节点。 例如,212会将数据发送至自己的一个兄弟节点213和自己的一个子节点212a ;而214会将数据发送至自己的一个兄弟节点215和自己的一个子节点214a。综合实施例一和实施例二可以看出,在链式数据传输系统中,每个节点所执行的数据传输机制可以总结为图3所示的流程,具体包括S301,当前节点获得待传输数据;其中,如果当前节点是数据源节点,那么所获得的是初始的待传输数据;如果当前节点是目标节点,那么所述获得待传输数据,具体表现为接收其他节点所发送的待传输数据。S302,当前节点将所述待传输数据发送至一个子节点;和,将所述待传输数据发送至一个兄弟节点,该兄弟节点未获得过所述待传输数据。可见,当前节点获得数据以后,会将数据继续向两个节点发送,如果没有符合上述条件的节点,则不会执行相应的发送动作。在这样的传输机制下,数据从源节点发出之后, 就会自动遍历到所有的目标节点上,并且目标节点之间不会出现数据的重复传输。需要说明的是,实施例一和实施例二分别介绍了两层和三层的树形结构,本领域技术人员易于想到的是,对于采用本发明所提供数据传输机制的其他形式的树形结构系统,也均应包含在本发明的保护范围之内。对于树形连接关系的建立,一般我们会令处于同一网段的目标节点,与一个父节点建立连接关系,例如在图2中,节点211 115处于同一网段A、节点212a、212b处于同一网段B、节点214a处于网段C,这样,数据在网间传输时,仅会占用一条数据通道,而大部分的数据是在兄弟节点之间单向传输,有效地利用了网内的数据传输带宽。由于父节点和子节点之间只有一条数据通道,因此,只要对这条数据通道进行控制,就可以实现对整个网络的数据传输的统一控制。例如,对于源节点201和目标节点211 之间的数据通道,我们可以在201或211上控制数据传输速率。由于父节点需要管理子节点的相关信息,工作量相对较大,因此我们一般选择在子节点上控制传输速率。具体来说,可以在211上控制从201接收数据的速率,由于211是第一个、并且唯一的由源节点获得数据的目标节点,因此,之后的兄弟节点之间、或父子节点之间的数据传输速率,明显不会超过这个所限制的速率,从而实现了对整个网络的数据传输的统一控制。本领域技术人员易于想到的是,也可以在211上控制向212发送数据的速率,(如果211有子节点,还可以在211上控制向子节点发送数据的速率)。进一步的,在每一个目标节点上都可以对数据接收速率、向后继兄弟节点的数据发送速率、向子节点的数据发送速率进行控制,从而实现对网络的更细致的管理。实施例三在本发明的优选方案中,为了保证某一目标节点是将数据发送至自己的某个还没有获得过数据的兄弟节点,可以将上述数据传输机制优化如下在源节点侧,将待传输数据发送至第一个与自己建立连接关系的子节点;
在目标节点侧,接收待传输数据;将所接收的待传输数据发送至第一个与自己建立连接关系的子节点;和,将所接收的待传输数据发送至在自己之后,第一个与自己的父节点建立连接关系的节点,为了方便后面描述,我们将这种节点称为后继兄弟节点。具体来说,在建立树形连接关系的过程中,节点χ可以通过向节点y注册,与节点 y建立连接关系,成为节点y的子节点。之后,节点χ每隔一定时间(例如1秒)会向节点 y发送注册信息,以保持与节点y的连接关系。 父节点通过周期性检查子节点的注册信息,可以随时了解子节点的连接情况。一方面,当父节点有数据要发送或转发时,知道哪些子节点将会接收它们;另一方面,一旦检查到子节点未连续注册的次数达到一定的数量时,父节点就会从子节点列表中将其移除,并进一步调整传输策略。以图2所提供的系统为例,假设节点211 215是按其数字编号的顺序向节点201 注册的,节点212a 212b是按其字母编号的顺序向节点212注册的,则根据上述优化过的传输机制,可以确定源节点201,将待传输数据发送至第一个向自己注册的子节点211 ;目标节点211,接收201所发送的待传输数据;将所接收的待传输数据发送至自己的后继兄弟节点212(211没有子节点,因此不执行向子节点的发送动作);目标节点212,接收211所发送的待传输数据;将所接收的待传输数据发送至自己的后继兄弟节点213。并且,将待传输数据发送至第一个向自己注册的子节点212a ;同理可以确定其他目标节点的发送规则,这里不再赘述。如果某个节点失效,那么它的父节点通过周期性检查子节点的注册信息,可以得知这一情况,并进行相应的调整如果节点211失效,节点201会在自己的子节点列表中删除211的信息,此时,第一个向201注册的子节点就变成了 212 ;如果节点212失效,节点201会在自己的子节点列表中删除212的信息,并且将这一情况通知在212之前注册的节点211,此时对于211来说,后继兄弟节点就变成了 213 ;同理可以得知其他节点失效时的情况,总之,从网络整体角度看,节点失效,实质上相当于建立了新的树形连接关系(如果有新的节点加入网络,也是类似的情况),各节点依然按照原有的传输机制进行数据接收和发送,发生变化的只是“第一个与自己建立连接关系的子节点,,和“后继兄弟节点,,所指代的对象。在优化的传输机制中,同一层的数据都是由前一个注册的兄弟节点传递过来,这就具体实现了 “某一目标节点将数据发送至自己的某个还没有获得过数据的兄弟节点”的原则。并且,根据节点的注册顺序来确定数据的传输方向,也更加有利于对数据传输的管理。参见图6所示,所述的链式数据传输节点,还可以进一步包括速率控制单元430,用于对所述接收单元410的数据接收速率,和/或对所述发送单元420的数据发送速率进行控制。如果所述接收单元,是接收其他节点所发送的待传输数据,则所述链式数据传输节点可以进一步包括数据校验单元440,用于检查所述接收单元410所接收的待传输数据是否完整,如果否,则请求数据发送节点重新发送所缺失的数据部分。
以上所述仅是本发明的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种数据传输方法,其特征在于,该方法包括(1)节点进行待传输数据的接收;(2)如果接收到所述传输数据的当前节点有子节点,则所述当前节点将所述待传输数据发送至所有所述子节点中的一个子节点;和,(3)如果接收到所述传输数据的当前节点有还未获得过所述待传输数据的兄弟节点, 则所述当前节点将所述待传输数据发送至所有所述兄弟节点中的一个兄弟节点;(4)计算交换节点瓶颈链接数目的估计值L=[Itl, I1,…1D]T,其中为往循环往返延时等于j时间槽的瓶颈链接的数目;(5)确定D+2个闭环极点的位置,从而确定特征多项式系数向量F=(f0,fi;…fD+2]T ;(6)根据公式G(L)= [M(L) F1F来计算控制器参数G, 其中 F = (f\+2,f2-l,...f3,f4,…,fD+1,fD+2,0)T。
2.根据权利要求1所述的方法,其特征在于,所述节点建立树形连接关系,具体实现为处于同一网段的节点,与同一个父节点建立连接关系,子节点通过周期性向父节点发送注册信息,保持与父节点的连接关系。
全文摘要
本发明公开了一种数据传输方法。包括一个数据源节点和至少一个数据目标节点,数据源节点与数据目标节点建立树形连接关系,数据目标节点为数据源节点的后辈节点;所述数据源节点,用于将待传输数据发送至自身所有子节点中的一个子节点;所述数据目标节点,用于接收待传输数据;当所述数据目标节点有子节点时,将待传输数据发送至自身所有子节点中的一个子节点;当所述数据目标节点有还未获得过所述待传输数据的兄弟节点时,将待传输数据发送至所有所述兄弟节点中的一个兄弟节点。应用本发明技术方案,可以实现在单一设备上对整个网络的数据传输进行统一控制,并且有效利用了网内带宽,节省网间带宽。
文档编号H04L29/08GK102201965SQ20101013242
公开日2011年9月28日 申请日期2010年3月24日 优先权日2010年3月24日
发明者孙晓波, 张 杰, 曲子恒, 王国臣 申请人:北京创世网赢高科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1