一种基于合同网算法的多任务动态分配方法与流程

文档序号:16879834发布日期:2019-02-15 22:01阅读:2368来源:国知局
一种基于合同网算法的多任务动态分配方法与流程

本发明涉及一种用于卫星网络系统的多任务动态分配方法,适用于建立卫星网络系统中的任务分配方式,属于卫星资源分配技术领域。



背景技术:

随着各种卫星技术快速发展和普及应用,通过卫星能够实时地直接获取和传输大量信息已经成为共识。无论是针对星上各系统的信息交互,还是天基网络中不同层次、不同轨道上多种类型的卫星互联互通,卫星都需要按照信息资源的最大有效综合利用原则,实现智能化信息获取、储存、处理和分发的能力。

卫星任务规划和资源调度技术作为卫星网络系统的关键技术,是实现智能化组网技术的核心,它根据空间环境的感知和认识以及卫星本身的能力和状态,利用计算机知识建模技术、人工智能搜索技术等,依据一段时间内的任务目标,对若干可供选择的动作及所涉及的资源约束进行推理,自动地生成一组时间上有序的活动序列。多任务动态分配技术是卫星任务规划和资源调度技术的重要组成部分,尤其是当空间环境是动态的,可能由于态势变化、突发威胁、或者是新增任务等原因,导致预先设定的任务序列无法使用。为了避免这种情况造成的任务失败,此时,需要根据当前任务空间的变化,进行动态的任务分配,完成既定的任务总目标。

随着卫星系统复杂程度不断提高,系统规模将越来越大。这就造成星上任务规划与资源调度系统中需要处理的任务数据规模越来越大,采用传统的分配方式发生分配失败的概率将越来越大。

合同网算法(contractnetprotocal)是由stanford大学的smith提出的,主要是用来解决分布式系统中节点的动态信息交互问题。由于该算法具有较强的鲁棒性和动态性,近些年也是学者们研究的热点,并逐渐应用于各个领域。合同网算法的核心思想是通过模拟市场机制中的合同交易过程来实现节点之间的协商合作,在通过追求局部最优的基础上来实现全局最优上的任务分配。



技术实现要素:

本发明的技术解决问题是:提供了一种基于合同网算法的多任务动态分配方法,实现了卫星网络系统的自主任务分配功能,提高了系统的运行效率。

本发明的技术解决方案是:

提供一种用于卫星网络系统的任务分配方法,其特征在于包括如下步骤:

(1)分布式卫星网络系统内的各卫星加载需分配的任务以及各卫星的任务完成时间及连通率,确定卫星网络系统中的单个或多个卫星作为任务管理者;

(2)任务管理者将自己不能完成的或者自己完成代价较大的任务向其它拥有执行任务能力的备选执行卫星发布任务请求;

(3)接收任务请求的卫星计算自身执行效果概率,并上传到任务管理者;

(4)任务管理者根据效果概率选择任务执行者,并将该任务执行者不再作为备选执行卫星;

(5)任务管理者向任务执行者下发任务,如果任务执行者接受该任务,则进入步骤(6),否则返回步骤(4);

(6)任务管理者向任务执行者分发任务,然后等待执行结果;

(7)执行卫星执行完任务后,将执行结果上报任务管理者,并更新任务完成时间,以及自身和其他卫星的连通率。

优选的,每个卫星都有一个数据库,包括分布式卫星网络的卫星i执行任务j的效果概率为pij(t),并实时更新。

优选的,数据库中将有能力执行任务的卫星将其初始效果概率设为1,没有能力执行任务的卫星将其初始效果概率设为0。

优选的,效果概率为pij(t)的计算方式如下:

γij(t)为t时刻卫星i执行任务j的连通率;cap为能够执行任务j的卫星的集合,x为cap中的任一卫星;rij(t)为t时刻卫星i执行任务j的执行时间的倒数;n为自然数α、β为蚁群计算常数。

优选的,rij(t)的计算方法如下:

其中,tc为任务的完成时间;td为卫星i到卫星j的通信延迟时间。

优选的,步骤(7)中更新自身和其他卫星的连通率的方法为:

γij(t+δt)=(1-ρ)γij(t)+γij(δt)

γij(δt)=q/(tc+td)

其中γij(t+δt)为更新后的连通率,δt为计算步长,γij(δt)表示执行完任务后卫星连通率增量,ρ为连通率挥发系数,q为蚁群算法中的连通率常量。

优选的,步骤(4)中任务管理者根据效果概率选择任务执行者的具体方法为:对任务请求的卫星上传的执行效果概率进行排序,选择执行效果概率最高的卫星,如果存在多个执行效果概率最高的卫星,则采用轮盘赌法选择任务执行者。

优选的,卫星网络系统中的每个卫星具备作为管理者的能力,根据任务自身属性选择管理者。

优选的,卫星网络系统中的每个卫星定期测试自身与其他卫星通讯的卫星延迟时间tc,并更新tc及pij(t)。

优选的,所述卫星网络系统中包括通信、导航及遥测卫星。

本发明与现有技术相比的有益效果是:

(1)本发明基于合同网算法提出了动态任务分配方法,相比使用直接排序任务分发和采用迭代算法收敛的方案减少了信息数据的交互,考虑了各卫星自身资源条件的限制,有利于降低通信负载和优化功率消耗;

(2)本发明提出的任务分配方法,在卫星计算资源有限的情况下进行任务的优化分配,提高了系统任务分配的鲁棒性和整个系统的运行效率。

(3)本发明基于分布式卫星网络进行任务分配,即便个别卫星出现故障,任务仍能顺利执行,系统稳定性好。

附图说明

图1为合同网的基本算法示意图;

图2为本发明应用的任务分配示意图;

