基于微服务的二三维一体化电力GIS平台设计

2022-08-31 03:47周慧明张晓春章洪良
制造业自动化 2022年7期
关键词:可视化模块用户

周慧明,张晓春,章洪良,杨 帆,金 宁*

(1.浙江华云信息科技有限公司,杭州 310008;2.中国计量大学,杭州 310018)

0 引言

电力是当今社会重要的能源之一,由于人口、经济、资源、地理环境等因素,造成了电力数据具有复杂的空间特征[1]。电力GIS是将电力企业中设备信息、生产数据、用户信息等进行信息化的综合生产管理系统,其集成了电力数据采集、信息管理、数据挖掘等功能[2~4]。大力发展电力GIS,有利于保证电力生产、运输、管理等环节的效率,提高供电企业的生产经济效益。

电力作为最主要的生活能源之一,其在生产、运检和管理的过程中产生大量数据[5]。而电力GIS的核心任务是为电力行业的各项任务提供地理空间信息基础数据与服务,其强大的分析与可视化能力,可满足电力行业对空间数据管理和可视化等方面的需求[5]。二维GIS技术与电力GIS中的广泛应用,使得电力GIS在处理地理信息数据方面具有优异的表现。例如,于泓漪提出了电力GIS建设的系统模型,并对电力GIS中的多种数据模型进行对比分析[6];钟一俊等阐述了电力GIS的业务规划、GIS建设的关键技术,提出了技术架构[7]。随着“智慧城市”概念兴起,对电力GIS提出了更高的要求,需要其具有处理更高维度空间数据的能力,从而真实再现三维客观世界[8]。随着三维GIS技术更加成熟,开展三维GIS技术在电力系统中的应用具有重要的意义。魏祖宽等分析了二维GIS在电力系统中的局限性,并探讨了三维GIS技术的在电力系统下的应用[9];张亚迪等针对实际场景中电网系统中的数据展示,将三维GIS应用到电网管理系统中,实现了电网数据信息的可视化[10];王堃等针对电力配网的特点,开发了基于三维GIS的电力配网系统[11]。

三维GIS技术处理空间数据具有非常大的优势,能够对电力设施及其周围环境进行三维可视化展示,但是其需要高质量的数据进行支撑,造成了其在三维数据存储、处理以及可视化等方面存在缺陷,不能很好地满足实际应用需求。开展二三维一体化GIS平台已经成为一个热点研究课题。目前,基于二三维一体化技术的GIS平台在地理信息管理、军工、农业等领域开始了广泛的应用[12~14]。因此,开展二三维一体化的电力GIS平台对电力系统具有重要的意义和应用价值。

基于上述需求,本文提出一种基于微服务的二三维一体化的电力GIS设计方案,该方案在电力GIS中集成二维地图和三维地图的数据,利用数据同步技术和二三维联动技术,实现电力GIS对多维度地图数据的处理和分析;同时本系统基于微服务的思想,进行总体架构和功能的设计,实现服务组件化,提高系统的扩容能力,保证了平台的高可用。

1 基于微服务的二三维一体化电力GIS总体架构

微服务架构是一种细粒度、自治、协同工作的服务体系,其依据业务需求将应用程序划分成多个相互独立的子服务,各个子服务通过轻量级的通信机制进行数据传递。微服务架构具有开发简单、可扩展性、可升级性、技术异质性等特点,便于系统的技术升级和功能更新[15]。基于微服务的二三维一体化GIS系统主要架构如图1所示。本系统将架构划分为多个层级,包含基础层、数据层、服务层、代理层、应用层等。数据层,选择关系型数据库MySQL、文件服务器以及UDB作为数据存储;服务层,该层是本系统的主要内容,包含了二三维地图引擎管理、业务服务、基础服务、组件管理等;接口层,使用SpringCloud Gateway作为了服务网关,接收外部请求并进行转发;代理层,使用Nginx作为反向代理服务器;应用层,实现了外部提供的应用;展示层,是该系统的Web和移动端界面,实现系统与人的交互。

图1 二三维一体化电力GIS系统架构

1.1 基础层

基础层包括了网络、物理机、云计算以及虚拟机等基础设施。基础设施层负责为二三维一体化电力GIS平台提供基本保证。

1.2 数据层

数据层包含,PMS系统数据、业务数据、矢量数据、气象数据、影像数据、模型数据、DEM高程数据等。根据数据形式不同,选择不同的存储系统进行存储。本系统采用MySQL与文件服务器的形式存储PMS系统、业务数据等数据;针对地理信息数据,如模型数据、矢量数据以及DEM数据采用UDB数据进行存储。

1.3 服务层

