web可視化技術發展(2.1

EverCraft一直在關注Web可視化技術的發展,在本系列文章裡,小編將對國外一篇感覺很不錯的綜述性文章進行翻譯,供這一領域的愛好者相互學習。這篇paper的信息為:“Mwalongo, F., et al., State-of-the-Art Report in Web-based Visualization. COMPUTER GRAPHICS FORUM, 2016. 35(3): p. 553-575. ”。感興趣的小夥伴可以直接閱讀原文獻哈。


系列2內容主要討論可視化在web服務、網格化、雲服務方面的技術基礎,同時也涉及瀏覽器本地渲染、數據編碼、數據傳輸等方面的技術。

遠程可視化及web可視化通常採用CS(client-server)架構。網格化計算和雲計算的可視化方法將大量數據的處理問題置於服務端(比如大型模型的渲染任務、複雜的預處理任務等),同時支持多客戶端訪問。在某些特殊場景下,比如來自仿真計算或其他處理後的結果數據已經存儲在網格端或雲端,這些源數據基本不大可能遷移,那麼只能採取基於網格或雲服務的可視化方案。

基於web的可視化方法充分利用了跨平臺的瀏覽器以及對應的web部署和協同技術。在基於網格和基於雲的可視化方案裡,web可視化同樣扮演了重要的作用,如將瀏覽器作為客戶端訪問入口。

系列2將包括如下幾個部分(小編我技術渣,翻譯能力有限,對於內容較多的部分,只能一分再分了...):

  • 2.1 作為Web服務的可視化
  • 2.2 基於網格計算的可視化
  • 2.3 基於雲計算的可視化
  • 2.4 瀏覽器的本地渲染
  • 2.5 數據編碼和傳輸技術

2.1 作為Web服務的可視化

W3C組織將web服務定義為:用來支持機器與機器之間網絡信息交互的軟件系統。web服務的主要目標即為儘可能使不同軟件應用和工具在共同完成某項特定任務時,其相互之間可以進行流暢的信息交互。因為web服務定義了統一的接口,各不同類型編程代碼的應用程序即使在不同的運行環境執行,其相互之間依然可以實現順暢的信息交互。web服務技術在異構分佈式計算系統裡顯得尤為重要。

根據渲染管線(pipeline)如何拆分,基於web服務概念的可視化方法主要分為三類:

  1. 將所有的可視化管線作為一個黑盒,一個應用程序視為單個服務,用戶通過交互界面配置需要可視化的數據並獲得可視化結果。這種方式的優勢是對於用戶來說十分簡單。但是,另一方面則也限制了用戶對於更多可視化類型的選擇。
  2. 將管線的每一個階段分為獨立的web服務。這種方式各部分的管線向用戶開放,用戶可通過集成不同類型的web服務來定製滿足自己需求的多樣化。各種不同類型的Web服務可由多方開發服務商提供、由不同的執行代碼組成、運行在不同的環境。雖然這種方式為用戶提供了最大的自由度,但是由於各服務之前的信息交互和數據交換成本,可能帶來效率的降低。
  3. 將管線的每幾個階段打包為獨立web服務。這種方式為前兩種方式的結合,既為用戶提供一定的自由度,又保證信息交換的效率。

若將數據可視化作為數據分析流程的一部分,相對於把可視化應用程序拆分為不同web服務,把其作為單個web服務將更有助於抽象。將可視化應用的管線的不同階段分為不同的web服務,則更適用於程序開發者。開發者們更願意集成不同性能的可視化技術,以充分利用不同硬件特性,為用戶提供最有效的可視化服務。

另外一個重要的技術點則是如何處理可視化管線不同服務之間的數據交換。Web服務之間可以直接進行數據交換,也可通過數據中心進行數據交換。有研究表明前者的性能通常優於後者。

在實現方面,通用有兩種主要的技術路徑:基於SOAP的web服務和基於RESTful的web服務。由於RESTful更為簡單,並更易與其他web標準集成,目前的主流更傾向於RESTful。但是,雖然基於RESTful的web服務在商業領域和雲服務領域廣泛應用,但在可視化服務方面卻沒有得到足夠的關注。我們將在2.2和2.3部分討論網格化和雲計算環境下的可視化web服務。

Web服務使得不同工具可以基於標準的方式進行信息交互,不管其是用哪種代碼編寫的、在什麼環境下運行或者在什麼設備上。這將使得數據分析可以更加的自動化(在數據分析流程裡可視化作為其中一部分)。各組元可以將其實現細節在自己內部封裝,相互之間只要遵循一致的通信協議。將接口和實現分開,使得各組元可以更專注於針對某些特殊任務或硬件特性進行優化。

目前關於作為web服務的可視化的工作主要還是關注如何將web服務理念應用於可視化程序本身,關注可視化程序內部各子服務的信息交互,而沒有過多關注在數據分析流程中可視化服務和其他數據分析工具的交互(如仿真和分析工具/服務)。不斷增長的數據量和複雜的數據分析需求,使得單獨的可視化工具並不足以滿足某些特定的任務,因此需要考慮可視化工具與數據分析其他工具的融合。

通過為可視化服務提供不依賴於編程語言和運行平臺的統一接口,各可視化服務之間的連接變得簡單,並將進一步提高數據分析的自動化程度。通過複雜的可視化引擎,用戶只需要輸入可視化數據和提供部分可視化參數,就可以自動輸出可視化結果。這將更有助於各行業領域的研究人員專注於研究各自領域的核心工作,而不用花費更多的時間在軟件工具的集成上面。


EverCraft.co

我們相信。每個人都具有創新的力量,每一份對未來的設計都將讓生活變得更有趣。

web可視化技術發展(2.1/6)


分享到:


相關文章: