CN117395715A - 多链路数据传输方法、装置、设备、存储介质以及产品 - Google Patents
多链路数据传输方法、装置、设备、存储介质以及产品 Download PDFInfo
- Publication number
- CN117395715A CN117395715A CN202311599126.0A CN202311599126A CN117395715A CN 117395715 A CN117395715 A CN 117395715A CN 202311599126 A CN202311599126 A CN 202311599126A CN 117395715 A CN117395715 A CN 117395715A
- Authority
- CN
- China
- Prior art keywords
- link
- data transmission
- auxiliary
- data
- condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000001514 detection method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000004080 punching Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 22
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000011084 recovery Methods 0.000 description 13
- 230000009977 dual effect Effects 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种多链路数据传输方法、装置、设备、存储介质以及产品,该方法包括:建立用于与第二链路端进行数据传输的主链路和副链路;根据网络指标确定副链路的数据传输类型,通过副链路发送包含数据传输类型的副链路启用信息至第二链路端;在本地启用副链路,以接收第二链路端通过所述副链路发送的数据。本方案通过合理的链路切换机制,在保证数据传输连续性的同时,解决了相关技术中多链路传输采用多个链路同时发送以及接收相同的数据,导致用户流量损耗过大,造成设备不必要的功耗的问题,实现了在弱网环境下的双链路通讯,保证了用户的通话体验。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种多链路数据传输方法、装置、设备、存储介质以及产品。
背景技术
随着网络通信技术的发展,由于不同地区的网络基础设备的差异,部分地区的无线网络容易出现高延迟和高丢包的问题,对于实时性要求较高的实时通讯场景,例如音视频通话,会造成糟糕的用户体验。由此,相关技术中采用多链路传输的方式来充分利用用户设备上的多个网络资源同时进行数据传输,即多个链路同时进行数据传输,因此当某个网络出现问题时,由于其它链路依然在进行数据传输进而实现不间断的通话。例如无线wifi网络与蜂窝网络同时进行数据传输,当wifi网络不可用时,由于蜂窝网络在同步进行数据传输,故能够实现连续的不间断的数据传输,由此来避免因单一网络问题导致通话中断或者卡顿,提升用户通话的可用性和流畅性。
然而,上述的多链路数据传输方案中,在进行数据传输时,采用多个链路同时发送以及接收相同的数据,导致传输流量损耗过大,而现有其它的多链路传输方案,无法保证传输的连续性,需要改进。
发明内容
本申请实施例提供了一种多链路数据传输方法、装置、设备、存储介质以及产品,通过合理的链路切换机制,在保证数据传输连续性的同时,解决了相关技术中多链路传输采用多个链路同时发送以及接收相同的数据,导致用户流量损耗过大,造成设备不必要的功耗的问题,实现了在弱网环境下的双链路通讯,保证了用户的通话体验。
第一方面,本申请实施例提供了一种多链路数据传输方法,应用于第一链路端,该方法包括:
建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态;
在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送,所述网络指标通过所述主链路进行数据接收时确定;
在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
第二方面,本申请实施例还提供了一种多链路数据传输装置,该多链路数据传输装置包括:
链路连接模块,配置为建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态;
链路调整模块,配置为在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送,所述网络指标通过所述主链路进行数据接收时确定;
链路启用模块,配置为在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
第三方面,本申请实施例还提供了一种多链路数据传输设备,该设备包括:
一个或多个处理器;
存储装置,配置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所述的多链路数据传输方法。
第四方面,本申请实施例还提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行本申请实施例所述的多链路数据传输方法。
第五方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行本申请实施例所述的多链路数据传输方法。
本申请实施例中,通过建立用于与第二链路端进行数据传输的主链路和副链路,链接建立后,通过主链路与第二链路端进行数据传输,控制副链路处于保活连接状态,在检测到网络指标满足副链路启用条件的情况下,根据网络指标确定副链路的数据传输类型,通过副链路发送包含数据传输类型的副链路启用信息至第二链路端,用于第二链路端开启副链路,以通过副链路进行对应数据传输类型的数据的发送,其中,网络指标通过主链路进行数据接收时确定,同时,在本地启用副链路,以接收第二链路端通过所述副链路发送的数据。上述方案中,通过建立双链路的通信连接,通过检测网络指标,网络指标满足副链路启用条件的情况下,并进行合理的链路启用以及数据传输,在保证数据传输连续性的同时,解决了相关技术中多链路传输采用多个链路同时发送以及接收相同的数据,导致用户流量损耗过大,造成设备不必要的功耗的问题,实现了在弱网环境下的双链路通讯,保证了用户的通话体验。
附图说明
图1为本申请实施例提供的一种多链路数据传输方法的流程图;
图2为本申请实施例提供的一种根据网络指标确定副链路的数据传输类型的方法的流程图;
图3为本申请实施例提供的一种包含链路建立过程的多链路数据传输方法的流程图;
图4为本申请实施例提供的另一种多链路数据传输方法的流程图;
图5为本申请实施例提供的另一种多链路数据传输方法的流程图;
图6为本申请实施例提供的一种多链路数据传输装置的结构框图;
图7为本申请实施例提供的一种多链路数据传输设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供的多链路数据传输方法,可以应用于多端多链路的数据通信场景,例如对于实时性要求高的多端的流媒体通信场景,多链路可以是wifi网络链路、蜂窝网络链路等,具体的应用场景可以是音视频通话、在线直播以及在线会议等,以音视频通话为示例,在用户设备支持wifi无线网卡和4G/5G网卡的情况下,用户设备可以通过以wifi网络链路以及蜂窝网络链路为主链路和副链路的方式进行数据传输。前述罗列的几种应用场景仅是示例性和解释性的,在实际应用中,还可以在其他场景下的数据传输中用到该多链路数据传输方法,本申请实施例对此不作限定。
本申请实施例提供的多链路数据传输方法,各步骤的执行主体可以是计算机设备,该计算机设备是指任何具备数据计算、处理和存储能力的电子设备,如手机、PC(Personal Computer,个人计算机)、平板电脑等终端设备,也可以是服务器等设备,本申请实施例对此不作限定。
图1为本申请实施例提供的一种多链路数据传输方法的流程图,该数据传输方法应用于第一链路端,包括如下步骤:
步骤S101、建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态。
其中,第一链路端和第二链路端分别指代不同的可进行数据传输的设备端,例如第一链路端为客户端,第二链路端为服务器;或者,第一链路端为服务器,第二链路端为客户端;或者,第一链路端和第二链路端均为客户端。其表征进行数据传输时,相互建立链路连接的两端。该实施例中,以第一链路端作为执行主体进行描述,同理在第二链路端可以执行类似步骤以实现对本端和对端的数据传输链路的控制。可选的,针对第一链路端和第二链路端分别各自进行上述多链路数据传输方法的运行,以实现双链路的分区控制,即针对任何一端,均可执行本申请中的多链路数据传输方法。
在一个实施例中,首先与第二链路端建立用于进行数据传输的双链路,此处分别记为主链路和副链路,其中,主链路为建立双链路连接后,进行主要数据传输的链路,例如进行数据包和协议包的传输;副链路为建立连接后采用保活连接的方式进行数据传输的链路,其仅进行少量的保活包的传输,以维持、保证链路的连接。以双链路为wifi链路与蜂窝链路为例,该主链路可以是wifi链路,副链路可以是蜂窝链路;当然在某种情况下二者可以互换,也可替换为其它网路连接形式的链路。其中,链路的保活连接状态为仅进行保活包的发送与接收,即仅进行保活包传输的状态。针对处于保活连接状态的链路而言,其不主动发送任何数据信息,至以最低频率发送保活包确保链路连接。
步骤S102、在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送。
其中,网络指标为用于对网络传输情况进行评估的指标。例如对网络连接质量进行确定的指标。该网络指标示例性的可以是丢包率、传输延迟、恢复丢包率等。可选的,该网络指标通过主链路进行数据接收时确定,即通过主链路进行数据传输时,基于下行传输数据(以发送数据至第二链路端为上行发送,接收第二链路端的数据为下行接收为例)确定该网络指标,例如实时统计的丢包率和传输时延。
在一个实施例中,预先设置有副链路启用条件,通过确定网络指标是否满足该副链路启用条件来对副链路的数据传输进行控制。在一个实施例中,该副链路启用条件可以是弱网环境下对应的网络指标所设置的条件,以网络指标为丢包率为例,可预先设置丢包率阈值,当确定的丢包率大于该丢包率阈值时,确定其符合副链路启用条件。当然,也可以是以传输时延或者,传输时延与丢包率的组合作为判断的指标与对应设置的阈值进行比对,具体的条件设置以及使用的指标不做限定,能够反应网络状况的指标均可作为该实施例中的网络指标。
在一个实施例中,在网络指标满足副链路启用条件的情况下,相应的基于该网络指标确定副链路的数据传输类型。其中,不同的网络指标的参数值对应不同的副链路的数据传输类型。以丢包率为例,可预先设置两个丢包率阈值,例如记作第一丢包率阈值和第二丢包率阈值,其中,第一丢包率阈值小于第二丢包率阈值。可选的,当丢包率大于该第一丢包率阈值且小于第二丢包率阈值的情况下,确定的数据传输类型为非原始音频包,当丢包率大于第二丢包率的情况下,确定的数据传输类型为原始音频包与非原始音频包。其中,非原始音频包可以是冗余包和/或重传包,其中,非原始音频包的数据量小于原始音频包。
可选的,可预先基于网络指标进行条件设置,根据网络指标所满足的设置条件确定相应的副链路的数据传输类型。如图2所示,图2为本申请实施例提供的一种根据网络指标确定副链路的数据传输类型的方法的流程图,其中,包括:
步骤S1021、在网络指标满足第一预设条件的情况下,确定副链路的数据传输类型为原始音频包与非原始音频包。
步骤S1022、在网络指标满足第二预设条件的情况下,确定副链路的数据传输类型为非原始音频包。
可选的,网络指标可以是丢包率与恢复丢包率,其中,丢包率为基于接收到的原始的数据包计算得到的丢包比率,恢复丢包率为基于接收到的原始的数据包以及重传包和/或冗余包计算得到的丢包比率。通常,恢复丢包率小于丢包率。
可选的,可基于该丢包率与恢复丢包率判断其满足的条件,以将该满足的条件下对应的数据传输类型确定为副链路的数据传输类型。例如,预先设置两个预设条件,分别记为第一预设条件和第二预设条件,在丢包率与恢复丢包率满足该第一预设条件的情况下,确定副链路的数据传输类型为原始音频包与非原始音频包;在丢包率与恢复丢包率满足该第二预设条件的情况下,确定副链路的数据传输类型为非原始音频包。可选的,该第一预设条件可以是恢复丢包率大于第一阈值;该第二预设条件可以是丢包率大于第二阈值,且恢复丢包率小于第一阈值,其中,该第一阈值大于第二阈值。即当丢包率相对较高但恢复丢包率较低可以满足通讯时,确定副链路的数据传输类型为非原始音频包,即不进行原始音频包的传输;当恢复丢包率都较高时,当前的主链路无法满足正常的传输,确定副链路的数据传输类型为原始音频包与非原始音频包。
当然,上述的网络指标以及对应设置的预设条件为示例性的说明,针对其它网络指标的替换以及相应预设条件的适应性改变设置均在本申请的保护范围内。上述通过网络指标的评估,在确定开启副链路后,基于该网络指标进行合理的副链路数据传输类型的确定,以使用较低的数据传输量保证通话流畅性,并非全部进行双链路的全量的数据传输。同时,合理的副链路的启用机制,也保证了数据传输的不间断性。
在一个实施例中,在确定开启副链路以及副链路的数据传输类型的情况下,相应的发送包含数据传输类型的副链路启用信息至第二链路端,用于第二链路端开启副链路,以通过副链路进行对应数据传输类型的数据的发送。示例性的,该副链路启用信息可以包括启用副链路的启动指令以及确定出的数据传输类型,其用于告知第二链路端启用副链路,以及启用副链路后对应的通过副链路发送的数据的类型,例如仅发送非原始音频包,还是同时发送非原始音频包与原始音频包。相应的,第二链路端在接收到该副链路启用信息后,开启副链路,并通过该副链路进行对应数据传输类型的数据的发送。其中,该开启副链路的过程可以是唤醒数据发送功能,即由原来的不发送数据信息,只发送保活包的状态调整为被唤醒进行数据信息的发送的状态。可选的,在第二链路端接收到该副链路启用信息后,生成响应信息,将该响应信息以及确定的数据传输类型反馈至第一链路端,用于通知第一链路端已经接收到副链路启用信息并确定开启副链路。
步骤S103、在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
相应的,在通知第二链路端启用副链路后,本地同样进行副链路的启用。其中,该副链路的启用可以是开启本端中副链路的对应的接收窗口以及去重模块,以对第二链路端通过副链路发送的数据进行接收与去重。
由上述可知,通过建立用于与第二链路端进行数据传输的主链路和副链路,链接建立后,通过主链路与第二链路端进行数据传输,控制副链路处于保活连接状态,在检测到网络指标满足副链路启用条件的情况下,根据网络指标确定副链路的数据传输类型,通过副链路发送包含数据传输类型的副链路启用信息至第二链路端,用于第二链路端开启副链路,以通过副链路进行对应数据传输类型的数据的发送,其中,网络指标通过主链路进行数据接收时确定,同时,在本地启用副链路,以接收第二链路端通过所述副链路发送的数据。上述方案中,通过建立双链路的通信连接,通过检测网络指标,网络指标满足副链路启用条件的情况下,并进行合理的链路启用以及数据传输,在保证数据传输连续性的同时,解决了相关技术中多链路传输采用多个链路同时发送以及接收相同的数据,导致用户流量损耗过大,造成设备不必要的功耗的问题,实现了在弱网环境下的双链路通讯,保证了用户的通话体验。
图3为本申请实施例提供的一种包含链路建立过程的多链路数据传输方法的流程图,如图3所示,包括:
步骤S201、通过主链路向第二链路端发送连接数据包,建立与所述第二链路端的主链路的传输连接。
在一个实施例中,以第一链路端为客户端,第二链路端为服务器为例。在二者建立双链路连接时,首先通过主链路向第二链路端发送连接数据包,建立与第二链路端的主链路的传输连接。其中,第二链路端在接收到第一链路端发送的连接数据包后,可响应的进行响应回复,以完成二者的主链路的连接的建立。
步骤S202、通过副链路向所述第二链路端发送连接数据包以及副链路标识,建立与所述第二链路端的副链路的保活连接,其中,所述副链路标识用于指示所述第二链路将所述第二链路标注为副链路。
在一个实施例中,进行副链路的连接的建立时,通过副链路向第二链路端发送连接数据包以及副链路标识,其中,该副链路标识用于告知第二链路端当前建立的连接为副链路,以执行预先设置的副链路的数据传输逻辑。例如建立副链路后,控制其处于保活连接状态。通过该种进行标注的方式以区分主链接和副连接的方式建立双链接的数据传输通路,能够实现灵活的主副连接的调整与管理,保证双链接建立时的可靠性与灵活适应性。
步骤S203、建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态。
步骤S204、在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送。
步骤S205、在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
由上述可知,在进行双链接的建立时,通过副链路向第二链路端发送连接数据包以及副链路标识,建立与第二链路端的副链路的保活连接,其中,副链路标识用于指示所述第二链路将所述第二链路标注为副链路,以区分主链接和副连接的方式建立双链接的数据传输通路,能够实现灵活的主副连接的调整与管理,保证双链接建立时的可靠性与灵活适应性。
可选的,以第一链路端与第二链路端为通过端到端协议进行数据传输的情况为例,在进行双链路链接时,可以是:基于UDP协议建立与第三链路端的第一双链路连接,其中,第三链路端与第二链路端建立有基于UDP协议的第二双链路连接,并保存有第二链路端的第二链接信息;在满足协议切换条件的情况下,发送打洞请求至第三链路端,以获取第二链接信息,并基于第二链接信息建立用于与第二链路端进行数据传输的主链路和副链路。其中,第一链路端与第二链路端可以是两个客户端,其可基于端到端的协议进行通信;该第三链路端为服务器,可分别基于UDP和/或TCP协议等与第一、第二链路端建立双链路链接。其中,第一链路端与第二链路端分别与第三链路端建立双链接的方式如前所述。其中,在第一链路端与第二链路端分别与第三链路端建立双链路,以通过第三链路端进行二者的数据交互时,二者会通过发送探测包等方式确定是否进行协议切换,例如直接建立二者的端到端的通信。如果发现满足协议切换条件,例如端到端的通信质量更强,则二者开始建立直接的双链路的数据传输。此时,可通过发送打洞请求至第三链路端,以获取第二链接信息,并基于第二链接信息建立用于与第二链路端进行数据传输的主链路和副链路。可选的,针对第一链路端与第二链路端均与第三链路端建立双链路连接的情况,其响应存储的链接信息包括了主链路的连接信息以及副链路的连接信息,此时第三链路端分别向第一链路端发送第二链路端的第二链接信息,向第二链路端发送第一链路端的第一连接信息,二者基于接收到的对端的连接信息以直接建立双链接的通信。例如,根据主链接信息建立主链接,根据副链接信息建立副链接。
由此,实现了针对不同通信模式、通信协议下的双链接的建立,其使得本方案的多链路数据传输方法使用范围和使用场景得到显著扩展,能够适用于多种数据传输模式下。
图4为本申请实施例提供的另一种多链路数据传输方法的流程图,如图4所示,包括:
步骤S301、建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态。
步骤S302、在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送。
步骤S303、在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
步骤S304、在检测到网络指标满足主链路断开条件的情况下,开启所述副链路进行数据接收,并发送探测信息至所述第二链路端,用于所述第二链路端基于所述探测信息确定主链路是否断开,并在确定出主链路断开的情况下,开启副链路并发送确认包。
在一个实施例中,预先设置有主链路断开条件,当然根据使用的不同的网络指标可对应设置不同的主链路断开条件。以网络指标为丢包率为例,可对应设置断开阈值,以在丢包率大于该断开阈值的情况下,判定满足主链路断开条件;其中,该网络指标还可以选取传输时延,对应的设置的主链路断开条件可以是:该传输时延大于设置的时延阈值,此时判定其满足主链路断开条件。
可选的,在确定出满足主链路断开条件的情况下,此时并不能完全确定是否主链路断开,也可能时第二链路端未通过主链路发送数据,故开启副链路进行数据接收,并通过副链路发送探测信息至第二链路端,第二链路端接收到该探测信息后,相应的确定本地是否有通过主链路发送数据,如果存在发送数据但是未接收到响应数据,则确定主链路断开,此时自身开启副链路的所有接收窗口,并发送确认包至第一链路端。
步骤S305、在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态,并通过所述副链路发送全量数据至所述第二链路端,用于所述第二链路端在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态。
在一个实施例中,当通过副链路接收到非数据包的情况下,表征主链路确实断连,因为常规情况下副链路不进行非数据包的发送和接收,此处的非数据包可选的可以是协议包等用于进行网络情况评估以及消息确认等功能的非音频数据类的传输包。例如接收到第二链路端发送的确认包,则控制主链路处于保活连接状态,并通过副链路发送全量数据至第二链路端。其中,该全量数据即包括数据包以及非数据包在内的所有需要传输的数据。
相应的,此时在第二链路端通过副链路接收到非数据包时,对应的控制主链路处于保活连接状态,打开副链路的所有数据接收窗口。
由上述可知,通过网络指标在判断出当前满足主链路断开条件时,通过发送探测信息以启用副链路进行数据传输,保证了在主链路断开时,及时的通过副链路进行数据的传输。
图5为本申请实施例提供的另一种多链路数据传输方法的流程图,如图5所示,包括:
步骤S401、建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态。
步骤S402、在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送。
步骤S403、在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
步骤S404、在检测到网络指标满足主链路断开条件的情况下,开启所述副链路进行数据接收,并发送探测信息至所述第二链路端,用于所述第二链路端基于所述探测信息确定主链路是否断开,并在确定出主链路断开的情况下,开启副链路并发送确认包。
步骤S405、在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态,并通过所述副链路发送全量数据至所述第二链路端,用于所述第二链路端在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态。
步骤S406、接收所述第二链路端通过主链路发送的保活数据包,根据所述保活数据包确定网络指标,在根据所述保活数据包确定出网络指标满足链路切换条件的情况下,通过所述副链路发送链路切换指令至所述第二链路端,用于所述第二链路端基于所述链路切换指令进行链路切换。
其中,在第二链路控制其一侧的主链路处于保活状态时,其通过主链路进行保活包的发送,此时第一链路端在接收第二链路端通过主链路发送的保活数据包后,根据保活数据包确定网络指标,例如确定丢包率、传输时延等,并在确定出网络指标满足链路切换条件的情况下,通过副链路发送链路切换指令至第二链路端,用于第二链路端基于链路切换指令进行链路切换。其中,该链路切换条件可以是在检测到丢包率小于切换阈值,或者为检测到的主链路的通信质量由于副链路时,确定其满足切换条件,以通知第二链路端进行链路切换。
步骤S407、在通过主链路接收到非数据包的情况下,控制所述副链路处于保活状态,并根据所述主链路当前接收到的数据确定网络指标。
相应的,当通知第二链路端进行链路切换后,本端通过主链路接收到非数据包的情况下,则表征第二链路端已经开始通过主链路发送非保活包的传输数据,此时控制副链路处于保活状态,并根据主链路当前接收到的数据确定网络指标,以用于进一步的评估网络质量,例如当前是否处于弱网环境,以及主链路是否疑似断开等。
由上述可知,通过上述设置的链路切换和启用方式,能够保证在建立双链路链接的情况下,及时的选择最优线路进行数据传输,保证了数据传输质量同时避免了双链路同时进行数据传输带来的流量消耗问题。
图6为本申请实施例提供的一种多链路数据传输装置的结构框图,该装置配置为执行上述实施例提供的多链路数据传输方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置包括:
链路连接模块101,配置为建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态;
链路调整模块102,配置为在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送,所述网络指标通过所述主链路进行数据接收时确定;
链路启用模块103,配置为在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
由上述方案可知,通过建立用于与第二链路端进行数据传输的主链路和副链路,链接建立后,通过主链路与第二链路端进行数据传输,控制副链路处于保活连接状态,在检测到网络指标满足副链路启用条件的情况下,根据网络指标确定副链路的数据传输类型,通过副链路发送包含数据传输类型的副链路启用信息至第二链路端,用于第二链路端开启副链路,以通过副链路进行对应数据传输类型的数据的发送,其中,网络指标通过主链路进行数据接收时确定,同时,在本地启用副链路,以接收第二链路端通过所述副链路发送的数据。上述方案中,通过建立双链路的通信连接,通过检测网络指标,网络指标满足副链路启用条件的情况下,并进行合理的链路启用以及数据传输,在保证数据传输连续性的同时,解决了相关技术中多链路传输采用多个链路同时发送以及接收相同的数据,导致用户流量损耗过大,造成设备不必要的功耗的问题,实现了在弱网环境下的双链路通讯,保证了用户的通话体验。
在一个可能的实施例中,所述链路连接模块101,配置为:
通过主链路向第二链路端发送连接数据包,建立与所述第二链路端的主链路的传输连接;
通过副链路向所述第二链路端发送连接数据包以及副链路标识,建立与所述第二链路端的副链路的保活连接,其中,所述副链路标识用于指示所述第二链路将所述第二链路标注为副链路。
在一个可能的实施例中,所述链路调整模块102,配置为:
在所述网络指标满足第一预设条件的情况下,确定副链路的数据传输类型为原始音频包与非原始音频包;
在所述网络指标满足第二预设条件的情况下,确定副链路的数据传输类型为非原始音频包。
在一个可能的实施例中,所述链路调整模块102,还配置为:
在检测到网络指标满足主链路断开条件的情况下,开启所述副链路进行数据接收,并发送探测信息至所述第二链路端,用于所述第二链路端基于所述探测信息确定主链路是否断开,并在确定出主链路断开的情况下,开启副链路并发送确认包。
在一个可能的实施例中,所述链路调整模块102,还配置为:
在所述开启所述副链路进行数据接收之后,在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态,并通过所述副链路发送全量数据至所述第二链路端,用于所述第二链路端在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态。
在一个可能的实施例中,所述链路调整模块102,还配置为:
在所述通过所述副链路发送全量数据至所述第二链路端之后,接收所述第二链路端通过主链路发送的保活数据包,根据所述保活数据包确定网络指标;
在根据所述保活数据包确定出网络指标满足链路切换条件的情况下,通过所述副链路发送链路切换指令至所述第二链路端,用于所述第二链路端基于所述链路切换指令进行链路切换。
在一个可能的实施例中,所述链路调整模块102,还配置为:
在所述通过所述副链路发送链路切换指令至所述第二链路端之后,在通过所述主链路接收到非数据包的情况下,控制所述副链路处于保活状态,并根据所述主链路当前接收到的数据确定网络指标,以评估网络质量。
在一个可能的实施例中,在所述第一链路端与所述第二链路端为通过端到端协议进行数据传输的情况下,所述链路连接模块101,配置为:
基于UDP协议建立与第三链路端的第一双链路连接,所述第三链路端与所述第二链路端建立有基于UDP协议的第二双链路连接,并保存有所述第二链路端的第二链接信息;
在满足协议切换条件的情况下,发送打洞请求至所述第三链路端,以获取所述第二链接信息,并基于所述第二链接信息建立用于与第二链路端进行数据传输的主链路和副链路。
图7为本申请实施例提供的一种多链路数据传输设备的结构示意图,如图7所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图7中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图7中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可配置为存储软件程序、计算机可执行程序以及模块,如本申请实施例中的多链路数据传输方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的多链路数据传输方法。输入装置203可配置为接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本申请实施例还提供一种包含计算机可执行指令的非易失性存储介质,计算机可执行指令在由计算机处理器执行时配置为执行一种上述实施例描述的多链路数据传输方法,其中,包括:获取记录的基于主链路进行数据接收时确定的网络指标;基于网络指标确定副链路的数据传输类型;通知第二链路端通过副链路进行对应数据传输类型的数据的发送,其中,对应数据传输类型的数据包括重传数据包和/或冗余数据包。
值得注意的是,上述多链路数据传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不配置为限制本申请实施例的保护范围。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码配置为使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,计算机设备可以执行本申请实施例所记载的多链路数据传输方法。程序产品可以采用一个或多个可读介质的任意组合实现。
Claims (12)
1.多链路数据传输方法,应用于第一链路端,其特征在于,包括:
建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态;
在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送,所述网络指标通过所述主链路进行数据接收时确定;
在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
2.根据权利要求1所述的多链路数据传输方法,其特征在于,所述建立用于与第二链路端进行数据传输的主链路和副链路,包括:
通过主链路向第二链路端发送连接数据包,建立与所述第二链路端的主链路的传输连接;
通过副链路向所述第二链路端发送连接数据包以及副链路标识,建立与所述第二链路端的副链路的保活连接,其中,所述副链路标识用于指示所述第二链路将所述第二链路标注为副链路。
3.根据权利要求1所述的多链路数据传输方法,其特征在于,所述根据所述网络指标确定副链路的数据传输类型,包括:
在所述网络指标满足第一预设条件的情况下,确定副链路的数据传输类型为原始音频包与非原始音频包;
在所述网络指标满足第二预设条件的情况下,确定副链路的数据传输类型为非原始音频包。
4.根据权利要求1所述的多链路数据传输方法,其特征在于,所述多链路数据传输方法,还包括:
在检测到网络指标满足主链路断开条件的情况下,开启所述副链路进行数据接收,并发送探测信息至所述第二链路端,用于所述第二链路端基于所述探测信息确定主链路是否断开,并在确定出主链路断开的情况下,开启副链路并发送确认包。
5.根据权利要求4所述的多链路数据传输方法,其特征在于,在所述开启所述副链路进行数据接收之后,还包括:
在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态,并通过所述副链路发送全量数据至所述第二链路端,用于所述第二链路端在通过所述副链路接收到非数据包的情况下,控制所述主链路处于保活连接状态。
6.根据权利要求5所述的多链路数据传输方法,其特征在于,在所述通过所述副链路发送全量数据至所述第二链路端之后,还包括:
接收所述第二链路端通过主链路发送的保活数据包,根据所述保活数据包确定网络指标;
在根据所述保活数据包确定出网络指标满足链路切换条件的情况下,通过所述副链路发送链路切换指令至所述第二链路端,用于所述第二链路端基于所述链路切换指令进行链路切换。
7.根据权利要求6所述的多链路数据传输方法,其特征在于,在所述通过所述副链路发送链路切换指令至所述第二链路端之后,还包括:
在通过所述主链路接收到非数据包的情况下,控制所述副链路处于保活状态,并根据所述主链路当前接收到的数据确定网络指标,以评估网络质量。
8.根据权利要求1所述的多链路数据传输方法,其特征在于,在所述第一链路端与所述第二链路端为通过端到端协议进行数据传输的情况下,所述建立用于与第二链路端进行数据传输的主链路和副链路,包括:
基于UDP协议建立与第三链路端的第一双链路连接,所述第三链路端与所述第二链路端建立有基于UDP协议的第二双链路连接,并保存有所述第二链路端的第二链接信息;
在满足协议切换条件的情况下,发送打洞请求至所述第三链路端,以获取所述第二链接信息,并基于所述第二链接信息建立用于与第二链路端进行数据传输的主链路和副链路。
9.多链路数据传输装置,其特征在于,包括:
链路连接模块,配置为建立用于与第二链路端进行数据传输的主链路和副链路,通过所述主链路与所述第二链路端进行数据传输,控制所述副链路处于保活连接状态;
链路调整模块,配置为在检测到网络指标满足副链路启用条件的情况下,根据所述网络指标确定副链路的数据传输类型,通过所述副链路发送包含所述数据传输类型的副链路启用信息至所述第二链路端,用于所述第二链路端开启副链路,以通过所述副链路进行对应所述数据传输类型的数据的发送,所述网络指标通过所述主链路进行数据接收时确定;
链路启用模块,配置为在本地启用所述副链路,以接收所述第二链路端通过所述副链路发送的数据。
10.一种多链路数据传输设备,所述设备包括:一个或多个处理器;存储装置,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-8中任一项所述的多链路数据传输方法。
11.一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行权利要求1-8中任一项所述的多链路数据传输方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述的多链路数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311599126.0A CN117395715A (zh) | 2023-11-27 | 2023-11-27 | 多链路数据传输方法、装置、设备、存储介质以及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311599126.0A CN117395715A (zh) | 2023-11-27 | 2023-11-27 | 多链路数据传输方法、装置、设备、存储介质以及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117395715A true CN117395715A (zh) | 2024-01-12 |
Family
ID=89468531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311599126.0A Pending CN117395715A (zh) | 2023-11-27 | 2023-11-27 | 多链路数据传输方法、装置、设备、存储介质以及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117395715A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117858276A (zh) * | 2024-03-07 | 2024-04-09 | 广东世炬网络科技有限公司 | 单链路切换至双链路的传输链路切换方法、装置及设备 |
-
2023
- 2023-11-27 CN CN202311599126.0A patent/CN117395715A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117858276A (zh) * | 2024-03-07 | 2024-04-09 | 广东世炬网络科技有限公司 | 单链路切换至双链路的传输链路切换方法、装置及设备 |
CN117858276B (zh) * | 2024-03-07 | 2024-06-11 | 广东世炬网络科技股份有限公司 | 单链路切换至双链路的传输链路切换方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10827553B2 (en) | Method and apparatus for session reestablishment, access and mobility management function entity, session management function entity and terminal | |
CN109819476B (zh) | 一种网络优化方法及终端、存储介质 | |
US9628758B2 (en) | Communication channel management for real-time applications | |
CN100574412C (zh) | 采用对偶网络模式的增强的视频传输 | |
WO2021057526A1 (zh) | 一种网关设备容灾的方法及通信设备 | |
CN117395715A (zh) | 多链路数据传输方法、装置、设备、存储介质以及产品 | |
US9215660B2 (en) | Mobile communication terminal and program | |
CN103765946B (zh) | 一种无线链路监测的方法和装置 | |
CN110913441B (zh) | 一种数据传输方法及装置 | |
CN103686854A (zh) | 控制ap的方法和装置 | |
US20230337294A1 (en) | Call method and apparatus | |
US20080132234A1 (en) | Apparatus and method for utilizing the transport layer to provide measurement opportunities for the physical layer in a multi-mode network | |
WO2022268068A1 (zh) | 无线通信方法、装置、电子设备及可读存储介质 | |
CN102984784A (zh) | 通过多个网络发送数据 | |
KR102435334B1 (ko) | 네트워크 시스템의 서비스 가용성을 최대로 보장하기 위한 적응형 bfd 프로토콜과 그 장치 | |
KR102326925B1 (ko) | 동작 모드를 동적으로 스위칭할 수 있는 다중 멤버 블루투스 장치 | |
CN117528685A (zh) | 一种基于随身wifi信道的自适应调整方法及系统 | |
CN102984158B (zh) | Voip网络切换方法、系统和装置 | |
CN111615170B (zh) | 一种数据传输方法及系统 | |
US11375579B2 (en) | Multi-member Bluetooth device capable of adaptively switching operation mode in response to data type change of received packets, and related main Bluetooth circuit and auxiliary Bluetooth circuit | |
EP2051429B1 (en) | Apparatus and method for setting timer and counter in mobile communication system | |
US20210105602A1 (en) | Multi-member bluetooth device capable of adaptively switching operation mode in response to data type change of received packets | |
CN114339869A (zh) | 网络管理方法、装置、电子设备和存储介质 | |
CN117395716A (zh) | 基于多链路的数据传输方法、装置、设备以及存储介质 | |
CN112788648A (zh) | 一种控制方法、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |