跳转到内容

面向大数据/平台无关建模的实用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. 
华夏公益教科书