基于UDP协议进行数据分发的方法、设备以及系统与流程

文档序号:15497815发布日期:2018-09-21 22:03阅读:388来源:国知局

本发明关于数据传输技术领域,具体的讲是一种基于udp协议进行数据分发的方法、网络地址转换分发设备、基于udp协议进行数据分发的系统、计算机设备以及计算机可读存储介质。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

随着互联网技术的发展,网络终端的数量呈加速上升趋势,对网际协议地址(internetprotocoladdress,简称ip地址)的需求剧烈增加,这迫使人们和大型组织、公司越来越依赖于网络地址转换(networkaddresstranslation,简称nat)技术。一个数据包在网络上地传输不可避免地要进行一次或多次nat穿越。nat穿越(nattraversal)大多数都要求有一个公共服务器,通过这个服务器中继所有的数据,这就带来了公共网路带宽开销的问题。在大型企业中,往往要跨地区、跨网络的进行大批量数据地传输和分发,网络延迟问题引发的长肥网络(longfatnetwork,简称lfn,是指带宽延迟积很大的网络)环境(如图1)不可避免,问题更为明显。

要解决带宽开销问题,首先要了解网络传输协议。最常用的可靠传输协议为传输控制协议(transmissioncontrolprotocol,简称tcp协议),但tcp协议需要经过连接建立阶段,包头复杂、系统开销大,如检测到网络状况不佳或有分组丢失的情况会减小传输窗口,而且传输窗口减小后,短时间内无法恢复,这些都对传输速度造成了一定的制约,也对系统的软硬件资源提出了更高的要求。而udp协议(userdatagramprotocol)的控制选项较少,因而在数据传输过程中具有处理速度快、延迟小、数据传输效率高的优点,但是udp报文同样存在诸如不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后是无法得知其是否安全完整到达,由于udp协议没有可靠性保证、顺序保证和流量控制字段等,因此可靠性较差。

因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。



技术实现要素:

有鉴于此,本发明提供了一种基于udp协议进行数据分发的方法、网络地址转换分发设备、基于udp协议进行数据分发的系统、计算机设备以及计算机可读存储介质,基于udp协议实现分组数据报的传输,通过参数配置动态调节传输速率,实现了批量文件高速分发和快速重传机制,减少公共网络开销。

本发明的目的之一是,提供了一种基于udp协议进行数据分发的方法,所述方法包括:

发送设备将待发送的数据信息封装成基于udp协议的数据报,并将数据报进行分组排序;

网络地址转换设备将分组排序后的数据报进行ip和端口置换,将置换后的数据报通过网络进行传送;

网络地址转换分发设备接收所述数据报,将所述数据报进行复制后传输至每一个接收设备。

本发明的目的之一是,提供了一种基于udp协议进行数据分发的系统,所述系统包括发送设备、网络地址转换设备、网络地址转换分发设备以及多个接收设备;

所述发送设备,用于将待发送的数据信息封装成基于udp协议的数据报,并将数据报进行分组排序;

所述网络地址转换设备,用于将分组排序后的数据报进行ip和端口置换,将置换后的数据报通过网络进行传送;

所述网络地址转换分发设备,用于接收所述数据报,将所述数据报进行复制后传输至每一个接收设备。

本发明的目的之一是,提供了一种计算机设备,包括适于实现各指令的处理器以及存储设备,所述存储设备存储有多条指令,所述指令适于由处理器加载并执行一种基于udp协议进行数据分发的方法。

本发明的目的之一是,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序用于执行一种基于udp协议进行数据分发的方法。

本发明的目的之一是,提供了一种网络地址转换分发设备,包括路由表装置、接收装置、队列容器装置、包复制装置、地址转换装置以及发送装置,其中,所述接收装置,用于接收一数据报;

所述队列容器装置,用于当所述队列容量装置空余时载入所述数据报,否则发送队列拥塞信息至所述发送装置;

所述路由表装置,用于当所述数据报中的转发标识符不为0时,发送指示信息至所述包复制装置,否则发送分发信息至所述发送装置;

所述发送装置,用于根据所述分发信息将所述数据报进行分发;

所述包复制装置,用于根据所述指示信息进行包复制操作,并将得到的数据报发送至所述地址转换装置;

所述地址转换装置,用于对包复制操作得到的数据报进行地址转换后,经由所述发送装置进行分发。

