APP下载

天地一体化网络可视化系统设计与实现

2022-10-11安沈昊于荣欢

电子设计工程 2022年19期
关键词:网络结构视图链路

安沈昊,于荣欢

(航天工程大学复杂电子系统仿真重点实验室,北京 101416)

天地一体化网络横跨多个物理域,由天基骨干网、天基接入网、地基主干网组成,并与互联网和移动通信网互联互通,既是国家未来重要的信息网络基础设施,也是军队未来遂行各类作战任务的重要网络信息支撑[1]。然而,目前虽然对一般复杂网络的仿真研究已有相当长的时间,但对于各方面复杂性特征较为突出的天地一体化网络来说[2],在如何对其网络结构进行可视化展示与分析这一方面,还没有一个完整的可视化指导框架,更缺乏相应的可视化方法。对此,该文以全方位、多角度展现天地一体化网络结构为目标,提出了一套天地一体化网络多视图可视化框架,据此设计并实现了一个天地一体化网络可视化原型系统SGINVisSys(Space-Ground Integrated Network Visualization System),该系统不仅支持天地一体化网络仿真数据在不同尺度、不同视角下的可视化展示与分析,还允许用户进行多种灵活、简便的交互控制操作。

1 基础技术

1.1 Web GL

Web GL(Web Graphics Library),即网页图形库,是一种基于Open GL 并能在Web 环境下绘制图形的技术标准和协议[3],其应用架构如图1 所示。在这种标准下,通过将Open GL 与编程语言JavaScript 相结合,对HTML5 中的Canvas 元素进行图形渲染[4],达到良好的视觉效果。由于是通过浏览器直接进行图形硬件加速,因此Web GL 技术具有速度快、效率高、免插件的特点[5],可通过简单的操作实现复杂的数据可视化与场景渲染。

图1 Web GL应用架构

目前Web GL 被广泛应用于网站页面复杂结构的构建,主要解决了以下问题:1)实现了环境的统一化,解决了因浏览器不同而带来的诸多插件问题;2)实现了模式的标准化,通过Open GL 接口进行图形渲染。得益于此,三维图形的制作摆脱了对插件和平台的依赖,现已得到了诸多浏览器的支持[6]。

1.2 Three.js

Web GL 的底层驱动基于Open GL,这种低封装度的API 具有容错率低、开发难度大、计算复杂等特点,需要用户掌握计算机图形学相关知识[7]。为降低开发难度,使用Three.js 作为Web GL 的框架。Three.js 是一个基于JavaScript 语言的轻量级脚本库,主要有以下特点:包含多个可直接调用的数学函数;无需复杂的计算机图形学知识,仅靠若干组件就可构建3D 场景;能提供多样化的3D 效果;加载的3D模型和运算对象支持多种格式。

1.3 Cesium.js

Cesium.js是一个开源的、跨平台的前端JavaScript库,是一个基于JavaScript 语言的开发包[8],通过Web GL 技术来实现图形的硬件加速,可以在B/S 架构下支持动态数据的三维可视化[9]和二维可视化,比如数字地球和二维地理地图。开发者能够利用它快速开发一款基于浏览器的数字地球应用,其性能和渲染质量能满足大部分可视化需求[10]。通过Cesium.js 提供的JavaScript 接口进行图形建模与渲染,可进行全球范围的高精度影像与地形数据调度,支持对时变数据的可视化和多种场景模式,从而实现真正的二三维一体化[11]。

2 总体思路

当前与天地一体化网络有关的大部分可视化原型系统是在STK(Satellite Tool Kit)、ArcGIS 等专业软件的基础上进行二次开发来的[12],从用户角度来看,这些软件的专业性较强,需要用户对航天领域内的相关专业知识有一定程度的掌握,其次是功能多样、操作复杂,需要用户前期花费大量时间熟悉软件的使用,这些特点也导致了其受众面局限于专业人员[13]。

