基于SOA的存储管理

日期: 2010-06-21 作者:Yi Xing Lu 来源:TechTarget中国 英文

  存储管理是面向服务架构(Service-Oriented Architecture,SOA)解决方案中的一个重要组件。它支持管理以结构化方式存储的资源。存储管理的主要目的是归类客户请求并导向合适的物理存储。它还支持使用Web应用程序以透明的方式访问存储数据。

  问题

  Storage Solutions基于面向对象架构定义了一组模块化解决方案。它包含分布于各地理位置的物理存储、异构网络和协议。各属性分别属于不同的所有者。当接收到客户的存储请求之后,我们应该如何决定使用哪一台物理存储?并且,应该如何为各种存储设备和软件请求者提供稳定的交互性?此外,不同存储设备的成本也相差甚远。我们更倾向于根据存储请求来选择合适的存储设备。在Storage Solutions中,存储是一种分布式环境,并且它们各自可以拥有不同的网络、协议、文件系统和操作系统,同时还要求提供安全的访问。Storage Solution需要通过一个存储管理系统来提供数据路径交互性,同时提供存储智能。

  存储解决方案

  为了提供这样的系统,我们首先需要抽象所有元素,包括:Storage Network、Storage Protocol和Storage Array。接下来,需要引入虚拟的概念——存储分组用于对元素进行分类,并且我们会将存储分组公开为Web服务。

  存储分组

  存储管理服务支持以结构化的方式来管理资源存储。它为高级应用程序提供了低级服务,并且隐藏了资源存储的细节。在创建存储解决方案目录之前,必须定义一些基本元素,比如协议、网络和存储。组合这些元素的关系定义为 “组” 。图 1 显示这种系统的结构,其中包含A111、B212和C323三个组。

图 1. 系统结构

图 1. 系统结构

  如图 1 所示,分组由协议、网络和存储构成。管理员可以为客户机指定特定的分组。采用这种方式,可以根据存储、网络和协议的属性创建不同的分组。

  工作原则

  Storage Management Service (SMS)隐藏了存储内容的细节,并向所有外界元素提供接口。要成功开发SMS,我们首先需要在SMS中存储一些预定义规则,比如说创建一些存储分组来用于虚拟化存储数组。除此之外,存储服务还从应用程序和服务接收请求(关于在何处存储系统接收到的内容),各种内容类型及其属性将存储在一个数据库中,需要使用一个查找表来交叉映射内容类型到各种应用程序和服务,需要相关信息返回给应用程序使用。存储服务还与安全服务紧密协作来维护虚拟存储库。然后,SMS将使用这些规则来确定哪些分组最适合客户机的请求,并生成一个包含主机名、协议、用户名和密码等信息的专用路径。然后,路径和所有相关信息将返回给客户机。接下来,客户机使用此信息联系存储器。其流程如图 2 所示。

图 2. 流程

图 2. 流程

  基于SOA的结构

  由于Storage Management需要管理分布于各地理位置的网络、协议和存储,因此建议通过Web服务来实现它。各网络、协议和存储都将被注册为 Web 服务,并且还可以通过添加接口来访问它们。

  在Storage Solutions中,需要通过Web来访问Storage服务。这些服务将使用一种基于 XML 的描述语言来进行描述,并通过根据Internet协议(如HTTP)传递的XML消息来与客户机通信(最终用户应用程序和其他 Web 服务)。

  图 3 显示了Storage Solutions作为Web服务与其他模块通信的结构。

图 3. Storage Solutions结构

图 3. Storage Solutions结构

  结束语

  存储管理是SOA解决方案中的一个重要组件。本文重点讨论了如何成功实现分组概念来管理不同的网络、协议和存储。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。