一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度强化学习的多链路传输智能报文调度方法

2022-07-16 11:26:04 来源:中国专利 TAG:


1.本发明涉及网络通信的技术领域,尤其是指一种基于深度强化学习的多链路传输智能报文调度方法。


背景技术:

2.目前,传统以tcp(transmission control protocol,传输控制协议)为代表的单路径传输协议难以满足用户在传输效率及可靠性方面的要求。随着多种无线接入技术的发展,大多数移动终端都配置了4g/3g和wifi接口,为实现基于多链路的数据传输提供了可能。近年来,ietf工作组提出了对传统tcp协议的扩展协议,多路径tcp(multi-path tcp,mptcp)。mptcp将单个tcp的数据分流到多个不同的子流,允许每一条子流走不同的物理链路,从而形成多条路径。相较于传统tcp协议,mptcp协议具有高吞吐量,高容忍度,高可靠性,高安全性等特点,既可以配置多个路径作为主力/备用链路增强会话的鲁棒性,又可以配置多个路径同时工作并行传输,提高整体吞吐量。
3.但是,目前的mptcp协议还不够完善,在异构多链路网络环境下,由于不同链路在带宽、往返时延(round-trip time,rtt)、丢包率等服务指标上存在较大的差异,使得mptcp的传输效果并不理想,面临队头阻塞(hol blocking)、带宽利用率低下、应用延迟增高、吞吐量下降等诸多问题。
4.针对以上问题,除了linux内核已经实现的三种默认mptcp调度算法,研究者们还提出了众多不同的网络环境和服务质量需求下mptcp数据包调度算法。blest算法通过检测发送窗口是否阻塞,来最小化异构网络场景的队头阻塞问题,从而通过减少虚假重传的次数来提高mptcp在异构网络场景进行多链路传输时的有效吞吐量。daps算法根据各个子流的往返时延选择在每个子流上传输的数据包序列,最大限度的提高mptcp接收端按顺序接收数据包的概率,最小化接收端缓冲区阻塞的机会。dems算法致力于让参与并行传输的链路尽量同时完成传输任务,避免链路之间出现过大的时间差。
5.针对以上现有技术,mptcp多链路传输调度优化的研究工作大多都是基于简单网络模型和启发式算法,这些启发式算法通常只针对单一的网络场景下的特定问题进行设计,例如blest算法和daps算法针对队头阻塞问题进行优化,otias算法旨在解决实时应用程序中的调度问题,dems算法针对优化数据下载时间。并且现有的启发式算法通常都采用固定的数据包调度机制,无法适应动态多变的网络环境,特别是链路参数差异较大的非堆成异构网络环境。
6.因此,如何为mptcp制定合理的调度策略,特别是在多种网络场景下,如何满足用户不同的服务质量需求、最优化网络资源利用率,成为网络通信领域一个具有挑战性的问题。


技术实现要素:

