CN112839048B - 边缘计算环境下基于强化学习的dids任务调度算法 - Google Patents

边缘计算环境下基于强化学习的dids任务调度算法 Download PDF

Info

Publication number
CN112839048B
CN112839048B CN202110059634.4A CN202110059634A CN112839048B CN 112839048 B CN112839048 B CN 112839048B CN 202110059634 A CN202110059634 A CN 202110059634A CN 112839048 B CN112839048 B CN 112839048B
Authority
CN
China
Prior art keywords
detection
level
state
data packet
detection engine
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.)
Active
Application number
CN202110059634.4A
Other languages
English (en)
Other versions
CN112839048A (zh
Inventor
赵旭
薛涛
赵子江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Polytechnic University
Original Assignee
Xian Polytechnic University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Polytechnic University filed Critical Xian Polytechnic University
Publication of CN112839048A publication Critical patent/CN112839048A/zh
Application granted granted Critical
Publication of CN112839048B publication Critical patent/CN112839048B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

边缘计算环境下基于强化学习的DIDS任务调度算法
技术领域
本发明属于网络安全技术领域,涉及一种边缘计算环境下基于强化学习的DIDS任务调度算法
背景技术
边缘计算作为一种新的计算模式,在快速发展的同时也面临新的网络安全挑战。由于边缘节点性能受限,所以云计算中依赖高性能设备的DIDS(DIDS,分布式入侵检测系统)需要向低负载化改进,才能在网络边缘就近检测数据。
发明内容
本发明的目的是提供一种边缘计算环境下基于强化学习的低负载DIDS任务调度算法,该算法能够在边缘计算环境下根据网络变化动态调节任务调度策略,使DIDS的负载有效降低。
本发明所采用的技术方案是,边缘计算环境下基于强化学习的DIDS任务调度算法,具体按照以下步骤实施:
步骤1、工作开始前,对DIDS中的各检测引擎进行性能评估,收集其对测试流量的检测时间dt和内存占用mu信息,并将
Figure BDA0002901915280000011
作为检测引擎的性能指标。对所有检测引擎测试后,根据性能高低将其分成不同等级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个独立的泊松过程。评判准则采取平均负载准则。考虑数据包到达和检测结束的时刻,那么此时嵌入链是马尔科夫链。
下面对后文将使用的各种标记进行说明:
Figure BDA0002901915280000031
步骤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所示。
Figure BDA0002901915280000041
在上式中,b>0是允许的队列长度。
下面列出集合X中的几种典型的可能状态
1)系统里如果有空闲的检测引擎,刚好有一个数据包到达,经过负载评估是第j等级数据包,那么X1作为X集合中的一个状态,如公式2所示
Figure BDA0002901915280000042
其中状态(N(D,K),B(K),j)表示新到的数据包带来了第j等级的检测需求。
2)系统里没有可用的检测引擎时的所有可能状态X2可以表示为下式
Figure BDA0002901915280000043
3)系统里仍有空闲的检测引擎且无数据包等待检测(此时r=0)的所有可能状态X3可以表示为下式
Figure BDA0002901915280000051
4)系统里只有一个空闲的检测引擎且有等待检测的数据包的所有可能状态(这种情况比较少见)。
Figure BDA0002901915280000052
步骤3.3的具体过程为:
当一个新的数据包到达,需要调度器分配一个检测引擎进行检测,这时发生了系统状态的变化,所以调度器需要做出决策,选择执行对应的行为。与此类似,当一个检测引擎完成对某个数据包的检测时,这个行为的执行使得系统的状态也发生了改变,使系统当前的状态转移到状态空间中另一个状态。
步骤3.4的具体过程为:
在上面列出的几种情况中,对于X1中的状态,调度器需要选择指派哪一等级的检测引擎来处理这个数据包,对于X4中的状态,系统需要考虑目前唯一空闲的检测引擎应该检测队列中哪一等级数据包,对于X2和X3中的状态,系统不需要做出选择。所以状态空间X的动作集合A定义为
Figure BDA0002901915280000053
动作集合中的0表示不需要作出决策,动作kp∈A(s)(s∈X4)表示由系统里唯一空闲的检测引擎去处理一个等待的k等级数据包,而d∈A(s)(s∈X1)表示由第d等级的检测引擎去检测刚刚到达的数据包。
步骤3.5的具体过程为:
转移概率是依赖于系统当前所处的状态和调度器选取的行动来决定。本文中因为使用的是马尔科夫决策过程,所以转移概率可以通过转移速率求得。而转移速率可以分为下面的几种情况确定:
1)对于X1中的状态s,当k等级的数据包到达,调度器选择与之对应的d等级检测引擎去检测,此时,会出现两种可能的转移:
I)转移到状态s'∈X3,其转移速率为
Figure BDA0002901915280000061
这里的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,其转移速率为
Figure BDA0002901915280000071
s′∈X3∪X4表示一个i等级检测引擎恰好完成一个j等级数据包;
II)转移到状态s'∈X2,其转移速率为q(s'|s,k)=λj,s'(∈X2)表示一个j等级的数据包到来。
除了上面已经定义的元素以外,转移速率矩阵的非对角元素全部都是0。转移速率矩阵的对角元素可以定义为
Figure BDA0002901915280000072
对任何的确定性策略f∈F,可以得到对应的转移速率矩阵Q(f).根据连续时间的马尔科夫决策过程理论,得到转移概率矩阵P(f)为
P(f)=λ-1[Q(f)]+I (10)
其中λ满足
Figure BDA0002901915280000073
对于转移速率矩阵Q(f),将每一行除以该行对应对角线上的元素以后,再加上一个单位矩阵,也可以得到一个嵌入马尔科夫链的转移概率矩阵P'(f)。通过这两种不同方法得到的系统,它们的最优策略和对应的值函数都是相同的。
步骤3.6的具体过程为:
前面设定lk为检测第k等级数据包对检测引擎带来的最小负载,lk依赖于要检测的数据包的负载等级k;平均负载ldk取决于检测引擎的性能等级d和数据包的负载等级k,考虑到检测时间的分布通常是指数分布,那么在状态s时采取行动a的期望负载为
Figure BDA0002901915280000081
上式也就是基于策略f的状态-行为价值函数(state-action value function)qf(s,a),所以qf(s,a)=l(s,a)。
使用平稳策略f时,我们希望的最小的平均负载准则是
Figure BDA0002901915280000082
在上式中,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信息,并将
Figure BDA0002901915280000091
作为检测引擎的性能指标。对所有检测引擎测试后,根据性能高低将其分成不同等级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个独立的泊松过程。评判准则采取平均负载准则。考虑数据包到达和检测结束的时刻,那么此时嵌入链是马尔科夫链。
下面对后文将使用的各种标记进行说明:
Figure BDA0002901915280000101
步骤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所示。
Figure BDA0002901915280000111
在上式中,b>0是允许的队列长度。
下面列出集合X中的几种典型的可能状态
1)系统里如果有空闲的检测引擎,刚好有一个数据包到达,经过负载评估是第j等级数据包,那么X1作为X集合中的一个状态,如公式2所示
Figure BDA0002901915280000112
其中状态(N(D,K),B(K),j)表示新到的数据包带来了第j等级的检测需求。
2)系统里没有可用的检测引擎时的所有可能状态X2可以表示为下式
Figure BDA0002901915280000113
3)系统里仍有空闲的检测引擎且无数据包等待检测(此时r=0)的所有可能状态X3可以表示为下式
Figure BDA0002901915280000114
4)系统里只有一个空闲的检测引擎且有等待检测的数据包的所有可能状态(这种情况比较少见)。
Figure BDA0002901915280000121
步骤3.3,基于步骤3.2,确定决策时刻:
当一个新的数据包到达,需要调度器分配一个检测引擎进行检测,这时发生了系统状态的变化,所以调度器需要做出决策,选择执行对应的行为。与此类似,当一个检测引擎完成对某个数据包的检测时,这个行为的执行使得系统的状态也发生了改变,使系统当前的状态转移到状态空间中另一个状态。
步骤3.4,基于步骤3.3,确定动作集合:
在上面列出的几种情况中,对于X1中的状态,调度器需要选择指派哪一等级的检测引擎来处理这个数据包,对于X4中的状态,系统需要考虑目前唯一空闲的检测引擎应该检测队列中哪一等级数据包,对于X2和X3中的状态,系统不需要做出选择。所以状态空间X的动作集合A定义为
Figure BDA0002901915280000122
动作集合中的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,其转移速率为
Figure BDA0002901915280000131
这里的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,其转移速率为
Figure BDA0002901915280000141
s′∈X3∪X4表示一个i等级检测引擎恰好完成一个j等级数据包;
II)转移到状态s'∈X2,其转移速率为q(s'|s,k)=λj,s'(∈X2)表示一个j等级的数据包到来。
除了上面已经定义的元素以外,转移速率矩阵的非对角元素全部都是0。转移速率矩阵的对角元素可以定义为
Figure BDA0002901915280000142
对任何的确定性策略f∈F,可以得到对应的转移速率矩阵Q(f).根据连续时间的马尔科夫决策过程理论,得到转移概率矩阵P(f)为
P(f)=λ-1[Q(f)]+I (10)
其中λ满足
Figure BDA0002901915280000143
对于转移速率矩阵Q(f),将每一行除以该行对应对角线上的元素以后,再加上一个单位矩阵,也可以得到一个嵌入马尔科夫链的转移概率矩阵P'(f)。通过这两种不同方法得到的系统,它们的最优策略和对应的值函数都是相同的。
步骤3.6,基于步骤3.5,确定价值函数和最优策略
前面设定lk为检测第k等级数据包对检测引擎带来的最小负载,lk依赖于要检测的数据包的负载等级k;平均负载ldk取决于检测引擎的性能等级d和数据包的负载等级k,考虑到检测时间的分布通常是指数分布,那么在状态s时采取行动a的期望负载为
Figure BDA0002901915280000151
上式也就是基于策略f的状态-行为价值函数(state-action value function)qf(s,a),所以qf(s,a)=l(s,a)。
使用平稳策略f时,我们希望的最小的平均负载准则是
Figure BDA0002901915280000152
在上式中,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 (1)