除此之外,当前大部分网络可视化系统的观察视角与交互操作较为单一,既不能有效展示网络结构动态变化情况,也不能展示同一网络在不同视角下的布局情况。这些可视化原型系统大多数侧重于各卫星系统的空间段部分,比如各卫星系统的网络结构及卫星运行态势模拟与可视化[14],对于地面段与用户段涉及的较少,比如星地链路、地面站之间连接关系的可视化等。

结合上述问题,该文设计的天地一体化网络可视化原型系统SGINVisSys 应达到以下目标:

1)以多视图结构为可视化主体,全方位、多角度地展示天地一体化网络的网络结构。

2)重点展现天地一体化网络的结构特征,比如多层特征、动态特征等。

3)能支持多种交互操作,允许用户对可视化结果进行交互控制。

4)主要面向非专业人员,操作简单且具有良好的跨平台性与用户友好性。

3 系统设计

3.1 多视图可视化框架设计

传统的天基网络可视化软件多采用经典的2D+3D 双视图框架,分别从空间和平面两个视角来展示网络结构、节点运行轨迹等[15]。3D 视图的优势在于直观,但是场景内模型过多或过大时会存在严重的信息遮挡。2D 视图虽能避免一些视觉遮挡,但当网络规模过大时,节点与边的重叠、交叉会产生视觉上的干扰,不能较好地展示网络的动态特性。另外,二者的结合并不能很好地展示网络的拓扑结构和多层网络之间的连接情况。

针对以上问题,该文对传统双视图框架进行扩展,如图2 所示,新增一个2.5D 视图[16]和一个逻辑拓扑视图,建立包括逻辑拓扑视图、2D 视图、2.5D 视图、3D 视图的天地一体化网络多视图可视化框架。逻辑拓扑视图主要基于多力导引算法进行网络拓扑结构的布局,基于2D、2.5D、3D 视图的可视化首先通过Web GL 进行多维可视化建模,然后在Cesium 的基础上进行二次开发以呈现多维视图,通过Cesium 自带的时间控制模块展示其网络结构动态变化情况[17],并采用统一的场景图和WGS84 坐标系保证各视图中显示内容的一致性,在服务器端储存高清卫星瓦片影像以构建真实地理图像。多视图框架中各个视图一方面相辅相成、联系密切,另一方面观察角度与尺度均有不同,从而使信息的呈现更加丰富和充分。

图2 多视图可视化框架示意图

3.2 体系架构设计

当前常用的网络架构模式主要由客户机/服务器C/S(Client/Server)架构与浏览器/服务器B/S(Browser/Server)架构,基于C/S 架构的系统在客户端必须对每一种指令集进行适配,并且对于同一指令集,不同的操作系统或版本也需对客户端进行重新编译适配。而基于B/S 架构只需在服务器端配置好服务[18],客户端不管是采用商用平台或是国产平台只需浏览器支持即可。为便于维护管理和快速部署,SGINVisSys采用B/S 架构,如图3 所示,分为浏览器端、服务器端、数据库端三层。

图3 可视化原型系统体系架构示意图

底层数据库端主要为基于MySQL 的天地一体化网络结构数据库与地理信息数据库[19],其中网络结构数据库主要存储天地一体化网络的结构数据,例如节点、链路和网络等各类数据表。地理信息数据库用来存储各种地理数据,比如数字高程模型数据和数字正射影像数据等。

服务器端接收由数据库发出的各类网络结构数据,并对数据进行处理与存储,从而形成视图,在浏览器端展示出来。当用户在浏览器页面上进行相应的交互操作之后,服务器端会根据产生的数据请求在数据库进行查询,之后对数据进行处理并生成视图呈现至浏览器端。由于大部分数据的解析、处理与压缩等操作都在服务器端进行,大大降低了浏览器端的运行压力。

顶层浏览器端是整个可视化原型系统的核心,主要负责天地一体化网络多视图的展示与多种可视化交互操作,部分数据的解析与映射也在浏览器端完成。目前市面上主流的浏览器都具有良好的兼容性,其图形处理能力也能满足绝大多数用户的可视化需求。

3.3 功能结构设计

