CN115208518A - 数据传输控制方法、装置及计算机可读存储介质 - Google Patents

数据传输控制方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN115208518A
CN115208518A CN202210835843.8A CN202210835843A CN115208518A CN 115208518 A CN115208518 A CN 115208518A CN 202210835843 A CN202210835843 A CN 202210835843A CN 115208518 A CN115208518 A CN 115208518A
Authority
CN
China
Prior art keywords
data transmission
group
data
network performance
performance data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210835843.8A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210835843.8A priority Critical patent/CN115208518A/zh
Publication of CN115208518A publication Critical patent/CN115208518A/zh
Priority to EP23838559.5A priority patent/EP4395209A1/en
Priority to PCT/CN2023/096237 priority patent/WO2024012065A1/zh
Priority to US18/589,799 priority patent/US20240223503A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Environmental & Geological Engineering (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据传输控制方法、装置及计算机可读存储介质。通过获取多个数据传输对象的历史网络性能数据,并计算每一对象群组的群组网络性能数据;对群组网络性能数据进行加权计算,得到目标群组网络性能数据;基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。该方法可以提升数据传输性能。

Description

数据传输控制方法、装置及计算机可读存储介质
技术领域
本申请涉及通讯技术领域,具体涉及一种数据传输控制方法、装置及计算机可读存储介质。
背景技术
近年来,随着各类短视频业务的不断兴起,音视频流量呈现爆炸式的增长,客户端不断提升的用户体验需求与网络传输性能的滞后之间的矛盾已经成为当前亟需解决的主要矛盾。对此,本领域的技术人员提出了一系列的拥塞控制技术,例如基于丢包信息的Cubic(全称Cubic Binary Increase Congestion,立方二进制阻塞控制)算法、基于带宽探测的BBR算法(Bottleneck Bandwidth and RTT,谷歌公司提供的一种用于网络拥塞控制的算法)等。上述拥塞控制算法可以在一定程度上改善网络传输的质量。
然而,目前的拥塞控制算法都是基于专家经验设置的固定规则,难以适应多变的网络状态和网络业务,使得在一些新的场景下无法取得良好的网络传输质量改善效果。
发明内容
本申请实施例提供一种数据传输控制方法、装置及计算机可读存储介质,该方法可以提升网络流量的传输性能。
本申请第一方面提供一种数据传输控制方法,方法包括:
获取多个数据传输对象的历史网络性能数据,并基于所述历史网络性能数据计算每一对象群组的群组网络性能数据,所述对象群组为对所述多个数据传输对象进行划分得到的群组;
对所述群组网络性能数据进行加权计算,得到目标群组网络性能数据;
基于强化学习模型对所述目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;
根据所述数据传输指数以及所述群组网络性能数据计算得到每一对象群组的数据传输参数;
当接收到目标数据传输对象发送的数据传输连接请求时,根据所述目标数据传输对象所属的对象群组确定目标数据传输参数,并基于所述目标数据传输参数对数据传输过程进行控制。
本申请第二方面提供一种数据传输控制装置,装置包括:
获取单元,用于获取多个数据传输对象的历史网络性能数据,并基于所述历史网络性能数据计算每一对象群组的群组网络性能数据,所述对象群组为对所述多个数据传输对象进行划分得到的群组;
第一计算单元,用于对所述群组网络性能数据进行加权计算,得到目标群组网络性能数据;
学习单元,用于基于强化学习模型对所述目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;
第二计算单元,用于根据所述数据传输指数以及所述群组网络性能数据计算得到每一对象群组的数据传输参数;
控制单元,用于当接收到目标数据传输对象发送的数据传输连接请求时,根据所述目标数据传输对象所属的对象群组确定目标数据传输参数,并基于所述目标数据传输参数对数据传输过程进行控制。
在一些实施例中,学习单元,包括:
第一计算子单元,用于根据每一对象群组的群组网络性能数据计算每一对象群组的强化学习参数;
学习子单元,用于以所述目标群组网络性能数据为强化学习模型的状态值、以所述强化学习参数为所述强化学习模型的奖励值输入至所述强化学习模型,得到输出的每一对象群组的数据传输指数。
在一些实施例中,第一计算子单元,包括:
提取模块,用于在每一对象群组的群组网络性能数据中提取出有效吞吐量数据以及平滑往返传输时间数据;
第一计算模块,用于计算每一对象群组对应的有效吞吐量数据与对应的平滑往返传输时间数据之间的比值,得到每一对象群组的强化学习参数。
在一些实施例中,获取单元,包括:
第一获取子单元,用于获取多个数据传输对象的互联网协议地址数据以及获取所述多个数据传输对象的历史网络性能数据;
划分子单元,用于基于所述互联网协议地址数据将所述多个数据传输对象划分为多个对象群组;
第二计算子单元,用于根据每一对象群组中数据传输对象的历史网络性能数据计算每一对象群组的群组网络性能数据。
在一些实施例中,第二计算子单元,包括:
确定模块,用于根据每一对象群组中每一数据传输对象的历史网络性能数据确定每一对象群组对应的历史网络性能数据集合;
第二计算模块,用于计算每一历史网络性能数据集合中的历史网络性能数据的平均值,得到每一对象群组对应的群组网络性能数据。
在一些实施例中,第一计算单元,包括:
第二获取子单元,用于获取每一对象群组的权重系数;
第三计算子单元,用于基于所述权重系数对每一对象群组的群组网络性能数据进行加权计算,得到目标群组网络性能数据。
在一些实施例中,第二获取子单元,包括:
获取模块,用于获取每一对象群组中包含的数据传输对象的数量;
第三计算模块,用于计算每一群组中数据传输对象的数量与所述多个数据传输对象的数量之间的比值,得到每一对象群组的权重系数。
在一些实施例中,第二计算单元,包括:
提取子单元,用于从所述群组网络性能数据中提取出每一对象群组的有效吞吐量数据以及最小往返传输时间数据;
第四计算子单元,用于基于每一对象群组的有效吞吐量数据、最小往返传输时间数据以及数据传输指数计算每一对象群组的初始窗口数据,并基于每一对象群组的初始窗口数据确定每一对象群组的数据传输参数。
在一些实施例中,控制单元,包括:
第三获取子单元,用于当接收到目标数据传输对象发送的数据传输连接请求时,获取所述目标数据传输对象的目标互联网协议地址;
确定子单元,用于根据所述目标互联网协议地址确定所述目标数据传输对象所属的目标对象群组;
传输子单元,用于获取所述目标对象群组的目标数据传输参数,并基于所述目标数据传输参数对所述目标数据传输对象进行数据传输。
本申请第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请第一方面所提供的数据传输控制方法中的步骤。
本申请第四方面提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请第一方面所提供的数据传输控制方法中的步骤。
本申请第五方面提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面所提供的数据传输控制方法中的步骤。
本申请实施例提供的数据传输控制方法,通过获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;对群组网络性能数据进行加权计算,得到目标群组网络性能数据;基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
以此,本申请提供的数据传输控制方法,通过将数据传输对象进行群组划分,然后采用每个群组在最近一段时间的历史网络性能数据来进行强化学习以得到每一群组在当前时间最适合的网络数据传输参数。该方法可以对网络数据传输参数进行细粒度的控制,从而为每一数据传输对象匹配当前时间最适合的网络数据传输参数,如此可以大大提升数据传输对象的数据传输性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请中数据传输控制的一个场景示意图;
图2是本申请提供的数据传输控制方法的流程示意图;
图3是本申请提供的数据传输控制方法的另一流程示意图;
图4a及图4b为对IP地址划分的示意图;
图5是本申请提供的数据传输控制方法的又一流程示意图;
图6是本申请提供的数据传输控制装置的结构示意图;
图7是本申请提供的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据传输控制方法、装置、计算机可读存储介质及计算机设备。其中,该数据传输控制方法可以使用于数据传输控制装置中。该数据传输控制装置可以集成在计算机设备中,该计算机设备可以是终端也可以是服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(PC,PersonalComputer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,服务器可以为区块链中的节点。
请参阅图1,为本申请提供的数据传输控制方法的一场景示意图。如图所示,网关服务器A获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;对群组网络性能数据进行加权计算,得到目标群组网络性能数据;基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;网关服务器A接收到终端B发送的数据传输请求时,便可以根据终端B所属的对象群组确定其对应的目标数据传输参数,然后基于该目标数据传输参数对向终端B进行数据传输的传输过程进行控制。
需要说明的是,图1所示的数据传输控制场景示意图仅仅是一个示例,本申请实施例描述的数据传输控制场景是为了更加清楚地说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定。本领域普通技术人员可知,随着数据传输控制场景演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
基于上述实施场景以下分别进行详细说明。
在网络数据传输场景下,当需要进行传输的音视频数据量较大时,便会出现数据传输拥塞的问题。为了解决数据传输拥塞问题,提升数据传输效率和数据传输质量,本领域相关技术人员提出了多种拥塞控制算法,来改善网络传输质量。在这方面,近几年随着人工智能技术的愈发成熟,基于机器学习的自适应拥塞控制可以自动适应网络状态的变化,并通过参数设置等方式取得网络传输性能上的收益,这些方法可通过强化学习的方法,设置拥塞控制的相关参数,来提升网络数据传输质量。然而这些方法由于参数集合是通过人为经验设定且这些方法完全脱离现有拥塞控制机制,从而很难具备可行性。此外,这些方法存在稳定性欠缺的问题,导致在现网中无法部署使用。对此,本申请提供了一种数据传输控制方法,以期能够在一定程度上缓解数据传输中的拥塞问题,提升数据传输性能。
本申请实施例将从数据传输控制装置的角度进行描述,该数据传输控制装置可以集成在计算机设备中。其中,计算机设备可以是终端也可以是服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(PC,PersonalComputer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。如图2所示,为本申请提供的数据传输控制方法的流程示意图,该方法包括:
步骤101,获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据。
其中,多个数据传输对象可以为某一应用程序的所有注册用户。例如即时通讯应用程序或者短视频应用程序,其都具有提供数据服务的应用服务器,以及注册该应用的多个应用客户端。由于每个应用客户端都可以是该应用程序的应用服务器进行数据传输的对象,那么在此处可以确定注册该应用的所有应用客户端为的多个数据传输对象。或者,在一些情况下,也可以设置注册该应用的部分客户端为的多个数据传输对象。同样例如前述短视频应用,注册该应用的应用客户端中只有部分为会员用户客户端,那么可以只针对这些会员用户客户端进行数据传输控制以优化对其进行数据传输时的数据传输性能,为其提供良好的数据传输服务和流畅的观看体验。又或者,在一些情况下,部分用户对数据传输需求较少而另一部分用户对数据传输需求较高,那么可以针对这些数据传输需求较高的用户进行针对性的优化,将这些数据传输需求较高的用户确定为的多个数据传输对象。即在本申请实施例中,的多个数据传输对象可以进行个性化设置,此处不作限制。
数据传输对象的历史网络性能数据,可以为该数据传输对象在一段时间中统计的网络性能数据。具体地,可以对数据传输对象的网络性能数据进行周期性地统计,例如每隔T时间将上次统计时间到当次统计时间之间的网络性能数据进行统计。在需要对数据传输进行控制时,便可以采用最近一次统计的数据传输对象的网络性能数据作为其历史网络性能数据。数据传输对象的网络性能数据具体可以为其网络服务质量信息(Quality ofService,QoS),QoS信息具体又可以包括:最小往返传输时间(round trip time,RTT)(min_rtt)、最大往返传输时间(max_rtt)、平滑往返传输时间(srtt)、最大在途量(max_inflight)、有效吞吐量(goodput)、重传率(retran_ratio)、初始窗口(init_cwnd)以及最大窗口(max_cwnd)等信息。
其中,在本申请实施例中,可以将的多个数据传输对象划分为多个群组,此处可以称为对象群组。如此,便可以根据每个群组中数据传输对象的历史网络性能数据计算出每个群组对应的历史网络性能数据,即计算得到每一对象群组的群组网络性能数据。
其中,在一些实施例中,获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组,包括:
1、获取多个数据传输对象的互联网协议地址数据以及获取多个数据传输对象的历史网络性能数据;
2、基于互联网协议地址数据将多个数据传输对象划分为多个对象群组;
3、根据每一对象群组中数据传输对象的历史网络性能数据计算每一对象群组的群组网络性能数据。
在本申请实施例中,对多个数据传输对象进行群组划分,具体可以为根据每个数据传输对象的互联网协议地址(Internet Protocol Address,IP地址)来进行划分。如前所述,数据传输对象具体可以一个应用程序的客户端,那么数据传输对象的IP地址便可以为装载该客户端的终端的IP地址。该终端可以为智能手机、平板、智能手表或者个人电脑等任意可以进行互联网连接以及数据传输的终端。
具体地,可以先对多个数据传输对象的IP地址数据以及每个数据传输对象的历史网络性能数据进行获取。然后,可以基于每个数据传输对象的IP地址数据将多个数据传输对象划分为多个对象群组。再根据每一对象群组中包含的数据传输对象的历史网络性能数据来计算得到每一对象群组的群组网络性能数据。其中,根据数据传输对象的IP地址数据进行群组划分,具体可以根据IP地址的地域、运营商号、自治系统(Autonomous System,AS)号、接入方式等规则进行划分。按照数据传输对象的IP地址数据进行群组划分时,可以按照全部规则进行划分,也可以按照部分规则来进行划分,例如当按照全部规则进行划分时,可以按照地域+运营商+AS号+接入方式这样的方式来进行划分;当按照部分规则进行划分时,则可以按照地域+运营商、地域+接入方式或者地域等规则来进行划分。可以理解的是,同一对象群组中的数据传输对象的数据传输过程具有相似的网络转发路径,同时也具有相似的网络状态信息。即相同对象群组的数据传输对象在进行数据传输控制时,可以采用同一数据传输参数进行控制。
在一些实施例中,根据每一对象群组中数据传输对象的历史网络性能数据计算每一对象群组的群组网络性能数据,包括:
3.1、根据每一对象群组中每一数据传输对象的历史网络性能数据确定每一对象群组对应的历史网络性能数据集合;
3.2、计算每一历史网络性能数据集合中的历史网络性能数据的平均值,得到每一对象群组对应的群组网络性能数据。
其中,在本申请实施例中,对每一对象群组对应的群组网络性能数据的计算,可以采用每一对象群组中包含的数据传输对象的历史网络性能数据进行求平均计算得到。具体地,可以先确定每一对象群组中包含的数据传输对象,然后确定该群组中每一数据传输对象的历史网络性能数据,得到每一对象群组对应的历史网络性能数据集合。进一步地,可以计算每一历史网络性能数据集合中的历史网络性能数据的平均值,从而得到每一对象群组对应的群组网络性能数据。
其中,在一些实施例中,在对每一对象群组中的多个数据传输对象的历史网络性能数据进行求均值来计算该对象群组的群组网络性能数据之前,还可以先对每一数据传输对象的历史网络性能数据进行异常检测,以确定该群组中数据传输对象的历史网络性能数据中不存在异常数据,从而保证对群组网络性能数据计算的准确性。其中,对每一数据传输对象的历史网络性能数据进行异常检测,可以基于更长的时间维度上历史网络性能数据来进行检测。例如数据传输对象的历史网络性能数据为当前时间前溯1个小时内的QoS数据,那么可以采用数据传输对象的当前时间前溯1个月内的QoS数据来对该数据传输对象前溯1个小时内的QoS数据来进行检测,以确定该QoS数据没有发生明显异常。具体地,可以根据数据传输对象的当前时间前溯1个月内的QoS数据来对数据传输对象当前时间前溯1小时内的QoS数据进行预测,得到预测QoS数据;然后计算预测QoS数据与实际统计的QoS之间的差异,如果差异率大于预设比率,则确定该数据传输对象的历史网络性能数据异常。
若确定数据传输对象的QoS数据存在明显异常,则在进行群组网络性能数据计算时则可以去除该数据传输对象的历史网络性能数据。
步骤102,对群组网络性能数据进行加权计算,得到目标群组网络性能数据。
其中,在计算得到每一对象群组的群组网络性能数据后,可以进一步对所有对象群组的群组网络性能数据进行加权计算以得到所有数据传输对象的整体网络性能数据,此处可以称为目标群组网络性能数据。
在一些实施例中,对群组网络性能数据进行加权计算,得到目标群组网络性能数据,包括:
1、获取每一对象群组的权重系数;
2、基于权重系数对每一对象群组的群组网络性能数据进行加权计算,得到目标群组网络性能数据。
其中,在本申请实施例中,基于每一对象群组的群组网络性能数据来计算目标群组网络性能数据,具体可以先获取每一对象群组对应的权重系数,然后基于每一对象群组的权重系数对每一对象群组的群组网络性能数据进行加权计算,从而得到目标群组网络性能数据。
在一些实施例中,获取每一对象群组的权重系数,包括:
1.1、获取每一对象群组中包含的数据传输对象的数量;
1.2、计算每一群组中数据传输对象的数量与多个数据传输对象的数量之间的比值,得到每一对象群组的权重系数。
在本申请实施例中,每一对象群组的权重系数可以基于每一对象群组中包含的数据传输对象的数量来进行计算得到。具体地,可以先对每一对象群组中包含的数据传输对象的数量进行获取,然后计算每一群组中数据传输对象的数量与前述多个数据传输对象的数量之间的比值,即计算每一群组中的成员数量占整体成员数量的比值,进而得到每一对象群组的权重系数。
步骤103,基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数。
其中,强化学习模型(Reinforcement Learning,RL)为机器学习领域之一,受到行为心理学的启发,主要关注智能体如何在环境中采取不同的行动,以最大限度地提高累积奖励。强化学习主要由智能体(Agent)、环境(Environment)、状态(State)、动作(Action)、奖励(Reward)组成。智能体执行了某个动作后,环境将会转换到一个新的状态,对于该新的状态环境会给出奖励信号(正奖励或者负奖励)。随后,智能体根据新的状态和环境反馈的奖励,按照一定的策略执行新的动作。上述过程为智能体和环境通过状态、动作、奖励进行交互的方式。智能体通过强化学习,可以知道自己在什么状态下,应该采取什么样的动作使得自身获得最大奖励。由于智能体与环境的交互方式与人类与环境的交互方式类似,可以认为强化学习是一套通用的学习框架,可用来解决通用人工智能的问题。因此强化学习也被称为通用人工智能的机器学习方法。
在本申请实施例中,可以基于强化学习模型的上述特性来对数据传输过程中的网络性能数据设置进行控制。具体可以基于目标群组网络性能数据以及每一对象群组的群组网络性能数据来设置对应的奖励和环境状态,以使得预设的强化学习模型学习到每一对象群组对应的数据传输指数,该数据传输指数可以用于对对应的对象群组的数据传输参数进行控制来获得更好的奖励值。
具体地,在一些实施例中,基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数,包括:
1、根据每一对象群组的群组网络性能数据计算每一对象群组的强化学习参数;
2、以目标群组网络性能数据为强化学习模型的状态值、以强化学习参数为强化学习模型的奖励值输入至强化学习模型,得到输出的每一对象群组的数据传输指数。
在本申请实施例中,可以先根据每一对象群组的群组网络性能数据来计算每一对象群组的强化学习参数作为强化学习模型的奖励值,然后以前述计算得到的目标群组网络性能数据为强化学习模型的状态值来作为强化学习模型的输入,然后基于上述奖励值和状态值来对强化学习模型进行强化学习处理,得到强化学习模型学习得到的输出参数。可以理解的是,由于对于不同的对象群组,其计算得到的强化学习参数不同,即强化学习模型的奖励值不同,那么学习到的参数也不相同。即对于不同的对象群组,强化学习模型可以学习到不同的输出参数,该输出参数可以对每一对象群组的数据传输参数进行控制以使得对象群组的强化学习参数不断提升,因此该输出参数也可以称为数据传输指数。
在一些实施例中,根据每一对象群组的群组网络性能数据计算每一对象群组的强化学习参数,包括:
1.1、在每一对象群组的群组网络性能数据中提取出有效吞吐量数据以及平滑往返传输时间数据;
1.2、计算每一对象群组对应的有效吞吐量数据与对应的平滑往返传输时间数据之间的比值,得到每一对象群组的强化学习参数。
在本申请实施例中,计算每一对象群组的强化学习参数,具体可以采用每一对象群组的群组网络性能数据中的有效吞吐量数据以及平滑往返传输时间数据来进行计算。具体地,可以先从每一对象群组的群组网络性能数据中提取出有效吞吐量数据以及平滑往返传输时间数据,然后计算有效吞吐量数据和平滑往返传输时间数据之间的比值作为每一对象群组的强化学习参数。设置有效吞吐量和平滑往返传输时间数据之间的比值作为每一对象群组的强化学习参数,具体是将该比值作为强化学习模型的奖励值。主要是考虑强化学习模型的学习目标是获得更高的奖励值,也就是希望得到更大的有效吞吐量以及更少的平滑往返传输时间,也就是为了得到更好的QoS。
在一些实施例中,采用强化学习模型学习每一对象群组的数据传输指数,可以为采用强化学习模型基于目标群组网络性能数据以及每一对象群组的群组网络性能数据进行多次强化学习,得到每一对象群组的多个数据传输指数。然后再进一步计算这多个数据传输指数的均值,最后得到每一对象群组更为准确的数据传输指数。在本申请实施例中,通过多次学习的得到的输出参数的均值作为最终的输出,可以避免学习误差导致学习到的数据传输指数不准确的问题,从而可以提升学习到的数据传输指数的准确性。
步骤104,根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数。
在采用强化学习模型学习得到了每一对象群组的数据传输参数后,便可以进一步根据每一对象群组的数据传输参数对每一对象群组的当前群组网络性能数据进行调整,以得到每一对象群组的数据传输参数。通过每一对象群组的数据传输参数对对应的对象群组的数据传输过程进行控制,便可以得到更为良好的数据传输效果,即可以提升数据传输性能。
在一些实施例中,根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数,包括:
1、从群组网络性能数据中提取出每一对象群组的有效吞吐量数据以及最小往返传输时间数据;
2、基于每一对象群组的有效吞吐量数据、最小往返传输时间数据以及数据传输指数计算每一对象群组的初始窗口数据,并基于每一对象群组的初始窗口数据确定每一对象群组的数据传输参数。
其中,在本申请实施例中,基于学习到的每一对象群组的数据传输指数对相应的对象群组的群组网络性能数据进行调整,具体可以为先从每一对象群组的群组网络性能数据中提取出有效吞吐量数据以及最小往返传输时间数据,然后基于有效吞吐量数据、最小往返传输时间数据以及学习到的数据传输指数计算得到每一对象群组的初始窗口数据,进而可以将每一对象群组的初始窗口数据确定为每一对象群组的数据传输参数。进一步地,可以将每一对象群组的数据传输参数与对应的对象群组进行关联存储,以备使用。
步骤105,当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
在确定了每一对象群组对应的数据传输参数后,在下一个周期的历史网络性能数据统计完成之前,都可以基于上述每一对象群组对应的数据传输参数对每一数据传输对象的数据传输过程进行控制。
具体地,当接收到目标数据传输对象发送的数据传输连接请求时,便可以先确定该目标数据传输对象对应的对象群组,然后获取该对象群组的目标数据传输参数,并基于该目标数据传输参数对该目标数据传输对象的数据传输过程进行控制。例如当接收到某一应用的客户端向应用服务器发送的数据连接请求时,便可以确定该客户端所属的目标对象群组,并确定该目标对象群组的初始窗口数据,然后采用该初始窗口数据对象该客户端进行数据传输的过程进行控制。
根据上述描述可知,本申请实施例提供的数据传输控制方法,通过获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;对群组网络性能数据进行加权计算,得到目标群组网络性能数据;基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
以此,本申请提供的数据传输控制方法,通过将数据传输对象进行群组划分,然后采用每个群组在最近一段时间的历史网络性能数据来进行强化学习以得到每一群组在当前时间最适合的网络数据传输参数。该方法可以对网络数据传输参数进行细粒度的控制,从而为每一数据传输对象匹配当前时间最适合的网络数据传输参数,如此可以大大提升数据传输对象的数据传输性能。而且,本申请提供的数据传输控制方法,可以使得数据传输控制更为细粒度而且也更为精确,对连接到达时会话参数的设定也更具哟针对性。这种为每个用户群组设置符合其网络特征的数据传输控制参数值的方法,有利于提升网络系统整体的传输质量。
本申请还提供了一种数据传输控制方法,该方法可以使用于计算机设备中,该计算机设备可以为服务器。如图3所示,为本申请提供的数据传输控制方法的另一流程示意图,方法具体包括:
步骤201,服务器对用户进行群组划分,得到多个用户群组。
具体地,服务器可以对用户对应的客户端的IP地址按照地域、运营商、AS号、接入方式等规则进行划分,将客户端IP地址划分为不同的用户群组,其中每个用户群组的连接(或会话)具备相似的网络转发路径,同时也具备相似的网络状态信息。
其中,用户群组的划分不限于针对所有客户端的IP地址进行划分,也可以针对某些重要的IP地址前缀或某些流量占比比较高的IP地址前缀进行划分。
另外,用户群组划分的规则可按照全部规则(即地域、运营商、AS号、接入方式等)来进行划分;也可以按照部分规来进行划分,则如地域+运营商、地域+接入方式、地域。如图4a以及图4b所示,为对用户客户端的IP地址进行划分的方案示意图。其中,图4a为按照全部规则进行划分,图4b则按照部分规则(地域)来进行划分。
IP前缀 用户群组标识
192.168.0.0/24 UG_1
192.168.1.0/24 UG_1
192.168.2.0/24 UG_1
192.168.3.0/24 UG_2
192.168.4.0/24 UG_2
表1用户群组划分信息表
如表1所示,为用户群组划分信息表。如表所示,也可以按照IP地址前缀来进行用户群组的划分。属于同一用户群组的IP地址都有相同的用户群组标识。
步骤202,服务器对统计周期内的QoS数据进行统计,并根据统计的QoS数据计算得到每一用户群组的QoS数据。
其中,在本申请实施例中,服务器能够记录每条数据流的网络QoS信息和客户端IP地址。具体地,当每条流结束时,服务器会将这条流的相关QoS信息和客户端IP地址写入到服务器的日志文件中。QoS信息包括:最小RTT(min_rtt)、最大RTT(max_rtt)、平滑RTT(srtt)、最大在途量(max_inflight)、有效吞吐量(goodput)、重传率(retran_ratio)、初始窗口(init_cwnd)、最大窗口(max_cwnd)等信息。即上述信息指示了网络的服务质量。服务器在每条数据流传输结束后,便会对该条数据流的IP地址以及该条数据流的最小RTT(min_rtt)、最大RTT(max_rtt)、平滑RTT(srtt)、最大在途量(max_inflight)、有效吞吐量(goodput)、重传率(retran_ratio)、初始窗口(init_cwnd)、最大窗口(max_cwnd)等信息进行记录,从而实现对数据流的QoS信息的获取。
服务器可以每隔一段时间(记为统计周期T)统计每个用户群组在周期T内的QoS均值及相关分位点值(如50或90分位点的QoS值)。具体地,服务器端从日志文件中逐个读取每一条流的QoS信息和客户端IP地址,通过查询IP地址和用户群组标识的对应关系,获得每一条流的用户群组标识。并将具有相同用户群组标识的流的QoS信息取平均值或相关分位点(如50或90分位点)。
例如,时间周期T=15mins,这段时间包含IP地址为192.168.0.0/24的会话有100条,IP地址为192.168.1.0/24和192.168.2.0/24的会话各有200条,IP地址为192.168.3.0/24和192.168.4.0/24的会话各有50条。因此,用户群组1(UG_1)的会话数量为500,用户群组2(UG_2)的会话数量为100。在本实施例中,假设UG_1中500条会话的QoS均值(QoS_avg_1)分别为:min_rtt_avg_1、max_rtt_avg_1、srtt_avg_1、goodput_avg_1、retran_ratio_avg_1、init_cwnd_avg_1和max_cwnd_avg_1,UG_2中100条会话的QoS(QoS_avg_2)均值分别为min_rtt_avg_2、max_rtt_avg_2、srtt_avg_2、goodput_avg_2、retran_ratio_avg_2、init_cwnd_avg_2和max_cwnd_avg_2。因此,UG_1的reward值为goodput_avg_1/srtt_avg_1,UG_2的reward值为goodput_avg_2/srtt_avg_2。
步骤203,服务器对每一用户群组的QoS数据进行加权计算,并将加权计算得到的数据作为强化学习模型的状态值。
进一步地,服务器可以获取每一用户群组的权重系数,该权重系数可以为用户进行人工设置,也可以为根据用户群组中的用户数量进行计算得到。在确定了每一用户群组的权重系数后,便可以基于每一用户群组的权重系数对每一用户群组的QoS数据进行加权计算,并将加权计算得到的结果作为强化学习模型的状态值。
具体地,服务器将QoS信息按照用户群组进行加权,其中用户群组i的QoS记为QoS_i,QoS_i的权重记为w_i,此时加权之后的QoS如公式(1)所示:
QoS=w_1*QoS_1+w_2*QoS_2+……+w_n*QoS_n 公式(1)
步骤204,服务器提取每一用户群组QoS数据中的有效吞吐量数据和平滑往返传输时间数据,并计算有效吞吐量数据和平滑往返传输时间数据的比值作为强化学习模型的奖励值。
进一步地,服务器对每一用户群组的QoS数据中的有效吞吐量数据和平滑往返传输时间数据进行提取,并计算有效吞吐量数据和平滑往返时间数据的比值作为强化学习模型的奖励值。
具体计算公式如下公式(2):
Reward=goodput/srtt 公式(2)
其中,在一些实施例中,公式(2)中的分子还可以为吞吐量throughput或者为数据从应用层到网络层的下载速率(download_speed)。公式(2)中的分子还可以为平均rtt、min_rtt或max_rtt。
步骤205,服务器基于强化学习模型对状态值与每一用户群组对应的奖励值进行强化学习,得到强化学习模型输出的每一用户群组对应的学习参数。
在确定了强化学习模型的状态值和奖励值后,便可以将上述状态值和奖励值输入至强化学习模型进行强化学习,得到强化学习模型输出的参数α。其中,此处强化学习模型可以为一个强化学习模型也可以为多个强化学习模型。不同的用户群组为强化学习模型提供了不同的奖励值,因此对于不同的用户群组强化学习模型学习到的学习参数也不相同。强化学习模型的输出为参数集{-1,-0.5,0,0.5,1}中的其中一个(记为α,默认值为0)。
步骤206,服务器基于每一用户群组对应的学习参数和每一用户群组的QoS信息计算每一用户群组对应的数据传输参数。
其中,在学习得到每一用户群组对应的学习参数后,便可以进一步根据每一用户群组的学习参数和QoS信息计算每一用户群组对应的数据传输参数。此处数据传输参数也可以称为初始化拥塞控制参数,具体地,每一用户群组的数据传输参数可以按如下公式计算:
Init_rtt=min_rtt 公式(3)
Init_cwnd=2α*(goodput*init_rtt) 公式(4)
例如对于上述用户群组1,即UG1,其初始化拥塞参数的计算公式如下:
init_rtt_1=min_rtt_avg_1
init_cwnd_1=2α*(goodput_avg_1*init_rtt_1)
进一步地,对于每一用户群组,都可以采用上述方法计算得到每一用户群组的数据传输参数。然后可以将每一用户群组的数据传输参数进行保存以备使用。
如表2所示,为保存的初始化参数表的示意
用户群组ID Init_rtt Init_cwnd
UG_1 Init_rtt_1 Init_cwnd_1
UG_2 Init_rtt_2 Init_cwnd_2
表2初始化参数表
步骤207,当服务器接收到用户客户端发送的数据传输连接请求时,对用户客户端的IP地址进行获取。
当服务器在接收到用户客户端发送的数据传输连接请求时,便可以对该连接请求中包含的IP地址进行获取。
步骤208,服务器根据用户客户端的IP地址确定对应的群组信息,并确定该群组信息对应的数据传输参数。
在获取到用户客户端的IP地址后,便可以进一步确定该用户客户端对应的群组信息,以及进一步基于群组信息在初始化参数表中查找到该群组对应的初始化参数,即查找到对应的数据传输参数。
步骤209,服务器根据对应的数据传输参数响应用户客户端的连接请求并向用户客户端发送数据。
在确定了用户客户端对应的用户群组的数据传输参数后,便可以根据该参数来响应用户客户端的数据连接请求,并向用户客户端发送请求数据。具体地,当根据用户ID确定了用户所述的群组为UG_2,那么便可以确定其初始数据传输参数中初始rtt为Init_rtt_2,初始cwnd为Init_cwnd_2。如此便可以将向用户客户端发送数据时的初始网络参数中的rtt设置为Init_rtt_2,以及将初始网络参数中cwnd设置为Init_cwnd_2,然后再进行相应的数据传输。
其中,现有的拥塞控制算法可以分为两类,一是基于专家经验的“规则式”拥塞控制算法,这类算法基于丢包信息、时延信息或带宽探测信息等方式判断当前网络中是否出现拥塞现象,从而执行拥塞避免等动作,但这些方法往往依赖网络人员的经验来设置拥塞避免的方式,对网络状态和相关业务(如音视频业务)缺乏很好的适应性,致使网络传输性能优化收益较少。另一类拥塞控制算法主要基于人工智能的方式,这类方法要么完全推翻现有拥塞控制算法,要么在稳定性、精细控制等方面存在诸多问题而无法真正得到部署。本申请实施例提出的一种面向用户群组的自适应拥塞控制方法(数据传输控制方法)能够较好地解决上述问题,通过利用网络测量技术,将传统拥塞控制的优势保留,新的拥塞控制参数是在传统拥塞控制算法的基础上进行设置,避免了现有基于机器学习的拥塞控制算法在收敛性上面临的挑战,可在一定程度上保证提出的自适应拥塞控制方法的稳定性;与此同时,本发明根据地域、运营商、接入方式等规则将客户端IP进行划分成不同的用户群组,并基于强化学习的方式,通过单个强化学习模块为每个用户群组设置专门的初始化拥塞控制参数,实现了网络流量传输过程中拥塞避免的精细化和轻量级控制。本发明提出的自适应拥塞控制方法可在现有拥塞控制算法初始化参数设置等方面取得较大收益,有利于提升视音频流量的网络传输性能,提升音视频业务的竞争力。
如图5所示,为本申请提供的数据传输控制方法的又一流程示意图。如图所示,该流程具体可以由四个模块执行,具体可以包括网络测量模块10、智能学习模块20、参数计算模块30以及传输控制模块40。其中,网络测量模块10可以获取多个用户的历史网络性能数据以及可以将用户按照IP地址划分为多个用户群组,得到每个用户的用户群组信息,并基于每个用户的历史网络性能数据确定每个用户群组对应的群组网络性能数据。进一步地,网络测量模块10还可以对多个用户群组的群组网络性能数据进行加权计算,得到加权网络性能数据。智能学习模块20可以以加权网络性能数据为状态值,以及以群组网络性能数据中的有效吞吐量和平滑rtt的比值为奖励值经强化学习模型进行强化学习,得到学习到的数据传输指数。参数计算模块30则可以采用强化学习模型学习到的数据传输指数来计算出每一用户群组对应的数据传输参数,形成数据传输参数列表。传输控制模块40则可以在接收到用户上传的数据传输连接请求时,根据用户的IP地址确定用户所属的用户群组,然后再数据传输参数列表中查询到与其用户群组对应的数据传输参数,然后采用对应的数据传输参数对数据传输过程进行控制,从而可以提升数据传输的传输性能。
根据上述描述可知,本申请提供的数据传输控制方法,通过获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;对群组网络性能数据进行加权计算,得到目标群组网络性能数据;基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
以此,本申请提供的数据传输控制方法,通过将数据传输对象进行群组划分,然后采用每个群组在最近一段时间的历史网络性能数据来进行强化学习以得到每一群组在当前时间最适合的网络数据传输参数。该方法可以对网络数据传输参数进行细粒度的控制,从而为每一数据传输对象匹配当前时间最适合的网络数据传输参数,如此可以大大提升数据传输对象的数据传输性能。
为了更好地实施以上数据传输控制方法,本申请实施例还提供一种数据传输控制装置,该数据传输控制装置可以集成在终端或服务器中。
例如,如图6所示,为本申请实施例提供的数据传输控制装置的结构示意图,该数据传输控制装置可以包括获取单元301、第一计算单元302、学习单元303、第二计算单元304以及控制单元305,如下:
获取单元301,用于获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;
第一计算单元302,用于对群组网络性能数据进行加权计算,得到目标群组网络性能数据;
学习单元303,用于基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;
第二计算单元304,用于根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;
控制单元305,用于当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
在一些实施例中,学习单元,包括:
第一计算子单元,用于根据每一对象群组的群组网络性能数据计算每一对象群组的强化学习参数;
学习子单元,用于以目标群组网络性能数据为强化学习模型的状态值、以强化学习参数为强化学习模型的奖励值输入至强化学习模型,得到输出的每一对象群组的数据传输指数。
在一些实施例中,第一计算子单元,包括:
提取模块,用于在每一对象群组的群组网络性能数据中提取出有效吞吐量数据以及平滑往返传输时间数据;
第一计算模块,用于计算每一对象群组对应的有效吞吐量数据与对应的平滑往返传输时间数据之间的比值,得到每一对象群组的强化学习参数。
在一些实施例中,获取单元,包括:
第一获取子单元,用于获取多个数据传输对象的互联网协议地址数据以及获取多个数据传输对象的历史网络性能数据;
划分子单元,用于基于互联网协议地址数据将多个数据传输对象划分为多个对象群组;
第二计算子单元,用于根据每一对象群组中数据传输对象的历史网络性能数据计算每一对象群组的群组网络性能数据。
在一些实施例中,第二计算子单元,包括:
确定模块,用于根据每一对象群组中每一数据传输对象的历史网络性能数据确定每一对象群组对应的历史网络性能数据集合;
第二计算模块,用于计算每一历史网络性能数据集合中的历史网络性能数据的平均值,得到每一对象群组对应的群组网络性能数据。
在一些实施例中,第一计算单元,包括:
第二获取子单元,用于获取每一对象群组的权重系数;
第三计算子单元,用于基于权重系数对每一对象群组的群组网络性能数据进行加权计算,得到目标群组网络性能数据。
在一些实施例中,第二获取子单元,包括:
获取模块,用于获取每一对象群组中包含的数据传输对象的数量;
第三计算模块,用于计算每一群组中数据传输对象的数量与多个数据传输对象的数量之间的比值,得到每一对象群组的权重系数。
在一些实施例中,第二计算单元,包括:
提取子单元,用于从群组网络性能数据中提取出每一对象群组的有效吞吐量数据以及最小往返传输时间数据;
第四计算子单元,用于基于每一对象群组的有效吞吐量数据、最小往返传输时间数据以及数据传输指数计算每一对象群组的初始窗口数据,并基于每一对象群组的初始窗口数据确定每一对象群组的数据传输参数。
在一些实施例中,控制单元,包括:
第三获取子单元,用于当接收到目标数据传输对象发送的数据传输连接请求时,获取目标数据传输对象的目标互联网协议地址;
确定子单元,用于根据目标互联网协议地址确定目标数据传输对象所属的目标对象群组;
传输子单元,用于获取目标对象群组的目标数据传输参数,并基于目标数据传输参数对目标数据传输对象进行数据传输。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
根据上述描述可知,本申请实施例提供的数据传输控制装置,通过获取单元301获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;第一计算单元302对群组网络性能数据进行加权计算,得到目标群组网络性能数据;学习单元303基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;第二计算单元304根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;控制单元305当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
以此,本申请提供的数据传输控制方法,通过将数据传输对象进行群组划分,然后采用每个群组在最近一段时间的历史网络性能数据来进行强化学习以得到每一群组在当前时间最适合的网络数据传输参数。该方法可以对网络数据传输参数进行细粒度的控制,从而为每一数据传输对象匹配当前时间最适合的网络数据传输参数,如此可以大大提升数据传输对象的数据传输性能。
本申请实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,如图7所示,为本申请提供的计算机设备的结构示意图。具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理单元401、一个或一个以上存储介质的存储单元402、电源模块403和输入模块404等部件。本领域技术人员可以理解,图7中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理单元401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储单元402内的软件程序和/或模块,以及调用存储在存储单元402内的数据,执行计算机设备的各种功能和处理数据。可选的,处理单元401可包括一个或多个处理核心;优选的,处理单元401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、对象界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理单元401中。
存储单元402可用于存储软件程序以及模块,处理单元401通过运行存储在存储单元402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储单元402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能以及网页访问等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储单元402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储单元402还可以包括存储器控制器,以提供处理单元401对存储单元402的访问。
计算机设备还包括给各个部件供电的电源模块403,优选的,电源模块403可以通过电源管理系统与处理单元401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源模块403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入模块404,该输入模块404可用于接收输入的数字或字符信息,以及产生与对象设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理单元401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储单元402中,并由处理单元401来运行存储在存储单元402中的应用程序,从而实现各种功能,如下:
获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;对群组网络性能数据进行加权计算,得到目标群组网络性能数据;基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
应当说明的是,本申请实施例提供的计算机设备与上文实施例中的方法属于同一构思,以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种方法中的步骤。例如,该指令可以执行如下步骤:
获取多个数据传输对象的历史网络性能数据,并基于历史网络性能数据计算每一对象群组的群组网络性能数据,对象群组为对多个数据传输对象进行划分得到的群组;对群组网络性能数据进行加权计算,得到目标群组网络性能数据;基于强化学习模型对目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;根据数据传输指数以及群组网络性能数据计算得到每一对象群组的数据传输参数;当接收到目标数据传输对象发送的数据传输连接请求时,根据目标数据传输对象所属的对象群组确定目标数据传输参数,并基于目标数据传输参数对数据传输过程进行控制。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种方法中的步骤,因此,可以实现本发明实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据传输控制方法中各种可选实现方式中提供的方法。
以上对本发明实施例所提供的数据传输控制方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (13)

1.一种数据传输控制方法,其特征在于,所述方法包括:
获取多个数据传输对象的历史网络性能数据,并基于所述历史网络性能数据计算每一对象群组的群组网络性能数据,所述对象群组为对所述多个数据传输对象进行划分得到的群组;
对所述群组网络性能数据进行加权计算,得到目标群组网络性能数据;
基于强化学习模型对所述目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;
根据所述数据传输指数以及所述群组网络性能数据计算得到每一对象群组的数据传输参数;
当接收到目标数据传输对象发送的数据传输连接请求时,根据所述目标数据传输对象所属的对象群组确定目标数据传输参数,并基于所述目标数据传输参数对数据传输过程进行控制。
2.根据权利要求1所述的方法,其特征在于,所述基于强化学习模型对所述目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数,包括:
根据每一对象群组的群组网络性能数据计算每一对象群组的强化学习参数;
以所述目标群组网络性能数据为强化学习模型的状态值、以所述强化学习参数为所述强化学习模型的奖励值输入至所述强化学习模型,得到输出的每一对象群组的数据传输指数。
3.根据权利要求2所述的方法,其特征在于,所述根据每一对象群组的群组网络性能数据计算每一对象群组的强化学习参数,包括:
在每一对象群组的群组网络性能数据中提取出有效吞吐量数据以及平滑往返传输时间数据;
计算每一对象群组对应的有效吞吐量数据与对应的平滑往返传输时间数据之间的比值,得到每一对象群组的强化学习参数。
4.根据权利要求1所述的方法,其特征在于,所述获取多个数据传输对象的历史网络性能数据,并基于所述历史网络性能数据计算每一对象群组的群组网络性能数据,所述对象群组为对所述多个数据传输对象进行划分得到的群组,包括:
获取多个数据传输对象的互联网协议地址数据以及获取所述多个数据传输对象的历史网络性能数据;
基于所述互联网协议地址数据将所述多个数据传输对象划分为多个对象群组;
根据每一对象群组中数据传输对象的历史网络性能数据计算每一对象群组的群组网络性能数据。
5.根据权利要求4所述的方法,其特征在于,所述根据每一对象群组中数据传输对象的历史网络性能数据计算每一对象群组的群组网络性能数据,包括:
根据每一对象群组中每一数据传输对象的历史网络性能数据确定每一对象群组对应的历史网络性能数据集合;
计算每一历史网络性能数据集合中的历史网络性能数据的平均值,得到每一对象群组对应的群组网络性能数据。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对所述群组网络性能数据进行加权计算,得到目标群组网络性能数据,包括:
获取每一对象群组的权重系数;
基于所述权重系数对每一对象群组的群组网络性能数据进行加权计算,得到目标群组网络性能数据。
7.根据权利要求6所述的方法,其特征在于,所述获取每一对象群组的权重系数,包括:
获取每一对象群组中包含的数据传输对象的数量;
计算每一群组中数据传输对象的数量与所述多个数据传输对象的数量之间的比值,得到每一对象群组的权重系数。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述数据传输指数以及所述群组网络性能数据计算得到每一对象群组的数据传输参数,包括:
从所述群组网络性能数据中提取出每一对象群组的有效吞吐量数据以及最小往返传输时间数据;
基于每一对象群组的有效吞吐量数据、最小往返传输时间数据以及数据传输指数计算每一对象群组的初始窗口数据,并基于每一对象群组的初始窗口数据确定每一对象群组的数据传输参数。
9.根据权利要求4所述的方法,其特征在于,所述当接收到目标数据传输对象发送的数据传输连接请求时,根据所述目标数据传输对象所属的对象群组确定目标数据传输参数,并基于所述目标数据传输参数对数据传输过程进行控制,包括:
当接收到目标数据传输对象发送的数据传输连接请求时,获取所述目标数据传输对象的目标互联网协议地址;
根据所述目标互联网协议地址确定所述目标数据传输对象所属的目标对象群组;
获取所述目标对象群组的目标数据传输参数,并基于所述目标数据传输参数对所述目标数据传输对象进行数据传输。
10.一种数据传输控制装置,其特征在于,所述装置包括:
获取单元,用于获取多个数据传输对象的历史网络性能数据,并基于所述历史网络性能数据计算每一对象群组的群组网络性能数据,所述对象群组为对所述多个数据传输对象进行划分得到的群组;
第一计算单元,用于对所述群组网络性能数据进行加权计算,得到目标群组网络性能数据;
学习单元,用于基于强化学习模型对所述目标群组网络性能数据以及每一对象群组的群组网络性能数据进行强化学习,得到每一对象群组的数据传输指数;
第二计算单元,用于根据所述数据传输指数以及所述群组网络性能数据计算得到每一对象群组的数据传输参数;
控制单元,用于当接收到目标数据传输对象发送的数据传输连接请求时,根据所述目标数据传输对象所属的对象群组确定目标数据传输参数,并基于所述目标数据传输参数对数据传输过程进行控制。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9中任一项所述的数据传输控制方法中的步骤。
12.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的数据传输控制方法中的步骤。
13.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至9中任一项所述的数据传输控制方法中的步骤。
CN202210835843.8A 2022-07-15 2022-07-15 数据传输控制方法、装置及计算机可读存储介质 Pending CN115208518A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210835843.8A CN115208518A (zh) 2022-07-15 2022-07-15 数据传输控制方法、装置及计算机可读存储介质
EP23838559.5A EP4395209A1 (en) 2022-07-15 2023-05-25 Data transmission control method and apparatus, computer-readable storage medium, computer device, and computer program product
PCT/CN2023/096237 WO2024012065A1 (zh) 2022-07-15 2023-05-25 数据传输控制方法、装置、计算机可读存储介质、计算机设备及计算机程序产品
US18/589,799 US20240223503A1 (en) 2022-07-15 2024-02-28 Data transmission control method and apparatus, computer-readable storage medium, computer device, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210835843.8A CN115208518A (zh) 2022-07-15 2022-07-15 数据传输控制方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115208518A true CN115208518A (zh) 2022-10-18

Family

ID=83581531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210835843.8A Pending CN115208518A (zh) 2022-07-15 2022-07-15 数据传输控制方法、装置及计算机可读存储介质

Country Status (4)

Country Link
US (1) US20240223503A1 (zh)
EP (1) EP4395209A1 (zh)
CN (1) CN115208518A (zh)
WO (1) WO2024012065A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527620A (zh) * 2023-06-25 2023-08-01 上海帜讯信息技术股份有限公司 基于多种消息体的机器学习发送方法、装置及存储介质
WO2024012065A1 (zh) * 2022-07-15 2024-01-18 腾讯科技(深圳)有限公司 数据传输控制方法、装置、计算机可读存储介质、计算机设备及计算机程序产品

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8531954B2 (en) * 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
CN101431469A (zh) * 2008-10-08 2009-05-13 东南大学 基于博弈理论的p2p系统速率控制方法
CN102740368B (zh) * 2012-06-08 2015-07-08 华为软件技术有限公司 一种带宽调整方法及商业智能系统
CN103532868B (zh) * 2013-11-01 2016-10-26 国网上海市电力公司 电力系统网络带宽和流量控制方法
CN103702344B (zh) * 2013-12-30 2017-06-13 中国联合网络通信集团有限公司 一种无线m2m终端的通信控制方法及系统
CN111756646B (zh) * 2020-07-08 2023-09-29 腾讯科技(深圳)有限公司 网络传输控制方法、装置、计算机设备及存储介质
CN115208518A (zh) * 2022-07-15 2022-10-18 腾讯科技(深圳)有限公司 数据传输控制方法、装置及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024012065A1 (zh) * 2022-07-15 2024-01-18 腾讯科技(深圳)有限公司 数据传输控制方法、装置、计算机可读存储介质、计算机设备及计算机程序产品
CN116527620A (zh) * 2023-06-25 2023-08-01 上海帜讯信息技术股份有限公司 基于多种消息体的机器学习发送方法、装置及存储介质

Also Published As

Publication number Publication date
US20240223503A1 (en) 2024-07-04
EP4395209A1 (en) 2024-07-03
WO2024012065A1 (zh) 2024-01-18

Similar Documents

Publication Publication Date Title
CN115208518A (zh) 数据传输控制方法、装置及计算机可读存储介质
Lim et al. When they go high, we go low: low-latency live streaming in dash. js with LoL
Claeys et al. Design and optimisation of a (FA) Q-learning-based HTTP adaptive streaming client
CN104573109A (zh) 一种基于群组关系的自动推荐方法、终端及系统
CN114650227B (zh) 一种分层联邦学习场景下的网络拓扑构建方法及系统
Wang et al. Differential privacy oriented distributed online learning for mobile social video prefetching
CN114357455A (zh) 一种基于多维属性信任评估的信任方法
CN114116705B (zh) 联合学习中确定参与方贡献值的方法及装置
EP3952233B1 (en) Tcp congestion control method, apparatus, terminal, and readable storage medium
Yin et al. On the efficiency and fairness of multiplayer HTTP-based adaptive video streaming
CN115714817A (zh) 一种动态反馈加权云存储资源调度方法、装置及设备
CN111897659B (zh) 业务处理频率的控制方法、系统、装置、电子设备
CN117392483B (zh) 基于增强学习的相册分类模型训练加速方法、系统及介质
Bhattacharyya et al. QFlow: A learning approach to high QoE video streaming at the wireless edge
Xu et al. PnP-DRL: A plug-and-play deep reinforcement learning approach for experience-driven networking
Naresh et al. Sac-abr: Soft actor-critic based deep reinforcement learning for adaptive bitrate streaming
CN117081983B (zh) 数据传输方法及装置
CN109729016A (zh) 一种报文发送方法、设备及计算机可读存储介质
JP6040183B2 (ja) 負荷分散処理装置及び負荷分散処理方法
CN112911620B (zh) 信息处理方法、装置及电子设备和存储介质
CN114448838B (zh) 系统可靠度评估方法
CN115499657A (zh) 视频码率自适应网络的训练方法、应用方法、装置及设备
Ali et al. Automation Based Active Queue Management using Dynamic Genetic Algorithm in Real-Time Application.
Tahir et al. Collaborative Optimization of the Age of Information under Partial Observability
CN113810461A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40075793

Country of ref document: HK