CN110673951B - 通用运行环境的拟态调度方法、系统及介质 - Google Patents
通用运行环境的拟态调度方法、系统及介质 Download PDFInfo
- Publication number
- CN110673951B CN110673951B CN201910816093.8A CN201910816093A CN110673951B CN 110673951 B CN110673951 B CN 110673951B CN 201910816093 A CN201910816093 A CN 201910816093A CN 110673951 B CN110673951 B CN 110673951B
- Authority
- CN
- China
- Prior art keywords
- executive
- load
- execution
- weight
- node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012216 screening Methods 0.000 claims abstract description 39
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims description 40
- 238000005457 optimization Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 14
- 238000005406 washing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims 2
- 238000009826 distribution Methods 0.000 abstract description 15
- 238000004422 calculation algorithm Methods 0.000 description 34
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 230000007123 defense Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001363 autoimmune Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013486 operation strategy Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种通用运行环境的拟态调度方法、系统及介质,包括:数据预处理步骤:输入执行体集合C及需求执行体个数k,根据执行体集合C中每个执行体的历史风险值对执行体集合C进行初步筛选,获得更新后的执行体集合C';负载均衡筛选步骤:根据获得的更新后的执行体集合C',计算执行体所在节点性能和负载,再计算该节点负载权值和负载差值,通过负载权值指导新任务到来时备选执行体集合的选取,通过负载差值计算备选执行体集合中各执行体分配任务的概率,进而结合异构特征选取候选执行体集合C”。本发明实现了将拟态应用在通用运行环境上,实现了分发管理过程的异构最大化,避免同构性错误。
Description
技术领域
本发明涉及云计算任务调度技术领域,具体地,涉及通用运行环境的拟态调度方法、系统及介质。
背景技术
云计算基于网络,通过虚拟化技术将虚拟服务器汇聚为逻辑统一的资源池,具有扩展性和灵活性。随着计算机和互联网技术的迅速发展,云计算的应用也越来越多样化,快速增长的任务和资源规模也对云计算任务调度提出越来越高的要求。高效的调度算法在云计算框架的执行中扮演着重要的角色。
调度本身就是一种应用广泛的技术,很多研究者在不同领域对其做了大量研究,而当前常用的云计算调度算法主要可以分为两大类:传统调度算法和启发式算法。传统调度算法是非启发式的将云计算问题视为一般的任务调度问题直接求解;启发式算法通常将云计算问题视为一个优化问题,并使用相应的启发式策略进行求解。
本方法针对通用运行环境的拟态调度需求,借鉴云计算的调度方法,同时结合机器学习思想,提出了一种WSA(Weighted Scheduling Algorithm)的加权调度算法。
已有技术方案
一种异构功能等价体调度装置及其方法:本公开是关于一种异构功能等价体调度装置及其方法,包括多个用于为外部服务请求提供相同功能的异构功能等价体,还包括冗余控制器和输入代理器,冗余控制器接收输入代理器给出的触发信号,并根据接收到的外部输入的控制参数,随机选择异构功能等价体为外部服务请求提供服务,因此,这种随机组合调度异构功能等价体的方法一方面使得装置在结构表征层面具有不同的复杂度,针对每个服务请求选择的异构功能等价体不同,并且根据不同的调度策略输出的异构功能等价体的结果也不相同,对外表现出动态可变的输出状态,进而加载的后门或是漏洞很难被攻方探知或利用。使装置对网络系统中可能存在多个未知安全威胁就具有自体免疫能力。
面向拟态安全防御的异构功能等价体调度算法:拟态安全防御的一个关键环节是异构功能等价体的调度,现有的调度策略缺乏对冗余体间相似度的考虑,且调度算法较为单一。基于此,提出了一种兼顾动态性和可靠性的异构功能等价体调度算法——随机种子最小相似度算法,首先,在正常工作的异构冗余体中随机确定任务执行余度和一个种子冗余体,为拟态调度引入动态性(种子冗余体包含于调度方案中),然后根据最小相似度原则选择整体相似度最小的调度方案。
通用运行环境指:支撑C/S、B/S、SOA访问接口或服务请求,主要由服务执行引擎,服务运行管理、分发表决、服务运行节点代理等软件服务器组成,为应用提供具有分发、管理、协同、异构执行及判决等功能的运行环境。
在通用运行环境的开发需求下,管理服务承担着分发、判决、协同模块的枢纽和桥梁作用,以及数据库的管理,节点池的管理等等,而针对拟态需求的调度问题则是其中不可或缺又极具挑战性的环节。我们会得到分发模块发送的调度请求,经过管理模块的工作返回异构执行体(IP地址集),由于拟态理论对冗余异构的要求,软件异构体会部署在云平台(甚至物理机、服务器)上的多个容器或虚拟机中,即异构执行体池中可以包含3倍、4倍,甚至更多倍的需求异构执行体供软件异构体部署,那么如何选取最优异构执行体组合返回给每次的请求任务就是我们调度方案所需集中解决的问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种通用运行环境的拟态调度方法、系统及介质。
根据本发明提供的一种通用运行环境的拟态调度方法,包括:
数据预处理步骤:输入执行体集合C及需求执行体个数k,根据执行体集合C中每个执行体的历史风险值对执行体集合C进行初步筛选,获得更新后的执行体集合C';
负载均衡筛选步骤:根据获得的更新后的执行体集合C',计算各执行体所在节点的性能和负载,再计算各节点负载权值和负载差值,通过节点负载权值指导新任务到来时备选执行体集合的选取,通过节点负载差值计算备选执行体集合中各执行体分配任务的概率,进而结合异构特征选取候选执行体集合C″;
权重计算步骤:选取赋权方法对各影响指标进行赋权,获得各影响指标的权重;
聚类优选步骤:根据需求执行体个数k以及权重计算步骤中获得的各影响指标的权重,将选取的候选执行体集合C″聚类为k簇,从每个簇中选出一个异构执行体,输出k 个异构执行体的集合。
优选地,所述数据预处理步骤包括:
风险权值计算步骤:
输入执行体集合C及需求执行体个数k,C={N1,N2,…Ni,…Nn},其中Ni表示第i 个执行体,n为C中执行体总个数;
记每个执行体有史以来被访问总次数为Ti,受攻击次数为ti,其中i表示对应执行体 ID;
记风险权值为q,执行体Ni的风险权值为qi,则:
其中,
ε表示任意小正数;
给定风险阈值p,基于一种整体观的把握,给定两个阈值p1,p2,其中p1为用于比较风险值的中间阈值,p2为可忍受风险阈值,p1小于p2;
风险权值比较步骤:
记风险权值小于p1的执行体个数为k',判断是否k'≥k:
若k'≥k,则说明执行体池中风险值小于可承受阈值的执行体数足够,则输出qi<p2的所有执行体Ni,即清洗掉执行体集合中种qi≥p2的执行体Ni,获得更新后的执行体集合C',进入负载均衡筛选步骤继续执行;
若k'<k,则表示执行体集合C的执行体数量少于预设数量或者表示执行体集合C的历史风险记录大于预设范围,则从根部改善风险状况,获得更新后的执行体集合C';
所述从根部改善风险状况包括:增加执行体集合C中的执行体。
优选地,所述负载均衡筛选步骤包括:
执行体性能和负载计算步骤:
i=0,1,2,…,n-1,∑kl=1
其中,
m表示CPU数量;
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1;
i=0,1,2,…,n-1,∑kl=1
其中,
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1。
优选地,所述负载均衡筛选步骤还包括:
负载权值和负载差值计算步骤:
候选执行体集合选取步骤:
设定一个阈值ε,每到来一个新的任务请求,从第一步更新的执行体候选集C'中进一步选取C″,首先选取其中负载权值最小的执行体Nmin,其满足条件:
如果其他任意执行体Ni满足条件:
则将该执行体Ni加入到候选集合C″,直到集合C″中的执行体个数k″>5k,结束循环;否则,则不做筛简,将所有执行体全部加入到候选集合C″;
其中,
优选地,所述执行体包括物理机、服务器、容器或虚拟机在内的N异构体执行所需的应用支撑环境;
所述影响指标包括CPU、操作系统、数据库、文件系统在内的异构特征。
根据本发明提供的一种通用运行环境的拟态调度系统,包括:
数据预处理模块:输入执行体集合C及需求执行体个数k,根据执行体集合C中每个执行体的历史风险值对执行体集合C进行初步筛选,获得更新后的执行体集合C′;
负载均衡筛选模块:根据获得的更新后的执行体集合C′,计算各执行体所在节点的性能和负载,再计算各节点负载权值和负载差值,通过节点负载权值指导新任务到来时备选执行体集合的选取,通过节点负载差值计算备选执行体集合中各执行体分配任务的概率,进而结合异构特征选取候选执行体集合C″;
权重计算模块:选取赋权方法对各影响指标进行赋权,获得各影响指标的权重;
聚类优选模块:根据需求执行体个数k以及获得的各影响指标的权重,将选取的候选执行体集合C″聚类为k簇,从每个簇中选出一个异构执行体,输出k个异构执行体的集合。
优选地,所述数据预处理模块包括:
风险权值计算模块:
输入执行体集合C及需求执行体个数k,C={N1,N2,…Ni,…Nn},其中Ni表示第i 个执行体,n为C中执行体总个数;
记每个执行体有史以来被访问总次数为Ti,受攻击次数为ti,其中i表示对应执行体 ID;
记风险权值为q,执行体Ni的风险权值为qi,则:
其中,
ε表示任意小正数;
给定风险阈值p,基于一种整体观的把握,给定两个阈值p1,p2,其中p1为用于比较风险值的中间阈值,p2为可忍受风险阈值,p1小于p2;
风险权值比较模块:
记风险权值小于p1的执行体个数为k',判断是否k'≥k:
若k'≥k,则说明执行体池中风险值小于可承受阈值的执行体数足够,则输出qi<p2的所有执行体Ni,即清洗掉执行体集合中种qi≥p2的执行体Ni,获得更新后的执行体集合C',调用负载均衡筛选模块;
若k'<k,则表示执行体集合C的执行体数量少于预设数量或者表示执行体集合C的历史风险记录大于预设范围,则从根部改善风险状况,获得更新后的执行体集合C';
所述从根部改善风险状况包括:增加执行体集合C中的执行体。
优选地,所述负载均衡筛选模块包括:
执行体所在节点性能和负载计算模块:
i=0,1,2,…,n-1,∑kl=1
其中,
m表示CPU数量;
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1;
i=0,1,2,…,n-1,∑kl=1
其中,
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1。
优选地,所述负载均衡筛选模块还包括:
负载权值和负载差值计算模块:
候选执行体集合选取模块:
设定一个阈值ε,每到来一个新的任务请求,从第一步更新的执行体候选集C′中进一步选取C″,首先选取其中对应节点负载权值最小的执行体Nmin,其满足条件:
如果其他任意执行体Ni对应节点满足条件:
则将该执行体Ni加入到候选集合C″,直到集合C″中的执行体个数k″>5k,结束循环;否则,则不做筛简,将所有执行体全部加入到候选集合C″;
其中,
所述执行体包括物理机、服务器、容器或虚拟机在内的N异构体执行所需的应用支撑环境;
所述影响指标包括CPU、操作系统、数据库、文件系统在内的异构特征。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现上述中任一项所述的通用运行环境的拟态调度方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明能够完成通用运行环境管理平台上的节点分发调度需求,使“暗功能”呈现不确定性。在不改变部件或构件服务功能的条件下,随策略调度的随机组合分配在宏观上无论是对内或对外都表现为一种不确定状态,使攻击者难以根据预先获得的情报资料、拟定的攻击策略和技术手段达成可规划攻击任务的目标。
2、本发明实现了将拟态应用在通用运行环境上,实现了分发管理过程的异构最大化,避免同构性错误。基于这种多模裁决和权重聚类的策略调度可显著增加攻击者利用目标执行体漏洞实施协同攻击的难度,毕竟同时攻击异构执行体的相同漏洞是一个极小概率事件。
3、本发明具有独立的安全增益。这种拟态的WSA调度算法的有效性仅有内生安全机制和所拥有的多样化资源决定,不以了解和获得攻击者的先验知识或行为特征为前提,其防御能力可以覆盖现今绝大多数基于目标对象漏洞后门等的安全威胁,具有“点面结合”融合式防御特性。
4、本发明将数据挖掘方法优化运用到调度问题上的有效尝试。数据挖掘中的聚类算法正是一种无监督的根据相似相异特征进行迭代分类的方法,为达到拟态调度的动态异构冗余特性,正需要多个不同类别的随时更新的调度方案,因此这种引入和设计是一种有效的尝试。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的MCOE分发调度功能示意图。
图2为本发明提供的WSA算法四步走流程示意图。
图3为本发明提供的风险值初筛部分流程示意图。
图4为本发明提供的负载均衡策略流程示意图。
图5为本发明提供的无监督聚类优选算法流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种通用运行环境的拟态调度方法,包括:
数据预处理步骤:输入执行体集合C及需求执行体个数k,根据执行体集合C中每个执行体的历史风险值对执行体集合C进行初步筛选,获得更新后的执行体集合C';
负载均衡筛选步骤:根据获得的更新后的执行体集合C',计算各执行体所在节点的性能和负载,再计算各节点负载权值和负载差值,通过节点负载权值指导新任务到来时备选执行体集合的选取,通过节点负载差值计算备选执行体集合中各执行体分配任务的概率,进而结合异构特征选取候选执行体集合C″;
权重计算步骤:选取赋权方法对各影响指标进行赋权,获得各影响指标的权重;
聚类优选步骤:根据需求执行体个数k以及权重计算步骤中获得的各影响指标的权重,将选取的候选执行体集合C″聚类为k簇,从每个簇中选出一个异构执行体,输出k 个异构执行体的集合。
优选地,所述数据预处理步骤包括:
风险权值计算步骤:
输入执行体集合C及需求执行体个数k,C={N1,N2,…Ni,…Nn},其中Ni表示第i 个执行体,n为C中执行体总个数;
记每个执行体有史以来被访问总次数为Ti,受攻击次数为ti其中i表示对应执行体ID;
记风险权值为q,执行体Ni的风险权值为qi,则:
其中,
ε表示任意小正数;
给定风险阈值p,基于一种整体观的把握,给定两个阈值p1,p2,其中p1为用于比较风险值的中间阈值,p2为可忍受风险阈值,p1小于p2;
风险权值比较步骤:
记风险权值小于p1的执行体个数为k',判断是否k'≥k:
若k'≥k,则说明执行体池中风险值小于可承受阈值的执行体数足够,则输出qi<p2的所有执行体Ni,即清洗掉执行体集合中种qi≥p2的执行体Ni,获得更新后的执行体集合C',进入负载均衡筛选步骤继续执行;
若k'<k,则表示执行体集合C的执行体数量少于预设数量或者表示执行体集合C的历史风险记录大于预设范围,则从根部改善风险状况,获得更新后的执行体集合C';
所述从根部改善风险状况包括:增加执行体集合C中的执行体。
优选地,所述负载均衡筛选步骤包括:
执行体所在节点性能和负载计算步骤:
i=0,1,2,…,n-1,∑kl=1
其中,
m表示CPU数量;
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1;
i=0,1,2,…,n-1,∑kl=1
其中,
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1。
优选地,所述负载均衡筛选步骤还包括:
负载权值和负载差值计算步骤:
候选执行体集合选取模块:
设定一个阈值ε,每到来一个新的任务请求,从第一步更新的执行体候选集C′中进一步选取C″,首先选取其中对应节点负载权值最小的执行体Nmin,其满足条件:
如果其他任意执行体Ni对应节点满足条件:
则将该执行体Ni加入到候选集合C″,直到集合C″中的执行体个数k″>5k,结束循环;否则,则不做筛简,将所有执行体全部加入到候选集合C″;
优选地,所述执行体包括物理机、服务器、容器或虚拟机在内的N异构体执行所需的应用支撑环境;
所述影响指标包括CPU、操作系统、数据库、文件系统在内的异构特征。
本发明提供的通用运行环境的拟态调度系统,可以通过本发明给的通用运行环境的拟态调度方法的步骤流程实现。本领域技术人员可以将所述通用运行环境的拟态调度方法,理解为所述通用运行环境的拟态调度系统的一个优选例。
根据本发明提供的一种通用运行环境的拟态调度系统,包括:
数据预处理模块:输入执行体集合C及需求执行体个数k,根据执行体集合C中每个执行体的历史风险值对执行体集合C进行初步筛选,获得更新后的执行体集合C′;
负载均衡筛选模块:根据获得的更新后的执行体集合C′,计算各执行体所在节点的性能和负载,再计算各节点负载权值和负载差值,通过节点负载权值指导新任务到来时备选执行体集合的选取,通过节点负载差值计算备选执行体集合中各执行体分配任务的概率,进而结合异构特征选取候选执行体集合C″;
权重计算模块:选取赋权方法对各影响指标进行赋权,获得各影响指标的权重;
聚类优选模块:根据需求执行体个数k以及获得的各影响指标的权重,将选取的候选执行体集合C″聚类为k簇,从每个簇中选出一个异构执行体,输出k个异构执行体的集合。
优选地,所述数据预处理模块包括:
风险权值计算模块:
输入执行体集合C及需求执行体个数k,C={N1,N2,…Ni,…Nn},其中Ni表示第i 个执行体,n为C中执行体总个数;
记每个执行体有史以来被访问总次数为Ti,受攻击次数为ti其中i表示对应执行体ID;
记风险权值为q,执行体Ni的风险权值为qi,则:
其中,
ε表示任意小正数;
给定风险阈值p,基于一种整体观的把握,给定两个阈值p1,p2,其中p1为用于比较风险值的中间阈值,p2为可忍受风险阈值,p1小于p2;
风险权值比较模块:
记风险权值小于p1的执行体个数为k′,判断是否k′≥k:
若k′≥k,则说明执行体池中风险值小于可承受阈值的执行体数足够,则输出qi<p2的所有执行体Ni,即清洗掉执行体集合中种qi≥p2的执行体Ni,获得更新后的执行体集合C′,调用负载均衡筛选模块;
若k′<k,则表示执行体集合C的执行体数量少于预设数量或者表示执行体集合C的历史风险记录大于预设范围,则从根部改善风险状况,获得更新后的执行体集合C′;
所述从根部改善风险状况包括:增加执行体集合C中的执行体。
优选地,所述负载均衡筛选模块包括:
执行体所在节点性能和负载计算步骤:
i=0,1,2,…,n-1,∑kl=1
其中,
m表示CPU数量;
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1;
i=0,1,2,…,n-1,∑kl=1
其中,
kl表示各项指标的权值参数,即k1、k2和k3,反应不同类型的服务对各个指标的影响程度,其和为1。
优选地,所述负载均衡筛选模块还包括:
负载权值和负载差值计算模块:
候选执行体集合选取模块:
设定一个阈值e,每到来一个新的任务请求,从第一步更新的执行体候选集C′中进一步选取C″,首先选取其中对应节点负载权值最小的执行体Nmin,其满足条件:
如果其他任意执行体Ni对应节点满足条件:
则将该执行体Ni加入到候选集合C″,直到集合C″中的执行体个数k″>5k,结束循环;否则,则不做筛简,将所有执行体全部加入到候选集合C″;
所述执行体包括物理机、服务器、容器或虚拟机在内的N异构体执行所需的应用支撑环境;
所述影响指标包括CPU、操作系统、数据库、文件系统在内的异构特征。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现上述中任一项所述的通用运行环境的拟态调度方法的步骤。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
(1)步骤一风险阈值优选方案
步骤一中风险阈值p需人为给定,其中对用于比较风险值的中间阈值p1,可忍受风险阈值p2的具体取值,考虑到本机模拟执行体池中待选执行体数量有限,在进行方法验证时暂设定其默认值为p1=0.8,p2=0.9。
(2)步骤二中节点性能及负载计算指标
其中:kl是各项指标的权值参数,反应不同类型的服务对各个指标的影响程度,其和为1,该参数可以根据系统运行情况进行调节,以期达到更好的效果。
(3)步骤三权重计算部分
针对目前的项目进展和需求,暂时仅考虑CPU和OS两个指标来证实算法的有效性,后期会加入诸如磁盘类型、内存等连续性指标进一步完善和优化算法。将不同CPU类型分别记为C1,C2,…Cm,OS的不同类型标记为S1,S2,…,Sw,由于目前考虑的两个指标均为离散属性,本文仅讨论离散属性的处理方法。首先将这些离散值矢量化,进而数学模型抽象为0,1矩阵形式。进而选取相关的权重指标计算方法对其进行赋权。
联合熵计算
根据上面第3部分权重计算的准备工作进行数据预处理,然后分别针对各个指标求联合熵。
同理,
各指标权重计算
根据信息熵的计算公式,计算出两个指标的信息熵为EC,ES。
通过信息熵计算各指标的权重:
记各指标的权重为WC、WS,对应各子指标的权重为WCi、WSi,它们满足:
最后,经过该步传给最后聚类部分的执行体池中含有通过信息熵计算的各指标权重这一重要信息。
(4)步骤四聚类优选部分
K-means聚类算法作为最典型的聚类算法,是一种迭代求解的聚类分析方式,而且简单高效易实施,调参只需要簇数k。因此具体化的优化聚类给出如下的K-means聚类步骤:
针对聚类所得簇划分C={C1,C2,…Ck}最小化平方误差
1.记执行体依次为N1,N2,…Nn,假定目标请求执行体数目为x,对应聚类簇数k=x,算法开始时随机选取x个样本作为初始均值,这里样本的维度为CPU和OS的子列数目的和。
2.计算各样本与当前均值向量的距离
计算各样本均值距离是无监督聚类的重要步骤,给定样本 Ni=(Ci1,Ci2,…Cim,Sim+1,Sim+2,…,Sim+w,Ni=(Ci1,Ci2,…Cim,Sim+1,Sim+2,…,Sim+w,对于CPU 个数这一指标,由于本次讨论问题涉及变量较为简单,选取最常用的可用于计算有序属性的闵可夫斯基距离即可,并不会比更复杂距离计算方法产生更明显的误差,闵可夫斯基距离的计算公式如下:
当p=2时,该距离即为欧氏距离,由于参数较少,p=2的经典实现已可以满足实现算法有效性验证。
由于各指标的异构特征对整体影响的权重不同,我们这时在计算距离时需要给各指标乘上通过熵权法计算的权重。
3.根据距离最近的均值向量确定将样本分入相应的簇,进而计算各簇的新均值向量并更新,如此迭代,直到没有更新,算法终止,得到最终簇划分。
4.根据分成的k簇,选取k个执行体返回请求方。这个执行体选取的方法,可以选择各簇的聚类中心,亦可随意一些,各簇随机选取,选取离聚类中心最近的元素(执行体)作为调度元素,输出其对应唯一标识(如IP)。
优选例2:
如图1所示,为本发明提供的MCOE分发调度功能示意图。本方法针对通用运行环境上的拟态调度需求,特别是传统调度算法对于负载均衡和异构性考虑不够全面的问题,结合已有调度算法的优劣比较,提出一种通用运行环境的拟态调度算法。该算法分为四个步骤,第一步,通过对异构执行体池中各执行体过往风险值筛选进行第一步预选,随后更新执行体池,然后对各异构执行体所在节点进行负载均衡计算,再通过加权聚类相结合实现调度,满足拟态要求的同时,结合数据挖掘的聚类方法从更新的异构执行体池中选取出最异构的执行体,完成从管理平台返回给分发模块的执行体标识的选取。通过实验,该方法具有合理性和有效性,解决了传统调度算法在异构冗余需求上的迁移困难,同时也是将机器学习方法运用到调度问题上的有效尝试。如下图2所示为算法四步走流程图。
步骤一:数据预处理,如图3所示。
原始执行体池C中的执行体信息中包含了执行体所在节点相关的IP、过往风险值q,以及其对应的CPU、内存、磁盘相关信息,基于安全性的出发点,本算法第一步通过过往风险值对原始执行体池进行初步筛选,在备用执行体足够的情况下清洗出风险值过大的执行体,以保证后续步骤的有效性和合理性。
记原始执行体池集合为C,C={N1,N2,…Ni,…Nn},其中Ni表示第i个执行体,n 为C中执行体总个数;
需求执行体的个数用k表示;
记每个节点有史以来被访问总次数为Ti,受攻击次数为ti其中i表示对应节点ID。
记风险权值为q,执行体Ni所在节点的风险权值为qi,则:
其中,
ε表示任意小正数
给定风险阈值p,基于一种整体观的把握,给定两个阈值p1,p2,其中p1为用于比较风险值的中间阈值,p2为可忍受风险阈值,p1略小于p2。
图3所示为风险值初筛部分流程图。记风险权值小于p1的节点个数为k',具体比较规则为:
若k'≥k,则说明执行体池中的执行体对应节点风险值小于可承受阈值的执行体数量足够,此时为将更多的决定权放在后续步骤中,则输出qi<p2的所有执行体Ni进入第二步负载均衡筛选,即清洗掉qi≥p2的执行体Ni,更新后的执行体集合记为C'。
若k'<k,说明执行体池资源有限,或者该系统历史风险记录较为频繁,建议从根部改善风险状况,如增加节点等;但在该算法针对既定资源环境的安全运行策略实施中,则采取跳过第一步风险值筛选,直接进入第二步负载均衡筛选。即如果既定资源环境安全可靠,或者为没有历史风险记录的新节点,则跳过第一步风险值筛选,直接进入第二步负载均衡筛选
步骤二:负载均衡策略,如图4所示。
节点性能和负载的计算
集群系统中的执行体N1,N2,…Ni,…Nn所在节点各有不同参数特征,在系统中承担的任务分配也各不相同,因此本方法在每一次任务分配时根据不同节点的性能区别对待,以达到负载均衡的效果。主要的参数是计算执行体Ni所在节点的性能和负载再对其进行负载权值和负载差值的计算。
负载权值和负载差值的计算
权值越大,说明节点负载越重,从而可以根据负载权值的大小来决定任务的分配。
该步的思路为,在节点的负载和运行状态的基础上,综合考虑节点的性能参数,通过负载权值指导新任务到来时备选执行体集合的选取,通过负载差值计算备选执行体集合中各执行体被分配任务的概率。进而结合异构特征选取执行体。
具体步骤为:首先设定一个阈值ε,每到来一个新的任务请求,从第一步更新的执行体候选集C'中进一步选取C″,首先选取其中执行体对应节点的最小负载权值Nmin,其满足条件:
如果其他任意异构执行他对应节点Ni满足条件:
则将该异构执行体Ni加入到候选集合C″,直到集合C″中的异构执行体个数k″>5k,结束循环,否则全部进入下一步候选池。其中候选执行体池C″中的执行体与C'中的执行体存在对应,但是不多于5k个,下标用j来表示。计算候选集合C″中各个执行体被分配任务的概率
如下图4所示为基于负载权值的动态反馈负载均衡算法流程图。
步骤三:权重计算
系统中各执行体不同的参数特征对异构性影响各不相同,在进行最后一步聚类优选之前选取合适的赋权方法对各影响指标进行赋权以保证最终结果的有效性和客观性。
步骤四:聚类优选
本方法最后一步采用聚类的方法进行优选调度,选取执行体集中各簇近聚类中心元素对应标识(IP)的执行体,并将其标识返回给分发模块,管理平台部分的异构执行体选取调度初步实现。聚类部分的算法流程图如图5所示,其中k为调度所需执行体个数。关于执行体,是本方法的调度对象。执行体可以为物理机、服务器、容器、虚拟机等等。
默认需求执行体个数为聚类簇数;聚类后各簇都有对应的聚类中心,然而未必每簇的聚类中心都有实际执行体存在,此时选取距离簇中心最近的执行体作为该簇选出的执行体。
针对选取的候选执行体集合C″进行聚类优选,聚类过程中,考虑系统中各执行体不同的参数特征对异构性影响各不相同,在进行最后一步聚类优选之前选取合适的赋权方法对各影响指标进行赋权。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (8)
1.一种通用运行环境的拟态调度方法,其特征在于,包括:
数据预处理步骤:输入执行体集合C及需求执行体个数k,根据执行体集合C中每个执行体的历史风险值对执行体集合C进行初步筛选,获得更新后的执行体集合C';
负载均衡筛选步骤:根据获得的更新后的执行体集合C',计算各执行体所在节点的性能和负载,再计算各节点负载权值和负载差值,通过节点负载权值指导新任务到来时备选执行体集合的选取,通过节点负载差值计算备选执行体集合中各执行体分配任务的概率,进而结合异构特征选取候选执行体集合C”;
权重计算步骤:选取赋权方法对各影响指标进行赋权,获得各影响指标的权重;
聚类优选步骤:根据需求执行体个数k以及权重计算步骤中获得的各影响指标的权重,将选取的候选执行体集合C”聚类为k簇,从每个簇中选出一个异构执行体,输出k个异构执行体的集合;
所述数据预处理步骤包括:
风险权值计算步骤:
输入执行体集合C及需求执行体个数k,C={N1,N2,…Ni,…Nn},其中Ni表示第i个执行体,n为C中执行体总个数;
记每个执行体有史以来被访问总次数为Ti,受攻击次数为ti,其中i表示对应执行体ID;
记风险权值为q,执行体Ni的风险权值为qi,则:
其中,
ε表示任意小正数;
给定风险阈值p,基于一种整体观的把握,给定两个阈值p1,p2,其中p1为用于比较风险值的中间阈值,p2为可忍受风险阈值,p1小于p2;
风险权值比较步骤:
记风险权值小于p1的执行体个数为k',判断是否k'≥k:
若k'≥k,则说明执行体池中风险值小于可承受阈值的执行体数足够,则输出qi<p2的所有执行体Ni,即清洗掉执行体集合中种qi≥p2的执行体Ni,获得更新后的执行体集合C',进入负载均衡筛选步骤继续执行;
若k'<k,则表示执行体集合C的执行体数量少于预设数量或者表示执行体集合C的历史风险记录大于预设范围,则从根部改善风险状况,获得更新后的执行体集合C';
所述从根部改善风险状况包括:增加执行体集合C中的执行体。
3.根据权利要求2所述的通用运行环境的拟态调度方法,其特征在于,所述负载均衡筛选步骤还包括:
负载权值和负载差值计算步骤:
候选执行体集合选取步骤:
设定一个阈值ε,每到来一个新的任务请求,从第一步更新的执行体候选集C'中进一步选取C”,首先选取其中负载权值最小的执行体Nmin,其满足条件:
如果其他任意执行体Ni满足条件:
则将该执行体Ni加入到候选集合C”,直到集合C”中的执行体个数k”>5k,结束循环;否则,则不做筛简,将所有执行体全部加入到候选集合C”;
其中,
4.根据权利要求3所述的通用运行环境的拟态调度方法,其特征在于,所述执行体包括物理机、服务器、容器或虚拟机在内的N异构体执行所需的应用支撑环境;
所述影响指标包括CPU、操作系统、数据库、文件系统在内的异构特征。
5.一种通用运行环境的拟态调度系统,其特征在于,包括:
数据预处理模块:输入执行体集合C及需求执行体个数k,根据执行体集合C中每个执行体的历史风险值对执行体集合C进行初步筛选,获得更新后的执行体集合C';
负载均衡筛选模块:根据获得的更新后的执行体集合C',计算各执行体所在节点的性能和负载,再计算各节点负载权值和负载差值,通过节点负载权值指导新任务到来时备选执行体集合的选取,通过节点负载差值计算备选执行体集合中各执行体分配任务的概率,进而结合异构特征选取候选执行体集合C”;
权重计算模块:选取赋权方法对各影响指标进行赋权,获得各影响指标的权重;
聚类优选模块:根据需求执行体个数k以及获得的各影响指标的权重,将选取的候选执行体集合C”聚类为k簇,从每个簇中选出一个异构执行体,输出k个异构执行体的集合;
所述数据预处理模块包括:
风险权值计算模块:
输入执行体集合C及需求执行体个数k,C={N1,N2,…Ni,…Nn},其中Ni表示第i个执行体,n为C中执行体总个数;
记每个执行体有史以来被访问总次数为Ti,受攻击次数为ti,其中i表示对应执行体ID;
记风险权值为q,执行体Ni的风险权值为qi,则:
其中,
ε表示任意小正数;
给定风险阈值p,基于一种整体观的把握,给定两个阈值p1,p2,其中p1为用于比较风险值的中间阈值,p2为可忍受风险阈值,p1小于p2;
风险权值比较模块:
记风险权值小于p1的执行体个数为k',判断是否k'≥k:
若k'≥k,则说明执行体池中风险值小于可承受阈值的执行体数足够,则输出qi<p2的所有执行体Ni,即清洗掉执行体集合中种qi≥p2的执行体Ni,获得更新后的执行体集合C',调用负载均衡筛选模块;
若k'<k,则表示执行体集合C的执行体数量少于预设数量或者表示执行体集合C的历史风险记录大于预设范围,则从根部改善风险状况,获得更新后的执行体集合C';
所述从根部改善风险状况包括:增加执行体集合C中的执行体。
7.根据权利要求6所述的通用运行环境的拟态调度系统,其特征在于,所述负载均衡筛选模块还包括:
负载权值和负载差值计算模块:
候选执行体集合选取模块:
设定一个阈值ε,每到来一个新的任务请求,从第一步更新的执行体候选集C'中进一步选取C”,首先选取其中对应节点负载权值最小的执行体Nmin,其满足条件:
如果其他任意执行体Ni对应节点满足条件:
则将该执行体Ni加入到候选集合C”,直到集合C”中的执行体个数k”>5k,结束循环;否则,则不做筛简,将所有执行体全部加入到候选集合C”;
其中,
所述执行体包括物理机、服务器、容器或虚拟机在内的N异构体执行所需的应用支撑环境;
所述影响指标包括CPU、操作系统、数据库、文件系统在内的异构特征。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的通用运行环境的拟态调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816093.8A CN110673951B (zh) | 2019-08-30 | 2019-08-30 | 通用运行环境的拟态调度方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816093.8A CN110673951B (zh) | 2019-08-30 | 2019-08-30 | 通用运行环境的拟态调度方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110673951A CN110673951A (zh) | 2020-01-10 |
CN110673951B true CN110673951B (zh) | 2022-02-15 |
Family
ID=69075818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910816093.8A Active CN110673951B (zh) | 2019-08-30 | 2019-08-30 | 通用运行环境的拟态调度方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110673951B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556030B (zh) * | 2020-04-13 | 2022-06-10 | 南京理工大学 | 一种基于多级队列的拟态防御动态调度方法 |
CN111786946B (zh) * | 2020-05-18 | 2022-12-09 | 中国电子科技集团公司电子科学研究院 | 拟态云服务异构执行体调度方法和装置 |
CN111698235B (zh) * | 2020-06-03 | 2023-04-18 | 北京润通丰华科技有限公司 | 一种拟态dns防御系统控制单元中的异构体调度方法 |
CN111431946B (zh) * | 2020-06-10 | 2020-09-04 | 网络通信与安全紫金山实验室 | 一种拟态路由器执行体调度方法和拟态路由器 |
CN111917754A (zh) * | 2020-07-24 | 2020-11-10 | 之江实验室 | 一种实现拟态执行体快速清洗上线的方法 |
CN114826638B (zh) * | 2021-03-17 | 2024-04-12 | 中国人民解放军战略支援部队信息工程大学 | 基于状态特征相似性的拟态路由器异常检测方法及系统 |
CN113079169B (zh) * | 2021-04-13 | 2022-09-13 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种面向拟态防御的两级多层资源调度方法及系统 |
CN113256302A (zh) * | 2021-05-12 | 2021-08-13 | 南京航空航天大学 | 一种基于云制造平台的资源信息交互方法 |
CN115269180B (zh) * | 2022-07-18 | 2023-06-06 | 苏州大学 | 一种基于车辆地理位置感知的lcd任务分发方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850727A (zh) * | 2015-01-27 | 2015-08-19 | 厦门大学 | 基于云重心理论的分布式大数据系统风险评估方法 |
CN109960729A (zh) * | 2019-03-28 | 2019-07-02 | 国家计算机网络与信息安全管理中心 | Http恶意流量的检测方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11080718B2 (en) * | 2012-09-28 | 2021-08-03 | Rex Wiig | System and method of a requirement, active compliance and resource management for cyber security application |
US20170093910A1 (en) * | 2015-09-25 | 2017-03-30 | Acalvio Technologies, Inc. | Dynamic security mechanisms |
-
2019
- 2019-08-30 CN CN201910816093.8A patent/CN110673951B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850727A (zh) * | 2015-01-27 | 2015-08-19 | 厦门大学 | 基于云重心理论的分布式大数据系统风险评估方法 |
CN109960729A (zh) * | 2019-03-28 | 2019-07-02 | 国家计算机网络与信息安全管理中心 | Http恶意流量的检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110673951A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110673951B (zh) | 通用运行环境的拟态调度方法、系统及介质 | |
US11989647B2 (en) | Self-learning scheduler for application orchestration on shared compute cluster | |
Zade et al. | SAEA: A security-aware and energy-aware task scheduling strategy by Parallel Squirrel Search Algorithm in cloud environment | |
CN112685170B (zh) | 备份策略的动态优化 | |
AU2024200810A1 (en) | Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data | |
Dong et al. | A hybrid PSO/SA algorithm for bi-criteria stochastic line balancing with flexible task times and zoning constraints | |
US9934071B2 (en) | Job scheduler for distributed systems using pervasive state estimation with modeling of capabilities of compute nodes | |
Hosseini Shirvani et al. | Bi-objective scheduling algorithm for scientific workflows on cloud computing platform with makespan and monetary cost minimization approach | |
EP3103070A1 (en) | Application execution control utilizing ensemble machine learning for discernment | |
CN111314120A (zh) | 基于迭代QoS模型的云软件服务资源自适应管理框架 | |
Chen et al. | Online QoS modeling in the cloud: A hybrid and adaptive multi-learners approach | |
Kołodziej | Evolutionary hierarchical multi-criteria metaheuristics for scheduling in large-scale grid systems | |
Solomon et al. | Designing autonomic management systems for cloud computing | |
CN113037800A (zh) | 作业调度方法以及作业调度装置 | |
Fu et al. | A Two‐Layer Task Assignment Algorithm for UAV Swarm Based on Feature Weight Clustering | |
Peng et al. | Genetic Algorithm‐Based Task Scheduling in Cloud Computing Using MapReduce Framework | |
CN112415959B (zh) | 边云协同的工业信息物理系统主动安全响应方法及架构 | |
Nanjappan et al. | Task scheduling based on cost and execution time using ameliorate grey wolf optimizer algorithm in cloud computing | |
EP3851921A1 (en) | Distributed computer control system and method of operation thereof via collective learning | |
Souli-Jbali et al. | Dynamic data replication-driven model in data grids | |
CN116684123A (zh) | 一种微隔离云环境下的动态信任度评估方法和装置 | |
Zheng et al. | A randomization approach for stochastic workflow scheduling in clouds | |
CN115630514A (zh) | 一种无人机集群协同任务分配方法与装置 | |
Prado et al. | On providing quality of service in grid computing through multi-objective swarm-based knowledge acquisition in fuzzy schedulers | |
Chalvantzis et al. | BBQ: Elastic MapReduce over cloud platforms |
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 |