《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于工作流的科學數據分析系統
基于工作流的科學數據分析系統
2015年微型機與應用第10期
李宏源1,2,陳 梅1,2,李 暉1,2
(1.貴州大學 計算機科學與技術學院,貴州 貴陽 550025; 2.貴州省先進計算與醫療信息服務工程實驗室,貴州 貴陽 550025)
摘要: 隨著科技的發展,科學領域的研究人員在觀察和實驗中產生的數據規模越來越大,科學分析任務也愈加復雜。新型的陣列數據庫和工作流技術逐漸被應用到大規模科學數據的管理和分析中。結合陣列數據庫系統SciDB,研究并實現了一種基于工作流的科學數據分析系統,用于滿足基于大規模數據的復雜科學數據分析需求。
Abstract:
Key words :

  摘  要: 隨著科技的發展,科學領域的研究人員在觀察和實驗中產生的數據規模越來越大,科學分析任務也愈加復雜。新型的陣列數據庫和工作流技術逐漸被應用到大規??茖W數據的管理和分析中。結合陣列數據庫系統SciDB,研究并實現了一種基于工作流的科學數據分析系統,用于滿足基于大規模數據的復雜科學數據分析需求。

  關鍵詞: SciDB;工作流;科學工作流;科學數據分析;科學大數據

0 引言

  近年來,隨著科學觀測工具和科學實驗操作儀器的不斷改進以及科學觀測手段的不斷進步,很多科學研究領域,尤其是一些基礎學科領域,例如高能物理學、生物信息學、大氣科學、天文學等,在實驗過程中和實驗后產生的可以用來分析的實驗數據越來越多,其數據量越來越大;同時,科學過程也越來越完善,這意味著它變得越來越復雜,包含在其中的科學計算過程往往由成千上萬個步驟構成。綜上,目前的科學分析甚至是一個簡單的科學實驗都需要對TB甚至PB量級的數據進行分析查詢,才能夠對整個科學工程進行進一步的分析,從而找出規律,得出結論。因而,將大數據查詢的處理方法應用到科學大數據,并將其做成一種簡單、易上手的服務,對于提高科研人員的工作效率具有顯著的作用。同時,科學過程產生的是數據,其運行的過程本身是由數據驅動的,對于科學領域學者來說,數據是最重要的,科學數據是數據密集型的。

  采用工作流技術可以將復雜查詢進行拆分,實現查詢的可視化和動態修改,使得科學分析服務簡單、易上手。但是由于科學分析其以數據作為驅動的特點,目前不能將傳統的工作流系統,即目前應用在企業領域的BPM(Business Process Management),例如JBPM和Activiti直接應用于科學領域,因而采用科學工作流系統。

  在國外,Kepler科學工作流系作為一種科學分析的手段,已經開始應用于醫學數據分析領域和環境監測數據分析領域,但是Kepler本身只是一個工作流執行引擎,其所分析的科學過程中的每一個步驟經常采用Hadoop作為分析的工具,而Hadoop執行科學分析的效率不高,尤其在其所分析的科學數據的維度較大的情況下。同時,以SciDB作為科學分析工具的查詢服務在國外目前還處于起步階段。針對于Kepler,其所提供的可視化編輯是在軟件界面上實現的,將之應用于網頁形式還是比較困難的。

  在國內,基于數據驅動的科學數據處理的科學工作流系統的研究還處于起步階段,很多學者都只是提出了一個簡單的僅僅應用于一項甚至幾項相類似的科學研究的科學工作流框架,針對這些框架的實現較少,同時,這些框架基本上是基于關系型數據庫設計的,對于數組數據庫來說,不具有較好的數據可擴展性。

