郭 潔,張 煦,田春思,王京紅,羅 磊
(中國水利水電科學研究院,北京 100038)
目前,很多企業在公司總部或生產控制中心配備了大屏幕設備,但多數應用限于現有的業務系統或視頻圖像投影,內容割裂,表現形式單一,不能很好地承擔對外宣傳及企業經營管理、指揮調度的職能。
數據大屏綜合系統通過建立覆蓋規劃、建設、生產、經營全要素指標體系,匯聚生產實時作業數據、視頻監控數據、統計分析數據、分析預測數據于一體,以大屏幕和數據可視化技術為載體,用詳實客觀的數據對企業建設、生產、管理的歷史過程、最新狀態、發展愿景乃至企業文化進行全景展示。
數據可視化的意義在于把相對復雜、抽象、離散的數據通過可視的方式展示,使數據表達的意義、數據間的關聯性更加直觀,能夠更加形象地表達數據的內在意義及價值。
綜合展示系統涉及的數據來源眾多,生產廠家紛繁蕪雜,為了解決這一問題,本系統采用了面向服務體系架構(SOA)作為解決方案。主要實現方法是為各個數據源提供統一的Web Service接口獲取數據,接收指令。
綜合展示系統能夠實現指標統一管理,畫面靈活拼接、交互,數據采集穩定、可靠,需要多個子系統協同合作,共同實現。

圖1 綜合展示系統總體設計圖
大屏展示系統采用面向服務體系架構,采用MySql數據庫作為數據底層;在應用管理層中對采集到的數據進行計算、統計、清洗等二次加工,基礎服務使用IIS發布WebService提供對數據的維護及查詢,應用服務層同時支持采用.net framework、Python、Java等其它語言開發業務分析模塊,并調用各個模塊的分析結果對可視化展示提供數據支撐;控制層采用JavaEE實現,使用Tomcat或其它支持WebSocket的容器運行,采用基于Chrome瀏覽器內核的Electron軟件實現控制層與展示頁面的交互,并提供WebService對展示方案進行定制。頁面展示層采用.Net framework框架為展示頁面提供http接口的數據api,以滿足展示要求,并提供頁面拼接服務對子頁面進行組合。

