一种数据传输方法及电子设备技术

技术编号:27533435 阅读:36 留言:0更新日期:2021-03-03 11:15
本申请公开了一种数据传输方法及电子设备,方法应用于第一设备中基于生成的虚拟网卡所配置的VPN发送端,方法包括:在VPN发送端与VPN接收端之间的基于UDP协议的网络隧道被建立的情况下,获得第一设备中待发送的第一数据报文;其中,VPN接收端为第二设备中基于生成的虚拟网卡所配置的VPN接收端;在本地缓存队列中缓存第一数据报文并将第一数据报文通过第一传输通道向VPN接收端传输;在持续第一时长内没有接收到VPN接收端发送的第一数据报文对应的数据应答报文的情况下,在本地缓存队列中重新读取第一数据报文并将重新读取的第一数据报文同时通过第一传输通道和第二传输通道向VPN接收端传输。向VPN接收端传输。向VPN接收端传输。

【技术实现步骤摘要】
一种数据传输方法及电子设备


[0001]本申请涉及通信
,尤其涉及一种数据传输方法及电子设备。

技术介绍

[0002]在边缘计算的很多应用场景中需要服务器与终端间建立低时延、大带宽、高可靠的无线传输通道。例如高清视频上传、增强现实AR(Augmented Reality)应用中的终端姿态、视频和深度数据上传以及云渲染视频数据下发等。现有的实现一般使用wifi承载,其速率高,保证时延较低,但wifi连接的可靠性不高,时延波动大,移动性差,例如,当终端在wifi的连接点之间漫游时,会出现50-100ms的中断。
[0003]为了解决wifi传输可靠性的问题,目前通常采用将wifi与4G技术结合的多通道传输技术,即采用多路径传输控制协议MPTCP(MultiPath Transmission Control Protocol)协议在wifi和4G两个信道上分别建立传输控制协议TCP(Transmission Control Protocol)子连接,优先使用wifi的TCP子连接进行通信,当TCP的ACK(Acknowledge character)报文指示需要重传时,会在wifi和4G两个信道上同时重传,接收端实现去重和排序。但是,由于采用MPTCP协议需要操作系统及网络协议栈支持,而且使用TCP协议会带来TCP协议的一系列问题,无法保证实时视频等应用的低时延。
[0004]因此,亟需一种能够兼顾低时延和高可靠的数据传输方案。

技术实现思路