1 科學數據庫系統SciDB

  隨著科學學科領域觀測手段的不斷進步,在很多科學領域產生的數據都開始呈現出爆炸性增長的趨勢。為了滿足針對這些數據的多種多樣的復雜分析操作,基于數組模型的數據管理和分析成為了科學數據管理和分析的趨勢。傳統的數組管理和分析軟件如MATLAB的基本思想是在主存中處理可以放在內存中的少量數據,但是對于海量數據的處理比較困難。同時,對于科學家來說,使用傳統的關系型數據庫如SQLServer、Mysql、Oracle等來存儲和分析數組類型數據的過程過于復雜且低效,這是因為傳統的關系型數據庫是基于關系數據模型來分析數據的,本身沒有針對數組類型科學數據的存儲和分析進行優化。進一步說,傳統關系型數據庫的擴展能力也制約著它們的海量科學數據處理能力[1-2]。

  為了解決上述問題,以STONEBRAKER M為首的數據庫專家在收集并且深入探究了當前領域學者對于科學數據的分析需求的基礎上,在列存儲的基礎上,結合科學研究所產生數據的結構特點,在Paradigm4公司的贊助下研發了一套科學數據管理和分析的系統軟件,其社區免費版本名為SciDB[3]。

  SciDB不同于傳統的關系數據庫軟件,它側重于科學數據的分析操作,設計目標是與R、MATLAB以及IDL等科學分析軟件結合來分析管理科學數據。

  SciDB是一個開源的數據管理系統,主要為科學領域中的超大規模陣列數據而設計,其設計初衷旨在解決科學研究中數據量大、數據世襲等科學問題。與傳統DBMS不同的是,SciDB能夠為科學應用領域提供大規模的復雜分析支持,用以滿足其日益增長的需求。它采用陣列數據模型(一種具有數學中數組特性的數據模型),支持多維數據。其基本組成單元是cell,各個cell有相同的值類型。cell的值可以是一個或多個標量值,也可以是一個或多個數組。

001.jpg

  SciDB的基本架構如圖1所示。在SciDB集群中有兩種類型的節點:Coordinate節點參與查詢執行并且協調查詢行為;Worker節點是直接參與查詢執行的節點,查詢后的結果會傳輸到Coordinate節點上輸出。在SciDB集群中,使用Postgresql數據庫(Postgresql數據庫,PG)作為集群元數據的存儲。

  SciDB具有如下特性:

  (1)SciDB事物的作用領域是一條SQL語句。每一條語句都涉及針對一個或者多個數組的很多操作。最后,事務結束后得到的結果存儲到目的數組中。

  (2)SciDB實現了數組級鎖。在事務一開始,鎖就被獲取,該鎖在查詢執行中一直處于活躍狀態。數組鎖在查詢執行之后被釋放。如果取消了某個查詢,該查詢所涉及的數組的相應操作在所有節點上都被取消,從而使得數據庫可以返回到初始狀態。

  (3)SciDB支持追加操作。它使用不覆蓋存儲機制,每一次更新現有的數組中的數據,SciDB都會創建一個新的數組版本。這意味著如果往現有的數組中插入一系列的新數據,這些數據以及數組中原有的數據必須全部重新分布到SciDB節點中。如果數據量比較大,上述過程會花費額外的大量時間。

2 科學工作流及其代表Kepler系統

  工作流(Workflow),指業務過程的部分或整體在計算機應用環境下的自動化,是對工作流程及其各操作步驟之間業務規則的抽象、概括描述。

  工作流管理聯盟(WfMC)對工作流的定義為:一類能夠完全或者部分自動執行的經營過程,根據一系列過程規則、文檔、信息或任務能夠在不同的執行者之間傳遞、執行。

  工作流其實是一個直接有向圖,它的執行是有序的,目前一般將工作流的執行信息存儲在擴展標記語言(eXtensible Markup Language,XML)文檔中[4]。

  與傳統的工作流不同,科學工作流是以數據作為驅動的,它也是由一系列的小的工作流程組成的,但是制約整個工作流程執行的不僅僅是順序,同時還與數據有關,假如整個工作流程沒有需要的數據,該工作流便不能執行;相反,假如存在數據,則整個工作流程可以重復執行,這意味著科學工作流的執行邏輯與傳統的工作流有些不同。同時,以SciDB作為科學分析的執行引擎,這意味著需要針對SciDB單獨設計工作流執行邏輯[5-7]??傮w來說,科學工作流是獲取科學數據,并對所獲取到的數據執行復雜分析的靈活的工具。

  Kepler[8]主要面向科學家、分析專家以及計算機程序員,提供了一系列可以通用的科學分析框架。它可以操作不同格式、不同地區、不同介質中的數據,同時提供了一系列可以擴展的接口用于擴展R或C語言用戶。 Kepler的圖形界面允許用戶使用拖拽的形式來創建一個工作流,此時的工作流即以數據為驅動的科學工作流。

  Kepler是一個以Java作為主要開發語言的軟件,這意味著Kepler的api可以具有很好的跨平臺特性。一個簡單的Kepler工作流如圖2所示。

