基于UDP传输协议的多级节点网络数据传输方法技术

技术编号:29684446 阅读:25 留言:0更新日期:2021-08-13 22:08
本公开提供了一种基于UDP传输协议的多级节点网络数据传输方法,包括:当前节点获取上级节点通过UDP协议发送的数据包,生成原始应用数据;对所述原始应用数据的数据长度进行检测,响应于所述原始应用数据的数据长度大于预设数据包长度,对所述原始应用数据进行切分,生成切分数据包;对所述切分数据包进行编号,并为所述切分数据包添加用于标识所述切分数据包类型的包头;向下级节点发送探测窗口数据包,响应于下级节点返回的剩余接收窗口的大小能够接收全部的切分数据包,通过UDP协议将全部的切分数据包添加至发送队列以发送至所述下级节点。以此方式,能够快速传输数据并且使得传输过程稳定可靠。

【技术实现步骤摘要】
基于UDP传输协议的多级节点网络数据传输方法
本公开的实施例一般涉及通信
,并且更具体地,涉及一种基于UDP传输协议的多级节点网络数据传输方法。
技术介绍
在计算机通信中,通信协议用于实现计算机与网络连接之间的标准,通信协议包括TCP协议和UDP协议等。TCP协议在传递数据之前,要先建连接消耗时间,而且在数据传递时,有确认机制、重传机制、拥塞控制机制等,都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,每个连接都会占用系统的CPU、内存等硬件资源。UDP协议是一个无连接的传输层通信协议,通信是不可靠的。通信过程中会出现一些问题,如:因为UDP是无连接的,所以UDP的通信双方是不会针对发送消息进行确认的,发送方只负责发送数据,接收方只负责接收数据,不会有确认机制。在互联网传输的环境中,如果设备性能不足、网络环境不好,UDP协议是无连接的协议,基于UDP协议传输的数据则会出现丢包的情况。同时,UDP的数据包在网络上传输的时候,有可能造成数据的顺序更改,接收方的数据顺序和发送方的数据顺序发生了颠倒,则接收方则无法正常的组装还原原始数据了,就导致了通信的失败。由于UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包,因此UDP不可靠,不稳定。但UDP协议有其先天的优势,快:UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。现有技术中的通信协议,TCP协议传输时间长,且占用硬件资源,UDP协议传输快,但是不可靠,不稳定。
技术实现思路
根据本公开的实施例,提供了一种能够快速传输数据并且使得传输过程稳定可靠的数据传输方法。在本公开的第一方面,提供了一种基于UDP传输协议的多级节点网络数据传输方法,包括:当前节点获取上级节点通过UDP协议发送的数据包,对所述数据包进行解析处理,生成原始应用数据;对所述原始应用数据的数据长度进行检测,响应于所述原始应用数据的数据长度大于预设数据包长度,以所述预设数据包长度为基准对所述原始应用数据进行切分,生成切分数据包;对所述切分数据包进行编号,并为所述切分数据包添加用于标识所述切分数据包类型的包头;向下级节点发送探测窗口数据包,响应于下级节点返回的剩余接收窗口的大小能够接收全部的切分数据包,通过UDP协议将全部的切分数据包添加至发送队列以发送至所述下级节点,其中,所述剩余接收窗口的大小为接收窗口大小减去接收队列大小的差值。在一些实施例中,上级节点以切分数据包的形式通过UDP协议向所述当前节点发送所述数据包,所述当前节点在接收到切分数据包后,向所述上级节点发送确认收到对应编号的切分数据包的信息。在一些实施例中,所述以所述预设数据包长度为基准对所述原始应用数据进行切分,生成切分数据包,包括:将所述原始应用数据进行切分n个切分数据包,其中n为所述原始应用数据的长度与所述预设数据包长度的商向上取整的值,并且前n-1个切分数据包的长度为预设数据包长度,最后一个切分数据包的长度小于等于所述预设数据包长度,n为大于0的自然数。在一些实施例中,所述对所述切分数据包进行编号,并为所述切分数据包添加用于标识所述切分数据包类型的包头,包括:对所述n个切分数据包进行倒序编号,第一个切分数据包的编号为n-1,后续切分数据包的编号依次递减1,并为每个切分数据包添加用于标识该数据包为内容数据的标签。在一些实施例中,所述发送队列中包含两种类型的切分数据包,一种是未发送的切分数据包,一种是已发送但未接收到下级节点发送的确认收到对应编号的切分数据包的信息的切分数据包,对于已发送但未接收到下级节点发送的确认收到对应编号的切分数据包的信息的切分数据包,当前节点在预设时间段内未接收到所述下级节点发送的确认对应编号切分数据包的信息时,将所述对应编号切分数据包重新发送至所述下级节点,和/或,对于一个目标编号切分数据包,当前节点在间隔预设数量的所述下级节点发送的确认对应编号切分数据包的信息时仍未接收到所述目标编号切分数据包对应的确认信息时,将所述目标编号切分数据包重新发送至所述下级节点,和/或,当当前节点接收所述下级节点发送的未接收到对应编号切分数据包的信息时,将所述对应编号切分数据包重新发送至所述下级节点。在一些实施例中,所述当前节点、所述上级节点和所述下级节点为多级节点网络中的相邻节点,所述多节节点网络由以下方式确定:根据节点的特性值间的距离值确定传输数据的节点的顺序,生成节点路径,其中,节点的特性值通过以下维度确定:节点数据包的可追踪性、节点的受控制程度、在节点中分析信息数据的难易程度,以及,人工对节点的可溯源性进行赋值。在一些实施例中,所述根据节点的特性值间的距离值确定传输数据的节点的顺序,包括:根据目标节点的标识确定与所述目标节点的特性值的距离值最大的节点,作为所述目标节点的前一跳节点;将与所述目标节点的前k跳的节点的特性值的距离值第二大的节点,作为所述目标的前k+1跳的节点;其中,k为大于1且小于等于s的自然数,s为节点的总数量。在一些实施例中,还包括:在所述切分数据包的包头中添加所述切分数据包的数据长度值。在本公开的第二方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。在本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。通过本公开的UDP传输协议的多级节点网络数据传输方法,能够快速传输数据并且使得传输过程稳定可靠。应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了本公开实施例一的基于UDP传输协议的多级节点网络数据传输方法的流程图;图2示出了本公开实施例二的基于UDP传输协议的多级节点网络数据传输方法的交互图;图3示出了本公开实施例三的基于UDP传输协议的多级节点网络数据传输方法的多级节点网络确定方法的流程图;图4示出了本公开实施例四的基于UDP传输协议的多级节点网络数据传输设备的结构示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。另外,本文中术语本文档来自技高网
...

