发明内容
本发明的主要目的是克服现有技术的不足,提供基于容器云的卫星星座仿真可视化展示及控制系统。
为实现上述目的,本发明提出基于容器云的卫星星座仿真可视化展示及控制系统,其特征在于,包括:
2D/3D可视化展示模块,用于按照对应的空间坐标,将星座轨道与卫星位置整合并展示在对应的二维地图或者三维空间模型中,以显示星座的位置与轨道;
地理信息资源管理模块,用于维护和管理包括二维地图和其贴图资源,以及三维地球模型及其贴图资源,并加载展示不同精细程度的地图纹理资源与3D模型贴图,以辅助2D/3D可视化展示模块的2D/3D可视化展示;
仿真控制模块,用于导入相应的星座仿真模拟情景文件,控制相应场景文件的运行模式,将星座轨道仿真事件与星座网络仿真结果以同步回放的模式播出,以及通过2D以及3D模型进行可视化渲染;
2D/3D可视化展示模块,用于按照对应的空间坐标,将星座轨道与卫星位置整合并展示在对应的二维地图或者三维空间模型中,以显示星座的位置与轨道;
地理信息资源管理模块,用于维护和管理包括二维地图和其贴图资源,以及三维地球模型及其贴图资源,并加载展示不同精细程度的地图纹理资源与3D模型贴图,以辅助2D/3D可视化展示模块的2D/3D可视化展示;
仿真控制模块,用于导入相应的星座仿真模拟情景文件,控制相应场景文件的运行模式,将星座轨道仿真事件与星座网络仿真结果以同步回放的模式播出,以及通过2D以及3D模型进行可视化渲染;
其中所述2D/3D可视化展示模块还能够倍速播放以及反向回放卫星星座的轨道以及网络的仿真模拟结果;所述系统还包括平台监控模块,用于维护和管理整个卫星星座仿真模拟平台的各种资源,包括监控项目运行状态、平台计算资源利用率、系统剩余存储空间大小和整体网络通讯负载;所述系统还包括基于Web的控制台,所述基于Web的控制台以通过命令行的方式对仿真模拟进行控制与交互;所述基于Web的控制台能够由仿真调度通过底层接口,进而直接访问代表对应卫星的容器节点,进行时延测试,通讯测试,以及进一步进行承载真实业务流量的网络仿真;所述基于Web的控制台还能够在进行时延测试时,发出指令,通过仿真控制服务按照当前卫星网络拓扑结构以及星座连通矩阵的数据,判断对应指令要求的卫星是否连通。
优选地,所述基于Web的控制台还能够通过仿真控制服务,在卫星间链路可见的情况下,允许用户通过登录进入代表对应卫星的多个容器中;在容器中调用网络协议工具,在两个或多个容器之间建立实时消息链接,进行实时消息发送,并反馈信息收发效果。
进一步,所述2D/3D可视化展示模块能够将各个时刻完整的卫星网络拓扑、卫星网络拓扑的各节点显示。
进一步,所述基于Web的控制台能够由仿真调度通过底层接口,进而直接访问代表对应卫星的容器节点,进行时延测试,通讯测试,以及进一步进行承载真实业务流量的网络仿真。所述基于Web的控制台还能够进行时延测试时,发出指令,通过仿真控制服务按照当前卫星网络拓扑结构以及星座连通矩阵的数据,判断对应指令要求的卫星是否连通。所述基于Web的控制台还能够通过仿真控制服务,在卫星间链路可见的情况下,允许用户通过登录进入代表对应卫星的多个容器中;在容器中调用网络协议工具,在两个或多个容器之间建立实时消息链接,进行实时消息发送,并反馈信息收发效果。
卫星星座网络仿真结果经由基于容器云的卫星星座仿真可视化展示及控制系统展现,同时用户控制仿真结果的播放模式并进行互动操作。提供2D/3D模式的展示效果,将对应的2D/3D模型加载并渲染在对应的二维地图或者三维空间模型中,直观的展示出卫星星座的运动模式。利用容器化的优点可以平衡仿真业务相关的数据处理与展示业务相关的需求,减少卡顿现象。另外,在展示之前,将卫星星座轨道时序与卫星网络拓扑时序等数据协同进行预处理,也可进一步减少渲染阶段的复杂计算,避免在渲染循环中引入复杂的高负载操作。最后实现不同方位视角,不同高度距离来观察仿真结果,利用容器化的特点,可使系统随着角度的缩放加载不同精细程度的模型,从而达到模型展示的精细度与展示系统流畅程度之间的平衡。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图4,为基于容器云的卫星星座仿真可视化展示及控制系统的基于Web的控制台示意图。基于容器云的卫星星座仿真可视化展示及控制系统,包括:
2D/3D可视化展示模块,用于按照对应的空间坐标,将星座轨道与卫星位置整合并展示在对应的二维地图或者三维空间模型中,以显示星座的位置与轨道。另外2D/3D可视化展示模块能够各个时刻完整的卫星网络拓扑、卫星网络拓扑的各节点显示。更具体来说2D/3D可视化展示模块,通过利用OpenGL/WebGL技术,可按照对应的空间坐标等参数,按需将星座轨道与卫星位置整合并展示在对应的二维地图或者三维空间模型中,直观的展现给用户星座的位置与轨道等状态。除星座中的卫星之外,位于地面的可移动用户终端以及固定的地面站等设施,也会被呈现在二维地图与三维空间模型中,从而直观的体现出仿真模拟中整条卫星通讯链路从用户终端,到运行于轨道上的卫星,再到相关的地面站,这一完整的端到端的通讯场景。卫星星座的轨道以及网络的仿真模拟结果,均可在可视化展示模块中通过2D/3D的方式,以实时同步回放的模式展现给用户。此外,为了方便对结果的进一步研究,可视化展示模块还提供了倍速播放以及反向回放等模式。用户可进行快进操作,也可以对结果进行倒放,从而对某一时间段内的仿真状态进行重点研究。倍速播放与回放等功能,方便用户按需从不同的时间维度来对仿真结果进行研究解读。
地理信息资源管理模块,用于维护和管理包括二维地图和其贴图资源,以及三维地球模型及其贴图资源,并加载展示不同精细程度的地图纹理资源与3D模型贴图,以辅助2D/3D可视化展示模块的2D/3D可视化展示。也就是地理信息资源管理模块主要负责维护和管理包括二维地图和其贴图资源,以及三维地球模型及其贴图在内的各种资源。在2D/3D可视化展示时,随着模型角度的变化,以及地图展示范围的修改和用户视角的缩放,资源管理模块将按需求提供并且加载展示不同精细程度的地图纹理资源与3D模型贴图等不同的资源文件,辅助2D/3D可视化展示模块的工作。为配合卫星星座网络模拟,地理信息资源管理器模块还应考虑到不同地理位置坐标的数学变换关系,配合相应的2D/3D可视化展示模块的不同数据接口,提供满足对应数据格式的纹理贴图等资源。
仿真控制模块,用于导入相应的星座仿真模拟情景文件,控制相应场景文件的运行模式,将星座轨道仿真事件与星座网络仿真结果以同步回放的模式播出,以及通过2D以及3D模型进行可视化渲染。优选地所述2D/3D可视化展示模块还能够倍速播放以及反向回放卫星星座的轨道以及网络的仿真模拟结果。具体来说,运行仿真模拟之前,需要通过仿真控制模块导入相应的星座仿真模拟情景文件。在仿真控制模块,可以控制相应场景文件的运行模式,例如可以控制分别运行卫星星座轨道仿真场景和星座网络仿真场景,从而优化性能表现。并在随后将星座轨道仿真事件与星座网络仿真结果以同步回放的模式播出,并通过2D以及3D模型进行可视化渲染,通过直观的展示进一步方便用户对仿真模拟结果进行研究。
以及平台监控模块,在可视化及仿真控制模块中,除场景导入、2D/3D可视化、地图资源管理、倍速播放及回放等功能外,另一个重要的功能模块为平台监控。平台监控模块负责维护和管理整个卫星星座仿真模拟平台的各种资源,包括监控项目运行状态、平台计算资源利用率、系统剩余存储空间大小、整体网络通讯负载等信息。此外,管理员在平台监控模块中,还可直接监控系统底层的虚拟化环境以及其运行状态,在出现问题时,按需进行简单的故障恢复等操作。
另外,所述系统还包括基于Web的控制台,不仅提供了通过命令行的方式对仿真模拟进行控制与交互的功能。通过仿真控制服务模块,经由仿真调度通过底层k8s api,进而直接访问代表对应卫星的docker容器节点,进行时延测试,通讯测试,以及进一步进行承载真实业务流量的网络仿真。在利用ping进行时延测试时,从web仿真控制台开始发出指令,经由api调用,通过仿真控制服务按照当前卫星网络拓扑结构以及星座连通矩阵的数据,判断对应指令要求的卫星是否连通。在卫星间链路可见的情况下,进一步通过shh登录,进入代表对应编号卫星的docker容器中,调用网络协议栈,发送ping指令,并最终将所得RTT数值通过回调逐级返回。在进行实时通讯测试时,依旧从web仿真控制台指令开始,通过仿真控制服务,在卫星间链路可见的情况下,允许用户通过ssh登录进入代表对应卫星的多个docker容器中。在容器中调用网络协议工具Netcat,在两个或多个容器之间建立实时消息链接,进行实时消息发送,并反馈信息收发效果。这样卫星星座网络仿真结果经由基于容器云的卫星星座仿真可视化展示及控制系统展现,同时用户控制仿真结果的播放模式并进行互动操作。提供2D/3D模式的展示效果,将对应的2D/3D模型加载并渲染在对应的二维地图或者三维空间模型中,直观的展示出卫星星座的运动模式。利用容器化的优点可以平衡仿真业务相关的数据处理与展示业务相关的需求,减少卡顿现象。另外,在展示之前,将卫星星座轨道时序与卫星网络拓扑时序等数据协同进行预处理,也可进一步减少渲染阶段的复杂计算,避免在渲染循环中引入复杂的高负载操作。最后实现不同方位视角,不同高度距离来观察仿真结果,利用容器化的特点,可使系统随着角度的缩放加载不同精细程度的模型,从而达到模型展示的精细度与展示系统流畅程度之间的平衡。
参考图1至4,本发明还涉及一种基于容器云的卫星星座设计与仿真方法以及一种基于容器云的卫星星座设计与仿真系统。并且为了便于区分,下面将基于容器云的卫星星座仿真可视化展示及控制系统简称为可视化展示及控制子系统,则:
基于容器云的卫星星座设计与仿真方法包括以下步骤:
轨道计算步骤,将整个卫星轨道计算任务拆分成若干子任务,创建相同数量的轨道计算容器,所述的轨道计算容器执行一个或以上的卫星轨道计算子任务以得到当前子任务的卫星网络数据,将所述轨道计算容器得到的卫星网络数据整合以形成各个时刻完整的卫星网络拓扑;
星座仿真步骤,仿真流量源生成的用户流量,经用户终端协议栈处理并发送至卫星网络;卫星节点仿真容器的卫星协议栈对接收到的用户流量做优先级分组和路由转发;信关站节点仿真容器将经过所述卫星网络传输的用户流量用信关站协议栈解析后,交由流量处理服务处理,统计工具对往返的用户流量或网络流量进行监控并计算对应的统计数据指标,进而实现对所述卫星网络拓扑的各节点的模拟
可视化展示步骤,对星座仿真步骤的仿真结果加载对应的2D/3D模型并渲染以在对应的二维地图或者三维空间模型展示出卫星星座的运动模式。
基于容器云的卫星星座设计与仿真系统,包括:
轨道计算子系统,所述轨道计算子系统包括若干轨道计算容器,所述轨道计算子系统将整个卫星轨道计算任务拆分成若干子任务,所述的轨道计算容器执行一个或以上的卫星轨道计算子任务以得到当前子任务的卫星网络数据,所述轨道计算子系统将所述轨道计算容器得到的卫星网络数据整合以形成各个时刻完整的卫星网络拓扑;
星座仿真子系统,所述星座仿真子系统包括若干节点仿真容器,所述节点仿真容器包括协议栈、仿真控制工具和统计工具,所述仿真控制工具对所述节点仿真容器内部组件的初始化及配置调整,所述协议栈将所述节点仿真容器生成的或接收到的用户流量进行处理及发送至卫星网络,所述统计工具对往返的用户流量或网络流量进行监控并计算对应的统计数据指标,进而实现对所述卫星网络拓扑的各节点的模拟;
可视化展示及控制子系统,所述可视化展示及控制子系统用于对显示所述星座仿真子系统的仿真结果,与/或控制仿真结果的播放模式。
架构方面:参考图1,某优选实施例中,基于容器云的卫星星座设计与仿真系统自底向上分为物理层、基础服务层、平台层。
物理层由多台物理机服务器、交换机等网络设备组成;物理机服务器通过交换机实现相互连通。
基础服务层由网络服务、调度服务、日志服务、监控服务、同步服务、存储服务组成,用于提供容器管理、物理资源分配等平台基础功能。
平台层由多个Docker运行时组成。根据功能,可将这些容器划分为两个平面,控制平面和数据平面。每台物理机服务器上运行着一个Docker。运行时,其中运行着若干Docker容器,提供仿真系统功能。
控制平面中的Docker容器提供仿真支撑服务,包括配置管理服务容器、仿真控制服务容器、仿真监控服务容器、数据采集服务容器、数据展示/用户交互服务容器
配置管理服务容器负责业务模型场景配置的管理。
仿真控制服务容器负责仿真实验的启停、根据星座轨道数据调整链路参数等工作。
仿真监控服务容器负责实时监控各仿真节点的状态,并将轨道计算结果及时汇报给仿真控制服务容器。
数据采集服务容器负责收集汇总各仿真节点获得的仿真结果,并将结果提供给数据展示/用户交互服务容器。
数据展示/用户交互服务容器负责提供2D、3D展示及仿真配置调整、仿真实验控制等交互功能。
数据平面中的Docker容器包括所述轨道计算子系统的轨道计算容器以及所述星座仿真子系统的节点仿真容器,它们负责进行实际仿真。
轨道计算容器负责计算仿真实验星座中各实体(卫星、信关站、用户终端)的位置,以供仿真之需。
节点仿真容器是抽象的仿真实体(卫星、信关站、用户终端),根据职能不同运行着卫星路由算法协议栈、应用层服务、用户QoS测试器等软件。
参考图2所示星轨道计算子系统使用基于Java语言编写的底层航天动力学库Orekit来根据卫星轨道计算卫星的位置和与系统中其他节点的连接。Orekit包含了基本的元素(轨道、日期、姿态及框架等)和多样的算法来处理这些元素(坐标转换、轨道预报及定位等)。同时,会将卫星轨道计算算法以微服务的形式运行在Docker容器中,满足大批量的卫星轨道计算,和高时间精度的仿真。
具体来说:首先,轨道计算系统从控制平面获取卫星网络参数,根据其中地面站和用户终端经纬度可以直接计算出其在地球坐标系上的位置。任务拆分模块可以将卫星拆分为n组,还可以将仿真时间切割成m段,最终将整个卫星轨道计算任务拆分成m*n个子任务。
接着,创建相同数量的轨道计算容器,在每个容器中输入子任务参数,由Orekit提供的Propagator(轨道预报器)模块对卫星轨道进行预报,StepHandler(即第一监听模块)和AccessHandler(即第二监听模块)监听Propagator产生的事件,StepHandler记录每个时刻卫星的状态,AccessHandler记录卫星与地面物体可见性切换的时刻,待Propagator计算完成,便可得到当前子任务的卫星网络数据。
最后,经过数据汇总,整合各子任务的计算结果,即可得到各个时刻完整的卫星网络拓扑。
参考图3,星座网络仿真子系统中仿真节点是运行着仿真模型的Docker容器,分为三种类型,用户终端节点仿真容器、卫星节点仿真容器和信关站节点仿真容器。
用户终端节点仿真容器由仿真流量源、用户终端协议栈、仿真控制工具、QoS统计工具组成。仿真流量源生成的用户流量,经用户终端协议栈,发送至卫星网络;用户终端协议栈对用户流量进行处理、收发;仿真控制工具负责容器内部组件的初始化、配置调整等功能;QoS统计工具对往返的用户流量进行监控,计算QoS数据指标。
卫星节点仿真容器由卫星协议栈、仿真控制工具、QoS统计工具组成。卫星协议栈负责对接收到的用户流量做优先级分组、路由转发,必要情况下还可进行进一步处理;仿真控制工具负责容器内部组件的初始化、配置调整等功能;QoS统计工具对网络流量进行监控,计算卫星负载等统计指标。
信关站节点仿真容器由流量处理服务、信关站协议栈、仿真控制工具、QoS统计工具组成。用户流量经过卫星网络传输,通过信关站协议栈解析后,交由流量处理服务处理;仿真控制工具负责容器内部组件的初始化、配置调整等功能;QoS统计工具负责在信关站侧对流量进行监控,计算QoS数据指标。
由于仿真节点中采用协议栈进行网络通信仿真,因而支持基于真实流量的网络模拟,即在用户终端侧和信关站侧可使用真实业务应用客户端/服务端作为真实流量源替代仿真流量源。用户终端的真实流量经过卫星终端协议栈处理转发至卫星仿真节点,再经由卫星协议栈进行星座内数据路由转发,最终到达信关站仿真节点上的真实业务服务程序进行处理。信关站仿真节点运行的真实业务应用服务产生的反馈数据,也可经由上述流程的反向过程抵达用户终端,满足双向通信需求。与此同时,利用系统中各仿真节点运行的QoS统计工具,可实时获得真实业务流量情况下各种数据指标。
参考图4,可视化展示及控制子系统具有基于Web的控制台,不仅提供了通过命令行的方式对仿真模拟进行控制与交互的功能。还可以进一步,通过仿真控制服务模块,经由仿真调度通过底层对对应api,进而直接访问代表对应卫星的docker节点,进行时延测试,通讯测试,以及进一步进行承载真实业务流量的网络仿真。
在利用ping进行时延测试时,从web仿真控制台开始发出指令,经由api调用,通过仿真控制服务按照当前卫星网络拓扑结构以及星座连通矩阵的数据,判断对应指令要求的卫星是否连通。在卫星间链路可见的情况下,进一步通过shh登录,进入代表对应编号卫星的docker容器中,调用网络协议栈,发送ping指令,并最终将所得RTT数值通过回调逐级返回。
在进行实时通讯测试时,依旧从web仿真控制台指令开始,通过仿真控制服务,在卫星间链路可见的情况下,允许用户通过ssh登录进入代表对应卫星的多个docker容器中。在容器中调用网络协议工具Netcat,在两个或多个容器之间建立实时消息链接,进行实时消息发送,并反馈信息收发效果。另外,卫星星座网络仿真结果将经由仿真系统中的星座可视化模块展现,同时用户可通过卫星星座网络仿真控制模块来控制仿真结果的播放模式并进行互动操作。该模块基于OpenGL/WebGL技术来提供2D/3D模式的展示效果,按照卫星星座仿真系统计算所得的轨道参数等坐标,将对应的2D/3D模型加载并渲染在对应的二维地图或者三维空间模型中,直观的展示出卫星星座的运动模式。
这样,将容器技术和卫星星座设计与仿真结合,通过高性能的分布式轨道计算,更接近真实节点的容器化构建,以及更接近真实节点的容器化构建,面对大规模仿真需求时,在不牺牲仿真结果真实性的前提下,利用硬件横向扩容的方式提升网络仿真规模,同时保证仿真执行效率,使系统支持敏捷地实验各种复杂网络拓扑,便于对星座网络进行协议设计、网络性能分析、网络安全验证、网络行为预测、网络规划建设。传统网络仿真无法加载真实的网络流量,因而不得不对这些场景因素进行一系列建模假设,虽然传统网络仿真以统计方式提供了一些基于分布或变化规则的网络流量模型,但是往往与实际流量的行为相去甚远,难以反映网络流量行为的真实情况。而能否产生与真实网络的流量行为接近的流量是决定网络仿真结果是否满足可靠性和正确性要求的基础,因而,通过高性能的分布式轨道计算,更接近真实节点的容器化构建,以及更接近真实节点的容器化构建既提高了仿真的效率,同时也提高了仿真结果的可靠性。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。