数据传输方法、装置、电子设备及存储介质
文献发布时间:2024-04-18 20:01:23
技术领域
本申请属于通信技术领域,具体涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
VPN(Virtual Private Network,虚拟专用网络)技术是目前实现在公有网络上搭建专用网络的主流方案,被各种组网设备诶广泛适用,此方案在实现过程中,通过在网关设备上将客户的内网数据包加密和封装成指定传输协议的数据包,然后将指定传输协议的数据包传输到目的网关设备,使得目的网关设备对该至指定传输协议的数据包进行解密和解封装,达到内网业务互相访问的目的。相关的数据传输方式,在对数据进行传输时,不能保证数据传输的连续性。
发明内容
鉴于上述问题,本申请提出了一种数据传输方法、装置、电子设备以及存储介质,以实现改善上述问题。
第一方面,本申请实施例提供了一种数据传输方法,所述方法包括:获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道;基于所述网络参数信息,从所述多条隧道中确定目标隧道;通过所述目标隧道传输业务数据。
进一步的,所述网络参数信息包括时延和丢包率;所述基于所述网络参数信息,从所述多条隧道中确定目标隧道,包括:根据每条隧道对应的时延和丢包率,确定每条隧道的网络质量信息;基于每条隧道的网络质量信息,从所述多条隧道中确定目标隧道。通过上述方法,始终将网络质量最好的隧道作为进行业务数据传输的目标隧道,从而可以保证业务数据传输的连续性。
进一步的,所述通过所述目标隧道传输业务数据之后还包括:获取所述目标隧道的网络参数信息;若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。通过上述方法,能够在因为公网网络质量劣化导致隧道质量劣化的情况下,实现目标隧道的自动切换,快速恢复业务数据传输,保证了业务数据传输的连续性。
进一步的,所述网络参数信息包括时延;所述若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道,包括:若所述目标隧道的时延超过预设时延,和/或所述目标隧道的时延超过所述预设时延的次数大于预设次数,确定所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。通过上述方法,能够实现目标隧道的自动切换,快速恢复业务数据传输,保证了业务数据传输的连续性。
进一步的,所述网络参数信息包括丢包率;所述若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道,包括:若所述目标隧道的丢包率超过预设丢包率,和/或所述目标隧道的丢包率超过所述预设丢包率的次数大于预设次数,确定所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。通过上述方法,能够实现目标隧道的自动切换,快速恢复业务数据传输,保证了业务数据传输的连续性。
进一步的,获取所述目标隧道的网络质量信息,所述网络质量信息是通过所述目标隧道的网络参数信息确定的;若所述目标隧道的网络质量信息满足第二预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。通过上述方法,能够实现目标隧道的自动切换,快速恢复业务数据传输,保证了业务数据传输的连续性。
进一步的,所述将所述目标隧道切换为所述多条隧道中的其他隧道,包括:若所述目标隧道的网络参数信息满足预设条件,获取所述多条隧道各自对应的网络质量信息;将所述目标隧道切换为所述多条隧道中,对应的网络质量信息满足第三预设条件的隧道。通过上述方法,始终将网络质量最好的隧道作为进行业务数据传输的目标隧道,从而可以保证业务数据传输的连续性。
第二方面,本申请实施例提供了一种数据传输装置,所述装置包括:信息获取单元,用于获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道;隧道确定单元,用于基于所述网络参数信息,从所述多条隧道中确定目标隧道;数据传输单元,用于通过所述目标隧道传输业务数据。
第三方面,本申请实施例提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
本申请实施例提供了一种数据传输方法、装置、电子设备及存储介质。获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道,然后基于网络参数信息,从多条隧道中确定目标隧道,从而通过目标隧道传输业务数据。通过上述方法,在同一条物理链路上建立多条隧道,从而使得在需要进行业务数据传输时,可以通过多条隧道中质量最优的隧道来传输业务数据,以保证业务数据传输的连续性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提出的一种数据传输方法的流程图;
图2示出了本申请另一实施例提出的一种数据传输方法的流程图;
图3示出了本申请再一实施例提出的一种数据传输方法的流程图;
图4示出了本申请实施例提出的一种数据传输装置的结构框图;
图5示出了本申请实施例提出的一种数据传输装置的结构框图;
图6示出了本申请实施例中的用于执行根据本申请实施例的数据传输方法的电子设备的结构框图;
图7示出了本申请实施例中的用于保存或者携带实现根据本申请实施例的数据传输方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
VPN(Virtual Private Network,虚拟专用网络)技术是目前实现在公有网络上搭建专用网络的主流方案,被各种组网设备诶广泛适用,此方案在实现过程中,通过在网关设备上将客户的内网数据包加密和封装成指定传输协议的数据包,然后将指定传输协议的数据包传输到目的网关设备,使得目的网关设备对该至指定传输协议的数据包进行解密和解封装,达到内网业务互相访问的目的。
发明人在对相关的数据传输方法的研究中发现,在上述方法中,如果网关设备的互联网出口为单一物理出口时,此方案目前只能实现隧道协商陈恭候一直用指定的传输协议发送封装后的数据包,如果传输过程中,指定的传输协议网络质量劣化,客户的业务直接受影响,只能够被动等网络回复后客户的业务才能恢复正常。
因此,发明人提出了本申请中的数据传输方法、装置、电子设备及存储介质。获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道,然后基于网络参数信息,从多条隧道中确定目标隧道,从而通过目标隧道传输业务数据。通过上述方法,在同一条物理链路上建立多条隧道,从而使得在需要进行业务数据传输时,可以通过多条隧道中质量最优的隧道来传输业务数据,以保证业务数据传输的连续性。
下面将结合附图具体描述本申请的各实施例。
请参阅图1,本申请实施例提供的一种数据传输方法,应用于电子设备,所述方法包括:
步骤S110:获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道。
在本申请实施例中,所述多条隧道为基于不同传输协议建立的隧道,所述传输协议包括TCP传输协议、UDP传输协议以及ESP传输协议中的一种。
其中,TCP(Transmission Control Protocol)传输协议是一种传输控制协议,是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。UDP(User Datagram Protocol)传输协议称为用户数据报协议,为应用程序提供了一种无需建立连接就可以发送封装IP数据包的方法。ESP(封装安全载荷)传输协议是IPSec的一种协议,定义在RFC2406中,用于为IP提供保密性和抗重播服务,包括数据包内容的保密性和有限的流量保密性。
在基于不同传输协议建立隧道时,基于一种传输协议建立一条隧道。在本申请实施例中,传输协议可以为前述的三种传输协议中的任意一种,也可以为其他私用的网络传输协议,在此不做具体限定。
在本申请实施例中,隧道为虚拟VPN(Virtual Private Network,虚拟专用网络)隧道。其中,虚拟专用网络的功能是在公用网络上建立专用网络,进行加密通讯。
物理链路指的是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
作为一种方式,基于不同的数据传输协议在一条物理链路上建立多条虚拟链路,其中,一条虚拟链路对应一种数据传输协议。
可选的,本申请实施例中的网络参数信息指的是实时获取到的多条隧道各自对应的网络参数信息。此时获取的网络参数信息指的是还未进行数据传输时的网络参数信息。
当检测到多条隧道被建立后,自动发送探测包来实时统计多条隧道的网络参数信息。其中,隧道建立成功后,每种传输协议的隧道都会定时发送探测包并记录探测包的网络质量,即获取每条隧道对应的网络参数信息。
步骤S120:基于所述网络参数信息,从所述多条隧道中确定目标隧道。
在本申请实施例中,在获取到多条隧道中每条隧道对应的网络参数信息后,可以根据每条隧道对延那个的网络参数信息,从多条隧道中确定目标隧道。其中,目标隧道为从多条隧道中确定的网络质量最好的隧道,目标隧道为从多条隧道中确定的用于进行数据传输的隧道。
作为一种方式,在基于网络参数信息,从多条隧道中确定目标隧道时,可以将多条隧道各自对应的网络参数信息按照从小到大的顺序进行排序,从而可以根据排序后的多个网络参数信息,从多条隧道中确定目标隧道。
其中,网络参数信息可以包括一种或多种。在网络参数信息为一种的情况下,可以直接按照网络参数信息的从小到大的顺序,将多条隧道进行排序,从而将排序后的多条隧道中排列在前指定位置的隧道确定为目标隧道。其中,前指定位置为预先设置的目标隧道排序的位置。
在网络参数信息为多种的情况下,可以对每条隧道对应的多种网络参数信息进行加权计算,得到每条隧道对应的总网络参数信息,进而可以根据每条隧道对应的总网络参数信息的从小到大的顺序,将多条隧道进行排序,从而将排序后的多条隧道中排列在前指定位置的隧道确定为目标隧道。其中,前指定位置为预先设置的目标隧道排序的位置。
步骤S130:通过所述目标隧道传输业务数据。
在本申请实施例中,在确定了目标隧道后,可以通过目标隧道传输业务数据。其中,业务数据可以为交互类业务数据,比如交互类应用数据等。当然,业务数据也可以为其他类型的业务数据,在此不做具体限定。
在业务数据为交互类业务数据的情况下,业务数据可以为指定应用程序产生的待传输的应用数据。其中,指定应用程序可以为可以进行交互的应用程序,比如聊天类应用程序等。
本申请提供的一种数据传输方法,获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道,然后基于网络参数信息,从多条隧道中确定目标隧道,从而通过目标隧道传输业务数据。通过上述方法,在同一条物理链路上建立多条隧道,从而使得在需要进行业务数据传输时,可以通过多条隧道中质量最优的隧道来传输业务数据,以保证业务数据传输的连续性。
请参阅图2,本申请实施例提供的一种数据传输方法,应用于电子设备,所述方法包括:
步骤S210:获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道。
步骤S220:基于所述网络参数信息,从所述多条隧道中确定目标隧道。
作为一种方式,所述网络参数信息包括时延和丢包率;所述基于所述网络参数信息,从所述多条隧道中确定目标隧道,包括:根据每条隧道对应的时延和丢包率,确定每条隧道的网络质量信息;基于每条隧道的网络质量信息,从所述多条隧道中确定目标隧道,其中,网络质量信息越高,对应的隧道作为目标隧道的可能性越低。
其中,时延(Round-Trip Time,RTT)是评价隧道的网络质量的一个重要的性能指标,它表示从发送方发送探测包开始,到发送方收到来自接收方的确认,总共经历的时延。丢包率(Loss Tolerance或Packet Loss Rate)是指测试中所丢失探测包数量占所发送探测组的比率。网络质量信息用于表征隧道的网络质量好坏,网络质量信息的值越大,表征隧道的网络质量越坏;反之,网络质量信息的值越小,表征隧道的网络质量越好。
在网络参数信息包括时延和丢包率的情况下,在获取到每条隧道对应的时延和丢包率后,可以基于每条隧道对应的时延和丢包率,确定每条隧道的网络质量信息。其中,可以预先为时延和丢包率设置对应的权重,进而在基于每条隧道对应的时延和丢包率,确定每条隧道的网络质量信息时,可以基于预先设置的权重以及每条隧道对应的时延和丢包率进行加权求和计算,计算得到每条隧道对应的网络质量信息。示例性的,预先为时延和丢包率设置对应的权重分别为0.7和0.3。若隧道1的时延为时延1,丢包率为丢包率1,此时隧道1的网络质量信息=0.7*时延1+0.3*丢包率1。
作为另一种方式,网络参数信息包括时延或丢包率;基于所述网络参数信息,从所述多条隧道中确定目标隧道,包括:根据每条隧道对应的时延或丢包率,确定每条隧道的网络质量信息;基于每条隧道的网络质量信息,从所述多条隧道中确定目标隧道,其中,网络质量信息越高,对应的隧道作为目标隧道的可能性越低。
在网络参数信息包括时延或丢包率的情况下,在获取到每条隧道对应的时延或丢包率后,可以基于每条隧道对应的时延或丢包率,确定每条隧道的网络质量信息。其中,可以预先为时延和丢包率设置对应的权重,进而在基于每条隧道对应的时延或丢包率,确定每条隧道的网络质量信息时,可以基于预先设置的权重以及每条隧道对应的时延或丢包率进行加权求和计算,计算得到每条隧道对应的网络质量信息。示例性的,预先为时延和丢包率设置对应的权重分别为0.7和0.3。若隧道1的网络参数信息只包括时延,隧道2的网络参数只包括丢包率,那么,在计算隧道1的网络质量信息时,隧道1的网络质量信息=0.7*时延,隧道2的网络质量信息=0.3*丢包率。
在通过前述方式计算得到每条隧道的网络质量信息后,可以将多条隧道按照对应的网络质量信息从小到大的顺序,对多条隧道进行排序,得到排序后的多条隧道,从而将排序在最前位置的隧道确定为目标隧道。
进一步,可选的,所述方法还包括:若需要对目标隧道进行切换,则基于每条隧道的网络质量信息,将所述目标隧道切换为所述多条隧道中的其他隧道。
其中,是否需要对目标隧道进行切换可以由人为触发,也可以在探测周期内自动触发。在探测周期内自动触发指的是每隔预设时间进行目标隧道切换;人为触发指的是响应于其他电子设备发送的切换指令进行目标隧道切换。
当确定需要对目标隧道进行切换时,可以基于实时统计的多条隧道各自的网络质量信息,来将目标隧道切换为多条隧道中的其他隧道。其中,在进行目标隧道切换时,可以将目标隧道切换为多条隧道中,对应的网络质量信息满足预设值的隧道或者指定隧道,在此不做具体限定。
步骤S230:通过所述目标隧道传输业务数据。
步骤S240:获取所述目标隧道的网络参数信息。
在本申请实施例中,在通过目标隧道传输业务数据的过程中,也可以实时探测多条隧道的网络质量,从而可以根据多条隧道的网络质量来确定是否需要对目标隧道进行切换。
在通过目标隧道传输业务数据的过程中,每条隧道也会定时发送探测包来确定每条隧道的网络参数信息。
步骤S250:若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
在本申请实施例中,第一预设条件为预先设置用于触发进行目标隧道进行切换的条件,比如第一预设条件可以设置为在一个探测周期内,目标隧道的网络参数信息超过预设参数,且超过预设参数的次数大于预设次数。
作为一种方式,所述网络参数信息包括时延;所述若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道,包括:若所述目标隧道的时延超过预设时延,和/或所述目标隧道的时延超过所述预设时延的次数大于预设次数,确定所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
在网络参数信息为时延的情况下,当检测到在一个探测周期内,目标隧道的时延超过预设时延,且超过预设时延的次数超过预设次数,则认为当前的目标隧道已经劣化,则确定需要对目标隧道进行切换。其中,预设时延为预先设置的表征隧道的网络质量较差时的时延,预设次数为预先设置的需要对目标隧道进行切换时,时延超过预设时延的次数。在本申请实施例中,预设次数可以设置为3次。
可选的,在网络参数信息为时延的情况下,当检测到在一个探测周期内,目标隧道的时延超过预设时延,或超过预设时延的次数超过预设次数,则认为当前的目标隧道已经劣化,则确定需要对目标隧道进行切换。
当然,由于本申请实施例中的多条隧道是基于不同的传输协议建立的,进而每种传输协议的隧道对应的预设时延和预设次数可以设置得不同。
作为另一种方式,所述网络参数信息包括丢包率;所述若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道,包括:若所述目标隧道的丢包率超过预设丢包率,和/或所述目标隧道的丢包率超过所述预设丢包率的次数大于预设次数,确定所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
在网络参数信息为丢包率的情况下,当检测到在一个探测周期内,目标隧道的丢包率超过预设丢包率,且超过预设丢包率的次数超过预设次数时,则认为当前的目标隧道已经劣化,则确定需要对目标隧道进行切换。其中,预设丢包率为预先设置的表征隧道的网络质量较差时的丢包率,预设次数为预先设置的需要对目标隧道进行切换时,丢包率超过预设丢包率的次数。在本申请实施例中,预设次数可以设置为3次。
可选的,在网络参数信息为丢包率的情况下,当检测到在一个探测周期内,目标隧道的丢包率超过预设丢包率,或超过预设丢包率的次数超过预设次数时,则认为当前的目标隧道已经劣化,则确定需要对目标隧道进行切换。
当然,由于本申请实施例中的多条隧道是基于不同的传输协议建立的,进而每种传输协议的隧道对应的预设丢包率和预设次数可以设置得不同。
可选的,所述网络参数信息包括时延和丢包率;所述若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道,包括:若所述目标隧道的时延超过预设时延、所述目标隧道的丢包率超过预设丢包率,且所述目标隧道的时延超过预设时延的次数和所述目标隧道的丢包率超过预设丢包率的次数均超过预设次数,确定所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
当网络参数信息包括时延和丢包率时,在一个探测周期内,必须满足目标隧道的时延超过预设时延的次数超过预设次数,且目标隧道的丢包率超过预设丢包率的次数超过预设次数,则认为当前的目标隧道已经劣化,确定需要对目标隧道进行切换。
可选的,在网络参数信息包括时延和丢包率的情况下,可以在检测到目标隧道的时延或丢包率中,是否单项指标超过配置的对应阈值,且累计超过预设次数,则认为目标隧道劣化,需要对目标隧道进行切换。其中,累计超过预设次数可以指的是时延超过预设时延的次数超过预设次数,或者,丢包率超过预设丢包率的次数超过预设次数,或者,时延超过预设时延的次数和丢包率超过预设丢包率的次数超过预设次数,在此不做具体限定。
可选的,所述方法还包括:获取所述目标隧道的网络质量信息,所述网络质量信息是通过所述目标隧道的网络参数信息确定的;若所述目标隧道的网络质量信息满足第二预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
其中,第二预设条件为预先设置的用于触发进行目标隧道切换的条件,比如,第二预设条件可以设置为目标隧道的网络质量信息为预设网络质量信息。其中,预设网络质量信息为预先设置的表征目标隧道已经处于劣化状态的网络质量信息。
本申请提供的一种数据传输方法,首先获取多条隧道各自对应的网络参数信息,基于网络参数信息,从多条隧道中确定目标隧道,然后通过目标隧道传输业务数据,获取目标隧道的网络参数信息,若目标隧道的网络参数信息满足预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。通过上述方法,能够在因为公网网络质量劣化导致隧道质量劣化的情况下,实现目标隧道的自动切换,快速恢复业务数据传输,保证了业务数据传输的连续性。
请参阅图3,本申请实施例提供的一种数据传输方法,应用于电子设备,所述方法包括:
步骤S310:获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道。
步骤S320:基于所述网络参数信息,从所述多条隧道中确定目标隧道。
步骤S330:通过所述目标隧道传输业务数据。
步骤S340:获取所述目标隧道的网络参数信息。
步骤S350:若所述目标隧道的网络参数信息满足预设条件,获取所述多条隧道各自对应的网络质量信息。
在本申请实施例中,当目标隧道的网络参数信息满足预设条件时,可以确定目标隧道已经劣化,需要对目标隧道进行切换,此时可以获取多条隧道各自对应的网络质量信息。其中,多条隧道各自对应的网络质量信息可以基于此时多条隧道各自对应的网络参数信息进行确定。
步骤S360:将所述目标隧道切换为所述多条隧道中,对应的网络质量信息满足第三预设条件的隧道。
在本申请实施例中,第三预设条件为预先设置的确定切换隧道的条件,比如,第三预设条件可以设置为隧道的网络质量信息为预设值,预设值为预先设置的表征网络质量较好的值。比如,预设值可以为设置为多条隧道中的最低网络质量信息。此时,在获取到多条隧道各自对应的网络质量信息后,可以按照多条隧道各自对应的网络质量信息从小到大或从大到小的顺序对多条隧道进行排序,得到排序后的多条隧道,从而可以将排序后的多条隧道中,排在最前的隧道或排在最后的隧道作为切换后的目标隧道。即将目标隧道切换为排在最前的隧道,或者,将目标隧道切换为排在最后的隧道。
其中,若排在最前的隧道或排在最后的隧道就是当前的目标隧道,则不对目标隧道进行切换,继续保持通过目标隧道传输业务数据;若排在最前的隧道或排在最后的隧道不是当前的目标隧道,则对目标隧道进行切换。
即,在确定目标隧道已经劣化时,再继续判断在剩余的隧道中是否存在比目标隧道的网络质量更优的隧道,如果存在网络质量更优的隧道,则触发进行目标隧道切换,如果不存在,则继续保持通过目标隧道传输业务数据,下一次探测周期再继续重复判断,达到协议自适应修复客户网络质量不佳的问题。
可选的,本申请实施例中的电子设备可以为网关设备,比如防火墙、SD-WAN(Software-Defined Wide Area Network,软件定义广域网)等。电子设备可以包括3个模块,3个模块分别为隧道协商模块、隧道探测模块以及隧道切换模块。
其中,隧道协商模块用于实现多条隧道的协商;隧道协商模块在VPN网关模块配置好配置后,主动建立多条隧道,多条隧道对应的传输协议分别为TCP/UDP/ESP,隧道建立成功后默认设置UDP隧道为主传输隧道。
隧道探测模块用于实现多条隧道的网络传输质量的探测,即执行步骤S310、S320、S340以及S350。
隧道切换模块实现针对网络传输质量和客户设置的切换阈值动态调整客户的传输业务走向;隧道切换模块结合隧道探测的网络质量数据和客户配置的丢包率、时延的切换阈值做出是否把客户业务切换到更优隧道上的判断。首先判断当前正在跑的业务的隧道的丢包或者延时是否单项指标超过配置的对应阈值,且累计超过三次,则认为当前隧道已经劣化,再继续判断是否在剩余两条隧道里面是否存在比当前隧道质量更优隧道,如果存在质量更优隧道,则触发客户业务的传输隧道的切换,如果不存在,则继续保持之前的传输隧道传输业务,下一次判断周期再继续重复判断,达到协议自适应修复客户网络质量不佳的问题。即执行步骤S360。
本申请提供的一种数据传输方法,首先获取多条隧道各自对应的网络参数信息,基于网络参数信息,从多条隧道中确定目标隧道,通过目标隧道传输业务数据,然后获取目标隧道的网络参数信息,若目标隧道的网络参数信息满足预设条件,获取多条隧道各自对应的网络质量信息,将目标隧道切换为多条隧道中,对应的网络质量信息最低的隧道。通过上述方法,能够在因为公网网络质量劣化导致隧道质量劣化的情况下,实现目标隧道的自动切换,快速恢复业务数据传输,保证了业务数据传输的连续性。
请参阅图4,本申请实施例提供的一种数据传输装置400,所述装置400包括:
信息获取单元410,用于获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道。
其中,所述多条隧道为基于不同传输协议建立的隧道,所述传输协议包括TCP传输协议、UDP传输协议以及ESP传输协议中的一种。
隧道确定单元420,用于基于所述网络参数信息,从所述多条隧道中确定目标隧道。
作为一种方式,所述网络参数信息包括时延和丢包率;隧道确定单元420具体用于根据每条隧道对应的时延和丢包率,确定每条隧道的网络质量信息;基于每条隧道的网络质量信息,从所述多条隧道中确定目标隧道。
数据传输单元430,用于通过所述目标隧道传输业务数据。
请参阅图5,所述装置400还包括:
隧道切换单元440,用于获取所述目标隧道的网络参数信息;若所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
作为一种方式,所述网络参数信息包括时延;隧道切换单元440具体用于若所述目标隧道的时延超过预设时延,和/或所述目标隧道的时延超过所述预设时延的次数大于预设次数,确定所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
作为另一种方式,所述网络参数信息包括丢包率;隧道切换单元440具体用于若所述目标隧道的丢包率超过预设丢包率,和/或所述目标隧道的丢包率超过所述预设丢包率的次数大于预设次数,确定所述目标隧道的网络参数信息满足第一预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
可选的,隧道切换单元440具体用于获取所述目标隧道的网络质量信息,所述网络质量信息是通过所述目标隧道的网络参数信息确定的;若所述目标隧道的网络质量信息满足第二预设条件,将所述目标隧道切换为所述多条隧道中的其他隧道。
可选的,隧道切换单元440还具体用于若所述目标隧道的网络参数信息满足预设条件,获取所述多条隧道各自对应的网络质量信息;将所述目标隧道切换为所述多条隧道中,对应的网络质量信息满足第三预设条件的隧道。
需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
下面将结合图6对本申请提供的一种电子设备进行说明。
请参阅图6,基于上述的数据传输方法、装置,本申请实施例还提供的另一种可以执行前述数据传输方法的电子设备800。电子设备800包括相互耦合的一个或多个(图中仅示出一个)处理器802、存储器804、图像处理器806、摄像头807以及网络模块806。其中,该存储器804中存储有可以执行前述实施例中内容的程序,而处理器802可以执行该存储器804中存储的程序。
其中,处理器802可以包括一个或者多个处理核。处理器802利用各种接口和线路连接整个电子设备800内的各个部分,通过运行或执行存储在存储器804内的指令、程序、代码集或指令集,以及调用存储在存储器804内的数据,执行电子设备800的各种功能和处理数据。可选地,处理器802可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器802可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器802中,单独通过一块通信芯片进行实现。
存储器804可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器804可用于存储指令、程序、代码、代码集或指令集。存储器804可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端800在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述网络模块806用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和电子设备进行通讯。所述网络模块806可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述网络模块806可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块806可以与基站进行信息交互。
请参考图7,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质900包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
本申请提供的一种数据传输方法、装置、电子设备以及存储介质,获取多条隧道各自对应的网络参数信息,其中,所述多条隧道为在同一条物理链路上建立的多条隧道,然后基于网络参数信息,从多条隧道中确定目标隧道,从而通过目标隧道传输业务数据。通过上述方法,在同一条物理链路上建立多条隧道,从而使得在需要进行业务数据传输时,可以通过多条隧道中质量最优的隧道来传输业务数据,以保证业务数据传输的连续性。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
- 一种基于新型含氟聚合物复合材料制备及其在航天航空电缆的运用
- 含氟聚合物-含氟有机聚硅氧烷复合材料、其制备方法、其用途以及用于该制备方法的前体组合物
- 含氟聚合物‑含氟有机聚硅氧烷复合材料、其制备方法、其用途以及用于该制备方法的前体组合物