【技术保护点】
1.一种基于UDP传输协议的多级节点网络数据传输方法,其特征在于,包括:/n当前节点获取上级节点通过UDP协议发送的数据包,对所述数据包进行解析处理,生成原始应用数据;/n对所述原始应用数据的数据长度进行检测,响应于所述原始应用数据的数据长度大于预设数据包长度,以所述预设数据包长度为基准对所述原始应用数据进行切分,生成切分数据包;/n对所述切分数据包进行编号,并为所述切分数据包添加用于标识所述切分数据包类型的包头;/n向下级节点发送探测窗口数据包,响应于下级节点返回的剩余接收窗口的大小能够接收全部的切分数据包,通过UDP协议将全部的切分数据包添加至发送队列以发送至所述下级节点,其中,所述剩余接收窗口的大小为接收窗口大小减去接收队列大小的差值。/n

【技术特征摘要】
1.一种基于UDP传输协议的多级节点网络数据传输方法,其特征在于,包括:
当前节点获取上级节点通过UDP协议发送的数据包,对所述数据包进行解析处理,生成原始应用数据;
对所述原始应用数据的数据长度进行检测,响应于所述原始应用数据的数据长度大于预设数据包长度,以所述预设数据包长度为基准对所述原始应用数据进行切分,生成切分数据包;
对所述切分数据包进行编号,并为所述切分数据包添加用于标识所述切分数据包类型的包头;
向下级节点发送探测窗口数据包,响应于下级节点返回的剩余接收窗口的大小能够接收全部的切分数据包,通过UDP协议将全部的切分数据包添加至发送队列以发送至所述下级节点,其中,所述剩余接收窗口的大小为接收窗口大小减去接收队列大小的差值。


2.根据权利要求1所述的基于UDP传输协议的多级节点网络数据传输方法,其特征在于,上级节点以切分数据包的形式通过UDP协议向所述当前节点发送所述数据包,所述当前节点在接收到切分数据包后,向所述上级节点发送确认收到对应编号的切分数据包的信息。


3.根据权利要求2所述的基于UDP传输协议的多级节点网络数据传输方法,其特征在于,所述以所述预设数据包长度为基准对所述原始应用数据进行切分,生成切分数据包,包括:
将所述原始应用数据进行切分n个切分数据包,其中n为所述原始应用数据的长度与所述预设数据包长度的商向上取整的值,并且前n-1个切分数据包的长度为预设数据包长度,最后一个切分数据包的长度小于等于所述预设数据包长度,n为大于0的自然数。


4.根据权利要求3所述的基于UDP传输协议的多级节点网络的数据传输方法,其特征在于,所述对所述切分数据包进行编号,并为所述切分数据包添加用于标识所述切分数据包类型的包头,包括:
对所述n个切分数据包进行倒序编号,第一个切分数据包的编号为n-1,后续切分数据包的编号依次递减1,并为每个切分数据包添加用于标识该数据包为内容数据的标签。


5.根据权利要求4所述的基于UDP传输协议的多级节点网络的数据传输方法,其特征在于,所述发送队列中包含两种类型的切分数据包,一种是未发送的切分数据包,一种是已发送但未接收到下级节点发送的确认收到对应编号的切分数据...

【专利技术属性】
技术研发人员:刘加瑞沈传宝郝伟吴璇
申请(专利权)人:北京华云安信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1