郭 潔,張 煦,田春思,王京紅,羅 磊
(中國水利水電科學(xué)研究院,北京 100038)
目前,很多企業(yè)在公司總部或生產(chǎn)控制中心配備了大屏幕設(shè)備,但多數(shù)應(yīng)用限于現(xiàn)有的業(yè)務(wù)系統(tǒng)或視頻圖像投影,內(nèi)容割裂,表現(xiàn)形式單一,不能很好地承擔(dān)對外宣傳及企業(yè)經(jīng)營管理、指揮調(diào)度的職能。
數(shù)據(jù)大屏綜合系統(tǒng)通過建立覆蓋規(guī)劃、建設(shè)、生產(chǎn)、經(jīng)營全要素指標(biāo)體系,匯聚生產(chǎn)實時作業(yè)數(shù)據(jù)、視頻監(jiān)控數(shù)據(jù)、統(tǒng)計分析數(shù)據(jù)、分析預(yù)測數(shù)據(jù)于一體,以大屏幕和數(shù)據(jù)可視化技術(shù)為載體,用詳實客觀的數(shù)據(jù)對企業(yè)建設(shè)、生產(chǎn)、管理的歷史過程、最新狀態(tài)、發(fā)展愿景乃至企業(yè)文化進行全景展示。
數(shù)據(jù)可視化的意義在于把相對復(fù)雜、抽象、離散的數(shù)據(jù)通過可視的方式展示,使數(shù)據(jù)表達(dá)的意義、數(shù)據(jù)間的關(guān)聯(lián)性更加直觀,能夠更加形象地表達(dá)數(shù)據(jù)的內(nèi)在意義及價值。
綜合展示系統(tǒng)涉及的數(shù)據(jù)來源眾多,生產(chǎn)廠家紛繁蕪雜,為了解決這一問題,本系統(tǒng)采用了面向服務(wù)體系架構(gòu)(SOA)作為解決方案。主要實現(xiàn)方法是為各個數(shù)據(jù)源提供統(tǒng)一的Web Service接口獲取數(shù)據(jù),接收指令。
綜合展示系統(tǒng)能夠?qū)崿F(xiàn)指標(biāo)統(tǒng)一管理,畫面靈活拼接、交互,數(shù)據(jù)采集穩(wěn)定、可靠,需要多個子系統(tǒng)協(xié)同合作,共同實現(xiàn)。
圖1 綜合展示系統(tǒng)總體設(shè)計圖
大屏展示系統(tǒng)采用面向服務(wù)體系架構(gòu),采用MySql數(shù)據(jù)庫作為數(shù)據(jù)底層;在應(yīng)用管理層中對采集到的數(shù)據(jù)進行計算、統(tǒng)計、清洗等二次加工,基礎(chǔ)服務(wù)使用IIS發(fā)布WebService提供對數(shù)據(jù)的維護及查詢,應(yīng)用服務(wù)層同時支持采用.net framework、Python、Java等其它語言開發(fā)業(yè)務(wù)分析模塊,并調(diào)用各個模塊的分析結(jié)果對可視化展示提供數(shù)據(jù)支撐;控制層采用JavaEE實現(xiàn),使用Tomcat或其它支持WebSocket的容器運行,采用基于Chrome瀏覽器內(nèi)核的Electron軟件實現(xiàn)控制層與展示頁面的交互,并提供WebService對展示方案進行定制。頁面展示層采用.Net framework框架為展示頁面提供http接口的數(shù)據(jù)api,以滿足展示要求,并提供頁面拼接服務(wù)對子頁面進行組合。
圖2 綜合展示系統(tǒng)總體設(shè)計圖
系統(tǒng)的數(shù)據(jù)源支持Oracle、MySql、達(dá)夢等關(guān)系型數(shù)據(jù)庫。接入的數(shù)據(jù)類型包括:接入定期更新的靜態(tài)數(shù)據(jù):表格(報表等)、文本(報告、宣傳稿等)、圖片和視頻(宣傳、新聞等);接入實時視頻流:生產(chǎn)監(jiān)控實施監(jiān)控視頻、自動化生產(chǎn)模擬視頻等。
為系統(tǒng)設(shè)計的數(shù)據(jù)采集子模塊可從多個數(shù)據(jù)源、系統(tǒng)中進行數(shù)據(jù)采集,自動監(jiān)控管理數(shù)據(jù)源進程的運行狀態(tài),并對處于異常狀態(tài)中的進程進行復(fù)位操作,使其能重新工作,同時生成系統(tǒng)日志。
數(shù)據(jù)管理平臺是綜合服務(wù)模塊的基礎(chǔ)平臺,主要為系統(tǒng)管理員、維護人員提供原始數(shù)據(jù)配置及增改刪查,提供人工填報數(shù)據(jù)的界面,數(shù)據(jù)分享的配置等等操作的系統(tǒng)。
數(shù)據(jù)管理平臺的主要功能如下:
(1)提供數(shù)據(jù)的緩存,當(dāng)數(shù)據(jù)源不能連接時,可展示在連接中斷前的數(shù)據(jù);
(2)對指標(biāo)進行統(tǒng)一管理,降低維護難度,提高維護效率;
(3)對本地數(shù)據(jù)進行統(tǒng)計分析等二次加工形成新的指標(biāo);
(4)存儲指標(biāo)歷史數(shù)據(jù),對歷史數(shù)據(jù)進行統(tǒng)計分析;
(5)人工填報數(shù)據(jù),提供錄入、審核手段;
(6)可配置指標(biāo)的抽取邏輯;
(7)支持四則運算,積分運算,Sql語句的用戶自定義。
(8)定義數(shù)據(jù)源的數(shù)據(jù)采集周期或數(shù)據(jù)綜合計算周期;
(9)對數(shù)據(jù)質(zhì)量進行管理,當(dāng)出現(xiàn)明顯不合理數(shù)據(jù),阻止對該數(shù)據(jù)進行展示;
(10)對數(shù)據(jù)的合理性進行約束,支持范圍超限、數(shù)據(jù)跳變、持續(xù)增長等約束條件定義。
(11)定義指標(biāo)的更新周期,當(dāng)超出更新周期數(shù)據(jù)未更新可提示用戶;
(12)對外提供基于WebService的開放接口,可訪問數(shù)據(jù)平臺中的任何數(shù)據(jù)。
展示系統(tǒng)的組成單元是展示頁面,系統(tǒng)設(shè)計基于Web方式的展示頁面,采用Web框架可在很多經(jīng)典穩(wěn)定框架基礎(chǔ)上進行開發(fā)設(shè)計、異步數(shù)據(jù)獲取機制可保障頁面展示效果流暢無卡頓。使用基于Web框架的圖表、表單、3D組件等多種表現(xiàn)形式,達(dá)到展示頁面美觀大方,內(nèi)容準(zhǔn)確、形象、重點突出等效果。
頁面的實現(xiàn)過程主要由需求分析、原型設(shè)計、素材收集、精細(xì)化設(shè)計、頁面集成幾個環(huán)節(jié)組成。
需求分析是頁面實現(xiàn)工作中的第一步,也是最重要的一環(huán)。一般在與業(yè)務(wù)部門進行充分溝通后明確展示的主題、對于展示主題進行核心詞提煉,圍繞著核心詞分析各重要指標(biāo)間的關(guān)聯(lián)性以及提取其位于行業(yè)的重要性。在需求分析的過程中,將分析結(jié)果快速形成白板設(shè)計稿,白板設(shè)計稿不涉及過細(xì)的展示效果,僅對指標(biāo)進行排放。白板設(shè)計稿的意義在于多次討論迭代的過程中可對展示主題有內(nèi)容上的概念,展示內(nèi)容的飽滿性,指標(biāo)之間的關(guān)聯(lián)性、以及對主題的支撐度有相對直觀的效果。
原型設(shè)計即將白板設(shè)計稿中的指標(biāo)元素以文字、數(shù)據(jù)、曲線、棒圖、餅圖、或3D圖元等方式展示出來,并對頁面文字、背景色、前景色進行初步選擇。原型設(shè)計的意義在于明達(dá)各指標(biāo)的展示形式,以及頁面布局是否合理,并能快速形成簡單的展示效果與業(yè)務(wù)人員進行溝通。
素材收集針對與頁面涉及到的具體文字、圖片、視頻、模型、數(shù)據(jù)等素材進行收集整理,收集過程涉及到與具體業(yè)務(wù)部門人員溝通、對收集到的素材進行整理加工的過程。數(shù)據(jù)的收集如涉及到動態(tài)數(shù)據(jù)還需要了解數(shù)據(jù)來源類型、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)更新周期等信息。數(shù)據(jù)采集根據(jù)各業(yè)務(wù)系統(tǒng)數(shù)據(jù)組成形式的不同,配置或定制開發(fā)不同的數(shù)據(jù)采集程序。對于有數(shù)據(jù)庫、網(wǎng)站、日報等數(shù)據(jù)源的業(yè)務(wù)指標(biāo)盡量采取自動采集數(shù)據(jù)的方式,以提高數(shù)據(jù)的準(zhǔn)確性及降低系統(tǒng)維護工作,對于無法自動采集數(shù)據(jù)的指標(biāo)可采用人工錄入數(shù)據(jù)的方式達(dá)到展示的效果。
精細(xì)化設(shè)計即對原型圖進行精細(xì)雕琢、美術(shù)設(shè)計,展現(xiàn)最終的靜態(tài)效果圖,精細(xì)化設(shè)計確定稿與頁面最終效果保持一致。值得注意的是,在精細(xì)化設(shè)計的過程中,圖表、3D模型的設(shè)計要充分考慮后續(xù)實現(xiàn)的可行性,不做無法實現(xiàn)的設(shè)計。數(shù)據(jù)、圖表盡量采用真實數(shù)據(jù),由于數(shù)據(jù)量級可能直接影響最終展示效果,在精細(xì)化設(shè)計階段、盡量采用真實數(shù)據(jù)做為設(shè)計數(shù)據(jù)可最大程度地保證最終展示效果的還原程度。
通過代碼實現(xiàn)Web展示頁面,根據(jù)精細(xì)化設(shè)計稿對頁面進行高度還原,將設(shè)計稿中的文字、數(shù)據(jù)、曲線、棒圖、餅圖、或3D圖元封裝成組件,針對頁面所需數(shù)據(jù)定制開發(fā)api服務(wù),對頁面內(nèi)組件進行周期數(shù)據(jù)更新,以達(dá)到最終展示效果。
為實現(xiàn)最優(yōu)的展現(xiàn)效果,應(yīng)盡量縮短展現(xiàn)主題的切換時間,并能編制展示預(yù)案以應(yīng)對不同受眾的觀看需求。為此,系統(tǒng)設(shè)計開發(fā)的導(dǎo)航工具,與大屏的矩陣切換設(shè)備或中控設(shè)備緊密結(jié)合,實現(xiàn)主題索引、預(yù)覽、展示方案編制、主題/子題無縫切換等功能,并支持PAD導(dǎo)航控制、激光筆翻頁等手段。
導(dǎo)航軟件采用B/S架構(gòu),由服務(wù)端、控制端、展示端3部分組成。導(dǎo)航軟件數(shù)據(jù)流向如圖3所示。
圖3 導(dǎo)航系統(tǒng)數(shù)據(jù)流向圖
采用JavaEE實現(xiàn),使用Tomcat或其它支持WebSocket的容器運行。服務(wù)端軟件部署在展示工作站,提供功能如下:
(1)為控制端頁面提供Web服務(wù);
(2)接收控制端切換頁面指令,發(fā)送指令至展示端切換頁面,發(fā)送指令至大屏CMS服務(wù)器,切換布局;
(3)多服務(wù)端熱備,為消除單點故障,可設(shè)置多臺主機運行服務(wù)端軟件。
使用瀏覽器界面,采用WebSocket與服務(wù)端通信傳送控制指令,并接收頁面狀態(tài)??刂贫塑浖蛇\行于任意與服務(wù)端同一網(wǎng)絡(luò)的Pad或者PC,提供以下功能:
(1)展示工作站配置,方案編制;
(2)切換方案、頁面、子頁面、語言;
(3)顯示展示端狀態(tài);
(4)預(yù)覽頁面等。
采用基于Chrome瀏覽器內(nèi)核的Electron軟件,打開/切換展示頁面,展示端軟件部署于展示工作站,提供以下功能:
(1)接收控制端指令,打開多個頁面,并控制其最大化/最小化/全屏/隱藏等;
(2)接收控制端指令,切換子頁面、語言以及執(zhí)行其它動作指令;
(3)窗口截屏,并發(fā)送到服務(wù)器端;
(4)與服務(wù)端連接發(fā)生異常時,立即重連;
(5)管理所有窗口狀態(tài),并每秒向服務(wù)器報送一次狀態(tài);
(6)使用JSON格式的命令描述與服務(wù)器通信。
在移動互聯(lián)大背景下,企業(yè)的信息化腳步從信息化企業(yè)階段邁向了數(shù)字化企業(yè),以“大數(shù)據(jù)”、“可視化”為支撐的綜合展示系統(tǒng)已經(jīng)逐漸成為一種普遍的趨勢。
通過在三峽集團公司、北方工業(yè)集團公司、國家電力投資集團有限公司等企業(yè)的應(yīng)用,將生產(chǎn)數(shù)據(jù)與大屏可視化關(guān)聯(lián)起來,在提升企業(yè)形象的同時,對生產(chǎn)及建設(shè)過程從宏觀到微觀,從整體到局部的實時監(jiān)視,數(shù)據(jù)大屏也將成為企業(yè)決策、指揮的重要平臺。