虚拟多链路的智能可靠的UDP传输方法、装置和设备与流程

文档序号:26758022发布日期:2021-09-25 04:49阅读:141来源:国知局
虚拟多链路的智能可靠的UDP传输方法、装置和设备与流程
虚拟多链路的智能可靠的udp传输方法、装置和设备
技术领域
1.本技术涉及网络数据传输及处理技术领域,尤其涉及一种基于overlay的多链路智能可靠的udp传输方法、传输控制装置和计算设备。


背景技术:

2.众所周知,在网络通信时,需依赖传输协议,udp是一种简单的无连接协议(也称透明协议),其属于无需接收确认和流量控制的协议。与传统tcp协议(通过字节码传输且每个字节逐个传输)相比,它不需要建立连接,具备数据通信速度高,系统开销小等优点。同时udp协议的缺点也是明显的,由于没有数据传输确认机制,而易丢包、乱序,其多应用于对可靠性要求不高,数据通信量较大、实时性要求高的场景,例如在局域网内,一般情况下数据的接收方均能接收到发送方的数据,除非连接双方的主机发生故障,否则不会发生接收不到数据的情况。
3.随着人们对数据通信速率和服务质量要求的提高,利用简单的udp进行通信已不再适应多变的需求。因此,如何在保留udp传输速率快的基础上,增加系统的可靠性成为亟待解决的问题。


技术实现要素:

