一种卫星网络任务部署方法和系统与流程

文档序号:23725500发布日期:2021-01-26 15:42阅读:78来源:国知局
一种卫星网络任务部署方法和系统与流程

[0001]
本发明涉及卫星部署领域,特别是涉及一种卫星网络任务部署方法和系统。


背景技术:

[0002]
第六代移动通信系统是一种将地面网络与卫星通信系统集成的通信系统。在通信覆盖方面,6g的通信场景将拓展到海陆空甚至水下空间。并且随着语音识别、智能交通、物联网等应用的快速发展,为用户提供全球随时随地的网络接入和可靠的服务支持已成为网络的发展趋势。
[0003]
6g通信时代和低轨卫星网络能够为接入用户提供通信与服务支持。卫星网络采用基于icn的通信模式,卫星节点能够实现数据的缓存和将本地缓存内容感知。采用基于sdn的网络架构以全局管控各类网络资源。
[0004]
但由于卫星网络的拓扑动态性和星上资源的有限性,这给将任务部署于卫星网络进行计算和处理带来巨大困难。


技术实现要素:

[0005]
本发明的目的是提供一种卫星网络任务部署方法和系统,以能够在有效解决将多任务部署于多颗卫星节点进行处理的决策问题前提下,降低任务的处理时延和因任务部署所带来的通信量。
[0006]
为实现上述目的,本发明提供了如下方案:
[0007]
一种卫星网络任务部署方法,包括:
[0008]
获取用户任务所需的计算量和缓存量;
[0009]
根据所述计算量构建任务处理时延模型;所述任务处理时延模型包括任务部署时延模型、任务数据传输时延模型和任务计算时延模型;
[0010]
根据所述缓存量构建通信量模型;
[0011]
根据所述任务处理时延模型和所述通信量模型确定效用函数;
[0012]
获取初始种群;所述初始种群为初始可行解集合;所述初始可行解集合包括多个个体;所述个体为任务部署矩阵;所述任务部署矩阵包括部署位置;
[0013]
根据所述效用函数确定每一所述个体的适应度,并将所述适应度最高的个体放入下一代种群;
[0014]
根据所述适应度确定每一所述个体被选中的概率;
[0015]
根据所述概率对所述个体进行交叉操作和变异操作,分别得到交叉个体和变异个体;所述变异操作为选择所述个体中的一行,将该行中值为1的元素置0,再随机选择该行中的一个元素置1;
[0016]
判断所述交叉个体是否为可用交叉个体,得到第一判断结果;可用交叉个体为交叉个体中部署位置的卫星计算量和缓存量是否大于所述用户任务所需的计算量和缓存量;
[0017]
判断所述变异个体是否为可用变异个体,得到第二判断结果;所述可用变异个体
为变异个体中部署位置的卫星计算量和缓存量是否大于所述用户任务所需的计算量和缓存量;
[0018]
若所述第一判断结果为所述交叉个体是可用交叉个体,则将该交叉个体放入下一代种群中;反之,则摒弃该交叉个体;
[0019]
若所述第二结果为所述变异个体是可用变异个体,则将该变异个体放入下一代种群中;反之,则选择新的个体,并根据所述概率对所述新的个体进行变异操作,得到新的变异个体后,返回“判断所述变异个体是否为可用变异个体,得到第二判断结果”;
[0020]
返回步骤“根据所述概率对所述个体进行交叉操作和变异操作,分别得到交叉个体和变异个体”,直至迭代次数满足预设迭代值后,输出所述下一代种群;
[0021]
根据所述效用函数确定下一代种群中每一所述个体的适应度,并输出适应度最高的个体;所述适应度最高的个体即为最优任务部署位置表;
[0022]
根据所述最优任务部署位置表完成卫星网络任务部署。
[0023]
优选的,所述根据所述计算量构建任务处理时延模型,具体包括:
[0024]
获取电磁波在真空中的传播速度和星间距离随时间的变化函数;
[0025]
根据所述电磁波在真空中的传播速度和所述星间距离随时间的变化函数确定任务部署时延模型;
[0026]
获取用户任务数据量和卫星节点间的传输速率;
[0027]
根据所述用户任务数据量和所述卫星节点间的传输速率确定任务数据传输时延模型;
[0028]
获取分配给所述用户任务的时钟频率;
[0029]
根据所述用户任务所需的计算量和所述时钟频率确定任务计算时延模型;
[0030]
根据所述任务部署时延模型、所述任务数据传输时延模型和所述任务计算时延模型构建任务处理时延模型。
[0031]
优选的,所述获取用户任务所需的计算量和缓存量之后,还包括:
[0032]
判断卫星节点的计算量和缓存量是否大于所述用户任务的计算量和缓存量;若大于,则执行步骤“根据所述计算量构建任务处理时延模型”;若不大于,则将所述用户任务分解为多个子任务,并将每一子任务作为当前用户任务执行步骤“根据所述计算量构建任务处理时延模型”。
[0033]
优选的,所述根据所述缓存量构建通信量模型,具体包括:
[0034]
获取星间转发次数;
[0035]
根据所述缓存量和所述星间转发次数确定各所述子任务的通信量;
[0036]
根据各所述子任务的通信量构建所述通信量模型。
[0037]
优选的,采用轮盘赌策略根据所述概率选择两个个体进行交叉操作,得到交叉个体;两个个体分别为第一个体和第二个体;所述交叉操作为将所述第一个体中的任意一行和所述第二个体中与所述第一个体中的所述任意一行对应的一行进行互换。
[0038]
对应于上述提供的卫星网络任务部署方法,本发明还提供了一种卫星网络任务部署系统,该卫星网络任务部署系统,包括:
[0039]
获取模块,用于获取用户任务所需的计算量和缓存量;
[0040]
任务处理时延模型构建模块,用于根据所述计算量构建任务处理时延模型;所述
任务处理时延模型包括任务部署时延模型、任务数据传输时延模型和任务计算时延模型;
[0041]
通信量模型构建模块,用于根据所述缓存量构建通信量模型;
[0042]
效用函数确定模块,用于根据所述任务处理时延模型和所述通信量模型确定效用函数;
[0043]
初始种群获取模块,用于获取初始种群;所述初始种群为初始可行解集合;所述初始可行解集合包括多个个体;所述个体为任务部署矩阵;所述任务部署矩阵包括部署位置;
[0044]
适应度确定模块,用于根据所述效用函数确定每一所述个体的适应度,并将所述适应度最高的个体放入下一代种群;
[0045]
概率确定模块,用于根据所述适应度确定每一所述个体被选中的概率;
[0046]
交叉变异操作模块,用于根据所述概率对所述个体进行交叉操作和变异操作,分别得到交叉个体和变异个体;所述变异操作为选择所述个体中的一行,将该行中值为1的元素置0,再随机选择该行中的一个元素置1;
[0047]
第一判断模块,用于判断所述交叉个体是否为可用交叉个体,得到第一判断结果;可用交叉个体为交叉个体中部署位置的卫星计算量和缓存量是否大于所述用户任务所需的计算量和缓存量;
[0048]
第二判断模块,用于判断所述变异个体是否为可用变异个体,得到第二判断结果;所述可用变异个体为变异个体中部署位置的卫星计算量和缓存量是否大于所述用户任务所需的计算量和缓存量;
[0049]
可用交叉个体确定模块,用于当所述第一判断结果为所述交叉个体是可用交叉个体时,将该交叉个体放入下一代种群中;反之,则摒弃该交叉个体;
[0050]
可用变异个体确定模块,用于当所述第二结果为所述变异个体是可用变异个体时,将该变异个体放入下一代种群中;反之,则选择新的个体,并根据所述概率对所述新的个体进行变异操作,得到新的变异个体后,返回“判断所述变异个体是否为可用变异个体,得到第二判断结果”;
[0051]
循环迭代模块,用于返回步骤“根据所述概率对所述个体进行交叉操作和变异操作,分别得到交叉个体和变异个体”,直至迭代次数满足预设迭代值后,输出所述下一代种群;
[0052]
最优任务部署位置表确定模块,用于根据所述效用函数确定下一代种群中每一所述个体的适应度,并输出适应度最高的个体;所述适应度最高的个体即为最优任务部署位置表;
[0053]
卫星网络任务部署模块,用于根据所述最优任务部署位置表完成卫星网络任务部署。
[0054]
优选的,所述任务处理时延模型构建模块具体包括:
[0055]
第一获取单元,用于获取电磁波在真空中的传播速度和星间距离随时间的变化函数;
[0056]
任务部署时延模型确定单元,用于根据所述电磁波在真空中的传播速度和所述星间距离随时间的变化函数确定任务部署时延模型;
[0057]
第二获取单元,用于获取用户任务数据量和卫星节点间的传输速率;
[0058]
任务数据传输时延模型确定单元,用于根据所述用户任务数据量和所述卫星节点
间的传输速率确定任务数据传输时延模型;
[0059]
第三获取单元,用于获取分配给所述用户任务的时钟频率;
[0060]
任务计算时延模型确定单元,用于根据所述用户任务所需的计算量和所述时钟频率确定任务计算时延模型;
[0061]
任务处理时延模型构建单元,用于根据所述任务部署时延模型、所述任务数据传输时延模型和所述任务计算时延模型构建任务处理时延模型。
[0062]
优选的,还包括:
[0063]
第三判断单元,用于判断卫星节点的计算量和缓存量是否大于所述用户任务的计算量和缓存量;若大于,则执行步骤“根据所述计算量构建任务处理时延模型”;若不大于,则将所述用户任务分解为多个子任务,并将每一子任务作为当前用户任务执行步骤“根据所述计算量构建任务处理时延模型”。
[0064]
优选的,所述通信量模型构建模块具体包括:
[0065]
第四获取单元,用于获取星间转发次数;
[0066]
通信量确定单元,用于根据所述缓存量和所述星间转发次数确定各所述子任务的通信量;
[0067]
通信量模型构建单元,用于根据各所述子任务的通信量构建所述通信量模型。
[0068]
优选的,所述交叉变异操作模块包括:
[0069]
交叉单元,用于采用轮盘赌策略根据所述概率选择两个个体进行交叉操作,得到交叉个体;两个个体分别为第一个体和第二个体;所述交叉操作为将所述第一个体中的任意一行和所述第二个体中与所述第一个体中的所述任意一行对应的一行进行互换。
[0070]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0071]
本发明提供的卫星网络任务部署方法和系统,通过构建任务处理时延模型和通信量模型确定效用函数,再根据效用函数确定个体的适应度,并将适应度最高的个体放入下一代种群后,根据适应度确定个体被选中的概率,根据概率对个体进行交叉操作和变异操作后分别得到交叉、变异个体,然后将可用交叉个体和可用变异个体放入下一代种群后,进行重复迭代完成对种群的更新,最后输出最优任务部署位置表后,根据最优任务部署位置表完成卫星网络任务部署,进而能够在有效解决将多任务部署于多颗卫星节点进行处理的决策问题前提下,降低任务的处理时延和因任务部署所带来的通信量。
附图说明
[0072]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0073]
图1为本发明提供的卫星网络任务部署方法的流程图;
[0074]
图2为本发明实施例中执行本发明提供的卫星网络任务部署方法的流程图;
[0075]
图3为本发明实施例迭代过程中效用函数变化图;
[0076]
图4为本发明实施例中卫星与地面任务处理时延对比图;
[0077]
图5为本发明实施例中效用函数的值随平衡参数的变化图;
[0078]
图6为本发明实施例中网内通信量随任务输入数据变化的关系图;
[0079]
图7为本发明提供的卫星网络任务部署系统的结构示意图。
具体实施方式
[0080]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0081]
本发明的目的是提供一种卫星网络任务部署方法和系统,以能够在有效解决将多任务部署于多颗卫星节点进行处理的决策问题前提下,降低任务的处理时延和因任务部署所带来的通信量。
[0082]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0083]
图1为本发明提供的卫星网络任务部署方法的流程图,如图1所示,一种卫星网络任务部署方法,包括:
[0084]
步骤100:获取用户任务所需的计算量和缓存量。
[0085]
步骤101:根据计算量构建任务处理时延模型。任务处理时延模型包括任务部署时延模型、任务数据传输时延模型和任务计算时延模型。该步骤,具体包括:
[0086]
获取电磁波在真空中的传播速度和星间距离随时间的变化函数。
[0087]
根据电磁波在真空中的传播速度和星间距离随时间的变化函数确定任务部署时延模型。
[0088]
获取用户任务数据量和卫星节点间的传输速率。
[0089]
根据用户任务数据量和卫星节点间的传输速率确定任务数据传输时延模型。
[0090]
获取分配给用户任务的时钟频率。
[0091]
根据用户任务所需的计算量和时钟频率确定任务计算时延模型。
[0092]
根据任务部署时延模型、任务数据传输时延模型和任务计算时延模型构建任务处理时延模型。
[0093]
步骤102:根据缓存量构建通信量模型。
[0094]
步骤103:根据任务处理时延模型和通信量模型确定效用函数。
[0095]
步骤104:获取初始种群。初始种群为初始可行解集合。初始可行解集合包括多个个体。个体为任务部署矩阵。任务部署矩阵包括部署位置。
[0096]
步骤105:根据效用函数确定每一个体的适应度,并将适应度最高的个体放入下一代种群。
[0097]
步骤106:根据适应度确定每一个体被选中的概率。
[0098]
步骤107:根据概率对个体进行交叉操作和变异操作,分别得到交叉个体和变异个体。其中,采用轮盘赌策略根据概率选择两个个体进行交叉操作,得到交叉个体。两个个体分别为第一个体和第二个体。交叉操作为将第一个体中的任意一行和第二个体中与所述第一个体中的所述任意一行对应的一行进行互换。变异操作为选择个体中的一行,将该行中值为1的元素置0,再随机选择该行中的一个元素置1。
[0099]
步骤108:判断交叉个体是否为可用交叉个体,得到第一判断结果。可用交叉个体为交叉个体中部署位置的卫星计算量和缓存量是否大于用户任务所需的计算量和缓存量。
[0100]
步骤109:判断变异个体是否为可用变异个体,得到第二判断结果。可用变异个体为变异个体中部署位置的卫星计算量和缓存量是否大于用户任务所需的计算量和缓存量。
[0101]
步骤110:若第一判断结果为交叉个体是可用交叉个体,则将该交叉个体放入下一代种群中。反之,则摒弃该交叉个体。
[0102]
步骤111:若第二结果为变异个体是可用变异个体,则将该变异个体放入下一代种群中。反之,则选择新的个体,并根据概率对新的个体进行变异操作,得到新的变异个体后,返回“判断变异个体是否为可用变异个体,得到第二判断结果”。
[0103]
步骤112:返回步骤“根据概率对个体进行交叉操作和变异操作,分别得到交叉个体和变异个体”,直至迭代次数满足预设迭代值后,输出下一代种群。
[0104]
步骤113:根据效用函数确定下一代种群中每一个体的适应度,并输出适应度最高的个体。适应度最高的个体即为最优任务部署位置表。
[0105]
步骤114:根据最优任务部署位置表完成卫星网络任务部署。
[0106]
作为本发明的以优选实施方式,为了能够提高任务部署的效率,在获取用户任务所需的计算量和缓存量之后,还可以包括以下操作:
[0107]
判断卫星节点的计算量和缓存量是否大于用户任务的计算量和缓存量。若大于,则执行步骤“根据计算量构建任务处理时延模型”。若不大于,则将用户任务分解为多个子任务,并将每一子任务作为当前用户任务执行步骤“根据计算量构建任务处理时延模型”。
[0108]
基于此,本发明中根据缓存量构建通信量模型具体可以包括以下步骤:
[0109]
获取星间转发次数。
[0110]
根据缓存量和星间转发次数确定各子任务的通信量。
[0111]
根据各子任务的通信量构建通信量模型。
[0112]
下面提供一个具体实施案例进一步说明本发明的方案,本发明具体实施案例中以基于sdn和icn的卫星网络建构为例进行阐述,在具体应用时,本发明的方案也适用于其他卫星网络建构。
[0113]
建立低轨卫星星上资源和任务部署问题的模型,采用遗传算法对卫星网络任务部署问题进行求解。本方法基于sdn(软件定义网络,software defined network)的双层卫星网络架构,以leo(近地轨道,low earth orbit)层卫星为架构中的转发层,计算任务的部署位置为由多颗低轨卫星组成的星座,基于icn(信息中心网络,information-centricnetworking)的通信模式的卫星节点具备信息感知能力,并且节点支持网内缓存,以3颗geo(地球静止轨道geostationary orbit)卫星组成的星座为sdn控制层,完成将任务部署计算和对低轨卫星的管控任务。在基于sdn的卫星网络架构下,leo卫星能够量化自身计算、缓存和通信资源,并将当前的资源状态上传至sdn控制器。
[0114]
基于该思想,执行本发明提供的卫星网络任务部署方法的具体过程如图2所示,包括:
[0115]
步骤1:leo卫星节点接收接入用户的任务请求,并将任务添加至geo任务处理队列中。
[0116]
步骤2:leo卫星将任务分解为资源量更小的子任务,geo卫星收集各个leo卫星节
点的剩余计算量、剩余缓存空间、链路状态等信息。
[0117]
步骤3:执行卫星网络任务部署方法,生成最优的任务部署位置表。
[0118]
步骤4:将geo卫星计算出的任务部署位置表发送至任务发起的leo卫星。
[0119]
步骤5:任务发起的卫星将子任务发送至任务部署卫星,任务部署节点通过基于名称的通信模式查找任务处理的所需数据。
[0120]
步骤6:部署点将子任务处理完成后回传至任务发起卫星,任务发起卫星完成结果整合。
[0121]
其中,步骤3中采用的即为本发明上述提供的卫星网络任务部署方法,其在本实施例中的具体实现过程为:
[0122]
建立低轨卫星星上资源和任务部署问题的模型,包括通信量模型和任务处理时延模型。
[0123]
1、构建通信量模型:
[0124]
采用三元组t
n
(c
n
,r
n
,g)来表示各个任务的资源消耗。其中,c
n
表示任务n所需的计算量,r
n
表示任务n所需的缓存空间容量,g表示任务分解后的关联关系。
[0125]
子任务t
n
(c
n
,r
n
,g)所需的数据需要从j个卫星节点中获取到,某一颗卫星能够提供的资源量分别为r1,r2…
r
j
,提供资源的节点到任务的部署点分别需要经过k1,k2…
k
j
次转发。
[0126]
完成单个子任务传输的通信量f
j
的公式为:
[0127][0128]
完成由n个子任务组成的任务资源传输所带来的通信量f
n
的公式为:
[0129][0130]
2、任务处理时延模型
[0131]
(1)任务部署时延模型
[0132]
通信时延的公式为:
[0133][0134]
其中,d(t)为星间距离随时间变化的函数,可由星座运行规律生成。c为电磁波在真空中的传输速度。
[0135]
单次传输的时延分别为t
d1
,t
d2

