谷連軍 孟秀軍
摘 要:隨著電力建設(shè)的迅速發(fā)展,輸電線路巡檢工作逐步采用直升機(jī)開展實施,作業(yè)計劃越來越多,單純依靠巡檢人員主觀安排計劃已無法滿足需求。針對這一現(xiàn)狀,研究目前廣泛應(yīng)用的Spring Boot框架技術(shù),構(gòu)建了直升機(jī)巡視計劃優(yōu)化系統(tǒng)。在系統(tǒng)的設(shè)計實現(xiàn)中,首先根據(jù)需求分析,采用Spring Boot框架技術(shù)對系統(tǒng)進(jìn)行分層設(shè)計,層與層之間采用接口連接。與傳統(tǒng)的Web開發(fā)技術(shù)相比,Spring Boot框架技術(shù)在很大程度上提高了系統(tǒng)代碼的可重用性和可移植性。最后,通過原型系統(tǒng)的實現(xiàn)驗證了系統(tǒng)設(shè)計既能初步解決巡檢人員主觀安排作業(yè)計劃等問題,又能降低線路巡檢的成本,同時還能夠提高巡視計劃的完成率。
關(guān)鍵詞:直升機(jī);巡視計劃;Spring Boot;智能優(yōu)化;分層設(shè)計;線路巡檢
中圖分類號:TP391;TM7文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2019)07-00-04
0 引 言
隨著電力建設(shè)的迅速發(fā)展,巡檢需求和人力缺員的矛盾日益突出,傳統(tǒng)依靠人力為主的輸電線路巡維模式在運維質(zhì)量、工作效率和經(jīng)濟(jì)效益上已無法滿足當(dāng)前及未來公司追求的精益管理、降本增效戰(zhàn)略發(fā)展需要。直升機(jī)巡視方式的推廣應(yīng)用提高了巡檢效率,縮短了巡檢周期[1-2]。直升機(jī)巡視模式已在各電力部門逐步推廣,越來越多的輸電線路巡檢維護(hù)工作采用機(jī)巡的方式開展實施,意味著機(jī)巡作業(yè)計劃將越來越多,單純依靠巡檢人員主觀安排飛機(jī)作業(yè)計劃已無法滿足需求。
針對當(dāng)前直升機(jī)巡視作業(yè)計劃調(diào)度不合理、完成率低的問題[3],本文開發(fā)了一套作業(yè)計劃智能優(yōu)化系統(tǒng),該系統(tǒng)可以分析巡視計劃,進(jìn)行合理分類和優(yōu)化,給出最優(yōu)的巡視作業(yè)計劃,使得巡視效能最優(yōu),提升輸電線路運維質(zhì)量和管理效益。
1 相關(guān)研究
直升機(jī)巡視計劃智能優(yōu)化系統(tǒng)采用Java語言,基于Spring Boot框架進(jìn)行開發(fā)設(shè)計,提供基于Restful規(guī)則的接口對數(shù)據(jù)進(jìn)行管理。采用Hibernate框架進(jìn)行數(shù)據(jù)庫操作,采用Nginx服務(wù)器管理靜態(tài)資源圖片、js腳本以及CSS樣式等,采用Redis管理用戶信息及訪問頻率計劃。
1.1 Spring Boot
Spring Boot[4]是由Pivotal團(tuán)隊提供的全新框架,其設(shè)計目的在于簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用特定方式進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。Spring Boot是一些庫的集合,能夠被任意項目的構(gòu)建系統(tǒng)使用。簡便起見,該框架也提供命令行界面,可以用來運行和測試Boot應(yīng)用??蚣艿陌l(fā)布版本包括集成的CLI(命令行界面),可以在Spring倉庫中手動下載和安裝。一種更為簡便的方式是使用Groovy環(huán)境管理器(Groovy Environment Manager,GVM)完成Boot版本的安裝和管理工作。
Spring Boot技術(shù)的特點[5]:遵循習(xí)慣優(yōu)于配置的原則,使用Spring Boot時只需要很少的配置,大多數(shù)使用默認(rèn)配置即可;在內(nèi)部內(nèi)置有Tomcat服務(wù)器和Jetty服務(wù)器,可直接把項目打成jar包,為Docker特意設(shè)計;使用starterPOMs配置方式使Maven配置大幅度簡化;Spring Boot還為大中型項目提供了經(jīng)常用到的非業(yè)務(wù)功能型特點,如健康狀態(tài)檢測,外部配置、指標(biāo)、安全等,在項目中不再推薦使用xml方式。
1.2 Nginx
Nginx[6]是Igor Sysoev開發(fā)的一個開源、高性能Web服務(wù)器軟件,起初是為Rambler. ru(俄羅斯訪問量第二的大型門戶網(wǎng)站和搜索引擎)使用,具有支持高并發(fā)連接、負(fù)載均衡、內(nèi)存消耗少、成本低廉、穩(wěn)定性好等特點。
Nginx可以提供HTTP服務(wù),包括處理靜態(tài)文件,支持SSL(提供HTTPS訪問)、GZIP(網(wǎng)頁壓縮)、虛擬主機(jī)、URL重寫等功能,可以搭配FastCGI程序(如PHP)處理動態(tài)請求。除此之外,Nginx 還可以用于代理、反向代理、負(fù)載均衡、緩存等服務(wù)器功能,在集群環(huán)境中均衡網(wǎng)絡(luò)負(fù)載、提高可用性等[7]。
1.3 Redis
Redis是一個開源、基于內(nèi)存持久化的日志型、Key-Value數(shù)據(jù)庫[8],可用于緩存、事件發(fā)布或訂閱、高速隊列等場景。該數(shù)據(jù)庫使用ANSI C語言編寫,支持網(wǎng)絡(luò),提供字符串、哈希、列表、隊列、集合結(jié)構(gòu)直接存取,基于內(nèi)存可持久化,支持多種開發(fā)語言。
另外Redis支持集群服務(wù)[9],且具有容錯機(jī)制。集群分為主節(jié)點和備份節(jié)點,主節(jié)點由投票選舉產(chǎn)生,當(dāng)某節(jié)點發(fā)生故障時,可從備份節(jié)點中恢復(fù)。2k+1個Redis服務(wù)器節(jié)點可容忍k個節(jié)點發(fā)生故障。
2 系統(tǒng)設(shè)計
2.1 總體功能
(1)提供待優(yōu)化項目計劃導(dǎo)入功能,讀取系統(tǒng)數(shù)據(jù)庫中已有的項目計劃,進(jìn)行后續(xù)優(yōu)化生成巡視計劃;
(2)導(dǎo)入數(shù)據(jù)庫中的相關(guān)數(shù)據(jù),建立相關(guān)知識庫,如線路臺賬信息知識庫、巡視模式知識庫、地理地形信息知識庫、氣象環(huán)境知識庫以及巡視設(shè)備參數(shù)知識庫等,并在地圖上對禁飛區(qū)信息進(jìn)行疊加顯示,為后期巡視計劃的合理性分析奠定基礎(chǔ);
(3)原始巡視計劃預(yù)判,輔助分析人工設(shè)定的巡視計劃的合理性,根據(jù)相關(guān)線路臺賬信息(包括桿塔分布、線路類型等)、巡檢模式信息、地理地形信息(包括地形、禁飛區(qū)等信息)、氣象環(huán)境信息、設(shè)備參數(shù)以及優(yōu)先級等因素智能分析用戶設(shè)定的巡視計劃的可行性,整合用戶提交的重復(fù)巡視計劃信息,對不可行或有安全隱患的計劃進(jìn)行警告;
(4)自動優(yōu)化巡視計劃,系統(tǒng)將根據(jù)用戶設(shè)定的優(yōu)化策略、優(yōu)先級、優(yōu)化算法等參數(shù)信息,對巡視計劃進(jìn)行排序,去除冗余線路,合并關(guān)聯(lián)性強(qiáng)的計劃信息,智能優(yōu)化巡視計劃,生成符合條件的計劃;
(5)交互模式,指在巡視計劃優(yōu)化過程中,可人為進(jìn)行相應(yīng)操作,臨時修改相關(guān)參數(shù),進(jìn)而使巡視計劃更加合理;
(6)待巡視線路宏觀顯示,在GIS地圖上對優(yōu)化后的作業(yè)線路按照時間維度進(jìn)行顯示,為用戶提供下拉列表,可選擇不同月度/季度,在地圖上顯示月度/季度需巡視的線路;
(7)提供臨時起降點的前臺錄入功能,由用戶根據(jù)優(yōu)化后的作業(yè)計劃選擇臨時起降點,計算其在線率,若在線率不滿足要求,則給出警示;
(8)支持優(yōu)化后的巡視計劃導(dǎo)出,提供多種格式導(dǎo)出(如Excel、導(dǎo)入數(shù)據(jù)庫),更新相關(guān)知識庫數(shù)據(jù),并生成巡視計劃優(yōu)化報告。
2.2 體系架構(gòu)
本系統(tǒng)的整體架構(gòu)如圖2所示。系統(tǒng)從上到下分為展示層、應(yīng)用層、算法層、接口層、模型層以及數(shù)據(jù)存儲層。
展示層:是面向用戶的軟件前臺界面,完成與用戶的交互操作,由用戶端瀏覽器組成,覆蓋的設(shè)備包括智能手機(jī)、PC電腦和平板電腦等,能自動適配多種終端屏幕。
應(yīng)用層:該層和軟件具體業(yè)務(wù)緊密相關(guān),根據(jù)業(yè)務(wù)要求劃分為作業(yè)計劃錄入模塊、作業(yè)計劃智能分析模塊、優(yōu)化參數(shù)配置模塊、作業(yè)計劃優(yōu)化模塊、設(shè)備配置優(yōu)化模塊以及作業(yè)計劃導(dǎo)出模塊,實現(xiàn)直升機(jī)巡視作業(yè)計劃與設(shè)備配置優(yōu)化功能。
算法層:將關(guān)鍵技術(shù)研究成果轉(zhuǎn)化為算法庫和組件,可入庫并直接為軟件調(diào)用進(jìn)行處理和計算。
接口層:主要用于對接直升機(jī)/無人機(jī)電力作業(yè)技術(shù)支持系統(tǒng)的數(shù)據(jù)管理與分發(fā)服務(wù)[10]、分布式文件存儲服務(wù),通過封裝API和提供I/O,支持利用現(xiàn)有資源進(jìn)行分布式存儲處理。
模型層:包括輸電線路臺賬信息知識庫、線路禁飛區(qū)知識庫、氣象環(huán)境知識庫、線路缺陷知識庫、巡視設(shè)備參數(shù)知識庫、元數(shù)據(jù)庫、算法數(shù)據(jù)庫的數(shù)據(jù)模型以及配置文件,模型層將數(shù)據(jù)層的數(shù)據(jù)進(jìn)行對象化,供上層系統(tǒng)調(diào)用。
數(shù)據(jù)存儲層:包括用來存儲巡檢數(shù)據(jù)元數(shù)據(jù)信息的元數(shù)據(jù)庫、存儲輸電線路和桿塔GPS信息的輸電線路臺賬數(shù)據(jù)庫、存儲地形分布信息的地理地形數(shù)據(jù)庫、存儲南方電網(wǎng)全范圍氣象信息的氣象環(huán)境數(shù)據(jù)庫、存儲全網(wǎng)輸電線路巡視設(shè)備信息的設(shè)備參數(shù)數(shù)據(jù)庫和存儲算法的算法數(shù)據(jù)庫[11]。
2.3 系統(tǒng)組成
從基于Spring Boot框架的直升機(jī)巡視計劃優(yōu)化原型系統(tǒng)應(yīng)當(dāng)具備的功能出發(fā),將原型系統(tǒng)劃分為巡視計劃錄入、巡視計劃智能分析、優(yōu)化策略配置、巡視計劃優(yōu)化、巡視計劃過濾以及巡視計劃導(dǎo)出等6個模塊。直升機(jī)巡視作業(yè)計劃優(yōu)化原型系統(tǒng)組成方案如圖3所示。
2.3.1 巡視計劃錄入
本軟件模塊擬采用結(jié)構(gòu)化軟件開發(fā)方法進(jìn)行開發(fā),首先從用戶需求出發(fā)確定巡視作業(yè)計劃錄入的詳細(xì)需求、充分考慮現(xiàn)有資源。該軟件模塊的具體實現(xiàn)思路為:
(1)各分、子公司作業(yè)中心工作人員提交年度項目計劃后,根據(jù)需要選擇待優(yōu)化的項目計劃導(dǎo)入優(yōu)化系統(tǒng);
(2)導(dǎo)入原始巡線采集數(shù)據(jù)、線路相關(guān)數(shù)據(jù),包括線路臺賬信息(桿塔分布、線路類型、歷史作業(yè)數(shù)據(jù)等)、巡視模式、地理地形信息(地形、禁飛區(qū)、邊境信息、行政區(qū)劃等信息)、氣象環(huán)境信息、設(shè)備參數(shù)信息等,建立相應(yīng)的知識庫。
2.3.2 巡視計劃智能分析
本軟件模塊實現(xiàn)的基礎(chǔ)為巡視計劃錄入的數(shù)據(jù)以及各類知識庫的輔助信息,該模塊實現(xiàn)過程中,應(yīng)充分考慮與線路相關(guān)的影響因素,對巡視計劃進(jìn)行多維度的分析,為后續(xù)的作業(yè)計劃優(yōu)化提供良好的數(shù)據(jù)資源。該軟件模塊的具體實現(xiàn)思路為:
(1)獲取待優(yōu)化的巡視項目計劃數(shù)據(jù)信息;
(2)匯總用戶提交的所有待優(yōu)化輸電線路巡視計劃信息,根據(jù)巡視計劃關(guān)聯(lián)的線路及桿塔信息,合并重復(fù)的、關(guān)聯(lián)性強(qiáng)的計劃數(shù)據(jù);
(3)結(jié)合輸電線路的特點、桿塔分布信息、氣象信息以及地形信息等,對合并后的巡視計劃數(shù)據(jù)進(jìn)行合理性分析,設(shè)定相應(yīng)的閾值,去除合理性較低的計劃。
2.3.3 優(yōu)化策略配置
本軟件模塊實現(xiàn)的基礎(chǔ)為各類優(yōu)化算法以及輔助信息的支持,該模塊實現(xiàn)過程中,應(yīng)充分考慮優(yōu)化算法庫中各類算法的特點,結(jié)合巡視作業(yè)計劃的特點選取匹配度最高的算法進(jìn)行優(yōu)化操作,用戶可根據(jù)下拉選項自行選擇優(yōu)化規(guī)則(如最經(jīng)濟(jì)、人機(jī)結(jié)合等),以便算法根據(jù)相應(yīng)優(yōu)化策略進(jìn)行優(yōu)化。該軟件模塊的具體實現(xiàn)思路為:
(1)由用戶選定優(yōu)化策略,包括經(jīng)濟(jì)性優(yōu)化和人/直升機(jī)結(jié)合兩種優(yōu)化策略,默認(rèn)優(yōu)化策略為經(jīng)濟(jì)性優(yōu)化;
(2)從大量巡視計劃數(shù)據(jù)中抽取用戶巡視的關(guān)注點,針對不同類型的關(guān)注點,為用戶提供符合電力巡線的不同的優(yōu)化算法作為推薦優(yōu)化算法,用戶也可自行選擇其他優(yōu)化算法;
(3)根據(jù)每種算法的特點,統(tǒng)計每種算法的參數(shù)信息,從中提煉出算法最優(yōu)的參數(shù)設(shè)置,部分參數(shù)提供修改界面,以便用戶進(jìn)行人工調(diào)整。
2.3.4 巡視計劃優(yōu)化
本軟件模塊實現(xiàn)為直升機(jī)巡視計劃優(yōu)化系統(tǒng)的核心,在模塊實現(xiàn)過程中,會使用前階段制定的優(yōu)化策略和各類知識庫數(shù)據(jù)來對巡視計劃數(shù)據(jù)進(jìn)行優(yōu)化操作。該軟件模塊的具體實現(xiàn)思路如下:
(1)從優(yōu)化算法庫中選取優(yōu)化算法;
(2)加載需要優(yōu)化的巡視計劃數(shù)據(jù);
(3)讀取配置相應(yīng)的參數(shù)信息,如優(yōu)化次數(shù)、優(yōu)化策略、優(yōu)先級以及優(yōu)化算法最佳運行參數(shù)等;
(4)選擇巡視計劃優(yōu)化模式,如自動優(yōu)化模式和交互式優(yōu)化模式;
(5)根據(jù)選定的優(yōu)化模式來巡視計劃的優(yōu)化工作;
(6)優(yōu)化完成后,產(chǎn)生相應(yīng)的巡視計劃數(shù)據(jù)集合。
2.3.5 巡視計劃過濾
根據(jù)用戶設(shè)定屬性的先后順序,將巡視計劃數(shù)據(jù)集合中的數(shù)據(jù)排序,從中選取最優(yōu)的巡視計劃。
2.3.6 巡視計劃導(dǎo)出
將最優(yōu)的巡視計劃數(shù)據(jù)顯示到界面上,作業(yè)中心的工作人員人工調(diào)整修改確認(rèn)無誤后,即可自動錄入到技術(shù)支持系統(tǒng)的計劃管理中。
3 系統(tǒng)原型設(shè)計
基于Spring Boot框架的直升機(jī)巡視計劃優(yōu)化原型系統(tǒng)如圖4所示。
上圖主要體現(xiàn)了優(yōu)化參數(shù)的配置情況,通過該界面可動態(tài)的對影響優(yōu)化效果的參數(shù)項進(jìn)行配置,進(jìn)而生成最佳的優(yōu)化結(jié)果。巡視計劃優(yōu)化展示如圖5所示。
上圖直觀展示了直升機(jī)巡視作業(yè)計劃優(yōu)化的最終效果。優(yōu)化結(jié)束后,作業(yè)計劃優(yōu)化結(jié)果將在結(jié)果顯示界面中顯示,界面將通過線路和臨時起降點顏色的差異對各線路分區(qū)情況進(jìn)行展示,并通過列表形式展示優(yōu)化后的作業(yè)計劃,包括作業(yè)計劃優(yōu)化和設(shè)備配置優(yōu)化結(jié)果,可查看每條作業(yè)計劃所配置設(shè)備的詳細(xì)信息,同時提供優(yōu)化結(jié)果的保存功能。
表1所列為直升機(jī)巡視計劃優(yōu)化報告的部分內(nèi)容。從表中可以看出,直升機(jī)巡視計劃能夠根據(jù)相關(guān)約束因素,通過優(yōu)化算法進(jìn)行聚類,將作業(yè)計劃安排到具體月份中。由巡檢人員對優(yōu)化后的結(jié)果進(jìn)行人工校驗及迭代優(yōu)化,直到結(jié)果接近最優(yōu)為止。
4 結(jié) 語
本系統(tǒng)基于作業(yè)計劃智能優(yōu)化算法,實現(xiàn)了基于Spring Boot框架的直升機(jī)巡視計劃優(yōu)化原型系統(tǒng)。通過應(yīng)用實踐反饋,該系統(tǒng)優(yōu)化效益顯著,對直升機(jī)巡視計劃的快速制定及機(jī)巡作業(yè)效率提升具有一定的指導(dǎo)意義。然而,本文提出的設(shè)計仍需要進(jìn)一步改進(jìn)和探索,對內(nèi)部算法進(jìn)行細(xì)節(jié)優(yōu)化,使這種方式更好地為直升機(jī)巡視計劃智能優(yōu)化帶來效率提升。
參 考 文 獻(xiàn)
[1]于德明,沈建,汪駿,等.直升機(jī)與人工巡視效果對比分析[J].中國電力,2008,41(11):25-28.
[2]徐云鵬,毛強(qiáng),李庭堅.輸電線路機(jī)巡與人巡效果對比及協(xié)同巡檢建議[J].南方電網(wǎng)技術(shù),2016,10(2):44-47.
[3]王潔,張冬,景楠.220 kV電網(wǎng)開展直升機(jī)巡檢的探索與研究[J].自動化應(yīng)用,2014(11):81-82.
[4] Pivotal團(tuán)隊.Spring Boot Reference Guide1.5.3.RELEASE[OL].2017.
[5]汪云飛.JavaEE開發(fā)的顛覆者:Spring Boot實戰(zhàn)[M].北京:電子工業(yè)出版社,2016:122-124.
[6]胡國強(qiáng),周兆永,信朝霞. 基于SRS的開源直播系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(16):36-39.
[7]凌質(zhì)億,劉哲星,曹蕾.高并發(fā)環(huán)境下 Apache 與 Nginx 的 I/O 性能比較[J].計算機(jī)系統(tǒng)應(yīng)用,2013,22(6):204-208.
[8]彭燦華.Redis在高速緩存系統(tǒng)中的序列化算法研究[J]. 現(xiàn)代電子技術(shù),2017,40(22): 122-124.
[9]李燚,顧乃杰,黃增士,等.Redis 集群可靠性的研究與優(yōu)化[J].計算機(jī)工程,2018,44(5):40-46.
[10]劉東,王金社.基于 Web的互聯(lián)網(wǎng)網(wǎng)絡(luò)在線輔助教學(xué)系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2017,40(20):28-30.
[11]胡鑫,姚宇,徐英杰.基于 ElasticSearch 的 TEE 病例庫檢索系統(tǒng)設(shè)計與實現(xiàn)[J].計算機(jī)應(yīng)用,2018,38(S1):91-94.