1.一种边缘计算环境下基于强化学习的DIDS任务调度算法,其特征在于:具体包括如下步骤:
步骤1、工作开始前,对分布式入侵检测系统中的各检测引擎进行的性能评估,收集其对测试流量的检测时间dt和内存占用mu信息,并将
Figure FDA0003708536510000011
作为检测引擎的性能指标;对所有检测引擎测试后,根据性能高低将其分成不同等级d,d=1,…,D,d值相差在10%以内的,可归为同一等级;
步骤2、开始工作后,当一个数据包到来需要检测时,调度器首先获取数据包长度,对数据包产生的负载进行评估,评估方法是通过数据包长度与以太网最大传输单元MTU1500Bytes的比值,得出该数据包所产生的负载等级k,k=1,…,K;k值相差在10%以内的,可归为同一等级;
步骤3、利用强化学习就所要解决的具体调度问题建模,调度器通过模型进行决策,决定分配哪个性能等级的检测引擎去检测这一数据包;
所述步骤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个独立的泊松过程;评判准则采取平均负载准则;考虑数据包到达和检测结束的时刻,那么此时嵌入链是马尔科夫链;
下面对后文将使用的各种标记进行说明:
Figure FDA0003708536510000021
所述步骤3.2的具体过程为:
将s=(N(D,K),B(K),r)设为状态,其中N(D,K)是一个向量,具有形式(n10,n11,…,n1K-1,n20,…,nDK-1),描述了分布式入侵检测系统的工作状态,包括尚未分配检测任务的检测引擎的分布以及正在为各等级数据包检测的检测引擎状况;B(K)也是一个向量,而且具有形式(b1,b2,…,bK),描述了正在等待检测的数据包情况,包括各种数据包的数量;而r取值于集合{K,K-1,…,1,0},描述最一个到达的数据包的情况;当队列长度的限制b确定以后,就可以定义一个含有所有可能状态的集合X,如公式1所示;
Figure FDA0003708536510000031
在上式中,b>0是允许的队列长度;
下面列出集合X中的几种典型的可能状态
1)系统里如果有空闲的检测引擎,刚好有一个数据包到达,经过负载评估是第j等级数据包,那么X1作为X集合中的一个状态,如公式2所示
Figure FDA0003708536510000032
其中状态(N(D,K),B(K),j)表示新到的数据包带来了第j等级的检测需求;
2)系统里没有可用的检测引擎时的所有可能状态X2可以表示为下式
Figure FDA0003708536510000033
3)系统里仍有空闲的检测引擎且无数据包等待检测的所有可能状态X3可以表示为下式,此时r=0,
Figure FDA0003708536510000034
4)系统里只有一个空闲的检测引擎且有等待检测的数据包的所有可能状态,这种情况比较少见,
Figure FDA0003708536510000035
所述步骤3.3的具体过程为:
当一个新的数据包到达,需要调度器分配一个检测引擎进行检测,这时发生了系统状态的变化,所以调度器需要做出决策,选择执行对应的行为,当一个检测引擎完成对某个数据包的检测时,这个行为的执行使得系统的状态也发生了改变,使系统当前的状态转移到状态空间中另一个状态;
所述步骤3.4的具体过程为:
在步骤3.2列出的几种情况中,对于X1中的状态,调度器需要进行决策指派何种等级的检测引擎来处理这个数据包,对于X4中的状态,系统需要考虑目前唯一空闲的检测引擎应该检测队列中何种的等级数据包,对于X2和X3中的状态,系统不需要做出选择;所以状态空间X的动作集合A(·)定义为
A(s)={d|nd0>0,d=1,2,...,D},s∈X1
A(s)={0},s∈X2
A(s)={0},s∈X3
A(s)={k|bk>0,k=1,2,..,K},s∈X4 (6)
动作集合中的0表示不需要作出决策,动作k∈A(s)(s∈X4)表示由系统里唯一空闲的检测引擎去处理一个等待的k等级数据包,而d∈A(s)(s∈X1)表示由第d等级的检测引擎去检测刚刚到达的数据包;
所述步骤3.5的具体过程为:
转移概率是依赖于系统当前所处的状态和调度器选取的行动来决定;中因为使用的是马尔科夫决策过程,所以转移概率可以通过转移速率求得;而转移速率可以分为下面的几种情况确定:
1)对于X1中的状态s,当k等级的数据包到达,调度器选择与之对应的d等级检测引擎去检测,此时,会出现两种可能的转移:
I)转移到状态s'∈X3,其转移速率为
Figure FDA0003708536510000051
这里的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,采取行动k,可能会发生两种转移:
I)转移到状态s′∈X3∪X4,其转移速率为
Figure FDA0003708536510000052
s′∈X3∪X4表示一个i等级检测引擎恰好完成一个j等级数据包;
II)转移到状态s'∈X2,其转移速率为q(s'|s,k)=λj,s'(∈X2)表示一个j等级的数据包到来;
除了上面已经定义的元素以外,转移速率矩阵的非对角元素全部都是0;转移速率矩阵的对角元素可以定义为
Figure FDA0003708536510000061
对任何的确定性策略f∈F,可以得到对应的转移速率矩阵Q(f).根据连续时间的马尔科夫决策过程理论,得到转移概率矩阵P(f)为
P(f)=λ-1[Q(f)]+I (10)
其中λ满足
Figure FDA0003708536510000062
对于转移速率矩阵Q(f),将每一行除以该行对应对角线上的元素以后,再加上一个单位矩阵,也可以得到一个嵌入马尔科夫链的转移概率矩阵P'(f);通过这两种不同方法得到的系统,它们的最优策略和对应的值函数都是相同的;
所述步骤3.6的具体过程为:
设定lk为检测第k等级数据包对检测引擎带来的最小负载,lk依赖于要检测的数据包的负载等级k;平均负载ldk取决于检测引擎的性能等级d和数据包的负载等级k,考虑到检测时间的分布是指数分布,那么在状态s时采取行动a的期望负载为
Figure FDA0003708536510000063
上式也就是基于策略f的状态-行为价值函数((state-action value function)qf(s,a),所以qf(s,a)=l(s,a);
使用平稳策略f时,希望的最小的平均负载准则是
Figure FDA0003708536510000071
在上式中,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)进行计算,如果小于收敛阈值便可以确定;
步骤4、当一个检测引擎完成检测后,如果调度器没有再分配别的检测任务,它将暂时空闲;
步骤5、当一个检测引擎还被分配有其他检测任务时,它将马上去完成调度器指派的另一检测任务;
步骤6、当一个检测请求到来时,如果分布式入侵检测系统中没有空闲的检测引擎,调度器将记录这一检测请求并放入队列,一旦队列满额,这个新到的数据包将不得不被放弃检测;如果分布式入侵检测系统中有空闲的检测引擎时,将不会将数据包放入队列等待。
CN202110059634.4A 2020-05-21 2021-01-18 边缘计算环境下基于强化学习的dids任务调度算法 Active CN112839048B (zh)

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 CN112839048A (zh) 2021-05-25
CN112839048B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641496B (zh) * 2021-08-13 2023-12-12 陕西边云协同网络科技有限责任公司 基于深度强化学习的dids任务调度优化方法
CN115237581B (zh) * 2022-09-21 2022-12-27 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115766241A (zh) * 2022-11-21 2023-03-07 西安工程大学 基于dqn算法的分布式入侵检测系统任务调度卸载方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764892A (zh) * 2019-10-22 2020-02-07 北京字节跳动网络技术有限公司 任务处理方法、设备及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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攻击检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764892A (zh) * 2019-10-22 2020-02-07 北京字节跳动网络技术有限公司 任务处理方法、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN112839048A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN112839048B (zh) 边缘计算环境下基于强化学习的dids任务调度算法
CN111694662B (zh) 基于强化学习的dids中低负载与丢包率的平衡方法
CN106933650B (zh) 云应用系统的负载管理方法及系统
CN110837410B (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
CN109617826B (zh) 一种基于布谷鸟搜索的storm动态负载均衡方法
CN110413389B (zh) 一种资源不均衡Spark环境下的任务调度优化方法
CN110958135B (zh) 一种特征自适应强化学习DDoS攻击消除方法及系统
CN110287245B (zh) 用于分布式etl任务调度执行的方法及系统
CN109408229B (zh) 一种调度方法及装置
EP1564638A1 (en) A method of reassigning objects to processing units
CN109005130B (zh) 网络资源配置调度方法和装置
CN107957848B (zh) 重删处理方法及存储设备
CN108491255B (zh) 自助式MapReduce数据优化分配方法及系统
WO2020172852A1 (en) Computing resource scheduling method, scheduler, internet of things system, and computer readable medium
CN111369009A (zh) 一种能容忍不可信节点的分布式机器学习方法
Jia et al. A highly efficient data locality aware task scheduler for cloud-based systems
CN115118602A (zh) 一种基于使用量预测的容器资源动态调度方法及系统
CN115237568A (zh) 一种面向边缘异构设备的混合权重任务调度方法及系统
US9355129B2 (en) Scheduling queries using a stretch metric
CN113887748B (zh) 在线联邦学习任务分配方法、装置、联邦学习方法及系统
CN114201180A (zh) 微服务部署方法、可读存储介质及设备
CN113641496B (zh) 基于深度强化学习的dids任务调度优化方法
CN107256130B (zh) 基于Cuckoo哈希计算的数据存储优化方法及系统
CN109271295B (zh) 一种云集群环境下的异常作业预测方法
CN111966480A (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