一种实现设备适配的配置框架及其适配方法

文档序号:6638095阅读:160来源:国知局
一种实现设备适配的配置框架及其适配方法
【专利摘要】本发明涉及一种实现设备适配的配置框架及其适配方法,其中,所述配置框架包括通用处理模块,用于执行通用处理方式,获取设备的通用信息;设备检测模块,用于检测当前环境中所存在的设备的类型;配置文件读取模块,用于读取各设备对应的配置文件,获取所检测到的设备的特定信息;完整信息输出模块,用于将获取的通用信息和特定信息相关联,组合成每个设备的完整信息并输出。与现有技术相比,本发明通过配置框架,读取配置文件,将不同的硬件设备分离处理,保证添加新的硬件设备时,系统原来所支持的硬件设备不会受到影响;同时,如果原有设备的部分信息监测方式发生变化时不会对其余设备的信息监测造成影响。
【专利说明】一种实现设备适配的配置框架及其适配方法

【技术领域】
[0001]本发明涉及在数据存储领域中底层硬件设备的适配,尤其是涉及一种实现设备适配的配置框架及其适配方法。

【背景技术】
[0002]硬盘作为存放数据的主要介质,有固态硬盘(SSD盘,新式硬盘)、机械硬盘(HDD传统硬盘)、混合硬盘(HHD—块基于传统机械硬盘诞生出来的新硬盘)。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD:Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。然而,无论是什么类型的硬盘,随着使用时间的增长,硬盘本身的性能会有一定的下降,并且当硬盘出现损坏的情况时,可能会导致用户数据的丢失,造成无法估量的损失。为了避免用户数据的丢失,保证数据的安全性,我们需要保证系统内所使用的硬盘都是正常、健康、可用的。为此,我们需要监控系统中每一块硬盘的实时状态。另一方面,为了便于管理人员的使用和维护,我们需要获取硬盘在系统中的基本信息,包括硬盘的大小、位置、使用情况、性能参数等等。然而,由于硬盘市场广大,生产厂商众多,各个厂商在保证硬盘本身使用不受影响的前提下,对于硬盘自身的一些信息的定义和书写的格式也会存在一定的差异,即便是同一类型的硬盘,如:都是SAS硬盘,对于硬盘驱动器端口标识符的定义方式也会存在不一致的情况,如希捷和日立的是在设备名上加一(主端口)和加二(第二端口),而富士通则是在设备名的基础上减二(主端口)和减一(第一端口)。这样小小的差异将会导致我们在需要获取硬盘驱动器标识符时,对富士通的硬盘采用不同于希捷和日立的硬盘的处理方式,因此我们在获取硬盘的驱动器端口标识符的时候就需要先对硬盘的厂商进行判断,然后再根据不同的厂商信息来调用不同的处理函数,这不仅会增加附加信息(如:硬盘厂商)的获取量,同时会使得我们的处理函数因为增加大量的逻辑判断而变得极其复杂,维护变得非常困难,同时如果增加了新的厂商的硬盘适配,可能还需要增加新的处理函数段,以及新的逻辑判断。除了信息组合方式不一致的情况之外,不同的硬盘还会存在支持的命令不一致的情况,如:同样是sas硬盘置于磁盘框(jbod)上,机械硬盘可以使用监控SCSI设备的工具获取到硬盘的基本信息,而ssd硬盘则有可能出现根本监测不到插有ssd硬盘的现象。为了同时支持在磁盘框上使用机械硬盘和ssd,我们获取硬盘的信息可能会变得极其复杂,不同厂商的硬盘要分别处理,ssd和机械硬盘也要分开处理。然而对于获取硬盘基本信息如硬盘名,硬盘大小等等的系统命令,无论是什么类型的,哪个厂商的硬盘又都是支持的,这样就造成所有硬盘可以有统一处理的部分,又要有分离处理的部分,这就造成了我们的处理函数极其复杂,更新和维护极其困难。
[0003]除了硬盘存在这样的问题,我们使用的控制框,磁盘框(jbod)也会存在同样的问题。相同的系统,安装在不同的硬件环境上可能导致原有的获取硬件设备状态信息的处理方式不再适用,如:将原来安装在华为的设备上的系统移植到戴尔的设备上,就可能造成硬盘的部分信息获取失败,如:查询不到硬盘的槽位信息,硬盘不可修改定位灯状态等现象。这就导致我们必须修改原有的实现方式,使其适合戴尔的设备。而修改后的处理方式可能又不适合原来华为的设备。为了能够同时支持两种设备,我们可能需要同时维护两套不同实现方式。当有新的设备加入时我们可能又要添加新的实现方式。造成了我们的开发越来越复杂,维护也变得极为困难。这驱使着我们需要寻找一种更为合适的处理方式以简化我们的开发和维护。