本发明的有益效果在于,提供了一种基于udp协议进行数据分发的方法、基于udp协议进行数据分发的系统、计算机设备以及计算机可读存储介质,可以完成对接收文件的确认,实现无序重排、丢包重发、数据包校验、流量控制等功能,结合网络地址转换分发设备,可以在分布式网络下实现nat穿越和高速数据分发、丢包快速重发,克服网络带宽限制。适用于跨节点、跨地区、跨网络的数据传输和分发场景,极大地节约公共网络开销。通过参数调整,该方法能够灵活地适应各种网络环境,并能在工作中自适应调节传输速率。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中的长肥网络示意图;

图2为本发明实施例提供的一种基于udp协议进行数据分发系统的结构框图;

图3为本发明实施例提供的一种发送设备的结构框图;

图4为本发明实施例提供的一种网络地址转换分发设备的结构框图;

图5为本发明实施例提供的一种接收设备的结构框图;

图6为本发明实施例提供的一种基于udp协议进行数据分发的方法的流程图;

图7为本发明使用的基于udp协议的数据报的改进结构图;

图8为本发明提供的具体实施例中数据报传输的流程示意图;

图9为本发明提供的具体实施例中传输成功反馈报文流程示意图;

图10为本发明提供的具体实施例中传输失败反馈报文流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

本发明实施例提供了一种基于udp协议进行数据分发的系统,图2为该系统的结构示意图,请参阅图2,本发明提供的系统包括发送设备001、网络地址转换设备003、网络地址转换分发设备004以及多个接收设备006。

请参阅图2,在图2所示的具体架构图中,发送设备001和网络地址转换设备003形成了发送集群002,一个或多个接收设备006和网络地址转换分发设备004组成接收集群。

所述发送设备001,用于将待发送的数据信息封装成基于udp协议的数据报,并将数据报进行分组排序;

所述网络地址转换设备003,用于将分组排序后的数据报进行ip和端口置换,将置换后的数据报通过网络007进行传送,网络007如:国际互联网络internet。

所述网络地址转换分发设备004,用于接收所述数据报,将所述数据报进行复制后传输至每一个接收设备006。

图2中的发送设备001、网络地址转换分发设备004和接收设备006三部分均为本发明的独创。针对从一个发送设备向多个接收设备传输数据的一发多的分发场景,发送设备和网络地址转换分发设备各配置一套,接收单元可部署多套(图2中假设配置dnat了n套),每套接收设备(即接收设备1~n)可部署到单台计算机设备或不同的设备上。

用户通过发送设备将所要传输的数据信息封装成基于udp协议的数据报,并将数据报进行分组排序后发出,在优选实施方式中发送设备可控制传输速率;数据报经网络地址转换设备进行ip和端口置换后通过网络传输后,由网络地址转换分发设备,将数据报快速复制多份,依照事先约定好的分发策略,准确快速地传输给每一个接收设备,并确保每个接收设备都完整获取数据。

在本发明提供的一种实施方式中,发送设备包括数据报标记装置101以及数据报发送装置103。

所述数据报标记装置101,用于在封装成udp协议的数据报的首部添加伪首部,标记转发标识符、源端ip地址、目标ip地址、分组号以及序列号;

具体的,根据本发明提供的改进的基于udp协议的数据报结构(如图7),数据报标记装置101需要将通过udp协议分切地数据报的首部添加伪首部,依次标记转发标识符did401、源端ip地址sip402、目标ip地址tip403、分组号gn404、序列号sn405,含义依次如下:

a)转发标识符did:数据报转发标志,作为网络地址转换分发设备寻址路由表进行转发的判断值。当did数值为0时,表示转发至publicip对应所有的internalip地址;当did数值为非0时,表示转发至publicip和did共同确定的internalip地址,否则丢弃;

b)源端ip地址sip:标识数据报发送地址;

c)目标ip地址tip:标识数据报接收地址(publicip);

d)分组号gn:分组号作用是将一批标记后的数据报组合为一个整体进行处理,数据报发送成功确认和清除是以数据报组的形式进行的。gn值为a字节,当标记值达到最大值时,重新归置为1开始,a为自然数,可自由调节;

e)序列号sn:序列号作用时将一个数据报组内的数据报进行排序,并结合gn唯一标识一定范围内的某个数据报,sn值为b字节,sn值最大值z,作为发送窗口调节因子之一,b为自然数,可自由调节。

所述数据报发送装置103,用于对所述数据报进行分组排序后发送。

