作者簡介:尹常紅(1974—),男,湖北天門人,高級工程師,學士,研究方向:氣象信息網絡技術開發應用; 袁文波(1976—),男,湖北京山人,工程師,學士,研究方向:氣象信息與技術保障。通信作者:馬廷淮(E-mail:thma@nuist.edu.cn)。
摘要:在對當前數據監視平臺主要設計模式分析的基礎上,結合業務流的概念,提出一種基于業務流的混合模式數據監視平臺設計方法。基于該方法,按照中國氣象局的實際需求,實現一個氣象服務業務數據監視平臺,該平臺設計靈活,具有一定的通用性,系統運行穩定可靠。
關鍵詞:業務流;數據監視;氣象服務;混合模式
中圖分類號:TP311.52文獻標識碼:A
1引言
隨著Internet技術和Web技術的不斷成熟與完善,信息化和網絡化在各行各業迅速發展,極大地推動了企業管理的現代化和辦公系統的自動化進程,企業的信息化已經成為衡量企業先進水平的重要標志。同時,為了實現企業資源的共享和優化配置,以業務流[1]為導向的企業信息整合方案受到了越來越多的關注,它可以幫助建立以企業為中心的信息管理模式,消除傳統管理模式中以部門為中心導致的企業信息孤島,提高企業的管理效率。在此基礎上建立一套和現代企業運作模式相匹配的數據監視平臺,為企業決策和業務控制提供反映業務運行實況時信息對企業的發展有非常重要的意義。
目前,常用數據監視平臺的開發和設計模式主要有B/S模式[2]和C/S模式[3]。C/S模式在保證通信帶寬的前提下,采用面向連接的網絡協議,在滿足監視系統功能需求的同時可以實現客戶端和服務器之間的雙向觸發功能,軟件模塊的分發授權也容易控制。但該模式下監視平臺中各功能模塊都是專用的,系統功能的體現依賴于各功能模塊間的組合關系,系統的發布方式有很大的局限性,會隨著業務空間位置的延伸變得繁瑣,并且多數C/S系統都固定于某個特定的運行平臺,可移植性差,開發周期長,升級維護困難。與此相比較,采用B/S模式的數據監視平臺具有開放性、靈活性和易用性等特點,毋需開發專用的客戶端軟件,在任何聯網的地方都可以處理業務,并且客戶端的功能模塊可通過Web服務器發布,系統的升級和維護也比較簡單。但受訪問權限和安全策略的限制,分布式環境中基于B/S模式的數據采集功能實現比較困難。
因此,本文作者采用C/S和B/S結合的混合模式,以業務流為導向,設計并實現了一個符合氣象行業業務處理需求的數據服務監視平臺。平臺中監視信息的采集采用C/S模式實現,配置和顯示采用B/S模式,具有一定的通用性,只要將實際業務處理流程細化和抽象為規范的業務流,就可以借助該平臺完成相關信息的監視。
2業務流的概念和劃分
2.1業務流的概念
業務流是對企業信息系統中某個業務處理流程的抽象,具體可用業務流程圖來描述,如圖1所示。圖1給出了兩類典型的業務流示意圖,(a)表示數據在處理過程中只有一條流動路徑的業務流,(b)表示數據在處理過程中有多條流動路徑的業務流。業務流程圖中數據(Data)節點表示業務流中數據的狀態,數據可以是原始數據、中間數據以及處理結果數據等,針對不同的監視的需求可以為數據配置不同的監視屬性;進程(Process)節點表示業務流中的處理過程,也可根據實際需求為其配置不同的監視屬性。
在針對某個具體應用設計業務流時,業務流中數據節點和進程節點的數目及其相應的監視屬性可根據需要動態調整,比較靈活。但業務流自身必須滿足下述幾個約束條件:①同一業務流對前后兩個時次數據的處理不能交叉,即同一業務流中后一個時次的數據處理必須在前一時次數據處理完成之后進行;②同一業務流的同一路徑內的處理必須串行,不同路徑上的處理過程可以并行,但輸出不能相互干涉;③同一業務流中不能出現循環路徑。
2.2業務流的劃分
業務流的劃分主要完成兩項任務:①在對已有業務處理過程細化和抽象的基礎上定義相應的業務流;②根據應用對監視信息的需求,確定各業務流中數據節點和進程節點的配置屬性項。業務流的劃分是基于業務流的數據監視平臺實現的基礎,一個具體的業務處理流程在監視平臺中可對應一個或多個相互獨立的業務流。
3監視平臺設計
以業務流的概念為基礎,根據中國氣象局對數據監視平臺的實際需求,設計和實現一個基于業務流的混合模式氣象服務業務數據監視平臺。
3.1邏輯結構設計
根據現有業務流程(如圖2所示),監視平臺從邏輯上可以分為監視信息配置子系統、監視信息采集子系統和監視信息發布子系統等三個子系統,如圖3所示。其中,監視信息配置子系統負責業務流的劃分及其數據節點和進程節點屬性的設置,并以業務流為單位將相關配置信息寫入數據庫,配置信息的填寫采用統一的Web頁面實現;監視信息采集子系統從數據庫讀取配置子系統設定的相關信息,完成監視數據信息的收集和存儲;監視信息發布子系統從數據庫中按流程讀取采集子系統收集到的監視信息,并通過Web頁面顯示給值班人員、業務人員等相關用戶。
3.2功能設計
3.2.1監視信息配置子系統
監視信息配置子系統采用B/S模式架構,包括用戶登錄、業務流添加、業務流修改、業務流保存和業務流刪除等主要功能,圖4給出了監視信息配置子系統的完整數據流圖。用戶登錄主要對用戶身份進行驗證,確保業務流配置的安全性,每個管理人員所管理的業務流是不相同的,并且只能對屬于自己的業務流執行相應的操作。系統利用全局唯一的業務流編號來區分不同的業務流,當用戶成功登錄后,系統自動顯示該用戶已配置的所有業務流,根據需要可對其進行修改或刪除,也可配置新業務流,在添加新業務流的同時完成業務流中數據節點和進程節點監視屬性的配置。上述功能的完成需要多次讀寫數據庫。
3.2.2監視信息采集子系統
監視信息采集子系統采用C/S模式架構,主要包括配置信息讀取、監視信息采集、錯誤信息分析以及日志管理等幾個功能模塊,圖5和圖6分別給出了監視信息采集子系統的總體流程圖和監視子進程的工作流程圖。配置信息讀取模塊從數據庫讀取相關業務流的配置信息,并對其進行解析,然后監視信息采集模塊通過執行內部系統指令抽取所需的監視信息接著寫入數據庫,錯誤信息分析模塊對采集到的信息進行分析并將錯誤信息重新入庫。日志管理模塊主要對相關進程進行日志登記,記錄其運行狀態。
3.2.3監視信息顯示子系統
監視信息顯示子系統采用B/S模式架構,整體流程圖如圖7所示。為方便用戶使用和進行安全控制,監視信息顯示子系統針對不同用戶提供不同的顯示視圖,視圖的劃分是通過登錄功能的身份驗證來實現的,主要用戶類型包括值班人員、維護人員和管理人員等。其中,管理人員可以創建其它類型用戶并為其分配相應的權限,查看業務流運行狀況和相關日志信息和圖表信息等;維護人員可以查看業務流的異常狀況并對維護處理結果進行登記;值班人員可以查看業務流異常狀態報警信息。系統中各類信息均采用圖表和文本相結合的方式進行顯示,具有良好的用戶界面。
4監視平臺實現
結合實際應用需求,系統采用JAVA+JSP+Sevlet開發技術實現,采用Oracle 10g作為數據庫服務器,Tomcat作為WEB服務器,在Linux、Windows等平臺中測試通過,運行效果良好。
4.1數據顯示及業務流配置
為達到較好的用戶體驗,對相關信息以圖表加文本相結合的形式進行顯示,采用CSS和開源框架ExtJs[4]等技術實現。同時,在顯示圖形和數據時為了避免“刷屏”現象的發生,還采用了Ajax[5]技術。Ajax使用DOM實現動態顯示和交互,使用XML和XSTL進行數據交換和處理,使用XMLHttpRequest對象進行異步數據讀取,使用JavaScript綁定和處理數據,能夠方便地實現異步畫面刷新,Web頁面上各數據點也能根據不同的刷新間隔獨立刷新,在強化系統功能的同時也減輕了服務器的負擔。另外,業務流的配置以拖放方式進行,在需要增加新的數據節點或進程節點時,將相應組建拖到工作區后雙擊就可對其監視項進行填寫和配置,實現比較靈活,具有一定的通用性。
4.2系統部署及實現
系統部署圖如圖8所示,整體上分為業務服務器組、應用服務器組和用戶組三層。業務服務器是運行企業自身業務的服務器,在其上部署監視信息采集子系統的實現代碼,故又稱之為采集服務器。采集服務器根據配置信息采集服務器上相應的數據,通過Socket通信把數據封包后發送到應用服務器上。應用服務器運行自己開發的數據接收服務器、數據庫服務和WEB服務器,數據接收服務器收集采集服務器發送過來的所有數據,對其進行解析后存入數據庫,WEB服務器用于運行Servlet容器以及接收報警信息。用戶組是具有訪問權限的用戶,借助瀏覽器與應用服務器通信,顯示歷史數據和相關錯誤報警信息,系統運行效果圖如圖9所示。
(a)配置子系統主界面
(b)監視項配置界面
(c)報警信息顯示界面
(d)監視信息統計界面
5結束語
本文提出了一種基于業務流的混合模式數據監視平臺的設計方法,并結合中國氣象局的業務處理的實際需求,實現了一個氣象服務業務數據監視平臺,該系統具有一定的通用性,業務流的配置靈活,運行效果良好。
參考文獻
[1]虞飛華. 基于SOA的中小型企業業務流集成應用研究[D].浙江:浙江工業大學,2009.
[2]許南山,石佳銳,基于B/S模式的數據監視技術研究與實現[J],計算機工程與科學,2009,(7):126-129.
[3]魏姍姍.基于C/S模式的數據監視技術的研究與實現[D].北京:北京化工大學,2008.
[4]楊麗彬.基于EXTJS的可視化Web頁面設計工具的研究與開發[D].江西:景德鎮陶瓷學院, 2009.
[5]蔣維.基于Ajax的大量數據動態瀏覽的實現方法研究[J].計算機應用于軟件,2010,(3):144-145.