鄭文博
(上海船舶電子設備研究所 上海市 201108)
本文是根據(jù)企業(yè)內(nèi)部實際項目進行研究,針對企業(yè)整個應用平臺中各子系統(tǒng)狀態(tài)信息搜集及監(jiān)測而設計的監(jiān)測平臺,企業(yè)整個應用平臺中子系統(tǒng)較多,涉及到的硬件資源也相應較多,各個子系統(tǒng)在處理業(yè)務時也存在信息交互和數(shù)據(jù)共享,在這樣的大環(huán)境下,如果某個子系統(tǒng)中軟件或硬件出現(xiàn)故障,對企業(yè)會產(chǎn)生一定的損失,對故障的排查也存在一定的困難,通過建設顯控軟件能夠?qū)崟r的對各子系統(tǒng)的軟件和硬件性能進行監(jiān)測,不僅可以及時的發(fā)現(xiàn)故障,也能夠在故障產(chǎn)生并擴大前進行預防性處理。
顯控軟件功能主要涉及到監(jiān)視與顯示、心跳接收、狀態(tài)上報、遠程登錄、日志管理和身份驗證六大功能,功能結(jié)構(gòu)圖如圖1所示。
1.1.1 監(jiān)視與顯示
該模塊是能夠及時的獲取各個設備上報的狀態(tài)信息,通過顯控軟件進行判定分析后,將各個設備的狀態(tài)信息顯示出來,方便用戶直觀的發(fā)現(xiàn)問題,并解決問題。
1.1.2 心跳接收
該模塊是實時的、定時的去獲取平臺中設備的心跳信息,這些心跳信息的屬于中有心跳時間,顯控軟件能夠通過這些實時的心跳來判斷設備當前是離線還是在線。
1.1.3 狀態(tài)上報
該模塊主要將獲取到的各個設備的狀態(tài)信息以及對應的時間節(jié)點以打包的形式發(fā)送到企業(yè)信息管理中心軟件上,由管理平臺根據(jù)狀態(tài)信息進行管理。
1.1.4 日志管理
該模塊主要涉及到記錄日志和檢索日志兩部分,記錄日志是對平臺中各子系統(tǒng)在運行中發(fā)生的一些關(guān)鍵性的事件進行記錄,檢索日志是對已記錄的日志進行查詢,由于記錄實時進行,到現(xiàn)在數(shù)據(jù)庫中已經(jīng)有了大量的記錄信息,這時就需要通過檢索來查詢所需要日志。
1.1.5 遠程登錄
該模塊是指通過遠程登錄的形式去對各子系統(tǒng)進行操作,方便及時的去處理各子系統(tǒng)產(chǎn)生的故障問題。
1.1.6 身份驗證
該模塊是對用戶的身份進行驗證操作,當管理員用戶登錄系統(tǒng)中時,在錄入用戶名和密碼確認后,系統(tǒng)通過用戶名能夠識別到管理員的權(quán)限,并為管理員提供準入和相應的操作權(quán)限,當普通用戶登錄系統(tǒng)中時,在錄入用戶名和密碼確認后,系統(tǒng)通過用戶名能夠識別到普通用戶的權(quán)限,并為普通用戶提供準入和查看的權(quán)限。
在接口分析中,主要通過外部接口和內(nèi)部接口兩部分來進行分析。
圖1:顯控軟件功能結(jié)構(gòu)
圖2:外部接口關(guān)系圖
1.2.1 外部接口
企業(yè)中的內(nèi)網(wǎng)應用系統(tǒng)和外網(wǎng)應用系統(tǒng)是不在同一局域網(wǎng)中的,它們被內(nèi)網(wǎng)和外網(wǎng)之間的防火墻等網(wǎng)絡安全設備隔開,這樣的情況下內(nèi)網(wǎng)中的顯控軟件是無法和外網(wǎng)中的子系統(tǒng)進行通信的,只有通過數(shù)據(jù)軟件才能實現(xiàn)通信。也就是說,外網(wǎng)子系統(tǒng)中,還需要一個數(shù)據(jù)軟件,內(nèi)網(wǎng)在和外網(wǎng)進行通信時,首先要和這個數(shù)據(jù)軟件進行連接,通過數(shù)據(jù)軟件來進行通信,該軟件是內(nèi)網(wǎng)和外網(wǎng)通信的一個中介,對于內(nèi)網(wǎng)中的子系統(tǒng),顯控軟件能夠直接進行通信。顯控軟件的整個生命期都在和管理軟件、處理軟件、硬件監(jiān)控軟件、規(guī)劃軟件和數(shù)據(jù)庫軟件等進行信息交互,這些交互都是通過接口進行的,交互中主要涉及到的信息包括心跳和狀態(tài),外部接口圖如圖2所示。
1.2.2 內(nèi)部接口
對于顯控軟件,除了和其他子系統(tǒng)進行以外,其自身內(nèi)部也存在諸多的交互,在運行時,軟件中各個功能模塊間也需要進行數(shù)據(jù)交互。比如,監(jiān)視與顯示模塊中,能夠及時的獲取各個設備上報的狀態(tài)信息,通過顯控軟件進行判定分析后,將各個設備的狀態(tài)信息顯示出來,并把信息提交到狀態(tài)上報模塊;心跳接收是實時的、定時的去獲取平臺中設備中帶有心跳時間的心跳信息,這些信息以及對應的時間節(jié)點以打包的形式發(fā)送到企業(yè)信息管理中心軟件上,由管理平臺根據(jù)狀態(tài)信息進行管理。監(jiān)視與顯示模塊、心跳顯示模塊和狀態(tài)上報模塊分別將數(shù)據(jù)源碼信息發(fā)送至源碼顯示模塊進行顯示;心跳接收模塊中會提取時間內(nèi)容,然后由判斷時間戳模塊判斷時間戳是否在標準之內(nèi);時間戳模塊將時間戳內(nèi)容發(fā)送至狀態(tài)上報模塊。內(nèi)部接口如圖3所示。
1.3.1 易維護性
顯控軟件的易維護性和軟件的代碼結(jié)構(gòu)、代碼執(zhí)行是息息相關(guān)的,在開發(fā)中,必須制定規(guī)范的軟件開發(fā)標準,并且采用當前比較成熟的軟件架構(gòu)以及設計模式,在開發(fā)中對代碼的注釋率一定要達到百分之六十,這樣才能夠方便其他軟件開發(fā)人員對代碼的閱讀和修改。
1.3.2 易用性
對于顯控軟件的界面一定要簡潔和規(guī)范,在設計中,要將當前軟件開發(fā)中的主流界面風格和顯控軟件的實際業(yè)務相應風格結(jié)合在一起,在界面對用戶有親和力的基礎(chǔ)上實現(xiàn)操作簡單方便,完成開發(fā)后要編寫操作手冊,對操作手冊的編寫一定要語句通順,邏輯清晰。
1.3.3 準確性
數(shù)據(jù)準確性是顯控軟件的核心的技術(shù)指標,只有數(shù)據(jù)準確了,系統(tǒng)才能實現(xiàn)其自身的價值,因此,在開發(fā)中,一定要把握好系統(tǒng)的數(shù)據(jù)準確性,開發(fā)過程中,完成一個模塊的代碼,就進行模塊的單元測試,也就是黑盒測試,整個系統(tǒng)完成后,根據(jù)軟件的業(yè)務流程和相應的數(shù)據(jù)信息進行整體測試,也就是白盒測試。
1.3.4 穩(wěn)定性
穩(wěn)定性是顯控軟件的重要性能,系統(tǒng)的穩(wěn)定是保障顯控軟件運行的重要條件,主要體現(xiàn)在隨著并行用戶的數(shù)量增多,系統(tǒng)的負載是否會過大,造成軟件的反應遲鈍或異常。
因為企業(yè)各子系統(tǒng)的數(shù)據(jù)交互一般情況都是在內(nèi)網(wǎng)進行,也就是企業(yè)局域網(wǎng)中進行數(shù)據(jù)傳輸,并且各個子系統(tǒng)和顯控軟件有著非常頻繁的數(shù)據(jù)交互,涉及到的信息傳輸比較多,這種情況下,我們要通過UDP 協(xié)議來保障數(shù)據(jù)交互過程中的高效以及穩(wěn)定。
顯控軟件是企業(yè)信息平臺的一個重要子系統(tǒng),它通過對信息平臺中各子系統(tǒng)及設備的狀態(tài)進行實時監(jiān)測,并將監(jiān)測到的狀態(tài)信息進行顯示,這樣用戶就可能直觀的看到整個平臺的狀態(tài),并把這些狀態(tài)信息以打包的方式提交到管理中心,由管理中心根據(jù)狀態(tài)情況進行及時處理。根據(jù)分析結(jié)果,我們將顯控軟件功能模塊設計為六大部分。
(1)監(jiān)視與顯示模塊:接收狀態(tài)信息,解析信息內(nèi)容,解析出分系統(tǒng)名稱,和狀態(tài)內(nèi)容,不同的分系統(tǒng)顯示到界面不同的位置,并將這些信息存入數(shù)據(jù)庫。
(2)心跳接收模塊:B 系統(tǒng)下其他6 個軟件定時2s 一次上報心跳信息,本軟件根據(jù)是否接收到某軟件的心跳判斷出該軟件是否在線,通過解析出時間戳,判斷出該軟件的時間是否符合標準。
(3)狀態(tài)上報模塊:正常情況下將接收到的狀態(tài)信息30s 一次打包上報給B 系統(tǒng)下的某管理軟件,如果狀態(tài)信息出現(xiàn)突變,就立馬上報。
(4)遠程登錄模塊:界面調(diào)用遠程登錄接口,填寫遠程登錄系統(tǒng)的用戶名和密碼,如果用戶名和密碼正確就可以遠程登錄,方便查看各系統(tǒng)的具體情況。
(5)日志管理模塊:在綜合顯控軟件的運行過程中,實時記錄軟件運行過程中需要記錄的日志信息,按天生成日志文件,記錄日志的時間和信息,同時可以通過時間,檢索日志信息,在界面中進行顯示,供用戶查看。
圖3:內(nèi)部接口關(guān)系圖
(6)身份驗證模塊:用戶對軟件擁有查看權(quán)限,一旦身份驗證通過,用戶就擁有操作權(quán)限,用戶名和密碼正確就會驗證通過。
顯控軟件是信息平臺的一個監(jiān)測及管控平臺,它的建設能夠大大提高企業(yè)信息大平臺的部件安全性和穩(wěn)定性,在顯控平臺中存在一些問題,比如軟件的接口問題和數(shù)據(jù)處理問題,這些問題仍然需要去研究,去解決。