CN104618236A - 一种加速网络的并行数据传输系统及方法 - Google Patents
一种加速网络的并行数据传输系统及方法 Download PDFInfo
- Publication number
- CN104618236A CN104618236A CN201510030931.0A CN201510030931A CN104618236A CN 104618236 A CN104618236 A CN 104618236A CN 201510030931 A CN201510030931 A CN 201510030931A CN 104618236 A CN104618236 A CN 104618236A
- Authority
- CN
- China
- Prior art keywords
- data
- path
- sent
- paths
- optimal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000001133 acceleration Effects 0.000 title claims description 8
- 238000012790 confirmation Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 3
- 208000025779 tropical pancreatitis Diseases 0.000 description 27
- 238000012545 processing Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种加速网络的并行数据传输系统及方法,用户将数据发送到作为发送端的节点上,发送端选择作为接收端的节点,确定发送端和接收端之间的多条最优路径;发送端对接收到的数据进行分块,并按顺序编号;从多条到接收端的最优路径中选择一条路径将数据发送到接收端,并记录通过每条最优路径发送的数据的编号;代理节点接收到数据后,将数据转发给所在最优路径上的下一个代理节点或接收端;接收端从多条最优路径上同时接收数据,并根据数据编号对数据进行排序和合并,最后将合并数据发送到目的地址。本发明的加速网络的并行数据传输系统及方法能够基于TCP/UDP协议实现多路径并行数据传输,有效地提高网络传输速率。
Description
技术领域
本发明涉及一种数据传输系统及方法,特别是涉及一种加速网络的并行数据传输系统及方法。
背景技术
随着互联网技术的飞速发展,高清视频播放、大文件传输等数据密集型应用越来越多。因此,对网络数据传输也提出了更高的要求。多路并行传输技术通过在多条路径上并行发送数据,可以有效提高网络带宽的利用率,加快传输速率。
现有技术中,在多路并行传输方面进行了很多研究,提供了多种实现方法。
如申请号为200810224416.6、发明名称为《一种提高端到端数据传输速率的方法及系统》的中国专利申请中公开了一种提高端到端数据传输速率的方法,应用于包括中转服务器的覆盖网络中,该方法包括步骤:获取接收方到发送方之间的直接路径和间接路径;在每条直接路径和每条间接路径上均发出若干个TCP连接请求;记录所有TCP连接的耗时,关闭超过设定时间的TCP连接;接收方通过所有建立的TCP连接向发送方发出探测数据包;发送方在接收到探测数据包后,沿探测数据包走过的路径开始向接收方分块传递文件。该方法适用于互联网上端到端的大文件传输,可以有效解决端到端的文件传输速度的提升问题。
再如申请号为201110408205.X、发明名称为《一种数据包的传输方法、系统》的中国专利申请中公开一种数据包的传输方法,所述方法包括:数据包分流装置对接收到的数据包进行加序,生成加序数据包;根据分流比例确定所述加序数据包的发送链路,并通过所述发送链路传输所述加序数据包至数据包合流装置;数据包合流装置对所述加序数据包进行排序。由于数据包合流装置输出的是有序的数据包,所以可以有效地降低TCP乱序带来的负面影响,在多路径传输的过程中提升TCP端到端的性能。
再如申请号为200610094309.7、发明名称为《通信终端及通信方法》的中国专利申请公开一种通信方法,发送终端同时使用多条路径向接收终端发送数据,具有下述步骤:所述发送终端,根据对所述多条路径的每一条管理的TCP控制信息,通过将分割要对所述接收终端发送的数据后生成的段和在该段的发送中使用的路径关联起来存储在发送段管理部中,进行对该段的发送预约的步骤:所述发送终端从所述发送段管理部中只抽出所述段,通过与该段关联的路径向所述接收终端发送该段的步骤;所述接收终端在对于发送了所述段的每一路径管理接收到的所述段的同时,根据对所述多条路径的每一条管理的TCP控制信息,发送用于通知通过各路径的段的接收结果的送达确认信号的步骤;所述接收终端在有关所述段的送达确认信号通过和在该段的发送中使用的路径相同的路径被接收到的场合,从所述发送段管理部中删除该段及与该段关联的路径的步骤。
然而,现有的多路传输技术存在以下问题:
(1)由于没有收包确认机制,只能支持基于TCP协议的并行数据传输,无法支持基于UDP协议的并行数据传输;
(2)需要修改TCP协议来实现多路功能,与常规TCP协议存在兼容性问题,实施难度较高;
(3)通过在发送端和接收端之间建立多条连接来并行发送数据,无法指定这些路径经过的中间结点,使得这些路径很可能经过相同的路由,占用同样的带宽,最大传输速率受到限制;
(4)在多条连接中有一条断开时,已经通过此链接发送的数据无法收到确认,导致数据丢失,传输失败,传输可靠性较低。
其中,需要说明的是,TCP和UDP都是传输层协议,TCP是面向流的协议,UDP是面向数据报的协议。TCP和UDP的优缺点分别如下:
TCP的优点为传输可靠,能够保证数据传输的正确性和顺序;缺点为在网络差、或者传输小数据时,传输效率低。
UDP的优点为在网络差、或者传输小数据时传输效率高;缺点为传输不可靠,可能会丢包,不能保证传输数据的到达顺序。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种加速网络的并行数据传输系统及方法,能够基于TCP/UDP协议实现多路径并行数据传输,有效地提高网络传输速率。
为实现上述目的及其他相关目的,本发明提供一种加速网络的并行数据传输方法,所述加速网络包括若干个节点,任意两个节点之间包含有多条最优路径,每条最优路径中包含至少一个应用加速网络的节点,采用所述多条最优路径进行并行数据传输时,包括以下步骤:步骤S1、用户将数据发送到作为发送端的节点上,发送端根据数据的目的地选择作为接收端的节点,然后确定发送端和接收端之间的多条最优路径;步骤S2、发送端对接收到的数据进行分块,并按顺序编号;对于每个分块后的数据,从多条到接收端的最优路径中选择一条路径将数据发送到接收端,并记录通过每条最优路径发送的数据的编号;步骤S3、代理节点接收到数据后,将数据转发给所在最优路径上的下一个代理节点或接收端;步骤S4、接收端从多条最优路径上同时接收数据,并根据数据编号对数据进行排序和合并,最后将合并数据发送到目的地址。
根据上述的加速网络的并行数据传输方法,其中:所述步骤S2中,发送端为每条到接收端的最优路径维护一个发送队列,发送数据时将数据加入对应路径的发送队列,并实时统计各个发送队列的待发送数据总量;所述步骤S4中,接收端维护一个接收队列,接收端将接收的数据根据编号大小插入接收队列。
根据上述的加速网络的并行数据传输方法,其中:所述步骤S2包括以下步骤:
步骤S21、接收用户发送来的数据;
步骤S22、依次为接收到的数据添加编号;
步骤S23、对于每个数据,从多条最优路径中选择当前待发送数据总量最小的一条路径,并将数据添加到这条路径的发送队列尾部;
步骤S24、将数据编号记录在所选路径的已发送数据编号列表中;
步骤S25、当网络可写时,各个非空发送队列将数据发送到网络上;
步骤S26、数据发送完毕后,更新各发送队列的待发送数据总量。
进一步地,根据上述的加速网络的并行数据传输方法,其中:所述步骤S23中,从多条最优路径中选择当前待发送数据总量最小的一条路径时,包括以下步骤:
步骤S231、初始化所有最优路径的发送队列和待发送数据总量为0;
步骤S232、当有数据要发送时,初始化将要使用的路径索引Selected=1,表示选择第一条路径发送,初始化遍历参数K=2;
步骤S233、判断K是否小于总的最优路径数,若是,则转入步骤S234,否则转入步骤S237;
步骤S234、判断被选择路径的待发送数据总量SizeSelected是否大于当前路径的待发送数据总量SizeK,若是,转入步骤S235,否则转入步骤S236;
步骤S235、记Selected=K;
步骤S236、K=K+1,并转入步骤S333;
步骤S237、当前待发送数据总量最少的路径索引为Selected,将数据加入该路径的发送队列;
步骤S238、更新该路径的待发送数据总量SizeSelected=SizeSelected+数据的大小,流程结束。
根据上述的加速网络的并行数据传输方法,其中:在每条最优路径上的节点间根据网络情况采用TCP或UDP协议进行数据传输。
根据上述的加速网络的并行数据传输方法,其中:所述步骤S4包括以下步骤:
步骤S41、初始化已发送给目的地址的最大编号值SNsend=0;
步骤S42、从代理节点或发送端接收数据;
步骤S43、将数据按照编号大小插入接收端的接收队列中;
步骤S44、判断接收队列头结点数据的序列号是否等于SNsend+1,若是,转入步骤S45,否则转入步骤S42;
步骤S45、取出头结点的数据,并发送到数据的目的地;
步骤S46、更新SNsend,使得SNsend=SNsend+1;
步骤S47、判断接收队列是否为空,若是,转入步骤S42,否则转入步骤S44。
根据上述的加速网络的并行数据传输方法,其中:步骤S4中还包括:接收端通过与发送端之间的多条最优路径,周期性地向发送端发送确认消息,确认已经收到数据的编号。
进一步地,根据上述的加速网络的并行数据传输方法,其中:步骤S2中还包括:发送端对每条最优路径维护一个定时器,如果在期限内收到确认消息,则更新定时器,并根据确认消息重传丢失的数据;如果在期限内没有收到确认信息,发送端将该最优路径标记为不可用,并通过其他最优路径重传通过不可用路径发送但还未确认的数据;发送端不再通过标记为不可用的路径发送数据。
更进一步地,根据上述的加速网络的并行数据传输方法,其中:如果发送端在不可用的路径上收到确认消息,则将该最优路径重新标记为可用,并恢复通过该最优路径发送数据。
同时,本发明还提供一种加速网络的并行数据传输系统,所述加速网络包括若干个节点,任意两个节点之间包含有多条最优路径,每条最优路径中包含至少一个应用加速网络的节点,数据在所述多条最优路径上进行并行数据传输;每条路径上的节点能够用作发送端、代理节点或接收端;
所述发送端用于从用户处接收数据,发送到代理节点或接收端;
所述代理节点用于从发送端或其他代理节点接收数据,发送到其他代理节点或接收端;
所述接收端用于从发送端或代理节点接收数据,发送到数据的目的地址;
采用所述多条最优路径进行并行数据传输时,用户将数据发送到发送端,发送端根据数据的目的地选择接收端,然后确定发送端和接收端之间的多条最优路径;发送端对接收到的数据进行分块,并按顺序编号;对于每个分块后的数据,从多条到接收端的最优路径中选择一条路径将数据发送到接收端,并记录通过每条最优路径发送的数据的编号;代理节点接收到数据后,将数据转发给所在最优路径上的下一个代理节点或接收端;接收端从多条最优路径上同时接收数据,并根据数据编号对数据进行排序和合并,最后将合并数据发送到目的地址。
如上所述,本发明的加速网络的并行数据传输系统及方法,具有以下有益效果:
(1)具有接收数据确认机制,支持基于TCP/UDP协议的并行数据传输;
(2)与常规TCP协议相兼容,易于实现;
(3)发送端和接收端之间多条路径可以实现相互独立,避免了不同路径经过相同的路由的情况,保证了网络传输速率;
(4)在多条路径中有一条断开的情况下,已经通过断开路径发送的数据可重新进行传输,从而避免了数据的丢失,保证了数据传输的可靠性。
附图说明
图1显示为本发明的加速网络的并行数据传输系统的结构示意图;
图2显示为本发明的加速网络的并行数据传输方法的流程图;
图3显示为本发明的发送端处理数据流程图;
图4显示为本发明中发送端从多条最优路径中选择一条路径的流程图;
图5显示为本发明中代理节点处理数据的流程图;
图6显示为本发明中接收端处理数据的流程图;
图7显示为本发明中接收端发送确认消息的流程图。
图8显示为本发明中可用路径处理确认消息的流程图
图9显示为本发明中不可用路径处理确认消息的流程图;
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
参照图1,本发明的加速网络的并行数据传输系统包括若干个节点,通过在节点间探测数据获取实时的网络质量信息,并根据网络质量信息计算出任意两个节点之间的多条最优路径,然后采用这些最优路径来多路并行传输数据。其中,这些最优路径中包含至少一个应用加速网络的节点。
需要说明的是,在两个节点之间进行最优路径选择时,可采用现有的一些常见智能选路方法,如在节点间进行探测后使用ksp等算法计算最优路径;再如智能路由网络内的节点探测其他的节点和源站,获得节点间和节点到源站的网络传输性能,并通过一台中央服务器进行汇总,并计算出任意一个节点到任意一个源站之间的多条最优路径。对于本领域技术人员而言,任何其他智能选路方法,只要能实现本发明中最优路径选择,即在本发明的保护范围内。故在此不再赘述。
具体地,一条路径上的节点分为以下三类:
1、发送端,用于从用户处接收数据,发送到代理节点或接收端。
2、代理节点,用于从发送端或其他代理节点接收数据,发送到其他代理节点或接收端。
3、接收端,用于从发送端或代理节点接收数据,发送到数据的目的地址。
采用多条最优路径进行并行数据传输时,用户将数据发送到发送端,发送端根据数据的目的地选择接收端,然后确定发送端和接收端之间的多条最优路径;发送端对接收到的数据进行分块,并按顺序编号;对于每个分块后的数据,从多条到接收端的最优路径中选择一条路径将数据发送到接收端,并记录通过每条最优路径发送的数据的编号;代理节点接收到数据后,将数据转发给所在最优路径上的下一个代理节点或接收端;接收端从多条最优路径上同时接收数据,并根据数据编号对数据进行排序和合并,最后将合并数据发送到目的地址。
参照图2,本发明的加速网络的并行数据传输方法包括以下步骤:
步骤S1、用户通过加速网络进行数据传输时,将数据发送到作为发送端的节点上,发送端根据数据的目的地选择作为接收端的节点,然后确定发送端和接收端之间的多条最优路径。
其中,作为接收端的节点通常采用距离数据的目的地最近的边缘节点。
步骤S2、发送端对接收到的数据进行分块,并按顺序编号;对于每个分块后的数据,从多条到接收端的最优路径中选择一条路径将数据发送到接收端,并记录通过每条最优路径发送的数据的编号。
优选地,发送端为每条到接收端的最优路径维护一个发送队列,发送数据时将数据加入对应路径的发送队列,并实时统计各个发送队列的待发送数据总量。当发送数据时,发送端比较所有发送队列当前待发送数据总量的大小,选择待发送数据总量最小的路径,并将要发送的数据加入该路径的发送队列。所有路径在网络可写且发送队列不为空时从发送队列中取出数据发送到网络,并实时更新各个发送队列的待发送数据量。
参照图3,发送端处理数据的流程包括以下步骤:
步骤S21、接收用户发送来的数据。
步骤S22、依次为接收到的数据添加编号。
具体地,编号从1开始,依次逐一增加。
步骤S23、对于每个数据,从多条最优路径中选择当前待发送数据总量最小的一条路径,并将数据添加到这条路径的发送队列尾部。
步骤S24、将数据编号记录在所选路径的已发送数据编号列表中。
步骤S25、当网络可写时,各个非空发送队列将数据发送到网络上。
步骤S26、数据发送完毕后,更新各发送队列的待发送数据总量。
参照图4,发送端从多条最优路径中选择一条路径的流程包括以下步骤:
步骤S231、初始化所有最优路径的发送队列和待发送数据总量Sizei=0。
步骤S232、当有数据要发送时,初始化将要使用的路径索引Selected=1,表示选择第一条路径发送,初始化遍历参数K=2。
步骤S233、判断K是否小于总的最优路径数N,若是,则转入步骤S234,否则转入步骤S237。
步骤S234、判断被选择路径的待发送数据总量SizeSelected是否大于当前路径的待发送数据总量SizeK,若是,转入步骤S235,否则转入步骤S236。
步骤S235、记Selected=K。
步骤S236、K=K+1,并转入步骤S233。
步骤S237、当前待发送数据总量最少的路径索引为Selected,将数据加入该路径的发送队列QSelected。
步骤S238、更新该路径的待发送数据总量SizeSelected=SizeSelected+数据的大小,流程结束。
步骤S3、代理节点接收到数据后,将数据转发给所在最优路径上的下一个代理节点或接收端。
参照图5,代理节点处理数据的流程包括以下步骤:
步骤S31、从其他代理节点或发送端接收数据。
步骤S32、连接最优路径中的下一个节点。
具体地,下一个节点可能是其他代理节点,也可能是接收端。
步骤S33、发送数据到下一个节点。
步骤S4、接收端从多条最优路径上同时接收数据,并根据数据编号对数据进行排序和合并,最后将合并数据发送到目的地址。
优选地,接收端维护一个接收队列。接收端将接收的数据根据编号大小插入接收队列,并维护当前已发送给目的地址的最大编号值。将接收到的数据插入接收队列后,检查队列头部的数据编号并与当前已发送的最大编号值比较,如果队列头部的数据编号是当前已发送的最大编号值的下一个编号,则从队列头部开始,将所有连续数据发送到目的地址。
参照图6,接收端处理数据的流程包括以下步骤:
步骤S41、初始化已发送给目的地址的最大编号值SNsend=0。
步骤S42、从代理节点或发送端接收数据。
步骤S43、将数据按照编号大小插入接收队列。
步骤S44、判断接收队列头结点数据的序列号SN是否等于SNsend+1,若是,转入步骤S45,否则转入步骤S42。
步骤S45、取出头结点的数据,并发送到数据的目的地。
步骤S46、更新SNsend,使得SNsend=SNsend+1。
步骤S47、判断接收队列是否为空,若是,转入步骤S42,否则转入步骤S44。
优选地,步骤S4中还包括:接收端通过与发送端之间的多条最优路径,周期性地向发送端发送确认消息,确认已经收到数据的编号。
参照图7,接收端发送确认消息的流程包括以下步骤:
步骤S71、设置定时器。
步骤S72、定时器到期。
步骤S73、发送确认消息,并转入步骤S71。
相应地,步骤S2中还包括:发送端对每条最优路径维护一个定时器,如果在期限内收到确认消息,则更新定时器,并根据确认消息重传丢失的数据;如果在期限内没有收到确认信息,发送端将该最优路径标记为不可用,并通过其他路径重传通过不可用路径发送但还未确认的数据;后续发送端不再通过标记为不可用的路径发送数据;如果发送端在不可用的路径上收到确认消息,则将该最优路径重新标记为可用,并恢复通过该最优路径发送数据。
参照图8,可用路径处理确认消息的流程包括以下步骤:
步骤S81、准备接收确认消息。
步骤S82、设置定时器。
步骤S83、如果超时没有收到确认消息,转入步骤S84,否则转入步骤S86。
步骤S84、标记该路径为不可用,后续将不再通过该路径发送数据。
步骤S85、将通过此路径发送但还未确认的数据包,通过其他路径重新发送,流程结束。
步骤S86、收到确认消息,解析确认消息。
步骤S87、将未确认的数据重新发送,并转入步骤S82。
参照图9,不可用路径处理确认消息的流程包括以下步骤:
步骤S91、准备接收确认消息.
步骤S92、如果收到确认消息,转入步骤S93,否则转入步骤S91。
步骤S93、标记该路径为可用,后续将重新通过该路径发送数据。
其中,在每条最优路径上的节点间根据网络情况采用TCP或UDP协议进行数据传输。这与现有技术中每条最优路径上仅可采用单一的TCP协议或UDP协议进行数据传输不同,能够在同一最优路径上同时采用TCP和UDP协议。具体地,在每条最优路径上,在网络比较好的节点间采用TCP协议,在网络比较差的节点间采用UDP协议,从而充分利用网络的传输性能,进一步提高传输效率。
需要说明的是,本发明的加速网络的并行数据传输方法可以利用UDP进行传输的原因如下:
1、现有技术依赖于TCP的可靠传输特性,没有确认和重传机制;如果使用UDP的话存在丢包和数据到达顺序和发送顺序不一致等问题,在需要可靠数据的情况下无法满足要求;本发明通过对数据包进行编号并使用重传和确认机制,可以为UDP协议提供一定的可靠性;
2、现有技术使用的多条路径从起点到终点之间不经过中转节点,如果要使用UDP则只能全程使用UDP,而本发明中路径上存在中转节点,一条路径被分成了几段,可以根据不同节点之间的网络状况,在网络比较好的段上使用TCP协议,在网络比较差的段上使用UDP协议,从而充分利用网络的传输性能,进一步提高传输效率。
综上所述,本发明的基于加速网络的并行数据传输系统及方法具有接收数据确认机制,支持基于TCP/UDP协议的并行数据传输;与常规TCP协议相兼容,易于实现;发送端和接收端之间多条路径可以实现相互独立,避免了不同路径经过相同的路由的情况,保证了网络传输速率;在多条路径中有一条断开的情况下,已经通过断开路径发送的数据可重新进行传输,从而避免了数据的丢失,保证了数据传输的可靠性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种加速网络的并行数据传输方法,其特征在于:所述加速网络包括若干个节点,任意两个节点之间包含有多条最优路径,每条最优路径中包含至少一个应用加速网络的节点,采用所述多条最优路径进行并行数据传输时,包括以下步骤:
步骤S1、用户将数据发送到作为发送端的节点上,发送端根据数据的目的地选择作为接收端的节点,然后确定发送端和接收端之间的多条最优路径;
步骤S2、发送端对接收到的数据进行分块,并按顺序编号;对于每个分块后的数据,从多条到接收端的最优路径中选择一条路径将数据发送到接收端,并记录通过每条最优路径发送的数据的编号;
步骤S3、代理节点接收到数据后,将数据转发给所在最优路径上的下一个代理节点或接收端;
步骤S4、接收端从多条最优路径上同时接收数据,并根据数据编号对数据进行排序和合并,最后将合并数据发送到目的地址。
2.根据权利要求1所述的加速网络的并行数据传输方法,其特征在于:所述步骤S2中,发送端为每条到接收端的最优路径维护一个发送队列,发送数据时将数据加入对应路径的发送队列,并实时统计各个发送队列的待发送数据总量;所述步骤S4中,接收端维护一个接收队列,接收端将接收的数据根据编号大小插入接收队列。
3.根据权利要求1所述的加速网络的并行数据传输方法,其特征在于:所述步骤S2包括以下步骤:
步骤S21、接收用户发送来的数据;
步骤S22、依次为接收到的数据添加编号;
步骤S23、对于每个数据,从多条最优路径中选择当前待发送数据总量最小的一条路径,并将数据添加到这条路径的发送队列尾部;
步骤S24、将数据编号记录在所选路径的已发送数据编号列表中;
步骤S25、当网络可写时,各个非空发送队列将数据发送到网络上;
步骤S26、数据发送完毕后,更新各发送队列的待发送数据总量。
4.根据权利要求3所述的加速网络的并行数据传输方法,其特征在于:所述步骤S23中,从多条最优路径中选择当前待发送数据总量最小的一条路径时,包括以下步骤:
步骤S231、初始化所有最优路径的发送队列和待发送数据总量为0;
步骤S232、当有数据要发送时,初始化将要使用的路径索引Selected=1,表示选择第一条路径发送,初始化遍历参数K=2;
步骤S233、判断K是否小于总的最优路径数,若是,则转入步骤S234,否则转入步骤S237;
步骤S234、判断被选择路径的待发送数据总量SizeSelected是否大于当前路径的待发送数据总量SizeK,若是,转入步骤S235,否则转入步骤S236;
步骤S235、记Selected=K;
步骤S236、K=K+1,并转入步骤S333;
步骤S237、当前待发送数据总量最少的路径索引为Selected,将数据加入该路径的发送队列;
步骤S238、更新该路径的待发送数据总量SizeSelected=SizeSelected+数据的大小,流程结束。
5.根据权利要求1所述的加速网络的并行数据传输方法,其特征在于:在每条最优路径上的节点间根据网络情况采用TCP或UDP协议进行数据传输。
6.根据权利要求1所述的加速网络的并行数据传输方法,其特征在于:所述步骤S4包括以下步骤:
步骤S41、初始化已发送给目的地址的最大编号值SNsend=0;
步骤S42、从代理节点或发送端接收数据;
步骤S43、将数据按照编号大小插入接收端的接收队列中;
步骤S44、判断接收队列头结点数据的序列号是否等于SNsend+1,若是,转入步骤S45,否则转入步骤S42;
步骤S45、取出头结点的数据,并发送到数据的目的地;
步骤S46、更新SNsend,使得SNsend=SNsend+1;
步骤S47、判断接收队列是否为空,若是,转入步骤S42,否则转入步骤S44。
7.根据权利要求1所述的加速网络的并行数据传输方法,其特征在于:步骤S4中还包括:接收端通过与发送端之间的多条最优路径,周期性地向发送端发送确认消息,确认已经收到数据的编号。
8.根据权利要求7所述的加速网络的并行数据传输方法,其特征在于:步骤S2中还包括:发送端对每条最优路径维护一个定时器,如果在期限内收到确认消息,则更新定时器,并根据确认消息重传丢失的数据;如果在期限内没有收到确认信息,发送端将该最优路径标记为不可用,并通过其他最优路径重传通过不可用路径发送但还未确认的数据;发送端不再通过标记为不可用的路径发送数据。
9.根据权利要求8所述的加速网络的并行数据传输方法,其特征在于:如果发送端在不可用的路径上收到确认消息,则将该最优路径重新标记为可用,并恢复通过该最优路径发送数据。
10.一种加速网络的并行数据传输系统,其特征在于:所述加速网络包括若干个节点,任意两个节点之间包含有多条最优路径,每条最优路径中包含至少一个应用加速网络的节点,数据在所述多条最优路径上进行并行数据传输;每条路径上的节点能够用作发送端、代理节点或接收端;
所述发送端用于从用户处接收数据,发送到代理节点或接收端;
所述代理节点用于从发送端或其他代理节点接收数据,发送到其他代理节点或接收端;
所述接收端用于从发送端或代理节点接收数据,发送到数据的目的地址;
采用所述多条最优路径进行并行数据传输时,用户将数据发送到发送端,发送端根据数据的目的地选择接收端,然后确定发送端和接收端之间的多条最优路径;发送端对接收到的数据进行分块,并按顺序编号;对于每个分块后的数据,从多条到接收端的最优路径中选择一条路径将数据发送到接收端,并记录通过每条最优路径发送的数据的编号;代理节点接收到数据后,将数据转发给所在最优路径上的下一个代理节点或接收端;接收端从多条最优路径上同时接收数据,并根据数据编号对数据进行排序和合并,最后将合并数据发送到目的地址。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510030931.0A CN104618236A (zh) | 2015-01-21 | 2015-01-21 | 一种加速网络的并行数据传输系统及方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510030931.0A CN104618236A (zh) | 2015-01-21 | 2015-01-21 | 一种加速网络的并行数据传输系统及方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN104618236A true CN104618236A (zh) | 2015-05-13 |
Family
ID=53152523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510030931.0A Pending CN104618236A (zh) | 2015-01-21 | 2015-01-21 | 一种加速网络的并行数据传输系统及方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104618236A (zh) |
Cited By (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104967813A (zh) * | 2015-07-04 | 2015-10-07 | 马岩 | 视频会议的超时重发方法及系统 |
| CN105119968A (zh) * | 2015-07-15 | 2015-12-02 | 天脉聚源(北京)教育科技有限公司 | 一种图片传输方法及装置 |
| CN105141518A (zh) * | 2015-07-01 | 2015-12-09 | 冯旋宇 | 路由器的超时重发方法及路由器 |
| CN105680990A (zh) * | 2016-01-13 | 2016-06-15 | 北京理工大学 | 一种基于喷泉编码的区域信息共享方法 |
| CN105743614A (zh) * | 2016-04-01 | 2016-07-06 | 网宿科技股份有限公司 | 数据的传输方法和装置 |
| WO2017000286A1 (zh) * | 2015-07-01 | 2017-01-05 | 冯旋宇 | 路由器的超时重发方法及路由器 |
| CN106716937A (zh) * | 2016-12-23 | 2017-05-24 | 深圳前海达闼云端智能科技有限公司 | 路径计算和访问请求分发方法、装置及系统 |
| CN108023817A (zh) * | 2016-11-04 | 2018-05-11 | 华为技术有限公司 | 一种确定数据传输路径的方法、装置 |
| CN108494676A (zh) * | 2018-03-21 | 2018-09-04 | 广州多益网络股份有限公司 | 数据传输方法、装置、数据收发设备、系统及存储介质 |
| CN108881042A (zh) * | 2018-04-25 | 2018-11-23 | 郑州易通众联电子科技有限公司 | 数据传输方法及数据传输装置 |
| CN108964849A (zh) * | 2018-07-03 | 2018-12-07 | 深圳睿云网络人工智能技术有限公司 | 数据传输方法、电子设备及存储介质 |
| CN109644190A (zh) * | 2016-06-24 | 2019-04-16 | 奥兰治 | 两个终端之间的多路径udp通信方法 |
| CN109644186A (zh) * | 2016-06-24 | 2019-04-16 | 奥兰治 | 用于在两个终端之间经由多路径进行udp通信的方法 |
| CN109660495A (zh) * | 2017-10-12 | 2019-04-19 | 网宿科技股份有限公司 | 一种文件传输方法和装置 |
| CN109672616A (zh) * | 2018-12-27 | 2019-04-23 | 北京奇安信科技有限公司 | 数据传输方法、装置、设备及介质 |
| CN110191052A (zh) * | 2019-04-23 | 2019-08-30 | 北京交通大学 | 一种跨协议网络传输方法及系统 |
| CN110475232A (zh) * | 2018-05-09 | 2019-11-19 | 厦门本能管家科技有限公司 | 一种基于蓝牙、nfc、airdrop的区块链网络传输方法及系统 |
| CN110688169A (zh) * | 2019-09-16 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 应用程序加速方法及装置、存储介质、电子设备 |
| CN110784416A (zh) * | 2018-07-25 | 2020-02-11 | 罗伯特·博世有限公司 | 通信网络的第一网络单元 |
| CN111010399A (zh) * | 2019-12-20 | 2020-04-14 | 北京天融信网络安全技术有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
| CN111213342A (zh) * | 2017-10-16 | 2020-05-29 | 西门子交通有限公司 | 铁路自动化网络和在铁路自动化网络中传输消息的方法 |
| CN111555971A (zh) * | 2020-04-26 | 2020-08-18 | 新分享科技服务(深圳)有限公司 | 一种信息分发平台、系统及信息分发方法 |
| CN111917812A (zh) * | 2019-05-10 | 2020-11-10 | 北京百度网讯科技有限公司 | 数据的传输控制方法、装置、设备以及存储介质 |
| CN112929455A (zh) * | 2021-05-11 | 2021-06-08 | 北京华云安信息技术有限公司 | 基于udp的数据传输方法、装置、设备和可读存储介质 |
| CN113067669A (zh) * | 2021-03-03 | 2021-07-02 | 伍仁勇 | 一种网络编码方法及安全网络 |
| CN113111029A (zh) * | 2021-04-14 | 2021-07-13 | 北京希姆计算科技有限公司 | 一种确定数据传输路径的方法、芯片和存储介质 |
| CN113630808A (zh) * | 2021-08-05 | 2021-11-09 | 神州融安科技(北京)有限公司 | 一种数据传输方法、第一设备、第二设备 |
| CN113746880A (zh) * | 2020-05-28 | 2021-12-03 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、服务器及存储介质 |
| CN113904976A (zh) * | 2021-09-28 | 2022-01-07 | 新乡学院 | 基于rdma用于有损网络的多路径数据传输方法和装置 |
| CN114158065A (zh) * | 2021-11-17 | 2022-03-08 | 四川迅游网络科技股份有限公司 | 一种多WiFi网络并行传输方法及系统 |
| CN115037671A (zh) * | 2021-03-04 | 2022-09-09 | 华为技术有限公司 | 多路径聚合调度方法及电子设备 |
| CN115102933A (zh) * | 2022-06-16 | 2022-09-23 | 慧之安信息技术股份有限公司 | 一种多接口环境下实时流媒体传输方法 |
| CN116155976A (zh) * | 2022-12-27 | 2023-05-23 | 天翼云科技有限公司 | 一种多路径tcp的分发方法和系统 |
| US11863322B2 (en) | 2020-05-30 | 2024-01-02 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030120716A1 (en) * | 2001-12-26 | 2003-06-26 | Mcclellan Stanley A. | Fault tolerance associations for IP transport protocols |
| CN101719918A (zh) * | 2009-11-27 | 2010-06-02 | 北京交通大学 | 一种改进的适用于多连接多路径的传输方法 |
| CN101729589A (zh) * | 2008-10-14 | 2010-06-09 | 北京大学 | 一种提高端到端数据传输速率的方法及系统 |
| CN101888664A (zh) * | 2010-06-25 | 2010-11-17 | 陶洋 | 无线自组织网络中视频多路并行传送方法 |
| CN103078897A (zh) * | 2012-11-29 | 2013-05-01 | 中山大学 | 一种实现Web业务细粒度分类与管理的系统 |
| CN103095795A (zh) * | 2011-10-28 | 2013-05-08 | 三星Sds株式会社 | 用于传输数据的设备和方法 |
-
2015
- 2015-01-21 CN CN201510030931.0A patent/CN104618236A/zh active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030120716A1 (en) * | 2001-12-26 | 2003-06-26 | Mcclellan Stanley A. | Fault tolerance associations for IP transport protocols |
| CN101729589A (zh) * | 2008-10-14 | 2010-06-09 | 北京大学 | 一种提高端到端数据传输速率的方法及系统 |
| CN101719918A (zh) * | 2009-11-27 | 2010-06-02 | 北京交通大学 | 一种改进的适用于多连接多路径的传输方法 |
| CN101888664A (zh) * | 2010-06-25 | 2010-11-17 | 陶洋 | 无线自组织网络中视频多路并行传送方法 |
| CN103095795A (zh) * | 2011-10-28 | 2013-05-08 | 三星Sds株式会社 | 用于传输数据的设备和方法 |
| CN103078897A (zh) * | 2012-11-29 | 2013-05-01 | 中山大学 | 一种实现Web业务细粒度分类与管理的系统 |
Cited By (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105141518A (zh) * | 2015-07-01 | 2015-12-09 | 冯旋宇 | 路由器的超时重发方法及路由器 |
| WO2017000286A1 (zh) * | 2015-07-01 | 2017-01-05 | 冯旋宇 | 路由器的超时重发方法及路由器 |
| CN104967813A (zh) * | 2015-07-04 | 2015-10-07 | 马岩 | 视频会议的超时重发方法及系统 |
| CN105119968A (zh) * | 2015-07-15 | 2015-12-02 | 天脉聚源(北京)教育科技有限公司 | 一种图片传输方法及装置 |
| CN105680990B (zh) * | 2016-01-13 | 2018-12-14 | 北京理工大学 | 一种基于喷泉编码的区域信息共享方法 |
| CN105680990A (zh) * | 2016-01-13 | 2016-06-15 | 北京理工大学 | 一种基于喷泉编码的区域信息共享方法 |
| CN105743614A (zh) * | 2016-04-01 | 2016-07-06 | 网宿科技股份有限公司 | 数据的传输方法和装置 |
| CN105743614B (zh) * | 2016-04-01 | 2019-05-24 | 网宿科技股份有限公司 | 数据的传输方法和装置 |
| CN109644190B (zh) * | 2016-06-24 | 2022-01-11 | 奥兰治 | 两个终端之间的多路径udp通信方法 |
| CN109644186B (zh) * | 2016-06-24 | 2021-10-08 | 奥兰治 | 用于在两个终端之间经由多路径进行udp通信的方法 |
| CN109644186A (zh) * | 2016-06-24 | 2019-04-16 | 奥兰治 | 用于在两个终端之间经由多路径进行udp通信的方法 |
| CN109644190A (zh) * | 2016-06-24 | 2019-04-16 | 奥兰治 | 两个终端之间的多路径udp通信方法 |
| CN108023817A (zh) * | 2016-11-04 | 2018-05-11 | 华为技术有限公司 | 一种确定数据传输路径的方法、装置 |
| WO2018112877A1 (zh) * | 2016-12-23 | 2018-06-28 | 深圳前海达闼云端智能科技有限公司 | 路径计算和访问请求分发方法、装置及系统 |
| CN106716937A (zh) * | 2016-12-23 | 2017-05-24 | 深圳前海达闼云端智能科技有限公司 | 路径计算和访问请求分发方法、装置及系统 |
| CN109660495A (zh) * | 2017-10-12 | 2019-04-19 | 网宿科技股份有限公司 | 一种文件传输方法和装置 |
| US12030535B2 (en) | 2017-10-16 | 2024-07-09 | Siemens Mobility GmbH | Railway automation network and method for transmitting messages in a railway automation network |
| CN111213342A (zh) * | 2017-10-16 | 2020-05-29 | 西门子交通有限公司 | 铁路自动化网络和在铁路自动化网络中传输消息的方法 |
| CN108494676A (zh) * | 2018-03-21 | 2018-09-04 | 广州多益网络股份有限公司 | 数据传输方法、装置、数据收发设备、系统及存储介质 |
| CN108881042A (zh) * | 2018-04-25 | 2018-11-23 | 郑州易通众联电子科技有限公司 | 数据传输方法及数据传输装置 |
| CN110475232A (zh) * | 2018-05-09 | 2019-11-19 | 厦门本能管家科技有限公司 | 一种基于蓝牙、nfc、airdrop的区块链网络传输方法及系统 |
| CN108964849A (zh) * | 2018-07-03 | 2018-12-07 | 深圳睿云网络人工智能技术有限公司 | 数据传输方法、电子设备及存储介质 |
| CN110784416A (zh) * | 2018-07-25 | 2020-02-11 | 罗伯特·博世有限公司 | 通信网络的第一网络单元 |
| CN109672616A (zh) * | 2018-12-27 | 2019-04-23 | 北京奇安信科技有限公司 | 数据传输方法、装置、设备及介质 |
| CN110191052A (zh) * | 2019-04-23 | 2019-08-30 | 北京交通大学 | 一种跨协议网络传输方法及系统 |
| CN110191052B (zh) * | 2019-04-23 | 2021-05-14 | 北京交通大学 | 一种跨协议网络传输方法及系统 |
| CN111917812A (zh) * | 2019-05-10 | 2020-11-10 | 北京百度网讯科技有限公司 | 数据的传输控制方法、装置、设备以及存储介质 |
| CN111917812B (zh) * | 2019-05-10 | 2022-09-30 | 北京百度网讯科技有限公司 | 数据的传输控制方法、装置、设备以及存储介质 |
| CN110688169A (zh) * | 2019-09-16 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 应用程序加速方法及装置、存储介质、电子设备 |
| CN111010399A (zh) * | 2019-12-20 | 2020-04-14 | 北京天融信网络安全技术有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
| CN111555971A (zh) * | 2020-04-26 | 2020-08-18 | 新分享科技服务(深圳)有限公司 | 一种信息分发平台、系统及信息分发方法 |
| CN113746880A (zh) * | 2020-05-28 | 2021-12-03 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、服务器及存储介质 |
| US11863322B2 (en) | 2020-05-30 | 2024-01-02 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
| CN113067669A (zh) * | 2021-03-03 | 2021-07-02 | 伍仁勇 | 一种网络编码方法及安全网络 |
| CN115037671A (zh) * | 2021-03-04 | 2022-09-09 | 华为技术有限公司 | 多路径聚合调度方法及电子设备 |
| CN113111029A (zh) * | 2021-04-14 | 2021-07-13 | 北京希姆计算科技有限公司 | 一种确定数据传输路径的方法、芯片和存储介质 |
| CN113111029B (zh) * | 2021-04-14 | 2024-03-26 | 广州希姆半导体科技有限公司 | 一种确定数据传输路径的方法、芯片和存储介质 |
| CN112929455B (zh) * | 2021-05-11 | 2021-09-10 | 北京华云安信息技术有限公司 | 基于udp的数据传输方法、装置、设备和可读存储介质 |
| CN112929455A (zh) * | 2021-05-11 | 2021-06-08 | 北京华云安信息技术有限公司 | 基于udp的数据传输方法、装置、设备和可读存储介质 |
| CN113630808A (zh) * | 2021-08-05 | 2021-11-09 | 神州融安科技(北京)有限公司 | 一种数据传输方法、第一设备、第二设备 |
| CN113904976A (zh) * | 2021-09-28 | 2022-01-07 | 新乡学院 | 基于rdma用于有损网络的多路径数据传输方法和装置 |
| CN114158065B (zh) * | 2021-11-17 | 2024-04-05 | 四川迅游网络科技股份有限公司 | 一种多WiFi网络并行传输方法及系统 |
| CN114158065A (zh) * | 2021-11-17 | 2022-03-08 | 四川迅游网络科技股份有限公司 | 一种多WiFi网络并行传输方法及系统 |
| CN115102933B (zh) * | 2022-06-16 | 2023-03-10 | 慧之安信息技术股份有限公司 | 一种多接口环境下实时流媒体传输方法 |
| CN115102933A (zh) * | 2022-06-16 | 2022-09-23 | 慧之安信息技术股份有限公司 | 一种多接口环境下实时流媒体传输方法 |
| CN116155976A (zh) * | 2022-12-27 | 2023-05-23 | 天翼云科技有限公司 | 一种多路径tcp的分发方法和系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104618236A (zh) | 一种加速网络的并行数据传输系统及方法 | |
| KR101696776B1 (ko) | 향상된 확인응답 및 재송신 메커니즘 | |
| US7542438B2 (en) | Reliable multicast data retransmission method by grouping wireless terminals in wireless communication medium and apparatus for the same | |
| JP2825120B2 (ja) | マルチキャスト伝送のための方法及び通信ネットワーク | |
| CN102577267B (zh) | 使终端之间的通信高速化的通信装置及通信系统 | |
| CN107979449B (zh) | 一种数据传输方法及装置 | |
| US9838326B2 (en) | System and method for equalizing transmission delay in a network | |
| JP7327730B2 (ja) | パケット処理方法および装置 | |
| US9866351B2 (en) | Communication method and communication apparatus | |
| US10505677B2 (en) | Fast detection and retransmission of dropped last packet in a flow | |
| CN101369879B (zh) | 一种请求数据重传的方法及装置 | |
| CN101883047B (zh) | 多网络接口设备的数据并发传输方法 | |
| CN113965572B (zh) | 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质 | |
| CN109450606A (zh) | 数据传输管控方法及装置 | |
| CN107959555A (zh) | 一种基于lwaap的数据传输方法、装置及存储介质 | |
| CN105871512B (zh) | 一种数据传输方法及装置 | |
| CN102106176A (zh) | 在移动通信系统中用于用户设备的信号传输方法和装置 | |
| US7653060B2 (en) | System and method for implementing ASI over long distances | |
| CN105227276B (zh) | 一种基于udt的对等网络数据传输方法 | |
| US20120158818A1 (en) | Communications terminal, communications method, and program and integrated circuit for communication | |
| CN113612737A (zh) | 一种基于分组与重传机制的长报文可靠传输方法 | |
| CN101001132A (zh) | 数据无线传输系统 | |
| KR20130048547A (ko) | Lqi를 이용한 위치 기반의 라우팅 장치 및 방법 | |
| CN107241777A (zh) | 一种基于多信道的无线传输路由方法 | |
| CN106603202A (zh) | 一种卫星链路传输方法、系统及网关 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150513 |
|
| RJ01 | Rejection of invention patent application after publication |