基于多QoS约束的广域信息管理系统任务调度蚁群优化算法的制作方法

文档序号:17375254发布日期:2019-04-12 23:14阅读:345来源:国知局
基于多QoS约束的广域信息管理系统任务调度蚁群优化算法的制作方法

本发明涉及一种民航专用信息系统网络技术,尤其是针对广域信息管理系统的任务调度,可以更好地满足用户多qos需求和提高系统运行性能。



背景技术:

广域信息管理系统(systemwideinformationmanagement,swim)基本理念是通过swim最大限度地使空中交通管理的各参与方同时共享各方的最新信息,整合分布和异构信息资源,在动态的、多管理机制的虚拟组织中协调资源共享,确保空管部门、航空公司和航空机场等相关民航单位的相关信息能有效、及时地共享和交换,从而进行及时、准确地协同决策,大幅提高决策的预见性和有效性。

任务调度是swim的核心部分,由于swim环境中的资源具有分布性、异构性和自治性等特点,使swim任务调度更为复杂和困难。传统的任务调度研究都以调度的性能作为主要目标,而另一个很重要的服务质量(qualityofservice,qos)调度目标却考虑得很少,或停留在单一的qos约束上。

目前,在任务调度算法的研究方面国内外都做了很多工作,并己经产生了一些优秀的经典任务调度算法,如min-min算法、max-min算法、max-int算法、ga算法和sa算法等。这些算法都是基于最小化调度目标的思想提出的,并成为了后续研究调度算法的参考对象。但是这些算法也存在着一些不足之处,主要是对传统的分布并行调度算法进行一些改进,而均未对用户的服务质量qos问题进行考虑。

在以qos约束作为指导的任务调度算法研究中,castillo等人使用计算几何的概念来解决当服务质量被满足时资源提前预留机制中所产生的资源碎片问题,并制定了一套调度策略。liu等人提出的基于qos相识度的任务调度算法s-gtsa,在任务调度过程中,该算法虽对用户的qos需求给予了较好的满足,却没有对全部待执行任务的执行时间跨度进行较好的考虑。

随着网络技术的不断发展,在任务调度问题研究中,又出现了许多新特性,qos指标越来越受到重视。对swim中任务调度的时间跨度、安全性和可靠性等问题进行了针对性的研究后,并结合蚁群算法,提出了基于多qos约束的广域信息管理系统任务调度蚁群优化算法。



技术实现要素:

本发明所要解决的技术问题是提供基于多qos约束的广域信息管理系统任务调度蚁群优化算法,使得民航专用网络系统在完成用户提交的任务同时,更好地满足用户多维服务质量需求和提高系统运行性能。

为实现上述目的,本发明提出了一种基于多qos约束的广域信息管理系统任务调度蚁群优化算法。采用如下技术方案:

用蚁群算法来选出最佳任务调度顺序,通过计算某个任务在每个资源上的总体效用值来选择其被分配的资源,任务总是分配给总体效用值最大的资源。根据蚁群算法的基本原理,把调度者比作蚂蚁,而调度的过程等同于蚂蚁觅食的过程,因为任务调度的目标为满足所有用户的需求,即能获得最佳的总体评价,因此使用总体qos效用评价函数来更新信息素,又需要考虑到尽量使所有任务完成时间最短,所以用预期执行时间来计算启发函数。这样蚂蚁在选择下一个任务时就会倾向于信息素浓度高(总体效用评价最大),并且完成时间最小的任务。

swim任务调度研究内容就是在任务集合t中将每一个任务映射到资源集合s上,使总体效用评价e(ti,sj)最大。假设给定一个由n个任务组成的swim任务调度,基于qos约束的蚁群优化任务调度算法,包括下列步骤:

步骤1,首先初始化算法中的各个参数。算法的参数定义:设置初始时间t=0,任务个数为n,资源个数为m,蚂蚁数量为q,最大循环次数为tmax。

步骤2,令t=t+1,如果t≤tmax,首先要初始化搜索表,所有蚂蚁从初始位置开始搜索,直到所有任务都加入到搜索表中形成一个完整的路径。

步骤3,通过公式(1)计算蚂蚁从任务ti转移到任务tj的概率通过来选择下一个要调度的任务,并计算这个任务在全部资源上的效用,把能给此任务带来最大效用的资源分配到该任务上。

其中,α为信息启发式因子表示调度顺序的相对重要性,其值越大,则该蚂蚁越倾向于选择其它蚂蚁的调度顺序,β为期望启发式因子,表示蚂蚁在运动过程中启发信息在蚂蚁选择调度顺序中的受重视程度,其值越大,则蚂蚁自主选择调度顺序的可能性就越大。集合a表示蚂蚁k下一步允许选择的任务。

启发函数ηj=1/etj,etj为任务tj的预期执行时间。在最大化效用的同时还要考虑所有任务的完成时间因素,应尽量使任务的完成时间更短,因此以任务的完成时间来计算启发函数。时间越短,ηj值就越大,就越大,从而蚂蚁从任务ti转移到任务tj的期望程度也就越大。

步骤4,进行搜索表更新,将此任务加入到搜索表中。利用tabu来记录蚂蚁k当前经过的任务集合,不会重复选取已经走过的路径作为下一条路径。

步骤5,从所有蚂蚁中挑选出具有最佳调度结果的蚂蚁,保存信息,根据公式(2)更新信息素。本文使用系统总效用评价e来更新信息素τij。

τij=(1-μ)τij+μδτij(2)

其中,μ为信息残留因子,1-μ表示信息素挥发系数,为避免信息素的无限积累,μ的取值范围限定为0≤μ≤1;δτij表示本次选择路径(i,j)上的信息素增量,初始时刻δτ0=0,μδτij为减少残留的信息素,以减少其它蚂蚁的影响,确保蚂蚁有更广阔的搜索范围。

