王忠凱,史天運(yùn),張惟皎
(中國(guó)鐵道科學(xué)研究院電子計(jì)算技術(shù)研究所,北京100081)
在動(dòng)車組日常檢修過(guò)程中,車內(nèi)的檢修工作人員需要便攜式的信息交互終端,填報(bào)故障數(shù)據(jù)和一級(jí)檢修作業(yè)記錄單,并及時(shí)了解動(dòng)車組檢修進(jìn)度,實(shí)現(xiàn)檢修員、質(zhì)檢員和驗(yàn)收員的協(xié)調(diào)配合。
本文在動(dòng)車組管理信息系統(tǒng)(Electric Multiple Units Management Information System,EMU-MIS)的總體框架下,設(shè)計(jì)、開發(fā)便攜式移動(dòng)終端,針對(duì)動(dòng)車組檢修過(guò)程的業(yè)務(wù)需求,主要實(shí)現(xiàn)故障與故障處理信息的填報(bào)、動(dòng)車組一級(jí)檢修記錄單的填報(bào)和檢修信息查詢等功能。該系統(tǒng)與固定式工位終端功能互補(bǔ),密切配合,結(jié)合便攜式終端信息溝通實(shí)時(shí)和固定式終端全面的作業(yè)管理功能,保障動(dòng)車組日常檢修作業(yè)的各個(gè)環(huán)節(jié)能夠順暢銜接。
結(jié)合動(dòng)車組檢修過(guò)程操作繁忙、作業(yè)標(biāo)準(zhǔn)化等特點(diǎn),移動(dòng)終端系統(tǒng)的設(shè)計(jì)有以下原則:(1)操作流程力求簡(jiǎn)化;(2)檢修人員易于使用;(3)系統(tǒng)應(yīng)易于擴(kuò)展,模塊之間低耦合;(4)符合設(shè)計(jì)規(guī)范,實(shí)現(xiàn)與EMU-MIS的信息共享;(5)通過(guò)權(quán)限配置、口令設(shè)置等實(shí)現(xiàn)對(duì)系統(tǒng)嚴(yán)格的安全控制。
移動(dòng)終端通過(guò)無(wú)線網(wǎng)絡(luò)接入EMU-MIS,調(diào)用Web Services實(shí)現(xiàn)信息交互,提供了一個(gè)分布式的計(jì)算技術(shù),它是一種基于標(biāo)準(zhǔn)和松散耦合的面向服務(wù)的架構(gòu)技術(shù),具有動(dòng)態(tài)性、適應(yīng)性和開放性等優(yōu)勢(shì)。系統(tǒng)集成方案如圖1。

圖1 系統(tǒng)集成方案圖
為適應(yīng)動(dòng)車運(yùn)用所不同的業(yè)務(wù)需求,軟件各模塊以插件方式集成到主框架,不同的角色登錄系統(tǒng)后加載不同的模塊,各模塊可以在配置文件和數(shù)據(jù)庫(kù)中配置。軟件架構(gòu)方案如圖2。

