數據可視化系統 開源項目 大數據可視化應用開發



文章插圖
數據可視化系統 開源項目 大數據可視化應用開發

文章插圖
本文從大數據應用出發,討論數據可視化在大數據時代所面臨的一系列挑戰,并重點介紹AutoVis針對這些挑戰所做嘗試及其體系架構、關鍵技術和功能特點 。
簡介:AutoVis是清華大學“大數據系統軟件國家工程實驗室”自主研發的大數據可視化設計框架 。面向大數據應用,特別是工業場景,此框架提供了一種新的數據生成圖表和看板的方式,具有表達能力豐富、簡單易用、高可擴展、高效率等特點,已應用于中車四方車輛有限公司、石家莊天遠科技集團有限公司等工業企業 。
前言
“看見”是人類的基本需求,也是人類探索未知的重要途徑 。2019年,多個機構通過捕捉射電波,收集大量數據,幫助人類第一次“看見”黑洞 。數據可視化使得人們透過數據“見所不見”,成為人與數據之間的“橋梁” 。作為第四范式“數據密集型科學發現”的組成部分,數據可視化已廣泛應用于不同的科學研究領域 。伴隨著計算機通用化、信息時代、互聯網時代的發展,數據可視化逐漸應用于人們生活的各個領域 。在大數據時代,數據可視化應用更加廣泛,并面臨諸多新的挑戰 。
挑戰
大數據時代,數據應用需求多種多樣,數據特點亦發生本質上的變化 。智能硬件的豐富與普及,互聯網、物聯網、移動化、智能化的浪潮,給數據可視化帶來新的機遇與挑戰 。如下圖所示,我們簡要梳理了數據可視化(系統)在大數據應用中所面臨的一些關鍵問題,例如數據規模增加,屏幕像素空間有限,數據可視化系統的數據采樣能力與繪制效率問題突出 。數據多樣的特點要求數據可視化系統不僅需要支持更多的可視化方法,也要具有良好的系統可擴展性以適應不斷出現的新數據、新需求 。數據快速變化的特點要求數據可視化系統能夠快速構建新的圖表,及時捕捉數據變化 。由于不同使用者所關注數據特征的差異及數據探索的需求,可視化圖表的交互性在大數據時代將更加重要 。
大數據時代數據可視化(系統)所面臨的一些挑戰
為了探究數據可視化是否滿足大數據應用場景,我們梳理了相關編程工具及系統的研究與應用現狀,如下圖所示,數據可視化生成方式可以分為編程、交互與自動生成三種 。面向不同的應用領域,出現了眾多可視化編程工具,例如常用的OpenGL、VTK、D3.js 。編程方式的優點在于豐富的表達能力,缺點在于需要使用者具有編程經驗 。交互方式提供了一種不需要編程的可視化生成方式,例如PowerBI、Tableau、Qlik,推動了數據可視化工具的普及,其在表達能力方面有所欠缺 。近些年,一些學者提出了根據數據自動生成圖表的方法,其優點是不需要用戶具備數據可視化背景,缺點是自動生成的圖表類型有限,未能體現使用者的個性化需求 。
數據可視化編程工具與系統
梳理大數據可視化所面臨的挑戰與相關進展,可見其中有許多問題亟待解決,例如系統數據采樣能力、表達能力、可擴展性、圖表快速構建能力以及交互能力 。下面介紹我們的相關工作 。
AutoVis
AutoVis是清華大學 “大數據系統軟件國家工程實驗室”針對大數據場景自主研發的數據可視化設計框架 。如下圖所示,圍繞大數據所帶來的挑戰,采用可視化設計的技術路線,基于平臺化架構思想,我們嘗試設計新的大數據可視化工具,其定位是成為一個開放平臺,目標是支持數據驅動的交互和設計過程,構建人與數、人與人溝通的橋梁 。
AutoVis基本思想
針對上述大數據可視化面臨的挑戰,我們嘗試從12個方面探索應對的方法,如下圖所示 。針對系統所需的采樣能力,提出了一種新的流式時序數據高效采樣方法;實現了一種數據特征提取框架,支持擴展不同的特征提取方法 。針對系統繪制效率,我們一方面采用了數據壓縮傳輸,將數據通信量降低到非壓縮通信的三分之一,另一方面,結合圖表LAZY更新策略,著力降低圖表非必要更新 。針對圖表表達能力要求,提出了一種新的圖表模板化與交互式編輯方法,目前提供267種圖表模板,覆蓋常用數據可視化方法 。針對系統可擴展性要求,提出一種平衡易用性與表達能力的圖表模板擴展方法;設計實現了圖表擴展實時反饋技術 。針對圖表構建能力的要求,設計實現了圖表參數自動化填充技術,實現圖表的秒級構建與響應,分鐘級構建一個看板 。針對圖表交互能力的要求,實現了常用的圖表交互方法;提出一種新的多圖表聯動關系自動發現技術,自動化支持多圖表鉆取 。
AutoVis在應對大數據可視化挑戰中的探索動態數據采樣與可視化:針對大數據場景中數據更新頻繁和數據規模較大的挑戰,我們提出了一種動態分桶與層級采樣相結合的流式數據采樣框架,實現了百萬點的毫秒級查詢,滿足高頻數據的可視分析與監控需求 。如下圖所示,其中數據寫入與圖表刷新速度均達到了100次/秒 。
高頻時序數據可視化
多源數據聚合查詢技術:針對數據檢索與處理耗時長的挑戰,我們設計實現了一種數據聚合查詢技術,通過將常用數據查詢與過濾操作映射成數據的SQL語句,將更多的數據過濾操作在數據庫層完成 。有助于顯著提升數據處理速度,提高數據可視化的效率與交互性 。
圖表模板編輯與管理技術:針對已有可視化軟件中圖表模板有限,可擴展性弱,以及通過編碼方式定義新的圖表模板需要大量的人力資源和時間成本,復用性弱等挑戰,我們設計了一種新的可擴展圖表模板分類與管理技術以及交互式編輯工具 。我們選擇使用可視化編程語言Vega和Vega-Lite,并在其示例的基礎上進行擴展,目前形成了267種圖表模板 。另外,提供了選項配置、參數擴展與自由配置三種自由度從低到高的圖表目標交互式編輯方式,著力同時滿足圖表易用性、表達能力與可擴展性的需求 。
圖表參數自動填充技術:AutoVis提供了一種自動填充圖表參數快速生成圖表的技術 。使用者在打開數據后,拖選圖表模板,系統將根據數據信息及模板配置自動填充模板參數,實現可視化圖表的一鍵生成 。同時,AutoVis提供了即時響應的圖表參數編輯技術,如果自動填充的結果不滿足個性化需求,使用者可以很方便地修改圖表參數,如下圖所示 。值得強調的是,AutoVis系統實現了參數推薦與自動補全,努力減少使用者修改參數所需的交互次數 。
AutoVis快速生成圖表
看板模板描述語言與編輯工具:看板是可視化設計工具生成的主要內容,為了在達到圖表模板化、看板配置通用化目標的同時,滿足跨平臺和跨終端等常用需求,我們設計實現了一種面向可視化看板的描述語言,實現看板的輕量靈活定義 。同時,AutoVis提供了一種所見即所得的看板編輯工具,使用者可以采用類Visio畫圖的交互方式,直觀調整看板圖表大小與布局 。另外,AutoVis還支持面向不同終端的針對性看板設計,方便使用者設置適用于特定終端的可視化看板 。
AutoVis設計看板
運行時看板交互技術:大數據時代,使用者對于數據的關注多種多樣,不再滿足于單向呈現數據的圖表,希望通過交互發掘所關注數據特征,滿足特定需求,這時需要提供合理的交互方式 。AutoVis對于單個圖表提供了常用的交互手段,特別地,我們設計實現了一種多圖表聯動關系自動發現技術,使用者在定義看板時,不需要手工定義圖表之間的聯動關系,即可實現圖表之間的聯動與數據鉆取 。
圖數據布局與可視化探索:現實生活中不同的關聯關系越來越普遍,例如人與人、人與商品,知識圖譜的應用亦越來越普遍 。如何有效地與圖數據進行交互,AutoVis實現了一種新的圖布局算法MGLA以及可視化探索方法 。MGLA算法實現了多子圖情況下關鍵節點與邊突出的保結構布局,使用者可以通過鼠標標記關注節點,系統亦能夠根據不同的搜索條件自動解析所關注節點 。
圖數據布局與可視化探索
大數據時代數據“無處不在”,這要求我們實現數據“隨處可見” 。為此,AutoVis支持跨平臺與跨終端,如下圖所示,兼容常用操作系統、主流瀏覽器以及不同屏幕分辨率的終端設備 。此外,為了滿足企業使用者的需求,AutoVis還實現了釘釘企業軟件小程序,幫助企業實現數據驅動的共享、會商與決策 。
AutoVis的跨平臺、跨終端特性
AutoVis移動端看板示例
結束語
【數據可視化系統 開源項目 大數據可視化應用開發】大數據時代數據可視化作為人與數據的橋梁,將發揮越來越重要的作用,經過數十年發展的數據可視化如何迎接新的機遇與挑戰,值得大家的共同探索 。本文簡介了我們在這方面的嘗試,以希拋磚引玉 。如果讀者對于AutoVis有興趣,