图3为本发明实施例提供的一种发送装置结构框图,请参阅图3,在本发明的该实施方式中,所述发送装置还包括数据报重发装置104以及数据报等待装置102。

所述数据报等待装置102,用于将分组排序后的数据报进行缓冲存储;

所述数据报重发装置104,用于接收所述网络地址转换分发装置发送的重发反馈信息,从所述数据报发送装置103中获取出与所述重发反馈信息对应的数据报,重新发送与所述重发反馈信息对应的数据报。

在该实施方式中,数据报等待装置102接收数据标记装置101标记后的数据报,并作为数据报进入数据报发送装置103前的缓冲存储。数据报重发装置104接收网络地址转换分发设备的重发反馈信息,从数据报发送装置103中获取数据报重新发送。

在本申请的一种实施方式中,所述数据报发送装置103,还用于接收所述网络地址转换分发设备发送的队列拥塞信息,根据所述队列拥塞信息调整发送窗口因子以控制发送速率。数据报发送装置103是数据报的发送窗口,发送窗口所能存储的数据报组数量最大值为s,作为发送窗口调节因子之一。发送窗口的大小为w,表示数据报发送装置103的一次数据发送量,w=s×z。

下面简述发送设备的发送工作流程。

初始化数据报,标记伪首部;

对数据报分组、排序,依据网络地址转换分发设备的队列拥塞信息调整发送窗口因子z值;

将数据报装载进入数据报等待装置102;

扫描数据报发送装置103,判断发送窗口是否空余。如果没有,则等待。如果有,将数据报装载进入数据报发送装置103;

数据报经出口方向网络地址转换装置003进行ip和端口置换,并通过公用网络传送至网络地址转换分发设备。

下面简述发送设备的重发工作流程。

网络地址转换分发设备发送的队列拥塞信息传递至数据报重发装置104;

数据报重发装置104通过队列拥塞信息中gn、sn信息确定重发的数据报,从发送装置获取该数据报进行重发。

图4为本发明实施例提供的一种网络地址转换分发设备的结构框图,请参阅图4,在本发明的一种实施方式中,所述网络地址转换分发设备包括路由表装置201,接收装置202,队列容器装置204,包复制装置205,地址转换装置206,发送装置207,其中:

其中,所述接收装置202,用于接收所述数据报;

所述队列容器装置204,用于当所述队列容量装置空余时载入所述数据报,否则发送队列拥塞信息至所述发送装置;

所述路由表装置201,用于当所述数据报中的转发标识符不为0时,发送指示信息至所述包复制装置,否则发送分发信息至所述发送装置。

所述发送装置207,用于根据所述分发信息将所述数据报进行分发;

所述包复制装置205,用于根据所述指示信息进行包复制操作,并将得到的数据报发送至所述地址转换装置;

所述地址转换装置206,用于对包复制操作得到的数据报进行地址转换后,经由所述发送装置进行分发。

在本申请的一种实施方式中,所述接收装置,还用于接收所述接收设备发送的重发反馈信息;

所述队列容器装置,用于判断所述重发反馈信息对应的数据报是否存在,当判断为是时,通过所述发送装置向所述接收设备发送所述数据报,否则通过所述发送装置向所述发送设备发送重发反馈信息。

在本申请的一种实施方式中,所述网络地址转换分发设备还包括统计装置203。

在本发明中,路由表装置201主要存储公网和内网的地址转换信息。与普通路由表不同,本发明的路由表装置通过设立转发标识符did字段支持将同一个数据报向多个接收设备进行转发的一转多分发支持。数据报到达队列容器装置204后,路由表装置201会对数据报信息进行扫描并依据转发标识符did字段、与路由表配置信息进行匹配,依据匹配结果产生包复制信息和包首部地址修改信息,将包复制信息传递给包复制装置205,同时将包首部地址修改信息传递给地址转换装置206。

接收装置202负责接收公网中传递到的数据报信息,以及内网的反馈信息,并作为队列容器装置204的缓冲存储。统计装置203从接收装置202获取内网接收反馈报文,对接收装置202接收信息进行统计,判断数据报是否接收成功,并将信息反馈给队列容器装置204和发送设备1。队列容器装置204作为数据报在网络地址转换分发设备中的存储装置,为包复制装置提供源数据报,为数据报快速重发提供数据源。队列容器装置204中某数据报滞留时间超过阈值m值时清除该数据报。包复制装置205依据路由表装置201给出的包复制信息,从队列容器装置204中获取数据报并进行复制,并将复制后的数据报传递给地址转换装置206。地址转换装置206依据路由表装置201给出的包首部地址修改信息对来自包复制装置205的数据报首部地址信息进行修改,并将转换后的数据报传递给发送装置207。发送装置207负责对来自地址转换装置206的数据报进行分发。

