存储管理是面向服务架构(Service-Oriented Architecture,SOA)解决方案中的一个重要组件。它支持管理以结构化方式存储的资源。存储管理的主要目的是归类客户请求并导向合适的物理存储。它还支持使用 Web 应用程序以透明的方式访问存储数据。
Storage Solutions 基于面向对象架构定义了一组模块化解决方案。它包含分布于各地理位置的物理存储、异构网络和协议。各属性分别属于不同的所有者。当接收到客户的存储请求之后,我们应该如何决定使用哪一台物理存储?并且,应该如何为各种存储设备和软件请求者提供稳定的交互性?此外,不同存储设备的成本也相差甚远。我们更倾向于根据存储请求来选择合适的存储设备。在 Storage Solutions 中,存储是一种分布式环境,并且它们各自可以拥有不同的网络、协议、文件系统和操作系统,同时还要求提供安全的访问。Storage Solution 需要通过一个存储管理系统来提供数据路径交互性,同时提供存储智能。
![]() ![]() |
![]()
|
为了提供这样的系统,我们首先需要抽象所有元素,包括:Storage Network、Storage Protocol 和 Storage Array。接下来,需要引入虚拟的概念 —— 存储分组用于对元素进行分类,并且我们会将存储分组公开为 Web 服务。
存储管理服务支持以结构化的方式来管理资源存储。它为高级应用程序提供了低级服务,并且隐藏了资源存储的细节。在创建存储解决方案目录之前,必须定义一些基本元素,比如协议、网络和存储。组合这些元素的关系定义为 “组” 。图 1 显示这种系统的结构,其中包含 A111、B212 和 C323 三个组。
图 1. 系统结构

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

由于 Storage Management 需要管理分布于各地理位置的网络、协议和存储,因此建议通过 Web 服务来实现它。各网络、协议和存储都将被注册为 Web 服务,并且还可以通过添加接口来访问它们。
在 Storage Solutions 中,需要通过 Web 来访问 Storage 服务。这些服务将使用一种基于 XML 的描述语言来进行描述,并通过根据 Internet 协议(如 HTTP)传递的 XML 消息来与客户机通信(最终用户应用程序和其他 Web 服务)。
图 3 显示了 Storage Solutions 作为 Web 服务与其他模块通信的结构。
图 3. Storage Solutions 结构

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