CN112422441B - 基于quic传输协议的拥塞控制方法和系统 - Google Patents

基于quic传输协议的拥塞控制方法和系统 Download PDF

Info

Publication number
CN112422441B
CN112422441B CN202010146007.XA CN202010146007A CN112422441B CN 112422441 B CN112422441 B CN 112422441B CN 202010146007 A CN202010146007 A CN 202010146007A CN 112422441 B CN112422441 B CN 112422441B
Authority
CN
China
Prior art keywords
target
congestion control
network environment
quic
information
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
Application number
CN202010146007.XA
Other languages
English (en)
Other versions
CN112422441A (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 CN202010146007.XA priority Critical patent/CN112422441B/zh
Publication of CN112422441A publication Critical patent/CN112422441A/zh
Application granted granted Critical
Publication of CN112422441B publication Critical patent/CN112422441B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种基于QUIC传输协议的拥塞控制方法,所述拥塞控制方法包括:从多个拥塞控制策略中选择目标拥塞控制策略;基于QUIC传输协议与目标终端建立目标QUIC连接;为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。本申请实施例还提供了基于QUIC传输协议的拥塞控制系统、计算机设备以及计算机可读存储介质。本申请实施例可以为每个待建立的QUIC连接动态选择一个拥塞控制策略,即在复杂易变的网络环境下动态地提供最优的拥塞控制策略,提升网络QoS。

Description

基于QUIC传输协议的拥塞控制方法和系统
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种基于QUIC传输协议的拥塞控制方法、系统、设备及计算机可读存储介质。
背景技术
建立在TCP基础之上的HTTP协议是互联网上应用最为广泛的一种网络协议,用于将超文本标记语言(HTML)文档从服务器传送到计算机设备。然而,随着图像,视频和其他多媒体内容的增加,增加的多媒体内容意味着HTML页面变得越来越复杂,使得页面加载时间比以往任何时候都要长。在上述背景下,QUIC(quick UDP Internet Connections)传输协议被提出来,其是一种基于UDP的低时延的互联网传输层协议,具有很多的优点,比如减少连接延迟、避免队头阻塞、多路复用等。
为了调整网络利用率等,QUIC协议中引入了拥塞控制机制,通过拥塞控制算法(congestion control algorithm,CCA)来决定数据传输速率以及决定多媒体流的抗网络抖动和延迟性能。所谓拥塞控制策略,是根据延迟或丢包来判断网络的拥塞情况并根据拥塞情况调整传输策略。然而,本发明人经过试验得出以下结论:每个拥塞控制策略仅能够适应某个或某些场景,无法适用于复杂易变的网络环境,导致网络服务质量差。
需要说明的是,上述内容并不用于限制申请保护范围。
发明内容
本申请实施例的目的是提供一种基于QUIC传输协议的拥塞控制方法、系统、计算机设备及计算机可读存储介质,用于解决在复杂网络环境下的QUIC连接的网络服务质量差的问题。
本申请实施例的一个方面提供了一种基于QUIC传输协议的拥塞控制方法,所述拥塞控制方法包括:从多个拥塞控制策略中选择目标拥塞控制策略;基于QUIC传输协议与目标终端建立目标QUIC连接;及为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。
可选的,从多个拥塞控制策略中选择目标拥塞控制策略,包括:确定是否需要与所述目标终端建立所述目标QUIC连接;如果确定需要与所述目标终端建立所述目标QUIC连接,则获取与所述目标终端之间的当前网络环境数据;根据所述当前网络环境数据获取决策信息,所述决策信息包括用于表示拥塞控制策略的至少一个目标指示信息;及根据所述决策信息,从所述多个拥塞控制策略中选择所述目标拥塞控制策略。
可选的,根据所述当前网络环境数据获取决策信息,包括:将所述当前网络环境数据发送到服务器中,以使所述服务器根据所述当前网络环境数据反馈所述决策信息。
可选的,所述决策信息为服务器中的AI模型根据所述当前网络环境数据预测得到的,所述AI模型包括分类器模型。
可选的,还包括:监测所述目标QUIC连接的目标网络连接数据;及将所述目标网络连接数据发送至服务器中,所述目标网络连接数据用于训练所述AI模型。
可选的,所述当前网络环境数据包括以下一个或多个:往返时延、重传率、网络类型和互联网服务提供商信息。
可选的,所述决策信息以下一个或多个:目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本。
本申请实施例的一个方面又提供了一种基于QUIC传输协议的拥塞控制系统,所述拥塞控制系统包括:选择模块,用于从多个拥塞控制策略中选择目标拥塞控制策略;建立模块,用于基于QUIC传输协议与目标终端建立目标QUIC连接;及匹配模块,用于为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。
本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述基于QUIC传输协议的拥塞控制方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述基于QUIC传输协议的拥塞控制方法的步骤。
本申请实施例的一个方面又提供了一种拥塞控制方法,其特征在于,所述方法包括:接收客户终端提供的当前网络环境数据;通过所述当前网络环境数据和预配置的聚类模型,得到与所述当前网络环境数据对应的目标聚簇,所述目标聚簇包括多个历史记录,每个历史记录包括用于表示网络环境的网络环境信息、用于表示拥塞控制策略的指示信息,和流畅度信息;从所述多个历史记录筛选出n个历史记录;根据所述n个历史记录获取决策信息,所述决策信息包括用于指示拥塞控制策略配置的至少一个目标指示信息;及将所述决策信息发送至所述客户终端,以便所述客户终端根据所述决策信息配置目标拥塞控制策略。
可选的,从所述多个历史记录筛选出n个历史记录,包括:根据所述每个历史记录的流畅度信息,从所述多个历史记录中选择所述n个历史记录。
可选的,所述至少一个指示信息包括以下一个或多个:目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本。
本申请实施例提供的基于QUIC传输协议的拥塞控制方法、系统、设备及计算机可读存储介质,可以为每个待建立的QUIC连接动态选择一个拥塞控制策略,即在复杂易变的网络环境下动态地为待建立的QUIC连接提供最优的拥塞控制策略,提升网络QoS。
附图说明
图1示意性示出了根据本申请实施例一的基于QUIC传输协议的拥塞控制方法的应用环境图;
图2示意性示出了根据本申请实施例一的基于QUIC传输协议的拥塞控制方法的流程图;
图3示意性示出了图2中步骤S200的子流程图;
图4示意性示出了图2中步骤S200的另一个子流程图;
图5示意性示出了根据本申请实施例一的基于QUIC传输协议的拥塞控制方法的新增流程图;
图6示意性示出了根据本申请实施例二的拥塞控制系统的框图;
图7示意性示出了根据本申请实施例三的适于实现拥塞控制方法的计算机设备的硬件架构示意图;
图8示意性示出了根据本申请实施例五的拥塞控制方法的流程图;以及
图9示意性示出了根据本申请实施例五的拥塞控制方法的另一流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1示意性示出了根据本申请实施例一的拥塞控制方法的基于QUIC传输协议的环境应用示意图。在示例性的实施例中,所述环境应用示意图中包括计算机设备2、目标终端4、服务器6。其中:
计算机设备2,用于发起QUIC(quick UDP Internet Connections)连接请求,可以是智能手机、平板个人计算机(tablet personal computer)、膝上型计算机(laptopcomputer)、台式计算机、工作站、虚拟现实设备,游戏设备、机顶盒、数字流媒体设备、车辆终端、智能电视、机顶盒、电子书阅读器等电子设备,也可以是虚拟化的计算实例。
目标终端4,用于和计算机设备2建立QUIC连接并向计算机设备2提供内容服务。所述内容服务可以包括诸如互联网协议视频流服务之类的内容流服务,诸如视频,音频,文本数据,其组合等。所述目标终端4可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
服务器6,可以包括AI(人工智能,artificial intelligence)集群6A和数据库6B。其中,AI集群6A,用于根据存量数据和新增数据定期进行AI模型(如,分类器模型)的训练,并将训练好的AI模型存储在数据库6B中。当某个客户终端(如计算机设备2)需要访问某个内容提供方(如目标终端4)时,可以探测和内容提供方之间的当前网络环境数据,并将该当前网络环境数据提供给服务器6。根据该当前网络环境数据和该训练好的AI模型,服务器6可以输出应对当前网络环境的决策信息,为计算机设备2提供优选的网络传输策略。该数据库6B提供有查询入口,供计算机设备2实时调用。所述服务器6也可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
实施例一
图2示意性示出了根据本申请实施例一的基于QUIC传输协议的拥塞控制方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。
如图2所示,该拥塞控制方法可以包括步骤S200~S204,其中:
步骤S200,从多个拥塞控制策略中选择目标拥塞控制策略。
在示例性的实施例中,每个拥塞控制策略可以包括以下一个或多个选项的组合:CCA算法、初始窗口值、最大窗口值、加解密算法、QUIC版本等。所述CCA算法可以包括慢开始算法、拥塞避免算法、快重传算法、快恢复算法及其组合等。
计算机设备2可以通过多种方式选择所述目标拥塞控制策略,例如:
计算机设备2可以检测当前网络环境并根据当前网络环境选择所述目标拥塞控制策略。
计算机设备2可以借助AI模型来选择所述目标拥塞控制策略。该AI模型可以位于所述计算机设备2内,也可以如图1所示位于外部设备中,诸如服务器6。
在实施性的实施例中,如图3所示,所述步骤S200可以包括步骤S300~S306其中:步骤S300,确定是否需要与所述目标终端建立所述目标QUIC连接;步骤S302,如果确定需要与所述目标终端建立所述目标QUIC连接,则获取与所述目标终端之间的当前网络环境数据;步骤S304,根据所述当前网络环境数据获取决策信息,所述决策信息包括用于表示拥塞控制策略的至少一个目标指示信息;步骤S306,根据所述决策信息,从所述多个拥塞控制策略中选择所述目标拥塞控制策略。以某个应用场景为例,当检测到用于触发访问目标终端4的访问用户点击操作,计算机设备2可以执行以下操作:基于所述用户点击操作,确定需要与目标终端4建立目标QUIC连接;探测计算机设备2和目标终端4之间的当前网络环境,以得到相应的当前网络环境数据;根据所述当前网络环境数据或预设规则,确定算机设备2与目标终端4之间的有关传输策略的决策信息,诸如,最优拥塞控制策略指示信息;及根据决策信息选择所述目标拥塞控制策略。所述预设规则可以是分类规则等。
在实施性的实施例中,如图4所示,所述步骤S200可以包括步骤S400~S406其中,步骤S400,确定是否需要与所述目标终端建立所述目标QUIC连接;步骤S402,如果确定需要与所述目标终端建立所述目标QUIC连接,则获取与所述目标终端之间的当前网络环境数据;步骤S404,将所述当前网络环境数据发送到服务器中,以使所述服务器根据所述当前网络环境数据反馈决策信息;步骤S406,根据所述决策信息,从所述多个拥塞控制策略中选择所述目标拥塞控制策略。以某个应用场景为例,当检测到用于触发访问目标终端4的访问用户点击操作,计算机设备2可以执行以下操作:基于所述用户点击操作,确定需要与目标终端4建立目标QUIC连接;探测计算机设备2和目标终端4之间的网络环境,以得到相应的当前网络环境数据;向服务器6发送携带有当前网络环境数据的查询请求,以从服务器6中获取服务器6预测的计算机设备2与目标终端4之间的有关传输策略的决策信息,诸如,最优拥塞控制策略指示信息;及根据决策信息选择所述目标拥塞控制策略。
其中,所述决策信息为服务器6中的AI模型根据所述当前网络环境数据预测得到的,所述决策信息是用于指示计算机设备2和目标终端4之间的当前最优传输控制策略。在示例性的实施例中,所述决策信息可以包括以下一个或多个:目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本。
所述当前网络环境数据可以包括用于表示算机设备2和目标终端4之间网络环境的一个或多个网络参数,诸如:往返时延(RTT,round-trip time)、重传率(retransmissionrate)、网络类型(如,Wi-Fi、4G)和互联网服务提供商信息(ISP,internet serviceprovider)。
所述AI模型包括分类器模型。所述分类器模型可以基于聚类算法得到,如k-means均值聚类、凝聚层次聚类法等。当然,所述分类器模型也可以基于其他算法得到,如SVM(支持向量机,support vector machine)、神经网络、长短期记忆网络等。
所述AI模型是基于历史网络连接数据训练得到的,所述历史网络连接数据包括多个历史QUIC连接的网络连接数据。每次计算机设备2或其他客户终端和目标终端4通信时,计算机设备2或其他客户终端均会将与目标终端4之间的网络连接数据上传到服务器6中,从而使得服务器6收集到足够多的历史网络连接数据。其中,每个历史QUIC连接对应的历史网络连接数据可以包括用于表示网络环境的网络环境信息(如,RTT、重传率、网络类型、ISP)、用于表示拥塞控制策略的指示信息(如,CCA信息、初始窗口值、最大窗口值、加解密信息、QUIC版本),和流畅度信息。其中,所述流畅度信息可以用卡顿率来衡量,所述卡顿率为流媒体播放卡顿次数与流媒体时长的比值。
示例性的,所述AI模型为一个基于如k-means均值聚类算法的分类器模型。AI集群6A根据每个历史QUIC连接的特征向量(每个历史QUIC连接的历史网络连接数据对应一个特征向量),将特征相似的多个特征向量归为一类以得到划分为多个聚簇的聚类结果,并计算每个聚簇的聚簇特征向量cfv;然后,将聚类结果和每个聚簇的聚簇特征向量cfv存储到数据库6B中。
所述数据库6B配置有数据分析服务功能和调用该数据分析服务功能的API(application programming interface,应用程序接口)。
示例性的,当接收到计算机设备2提供的当前特征向量rfv(对应于所述当前网络环境数据),所述数据库6B执行以下操作:根据所述当前特征向量rfv和每个聚簇的聚簇特征向量cfv进行聚类分析以确定所述当前特征向量rfv所在的目标聚簇;获取所述目标聚簇中流畅度最高的n个历史QUIC连接对应的n个特征向量(下称,top n个特征向量);根据所述top n个特征向量获取当前特征向量rfv对应的copt值;并将所述copt值反馈给计算机设备2,以便计算机设备2根据所述copt值选择目标拥塞控制策略,然后向目标终端4发起QUIC连接请求。
所述copt值为决策信息,用于指示计算机设备2选择相应的目标拥塞控制策略。所述copt值包括多个元素,每个元素对应一个传输参数。例如,copt值包括以下元素:目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本等。例如,所述目标最大窗口值通过以下步骤得到:通过连续值采用均值或离散值采用众数等方式,对top n个特征向量中各个特征向量的最大窗口值进行计算,得到所述目标最大窗口值。
步骤S202,基于QUIC传输协议与目标终端建立目标QUIC连接。
计算机设备2向目标终端4发起QIUC连接请求,以和目标终端4之间建立目标QUIC连接。
步骤S204,为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。
所述目标拥塞控制策略可以用于来控制目标终端4的数据发送速率等,避免发生网络拥塞和提升流畅度。
在示例性的实施例中,如图5所示,所述拥塞控制方法还包括步骤S500~S502,其中:步骤S500,监测所述目标QUIC连接的目标网络连接数据;步骤S502,将所述目标网络连接数据发送至服务器6中,所述目标网络连接数据用于训练所述AI模型。
所述目标网络连接数据包括所述目标QUIC连接的RTT、重传率、网络类型、ISP,CCA信息、初始窗口值、最大窗口值、加解密信息、QUIC版本和流畅度信息。
本申请实施例一所述基于QUIC传输协议的拥塞控制方法,为每个待建立的QUIC动态选择一个拥塞控制策略,即在复杂易变的网络环境下动态地为待建立的QUIC连接提供最优的拥塞控制策略,提升网络QoS(quality of service,服务质量)。
实施例二
图6示意性示出了根据本申请实施例二的拥塞控制系统的框图,该拥塞控制系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图6所示,该拥塞控制系统600可以包括选择模块610、建立模块620和匹配模块630,其中:
选择模块610,用于从多个拥塞控制策略中选择目标拥塞控制策略。
建立模块620,用于基于QUIC传输协议与目标终端建立目标QUIC连接。
匹配模块630,用于为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。
在示例性的实施例中,所述选择模块610,还用于:确定是否需要与所述目标终端建立所述目标QUIC连接;如果确定需要与所述目标终端建立所述目标QUIC连接,则获取与所述目标终端之间的当前网络环境数据;根据所述当前网络环境数据获取决策信息,所述决策信息包括用于表示拥塞控制策略的至少一个目标指示信息;及根据所述决策信息,从所述多个拥塞控制策略中选择所述目标拥塞控制策略。以某个应用场景为例,当检测到用于触发访问目标终端4的访问用户点击操作,所述选择模块610执行以下操作:基于所述用户点击操作,确定需要与目标终端建立目标QUIC连接;探测计算机设备和目标终端之间的当前网络环境,以得到相应的当前网络环境数据;根据所述当前网络环境数据或预设规则,确定算机设备与目标终端之间的有关传输策略的决策信息,诸如,最优拥塞控制策略指示信息;及根据决策信息选择所述目标拥塞控制策略。
在示例性的实施例中,所述选择模块610,还用于:将所述当前网络环境数据发送到服务器中,以使所述服务器根据所述当前网络环境数据反馈所述决策信息。以某个应用场景为例,当检测到用于触发访问目标终端的访问用户点击操作,所述选择模块610执行以下操作:基于所述用户点击操作,确定需要与目标终端建立目标QUIC连接;探测计算机设备和目标终端之间的网络环境,以得到相应的当前网络环境数据;向服务器发送携带有当前网络环境数据的查询请求,以从服务器中获取服务器预测的计算机设备与目标终端之间的有关传输策略的决策信息,诸如,最优拥塞控制策略指示信息;及根据决策信息选择所述目标拥塞控制策略。
在示例性的实施例中,所述决策信息为服务器中的AI模型根据所述当前网络环境数据预测得到的,所述AI模型包括分类器模型。所述分类器模型可以基于聚类算法得到,如k-means均值聚类、凝聚层次聚类法等。当然,所述分类器模型也可以基于其他算法得到,如SVM(支持向量机,support vector machine)、神经网络、长短期记忆网络等。
在示例性的实施例中,所述拥塞控制系统600还包括发送模块(未标识),用于:监测所述目标QUIC连接的目标网络连接数据;将所述目标网络连接数据发送至服务器中,所述目标网络连接数据用于训练所述AI模型。
在示例性的实施例中,所述当前网络环境数据包括以下一个或多个:往返时延、重传率、网络类型和互联网服务提供商信息。
在示例性的实施例中,所述决策信息以下一个或多个:目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本。
实施例三
图7示意性示出了根据本申请实施例三的适于实现拥塞控制方法的计算机设备2的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图7所示,计算机设备6至少包括但不限于:可通过系统总线相互通信链接存储器710、处理器720、网络接口730。其中:
存储器710至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器710可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器710也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器710还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器710通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如基于QUIC传输协议的拥塞控制方法的程序代码等。此外,存储器710还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器720在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器720通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器720用于运行存储器710中存储的程序代码或者处理数据。
网络接口730可包括无线网络接口或有线网络接口,该网络接口730通常用于在计算机设备2与其他计算机设备之间建立通信链接。例如,网络接口730用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件710-730的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器710中的拥塞控制方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器720)所执行,以完成本申请实施例。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从多个拥塞控制策略中选择目标拥塞控制策略;
基于QUIC传输协议与目标终端建立目标QUIC连接;及
为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中基于QUIC传输协议的拥塞控制方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
实施例五
图8示意性示出了根据本申请实施例五的拥塞控制方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以服务器6为执行主体进行示例性描述。
步骤S800,接收客户终端(如,图1中的计算机设备2)提供的当前网络环境数据。
所述当前网络环境数据至少包括以下一个或多个:往返时延(RTT,round-triptime)、重传率(retransmission rate)、网络类型和互联网服务提供商信息(ISP,internetservice provider)。
与目标终端建立连接之前,所述客户终端会检测其与所述目标终端之间的当前网络环境并将当前网络环境数据提供给服务器6,以供服务器6依据所述当前网络环境数据制定通信策略,如拥塞控制策略。
步骤S802,通过所述当前网络环境数据和预配置的聚类模型,得到与所述当前网络环境数据对应的目标聚簇,所述目标聚簇包括多个历史连接对应的多个历史记录。
所述预配置的聚类模型包括多个聚簇,每个聚簇包括相似的多个历史连接的多个历史记录。其中,每个历史记录包括多个元素,所述多个元素包括用于表示网络环境的网络环境信息、用于表示拥塞控制策略的指示信息,和流畅度信息。
例如,每个历史记录可以包括:特征向量fv、决策信息copt和卡顿率。其中,特征向量fv包括:RTT、重传率、网络类型和ISP等;决策信息copt包括:CCA信息、初始窗口值、最大窗口值、加解密算法和QUIC版本等。其中,所述特征向量fv用于表示网络环境的网络环境信息;所述决策信息copt用于表示拥塞控制策略的指示信息;所述卡顿率用于表示流畅度。CCA信息同样可以是数值化元素,如不同的CCA算法对应不同的数值。
步骤S804,从所述多个历史记录筛选出n个历史记录。
服务器6也可以通过各种方式筛选出所述n个历史记录。
在示例性的实施例中,步骤S804可以包括步骤S804’:根据所述每个历史记录的流畅度信息,从所述多个历史记录中选择所述n个历史记录。示例性的,服务器6可以从目标聚簇选择出卡顿率最低的n个历史QUIC连接对应的n个历史记录。
步骤S806,根据所述n个历史记录获取决策信息。
n为≥1的整数。
所述决策信息包括用于指示拥塞控制策略配置的至少一个目标指示信息,如目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本等。例如,所述目标最大窗口值可以通过以下步骤得到:通过连续值采用均值或离散值采用众数等方式,对所述n个历史记录中各个历史记录的最大窗口值进行计算,得到所述目标最大窗口值。
步骤S808,将所述决策信息发送至所述客户终端,以便所述客户终端根据所述决策信息配置目标拥塞控制策略。
所述客户终端可以根据所述决策信息为待建立的连接(如QUIC连接)配置目标拥塞控制策略。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (13)