下面简述网络地址转换分发设备的分发工作流程。

数据报进入入口方向网络地址转换分发装置4的接收装置202;

扫描队列容器装置204,判断判断队列容器装置204是否空余。如果没有,则等待队列容器装置204中的前序数据报分发完成清除、超时清除或重传清除,并将队列拥塞信息发送给发送单元,调整发送窗口w。如果有,将数据报装载进入队列容器装置204;

扫描路由表装置201判断数据报中ip、端口以及路由信息是否存在。如果没有,则数据报信息错误丢弃,传输失败;如果有,判断did是否为0,如果是0,则数据报需分发至所有接收装置6,进入包复制装置205依据路由表装置201所给信息进行包复制,数据报进入地址转换装置206进行地址转换,数据报进入发送装置207分发至接收设备。如果did不为0,则数据报进入发送装置207分发至接收设备。

网络地址转换分发设备的反馈工作流程详细描述如下:

1)、某数据报组接收成功

网络地址转换分发设备接收到任意接收设备反馈的某分组号所有数据报接收成功报文,网络地址转换分发设备将报文转发出到发送设备;

发送设备接收到反馈报文,发送设备的数据报发送装置103清除该组数据报信息,发送成功。

2)、某数据报接收成功

网络地址转换分发设备接收到某接收设备(命名为α接收单元)的数据反馈装置304反馈的某数据报接收成功报文,网络地址转换分发设备将报文转发出到发送设备,发送设备接收到反馈报文,发送设备的数据报发送装置103清除该组数据报信息,发送成功。

网络地址转换分发设备的统计装置203统计反馈信息,该数据报统计接收成功值+1;

当所有接收单元均反馈该数据报传输完成,队列容器装置204清除该数据报和统计信息。

3)、某数据报接收失败

网络地址转换分发设备接收到某接收设备(命名为β接收单元)的数据反馈装置304反馈的重发数据报a的请求;

网络地址转换分发设备判断队列容器装置204中该数据报是否存在,如果有,网络地址转换分发设备向β接收装置6重发该数据报,;如果没有,网络地址转换分发设备将重发反馈报文传输至发送设备,并清除该数据报统计信息,发送设备向该接收集群005重发该数据报,队列容器装置204中某数据报滞留时间超过阈值m值时清除该数据报。

图5为本发明实施例提供的一种接收设备的结构框图,请参阅图5,所述接收设备包括数据报接收装置301、数据报识别装置302、数据报存储装置303以及数据报反馈装置304,

其中,所述数据报接收装置,用于接收所述数据报;

所述数据报识别装置,用于依据所述数据报的分组号以及序列号进行归类排序整理,当所述分组号对应的数据报到齐时,发送到齐信息至所述数据报反馈装置,并将所述分组好对应的数据报存储至所述数据报存储装置。

也即,本申请的数据报接收装置301负责接收来自网络中的数据报,并传递给数据报识别装置302,作为数据报识别装置302的缓冲存储。数据报识别装置302从数据报接收装置301中获取数据报,根据数据报的gn、sn信息分组、排序,等待后续数据报抵达,直至分组所有数据报到齐进入数据报存储装置303;或分组数据报未到齐,且滞留时间超过阈值n值,检查缺少数据报a,向数据报反馈装置304发送超时信息,数据报存储装置303当a分组数据报抵达完整时,a分组所有数据报从数据报识别装置302进入数据报存储装置303等待上层应用获取。数据报反馈装置303负责接收数据报接收装置301和数据报识别装置302反馈的接收信息,并生成报文反馈给发送方。

下面简述接收设备的接收工作流程。

接收设备的数据报接收装置301接收数据报,并将数据报传递给数据报识别装置302依据gn、sn信息归类排序整理;

当分组号所有数据报到齐时,数据报识别装置302发送分组号所有数据报到齐信息给数据报反馈装置304,到齐数据报进入数据报存储装置303,接收成功。

本发明还提供了一种计算机设备,包括适于实现各指令的处理器以及存储设备,所述存储设备存储有多条指令,所述指令适于由处理器加载并执行:

