跳轉到內容

面向大資料/平臺無關建模的實用DevOps

來自華夏公益教科書



介紹

DICE 為軟體架構師提供了一組核心概念,在 DPIM 層,用於指定構成資料密集型應用程式 (DIA) 的基本架構元素,即在 DIA 設計階段。設計師可以使用已識別的核心架構元素快速構建其大資料應用程式的結構檢視,突出顯示並解決諸如資料流和基本高階處理屬性(例如,速率、每個元件提供的屬性和所需屬性等)以及關鍵資料處理需求(例如,批處理、流處理等)等問題。

DPIM 簡介

DPIM 包含所有與構建 DIA 相關的概念。在 DPIM 級別,我們定義了應用程式的高階拓撲結構及其 QoS 要求。DPIM 元模型的元素分為兩類

  1. 活動 DIA 元素,處理資料,例如計算節點 ;
  2. 被動 DIA 元素,儲存和視覺化資料,例如儲存節點 ;
DICE DPIM 簡介(元模型)的圖片

更具體地說,DICE DPIM 簡介元模型表明 DIA 元素本質上是兩組元件的聚合。首先是“ComputationNode”,它主要負責執行計算任務,例如 MapReduce 中的 map 或 reduce。ComputationNode 的一個重要屬性是“computationType”,它顯示了大資料的處理型別,即批處理或流處理。ComputationNode 本身進一步專門化為“SourceNode”和“Visualization”節點。SourceNode 的作用是為處理提供資料。換句話說,SourceNode 代表進入應用程式以進行處理的資料來源。屬性“sourceType”進一步指定了源的特徵。大資料應用程式的最終目標是處理具有高容量和速度的資料。因此,SourceNode 和 ComputationNode 位於 DPIM 中,因為它們是每個 DIA 的基本部分。sourceNode 是資料進入應用程式的入口點,而 Computation 是處理資料的場所。這裡的視覺化是指使用透過資料密集型方式計算的不同圖表,以更直觀、更有效的方式視覺化資料以表示知識。即使大資料的視覺化本身可以透過單獨的應用程式完成,但在這裡我們考慮視覺化作為 ComputationNode 的規範,因為最終視覺化是一種資料密集型計算任務。另一個也是 ComputationNode 規範的元素是 FilterNode。它的作用是在需要時對資料進行任何型別的預處理和後處理。

DICE 簡介中的第二個關鍵元素是“StorageNode”。顧名思義,StorageNode 代表負責儲存資料的元素,無論是長期儲存還是短期儲存。此外,它與“Channel”相關聯,該“Channel”表示應用程式中的通訊通道。Channel 的規範也顯示了通道的限制和約束。它還指定了與資料轉換相關的特徵,例如資訊速率和抽頭。DPIM 中的 StorageNode 概念主要對應於模型中的“資料庫”。在某些情況下,它也可能是一個“檔案系統”。DPIM 中的 channel 是“治理和資料整合”的表示,其中主要包括負責傳輸資料的技術,例如訊息代理系統。模型中的其他元素是“DataSpecification”和“QoSRequiredProperty”,它們是用於指定資料型別和格式以及系統及其評估的 QoS 的註釋存根。這些註釋繼承自 MODACloudML[1]。附錄 A[2] 更詳細地指定了 DICE 簡介。表 1 總結了 DPIM 級別 DICE 簡介的當前刻板印象列表。

刻板印象 描述(此刻板印象用於表示模型元素...)
DpimComputationNode 具有計算吞吐量、資料處理型別以及可能預期的目標技術的 DIA 元件。
DpimFilterNode 擴充套件一般 DpimComputationNode 的過濾器節點,帶有輸入和輸出比率。
DpimSourceNode 具有給定儲存容量、生成資料型別和資料生成速率的 DIA 元件。
DpimStorageNode 具有資源多重性、儲存資料型別和速度(以最大操作速率表示)的 DIA 元件。
DpimChannel 具有最大速度且會受到故障和錯誤傳播影響的聯結器。
DpimScenario DIA 的執行場景,它定義了感興趣的質量屬性和場景質量要求。

DPIM 示例:海事業務案例研究

在本節中,我們將描述一個使用 DPIM 簡介註釋的基於 UML 的設計(即活動圖)。特別是,輸入引數被分配給操作步驟的平均持續時間(即 hostDemand 標記值)和資料流到達率(即 arrivalRate 標記值)。我們展示了 海事業務 案例研究的一部分的建模。

帶註釋的活動圖

建模介紹 中先前解釋的那樣,DPIM 簡介依賴於標準 MARTE 和 DAM 簡介。這是因為 DAM 是一個專門針對可靠性和可靠性分析的簡介,而 MARTE 提供了 GQAM 子簡介,這是一個完整的定量分析框架。因此,它們完美地匹配我們的目的:對資料密集型應用程式的質量評估。此外,MARTE 提供了 NFP 和 VSL 子簡介。NFP 子簡介旨在描述系統的非功能屬性,在本例中為效能。後者,VSL 子簡介,提供了一種具體的文字語言,用於指定與效能相關的指標、約束、屬性和引數的值。VSL 表示式在 DPIM 簡介模型中使用,具有兩個主要目標:(i) 指定模型的輸入引數,以及 (ii) 指定將為模型計算的效能指標(即輸出結果)。一個用於型別為 NFP_Duration 的主機需求標記值的 VSL 表示式示例為

expr=$parse (1) , unit=ms (2), statQ=mean (3), source=est (4)

此表示式指定解析步驟 (影像中的黃色框) 需要 $parse (1) 毫秒 (2) 的處理時間,其平均值 (3) 將從實際系統 (4) 中的估計值獲得。$parse 是一個變數,可以在分析模型時設定具體的值。

結論

DICE 基於 UML 的應用程式建模大量圍繞 DPIM 展開,DPIM 是一種新的改進的 UML 簡介,用於指定構成資料密集型應用程式 (DIA) 的基本架構元素。

參考文獻

[編輯 | 編輯原始碼]
  1. MODAClouds (2016). MODACloudML 開發 - 初始版本 (報告). http://www.modaclouds.eu/wp-content/uploads/2012/09/MODAClouds_D4.2.1_MODACloudMLDevelopmentInitialVersion.pdf. 
  2. DICE 聯盟 (2016). 設計和質量抽象 - 初始版本 (報告). http://wp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2016/02/D2.1_Design-and-quality-abstractions-Initial-version.pdf. 
華夏公益教科書