[0005]有鉴于此,本申请提供一种数据传输方法及电子设备,包括:
[0006]一种数据传输方法,应用于第一设备中基于生成的虚拟网卡所配置的VPN发送端,所述方法包括:
[0007]在所述VPN发送端与VPN接收端之间的基于UDP协议的网络隧道被建立的情况下,获得所述第一设备中待发送的第一数据报文;其中,所述VPN接收端为第二设备中基于生成的虚拟网卡所配置的VPN接收端;
[0008]在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输;
[0009]在持续第一时长内没有接收到所述VPN接收端发送的所述第一数据报文对应的数据应答报文的情况下,在所述本地缓存队列中重新读取所述第一数据报文并将重新读取的第一数据报文同时通过所述第一传输通道和第二传输通道向所述VPN接收端传输。
[0010]上述方法,优选的,所述VPN发送端和VPN接收端分别在所述网络隧道被建立之后开始计时;
[0011]其中,所述VPN接收端在其计时到达第二时长时将所述第二时长内所接收到的第一数据报文对应的数据应答报文通过所述第一传输通道进行传输,在所述VPN接收端传输所述数据应答报文之后所述VPN接收端重新开始计时。
[0012]上述方法,优选的,在所述网络隧道被建立之后,所述方法还包括:
[0013]分别通过所述第一传输通道和所述第二传输通道向所述VPN接收端发送心跳报文,以使得所述VPN发送端分别根据所述第一传输通道和所述第二传输通道各自返回的心跳应答报文获得通道状态;
[0014]其中,所述通道状态包括通道正常状态、通道挂起状态和隧道关闭状态。
[0015]上述方法,优选的,在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输之前,所述方法还包括:
[0016]判断所述第一传输通道是否处于通道挂起状态;
[0017]在所述第一传输通道处于通道挂起状态的情况下,将所述第一数据报文通过第二传输通道向所述VPN接收端传输;
[0018]在所述第一传输通道没有处于通道挂起状态的情况下,执行所述步骤:在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输。
[0019]上述方法,优选的,在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输之前,所述方法还包括:
[0020]为所述第一数据报文生成报文编号;
[0021]至少将所述报文编号封装到所述第一数据报文的报头中,所述报文编号用于所述VPN接收端对所述第一数据报文去重处理。
[0022]上述方法,优选的,所述报头为所述第一数据报文中的VPN报头,所述VPN报头中还包含有所述第一数据报文的报文类型;
[0023]其中,所述第一数据报文中还至少包含有UDP报头,所述UDP报头封装在所述VPN报头之前。
[0024]上述方法,优选的,第一时长至少根据所述第一设备与所述第二设备之间的最大允许时延和所述第二传输通道上的发送时延获得;
[0025]所述第二时长至少根据所述第一时长、所述第一传输通道上的发送时延和所述第二传输通道上的发送时延获得。
[0026]一种数据传输方法,应用于第二设备中基于生成的虚拟网卡所配置的VPN接收端,所述方法包括:
[0027]在所述VPN接收端与VPN发送端之间的基于UDP协议的网络隧道被建立的情况下,通过第一传输通道接收所述VPN发送端传输的第一数据报文,所述VPN发送端为第一设备中基于生成的虚拟网卡所配置的VPN发送端;
[0028]其中,所述第一数据报文为所述VPN发送端在所述第一设备中所获得的待发送的数据报文,且所述第一数据报文被所述VPN发送端缓存在所述第一设备的本地缓存队列中;
[0029]将所述第一数据报文对应的数据应答报文通过所述第一传输通道向所述VPN发送端进行传输,以使得所述VPN发送端在持续第一时长内没有接收到所述VPN接收端发送的所述第一数据报文对应的数据应答报文的情况下,在所述本地缓存队列中重新读取所述第一数据报文并将重新读取的第一数据报文同时通过所述第一传输通道和第二传输通道向所述VPN接收端传输。
[0030]一种电子设备,包括:
[0031]存储器,用于存储应用程序以及所述应用程序运行所产生的数据;
[0032]处理器,用于执行所述应用程序,以实现:基于生成的虚拟网卡配置VPN发送端,所述VPN发送端用于:
[0033]在所述VPN发送端与VPN接收端之间的基于UDP协议的网络隧道被建立的情况下,获得所述电子设备中待发送的第一数据报文;其中,所述VPN接收端为其他设备中基于生成的虚拟网卡所配置的VPN接收端;
[0034]在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输;
[0035]在持续第一时长内没有接收到所述VPN接收端发送的所述第一数据报文对应的数据应答报文的情况下,在所述本地缓存队列中重新读取所述第一数据报文并将重新读取的第一数据报文同时通过所述第一传输通道和第二传输通道向所述VPN接收端传输。
[0036]一种电子设备,包括:
[0037]存储器,用于存储应用程序以及所述应用程序运行所产生的数据;
[0038]处理器,用于执行所述应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,应用于第一设备中基于生成的虚拟网卡所配置的VPN发送端,所述方法包括:在所述VPN发送端与VPN接收端之间的基于UDP协议的网络隧道被建立的情况下,获得所述第一设备中待发送的第一数据报文;其中,所述VPN接收端为第二设备中基于生成的虚拟网卡所配置的VPN接收端;在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输;在持续第一时长内没有接收到所述VPN接收端发送的所述第一数据报文对应的数据应答报文的情况下,在所述本地缓存队列中重新读取所述第一数据报文并将重新读取的第一数据报文同时通过所述第一传输通道和第二传输通道向所述VPN接收端传输。2.根据权利要求1所述的方法,所述VPN发送端和VPN接收端分别在所述网络隧道被建立之后开始计时;其中,所述VPN接收端在其计时到达第二时长时将所述第二时长内所接收到的第一数据报文对应的数据应答报文通过所述第一传输通道进行传输,在所述VPN接收端传输所述数据应答报文之后所述VPN接收端重新开始计时。3.根据权利要求1所述的方法,在所述网络隧道被建立之后,所述方法还包括:分别通过所述第一传输通道和所述第二传输通道向所述VPN接收端发送心跳报文,以使得所述VPN发送端分别根据所述第一传输通道和所述第二传输通道各自返回的心跳应答报文获得通道状态;其中,所述通道状态包括通道正常状态、通道挂起状态和隧道关闭状态。4.根据权利要求1或3所述的方法,在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输之前,所述方法还包括:判断所述第一传输通道是否处于通道挂起状态;在所述第一传输通道处于通道挂起状态的情况下,将所述第一数据报文通过第二传输通道向所述VPN接收端传输;在所述第一传输通道没有处于通道挂起状态的情况下,执行所述步骤:在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输。5.根据权利要求1所述的方法,在本地缓存队列中缓存所述第一数据报文并将所述第一数据报文通过第一传输通道向所述VPN接收端传输之前,所述方法还包括:为所述第一数据报文生成报文编号;至少将所述报文编号封装到所述第一数据报文的报头中,所述报文编号用于所述VPN接收端对所述第一数据报文去重处理。6.根据权利要求5所述的方法,所述报头为所述第一数据报文中的VPN报头,所述VPN报头中还包含有所述第一数据报文的报文类型;其中,所述第一数据报文中还至少包含有UDP报头,所述UDP报头封装在所述VPN报头之前。7.根据权利要求2所述的方法,第一时长至少根据所述第一设备与所述第二设备之间的最大允许时延和所述第二传输通道上的发送时延获得;
所述第二时长至少根据所述第一时长、所述第一传输通道上的发送时延和所述第二传输...

【专利技术属性】
技术研发人员:江森汪海明
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

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

1