圖2 系統(tǒng)軟件架構(gòu)圖
根據(jù)登錄模塊傳遞的用戶信息,判斷用戶角色,檢索系統(tǒng)配置文件和數(shù)據(jù)庫(kù)中的權(quán)限信息,在系統(tǒng)中生成功能列表。各個(gè)業(yè)務(wù)模塊被編譯成單獨(dú)的動(dòng)態(tài)鏈接庫(kù),以易于系統(tǒng)擴(kuò)展。數(shù)據(jù)同步模塊中封裝了一組同步邏輯,調(diào)用Web Services接口,實(shí)現(xiàn)移動(dòng)終端的數(shù)據(jù)同步。
系統(tǒng)子模塊按照3層架構(gòu)模式設(shè)計(jì),其中包括UI(User Interface)層,業(yè)務(wù)層和數(shù)據(jù)訪問(wèn)層。
UI層包括展示部分和UI控制邏輯部分,其中UI是客戶端的用戶界面,負(fù)責(zé)從用戶方接收命令、請(qǐng)求和數(shù)據(jù),傳遞給業(yè)務(wù)層處理,然后將結(jié)果呈現(xiàn)出來(lái)。UI控制邏輯負(fù)責(zé)處理UI和業(yè)務(wù)層之間的數(shù)據(jù)交互,UI之間狀態(tài)流程的控制,同時(shí)負(fù)責(zé)簡(jiǎn)單的數(shù)據(jù)驗(yàn)證和格式化等功能。
業(yè)務(wù)層封裝了實(shí)際業(yè)務(wù)邏輯,包含數(shù)據(jù)驗(yàn)證,事物處理,權(quán)限處理等業(yè)務(wù)相關(guān)操作,是整個(gè)應(yīng)用系統(tǒng)的核心,分為業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)操作兩部分。業(yè)務(wù)數(shù)據(jù)將數(shù)據(jù)庫(kù)中的表映射到內(nèi)存,本系統(tǒng)采用強(qiáng)數(shù)據(jù)類型的映射方式,基本的字典表隨模塊啟動(dòng)而被映射到內(nèi)存,以減少對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。
數(shù)據(jù)訪問(wèn)層是為數(shù)據(jù)源提供一個(gè)可供外界訪問(wèn)的統(tǒng)一接口,本系統(tǒng)直接封裝ADO.Net的相關(guān)接口,其優(yōu)勢(shì)在于執(zhí)行速度快,易于開發(fā),適用于移動(dòng)終端的應(yīng)用環(huán)境。
依據(jù)鐵道部制定的各車型動(dòng)車組的檢修規(guī)范,結(jié)合登錄用戶的當(dāng)日檢修任務(wù),系統(tǒng)按照檢修員行進(jìn)線路,自動(dòng)生成檢修記錄清單、質(zhì)檢記錄單和驗(yàn)收記錄單,并將數(shù)據(jù)實(shí)時(shí)同步到其他相關(guān)作業(yè)人員的移動(dòng)終端上,支持各個(gè)工種的協(xié)同作業(yè),檢修記錄信息最終被自動(dòng)上傳到EMU-MIS。
故障管理模塊包括下載動(dòng)車組歷史故障、故障填報(bào)、故障處理信息填報(bào)功能。
該功能根據(jù)EMU-MIS的實(shí)時(shí)數(shù)據(jù),查詢當(dāng)前配送的檢修部件以及配件的庫(kù)存數(shù)據(jù),共享檢修庫(kù)內(nèi)的物流信息,提供當(dāng)前檢修庫(kù)通斷電狀態(tài)信息,監(jiān)控動(dòng)車組檢修進(jìn)度。
通過(guò)該功能更新移動(dòng)終端的基礎(chǔ)配置數(shù)據(jù),主要包括:用戶信息、角色信息、角色功能配置信息、車組信息、配件信息、車體架構(gòu)信息、故障基礎(chǔ)配置信息、檢修記錄配置信息。
系統(tǒng)采用基于角色的訪問(wèn)控制策略,用戶登陸后,系統(tǒng)根據(jù)用戶角色信息,生成系統(tǒng)功能列表。為方便用戶登錄,系統(tǒng)提供多種登錄方式:工號(hào)方式、姓名方式、姓名拼音首字母方式,用戶登錄時(shí)系統(tǒng)通過(guò)模糊查詢功能,簡(jiǎn)化登錄過(guò)程。
考慮到EMU-MIS的整體架構(gòu)、系統(tǒng)的開發(fā)周期以及用戶操作等因素,本文選用Windows Mobile作為OS平臺(tái)。
移動(dòng)終端系統(tǒng)采用sqlCE作為數(shù)據(jù)庫(kù)服務(wù)器,具備精簡(jiǎn)的數(shù)據(jù)庫(kù)引擎和強(qiáng)大的查詢優(yōu)化器,支持合并復(fù)制與遠(yuǎn)程數(shù)據(jù)訪問(wèn) (RDA),便于與遠(yuǎn)程數(shù)據(jù)庫(kù)實(shí)現(xiàn)同步,方便部署。
本系統(tǒng)的開發(fā)環(huán)境包括:VS 2005、同步軟件ActiveSync 4.5、Windows Mobile 6 Professional SDK Refresh.msi、Windows Mobile 6 Professional Images(CHS).msi[1]。
以檢修記錄數(shù)據(jù)的同步為例,說(shuō)明系統(tǒng)的同步機(jī)制。同步流程如圖3。

