CN112839048A - 边缘计算环境下基于强化学习的dids任务调度算法 - Google Patents
边缘计算环境下基于强化学习的dids任务调度算法 Download PDFInfo
- Publication number
- CN112839048A CN112839048A CN202110059634.4A CN202110059634A CN112839048A CN 112839048 A CN112839048 A CN 112839048A CN 202110059634 A CN202110059634 A CN 202110059634A CN 112839048 A CN112839048 A CN 112839048A
- Authority
- CN
- China
- Prior art keywords
- detection
- state
- level
- detection engine
- data packet
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种边缘计算环境下基于强化学习的DIDS任务调度算法,其中包括如下步骤:对检测引擎进行性能等级评估,对所检测的数据包进行负载评估,用马尔科夫决策过程建模,调度器进行决策并确定如何分配检测引擎去检测数据包。对于检测引擎数量固定的分布式入侵检测系统,本发明提出的任务调度算法可以做出最优决策使系统整体负载降低。
Description
技术领域
本发明属于网络安全技术领域,涉及一种边缘计算环境下基于强化学习的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中的状态s,nk0>0,采取动作kp,可能会发生两种转移:
I)转移到状态s′∈X3∪X4,其转移速率为
s′∈X3∪X4表示一个i等级检测引擎恰好完成一个j等级数据包;
II)转移到状态s'∈X2,其转移速率为q(s'|s,k)=λj,s'(∈X2)表示一个j等级的数据包到来。
除了上面已经定义的元素以外,转移速率矩阵的非对角元素全部都是0。转移速率矩阵的对角元素可以定义为
对任何的确定性策略f∈F,可以得到对应的转移速率矩阵Q(f).根据连续时间的马尔科夫决策过程理论,得到转移概率矩阵P(f)为
P(f)=λ-1[Q(f)]+I (10)
对于转移速率矩阵Q(f),将每一行除以该行对应对角线上的元素以后,再加上一个单位矩阵,也可以得到一个嵌入马尔科夫链的转移概率矩阵P'(f)。通过这两种不同方法得到的系统,它们的最优策略和对应的值函数都是相同的。
步骤3.6的具体过程为:
前面设定lk为检测第k等级数据包对检测引擎带来的最小负载,lk依赖于要检测的数据包的负载等级k;平均负载ldk取决于检测引擎的性能等级d和数据包的负载等级k,考虑到检测时间的分布通常是指数分布,那么在状态s时采取行动a的期望负载为
上式也就是基于策略f的状态-行为价值函数(state-action value function)qf(s,a),所以qf(s,a)=l(s,a)。
使用平稳策略f时,我们希望的最小的平均负载准则是
在上式中,Yi是决策时刻i的状态,s是初始状态,τi是决策时刻i的平均滞留时间。这样,一个连续时间的马尔科夫决策过程系统就形成了。考虑到行动集和状态空间都是有限集合,所以可以得出:对于平均最小负载准则,存在确定性平稳最优策略f*满足g(f*,s)≤g(f,s),对所有f∈F和s∈X,f*是最优策略。
步骤3.7的具体过程为:
通过上面的推导,找到了实现最小负载的最优策略f*。在寻找更小的g(f*,s)过程中,可以使用策略迭代(Policy Iteration)。策略迭代算法包含了策略估计的过程,而策略估计则需要对所有的状态扫描(sweep)若干次,这个过程所产生的巨大的计算量会影响策略迭代算法的效率,实际上价值函数的值没有必要计算的非常精确,为了缩短策略估计的过程,可采用值迭代的方法。值迭代的具体方法是依靠循环的方式通过对不同动作下的g(f,s)进行计算,如果小于收敛阈值便可以确定。
本发明的有益效果是,能够在边缘计算环境下根据网络变化动态调节任务调度策略,使分布式入侵检测系统的负载有效降低。
具体实施方式
本发明是一种边缘计算环境下基于强化学习的分布式入侵检测系统任务调度算法,处理对象是在网络中捕获的数据包,具体按照以下步骤实施:
步骤1、开始工作之前,首先对各检测引擎进行的性能评估,收集其对测试流量的检测时间dt和内存占用mu信息,并将作为检测引擎的性能指标。对所有检测引擎测试后,根据性能高低将其分成不同等级d,d=1,…,D,d值相差在10%以内的,可归为同一等级;
步骤2、开始工作后,当一个数据包到来需要检测时,调度器首先获取数据包长度,对数据包产生的负载进行评估,评估方法是通过数据包长度与以太网最大传输单元(MTU)1500Bytes的比值,得出该数据包所产生的负载等级k,k=1,…,K。k值相差在10%以内的,可归为同一等级;
步骤3、利用强化学习就本发明所要解决的具体调度问题建模,调度器通过模型进行决策,决定分配哪个性能等级的检测引擎去检测这一数据包;
步骤4、当一个检测引擎完成检测后,如果调度器没有再分配别的检测任务,它将暂时空闲;
步骤5、当一个检测引擎还被分配有其他检测任务时,它将马上去完成调度器指派的另一检测任务;
步骤6、当一个检测请求到来时,如果分布式入侵检测系统中没有空闲的检测引擎,调度器将记录这一检测请求并放入队列,一旦队列满额,这个新到的数据包将不得不被放弃检测。如果分布式入侵检测系统中有空闲的检测引擎时,将不会将数据包放入队列等待;
因为下一个到来的数据包负载等级是不确定的,而且队列的长度是有限的,所以对于检测引擎数量固定的分布式入侵检测系统来说,本发明提出的任务调度算法可以做出最优决策使系统整体负载降低。
本发明的特点还在于,
步骤3具体步骤按照以下实施:
步骤3.1、定义参数:
分布式入侵检测系统有D个性能等级的检测引擎对K个负载等级的数据包的检测需求,检测时间服从指数分布,数据包的到达过程可以看作K个独立的泊松过程。评判准则采取平均负载准则。考虑数据包到达和检测结束的时刻,那么此时嵌入链是马尔科夫链。
下面对后文将使用的各种标记进行说明:
步骤3.2,基于步骤3.1,确定状态空间:
下面将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.2,确定决策时刻:
当一个新的数据包到达,需要调度器分配一个检测引擎进行检测,这时发生了系统状态的变化,所以调度器需要做出决策,选择执行对应的行为。与此类似,当一个检测引擎完成对某个数据包的检测时,这个行为的执行使得系统的状态也发生了改变,使系统当前的状态转移到状态空间中另一个状态。
步骤3.4,基于步骤3.3,确定动作集合:
在上面列出的几种情况中,对于X1中的状态,调度器需要选择指派哪一等级的检测引擎来处理这个数据包,对于X4中的状态,系统需要考虑目前唯一空闲的检测引擎应该检测队列中哪一等级数据包,对于X2和X3中的状态,系统不需要做出选择。所以状态空间X的动作集合A定义为
动作集合中的0表示不需要作出决策,动作kp∈A(s)(s∈X4)表示由系统里唯一空闲的检测引擎去处理一个等待的k等级数据包,而d∈A(s)(s∈X1)表示由第d等级的检测引擎去检测刚刚到达的数据包。
步骤3.5,基于步骤3.4,确定转移速率与转移概率
转移概率是依赖于系统当前所处的状态和调度器选取的行动来决定。本文中因为使用的是马尔科夫决策过程,所以转移概率可以通过转移速率求得。而转移速率可以分为下面的几种情况确定:
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中的状态s,nk0>0,采取动作kp,可能会发生两种转移:
I)转移到状态s′∈X3∪X4,其转移速率为
s′∈X3∪X4表示一个i等级检测引擎恰好完成一个j等级数据包;
II)转移到状态s'∈X2,其转移速率为q(s'|s,k)=λj,s'(∈X2)表示一个j等级的数据包到来。
除了上面已经定义的元素以外,转移速率矩阵的非对角元素全部都是0。转移速率矩阵的对角元素可以定义为
对任何的确定性策略f∈F,可以得到对应的转移速率矩阵Q(f).根据连续时间的马尔科夫决策过程理论,得到转移概率矩阵P(f)为
P(f)=λ-1[Q(f)]+I (10)
对于转移速率矩阵Q(f),将每一行除以该行对应对角线上的元素以后,再加上一个单位矩阵,也可以得到一个嵌入马尔科夫链的转移概率矩阵P'(f)。通过这两种不同方法得到的系统,它们的最优策略和对应的值函数都是相同的。
步骤3.6,基于步骤3.5,确定价值函数和最优策略
前面设定lk为检测第k等级数据包对检测引擎带来的最小负载,lk依赖于要检测的数据包的负载等级k;平均负载ldk取决于检测引擎的性能等级d和数据包的负载等级k,考虑到检测时间的分布通常是指数分布,那么在状态s时采取行动a的期望负载为
上式也就是基于策略f的状态-行为价值函数(state-action value function)qf(s,a),所以qf(s,a)=l(s,a)。
使用平稳策略f时,我们希望的最小的平均负载准则是
在上式中,Yi是决策时刻i的状态,s是初始状态,τi是决策时刻i的平均滞留时间。这样,一个连续时间的马尔科夫决策过程系统就形成了。考虑到行动集和状态空间都是有限集合,所以可以得出:对于平均最小负载准则,存在确定性平稳最优策略f*满足g(f*,s)≤g(f,s),对所有f∈F和s∈X,f*是最优策略。
步骤3.7,基于步骤3.6,进行策略迭代
通过上面的推导,找到了实现最小负载的最优策略f*。在寻找更小的g(f*,s)过程中,可以使用策略迭代(Policy Iteration)。策略迭代算法包含了策略估计的过程,而策略估计则需要对所有的状态扫描(sweep)若干次,这个过程所产生的巨大的计算量会影响策略迭代算法的效率,实际上价值函数的值没有必要计算的非常精确,为了缩短策略估计的过程,可采用值迭代的方法。值迭代的具体方法是依靠循环的方式通过对不同动作下的g(f,s)进行计算,如果小于收敛阈值便可以确定。
本发明的有益效果是,能够在边缘计算环境下根据网络变化动态调节任务调度策略,使分布式入侵检测系统的负载有效降低。
Claims (9)
1.一种边缘计算环境下基于强化学习的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所得结果进行策略迭代。
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的具体过程为:
当一个新的数据包到达,需要调度器分配一个检测引擎进行检测,这时发生了系统状态的变化,所以调度器需要做出决策,选择执行对应的行为。与此类似,当一个检测引擎完成对某个数据包的检测时,这个行为的执行使得系统的状态也发生了改变,使系统当前的状态转移到状态空间中另一个状态。
7.根据权利要求6所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤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中的状态s,nk0>0,采取动作kp,可能会发生两种转移:
I)转移到状态s′∈X3∪X4,其转移速率为
s′∈X3∪X4表示一个i等级检测引擎恰好完成一个j等级数据包;
II)转移到状态s'∈X2,其转移速率为q(s'|s,k)=λj,s'(∈X2)表示一个j等级的数据包到来。
除了上面已经定义的元素以外,转移速率矩阵的非对角元素全部都是0。转移速率矩阵的对角元素可以定义为
对任何的确定性策略f∈F,可以得到对应的转移速率矩阵Q(f).根据连续时间的马尔科夫决策过程理论,得到转移概率矩阵P(f)为
P(f)=λ-1[Q(f)]+I (10)
对于转移速率矩阵Q(f),将每一行除以该行对应对角线上的元素以后,再加上一个单位矩阵,也可以得到一个嵌入马尔科夫链的转移概率矩阵P'(f)。通过这两种不同方法得到的系统,它们的最优策略和对应的值函数都是相同的。
8.根据权利要求7所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤3.6的具体过程为:
设定lk为检测第k等级数据包对检测引擎带来的最小负载,lk依赖于要检测的数据包的负载等级k;平均负载ldk取决于检测引擎的性能等级d和数据包的负载等级k,考虑到检测时间的分布通常是指数分布,那么在状态s时采取行动a的期望负载为
上式也就是基于策略f的状态-行为价值函数(state-action value function)qf(s,a),所以qf(s,a)=l(s,a)。
使用平稳策略f时,我们希望的最小的平均负载准则是
在上式中,Yi是决策时刻i的状态,s是初始状态,τi是决策时刻i的平均滞留时间。这样,一个连续时间的马尔科夫决策过程系统就形成了。考虑到行动集和状态空间都是有限集合,所以可以得出:对于平均最小负载准则,存在确定性平稳最优策略f*满足g(f*,s)≤g(f,s),对所有f∈F和s∈X,f*是最优策略。
9.根据权利要求7所述的一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:所述步骤3.7的具体过程为:
通过以上步骤的推导,可找到实现最小负载的最优策略f*。在寻找更小的g(f*,s)过程中,可以使用策略迭代(Policy Iteration)。策略迭代算法包含了策略估计的过程,而策略估计则需要对所有的状态扫描(sweep)若干次,这个过程所产生的巨大的计算量会影响策略迭代算法的效率,实际上价值函数的值没有必要计算的非常精确,为了缩短策略估计的过程,可采用值迭代的方法。值迭代的具体方法是依靠循环的方式通过对不同动作下的g(f,s)进行计算,如果小于收敛阈值便可以确定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010435462 | 2020-05-21 | ||
CN2020104354621 | 2020-05-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839048A true CN112839048A (zh) | 2021-05-25 |
CN112839048B CN112839048B (zh) | 2022-10-28 |
Family
ID=75928397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110059634.4A Active CN112839048B (zh) | 2020-05-21 | 2021-01-18 | 边缘计算环境下基于强化学习的dids任务调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112839048B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641496A (zh) * | 2021-08-13 | 2021-11-12 | 西安工程大学 | 基于深度强化学习的dids任务调度优化方法 |
CN115237581A (zh) * | 2022-09-21 | 2022-10-25 | 之江实验室 | 一种面向异构算力的多策略智能调度方法和装置 |
CN115766241A (zh) * | 2022-11-21 | 2023-03-07 | 西安工程大学 | 基于dqn算法的分布式入侵检测系统任务调度卸载方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220540A (zh) * | 2017-04-19 | 2017-09-29 | 南京邮电大学 | 基于强化学习的入侵检测方法 |
CN109639515A (zh) * | 2019-02-16 | 2019-04-16 | 北京工业大学 | 基于隐马尔可夫和Q学习协作的DDoS攻击检测方法 |
CN110764892A (zh) * | 2019-10-22 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 任务处理方法、设备及计算机可读存储介质 |
-
2021
- 2021-01-18 CN CN202110059634.4A patent/CN112839048B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220540A (zh) * | 2017-04-19 | 2017-09-29 | 南京邮电大学 | 基于强化学习的入侵检测方法 |
CN109639515A (zh) * | 2019-02-16 | 2019-04-16 | 北京工业大学 | 基于隐马尔可夫和Q学习协作的DDoS攻击检测方法 |
CN110764892A (zh) * | 2019-10-22 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 任务处理方法、设备及计算机可读存储介质 |
Non-Patent Citations (4)
Title |
---|
XIAOLONG XU等: "《A Heuristic Virtual Machine Scheduling Method for Load Balancing in Fog-Cloud Computing》", 《IEEE》 * |
李帅等: "基于SMDP强化学习的电力信息网络入侵检测研究", 《电力自动化设备》 * |
杨忠明等: "多检测引擎监测的动态负载均衡算法", 《计算机应用》 * |
林闯等: "计算机系统与计算机网络中的动态优化:模型、求解与应用", 《计算机学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641496A (zh) * | 2021-08-13 | 2021-11-12 | 西安工程大学 | 基于深度强化学习的dids任务调度优化方法 |
CN113641496B (zh) * | 2021-08-13 | 2023-12-12 | 陕西边云协同网络科技有限责任公司 | 基于深度强化学习的dids任务调度优化方法 |
CN115237581A (zh) * | 2022-09-21 | 2022-10-25 | 之江实验室 | 一种面向异构算力的多策略智能调度方法和装置 |
CN115237581B (zh) * | 2022-09-21 | 2022-12-27 | 之江实验室 | 一种面向异构算力的多策略智能调度方法和装置 |
CN115766241A (zh) * | 2022-11-21 | 2023-03-07 | 西安工程大学 | 基于dqn算法的分布式入侵检测系统任务调度卸载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112839048B (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112839048B (zh) | 边缘计算环境下基于强化学习的dids任务调度算法 | |
CN111694662B (zh) | 基于强化学习的dids中低负载与丢包率的平衡方法 | |
CN109408229B (zh) | 一种调度方法及装置 | |
CN109617826A (zh) | 一种基于布谷鸟搜索的storm动态负载均衡方法 | |
CN112506658B (zh) | 一种服务链中动态资源分配和任务调度方法 | |
CN110570075A (zh) | 一种电力业务边缘计算任务分配方法及装置 | |
CN109871270B (zh) | 调度方案生成方法及装置 | |
CN115118602A (zh) | 一种基于使用量预测的容器资源动态调度方法及系统 | |
CN109005130A (zh) | 网络资源配置调度方法和装置 | |
CN113806018A (zh) | 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法 | |
CN113887748B (zh) | 在线联邦学习任务分配方法、装置、联邦学习方法及系统 | |
CN111369009A (zh) | 一种能容忍不可信节点的分布式机器学习方法 | |
Naghshnejad et al. | Adaptive online runtime prediction to improve HPC applications latency in cloud | |
CN115237568A (zh) | 一种面向边缘异构设备的混合权重任务调度方法及系统 | |
Jia et al. | A highly efficient data locality aware task scheduler for cloud-based systems | |
CN111966480A (zh) | 一种任务执行方法及相关装置 | |
CN116954905A (zh) | 一种面向Flink大数据的任务编排与迁移方法 | |
CN116932198A (zh) | 资源调度方法、装置、电子设备及可读存储介质 | |
CN112788010B (zh) | 一种基于威胁事件的剧本处理方法、装置、介质和设备 | |
CN109271295B (zh) | 一种云集群环境下的异常作业预测方法 | |
CN113641496B (zh) | 基于深度强化学习的dids任务调度优化方法 | |
CN114650321A (zh) | 用于边缘计算的任务调度方法及边缘计算终端 | |
Kumar et al. | A priority based dynamic load balancing approach in a grid based distributed computing network | |
CN115794405A (zh) | 一种基于SSA-XGboost算法的大数据处理框架的动态资源分配方法 | |
CN112598112B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |