CN111835683A - 连接控制方法、系统、设备及计算机可读存储介质 - Google Patents

连接控制方法、系统、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111835683A
CN111835683A CN201910319400.1A CN201910319400A CN111835683A CN 111835683 A CN111835683 A CN 111835683A CN 201910319400 A CN201910319400 A CN 201910319400A CN 111835683 A CN111835683 A CN 111835683A
Authority
CN
China
Prior art keywords
connection
adjusting
control method
parameter
preset parameter
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.)
Granted
Application number
CN201910319400.1A
Other languages
English (en)
Other versions
CN111835683B (zh
Inventor
王盛
周全
蔡尚志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910319400.1A priority Critical patent/CN111835683B/zh
Priority to US16/634,868 priority patent/US11165870B2/en
Priority to PCT/CN2019/111685 priority patent/WO2020211314A1/en
Publication of CN111835683A publication Critical patent/CN111835683A/zh
Application granted granted Critical
Publication of CN111835683B publication Critical patent/CN111835683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供了一种连接控制方法,该连接控制方法包括:获取目标连接的传输参数;根据预设参数阈值调整所述传输参数;及根据调整后的传输参数控制所述目标连接的连接状态。本实施例提供的技术方案,基于调整后的传输参数控制目标连接的连接状态,从而确保目标连接的连接状态的有效控制,避免了通过协商的传输参数控制所述目标连接,可能导致的资源浪费和数据错位的问题。

Description

连接控制方法、系统、设备及计算机可读存储介质
技术领域
本申请实施例涉及网络通信技术领域,尤其涉及一种连接控制方法、系统、设备及计算机可读存储介质。
背景技术
建立在TCP基础之上的HTTP协议是互联网上应用最为广泛的一种网络协议,用于将超文本标记语言(HTML)文档从服务器传送到计算机设备。然而,随着图像,视频和其他多媒体内容的增加,增加的多媒体内容意味着HTML页面变得越来越复杂,使得页面加载时间比以往任何时候都要长。在上述背景下,谷歌制定了QUIC(QUIC UDP InternetConnections)传输协议,其是一种基于UDP的低时延的互联网传输层协议,具有很多的优点,比如减少连接延迟、避免队头阻塞、多路复用等。
空闲超时(Idle Timeout)被引入到QUIC协议中,是指某个QUIC连接处于空闲状态下的最大允许时间。如果达到这个最大允许时间,这个QUIC连接会被强制关闭(详见IETF中相关草案中的10.2章节)。
上述草案中,如果协商Idle Timeout为Disable或者很大,或者连接被不正常关闭(如,不发送任何CONNECTION_CLOSE帧)的情形下,可能会导致以下问题:(1)QUIC连接的空闲时间长度需要超过协商Idle Timeout,QUIC连接才会被关闭,在协商Idle Timeout为Disable的情形下,QUIC连接可能永不关闭,并不停重传数据,从而造成服务端资源浪费;(2)客户端后续继续重新使用这个QUIC连接,服务端不会重新建立连接,从而可能造成数据错位。
需要说明的是,上述内容并不用于限制申请保护范围。
发明内容
本申请实施例的目的是提供一种连接控制方法、系统、计算机设备及计算机可读存储介质,用于解决在协商传输参数为Disable或者很大,或者在连接被不正常关闭的情形下,避免服务端的资源浪费以及避免数据错位。
本申请实施例的一个方面提供了一种连接控制方法,所述连接控制方法包括:获取目标连接的传输参数;根据预设参数阈值调整所述传输参数;及根据调整后的传输参数控制所述目标连接的连接状态。
优选地,所述传输参数包括空闲超时参数;所述根据预设参数阈值调整所述传输参数,包括:根据所述预设参数阈值调整所述空闲超时参数。
优选地,所述根据预设参数阈值调整所述传输参数,包括:如果所述空闲超时参数不存在或被设置为零,则将所述空闲超时参数调整为所述预设参数阈值。
优选地,所述根据预设参数阈值调整所述传输参数,包括:如果所述空闲超时参数大于所述预设参数阈值,则将所述空闲超时参数调整为所述预设参数阈值。
优选地,所述根据预设参数阈值调整所述传输参数,包括:如果所述空闲超时参数大于零且不大于所述预设参数阈值,则不调整所述空闲超时参数。
优选地,所述预设参数阈值为系统级参数。
优选地,所述连接控制方法还包括:调整所述预设参数阈值。
优选地,所述调整所述预设参数阈值,包括:根据系统负载参数,调整所述预设参数阈值;其中,所述系统负载参数包括CPU使用率、内存使用率/和磁盘传输接口使用率。
优选地,所述调整所述预设参数阈值,包括:根据流量负载参数,调整所述预设参数阈值。
优选地,所述调整所述预设参数阈值,包括:根据待传输数据的数据类型,调整所述预设参数阈值;其中,所述数据类型包括以预设播放时长为判断依据的长视频类型和端视频类型。
优选地,所述调整所述预设参数阈值,包括:根据待传输数据的媒体参数,调整所述预设参数阈值;其中,所述媒体参数包括媒体分辨率、帧率、码率和对端的缓冲区大小。
优选地,所述预设参数阈值的计算公式如下:
D/C*(A|B)*factor;
其中,A为分辨率、B为帧率、C为码率、D为对端的缓冲区大小,factor为容错系数,(A|B)为基于所述分辨率和所述帧率以及基于标准分辨率和标准帧率计算得到的相对数值。
优选地,所述容错系数的取值范围为1.5~2。
优选地,所述根据调整后的传输参数控制所述目标连接的连接状态,包括:监测所述目标连接处于空闲状态下的空闲时间长度;比较所述空闲时间长度是否超过所述调整后的传输参数;及如果所述空闲时间长度超过所述调整后的传输参数,则将所述目标连接的连接状态切换到排空连接状态。
优选地,所述监测所述目标连接处于空闲状态下的空闲时间长度,包括:通过计时器记录所述目标连接处于空闲状态下的空闲时间长度;当监测到应用层完成已接收数据的处理操作或者协议栈完成待传输数据的发送操作,重置所述计时器并重新启动计时操作。
优选地,所述目标连接为基于QUIC协议的QUIC连接;所述当监测到应用层完成已接收数据的处理操作或者协议栈完成待传输数据的发送操作,重置所述计时器,包括:当监测到HTTP层完成已接收数据的处理操作或者UDP socket完成待传输数据的发送操作,重置所述计时器并重新启动计时操作;其中,所述待传输数据不包括ACK消息和PADDING数据包。
优选地,还包括:监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立下一个连接的传输参数。
优选地,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:监测所述目标连接的关闭事件;判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;及如果所述关闭事件的触发事件类型为所述被动触发事件类型,则与所述对端建立所述下一个连接时,下调所述下一个连接的传输参数。
优选地,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:监测所述目标连接的关闭事件;判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;及如果所述关闭事件的触发事件类型为所述被动触发事件类型,则将所述关闭事件的关联信息记录在历史数据集中,所述关联信息包括所述对端的设备标识信息和被动触发事件类型的关闭事件的总次数;与所述对端建立所述下一个连接时,根据所述历史数据集调整所述下一个连接的传输参数。
优选地,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:如果所述关闭事件的触发事件类型为所述主动触发事件类型,则在所述历史数据集中清空所述关联信息。
本申请实施例的另一个方面还提供了一种连接控制系统,所述连接控制系统包括:
获取模块,用于获取目标连接的传输参数;调整模块,用于根据预设参数阈值调整所述传输参数;及控制模块,用于根据调整后的传输参数控制所述目标连接的连接状态
本申请实施例的再一个方面提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上任一项所述的连接控制方法的步骤。
本申请实施例的又一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上任一项所述的连接控制方法的步骤。
本申请实施例提供的连接控制方法、系统、设备及计算机可读存储介质,通过引入预设参数阈值,对目标连接建立过程中协商的传输参数进行调整,基于调整后的传输参数控制目标连接的连接状态,从而确保目标连接的连接状态的有效控制,避免了通过协商的传输参数控制所述目标连接,可能导致的资源浪费和数据错位的问题。
附图说明
图1示意性示出了根据本申请实施例的连接控制方法的应用环境图;
图2示意性示出了根据本申请实施例一的连接控制方法的流程图;
图3示意性示出了根据本申请实施例一的连接控制方法的另一流程图;
图4示意性示出了图1中步骤S204的流程图;
图5示意性示出了图4中步骤S204A的流程图;
图6示意性示出了根据本申请实施例一的连接控制方法的另一流程图;
图7示意性示出了图6中步骤S206的流程图;
图8示意性示出了图6中步骤S206的另一流程图;
图9为示意性示出了根据本申请实施例二的基于QUIC协议的连接控制方法的流程图;
图10示意性示出了图9中步骤S912的流程图;
图11示意性示出了图9中步骤S918的流程图;
图12示意性示出了根据本申请实施例三的连接控制系统的框图;
图13示意性示出了根据本申请实施例四的基于QUIC协议的连接控制系统的框图;以及
图14示意性示出了根据本申请实施例五的适于实现连接控制方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请实施例,并不用于限定本申请实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1示意性示出了根据本申请实施例的连接控制方法的应用环境示意图。在示例性的实施例中,计算机设备2可以通过网络6和对端4进行数据传输操作。所述计算机设备2可以是服务器、移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptop computer)等电子设备。所述对端可以是服务器、机顶盒、移动电话、平板个人计算机、膝上型计算机、智能电视等电子设备。所述网络6可以是因特网。
实施例一
图2示意性示出了根据本申请实施例一连接控制方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。
如图2所示,该连接控制方法可以包括步骤S200~S204,其中:
步骤S200,获取目标连接的传输参数。
在示例性的实施例中,所述目标连接为计算机设备2和对端4之间所建立的通信连接,如TCP连接、QUIC连接等。基于所述目标连接,计算机设备2和对端4之间可以传输各类数据,如,视频、音频、文字、图片等数据。
在示例性的实施例中,所述传输参数可以包括空闲超时参数(Idle Timeout),所述空闲超时参数可以是一个以秒或毫秒为单位的值,其用于表示可以容忍所述目标连接的处于空闲状态的时间长度。
在示例性的实施例中,所述传输参数的获取步骤可以如下:在所述目标连接的建立过程中,通过cryptohandshake(具体参见TLS13)解析出握手数据中的传输参数。其中,所述空闲超时参数为传输参数的其中一个字段(Idle Timeout字段)的字段值。
步骤S202,根据预设参数阈值调整所述传输参数。
在示例性的实施例中,所述预设参数阈值为系统级参数,默认值为120000毫秒。所述预设参数阈值可以被手动设置,也可以通过脚本程序自动设置。如下面提供的一个示例性脚本程序:(1)检测计算机设备2的操作系统类型,所述系统类型包括IOS、mac OS、Window、Android、linux等类型;(2)根据计算机设备2的操作系统类型,按照预定路径修改系统环境变量、注册表或文件调整信息。例如,如果所述计算机设备2中运行Window操作系统时,可以进入注册表“/MACHINE/Software/…”中修改参数。
在示例性的实施例中,如图3所示,所述连接控制方法还包括步骤S201:调整所述预设参数阈值。示例性的,可以通过如下几种策略调整所述预设参数阈值:
策略一:根据系统负载参数,调整所述预设参数阈值;
其中,所述系统负载参数包括CPU使用率、内存使用率/和磁盘传输接口使用率。
策略二:根据流量负载参数,调整所述预设参数阈值。
策略二:根据待传输数据的数据类型,调整所述预设参数阈值;
其中,所述数据类型包括以预设播放时长为判断依据的长视频类型和端视频类型。
策略四:根据待传输数据的媒体参数,调整所述预设参数阈值;
其中,所述媒体参数包括媒体分辨率、帧率、码率和对端的缓冲区大小。
示例性的,所述预设参数阈值的计算公式如下:
D/C*(A|B)*factor;
其中,A为分辨率、B为帧率、C为码率、D为对端的缓冲区大小,factor为容错系数,(A|B)为基于所述分辨率和所述帧率以及基于标准分辨率和标准帧率计算得到的相对数值。例如,设定标准分辨率360及标准帧率30为标准系数1,如果待传输数据的分辨率A为1080及帧率B为30,相对数值为:
Figure BDA0002034178520000091
示例性的,所述容错系数的取值范围为(包括端点)1.5~2(包括端点)。
在示例性的实施例中,所述步骤S202可以为:根据所述预设参数阈值调整所述空闲超时参数。
在示例性的实施例中,所述根据预设参数阈值调整所述传输参数,包括:如果所述空闲超时参数不存在或被设置为零,则将所述空闲超时参数调整为所述预设参数阈值;如果所述空闲超时参数大于所述预设参数阈值,则将所述空闲超时参数调整为所述预设参数阈值;如果所述空闲超时参数大于零且不大于所述预设参数阈值,则不调整所述空闲超时参数。
步骤S204,根据调整后的传输参数控制所述目标连接的连接状态。
在示例性的实施例中,如图4所示,所述步骤S204包括:步骤S204A,监测所述目标连接处于空闲状态下的空闲时间长度;步骤S204B,比较所述空闲时间长度是否超过所述调整后的传输参数;如果是,进入步骤S204C,否则进入步骤S204D;步骤S204C,将所述目标连接的连接状态切换到排空连接状态(draining connection state);步骤S204D,不执行切换操作。
在示例性的实施例中,如图5所示,所述步骤S204A可以进一步包括:步骤S204A1,通过计时器记录所述目标连接处于空闲状态下的空闲时间长度;步骤S204A2,当监测到应用层完成已接收数据的处理操作或者协议栈完成待传输数据的发送操作,重置所述计时器并重新启动计时操作。
当所述目标连接为基于QUIC协议的QUIC连接时,所述步骤S204A2可以进一步包括:当监测到HTTP层完成已接收数据的处理操作或者UDP socket完成待传输数据的发送操作,重置所述计时器并重新启动计时操作;其中,所述待传输数据不包括ACK消息和PADDING数据包。
示例性的:
重置时间节点1:
计算机设备2接收对端4发送的数据,通过QUIC协议栈处理公用数据包头信息以及解密数据包payload信息,并基于所述UDP数据包所属的connection ID将所述UDP数据包中携带的HTTP层内容提交给HTTP状态机处理,所述HTTP状态机将所述HTTP层内容处理成功的时间节点可以作为重置时间节点1;
重置时间节点2:
计算机设备2向对端4发送数据,通过HTTP层对数据进行打包(HTTP头和HTTPbody),将打包数据提交给QUIC协议栈,所述QUIC协议栈对HTTP层的打包数据再次打包(如,添加QUIC头信息),以得到QUIC数据包,通过UDP socket将所述QUIC数据发送出去,所述UDP socket完成所述发送操作的时间节点可以作为重置时间节点2。
不难理解,如果出现重置时间节点1和重置时间节点2,则可以重置所述计时器并重新启动计时操作。
在示例性的实施例中,如图6所示,所述连接控制方法还可以包括步骤S206:监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立下一个连接的传输参数。
示例性的,如果检测到所述目标连接进入排空连接状态或关闭连接状态(closingconnection state),则确定所述目标连接出现关闭事件。
在示例性的实施例中,如图7所示,所述步骤S206可以进一步包括:步骤S206A1,监测所述目标连接的关闭事件;步骤S206A2,判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;步骤S206A3,如果所述关闭事件的触发事件类型为所述被动触发事件类型,则与所述对端建立所述下一个连接时,下调所述下一个连接的传输参数。
基于对端的主动触发事件类型,由对端向计算机设备2主动发送CONNECTION_CLOSE帧,以通知计算机设备2该目标连接正在被关闭。
基于对端的被动触发事件类型,由计算机设备2强制关闭所述目标连接。如,当所述目标连接处于空闲状态下的空闲时间长度超过预设参数阈值,则由计算机设备2将所述目标连接的连接状态切换至排空连接状态。
在示例性的实施例中,如图8所示,所述步骤S206可以进一步包括:步骤S206B1,监测所述目标连接的关闭事件;步骤S206B2,判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;步骤S206B3,如果所述关闭事件的触发事件类型为所述被动触发事件类型,则将所述关闭事件的关联信息记录在历史数据集中,所述关联信息包括所述对端的设备标识信息(如,IP地址等)和被动触发事件类型的关闭事件的总次数;步骤S206B4,与所述对端建立所述下一个连接时,根据所述历史数据集调整所述下一个连接的传输参数。
在示例性的实施例中,如图8所示,所述步骤S206还包括步骤S206B5:如果所述关闭事件的触发事件类型为所述主动触发事件类型,则在所述历史数据集中清空所述关联信息。
本申请实施例一提供的连接控制方法,通过引入预设参数阈值,对目标连接建立过程中协商的传输参数进行调整,基于调整后的传输参数控制目标连接的连接状态,从而确保目标连接的连接状态的有效控制,至少避免了以下问题:(1)在出现情形1或情形2时,计算机设备2可能不停重传数据,从而造成内存、带宽等资源浪费;其中,情形1:协商传输参数很大的情形下,目标连接需要很长才会被关闭,情形2:在协商的传输参数为Disable(传输参数为0或没有传输参数对应的字段)的情形下,目标连接可能永不关闭。(2)客户端后续继续重新使用这个QUIC连接,计算机设备不会重新建立连接,从而可能造成数据错位。
实施例二
图9示意性示出了根据本申请实施例二的连接控制方法的流程图。该连接控制方法可以包括步骤S900~S918,其中:
步骤900,接收对端的QUIC连接请求。
步骤902,解析所述QUIC连接请求,得到所述对端的设备标识信息。
所述设备标识信息可以是IP地址、MAC地址、IMSI(International MobileSubscriber Identification Number,国际移动用户识别码)信息、IMEI(InternationalMobile Equipment Identity,移动设备国际识别码)、手机号码等各类标识信息。
步骤904,根据所述设备标识信息查询所述对端的目标历史记录。
示例性的,根据所述设备标识信息,从历史数据集中查询所述对端的目标历史记录;其中,所述目标历史记录包括非所述对端主动关闭的QUIC连接的连接关闭次数。
所述历史数据集,用于记录各个移动设备的连接关闭次数。示例性的,计算机设备2和对端4依顺序关闭了多个QUIC连接,如、QUIC连接#1、QUIC连接#2、…、QUIC连接N;如果QUIC连接#1是因为空闲时间长度超过预设参数阈值而被强制关闭的,则将QUIC连接#1对应的关闭事件记录到历史数据集中;如果QUIC连接#2是因为空闲时间长度超过预设参数阈值而被强制关闭的,则将QUIC连接#2对应的关闭事件记录到历史数据集中;以此类推,得到对端4的连接关闭次数。需要说明的是,如果QUIC连接#M(1≤M≤N)是对端主动关闭的,则在历史数据集中清空所述对端4对应的历史记录,或将对端4对应的关闭连接次数重置为0。
步骤906,判断是否查询到所述目标历史记录。
步骤908,如果查询到所述目标历史记录,则根据所述目标历史记录调整传输参数。
所述调整后的传输参数通过计算公式Y2n得到,其中,Y为QUIC连接请求中的传输参数,n为所述连接关闭次数。所述QUIC连接请求中的传输参数可以包括空闲超时参数(Idle Timeout),所述空闲超时参数可以是一个以秒或毫秒为单位的值。
步骤910,基于调整后的传输参数与所述对端建立QUIC连接。
通过所述调整后的传输参数来约束所述QUIC连接处于空闲状态下的最长空闲时间长度。
步骤912,根据所述调整后的传输参数控制所述QUIC连接的连接状态。
在示例性的实施例中,如图10所示,所述步骤S912可以进一步包括:步骤S912A,监测所述QUIC连接处于空闲状态下的空闲时间长度;步骤S912B,比较所述空闲时间长度是否超过所述调整后的传输参数;步骤S912C,如果所述空闲时间长度超过所述调整后的传输参数,则将所述QUIC连接的连接状态切换到排空连接状态;步骤S912D,如果所述空闲时间长度没有超过所述调整后的传输参数,则不执行切换操作。
在示例性的实施例中,所述步骤S912A可以进一步包括:通过计时器记录所述QUIC连接处于空闲状态下的空闲时间长度;当监测到HTTP层完成已接收数据的处理操作或者UDP socket完成待传输数据的发送操作,重置所述计时器并重新启动计时操作;其中,所述待传输数据不包括ACK消息和PADDING数据包。
在示例性的实施例中,所述基于QUIC协议的连接控制方法还包括步骤S914:如果没有查询到所述目标历史记录,根据预设参数阈值调整所述QUIC连接的传输参数。
在示例性的实施例中,所述传输参数包括空闲超时参数,步骤S914可以进一步包括:根据所述预设参数阈值调整所述空闲超时参数。具体如下:如果所述空闲超时参数不存在或被设置为零,则将所述空闲超时参数调整为所述预设参数阈值。如果所述空闲超时参数大于所述预设参数阈值,则将所述空闲超时参数调整为所述预设参数阈值。如果所述空闲超时参数大于零且不大于所述预设参数阈值,则不调整所述空闲超时参数。
在示例性的实施例中,所述预设参数阈值为系统级参数。
在示例性的实施例中,所述基于QUIC协议的连接控制方法还包括步骤S916:调整所述预设参数阈值。示例性的,可以通过如下几种策略调整所述预设参数阈值:
策略一:根据系统负载参数,调整所述预设参数阈值;
其中,所述系统负载参数包括CPU使用率、内存使用率/和磁盘传输接口使用率。
策略二:根据流量负载参数,调整所述预设参数阈值。
策略二:根据待传输数据的数据类型,调整所述预设参数阈值;
其中,所述数据类型包括以预设播放时长为判断依据的长视频类型和端视频类型。
策略四:根据待传输数据的媒体参数,调整所述预设参数阈值;
其中,所述媒体参数包括媒体分辨率、帧率、码率和对端的缓冲区大小。
示例性的,所述预设参数阈值的计算公式如下:
D/C*(A|B)*factor;
其中,A为分辨率、B为帧率、C为码率、D为对端的缓冲区大小,factor为容错系数,(A|B)为基于所述分辨率和所述帧率以及基于标准分辨率和标准帧率计算得到的相对数值。例如,设定标准分辨率360及标准帧率30为标准系数1,如果待传输数据的分辨率A为1080及帧率B为30,相对数值为:
Figure BDA0002034178520000151
示例性的,所述容错系数的取值范围为(包括端点)1.5~2(包括端点)。
在示例性的实施例中,所述基于QUIC协议的连接控制方法还包括步骤S918:监测所述QUIC连接的关闭事件,基于所述QUIC连接的关闭事件更新所述历史数据集。
在示例性的实施例中,如图11所示,所述步骤S918可以进一步包括:步骤S918A,监测所述QUIC连接的关闭事件;步骤S918B,判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于所述对端的主动触发事件类型和被动触发事件类型;及步骤S918C,如果所述关闭事件的触发事件类型为所述被动触发事件类型,则将所述QUIC连接的关闭事件记录到所述历史数据集中;步骤S918D,如果所述关闭事件的触发事件类型为所述主动触发事件类型,则从历史数据集中清空所述对端的目标历史记录。
示例性,监测QUIC连接的连接状态;如果监测到所述QUIC连接进入排空连接状态或关闭连接状态,则获取触发所述QUIC连接进入所述排空连接状态或所述关闭连接状态的触发事件类型;判断所述触发事件类型是否为被动触发事件类型,即QUIC连接的空闲时间长度超过所述调整后的传输参数,导致由计算机设备2强制关闭;如果所述触发事件类型为被动触发事件类型,则将所述关闭事件的关联信息记录与预先调整的历史数据集中,所述触发事件的关联信息包括对端的标识信息;
本申请实施例二提供的基于QUIC协议的连接控制方法,通过引入预设参数阈值和目标历史记录:
通过目标历史记录考察对端的用户使用行为,即是否会主动关闭QUIC连接,基于用户使用行为对QUIC连接建立过程中协商的传输参数进行调整,基于调整后的传输参数控制QUIC连接的连接状态,以节省资源。
通过预设参数阈值对QUIC连接建立过程中协商的传输参数进行调整,基于调整后的传输参数控制QUIC连接的连接状态,从而确保QUIC连接的连接状态的有效控制,至少避免了以下问题:(1)在出现情形1或情形2时,计算机设备2可能不停重传数据,从而造成内存、带宽等资源浪费;其中,情形1:协商传输参数很大的情形下,QUIC连接需要很长才会被关闭,情形2:在协商的传输参数为Disable的情形下,QUIC连接可能永不关闭。(2)客户端后续继续重新使用这个QUIC连接,计算机设备不会重新建立连接,从而可能造成数据错位。
实施例三
图12示意性示出了根据本申请实施例三的连接控制系统的框图,该连接控制系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述连接控制系统在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图12所示,该连接控制系统400可以包括获取模块410、调整模块420和控制模块430,其中:
获取模块410,用于获取目标连接的传输参数。
调整模块420,用于根据预设参数阈值调整所述传输参数。
控制模块430,用于根据调整后的传输参数控制所述目标连接的连接状态。
在示例性的实施例中,所述传输参数包括空闲超时参数;所述调整模块420,还用于:根据所述预设参数阈值调整所述空闲超时参数。
在示例性的实施例中,所述调整模块420,还用于:如果所述空闲超时参数不存在或被设置为零,则将所述空闲超时参数调整为所述预设参数阈值。
在示例性的实施例中,所述调整模块420,还用于:如果所述空闲超时参数大于所述预设参数阈值,则将所述空闲超时参数调整为所述预设参数阈值。
在示例性的实施例中,所述调整模块420,还用于:如果所述空闲超时参数大于零且不大于所述预设参数阈值,则不调整所述空闲超时参数。
在示例性的实施例中,所述预设参数阈值为系统级参数。
在示例性的实施例中,连接控制系统400还包括阈值调整模块(未图示),用于:调整所述预设参数阈值。
在示例性的实施例中,阈值调整模块,还用于:根据系统负载参数,调整所述预设参数阈值。
在示例性的实施例中,阈值调整模块,还用于:根据流量负载参数,调整所述预设参数阈值。
在示例性的实施例中,阈值调整模块,还用于:根据待传输数据的数据类型,调整所述预设参数阈值;其中,所述数据类型包括以预设播放时长为判断依据的长视频类型和端视频类型。
在示例性的实施例中,阈值调整模块,还用于:根据待传输数据的媒体参数,调整所述预设参数阈值;其中,所述媒体参数包括媒体分辨率、帧率、码率和对端的缓冲区大小。
在示例性的实施例中,所述预设参数阈值的计算公式如下:
D/C*(A|B)*factor;
其中,A为分辨率、B为帧率、C为码率、D为对端的缓冲区大小,factor为容错系数,(A|B)为基于所述分辨率和所述帧率以及基于标准分辨率和标准帧率计算得到的相对数值。
在示例性的实施例中,所述容错系数的取值范围为1.5~2。
在示例性的实施例中,所述控制模块430,用于:监测所述目标连接处于空闲状态下的空闲时间长度;比较所述空闲时间长度是否超过所述调整后的传输参数;及如果所述空闲时间长度超过所述调整后的传输参数,则将所述目标连接的连接状态切换到排空连接状态。
在示例性的实施例中,所述监测所述目标连接处于空闲状态下的空闲时间长度,包括:通过计时器记录所述目标连接处于空闲状态下的空闲时间长度;当监测到应用层完成已接收数据的处理操作或者协议栈完成待传输数据的发送操作,重置所述计时器并重新启动计时操作。
在示例性的实施例中,所述目标连接为基于QUIC协议的QUIC连接;所述当监测到应用层完成已接收数据的处理操作或者协议栈完成待传输数据的发送操作,重置所述计时器,包括:当监测到HTTP层完成已接收数据的处理操作或者UDP socket完成待传输数据的发送操作,重置所述计时器并重新启动计时操作;其中,所述待传输数据不包括ACK消息和PADDING数据包。
在示例性的实施例中,连接控制系统400还包括监测模块(未图示),用于:监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立下一个连接的传输参数。
在示例性的实施例中,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:监测所述目标连接的关闭事件;判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;及如果所述关闭事件的触发事件类型为所述被动触发事件类型,则与所述对端建立所述下一个连接时,下调所述下一个连接的传输参数。
在示例性的实施例中,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:监测所述目标连接的关闭事件;判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;及如果所述关闭事件的触发事件类型为所述被动触发事件类型,则将所述关闭事件的关联信息记录在历史数据集中,所述关联信息包括所述对端的设备标识信息和被动触发事件类型的关闭事件的总次数;与所述对端建立所述下一个连接时,根据所述历史数据集调整所述下一个连接的传输参数。
在示例性的实施例中,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:如果所述关闭事件的触发事件类型为所述主动触发事件类型,则在所述历史数据集中清空所述关联信息。
实施例四
图13示意性示出了根据本申请实施例四的基于QUIC协议的连接控制系统的框图,该连接控制系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述连接控制系统在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图13所示,该基于QUIC协议的连接控制系统500可以包括获取模块510、解析模块520、查询模块530、调整模块540、建立模块550和控制模块560,其中:
获取模块510,用于接收对端的QUIC连接请求。
解析模块520,用于解析所述QUIC连接请求,得到所述对端的设备标识信息。
查询模块530,用于根据所述设备标识信息查询所述对端的目标历史记录。
调整模块540,用于如果查询到所述目标历史记录,则根据所述目标历史记录调整传输参数。
建立模块550,用于基于调整后的传输参数与所述对端建立QUIC连接。
控制模块560,用于根据所述调整后的传输参数控制所述QUIC连接的连接状态。
在示例性的实施例中,所述查询模块530,还用于:根据所述设备标识信息,从历史数据集中查询所述对端的目标历史记录;其中,所述目标历史记录包括非所述对端主动关闭的QUIC连接的连接关闭次数。
在示例性的实施例中,所述调整模块540,还用于:如果没有查询到所述目标历史记录,根据预设参数阈值调整所述QUIC连接的传输参数。
在示例性的实施例中,所述传输参数包括空闲超时参数;所述调整模块540,还用于:根据所述预设参数阈值调整所述空闲超时参数。
在示例性的实施例中,所述调整模块540,还用于:如果所述空闲超时参数不存在或被设置为零,则将所述空闲超时参数调整为所述预设参数阈值;如果所述空闲超时参数大于所述预设参数阈值,则将所述空闲超时参数调整为所述预设参数阈值;如果所述空闲超时参数大于零且不大于所述预设参数阈值,则不调整所述空闲超时参数。
在示例性的实施例中,所述预设参数阈值为系统级参数。
在示例性的实施例中,该基于QUIC协议的连接控制系统500还包括阈值调整模块(未图示),用于:调整所述预设参数阈值。
在示例性的实施例中,所述阈值调整模块,还用于:根据系统负载参数,调整所述预设参数阈值。
在示例性的实施例中,所述阈值调整模块,还用于:根据流量负载参数,调整所述预设参数阈值。
在示例性的实施例中,所述阈值调整模块,还用于:根据待传输数据的数据类型,调整所述预设参数阈值;其中,所述数据类型包括以预设播放时长为判断依据的长视频类型和端视频类型。
在示例性的实施例中,所述阈值调整模块,还用于:根据待传输数据的媒体参数,调整所述预设参数阈值;其中,所述媒体参数包括媒体分辨率、帧率、码率和所述对端的缓冲区大小。
在示例性的实施例中,所述调整模块540,还用于:根据目标历史记录调整所述QUIC连接的传输参数。
在示例性的实施例中,所述调整后的传输参数通过计算公式Y2n得到,其中,Y为QUIC连接请求中的传输参数,n为所述连接关闭次数。
在示例性的实施例中,该基于QUIC协议的连接控制系统500还包括监测模块(未图示),用于:监测所述QUIC连接处于空闲状态下的空闲时间长度;比较所述空闲时间长度是否超过所述调整后的传输参数;及如果所述空闲时间长度超过所述调整后的传输参数,则将所述QUIC连接的连接状态切换到排空连接状态。
在示例性的实施例中,所述监测模块,还用于:通过计时器记录所述QUIC连接处于空闲状态下的空闲时间长度;当监测到HTTP层完成已接收数据的处理操作或者UDP socket完成待传输数据的发送操作,重置所述计时器并重新启动计时操作;其中,所述待传输数据不包括ACK消息和PADDING数据包。
在示例性的实施例中,该基于QUIC协议的连接控制系统500还包括更新模块(未图示),用于:监测所述QUIC连接的关闭事件,基于所述QUIC连接的关闭事件更新所述历史数据集。
在示例性的实施例中,所述更新模块,还用于:监测所述QUIC连接的关闭事件;判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于所述对端的主动触发事件类型和被动触发事件类型;及如果所述关闭事件的触发事件类型为所述被动触发事件类型,则将所述QUIC连接的关闭事件记录到所述历史数据集中;如果所述关闭事件的触发事件类型为所述主动触发事件类型,则从历史数据集中清空所述对端的目标历史记录。
实施例五
图14示意性示出了根据本申请实施例五的适于实现连接控制方法或基于QUIC协议的连接控制方法的计算机设备的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图12所示,计算机设备2至少包括但不限于:可通过系统总线相互通信链接存储器610、处理器620、网络接口630。其中:
存储器610至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器610可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器610也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器610还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器610通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如连接控制方法的程序代码等。此外,存储器610还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器620在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器620通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器620用于运行存储器610中存储的程序代码或者处理数据。
网络接口630可包括无线网络接口或有线网络接口,该网络接口630通常用于在计算机设备2与其他计算机设备之间建立通信链接。例如,网络接口630用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图14仅示出了具有部件610-630的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器610中的连接控制方法或基于QUIC协议的连接控制方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器620)所执行,以完成本发明。
实施例六
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的连接控制方法或基于QUIC协议的连接控制方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的连接控制方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (23)

