本發明專利技術公開了一種基于Netty的大屏可視化平臺數據推送系統,包括數據采集層、數據集查詢服務層和客戶端展現層。本發明專利技術提供的基于Netty的大屏可視化平臺的數據推送系統,通過異步的、事件驅動的網絡應用程序框架把數據直接推送至相關訂閱的客戶端,實現了對數據實時更新,克服了傳統的堵塞IO多線程模式不能滿足大屏可視化平臺大數據實時、穩定推送的問題。
【技術實現步驟摘要】
本專利技術涉及一種基于Netty的大屏可視化平臺數據推送系統,在多源異構數據接入大屏可視化系統時,并發連接數據高、數據更新周期短、數據量大的場景上仍能保證數據轉換及分發調度、穩定推送、實時更新。
技術介紹
國家電網公司信息調度運行監控中心大屏可視化展示系統、國家電網災備中心大屏可視化系統和運營檢測大屏可視化平臺,展示的數據內容豐富且結構復雜。為了實現來自不同單位、不同系統的數據的整體統一,國家電網公司信息系統經歷了 SG186的整合建設,但是各系統內的數據結構仍存在不同的差異,主要體現在數據指標的內涵與外延在系統中的概念不同,這主要是因為數據來自不同單位,而同一系統在不同單位的數據結構完全不相同,跨單位數據指標存在采集不及時、不完整、推送頻率不同的情況。由于數據最終以圖形化方式進行展示,這對數據的合規性提出了更高的要求,尤其是曲線類指標,任意時間點的數據超出合理范圍都會引起曲線的異動,而且這種異常是非常直觀、醒目的。因此實時接收到的數據,需經過一系統中間過程,諸如解碼、轉換、過濾、計算后,把數據直接推送至相關訂閱的客戶端,實現對數據實時更新,滿足客戶端對數據實時性的需求以及提高用戶體驗度、友好性。
技術實現思路
專利技術目的針對傳統的堵塞IO多線程模式不能滿足大屏可視化平臺大數據實時、穩定推送的問題,本專利技術提出一種基于Netty的大屏可視化平臺的數據推送系統,通過異步的、事件驅動的網絡應用程序框架把數據直接推送至相關訂閱的客戶端,實現了對數據實時更新。技術方案為實現上述目的,本專利技術采用的技術方案為Netty是由JBOSS提供的一個java開源框架。Netty提供異步的、事件驅動的網絡應用程序框架和工具,用以快速開發高性能、高可靠性的網絡服務器和客戶端程序。—種基于Netty的大屏可視化平臺數據推送系統,包括數據采集服務層、數據集查詢服務層和客戶端展現層,所述數據采集服務層用于將外部的多源異構數據接入到可視化平臺內;所述數據集查詢服務層用于將外部接入到可視化平臺內的數據轉換成內部的消息實體,并將這些消息實體放置到相應的消息隊列上,通過消息隊列調度器提供給相應的Netty管道;所述客戶端展現層用于通過Netty管道推送方式解析消息實體獲取數據集數據,并將數據集數據與控件進行關聯,刷新控件數據;其中,Netty管道將消息處理器以隊列的形式順序組織起來,形成處理數據流的上下文。上述系統,首先將外部數據源數據接入到可視化平臺之中,再將接入的數據轉換成可視化平臺的內部消息實體,將消息實體放置到消息隊列中,并通過消息隊列調度器提供給相應的Netty管道,通過Netty管道中的各個消息處理器的順序處理,最終將得到的數據集推送至客戶端(客戶端展現層),客戶端通過客戶端的狀態列表定位來相關客戶端的展現數據集,從而實現數據的實時更新功能。消息處理的核心由若干個消息處理器組成,不同的消息處理器的功能也不盡相同,而Netty管道將這些消息處理器以隊列的形式順序組織起來,形成處理數據流的上下文,通過對消息處理器的調度實現諸如對消息解碼、存儲、轉換等功能;同時,管道中輸出的數據為為界面展現提供了數據來源。在數據采集服務層中,外部的多源異構數據包括不同程序、不同協議、不同操作系統、不同位置的數據,數據采集服務層允入不同外部系統的數據通過不同協議上報到可視化平臺內,所述數據采集服務層的數據接入方式包括JMS、WEBSERVICE、SOCKET等。優選的,所述數據集查詢服務層的采集服務方式包括可視化系統服務和SQL服務兩種,數據集查詢服務層的工作流程包括以下步驟(al)前置處理類處理;(a2)首先通過指標采集服務定義獲得采集服務方式;(a3)若采集服務方式為可視化系統服務,則后臺將可視化數據原的配置信息解析為SQL語句并行執行,并將查詢的數據封裝為VSDataset對象;(a4)若采集服務方式為SQL方式,則根據客戶端展現層配置的SQL語句直接執行,并將查詢的數據封裝為VSDataset對象;(a5)后置處理類處理。優選的,所述客戶端展現層的工作流程包括以下步驟(bl)首先將需要發送的數據加入隊列中,按照隊列的調度順序發送數據;(b2) Netty編碼器響應,將數據對象序列化為Hessian 二進制流;(b3)將Hessian 二進制流寫入Netty的ChannelBuffer (管道緩沖區)中,并發送;(b4) Netty解碼器響應,將Hessian 二進制流解碼為對象實體;(b5)Netty的業務處理器響應,解析對象實體獲取數據集數據,將數據集數據與控件進行關聯,刷新控件數據。有益效果本專利技術提供的基于Netty的大屏可視化平臺的數據推送系統,通過異步的、事件驅動的網絡應用程序框架把數據直接推送至相關訂閱的客戶端,實現了對數據實時更新,克服了傳統的堵塞IO多線程模式不能滿足大屏可視化平臺大數據實時、穩定推送的問題。附圖說明圖1為本專利技術的結構框圖;圖2為數據采集服務存儲表結構;圖3為數據庫數據表結構;圖4為數據集查詢服務流程圖;圖5為Netty推送數據流程圖。具體實施例方式下面結合附圖對本專利技術作更進一步的說明。一種基于Netty的大屏可視化平臺數據推送系統的結構框圖,包括數據采集服務層(數據采集服務端)、數據集查詢服務層和客戶端展現層(客戶端)。所述數據采集服務層用于將外部的多源異構數據接入到可視化平臺內;數據采集服務端從可視化數據庫中獲取指標數據采集服務定義,通過解析指標數據采集服務實體對象獲得指標ID,指標列定義,指標轉存數據表,指標列映射,指標數據采集方式等信息;根據指標對應的數據采集方式,例如JMS,WEBSERVICE, SOCKET等,從外部系統中獲得該指標的數據,并將獲取的指標數據轉換成可視化平臺統一格式的數據,最終將轉換完成的數據轉存至可視化數據庫中相應的數據表中所述數據集查詢服務層用于將外部接入到可視化平臺內的數據轉換成內部的消息實體,并將這些消息實體放置到相應的消息隊列上,通過消息隊列調度器提供給相應的Netty管道。所述數據集查詢服務層的采集服務方式包括可視化系統服務和SQL服務兩種可視化系統服務是通過客戶端友好的圖形界面定義指標ID,指標列定義以及一些過濾條件等,將配置的信息封裝成數據源VSDatasource對象,后臺服務將客戶端配置的VSDatasource信息解析為SQL語句并執行,并將查詢的數據封裝為VSDataset數據集對象;SQL服務是通過客戶端直接寫指標查詢SQL語句的方式,后臺根據客戶端配置的SQL語句直接執行,也將查詢的數據封裝為VSDataset對象。在數據集查詢服務層工作時提供了前置處理類處理和后置處理類處理,以插拔方式配置數據抽取、轉化、裝載過程,針對不同業務系統提供不一樣模型轉換器。當獲得了指標的VSDataset對象后,最終要將數據集對象封裝為TemplateResponse對象,之后便可以通過Netty管道推送至前臺客戶端。所述客戶端展現層用于通過Netty管道推送方式解析消息實體獲取數據集數據,并將數據集數據與控件進行關聯,刷新控件數據。Netty管道中按順序存放了若干個消息處理器,且消息處理器以隊列的形式順序組織起來,形成處理數據流的上下文,用來按順序處理業務流程,一般來說本文檔來自技高網...
【技術保護點】
一種基于Netty的大屏可視化平臺數據推送系統,其特征在于:包括數據采集服務層、數據集查詢服務層和客戶端展現層,所述數據采集服務層用于將外部的多源異構數據接入到可視化平臺內;所述數據集查詢服務層用于將外部接入到可視化平臺內的數據轉換成內部的消息實體,并將這些消息實體放置到相應的消息隊列上,通過消息隊列調度器提供給相應的Netty管道;所述客戶端展現層用于通過Netty管道推送方式解析消息實體獲取數據集數據,并將數據集數據與控件進行關聯,刷新控件數據;其中,Netty管道將消息處理器以隊列的形式順序組織起來,形成處理數據流的上下文。
【技術特征摘要】
1.一種基于Netty的大屏可視化平臺數據推送系統,其特征在于:包括數據采集服務層、數據集查詢服務層和客戶端展現層, 所述數據采集服務層用于將外部的多源異構數據接入到可視化平臺內; 所述數據集查詢服務層用于將外部接入到可視化平臺內的數據轉換成內部的消息實體,并將這些消息實體放置到相應的消息隊列上,通過消息隊列調度器提供給相應的Netty管道; 所述客戶端展現層用于通過Netty管道推送方式解析消息實體獲取數據集數據,并將數據集數據與控件進行關聯,刷新控件數據; 其中,Netty管道將消息處理器以隊列的形式順序組織起來,形成處理數據流的上下文。2.根據權利要求1所述的基于Netty的大屏可視化平臺數據推送系統,其特征在于:所述數據采集服務層的數據接入方式包括JMS、WEBSERVICE、SOCKET。3.根據權利要求1所述的基于Netty的大屏可視化平臺數據推送系統,其特征在于:所述數據集查詢服務層的采集服務方式包括可視化系統服務和SQL服務兩種,數據集查詢服務層的工作流程包括以下步驟: (al)前置...
【專利技術屬性】
技術研發人員:邱玉祥,唐汗青,王泉嘯,嚴晴,武玉峰,
申請(專利權)人:國網電力科學研究院,南京南瑞集團公司,國家電網公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。