IPv6电力数据监测移动应用系统的研究

2018-03-28 21:49:38 《电力信息与通信技术》微信公众号  点击量: 评论 (0)
文章对电力行业中使用移动应用程序人工定期巡线的数据监测方式进行分析,在满足数据结构多样、网络情况复杂、保证数据安全的数据监测条件基础上,设计实现了一套使用IPv6技术的电力数据监测移动应用系统。介绍了系统采用面向服务的架构设计和各个子程序的设计过程,同时阐述了系统

 0 引言

电力输电线路网络的发展直接影响国家的经济命脉和可持续发展,确保输电线路网络的安全、可靠运行具有重要的社会和经济意义[1]。随着移动互联网技术、物联网技术、大数据技术、现代化传感技术、通信技术、智能计算控制技术在电力工业中的深度应用,智能电网已经成为当前电力输电线路网络的必然趋势。当下,建设可靠性高、安全、高效益、稳定、低耗的智能输电线路网络,已经成为国家电力和能源行业发展的必经之路[2]。在电力行业中,为了便于对电力系统的管理,往往需要精确的获得每一个电杆、输电线路、变电站等的实时的大量的各种信息数据。目前IPv4协议随着应用范围的扩大,地址匮乏的问题越来越明显,在电力行业很难精确地获得每一个站点的实时信息,IPv6是为了解决IPv4的问题和不足而提出的新一代协议,其在电力地理信息行业主要能够解决以下3个方面问题。

1)对于电力地理信息行业,IPv6有效解决了IPv4的IP地址不足问题以及IPv4在互联网应用上的各种限制等。这样就可以通过地理信息系统精确的获取每一个电力监测点实时的大量的信息,便于对整个电力系统的检测与管理。

2)解决数据传输上的安全性。IPv6相比IPv4,IPv6采用了AH认证支持MD5_96、SHA1_96认证加密算法,并采用封装安全载荷(Encapsulate Security Payload,ESP)支持DES_CBC、RC5、CAST_128等加密算法,密钥交换协议以及更严格的Internet控制报文协议(Internet Control Message Protocol,ICMP)地址解析,采用IPSec安全体系架构,此架构可以“无缝”地为IPv6网络环境下的网络层数据传输提供各种安全服务,如提供访问控制、数据源的身份验证、数据完整性检查、机密性保证以及抗重播攻击等,解决了网络层到端数据传输的安全问题[3]

3)解决海量数据传输的时效性。IPv6取消了IPv4中数据包首部的校验和字段,提高了数据包的传输速率。基本首部还增加了流标识和传输类别字段,以加强对实时数据传送的支持。

国外对于IPv6在电力行业上的应用起步较早,各种框架规范较为完善,并已发展较为成熟[4]。国内相关研究处于实验阶段,涉及电力视频监控、输变电状态监测、95598智能互动网站等。本项目基于国内外的已有研究成果,选择电力行业IPv6过渡中的数据监测环节,结合移动应用系统进行研究运用,与其他类似同类研究比较具有差异性和优
越性。

 1 IPv6电力数据监测移动应用系统研发思路

基于移动应用程序人工定期巡线的监测方式是指:安排人员定期的对输电线路进行巡查,并对输电线路的相关设施(杆塔、导线、绝缘子等)进行专业测量,将测量的数据通过移动设备上运行的应用程序传输到后台系统,以供后台系统分析使用的移动电力数据监测方式[5]

通过对输电线路监测相关研究的了解,基于IPv6技术的实际特性,结合对实际系统使用情景的分析,总结出该系统研发的主要思路。

1.1 数据结构多样

首先数据监测移动应用系统的主要功能为数据采集,而采集的数据结构类型多样。包含气象环境、杆塔状态、导线状态、采集地理位置等结构化数据,以及杆塔照片、视频和采集地点照片、视频等非结构化数据[6]。需要考虑到系统能在今后使用中动态添加需要采集数据的字段,有较强的扩展性能,同时要考虑到数据需要进行相关的分析,便于大规模计算[7]。最后需要考虑到系统必须的人员管理、分组管理、权限管理等业务功能,是一系列较强的关系型数据结构。因此,系统采用关系型数据库与非关系型数据库结合的方式进行开发。

1.2 网络情况复杂

数据监测移动应用系统主要使用环境为野外,而野外环境的网络情况相对较复杂。西南区域大部分输电线路沿线的电力数据通信专网还未建成,因此需要采用传统GPRS方式进行数据传输。一些偏僻地区没有GPRS信号,需要采用离线存储,待有其他方式网络信号时再进行数据传输和数据同步。而对于已经接通电力数据通信专网的情况,需要考虑到现阶段电力数据通信网络处于IPv6过渡阶段[8],需要使用有IPv6网络的情况下使用IPv6网络,没有IPv6网络的情况下使用IPv4网络的混合式数据传输方式。

1.3 保证数据安全

系统的数据安全需要从数据传输和数据存储2个方面进行考虑。