1.一种连接控制方法,其特征在于,所述连接控制方法包括:
获取目标连接的传输参数;
根据预设参数阈值调整所述传输参数;及
根据调整后的传输参数控制所述目标连接的连接状态。
2.根据权利要求1所述的连接控制方法,其特征在于,所述传输参数包括空闲超时参数;所述根据预设参数阈值调整所述传输参数,包括:
根据所述预设参数阈值调整所述空闲超时参数。
3.根据权利要求2所述的连接控制方法,其特征在于,所述根据预设参数阈值调整所述传输参数,包括:
如果所述空闲超时参数不存在或被设置为零,则将所述空闲超时参数调整为所述预设参数阈值。
4.根据权利要求2所述的连接控制方法,其特征在于,所述根据预设参数阈值调整所述传输参数,包括:
如果所述空闲超时参数大于所述预设参数阈值,则将所述空闲超时参数调整为所述预设参数阈值。
5.根据权利要求2所述的连接控制方法,其特征在于,所述根据预设参数阈值调整所述传输参数,包括:
如果所述空闲超时参数大于零且不大于所述预设参数阈值,则不调整所述空闲超时参数。
6.根据权利要求1所述的连接控制方法,其特征在于,所述预设参数阈值为系统级参数。
7.根据权利要求1所述的连接控制方法,其特征在于,所述连接控制方法还包括:调整所述预设参数阈值。
8.根据权利要求7所述的连接控制方法,其特征在于,所述调整所述预设参数阈值,包括:
根据系统负载参数,调整所述预设参数阈值;
其中,所述系统负载参数包括CPU使用率、内存使用率/和磁盘传输接口使用率。
9.根据权利要求7所述的连接控制方法,其特征在于,所述调整所述预设参数阈值,包括:
根据流量负载参数,调整所述预设参数阈值。
10.根据权利要求7所述的连接控制方法,其特征在于,所述调整所述预设参数阈值,包括:
根据待传输数据的数据类型,调整所述预设参数阈值;
其中,所述数据类型包括以预设播放时长为判断依据的长视频类型和端视频类型。
11.根据权利要求7所述的连接控制方法,其特征在于,所述调整所述预设参数阈值,包括:
根据待传输数据的媒体参数,调整所述预设参数阈值;
其中,所述媒体参数包括媒体分辨率、帧率、码率和对端的缓冲区大小。
12.根据权利要求11所述的连接控制方法,其特征在于,所述预设参数阈值的计算公式如下:
D/C*(A|B)*factor;
其中,A为分辨率、B为帧率、C为码率、D为对端的缓冲区大小,factor为容错系数,(A|B)为基于所述分辨率和所述帧率以及基于标准分辨率和标准帧率计算得到的相对数值。
13.根据权利要求12所述的连接控制方法,其特征在于,所述容错系数的取值范围为1.5~2。
14.根据权利要求1所述的连接控制方法,其特征在于,所述根据调整后的传输参数控制所述目标连接的连接状态,包括:
监测所述目标连接处于空闲状态下的空闲时间长度;
比较所述空闲时间长度是否超过所述调整后的传输参数;及
如果所述空闲时间长度超过所述调整后的传输参数,则将所述目标连接的连接状态切换到排空连接状态。
15.根据权利要求14所述的连接控制方法,其特征在于,所述监测所述目标连接处于空闲状态下的空闲时间长度,包括:
通过计时器记录所述目标连接处于空闲状态下的空闲时间长度;
当监测到应用层完成已接收数据的处理操作或者协议栈完成待传输数据的发送操作,重置所述计时器并重新启动计时操作。
16.根据权利要求15所述的连接控制方法,其特征在于,所述目标连接为基于QUIC协议的QUIC连接;所述当监测到应用层完成已接收数据的处理操作或者协议栈完成待传输数据的发送操作,重置所述计时器,包括:
当监测到HTTP层完成已接收数据的处理操作或者UDP socket完成待传输数据的发送操作,重置所述计时器并重新启动计时操作;
其中,所述待传输数据不包括ACK消息和PADDING数据包。
17.根据权利要求1所述的连接控制方法,其特征在于,还包括:
监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立下一个连接的传输参数。
18.根据权利要求17所述的连接控制方法,其特征在于,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:
监测所述目标连接的关闭事件;
判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;及
如果所述关闭事件的触发事件类型为所述被动触发事件类型,则与所述对端建立所述下一个连接时,下调所述下一个连接的传输参数。
19.根据权利要求17所述的连接控制方法,其特征在于,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:
监测所述目标连接的关闭事件;
判断触发所述关闭事件的触发事件类型,所述触发事件类型包括基于对端的主动触发事件类型和被动触发事件类型;及
如果所述关闭事件的触发事件类型为所述被动触发事件类型,则将所述关闭事件的关联信息记录在历史数据集中,所述关联信息包括所述对端的设备标识信息和被动触发事件类型的关闭事件的总次数;
与所述对端建立所述下一个连接时,根据所述历史数据集调整所述下一个连接的传输参数。
20.根据权利要求19所述的连接控制方法,其特征在于,所述监测所述目标连接的关闭事件,根据所述关闭事件调整与所述对端建立所述目标连接的下一个连接的传输参数,包括:
如果所述关闭事件的触发事件类型为所述主动触发事件类型,则在所述历史数据集中清空所述关联信息。
21.一种连接控制系统,其特征在于,所述连接控制系统包括:
获取模块,用于获取目标连接的传输参数;
调整模块,用于根据预设参数阈值调整所述传输参数;及
控制模块,用于根据调整后的传输参数控制所述目标连接的连接状态。
22.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至20任一项所述连接控制方法的步骤。
23.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至20中任一项所述的连接控制方法的步骤。
CN201910319400.1A 2019-04-19 2019-04-19 连接控制方法、系统、设备及计算机可读存储介质 Active CN111835683B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910319400.1A CN111835683B (zh) 2019-04-19 2019-04-19 连接控制方法、系统、设备及计算机可读存储介质
US16/634,868 US11165870B2 (en) 2019-04-19 2019-10-17 Connection control method and device
PCT/CN2019/111685 WO2020211314A1 (en) 2019-04-19 2019-10-17 Connection control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910319400.1A CN111835683B (zh) 2019-04-19 2019-04-19 连接控制方法、系统、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111835683A true CN111835683A (zh) 2020-10-27
CN111835683B CN111835683B (zh) 2021-10-15

