1.本发明涉及卫星网络技术领域,尤其涉及的是一种软件定义卫星网络控制器部署方法、装置及相关设备。
背景技术:2.卫星网络因其封闭且复杂的架构存在管理和操作困难的问题,软件定义网络(sdn,software defined network)提供了对网络的灵活控制,因此,将sdn引入卫星网络可以提高卫星网络的灵活性和效率,使得卫星网络操作更简单。在软件定义卫星网络中,控制器部署是量化控制平面性能的一个重要问题,因为它直接影响到sdn交换机的控制延迟,进而影响到广泛的网络问题,如路由问题、策略更新、故障管理、服务质量等。现有技术中,通常会根据需要部署的控制器的数量进行控制器的规划和部署。
3.现有技术的问题在于,软件定义卫星网络中只根据控制器的数量进行规划和部署,未考虑到卫星网络可能发生故障,因此不利于获得最优的控制器部署方案并对控制器进行部署。
4.因此,现有技术还有待改进和发展。
技术实现要素:5.本发明的主要目的在于提供一种软件定义卫星网络控制器部署方法、装置及相关设备,旨在解决现有技术中软件定义卫星网络中只根据控制器的数量进行规划和部署,未考虑到故障情况下的控制器部署,不利于获得最优的控制器部署方案并对控制器进行部署的问题。
6.为了实现上述目的,本发明第一方面提供一种软件定义卫星网络控制器部署方法,其中,上述方法包括:
7.构建软件定义卫星网络架构;
8.获取上述软件定义卫星网络架构在故障条件下的网络状态延迟;
9.基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案;
10.基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。
11.可选的,上述故障条件为卫星故障或星间链路故障。
12.可选的,当上述故障条件为卫星故障时,上述获取上述软件定义卫星网络架构在故障条件下的网络状态延迟,包括:
13.获取上述软件定义卫星网络架构中每个卫星的卫星故障概率;
14.基于各上述卫星故障概率获取网络状态延迟。
15.可选的,上述基于各上述卫星故障概率获取网络状态延迟,包括:
16.基于各上述卫星故障概率,计算获取每个单卫星故障场景概率和无卫星故障场景概率;
17.分别计算各单卫星故障场景下的平均时延和无卫星故障场景下的平均时延,其中,上述平均时延为卫星交换机到卫星控制器的平均时延;
18.基于各上述单卫星故障场景概率和上述无卫星故障场景概率对各上述单卫星故障场景下的平均时延和上述无卫星故障场景下的平均时延进行加权求和,获得网络状态延迟。
19.可选的,当上述故障条件为星间链路故障,上述获取上述软件定义卫星网络架构在故障条件下的网络状态延迟,包括:
20.获取上述软件定义卫星网络架构中每条星间链路的链路故障概率;
21.基于各上述链路故障概率获取网络状态延迟。
22.可选的,上述基于各上述链路故障概率获取网络状态延迟,包括:
23.基于各上述链路故障概率,计算获取每个单链路故障场景概率和无链路故障场景概率;
24.分别计算各单链路故障场景下的平均时延和无链路故障场景下的平均时延,其中,上述平均时延为卫星交换机到卫星控制器的平均时延;
25.基于各上述单链路故障场景概率和上述无链路故障场景概率对各上述单链路故障场景下的平均时延和上述无链路故障场景下的平均时延进行加权求和,获得网络状态延迟。
26.可选的,上述基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案,包括:
27.获取要部署的目标控制器数量;
28.基于上述目标控制器数量,通过模拟退火算法进行求解,获取上述网络状态延迟的最优解和对应的控制器部署方案,其中,上述网络状态延迟的最优解为上述网络状态延迟的最小值。
29.本发明第二方面提供一种软件定义卫星网络控制器部署装置,其中,上述装置包括:
30.网络架构构建模块,用于构建软件定义卫星网络架构;
31.网络状态延迟获取模块,用于获取上述软件定义卫星网络架构在故障条件下的网络状态延迟;
32.计算模块,用于基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案;
33.部署模块,用于基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。
34.本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的软件定义卫星网络控制器部署程序,上述软件定义卫星网络控制器部署程序被上述处理器执行时实现任意一项上述软件定义卫星网络控制器部署方法的步骤。
35.本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有软件定义卫星网络控制器部署程序,上述软件定义卫星网络控制器部署程序被处理器执行时实现任意一项上述软件定义卫星网络控制器部署方法的步骤。
36.由上可见,本发明方案构建软件定义卫星网络架构;获取上述软件定义卫星网络架构在故障条件下的网络状态延迟;基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案;基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。本发明方案提供的软件定义卫星网络控制器部署方法可以获取软件定义卫星网络架构在故障条件下的网络状态延迟,从而基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案,考虑故障条件,有利于获得最优的控制器部署方案,实现控制器部署,使对应的软件定义卫星网络获得最小的网络状态延迟。
附图说明
37.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
38.图1是本发明实施例提供的一种软件定义卫星网络控制器部署方法的流程示意图;
39.图2是本发明实施例图1中步骤s200的具体流程示意图;
40.图3是本发明实施例图2中步骤s202的具体流程示意图;
41.图4是本发明实施例提供的另一种图1中步骤s200的具体流程示意图;
42.图5是本发明实施例图4中步骤a202的具体流程示意图;
43.图6是本发明实施例图1中步骤s300的具体流程示意图;
44.图7是本发明实施例提供的一种通过模拟退火算法求解控制器部署方案的流程示意图;
45.图8是本发明实施例提供的一种软件定义卫星网络控制器部署装置的结构示意图;
46.图9是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
47.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
48.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
49.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
50.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
51.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当
…
时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0052]
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0053]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0054]
软件定义网络(sdn,software defined network)是一种新型的网络架构,它将网络的控制平面和数据平面分离开,简化了网络设备的结构,通过控制平面对网络进行统一集中化的控制,能够从整体上获得网络资源的全局信息,数据平面只需要负责数据转发功能。将sdn引入卫星网络可以提高卫星网络的灵活性和效率,使得卫星网络操作更简单。控制器部署是软件定义卫星网络中量化控制平面性能的一个重要问题,因为它直接影响sdn交换机经历的控制延迟,进而影响到广泛的网络问题,如路由问题、策略更新、故障管理、服务质量(qos)等。为了满足用户低时延、高可靠的服务需求,需要部署多个sdn控制器来实现卫星网络的分布式控制,优化控制器的部署位置是sdsn网络管理的必要条件。在分布式控制器部署中,通过控制器和交换机之间的通信形成一致的网络全局视图来维持数据的传输和控制。但卫星网络处于恶劣且复杂的外太空环境中,比传统的地面网络更容易发生故障,所以需要一种应用于软件定义卫星网络的多控制器部署方法,以在网络故障的情况下,尽可能最小化网络时延。
[0055]
现有技术中,有一些对于多控制器部署方案的研究,通常会根据需要部署的控制器的数量进行控制器的规划和部署。但未考虑到卫星网络比传统的地面网络更容易发生故障,未考虑到故障情况下的控制器部署问题,因此不利于获得最优的控制器部署方案并对控制器进行部署。因此,需要一种更好的软件定义卫星网络控制器部署方法。
[0056]
为了解决现有技术的问题,本发明实施例提供一种软件定义卫星网络控制器部署方法,在本发明实施例中,构建软件定义卫星网络架构;获取上述软件定义卫星网络架构在故障条件下的网络状态延迟;基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案;基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。本发明方案提供的软件定义卫星网络控制器部署方法可以获取软件定义卫星网络架构在故障条件下的网络状态延迟,从而基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案,考虑故障条件,有利于获得最优的控制器部署方案,实现控制器部署。
[0057]
示例性方法
[0058]
如图1所示,本发明实施例提供一种软件定义卫星网络控制器部署方法,具体的,上述方法包括如下步骤:
[0059]
步骤s100,构建软件定义卫星网络架构。
[0060]
具体的,上述软件定义卫星网络架构为支持sdn的低轨道地球(leo,low earth orbit)卫星网络架构。本实施例中,上述软件定义卫星网络架构包括管理平面、数据平面和控制平面三个逻辑平面。进一步的,可以将上述软件定义卫星网络建模成无向图,以便进行进一步计算。
[0061]
步骤s200,获取上述软件定义卫星网络架构在故障条件下的网络状态延迟。
[0062]
其中,上述故障条件为预先设定的故障情况,例如,设定上述软件定义卫星网络架构中存在卫星故障或星间链路故障。上述网络状态延迟由各故障场景中上述软件定义卫星网络架构中卫星交换机到卫星控制器的平均时延加权计算获得。具体的,基于上述故障条件构建约束条件,获取优化目标,其中,上述优化目标为网络状态延迟,从而进一步计算获取网络状态延迟的最优解,以获得最佳的控制器部署方案。
[0063]
步骤s300,基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案。
[0064]
其中,上述网络状态延迟的最优解为求得的网络状态延迟的最小值,对应的控制器部署方案即为求得网络状态延迟的最小值时的控制器部署方案。
[0065]
步骤s400,基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。
[0066]
具体的,计算获得上述网络状态延迟的最优解和对应的控制器部署方案之后,可以按照上述控制器部署方案对软件定义卫星网络架构中的控制器进行部署,以满足用户的网络状态延迟最小的需求。
[0067]
由上可见,本发明实施例提供的软件定义卫星网络控制器部署方法构建软件定义卫星网络架构;获取上述软件定义卫星网络架构在故障条件下的网络状态延迟;基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案;基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。本发明方案提供的软件定义卫星网络控制器部署方法可以获取软件定义卫星网络架构在故障条件下的网络状态延迟,从而基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案,考虑故障条件,有利于获得最优的控制器部署方案,实现控制器部署,使对应的软件定义卫星网络获得最小的网络状态延迟。
[0068]
具体的,上述软件定义卫星网络架构中,数据层面包括所有leo卫星,每个卫星承载一个sdn交换机来进行数据转发,控制层面由若干个部署控制器功能的卫星组成,数据平面和控制平面的通信利用现有的星间链路(带内控制)。上述管理平面是一种功能意义上的层面,通常集成在控制器中,作为用户或者服务与控制器沟通的桥梁。本发明将该上述管理平面的功能集成在地面设备中,一旦用户有了新的需求或采用了新的协议,可以通过星地链路连接控制器更新策略。通常情况下,卫星网络的路由转发等功能不涉及管理平面。
[0069]
本实施例中,将上述软件定义卫星网络架构建模成无向图g(v,e),以便进一步计算获取控制器部署方案。其中,v表示卫星节点,e表示星间链路,且以|v|和|e|分别表示上述软件定义卫星网络架构中的卫星节点数和星间链路数。
[0070]
可选的,上述故障条件为卫星故障或星间链路故障。本实施例中,上述故障条件可以设置为单卫星故障或单星间链路故障。具体的,研究表明,70%的网络故障一次只影响一条链路或者一个节点,并且不同的节点或链路的故障特征差别很大,因此本实施例中仅考
虑单故障问题(即单卫星故障或单星间链路故障)。实际应用过程中,也可以考虑多故障问题,其具体流程与单故障问题对应的流程相似,在此不做具体限定。
[0071]
具体的,本实施例中,如图2所示,当上述故障条件为卫星故障时,上述步骤s200包括:
[0072]
步骤s201,获取上述软件定义卫星网络架构中每个卫星的卫星故障概率。
[0073]
步骤s202,基于各上述卫星故障概率获取网络状态延迟。
[0074]
其中,上述每个卫星的卫星故障概率可以根据对应卫星的历史统计数据获得,也可以预先设置,还可以有其它获取方式,在此不做具体限定。本实施例中,上述每个卫星的卫星故障概率在0到0.06之间随机生成,其中,每个卫星的卫星故障概率在统计上是独立的。
[0075]
具体的,本实施例中,如图3所示,上述步骤s202包括:
[0076]
步骤s2021,基于各上述卫星故障概率,计算获取每个单卫星故障场景概率和无卫星故障场景概率。
[0077]
步骤s2022,分别计算各单卫星故障场景下的平均时延和无卫星故障场景下的平均时延,其中,上述平均时延为卫星交换机到卫星控制器的平均时延。
[0078]
步骤s2023,基于各上述单卫星故障场景概率和上述无卫星故障场景概率对各上述单卫星故障场景下的平均时延和上述无卫星故障场景下的平均时延进行加权求和,获得网络状态延迟。
[0079]
其中,上述每个单卫星故障场景概率分别为软件定义卫星网络架构中每一个存在一个故障卫星的场景发生的概率,上述无卫星故障场景概率为软件定义卫星网络架构中所有卫星都不故障的场景发生的概率。本实施例中仅考虑单故障问题,因此共包括|v|+1个网络场景,即1个无卫星故障场景和|v|个单卫星故障场景。具体的,分别计算每个单卫星故障场景概率和无卫星故障场景概率,然后计算每个场景(包括单卫星故障场景和无卫星故障场景)下卫星交换机到卫星控制器的平均时延。本实施例中,将|v|个单卫星故障场景分为控制器故障和交换机故障两类,如果控制器发生故障,将其管理的交换机分配给最近的其它控制器再计算平均时延;如果交换机发生故障,则在计算平均时延时不考虑该交换机。进一步的,根据上述各上述单卫星故障场景概率和上述无卫星故障场景概率对各上述单卫星故障场景下的平均时延和上述无卫星故障场景下的平均时延进行加权求和,获得网络状态延迟,即为需要进行优化求解的目标。
[0080]
可选的,如图4所示,当上述故障条件为星间链路故障时,上述步骤s200包括:
[0081]
步骤a201,获取上述软件定义卫星网络架构中每条星间链路的链路故障概率。
[0082]
步骤a202,基于各上述链路故障概率获取网络状态延迟。
[0083]
其中,上述每条星间链路的链路故障概率可以根据对应星间链路的历史统计数据获得,也可以预先设置,还可以有其它获取方式,在此不做具体限定。本实施例中,上述每条星间链路的链路故障概率在0到0.1之间随机生成,其中,每条星间链路的链路故障概率在统计上是独立的。
[0084]
具体的,如图5所示,上述步骤a202包括:
[0085]
步骤a2021,基于各上述链路故障概率,计算获取每个单链路故障场景概率和无链路故障场景概率。
[0086]
步骤a2022,分别计算各单链路故障场景下的平均时延和无链路故障场景下的平均时延,其中,上述平均时延为卫星交换机到卫星控制器的平均时延。
[0087]
步骤a2023,基于各上述单链路故障场景概率和上述无链路故障场景概率对各上述单链路故障场景下的平均时延和上述无链路故障场景下的平均时延进行加权求和,获得网络状态延迟。
[0088]
其中,上述每个单链路故障场景概率分别为软件定义卫星网络架构中每一个存在一条故障星间链路的场景发生的概率,上述无链路故障场景概率为软件定义卫星网络架构中所有星间链路都不故障的场景发生的概率。本实施例中仅考虑单故障问题,因此共包括|e|+1个网络场景,即包括1个无链路故障场景和|e|个单链路故障场景。具体的,分别计算每个单链路故障场景概率和无链路故障场景概率,然后计算每个场景(包括单链路故障场景和无链路故障场景)下卫星交换机到卫星控制器的平均时延。进一步的,根据上述各上述单链路故障场景概率和上述无链路故障场景概率对各上述单链路故障场景下的平均时延和上述无链路故障场景下的平均时延进行加权求和,获得网络状态延迟,即为需要进行优化求解的目标。
[0089]
可选的,当考虑多故障问题时,基于具体需要考虑的故障情况(如两个卫星故障的场景)计算对应的网络状态延迟,计算流程与上述流程相似,在此不再赘述。
[0090]
具体的,本实施例中,如图6所示,上述步骤s300包括:
[0091]
步骤s301,获取要部署的目标控制器数量。
[0092]
步骤s302,基于上述目标控制器数量,通过模拟退火算法进行求解,获取上述网络状态延迟的最优解和对应的控制器部署方案,其中,上述网络状态延迟的最优解为上述网络状态延迟的最小值。
[0093]
具体的,上述目标控制器数量为需要在上述软件定义卫星网络架构中部署的控制器的数量,可以预先设定,也可以根据实际需求进行设置和调整,在此不做具体限定。由于卫星网络是大规模网络,模拟退火算法等启发式算法在寻找具有较大区域的函数的全局最优解(即优化问题具有较大的搜索空间)时的时间复杂度低,能产生令人满意的近似最优解,而且所用的时间较短。所以设计一种模拟退火算法来求解得到近似最优的控制器部署方案。可选的,实际使用过程中,还可以基于其它合适的算法计算获取对应的最优解和控制器部署方案,在此不做具体限定。
[0094]
图7是本发明实施例提供的一种通过模拟退火算法求解控制器部署方案的流程示意图,如图7所示,本实施例中,先获取软件定义卫星网络架构和目标控制器数量,具体的,输入上述软件定义卫星网络架构的网络拓扑图g(v,e)和要部署的目标控制器数量k。然后初始化算法参数,其中,上述算法参数包括初始温度t0,终止温度t
final
和退火因子α;上述算法参数的值可以根据实际情况进行设定,本实施例中,初始化上述初始温度t0=1℃,终止温度t
final
=0.0001℃,退火因子α=0.75。进一步的,随机选择一种控制器部署方案并计算网络状态延迟。本实施例中,以上述故障条件为单卫星故障为例进行具体说明,从卫星节点集合v中随机选择k个节点作为初始的控制器结合c
opt
,并计算其对应的网络状态延迟,作为l
min
,其中,l
min
为网络状态延迟的最优解。然后产生相近的新部署方案并计算网络状态延迟,找到具有最小网络状态延迟的新部署方案并更新部署方案,具体的,在控制器集合c
opt
中随机选择并替换一个控制器,遍历所有可能的新部署方案并计算延迟,在所有可能的新
部署方案中找到具有最小的网络状态延迟的新部署方案,将其对应的网络状态延迟作为新网络状态延迟l
new
。其中,上述随机选择并替换一个控制器具体为:在上述控制器集合c
opt
中,随机选择一个控制器替换,且保持k
‑
1个控制器不变。计算增量δ=l
new
‑
l
min
,当δ小于或等于0(即新网络状态延迟小于或等于原有的网络状态延迟的最优解)时,替换上述控制器集合c
opt
对应的部署方案,并更新对应的l
min
,即将具有最小的网络状态延迟的新部署方案作为控制器集合c
opt
,将对应的网络状态延迟作为l
min
。反之,当δ大于0时,计算获取概率其中,e为欧拉数,t为当前温度,初始时,t=t0。当上述概率p>ξ时,替换控制器集合c
opt
并更新l
min
,当上述概率p小于或等于ξ时,不进行替换。其中,上述ξ为预先设置的概率阈值,设置上述ξ,根据概率决定是否接收新解,可以防止计算结果陷入局部最优。可选的,上述ξ的值可以预先设定,也可以根据实际需求进行调整,本实施例中,上述ξ为在(0,1)区间内产生的一个服从均匀分布的随机数。进一步的,对当前温度进行降温处理,即令t=t*α,再判断当前温度是否小于终止温度,当当前温度小于终止温度时,获得近似最优的网络状态延迟的最小值l
min
及对应的最优的控制器部署方案c
opt
并输出。反之则返回至产生相近的新部署方案并计算网络状态延迟的步骤并循环执行相关步骤,直至当前温度小于终止温度时,结束循环。如此,通过循环迭代计算获得网络状态延迟的最小值l
min
及对应的最优的控制器部署方案c
opt
。
[0095]
可选的,上述具体算法流程是以故障条件为单卫星故障为例进行具体说明的,当故障条件为单星间链路故障时,算法流程与上述流程相似,可以参照上述流程获得,在此不再赘述。
[0096]
示例性设备
[0097]
如图8中所示,对应于上述软件定义卫星网络控制器部署方法,本发明实施例还提供一种软件定义卫星网络控制器部署装置,上述软件定义卫星网络控制器部署装置包括:
[0098]
网络架构构建模块810,用于构建软件定义卫星网络架构。
[0099]
具体的,上述软件定义卫星网络架构为支持sdn的低轨道地球(leo,low earth orbit)卫星网络架构。本实施例中,上述软件定义卫星网络架构包括管理平面、数据平面和控制平面三个逻辑平面。进一步的,可以将上述软件定义卫星网络建模成无向图,以便进行进一步计算。
[0100]
网络状态延迟获取模块820,用于获取上述软件定义卫星网络架构在故障条件下的网络状态延迟。
[0101]
其中,上述故障条件为预先设定的故障情况,例如,设定上述软件定义卫星网络架构中存在卫星故障或星间链路故障。上述网络状态延迟由各故障场景中上述软件定义卫星网络架构中卫星交换机到卫星控制器的平均时延加权计算获得。具体的,基于上述故障条件构建约束条件,获取优化目标,其中,上述优化目标为网络状态延迟,从而进一步计算获取网络状态延迟的最优解,以获得最佳的控制器部署方案。
[0102]
计算模块830,用于基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案。
[0103]
其中,上述网络状态延迟的最优解为求得的网络状态延迟的最小值,对应的控制器部署方案即为求得网络状态延迟的最小值时的控制器部署方案。
[0104]
部署模块840,用于基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。
[0105]
具体的,计算获得上述网络状态延迟的最优解和对应的控制器部署方案之后,可以按照上述控制器部署方案对软件定义卫星网络架构中的控制器进行部署,以满足用户的网络状态延迟最小的需求。
[0106]
由上可见,本发明实施例提供的软件定义卫星网络控制器部署装置通过网络架构构建模块810构建软件定义卫星网络架构;通过网络状态延迟获取模块820获取上述软件定义卫星网络架构在故障条件下的网络状态延迟;通过计算模块830基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案;通过部署模块840基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。本发明方案提供的软件定义卫星网络控制器部署装置可以获取软件定义卫星网络架构在故障条件下的网络状态延迟,从而基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案,考虑故障条件,有利于获得最优的控制器部署方案,实现控制器部署,使对应的软件定义卫星网络获得最小的网络状态延迟。
[0107]
本实施例中,上述网络架构构建模块810还用于:将上述软件定义卫星网络架构建模成无向图g(v,e);以便进一步计算获取控制器部署方案。其中,v表示卫星节点,e表示星间链路,且以|v|和|e|分别表示上述软件定义卫星网络架构中的卫星节点数和星间链路数。
[0108]
可选的,上述故障条件为卫星故障或星间链路故障。本实施例中,上述故障条件可以设置为单卫星故障或单星间链路故障。具体的,研究表明,70%的网络故障一次只影响一条链路或者一个节点,并且不同的节点或链路的故障特征差别很大,因此本实施例中仅考虑单故障问题(即单卫星故障或单星间链路故障)。实际应用过程中,也可以考虑多故障问题,其具体流程与单故障问题对应的流程相似,在此不做具体限定。
[0109]
具体的,本实施例中,当上述故障条件为卫星故障时,上述网络状态延迟获取模块820具体用于:获取上述软件定义卫星网络架构中每个卫星的卫星故障概率;基于各上述卫星故障概率获取网络状态延迟。
[0110]
其中,上述每个卫星的卫星故障概率可以根据对应卫星的历史统计数据获得,也可以预先设置,还可以有其它获取方式,在此不做具体限定。本实施例中,上述每个卫星的卫星故障概率在0到0.06之间随机生成,其中,每个卫星的卫星故障概率在统计上是独立的。
[0111]
进一步的,上述网络状态延迟获取模块820还用于:基于各上述卫星故障概率,计算获取每个单卫星故障场景概率和无卫星故障场景概率;分别计算各单卫星故障场景下的平均时延和无卫星故障场景下的平均时延,其中,上述平均时延为卫星交换机到卫星控制器的平均时延;基于各上述单卫星故障场景概率和上述无卫星故障场景概率对各上述单卫星故障场景下的平均时延和上述无卫星故障场景下的平均时延进行加权求和,获得网络状态延迟。
[0112]
其中,上述每个单卫星故障场景概率分别为软件定义卫星网络架构中每一个存在一个故障卫星的场景发生的概率,上述无卫星故障场景概率为软件定义卫星网络架构中所有卫星都不故障的场景发生的概率。本实施例中仅考虑单故障问题,因此共包括|v|+1个网
络场景,即1个无卫星故障场景和|v|个单卫星故障场景。具体的,分别计算每个单卫星故障场景概率和无卫星故障场景概率,然后计算每个场景(包括单卫星故障场景和无卫星故障场景)下卫星交换机到卫星控制器的平均时延。本实施例中,将|v|个单卫星故障场景分为控制器故障和交换机故障两类,如果控制器发生故障,将其管理的交换机分配给最近的其它控制器再计算平均时延;如果交换机发生故障,则在计算平均时延时不考虑该交换机。进一步的,根据上述各上述单卫星故障场景概率和上述无卫星故障场景概率对各上述单卫星故障场景下的平均时延和上述无卫星故障场景下的平均时延进行加权求和,获得网络状态延迟,即为需要进行优化求解的目标。
[0113]
具体的,本实施例中,当上述故障条件为星间链路故障时,上述网络状态延迟获取模块820具体用于:获取上述软件定义卫星网络架构中每条星间链路的链路故障概率;基于各上述链路故障概率获取网络状态延迟。
[0114]
其中,上述每条星间链路的链路故障概率可以根据对应星间链路的历史统计数据获得,也可以预先设置,还可以有其它获取方式,在此不做具体限定。本实施例中,上述每条星间链路的链路故障概率在0到0.1之间随机生成,其中,每条星间链路的链路故障概率在统计上是独立的。
[0115]
进一步的,上述网络状态延迟获取模块820还用于:基于各上述链路故障概率,计算获取每个单链路故障场景概率和无链路故障场景概率;分别计算各单链路故障场景下的平均时延和无链路故障场景下的平均时延,其中,上述平均时延为卫星交换机到卫星控制器的平均时延;基于各上述单链路故障场景概率和上述无链路故障场景概率对各上述单链路故障场景下的平均时延和上述无链路故障场景下的平均时延进行加权求和,获得网络状态延迟。
[0116]
其中,上述每个单链路故障场景概率分别为软件定义卫星网络架构中每一个存在一条故障星间链路的场景发生的概率,上述无链路故障场景概率为软件定义卫星网络架构中所有星间链路都不故障的场景发生的概率。本实施例中仅考虑单故障问题,因此共包括|e|+1个网络场景,即包括1个无链路故障场景和|e|个单链路故障场景。具体的,分别计算每个单链路故障场景概率和无链路故障场景概率,然后计算每个场景(包括单链路故障场景和无链路故障场景)下卫星交换机到卫星控制器的平均时延。进一步的,根据上述各上述单链路故障场景概率和上述无链路故障场景概率对各上述单链路故障场景下的平均时延和上述无链路故障场景下的平均时延进行加权求和,获得网络状态延迟,即为需要进行优化求解的目标。
[0117]
可选的,当考虑多故障问题时,基于具体需要考虑的故障情况(如两个卫星故障的场景)计算对应的网络状态延迟,计算流程与上述流程相似,在此不再赘述。
[0118]
具体的,本实施例中,上述计算模块830具体用于:获取要部署的目标控制器数量;基于上述目标控制器数量,通过模拟退火算法进行求解,获取上述网络状态延迟的最优解和对应的控制器部署方案,其中,上述网络状态延迟的最优解为上述网络状态延迟的最小值。
[0119]
具体的,上述目标控制器数量为需要在上述软件定义卫星网络架构中部署的控制器的数量,可以预先设定,也可以根据实际需求进行设置和调整,在此不做具体限定。由于卫星网络是大规模网络,模拟退火算法等启发式算法在寻找具有较大区域的函数的全局最
优解(即优化问题具有较大的搜索空间)时的时间复杂度低,能产生令人满意的近似最优解,而且所用的时间较短。所以设计一种模拟退火算法来求解得到近似最优的控制器部署方案。可选的,实际使用过程中,还可以基于其它合适的算法计算获取对应的最优解和控制器部署方案,在此不做具体限定。本实施例中,上述计算模块830的具体计算流程与图7所示的流程相似,在此不再赘述。
[0120]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图9所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和软件定义卫星网络控制器部署程序。该内存储器为非易失性存储介质中的操作系统和软件定义卫星网络控制器部署程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该软件定义卫星网络控制器部署程序被处理器执行时实现上述任意一种软件定义卫星网络控制器部署方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
[0121]
本领域技术人员可以理解,图9中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0122]
在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的软件定义卫星网络控制器部署程序,上述软件定义卫星网络控制器部署程序被上述处理器执行时进行以下操作指令:
[0123]
构建软件定义卫星网络架构;
[0124]
获取上述软件定义卫星网络架构在故障条件下的网络状态延迟;
[0125]
基于模拟退火算法计算获取上述网络状态延迟的最优解和对应的控制器部署方案;
[0126]
基于上述控制器部署方案对上述软件定义卫星网络架构中的控制器进行部署。
[0127]
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有软件定义卫星网络控制器部署程序,上述软件定义卫星网络控制器部署程序被处理器执行时实现本发明实施例提供的任意一种软件定义卫星网络控制器部署方法的步骤。
[0128]
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0129]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0130]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0131]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0132]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0133]
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0134]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。