图3为本发明任务分配算法流程图;

具体实施方式

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

本发明提供了一种基于合同网算法的多任务动态分配方法,实现了卫星网络系统中的任务分配,主要包括了任务分配的实现流程,以及卫星的实现算法和处理方式。执行该分配方法的装置可以为星上的星务管理单元的一个功能模块,也可以是分布式卫星。下文中统一称为卫星。

本发明提出的多任务动态分配方法,是基于合同网算法,该算法的基本流程为将任务的委派和迁移通过节点之间的“招标——投标——中标”这一市场拍卖机制实现,目的是使整个系统以较低的代价和较高的质量完成任务。采用基于合同网算法的原因为:

(1)未来卫星网络系统的发展方向为协同化、智能化,因此各卫星通常采用具备独立计算资源的模块设计,在任务分配方面形成了分布式网络结构,集中式的任务分配算法对该种结构的适应性较差;

(2)由于星上的能源和计算资源有限,直接排序任务分发和采用迭代算法收敛的方案不适用于星上处理系统的工作环境,浪费了计算资源,同时会产生较多的通信开销。

合同网的基本算法示意图如图1所示,图中示意了卫星1向其他卫星分配任务的过程,其它卫星可以采用同样的方式进行任务分配。

卫星网络系统针对大量的用户任务需求,制订任务执行计划,即在满足资源间复杂约束关系的前提下,为各类资源在时间线上制定活动序列,如载荷工作的起始时间、结束时间、载荷的动作参数、卫星的数传时间、天线的仰角等。它是多资源、多任务、多时间窗口、多目标和多约束的组合问题。

卫星网络任务规划与资源调度问题是一个多目标约束满足问题,是一个求解如何在有限的资源、有限的时间和空间等多约束条件下,能够提高工作效率,实现任务目标的问题。该问题针对不同资源类型、面向常规任务、应急任务的任务类型以及基于静态和动态的任务属性,需要建立相应的多任务动态分配方法。本发明考虑卫星网络系统中多卫星协作结构,针对上述多任务动态分配特点,设计了基于合同网算法的多任务动态分配方法,以期在较短时间内获取更合适的卫星活动序列,提高任务规划与资源调度的效率。

单个卫星对每个注册卫星的能力都有一个数据库,例如卫星i执行任务j的能力为pij(t)。有能力执行任务的卫星将其初始能力值设为1,没有能力执行任务的卫星将其初始能力值设为0。设置数据库能够让卫星将任务分配给能够胜任的承包商执行,以减少资源耗费。在合同网算法里,没有绝对的管理者,也没有绝对的承包商,它们之间是相互转化的,所以每一个有注册承包商的管理者都有性能库,而且性能库分为两部分:一部分为管理部分;另一部分为执行部分,如图2所示。

当卫星(管理者)有一个任务要进行分配时,将会有若干个执行代理可以执行,所以就引出了最优问题。为了让任务分配趋于最佳合理状态,将蚁群算法中的转移概率公式改进为所需的卫星i执行任务j的效果概率公式,如下式:

其中pij(t)表示t时刻,卫星i执行完任务j后,在所有执行卫星中的执行效果优劣概率;γ(i,j)为t时刻卫星i执行任务j的连通率值;cap为能够执行任务j的卫星的集合;rij(t)为t时刻代理i执行任务j的执行时间的倒数,即:

其中,tc为任务的完成时间;td为卫星i到卫星j的通信延迟时间,单位毫秒(ms)。依据公式(1)算出每一个执行卫星执行任务j的完成优劣的概率,概率越大,该单元完成任务j的效果就越好。

当任务完成后,会对执行任务的卫星连通率进行更新,更新的公式为:

γij(t+δt)=(1-ρ)γij(t)+γij(δt)(3)

γij(δt)=q/(tc+td)(4)

其中γij(t+δt)为(t+δt)时刻卫星i完成任务j的连通率值;γij(δt)表示完成任务的卫星连通率增量,初始时刻γij(δt)=0;ρ(0≤ρ<1)为连通率挥发系数,(1-ρ)表示连通率的残留因子;q为常量,表示蚂蚁所释放的连通率常量为q。

上文对卫星组网系统任务分配方式进行了介绍,下面将结合图3对任务分配的实现流程进行较为详细的说明。

1)算法的初始化阶段,将所有数据进行初始化,任务需求的解析过程,即对任务需求模型中各变量进行实例化的过程,主要包括初始连通率γ0,挥发系数ρ,连通率量q,卫星i到卫星j的通信延迟时间td。定期测试通信延迟,以此来更新延迟时间tc;更新卫星性能库的性能参数pij(t),管理者数据库里的注册卫星会定期上报更新其性能参数pij(t)。

2)任务管理者将自己不能完成的或者自己完成代价较大的任务向其它拥有执行任务能力的备选执行卫星发布任务请求;

3)接收任务请求的卫星对自身执行效果概率,利用公式(1)计算已选卫星的完成概率,并上传到任务管理者;

4)任务管理者对完成概率进行排序。选择执行效果概率最高的卫星,如果存在多个执行效果概率最高的卫星,利用轮转赌法在可选执行卫星中选择要执行任务的卫星,并在可选执行卫星表中去除,然后向执行卫星下发标书。

5)如果执行卫星投标则跳到6),否则返回步骤4)。

6)管理者卫星接受到投标的执行卫星分发任务,然后等待执行结果。

7)执行卫星执行完任务后,上报管理者卫星,并更新完成时间td,并按公式(3)和(4)更新连通率γij(t)。

根据以上流程即可建立各卫星的任务分配方式,并且也可以根据连通率的大小来判定执行卫星执行某一任务的效率。

本发明未详细说明部分属本领域技术人员公知常识。

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