Family

ID=72836983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910319400.1A Active CN111835683B (zh) 2019-04-19 2019-04-19 连接控制方法、系统、设备及计算机可读存储介质

Country Status (3)

Country Link
US (1) US11165870B2 (zh)
CN (1) CN111835683B (zh)
WO (1) WO2020211314A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885974B2 (en) * 2003-01-31 2005-04-26 Microsoft Corporation Dynamic power control apparatus, systems and methods
CN102457914A (zh) * 2012-01-11 2012-05-16 中兴通讯股份有限公司 上行数据及上行调度信息的传输方法、装置
CN106851659A (zh) * 2015-12-04 2017-06-13 上海无线通信研究中心 一种使用非授权频段的接入点间协调方法
CN107995172A (zh) * 2017-11-23 2018-05-04 莫宝兰 一种数据流传输控制系统和方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104259A1 (en) 2006-10-28 2008-05-01 Lefevre Marc Methods and systems for communicating with storage devices in a storage system
US7693084B2 (en) 2007-02-28 2010-04-06 Microsoft Corporation Concurrent connection testing for computation of NAT timeout period
US9612641B2 (en) * 2010-11-17 2017-04-04 International Business Machines Corporation Adjusting the connection idle timeout in connection pools
US8578022B2 (en) 2011-01-19 2013-11-05 Cisco Technology, Inc. Adaptive idle timeout for TCP connections in ESTAB state
CN102883361B (zh) * 2011-07-15 2016-04-06 华为技术有限公司 小区信息上报和小区移动性参数调整的方法及设备
CN106376038A (zh) * 2011-08-25 2017-02-01 华为技术有限公司 一种控制参数的调整方法、终端及基站和系统
CN103078752B (zh) * 2012-12-27 2016-03-30 华为技术有限公司 一种检测邮件攻击的方法、装置及设备
US9338088B2 (en) 2013-04-08 2016-05-10 Google Inc. Communication protocol for multiplexing data streams over UDP
CN104144516B (zh) * 2013-05-10 2018-02-06 华为技术有限公司 无线局域网接入点调度方法、控制器、接入点及系统
CN103685241A (zh) 2013-11-26 2014-03-26 中国科学院计算技术研究所 一种维持tcp长连接的自适应心跳方法及其系统
US9596281B2 (en) * 2014-03-18 2017-03-14 Qualcomm Incorporated Transport accelerator implementing request manager and connection manager functionality
JP6355119B2 (ja) * 2014-05-08 2018-07-11 華為技術有限公司Huawei Technologies Co.,Ltd. ソフトハンドオーバ率を制御するための機器および方法
EP3116269A4 (en) * 2014-07-17 2017-05-03 Huawei Technologies Co. Ltd. Signal measurement period adjustment method, wireless communication device and terminal
CN104243240B (zh) * 2014-09-23 2017-05-24 电子科技大学 一种基于OpenFlow的SDN流量测量方法
CN105792158B (zh) * 2014-12-22 2019-06-11 杭州华为数字技术有限公司 一种小区中的信息传输的方法及装置
CN106250500A (zh) * 2016-07-29 2016-12-21 广州唯品会信息科技有限公司 数据库连接池的动态管理方法和系统
JP6794782B2 (ja) * 2016-11-02 2020-12-02 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
US10592322B1 (en) 2017-06-27 2020-03-17 Amazon Technologies, Inc. Adaptive timeout mechanism
US20190201594A1 (en) * 2017-12-28 2019-07-04 Ethicon Llc Method of sensing particulate from smoke evacuated from a patient, adjusting the pump speed based on the sensed information, and communicating the functional parameters of the system to the hub
US10958702B1 (en) 2018-09-11 2021-03-23 Amazon Technologies, Inc. Timeout optimization for streaming video
US10728866B2 (en) * 2018-12-21 2020-07-28 Intel Corporation Methods and apparatus for parallel sniffing of non-identical mediums

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885974B2 (en) * 2003-01-31 2005-04-26 Microsoft Corporation Dynamic power control apparatus, systems and methods
CN102457914A (zh) * 2012-01-11 2012-05-16 中兴通讯股份有限公司 上行数据及上行调度信息的传输方法、装置
CN106851659A (zh) * 2015-12-04 2017-06-13 上海无线通信研究中心 一种使用非授权频段的接入点间协调方法
CN107995172A (zh) * 2017-11-23 2018-05-04 莫宝兰 一种数据流传输控制系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FARD等: "Improve TPC Performance over Mobile AD Hoc Network by Retransmission Timeout Adjustment", 《2011 IEEE 3RD INTERNATIONAL CONFERENCE ON COMMUNICATION SOFTWARE AND NETWORKS》 *