t
dn
,则单个子任务部署的时延t
b
为:
[0136]
t
b
=t
d1
+t
d2
+...+t
dn

[0137]
任务由n个子任务组成,且单个子任务的部署时延分别为t
b1
,t
b2

t
bn
,任务的部署时延为:
[0138][0139]
(2)任务数据传输时延模型
[0140]
由于将任务所需数据传输至任务部署节点需要经过多颗卫星进行转发,同时任意两颗卫星之间的通信带宽都不相同,因而需要单独进行计算。m={m1,m2...m
n
}为网络中所有卫星编号的集合,编号为m和n的卫星节点之间的传输速率为完成一次数据量为r
m
传输
的时延为:
[0141][0142]
完成每次传输所需时延分别为t1,t2…
t
n
,则转发次数为k通信时延为:
[0143]
t
k
=t1+t2+...+t
k

[0144]
由于传输是同步进行的,因而传输时延为耗时最长的子任务传输时间。假设单个子任务的转发次数分别为k1,k2…
k
n
,则传输时延为:
[0145][0146]
(3)任务计算时延模型
[0147]
f
m
为leo卫星的时钟频率,f
m
为分配给子任务的时钟频率,则完成子任务t
n
(c
n
,r
n
,g)的计算所需的时延为:
[0148][0149]
任务计算时延包括队列内等待时延和任务计算所需时延。等待时延t
w
为卫星节点完成当前计算队列内任务的时间,由卫星节点计算并上传到sdn控制节点。则计算时延为:
[0150][0151]
任务处理时延包括任务部署时延、任务所需数据传输时延和任务计算时延。任务的处理总时延表示为:
[0152][0153]
联合计算所带来的通信量和任务响应时延制定的效用函数:
[0154]
q
n
=αt
n
+βf
n

