基于深度强化学习的智能感知双向节点拥塞控制方法技术

技术编号:38472640 阅读:15 留言:0更新日期:2023-08-11 14:49
本发明专利技术为了解决现有技术中节点拥塞的问题,提供了一种基于深度强化学习的智能感知双向节点拥塞控制方法,包括以下步骤:拥塞检测;用于检测节点自身的缓冲队列长度,以及检测节点的上行节点的缓冲队列长度;拥塞通知,将能够与环境交互的智能体部署在终端传感器节点上,智能体需要上行节点告知其局部拥塞情况,采用隐式的拥塞通知来传递拥塞情况;拥塞控制;包括一种基于DRL(的感知双向节点的拥塞控制方法,采用DDQN作为训练模型来动态改变节点的数据包发送速率。本发明专利技术通过感知下行节点和上行节点双方的拥塞关系以此做全局的拥塞考虑,此举可以有效避免因为局部观察的盲区而导致速率调整存在偏差进而加重网络拥塞。致速率调整存在偏差进而加重网络拥塞。致速率调整存在偏差进而加重网络拥塞。

【技术实现步骤摘要】
基于深度强化学习的智能感知双向节点拥塞控制方法


[0001]本专利技术属于物联网中的网络节点控制
,具体涉及基于深度强化学习的智能感知双向节点拥塞控制方法。

技术介绍

[0002]无线传感器网络(WSNs)中的传感器节点通常由电池供电且无法更换,其具有计算、存储、带宽和能源受限等特点。每个传感器节点的主要任务是收集和处理环境中的各种数据信息,再通过簇头节点转发给下一跳或者直接传输给汇聚节点,其中汇聚节点也称为sink节点。
[0003]无线传感器网络中的拥塞大致可以分为:基于节点级别的拥塞和基于链路级别的拥塞。其中基于节点级别的拥塞主要体现在节点的缓冲队列溢出的情况,具体如附图1所示。该拥塞会导致网络中数据包的丢失,数据包递送时间的增加和网络吞吐量下降等一系列问题。
[0004]为了进一步控制拥塞,通常包含三阶段:拥塞检测,拥塞通知和拥塞控制。拥塞检测阶段中,普遍用于进行拥塞检测的参数有:缓冲队列占用情况、信道负载和数据包服务时间。在节点级别的拥塞问题中,主要以传感器节点的缓冲队列作为参考,具体表现在:当缓冲队列值达到某一特定阈值时则意味网络发生了拥塞。
[0005]当网络检测到拥塞后,拥塞信息可以通过显示或者隐式的方式传播给上行节点。显示拥塞通知是通过发送额外的控制数据包来传递拥塞信息,这势必会造成额外的开销,这可能会进一步的导致网络拥塞程度的增加。相反,隐式通知利用拥塞信息的捎带达到拥塞通知的目的,这一举措不会增加额外的开销。
[0006]拥塞信息通知完毕后网络进入拥塞控制阶段。从拥塞控制的架构来看,拥塞控制可以分为集中式拥塞控制和分布式拥塞控制。集中式拥塞控制中,所有进行拥塞避免的相关措施都是由sink节点执行,sink节点会周期性的从传感器节点处收集数据,计算拥塞程度进而将拥塞控制措施下发给传感器节点。相反,分布式拥塞控制则是传感器节点自身根据观察到的拥塞情况执行相应的拥塞控制措施来减轻网络拥塞。
[0007]参考附图1,网络节点(也可简称为:节点)分为下行节点和上行节点,多个下行节点给同一个上行节点传递数据。下行节点之间彼此称之为同级节点。现有的针对节点级别的拥塞机制主要存在以下问题:
[0008]速率控制:目前在节点拥塞控制上主流是采用速率控制来降低其缓冲队列中数据包的数目进而降低拥塞,但通常节点发送速率的变化都是基于已有知识体系进行设置,这难以准确的匹配网络此时的拥塞情况以此做出合理的速率控制,因为已明确的规则体系通常只适用于特定网络环境下的拥塞控制。
[0009]拥塞感知:现有的拥塞控制机制通常只考虑单个节点的拥塞情况,如:下行节点缓冲队列长度达到某一阈值时,下行节点通常提高自身发送速率来降低自身拥塞程度,但该举动间接性造成了上行节点的数据包接受的负载增大。如果上行节点此时同样面临节点拥
塞问题,则下行节点盲目的增加发送速率会导致上行节点拥塞程度增加,进一步导致数据包递送失败,网络吞吐量下降等一系列恶性问题。
[0010]环境变化:无线传感器网络通常被用于监测某一区域的突发情况,因此传感器节点的状态瞬息万变。拥塞控制机制的设置如何在复杂多变的网络环境下快速捕捉到网络环境的变化并给出相应的拥塞控制策略也是一大难题。

技术实现思路

[0011]本专利技术旨在解决现有技术中存在的技术问题,提供基于深度强化学习的智能感知双向节点拥塞控制方法,实现降低网络拥塞,提高网路变化环境感知力等效果。
[0012]为了实现本专利技术的上述目的,本专利技术提供了一种基于深度强化学习的智能感知双向节点拥塞控制方法,包括以下步骤:
[0013]拥塞检测;用于检测节点自身的缓冲队列长度,以及检测节点的上行节点的缓冲队列长度,通过双向感知自身与其上行节点的缓冲队列长度用于判断目前网络的拥塞情况,并使用固定阈值作为节点拥塞发生的标志;
[0014]拥塞通知;将能够与环境交互的智能体(Agent)部署在终端传感器节点上,智能体需要上行节点告知其局部拥塞情况,采用隐式的拥塞通知来传递拥塞情况;上行节点在接收来自某个下行节点的数据包之后返回一个ACK确认帧,ACK确认帧中会捎带上行节点当前时刻的缓冲队列长度;
[0015]拥塞控制;包括一种基于DRL(Deep Reinforcement Learning,深度强化学习)的感知双向节点的拥塞控制方法,采用Double DQN(DDQN)作为训练模型来动态改变节点的数据包发送速率,所述DDQN包括评估网络和目标网络,所述评估网络用于根据当前的策略选择动作,目标网络用于评估当前状态的价值;
[0016]所述智能体(Agent)与环境的交互包括状态空间、动作空间和奖励;
[0017]所述状态空间S
t
包含四部分,即:
[0018][0019]其中,表示在时刻t时下行节点的缓冲队列长度,表示在时刻t时上行节点缓冲队列长度,R
t
表示在时刻t时数据包发送速率,N
t
表示在时刻t时下行节点数目;
[0020]所述动作空间为发送速率变化的倍数,其设置为:
[0021]a={2,1.5,1.25,1.2,0.9,0.8,0.7,0.6,0.5}
[0022]所述奖励r
t
采用以下公式计算,
[0023]r
t
=PDR
t
×
α+ABR
t
×
β

PLR
t
×
δ
[0024]其中α表示第一系数、β表示第二系数、δ表示第三系数,且α+β+δ=1;PDR
t
表示时刻t的数据包递送率;ABR
t
表示时刻t的可用缓冲队列率;PLR
t
表示时刻t的系统数据包丢失率。
[0025]进一步地,所述拥塞检测还包括检测同级节点数目。
[0026]进一步地,评估网络用网络权重参数为θ的神经网络逼近状态

动作对的Q值:Q(s
t
,a
t
;θ),其中s
t
表示t时刻下的环境状态、a
t
表示t时刻下选择的动作、θ为评估网络的权重参数。
[0027]本专利技术引入了Double DQN来训练智能体(Agent)独立进行自身发送速率的更改以
降低网络拥塞。其从数据递送位置关系入手,同时感知下行节点和上行节点双方的拥塞关系以此做全局的拥塞考虑,此举可以有效避免因为局部观察的盲区而导致速率调整存在偏差进而加重网络拥塞。
[0028]在训练Agent过程中,本专利技术使用了PDR、PLR和ABR三者复合奖励来激励Agent做出正确决策。根据不同的网络环境要求可以对三者进行不同的权重参数配置。本专利技术针对WSNs领域,因此Agent在WSNs中可以在容忍一定量的丢包情况下最大化节点数据包递送率和网络资源可用率。
附图说明
[002本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于深度强化学习的智能感知双向节点拥塞控制方法,其特征在于:包括以下步骤,拥塞检测;用于检测节点自身的缓冲队列长度,以及检测节点的上行节点的缓冲队列长度,通过双向感知自身与其上行节点的缓冲队列长度用于判断目前网络的拥塞情况,并使用固定阈值作为节点拥塞发生的标志;拥塞通知;将能够与环境交互的智能体部署在终端传感器节点上,智能体需要上行节点告知其局部拥塞情况,采用隐式的拥塞通知来传递拥塞情况;上行节点在接收来自某个下行节点的数据包之后返回一个ACK确认帧,ACK确认帧中会捎带上行节点当前时刻的缓冲队列长度;拥塞控制;包括一种基于DRL的感知双向节点的拥塞控制方法,采用Double DQN作为训练模型来动态改变节点的数据包发送速率,所述DDQN包括评估网络和目标网络,所述评估网络用于根据当前的策略选择动作,目标网络用于评估当前状态的价值;所述智能体(Agent)与环境的交互包括状态空间、动作空间和奖励;所述状态空间S
t
包含四部分,即:其中,表示在时刻t时下行节点的缓冲队列长度,表示在时刻t时上行节点缓冲队列长度,R
t
表示在时刻t时数据包发送速率,N
t
表示在时刻t时下行节点数目;所述动作空间为发送速率变化的倍数,其设置为:a={2,1....

【专利技术属性】
技术研发人员:王国伟朱红坤贺光华李奇隆
申请(专利权)人:重庆川南环保科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1