Also Published As

Publication number Publication date
US20210120089A1 (en) 2021-04-22
WO2020211314A1 (en) 2020-10-22
CN111835683B (zh) 2021-10-15
US11165870B2 (en) 2021-11-02

Similar Documents

Publication Publication Date Title
CN111835682B (zh) 连接控制方法、系统、设备及计算机可读存储介质
US9497089B2 (en) Method and device for spreading deep packet inspection result
US9088603B2 (en) File transfer method and device
EP3382563B1 (en) Communication device, communication system, communication method, and communication program
WO2014187219A1 (en) Electronic device, storage medium and file transferrting method
WO2014187220A1 (en) Electronic device, storage medium and file transferrting method
CN111756674A (zh) 网络通信方法、系统、设备及计算机可读存储介质
US8270370B2 (en) Base station controller and method for restricting access
CN111147573A (zh) 一种数据传输的方法和装置
US11647104B2 (en) Data processing method and apparatus, and device
US10136375B2 (en) Method for service data management, apparatus, and system
CN107547561B (zh) 一种进行ddos攻击防护处理的方法及装置
CN111835683B (zh) 连接控制方法、系统、设备及计算机可读存储介质
US9261948B2 (en) Image forming apparatus and control method for executing a proxy in response to a heartbeat
JP4001593B2 (ja) 携帯端末機のパケット受信方法
CN112118594A (zh) 数据上传方法、下载方法、电子设备及存储介质
US8332498B2 (en) Synchronized relay messaging and coordinated network processing using SNMP
CN112399209B (zh) 一种视频业务识别处理方法及装置
CN113746851A (zh) 一种支持实时解析grpc请求的代理系统和方法
CN112395132A (zh) 文件备份的方法、系统及计算机存储介质
JP6640065B2 (ja) 通信装置、通信制御装置、通信方法、通信制御方法、及びプログラム
CN117527793B (zh) 基于加密协议带宽的断点续传方法、装置、终端及介质
CN116828022B (zh) 管理与服务器的连接关系的方法、装置、设备和介质
CN111885198B (zh) 消息处理方法、系统、装置及电子设置
CN114374684B (zh) 一种shell命令优化方法及系统

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