在完成可视化原型系统总体架构设计之后,对SGINVisSys 的功能结构进行设计,如图4 所示,分为数据处理层、业务逻辑层和展示交互层。

图4 原型系统功能结构示意图

数据处理层主要是对可视化所需数据进行持久化处理,根据用户需求为展示交互层提供数据准备,主要包含数据存储模块、数据管理模块和参数计算模块,具有相应权限的管理维护人员可对其进行控制与编辑。

业务逻辑层位于数据处理层和展示交互层之间,一是对数据进行分析处理,二是向展示交互层提供数据接口,主要包括拓扑布局模块、动画布局模块、视图生成模块和数据分析模块。

展示交互层主要负责将逻辑拓扑视图、2D 视图、2.5D 视图和3D 视图相互关联,组成一个统一的多视图可视化环境,并通过多种类型的交互控制操作辅助用户观察、分析可视化结果。主要包括多视图展示模块、可视化分析模块、交互控制模块和数据查询模块。

4 系统实现

4.1 实验平台及运行环境

天地一体化网络可视化原型系统实验平台及运行环境如下:

1)服务器端

操作系统:Windows 10/Linux;开发工具:D3、Cesium、Web Storm;服务器:Apache;数据库管理软件:MySQL Workbench。

2)浏览器端

浏览器:Firefox。

4.2 数据处理层

数据处理层各模块实现方法与功能如下:

1)数据存储模块,一是依据天地一体化网络结构数据的层次化特性,从节点数据、链路数据与网络数据三个层面由下至上、以依次递进的方式构建基于MySQL 的网络结构数据库,主要存储天地一体化网络的网络结构、设备节点、链接链路、日志等各类数据表(如图5 所示),二是在服务器端存储高清卫星瓦片影像以及数字地球文件等各类信息[20],用来支持二维平面地图以及三维数字地球等的可视化。

图5 MySQL数据库部分示意图

2)数据管理模块,主要依据开发出的数据管理子系统对天地一体化网络的节点与链路数据进行管理。天地一体化网络数据管理子系统采用C/S 架构,支持远程对服务器中的数据库数据进行操作,包括两行式卫星轨道数据管理、轨道数据搜索、轨道数据编辑等模块,支持两行式卫星轨道数据管理、卫星分类树数据管理和地面站数据等管理,图6 所示为数据管理子系统操作页面。

图6 天地一体化网络数据管理子系统操作页面

3)参数计算模块,负责计算节点、链路等的各种参数,包括节点度、节点实时位置和链路能见度分析等,为后续的网络拓扑布局和动画布局提供数据支撑。

4.3 业务逻辑层

业务逻辑层各模块实现方法与功能如下:

1)拓扑布局模块,从数据库读取天地一体化网络结构数据之后,首先通过多力导引算法[21]对网络拓扑结构进行布局,再结合层次聚类算法建立网络多细节层级模型[22],根据显示层级呈现不同层级的网络拓扑结构。如图7 所示,左侧为某子网络整体拓扑结构,右侧为层次聚类之后高一层级的拓扑结构。

图7 拓扑结构布局展示

2)动画布局模块,通过Cesium.js 库读取地理数据绘制数字地球并设置其运动状态,根据节点数据与链路数据绘制节点运行轨迹,之后进行链路能见分析与节点相对运动分析,若计算结果满足建链条件,采用节点-链接的方式构建网络链路的可视化模型,链路两端的节点根据类型用相应图标表示,如图8 所示为星间链路与星地链路的可视化模型。

图8 链路模型示意图

3)视图生成模块,根据拓扑布局模块与动画布局模块的结果生成逻辑拓扑视图、二维平面视图、哥伦布投影视图和三维数字地球视图于前端浏览器显示。

4)数据分析模块,负责分析来自天地一体化网络的各类数据,得到设备节点运行状况、告警等各类信息,并将获得的可用信息存储在数据处理层。

4.4 展示交互层

展示交互层各模块实现方法与功能如下:

