1.一种面向差异化QoS保障的链路汇聚节点缓存方法,其特征在于,包括如下步骤:S1、针对网络业务进行差异化业务分类,分类为三种类型业务:时延敏感业务、带宽敏感业务和可靠性敏感业务;
S2、构建DQN缓存动态调整策略:针对三种类型业务分别将汇聚节点缓存中的当前队列长度、出队速率、排队时延三个状态作为DQN缓存动态调整的依据,得到对应的动态调整结果:动态增加或者减少缓存空间;包括以下子步骤:S201、对汇聚节点缓存容量B进行初始化;
S202、根据当前队列长度、出队速率、排队时延状态执行动作0或动作1;
S203、若执行动作0,则在当前缓存空间的基础上增加1个数据包容量,为了避免缓存容量过大,当增加至缓存容量上限U时,停止继续增加缓存空间;
S204、若执行动作1,则在当前缓存空间的基础上减小1个数据包容量,为了避免缓存容量为0,当减小至缓存容量下限L时,停止继续减小缓存空间;
S205、判断当前汇聚节点缓存中是否存在队列,是则返回执行步骤S202,否则结束动态调整;S3、构建DQN缓存动态调整策略的智能体,该智能体包括主Q网络和目标Q网络;
将汇聚节点的缓存空间作为DQN智能体的环境,并将缓存空间中的当前队列长度、出队速率、当前排队时延作为状态空间用于DQN智能体的训练,定义DQN智能体的动作空间为:增大缓存容量和减小缓存容量;基于差异化业务分类,将奖励函数分为时延奖励、吞吐量奖励、丢包率奖励,并加权求和得到总奖励;采用 策略选择当前状态下奖励函数最大化的动作;
DQN缓存动态调整策略的智能体中,主Q网络和目标Q网络结构相同;主Q网络、以及目标Q网络均包括输入层、隐藏层、全连接层、以及输出层:所述输入层:用于接收输入状态数据,输入层包括3个输入单元,分别对应汇聚节点缓存区内的当前队列长度、出队速率、排队时延3个状态;
所述隐藏层:用于对输入的状态数据进行非线性变换和特征提取,并将输入的状态数据映射到更高维度的表示空间中;
所述全连接层:用于整合隐藏层的特征信息,并将这些信息转化为缓存调整策略的输出;所述输出层:用于将输出转换为动作概率,输出层包括2个输出单元,采用softmax激活函数实现动作0或动作1的概率输出;利用DQN缓存动态调整策略训练智能体:主Q网络用于评估当前策略,目标Q网络通过提供一个稳定的目标Q值稳定训练过程,并且在训练过程中采用经验回放机制,使用目标Q网络计算下一状态下所有动作的Q值,选择最大Q值计算目标Q值,使用主Q网络计算当前状态下动作的Q值,计算当前状态下动作的Q值与目标Q值之间的损失,然后不断更新主Q网络,直到达到预设训练次数,得到面向差异化QoS保障的链路汇聚节点缓存模型;
其中,时延奖励、吞吐量奖励、丢包率奖励、总奖励具体为:
时延奖励:
(1);
其中,Dtarget表示队列在缓存中的目标排队时延, Dcurrent表示当前队列的排队时延,通过GetSeconds()函数获取,Dcurrent越小则Rewarddelay越接近Dtarget;
吞吐量奖励: (2);
其中,Rdequeue表示队列的出队速率,Rphy表示瓶颈链路的物理带宽,Rdequeue越逼近Rphy表明吞吐量越大;
丢包率奖励: (3);
其中, packetLossRate表示当前丢包率,Ndropped表示当前被丢弃的数据包个数, Nenq表示当前成功入队的数据包个数;
总奖励:
(4);
其中,w1、w2、w3分别对应时延奖励、吞吐量奖励、丢包奖励的权重,clip(*)表示剪裁函数;
策略的决策方式为: (5);
其中,a表示针对当前状态s下做出的动作调整策略,m为(0,1)内的随机数, 为探索率,当 时,选择预期价值最大的动作;当 时,随机选择一个参数调整动作, ,episode为训练回合数,s={Lcurrent,Rduqueue,Dcurrent}, Lcurrent表示当前队列长度,Rdequeue表示出队速率, Dcurrent表示当前排队时延, 是Q网络的参数;Q(s,a;θ)表示在神经网络参数为θ时,状态s下,智能体选择动作a的Q值;
其中,目标Q值计算公式如下: (6);
其中,r为当前奖励, 为折扣因子,表示未来奖励的重要性,a’为下一个动作,s’表示下一个状态, 为目标Q网络的参数; 表示在神经网络参数为 ,下一个状态状态s’时,智能体选择下一个动作a’的Q值;
计算当前状态下动作的Q值与目标Q值之间的损失,如下式,然后通过反向传播算法和梯度下降法更新主Q网络的参数 ,以最小化该损失, (7);
S4、以不同类型的网络业务为输入,利用面向差异化QoS保障的链路汇聚节点缓存模型,输出相应网络业务的缓存策略。