4.本技术实施例提供虚拟多链路的智能可靠的udp传输方法、计算设备和存储介质,实现在udp传输速率快的基础上,增加系统的可靠性。
5.一种虚拟多链路的智能可靠的udp传输方法,包括:
6.接收步骤,接收发送端完整数据并发送至第一入网点;
7.数据多链路拆分步骤,虚拟链路管理器将所述完整数据按照预设规则进行拆分,生成多个数据包,所述多个数据包携带有索引标签,每个数据包对应发送到一个数据中转节点;
8.预测步骤,虚拟链路管理器根据预测模型预测当前数据中转节点的丢包概率,并当丢包概率达到重发标准时,使令对应数据包进行重发;
9.组装接收步骤,当接收入网点接收到所述各个数据包时,根据所述索引标签组装为完整数据后发送至接收端。
10.优选地,将所述完整数据按照预设规则进行拆分,包括:
11.获取各个数据中转节点的数据传输特征,所述数据传输特征至少包括:丢包率和带宽冗余值;
12.根据数据中转节点个数及所述数据传输特征确定线路权重;
13.按照线路权重对所述完整数据进行基于多链路的拆分。
14.优选地,本方法还包括:
15.训练预测模型,包括:
16.采集各个数据中转节点的历史数据,所述历史数据包括但不限于:发包量、往返时
间、带宽和丢包率;
17.利用机器学习算法,所述历史数据训练丢包概率预测模型;
18.通过对所述各个数据中转节点的真实丢包数据,对所述丢包概率预测模型进行优化。
19.优选地,当丢包概率达到重发标准时,使令对应数据包进行重发,包括:
20.如当前数据中转节点的丢包概率达到重发标准时,使令所述第一入网点针对该数据中转节点进行数据包重发,不等待超时提醒及ack信息。
21.优选地,所述各数据中转节点下可包含多个二级数据中转节点;
22.当各数据中转节点收到数据包时,通过循环所述数据多链路拆分步骤及预测步骤到达对应所述二级数据中转节点。
23.一种虚拟多链路的智能可靠的udp传输控制装置,包括:
24.接收单元,用于接收发送端完整数据并发送至第一入网点;
25.数据多链路拆分单元,用于将所述完整数据按照预设规则进行拆分,生成多个数据包,所述多个数据包携带有索引标签,每个数据包对应发送到一个数据中转节点;
26.预测单元,根据预测模型预测当前数据中转节点的丢包概率,并当丢包概率达到重发标准时,使令对应数据包进行重发;
27.组装接收单元,当接收入网点接收到所述各个数据包时,根据所述索引标签组装为完整数据后发送至接收端。
28.优选地,数据多链路拆分单元具体实现为:
29.获取各个数据中转节点的数据传输特征,所述数据传输特征至少包括:丢包率和带宽冗余值;
30.根据数据中转节点个数及所述数据传输特征确定线路权重;
31.按照线路权重对所述完整数据进行基于多链路的拆分。
32.优选地,该控制装置还包括:
33.预设模型训练单元,具体实现为:
34.采集各个数据中转节点的历史数据,所述历史数据包括但不限于:发包量、往返时间、带宽和丢包率;
35.利用机器学习算法,所述历史数据训练丢包概率预测模型;
36.通过对所述各个数据中转节点的真实丢包数据,对所述丢包概率预测模型进行优化。
37.优选地,所述预测单元,具体实现为:
38.如当前数据中转节点的丢包概率达到重发标准时,使令所述第一入网点针对该数据中转节点进行数据包重发,不等待超时提醒及ack信息。
39.一种计算设备,包括:
40.至少一个处理器;以及
41.与所述至少一个处理器通信连接的存储器;其中,
42.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上方法。
43.本发明的虚拟多链路的智能可靠的udp传输方法,基于overlay技术在传统的单链
路的udp传输基础上,虚拟出多条传输链路,并且通过实时采集多链路的中转节点的带宽及丢包率等因子,同时,通过机器学习算法预测丢包进行丢包重传,根据虚拟的链路权重拆分数据包并打上数据包标签索引,以此解决传输阻塞及乱序,以保证udp的可靠高速传输。
附图说明
44.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
45.图1为现有技术中的虚拟多链路的智能可靠的udp传输的场景示意图;
46.图2为本技术实施例中的虚拟多链路的智能可靠的udp传输方法的流程示意图;
47.图3为本技术实施例中的虚拟多链路的智能可靠的udp传输方法的流程示意图;
48.图4为本技术实施例中的虚拟多链路的智能可靠的udp传输方法的流程示意图;
49.图5为本技术实施例中的虚拟多链路的智能可靠的udp传输方法的流程示意图;
50.图6为本技术实施例中的虚拟多链路的智能可靠的udp传输控制装置的示意图;
51.图7为本技术实施例中的本技术实施例中的计算机可读介质的结构示意图;
52.图8为本技术实施例中的基于本技术实施方式的计算设备的结构示意图。
具体实施方式
53.本技术实施例中提供一种虚拟多链路的智能可靠的udp传输方法、计算设备和存储介质,实现在udp传输速率快的基础上,增加系统的可靠性。
54.现有的udp传输技术存在以下几个问题(引用文献链接https://blog.csdn.net/qq_40732350/article/details/90902396):
55.问题1:阻塞丢弃
56.在internet上,由于要经过多个路由器,正常情况下一个数据报文从主机c经过路由器a、路由器b、路由器c到达主机s。主机c使用函数sendto()发送数据,主机s使用recvfrom()函数接收数据。主机s在没有数据到来的时候,会一直阻塞等待,更具体地,如图中路由器a、b、c要对转发的数据进行存储、处理、合法性判定、转发等操作,由于数据量大,数据结构多变等原因而容易在以上操作过程中出现错误,如路由器b数据丢失的现象,如图所示。当udp的数据报文丢失的时候,函数recvfrom()会一直阻塞等待,直到数据到来。
57.表现在客户端与服务器之间的通信场景时,就体现为如果客户端发送的数据丢失,服务器会一直等待直到客户端合法数据到来;或者,服务器的响应在中间被路由器丢弃,则客户端会一直阻塞,直到服务器数据的到来。为了解决上述问题,可以设置超时时间来判断是否有数据到来。如果数据报文在经过路由器的时候,被路由器丢弃,则主机c和主机s会对超时的数据进行重发。发送端发出data数据包,需要等待超时则判断丢包重发,或者收到ack发现丢包,则重发丢失的data,整体传输效率较低。
58.问题2:udp报文的乱序
59.udp的数据包在网络上传输的时候,由于路由的不同和路由的存储转发的顺序不同造成的,有可能造成数据的顺序更改,如图所示。主机c发送的数据在经过路由器a和路由器c的时候,顺序均没有发生顺序更改。而在经过主机b的时候,数据的顺序由数据0123变为
了0312,这样主机c的数据0123顺序经过路由器到达主机s的时候变为了数据0312。
60.下面结合参照附图2对本技术实施例提供的虚拟多链路的智能可靠的udp传输方法作进一步说明,
61.s21:接收步骤,接收发送端完整数据并发送至第一入网点;
62.参考图3,pc

send端,当然也可以是其他发送端,发送data<1

7>,所述data<1

7>即为所述完整数据,发送到发送端出口边缘节点a,而所述边缘节点a即为第一入网点。
63.s22:数据多链路拆分步骤,边缘节点a中的虚拟链路管理器将所述完整数据按照预设规则进行拆分,生成多个数据包,所述多个数据包携带有索引标签,每个数据包对应发送到一个数据中转节点;
64.所述数据多链路拆分步骤可通过控制装置实现,所述中央控制台下发控制指令给边缘节点a,边缘节点a中的虚拟链路管理器根据中央控制台指令,将data<1

7>按照虚拟线路的权重拆分为三个包:data<1

2>、data<3

5>、data<6

7>,并打上数据包索引标签。
65.需要说明的是,为了明晰地讲解本发明实施过程,图2所示的数据包个数、格式、数据中转节点的排列和层级均作为示例在本发明中列举,而不应作为限制本发明范围的条件。
66.同时,所述数据包的索引标签的索引方式可根据数据包的特性、自命名、数据中转节点的分布结构进行有序命名和标记。并不局限于某种方式。而按照索引标签完成的结构对完整数据进行拆分和重组,保证了数据的准确顺序,防止乱序。
67.s23:预测步骤,虚拟链路管理器根据预测模型预测当前数据中转节点的丢包概率,并当丢包概率达到重发标准时,使令对数据包进行重发;
68.以data<1

2>在数据中转节点pop2是否丢包作为举例,(即计算出接收数据的pop2在该时间点丢包的概率),如预测出本次丢包概率高于95%(该比率作为示例,可根据实际情况调整),则直接重发data<1

2>。
69.更为具体地,
70.优选地,当丢包概率达到重发标准时,使令对应数据包进行重发,包括:
71.如当前数据中转节点的丢包概率达到重发标准时,使令所述第一入网点针对该数据中转节点进行数据包重发,不等待超时提醒及ack信息。即:边缘节点a直接重发data<1

2>,无需等待超时及ack信息,以保证高速传输。所述重发机制和预测算法的管理亦可集成于虚拟链路管理器进行统一调度。
72.需要说明的是,上述虚拟多链路的udp传输方法,可以优选地甚至特别适合基于overlay技术在传统的单链路的udp传输基础上,虚拟出多条传输链路。overlay技术是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其他网络业务分离。overlay网络是建立在已有网络上的虚拟网,逻辑节点和逻辑链路构成。
73.然而,更重要的是,本发明的步骤也可以基于其他可实现s21

s24步骤的技术及网络结构均是本发明保护的范围。并不因优选overlay技术而作为限制本发明的条件。
74.参考图4,所述预测模型可以通过如下方式进行训练,包括:
75.s41:采集各个数据中转节点的历史数据,所述历史数据包括但不限于:发包量、往返时间、带宽和丢包率;
76.s42:利用机器学习算法,所述历史数据训练丢包概率预测模型;
77.s43:通过对所述各个数据中转节点的真实丢包数据,对所述丢包概率预测模型进行优化。
78.s24:组装接收步骤,当接收入网点接收到所述各个数据包时,根据所述索引标签组装为完整数据后发送至接收端。
79.其他的数据包,按照s13的方式发送或者重发,直所有的数据包都到达最后的接收入网点边缘节点b(pc

rec端的ip出口设备);
80.需要说明的是,所述各数据中转节点下可包含多个二级数据中转节点;
81.当各数据中转节点收到数据包时,通过循环s12

s13使得数据包到达对应所述二级数据中转节点。
82.边缘节点b接收到所有的数据包(data<3

5>、data<6

7>),根据数据包索引将数据组装为完整的data<1

7>,即顺序完好的所述完整数据,发给pc

rec端。
83.所述接收入网点边缘节点b可设置所述虚拟链路管理器,以进行数据索引管理。
84.优选地,
85.参考图5,将所述完整数据按照预设规则进行拆分,包括:
86.s51:获取各个数据中转节点的数据传输特征,所述数据传输特征至少包括:丢包率和带宽冗余值;
87.s52:根据数据中转节点个数及所述数据传输特征确定线路权重;
88.s53:按照线路权重对所述完整数据进行基于多链路的拆分。
89.以上步骤对应的是所述数据多链路拆分步骤的一种多链路数据包拆分方式。
90.图6示出了一种虚拟多链路的智能可靠的udp传输控制装置,包括:
91.接收单元61,用于接收步骤,接收发送端完整数据并发送至第一入网点;
92.数据多链路拆分单元62,用于将所述完整数据按照预设规则进行拆分,生成多个数据包,所述多个数据包携带有索引标签,每个数据包对应发送到一个数据中转节点;
93.优选地,数据多链路拆分单元62具体实现为:
94.获取各个数据中转节点的数据传输特征,所述数据传输特征至少包括:丢包率和带宽冗余值;
95.根据数据中转节点个数及所述数据传输特征确定线路权重;
96.按照线路权重对所述完整数据进行基于多链路的拆分。
97.预测单元63,根据预测模型预测当前数据中转节点的丢包概率,并当丢包概率达到重发标准时,使令对应数据包进行重发;
98.优选地,所述预测单元63,具体实现为:
99.如当前数据中转节点的丢包概率达到重发标准时,使令所述第一入网点针对该数据中转节点进行数据包重发,不等待超时提醒及ack信息。
100.所述多链路拆分单元62、预测单元63可通过发出端的虚拟链路管理器实现。即:重发机制和预测算法的管理亦可集成于虚拟链路管理器进行统一调度。
101.组装接收单元64,当接收入网点接收到所述各个数据包时,根据所述索引标签组装为完整数据后发送至接收端。
102.对于接收端来说,组装接收单元64可设置虚拟链路管理器以进行数据索引管理。
103.从图6中还可看到该控制装置还包括:
104.预设模型训练单元65,具体实现为:
105.采集各个数据中转节点的历史数据,所述历史数据包括但不限于:发包量、往返时间、带宽和丢包率;
106.利用机器学习算法,所述历史数据训练丢包概率预测模型;
107.通过对所述各个数据中转节点的真实丢包数据,对所述丢包概率预测模型进行优化。
108.本发明的方法还可通过计算机可读介质71来实现,参考图7,存储有计算机可执行指令,即本发明方法所对应的程序指令,所述计算机可执行指令用于执行以上实施例所述的方法。
109.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
110.可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。
111.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
112.本发明还披露了一种计算设备,下面参照图8来描述根据本技术的这种实施方式的计算设备80。图8显示的计算设备80仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
113.如图8所示,计算设备80以通用计算设备的形式表现。计算设备80的组件可以包括但不限于:上述至少一个处理器81、上述至少一个存储器82、连接不同系统组件(包括存储器82和处理器81)的总线83。
114.总线83表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
115.存储器82可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)821和/或高速缓存存储器822,还可以进一步包括只读存储器(rom)823。
116.存储器82还可以包括具有一组(至少一个)程序模块824的程序/实用工具825,这样的程序模块824包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
117.计算设备80也可以与一个或多个外部设备84(例如键盘、指向设备等)通信,还可
与一个或者多个使得用户能与计算设备80交互的设备通信,和/或与使得该计算设备80能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口85进行。并且,计算设备80还可以通过网络适配器86与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器86通过总线83与用于计算设备80的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
118.综上所述:
119.本发明的虚拟多链路的智能可靠的udp传输方法,基于overlay技术在传统的单链路的udp传输基础上,虚拟出多条传输链路,并且通过实时采集多链路的中转节点的带宽及丢包率等因子,同时,通过机器学习算法预测丢包进行丢包重传,根据虚拟的链路权重拆分数据包打上数据包标签索引,以此解决传输阻塞及乱序,以保证udp的可靠高速传输。
120.在一些可能的实施方式中,本技术提供的虚拟多链路的智能可靠的udp传输方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的待验证信息的加密方法和/或待验证信息的验证方法中的步骤,例如,计算机设备可以执行如图1中所示的步骤s11

s14。
121.在一些可能的实施方式中,根据本技术的计算设备可以至少包括至少一个处理器、以及至少一个存储器(如前述的第一服务器)。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本技术各种示例性实施方式的系统权限开启方法中的步骤。
122.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
123.本技术的实施方式的用于系统权限开启的程序产品可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序代码,并可以在计算设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
124.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
125.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
126.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
127.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
128.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1