一种多任务路径确定方法、装置及网络设备与流程

文档序号:33621434发布日期:2023-03-25 12:03阅读:25来源:国知局
一种多任务路径确定方法、装置及网络设备与流程

1.本发明涉及移动通信技术领域,尤其涉及一种多任务路径确定方法、装置及网络设备。


背景技术:

2.基于软件定义网络(software defined networking,sdn)、网络功能虚拟化(network function virtualization,nfv)技术的天地融合网络可重构架构,可以进行资源管理技术的研究,达到优化资源分配,提高资源利用率的目的。目前已提出一种卫星网络虚拟化资源管理模型,命名为trs模型(其中t表示任务(task)、r表示资源(resources)、s表示服务(service))。其中,根据trs模型进行数学建模后,可以通过相应算法,对天地融合网络需要处理的任务进行计算,计算结果为一条包含一个或多个节点的路径,该路径使得任务执行的总代价尽可能最小。
3.然而,针对同时存在多个任务需要执行的场景,目前无法使得每个任务单独执行的代价达到局部最优,且无法更加充分地利用网络资源。


技术实现要素:

4.本技术实施例提供一种多任务路径确定方法、装置及网络设备,以使得在存在多个任务需要执行的场景,使得每个任务单独执行的代价达到局部最优,且更加充分地利用网络资源。
5.第一方面,本技术实施例提供了一种多任务路径确定方法,所述方法包括:
6.获取待执行的多个任务;
7.在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径,其中,所述第一路径包括至少一个所述预先确定的网络节点;
8.根据所述第一路径执行第一个任务所需的资源,确定所述预先确定的网络节点的第一剩余资源;
9.针对所述多个任务中的第i个任务,根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,并根据所述第i路径执行第i个任务所需的资源,确定所述预先确定的网络节点的第i剩余资源,其中,所述第i路径包括至少一个所述预先确定的网络节点,i取2至n中的每一个整数,n表示所述多个任务的数量。
10.可选的,所述根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,包括:
11.基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径。
12.可选的,所述基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,包括:
13.从所述预先确定的网络节点中,确定所述多个任务的起始网络节点和目的网络节
点;
14.获取所述起始网络节点至第j1个第一候选网络节点的路径,以作为第j1个第一候选路径,其中,所述第一候选网络节点包括所述预先确定的网络节点中除所述起始网络节点之外的网络节点,j1取1至m1中的每一个整数,m1表示所述第一候选网络节点的数量;
15.根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径;
16.在所述第一目标路径的末端为所述目的网络节点时,将所述第一目标路径确定为所述第i路径。
17.可选的,所述基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,还包括:在所述第一目标路径的末端的节点不是所述目的网络节点,时,获取所述第一目标路径的末端增加第j2个第二候选网络节点后形成的路径,以作为第j2个第二候选路径,其中,所述第二候选网络节点包括所述预先确定的网络节点中除所述第一目标路径上的网络节点之外的网络节点,j2取1至m2中的每一个整数,m2表示所述第二候选网络节点的数量;
18.根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的第二目标路径;
19.在所述第二目标路径的末端为所述目的网络节点时,将所述第二目标路径确定为所述第i路径。
20.可选的,所述根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径,包括:
21.根据所述第i-1剩余资源,计算执行第i个任务时每一个第一候选路径的代价增量,并作为所述第一候选路径的目标参数存储于预先建立的第一集合中;
22.获取所述第一集合中的第一最小值,并将所述第一最小值所属的第一候选路径确定为所述第一目标路径。
23.可选的,所述根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的第二目标路径,包括:
24.根据所述第i-1剩余资源,计算执行第i个任务时每一个第二候选路径的代价增量,以作为所述第二候选路径的目标参数;
25.在第二候选路径的目标参数小于所述第二候选路径关联的第一候选路径的目标参数的情况下,将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数,其中,末端节点相同的第一候选路径和第二候选路径相关联;
26.获取所述第一集合中的第二最小值,并将所述第二最小值所属的路径确定为所述第二目标路径。
27.可选的,所述根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径之前,所述方法还包括:
28.将所述起始网络节点存储于预先建立的第二集合中;
29.将所述预先确定的网络节点中除所述起始网络节点之外的网络节点,存储于预先
建立的第三集合中;
30.选择出执行第i个任务时代价增量最小的第一目标路径之后,所述方法还包括:
31.将所述第一目标路径末端的网络节点从所述第三集合中删除,并将所述第一目标路径末端的网络节点存储于所述第二集合中;
32.选择出执行第i个任务时代价增量最小的第二目标路径之后,所述方法还包括:
33.将所述第二目标路径末端的网络节点从所述第三集合中删除,并将所述第二目标路径末端的网络节点存储于所述第二集合中。
34.可选的,所述根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第一候选路径的代价增量,包括:
35.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j1个第一候选路径上的末端节点执行第i个任务时的重构代价
36.根据第一预设公式计算第j1个第一候选路径的第一参数其中,t
00
=0,t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,表示执行第i个任务时第j1个第一候选路径的时延;
37.根据第二预设公式:计算执行第i个任务时第j1个第一候选路径的代价增量其中,a、b为预先确定的权重值。
38.可选的,所述根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第二候选路径的代价增量,包括:
39.根据所述第i-1剩余资源,计算执行第i个任务时所述第一目标路径的第一代价增量;
40.根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量,以作为第j2个第二代价增量;
41.将所述第一代价增量和第j2个第二代价增量之和,确定为执行第i个任务时第j2个第二候选路径的代价增量。
42.可选的,所述根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量,包括:
43.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j2个第二候选网络节点执行第i个任务时的重构代价
44.根据第三预设公式:
45.计算第j2个第二候选路径的第二参数其中,
t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,表示执行第i个任务时所述第一目标路径的时延,表示执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的时延,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点;
46.根据第四预设公式:计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量其中,a、b为预先确定的权重值。
47.可选的,所述方法还包括:
48.计算执行第i个任务时第j1个第一候选路径的时延并作为第一候选路径的第三参数存储于预先建立的第四集合中;
49.其中,在所述将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数之后,所述方法还包括:
50.确定所述第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,以作为第一待处理路径;
51.计算执行第i个任务时所述第一待处理路径的时延,以作为所述第一待处理路径的第四参数;
52.将所述第一集合中目标参数被替换的第一候选路径,在所述第四集合中的第三参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第四参数。
53.可选的,所述方法还包括:
54.根据第四预设公式计算第j1个第一候选路径的第五参数并存储于预先建立的第五集合中,其中,t
00
=0;
55.其中,在所述将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数之后,所述方法还包括:
56.确定所述第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,以作为第一待处理路径;
57.根据第五预设公式计算所述第一待处理路径的第六参数
58.将所述第一集合中目标参数被替换的第一候选路径,在所述第五集合中的第五参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第六参数;
59.其中,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点。
60.可选的,所述在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径之前,所述方法还包括:
61.对所述多个任务进行排序。
62.第二方面,本技术实施例还提供一种多任务路径确定装置,所述装置包括:
63.任务获取模块,用于获取待执行的多个任务;
64.路径确定模块,用于在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径,其中,所述第一路径包括至少一个所述预先确定的网络节点;
65.剩余资源确定模块,用于根据所述第一路径执行第一个任务所需的资源,确定所述预先确定的网络节点的第一剩余资源;
66.所述路径确定模块,还用于在i取2至n中的每一个整数时,根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径;
67.所述剩余资源确定模块,还用于根据所述第i路径执行第i个任务所需的资源,确定所述预先确定的网络节点的第i剩余资源,其中,所述第i路径包括至少一个所述预先确定的网络节点,n表示所述多个任务的数量。
68.第三方面,本技术实施例还提供一种网络设备,包括存储器,收发机,处理器:存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于执行上述第一方面所述的多任务路径确定方法中的步骤。
69.第四方面,本技术实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述第一方面所述的多任务路径确定方法。
70.在本技术实施例中,能够获取待执行的多个任务,从而在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径,其中,第一路径包括至少一个预先确定的网络节点;进而根据第一路径执行第一个任务所需的资源,确定预先确定的网络节点的第一剩余资源;针对所述多个任务中的第i个任务,根据第i-1剩余资源,在预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,并根据第i路径执行第i个任务所需的资源,确定预先确定的网络节点的第i剩余资源,其中,第i路径包括至少一个预先确定的网络节点,i取2至n中的每一个整数,n表示多个任务的数量。
71.由此可见,本技术实施例采用贪心算法,对多个任务依次按照单任务最小代价增量的原则寻找单任务最优路径,并在每一个任务寻找到单任务最优路径后,计算网络节点的剩余资源,从而使得下一个任务根据剩余资源寻路。因此,本技术实施例,在存在多个任务需要执行的场景,可以使得每个任务单独执行的代价达到局部最优,且更加充分地利用网络资源。
附图说明
72.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
73.图1为现有技术提供的一种多任务路径确定方法的流程示意图;
74.图2为本技术实施例提供的一种多任务路径确定方法的步骤流程图;
75.图3为本技术实施例提供的多任务路径确定方法的使用场景示意图;
76.图4为本技术实施例中单任务最小代价增量路径算法的步骤流程示意图;
77.图5为本技术实施例中多任务的寻路过程示意图;
78.图6为本技术实施例中多个网络节点的连接状态示意图;
79.图7为本技术实施例中多任务寻到的路径的总代价随多任务的总资源需求量的变化情况示意图;
80.图8为本技术实施例提供的多路径确定装置的结构框图;
81.图9为本技术实施例提供的电子设备的结构框图。
具体实施方式
82.本技术实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
83.本技术实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
84.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
85.本技术实施例提供了一种多任务路径确定方法、装置及网络设备,以使得在存在多个任务需要执行的场景,使得每个任务单独执行的代价达到局部最优,且更加充分地利用卫星资源。
86.其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
87.此外,本技术实施例提供的技术方案可以适用于多种系统,尤其是5g系统。例如适用的系统可以是全球移动通讯(global system of mobile communication,gsm)系统、码分多址(code division multiple access,cdma)系统、宽带码分多址(wideband code division multiple access,wcdma)通用分组无线业务(general packet radio service,gprs)系统、长期演进(long term evolution,lte)系统、lte频分双工(frequency division duplex,fdd)系统、lte时分双工(time division duplex,tdd)系统、高级长期演进(long term evolution advanced,lte-a)系统、通用移动系统(universal mobile telecommunication system,umts)、全球互联微波接入(worldwide interoperability for microwave access,wimax)系统、5g新空口(new radio,nr)系统、天地一体化信息网络等。这多种系统中均包括终端设备和网络设备。系统中还可以包括核心网部分,例如演进的分组系统(evloved packet system,eps)、5g系统(5gs)等。
88.本技术实施例涉及的终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备等。在不同的系统中,终端设备的名称可能也不相同,例如在5g系统中,终端设备可以称为用户设备(user equipment,ue)。无线终端设备可以经无线接入网(radio access network,ran)与一个或多个核心网(core network,cn)进行通信,无线终端设备可以是移动终端设备,如移动电话(或称为“蜂窝”电话)和具有移动终端设备的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(personal communication service,pcs)电话、无绳电话、会话发起协议(session initiated protocol,sip)话机、无线本地环路(wireless local loop,wll)站、
个人数字助理(personal digital assistant,pda)等设备。无线终端设备也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、接入点(access point)、远程终端设备(remote terminal)、接入终端设备(access terminal)、用户终端设备(user terminal)、用户代理(user agent)、用户装置(user device),本技术实施例中并不限定。
89.本技术实施例涉及的网络设备,可以是基站,该基站可以包括多个为终端提供服务的小区。根据具体应用场合不同,基站又可以称为接入点,或者可以是接入网中在空中接口上通过一个或多个扇区与无线终端设备通信的设备,或者其它名称。网络设备可用于将收到的空中帧与网际协议(internet protocol,ip)分组进行相互更换,作为无线终端设备与接入网的其余部分之间的路由器,其中接入网的其余部分可包括网际协议(ip)通信网络。网络设备还可协调对空中接口的属性管理。例如,本技术实施例涉及的网络设备可以是全球移动通信系统(global system for mobile communications,gsm)或码分多址接入(code division multiple access,cdma)中的网络设备(base transceiver station,bts),也可以是带宽码分多址接入(wide-band code division multiple access,wcdma)中的网络设备(nodeb),还可以是长期演进(long term evolution,lte)系统中的演进型网络设备(evolutional node b,enb或e-nodeb)、5g网络架构(next generation system)中的5g基站(gnb),也可以是家庭演进基站(home evolved node b,henb)、中继节点(relay node)、家庭基站(femto)、微微基站(pico)等,本技术实施例中并不限定。在一些网络结构中,网络设备可以包括集中单元(centralized unit,cu)节点和分布单元(distributed unit,du)节点,集中单元和分布单元也可以地理上分开布置。
90.网络设备与终端设备之间可以各自使用一或多根天线进行多输入多输出(multi input multi output,mimo)传输,mimo传输可以是单用户mimo(single user mimo,su-mimo)或多用户mimo(multiple user mimo,mu-mimo)。根据根天线组合的形态和数量,mimo传输可以是2d-mimo、3d-mimo、fd-mimo或massive-mimo,也可以是分集传输或预编码传输或波束赋形传输等。
91.其中,为了便于理解本技术实施例提供的多任务路径确定方法,首先对现有技术的相关技术进行如下说明:
92.基于sdn、nfv技术的天地融合网络可重构架构,为网络资源管理技术的研究提供了基础。trs模型是一种天地融合网络中的虚拟化资源管理模型,通过对任务、资源、服务的统一表征,建立了一种资源管理的图论模型。其中,通过目标函数,图论模型可以进一步转化为具体的数学模型。因此,trs模型与可重构网络架构是密不可分的,可以说,没有可重构网络架构,trs模型便无法建立。
93.其中,trs模型的目标是在通信的起点和终点之间,为每个任务选择一条包含一颗或多颗卫星节点的路径,路径中的每个卫星节点,其计算资源和存储资源等星上处理资源,均可满足任务的需求。若卫星节点具有的资源不满足任务需求,则可通过资源重构的方式,进行资源之间的相互转化。
94.具体的,资源重构转化,并不是指实际意义上的资源互换。其中,计算和通信本质上都是算力,针对具体任务的实现,可以通过不同资源之间的优化分配,达到满足任务需求的目的。
95.trs模型中的目标函数用minp=min(a*td+b*p
rec
)表示。其中,p表示任务执行时的总代价,资源管理的目标是使得p最小;td表示同时执行的多个任务中的最大时延,td=max(t
1d
,t
2d
,t
3d
,

),t
id
表示第i个子任务从开始到结束的时延。p
rec
表示任务执行过程中,各颗卫星的重构代价之和,即p
rec
=∑ip
i_rec
。当第i颗卫星需要通过资源重构满足任务需求时,产生相应的重构代价p
i_rec
,其中,p
i_rec
=βi*δri,βi表示卫星i的重构代价系数,δri表示卫星i进行资源重构时的资源转换量,a、b为时延代价、重构代价的权值,满足a+b=1。
96.如图1所示,现有技术中提供的一种多任务路径确定方法如下步骤一至六所述:
97.步骤一:多个任务组成集合l,即将复杂任务分解为多个子任务集合l={l1,l2,

,lk}其中任务个数为k,从任务源节点出发,接下来执行步骤二;
98.步骤二:确认任务源节点t和服务终节点s,并且定义两个集合,分别为集合v和u,表示搜索过的卫星节点和执行任务的卫星节点集合,初始时v只包含起始卫星,u起始为空,记u中节点个数为x。
99.步骤三:从集合v中卫星开始逐步搜索它直接连通的卫星,并加入集合v,若p
t(l1)
≤p
rh
,且x《k则将该卫星加入集合u,若x》k则将执行步骤四,若p
t(l1)
≥p
rh
,则执行步骤五后,继续执行步骤四,其中p
t(l1)
表示第l1个子任务需求的能力,p
rh
表示第h个卫星的执行能力;
100.步骤四:判断集合u中任一节点的代价值是否大于该节点(即卫星h)执行任务的代价值,若是,则将该节点替换出集合u中代价值最高的节点,若否,则继续搜索该资源池内节点,若是搜索完毕,执行步骤六,否则转到步骤三。
101.步骤五:若任务需求能力p
t(l1)
》p
rh
,且p
t(l1)
《p
total
(p
total
表示可重构资源的整体能力评估系数),则表示该卫星资源可以通过调整资源结构使其能够为任务服务,所需调整资源能力权值为δp=(p
t(l1)-p
rh
),调整之后计算其相应的任务代价值;若p
t(l1)
》p
total
,则表示该卫星资源能力不足以为任务服务,待执行完该步骤后返回步骤三。
102.步骤六:判断v中节点个数x是否等于元任务个数为k,若是则计算集合u内资源聚合的代价值,集合u即为执行该任务的资源聚合流;若不是则表示任务执行失败。
103.如图2所示,图2示出了本技术实施例提供的一种多任务路径确定方法的流程示意图,可以包括如下步骤201至204:
104.步骤201:获取待执行的多个任务。
105.其中,需要说明的是本技术实施例中所述的多个任务包括可以并行执行的多个任务。因此,在本技术的实施例中,虽然在确定多任务的执行路径时,是按照一定的顺序先后寻找单任务最优路径,但在实际的数据通信过程中,所有的任务是同时被执行的。
106.可选的,步骤201之前,所述方法还包括:
107.对所述多个任务进行排序。
108.例如可以根据多个任务的资源需求量从小到大或者从大到小进行排序。
109.步骤202:在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径。
110.其中,所述第一路径包括至少一个所述预先确定的网络节点。
111.另外,所述预先确定的网络节点包括预先确定的预设范围区域内的网络节点。例如预先确定某个空间区域内的卫星节点可以使用,则这些卫星节点可以作为步骤202中所述的网络节点,即这些卫星节点可以用于执行前述步骤201所述的多个任务。
112.此外,在一个网络节点的可用资源量小于执行某个任务的资源需求量时,可以通过资源重构的方式,对该网络节点的资源进行资源之间的相互转化,例如该网络节点的可用存储资源较多,但可用计算资源较少时,可以将其中一部分可用存储资源转化为计算资源,以满足执行该任务的资源需求。
113.还需要说明的是,本技术实施例中,一个路径的代价增量包括资源重构代价增量和时延代价增量。并且,可以预先确定资源重构代价增量的权重a,以及时延代价增量的权重b,以使用资源重构代价增量值乘以a,加上时延代价增量值乘以b,从而得到总的代价增量(即得到该路径的代价增量),其中,a+b=1。
114.步骤203:根据所述第一路径执行第一个任务所需的资源,确定所述预先确定的网络节点的第一剩余资源。
115.其中,所述第一剩余资源包括预先确定的网络节点中除第一路径上的网络节点之外的网络节点的可用资源,以及第一路径上的网络节点执行第一个任务之后剩余的可用资源。
116.步骤204:针对所述多个任务中的第i个任务,根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,并根据所述第i路径执行第i个任务所需的资源,确定所述预先确定的网络节点的第i剩余资源。
117.其中,所述第i路径包括至少一个所述预先确定的网络节点,i取2至n中的每一个整数,n表示所述多个任务的数量。
118.例如n=3,则步骤204具体包括:
119.根据第一剩余资源,在预先确定的网络节点中,确定执行第二个任务时代价增量最小的第二路径;
120.根据第二路径执行第二个任务所需的资源,确定预先确定的网络节点的第二剩余资源;
121.根据第二剩余资源,在预先确定的网络节点中,确定执行第三个任务时代价增量最小的第三路径;
122.根据第三路径执行第三个任务所需的资源,确定预先确定的网络节点的第三剩余资源。
123.由此可知,在本技术的实施例中,在每一个任务寻找到单任务最优路径后,计算网络节点的剩余资源,从而使得下一个任务根据剩余资源寻路。
124.另外,在本技术实施例中,每个任务可能经过相同的路径,也可能经过不同的路径,即一个网络节点可能需要同时处理多个任务,也可能仅处理一个任务。
125.此外,确定出执行每一个任务时代价增量最小的路径,则可以计算所有任务同时处理时的总代价,该总代价即为所有任务的代价增量之和。
126.由上述步骤201至204可知,本技术的实施例采用贪心算法,对多个任务依次按照单任务最小代价增量的原则寻找单任务最优路径,并在每一个任务寻找到单任务最优路径后,计算卫星的剩余资源,从而使得下一个任务根据剩余资源寻路。因此,本技术实施例,在存在多个任务需要执行的场景,可以使得每个任务单独执行的代价达到局部最优,且更加充分地利用卫星资源。
127.可选的,根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务
时代价增量最小的第i路径,包括:
128.基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径。
129.同理前述步骤202也可以具体包括:基于迪杰斯特拉算法,在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径。
130.其中,迪杰斯特拉(dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。因此,在本技术实施例中,寻找单任务最小代价增量路径的过程基于dijkstra算法实现,因此,寻找到的每一个任务的路径在理论上的代价增量是最优的。
131.可选的,基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,包括:
132.从所述预先确定的网络节点中,确定所述多个任务的起始网络节点和目的网络节点;
133.获取所述起始网络节点至第j1个第一候选网络节点的路径,以作为第j1个第一候选路径,其中,所述第一候选网络节点包括所述预先确定的网络节点中除所述起始网络节点之外的网络节点,j1取1至m1中的每一个整数,m1表示所述第一候选网络节点的数量;
134.根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径;
135.在所述第一目标路径的末端为所述目的网络节点时,将所述第一目标路径确定为所述第i路径。
136.可选的,所述基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,还包括:
137.在所述第一目标路径的末端的节点不是所述目的网络节点时,获取所述第一目标路径的末端增加第j2个第二候选网络节点后形成的路径,以作为第j2个第二候选路径,其中,所述第二候选网络节点包括所述预先确定的网络节点中除所述第一目标路径上的网络节点之外的网络节点,j2取1至m2中的每一个整数,m2表示所述第二候选网络节点的数量;
138.根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的第二目标路径;
139.在所述第二目标路径的末端为所述目的网络节点时,将所述第二目标路径确定为所述第i路径。
140.其中,可选的,所述基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,还包括:
141.在所述第二目标路径的末端的节点不是所述目的网络节点时,获取所述第二目标路径的末端增加第j3个第三候选网络节点后形成的路径,以作为第三候选路径,其中,所述第三候选网络节点包括所述预先确定的网络节点中除所述第二目标路径上的网络节点之外的网络节点,j3取1至m3中的每一个整数,m3表示所述第三候选网络节点的数量;
142.从所述第三候选路径、所述第一候选路径和所述第二候选路径中除所述第一目标路径和所述第二目标路径之外的路径中,选择执行第i个任务时代价增量最小的第三目标路径。
143.针对基于迪杰斯特拉算法,确定执行某个任务时代价增量最小的路径的过程,采用如下目标示例进行如下说明:
144.当前存在需要执行的三个任务,分别为第一个任务、第二个任务和第三个任务,且这些任务的起始网络节点为节点0,目的网络节点为节点10,预先确定的网络节点包括节点0至节点10,则确定执行第一个任务时代价增量最小的第一路径的过程如下所述:
145.首先,任务的起始网络节点为节点0,则可以将节点0分别与节点1至10组成10个第一候选路径,即节点0-节点1、节点0-节点2、节点0-节点3、节点0-节点4,节点0-节点5、节点0-节点6、节点0-节点7,节点0-节点8、节点0-节点9、节点0-节点10,从而可以从这些第一候选路径中,选出执行第一个任务时代价增量最小的第一目标路径;
146.例如选出的第一目标路径为:节点0-节点3,该第一目标路径的末端节点并不是目的网络节点(即节点10),则可以在第一目标路径的基础上,分别增加节点1、2、4-10,得到9个第二候选路径,即节点0-节点3-节点1、节点0-节点3-节点2、节点0-节点3-节点4、节点0-节点3-节点5、节点0-节点3-节点6、节点0-节点3-节点7、节点0-节点3-节点8、节点0-节点3-节点9、节点0-节点3-节点10,从而可以从这些第二候选路径,以及前述除第一目标路径之外的第一候选路径(即节点0-节点1、节点0-节点2、节点0-节点4,节点0-节点5、节点0-节点6、节点0-节点7,节点0-节点8、节点0-节点9、节点0-节点10)中,选出执行第一个任务时代价增量最小的第二目标路径;
147.例如选出的第二目标路径为:节点0-节点3-节点2,该第二目标路径的末端节点并不是目的网络节点(即节点10),则可以在第二目标路径的基础上,分别增加节点1、4-10,得到8个第三候选路径,即节点0-节点3-节点2-节点1、节点0-节点3-节点2-节点4、节点0-节点3-节点2-节点5、节点0-节点3-节点2-节点6、节点0-节点3-节点2-节点7、节点0-节点3-节点2-节点8、节点0-节点3-节点2-节点9、节点0-节点3-节点2-节点10,从而可以从这些第三候选路径,以及前述除第一目标路径之外的第一候选路径,以及除第二目标路径之外的第一候选路径中,选出执行第一个任务时代价增量最小的第三目标路径;
148.直到找到执行第一个任务时代价增量最小的路径的末端节点为节点10时,此时寻找到的路径即为用于执行第一个任务的第一路径。
149.同理,针对前述第二个任务和第三个任务,确定代价增量最小的路径的方法,可参照前述寻找执行第一个任务的第一路径的过程,此处不再赘述。不同之处在于,第二个任务和第三个任务寻路时,需要考虑网络节点执行前面的任务之后的剩余资源。
150.可选的,根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径,包括:
151.根据所述第i-1剩余资源,计算执行第i个任务时每一个第一候选路径的代价增量,并作为所述第一候选路径的目标参数存储于预先建立的第一集合中;
152.获取所述第一集合中的第一最小值,并将所述第一最小值所属的第一候选路径确定为所述第一目标路径。
153.例如前述目标示例中,第一候选路径包括节点0-节点1、节点0-节点2、节点0-节点3、节点0-节点4,节点0-节点5、节点0-节点6、节点0-节点7,节点0-节点8、节点0-节点9、节点0-节点10,这10个路径,则可以分别计算执行第一个任务时每一个第一候选路径的代价增量,并存储于第一集合中,例如该第一集合为{δp
01
、δp
02
、δp
03
、δp
04
、δp
05
、δp
06
、δ
p
07
、δp
08
、δp
09
、δp
010
},例如第一集合中的最小值为δp
03
,则选出的第一目标路径为:节点0-节点3。其中,δp
01
、δp
02
、δp
03
、δp
04
、δp
05
、δp
06
、δp
07
、δp
08
、δp
09
、δp
010
分别表示执行第一个任务时第1至9个第一候选路径的代价增量。
154.可选的,根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的第二目标路径,包括:
155.根据所述第i-1剩余资源,计算执行第i个任务时每一个第二候选路径的代价增量,以作为所述第二候选路径的目标参数;
156.在第二候选路径的目标参数小于所述第二候选路径关联的第一候选路径的目标参数的情况下,将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数,其中,末端节点相同的第一候选路径和第二候选路径相关联;
157.获取所述第一集合中的第二最小值,并将所述第二最小值所属的路径确定为所述第二目标路径。
158.例如前述目标示例中,第二候选路径包括即节点0-节点3-节点1、节点0-节点3-节点2、节点0-节点3-节点4、节点0-节点3-节点5、节点0-节点3-节点6、节点0-节点3-节点7、节点0-节点3-节点8、节点0-节点3-节点9、节点0-节点3-节点10,这9个路径,则可以分别计算执行第一个任务时每一个第二候选路径的代价增量,例如这9个第二候选路径的代价增量分别为:
159.δp
03
+δp
31
、δp
03
+δp
32
、δp
03
+δp
34
、δp
03
+δp
35
、δp
03
+δp
36
、δp
03
+δp
37
、δp
03
+δp
38
、δp
03
+δp
39
、δp
03
+δp
310

160.其中,节点0-节点3-节点1这一第二候选路径,与节点0-节点1这一第一候选路径相关联,因此,需要对比δp
03
+δp
31
与δp
01
的大小,若δp
03
+δp
31
小于δp
01
,则需要将前述第一集合中的δp
01
替换为δp
03
+δp
31

161.节点0-节点3-节点2这一第二候选路径,与节点0-节点2这一第一候选路径相关联,因此,需要对比δp
03
+δp
32
与δp
02
的大小,若δp
03
+δp
32
小于δp
02
,则需要将前述第一集合中的δp
02
替换为δp
03
+δp
32

162.同理,需要对比δp
03
+δp
34
与δp
04
的大小,δp
03
+δp
35
与δp
05
的大小,δp
03
+δp
36
与δp
06
的大小,δp
03
+δp
37
与δp
07
的大小,δp
03
+δp
38
与δp
08
的大小,δp
03
+δp
39
与δp
09
的大小,δp
03
+δp
310
与δp
010
的大小,从而用较小者替换前述第一集合中的较大者。
163.经过对前述第二候选路径的目标参数与其相关联的第一候选路径的目标参数的对比,对前述第一集合进行更新之后,例如更新后的第一集合为{δp
03
+δp
31
、δp
03
+δp
32
、δp
03
、δp
04
、δp
05
、δp
06
、δp
07
、δp
08
、δp
09
、δp
010
},例如此时第一集合中的最小值为δp
03
+δp
32
,则选出的第二目标路径为:节点0-节点3-节点2。
164.其中,通过将相关联的第二候选路径与第一候选路径的目标参数进行对比,来更新第一集合,然后从更新后的第一集合中选择第二目标路径的方式,可以减少选择第二目标路径的过程中的数值对比过程,从而提升寻路速度。
165.同理,可选的,从所述第三候选路径、所述第一候选路径和所述第二候选路径中除所述第一目标路径和所述第二目标路径之外的路径中,选择执行第i个任务时代价增量最
小的第三目标路径,包括:
166.根据所述第i-1剩余资源,计算每一个所述第三候选路径执行第i个任务时的代价增量,以作为所述第三候选路径的目标参数;
167.在所述第三候选路径的目标参数,小于所述第三候选路径关联的所述第一候选路径的目标参数的情况下,将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的所述第三候选路径的目标参数;
168.在所述第三候选路径的目标参数,小于所述第三候选路径关联的所述第二候选路径的目标参数的情况下,将所述第一集合中,所述第二候选路径的目标参数替换为与所述第二候选路径关联的所述第三候选路径的目标参数;
169.其中,末端节点相同的第一候选路径和第二候选路径相关联;
170.获取所述第一集合中的第二最小值,并将所述第二最小值所属的路径确定为所述第三目标路径;
171.其中,末端节点相同的第一候选路径和第三候选路径相关联,末端相同的第二候选路径和第三候选节点相关联。
172.例如前述目标示例中,第三候选路径包括即节点0-节点3-节点2-节点1、节点0-节点3-节点2-节点4、节点0-节点3-节点2-节点5、节点0-节点3-节点2-节点6、节点0-节点3-节点2-节点7、节点0-节点3-节点2-节点8、节点0-节点3-节点2-节点9、节点0-节点3-节点2-节点10,这8个路径,则可以分别计算执行第一个任务时每一个第三候选路径的代价增量,例如这8个第三候选路径的代价增量分别为:
173.δp
03
+δp
32
+δp
21
、δp
03
+δp
32
+δp
24
、δp
03
+δp
32
+δp
25
、δp
03
+δp
32
+δp
26
、δp
03
+δp
32
+δp
27
、δp
03
+δp
32
+δp
28
、δp
03
+δp
32
+δp
29
、δp
03
+δp
32
+δp
210

174.其中,如前述所述,得到第一目标路径之后,对第一集合更新后为:{δp
03
+δp
31
、δp
03
+δp
32
、δp
03
、δp
04
、δp
05
、δp
06
、δp
07
、δp
08
、δp
09
、δp
010
};
175.并且,节点0-节点3-节点2-节点1这一第三候选路径,与节点0-节点3-节点1这一第二候选路径相关联,因此,需要对比δp
03
+δp
32
+δp
21
与δp
03
+δp
31
的大小,若δp
03
+δp
32
+δp
21
小于δp
03
+δp
31
,则需要将前述第一集合中的δp
03
+δp
31
替换为δp
03
+δp
32
+δp
21

176.节点0-节点3-节点2-节点4这一第三候选路径,与节点0-节点4这一第一候选路径相关联,因此,需要对比δp
03
+δp
32
+δp
24
与δp
04
的大小,若δp
03
+δp
32
+δp
24
小于δp
04
,则需要将前述第一集合中的δp
03
+δp
32
+δp
24
替换为δp
04

177.同理,需要对比δp
03
+δp
32
+δp
25
与δp
05
的大小,δp
03
+δp
32
+δp
26
与δp
06
的大小,δp
03
+δp
32
+δp
27
与δp
07
的大小,δp
03
+δp
32
+δp
28
与δp
08
的大小,δp
03
+δp
32
+δp
29
与δp
09
的大小,δp
03
+δp
32
+δp
210
与δp
010
的大小,从而用较小者替换前述更新后的第一集合中的较大者,实现对第一集合的第二次更新。
178.例如第二次更新后的第一集合为{δp
03
+δp
32
+δp
21
、δp
03
+δp
32
、δp
03
、δp
03
+δp
32
+δp
24
、δp
05
、δp
06
、δp
07
、δp
08
、δp
09
、δp
010
},例如此时第一集合中的最小值为δp
03
+δp
32
+δp
24
,则选出的第三目标路径为:节点0-节点3-节点2-节点4。
179.可选的,根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径之前,所述方法还包括:
180.将所述起始网络节点存储于预先建立的第二集合中;
181.将所述预先确定的网络节点中除所述起始网络节点之外的网络节点,存储于预先建立的第三集合中;
182.选择出执行第i个任务时代价增量最小的第一目标路径之后,所述方法还包括:
183.将所述第一目标路径末端的网络节点从所述第三集合中删除,并将所述第一目标路径末端的网络节点存储于所述第二集合中;
184.选择出执行第i个任务时代价增量最小的第二目标路径之后,所述方法还包括:
185.将所述第二目标路径末端的网络节点从所述第三集合中删除,并将所述第二目标路径末端的网络节点存储于所述第二集合中。
186.例如前述目标示例中,第三集合初始为{节点1、节点2、节点3、节点4、节点5、节点6、节点7、节点8、节点9、节点10},第二集合初始为{节点0},则在选出节点0-节点3为第一目标路径之后,第三集合更新为{节点1、节点2、节点4、节点5、节点6、节点7、节点8、节点9、节点10},第二集合更新为{节点0、节点3};在选出节点0-节点3-节点2为第二目标路径之后,第三集合更新为{节点1、节点4、节点5、节点6、节点7、节点8、节点9、节点10},第二集合更新为{节点0、节点3、节点2}。
187.可选的,根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第一候选路径的代价增量,包括:
188.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j1个第一候选路径上的末端节点执行第i个任务时的重构代价
189.根据第一预设公式计算第j1个第一候选路径的第一参数其中,t
00
=0,t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,表示执行第i个任务时第j1个第一候选路径的时延;
190.根据第二预设公式:计算执行第i个任务时第j1个第一候选路径的代价增量其中,a、b为预先确定的权重值。
191.其中,前述表示之前已寻路的i-1个任务在各自路径上的时延上限和本转发路径中上一个节点(即起始网络节点)经过的时延(即t
00
)中的最大值。另外,上述第一参数表示第一候选路径的时延代价增量。
192.此处需要说明的是,当一个网络节点不需要资源重构就可以满足第i个任务的资源需求时,其重构代价为0;当一个网络节点即使重构资源,也无法满足第i个任务的资源需求(即无法执行第i个任务)时,其重构代价为正无穷。其中,某个网络节点是否可以满足任务的资源需求,需要根据网络节点当前剩余的资源和任务需求的资源进行比较。
193.例如在前述目标示例中,起始网络节点为节点0,第一个第一候选路径为节点0-节点1,则计算执行第i个任务时,第一个第一候选路径的代价增量的过程如下所述:
194.首先,根据节点1的剩余资源,以及执行第i个任务所需的资源,确定节点1执行第i个任务时的重构代价p
1_rec

195.其次,计算之前已寻路的i-1个任务在各自路径上的时延上限和本转发路径中上一个节点(即起始网络节点)经过的时延(即t
00
)中的最大值t

d01
=max(t
1d
,t
2d
,

,t
(i-1)d
,t
00
);
196.再次,比较t

d01
和t
01
,从而得到节点0-节点1的时延代价增量δt
01
,即
197.最后,可以计算执行第i个任务时,第一个第一候选路径(即节点0-节点1)的代价增量:δp
01
=a*δt
01
+b*p
1_rec

198.可选的,根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第二候选路径的代价增量,包括:
199.根据所述第i-1剩余资源,计算执行第i个任务时所述第一目标路径的第一代价增量;
200.根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量,以作为第j2个第二代价增量;
201.将所述第一代价增量和第j2个第二代价增量之和,确定为执行第i个任务时第j2个第二候选路径的代价增量。
202.此处需要说明的是,第一目标路径是从第一候选路径中选出的,因此,执行第i个任务时第一目标路径的代价增量的计算过程,与前述“执行第i个任务时第一候选路径的代价增量的计算过程”相同,此处不再赘述。
203.其中,在第一目标路径的基础上增加一个第二候选网络节点,得到一个第二候选路径,因此,执行第i个任务时第二候选路径的代价增量=执行第i个任务时第一目标路径的代价增量+第一目标路径的末端节点至第二候选路径的末端节点(即第二候选网络节点)的代价增量。
204.例如在前述目标示例中,起始网络节点为节点0,第一个第二候选路径为节点0-节点3-节点1,则计算执行第i个任务时,第一个第二候选路径的代价增量为δp
03
+δp
31
。其中,δp
03
为与执行第i个任务时第一目标路径的代价增量,δp
31
表示执行第i个任务时节点3至节点1的代价增量。
205.可选的,根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量,包括:
206.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j2个第二候选网络节点执行第i个任务时的重构代价
207.根据第三预设公式:
208.计算第j2个第二候选路径的第二参数其中,t
(i-1)d
表示执行第i-1个任务时第i-1路径的
时延,表示执行第i个任务时所述第一目标路径的时延,表示执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的时延,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点;
209.根据第四预设公式:计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量其中,a、b为预先确定的权重值。
210.例如计算执行第i个任务时节点3至节点1的代价增量的过程如下所述:
211.首先,根据节点1的剩余资源,以及执行第i个任务所需的资源,确定节点1执行第i个任务时的重构代价p
1_rec

212.其次,计算之前已寻路的i-1个任务在各自路径上的时延上限和本转发路径中上一个节点(即节点3)经过的时延(即t
03
)中的最大值t

d31
=max(t
1d
,t
2d
,

,t
(i-1)d
,t
03
);
213.再次,比较t

d31
和t
03
+e
31
,从而得到节点3-节点1的时延代价增量δt
31
,即
214.最后,可以计算执行第i个任务时节点3至节点1的代价增量:δp
31
=a*δt
31
+b*p
1_rec

215.可选的,所述方法还包括:
216.计算执行第i个任务时第j1个第一候选路径的时延并作为第一候选路径的第三参数存储于预先建立的第四集合中;
217.其中,在所述将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数之后,所述方法还包括:
218.确定所述第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,以作为第一待处理路径;
219.计算执行第i个任务时所述第一待处理路径的时延,以作为所述第一待处理路径的第四参数;
220.将所述第一集合中目标参数被替换的第一候选路径,在所述第四集合中的第三参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第四参数。
221.此处需要说明的是,第一待处理路径是第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,因此,第一待处理路径本质上是第二候选路径,而本技术实施例中,末端节点相同的第一候选路径和第二候选路径相关联,因此,第一待处理路径与第一候选路径之间也存储关联性。
222.例如前述目标示例中,第一候选路径包括:节点0-节点1、节点0-节点2、节点0-节点3、节点0-节点4,节点0-节点5、节点0-节点6、节点0-节点7,节点0-节点8、节点0-节点9、节点0-节点10,这10个路径,则可以将这10个路径执行第i个任务时的时延存储于第四集合中,例如第四集合为{t
01
、t
02
、t
03
、t
04
、t
05
、t
06
、t
07
、t
08
、t
09
、t
010
};
223.其中,前述第一集合中目标参数被替换的第一候选路径若为:节点0-节点1、节点0-节点2,则可以计算这两个第一候选路径关联的第二候选路径执行第i任务时的时延,即
计算节点0-节点3-节点1、节点0-节点3-节点2这两个路径执行第i任务时的时延:t
03
+t
31
、t
03
+t
32
,并将前述第四集合中的t
01
替换为t
03
+t
31
,将t
02
替换为t
03
+t
32
,因此,得到更新后的第四集合为:
224.{t
03
+t
31
、t
03
+t
32
、t
03
、t
04
、t
05
、t
06
、t
07
、t
08
、t
09
、t
010
}。
225.可选的,所述方法还包括:
226.在j1取1至m1中的每一个整数时,根据第四预设公式取1至m1中的每一个整数时,根据第四预设公式计算第j1个第一候选路径的第五参数并存储于预先建立的第五集合中,其中,t
00
=0;
227.其中,在所述将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数之后,所述方法还包括:
228.确定所述第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,以作为第一待处理路径;
229.根据第五预设公式计算所述第一待处理路径的第六参数
230.将所述第一集合中目标参数被替换的第一候选路径,在所述第五集合中的第五参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第六参数;
231.其中,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点。
232.例如前述目标示例中,第一候选路径包括:节点0-节点1、节点0-节点2、节点0-节点3、节点0-节点4,节点0-节点5、节点0-节点6、节点0-节点7,节点0-节点8、节点0-节点9、节点0-节点10,这10个路径,则可以计算着10个路径的第五参数,存储于第五集合中,例如第五集合为{t

d01
、t

d02
、t

d03
、t

d04
、t

d05
、t

d06
、t

d07
、t

d08
、t

d09
、t

d010
};
233.其中,前述第一集合中目标参数被替换的第一候选路径若为:节点0-节点1、节点0-节点2,则可以计算这两个第一候选路径关联的第二候选路径(即第一待处理路径)的第六参数,即计算节点0-节点3-节点1、节点0-节点3-节点2这两个路径的第六参数:t

d31
、t

d32
,并将前述第四集合中的t

d01
替换为t

d31
,将t

d02
替换为t

d32
,因此,得到更新后的第五集合为:
234.{t

d31
、t

d32
、t

d03
、t

d04
、t

d05
、t

d06
、t

d07
、t

d08
、t

d09
、t

d010
}。
235.综上所述,本技术实施例的多任务路径确定方法的具体实施方式可如下所述:
236.本发明实施例的多路径确定方法主要包括三部分,第一部分是计算任务从一个网络节点传送至另一个网络节点时,执行当前任务时的代价增量;第二部分是寻找单任务最小代价增量路径的过程;第三部分是计算所有任务的总代价的过程。
237.具体地,第一部分包含以下内容:
238.当前任务从节点c发送到节点z时,所有任务的总代价增量为δp
cz
,δp
cz
=a*δt
cz
+b*p
z_rec
。其中,p
z_rec
表示节点z执行当前任务时的重构代价,若节点z无法成功执行该任务,则p
z_rec
为正无穷;δt
cz
表示多任务中最大时延的变化量,计算公式为
其中,t

dcz
=max(t
1d
,t
2d
,

,t
(i-1)d
,t
0c
),表示之前已寻路的i-1个任务在各自路径上的时延上限和本转发路径中上一个节点(即节点c)经过的时延中的最大值,t
1d
表示执行第一个任务时第一路径的时延,t
2d
表示执行第二个任务时第二路径的时延,t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,t
0c
表示执行当前任务时,从任务起点到节点c的时延,e
cz
表示执行当前任务时,从节点c至节点z的时延。因此,(t
0c
+e
cz
)表示执行当前任务时,从任务的起点节点到节点z的时延,若该时延大于t

dcz
,则最大时延需要更新,产生相应的时延代价增量。
239.其中,可以将步骤第一部分中的内容写进函数,当函数需要调用时进行相应的计算。
240.第二部分内容,为基于dijkstra算法的单任务最小代价增量路径确定过程,如图4所示,具体包括以下(1)至(7):
241.(1)确定任务起点和终点,初始化集合m、集合n、集合u,即定义集合m、集合n、集合u。集合m记录遍历过的节点,即已找到从起点到该点最小代价增量路径的节点,集合n记录未遍历的节点,集合u记录前述第一部分中的t
0c

242.初始时,集合m包括起点,集合n包含除起点以外的其他节点,集合u的值是起点到其他各节点的直连链路的时延代价,t
00
=0,当起点到某节点之间无直连链路时,t
0c
的值为无穷。
243.(2)计算任务起点到其他各节点的单向链路代价增量,并将结果记录在集合p中,并更新集合v,即:
244.定义集合p,记录执行当前任务时从起点到其他各节点的代价增量,即集合p初始记录δp
0c
,此处,0表示起点,c表示集合n中的任意一个节点。
245.定义集合v,记录前述第一部分中的t

dcz
,即集合v初始记录t

d0c
,此处,0表示起点,c表示集合n中的任意一个节点。
246.(3)遍历集合n,找到p中代价最小的节点c,即找到一个节点c,使得集合p中节点c对应的数值最小,即未遍历的节点中,从起点节点到该节点的代价增量最小。
247.(4)若节点c不是终点,说明仍未遍历完,转步骤(5)。若节点c是终点,转步骤(7)。
248.(5)以节点c为中间节点,更新集合p中从起始节点到n中其他各节点的总代价,同时更新集合u和集合v中的数值,即:
249.对于集合n中的其他节点f,计算从起点到该节点f,且中间经过节点c时的代价,即δp
0c
+δp
cf
,δp
cf
根据前述第一部分内容进行计算。若δp
0c
+δp
cf
比集合p中节点f对应的数值δp
0f
小,则用δp
0c
+δp
cf
比更新集合p中的数值δp
0f
,并用计算δp
cf
过程中得到的t

dcf
更新集合v中与节点f对应的数值t

d0f
,用(t
0c
+e
cf
)更新集合u中与节点f对应的数值t
0f

250.(6)从集合n中剔除节点c,在集合m中加入节点f。转步骤(3)。
251.(7)若节点c是终点,说明已经找到从起点到终点的最小代价增量路径,则可以输出任务起点到任务终点的代价和时延上限,即该路径的代价是集合p中对应的从起点到终点的代价,时延上限是集合v中对应的时延上限。
252.其中,可以前述第二部分的内容写进函数,便可通过函数调用的方式,对多任务中的每个任务进行寻路。
253.如图5所示,第三部分包含以下步骤(8)至(12):
254.(8)确定任务计算次序,计算次序的规则不限,例如,可以根据任务资源需求总量从小到大排列。
255.(9)根据计算次序选择任务,通过单任务最小代价增量路径算法寻找路径(即采用前述第二部分和第一部分所述的内容寻找路径)。
256.(10)判断所有任务是否计算完毕,若计算完毕,转步骤(12),否则转前述步骤(11)。
257.(11)计算节点的剩余资源,即计算网络节点处理完上一个任务后剩余的资源,转步骤(9)。
258.(12)输出多个任务的总代价,即计算所有任务同时处理时的总代价,代价的值为所有任务计算出的代价增量之和。
259.此外,采用本技术实施例的多任务路径确定方法,模拟在某个静态时间切片下存在多个任务需要从一个地面节点发送到另一个地面节点的过程。
260.如图3所示,假设某任务需要从起始地面站发送,通过卫星转发,最终到达目的地面站。对于一个资源需求较高的任务,可以在起始地面站(节点0)将任务分解为多个需求较低的子任务,从而提高网络资源的利用率。子任务在终止地面站(节点10)合并。
261.其中,同时需要发送多个任务的情况与任务分解的情况相同。如图1所示,仿真的目标是在节点0和节点10之间,为每个任务寻找一条路径,使得多个任务的总代价最小。每个任务可能经过相同的路径,也可能经过不同的路径。一颗卫星可能需要同时处理多个任务,也可能仅处理一个任务。
262.出于简化的考虑,在仿真过程中不考虑卫星的移动性,仅考虑在一个静态时间切片下的数据通信过程。假设任务完成的时间较快,因此不考虑任务执行过程中星间链路、星地链路的变化。设定在某一时刻网络的连接状态如图6所示。其中,编号1-9的节点表示天基网络中的卫星,0号节点表示用户接入的地面站,10号节点表示任务最终到达的地面站。
263.由于地面站的处理能力较强,因此不考虑节点0、节点10无法满足任务需求的情况。在具体的实现上,设定节点0、节点10具有的计算、存储资源为无穷大。在仿真过程中,设定各卫星的重构代价权值均为1。则所有的任务采用前述第一至第三部分的内容执行,则可以计算出多任务的总执行代价。
264.其中,采用本技术实施例的多任务路径确定方法,为多个任务寻到的路径的总代价随多个任务的总资源需求量的变化情况,可如图7所示。其中,图7的横坐标表示多个任务的总资源需求量,纵坐标表示多个任务的总代价。
265.综上所述,本技术的实施例,将复杂的问题进行分解,将多任务寻路过程分解为单任务寻路过程,每个任务进行寻路时,链路代价又将时延代价和重构代价统一计算。在计算过程中,无须像前文所述的现有技术通过“洗牌”的方式,对初步的计算结果进一步优化,逻辑较为清晰。其中,由于本技术的实施例将复杂的问题进行分解,因此当trs模型进一步拓展时,能够提供有效的支撑。并且,本技术的实施例采用贪心算法,针对每个任务寻路的过程,已实现最优,可基于单任务寻路的方案,进一步探索多任务寻路时的最优算法。
266.此外,为了能够更加清楚的理解本技术实施例的方法,现采用示例进行如下介绍:
267.当前若存在需要执行的三个任务,分别为第一个任务、第二个任务和第三个任务,且这些任务的起始网络节点为节点0,目的网络节点为节点10,预先确定的网络节点包括节点0至节点10,则首先对第一个任务、第二个任务、第三个任务按照所需资源量从小到大顺序进行排序,若排序为:第一个任务、第二个任务、第三个任务,则首先从节点定执行第一个任务时代价增量最小的第一路径的过程如下所述:
268.首先,创建集合m用于存储已寻路的节点,创建集合n用于存储未寻路的节点,则初始集合m为{节点0},集合n为{节点1、节点2、节点3、节点4、节点5、节点6、节点7、节点8、节点9、节点10};
269.其次,任务的起始网络节点为节点0,则可以计算节点0-节点1、节点0-节点2、节点0-节点3、节点0-节点4,节点0-节点5、节点0-节点6、节点0-节点7,节点0-节点8、节点0-节点9、节点0-节点10,这10个路径第一个任务时的代价增量,并存储于集合p中,例如集合p此时为{δp
01
、δp
02
、δp
03
、δp
04
、δp
05
、δp
06
、δp
07
、δp
08
、δp
09
、δp
010
};
270.并且,计算这10个路径中每一个路径执行第一个任务时的延迟,并存储于集合u中,例如此时集合u为:{t
01
、t
02
、t
03
、t
04
、t
05
、t
06
、t
07
、t
08
、t
09
、t
010
};
271.并且,根据公式计算这10个路径的第五参数并存储于集合v中,例如此时的集合v为{t

d01
、t

d02
、t

d03
、t

d04
、t

d05
、t

d06
、t

d07
、t

d08
、t

d09
、t

d010
};
272.再次,选择集合p中的最小值,若为δp
03
,则第一个任务已寻到的路径为节点0-节点3,其中,节点3并不是目的节点,因此,需要计算节点0-节点3-节点1、节点0-节点3-节点2、节点0-节点3-节点4、节点0-节点3-节点5、节点0-节点3-节点6、节点0-节点3-节点7、节点0-节点3-节点8、节点0-节点3-节点9、节点0-节点3-节点10,这9个路径执行第一个任务的代价增量,记为δp
03
+δp
31
、δp
03
+δp
32
、δp
03
+δp
34
、δp
03
+δp
35
、δp
03
+δp
36
、δp
03
+δp
37
、δp
03
+δp
38
、δp
03
+δp
39
、δp
03
+δp
310

273.再次,分别比较δp
03
+δp
31
与δp
01
的大小,δp
03
+δp
32
与δp
02
的大小,δp
03
+δp
34
与δp
04
的大小,δp
03
+δp
35
与δp
05
的大小,δp
03
+δp
36
与δp
06
的大小,δp
03
+δp
37
与δp
07
的大小,δp
03
+δp
38
与δp
08
的大小,δp
03
+δp
39
与δp
09
的大小,δp
03
+δp
310
与δp
010
的大小,从而用较小者替换当前集合p中的较大者;
274.其中,若δp
03
+δp
31
小于δp
01
,δp
03
+δp
32
小于δp
02
,则得到第一次更新后的集合p:{δp
03
+δp
31
、δp
03
+δp
32
、δp
03
、δp
04
、δp
05
、δp
06
、δp
07
、δp
08
、δp
09
、δp
010
};
275.并且,同步将集合u更新为{t
03
+t
31
、t
03
+t
32
、t
03
、t
04
、t
05
、t
06
、t
07
、t
08
、t
09
、t
010
},将集合v更新为{t

d31
、t

d32
、t

d03
、t

d04
、t

d05
、t

d06
、t

d07
、t

d08
、t

d09
、t

d010
};
276.再次,从集合n中剔除节点3,在集合m中加入节点3;
277.再次,从第一次更新后的集合p中,查找最小值,直到查到的集合p的最小值所属的路径的末端节点为目的网络节点,得到执行第一个任务时代价增量最小的第一路径。
278.此后,参照前述过程,并根据节点的剩余资源,分别在节点0至节点10中,先后确定执行第二个任务时代价增量最小的第二路径,以及执行第三个任务时代价增量最小的第三路径。
279.以上介绍了本技术实施例提供的多任务路径确定方法,下面将结合附图介绍本技术实施例提供的多任务路径确定装置。
280.参见图8,本技术实施例还提供了一种多任务路径确定装置,所述装置包括:
281.任务获取模块801,用于获取待执行的多个任务;
282.路径确定模块802,用于在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径,其中,所述第一路径包括至少一个所述预先确定的网络节点;
283.剩余资源确定模块803,用于根据所述第一路径执行第一个任务所需的资源,确定所述预先确定的网络节点的第一剩余资源;
284.所述路径确定模块802,还用于针对所述多个任务中的第i个任务,根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径;
285.所述剩余资源确定模块803,还用于根据所述第i路径执行第i个任务所需的资源,确定所述预先确定的网络节点的第i剩余资源,其中,所述第i路径包括至少一个所述预先确定的网络节点,i取2至n中的每一个整数,n表示所述多个任务的数量。
286.可选的,所述路径确定模块802包括:
287.路径确定子模块,用于基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径。
288.可选的,所述路径确定子模块具体用于:
289.从所述预先确定的网络节点中,确定所述多个任务的起始网络节点和目的网络节点;
290.获取所述起始网络节点至第j1个第一候选网络节点的路径,以作为第j1个第一候选路径,其中,所述第一候选网络节点包括所述预先确定的网络节点中除所述起始网络节点之外的网络节点,j1取1至m1中的每一个整数,m1表示所述第一候选网络节点的数量;
291.根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径;
292.在所述第一目标路径的末端为所述目的网络节点时,将所述第一目标路径确定为所述第i路径。
293.可选的,所述路径确定子模块还用于:
294.在所述第一目标路径的末端的节点不是所述目的网络节点时,获取所述第一目标路径的末端增加第j2个第二候选网络节点后形成的路径,以作为第j2个第二候选路径,其中,所述第二候选网络节点包括所述预先确定的网络节点中除所述第一目标路径上的网络节点之外的网络节点,j2取1至m2中的每一个整数,m2表示所述第二候选网络节点的数量;
295.根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的第二目标路径;
296.在所述第二目标路径的末端为所述目的网络节点时,将所述第二目标路径确定为所述第i路径。
297.可选的,所述路径确定子模块在根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径时,具体用于:
298.根据所述第i-1剩余资源,计算执行第i个任务时每一个第一候选路径的代价增量,并作为所述第一候选路径的目标参数存储于预先建立的第一集合中;
299.获取所述第一集合中的第一最小值,并将所述第一最小值所属的第一候选路径确定为所述第一目标路径。
300.可选的,所述路径确定子模块在根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的第二目标路径时,具体用于:
301.根据所述第i-1剩余资源,计算执行第i个任务时每一个第二候选路径的代价增量,以作为所述第二候选路径的目标参数;
302.在第二候选路径的目标参数小于所述第二候选路径关联的第一候选路径的目标参数的情况下,将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数,其中,末端节点相同的第一候选路径和第二候选路径相关联;
303.获取所述第一集合中的第二最小值,并将所述第二最小值所属的路径确定为所述第二目标路径。
304.可选的,所述装置还包括:
305.第一存储模块,用于将所述起始网络节点存储于预先建立的第二集合中;
306.第二存储模块,用于将所述预先确定的网络节点中除所述起始网络节点之外的网络节点,存储于预先建立的第三集合中;
307.第一更新模块,用于将所述第一目标路径末端的网络节点从所述第三集合中删除,并将所述第一目标路径末端的网络节点存储于所述第二集合中;将所述第二目标路径末端的网络节点从所述第三集合中删除,并将所述第二目标路径末端的网络节点存储于所述第二集合中。
308.可选的,所述路径确定子模块在根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第一候选路径的代价增量时,具体用于:
309.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j1个第一候选路径上的末端节点执行第i个任务时的重构代价
310.根据第一预设公式计算第j1个第一候选路径的第一参数其中,t
00
=0,t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,表示执行第i个任务时第j1个第一候选路径的时延;
311.根据第二预设公式:计算执行第i个任务时第j1个第一候选路径的代价增量其中,a、b为预先确定的权重值。
312.可选的,所述路径确定子模块在根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第二候选路径的代价增量时,具体用于:
313.根据所述第i-1剩余资源,计算执行第i个任务时所述第一目标路径的第一代价增量;
314.根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量,以作为第j2个第二代价增量;
315.将所述第一代价增量和第j2个第二代价增量之和,确定为执行第i个任务时第j2个第二候选路径的代价增量。
316.可选的,所述路径确定子模块在根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量时,具体用于:
317.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j2个第二候选网络节点执行第i个任务时的重构代价
318.根据第三预设公式:
319.计算第j2个第二候选路径的第二参数其中,t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,表示执行第i个任务时所述第一目标路径的时延,表示执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的时延;
320.根据第四预设公式:计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量其中,a、b为预先确定的权重值;,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点。
321.可选的,所述装置还包括:
322.第三存储模块,用于计算执行第i个任务时第j1个第一候选路径的时延并作为第一候选路径的第三参数存储于预先建立的第四集合中;
323.更新对象确定模块,用于确定所述第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,以作为第一待处理路径;
324.第一更新参数计算模块,用于计算执行第i个任务时所述第一待处理路径的时延,以作为所述第一待处理路径的第四参数;
325.第二更新模块,用于将所述第一集合中目标参数被替换的第一候选路径,在所述第四集合中的第三参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第四参数。
326.可选的,所述装置还包括:
327.第四存储模块,用于根据第四预设公式计算第j1个第一候选路径的第五参数并存储于预先建立的第五集合中,其中,t
00
=0;
328.更新对象确定模块,用于确定所述第一集合中目标参数被替换的第一候选路径相
关联的第二候选路径,以作为第一待处理路径;
329.第二更新参数计算模块,用于根据第五预设公式计算所述第一待处理路径的第六参数
330.第三更新模块,用于将所述第一集合中目标参数被替换的第一候选路径,在所述第五集合中的第五参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第六参数;
331.其中,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点。
332.可选的,所述装置还包括:
333.排序模块,用于对所述多个任务进行排序。
334.由上述可知,本技术的实施例采用贪心算法,对多个任务依次按照单任务最小代价增量的原则寻找单任务最优路径,并在每一个任务寻找到单任务最优路径后,计算卫星的剩余资源,从而使得下一个任务根据剩余资源寻路。因此,本技术实施例,在存在多个任务需要执行的场景,可以使得每个任务单独执行的代价达到局部最优,且更加充分地利用卫星资源。
335.需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
336.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
337.在此需要说明的是,本技术实施例提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
338.本技术实施例还提供了一种网络设备,包括存储器920、收发机910、处理器900;
339.存储器920,用于存储计算机程序;
340.收发机910,用于在处理器900的控制下接收和发送数据;
341.处理器900,用于读取所述存储器920中的计算机程序并执行以下操作:
342.获取待执行的多个任务;
343.在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径,其中,所述第一路径包括至少一个所述预先确定的网络节点;
344.根据所述第一路径执行第一个任务所需的资源,确定所述预先确定的网络节点的第一剩余资源;
345.针对所述多个任务中的第i个任务,根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径,并根据所述第i路径执行第i个任务所需的资源,确定所述预先确定的网络节点的第i剩余资源,其中,所述第i路径包括至少一个所述预先确定的网络节点,i取2至n中的每一个整数,n表示所述多个任务的数量。
346.可选的,处理器900在根据第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径时,具体用于:
347.基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径。
348.可选的,处理器900在基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径时,具体用于:
349.从所述预先确定的网络节点中,确定所述多个任务的起始网络节点和目的网络节点;
350.获取所述起始网络节点至第j1个第一候选网络节点的路径,以作为第j1个第一候选路径,其中,所述第一候选网络节点包括所述预先确定的网络节点中除所述起始网络节点之外的网络节点,j1取1至m1中的每一个整数,m1表示所述第一候选网络节点的数量;
351.根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径;
352.在所述第一目标路径的末端为所述目的网络节点时,将所述第一目标路径确定为所述第i路径。
353.可选的,处理器900在基于迪杰斯特拉算法,并根据所述第i-1剩余资源,在所述预先确定的网络节点中,确定执行第i个任务时代价增量最小的第i路径时,还用于:
354.在所述第一目标路径的末端的节点不是所述目的网络节点时,获取所述第一目标路径的末端增加第j2个第二候选网络节点后形成的路径,以作为第j2个第二候选路径,其中,所述第二候选网络节点包括所述预先确定的网络节点中除所述第一目标路径上的网络节点之外的网络节点,j2取1至m2中的每一个整数,m2表示所述第二候选网络节点的数量;
355.根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的第二目标路径;
356.在所述第二目标路径的末端为所述目的网络节点时,将所述第二目标路径确定为所述第i路径。
357.可选的,处理器900在根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径时,具体用于:
358.根据所述第i-1剩余资源,计算执行第i个任务时每一个第一候选路径的代价增量,并作为所述第一候选路径的目标参数存储于预先建立的第一集合中;
359.获取所述第一集合中的第一最小值,并将所述第一最小值所属的第一候选路径确定为所述第一目标路径。
360.可选的,处理器900在根据所述第i-1剩余资源,从所述第二候选路径,以及所述第一候选路径中除所述第一目标路径之外的路径中,选择执行第i个任务时代价增量最小的
第二目标路径时,具体用于:
361.根据所述第i-1剩余资源,计算执行第i个任务时每一个第二候选路径的代价增量,以作为所述第二候选路径的目标参数;
362.在第二候选路径的目标参数小于所述第二候选路径关联的第一候选路径的目标参数的情况下,将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数,其中,末端节点相同的第一候选路径和第二候选路径相关联;
363.获取所述第一集合中的第二最小值,并将所述第二最小值所属的路径确定为所述第二目标路径。
364.可选的,在根据所述第i-1剩余资源,从所述第一候选路径中,选择执行第i个任务时代价增量最小的第一目标路径之前,处理器900还用于:
365.将所述起始网络节点存储于预先建立的第二集合中;
366.将所述预先确定的网络节点中除所述起始网络节点之外的网络节点,存储于预先建立的第三集合中;
367.在选择出执行第i个任务时代价增量最小的第一目标路径之后,处理器900还用于:
368.将所述第一目标路径末端的网络节点从所述第三集合中删除,并将所述第一目标路径末端的网络节点存储于所述第二集合中;
369.选择出执行第i个任务时代价增量最小的第二目标路径之后,处理器900还用于:
370.将所述第二目标路径末端的网络节点从所述第三集合中删除,并将所述第二目标路径末端的网络节点存储于所述第二集合中。
371.可选的,处理器900在根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第一候选路径的代价增量时,具体用于:
372.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j1个第一候选路径上的末端节点执行第i个任务时的重构代价
373.根据第一预设公式计算第j1个第一候选路径的第一参数其中,t
00
=0,t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,表示执行第i个任务时第j1个第一候选路径的时延;
374.根据第二预设公式:计算执行第i个任务时第j1个第一候选路径的代价增量其中,a、b为预先确定的权重值。
375.可选的,处理器900在根据所述第i-1剩余资源,计算执行第i个任务时每一个所述第二候选路径的代价增量时,具体用于:
376.根据所述第i-1剩余资源,计算执行第i个任务时所述第一目标路径的第一代价增量;
377.根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量,以作为第j2个第二代价增量;
378.将所述第一代价增量和第j2个第二代价增量之和,确定为执行第i个任务时第j2个第二候选路径的代价增量。
379.可选的,处理器900在根据所述第i-1剩余资源,计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量时,具体用于:
380.根据所述第i-1剩余资源,以及执行第i个任务所需的资源,确定第j2个第二候选网络节点执行第i个任务时的重构代价
381.根据第三预设公式:
382.计算第j2个第二候选路径的第二参数其中,t
(i-1)d
表示执行第i-1个任务时第i-1路径的时延,表示执行第i个任务时所述第一目标路径的时延,表示执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的时延;
383.根据第四预设公式:计算执行第i个任务时从所述第一目标路径末端的节点至第j2个所述第二候选网络节点的代价增量其中,a、b为预先确定的权重值,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点。
384.可选的,处理器900还用于:
385.计算执行第i个任务时第j1个第一候选路径的时延并作为第一候选路径的第三参数存储于预先建立的第四集合中;
386.其中,在所述将所述第一集合中,所述第一候选路径的目标参数替换为与所述第一候选路径关联的第二候选路径的目标参数之后,处理器900还用于:
387.确定所述第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,以作为第一待处理路径;
388.计算执行第i个任务时所述第一待处理路径的时延,以作为所述第一待处理路径的第四参数;
389.将所述第一集合中目标参数被替换的第一候选路径,在所述第四集合中的第三参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第四参数。
390.可选的,处理器900还用于:
391.根据第四预设公式计算第j1个第一候选路径的第五参数并存储于预先建立的第五集合中,其中,t
00
=0;
392.其中,在所述将所述第一集合中,所述第一候选路径的目标参数替换为与所述第
一候选路径关联的第二候选路径的目标参数之后,处理器900还用于:
393.确定所述第一集合中目标参数被替换的第一候选路径相关联的第二候选路径,以作为第一待处理路径;
394.根据第五预设公式计算所述第一待处理路径的第六参数
395.将所述第一集合中目标参数被替换的第一候选路径,在所述第五集合中的第五参数,替换为与所述第一候选路径关联的所述第一待处理路径的所述第六参数;
396.其中,jm表示所述第一目标路径的末端节点为第jm个第一候选网络节点。
397.可选的,在在预先确定的网络节点中,确定执行第一个任务时代价增量最小的第一路径之前,处理器900还用于
398.对所述多个任务进行排序。
399.其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器900代表的一个或多个处理器和存储器920代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机910可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元,这些传输介质包括无线信道、有线信道、光缆等传输介质。处理器900负责管理总线架构和通常的处理,存储器920可以存储处理器900在执行操作时所使用的数据。
400.处理器900可以是中央处埋器(cpu)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或复杂可编程逻辑器件(complex programmable logic device,cpld),处理器900也可以采用多核架构。
401.在此需要说明的是,本技术实施例提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
402.本技术实施例还提供了一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述所述的多任务路径确定方法。
403.所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
404.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
405.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机可执行指令实现流程图和/或方框图中的每一
流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机可执行指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
406.这些处理器可执行指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的处理器可读存储器中,使得存储在该处理器可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
407.这些处理器可执行指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
408.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1