7.本发明的目的在于克服现有技术的缺点与不足,提出了一种基于深度强化学习的
多链路传输智能报文调度方法,使用基于actor-critic强化学习框架的深度确定性策略梯度模型,直接对mptcp的数据包调度策略进行建模和学习,从而优化调度粒度,提高数据包调度性能。
8.为实现上述目的,本发明所提供的技术方案为:基于深度强化学习的多链路传输智能报文调度方法,包括以下步骤:
9.s1、将mptcp发送方的数据包传输过程划分为若干个数据包调度周期;
10.s2、在每个调度周期开始时,观测mptcp的每条链路的服务质量参数,并使其作为网络环境状态的表征,将网络环境状态输入基于actor-critic强化学习框架的深度确定性策略梯度模型,所述深度确定性策略梯度模型由actor神经网络和critic神经网络组成,利用actor神经网络表示mptcp的数据包调度策略,利用critic神经网络表示数据包调度策略的好坏;
11.s3、根据输入的网络环境状态,得到actor神经网络输出的一组表示数据包调度策略的调度动作,在该调度周期,mptcp的数据包调度器根据调度动作执行调度策略;
12.s4、调度策略执行结束后,根据设定的奖励函数,计算每个调度周期内模型输出调度动作的奖励值,同时观测执行调度动作后的网络环境状态;
13.s5、将得到的调度周期的网络环境状态、调度动作、动作奖励值以及执行动作后的网络环境状态组成四元组的数据训练样本,存放在经验回放池中;
14.s6、从经验回放池中随机采样数据训练样本,输入深度确定性策略梯度模型中,根据损失函数更新actor神经网络参数以及critic神经网络参数优化模型输出的数据包调度策略。
15.进一步,在步骤s1中,数据包调度周期的时长为1到3秒。
16.进一步,在步骤s2中,服务质量参数包括:mptcp的子流在一个调度周期内的吞吐量、mptcp的子流的拥塞窗口大小及mptcp的子流的往返时延。
17.进一步,在步骤s3中,actor神经网络为一个表示数据包调度策略的神经网络,输出的调度动作为分配到各个mptcp的子流的数据包数量的分流比,所述分流比的计算方式为:分配到该子流上的数据包个数除以mptcp的发送方缓冲区当前的总数据包个数,设mptcp的数据包调度器分配给第i个子流的分流比xi为:0<xi<1,i=1,2,3,4,则模型输出的调度动作a具体表示为:a=(x1,x2,x3,x4),其中xi满足
18.进一步,在步骤s4中,奖励函数r为:r=αv
tthroughtput
βv
tcwnd
γv
trtt
,奖励函数根据每条链路的服务质量参数得到调度动作的奖励值,其中,v
tthroughtput
表示mptcp的子流在一个调度周期内的吞吐量,v
tcwnd
表示mptcp的子流的拥塞窗口大小,v
trtt
表示mptcp的子流的往返时延,α、β、γ表示不同服务质量参数的权重。
19.进一步,在步骤s5中,经验回放池为一个存放数据训练样本的缓冲池;对数据训练样本的采集和深度确定性策略梯度模型的训练进行异步并发处理,容量大小为500。
20.进一步,在步骤s6中,actor神经网络负责mptcp的数据包调度策略输出,critic神经网络负责mptcp的数据包调度策略评估,actor神经网络和critic神经网络均由两个隐藏层构成,第一层有400个神经元,第二层有300个神经元,每个神经元使用relu激活函数,在网络参数更新时,策略输出和策略评估分开更新,critic神经网络根据输入的网络环境状
态和调度动作输出一个值,作为值函数的估值信息,actor神经网络根据该估值信息更新actor神经网络的参数,critic神经网络根据奖励值和值函数的估值信息更新critic神经网络参数。
21.本发明与现有技术相比,具有如下优点与有益效果:
22.本发明首次提出使用深度确定性策略梯度模型来优化mptcp的数据包调度策略,利用actor神经网络来表示mptcp数据包调度策略,critic神经网络来表示调度策略的好坏,可以学习出各种网络环境下的最优数据包调度策略,从根本上解决现有启发式mptcp的数据包调度算法无法适应复杂多变的动态网络环境的问题。使用actor-critic强化学习框架,将策略输出和策略评估分开来,从而提高了策略优化效率,加速mptcp的数据包调度策略神经网络的训练。同时,模型采用基于策略梯度的深度强化学习算法,actor神经网络直接输出模型的调度动作,直接对mptcp的数据包调度策略进行建模和学习,可以解决连续动作空间问题,从而使得mptcp调度粒度更细,提高mptcp调度性能和优化效率。
附图说明
23.图1是本发明方法的深度确定性策略梯度模型框架图。
24.图2是循环调度步骤的流程图。
25.图3是循环更新深度确定性策略梯度模型参数的流程图。
具体实施方式
26.下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
27.本实施例公开了一种基于深度强化学习的多链路传输智能报文调度方法,包括以下步骤:
28.s1、将mptcp发送方的数据包传输过程划分为若干个数据包调度周期;
29.s2、在每个调度周期开始时,观测mptcp的每条链路的服务质量参数,并使其作为网络环境状态的表征,将网络环境状态输入基于actor-critic强化学习框架的深度确定性策略梯度模型,所述深度确定性策略梯度模型由actor神经网络和critic神经网络组成,利用actor神经网络表示mptcp的数据包调度策略,利用critic神经网络表示数据包调度策略的好坏;
30.s3、根据输入的网络环境状态,得到actor神经网络输出的一组表示数据包调度策略的调度动作,在该调度周期,mptcp的数据包调度器根据调度动作执行调度策略;
31.s4、调度策略执行结束后,根据设定的奖励函数,计算每个调度周期内模型输出调度动作的奖励值,同时观测执行调度动作后的网络环境状态;
32.s5、将得到的调度周期的网络环境状态、调度动作、动作奖励值以及执行动作后的网络环境状态组成四元组的数据训练样本,存放在经验回放池中;
33.s6、从经验回放池中随机采样数据训练样本,输入深度确定性策略梯度模型中,根据损失函数更新actor神经网络参数以及critic神经网络参数优化模型输出的数据包调度策略。
34.优选的,在步骤s1中,数据包调度周期的时长为1到3秒。
35.优选的,在步骤s2中,服务质量参数包括:mptcp的子流在一个调度周期内的吞吐量、mptcp的子流的拥塞窗口大小、mptcp的子流的往返时延。
36.优选的,在步骤s3中,actor网络为一个表示数据包调度策略的神经网络,输出的调度动作为分配到各个mptcp的子流的数据包数量的分流比,所述分流比的计算方式为:分配到该子流上的数据包个数除以mptcp发送方缓冲区当前的总数据包个数,设mptcp的数据包调度器分配给第i个子流的分流比为:0<xi<1,i=1,2,3,4,则模型输出的调度动作a具体表示为:a=(x1,x2,x3,x4),其中xi满足
37.优选的,在步骤s4中,奖励函数r为:r=αv
tthroughtput
βv
tcwnd
γv
trtt
,奖励函数根据每条链路的服务质量参数得到调度动作的奖励值。其中,v
tthroughtput
表示mptcp子流在一个调度周期内的吞吐量,v
tcwnd
表示mptcp子流的拥塞窗口大小,v
trtt
表示mptcp子流的往返时延,α、β、γ表示不同服务质量参数的权重。
38.优选的,在步骤s5中,经验回放池为一个存放数据训练样本的缓冲池;对数据训练样本的采集和深度确定性策略梯度模型的训练进行异步并发处理,容量大小为500。
39.优选的,在步骤s6中,actor神经网络负责mptcp数据包调度策略输出,critic神经网络负责mptcp数据包调度策略评估。actor和critic神经网络由两个隐藏层构成,第一层有400个神经元,第二层有300个神经元,每个神经元使用relu激活函数。critic神经网络根据输入的网络环境状态和调度动作输出一个值,作为值函数的估值信息,actor神经网络根据该估值信息更新actor神经网络的参数,critic神经网络根据奖励值和值函数的估值信息更新critic神经网络参数。
40.如图1所示,为了提高mptcp数据包调度粒度,本发明使用基于actor-critic强化学习框架的深度确定性策略梯度模型,直接对mptcp的数据包调度策略进行建模和学习,深度确定性策略梯度模型可以解决连续动作空间问题,使得mptcp的数据包调度粒度更细,优化效率更高。actor神经网络表示的是策略函数,也可以称为策略神经网络。actor神经网络根据输入的环境状态,输出一组调度动作,调度器执行该动作,并进入下一周期。在不断的训练优化中,输出的动作会逐渐变为该环境状态下的最优动作。actor神经网络的输出层使用softmax激活函数,使得输出的子流分流比满足要求。神经网络的具体参数设置为:actor和critic神经网络都有两个隐藏层,第一层有400个神经元,第二层有300个神经元,每个神经元使用relu激活函数,每次批训练的数据样本数=32;折扣因子=0.99;神经网络的学习速率=0.001。使用两个神经网络,使得模型输出的动作更加准确,可以更准确的进行策略优化。
41.如图2所示,在进行数据包调度之前,首先要设置调度周期,将一整个数据传输过程划分为连续的调度周期,具体设置调度周期为3s。之后建立mptcp连接,开始多路径数据传输。在每个调度周期开始时,首先获取各个子流的网络环境状态,并将其作为actor神经网络模型的输入。actor神经网络模型根据输入的状态,输出对应的调度动作,即分配到各个mptcp的子流的数据包数量的分流比,改变当前的数据包分配比例,并向多路径网络环境执行该比例。在该调度周期结束时,调度器记录该轮调度的传输情况,并且根据上一轮的传输情况,计算该轮动作的奖励值。最后将该轮的分配状态、actor神经网络模型对应输出的调度动作、评价该调度动作的奖励值组合为一个训练样本存放在经验池中,随后进入下一
个调度周期。每个调度周期都循环进行上述流程,直到mptcp多路径传输结束。
42.如图3所示,在深度确定性策略梯度模型中,用actor神经网络表示调度策略,用critic神经网络表示值函数估值。在神经网络训练过程中,网络环境状态作为actor神经网络的输入,actor神经网络输出一个代表各个子流分流比例的向量,视作调度动作。critic神经网络根据环境状态以及调度动作值,输出一个函数值,作为值函数的估值信息,用于对actor神经网络的输出动作进行评估。actor神经网络根据critic神经网络输出的估值信息,更新网络参数。critic神经网络则根据奖励值和估值信息来更新自己的网络参数。训练神经网络过程与mptcp的数据包调度过程并发进行,每次mptcp的调度器输入状态,都会从更新后的策略神经网络模型进行动作选择并将新的训练样本加入经验池,不断优化mptcp的数据包调度策略,直至最优。
43.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献