发送设备将待发送的数据信息封装成基于udp协议的数据报,并将数据报进行分组排序;

网络地址转换设备将分组排序后的数据报进行ip和端口置换,将置换后的数据报通过网络进行传送;

网络地址转换分发设备接收所述数据报,将所述数据报进行复制后传输至每一个接收设备。

本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序用于执行:

发送设备将待发送的数据信息封装成基于udp协议的数据报,并将数据报进行分组排序;

网络地址转换设备将分组排序后的数据报进行ip和端口置换,将置换后的数据报通过网络进行传送;

网络地址转换分发设备接收所述数据报,将所述数据报进行复制后传输至每一个接收设备。

如上即是本发明提供的一种基于udp协议进行数据分发的系统、网络地址转换分发设备、计算机设备以及计算机可读存储介质,可以完成对接收文件的确认,实现无序重排、丢包重发、数据包校验、流量控制等功能,结合网络地址转换分发设备,可以在分布式网络下实现nat穿越和高速数据分发、丢包快速重发,克服网络带宽限制。适用于跨节点、跨地区、跨网络的数据传输和分发场景,极大地节约公共网络开销。通过参数调整,该方法能够灵活地适应各种网络环境,并能在工作中自适应调节传输速率。

此外,尽管在上文详细描述中提及了系统的若干单元模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。以上所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

在介绍了本发明示例性实施方式的基于udp协议进行数据分发的系统之后,接下来,参考附图对本发明示例性实施方式的方法进行介绍。该方法的实施可以参见上述整体的实施,重复之处不再赘述。

图6为本发明实施例提供的一种基于udp协议进行数据分发的方法的流程图,请参阅图6,该方法包括:

s101:发送设备将待发送的数据信息封装成基于udp协议的数据报,并将数据报进行分组排序。

在本发明的一种实施方式中,发送设备在封装成udp协议的数据报的首部添加伪首部,标记转发标识符、源端ip地址、目标ip地址、分组号以及序列号。

s102:网络地址转换设备将分组排序后的数据报进行ip和端口置换,将置换后的数据报通过网络进行传送。

s103:网络地址转换分发设备接收所述数据报,将所述数据报进行复制后传输至每一个接收设备。

在本发明的一种实施方式中,该方法还包括:

发送设备接收所述网络地址转换分发设备发送的队列拥塞信息,根据所述队列拥塞信息调整发送窗口因子以控制发送速率。

在发明的一种实施方式中,该方法还包括:

发送设备接收网络地址转换分发设备的重发反馈信息,获取数据报重新发送。

在本发明的一种实施方式中,该方法还包括:

网络地址转换分发设备接收所述接收设备发送的重发反馈信息;

判断所述重发反馈信息对应的数据报是否存在,当判断为是时,向所述接收设备发送所述数据报,否则向所述发送设备发送重发反馈信息。

在本发明的一种实施方式中,该方法还包括:接收设备接收所述数据报;

依据所述数据报的分组号以及序列号进行归类排序整理,当所述分组号对应的数据报到齐时,发送到齐信息,并将所述分组好对应的数据报存储。

本发明提出的一种基于udp协议进行数据分发的方法,基于udp协议实现分组数据报的传输,并通过序号纠错和校验机制实现数据报确认和重传机制,通过参数配置动态调节传输速率,改进地址转换装置实现批量文件高速分发和快速重传机制,减少公共网络开销。

下面通过本发明提供的具体实施例,结合本发明的附图,详细介绍本发明的技术方案。图8为本发明提供的具体实施例中数据报传输的流程示意图,请参阅图8,数据报传输流程包括:

s501:初始化数据报,标记伪首部,转步骤s502;

s502:对数据报分组、排序,依据dnat反馈信息调整发送窗口因子z值,转步骤s503;

s503:将数据报装载进入数据报等待装置102,转步骤s504;

s504:扫描数据报发送装置103,判断发送窗口是否空余。如果没有,则等待。如果有,转步骤s505;

s505:将数据报装载进入数据报发送装置103,转步骤s506;

s506:数据报经出口方向网络地址转换装置003进行ip和端口置换,并通过公用网络传送至网络地址转换分发设备;

s507:数据报进入入口方向网络地址转换分发设备4的接收装置202;

s508:扫描队列容器装置204,判断判断队列容器装置204是否空余。如果没有,则转步骤s509,并将队列拥塞信息发送给发送单元,调整发送窗口w。如果有,转步骤s510;

