基于Spring Boot框架的直升机巡视计划优化系统研究
2019-08-15谷连军孟秀军
谷连军 孟秀军
摘 要:随着电力建设的迅速发展,输电线路巡检工作逐步采用直升机开展实施,作业计划越来越多,单纯依靠巡检人员主观安排计划已无法满足需求。针对这一现状,研究目前广泛应用的Spring Boot框架技术,构建了直升机巡视计划优化系统。在系统的设计实现中,首先根据需求分析,采用Spring Boot框架技术对系统进行分层设计,层与层之間采用接口连接。与传统的Web开发技术相比,Spring Boot框架技术在很大程度上提高了系统代码的可重用性和可移植性。最后,通过原型系统的实现验证了系统设计既能初步解决巡检人员主观安排作业计划等问题,又能降低线路巡检的成本,同时还能够提高巡视计划的完成率。
关键词:直升机;巡视计划;Spring Boot;智能优化;分层设计;线路巡检
中图分类号:TP391;TM7文献标识码:A文章编号:2095-1302(2019)07-00-04
0 引 言
随着电力建设的迅速发展,巡检需求和人力缺员的矛盾日益突出,传统依靠人力为主的输电线路巡维模式在运维质量、工作效率和经济效益上已无法满足当前及未来公司追求的精益管理、降本增效战略发展需要。直升机巡视方式的推广应用提高了巡检效率,缩短了巡检周期[1-2]。直升机巡视模式已在各电力部门逐步推广,越来越多的输电线路巡检维护工作采用机巡的方式开展实施,意味着机巡作业计划将越来越多,单纯依靠巡检人员主观安排飞机作业计划已无法满足需求。
针对当前直升机巡视作业计划调度不合理、完成率低的问题[3],本文开发了一套作业计划智能优化系统,该系统可以分析巡视计划,进行合理分类和优化,给出最优的巡视作业计划,使得巡视效能最优,提升输电线路运维质量和管理效益。
1 相关研究
直升机巡视计划智能优化系统采用Java语言,基于Spring Boot框架进行开发设计,提供基于Restful规则的接口对数据进行管理。采用Hibernate框架进行数据库操作,采用Nginx服务器管理静态资源图片、js脚本以及CSS样式等,采用Redis管理用户信息及访问频率计划。
1.1 Spring Boot
Spring Boot[4]是由Pivotal团队提供的全新框架,其设计目的在于简化新Spring应用的初始搭建以及开发过程。该框架使用特定方式进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot是一些库的集合,能够被任意项目的构建系统使用。简便起见,该框架也提供命令行界面,可以用来运行和测试Boot应用。框架的发布版本包括集成的CLI(命令行界面),可以在Spring仓库中手动下载和安装。一种更为简便的方式是使用Groovy环境管理器(Groovy Environment Manager,GVM)完成Boot版本的安装和管理工作。
Spring Boot技术的特点[5]:遵循习惯优于配置的原则,使用Spring Boot时只需要很少的配置,大多数使用默认配置即可;在内部内置有Tomcat服务器和Jetty服务器,可直接把项目打成jar包,为Docker特意设计;使用starterPOMs配置方式使Maven配置大幅度简化;Spring Boot还为大中型项目提供了经常用到的非业务功能型特点,如健康状态检测,外部配置、指标、安全等,在项目中不再推荐使用xml方式。
1.2 Nginx
Nginx[6]是Igor Sysoev开发的一个开源、高性能Web服务器软件,起初是为Rambler. ru(俄罗斯访问量第二的大型门户网站和搜索引擎)使用,具有支持高并发连接、负载均衡、内存消耗少、成本低廉、稳定性好等特点。
Nginx可以提供HTTP服务,包括处理静态文件,支持SSL(提供HTTPS访问)、GZIP(网页压缩)、虚拟主机、URL重写等功能,可以搭配FastCGI程序(如PHP)处理动态请求。除此之外,Nginx 还可以用于代理、反向代理、负载均衡、缓存等服务器功能,在集群环境中均衡网络负载、提高可用性等[7]。
1.3 Redis
Redis是一个开源、基于内存持久化的日志型、Key-Value数据库[8],可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存可持久化,支持多种开发语言。
另外Redis支持集群服务[9],且具有容错机制。集群分为主节点和备份节点,主节点由投票选举产生,当某节点发生故障时,可从备份节点中恢复。2k+1个Redis服务器节点可容忍k个节点发生故障。
2 系统设计
2.1 总体功能
(1)提供待优化项目计划导入功能,读取系统数据库中已有的项目计划,进行后续优化生成巡视计划;
(2)导入数据库中的相关数据,建立相关知识库,如线路台账信息知识库、巡视模式知识库、地理地形信息知识库、气象环境知识库以及巡视设备参数知识库等,并在地图上对禁飞区信息进行叠加显示,为后期巡视计划的合理性分析奠定基础;
(3)原始巡视计划预判,辅助分析人工设定的巡视计划的合理性,根据相关线路台账信息(包括杆塔分布、线路类型等)、巡检模式信息、地理地形信息(包括地形、禁飞区等信息)、气象环境信息、设备参数以及优先级等因素智能分析用户设定的巡视计划的可行性,整合用户提交的重复巡视计划信息,对不可行或有安全隐患的计划进行警告;
(4)自动优化巡视计划,系统将根据用户设定的优化策略、优先级、优化算法等参数信息,对巡视计划进行排序,去除冗余线路,合并关联性强的计划信息,智能优化巡视计划,生成符合条件的计划;
(5)交互模式,指在巡视计划优化过程中,可人为进行相应操作,临时修改相关参数,进而使巡视计划更加合理;
(6)待巡视线路宏观显示,在GIS地图上对优化后的作业线路按照时间维度进行显示,为用户提供下拉列表,可选择不同月度/季度,在地图上显示月度/季度需巡视的线路;
(7)提供临时起降点的前台录入功能,由用户根据优化后的作业计划选择临时起降点,计算其在线率,若在线率不满足要求,则给出警示;
(8)支持优化后的巡视计划导出,提供多种格式导出(如Excel、导入数据库),更新相关知识库数据,并生成巡视计划优化报告。
2.2 体系架构
本系统的整体架构如图2所示。系统从上到下分为展示层、应用层、算法层、接口层、模型层以及数据存储层。
展示层:是面向用户的软件前台界面,完成与用户的交互操作,由用户端浏览器组成,覆盖的设备包括智能手机、PC电脑和平板电脑等,能自动适配多种终端屏幕。
应用层:该层和软件具体业务紧密相关,根据业务要求划分为作业计划录入模块、作业计划智能分析模块、优化参数配置模块、作业计划优化模块、设备配置优化模块以及作业计划导出模块,实现直升机巡视作业计划与设备配置优化功能。
算法层:将关键技术研究成果转化为算法库和组件,可入库并直接为软件调用进行处理和计算。
接口层:主要用于对接直升机/无人机电力作业技术支持系统的数据管理与分发服务[10]、分布式文件存储服务,通过封装API和提供I/O,支持利用现有资源进行分布式存储处理。
模型层:包括输电线路台账信息知识库、线路禁飞区知识库、气象环境知识库、线路缺陷知识库、巡视设备参数知识库、元数据库、算法数据库的数据模型以及配置文件,模型层将数据层的数据进行对象化,供上层系统调用。
数据存储层:包括用来存储巡检数据元数据信息的元数据库、存储输电线路和杆塔GPS信息的输电线路台账数据库、存储地形分布信息的地理地形数据库、存储南方电网全范围气象信息的气象环境数据库、存储全网输电线路巡视设备信息的设备参数数据库和存储算法的算法数据库[11]。
2.3 系统组成
从基于Spring Boot框架的直升机巡视计划优化原型系统应当具备的功能出发,将原型系统划分为巡视计划录入、巡视计划智能分析、优化策略配置、巡视计划优化、巡视计划过滤以及巡视计划导出等6个模块。直升机巡视作业计划优化原型系统组成方案如图3所示。
2.3.1 巡视计划录入
本软件模块拟采用结构化软件开发方法进行开发,首先从用户需求出发确定巡视作业计划录入的详细需求、充分考虑现有资源。该软件模块的具体实现思路为:
(1)各分、子公司作业中心工作人员提交年度项目计划后,根据需要选择待优化的项目计划导入优化系统;
(2)导入原始巡线采集数据、线路相关数据,包括线路台账信息(杆塔分布、线路类型、历史作业数据等)、巡视模式、地理地形信息(地形、禁飞区、边境信息、行政区划等信息)、气象环境信息、设备参数信息等,建立相应的知识库。
2.3.2 巡视计划智能分析
本软件模块实现的基础为巡视计划录入的数据以及各类知识库的辅助信息,该模块实现过程中,应充分考虑与线路相关的影响因素,对巡视计划进行多维度的分析,为后续的作业计划优化提供良好的数据资源。该软件模块的具体实现思路为:
(1)获取待优化的巡视项目计划数据信息;
(2)汇总用户提交的所有待优化输电线路巡视计划信息,根据巡视计划关联的线路及杆塔信息,合并重复的、关联性强的计划数据;
(3)结合输电线路的特点、杆塔分布信息、气象信息以及地形信息等,对合并后的巡视计划数据进行合理性分析,设定相应的阈值,去除合理性较低的计划。
2.3.3 优化策略配置
本软件模块实现的基础为各类优化算法以及辅助信息的支持,该模块实现过程中,应充分考虑优化算法库中各类算法的特点,结合巡视作业计划的特点选取匹配度最高的算法进行优化操作,用户可根据下拉选项自行选择优化規则(如最经济、人机结合等),以便算法根据相应优化策略进行优化。该软件模块的具体实现思路为:
(1)由用户选定优化策略,包括经济性优化和人/直升机结合两种优化策略,默认优化策略为经济性优化;
(2)从大量巡视计划数据中抽取用户巡视的关注点,针对不同类型的关注点,为用户提供符合电力巡线的不同的优化算法作为推荐优化算法,用户也可自行选择其他优化算法;
(3)根据每种算法的特点,统计每种算法的参数信息,从中提炼出算法最优的参数设置,部分参数提供修改界面,以便用户进行人工调整。
2.3.4 巡视计划优化
本软件模块实现为直升机巡视计划优化系统的核心,在模块实现过程中,会使用前阶段制定的优化策略和各类知识库数据来对巡视计划数据进行优化操作。该软件模块的具体实现思路如下:
(1)从优化算法库中选取优化算法;
(2)加载需要优化的巡视计划数据;
(3)读取配置相应的参数信息,如优化次数、优化策略、优先级以及优化算法最佳运行参数等;
(4)选择巡视计划优化模式,如自动优化模式和交互式优化模式;
(5)根据选定的优化模式来巡视计划的优化工作;
(6)优化完成后,产生相应的巡视计划数据集合。
2.3.5 巡视计划过滤
根据用户设定属性的先后顺序,将巡视计划数据集合中的数据排序,从中选取最优的巡视计划。
2.3.6 巡视计划导出
将最优的巡视计划数据显示到界面上,作业中心的工作人员人工调整修改确认无误后,即可自动录入到技术支持系统的计划管理中。
3 系统原型设计
基于Spring Boot框架的直升机巡视计划优化原型系统如图4所示。
上图主要体现了优化参数的配置情况,通过该界面可动态的对影响优化效果的参数项进行配置,进而生成最佳的优化结果。巡视计划优化展示如图5所示。
上图直观展示了直升机巡视作业计划优化的最终效果。优化结束后,作业计划优化结果将在结果显示界面中显示,界面将通过线路和临时起降点颜色的差异对各线路分区情况进行展示,并通过列表形式展示优化后的作业计划,包括作业计划优化和设备配置优化结果,可查看每条作业计划所配置设备的详细信息,同时提供优化结果的保存功能。
表1所列为直升机巡视计划优化报告的部分内容。从表中可以看出,直升机巡视计划能够根据相关约束因素,通过优化算法进行聚类,将作业计划安排到具体月份中。由巡检人员对优化后的结果进行人工校验及迭代优化,直到结果接近最优为止。
4 结 语
本系统基于作业计划智能优化算法,实现了基于Spring Boot框架的直升机巡视计划优化原型系统。通过应用实践反馈,该系统优化效益显著,对直升机巡视计划的快速制定及机巡作业效率提升具有一定的指导意义。然而,本文提出的设计仍需要进一步改进和探索,对内部算法进行细节优化,使这种方式更好地为直升机巡视计划智能优化带来效率提升。
参 考 文 献
[1]于德明,沈建,汪骏,等.直升机与人工巡视效果对比分析[J].中国电力,2008,41(11):25-28.
[2]徐云鹏,毛强,李庭坚.输电线路机巡与人巡效果对比及协同巡检建议[J].南方电网技术,2016,10(2):44-47.
[3]王洁,张冬,景楠.220 kV电网开展直升机巡检的探索与研究[J].自动化应用,2014(11):81-82.
[4] Pivotal团队.Spring Boot Reference Guide1.5.3.RELEASE[OL].2017.
[5]汪云飞.JavaEE开发的颠覆者:Spring Boot实战[M].北京:电子工业出版社,2016:122-124.
[6]胡国强,周兆永,信朝霞. 基于SRS的开源直播系统的设计与实现[J].现代电子技术,2016,39(16):36-39.
[7]凌质亿,刘哲星,曹蕾.高并发环境下 Apache 与 Nginx 的 I/O 性能比较[J].计算机系统应用,2013,22(6):204-208.
[8]彭灿华.Redis在高速缓存系统中的序列化算法研究[J]. 现代电子技术,2017,40(22): 122-124.
[9]李燚,顾乃杰,黄增士,等.Redis 集群可靠性的研究与优化[J].计算机工程,2018,44(5):40-46.
[10]劉东,王金社.基于 Web的互联网网络在线辅助教学系统设计[J].现代电子技术,2017,40(20):28-30.
[11]胡鑫,姚宇,徐英杰.基于 ElasticSearch 的 TEE 病例库检索系统设计与实现[J].计算机应用,2018,38(S1):91-94.