服务层是该系统的重要组成部分,包含了业务服务、基础服务、管理组件、公共组件等内容。本系统选择基于Java的Spring框架作为技术框架,对多数主流框架提供支持,且提供了事务管理、依赖关系管理等众多功能;

基础服务包含了权限控制、缓存服务、引擎管理以及任务调度等内容;

业务服务包含用户管理、数据处理、信息查询、智能应用、二维地图、三维地图、基础业务、视频监控、设备信息、天气信息、风险预测、数据可视化等服务;

公共组件中包含日志记录、服务通信和消息队列等部分,本系统采用Log4j作为日志记录组件,记录运行时变量变化状态;Feign作为服务通信工具,实现服务通信,同时可搭配服务注册中心实现负载均衡。Kafka作为消息队列,完成高吞吐量的分布式消息发布订阅。

管理组件包含服务发现、服务限流、服务熔断等部分,本系统采用Eureka作为服务注册中心组件,具有应付网络故障能力强的特性;采用Hystrix作为服务熔断组件,支持异步调用;采用Nacos作为配置中心,统一管理服务配置。

1.4 接口层

接口层选择SpringCloud Gateway作为网关,其具有线程开销小,异步通信块,支持各种长链接且功能丰富。

1.5 代理层

代理层选择Nginx作为反向代理服务器和静态资源服务器,其具有内存消耗少、成本低、性能优越等特性,同时其包含的负载均衡策略,奖励接口层负载。

1.6 应用层

应用层向外部提供具体的应用,包含了数字大屏、信息查询、信息分析和智能应用(应急指挥、线路巡检、设备检修、风险预警)等应用。

1.7 展示层

二三位一体化电力GIS平台提供了PC端和移动端的登录,实现单点登录操作,单点登录即用户登陆一次即可访问平台所有微服务的资源,使用JWT令牌作为用户身份认证许可,增加了交互友好程度。

2 二三维一体化电力GIS平台功能设计

二三位一体化电力GIS功能设计包含了系统基本工具、数据处理模块、信息查询模块、信息分析模块、智能应用模块以及用户管理模块等内容,如图2所示;该平台实现从数据采集到电力GIS应用的全生命周期管理。

图2 二三维一体化电力GIS功能设计

2.1 数据处理模块

二三维一体化电力GIS平台主要包含多种类型的数据,涉及电力设备、地形以及模型等内容。该模块功能主要包含了数据的处理、可视化以及管理等;用于实现不同类型数据的导入、导出以及管理。

2.2 信息查询模块

浏览查询模块是建立三维场景构建的基础上该模块包含了电缆查询、工井浏览、道路查询、电缆沟浏览等内容。该模块用于满足查询电缆、道路、工井以及电缆沟等需求,并显示其相应的属性信息,使用户直观感受电力设备的实际分布情况。

2.3 基本工具模块

二三维一体化电力GIS平台中包含了二维以及三维地图,基本工具模块包含了对二维和三维视图的操作,包含了视图保存、视图打印、视图输出、视图数千、场景打印、场景输出等基本功能。

2.4 信息分析模块

二三维一体化电力GIS平台中分析模块包含了电力热图、电力网架变化、负载率分析以及电力骤降分析等基本的分析功能,同时也实现了辅助决策的功能。该模块可以实现供电情况以及停电故障的分析,辅助决策功能可在出现停电检修时对故障诊断进行决策支持。

2.5 用户管理模块

本平台的服务对象分为普通用户以及管理用户,不同用户的权限时不同的。管理用户拥有最高权限,可以对普通用户使用的功能进行限制。普通用户则根据拥有的权限,可在平台中进行相应的操作。

2.6 智能应用模块

二三维一体化电力GIS平台智能应用主要包含了线路巡检、应急决策以及风险预警等功能。该模块时将二三维一体化电力GIS平台中形成的数据进行应用开发,为电力系统提供更智能的信息服务。

3 关键技术研究

3.1 二三维一体化技术研究

二三维一体化可以提升电力GIS的运行效率、用户体验以及方便外部应用二次开发,本系统采用基于统一图形显示框架的二三维一体化技术。本系统通过构建一个统一的显示逻辑层,实现了统一的二三维一体化对外显示接口,方便二次开发人员进行开发;本系统只采用三维图形引擎进行工作,提升了系统运行效率。通过该技术实现了二三维地图之间的平滑切换,以及拖动和缩放等操作,其技术工作流程如图3所示。

图3 二三维一体化技术工作流程

1)数据同步

