CN110213320B - 通信连接的方法、装置、电子设备及计算机可读存储介质 - Google Patents
通信连接的方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110213320B CN110213320B CN201910002416.XA CN201910002416A CN110213320B CN 110213320 B CN110213320 B CN 110213320B CN 201910002416 A CN201910002416 A CN 201910002416A CN 110213320 B CN110213320 B CN 110213320B
- Authority
- CN
- China
- Prior art keywords
- data
- network service
- service module
- sending
- connection
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004891 communication Methods 0.000 title claims abstract description 41
- 230000005540 biological transmission Effects 0.000 claims abstract description 184
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种通信连接的方法、装置、电子设备及计算机可读存储介质,应用于互联网技术领域,该方法包括:通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,其中,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。本申请实施例实现了可以降低数据传输的时延,进而可以提升用户体验。
Description
技术领域
本申请涉及互联网通信技术领域,具体而言,本申请涉及一种通信连接的方法、装置、电子设备及计算机可读存储介质。
背景技术
随着信息技术的发展,互联网+概念随之盛行,社会已经开始转型到数字时代,人们的办公、生活开始向移动化和数字化转型,在办公效率提升的同时,企业硬件也要跟上步伐,其中,在企业内部,运行在一个终端上的应用与运行在另一个终端上的应用之间在进行信息交互时,通过该企业内部的网络设备,例如防火墙、路由器等。
但是大部分企业基于企业内部信息安全的考虑,所有经过该网络设备的连接都必须为短连接,即当超过一定的连接时间之后就会自动断开,当用户利用应用进行数据传输时,需要先建立连接,并在建立连接之后进行数据传输,因此在用户通过应用进行数据传输时,需要等待较长的时间进行通信连接之后才可以进行数据传输,从而导致进行数据传输的时延较长,进而导致用户的体验较差。
发明内容
本申请提供了一种通信连接的方法、装置、电子设备及计算机可读存储介质,可以解决在基于应用尤其是通信软件应用进行数据传输时时延延长,以及用户的体验较差的问题。所述技术方案如下:
第一方面,提供了一种通信连接的方法,该方法包括:
通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道;
当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。
在一种可能的实现方式中,通过第二连接通道与第二网络服务模块进行数据传输,包括:
通过第二连接通道向第二网络服务模块发送数据包;
通过第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包。
在一种可能的实现方式中,通过第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包,包括:
若接收到第二网络服务模块发送的第一关闭通知消息,则通过第二连接通道接收第二网络服务模块发送的数据包,第一关闭通知消息用于通知第一网络服务模块,第二网络服务模块停止使用第一连接通道发送数据;
若未接收到第二网络服务模块发送的第一关闭通知消息,则通过第一连接通道接收第二网络服务模块发送的数据包。
在一种可能的实现方式中,创建第二连接通道,之后还包括:
创建第二连接通道对应的定时器,第二连接通道对应的定时器用于确定第二连接通道的连接时间是否达到连接时间阈值。
在一种可能的实现方式中,当通过任一连接通道待发送的数据包为一个时,方法还包括:
若通过任一连接通道待发送的数据包的数据量不大于预设阈值,则将数据包直接发送至第二网络服务模块;
若通过任一连接通道待发送的数据包的数据量大于预设阈值,则将数据包按照预设截取方式进行截取,并将截取后的各段数据通过任一连接通道依次发送至第二网络服务模块。
在一种可能的实现方式中,将数据包按照预设截取方式阈值进行截取,并将截取后的各段数据通过任一连接通道依次发送至第二网络服务模块,包括:
从数据包中截取预设阈值的数据,并将截取的数据通过任一连接通道依次发送至第二网络服务模块;
若检测到截取后剩余的数据的数据量大于预设阈值,则从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道依次发送至第二网络服务模块;
若检测到再次截取后剩余的数据的数据量大于预设阈值,循环执行从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道依次发送至第二网络服务模块的步骤;
将不大于预设阈值的截取后剩余的数据通过任一连接通道发送至第二网络服务模块。
在一种可能的实现方式中,当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,该方法还包括:
将各个数据包按照获取的先后顺序依次进行排列;
排列后的各个数据包作为一个整体截取预设阈值的数据;
将截取的数据通过任一连接通道发送至第二网络服务模块;
若检测到截取后剩余的数据大于预设阈值,则从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道发送至第二网络服务模块;
若检测到再次截取后剩余的数据大于预设阈值,则循环执行从截取后剩余中的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道发送至第二网络服务模块的步骤;
将不大于预设阈值的截取后的数据通过任一连接通道发送至第二网络服务模块。
在一种可能的实现方式中,当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,方法还包括:
分别从各个数据包中截取数据,以使得截取的数据总量为预设阈值;
将截取到的数据进行组装,并通过任一连接通道发送至第二网络服务模块;
若检测到截取后各个数据包分别对应的剩余数据的总数据量大于预设阈值,分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为预设阈值;
将再次截取到的数据进行组装,并通过任一连接通道发送至第二网络服务模块;
若检测到再次截取后各个数据包分别对应的剩余数据的总数据量大于预设阈值,则循环执行分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为预设阈值的步骤、将截取到的数据进行组装,并通过任一连接通道发送至第二网络服务模块的步骤;
将各个数据包分别对应的剩余数据进行组装后并通过任一连接通道发送至第二网络服务模块。
在一种可能的实现方式中,该方法还包括:
当通过任一连接通道待发送的数据包包括至少两个数据包,且至少两个数据包的总数据量大于预设阈值时,确定各个数据包分别所属应用;
若确定出各个数据包分别所属的应用为至少两个应用,则确定至少两个应用中各个应用分别对应的优先级;
基于至少两个应用中各个应用分别对应的优先级,并通过任一连接通道发送至第二网络服务模块;
其中,基于至少两个应用中各个应用分别对应的优先级,并通过任一连接通道发送至第二网络服务模块,包括:
从各个应用对应的数据包中分别截取对应数据量的数据,截取的数据对应的数据量总和等于预设阈值,且截取的数据对应的数据量按照应用的优先级依次降低;
将截取的数据进行组装并通过任一连接通道进行发送;
若检测到各个应用分别对应的剩余数据的总数据量大于预设阈值,则从各个应用分别对应的剩余的数据中分别再次截取对应数据量的数据,并将截取的数据进行组装并通过任一连接通道进行发送;
若检测到各个应用再次截取后分别对应的剩余数据的总数据量大于预设阈值,则循环执行从各个应用对应的数据包中分别再次截取对应数据量的数据的步骤以及将截取的数据进行组装并通过任一连接通道进行发送的步骤;
将不大于预设阈值的各个应用剩余的数据进行组装并通过任一连接通道发送至第二网络服务模块。
在一种可能的实现方式中,方法还包括:
当通过任一连接通道待发送的数据包包括至少两个数据包且总数据量不大于预设阈值时,将各个数据包进行组装,并通过任一连接通道发送至第二网络设备。
在一种可能的实现方式中,该方法还包括:
当检测到任一应用对应的一个数据包中的数据已全部发送至第二网络服务模块时,向第二网络服务模块发送任一应用对应的结束标志;
当接收到第二网络服务模块发送的数据包发送请求消息,向第二网络服务模块发送任一应用对应的数据包,数据包发送请求消息为第二网络服务模块接收到任一应用对应的结束标志时发送的。
第二方面,提供了一种通信连接的装置,该装置包括:
数据传输模块,用于通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道;
第一创建模块,用于当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道;
数据传输模块,还用于通过第一创建模块创建后的第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。
在一种可能的实现方式中,数据传输模块,具体用于通过第二连接通道向第二网络服务模块发送数据包;
数据传输模块,具体还用于通过第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包。
在一种可能的实现方式中,数据传输模块,具体还用于当接收到第二网络服务模块发送的第一关闭通知消息时,通过第二连接通道接收第二网络服务模块发送的数据包,第一关闭通知消息用于通知第一网络服务模块,第二网络服务模块停止使用第一连接通道发送数据;;
数据传输模块,具体还用于当未接收到第二网络服务模块发送的第一关闭通知消息时,通过第一连接通道接收第二网络服务模块发送的数据包。
在一种可能的实现方式中,该装置还包括:第二创建模块;
第二创建模块,用于创建第二连接通道对应的定时器,第二连接通道对应的定时器用于确定第二连接通道的连接时间是否达到连接时间阈值。
在一种可能的实现方式中,数据传输模块包括:第一发送单元、第一截取单元以及第二发送单元,其中,
第一发送单元,用于当通过任一连接通道待发送的数据包的数据量不大于所述预设阈值时,将数据包直接发送至第二网络服务模块;
第一截取单元,用于当通过任一连接通道待发送的数据包的数据量大于所述预设阈值时,将数据包按照预设截取方式进行截取;
第二发送单元,用于将第一截取单元截取后的各段数据通过任一连接通道依次发送至第二网络服务模块。
在一种可能的实现方式中,第一截取单元包括:第一截取子单元、第二截取子单元、第一循环子单元,第二发送单元包括:第一发送子单元、第二发送子单元以及第三发送子单元,其中,
第一截取子单元,用于从数据包中截取预设阈值的数据;
第一发送子单元,用于将第一截取子单元截取的数据通过任一连接通道依次发送至第二网络服务模块;
第二截取子单元,用于当检测到截取后剩余的数据的数据量大于所述预设阈值时,从截取后剩余的数据中再次截取预设阈值的数据;
第二发送子单元,用于将截取的数据通过任一连接通道依次发送至第二网络服务模块;
当检测到再次截取后剩余的数据的数据量大于所述预设阈值时,所述第一循环子模块用于循环执行从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过所述任一连接通道依次发送至所述第二网络服务模块的步骤;
第三发送子单元,用于将不大于预设阈值的截取后剩余的数据通过任一连接通道发送至第二网络服务模块。
在一个可能的实现方式中,当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,数据传输模块包括:排列单元、第二截取单元、第三发送单元、第三截取单元、第四发送单元、第一循环单元以及第五发送单元,其中,
排列单元,用于将各个数据包按照获取的先后顺序依次进行排列;
第二截取单元,用于将排列单元排列后的各个数据包作为一个整体截取预设阈值的数据;
第三发送单元,用于将截取的数据通过任一连接通道发送至第二网络服务模块;
第三截取单元,用于当检测到截取后剩余的数据大于预设阈值时,从截取后剩余的数据中截取预设阈值的数据;
第四发送单元,用于将第三截取单元截取的数据通过任一连接通道发送至第二网络服务模块;
当检测到再次截取后剩余的数据大于预设阈值时,第一循环单元,用于循环执行从截取后剩余中的数据中再次截取预设阈值的数据,并将截取的数据通过所述任一连接通道发送至所述第二网络服务模块的步骤;
第五发送单元,用于将不大于预设阈值的截取后的数据通过任一连接通道发送至第二网络服务模块。
在一个可能的实现方式中,当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,所述数据传输模块还包括:第四截取单元、第一组装单元、第六发送单元、第五截取单元、第二组装单元、第七发送单元、第二循环单元、第三组装单元、第八发送单元,其中,
第四截取单元,用于分别从各个数据包中截取数据,以使得截取的数据总量为预设阈值;
第一组装单元,用于将第四截取单元截取到的数据进行组装;
第六发送单元,用于将第一组装单元组装后的数据通过任一连接通道发送至第二网络服务模块;
第五截取单元,用于当检测到截取后各个数据包分别对应的剩余数据的总数据量大于所述预设阈值,分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为所述预设阈值;
第二组装单元,用于将第五截取单元再次截取到的数据进行组装;
第七发送单元,用于将第二组装单元组装后的数据通过任一连接通道发送至第二网络服务模块;
当检测到再次截取后各个数据包分别对应的剩余数据的总数据量大于所述预设阈值时,第二循环单元,用于循环执行分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为所述预设阈值的步骤、将截取到的数据进行组装,并通过所述任一连接通道发送至所述第二网络服务模块的步骤;
第三组装单元,用于将各个数据包分别对应的剩余数据进行组装;
第八发送单元,用于将第三组装单元组装后的数据通过任一连接通道发送至第二网络服务模块。
在一个可能的实现方式中,数据传输模块还包括:第一确定单元、第二确定单元以及第九发送单元,其中,
第一确定单元,用于当通过任一连接通道待发送的数据包包括至少两个数据包,且至少两个数据包的总数据量大于预设阈值时,确定各个数据包分别所属应用;
第二确定单元,用于当第一确定单元确定出各个数据包分别所属的应用为至少两个应用时,确定至少两个应用中各个应用分别对应的优先级;
第九发送单元,用于基于第二确定单元确定出的至少两个应用中各个应用分别对应的优先级,并通过任一连接通道发送至第二网络服务模块。
在一个可能的实现方式中,第九发送单元包括:第三截取子单元、第一组装子单元、第四发送子单元、第四截取子单元、第二组装子单元、第五发送子单元、第二循环子单元、第三组装子单元以及第六发送子单元,其中,
第三截取子单元,用于从各个应用对应的数据包中分别截取对应数据量的数据,截取的数据对应的数据量总和等于预设阈值,且截取的数据对应的数据量按照应用的优先级依次降低;
第一组装子单元,用于将第三截取子单元截取的数据进行组装;
第四发送子单元,用于将第一组装子单元组装后数据通过任一连接通道进行发送;
当检测到各个应用分别对应的剩余数据的总数据量大于所述预设阈值时,第四截取子单元,用于从各个应用分别对应的剩余的数据中分别再次截取对应数据量的数据;
第二组装子单元,用于将第四截取子单元截取的数据进行组装;
第五发送子单元,用于将第二组装子单元组装后的数据通过任一连接通道进行发送;
若检测到各个应用再次截取后分别对应的剩余数据的总数据量大于所述预设阈值,第二循环子单元,用于执行从各个应用对应的数据包中分别再次截取对应数据量的数据的步骤以及将将截取的数据进行组装并通过所述任一连接通道进行发送的步骤;
第三组装子单元,用于将不大于预设阈值的各个应用剩余的数据进行组装;
第六发送子单元,用于将第三组装子单元组装后的数据通过任一连接通道发送至第二网络服务模块。
在一个可能的实现方式中,该数据传输模块还包括:第四组装单元、第十发送单元,其中,
第四组装单元,用于当通过任一连接通道待发送的数据包包括至少两个数据包且总数据量不大于预设阈值时,将各个数据包进行组装;
第十发送单元,用于将第四组装单元组装后的数据通过任一连接通道发送至第二网络设备。
在一个可能的实现方式中,网络设备上配置有以下至少一项服务信息:
监听的端口数组;调试信息;传输数据包的最大值;最大发送队列;处理远程传输控制协议TCP连接时的端口映射关系。
在一个可能的实现方式中,装置还包括:第一发送模块、第二发送模块,其中,
第一发送模块,用于当检测到任一应用对应的一个数据包中的数据已全部发送至第二网络服务模块时,向第二网络服务模块发送任一应用对应的结束标志;
第二发送模块,用于当接收到第二网络服务模块发送的数据包发送请求消息,向第二网络服务模块发送任一应用对应的数据包,数据包发送请求消息为第二网络服务模块接收到任一应用对应的结束标志时发送的。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面所示的通信连接的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所示的通信连接的方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种通信连接的方法、装置及电子设备,与现有技术相比,本申请通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,该任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。即本申请中运行在一个终端上的应用与运行在另一个终端上的应用进行数据传输时,需要通过其对应的网络服务模块、网络设备以及另一侧的网络服务模块直至传输至运行在另一个终端上的应用,由于第一网络服务模块与第二网络服务模块之间的连接通道在达到连接时间阈值之后,可以通过创建新的连接通道进行数据传输,即应用与应用之间在每次进行数据传输时,不需要先进行通信连接而后再进行数据传输,从而可以降低数据传输的时延,进而可以提升用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例中位于两端的业务系统通过本申请的服务(TCPBridge创建的通道)进行数据传输的架构示意图;
图2为本申请实施例进行数据传输的整体架构示意图;
图3为本申请实施例中一种通信连接的方法流程示意图;
图4为本申请实施例中另一种通信连接的方法流程示意图;
图5为本申请实施例中又一种通信连接的方法流程示意图;
图6为本申请实施例中又一种通信连接的方法流程示意图;
图7为本申请实施例中一种通信连接的装置结构示意图;
图8为本申请实施例中另一种通信连接的装置结构示意图;
图9为本申请实施例提供的一种通信连接的电子设备的结构示意图;
图10为本申请实施例中从第一网络服务模块(BridgeA)的角度介绍新旧连接通道切换的方法流程示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着互联网+概念的盛行,社会已经开始转型到数字时代,人们的办公、生活开始向移动化和数字化转型,在办公效率提升的同时也要求企业硬件设备跟上步伐,现有的企业中,一端的应用(例如,业务系统A、业务系统B以及业务系统C)与另一端对应的应用(例如,业务系统A’、业务系统B’以及业务系统C’),直接通过其企业内部的网络设备(例如,路由器以及防火墙)进行数据传输。
本申请实施例提供了一种通信连接的方式,通过在网络设备的两侧部署本技术软件,在设备闲置的连接时间内建立连接后接管所有需要通过该通道应用的数据以及连接,并组装成数据包以及分批进行传输,在整个传输过程中本方案通过建立有限数目的连接通道,就可以达到在基于原有设备限制上扩展硬件连接数以及维持连接的目的,并且在设备仅支持短连接时,本方案可以以自动切换短连接的方式,将所有应用连接保持,使得应用可以以长连接的方式维持,解决了设备无法支持长连接的问题,提升用户体验且扩展了应用在企业内的适应性,尤其适用于安全要求要求高、硬件设备较差的企业。
具体地,在利用本申请中通信连接的方式进行数据传输时,需要在网络设备(例如,路由器以及防火墙)的两侧部署本服务,并配置双向服务监听端口(即通过该网络设备进行数据传输的服务需要现在配置服务里配置服务监听端口以及后台服务端口),进一步地,通过该网络进行数据传输的服务还需要配置以下配置项:
监听的端口数组(public Ports array of number sockman),例如,“publicPorts”:[8000,8001]”;
debug bool,用于表征是否记录调试信息(高度信息包括所有接收到的指令头),例如,“debug”:true;
最大传输命令包大小(MTU number),默认值131072,对于某些对请求大小有限制的http和文件交换边界有意义;
最大发送队列(max Send Queue number),默认值为1,调高该最大发送对列可以提高并发度,提升高延时边界的吞吐能力;
Peer Port Map object,即为处理远程tcp连接时的端口映射(配置中的数据暂时只支持一个元素),例如,
“peerPortMap”:{“8000”:[{“host”:“127.0.0.1”,“port”:12345}],“8001”:[{“host”:“127.0.0.1”,“port”:12346}]}。
本申请实施例业务系统的客户端(例如:业务系统A、业务系统B以及业务系统C)以及服务端(例如:业务系统A’、业务系统B’以及业务系统C’)通过在本方案(TCPbridge)配置监听端口发送和接收数据,由两端的TCPbridge建立有限的连接通道(即bridgeA、网络设备以及bridgeB之间的连接通道),并接管所有需要通过设备的连接和数据,由TCPbridge完成数据的交换,如图1所示。而TCPbridge的BridgeA和BridgeB会在最大连接时间内重新建立下一个连接,将托管服务切换到下一个连接,使得连接可以长时间持续,达到业务侧长连接的效果。
进一步地,如图2所示,本申请实施例的传输控制协议通道(TransmissionControl Protocol Bridge,TCPbridge)中通道(Bridge)、套接字管理(sockman)、命令处理器、定时器(Timer)以及数据缓存(DataBuffer),其中,
Bridge:负责跨边界通道的创建、维持、根据流量进行数据的切片和数据重组、收发以及重试;
Sockman:负责维护连接到tcpbridge的tcp连接,将接收到的数据放入bridge的命令处理器;
命令处理器:负责用户指令缓存,其中Bridge和Sockman通过命令队列进行指令传递;因此命令处理器负责指令的优先级和完整性传递调度;
Timer:通道定时器,用于计算通道连接时效,在达到最大连接时间之前通知bridge进行通道切换;
Data Buffer:用于缓存从对端发过来的数据;
图2中还包括:应用系统(客户端的应用系统以及服务端的应用系统),用于与Sockman进行数据交互。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种通信连接的方法,如图3所示,该方法包括:
步骤S501、通过至少一条已创建的连接通道与第二网络服务模块进行数据传输。
其中,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。
对于本申请实施例,第一网络服务模块(下文也可以称为:BridgeA)以及第二网络服务模块(下文也可以称为:BridgeB)启动后,可以创建至少一条连接通道。在本申请实施例中,通过预先创建大于一条的连接通道,以提高并发率。
例如,BridgeA以及BridgeB之间预先创建了3条连接通道,分别为连接通道C1、连接通道C2以及连接通道C3,BridgeA以及BridgeB之间通过连接通道C1、连接通道C2以及连接通道C3进行数据传输。
对于本申请实施例,步骤S501具体可以包括:通过至少一条已创建的连接通道向第二网络服务模块发送数据包;和/或,通过至少一条已创建的连接通道接收第二网络服务模块发送的数据包。
对于本申请实施例,BridgeA可以接收对应端的业务系统中发送的数据包,并将接收到的数据包通过至少一条已创建的连接通道发送至BridgeB,然后BridgeB将接收到的数据包发送至该端对应的系统应用中;和/或,BridgeA通过至少一条已创建的连接通道接收到BridgeB发送的数据包,然后BridgeA将接收到的数据包转发至该端对应的系统应用。
例如,BridgeA接收业务系统A发送的数据包,然后将该数据包通过至少一条已创建的连接通道(C1、C2、C3)发送至BridgeB,然后BridgeB将接收到的数据包转发至业务系统A’;和/或,BridgeB接收到业务系统B’发送的数据包,并将该数据包通过至少一条已创建的连接通道(C1、C2、C3)发送至BridgeA,然后BridgeA将该数据包转发至业务系统B。
步骤S502、当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道。
对于本申请实施例,基于预先配置的配置项,确定各个连接通道对应的连接时间阈值,其中,每个连接通道对应的连接时间阈值均相同。
例如,当检测到连接通道C1的连接时间达到连接时间阈值时,创建连接通道C11。
对于本申请实施例,当任一连接通道达到连接时间阈值,创建第二连接通道可以保证第一网络服务模块与第二网络服务模块之间的连接通道的数目保持在一个特定值,从而可以在整个传输过程中只建立有点的连接通道,即可以达到在基于原有设备限制上扩展硬件连接数和维持长连接的目的。
步骤S503、通过第二连接通道与第二网络服务模块进行数据传输。
对于本申请实施例,在创建第二连接通道之后,BridgeA与BridgeB可以通过连接通道C11进行数据传输,还可以通过连接通道C2和/或连接通道C3进行数据传输。
本申请实施例提供了一种通信连接的方法,与现有技术相比,本申请实施例通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,该任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。即本申请实施例中运行在一个终端上应用与运行在另一个终端上的应用进行数据传输时,需要通过其对应的网络服务模块、网络设备以及另一侧的网络服务模块直至传输至运行在另一个终端上的应用,由于第一网络服务模块与第二网络服务模块之间的连接通道在达到连接时间阈值之后,可以通过创建新的连接通道进行数据传输,即应用与应用之间在每次进行数据传输时,不需要先进行通信连接而后再进行数据传输,从而可以降低数据传输的时延,进而可以提升用户体验。
本申请实施例的另一种可能的实现方式,其中,步骤S503具体可以包括:通过第二连接通道向第二网络服务模块发送数据包;通过第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包。
本申请实施例的另一种可能的实现方式,其中,通过第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包具体可以包括:若接收到第二网络服务模块发送的第一关闭通知消息,则通过第二连接通道接收第二网络服务模块发送的数据包;若未接收到第二网络服务模块发送的第一关闭通知消息,则通过第一连接通道接收第二网络服务模块发送的数据包。
其中,第一关闭通知消息用于通知第一网络服务模块,第二网络服务模块停止使用第一连接通道发送数据。
对于本申请实施例,BridgeA以及BridgeB中均存在消息发送处理器以及消息接收处理器。在本申请实施例中,消息发送处理器用于向对端发送消息(数据、指令),消息接收处理器用于接收对端发送的消息(数据、指令)。
对于本申请实施例,BridgeA的消息接收处理器从BridgeA中的缓存中接收消息,并判断是否接收到该第一关闭通知消息。在本申请实施例中,若接收到该第一关闭通知消息,则关闭达到连接时间阈值的第一连接通道,并停止从第一连接通道中接收数据包,开始从第二连接通道中接收数据包;若未接收到该第一关闭通知消息,则继续从该第一连接通道中接收数据包。
本申请实施例的另一种可能的实现方式中,步骤S502之后还可以包括:通过第一连接通道向第二网络服务模块发送第二关闭通知消息。
其中,第二关闭通知消息用于通知第二网络服务模块,第一网络服务模块停止使用第二连接通道发送数据。
对于本申请实施例,通过第一连接通道向第二网络服务模块发送第二关闭通知消息可以在创建第二连接通道对应的定时器之前执行,还可以在创建第二连接通道对应的定时器之后执行,还可以与创建第二连接通道对应的定时器同时执行。在本申请实施例中不做限定。
对于本申请实施例,BridgeA的消息发送处理器从第一连接通道发送第二关闭通知消息至BridgeB。在本申请实施例中,当BridgeA的消息发送处理器从第一连接通道发送第二关闭通知消息至BridgeB之后,BridgeA的消息发送处理器将从业务系统中接收到的新的数据包可以通过新创建的第二连接通道发送至BridgeB。
本申请实施例的另一种可能的实现方式,步骤S502之后还可以包括:创建第二连接通道对应的定时器。
其中,第二连接通道对应的定时器用于确定第二连接通道的连接时间是否达到连接时间阈值。
基于上述实施例,本申请实施例通过一个的实例来介绍通信连接的过程,具体如图10所示,其中BridgeA以及BridgeB中均包括消息发送处理器以及消息接收处理器,分别称为BridgeA消息发送处理器以及BridgeA消息接收处理器;BridgeB消息发送处理器以及BridgeB消息接收处理器,具体地:
步骤1、BridgeA的消息发送处理器判断连接通道C1对应的通道定时器达到连接时间阈值;
若未达到连接时间阈值,则执行步骤2.1和/或步骤2.2,其中,
步骤2.1、BridgeA的消息发送处理器继续使用当前通道C1进行消息(数据和/或指令)发送,并通过当前通道C1进入BridgeB的C1缓存库;
BridgeB消息接收处理器从其C1缓存库中读取消息(指令和/或数据);
步骤2.2、BridgeB的消息发送处理器通过C1发送消息(指令和/或数据),并通过C1进入BridgeA的C1缓存库;
BridgeA的消息接收处理器从该端C1缓存库中读取消息(指令和/或数据)。
若达到连接时间阈值,则BridgeA以及BridgeB创建新连接通道C11,并执行步骤2.3和/或步骤2.4,其中,
步骤2.3、BridgeA:
步骤2.3.1、BridgeA创建C11通道对应的定时器;
步骤2.3.2、BridgeA的消息发送处理器通过C1通道发送第二关闭通知消息至BridgeB;
步骤2.3.3、BridgeA的消息发送处理器开始把新的数据包通过C11通道发送至BridgeB;
步骤2.3.4、BridgeA的消息接收处理器从其对应的C1缓存中,并判断是否收到BridgeB的关闭通知;
若是,执行步骤2.3.5,若否,执行步骤2.3.6,其中,
步骤2.3.5、关闭C1通道,停止从C1接收数据,开始从C2接收数据;
步骤2.3.6、继续使用当前通道C1接收数据;
步骤2.4:bridgeB:
步骤2.4.1、关闭C1通道;
步骤2.4.2、BridgeB的消息发送处理器开始从C2发送数据;
步骤2.4.3、BridgeB的消息接收处理器从该端C1缓存接收消息,并判断是否收到BridgeA的第二关闭通知消息;
若是,执行步骤2.4.4;若否,执行步骤2.4.5,其中,
步骤2.4.4、停止从C1接收数据,开始从C2接收数据;
步骤2.4.5、继续使用当前通道接收数据,循环执行步骤2.4.3。
对于本申请实施例,步骤2.3.1、步骤2.3.2以及步骤S2.3.3三个步骤之间的执行顺序并不限定;步骤2.4.1、步骤2.4.2以及步骤2.4.3三个步骤之间的执行顺序并不限定。
下述实施例提供了一种通信连接的方法,即当待通过任一通道发送的至少一个数据包的数据量大于预设阈值时,对待发送的各个数据包进行截取、组装并将组装后的数据包分批传输至对端,用以解决设备支持的充足,但是在转发设备中强制设置最大连接数,以及连接数达到上限就会出现丢包、卡顿以及无法连接的问题。
本申请实施例的另一种可能的实现方式,在该实施例中主要介绍了通过某一连接通道待发送的数据包为一个时,具体的发送方式,其中,该方法还可以包括:a以及b,其中,a以及b可以在上述实施例的基础上执行,也可以不基于上述实施例实现,在本申请实施例中并不限定;进一步地,a以及b可以在通过至少一条已创建的连接通道向第二网络服务模块发送数据包的基础上实现,也可以在通过第二连接通道向第二网络服务模块发送数据包的基础上实现;其中,
a、若通过任一连接通道待发送的数据包的数据量不大于预设阈值,则将数据包直接发送至第二网络服务模块。
对于本申请实施例,该任一连接通道可以为预先创建的至少一条连接通道中的任一连接通道,也可以为新创建的第二连接通道。在本申请实施例中并不限定。
对于本申请实施例,预设阈值为预先在网络设备上配置的,同上述最大传输数据包大小。在下文中预设阈值可以称为F。
例如,当前待通过连接通道C2发送的数据包仅包含数据包DX,判断DX的数据量是否大于F,当数据包DX不大于F,则将该数据包DX直接通过该连接通道C2发送至BridgeB。
b、若通过任一连接通道待发送的数据包的数据量大于预设阈值,则将数据包按照预设截取方式进行截取,并将截取后的各段数据通过任一连接通道依次发送至第二网络服务模块。
例如,当数据包DX大于F,则按照b1、b2、b3、b4以及b5的方式发送至BridgeB。在此并不在赘述。
本申请实施例的另一种可能的实现方式,主要介绍了待通过某一连接通道发送的数据包为一个且该数据包大于预设阈值时,具体的发送方式,具体地,b中将数据包按照预设截取方式阈值进行截取,并将截取后的各段数据通过任一连接通道依次发送至第二网络服务模块,具体可以包括:b1、b2、b3、b4以及b5,其中,
b1、从数据包中截取预设阈值的数据,并将截取的数据通过任一连接通道发送至第二网络服务模块。
例如,从数据包DX中截取前F部分的数据DX’,通过连接通道C2将DX’发送至BridgeB。
b2、若检测到截取后剩余的数据的数据量大于预设阈值,则从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道依次发送至第二网络服务模块。
例如,若判断出数据包DX除DX’之外剩余数据的数据量大于F,则从剩余的数据中截取前F部分的数据DX”,并将DX”发送至BridgeB。
b3、若检测到再次截取后剩余的数据的数据量大于预设阈值,循环执行从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道依次发送至第二网络服务模块的步骤。
对于本申请实施例,当每次从数据包DX中截取F大小的数据后,剩余的数据的数据量大于预设阈值时均执行b3,直至检测到截取后剩余的数据的数据量不大于F,则执行b4。
b4、将不大于预设阈值的截取后剩余的数据通过任一连接通道发送至第二网络服务模块。
针对a、b(包括:b1、b2、b3、b4以及b5)介绍了一个具体实例,如下所述:
若当前时刻待通过某一连接通道发送数据包仅包含一个数据包DX,首先判断DX的数据量是否大于预设阈值F,若不大于,则将该DX通过该连接通道发送至BridgeB,若大于预设阈值F,则将该数据包DX从前往后依次截取预设阈值大小的数据(截取后剩余的数据可以不大于该预设阈值F),并将截取后的数据(包括截取后剩余的数据)依次通过该连接通道发送至该BridgeB。
对于本申请实施例,基于a、b(包括:b1、b2、b3、b4以及b5)以及上述步骤对应的具体实现方式,当通过某一连接通道待发送的数据包为一个,且数据量大于预设阈值时,可以通过多次截取、分批发送的方式,避免在通过该通道进行发送时出现丢包、卡顿的现象,提升用户体验。
本申请实施例的另一种可能的实现方式中,主要介绍了当通过某一连接通道待发送的数据包为至少两个,且数据总量大于预设阈值时,可以采用先进先出的发送方式和/或同步传输的发送方式,将数据包发送至第二网络服务模块,其中,该方法还可以包括:步骤701以及步骤S702,其中,步骤S701以及步骤S702可以在上述实施例的基础上执行,也可以不在上述实施例的基础上执行,在本申请实施例中并不限定。进一步地,步骤S701以及步骤S702可以在通过至少一条已创建的连接通道向第二网络服务模块发送数据包的基础上实现,也可以在通过第二连接通道向第二网络服务模块发送数据包的基础上实现;当步骤S701以及步骤S702不在上述实施例的基础上实现时,详见图4,其中,
步骤S701、当通过任一连接通道待发送的数据包包括至少两个且待发送的数据包的总数据量大于预设阈值时,确定对应的发送方式。
步骤S702、基于确定出的发送方式,并通过任一连接通道向第二网络服务模块发送数据包。
其中,确定出的发送方式包括以下至少一项:
先进先出的发送方式;
同步传输的发送方式。
对于本申请实施例,先进先出的发送方式,即优先处理以及发送先获取到的数据包,然后处理并发送后获取到的数据包,例如,当前待通过某一连接通道发送的数据包包括DX以及DY,并且BridgeA优先获取到DX,然后获取到DY,则优先处理并发送DX,然后处理发送DY,具体的发送方式详见步骤S7021-步骤S7027,在此并不在赘述;
同步传输的发送方式,即同步传输的发送方式,即当前待发送的各个数据包(无论数据包的获取顺序),同时处理并发送数据包,例如,当前待通过某一连接通道发送的数据包包括DX以及DY,并且同步处理并发送数据包DX以及DY,具体的发送方式详见步骤S7028-步骤S7033,在此不再赘述。
对于本申请实施例,当通过任一连接通道待发送的数据包包括至少两个数据包且总数据量不大于预设阈值时,将各个数据包进行组装,并通过任一连接通道发送至第二网络设备。
本申请实施例的另一种可能的实现方式,具体介绍了当通过先进先出的发送方式将待发送的至少两个数据包发送至第二网络服务模块的方式,具体方法如下所示:
若确定出的发送方式为先进先出的发送方式;则步骤S702可以包括:步骤c、步骤d、步骤e、步骤f、步骤g以及步骤h,其中,
步骤c、将各个数据包按照获取的先后顺序依次进行排列。
步骤d、排列后的各个数据包作为一个整体截取预设阈值的数据。
步骤e、将截取的数据通过任一连接通道发送至第二网络服务模块。
步骤f、若检测到截取后剩余的数据大于预设阈值,则从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道发送至第二网络服务模块。
步骤g、若检测到再次截取后剩余的数据大于预设阈值,则循环执行从截取后剩余中的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道发送至第二网络服务模块的步骤。
步骤h、将不大于预设阈值的截取后的数据通过任一连接通道发送至第二网络服务模块。
对于本申请实施例,针对c、d、e、f、g、h介绍了一个具体的实例,其中,待通过某一连接通道发送的数据包包括DX以及DY,且DX+DY的数据量大于F,其中数据包的获取顺序依次为DX、DY,将DX+DY作为一个整体,并从中截取前F部分的数据,并将前F部分的数据通过该某一连接通道发送至BridgeB,然后判断截取后剩余的数据是否还大于F,若还大于F,则还按照上述的截取方式进行截取,并将截取的数据通过该连接通道发送至BridgeB,直至判断出截取后剩余的数据不大于F,则将该剩余的数据直接不需要截取直接通过该连接通道发送至BridgeB。
本申请实施例的另一种可能的实现方式,具体介绍了当通过同步传输的发送方式将待发送的至少两个数据包发送至第二网络服务模块的方式,具体方法如下所示:
若确定出的发送方式为同步传输的发送方式,则步骤S702可以包括:i、j、k、l、m以及n,其中i、j、k、l、m以及n与c、d、e、f、g、h并不存在先后的执行顺序。
i、分别从各个数据包中截取数据,以使得截取的数据总量为预设阈值。
对于本申请实施例,各个数据包分别截取的数据量在本实施例中并不做限定。在本申请实施例中,各个数据包分别截取的数据量可以均相同,也可以均不相同,还可以几个数据包截取的数据量相同,几个数据包截取的数据量不相同。在本申请实施例中并不限定。
j、将截取到的数据进行组装,并通过任一连接通道发送至第二网络服务模块。
k、若检测到截取后各个数据包分别对应的剩余数据的总数据量大于预设阈值,分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为预设阈值。
对于本申请实施例,步骤k中判断出截取后各个数据包分别对应的剩余数据的总数据量小于预设阈值,则直接将各个数据包剩余的数据进行组装后通过该连接通道直接发送至BridgeB。
l、将再次截取到的数据进行组装,并通过任一连接通道发送至第二网络服务模块。
m、若检测到再次截取后各个数据包分别对应的剩余数据的总数据量大于预设阈值,则循环执行分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为预设阈值的步骤、将截取到的数据进行组装,并通过任一连接通道发送至第二网络服务模块的步骤。
对于本申请实施例,各个数据包分别对应的剩余数据中可以存在部分数据包的剩余数据为0的情况,也可以各个数据包分别对应的剩余数据大于0的情况。在本申请实施例中并不限定。
n、将各个数据包分别对应的剩余数据进行组装后并通过任一连接通道发送至第二网络服务模块。
针对i、j、k、l、m以及n介绍了一个具体实例,详见如下:
当待通过某一连接通道发送的数据包包括DX以及DY,且DX+DY的总数据量大于预设阈值F时,从DX中分别截取前M部分的数据以及DY中分别截取前N的数据,以使得M+N=F,并将截取的数据进行组装,并通过该某一连接通道发送至BridgeB,判断DX以及DY剩余的数据的数据量总和是否大于F,若大于F,则从各个数据包中分别再次截取数据,并且截取的数据总和为F,并将截取的数据进行组装后通过该某一连接通道发送至BridgeB,循环上述判断、截取、组装以及发送的步骤,直至判断出各个数据包剩余的数据的数据量不大于预设阈值F,将不大于预设阈值F的剩余数据进行组装后,并通过该某一连接通道发送至BridgeB。
对于本申请实施例,基于步骤S701-步骤S702(c、d、e、f、g、h和/或i、j、k、l、m以及n),当待通过某一连接通道发送的数据包包括至少两个,且各个数据包的数据总量大于预设阈值,则按照上述先入先出的发送方式和/或同步传输的发送方式,进行发送,从而可以避免同时通过某一连接通道发送数据总量较大的数据包时出现丢包、卡顿的现象,进而可以提升用户体验。
本申请实施例的另一种可能的实现方式,主要介绍了当待通过某一连接通道发送的数据包包括至少两个数据包且该至少两个数据包的总数据量大于预设阈值时,将各个数据包按照所属应用的优先级发送至第二网络服务模块,具体的发送方式详见下文:
本申请实施例提供的通信连接的方法还可以包括:步骤S801、步骤S802以及步骤S803,其中步骤S801、步骤S802以及步骤S803可以在上述实施例的基础上执行,也可以不在上述实施例的基础上执行,在本申请实施例中并不限定。进一步地,步骤S801、步骤S802以及步骤S803可以在通过至少一条已创建的连接通道向第二网络服务模块发送数据包的基础上实现,也可以在通过第二连接通道向第二网络服务模块发送数据包的基础上实现;当步骤S801、步骤S802以及步骤S803不在上述实施例的基础上实现时,详见图5,其中,
步骤S801、当通过任一连接通道待发送的数据包包括至少两个数据包,且至少两个数据包的总数据量大于预设阈值时,确定各个数据包分别所属应用。
对于本申请实施例,当通过任一连接通道待发送的数据包包括至少两个数据包且总数据量不大于预设阈值时,将各个数据包进行组装,并通过任一连接通道发送至第二网络设备。
对于本申请实施例,若步骤S801确定出各个数据包所属应用均相同,或者各个数据包所属应用虽不相同,但是所属应用的优先级均相同,则按照上述先入先出的发送方式和/或同步传输的发送方式将数据包发送至第二网络服务模块。其中,先入先出的发送方式详见上述c、d、e、f、g、h,同步传输的发送方式详见上述i、j、k、l、m以及n。在本申请实施例中并不限定。
步骤S802、若确定出各个数据包分别所属的应用为至少两个应用,则确定至少两个应用中各个应用分别对应的优先级。
步骤S803、基于至少两个应用中各个应用分别对应的优先级,并通过任一连接通道发送至第二网络服务模块。
本申请实施例的另一种可能的实现方式,当步骤S802中确定出各个应用分别对应的优先级均不相同,则步骤S803可以包括p1、p2、p3、p4、p5以及p6,其中,
p1、从各个应用对应的数据包中分别截取对应数据量的数据。
其中,截取的数据对应的数据量总和等于预设阈值,且截取的数据对应的数据量按照应用的优先级依次降低。
对于本申请实施例,所属于一个应用的数据包可以为一个也可以为多个。在本申请实施例中并不限定。
对于本申请实施例,当某一个应用对应的数据包为至少两个时,在每次截取数据时可以均从各个数据包截取一部分的数据,也可以先从一个数据包中截取部分数据,当该数据包的剩余量不足时,再从另一个数据包中截取。在本申请实施例中并不限定。
例如,当某一应用对应的数据包包括数据包DX以及数据包DY,则可以在每次截取时,先从DX中截取一部分的数据,当DX中剩余数据的数据量不足时,再从DY中截取;也可以在每次截取时,从DX以及DY中均获取特定数量的数据。
p2、将截取的数据进行组装并通过任一连接通道进行发送。
p3、若检测到各个应用分别对应的剩余数据的总数据量大于预设阈值,则从各个应用分别对应的剩余的数据中分别再次截取对应数据量的数据,并将截取的数据进行组装并通过任一连接通道进行发送。
对于本申请实施例,p3之前还可以包括:判断各个应用分别对应的剩余数据的总数据量是否大于预设阈值。
对于本申请实施例,若判断出各个应用分别对应的剩余数据的总数据量不大于预设阈值时,则直接将各个应用分别对应的剩余数据进行组装,并将组装后的数据通过该任一连接通道发送至第二网络服务模块(即p5);若判断出各个应用分别对应的剩余数据的总数据量大于预设阈值时,则执行p3、p4、p5。
p4、若检测到各个应用再次截取后分别对应的剩余数据的总数据量大于预设阈值,则循环执行从各个应用对应的数据包中分别再次截取对应数据量的数据的步骤以及将将截取的数据进行组装并通过任一连接通道进行发送的步骤。
p5、将不大于预设阈值的各个应用剩余的数据进行组装并通过任一连接通道发送至第二网络服务模块。
针对p1、p2、p3、p4、p5介绍了一个具体实例,详见下文:
当待通过某一连接通道发送的数据包包括DX、DY以及DZ,且DX+DY+DZ的总数据量大于预设阈值F时,且DX、DY对应第一应用;DZ对应第二应用,并且第一应用的优先级高于第二应用的优先级,则从DX和/或DY中截取M数据量的数据,从DZ中截取N数据量的数据,其中M>N,并将截取到的M数据量的数据以及截取到的N数据量的数据进行组装后通过该任一连接通道发送至第二网络服务模块,然后判断截取后各个数据包剩余数据的总量是否大于预设阈值F,若仍大于,在再次按照上述截取方式从各个数据包中截取数据,并进行组装后发送至第二网络服务模块,依次循环上述判断、截取、组装以及发送的步骤,直至判断出各个数据包剩余数据的数据量不大于预设阈值F,然后不大于预设阈值的剩余数据通过该任一连接通道发送至第二网络服务模块。
对于本申请实施例,基于上述步骤S801-步骤S803(p1、p2、p3、p4、p5),当待通过某一连接通道发送至少两个数据包,且数据总量大于预设阈值F,则基于各个数据包所属的应用的优先级进行发送,即优先级高每次发送的数据量大于优先级低的数据包每次发送的数据量,从而可以使得优先级较多的应用对应的数据包先于优先级低的应用对应的数据包发送的对端,从而可以提升用户体验;再者在发送数据包时,仍然通过多次截取,分批发送的方式,从而可以避免在数据传输的过程中出现丢包、卡顿的现象,进而可以进一步地提升用户体验。
本申请实施例的另一种可能的实现方式,该实现方式主要介绍了BridgeA发送任一应用下一个数据包的方式,具体如下所示:该方法还包括:步骤S901以及步骤S902,其中,步骤S901以及步骤S902可以在上述实施例的基础上实现,也可以不在上述实施例的基础上实现,在本申请实施例中不做限定,当步骤S901以及步骤S902在上述实施例的基础上实现时,步骤S901以及步骤S902可以在步骤S501之后执行,还可以在步骤S503之后执行,在此并不做限定;当步骤S901以及步骤S902不在上述实施例的基础上实现时,详见图6所示,其中,
步骤S901、当检测到任一应用对应的一个数据包中的数据已全部发送至第二网络服务模块时,向第二网络服务模块发送任一应用对应的结束标志。
对于本申请实施例,当一个数据包中的数据已全部发送至第二网络服务模块时,确定该数据包所属应用,并将该应用对应的结束标志发送至第二网络服务模块。在本申请实施例中,第二网络服务模块在检测到该某一应用对应的结束标志时,向第一网络服务模块发送请求消息,用于请求发送当前接收到结束标志的应用对应的下一个数据包。
例如,当第一网络服务模块检测到数据包DZ中的数据已全部发送至第二网络服务模块时,确定出该数据包DZ对应的应用为第二应用,则将第二应用对应的结束标志发送至第二网络服务模块。当第二网络服务模块接收到第二应用对应的结束标志时,向第一网络服务模块发送请求发送第二应用对应的下一个数据包的请求消息。
步骤S902、当接收到第二网络服务模块发送的数据包发送请求消息,向第二网络服务模块发送任一应用对应的数据包。
其中,数据包发送请求消息为第二网络服务模块接收到任一应用对应的结束标志时发送的。
对于本申请实施例,该请求消息中可以携带有待请求发送的数据包所属应用标识。在本申请实施例中,第一网络服务模块当接收到第二网络服务模块发送的请求消息时,确定待请求发送数据包对应的应用,并发送该应用对应的下一个数据包至第二网络服务模块。
对于本申请实施例,当第二网络服务模块接收到某一应用对应的结束标志时,才请求第一网络服务模块发送该应用对应的下一个数据包,从而可以保证一个应用对应的数据包的发送顺序,避免将后获取到的数据包先发送至第二网络服务模块,进而可以提升用户体验。
本申请实施例提供了一种通信连接的装置,如图7所示,该装置1000包括:数据传输模块1001、第一创建模块1002,其中,
数据传输模块1001,用于通过至少一条已创建的连接通道与第二网络服务模块进行数据传输。
其中,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。
第一创建模块1002,用于当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道。
数据传输模块1001,还用于通过第一创建模块1002创建后的第二连接通道与第二网络服务模块进行数据传输。
本申请实施例提供了一种通信连接的装置,与现有技术相比,本申请实施例通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,该任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。即本申请实施例中运行在一个终端上应用与运行在另一个终端上的应用进行数据传输时,需要通过其对应的网络服务模块、网络设备以及另一侧的网络服务模块直至传输至运行在另一个终端上的应用,由于第一网络服务模块与第二网络服务模块之间的连接通道在达到连接时间阈值之后,可以通过创建新的连接通道进行数据传输,即应用与应用之间在每次进行数据传输时,不需要先进行通信连接而后再进行数据传输,从而可以降低数据传输的时延,进而可以提升用户体验。
本申请实施例提供了另一种通信连接的装置,如图8所示,该装置1100包括:数据传输模块1101、第一创建模块1102,其中,
数据传输模块1101,用于通过至少一条已创建的连接通道与第二网络服务模块进行数据传输。
其中,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。
其中,图8中的数据传输模块1101与图7中数据传输模块1001的功能相同或者相似。
第一创建模块1102,用于当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道。
其中,图8中的第一创建模块1102与图7中第一创建模块1002的功能相同或者相似。
数据传输模块1101,还用于通过第一创建模块1102创建后的第二连接通道与第二网络服务模块进行数据传输。
本申请实施例的一种可能的实现方式,数据传输模块1101,具体用于通过第二连接通道向第二网络服务模块发送数据包。
数据传输模块1101,具体还用于通过第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包。
本申请实施例的另一种可能的实现方式,数据传输模块1101,具体还用于当接收到第二网络服务模块发送的第一关闭通知消息时,通过第二连接通道接收第二网络服务模块发送的数据包。
其中,第一关闭通知消息用于通知第一网络服务模块,第二网络服务模块停止使用第一连接通道发送数据。
数据传输模块1101,具体还用于当未接收到第二网络服务模块发送的第一关闭通知消息时,通过第一连接通道接收第二网络服务模块发送的数据包。
本申请实施例的另一种可能的实现方式,如图8所示,该装置1100还可以包括:第二创建模块1103,其中,
第二创建模块1103,用于创建第二连接通道对应的定时器。
其中,第二连接通道对应的定时器用于确定第二连接通道的连接时间是否达到连接时间阈值。
对于本申请实施例,第一创建模块1102与第二创建模块1103可以为同一个创建模块,还可以为两个不同的创建模块。在图8中第二创建模块1102与第二创建模块1103为两个不同的创建模块,但是不限于图8。
本申请实施例的另一种可能的实现方式,如图8所示,数据传输模块1101包括:第一发送单元、第一截取单元以及第二发送单元,其中,
第一发送单元,用于当通过任一连接通道待发送的数据包的数据量不大于预设阈值时,将数据包直接发送至第二网络服务模块。
第一截取单元,用于当通过任一连接通道待发送的数据包的数据量大于预设阈值时,将数据包按照预设截取方式进行截取。
第二发送单元,用于将第一截取单元截取后的各段数据通过任一连接通道依次发送至第二网络服务模块。
本申请实施例的另一种可能的实现方式,如图8所示,第一截取单元包括:第一截取子单元、第二截取子单元、第一循环子单元,第二发送单元包括:第一发送子单元、第二发送子单元以及第三发送子单元,其中,
第一截取子单元,用于从数据包中截取预设阈值的数据。
第一发送子单元,用于将第一截取子单元截取的数据通过任一连接通道依次发送至第二网络服务模块。
第二截取子单元,用于当检测到截取后剩余的数据的数据量大于预设阈值时,从截取后剩余的数据中再次截取预设阈值的数据。
第二发送子单元,用于将截取的数据通过任一连接通道依次发送至第二网络服务模块。
当检测到再次截取后剩余的数据的数据量大于预设阈值时,第一循环子单元,用于循环执行从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道依次发送至第二网络服务模块的步骤。
第三发送子单元,用于将不大于预设阈值的截取后剩余的数据通过任一连接通道发送至第二网络服务模块。
对于本申请实施例,当待通过某一连接通道发送的数据包为一个,且数据量大于预设阈值时,可以通过多次截取、分批发送的方式,避免在通过该通道进行发送时出现丢包、卡顿的现象,提升用户体验。
当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,数据传输模块1101包括:排列单元、第二截取单元、第三发送单元、第三截取单元、第四发送单元、第一循环单元以及第五发送单元,其中,
排列单元,用于将各个数据包按照获取的先后顺序依次进行排列。
第二截取单元,用于将排列单元排列后的各个数据包作为一个整体截取预设阈值的数据。
第三发送单元,用于将截取的数据通过任一连接通道发送至第二网络服务模块。
第三截取单元,用于当检测到截取后剩余的数据大于预设阈值时,从截取后剩余的数据中截取预设阈值的数据。
第四发送单元,用于将第三截取单元截取的数据通过任一连接通道发送至第二网络服务模块。
当检测到再次截取后剩余的数据大于预设阈值时,第一循环单元,用于循环执行从截取后剩余中的数据中再次截取预设阈值的数据,并将截取的数据通过任一连接通道发送至第二网络服务模块的步骤。
第五发送单元,用于将不大于预设阈值的截取后的数据通过任一连接通道发送至第二网络服务模块。
本申请实施例的另一种可能的实现方式,当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,数据传输模块1101还包括:第四截取单元、第一组装单元、第六发送单元、第五截取单元、第二组装单元、第七发送单元、第二循环单元、第三组装单元、第八发送单元,其中,
第四截取单元,用于分别从各个数据包中截取数据,以使得截取的数据总量为预设阈值。
第一组装单元,用于将第四截取单元截取到的数据进行组装。
第六发送单元,用于将第一组装单元组装后的数据通过任一连接通道发送至第二网络服务模块。
第五截取单元,用于当检测到截取后各个数据包分别对应的剩余数据的总数据量大于预设阈值,分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为预设阈值。
对于本申请实施例,第一截取单元、第二截取单元、第三截取单元、第四截取单元、第五截取单元可以均为相同的截取单元,也可以均为不同的截取单元,还可以部分为相同的截取单元、部分为不同的截取单元。在本申请实施例中不做限定。
第二组装单元,用于将第五截取单元再次截取到的数据进行组装。
第七发送单元,用于将第二组装单元组装后的数据通过任一连接通道发送至第二网络服务模块。
当检测到再次截取后各个数据包分别对应的剩余数据的总数据量大于预设阈值时,第二循环单元,用于循环执行分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为预设阈值的步骤、将截取到的数据进行组装,并通过任一连接通道发送至第二网络服务模块的步骤。
第三组装单元,用于将各个数据包分别对应的剩余数据进行组装。
第八发送单元,用于将第三组装单元组装后的数据通过任一连接通道发送至第二网络服务模块。
本申请实施例的另一种可能的实现方式,数据传输模块1101还包括:第一确定单元、第二确定单元以及第九发送单元,其中,
第一确定单元,用于当通过任一连接通道待发送的数据包包括至少两个数据包,且至少两个数据包的总数据量大于预设阈值时,确定各个数据包分别所属应用。
第二确定单元,用于当第一确定单元确定出各个数据包分别所属的应用为至少两个应用时,确定至少两个应用中各个应用分别对应的优先级。
对于本申请实施例,第一确定单元与第二确定单元可以为相同的确定单元,也可以为不同的确定单元。在本申请实施例中不做限定。
第九发送单元,用于基于第二确定单元确定出的至少两个应用中各个应用分别对应的优先级,并通过任一连接通道发送至第二网络服务模块。
对于本申请实施例,当待通过某一连接通道发送的数据包包括至少两个,且各个数据包的数据总量大于预设阈值,则按照上述先入先出的发送方式和/或同步传输的发送方式,进行发送,从而可以避免同时通过某一连接通道发送数据总量较大的数据包时出现丢包、卡顿的现象,进而可以提升用户体验。
本申请实施例的另一种可能的实现方式,第九发送单元包括:第三截取子单元、第一组装子单元、第四发送子单元、第四截取子单元、第二组装子单元、第五发送子单元、第二循环子单元、第三组装子单元以及第六发送子单元,其中,
第三截取子单元,用于从各个应用对应的数据包中分别截取对应数据量的数据,截取的数据对应的数据量总和等于预设阈值,且截取的数据对应的数据量按照应用的优先级依次降低。
对于本申请实施例,第一截取子单元、第二截取子单元、第三截取子单元可以均为相同的截取子单元,也可以均为不同的截取子单元,还可以部分为相同的截取子单元。在本申请实施例中不做限定。
第一组装子单元,用于将第三截取子单元截取的数据进行组装。
第四发送子单元,用于将第一组装子单元组装后数据通过任一连接通道进行发送。
当检测到各个应用分别对应的剩余数据的总数据量大于预设阈值时,第四截取子单元,用于从各个应用分别对应的剩余的数据中分别再次截取对应数据量的数据。
第二组装子单元,用于将第四截取子单元截取的数据进行组装。
第五发送子单元,用于将第二组装子单元组装后的数据通过任一连接通道进行发送。
若检测到各个应用再次截取后分别对应的剩余数据的总数据量大于预设阈值,第二循环子单元,用于执行从各个应用对应的数据包中分别再次截取对应数据量的数据的步骤以及将将截取的数据进行组装并通过任一连接通道进行发送的步骤。
对于本申请实施例,第一循环子单元与第二循环子单元可以为相同的循环子单元,也可为不同的循环子单元。在本申请实施例中不做限定。
第三组装子单元,用于将不大于预设阈值的各个应用剩余的数据进行组装。
对于本申请实施例,第一组装子单元、第二组装子单元以及第三组装子单元可以均为相同的组装子单元,也可以均为不同的组装子单元,还可以其中部分为相同的组装子单元。在本申请实施例中不做限定。
第六发送子单元,用于将第三组装子单元组装后的数据通过任一连接通道发送至第二网络服务模块。
对于本申请实施例,第一发送子单元、第二发送子单元、第三发送子单元、第四发送子单元、第五发送子单元以及第六发送子单元可以为相同的发送子单元,也可以均为不同的发送子单元,也可以部分为相同的发送子单元,部分为不同的发送子单元。在本申请实施例中不做限定。
本申请实施例的另一种可能的实现方式,该数据传输模块1101还包括:第四组装单元、第十发送单元,其中,
第四组装单元,用于当通过任一连接通道待发送的数据包包括至少两个数据包且总数据量不大于预设阈值时,将各个数据包进行组装。
对于本申请实施例,第一组装单元、第二组装单元、第三组装单元、第四组装单元中可以均为相同的组装单元,也可以均为不同的组装单元,还可以部分为相同的组装单元,部分为不同的组装单元。在本申请实施例中并不做限定。
第十发送单元,用于将第四组装单元组装后的数据通过任一连接通道发送至第二网络设备。
对于本申请实施例,第一发送单元、第二发送单元、第三发送单元、第四发送单元、第五发送单元、第六发送单元、第七发送单元、第八发送单元、第九发送单元、第十发送单元可以为同一个发送单元,也可以均为不同的发送单元,也可以有的为相同的发送单元,有的为不同的发送单元。在本申请实施例中并不做限定。
对于本申请实施例,当待通过某一连接通道发送至少两个数据包,且数据总量大于预设阈值F,则基于各个数据包所属的应用的优先级进行发送,即优先级高每次发送的数据量大于优先级低的数据包每次发送的数据量,从而可以使得优先级较多的应用对应的数据包先于优先级低的应用对应的数据包发送的对端,从而可以提升用户体验;再者在发送数据包时,仍然通过多次截取,分批发送的方式,从而可以避免在数据传输的过程中出现丢包、卡顿的现象,进而可以进一步地提升用户体验。
本申请实施例的另一种可能的实现方式,网络设备上配置有以下至少一项服务信息:
监听的端口数组;调试信息;传输数据包的最大值;最大发送队列;处理远程传输控制协议TCP连接时的端口映射关系。
本申请实施例的另一种可能的实现方式,如图8所示,该装置1100还包括:第一发送模块1104、第二发送模块1105,其中,
第一发送模块1104,用于当检测到任一应用对应的一个数据包中的数据已全部发送至第二网络服务模块时,向第二网络服务模块发送任一应用对应的结束标志。
第二发送模块1105,用于当接收到第二网络服务模块发送的数据包发送请求消息,向第二网络服务模块发送任一应用对应的数据包。
其中,数据包发送请求消息为第二网络服务模块接收到任一应用对应的结束标志时发送的。
对于本申请实施例,第一发送模块1104与第二发送模块1105可以为同一个发送模块,也可以为两个不同的发送模块。在图8中展示第一发送模块1104与第二发送模块1105为两种不同的发送模块,但是不限于图8中展示的情况。
对于本申请实施例,当第二网络服务模块接收到某一应用对应的结束标志时,才请求第一网络服务模块发送该应用对应的下一个数据包,从而可以保证一个应用对应的数据包的发送顺序,避免将后获取到的数据包先发送至第二网络服务模块,进而可以提升用户体验。
本申请实施例提供了一种通信连接的装置,与现有技术相比,本申请实施例通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,该任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。即本申请实施例中运行在一个终端上应用与运行在另一个终端上的应用进行数据传输时,需要通过其对应的网络服务模块、网络设备以及另一侧的网络服务模块直至传输至运行在另一个终端上的应用,由于第一网络服务模块与第二网络服务模块之间的连接通道在达到连接时间阈值之后,可以通过创建新的连接通道进行数据传输,即应用与应用之间在每次进行数据传输时,不需要先进行通信连接而后再进行数据传输,从而可以降低数据传输的时延,进而可以提升用户体验。
本申请实施例提供了一种电子设备,如图9所示,图9所示的电子设备1200包括:处理器1201和存储器1203。其中,处理器1201和存储器1203相连,如通过总线1202相连。可选地,电子设备1200还可以包括收发器1204。需要说明的是,实际应用中收发器1204不限于一个,该电子设备1200的结构并不构成对本申请实施例的限定。
其中,处理器1201应用于本申请实施例中,用于实现图7所示的数据传输模块以及第一创建模块的功能和/或图8所示的第二创建模块、第二发送模块以及第三发送模块。收发器1204包括接收机和发射机,收发器1204应用于本申请实施例中,用于实现与其它电子设备进行信息交互。
处理器1201可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1201也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1202可包括一通路,在上述组件之间传送信息。总线1202可以是PCI总线或EISA总线等。总线1202可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1203可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1203用于存储执行本申请方案的应用程序代码,并由处理器1201来控制执行。处理器1201用于执行存储器1203中存储的应用程序代码,以实现图7或图8所示实施例提供的通信连接的装置执行的动作。
本申请实施例提供了一种电子设备,与现有技术相比,本申请实施例通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,该任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。即本申请实施例中运行在一个终端上应用与运行在另一个终端上的应用进行数据传输时,需要通过其对应的网络服务模块、网络设备以及另一侧的网络服务模块直至传输至运行在另一个终端上的应用,由于第一网络服务模块与第二网络服务模块之间的连接通道在达到连接时间阈值之后,可以通过创建新的连接通道进行数据传输,即应用与应用之间在每次进行数据传输时,不需要先进行通信连接而后再进行数据传输,从而可以降低数据传输的时延,进而可以提升用户体验。
本申请实施例提供了一种电子设备适用于上述方法任一实施例。在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的通信连接的方法。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,本申请实施例通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,该任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,当检测到已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过第二连接通道与第二网络服务模块进行数据传输,第一网络服务模块以及第二网络服务模块用于与各自对应的应用进行数据传输。即本申请实施例中运行在一个终端上应用与运行在另一个终端上的应用进行数据传输时,需要通过其对应的网络服务模块、网络设备以及另一侧的网络服务模块直至传输至运行在另一个终端上的应用,由于第一网络服务模块与第二网络服务模块之间的连接通道在达到连接时间阈值之后,可以通过创建新的连接通道进行数据传输,即应用与应用之间在每次进行数据传输时,不需要先进行通信连接而后再进行数据传输,从而可以降低数据传输的时延,进而可以提升用户体验。
本申请实施例提供了一种计算机可读存储介质适用于上述方法任一实施例。在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种通信连接的方法,其特征在于,包括:
通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,所述第一网络服务模块以及所述第二网络服务模块用于与各自对应的应用进行数据传输;
当检测到所述已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道,并通过所述第二连接通道与所述第二网络服务模块进行数据传输;其中,所述连接时间阈值小于所述第一连接通道的最大连接时间;
所述通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,包括:
接收所述第一网络服务模块对应侧的应用发送的数据包,将该数据包通过至少一条已创建的连接通道发送给所述第二网络服务模块,以通过所述第二网络服务模块将该数据包发送给所述第二网络服务模块对应侧的应用;
通过至少一条已创建的连接通道接收第二网络服务模块发送的数据包,并将该数据包发送给所述第一网络服务模块对应侧的应用,其中,该数据包为所述第二网络服务模块从所述第二网络服务模块对应侧的应用接收到的。
2.根据权利要求1所述的方法,其特征在于,通过所述第二连接通道与所述第二网络服务模块进行数据传输,包括:
通过所述第二连接通道向第二网络服务模块发送数据包;
通过所述第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包。
3.根据权利要求2所述的方法,其特征在于,通过所述第二连接通道或者第一连接通道接收第二网络服务模块发送的数据包,包括:
若接收到第二网络服务模块发送的第一关闭通知消息,则通过所述第二连接通道接收所述第二网络服务模块发送的数据包,所述第一关闭通知消息用于通知所述第一网络服务模块,所述第二网络服务模块停止使用第一连接通道发送数据;
若未接收到所述第二网络服务模块发送的第一关闭通知消息,则通过所述第一连接通道接收第二网络服务模块发送的数据包。
4.根据权利要求1所述的方法,其特征在于,所述创建第二连接通道,之后还包括:
创建所述第二连接通道对应的定时器,所述第二连接通道对应的定时器用于确定所述第二连接通道的连接时间是否达到连接时间阈值。
5.根据权利要求1-4任一项所述的方法,其特征在于,当通过任一连接通道待发送的数据包为一个时,所述方法还包括:
若通过任一连接通道待发送的数据包的数据量不大于预设阈值,则将所述数据包直接发送至所述第二网络服务模块;
若通过任一连接通道待发送的数据包的数据量大于所述预设阈值,则将所述数据包按照预设截取方式进行截取,并将截取后的各段数据通过所述任一连接通道依次发送至所述第二网络服务模块。
6.根据权利要求5所述的方法,其特征在于,所述将所述数据包按照预设截取方式阈值进行截取,并将截取后的各段数据通过所述任一连接通道依次发送至所述第二网络服务模块,包括:
从所述数据包中截取预设阈值的数据,并将截取的数据通过所述任一连接通道依次发送至所述第二网络服务模块;
若检测到截取后剩余的数据的数据量大于所述预设阈值,则从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过所述任一连接通道依次发送至所述第二网络服务模块;
若检测到再次截取后剩余的数据的数据量大于所述预设阈值,循环执行从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过所述任一连接通道依次发送至所述第二网络服务模块的步骤;
将不大于所述预设阈值的截取后剩余的数据通过所述任一连接通道发送至所述第二网络服务模块。
7.根据权利要求1-4任一项所述的方法,其特征在于,当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,所述方法还包括:
将各个数据包按照获取的先后顺序依次进行排列;
排列后的各个数据包作为一个整体截取预设阈值的数据;
将截取的数据通过所述任一连接通道发送至所述第二网络服务模块;
若检测到截取后剩余的数据大于预设阈值,则从截取后剩余的数据中再次截取预设阈值的数据,并将截取的数据通过所述任一连接通道发送至所述第二网络服务模块;
若检测到再次截取后剩余的数据大于预设阈值,则循环执行从截取后剩余中的数据中再次截取预设阈值的数据,并将截取的数据通过所述任一连接通道发送至所述第二网络服务模块的步骤;
将不大于所述预设阈值的截取后的数据通过所述任一连接通道发送至所述第二网络服务模块。
8.根据权利要求1-4任一项所述的方法,其特征在于,当通过任一连接通道待发送的数据包包括至少两个且待发送的数据的总数据量大于预设阈值时,所述方法还包括:
分别从各个数据包中截取数据,以使得截取的数据总量为预设阈值;
将截取到的数据进行组装,并通过所述任一连接通道发送至所述第二网络服务模块;
若检测到截取后各个数据包分别对应的剩余数据的总数据量大于所述预设阈值,分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为所述预设阈值;
将再次截取到的数据进行组装,并通过所述任一连接通道发送至所述第二网络服务模块;
若检测到再次截取后各个数据包分别对应的剩余数据的总数据量大于所述预设阈值,则循环执行分别从各个数据包分别对应的剩余数据中再次截取数据,以使得截取到的数据总量为所述预设阈值的步骤、将截取到的数据进行组装,并通过所述任一连接通道发送至所述第二网络服务模块的步骤;
将所述各个数据包分别对应的剩余数据进行组装后并通过所述任一连接通道发送至所述第二网络服务模块。
9.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
当通过任一连接通道待发送的数据包包括至少两个数据包,且所述至少两个数据包的总数据量大于预设阈值时,确定各个数据包分别所属应用;
若确定出各个数据包分别所属的应用为至少两个应用,则确定所述至少两个应用中各个应用分别对应的优先级;
基于所述至少两个应用中各个应用分别对应的优先级,并通过所述任一连接通道发送至所述第二网络服务模块;
其中,基于所述至少两个应用中各个应用分别对应的优先级,并通过所述任一连接通道发送至所述第二网络服务模块,包括:
从各个应用对应的数据包中分别截取对应数据量的数据,截取的数据对应的数据量总和等于所述预设阈值,且所述截取的数据对应的数据量按照应用的优先级依次降低;
将截取的数据进行组装并通过所述任一连接通道进行发送;
若检测到各个应用分别对应的剩余数据的总数据量大于所述预设阈值,则从各个应用分别对应的剩余的数据中分别再次截取对应数据量的数据,并将截取的数据进行组装并通过所述任一连接通道进行发送;
若检测到各个应用再次截取后分别对应的剩余数据的总数据量大于所述预设阈值,则循环执行从各个应用对应的数据包中分别再次截取对应数据量的数据的步骤以及将将截取的数据进行组装并通过所述任一连接通道进行发送的步骤;
将不大于所述预设阈值的各个应用剩余的数据进行组装并通过所述任一连接通道发送至所述第二网络服务模块。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当通过任一连接通道待发送的数据包包括至少两个数据包且总数据量不大于预设阈值时,将各个数据包进行组装,并通过所述任一连接通道发送至所述第二网络设备。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到任一应用对应的一个数据包中的数据已全部发送至所述第二网络服务模块时,向第二网络服务模块发送所述任一应用对应的结束标志;
当接收到所述第二网络服务模块发送的数据包发送请求消息,向所述第二网络服务模块发送所述任一应用对应的数据包,所述数据包发送请求消息为所述第二网络服务模块接收到所述任一应用对应的结束标志时发送的。
12.一种通信连接的装置,其特征在于,包括:
数据传输模块,用于通过至少一条已创建的连接通道与第二网络服务模块进行数据传输,任一连接通道为第一网络服务模块通过网络设备与第二网络服务模块进行连接的连接通道,所述第一网络服务模块以及所述第二网络服务模块用于与各自对应的应用进行数据传输;
第一创建模块,用于当检测到所述已创建的连接通道中的第一连接通道的连接时间达到连接时间阈值时,创建第二连接通道;其中,所述连接时间阈值小于所述第一连接通道的最大连接时间;
所述数据传输模块,还用于通过所述第一创建模块创建后的第二连接通道与所述第二网络服务模块进行数据传输;
所述数据传输模块在通过至少一条已创建的连接通道与第二网络服务模块进行数据传输时,具体用于:
接收所述第一网络服务模块对应侧的应用发送的数据包,将该数据包通过至少一条已创建的连接通道发送给所述第二网络服务模块,以通过所述第二网络服务模块将该数据包发送给所述第二网络服务模块对应侧的应用;
通过至少一条已创建的连接通道接收第二网络服务模块发送的数据包,并将该数据包发送给所述第一网络服务模块对应侧的应用,其中,该数据包为所述第二网络服务模块从所述第二网络服务模块对应侧的应用接收到的。
13.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据权利要求1~11任一项所述的通信连接的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-11任一项所述的通信连接的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910002416.XA CN110213320B (zh) | 2019-01-02 | 2019-01-02 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910002416.XA CN110213320B (zh) | 2019-01-02 | 2019-01-02 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213320A CN110213320A (zh) | 2019-09-06 |
CN110213320B true CN110213320B (zh) | 2021-11-02 |
Family
ID=67784991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910002416.XA Active CN110213320B (zh) | 2019-01-02 | 2019-01-02 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213320B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929393A (zh) * | 2019-12-05 | 2021-06-08 | 中兴通讯股份有限公司 | 一种建立http/2连接的方法、系统、装置和电子设备 |
CN111092419B (zh) * | 2019-12-31 | 2022-01-07 | 许继集团有限公司 | 一种保信子站及其针对主站命令的优先级响应方法 |
CN112311759B (zh) * | 2020-09-14 | 2022-06-14 | 浙江宇视科技有限公司 | 一种混合网络下的设备连接切换方法和系统 |
CN113765882B (zh) * | 2021-07-27 | 2023-08-25 | 子长科技(北京)有限公司 | 逻辑隔离的跨域信息传输系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547198A (zh) * | 2009-01-22 | 2009-09-30 | 联想网御科技(北京)有限公司 | 一种网络安全设备的连接控制方法及设备 |
CN104468696A (zh) * | 2014-06-13 | 2015-03-25 | 物联智慧股份有限公司 | 用以进行点对点连接的方法、服务器与装置 |
CN105516252A (zh) * | 2015-11-26 | 2016-04-20 | 华为技术有限公司 | Tcp连接的切换方法、装置和系统 |
CN105677451A (zh) * | 2014-11-18 | 2016-06-15 | 北京风行在线技术有限公司 | 一种用于多进程的负载均衡的方法和设备 |
CN106713454A (zh) * | 2016-12-22 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 一种网络连接方法及装置 |
CN107454632A (zh) * | 2016-05-30 | 2017-12-08 | 中国移动通信有限公司研究院 | 一种切换过程中的业务处理方法、基站及终端 |
CN107689894A (zh) * | 2017-10-09 | 2018-02-13 | 用友网络科技股份有限公司 | 远程运维和动态部署的方法及系统 |
US9930122B1 (en) * | 2012-09-28 | 2018-03-27 | Open Text Corporation | Method and system for connection pooling for content management clients |
CN108092993A (zh) * | 2017-12-29 | 2018-05-29 | 税友软件集团股份有限公司 | 一种网络数据传输控制方法和系统 |
CN108401002A (zh) * | 2017-02-07 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 文件传输方法及设备 |
CN108900370A (zh) * | 2018-06-08 | 2018-11-27 | 努比亚技术有限公司 | 长连接多重超时判断方法、装置及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602008003959D1 (de) * | 2007-09-20 | 2011-01-27 | Ericsson Telefon Ab L M | Verbesserte Verwendung von Datenverknüpfungen |
KR101552170B1 (ko) * | 2014-02-27 | 2015-09-11 | 주식회사 티맥스 소프트 | 더미 http를 이용한 연결 관리 방법 및 그 장치 |
US10050884B1 (en) * | 2017-03-21 | 2018-08-14 | Citrix Systems, Inc. | Method to remap high priority connection with large congestion window to high latency link to achieve better performance |
-
2019
- 2019-01-02 CN CN201910002416.XA patent/CN110213320B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547198A (zh) * | 2009-01-22 | 2009-09-30 | 联想网御科技(北京)有限公司 | 一种网络安全设备的连接控制方法及设备 |
US9930122B1 (en) * | 2012-09-28 | 2018-03-27 | Open Text Corporation | Method and system for connection pooling for content management clients |
CN104468696A (zh) * | 2014-06-13 | 2015-03-25 | 物联智慧股份有限公司 | 用以进行点对点连接的方法、服务器与装置 |
CN105677451A (zh) * | 2014-11-18 | 2016-06-15 | 北京风行在线技术有限公司 | 一种用于多进程的负载均衡的方法和设备 |
CN105516252A (zh) * | 2015-11-26 | 2016-04-20 | 华为技术有限公司 | Tcp连接的切换方法、装置和系统 |
CN107454632A (zh) * | 2016-05-30 | 2017-12-08 | 中国移动通信有限公司研究院 | 一种切换过程中的业务处理方法、基站及终端 |
CN106713454A (zh) * | 2016-12-22 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 一种网络连接方法及装置 |
CN108401002A (zh) * | 2017-02-07 | 2018-08-14 | 腾讯科技(深圳)有限公司 | 文件传输方法及设备 |
CN107689894A (zh) * | 2017-10-09 | 2018-02-13 | 用友网络科技股份有限公司 | 远程运维和动态部署的方法及系统 |
CN108092993A (zh) * | 2017-12-29 | 2018-05-29 | 税友软件集团股份有限公司 | 一种网络数据传输控制方法和系统 |
CN108900370A (zh) * | 2018-06-08 | 2018-11-27 | 努比亚技术有限公司 | 长连接多重超时判断方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110213320A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213320B (zh) | 通信连接的方法、装置、电子设备及计算机可读存储介质 | |
US9392081B2 (en) | Method and device for sending requests | |
CN107135279B (zh) | 一种处理长连接建立请求的方法和装置 | |
CN113014528B (zh) | 报文处理方法、处理单元及虚拟专用网络服务器 | |
CN102769603A (zh) | 一种数据传输的方法、系统及设备 | |
US10609125B2 (en) | Method and system for transmitting communication data | |
CN111935017B (zh) | 跨网络的应用调用方法、装置及路由设备 | |
CN107566377B (zh) | 对充电装置进行多协议适配的方法及充电装置 | |
CN106464596A (zh) | 开放流通信方法、系统、控制器和业务网关 | |
EP3376717B1 (en) | Link discovery method and apparatus | |
US9356989B2 (en) | Learning values of transmission control protocol (TCP) options | |
CN105743951A (zh) | 一种数据发送、接收的方法及装置 | |
WO2017220021A1 (zh) | 短信息处理方法及装置 | |
CN101771718A (zh) | 剪贴板同步方法及系统 | |
CN112311448B (zh) | 一种基于虚拟机的卫星网络加速系统 | |
CN105763375A (zh) | 一种数据包发送方法、接收方法及微波站 | |
KR20220027716A (ko) | 기록매체 | |
CN108200221A (zh) | 一种网络地址转换环境中转换规则同步方法及装置 | |
CN106209666B (zh) | 一种基于负载均衡器的链路复用方法及系统 | |
CN110166185B (zh) | 音频数据的处理方法、装置、存储介质和处理器 | |
CN103200620A (zh) | 一种lte系统中接入核心网的方法及装置 | |
CN107222299A (zh) | 一种数据传输方法、系统和电子设备 | |
US20150200813A1 (en) | Server connection apparatus and server connection method | |
US20130346601A1 (en) | Network device, method of controlling the network device, and network system | |
CN113051027A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |