支持虚拟磁盘服务的硬件供应程序的测试方法

文档序号:6338833阅读:148来源:国知局
专利名称:支持虚拟磁盘服务的硬件供应程序的测试方法
技术领域
本发明涉及一种支持虚拟磁盘服务(virtual disk service, VDS)的硬件供应程序(hardware provider)的测试方法,特别是一种符合窗口硬件认证实验室(windows hardware qualification lab, WHQL)规范且具有通用性的支持VDS的硬件供应程序的测
试方法。
背景技术
针对目前的中小型企业存储管理需求,微软(Microsoft)在Windows 2003软件推出的一种虚拟存储技术称为虚拟磁盘服务(virtual disk service,VDQ。VDS通过一套标准化的存储管理接口,来管理各个厂商生产的储存装置,从而达到简化管理的目的。例如 VDS可应用于简易储存局域网络(Simple Storage Area Network, simple SAN)等利用网络的储存技术。VDS利用软件提供程序(Software provider)以及应体供应程序(Hardware provider)来管理存储设备。其中软件供应程序用以在系统级上管理磁盘(disk)和卷 (volume),其可以是由微软本身提供,也可以由第三方厂商开发。而应体供应程序则用以管理储存装置的硬件,由硬件厂商开发。一般而言,每个硬件厂商都会提供一套自己开发的硬件供应程序。这些自行开发的硬件供应程序能调用标准的(也就是微软开发的)VDS的应用程序接口(application program interface,API),以管理各自对应的硬件。虽然各个硬件厂商能够自行开发硬件供应程序,但是所有开发Simple SAN硬件厂商所开发的硬件供应程序都必须通窗口硬件认证实验室(windows hardware qualification lab,WHQL)规范的测试,才能获得 Simple SAN的认证。由于进行WHQL规范的测试需要一定的费用支出,所以就需要开发出一套能在正式进行WHQL规范的测试之前,对自己开发的硬件供应程序测试的工具或方法。各个不同的硬件厂商会根据各自的需求开发出具有鲜明专用属性的测试方法。但厂商开发的测试方法只是用于自家研发的产品,而不适用于其它厂商开发的硬件或硬件供应程序。而且由于不同硬件厂商测试的重点常有所不同;例如有的厂商的产品侧重于对逻辑单元成员(logical unit numbers,LUN)的支持,则其开发的测试方法就会着重对该功能点进行严格测试,但对于其它功能点的测试可能会较为不足。同时由于不同硬件厂商开发的测试方法五花八门,而极度欠缺通用性;有的甚至有不能够满足WHQL规范。也就是说,现有技术用以测试硬件供应程序的测试方法不仅浪费开发人员成本,也有测试结果的差异性不具有说服力的问题。

发明内容
本发明所要解决的技术问题是提供一种能够自动分析供应程序类型以及接口类型并据以产生测试结果,因此对于不同硬件供应程序具有良好的通用性的支持虚拟磁盘服务之的硬件供应程序的测试方法。
为了实现上述目的,本发明提供了一种支持虚拟磁盘服务(virtual disk service, VDS)的硬件供应程序(hardware provider)的测试方法。支持VDS的硬件供应程序的测试方法包括启动一 VDS ;取得VDS的至少一硬件供应程序;利用VDS的一标准应 MfMj^ii Π (standard application program interface, standard API) ΙΙ ^ /^ δ Μ 序的一供应程序类型;依据供应程序类型以及一标志要求文件(logo requirement),得到硬件供应程序的至少一接口的一接口类型;以及依据接口类型测试接口产生一测试结果。其中供应程序类型可以是光纤信道(fiber channel, FC)、小型计算机系统接 口 (internet small computer system interface, internet SCSI, iSCSI)或是周边组件] 连—石兹盘阵歹[J (peripheral component interconnect-redundant array of independent di sks, PCI-RAID)。而接口类型可以是要求(required)、选择(optional)、 禁止(forbidden)或是废止(deprecated)。根据一实施范例,使用者可以指定任意一个已在VDS注册的硬件供应程序作为测试用的硬件供应程序。根据另一实施范例,「取得VDS的硬件供应程序的步骤可包括枚举并取得支持VDS所有的硬件供应程序。根据一实施范例,「依据供应程序类型以及标志要求文件,得到硬件供应程序的接口的接口类型的步骤可包括建立硬件供应程序的一子系统对象(Object,对象),其中子系统对象具有至少一个接口 ;以及依据供应程序类型以及标志要求文件,得到子系统对象的接口的接口类型。而「依据接口类型测试接口并产生测试结果的步骤可包括测试硬件供应程序的接口,并获得一返回值;以及依据接口类型以及返回值产生测试结果。其中「依据接口类型以及返回值产生测试结果的步骤可包括当接口类型是要求(required),且返回值是通过(pass)时,产生值为成功的测试结果;当接口类型是选择 (optional),且返回值是通过(pass)或不支持(not support)时,产生值为成功的测试结果;以及当接口类型是禁止(forbidden)或是废止(d印recated),且返回值是不支持(not support)时,产生值为成功的测试结果。此外,测试结果另可包括接口的接口类型的一测试成功率。而当测试失败时,测试结果亦可包括一失败原因。本发明的技术效果在于支持VDS的硬件供应程序的测试方法符合WHQL规范;且能够自动分析供应程序类型以及接口类型并据以产生测试结果,因此对于不同厂商开发的硬件供应程序具有良好的通用性。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为一实施范例的硬件供应程序的示意图;图2为一实施范例的支持虚拟磁盘服务的硬件供应程序的测试方法的流程图;图3为一实施范例的步骤S140的流程图;图4为一实施范例的步骤S150的流程图。其中,附图标记20测试模块
22虚拟磁盘服务(VDS)24硬件供应程序
具体实施例方式下面结合附图对本发明的结构原理和工作原理作具体的描述以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、申请专利范围及图式,任何本领域技术人员可轻易地理解本发明相关的目的及优点。本发明提供一种支持虚拟磁盘服务(virtual disk service, VDS)的硬件供应程序(hardware provider)的测试方法,此种测试方法符合微软(Microsoft)的窗口硬件认证实验室(windows hardware qualification lab, WHQL)规范,且对于不同厂商开发的硬件供应程序具有良好的通用性。请参照图1,其为根据一实施范例的硬件供应程序的示意图。支持VDS的硬件供应程序的测试方法可以被实作为一测试模块20,并以计算器的处理器执行之。为了测试至少一硬件供应程序(hardware provider) 24,测试模块20透过VDS 22调用欲测试的硬件供应程序24的对象(object)的界面(interface)。VDS 22可视为一组微软提供的应用程序接口(application program interface, API),用以提供管理储存装置(storage device,图未示)的单一界面。VDS 22利用至少一软件供应程序(software provider)以及硬件供应程序M管理储存装置。其中硬件供应程序M可以由任何的第三方厂商所开发,并用以调用或存取VDS 22的API。且储存装置可以例如是硬盘(hard disk)或是石兹盘阵列(redundant array of inexpensive drives, RAID)等不同类型的装置。而测试模块20可以是一种VDS 22的客户端(client)程序,并且能根据微软提供的一标准应用程序接口(standard API)测试与硬件供应程序M相关的VDS 22的组件对象模型(Component Object Model,COM)的接口。接着请参照图2,其为一实施范例的支持虚拟磁盘服务的硬件供应程序的测试方法的流程图。测试模块20首先启动VDS 22 (步骤Sl 10),并取得VDS 22的至少一个硬件供应程序M以对此硬件供应程序M进行测试(步骤S120)。于一实施范例,于步骤SllO中可以自动枚举并取得支持VDS 22所有的硬件供应程序M。也就是说,测试模块20可以枚举出所有已建立且登记于VDS 22的硬件供应程序对。于另一实施范例,测试模块20可以枚举出所有的硬件供应程序M之后将清单提供给使用者,并由使用者选择欲测试的硬件供应程序M。此外,测试模块20另可以其它方式接受使用者指定欲测试的硬件供应程序M。接着利用VDS 22的标准应用程序接口得到欲测试的硬件供应程序M的一供应程序类型(步骤 S130)。举例而言,可以利用"IVdsHwProviderType: GetProviderType,, 这个接口逐一得到每一个欲测试的硬件供应程序M的供应程序类型。其中硬件供应程序 M的供应程序类型可以是光纤信道(fiber channel,FC)、小型计算机系统接口(internet small computer system interface, internet SCSI, iSCSI)或是周边组件互连-磁盘阵歹ll (peripheral component interconnect-redundant array of independent disks, PCI-RAID)。
测试模块20依据供应程序类型以及微软的一标志要求文件(logorequirement. xls),得到硬件供应程序M的接口的一接口类型(步骤S140)。请同时参照图3,其为一实施范例的步骤S140的流程图。为了实际进行存取及测试硬件供应程序24,需先建立硬件供应程序M的一子系统对象(subsystem object),其中子系统对象具有至少一个需要被测试的接口(步骤S142)。VDS 22的接口有分为与控制器(Controller)、逻辑单元成员(logical unit number,LUN)、驱动(Drive)、入口(Portal)、标的(Target)或是提供者(Provider)等大项目,而实际的接口例如可以是 “QueryControllerPorts,,、“GetController,,、“SetMatus”、 “Refresh” 或是 “GetProviderType,,。测试模块20并依据供应程序类型以及标志要求文件,得到子系统对象的接口的接口类型(步骤S144)。换句话说,测试模块20建立子系统对象,并依据供应程序类型查找标志要求文件而得到欲测试的接口的接口类型。此外,测试模块20亦可取得子系统对象的至少一方法(method)并对其进行测试。其中接口类型可以是要求(required)、选择(optional)、禁止(forbidden)或是废止(deprecated),且不同的接口类型对于测试成功或失败的定义不同。获得欲测试的接口的接口类型后,测试模块20便可依据接口类型测试接口,并产生一测试结果(步骤S150)。请参照图4,其为一实施范例的步骤S150的流程图。测试模块20实际测试硬件供应程序M的接口,并获得一返回值(步骤S152);再依据接口类型以及返回值产生测试结果(步骤SlM)。其中执行的测试例如可以是测试创建LUNs (create LUNs)、测试取代驱动(r印lace drives)、测试要求控制器(query controllers),或是测试驱动与LUN(drives and LUNs)等等。而返回值可能是通过(pass,或称为成功,success)、 失败(fail)或是不支持(not support)。要求类型的接口要求硬件供应程序M必须支持这种类型的接口和方法。因此,只有当返回值为通过时,才真正代表此接口或方法通过测试。选择类型的接口表示硬件供应程序M可以支持亦可以不支持此接口或方法。因此,当返回值为通过时表示此接口或方法通过测试;而当返回值为不支持时同样是验证通过测试。禁止类型的接口表示硬件供应程序M目前尚不支持,将来会用新的接口替代。而废止类型的接口表明硬件供应程序M目前不支持此接口。因此,对于禁止或废止类型的接口,仅在返回值为不支持时才判定其通过测试。依据接口类型以及返回值产生的测试结果可表示成下表。
权利要求
1.一种支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于,包括 启动一虚拟磁盘服务VDS;取得该VDS的至少一硬件供应程序;利用该VDS的一标准应用程序接口得到该硬件供应程序的一供应程序类型; 依据该供应程序类型以及一标志要求文件,得到该硬件供应程序的至少一接口的一接口类型;以及依据该接口类型测试该接口并产生一测试结果。
2.如权利要求1所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 该供应程序类型是光纤信道、小型计算机系统接口或是周边组件互连-磁盘阵列。
3.如权利要求1所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 该接口类型是要求、选择、禁止或是废止。
4.如权利要求1所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 该取得该VDS的该硬件供应程序的步骤包括枚举并取得该VDS所有的该硬件供应程序。
5.如权利要求1所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 该依据该供应程序类型以及该标志要求文件,得到该硬件供应程序的该接口的该接口类型的步骤包括建立该硬件供应程序的一子系统对象,其中该子系统对象具有至少一该接口 ;以及依据该供应程序类型以及该标志要求文件,得到该子系统对象的该接口的该接口类型。
6.如权利要求1所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 该测试结果包括该接口的该接口类型的一测试成功率。
7.如权利要求1所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 当测试失败时,该测试结果包括一失败原因。
8.如权利要求1所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 该依据该接口类型测试该接口并产生该测试结果的步骤包括测试该硬件供应程序的该接口,并获得一返回值;以及依据该接口类型以及该返回值产生该测试结果。
9.如权利要求8所述的支持虚拟磁盘服务的硬件供应程序的测试方法,其特征在于, 该依据该接口类型以及该返回值产生该测试结果的步骤包括当该接口类型是要求,且该返回值是通过时,产生值为成功的该测试结果; 当该接口类型是选择,且该返回值是通过或不支持时,产生值为成功的该测试结果;以及当该接口类型是禁止或是废止,且该返回值是不支持时,产生值为成功的该测试结果。
全文摘要
一种支持虚拟磁盘服务(virtual disk service,VDS)的硬件供应程序(hardware provider)的测试方法包括启动一VDS;取得VDS的至少一硬件供应程序;利用VDS的标准应用程序接口(application program interface,API)得到硬件供应程序的供应程序类型;依据供应程序类型以及标志要求文件(logo requirement),得到硬件供应程序的至少一接口(interface,接口)的接口类型;以及依据接口类型测试接口并产生测试结果。
文档编号G06F11/36GK102479153SQ20101059094
公开日2012年5月30日 申请日期2010年11月30日 优先权日2010年11月30日
发明者宋海燕, 陈志丰 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1