二三维一体化电力GIS涉及的二维地图和三维地图其形式存在差异,导致其显示范围不一致,因此实现二三维一体化功能,需要完成数据的同步。其基本思想是根据二维地图和三维地图两者自身的参数,如坐标、深度信息等,经过一系列变换使二维地图窗口与三维地图窗口的映射到同一空间的目的。基于该思想,本系统创建一个同步函数,对同步进行事件监听。当二维地图与三维地图需要一体化时,首先获取两者源数据中的相关属性,包括栅格数据图层中的瓦片url地址、瓦片级别、分辨率参数等,矢量数据则包括参考坐标系、分辨率、样式、矢量要素等。然后调用本系统采用的Cesium三维地图引擎,达到数据同步的目的。

2)二三维联动技术

二三维联动技术是指当用户操作二维地图或三维地图中的一个窗口时,另一窗口的视角和区域应跟随其变换。本系统根据用户调用指令,首先移动其中一个窗口,然后利用数据同步功能,计算另一地图窗口的变化情况,将相应数据输入到三维地图引擎中进行地图绘制,实现二三维联动展现。

3.2 微服务划分

微服务拆分是实现微服务设计的关键步骤,需要跟着实际业务场景进行规划;本系统依据微服务划分的单一职责、服务自治、去中心化、轻量级通信等原则,将系统中的微服务划分为原子服务与聚合服务,其中聚合服务包含系统基本工具、数据模块、查询服务、分析服务、用户管理服务等;原子服务包含二维地图服务、三维地图服务、设备信息服务、数据可视化服务、风险预测服务、天气信息服务、视频监控服务、基础业务服务等,其微服务划分如图4所示。

图4 二三维一体化电力GIS平台微服务设计

1)系统基本工具服务提供了针对多维视图的操作,包括视图基础操作,场景可视化以及三维漫游等,其由二维地图服务、三维地图服务、数据可视化服务等原子服务构成。

2)数据处理服务,完成对各种类型数据的管理,包括数据导入导出、数据可视化、专业数据建模以及数据管理等;其由数据可视化服务、基础业务服务、设备信息服务等组成;

3)信息查询服务,实现了二三维一体化电力GIS一些可视化信息的查询,包括电缆查询、工井浏览、电缆沟览、坐标定位等,其由二维地图服务、三维地图服务、设别信息服务、视频监控服务、基础业务服务以及数据可视化服务等组成

4)信息分析服务,实现所监管区域的数据分析以及辅助决策,包括电力热力图、电力网架变化、电压暂降分析以及辅助决策等;其由数据可视化服务、设备信息服务、基础业务服务等组成。

5)用户管理服务,包括管理员操作、用户权限管理以及用户信息管理等,其主要是由基础业务服务组成。

6)智能应用服务,包括线路巡检、应急决策以及风险预警等,提供了电力GIS平台的上层应用,其由二维地图服务、三维地图服务、设备信息服务、数据可视化服务、风险预测服务、天气信息服务、视频监控服务、基础业务服务等,组成而成。

4 电力GIS的应用

4.1 线路巡检

本系统可接入无人机、机器人等外部设备,利用外部设备扫描的数据,如红外热图、音频数据以及可见光图片等传输到二三维一体化电力GIS中;二三维电力一体化电力GIS会讲外部数据与存储的数据进行融合,根据用户的需求构建三维模型或者二维模型,从而进行实时直播或回放。

4.2 应急决策

当电力GIS监控范围内发生事故时候,用户可在第一时间获取事故点信息(如行政区名称、变电站信息等)精确显示在二三维电力GIS平台上。也可以通过查询功能,了解附近的道路信息、天气状况以及救援物资分布,决策者可根据显示的实时信息制定救援策略,最大程度降低事故损失。

4.3 风险预警

二三维电力一体化电力GIS中接入了气象信息,可根据接入的气象信息以及外部的传感器进行环境信息的真实模拟,形成实时三维地图;当发生灾害天气时,该系统可进行灾难评估,针对灾难评估中的灾害等级提供不同程度的预警,最大程度降低灾害天气对电网的影响。

5 结语

本系统提出了一种基于微服务的二三维一体化电力GIS平台设计方案,该方案采用微服务架构设计,依据微服务切分原则,对平台服务进行多维度的分解,具有服务解耦、开发环境独立、部署环境独立以及扩展性强的优点;并且本系统在同一平台框架下采用二三维一体化技术,实现二维地图与三维地图的联动,有效节省在电力GIS系统中所使用的人力物力及时间成本,二维现存资源被更充分地利用,使得实时视图信息构建更加快速。通过构建本系统,有效的获取电力设备设施、电网运行状态、电力技术与自然环境等数据,满足了数据快速可视化与空间异构快速转化的需求,促进了电力GIS在线路巡检、风险预警、应急决策等方面的应用。

猜你喜欢
可视化模块用户
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
28通道收发处理模块设计
“选修3—3”模块的复习备考
思维可视化
自然资源可视化决策系统
关注用户
关注用户
关注用户
如何获取一亿海外用户