[0155]
其中,α,β∈[0,1],且α+β=1,α和β为任务处理时延和任务通信量之间的平衡关系。
[0156]
采用遗传算法对任务部署方法进行求解的过程为:
[0157]
1、编码:用m
×
n任务部署矩阵来表示个体,即问题的一个可行解。m为执行决策时能够提供计算和缓存资源的卫星个数,n表示当前任务被分解成的子任务个数。一个个体(可行解)为:
[0158][0159]
个体中的每一个元素都是0/1的二元值,表示任务编号为m的子任务部署在编号为m
a
的卫星节点上。由于每个子任务的计算量和缓存量的大小各不相同,在个体(可行解)随机生成后,需要检测部署的节点能否满足任务的计算量和缓存量的要求(位于部署点的卫星计算量和缓存量需要大于任务所需的计算量和缓存量),剔除不能满足需求的个体。
[0160]
采用集合来表示种群,设定初始种群中个体的个数为n,即一个可行解集合由n个个体组成。
[0161]
2、选择:选择是从可行解集合中挑选出可行解进行交叉操作。
[0162]
首先计算种群中所有个体的适应度,即采用适应度函数来评价个体的优劣。
[0163]
首先根据任务的种类设定平衡系数α,β的权重,该参数由人为设定。
[0164]
以效用函数作为个体的适应度标准计算每一代种群中个体的适应度,个体a的适应度函数为:
[0165][0166]
按照选中概率选择两个个体进行交叉操作。
[0167]
个体被选中的概率依据以下方法:
[0168]
为了保证每一代的适应度最高的节点能够保持到下一代,首先将每一代适应度最高的个体复制到下一代,然后依据概率p(a),采用转盘思想选择两个个体进行交叉,再将交叉后生成的个体放入下一代种群中。
[0169]
采用轮盘赌策略来表示个体被选择的概率,即适应度越高的个体被选择的概率越高,个体被选中的概率可以表示为:
[0170][0171]
3、交叉:种群中的个体用任务部署矩阵来表示,采用矩阵行互换来表示个体的交叉操作。任务部署矩阵的每一行表示单个子任务的部署位置,矩阵行互换能够产生两个新的个体。
[0172]
4、变异:在种群中以概率选择一个个体进行变异操作。设定个体发生变异的概率p=0.01,变异操作首先选中个体矩阵的一行,将该行中值为1的元素置0,再随机选择该行中任意一个元素置1。在每次发生变异后检测变异个体的可用性。即判断部署位置的计算量和缓存量能否满足要求。若变异后产生的个体可用,则将个体插入到下一代种群中,若个体不可用,则重复变异步骤继续产生新的个体,直至产生的个体可用。
[0173]
编码只生成初始可行解集合,选择、交叉、变异为迭代的循环过程。迭代完成后,输出适应度最高的可行解。
[0174]
综上,在基于sdn的卫星网络架构下,sdn控制器部署于geo卫星上。leo卫星节点能够感知本地缓存内容并将缓存更新及时上传到sdn节点。子任务所需数据通过sdn控制器来实现全局查找。sdn控制器在全局感知资源状态的基础上实现子任务的部署。
[0175]
当任务发起后,首先判断当前发起节点的资源能否满足用户任务的需要。若满足,则直接查找任务所需数据完成任务处理。若当前节点的资源不能满足用户需要,则将任务处理请求发送至geo层卫星,geo卫星结合任务分解关系和当前leo层卫星资源的基础上,执行任务部署方法,并将子任务部署于任务部署点。各个子任务部署点分别查找计算所需数据,完成任务处理。
[0176]
基于以上方案,算法实验参数设定如下:
[0177]
leo卫星的处理器的处理速度设置为1
×
103mips,地面计算中心的处理速度为1
×
108mips,星上缓存空间可用容量介于20mb至100mb之间的随机分布,设置任务的计算量介于2
×
104至6
×
104mi之间,任务的输入数据量为20至50mb之间,每个任务最大分解为5个有依赖关系的子任务。设定星间链路最大带宽为100mbps,星地上行带宽和下行带宽为
200mbps。由于除了提供边缘服务,卫星网络还需要保持正常的通信业务。因而资源实际可用率介于0至100%之间的均匀分布。设定遗传算法的种群数量为100,迭代次数为200,交叉概率为0.7,变异概率为0.01,代沟设定为0.95。
[0178]
图3表示了在随机网络状态下,运用遗传算法处理卫星网络任务部署时的算法收敛性。随着迭代次数的不断增加,效用函数的值不断减小,即个体的适应度度逐渐提高,并且在迭代100代后逐渐收敛。
[0179]
图4为卫星与地面任务处理时延对比图。测试将不同规模的任务部署分别部署于leo卫星网络和云计算中心的任务处理时延。相比于将请求任务传输到地面计算中心进行处理,将请求部署于卫星上处理能够显著降低任务的处理时延。
[0180]
图5为效用函数的值随平衡参数的变化图。根据占资源消耗主要方面的特点将任务划分为计算密集型任务和资源密集型。采用在效用函数中添加平衡参数的方法来平衡计算密集型任务和资源密集型任务二者之间的关系。图4显示了效用函数随平衡参数α的变化关系,随着参数α的不断增加,效用函数的值不断增大。增大参数α表示在任务处理中增大时延所占据的比重。这一对比体现出平衡参数效用函数的影响。增大任务的计算量会显著增大效用函数的值。
[0181]
图6表示网内通信量随任务输入数据变化的关系图。实验中设定任务计算量保持不变,改变任务处理所需数据量大小。可以看出网内的通信量随着任务输入数据量的不断增加而不断增加。在星上缓存容量能够容纳任务处理所需数据时,通信量能够保持在较低的水平。并且任务输入数据量的不断增大会显著增高网内的通信量。
[0182]
对应于上述提供的卫星网络任务部署方法,本发明还提供了一种卫星网络任务部署系统,如图7所示,该卫星网络任务部署系统,包括:
[0183]
获取模块1,用于获取用户任务所需的计算量和缓存量。
[0184]
任务处理时延模型构建模块2,用于根据计算量构建任务处理时延模型。任务处理时延模型包括任务部署时延模型、任务数据传输时延模型和任务计算时延模型。
[0185]
通信量模型构建模块3,用于根据缓存量构建通信量模型。
[0186]
效用函数确定模块4,用于根据任务处理时延模型和通信量模型确定效用函数。
[0187]
初始种群获取模块5,用于获取初始种群。初始种群为初始可行解集合。初始可行解集合包括多个个体。个体为任务部署矩阵。任务部署矩阵包括部署位置。
[0188]
适应度确定模块6,用于根据效用函数确定每一个体的适应度,并将适应度最高的个体放入下一代种群。
[0189]
概率确定模块7,用于根据适应度确定每一个体被选中的概率。
[0190]
交叉变异操作模块8,用于根据概率对个体进行交叉操作和变异操作,分别得到交叉个体和变异个体。变异操作为选择个体中的一行,将该行中值为1的元素置0,再随机选择该行中的一个元素置1。
[0191]
第一判断模块9,用于判断交叉个体是否为可用交叉个体,得到第一判断结果。可用交叉个体为交叉个体中部署位置的卫星计算量和缓存量是否大于用户任务所需的计算量和缓存量。
[0192]
第二判断模块10,用于判断变异个体是否为可用变异个体,得到第二判断结果。可用变异个体为变异个体中部署位置的卫星计算量和缓存量是否大于用户任务所需的计算
量和缓存量。
[0193]
可用交叉个体确定模块11,用于当第一判断结果为交叉个体是可用交叉个体时,将该交叉个体放入下一代种群中。反之,则摒弃该交叉个体。
[0194]
可用变异个体确定模块12,用于当第二结果为变异个体是可用变异个体时,将该变异个体放入下一代种群中。反之,则选择新的个体,并根据概率对新的个体进行变异操作,得到新的变异个体后,返回“判断变异个体是否为可用变异个体,得到第二判断结果”。
[0195]
循环迭代模块13,用于返回步骤“根据概率对个体进行交叉操作和变异操作,分别得到交叉个体和变异个体”,直至迭代次数满足预设迭代值后,输出下一代种群。
[0196]
最优任务部署位置表确定模块14,用于根据效用函数确定下一代种群中每一个体的适应度,并输出适应度最高的个体。适应度最高的个体即为最优任务部署位置表。
[0197]
卫星网络任务部署模块15,用于根据最优任务部署位置表完成卫星网络任务部署。
[0198]
作为本发明的一优选实施例,上述任务处理时延模型构建模块2具体包括:
[0199]
第一获取单元,用于获取电磁波在真空中的传播速度和星间距离随时间的变化函数。
[0200]
任务部署时延模型确定单元,用于根据电磁波在真空中的传播速度和星间距离随时间的变化函数确定任务部署时延模型。
[0201]
第二获取单元,用于获取用户任务数据量和卫星节点间的传输速率。
[0202]
任务数据传输时延模型确定单元,用于根据用户任务数据量和卫星节点间的传输速率确定任务数据传输时延模型。
[0203]
第三获取单元,用于获取分配给用户任务的时钟频率。
[0204]
任务计算时延模型确定单元,用于根据用户任务所需的计算量和时钟频率确定任务计算时延模型。
[0205]
任务处理时延模型构建单元,用于根据任务部署时延模型、任务数据传输时延模型和任务计算时延模型构建任务处理时延模型。
[0206]
作为本发明的另一优选实施例,上述卫星网络任务部署系统还包括:
[0207]
第三判断单元,用于判断卫星节点的计算量和缓存量是否大于用户任务的计算量和缓存量。若大于,则执行步骤“根据计算量构建任务处理时延模型”。若不大于,则将用户任务分解为多个子任务,并将每一子任务作为当前用户任务执行步骤“根据计算量构建任务处理时延模型”。
[0208]
作为本发明的再一优选实施例,上述通信量模型构建模块3具体包括:
[0209]
第四获取单元,用于获取星间转发次数。
[0210]
通信量确定单元,用于根据缓存量和星间转发次数确定各子任务的通信量。
[0211]
通信量模型构建单元,用于根据各子任务的通信量构建通信量模型。
[0212]
作为本发明的又一优选实施例,上述交叉变异操作模块8包括:
[0213]
交叉单元,用于采用轮盘赌策略根据概率选择两个个体进行交叉操作,得到交叉个体。两个个体分别为第一个体和第二个体。交叉操作为将第一个体中的任意一行和第二个体中与所述第一个体中的所述任意一行对应的一行进行互换。
[0214]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他
实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0215]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1