边缘计算环境下基于强化学习的DIDS任务调度算法制造技术

技术编号:28565004 阅读:33 留言:0更新日期:2021-05-25 18:01
本发明专利技术公开了一种边缘计算环境下基于强化学习的DIDS任务调度算法,其中包括如下步骤:对检测引擎进行性能等级评估,对所检测的数据包进行负载评估,用马尔科夫决策过程建模,调度器进行决策并确定如何分配检测引擎去检测数据包。对于检测引擎数量固定的分布式入侵检测系统,本发明专利技术提出的任务调度算法可以做出最优决策使系统整体负载降低。

【技术实现步骤摘要】
边缘计算环境下基于强化学习的DIDS任务调度算法
本专利技术属于网络安全
,涉及一种边缘计算环境下基于强化学习的DIDS任务调度算法
技术介绍
边缘计算作为一种新的计算模式,在快速发展的同时也面临新的网络安全挑战。由于边缘节点性能受限,所以云计算中依赖高性能设备的DIDS(DIDS,分布式入侵检测系统)需要向低负载化改进,才能在网络边缘就近检测数据。
技术实现思路
本专利技术的目的是提供一种边缘计算环境下基于强化学习的低负载DIDS任务调度算法,该算法能够在边缘计算环境下根据网络变化动态调节任务调度策略,使DIDS的负载有效降低。本专利技术所采用的技术方案是,边缘计算环境下基于强化学习的DIDS任务调度算法,具体按照以下步骤实施:步骤1、工作开始前,对DIDS中的各检测引擎进行性能评估,收集其对测试流量的检测时间dt和内存占用mu信息,并将作为检测引擎的性能指标。对所有检测引擎测试后,根据性能高低将其分成不同等级d,d=1,…,D,d值相差在10%以内的,可归为同一等级;步骤2、开始工作后,当一个数据包到来需要检测时,调度器首先获取数据包长度,对数据包产生的负载进行评估,评估方法是通过数据包长度与以太网最大传输单元(MTU)1500Bytes的比值,得出该数据包所产生的负载等级k,k=1,…,K。k值相差在10%以内的,可归为同一等级;步骤3、利用马尔科夫决策过程就本专利技术所要解决的具体调度问题建模,调度器通过模型进行决策,决定分配哪个性能等级的检测引擎去检测这一数据包;步骤4、当一个检测引擎完成检测后,如果调度器没有再分配别的检测任务,它将暂时空闲;步骤5、当一个检测引擎还被分配有其他检测任务时,它将马上去完成调度器指派的另一检测任务;步骤6、当一个检测请求到来时,如果分布式入侵检测系统中没有空闲的检测引擎,调度器将记录这一检测请求并放入队列,一旦队列满额,这个新到的数据包将不得不被放弃检测。如果分布式入侵检测系统中有空闲的检测引擎时,将不会将数据包放入队列等待;因为下一个到来的数据包负载等级是不确定的,而且队列的长度是有限的,所以对于检测引擎数量固定的分布式入侵检测系统来说,本专利技术提出的任务调度算法可以做出最优决策使系统整体负载降低。本专利技术的特点还在于,步骤3的具体过程如下:步骤3.1,基于步骤3,定义参数;步骤3.2,基于步骤3.1所得结果确定状态空间;步骤3.3,基于步骤3.2所得结果确定决策时刻;步骤3.4,基于步骤3.3所得结果确定动作集合;步骤3.5,基于步骤3.4所得结果确定转移速率与转移概率;步骤3.6,基于步骤3.5所得结果确定价值函数和最优策略;步骤3.7,基于步骤3.6所得结果进行策略迭代。步骤3.1的具体过程为:分布式入侵检测系统有D个性能等级的检测引擎对K个负载等级的数据包的检测需求,检测时间服从指数分布,数据包的到达过程可以看作K个独立的泊松过程。评判准则采取平均负载准则。考虑数据包到达和检测结束的时刻,那么此时嵌入链是马尔科夫链。下面对后文将使用的各种标记进行说明:步骤3.2的具体过程为:下面将s=(N(D,K),B(K),r)设为状态,其中N(D,L)是一个向量,具有形式(n10,n11,…,n1K-1,n20,…,nDK-1),描述了分布式入侵检测系统的工作状态,包括尚未分配检测任务的检测引擎的分布以及正在为各等级数据包检测的检测引擎状况;B(K)也是一个向量,而且具有形式(b1,b2,…,bK),描述了正在等待检测的数据包情况,包括各种数据包的数量;而r取值于集合{K,K-1,…,1,0},描述最一个到达的数据包的情况。当队列长度的限制b确定以后,就可以定义一个含有所有可能状态的集合X,如公式1所示。在上式中,b>0是允许的队列长度。下面列出集合X中的几种典型的可能状态1)系统里如果有空闲的检测引擎,刚好有一个数据包到达,经过负载评估是第j等级数据包,那么X1作为X集合中的一个状态,如公式2所示其中状态(N(D,K),B(K),j)表示新到的数据包带来了第j等级的检测需求。2)系统里没有可用的检测引擎时的所有可能状态X2可以表示为下式3)系统里仍有空闲的检测引擎且无数据包等待检测(此时r=0)的所有可能状态X3可以表示为下式4)系统里只有一个空闲的检测引擎且有等待检测的数据包的所有可能状态(这种情况比较少见)。步骤3.3的具体过程为:当一个新的数据包到达,需要调度器分配一个检测引擎进行检测,这时发生了系统状态的变化,所以调度器需要做出决策,选择执行对应的行为。与此类似,当一个检测引擎完成对某个数据包的检测时,这个行为的执行使得系统的状态也发生了改变,使系统当前的状态转移到状态空间中另一个状态。步骤3.4的具体过程为:在上面列出的几种情况中,对于X1中的状态,调度器需要选择指派哪一等级的检测引擎来处理这个数据包,对于X4中的状态,系统需要考虑目前唯一空闲的检测引擎应该检测队列中哪一等级数据包,对于X2和X3中的状态,系统不需要做出选择。所以状态空间X的动作集合A定义为动作集合中的0表示不需要作出决策,动作kp∈A(s)(s∈X4)表示由系统里唯一空闲的检测引擎去处理一个等待的k等级数据包,而d∈A(s)(s∈X1)表示由第d等级的检测引擎去检测刚刚到达的数据包。步骤3.5的具体过程为:转移概率是依赖于系统当前所处的状态和调度器选取的行动来决定。本文中因为使用的是马尔科夫决策过程,所以转移概率可以通过转移速率求得。而转移速率可以分为下面的几种情况确定:1)对于X1中的状态s,当k等级的数据包到达,调度器选择与之对应的d等级检测引擎去检测,此时,会出现两种可能的转移:I)转移到状态s'∈X3,其转移速率为这里的s'∈X3表示一个i等级的检测引擎恰好完成对一个j等级数据包的检测;II)转移到状态s'∈X1∪X2,其转移速率为q(s'|s,d)=λj,s'∈(X1∪X2)表示一个j等级的数据包到达。2)对于X2中的状态s,也会发生两种转移:I)转移到状态s'∈X4,其转移速率为q(s'|s,0)=nijμij,s'(∈X4)表示一个i等级检测引擎恰好完成一个j等级数据包的检测;II)转移到状态s'∈X2,其转移速率为q(s'|s,0)=λj,s'(∈X2)表示一个j等级的数据包到来。3)对于X3中的状态s,只有可能发生两种转移:I)s′∈X3,其转移速率为q(s'|s,0)=λj,s′(∈X3)表示一个j等级的数据包到来;II)s′∈X1,其转移速率为q(s'|s,0)=nijμij,s'(∈X1)表示一个i等级检测引擎恰好完成一个j等级数据包的检测;4)对于X4中的状态本文档来自技高网...