圖3 故障數(shù)據(jù)同步流程圖
同步模塊靠定時(shí)器激活,先檢索本地?cái)?shù)據(jù)庫(kù)中未上傳的數(shù)據(jù),調(diào)用Web Services的上傳服務(wù),服務(wù)器端接收到數(shù)據(jù)后,根據(jù)上傳數(shù)據(jù)的用戶信息,格式化數(shù)據(jù),將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)服務(wù)器,最后同步到其它移動(dòng)終端,通過(guò)監(jiān)聽線程接收服務(wù)器下發(fā)的數(shù)據(jù),并激活相關(guān)業(yè)務(wù)模塊。
sqlCE主要的優(yōu)化方法包括[2]:(1)精簡(jiǎn)字典表;(2)自動(dòng)清理數(shù)據(jù)表中的歷史數(shù)據(jù);(3)SQL語(yǔ)句減少使用DISTINCT, GROUP BY, ORDER BY等子句;(4)減少多表查詢;(5)設(shè)計(jì)排序和索引,提高效率。
應(yīng)用程序主要的優(yōu)化方法包括:(1)減少使用異常捕獲機(jī)制;(2)采用多線程模式;(3)減少Web Services的調(diào)用次數(shù)。
填報(bào)故障模塊根據(jù)檢修員選擇的故障部件,系統(tǒng)自動(dòng)關(guān)聯(lián)出故障模式、故障分類、故障處理方法等相應(yīng)信息項(xiàng),從而減少檢修員的信息錄入量,適應(yīng)動(dòng)車組檢修作業(yè),發(fā)揮移動(dòng)終端便捷的特點(diǎn)。
由于動(dòng)車組的日常檢修作業(yè)具有線路固定的特點(diǎn),終端系統(tǒng)結(jié)合檢修行進(jìn)的線路,逐步縮小故障部件的收索范圍,系統(tǒng)也可以根據(jù)故障部件的名稱進(jìn)行模糊匹配,方便故障部件的選擇。故障填報(bào)模塊的實(shí)現(xiàn)如圖4。
目前,西安動(dòng)車運(yùn)用所共配屬8組動(dòng)車組,庫(kù)內(nèi)有2條檢修股道,每日回所檢修的動(dòng)車組約有6-8輛,隨著鄭西高速鐵路的日益繁忙,西安運(yùn)用所的動(dòng)車組檢修任務(wù)量不斷增大。

圖4 故障填報(bào)的流程圖
移動(dòng)終端上線實(shí)施后,檢修員在作業(yè)過(guò)程中,及時(shí)填報(bào)檢修記錄數(shù)據(jù)和故障處理信息,檢修信息實(shí)時(shí)的同步到質(zhì)檢員、驗(yàn)收員以及其他相關(guān)檢修員的移動(dòng)終端中,方便各工種的協(xié)同作業(yè)和信息共享,滿足了故障處理的實(shí)時(shí)性要求,為調(diào)度人員提供了準(zhǔn)確的檢修監(jiān)控?cái)?shù)據(jù),促進(jìn)了動(dòng)車組的檢修工作有序、順暢進(jìn)行。
試運(yùn)行過(guò)程中,對(duì)系統(tǒng)的數(shù)據(jù)準(zhǔn)確性、功能的完備性、安全性、維護(hù)性、可靠性等方面進(jìn)行了測(cè)試,系統(tǒng)表現(xiàn)了良好的特性。該移動(dòng)終端系統(tǒng)與固定式終端系統(tǒng)相互配合,實(shí)現(xiàn)了動(dòng)車組檢修過(guò)程中的故障、檢修記錄等基礎(chǔ)數(shù)據(jù)的采集,建立了各個(gè)檢修工種的信息實(shí)時(shí)交互平臺(tái),提高了動(dòng)車組的檢修效率。該移動(dòng)終端方案是可行的,且取得了良好的效果。
通過(guò)該項(xiàng)目的設(shè)計(jì)、實(shí)現(xiàn),基于Web Services技術(shù)的系統(tǒng)集成方案、插件式的模塊設(shè)計(jì)和3層結(jié)構(gòu)的模塊架構(gòu)方法具備良好的擴(kuò)展性,結(jié)構(gòu)合理,易于維護(hù),縮短了開發(fā)周期,為系統(tǒng)在全路推廣打下了基礎(chǔ)。
[1] JEFFREY RICHTER. .NET框架程序設(shè)計(jì)[M] . 李建忠,譯.北京:清華大學(xué)出版社,2005.
[2] Steve McConnell. 代碼大全[M] . 金戈,湯凌,陳碩,張菲,譯. 北京:電子工業(yè)出版社,2010.