在数据传输方面,虽然IPv6所有的命令和执行都有安全方面的考虑,IPv6 协议巨大的地址空间、固化的安全机制等新特性对提升网络安全性有一定的作用[9],提供了加密和认证机制,这些机制都是在网络层上实现的,对于网络层以上的应用是不可见
[10-11]。但是系统需要考虑在IPv4网络环境下运行的安全性问题,传输数据要进行加密,所有传输接口也要进行权限验证等防护。

数据存储方面,对于移动端存储的数据和后端数据库存储的数据都要进行加密处理,同时后端数据库都要进行备份防灾。

 2 IPv6电力数据监测移动应用系统具体设计

在满足系统主要功能需求的条件下,依据数据结构多样、网络情况复杂、保证数据安全的研发思路对系统进行设计。

2.1 总体设计

IPv6电力数据监测移动应用系统软件部分采用面向服务的方式进行开发,便于后期系统扩展(如接入地理信息系统)。系统分为数据接口服务程序、后端管理程序和移动端应用程序3部分,使用数据库软件存储监测系统的数据,所有对数据的操作都需要经过数据服务接口系统进行,再结合硬件(服务器、路由器、交换机等)搭建运行环境。

2.2 数据接口服务程序

数据服务接口系统为面向服务开发方式的核心,使用Node.js(一个基于Chrome JavaScript运行时建立的平台)技术进行开发,Express(基于Node.js平台的Web应用开发框架)提供HTTP服务。主要是为所有系统应用服务,为应用进行数据操作提供支撑,并且控制对系统数据库进行的操作,只有通过权限认证的用户才能进行相关数据操作,达到有控制的开发数据库给外部使用的目的。其运行方式如
图1所示。

数据服务接口系统使用RESTful API(一种软件架构风格)的接口为前后端应用提供JSON(JavaScript Object Notation)格式的数据服务。

图1 数据接口服务运行方式Fig.1 The operation mode of the data interface service

2.3 后端管理程序

后端管理程序采用AngularJS(web应用中的一种端对端的解决方案)框架进行开发,使用AJAX(Asynchronous JavaScript And XML)方式与数据接口服务进行HTTP协议的数据交换。该程序分为基础数据管理、数据采集管理、用户管理和日志查看4个主要功能模块,功能结构如图2所示。

图2 后端管理程序功能结构Fig.2 Back-end management program functional structure

1)基础数据管理模块对电力设施的基础数据进行管理。如添加、修改杆塔的基本数据,为采集该杆塔的数据提供数据基础支撑,同时可以对基础数据的类别进行编辑。

2)数据采集管理模块是管理移动应用采集数据的模块。可以对移动应用采集数据的类别、字段、内容进行控制,同时可以查看管理移动应用采集的数据。

3)用户管理模块是对使用该系统的用户账户进行管理,同时可以分组对用户的权限进行管理[12]

4)日志查看模块主要是记录该系统所有用户进行的操作,一定程度上保证系统的安全,并为出现的安全问题提供追查方式。

2.4 移动端应用程序

移动端应用程序是基于JAVA开发的Android应用程序,主要分为3个模块(见图3)。

数据采集模块为核心模块,实质功能为数据采集,分为新增数据采集和已采集数据更新。

数据查看模块可以对基础数据进行浏览,同时可以对已经上报的数据进行浏览。

图3 移动端应用程序功能结构Fig.3 Mobile application functional structure

系统设置模块则可以退出登录保证数据安全,对个人信息进行查看修改。

2.5 系统数据库

为满足数据结构的多样条件,系统数据库采取MySQL存储关系型数据(人员信息、分组信息、权限信息等)和MongoDB存储非关系型数据(采集数据、基础数据等)2种数据库混合使用的方式。

2.6 运行网络环境设计

系统网络环境如图4所示。基于网络情况的复杂条件,分为3种情况:使用GPRS网络传输数据时,移动终端经过GPRS基站将数据通过互联网传输到电力专网[13],这时需要通过专网的边界服务器,才能到达系统应用服务器;通过电力数据通信网络,根据IPv4或IPv6相关网络设备进行数据传输,因此应用服务器要同时支持采用2001:2501:2100:2000::/64前缀的IPv6以及210.40.2.66和210.40.2.67这个地址段的IPv4网络。

图4 系统网络环境Fig.4 System network environment

 3 系统核心开发

因为系统开发并非本研究主要内容,所以在此仅对核心IPv6相关功能开发进行说明。

3.1 接口服务的IPv4与IPv6的混合实现

数据接口服务程序使用Node.js下的Express进行开发。Express基于HTTP服务,因此对于IPv6是兼容的。在实际使用中只需在创建服务监听时将传入IP地址的参数赋值IPv6地址即可:

var serverv6 = http.createServer(app);

serverv6.listen(port, “IPv6地址");

而对于需要同时监听IPv4和IPv6的情况,只需多建立一个对IPv4的监听即可:

var

大云网官方微信售电那点事儿

责任编辑:售电衡衡

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