【技术保护点】
1.一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:具体包括如下步骤:/n步骤1、工作开始前,对分布式入侵检测系统中的各检测引擎进行的性能评估,收集其对测试流量的检测时间dt和内存占用mu信息,并将

【技术特征摘要】
20200521 CN 20201043546211.一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:具体包括如下步骤:
步骤1、工作开始前,对分布式入侵检测系统中的各检测引擎进行的性能评估,收集其对测试流量的检测时间dt和内存占用mu信息,并将作为检测引擎的性能指标。对所有检测引擎测试后,根据性能高低将其分成不同等级d,d=1,…,D,d值相差在10%以内的,可归为同一等级;
步骤2、开始工作后,当一个数据包到来需要检测时,调度器首先获取数据包长度,对数据包产生的负载进行评估,评估方法是通过数据包长度与以太网最大传输单元(MTU)1500Bytes的比值,得出该数据包所产生的负载等级k,k=1,…,K。k值相差在10%以内的,可归为同一等级;
步骤3、利用强化学习就本发明所要解决的具体调度问题建模,调度器通过模型进行决策,决定分配哪个性能等级的检测引擎去检测这一数据包;
步骤4、当一个检测引擎完成检测后,如果调度器没有再分配别的检测任务,它将暂时空闲;
步骤5、当一个检测引擎还被分配有其他检测任务时,它将马上去完成调度器指派的另一检测任务;
步骤6、当一个检测请求到来时,如果分布式入侵检测系统中没有空闲的检测引擎,调度器将记录这一检测请求并放入队列,一旦队列满额,这个新到的数据包将不得不被放弃检测。如果分布式入侵检测系统中有空闲的检测引擎时,将不会将数据包放入队列等待。