s509:等待队列容器装置204中的前序数据报分发完成清除、超时清除或重传清除;

s510:将数据报装载进入队列容器装置204;

s511:扫描路由表装置201,判断数据报中ip、端口以及路由信息是否存在。如果没有,则转步骤s512;如果有,转步骤s513;

s512:数据报信息错误丢弃,传输失败。

s513:判断did是否为0,如果是,转步骤s514;如果否,则转步骤s516;

s514:数据报需分发至所有接收装置6,进入包复制装置205依据路由表装置201所给信息进行包复制,转步骤s515;

s515:数据报进入地址转换装置206进行地址转换,转步骤s516;

s516:数据报进入发送装置207分发至接收装置6。

s517:接收单元数据报接收装置301接收数据报,并将数据报传递给数据报识别装置302依据gn、sn信息归类排序整理,转步骤s518;

s518:判断分组号所有数据报是否到齐。如果没有,则转步骤s517;如果有,转步骤s519;

s519:数据报识别装置302发送分组号所有数据报到齐信息给数据报反馈装置304,到齐数据报进入数据报存储装置303,接收成功。

图9为本发明提供的具体实施例中传输成功反馈报文流程示意图,请参阅图9,传输成功反馈报文流程包括:

s601:任意接收设备成功接收到该分组的数据报a;

s602:判断该分组数据是否到齐,当判断为是时,执行步骤s603,否则执行步骤s602;

s603:该接收设备传输完成该分组;

s604:网络地址转换分发设备接收到任意接收设备数据反馈装置301反馈的某分组号所有数据报接收成功报文,转步骤s605;

s605:dnat将报文转发出到发送设备,转步骤s606;

s606:发送设备接收到反馈报文,发送设备的数据报发送装置103清除该组数据报信息,发送成功。

某数据报接收成功:

s607:数据反馈装置反馈该数据报传输成功;

s608:网络地址转换分发设备接收到某接收设备(命名为α接收单元)数据反馈装置304反馈的某数据报接收成功报文,转步骤s605;

s609:统计装置203统计反馈信息,该数据报统计接收成功值+1,转步骤s610;

s610:判断是否所有接收设备均反馈该数据报传输完成,如果是,转步骤s611;如果否,则转步骤s601;

s611:队列容器装置204清除该数据报和统计信息。

图10为本发明提供的具体实施例中传输失败反馈报文流程示意图,请参阅图10,某数据报接收失败,传输失败反馈报文流程包括:

s701:任意接收设备的数据识别装置中某分组数据报未到齐,且滞留时间超过阈值n值,检查缺少数据报a;

s702:数据反馈装置反馈请求重发数据报a;

s703:网络地址转换分发设备接收到某接收设备(命名为β接收单元)的数据反馈装置304反馈的重发数据报a的请求;

s704:网络地址转换分发设备判断队列容器装置204中该数据报是否存在,如果有,转步骤s705;如果没有,则转步骤s706;

s705:网络地址转换分发设备向β接收装置6重发该数据报。

s706:网络地址转换分发设备将重发反馈报文传输至发送设备,并清除该数据报统计信息,转步骤s707;

s707:发送设备向该接收集群005重发该数据报。

s708:队列容器装置204中某数据报滞留时间超过阈值m值时清除该数据报。

综上所述,本发明提供了一种基于udp协议进行数据分发的方法、网络地址转换分发设备、基于udp协议进行数据分发的系统、计算机设备以及计算机可读存储介质,提出了基于udp协议实现分组数据报的传输,并通过序号纠错和校验机制实现数据报确认和重传机制,通过参数配置动态调节传输速率,改进地址转换装置实现批量文件高速分发和快速重传机制,减少公共网络开销。具体的,该发明能够获得如下好处:

1.相比于传统数据分发方式,极大的减少公共网络开销,实现了快速重传功能,针对大型企业跨网络集群、跨地区的大规模的数据分发极大的提高了效率;

2.相比传统tcp协议,克服了长肥网络环境下的带宽限制,提高了网络传输效率和系统开销;相比udp协议,丢包率大大降低,准确性和tcp不相上下;

3.实现了网络协议层面的安全隔离,保障了组织内部网络安全。

对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持系统或便携式系统、平板型系统、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子系统、网络pc、小型计算机、大型计算机、包括以上任何系统或系统的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理系统来执行任务。在分布式计算环境中,程序模块可以位于包括存储系统在内的本地和远程计算机存储介质中。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1