周力夫(長江宜昌航道局,湖北宜昌 443000)
?
航道維護(hù)中航標(biāo)電池助手軟件開發(fā)與應(yīng)用
周力夫
(長江宜昌航道局,湖北宜昌 443000)
【摘 要】近幾年國家對航運事業(yè)的高度重視,長江經(jīng)濟(jì)帶建設(shè)成為國家戰(zhàn)略,長江航道得到前所未有的發(fā)展,長江航道科技化、信息化設(shè)備使用日益廣泛,航道維護(hù)工作發(fā)生變革,對航標(biāo)效能的發(fā)揮提出了更高的要求。本文介紹了“航標(biāo)電池助手”軟件的設(shè)計與實現(xiàn),并簡述了其在航標(biāo)電池維護(hù)方面所起到的主要作用。
【關(guān)鍵詞】航標(biāo)電池助手 航標(biāo)電池 維護(hù)
在航道日常維護(hù)工作中,工作的性質(zhì)主要有兩大類:故障性維護(hù)、非故障性維護(hù)。其中故障性維護(hù)主要有船體碰撞、標(biāo)船漂移、終端超時等;非故障性維護(hù)則主要是航標(biāo)燈調(diào)整、船體維護(hù)、電池更換等。在實際的維護(hù)工作中我們發(fā)現(xiàn),即使有著太陽能供電技術(shù)作支撐,但長期工作在山間的航標(biāo)燈,尤其是容易被山體遮住陽光的地區(qū),其航標(biāo)的電池更換就會較為頻繁,且這一情況在冬季時更為嚴(yán)重。為了保證航標(biāo)燈正常工作,我們必須頻繁出航更換航標(biāo)燈電池,但在工作中我們逐漸認(rèn)識到,有些情況下我們根本不必過于頻繁的出航,而是可以等到部分航標(biāo)差不多將同時需要更換電池的時候一次性出航進(jìn)行更換,但介于航標(biāo)遙測監(jiān)控系統(tǒng)的數(shù)據(jù)展示方式不盡如人意,人工的對航標(biāo)電池電量信息進(jìn)行實時統(tǒng)計又顯得有些不切實際,故想到了開發(fā)一款小規(guī)模的輔助軟件來自動統(tǒng)計航標(biāo)電池信息并人性化展示給職工的方法。
航標(biāo)電池助手旨在以符合航道生產(chǎn)基層職工們數(shù)據(jù)閱讀習(xí)慣的方式,將最新的航標(biāo)電池相關(guān)動態(tài)信息呈現(xiàn)出來,并提供一套方便的快速查詢功能幫助職工迅速擬定出航計劃,提升工作效率。
1.1 用戶圖形界面
用戶圖形界面是航標(biāo)電池助手的重點之一,一切對數(shù)據(jù)展示方面的改進(jìn)和優(yōu)化都體現(xiàn)在用戶圖形界面之中,我們需要合理布置各個功能的位置,并保證主要的內(nèi)容擁有最大的空間來展示。因此,在用戶圖形界面的開發(fā)上,必須盡可能多的考慮到職工們的實際使用習(xí)慣,盡可能將重要的信息突顯出來達(dá)到提醒的作用,還要將功能菜單與按鈕安排在顯眼或常見的地方方便職工使用。
1.2 功能邏輯
功能邏輯是用戶圖形界面中所有功能的內(nèi)部實現(xiàn),在功能邏輯中,實現(xiàn)了航標(biāo)電池助手從航標(biāo)遙測監(jiān)控數(shù)據(jù)庫中獲取動態(tài)信息的方法,實現(xiàn)了最新信息的本地存儲,避免因頻繁的訪問數(shù)據(jù)庫而造成數(shù)據(jù)庫高負(fù)載,還實現(xiàn)了部分參數(shù)設(shè)置的本地存儲,以適應(yīng)數(shù)據(jù)庫變動。
1.3 數(shù)據(jù)訪問
在航標(biāo)電池助手的使用過程中會涉及到兩類數(shù)據(jù),一個是存儲于航標(biāo)遙測監(jiān)控平臺數(shù)據(jù)庫中的航標(biāo)最新動態(tài)信息,一個是存儲于本地的臨時數(shù)據(jù),本地的臨時數(shù)據(jù)主要存儲最后獲取的航標(biāo)電池動態(tài)信息以及航標(biāo)電池助手本身的配置參數(shù)。對于航標(biāo)遙測監(jiān)控平臺數(shù)據(jù)庫中的數(shù)據(jù),我們采用.NET自帶的OleDb作為數(shù)據(jù)源接口來訪問,而對于本地數(shù)據(jù),我們則采用XML格式予以存儲。
為了保證航標(biāo)電池助手能在短時間內(nèi)完成開發(fā)工作,并保證其擁有足夠的實用性,因此,在開發(fā)語言的選擇上以及部分模塊的實現(xiàn)上有一些必須注意的關(guān)鍵點。
(1)微軟.NET框架。微軟公司的.NET框架十分有利于應(yīng)用軟件的敏捷開發(fā),特別是在像航標(biāo)電池助手這樣的小規(guī)模軟件開發(fā)上,通過.NET框架,更是能讓獨立開發(fā)者在僅僅一個月之內(nèi)就開發(fā)出較為完善的小規(guī)模軟件應(yīng)用,同時,這也是使航標(biāo)電池助手在開發(fā)完成后易修改、易擴(kuò)展的根本保障。(2)微軟WPF框架。微軟公司的WPF框架是建立在.NET框架之上的用戶圖形界面框架,它為使用.NET框架的開發(fā)者提供了一套十分方便且實用的用戶圖形界面編程模型和框架。通過WPF,開發(fā)者可以十分迅速的開發(fā)出可以媲美Mac程序的用戶圖形界面,這也給航標(biāo)電池助手的用戶圖形界面開發(fā)打下了良好的基礎(chǔ)。(3)微軟OleDb接口。“航標(biāo)遙測監(jiān)控系統(tǒng)”所采用的數(shù)據(jù)庫為Oracle數(shù)據(jù)庫,因此在軟件開發(fā)上也必須選用兼容Oracle數(shù)據(jù)庫的數(shù)據(jù)源接口。值得慶幸的是,在微軟的.NET框架中已經(jīng)自帶了一個可以兼容Oracle數(shù)據(jù)庫的數(shù)據(jù)源接口OleDb。我們選用OleDb不僅僅因為它是.NET自帶的模塊,更因為它對中文漢字的支持性很好,這在很多數(shù)據(jù)源接口中是十分難得的。
由于航標(biāo)電池助手的根本目的是為了解決航標(biāo)電池動態(tài)信息可讀性問題,以及職工操作上手難易度問題,因此,航標(biāo)電池助手在功能上主要有以下幾點:
(1)最新航標(biāo)信息概覽?!白钚潞綐?biāo)信息概覽”是將所有裝有航標(biāo)遙測終端的航標(biāo)的最新電池電量信息展示出來,并且加上較為豐富的排序功能,幫助職工更有針對性的觀察航標(biāo)電池動態(tài)信息。在信息展示的界面上,我們提供了設(shè)置電池電壓預(yù)警門限的功能,讓職工可以為每一座航標(biāo)設(shè)置一個電壓預(yù)警門限,在還未達(dá)到但快要達(dá)到欠/過壓警報的時候提前給出警示(以紅色作為背景色明確表示出來),幫助職工準(zhǔn)確及時的掌握所有將要更換電池的航標(biāo),并在一定程度上優(yōu)化出航時的工作計劃。(2)快速查詢?!翱焖俨樵儭敝荚谝月毠ぴ谌粘9ぷ髦杏^察數(shù)據(jù)的幾種常見視角作為分類依據(jù),將所有航標(biāo)電池信息進(jìn)行準(zhǔn)確分類,之后職工可以通過簡單的單擊操作,便可以十分迅速的檢索到當(dāng)前需要的信息。具體來講,先是包含以下幾種查詢方式:異常航標(biāo)(已經(jīng)處于預(yù)警狀態(tài)的航標(biāo))、上下游方向(這里的上下游方向是指以工作船舶靠泊的位置為中心的,“往上游去的方向”和“往下游去的方向”)、航標(biāo)類型(即浮標(biāo)、岸標(biāo))、關(guān)鍵字(可以是“航標(biāo)編號”或是“航標(biāo)名稱”中包含的任意字詞)。然后在每種方式里設(shè)置有相應(yīng)的子分類,通過點擊子分類即可迅速得到對應(yīng)分類下的動態(tài)信息,方便職工即時查看。(3)后臺自動監(jiān)控。將航標(biāo)電池助手最小化后,航標(biāo)電池助手將進(jìn)入自動監(jiān)控模式,在這種模式下,航標(biāo)電池助手將不會出現(xiàn)在桌面底部的任務(wù)欄內(nèi),而是以小圖標(biāo)的形式出現(xiàn)在系統(tǒng)托盤里,不會影響到職工使用計算機進(jìn)行其他工作。在自動監(jiān)控的過程中,一旦發(fā)現(xiàn)有新的航標(biāo)進(jìn)入了預(yù)警狀態(tài),則航標(biāo)電池助手會在系統(tǒng)托盤內(nèi)彈出氣泡消息,提示職工有新的航標(biāo)進(jìn)入預(yù)警狀態(tài),職工通過單擊氣泡或者系統(tǒng)托盤內(nèi)的航標(biāo)電池助手圖標(biāo)即可迅速打開航標(biāo)電池助手,并將進(jìn)入預(yù)警狀態(tài)的航標(biāo)全部展示出來。
由于航標(biāo)電池助手采用了比較合理的開發(fā)工具以及系統(tǒng)架構(gòu),因此,也使得航標(biāo)電池助手與職工們以往所使用的軟件工具相比,擁有了以下與眾不同之處:
(1)界面美觀、友好。由于使用了方便的.NET框架以及WPF框架,我們十分容易的就制作出了仿照時下流行的智能手機系統(tǒng)“安卓”風(fēng)格的用戶界面,其色調(diào)搭配是由長江航道局局徽的紅黃藍(lán)白四色稍作調(diào)整后而來。在此基礎(chǔ)之上,我們還加入了許多功能與功能見切換時的動畫效果,不僅使得軟件對信息的展示顯得更為生動,也改變了職工們對以往工具軟件那種簡陋界面的印象,在一定程度上對如何用好“航標(biāo)電池助手”這款軟件產(chǎn)生了興趣。(2)便攜、即插即用。“航標(biāo)遙測監(jiān)控系統(tǒng)”是依賴于Oracle數(shù)據(jù)庫客戶端的,這意味著想要使用航標(biāo)遙測監(jiān)控系統(tǒng),就必須先用大小為1GB的“Oracle數(shù)據(jù)庫客戶端安裝包”在計算機上安裝大小約為600MB的數(shù)據(jù)庫客戶端程序并對其進(jìn)行一番配置之后,才能正常安裝并運行“航標(biāo)遙測監(jiān)控系統(tǒng)”。然而,航標(biāo)電池助手則徹底免去了這類麻煩,由于航標(biāo)電池助手采用了.NET框架自帶的OleDb作為數(shù)據(jù)源接口,因此,航標(biāo)電池助手并不需要在計算機上安裝Oracle數(shù)據(jù)庫客戶端,若在Windows7版本以下的系統(tǒng)上運行,雖需要安裝大小約為50MB的“.NET4.0運行庫”程序,但從Windows7系統(tǒng)開始,使用航標(biāo)電池助手則不再需要安裝任何其他程序。加之在另一方面,航標(biāo)電池助手并沒有采用任何安裝包類的封裝,因此在使用之前也不需要使用任何安裝程序來安裝航標(biāo)電池助手,這也就是意味著,將航標(biāo)電池助手存放在U盤中后,即可讓任一接入了內(nèi)網(wǎng)的計算機通過插入該U盤來立即開啟航標(biāo)電池助手。(3)方便實用的快速查詢功能。前面我們提到了快速查詢功能的基本作用,但在實際過程中,這一功能對出航計劃的輔助決策作用尤其明顯。在實際工作中,職工們通常是一發(fā)現(xiàn)有航標(biāo)出現(xiàn)警報便迅速出航對其進(jìn)行維護(hù),這樣一來,便錯過了很多可以順便更換途中航標(biāo)電池的機會,假使職工們可以做到利用好每一次出航的機會,將沿途的每一座已經(jīng)差不多可以更換電池的航標(biāo)都順路更換完電池,則可以避免之后專門為更換這幾座航標(biāo)的電池而出航,在一定程度上降低勞動強度、節(jié)省維護(hù)成本。然而這并非職工們沒有注意到這一點,而是因為航標(biāo)遙測監(jiān)控系統(tǒng)并沒有設(shè)身處地的站在職工們的角度上來提供方便實用的查詢功能,而這正是航標(biāo)電池助手快速查詢功能設(shè)計上的本意。通過目標(biāo)航標(biāo)處于“往上游方向”、“往下游方向”等信息,航標(biāo)電池助手可以非常方便且迅速的展示出航路上所有已經(jīng)進(jìn)入預(yù)警狀態(tài)(即已經(jīng)差不多可以更換電池的狀態(tài))的航標(biāo),使職工們在出航前幾乎不用花時間便可以知道可以更換哪些航標(biāo)的電池,進(jìn)而迅速做好準(zhǔn)備工作,避免了之后專門為更換電池而出航的情況。
隨著長江航道的快速發(fā)展,大數(shù)據(jù)背景下的航道事業(yè)怎樣實現(xiàn)智能化,數(shù)字航道已經(jīng)邁出了第一步。如何使用好信息化技術(shù)來改進(jìn)航道生產(chǎn)的效率與質(zhì)量,這將是我們今后必將面臨的課題,“航標(biāo)電池助手”軟件的設(shè)計與實現(xiàn),為航道維護(hù)一線職工帶來了方便,鑒此,筆者希望引發(fā)更多關(guān)于利用信息技術(shù)指導(dǎo)改進(jìn)基層生產(chǎn)工作的思考。
參考文獻(xiàn):
[1]長江航道維護(hù)管理基礎(chǔ)資料匯編與工作情況分析.長江航道局.
作者簡介:周力夫(1990—),男,湖北仙桃人,在職碩士研究生,助理工程師,現(xiàn)就職于長江宜昌航道局航道管理處,研究方向:計算機科學(xué)軟件開發(fā)。