2.根据权利要求1所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤3的具体过程如下:
步骤3.1,基于步骤3,定义参数;
步骤3.2,基于步骤3.1所得结果确定状态空间;
步骤3.3,基于步骤3.2所得结果确定决策时刻;
步骤3.4,基于步骤3.3所得结果确定动作集合;
步骤3.5,基于步骤3.4所得结果确定转移速率与转移概率;
步骤3.6,基于步骤3.5所得结果确定价值函数和最优策略;
步骤3.7,基于步骤3.6所得结果进行策略迭代。


3.根据权利要求2所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤3.1的具体过程为:
分布式入侵检测系统有D个性能等级的检测引擎对K个负载等级的数据包的检测需求,检测时间服从指数分布,数据包的到达过程可以看作K个独立的泊松过程。评判准则采取平均负载准则。考虑数据包到达和检测结束的时刻,那么此时嵌入链是马尔科夫链。
下面对后文将使用的各种标记进行说明:








4.根据权利要求3所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤3.2的具体过程为:
将s=(N(D,K),B(K),r)设为状态,其中N(D,L)是一个向量,具有形式(n10,n11,…,n1K-1,n20,…,nDK-1),描述了分布式入侵检测系统的工作状态,包括尚未分配检测任务的检测引擎的分布以及正在为各等级数据包检测的检测引擎状况;B(K)也是一个向量,而且具有形式(b1,b2,…,bK),描述了正在等待检测的数据包情况,包括各种数据包的数量;而r取值于集合{K,K-1,…,1,0},描述最一个到达的数据包的情况。当队列长度的限制b确定以后,就可以定义一个含有所有可能状态的集合X,如公式1所示。



在上式中,b>0是允许的队列长度。
下面列出集合X中的几种典型的可能状态
1)系统里如果有空闲的检测引擎,刚好有一个数据包到达,经过负载评估是第j等级数据包,那么X1作为X集合中的一个状态,如公式2所示



其中状态(N(D,K),B(K),j)表示新到的数据包带来了第j等级的检测需求。
2)系统里没有可用的检测引擎时的所有可能状态X2可以表示为下式



3)系统里仍有空闲的检测引擎且无数据包等待检测(此时r=0)的所有可能状态X3可以表示为下式



4)系统里只有一个空闲的检测引擎且有等待检测的数据包的所有可能状态(这种情况比较少见)。





5.根据权利要求4所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤3.3的具体过程为:
当一个新的数据包到达,需要调度器分配一个检测引擎进行检测,这时发生了系统状态的变化,所以调度器需要做出决策,选择执行对应的行为。与此类似,当一个检测引擎完成对某个数据包的检测时,这个行为的执行使得系统的状态也发生了改变,使系统当前的状态转移到状态空间中另一个状态。


6.根据权利要求5所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤3.4的具体过程为:
在步骤3.2列出的几...

【专利技术属性】
技术研发人员:赵旭薛涛赵子江
申请(专利权)人:西安工程大学
类型:发明
国别省市:陕西;61

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

1