002.jpg

  其中,SDF Director是流程控制器,Display是不同的actor組件,其功能類似于JBPM中的Process。

3 基于工作流的科學數據分析系統

  本文提出的基于工作流的科學數據分析系統是云平臺上工作流作為服務(Workflow As a Service,WAS)系統的一部分,WAS架構圖如圖3所示。

003.jpg

  WAS系統分為兩個主要的部分,即應用部分和SciDB集群系統部分。

  應用部分是基于集群系統部分構建的,目前主要由本文中提到的科學數據分析系統、WAS系統用戶管理、WAS系統用戶資源管理以及WAS系統負載均衡部分組成。針對第1節中提到的SciDB系統的相關特性,科學數據分析系統做了相應的處理。WAS系統用戶管理、WAS系統用戶資源管理以及WAS系統負載均衡部分目前還只是處于初步階段,管理的用戶是WAS系統的全部用戶,這部分相應的數據是存儲在關系型數據庫之中的,而且只有系統管理員才有相應的管理和查看權限,實現了一定的數據保密性。

  集群部分是基于SciDB構建的分布式集群,相比關系型數據庫以及傳統的MATLAB等數據分析工具,該分布式集群具有較好的科學數據分析功能。

  用戶登錄到WAS后,可以通過工作流系統執行科學分析,并查看科學分析的執行結果,并且可以同時從界面中導出。WAS系統同時實現了負載均衡和用戶使用過程中系統資源利用率的實時監控。本文中的工作流系統是圖3中的工作流中的一部分,這部分系統的架構圖如圖4所示。

004.jpg

  該工作流系統由兩個部分組成,即Web客戶端界面以及工作流執行引擎。

  在Web客戶端界面中,用戶通過用戶管理界面與用戶信息庫之間的接口查看本賬戶中已經執行的科學工作流的執行情況以及執行過程中的資源占用率(如CPU占用率、主存的占用率、主存的占有量、磁盤的讀寫以及本帳戶所使用的集群的網絡數據傳輸速率)。其中的用戶管理與WAS系統的用戶管理不同。

  而數據上傳界面、流程設計界面以及結果輸入界面都是通過接口與工作流執行引擎交互的。用戶通過數據上傳界面將上傳文件的相關信息發給工作流執行引擎,之后,工作流執行引擎通過接口與SciDB集群通信,并將數據文件加載到SciDB數據庫中,再將加載后狀態信息返回給用戶。流程設計界面是一個Web版的流程設計器,用戶通過拖拽可以設計一個科學工作流,最后保存為XML文件交給工作流執行引擎處理。結果輸入界面顯示出分析結果。一個簡單的科學工作流如圖5所示。其中,左邊的圓點代表科學分析任務開始,右邊圓點代表科學分析任務結束,task1代表一個簡單的科學分析過程。當然,復雜的科學分析過程是由一系列的圖中的基本的科學分析子過程組成的。