1.一种基于QUIC传输协议的拥塞控制方法,其特征在于,所述方法包括:
根据决策信息,从多个拥塞控制策略中选择目标拥塞控制策略;
基于QUIC传输协议与目标终端建立目标QUIC连接;及
为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作;其中,
所述决策信息获取的步骤为:在服务器通过当前网络环境数据和预配置的聚类模型,得到与所述当前网络环境数据对应的目标聚簇,所述目标聚簇包括多个历史连接对应的多个历史记录,每个历史记录包括用于表示网络环境的网络环境信息、用于表示拥塞控制策略的指示信息,和流畅度信息;从所述多个历史记录筛选出n个历史记录;根据所述n个历史记录获取决策信息。
2.根据权利要求1所述的拥塞控制方法,其特征在于,从多个拥塞控制策略中选择目标拥塞控制策略,包括:
确定是否需要与所述目标终端建立所述目标QUIC连接;
如果确定需要与所述目标终端建立所述目标QUIC连接,则获取与所述目标终端之间的当前网络环境数据;
根据所述当前网络环境数据获取所述决策信息,所述决策信息包括用于表示拥塞控制策略的至少一个目标指示信息;及
根据所述决策信息,从所述多个拥塞控制策略中选择所述目标拥塞控制策略。
3.根据权利要求2所述的拥塞控制方法,其特征在于,根据所述当前网络环境数据获取决策信息,包括:
将所述当前网络环境数据发送到服务器中,以使所述服务器根据所述当前网络环境数据反馈所述决策信息。
4.根据权利要求3所述的拥塞控制方法,其特征在于,所述决策信息为服务器中的AI模型根据所述当前网络环境数据预测得到的,所述AI模型包括分类器模型。
5.根据权利要求4所述的拥塞控制方法,其特征在于,还包括:
监测所述目标QUIC连接的目标网络连接数据;及
将所述目标网络连接数据发送至所述服务器中,所述目标网络连接数据用于训练所述AI模型。
6.根据权利要求2所述的拥塞控制方法,其特征在于,所述当前网络环境数据包括以下一个或多个:往返时延、重传率、网络类型和互联网服务提供商信息。
7.根据权利要求2所述的拥塞控制方法,其特征在于,所述决策信息以下一个或多个:目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本。
8.一种基于QUIC传输协议的拥塞控制系统,其特征在于,包括:
选择模块,用于根据决策信息,从多个拥塞控制策略中选择目标拥塞控制策略,其中,所述决策信息为在服务器得到,具体为:通过当前网络环境数据和预配置的聚类模型,得到与所述当前网络环境数据对应的目标聚簇,所述目标聚簇包括多个历史连接对应的多个历史记录,每个历史记录包括用于表示网络环境的网络环境信息、用于表示拥塞控制策略的指示信息,和流畅度信息;从所述多个历史记录筛选出n个历史记录;根据所述n个历史记录获取决策信息;
建立模块,用于基于QUIC传输协议与目标终端建立目标QUIC连接;及
匹配模块,用于为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1~7中任一项所述的基于QUIC传输协议的拥塞控制方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1~7中任一项所述的基于QUIC传输协议的拥塞控制方法的步骤。
11.一种拥塞控制方法,其特征在于,所述方法包括:
接收客户终端提供的当前网络环境数据;
通过所述当前网络环境数据和预配置的聚类模型,得到与所述当前网络环境数据对应的目标聚簇,所述目标聚簇包括多个历史连接对应的多个历史记录,每个历史记录包括用于表示网络环境的网络环境信息、用于表示拥塞控制策略的指示信息,和流畅度信息;
从所述多个历史记录筛选出n个历史记录;
根据所述n个历史记录获取决策信息,所述决策信息包括用于指示拥塞控制策略配置的至少一个目标指示信息;及
将所述决策信息发送至所述客户终端,以便所述客户终端根据所述决策信息配置目标拥塞控制策略。
12.根据权利要求11所述的拥塞控制方法,其特征在于,从所述多个历史记录筛选出n个历史记录,包括:
根据所述每个历史记录的流畅度信息,从所述多个历史记录中选择所述n个历史记录。
13.根据权利要求11所述的拥塞控制方法,其特征在于,所述至少一个目标指示信息包括以下一个或多个:目标CCA信息、目标初始窗口值、目标最大窗口值、目标加解密信息和目标QUIC版本。
CN202010146007.XA 2020-03-05 2020-03-05 基于quic传输协议的拥塞控制方法和系统 Active CN112422441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010146007.XA CN112422441B (zh) 2020-03-05 2020-03-05 基于quic传输协议的拥塞控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010146007.XA CN112422441B (zh) 2020-03-05 2020-03-05 基于quic传输协议的拥塞控制方法和系统

