聶 ?!●麠钌⒄Z(yǔ)喬
基于BS框架的試飛實(shí)時(shí)監(jiān)控畫(huà)面管理
聶 睿覃楊森劉語(yǔ)喬
飛行試驗(yàn)實(shí)時(shí)監(jiān)控是指揮員和試飛工程師評(píng)判試飛安全和飛機(jī)各系統(tǒng)性能的重要依據(jù),是飛行安全的重要保障。日益繁多和復(fù)雜的試飛任務(wù)給實(shí)時(shí)監(jiān)控畫(huà)面的管理和維護(hù)帶來(lái)了更大的挑戰(zhàn)。當(dāng)前這種客戶端分別部署與管理的分散模式存在管理混亂、重復(fù)拷貝工作繁多、客戶端版本難以控制等問(wèn)題。因此,本文提出一種基于BS框架的試飛實(shí)時(shí)監(jiān)控畫(huà)面管理方法,該方法將BS框架引入到實(shí)時(shí)監(jiān)控畫(huà)面管理中,將監(jiān)控畫(huà)面及其功能組件統(tǒng)一集中存放到服務(wù)器上,利用關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行權(quán)限控制和管理,把網(wǎng)頁(yè)作為監(jiān)控畫(huà)面運(yùn)行載體,利用瀏覽器實(shí)現(xiàn)監(jiān)控畫(huà)面及其組件的自動(dòng)注冊(cè)和運(yùn)行。經(jīng)實(shí)際應(yīng)用驗(yàn)證,該方法能夠高效保障試飛實(shí)時(shí)監(jiān)控任務(wù)。
飛行試驗(yàn)實(shí)時(shí)監(jiān)控指將遙測(cè)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理之后的工程量數(shù)據(jù)以數(shù)字、曲線、告警燈和三維動(dòng)畫(huà)等可視化形式進(jìn)行實(shí)時(shí)顯示,包括音頻、視頻實(shí)時(shí)播放,是指揮員和試飛工程師進(jìn)行試飛安全和飛機(jī)各系統(tǒng)試飛性能的評(píng)判依據(jù),是飛行安全的重要保障。但隨著型號(hào)的不斷增長(zhǎng),課題數(shù)量逐漸增多,實(shí)時(shí)監(jiān)控面臨的需求也日益繁多和復(fù)雜,這將會(huì)給實(shí)時(shí)監(jiān)控畫(huà)面的維護(hù)和管理帶來(lái)更大的挑戰(zhàn)。目前,在用的實(shí)時(shí)監(jiān)控畫(huà)面及功能組件都是在每個(gè)客戶端主機(jī)分別進(jìn)行部署與管理,但隨著任務(wù)和型號(hào)的增多,這些客戶端主機(jī)上的文件會(huì)逐漸龐大并復(fù)雜,這種分散式的管理會(huì)更加困難。尤其是在某一模塊需要更新或修改、增加新的型號(hào)飛機(jī)或更換飛機(jī)監(jiān)控物理位置等情況下,必須針對(duì)每個(gè)客戶端主機(jī)中的文件進(jìn)行修改、更新等操作。這種大量繁瑣的重復(fù)工作不僅會(huì)大大地降低實(shí)時(shí)監(jiān)控的準(zhǔn)備效率,而且大量的人工操作很有可能引入新的人為故障(如版本不一致、文件缺失等)。因此,本文提出將BS框架引入到實(shí)時(shí)監(jiān)控畫(huà)面管理中,把監(jiān)控畫(huà)面及其功能組件統(tǒng)一集中地存放到服務(wù)器上,利用關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行權(quán)限控制和管理,在實(shí)時(shí)監(jiān)控時(shí)使用網(wǎng)頁(yè)作為客戶端運(yùn)行載體,利用瀏覽器自身的一些機(jī)制實(shí)現(xiàn)監(jiān)控畫(huà)面及組件的自動(dòng)注冊(cè)和運(yùn)行。本文提出的基于網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理架構(gòu)對(duì)組件式監(jiān)控畫(huà)面進(jìn)行集中式管理,不僅能夠保障畫(huà)面資源的安全可靠,確??蛻舳水?huà)面版本一致并更新及時(shí),實(shí)現(xiàn)了“輕”客戶端,而且能夠大幅度地提高實(shí)時(shí)監(jiān)控任務(wù)的準(zhǔn)備效率,降低人為誤操作,為型號(hào)的安全監(jiān)控過(guò)程提供更為高效可靠的保障。
本文的方案是將實(shí)時(shí)監(jiān)控畫(huà)面及其功能組件統(tǒng)一集中存放在已搭建的Web服務(wù)器上,通過(guò)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行管理和維護(hù),對(duì)不同的角色提供差異性管理權(quán)限。 整體結(jié)構(gòu)如圖1所示。
客戶端主機(jī)通過(guò)瀏覽器向Web服務(wù)器提交訪問(wèn)請(qǐng)求,服務(wù)器根據(jù)請(qǐng)求內(nèi)容做出相應(yīng)的應(yīng)答,完成實(shí)時(shí)監(jiān)控、畫(huà)面上傳管理或遠(yuǎn)程維護(hù)等任務(wù)。圖2所示為功能結(jié)構(gòu)圖。其工作流程為:在后臺(tái)管理站點(diǎn)上,用戶登錄通過(guò)權(quán)限判斷,普通型號(hào)用戶只能對(duì)自己負(fù)責(zé)的型號(hào)進(jìn)行瀏覽、查詢、上傳、修改和刪除等操作。管理員用戶可以進(jìn)行用戶和型號(hào)的添加、刪除和修改操作。在前臺(tái)站點(diǎn)上,用戶無(wú)需登錄即可瀏覽其負(fù)責(zé)型號(hào)的實(shí)時(shí)監(jiān)控畫(huà)面。
這里的服務(wù)器操作系統(tǒng)為Windows Server 2008 R2,針對(duì)該操作系統(tǒng)平臺(tái),選用Microsoft公司主推的IIS作為web服務(wù)器。利用網(wǎng)絡(luò)服務(wù)IIS組件作為部署工具,提高服務(wù)響應(yīng)的效率和質(zhì)量。在Windows操作系統(tǒng)平臺(tái)下,ASP.NET與系統(tǒng)兼容性能較好,同時(shí)可以更好的配合IIS組件完成站點(diǎn)構(gòu)建功能。在此架構(gòu)上,創(chuàng)建可加載監(jiān)控畫(huà)面并運(yùn)行的HTTP模塊。在后臺(tái)管理過(guò)程中,通過(guò)SQL Server2008數(shù)據(jù)庫(kù)完成維護(hù)和管理,利用視圖操作,提高對(duì)數(shù)據(jù)權(quán)限的管理。具體方案如圖3所示。
IIS服務(wù)器部署
IIS(Internet Information Service,互聯(lián)網(wǎng)信息服務(wù)),是一種Web服務(wù)組件,提供了可用于Internet或局域網(wǎng)上構(gòu)建Web服務(wù)器的能力,具有可靠性、可伸縮性、安全性以及可管理性的特點(diǎn)。IIS是微軟公司主推的服務(wù)器,支持HTTP、FTP等協(xié)議。本文所提方案中的IIS服務(wù)器的搭建流程如圖4所示。
圖1 整體結(jié)構(gòu)圖
圖2 功能結(jié)構(gòu)圖
圖3 技術(shù)方案圖
圖4 windows server 2008 R2 系統(tǒng)下IIS 搭建流程圖
圖5 數(shù)據(jù)庫(kù)實(shí)體關(guān)系圖
后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)
本文所提方案實(shí)現(xiàn)的關(guān)鍵點(diǎn)就是后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn),任何操作都是基于這五張數(shù)據(jù)表,所以數(shù)據(jù)表的設(shè)計(jì)非常重要。本文采用SQL Server2008 數(shù)據(jù)庫(kù)系統(tǒng),在該系統(tǒng)中建立一個(gè)數(shù)據(jù)庫(kù)JKZ。根據(jù)需求創(chuàng)建5個(gè)數(shù)據(jù)表,分別為型號(hào)管理表、型號(hào)信息表、用戶信息表、監(jiān)控畫(huà)面信息表和監(jiān)控畫(huà)面管理表,其數(shù)據(jù)庫(kù)關(guān)系圖如圖5所示。
通過(guò)用戶信息表來(lái)實(shí)現(xiàn)不同角色權(quán)限控制,其中用戶信息表中的UserName字段與型號(hào)信息表中的編號(hào)字段相匹配。用戶打開(kāi)后臺(tái)管理站點(diǎn)并登錄,將登錄信息與用戶信息表中的信息進(jìn)行匹配,若為普通用戶,則登錄后可查看修改其對(duì)應(yīng)飛機(jī)的監(jiān)控畫(huà)面信息;若為管理員,則登錄后可查看修改所有飛機(jī)和用戶的相關(guān)信息。這樣就可以有效地將用戶按飛機(jī)型號(hào)區(qū)分,防止其他無(wú)關(guān)用戶的誤操作,做到用戶安全可控。
通過(guò)監(jiān)控畫(huà)面信息表和監(jiān)控畫(huà)面管理表將所有飛機(jī)的監(jiān)控畫(huà)面及其功能組件按型號(hào)分類(lèi)來(lái)統(tǒng)一集中管理、管理與控制監(jiān)控畫(huà)面的版本、控制監(jiān)控主機(jī)顯示的監(jiān)控畫(huà)面。型號(hào)主管登錄后臺(tái)站點(diǎn)后,可完成型號(hào)實(shí)時(shí)監(jiān)控畫(huà)面上傳、修改、刪除、版本控制等工作,其在后臺(tái)的任何操作都可以及時(shí)傳遞到所有監(jiān)控主機(jī)的前臺(tái)站點(diǎn),確保所有監(jiān)控主機(jī)瀏覽到的實(shí)時(shí)監(jiān)控畫(huà)面的都是統(tǒng)一版本且是最新的。這樣就無(wú)需重復(fù)拷貝工作,有效地避免一些人為誤操作導(dǎo)致的故障(如畫(huà)面版本不一致、文件缺失等),并提高實(shí)時(shí)監(jiān)控準(zhǔn)備工作效率。
ASP.NET三層架構(gòu)
ASP.NET 是微軟公司推出的一個(gè)建立動(dòng)態(tài)Web應(yīng)用程序的開(kāi)發(fā)平臺(tái),具有高效運(yùn)行性能、簡(jiǎn)易性、靈活性、可管理性等優(yōu)點(diǎn)。ASP.NET的三層架構(gòu)如圖6所示,本文就使用ASP.NET的三層架構(gòu)來(lái)開(kāi)發(fā)Web應(yīng)用程序。在三層架構(gòu)中,數(shù)據(jù)庫(kù)層通過(guò)中間層來(lái)連接并進(jìn)行相關(guān)操作,前臺(tái)給中間層傳遞參數(shù),并接受中間層的返回值。表現(xiàn)層離用戶最近,用戶顯示數(shù)據(jù)和接受用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面;中間業(yè)務(wù)層負(fù)責(zé)處理用戶輸入的信息,或者是將這些信息發(fā)送給數(shù)據(jù)訪問(wèn)層進(jìn)行保存,或者是調(diào)用數(shù)據(jù)訪問(wèn)層中的函數(shù)再次讀出這些數(shù)據(jù);數(shù)據(jù)層僅實(shí)現(xiàn)數(shù)據(jù)的保存和讀取操作。
圖6 ASP.NET 三層架構(gòu)
圖7 站點(diǎn)網(wǎng)頁(yè)
網(wǎng)頁(yè)設(shè)計(jì)
本文方法實(shí)現(xiàn)站點(diǎn)部分ASP.NET網(wǎng)頁(yè)(web窗體)如圖7所示。本文使用CSS+DIV實(shí)現(xiàn)網(wǎng)頁(yè)布局,通過(guò)CSS樣式控制Web窗體中的文字信息或服務(wù)器控件的位置。
經(jīng)某型號(hào)的實(shí)際應(yīng)用驗(yàn)證,該平臺(tái)能夠高效保障飛行實(shí)時(shí)監(jiān)控任務(wù)。與原模式相比,這種新畫(huà)面管理與監(jiān)控模式并未增加時(shí)延,且能保障一臺(tái)客戶主機(jī)同時(shí)監(jiān)控多架飛機(jī)的多幅畫(huà)面。由于BS框架本身“弱客戶端”的特點(diǎn),使得在實(shí)時(shí)監(jiān)控軟件的管理過(guò)程中有效地避免了在客戶端的繁瑣操作,同時(shí)保證了客戶端主機(jī)瀏覽到的畫(huà)面版本一致,大大地提高了實(shí)時(shí)監(jiān)控任務(wù)的準(zhǔn)備效率,為型號(hào)安全監(jiān)控過(guò)程提供了更為可靠的保障。
聶 睿覃楊森劉語(yǔ)喬
中國(guó)飛行試驗(yàn)研究院
10.3969/j.issn.1001-8972.2016.07.010