【发明内容】

[0004]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种实现设备适配的配置框架及其适配方法,解决硬件环境适配时不同设备的处理方式不一致导致的处理方案不具备通用性,从而造成的开发量大,维护困难的问题。
[0005]本发明的目的可以通过以下技术方案来实现:
[0006]一种实现设备适配的配置框架,包括:
[0007]通用处理模块,用于执行通用处理方式,获取设备的通用信息;
[0008]设备检测模块,用于检测当前环境中所存在的设备的类型;
[0009]配置文件读取模块,用于读取各设备对应的配置文件,获取所检测到的设备的特定信息;
[0010]完整信息输出模块,用于将获取的通用信息和特定信息相关联,组合成每个设备的完整信息并输出。
[0011]优选地,所述通用信息包括设备名称、大小、类型和状态。
[0012]优选地,所述特定信息包括磁盘槽位信息、设备框本身状态、设备各PCi接口的状态和设备传输速率。
[0013]优选地,所述配置文件中保存有各设备特定信息处理方式的路径信息。
[0014]优选地,所述完整信息输出模块包括:
[0015]信息关联单元,用于建立通用信息和特定信息之间的至少一个关联项,关联通用信息和特定信息;
[0016]信息输出单元,用于将关联后的通用信息和特定信息组成完整信息输出。
[0017]优选地,所述设备包括控制框、硬盘和磁盘框。
[0018]一种设备适配方法,包括以下步骤:
[0019]I)采用通用处理方式获取设备的通用信息;
[0020]2)检测当前环境中所存在的设备的类型;
[0021]3)读取各设备对应的配置文件,获取各设备的特定信息处理方式,根据所述特定信息处理方式获取所检测到的设备的特定信息;
[0022]4)将通用信息和特定信息进行关联,组合成每个设备的完整信息并输出。
[0023]优选地,所述步骤4)中,将通用信息和特定信息进行关联时,至少一个建立一个关联项。
[0024]优选地,所述通用信息包括设备名称、大小、类型和状态。
[0025]优选地,所述特定信息包括磁盘槽位信息、设备框本身状态、设备各pci接口的状态和设备传输速率。
[0026]优选地,所述配置文件中保存有各设备特定信息处理方式的路径信息。
[0027]与现有技术相比,本发明建立了一种配置框架,通过调用配置框架读取配置文件,将设备通用信息和特定信息的获取方式分离开来,具有以下优点:
[0028]1、系统本身已经支持的设备不受影响,仍然能够正常使用。
[0029]2、原有设备的所监控的信息发生变化时,在不修改通用处理方式的前提下,其他设备的支持不受影响,只需要修改有变动的设备的特定处理方式即可。
[0030]3、添加新的设备时,只需要在配置文件中添加新设备的相关信息以及补充指定设备的特定处理方式,即可保证支持新添加的设备,原有设备支持不会受到影响。
[0031]4、只需要维护一份代码,即可实现多种设备同时支持。

【专利附图】

【附图说明】
[0032]图1为本发明的设备适配过程示意图。

