CN114741955A - 一种基于安全云的多目标优化任务调度方法 - Google Patents
一种基于安全云的多目标优化任务调度方法 Download PDFInfo
- Publication number
- CN114741955A CN114741955A CN202210294811.1A CN202210294811A CN114741955A CN 114741955 A CN114741955 A CN 114741955A CN 202210294811 A CN202210294811 A CN 202210294811A CN 114741955 A CN114741955 A CN 114741955A
- Authority
- CN
- China
- Prior art keywords
- artificial fish
- algorithm
- task
- cost
- state
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于安全云的多目标优化任务调度方法,包括如下步骤:1)构建安全云环境下的任务调度模型;2)对人工鱼群算法进行优化,生成以执行成本、负载均衡和任务完成时间为指标的最优分配方案,实现基于安全云的多目标优化任务调度。上述方法利用Tent混沌映射对人工鱼群进行初始化,有效保持了种群的多样性,避免算法陷入局部最优,使得全局搜索能力得到改善;其次对人工鱼群的步长、视野属性进行动态优化,并引入自适应移动步长,加快了算法的全局收敛速度以及提高了算法的优化精度;最后引入交叉变异机制,提高了算法跳出局部最优解的能力,保证了网络安全的实时性与有效性,提高了虚拟安全组件资源的利用率,节省了运营成本。
Description
技术领域
本发明涉及一种基于安全云的多目标优化任务调度方法,属于人工智能技术领域。
背景技术
随着网络技术的飞速发展,计算机网络的安全问题已成为严重的现实问题。因此,安全云应运而生。安全云是提供安全防护服务的云,将安全基础设施云化后,向客户提供整体的安全服务。它采用云计算技术,通过新建和整合虚拟安全组件资源,利用软件定义网络技术(SDN)将业务流量引入安全组件资源池中,流量经过安全云的检测、分析、清洗,再回注到用户业务侧,从而保证了网络安全。
在安全云中,任务调度是一个组合优化问题,任务调度的结果关系到整个安全云设施的效率,并且在提高用户服务质量中起到十分关键的作用。安全云的任务调度是指将各种海量异常流量经过安全云数据中心代理、均衡分配到安全组件资源池中的各虚拟资源上执行的过程,该过程实现的是异常流量到安全虚拟资源的映射关系。任务调度策略的好坏会直接影响用户满意度和安全虚拟资源处理任务的效率,好的任务调度策略能够有效减少任务的完成时间,从而提高网络安全的实时性与有效性,并且能够提高各种虚拟安全资源的利用率,大幅降低能耗和节省运营成本。因此,如何在多种约束下满足复杂的调度需求是目前云安全调度要解决的关键问题。
由于,安全云的任务调度属于NP问题,计算所有可能的任务调度策略并选择一个最佳的调度策略是不可行的,因为这种方法的复杂性会随任务数量与虚拟安全资源数量的增加而呈指数增加。因此,在解决这类问题时,常规的确定性时间复杂度的算法不在适用。而启发式算法这类非确定性时间复杂度的算法,能够通过算法的改进和迭代得到无限接近最优解的次优解。因此,启发式算法是解决这类问题的较好方法之一。
目前现有的调度策略大多以完成时间为主要指标,并未考虑到执行成本与负载均衡,因此虽然保证了任务的实时性,但造成了虚拟资源的浪费以及昂贵的执行成本,并且该情况随着任务数量的增加而恶化。
发明内容
本发明提出一种基于安全云的多目标优化任务调度方法,该方法以完工时间、执行成本、负载均衡为评价指标进行多目标优化,从而得到当前条件下相对最优的安全云任务调度方法,保证了网络安全的实时性与有效性,提高了虚拟安全组件资源的利用率,节省了运营成本。
为解决上述技术问题,本发明所采用的技术方案如下:
一种基于安全云的多目标优化任务调度方法,包括如下步骤:
1)构建安全云环境下的任务调度模型;
2)对人工鱼群算法进行优化,生成以执行成本、负载均衡和任务完成时间为指标的最优分配方案,实现基于安全云的多目标优化任务调度
上述方法,合理、实时、高效、负载均衡、低成本。
现有技术中云环境下的任务调度算法在面对多种优化目标上考虑的并不完善。例如:大部分的任务调度算法以任务完成时间为优化目标,从而导致在最小化执行时间的情况下,加重了整个虚拟资源负载不均衡问题,使得虚拟资源的的利用率出现严重的两极分化现象,增加了整个云系统的能源消耗,并且带来了昂贵的执行成本;而且,大部分任务调度策略主要是研究云环境下的任务调度问题,对于安全云环境下的任务调度问题并没有深入研究。上述方法针对现有的安全云环境下的虚拟安全资源与调度任务之间的匹配问题,提出了一种高效合理的多目标优化任务调度策略,有效克服了现有技术中存在的问题。
上述任务调度模型包括:
101:异常流量子任务(后面简称任务)F={f1,f2,...,fi,...,fm},其中,fi代表第i个任务,i∈{1,2,3,...,m},m为任务的数量,fi的属性值可以表示为:fi={fi-length,fi-fileSize,fi-outputSize,fi-type,fi-level},各属性值含义分别代表任务fi的长度、执行前的大小、执行后的大小、类别以及风险等级;
102:虚拟安全组件资源,后面简称虚拟资源,R={r1,r2,...,rj,...,rn},其中,rj代表第j个虚拟资源,j∈{1,2,3,...,n},n为虚拟资源的数量,rj的属性值可以表示为:rj={rj-mips,rj-bw,rj-ram,rj-pesNumber,rj-size,rj-type},各属性值含义分别代表虚拟资源rj的计算能力、带宽、运行内存、cpu数量、存储空间大小以及类别;
103:任务在虚拟资源上的执行时间,其中,由于任务有不同的风险等级,因此执行时间不仅与任务的长度有关,还与该任务的风险等级有关:
104:任务在虚拟资源上的传输时间:
105:虚拟资源处理一个任务所要消耗的时间为传输时间与执行时间之和:
cij=exeij+transij
106:分配在虚拟资源上的多个任务是串行处理的,而多个虚拟资源是并行运行的,表达式如下:
totalTime=max(rCompletej)
其中,rCompletej为虚拟资源rj的完成时间,totalTime为总的任务完成时间。
107:任务的处理成本包括在虚拟资源上的计算成本、带宽成本、内存成本与存储成本之和,考虑到安全云环境下的异构性,存在多种不同性能的虚拟资源,因此,使用单位成本进行累计:
exeCostij=exeij×rj-mips×rj-pesNumber×rUnitMipsCost
transCostij=transij×rj-bw×rUnitBwCost
ramCostij=cij×rj-ram×rUnitRamCost
sizeCostij=cij×rj-size×rUnitSiizeCost
其中,totalCost为总的处执行成本,exeCostij、transCostij、ramCostij、sizeCostij分别为虚拟资源rj完成任务fi所需的计算成本、带宽成本、内存成本与存储成本。
108:虚拟资源的负载不仅仅要考虑分配在该虚拟资源上的任务长度,还需要考虑该虚拟资源的性能,其中,η1、η2分别为虚拟资源的计算能力与带宽大小的权重系数,loadEvaluation值越小,说明每个虚拟资源的负载越均衡,虚拟机负载公式如下:
109:考虑到任务完成时间、成本、负载均衡是不同的评价指标,具有不同的量纲与量纲单位,因此,为了消除多个指标之间的量纲影响,需要对其进行归一化处理,以解决不同指标之间的可比性,各指标归一化处理公式如下:
其中,ftime、fcost、fload分别为归一化后的任务完成时间、执行成本、虚拟资源的负载均衡,totalTimemin、totalCostmin分别为任务完成时间与执行成本的最小值,totalTimemax、totalCostmax分别为任务完成时间与执行成本的最大值。
针对任务完成时间、成本、负载均衡三个评价指标,多目标转化为单一目标最常采用的方法是线性加权法、约束法和线性规划法,考虑到安全云环境的异构性与动态性,引入线性权重动态分配策略,对时间、成本和负载均衡这三个指标进行动态权重分配,表达式如下:
F=λ1×ftime+λ2×fcost+λ3×fload
适应度函数F的值越小,说明分配方案越合理,其中,λ1为算法对任务完成时间的偏好程度,λ2为算法对成本的偏好程度,λ3为算法对负载均衡的偏好程度,itermax为人工鱼群的最大迭代次数,itercur为人工鱼群的当前迭代次数;
表1上述各表达式中缩写字母的含义
上述步骤2)以步骤1)所提出的适应度函数F作为步骤2)人工鱼群算法的优化目标,生成以执行成本、负载均衡和任务完成时间为指标的最优分配方案,实现基于安全云的多目标优化任务调度。
上述步骤2)中,对人工鱼群算法进行优化,包括如下步骤:
步骤201:初始化人工鱼群算法中的各个参数:人工鱼总数Sum、步长Step、视野View、试行次数Attempt、拥挤度因子δ、最大迭代次数itermax和阈值t等;
步骤203:将混沌序列S按照式(b)映射到原空间,产生初始种群X;
步骤204:对每条人工鱼的适应度进行计算,并将具有最优目标函数的人工鱼状态记录到公告板;
步骤205:对每条人工鱼聚群和追尾行为进行评价对比,选择当下人工鱼最合适的行为进行运动,若不满足约束条件时,则执行觅食行为或随机游动行为;
步骤206:人工鱼执行所选择的行为,并更新人工鱼的状态信息,同时,更新公告板上最优的人工鱼状态;
步骤207:若算法连续迭代t次后,全局最优解未发生改变且当前迭代次数小于最大迭代次数,则执行交叉、变异操作,同时,更新公告板上最优的人工鱼状态;
步骤208:判断是否满足终止条件,若不满足则跳转步骤205,反之跳转步骤209
步骤209:返回最优分配方案。
人工鱼群算法在解决优化问题时,通常利用随机产生的数据作为初始种群信息,这会导致种群分布不均匀,难以保留种群的多样性,易陷入局部最有解的情况,从而会造成算法的寻优结果较差。因此,本发明在人工鱼群的初始化过程中引入混沌映射机制。
混沌是存在于非线性系统中的一种普遍现象,一个混沌变量在一定范围内具有随机性、遍历性和规律性的特点。根据研究表明Tent映射相比于其他映射能产生更好的效果。因此,针对人工鱼群算法的特性,步骤202中,采用具有良好遍历性和较快收敛速度的Tent映射来产生混沌序列,其表达式如下:
其中,xl为产生的第l个随机数。
由于Tent混沌序列中存在小周期,并且存在不稳周期点,为避免Tent混沌序列在迭代时落入小周期点和不稳定周期点,在原有的Tent混沌映射中引入一个随机变量,改进后的Tent混沌映射表达式如下:
经过贝努力移位变换后表达式如下:
其中,N为人工鱼群的个数;引入随机变量不仅保持了Tent混沌映射的随机性、遍历性、规律性,而且能够有效避免迭代落入小周期点和不稳定周期点内;
针对以上对改进后的Tent映射特性的描述,结合安全云环境下的人工鱼群算法特征,对公式调整如下:
其中i为人工鱼的编号,j为任务编号;
步骤202-203利用Tent映射初始化人工鱼群的具体步骤如下:
②:按照式(a)进行迭代,产生一个混沌序列S;
③:按照式(b)将混沌序列S中的各混沌分量映射回原空间,其中,aj、bj为第j维变量的取值范围,即虚拟资源的范围;
④:由这些混沌序列可以得到由si经过Tent映射后的初始种群X。
人工鱼群算法前期期望人工鱼较大的视野和步长,使得算法具有快速收敛并且跳出局部最优解的能力,而算法后期期望人工鱼有较小的视野和步长,使得算法能有精确搜索,提高算法精度。因此,人工鱼群算法的视野与步长具有相似的性质,针对该现象,步骤204中,采取动态的步长、视野更能使算法,达到最佳的寻优效果。
步骤204中,采用Sigmoid函数并对其进行变形,变形后的Sigmoid函数表达式为:
由于算法初期在函数的作用下,人工鱼的视野和步长都进行了放大,有助于算法的快速收敛以及跳出局部最优解,变形后的Sigmoid函数初期衰减速度比较缓慢,从而人工鱼有较长的时间采用较大的视野和步长了解寻优空间的信息,跳出局部最优前往全局最优;随着算法的执行人工鱼的视野和步长在函数作用下逐渐减少,但依旧能够保持一个相对缓慢的速度进行衰减,从而让人工鱼有充足的时间在全局最优邻域进行细化搜索,使得最优解精度提高;
改进后的步长与视野表达式如下:
dStep=Step×Sigmoidd
dView=View×Sigmoidd
其中,Step为人工鱼的步长,View为人工鱼的视野。
上述步骤204中,人工鱼获得了动态的步长与视野,提高了算法的收敛速度以及优化精度。但依旧会存在这样一种情况:考虑到人工鱼在从局部最优前往全局最优的途中,由于移动步长的固定,可能会导致人工鱼越过全局最优点奔向另一个局部最优点,或者是在全局最优点处徘徊,直到移动步长逐渐衰减才收敛至全局最优点处,从而影响了收敛速度。针对这一情况,本申请提出自适应移动步长,在觅食行为、追尾行为和聚群行为中,若人工鱼从状态Xi前往Xj时(F(Xi)>F(Xj)),根据当前状态Xi与视野中所感知的下一个前往状态Xj的目标函数值大小作为比例系数进行移动,即当F(Xi)远远大于F(Xj)时,说明该人工鱼当前位置距离全局最优点较远,因此尽可能移动较大的步长靠近状态Xj,从而加快算法的收敛速度;当F(Xi)接近F(Xj)时,说明人工鱼当前处于最优点的邻域,因此仅需要较小的步长对其附近邻域进行细化搜索,使其算法的优化精度提高;
步骤207中,针对人工鱼群算法后期易陷入局部最优解的情况,引入交叉变异机制。使得解集合具有更强跳出局部最优解的能力,从而提高了获取全局最优解的可能。具体细则如下:设置阈值t,若算法在连续迭代t次后,全局最优解未发生改变,则进行交叉、变异操作,对当前迭代的所有解集合进行从优至差的排列,然后选取最优解Xbest与次优解XsubBest;
步骤207中,交叉操作,包括如下步骤:
a:对所选取的最优解Xbest与次优解XsubBest进行交叉操作,生成新状态Xnew1与Xnew2;
b:计算F(Xnew1)与F(Xnew2),取二者最小值为F(Xnew);F(X)表示适应度值;
c:将F(Xnew)与最差状态F(Xworst)进行比较;
d:若新状态F(Xnew)<F(Xworst),则将新状态Xnew添加至解集合中,并删除最差状态Xworst;反之,解集合保持不变。
步骤207中,变异操作,包括如下步骤:
a:对最优解Xbest进行变异操作,生成新状态Xnew;
b:计算F(Xnew),将其与F(Xworst)进行比较;
c:若新状态F(Xnew)<F(Xworst),则将新状态Xnew添加至解集合中,并删除最差状态Xworst,反之,解集合保持不变。
编码是将问题映射成一种模型,能够更方便直观地对问题进行求解,在进行人工鱼群算法设计时,选择合适的编码直接影响到算法的收敛速度与优化精度。
对于安全云环境下的任务调度问题,采用多值编码对安全云环境下的任务调度问题进行编码。对于m个任务,n个虚拟资源的任务调度问题来说,创建数组Distribution[m]=(x1,x2,…,xm),xi为第i个任务的分配情况(i=1,2,…,m),例如Distribution[4]=(2,1,3,1)表示的4个任务的分配方案是:第1个任务在第2个虚拟资源上处理,第2个和第4个任务在第1个虚拟资源上处理,第3个任务在第3个虚拟资源上处理。
上述方法,能够合理地将大规模的虚拟安全资源与调度任务进行匹配,从而保证了网络安全的实时性与有效性,提高了虚拟安全资源的利用率,节省了运营成本。
本发明未提及的技术均参照现有技术。
本发明针对安全云环境下的任务调度问题,提出一种基于人工鱼群算法的多目标优化任务调度策略。该策略利用Tent混沌映射对人工鱼群进行初始化,有效保持了种群的多样性,避免算法陷入局部最优,使得全局搜索能力得到改善。其次对人工鱼群的步长、视野属性进行动态优化,并引入自适应移动步长,加快了算法的全局收敛速度以及提高了算法的优化精度。最后引入交叉变异机制,提高了算法跳出局部最优解的能力。在算法寻优期间以执行时间、成本、负载均衡为评价指标进行多目标优化,从而得到当前条件下相对最优的安全云任务调度策略。该策略能够合理地将大规模的虚拟安全组件资源与调度任务进行匹配,从而保证了网络安全的实时性与有效性,提高了虚拟安全组件资源的利用率,节省了运营成本。
附图说明
图1为本发明所述的安全云任务调度模型示意图。
图2为本发明所述Sigmoid变形图。
图3为本发明所述交叉操作示意图。
图4为本发明所述变异操作示意图。
图5为本发明所述改进人工鱼群算法流程示意图。
图6为仿真实验中收敛曲线对比图(Task Number=50);
图7为仿真实验中收敛曲线对比图(Task Number=500);
图8为仿真实验中不同任务数量下任务完成时间对比图;
图9为仿真实验中不同任务数量下负载均衡对比图;
图10为仿真实验中不同任务数量下执行成本对比图;
具体实施方式
为了更好地理解本发明,下面结合实施例进一步阐明本发明的内容,但本发明的内容不仅仅局限于下面的实施例。
本发明所提出的是一种基于安全云的多目标优化任务调度策略。本策略首先对安全云环境下的任务调度进行建模,其次对人工鱼群算法进行优化,利用其算法的鲁棒性强、具备并行处理能力以及全局寻优能力的特点,将该算法与安全云任务调度模型相结合,实现一种实时、高效、负载均衡、低成本的任务调度策略。
任务调度模型包括:
101:异常流量子任务,后面简称任务,F={f1,f2,...,fi,...,fm},其中,fi代表第i个任务,i∈{1,2,3,...,m},m为任务的数量,fi的属性值可以表示为:fi={fi-length,fi-fileSize,fi-outputSize,fi-type,fi-level},各属性值含义分别代表任务fi的长度、执行前的大小、执行后的大小、类别以及风险等级;
102:虚拟安全组件资源,后面简称虚拟资源,R={r1,r2,...,rj,...,rn},其中,rj代表第j个虚拟资源,j∈{1,2,3,...,n},n为虚拟资源的数量,rj的属性值可以表示为:rj={rj-mips,rj-bw,rj-ram,rj-pesNumber,rj-size,rj-type},各属性值含义分别代表虚拟资源rj的计算能力、带宽、运行内存、cpu数量、存储空间大小以及类别;
103:任务在虚拟资源上的执行时间,其中,由于任务有不同的风险等级,因此执行时间不仅与任务的长度有关,还与该任务的风险等级有关:
104:任务在虚拟资源上的传输时间:
105:虚拟资源处理一个任务所要消耗的时间为传输时间与执行时间之和:
cij=exeij+transij
106:分配在虚拟资源上的多个任务是串行处理的,而多个虚拟资源是并行运行的,表达式如下:
totalTime=max(rCompletej)
其中,rCompletej为虚拟资源rj的完成时间,totalTime为总的任务完成时间。
107:任务的执行成本包括在虚拟资源上的计算成本、带宽成本、内存成本与存储成本之和,考虑到安全云环境下的异构性,存在多种不同性能的虚拟资源,因此,使用单位成本进行累计:
exeCostij=exeij×rj-mips×rj-pesNumber×rUnitMipsCost
transCostij=transij×rj-bw×rUnitBwCost
ramCostij=cij×rj-ram×rUnitRamCost
sizeCostij=cij×rj-size×rUnitSizeCost
其中,totalCost为总的处执行成本,exeCostij、transCostij、ramCostij、sizeCostij分别为虚拟资源rj完成任务fi所需的计算成本、带宽成本、内存成本与存储成本。
108:虚拟资源的负载不仅仅要考虑分配在该虚拟资源上的任务长度,还需要考虑该虚拟资源的性能,其中,η1、η2分别为虚拟资源的计算能力与带宽大小的权重系数,loadEvaluation值越小,说明每个虚拟资源的负载越均衡,虚拟机负载公式如下:
109:考虑到任务完成时间、成本、负载均衡是不同的评价指标,具有不同的量纲与量纲单位,因此,为了消除多个指标之间的量纲影响,需要对其进行归一化处理,以解决不同指标之间的可比性,各指标归一化处理公式如下:
其中,ftime、fcost、fload分别为归一化后的任务完成时间、执行成本、虚拟资源的负载均衡,totalTimemin、totalCostmin分别为任务完成时间与执行成本的最小值,totalTimemax、totalCostmax分别为任务完成时间与执行成本的最大值。
引入线性权重动态分配策略,对时间、成本和负载均衡这三个指标进行动态权重分配,表达式如下:
F=λ1×ftime+λ2×fcost+λ3×fload
适应度函数F的值越小,说明分配方案越合理,其中,λ1为算法对任务完成时间的偏好程度,λ2为算法对成本的偏好程度,λ3为算法对负载均衡的偏好程度,itermax为人工鱼群的最大迭代次数,itercur为人工鱼群的当前迭代次数;
表1上述各表达式中缩写字母的含义
如图5所示,步骤2)中,对人工鱼群算法进行优化,包括如下步骤:
步骤201:初始化人工鱼群算法中的各个参数:人工鱼总数Sum、步长Step、视野View、试行次数Attempt、拥挤度因子δ、最大迭代次数itermax和阈值t等;
步骤203:将混沌序列S按照式(b)映射到原空间,产生初始种群X;
步骤204:对每条人工鱼的适应度进行计算,并将具有最优目标函数的人工鱼状态记录到公告板;
步骤205:对每条人工鱼聚群和追尾行为进行评价对比,选择当下人工鱼最合适的行为进行运动,若不满足约束条件时,则执行觅食行为或随机游动行为;
步骤206:人工鱼执行所选择的行为,并更新人工鱼的状态信息,同时,更新公告板上最优的人工鱼状态;
步骤207:若算法连续迭代t次后,全局最优解未发生改变且当前迭代次数小于最大迭代次数,则执行交叉、变异操作,同时,更新公告板上最优的人工鱼状态;
步骤208:判断是否满足终止条件,若不满足则跳转步骤205,反之跳转步骤209
步骤209:返回最优分配方案。
人工鱼群算法在解决优化问题时,通常利用随机产生的数据作为初始种群信息,这会导致种群分布不均匀,难以保留种群的多样性,易陷入局部最有解的情况,从而会造成算法的寻优结果较差。因此,本发明在人工鱼群的初始化过程中引入混沌映射机制。
混沌是存在于非线性系统中的一种普遍现象,一个混沌变量在一定范围内具有随机性、遍历性和规律性的特点。根据研究表明Tent映射相比于其他映射能产生更好的效果。因此,针对人工鱼群算法的特性,步骤202中,采用具有良好遍历性和较快收敛速度的Tent映射来产生混沌序列,其表达式如下:
其中,xl为产生的第l个随机数。
由于Tent混沌序列中存在小周期,并且存在不稳周期点,为避免Tent混沌序列在迭代时落入小周期点和不稳定周期点,在原有的Tent混沌映射中引入一个随机变量,改进后的Tent混沌映射表达式如下:
经过贝努力移位变换后表达式如下:
其中,N为人工鱼群的个数;引入随机变量不仅保持了Tent混沌映射的随机性、遍历性、规律性,而且能够有效避免迭代落入小周期点和不稳定周期点内;
针对以上对改进后的Tent映射特性的描述,结合安全云环境下的人工鱼群算法特征,对公式调整如下:
其中i为人工鱼的编号,j为任务编号;
步骤202-203利用Tent映射初始化人工鱼群的具体步骤如下:
②:按照式(a)进行迭代,产生一个混沌序列S;
③:按照式(b)将混沌序列S中的各混沌分量映射回原空间,其中,aj、bj为第j维变量的取值范围,即虚拟资源的范围;
④:由这些混沌序列可以得到由si经过Tent映射后的初始种群X。
人工鱼群算法前期期望人工鱼较大的视野和步长,使得算法具有快速收敛并且跳出局部最优解的能力,而算法后期期望人工鱼有较小的视野和步长,使得算法能有精确搜索,提高算法精度。因此,人工鱼群算法的视野与步长具有相似的性质,针对该现象,步骤204中,采取动态的步长、视野更能使算法,达到最佳的寻优效果。
步骤204中,采用Sigmoid函数并对其进行变形,变形后的Sigmoid函数表达式为:
由于算法初期在函数的作用下,人工鱼的视野和步长都进行了放大,有助于算法的快速收敛以及跳出局部最优解,变形后的Sigmoid函数初期衰减速度比较缓慢,从而人工鱼有较长的时间采用较大的视野和步长了解寻优空间的信息,跳出局部最优前往全局最优;随着算法的执行人工鱼的视野和步长在函数作用下逐渐减少,但依旧能够保持一个相对缓慢的速度进行衰减,从而让人工鱼有充足的时间在全局最优邻域进行细化搜索,使得最优解精度提高;
改进后的步长与视野表达式如下:
dStep=Step×Sigmoidd
dView=View×Sigmoidd
其中,Step为人工鱼的步长,View为人工鱼的视野。
上述步骤204中,人工鱼获得了动态的步长与视野,提高了算法的收敛速度以及优化精度。但依旧会存在这样一种情况:考虑到人工鱼在从局部最优前往全局最优的途中,由于移动步长的固定,可能会导致人工鱼越过全局最优点奔向另一个局部最优点,或者是在全局最优点处徘徊,直到移动步长逐渐衰减才收敛至全局最优点处,从而影响了收敛速度。针对这一情况,本申请提出自适应移动步长,在觅食行为、追尾行为和聚群行为中,若人工鱼从状态Xi前往Xj时(F(Xi)>F(Xj)),根据当前状态Xi与视野中所感知的下一个前往状态Xj的目标函数值大小作为比例系数进行移动,即当F(Xi)远远大于F(Xj)时,说明该人工鱼当前位置距离全局最优点较远,因此尽可能移动较大的步长靠近状态Xj,从而加快算法的收敛速度;当F(Xi)接近F(Xj)时,说明人工鱼当前处于最优点的邻域,因此仅需要较小的步长对其附近邻域进行细化搜索,使其算法的优化精度提高;
步骤207中,针对人工鱼群算法后期易陷入局部最优解的情况,引入交叉变异机制。使得解集合具有更强跳出局部最优解的能力,从而提高了获取全局最优解的可能。具体细则如下:设置阈值t,若算法在连续迭代t次后,全局最优解未发生改变,则进行交叉、变异操作,对当前迭代的所有解集合进行从优至差的排列,然后选取最优解Xbest与次优解XsubBest;图2为迭代次数为20次时的变形Sigmoid示意图;
如图3所示,步骤207中,交叉操作,包括如下步骤:
a:对所选取的最优解Xbest与次优解XsubBest进行交叉操作,生成新状态Xnew1与Xnew2;
b:计算F(Xnew1)与F(Xnew2),取二者最小值为F(Xnew);
c:将F(Xnew)与最差状态F(Xworst)进行比较;
d:若新状态F(Xnew)<F(Xworst),则将新状态Xnew添加至解集合中,并删除最差状态Xworst;反之,解集合保持不变。
如图4所示,步骤207中,变异操作,包括如下步骤:
a:对最优解Xbest进行变异操作,生成新状态Xnew;
b:计算F(Xnew),将其与F(Xworst)进行比较;
c:若新状态F(Xnew)<F(Xworst),则将新状态Xnew添加至解集合中,并删除最差状态Xworst,反之,解集合保持不变。
图1为本发明所述的安全云任务调度模型示意图。其调度流程步骤如下:
步骤101:业务流量集合模块负责接收各用户提交的业务流量任务,对其进行分类处理后,将任务、参数等信息转发至调度中心;
步骤102:调度中心的流量信息系统判断任务的类型和需求,并进行调度预测;
步骤103:优化中心将预测的调度方案进行多目标优化处理,随后将处理后的调度方案发送至方案评估模块。
步骤104:方案评估模块根据评价指标选出最优调度方案,并按最优调度方案将各个任务分配至各安全组件资源池内的虚拟安全组件资源上。
仿真实验:
我们使用云计算仿真模拟器CloudSim对任务调度实验进行仿真,CloudSim是一种可扩展、通用的仿真框架,能够对云环境下的任务调度实验进行模型构建和仿真模拟。
A、实验环境
我们在Linux64位操作系统上进行的实验操作,处理器是IntelXeonE5-2680,内存为64GB,实验环境语言为Java。
B、参数设置
仿真实验创建了15个相互独立的虚拟资源,50-500个相互独立的任务(任务数量从50开始,以50为单位进行递增,任务最大数量为500个)。具体参数设置如表2所示。为了更好地模拟真实的安全云平台,构建出合理有效的安全云任务调度策略,在创建虚拟资源、任务时,实验参数在满足均匀分配的条件下从取值范围内随机抽取,用来模拟了不同性能计算资源以及不同长度的任务。
表2安全云模型参数表
由于算法的参数对算法性能影响很大,因此在保证相同实验环境的情况下,算法公共的参数应设为一致。算法的具体参数设置如表3所示。
表3调度算法参数表
虚拟资源的CPU计算资源、内存和带宽等资源的定价在参考了阿里云的云服务器定价标准之后,确定如表4所示。
表4虚拟安全资源池单价表
收敛速度如图6-7所示;任务完成时间如图8所示;负载均衡如图9所示;执行成本如图10所示。
上述方法略基于安全云任务调度模型,采用人工鱼群算法与之相结合,并对其完成时间、执行成本、负载均衡等指标进行多目标优化,使得调度策略能够有效的减少任务完成时间,提高网络安全的实时性与有效性,同时能够保证各虚拟安全组件资源的负载均衡,提高其资源的利用率,大幅度降低能耗和节省运营成本,满足了用户与服务商的需求。
Claims (10)
1.一种基于安全云的多目标优化任务调度方法,其特征在于:包括如下步骤:
1)构建安全云环境下的任务调度模型;
2)对人工鱼群算法进行优化,生成以执行成本、负载均衡和任务完成时间为指标的最优分配方案,实现基于安全云的多目标优化任务调度。
2.如权利要求1所述的基于安全云的多目标优化任务调度方法,其特征在于:任务调度模型包括:
101:异常流量子任务,后面简称任务,,F={f1,f2,...,fi,...,fm}其中,fi代表第i个任务,i∈{1,2,3,...,m},m为任务的数量,fi的属性值可以表示为:fi={fi-length,fi-fileSize,fi-outputSize,fi-type,fi-level},各属性值含义分别代表任务fi的长度、执行前的大小、执行后的大小、类别以及风险等级;
102:虚拟安全组件资源,后面简称虚拟资源,R={r1,r2,...,rj,...,rn},其中,rj代表第j个虚拟资源,j∈{1,2,3,...,n},n为虚拟资源的数量,rj的属性值可以表示为:rj={rj-mips,rj-bw,rj-ram,rj-pesNumber,rj-size,rj-type},各属性值含义分别代表虚拟资源rj的计算能力、带宽、运行内存、cpu数量、存储空间大小以及类别;
103:任务在虚拟资源上的执行时间,其中,由于任务有不同的风险等级,因此执行时间不仅与任务的长度有关,还与该任务的风险等级有关:
104:任务在虚拟资源上的传输时间:
105:虚拟资源处理一个任务所要消耗的时间为传输时间与执行时间之和:
cij=exeij+transij
106:分配在虚拟资源上的多个任务是串行处理的,而多个虚拟资源是并行运行的,表达式如下:
totalTime=max(rCompletej)
其中,rCompletej为虚拟资源rj的完成时间,totalTime为总的任务完成时间;
107:任务的执行成本包括在虚拟资源上的计算成本、带宽成本、内存成本与存储成本之和,考虑到安全云环境下的异构性,存在多种不同性能的虚拟资源,因此,使用单位成本进行累计:
exeCostij=exeij×rj-mips×rj-pesNumber×rUnitMipsCost
transCostij=transij×rj-bw×rUnitBwCost
ramCostij=cij×rj-ram×rUnitRamCost
sizeCostij=cij×rj-size×rUnitSizeCost
其中,totalCost为总的处执行成本,exeCostij、transCostij、ramCostij、sizeCostij分别为虚拟资源rj完成任务fi所需的计算成本、带宽成本、内存成本与存储成本;
108:虚拟资源的负载不仅仅要考虑分配在该虚拟资源上的任务长度,还需要考虑该虚拟资源的性能,其中,η1、η2分别为虚拟资源的计算能力与带宽大小的权重系数,loadEvaluation值越小,说明每个虚拟资源的负载越均衡,虚拟机负载公式如下:
109:考虑到任务完成时间、成本、负载均衡是不同的评价指标,具有不同的量纲与量纲单位,因此,为了消除多个指标之间的量纲影响,需要对其进行归一化处理,以解决不同指标之间的可比性,各指标归一化处理公式如下:
其中,ftime、fcost、fload分别为归一化后的任务完成时间、执行成本、虚拟资源的负载均衡,totalTimemin、totalCostmin分别为任务完成时间与执行成本的最小值,totalTimemax、totalCostmax分别为任务完成时间与执行成本的最大值;
引入线性权重动态分配策略,对时间、成本和负载均衡这三个指标进行动态权重分配,表达式如下:
F=λ1×ftime+λ2×fcost+λ3×fload
适应度函数F的值越小,说明分配方案越合理,其中,λ1为算法对任务完成时间的偏好程度,λ2为算法对成本的偏好程度,λ3为算法对负载均衡的偏好程度,itermax为人工鱼群的最大迭代次数,itercur为人工鱼群的当前迭代次数;
表1上述各表达式中缩写字母的含义
3.如权利要求1或2所述的基于安全云的多目标优化任务调度方法,其特征在于:步骤2)中,对人工鱼群算法进行优化,包括如下步骤:
步骤201:初始化人工鱼群算法中的各个参数:人工鱼总数Sum、步长Step、视野View、试行次数Attempt、拥挤度因子δ、最大迭代次数itermax和阈值t;
步骤203:将混沌序列S按照式(b)映射到原空间,产生初始种群X;
步骤204:对每条人工鱼的适应度进行计算,并将具有最优目标函数的人工鱼状态记录到公告板;
步骤205:对每条人工鱼聚群和追尾行为进行评价对比,选择当下人工鱼最合适的行为进行运动,若不满足约束条件时,则执行觅食行为或随机游动行为;
步骤206:人工鱼执行所选择的行为,并更新人工鱼的状态信息,同时,更新公告板上最优的人工鱼状态;
步骤207:若算法连续迭代t次后,全局最优解未发生改变且当前迭代次数小于最大迭代次数,则执行交叉、变异操作,同时,更新公告板上最优的人工鱼状态;
步骤208:判断是否满足终止条件,若不满足则跳转步骤205,反之跳转步骤209;
步骤209:返回最优分配方案。
4.如权利要求3所述的基于安全云的多目标优化任务调度方法,其特征在于:步骤202中,采用Tent映射来产生混沌序列,其表达式如下:
其中,xl为产生的第l个随机数。
在原有的Tent混沌映射中引入一个随机变量,改进后的Tent混沌映射表达式如下:
经过贝努力移位变换后表达式如下:
其中,N为人工鱼群的个数;引入随机变量不仅保持了Tent混沌映射的随机性、遍历性、规律性,而且能够有效避免迭代落入小周期点和不稳定周期点内;
针对以上对改进后的Tent映射特性的描述,结合安全云环境下的人工鱼群算法特征,对公式调整如下:
其中i为人工鱼的编号,j为任务编号;
步骤202-203的具体步骤如下:
②:按照式(a)进行迭代,产生一个混沌序列S;
③:按照式(b)将混沌序列S中的各混沌分量映射回原空间,其中,aj、bj为第j维变量的取值范围,即虚拟资源的范围;
④:由这些混沌序列可以得到由si经过Tent映射后的初始种群X。
5.如权利要求3所述的基于安全云的多目标优化任务调度方法,其特征在于:步骤204中,采取动态的步长、视野更能使算法,达到最佳的寻优效果。
6.如权利要求5所述的基于安全云的多目标优化任务调度方法,其特征在于:步骤204中,采用Sigmoid函数并对其进行变形,变形后的Sigmoid函数表达式为:
由于算法初期在函数的作用下,人工鱼的视野和步长都进行了放大,有助于算法的快速收敛以及跳出局部最优解,变形后的Sigmoid函数初期衰减速度比较缓慢,从而人工鱼有较长的时间采用较大的视野和步长了解寻优空间的信息,跳出局部最优前往全局最优;随着算法的执行人工鱼的视野和步长在函数作用下逐渐减少,但依旧能够保持一个相对缓慢的速度进行衰减,从而让人工鱼有充足的时间在全局最优邻域进行细化搜索,使得最优解精度提高;
改进后的步长与视野表达式如下:
dStep=Step×Sigmoidd
dView=View×Sigmoidd
其中,Step为人工鱼的步长,View为人工鱼的视野。
7.如权利要求6所述的基于安全云的多目标优化任务调度方法,其特征在于:步骤204中,采用自适应移动步长,在觅食行为、追尾行为和聚群行为中,若人工鱼从状态Xi前往Xj时(F(Xi)>F(Xj)),根据当前状态Xi与视野中所感知的下一个前往状态Xj的目标函数值大小作为比例系数进行移动,即当F(Xi)远远大于F(Xj)时,说明该人工鱼当前位置距离全局最优点较远,因此尽可能移动较大的步长靠近状态Xj,从而加快算法的收敛速度;当F(Xi)接近F(Xj)时,说明人工鱼当前处于最优点的邻域,因此仅需要较小的步长对其附近邻域进行细化搜索,使其算法的优化精度提高;
9.如权利要求3所述的基于安全云的多目标优化任务调度方法,其特征在于:步骤207中,交叉操作,包括如下步骤:
a:对所选取的最优解Xbest与次优解XsubBest进行交叉操作,生成新状态Xnew1与Xnew2;
b:计算F(Xnew1)与F(Xnew2),取二者最小值为F(Xnew);
c:将F(Xnew)与最差状态F(Xworst)进行比较;
d:若新状态F(Xnew)<F(Xworst),则将新状态Xnew添加至解集合中,并删除最差状态Xworst;反之,解集合保持不变。
10.如权利要求3所述的基于安全云的多目标优化任务调度方法,其特征在于:步骤207中,变异操作,包括如下步骤:
a:对最优解Xbest进行变异操作,生成新状态Xnew;
b:计算F(Xnew),将其与F(Xworst)进行比较;
c:若新状态F(Xnew)<F(Xworst),则将新状态Xnew添加至解集合中,并删除最差状态Xworst,反之,解集合保持不变。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210083407 | 2022-01-25 | ||
CN202210083407X | 2022-01-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741955A true CN114741955A (zh) | 2022-07-12 |
Family
ID=82277506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210294811.1A Pending CN114741955A (zh) | 2022-01-25 | 2022-03-24 | 一种基于安全云的多目标优化任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741955A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168017A (zh) * | 2022-09-08 | 2022-10-11 | 天云融创数据科技(北京)有限公司 | 一种任务调度云平台及其任务调度方法 |
CN115730432A (zh) * | 2022-11-09 | 2023-03-03 | 国网湖南省电力有限公司 | 物联网数据处理任务的调度方法及系统、设备、存储介质 |
CN115988075A (zh) * | 2022-12-07 | 2023-04-18 | 天翼云科技有限公司 | 一种基于人工鱼群算法的云数据迁移方法及装置 |
CN116932164A (zh) * | 2023-07-25 | 2023-10-24 | 和光舒卷(广东)数字科技有限公司 | 一种基于云平台的多任务调度方法及其系统 |
-
2022
- 2022-03-24 CN CN202210294811.1A patent/CN114741955A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168017A (zh) * | 2022-09-08 | 2022-10-11 | 天云融创数据科技(北京)有限公司 | 一种任务调度云平台及其任务调度方法 |
CN115730432A (zh) * | 2022-11-09 | 2023-03-03 | 国网湖南省电力有限公司 | 物联网数据处理任务的调度方法及系统、设备、存储介质 |
CN115730432B (zh) * | 2022-11-09 | 2024-05-28 | 国网湖南省电力有限公司 | 物联网数据处理任务的调度方法及系统、设备、存储介质 |
CN115988075A (zh) * | 2022-12-07 | 2023-04-18 | 天翼云科技有限公司 | 一种基于人工鱼群算法的云数据迁移方法及装置 |
CN116932164A (zh) * | 2023-07-25 | 2023-10-24 | 和光舒卷(广东)数字科技有限公司 | 一种基于云平台的多任务调度方法及其系统 |
CN116932164B (zh) * | 2023-07-25 | 2024-03-29 | 和光舒卷(广东)数字科技有限公司 | 一种基于云平台的多任务调度方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mansouri et al. | Hybrid task scheduling strategy for cloud computing by modified particle swarm optimization and fuzzy theory | |
CN114741955A (zh) | 一种基于安全云的多目标优化任务调度方法 | |
Attiya et al. | An improved hybrid swarm intelligence for scheduling iot application tasks in the cloud | |
Hamad et al. | Genetic-based task scheduling algorithm in cloud computing environment | |
Yiqiu et al. | Cloud computing task scheduling algorithm based on improved genetic algorithm | |
CN112286677B (zh) | 一种面向资源受限边缘云的物联网应用优化部署方法 | |
Gao et al. | Hierarchical multi-agent optimization for resource allocation in cloud computing | |
CN113411369A (zh) | 一种云服务资源协同优化调度方法、系统、介质及设备 | |
Liu et al. | Swarm optimization algorithms applied to multi-resource fair allocation in heterogeneous cloud computing systems | |
Wei et al. | Multi-resource balance optimization for virtual machine placement in cloud data centers | |
CN110008023B (zh) | 基于遗传算法的云计算系统预算约束随机任务调度方法 | |
Xhafa | A hybrid evolutionary heuristic for job scheduling on computational grids | |
CN111176784B (zh) | 一种基于极限学习机和蚁群系统的虚拟机整合方法 | |
US20220374722A1 (en) | Intelligent ammunition co-evolution task assignment method | |
Subramoney et al. | A comparative evaluation of population-based optimization algorithms for workflow scheduling in cloud-fog environments | |
Wang et al. | An improved genetic algorithm for cost-effective data-intensive service composition | |
Singh et al. | A bio-inspired vm migration using re-initialization and decomposition based-whale optimization | |
Yang et al. | NOSCM: A novel offloading strategy for NOMA-enabled hierarchical small cell mobile-edge computing | |
Ouyang et al. | Amended harmony search algorithm with perturbation strategy for large-scale system reliability problems | |
CN104392317A (zh) | 一种基于遗传文化基因算法的项目调度方法 | |
CN112380016A (zh) | 基于改进遗传算法的云计算资源负载均衡调度方法及应用 | |
Singh | Hybrid genetic, variable neighbourhood search and particle swarm optimisation-based job scheduling for cloud computing | |
Hu et al. | A two-stage multi-objective task scheduling framework based on invasive tumor growth optimization algorithm for cloud computing | |
CN109347900B (zh) | 基于改进狼群算法的云服务系统自适应演化方法 | |
Huang et al. | A new SSO-based algorithm for the bi-objective time-constrained task scheduling problem in cloud computing services |
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 |