005.jpg

  本文中提出的科學分析系統的執行過程如下:

 ?。?)工作流引擎在啟動后進行初始化,加載afl.properties文件,該文件中有SciDB的AFL函數相關信息。這部分信息可以用于在工作流執行過程中的檢測。

 ?。?)該系統的用戶在流程設計界面使用拖拽的方式拖拽基本組件,并連接這些組件組成類似于圖5的工作流。執行這個工作流可以完成用戶需要的科學分析操作。用戶通過點擊保存按鈕將該工作流保存到XML和數據庫中。

 ?。?)解析XML文件,并執行該工作流完成用戶需要的科學分析操作。這部分操作的流程圖如圖6所示。

006.jpg

 ?。?)用戶可以分別在結果輸入界面和用戶管理界面查看最終結果及系統執行分析操作過程中的一系列系統參數變化情況。

  以SciDB作為科學分析執行引擎,其本質上是針對SQL語句或類SQL語句的處理。

4 結論

  本文設計并實現了一個基于工作流的科學數據分析系統,該系統是基于SciDB獨立設計的執行邏輯科學分析工作,具有較好的可擴展性和可復用性,適用于科學數據分析,同時該系統與Kepler不同,該系統允許用戶在Web端使用。

參考文獻

  [1] DOBOS L, SZALAY A, BLAKELEY J, et al. Array requirements for scientific applications and an implementation for Microsoft SQL Server[EB/OL].(2011-10-11)[2015-03-01].www.docin.com/p-379013760.html.

  [2] WIDMANN N, BAUMANN P. Efficient execution of operations in a DBMS for multidimensional arrays[C]. Proceedings of SSDBM′98, Capri, Italy, 1998,7:155-165.

  [3] THAKAR A R, SZALAY A S,  KUNSZT P Z, et al. Migrating a multiterabyte archive from object to relational databases[J]. Computing in Science & Engineering, 2003:16-29.

  [4] 羅海濱,范玉順,吳澄.工作流技術綜述[J].軟件學報,2000,11(7):899-907.

  [5] 肖飛,張為華,王東輝.面向科學過程的工作流技術研究現狀與趨勢[J].計算機應用研究,2011,28(11):4013-4019.

  [6] 張衛民,劉燦燦,駱志剛.科學工作流技術研究綜述[J].國防科技大學學報,2011,33(3):56-65.

  [7] 宋琳琳.E-Science發展情況簡介[J].圖書館學研究,2005(7):21-23.

  [8] Wang Jianwu, CRAWL D, ALTINTAS I. Kepler+hadoop: a general architecture facilitating data-intensive applications in scientific workflow systems[C]. Proceedings of the Fourth Workshop on Workflows in Support of Large-Scale Science (WORKS09) at Supercomputing 2009 (SC2009) Conference, ACM 2009.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产福利在线永久视频下载 | 国产精品一级视频 | 五月天激情综合网 | 国产精品天堂avav在线 | 久久狠狠躁免费观看2020 | 欧美一区二区二区 | 国产色网址 | 精品久久久久久国产牛牛app | 免费久| 亚洲伊人国产 | 国产一区二区三区免费在线视频 | 模特精品一区二区三区 | 久久精品国产免费一区 | 成人免费观看永久24小时 | 插插插日日日 | 国产人成77777视频网站 | 中文字幕天天躁夜夜狠狠综合 | 精品你懂的| 日韩欧美中 | 国产精品久久久久久久久夜色 | 免费毛片网站在线观看 | 欧美不卡一区二区三区免 | 高清免费毛片 | 四虎精品影院4hutv四虎 | www.免费视频 | 国产xxxxx在线播放 | 福利在线一区 | 国产成人精品视频频 | 九九九免费视频 | 欧美香蕉视频在线观看 | 国产亚洲精品看片在线观看 | 福利在线免费观看 | 视频一区视频二区在线观看 | 久久久久久久99久久久毒国产 | 国产四虎精品 | 国产成人亚洲综合一区 | 热久久中文字幕 | 啪啪免费网址 | 欧美一区二区三区免费 | 国产精品久久国产精品99 | 99久久香蕉|