论文部分内容阅读
由于历史的原因,企业所采购的来自不同厂商的存储设备之间,总是或多或少地存在一些互不兼容的现象。他们需要一种更为有效的存储管理软件,来解决目前存在于存储管理领域的混乱状况。
鉴于此,美国odysys公司成立研制小组,目标是实现一个简单、集中、易管理的操作平台,将不同供应商不同规格的SAN架构下的存储设备放在一个平台下统一管理,使得存储设备的管理更简单合理、统一有效。
本人在该项目中独立承担了客户端与服务器端软件通信部分的研制,参与了客户端界面操作部分和服务器端命令处理部分程序的设计。
通过本论文的研究,主要取得了以下成果:
(1)通过对不同厂家的存储设备的API(application program interface应用程序接口)进行分析和抽象,从而生成一个新的通用型存储设备的接口来定义存储设备的种种操作,屏蔽了具体存储设备的物理细节,进而实现在单一控制平台上对不同厂家的存储设备进行统一的计划、发现、配置、管理和监控。
(2)在客户端软件设计上,通过为客户的每种操作设计一个动作类,使菜单条和右键菜单中的菜单项以及工具条上的快捷按钮都共享相同的动作类,这样就将原本凌乱的众多菜单项操作、快捷按钮操作、右键操作得到了统一处理,使得系统层次结构清晰、代码重用率高;通过利用类的多态性,为每种逻辑对象设计了一个专门处理各自事件的类,而这些类继承了一个公共接口,这样就使得用户在树上或列表中进行逻辑动作时(比如选中树上的某个逻辑盘、右键点击树上某个通道等),其处理流程都变成是一样的,最终归结到调用各自对象的方法。
(3)在服务器端软件设计上,通过为每种Raid命令设计对应的命令类,每种命令类代表一种Raid操作,它们都继承于同一个超类,这样就使得各种命令处理流程的高层都是一样的,只是具体的操作由它们各自的方法来完成,这样既提高了代码的重用性,又把修改某个具体命令对系统的影响降到了最低;通过特别设计的Job类,一个Job对象代表一个具体的用户请求,每个Job对象有唯一的标识、当前的状态、要完成的任务、执行结果等,这样使得在出现几个客户端几乎同时运行同一个命令的情况进行了有序、有效的处理。
(4)在客户端与服务器端通信部分的设计上,通过将全部要与服务器通信的内容统统用方法封装在超类Raid中,并且与真实的Raid控制器功能一一对应,这样使得组装命令包和分析命令结果的职责都在Raid类中完成,其它类只要调用Raid类中的某个方法就可以完成与实际硬件的通信了,完全不需要知道通信的任何细节,显然这样的设计使系统层次清晰,模块耦合度低。
该软件采用客户端/服务器端的设计结构,论文分别对客户端和服务器端的软件架构、设计方法和思路、具体设计过程进行了详细的研究和探索。论文共分为六章,分别论述了存储的基本内涵、项目研制的背景、客户端、服务器端软件的研制、对该软件的测试、该软件在机电领域的应用。在项目完成后对该软件也进行了功能和性能方面的测试,测试结果表明,该软件功能方面能到达预期的目标,性能方面优于业界同类软件。
本软件简单、集中、易维护、易管理,系统管理员不必关心自己的后台存储,只需专注于管理存储空间本身,所有的存储管理操作,如系统升级、改变RAID级别、初始化逻辑卷、建立和分配虚拟磁盘、存储空间扩容等都能够很容易在同一界面、同一平台上实现,使存储管理变得轻松无比。