1)多视图展示模块,负责在前端浏览器对可视化结果进行渲染和展示,从逻辑拓扑视图、2D 视图、2.5D 视图和3D 视图的角度全方位展现天地一体化网络的结构与运行态势。如图9 所示,逻辑拓扑视图以静态的方式展示了被选中网络某一时刻的拓扑结构,节点的颜色代表着节点类型。其余三个视图则呈现了网络动态演化的过程,节点之间的曲线表示其运行轨迹,直线表示节点之间的链路。四个视图构成关联视图结构,在信息呈现方面具有较强的互补性,静态视图与动态视图的结合形成了单视图难以达到的信息呈现能力。

图9 可视化分析界面部分示意图

2)可视化分析模块,主要基于逻辑拓扑视图对网络拓扑结构特征进行分析。在可视化分析界面中,左侧区域展示了当前被选中网络的整体拓扑结构;中间区域展示相应邻域结构,提供连接模式分析及节点细节信息查询,左侧区域与中间区域截图如图9 所示;右侧区域展示网络层次结构,支持用户对当前网络层次结构细节进行查询与分析;最下方左侧区域显示当前被鼠标选中节点的关键信息,右侧区域并列展示了网络链路的多维属性,可据此对链路信息进行查询与分析。

3)交互控制模块,通过良好的交互与控制操作来增强可视化原型系统的用户友好性[23]。如图10-12 所示,用户可以通过鼠标点击可视化界面右上角的图标在不同视图之间自由切换,也可以通过左侧信息列表的勾选框对场景中可视化实体是否显示进行控制。SGINVisSys 是一个基于时间的实时动态可视化系统,可以通过界面下方的场景运行控制插件对当前可视化场景的运行进行控制。左侧为场景运行控制插件,中间显示的是当前的UTC 时间,右侧为时间轴,可通过左侧的三个按钮或时间轴上的滑竿来控制当前场景的时间。

图10 2D视图

4)数据查询模块,用户通过鼠标点击与键盘输入发出数据查询请求,该模块将数据查询请求传递至后台,通过与其他模块的交互将符合条件的查询结果返回至前端。

图12 3D视图

4.5 应用验证

为进一步对该文可视化原型系统进行验证,选取某部分测控网络进行测试,最终可视化结果如图9-12 所示。该网络主要由若干卫星与地面站组成,分为天基网络与地基网络两个子网,节点共有天基节点与地基节点两种类型,二者之间部分节点存在链接关系,网络链路共有星间链路、星地链路与地地链路三种类型。在拓扑视图中可清楚地观察到天基网络中节点之间互有链接,地基网络则呈现明显的星型拓扑结构,两个子网络主要通过其中几个关键节点链接。而2D 视图、2.5D 视图和3D 视图能帮助用户更直观地观察到节点的空间位置与网络运行态势,与逻辑拓扑视图结合,有效避免了因视角受限而产生的可视化盲区,真正达到了全方位、多角度的可视化效果。

5 结束语

该文综合相关复杂网络理论研究成果和Web GL 等多种可视化技术,根据天地一体化网络可视化方面的研究背景,设计并实现了一套天地一体化网络可视化原型系统SGINVisSys,该系统整合了Cesium 的2D、2.5D 和3D 视图的显示功能,并增加了复杂网络拓扑关系的可视化。首先给出了系统设计的总体思路,提出了一个多视图可视化框架,详细设计了SGINVisSys 的体系架构和功能结构,继而分别阐述不同功能层下各模块的功能与实现方法,最后选择一个案例网络对系统进行验证,从可视化结果可看出,该系统通过多视图框架系统能够辅助用户从不同方面、不同角度观察并分析网络结构,也可为天基网络等其他类似网络[24]的可视化系统的设计与实现提供思路。

猜你喜欢

网络结构视图链路
一种移动感知的混合FSO/RF 下行链路方案*
基于Android设备的异构无线链路聚合软件①
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
《投影与视图》单元测试题
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析
Django 框架中通用类视图的用法
非常规突发事件跨组织合作网络结构演化机理研究