谷連軍 孟秀軍



摘 要:隨著電力建設的迅速發展,輸電線路巡檢工作逐步采用直升機開展實施,作業計劃越來越多,單純依靠巡檢人員主觀安排計劃已無法滿足需求。針對這一現狀,研究目前廣泛應用的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應用??蚣艿陌l布版本包括集成的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.