圖2 綜合展示系統總體設計圖
系統的數據源支持Oracle、MySql、達夢等關系型數據庫。接入的數據類型包括:接入定期更新的靜態數據:表格(報表等)、文本(報告、宣傳稿等)、圖片和視頻(宣傳、新聞等);接入實時視頻流:生產監控實施監控視頻、自動化生產模擬視頻等。
為系統設計的數據采集子模塊可從多個數據源、系統中進行數據采集,自動監控管理數據源進程的運行狀態,并對處于異常狀態中的進程進行復位操作,使其能重新工作,同時生成系統日志。
數據管理平臺是綜合服務模塊的基礎平臺,主要為系統管理員、維護人員提供原始數據配置及增改刪查,提供人工填報數據的界面,數據分享的配置等等操作的系統。
數據管理平臺的主要功能如下:
(1)提供數據的緩存,當數據源不能連接時,可展示在連接中斷前的數據;
(2)對指標進行統一管理,降低維護難度,提高維護效率;
(3)對本地數據進行統計分析等二次加工形成新的指標;
(4)存儲指標歷史數據,對歷史數據進行統計分析;
(5)人工填報數據,提供錄入、審核手段;
(6)可配置指標的抽取邏輯;
(7)支持四則運算,積分運算,Sql語句的用戶自定義。
(8)定義數據源的數據采集周期或數據綜合計算周期;
(9)對數據質量進行管理,當出現明顯不合理數據,阻止對該數據進行展示;
(10)對數據的合理性進行約束,支持范圍超限、數據跳變、持續增長等約束條件定義。
(11)定義指標的更新周期,當超出更新周期數據未更新可提示用戶;
(12)對外提供基于WebService的開放接口,可訪問數據平臺中的任何數據。
展示系統的組成單元是展示頁面,系統設計基于Web方式的展示頁面,采用Web框架可在很多經典穩定框架基礎上進行開發設計、異步數據獲取機制可保障頁面展示效果流暢無卡頓。使用基于Web框架的圖表、表單、3D組件等多種表現形式,達到展示頁面美觀大方,內容準確、形象、重點突出等效果。
頁面的實現過程主要由需求分析、原型設計、素材收集、精細化設計、頁面集成幾個環節組成。
需求分析是頁面實現工作中的第一步,也是最重要的一環。一般在與業務部門進行充分溝通后明確展示的主題、對于展示主題進行核心詞提煉,圍繞著核心詞分析各重要指標間的關聯性以及提取其位于行業的重要性。在需求分析的過程中,將分析結果快速形成白板設計稿,白板設計稿不涉及過細的展示效果,僅對指標進行排放。白板設計稿的意義在于多次討論迭代的過程中可對展示主題有內容上的概念,展示內容的飽滿性,指標之間的關聯性、以及對主題的支撐度有相對直觀的效果。
原型設計即將白板設計稿中的指標元素以文字、數據、曲線、棒圖、餅圖、或3D圖元等方式展示出來,并對頁面文字、背景色、前景色進行初步選擇。原型設計的意義在于明達各指標的展示形式,以及頁面布局是否合理,并能快速形成簡單的展示效果與業務人員進行溝通。
素材收集針對與頁面涉及到的具體文字、圖片、視頻、模型、數據等素材進行收集整理,收集過程涉及到與具體業務部門人員溝通、對收集到的素材進行整理加工的過程。數據的收集如涉及到動態數據還需要了解數據來源類型、數據結構、數據更新周期等信息。數據采集根據各業務系統數據組成形式的不同,配置或定制開發不同的數據采集程序。對于有數據庫、網站、日報等數據源的業務指標盡量采取自動采集數據的方式,以提高數據的準確性及降低系統維護工作,對于無法自動采集數據的指標可采用人工錄入數據的方式達到展示的效果。
精細化設計即對原型圖進行精細雕琢、美術設計,展現最終的靜態效果圖,精細化設計確定稿與頁面最終效果保持一致。值得注意的是,在精細化設計的過程中,圖表、3D模型的設計要充分考慮后續實現的可行性,不做無法實現的設計。數據、圖表盡量采用真實數據,由于數據量級可能直接影響最終展示效果,在精細化設計階段、盡量采用真實數據做為設計數據可最大程度地保證最終展示效果的還原程度。
通過代碼實現Web展示頁面,根據精細化設計稿對頁面進行高度還原,將設計稿中的文字、數據、曲線、棒圖、餅圖、或3D圖元封裝成組件,針對頁面所需數據定制開發api服務,對頁面內組件進行周期數據更新,以達到最終展示效果。
為實現最優的展現效果,應盡量縮短展現主題的切換時間,并能編制展示預案以應對不同受眾的觀看需求。為此,系統設計開發的導航工具,與大屏的矩陣切換設備或中控設備緊密結合,實現主題索引、預覽、展示方案編制、主題/子題無縫切換等功能,并支持PAD導航控制、激光筆翻頁等手段。
導航軟件采用B/S架構,由服務端、控制端、展示端3部分組成。導航軟件數據流向如圖3所示。

圖3 導航系統數據流向圖
采用JavaEE實現,使用Tomcat或其它支持WebSocket的容器運行。服務端軟件部署在展示工作站,提供功能如下:
(1)為控制端頁面提供Web服務;
(2)接收控制端切換頁面指令,發送指令至展示端切換頁面,發送指令至大屏CMS服務器,切換布局;
(3)多服務端熱備,為消除單點故障,可設置多臺主機運行服務端軟件。
使用瀏覽器界面,采用WebSocket與服務端通信傳送控制指令,并接收頁面狀態。控制端軟件可運行于任意與服務端同一網絡的Pad或者PC,提供以下功能:
(1)展示工作站配置,方案編制;
(2)切換方案、頁面、子頁面、語言;
(3)顯示展示端狀態;
(4)預覽頁面等。
采用基于Chrome瀏覽器內核的Electron軟件,打開/切換展示頁面,展示端軟件部署于展示工作站,提供以下功能:
(1)接收控制端指令,打開多個頁面,并控制其最大化/最小化/全屏/隱藏等;
(2)接收控制端指令,切換子頁面、語言以及執行其它動作指令;
(3)窗口截屏,并發送到服務器端;
(4)與服務端連接發生異常時,立即重連;
(5)管理所有窗口狀態,并每秒向服務器報送一次狀態;
(6)使用JSON格式的命令描述與服務器通信。
在移動互聯大背景下,企業的信息化腳步從信息化企業階段邁向了數字化企業,以“大數據”、“可視化”為支撐的綜合展示系統已經逐漸成為一種普遍的趨勢。
通過在三峽集團公司、北方工業集團公司、國家電力投資集團有限公司等企業的應用,將生產數據與大屏可視化關聯起來,在提升企業形象的同時,對生產及建設過程從宏觀到微觀,從整體到局部的實時監視,數據大屏也將成為企業決策、指揮的重要平臺。