Publications (2)

Publication Number Publication Date
CN112422441A CN112422441A (zh) 2021-02-26
CN112422441B true CN112422441B (zh) 2022-10-04

Family

ID=74844033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010146007.XA Active CN112422441B (zh) 2020-03-05 2020-03-05 基于quic传输协议的拥塞控制方法和系统

Country Status (1)

Country Link
CN (1) CN112422441B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702276B (zh) * 2021-03-24 2021-06-18 腾讯科技(深圳)有限公司 一种传输控制方法、装置、电子设备及计算机存储介质
CN113114739B (zh) * 2021-03-29 2022-08-16 华南理工大学 一种基于云存储系统实现文件传输协议动态选择的方法
CN113726688A (zh) * 2021-09-03 2021-11-30 支付宝(杭州)信息技术有限公司 拥塞控制方法、装置和电子设备
CN113852988B (zh) * 2021-09-10 2023-11-24 武汉联影医疗科技有限公司 拥塞控制方法、装置、计算机设备和存储介质
CN113872871B (zh) * 2021-09-24 2024-07-30 上海哔哩哔哩科技有限公司 网络加速方法、系统、设备、存储介质及计算机程序产品
CN114039926B (zh) * 2021-11-05 2023-10-03 北京字节跳动网络技术有限公司 传输控制协议确定方法、装置、可读介质及电子设备
WO2023147695A1 (en) * 2022-02-07 2023-08-10 Zte Corporation Traffic handling method for quic application
CN116132503A (zh) * 2022-11-04 2023-05-16 华为技术有限公司 数据传输方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612612B1 (en) * 2011-09-28 2013-12-17 Juniper Networks, Inc. Dynamic policy control for application flow processing in a network device
CN110691035A (zh) * 2019-10-17 2020-01-14 北京达佳互联信息技术有限公司 一种网络拥塞的确定方法、装置、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827537B (zh) * 2016-06-01 2018-12-07 四川大学 一种基于quic协议的拥塞改进方法
US10819637B2 (en) * 2017-08-09 2020-10-27 Cisco Technology, Inc. Determination and indication of network traffic congestion
CN111386683A (zh) * 2017-11-27 2020-07-07 欧庞戈网络有限公司 基于实时传输网络拥塞状况来加速或减速数据传输网络协议的系统和方法
CN109150743B (zh) * 2018-09-14 2021-11-26 清华大学 一种网络拥塞控制策略切换方法及系统
CN110581808B (zh) * 2019-08-22 2021-06-15 武汉大学 一种基于深度强化学习的拥塞控制方法及系统
CN110784414B (zh) * 2019-10-30 2023-06-23 北京达佳互联信息技术有限公司 数据交互方法、装置、电子设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612612B1 (en) * 2011-09-28 2013-12-17 Juniper Networks, Inc. Dynamic policy control for application flow processing in a network device
CN110691035A (zh) * 2019-10-17 2020-01-14 北京达佳互联信息技术有限公司 一种网络拥塞的确定方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112422441A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112422441B (zh) 基于quic传输协议的拥塞控制方法和系统
JP6457447B2 (ja) データセンターのネットワークトラフィックスケジューリング方法及び装置
US7359986B2 (en) Methods and computer program products for providing network quality of service for world wide web applications
US20140006538A1 (en) Intelligent Client-Side Caching On Mobile Devices
US20220043811A1 (en) Methods and systems for detecting anomalies in cloud services based on mining time-evolving graphs
CN111756674B (zh) 网络通信方法、系统、设备及计算机可读存储介质
Bentaleb et al. Data-driven bandwidth prediction models and automated model selection for low latency
US11316930B2 (en) Connection control method and device
CN111641563B (zh) 基于分布式场景的流量自适应方法与系统
CN110889096B (zh) 登录方法、装置、计算机设备及存储介质
US20230198905A1 (en) Edge processing of sensor data using a neural network to reduce data traffic on a communication network
CN111490947A (zh) 数据包发送方法、数据包接收方法、系统、设备及介质
US12047658B2 (en) Control apparatus, control method, and program
CN112153152A (zh) 算法服务接口的管理方法及系统
CN112954464A (zh) 一种基于网络异常预测的视频清晰度选择方法及装置
CN114285838A (zh) 一种文件上传方法、装置、系统、存储介质及电子设备
CN116521344B (zh) 一种基于资源总线的ai算法调度方法及系统
Yamamoto et al. Prediction of traffic congestion on wired and wireless networks using RNN
CN117081996A (zh) 基于服务端实时反馈和软值的流量控制方法及相关设备
CN113676341B (zh) 一种质差评估方法及相关设备
CN112631577B (zh) 一种模型的调度方法、模型调度器以及模型安全测试平台
CN113824646A (zh) 一种慢启动控制方法、装置、电子设备和存储介质
CN110474954A (zh) 基于区块链的文件分享方法、装置、计算机设备及可读存储介质
WO2024079904A1 (ja) 処理制御システム、処理制御装置、および処理制御方法
WO2024079901A1 (ja) 処理制御システム、処理制御装置、および処理制御方法

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