重复以上步骤直至t>tmax,算法结束。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的描述。

图1是本发明swim任务调度模型架构框图

图2是本发明蚁群优化调度算法流程图

具体实施方式

下面结合附图详细说明本发明一种基于bp神经网络广域信息管理系统可生存性评估模型方法的优选实施方式。

图1至图2出示本发明的具体实施方式:swim可生存性pdrrdr模型、基于bp神经网络swim可生存性评估模型和swim可生存性评价指标体系。

本发明包括以下步骤:

1、swim任务调度模型

swim任务调度重点考虑以下三种qos约束条件:

(1)时间:每个任务可以接受的执行时间期限。

(2)安全性:在swim节点上可以获得的安全等级。

(3)可靠性:任务可以被成功执行的概率。

swim主要由三部分组成,分别为:

(1)swim共享数据应用层(shareddataapplication,sda),实现空管、机场和航空公司等客户端发出服务订阅请求。

(2)swim公共信息管理层(commoninformationmanagement,cim),负责资源分配调度、负载均衡和节点状态监控等内容。

(3)swim公共数据传输层(commondatatransport,cdt),实现对分布的共享航空飞行等资源数据的采集。

swim中的任务调度中心能完成请求服务的任务调度、任务解析、任务分配以及建立服务虚拟机等功能。用户通过任务调度中心可以完全透明化地接入到swim资源环境中,每个任务都有自己的特点、对资源的需求也各有不同,调度中心对这些任务进行统一管理,任务调度模块通过相应的任务调度算法完成任务调度。任务解析模块能根据任务的特性得到任务的qos需求,为保证qos需求得到满足,必须分配合适的服务资源,所以任务解析模块还应具有形成期望的服务资源向量的功能。由于swim环境中各个服务节点存在异构性或分布性,分配调度模块参照物理资源向量在资源池中选取合适的资源,然后将选取的资源信息交给虚拟机模块,由其对客户提供所需的服务。

2、相关定义

在保证qos需求的基础上,采用shoukatali等人提出的预测方法,可以得到任务在每个节点上的运行时间,并给出了如下参数定义:

定义1计算资源集合s={s1,s2,s3…sm},由m个资源组成,sj表示第j个资源;

定义2任务集合t={t1,t2,t3…tn},由n个任务组成,ti表示第i个子任务;

定义3预期执行时间矩阵(expectedtimetocompute,etc);

表示任务预期执行时间,其中etij表示任务ti在资源sj上的预期执行时间;

定义4e(ti,sj)表示任务ti的qos效用评价,用来更新信息素;

定义5τij表示任务ti和任务tj之间的信息素;

定义6表示蚂蚁k从任务ti转移到任务tj的概率;

定义7ηij为任务ti转移到任务tj的启发信息;

定义8tabu为搜索表,记录蚂蚁己经经过的任务。

3、多qos约束参数

应用隶属度函数将多qos目标约束条件转换成一个单目标的约束优化问题,进而实现目标求解。下面分别详细介绍。

(1)完成时间目标公式化

完成时间是指从第一个任务开始到最后一个任务结束之间的时间。因为异构与服务器节点的状态,同一任务在不同节点上的执行时间不同,所以任务的分配会影响所有任务的总完成时间。节点上完成任务的时间可以使用该节点最后任务的完成时间公式表示:

ti=tig(5)

tig表示节点i上最后一个任务完成时间,这样可以获得节点完成任务时间集合ntg{ti}。任务的总完成时间可以使用集合ntg中最大值公式表示,即:

tim=max(ntg)(6)

实现最小化完成时间的目标优化即为使tim最小化。

(2)安全性目标公式化

安全性定义为:

n表示安全参数个数;li为第i个安全数的权重;seci=1表示第i个安全参数得到满足,否则为0。

(3)可靠性目标公式化

可靠性是指整个系统完成全部任务的成功率,根据在实现最小化完成时间目标的逻辑过程中得到,一个节点在完成全部任务过程中的成功率可以用指数率来表示,即:

那么系统所有节点完成全部任务的成功率可以表示为(假定各个任务的失败互不影响):

4、多qos约束条件求解

(1)时间评价函数表征将一个任务ti分配到资源sj上执行时,在时间性qos上获得的效用。其中,设任务ti的最迟完成时间为tmaxti,将任务ti分配到资源sj上的完成时间为t(ti,sj),λ为常数。时间评价函数为:

(2)安全性评价函数表征将一个任务ti分配到资源sj上执行时,在安全性qos上获得的效用。其中,sminti表示任务ti要求的最小安全级别,ssj表示资源sj的安全级别,smax为最高安全级别。安全性评价函数为:

(3)可靠性评价函数表征将一个任务ti分配到资源sj上执行时,在可靠性qos上获得的效用,本文考虑的是用户提出的任务执行成功率。其中,rminti为任务ti的最小成功完成概率,r(ti,sj)表示将任务ti分配给资源sj进行执行得到的可靠性。可靠性评价函数表达式为:

假设fsj为资源sj的固有失效率,t(ti,sj)为任务ti在资源sj上的执行完成时间,则有:

为便于表达,现使用总体效应评价函数e(ti,sj)作为用户的满意度的评价标准,其表达式为:

其中,三个系数为常数,分别表示总体效用评价函数中的时间评价函数、安全性评价函数和可靠性评价函数上的权值,且调度后用户总体效用评价函数为:

公式(15)通常称为线性加权总体效用评价函数,资源调度的目标就是最大化用户总效用,即e最大,此函数用于评价本文提出的调度算法完成的任务调度能否满足用户的需求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1