【具体实施方式】
[0033]下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0034]本发明实施例提供一种实现设备适配的配置框架,能够将该方法涉及到的各个子项关联起来,以获取到所需要的各个设备的完整信息,这里的设备包括控制框、硬盘和磁盘框等。所述配置框架包括:
[0035](I)通用处理模块,用于执行通用处理方式,获取设备的通用信息。虽然各个厂商写入硬盘本身的信息不一致,但是硬盘的一些基本信息还是可以采用同样的方式获取到的,如设备的名称、大小、类型、状态等等。将这些信息的获取方式提出来,构成一个通用的处理方式,以获取设备的通用信息。
[0036](2)设备检测模块,用于检测当前环境中所存在的设备的类型。
[0037](3)配置文件读取模块,用于读取各设备对应的配置文件,获取所检测到的设备的特定信息。特定信息主要指和各个设备框关联性比较大的信息,包括磁盘槽位信息、设备框本身状态、设备各pci接口的状态和设备传输速率等。这些必须通过设备本身所支持的命令或者工具才能获取到的信息。将这样的信息获取的方式分离出来,作为针对某个指定类型的设备特定信息的获取方式。
[0038](4)完整信息输出模块,用于将获取的通用信息和特定信息相关联,组合成每个设备的完整信息并输出,包括:
[0039]信息关联单元,用于建立通用信息和特定信息之间的至少一个关联项,关联通用信息和特定信息;
[0040]信息输出单元,用于将关联后的通用信息和特定信息组成完整信息输出。
[0041]配置文件中保存有各设备特定信息处理方式的路径信息,可以根据获取的设备标志进行匹配,获取指定设备的相关信息处理方式的路径,调用相关函数或者脚本来监测指定设备的特定信息。
[0042]本实施例还提供一种设备适配方法,通过调用配置框架,读取配置文件,将不同的硬件设备分离处理。对于特定的硬件设备,采用其特定的监控方式,来获取设备本身所特有的状态信息,而对于那些所有设备共有的信息则采用通用处理方式来获取。
[0043]在本实施例中,以华为出厂的控制框、戴尔出厂的控制框、戴尔出厂的磁盘框(jbod)、广达出厂的磁盘框为例,实现对多种硬件设备的适配,监控的信息则主要是和磁盘相关的,如磁盘的名称、大小、类型、状态、位置信息等等,具体步骤为:首先需建立配置框架,然后通过配置框架实现设备适配。
[0044]配置框架的建立如下:
[0045]1、创建通用处理方式,获取磁盘的通用信息,包括磁盘名、大小、类型、状态等和磁盘所归属的磁盘框无关的信息。通用处理方式中的信息获取不依赖磁盘框本身。
[0046]2、针对各种型号的设备,创建特定设备处理方式,获取指定型号的设备的磁盘相关信息,如磁盘的槽位号、框号等。
[0047]3、完成配置框架的实现。
[0048]通过配置框架实现设备适配具体如图1所示:
[0049]步骤S101,调用通用处理方式,获取系统中所有磁盘的基本信息(通用信息),包括磁盘名、大小、类型、状态等。
[0050]步骤S102,判断输出信息是否为空,若是,则证明当前系统没有磁盘,结束,若否,则执行步骤S103 ;
[0051]步骤S103,检测当前环境中所存在的设备的类型:调用检测当前系统内可用设备的处理函数,获取当前系统内的所有设备的型号;
[0052]步骤S104,以获取到的设备型号作为参数,读取配置文件,获取每种设备的处理函数的信息,调用相关函数获取当前设备的所有磁盘和设备相关的信息,即特定信息;
[0053]步骤S105,将通用信息和特定信息进行关联,至少一个建立一个关联项,组合成每个设备的完整信息并输出。
【权利要求】
1.一种实现设备适配的配置框架,其特征在于,包括: 通用处理模块,用于执行通用处理方式,获取设备的通用信息; 设备检测模块,用于检测当前环境中所存在的设备的类型; 配置文件读取模块,用于读取各设备对应的配置文件,获取所检测到的设备的特定信息; 完整信息输出模块,用于将获取的通用信息和特定信息相关联,组合成每个设备的完整信息并输出。
2.根据权利要求1所述的实现设备适配的配置框架,其特征在于,所述通用信息包括设备名称、大小、类型和状态。
3.根据权利要求1所述的实现设备适配的配置框架,其特征在于,所述特定信息包括磁盘槽位信息、设备框本身状态、设备各pci接口的状态和设备传输速率。
4.根据权利要求1所述的实现设备适配的配置框架,其特征在于,所述配置文件中保存有各设备特定信息处理方式的路径信息。
5.根据权利要求1所述的实现设备适配的配置框架,其特征在于,所述完整信息输出丰吴块包括: 信息关联单元,用于建立通用信息和特定信息之间的至少一个关联项,关联通用信息和特定?目息; 信息输出单元,用于将关联后的通用信息和特定信息组成完整信息输出。
6.根据权利要求1-5任一所述的实现设备适配的配置框架,其特征在于,所述设备包括控制框、硬盘和磁盘框。
7.一种设备适配方法,其特征在于,包括以下步骤: 1)采用通用处理方式获取设备的通用信息; 2)检测当前环境中所存在的设备的类型; 3)读取各设备对应的配置文件,获取各设备的特定信息处理方式,根据所述特定信息处理方式获取所检测到的设备的特定信息; 4)将通用信息和特定信息进行关联,组合成每个设备的完整信息并输出。
8.根据权利要求7所述的设备适配方法,其特征在于,所述步骤4)中,将通用信息和特定信息进行关联时,至少一个建立一个关联项。
9.根据权利要求7所述的实现设备适配的配置框架,其特征在于,所述通用信息包括设备名称、大小、类型和状态。
10.根据权利要求7所述的实现设备适配的配置框架,其特征在于,所述特定信息包括磁盘槽位信息、设备框本身状态、设备各pci接口的状态和设备传输速率。
【文档编号】G06F9/44GK104461541SQ201410756611
【公开日】2015年3月25日 申请日期:2014年12月10日 优先权日:2014年12月10日
【发明者】杜磊 申请人:上海爱数软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1