发明内容
有鉴于此,本发明实施例的目的在于提供一种硬盘物理序列号的获取方法、装置以及***,能够以更高的效率,更准确的获取硬盘的硬盘物理序列号。
第一方面,本发明实施例提供了一种硬盘物理序列号的获取方法,包括:
获取服务器硬件信息;
根据所述服务器硬件信息判断硬盘是否为磁盘阵列;
如果判断结果为否,则通过操作***的硬件接口直接获取硬盘物理序列号;
如果判断的结果为是,则获取RAID卡的型号,并根据该RAID卡的型号匹配并加载RAID卡管理工具;
通过RAID卡管理工具执行RAID信息查询命令,获取硬盘物理序列号。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,所述获取服务器硬件信息包括:
向所述操作***的硬件接口发送硬件信息调取指令;
接收所述操作***的硬件接口根据所述硬件信息调取指令所返回的所述服务器硬件信息。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,根据所述服务器硬件信息判断硬盘是否为磁盘阵列具体包括:
检测所述服务器硬件信息中是否包括RAID卡信息;
如果包括,则根据所述服务器硬件信息中的硬盘信息检测硬盘是否只有一个;
如果是,则所述硬盘为磁盘阵列。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,在获取硬盘物理序列号之后,还包括:
将获取的所述硬盘物理序列号导出为文本文件;
和/或,通过与服务器的接口上传至所述服务器。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,当所述操作***为windows的时候,所述操作***的硬件接口为WIN;
当所述操作***为linux的时候,所述操作***的硬件接口为hdparm。
第二方面,本发明实施例还提供一种硬盘物理序列号的获取装置,包括:
硬件信息获取模块,用于获取服务器硬件信息;
磁盘阵列判断模块,用于根据所述服务器硬件信息判断硬盘是否为磁盘阵列;
第一物理序列号获取模块,用于在如果判断结果为否时,通过操作***的硬件接口直接获取硬盘物理序列号;
RAID卡管理工具匹配模块,用于如果判断的结果为是时,获取RAID卡的型号,并根据该RAID卡的型号匹配RAID卡管理工具并加载;
第二物理序列号获取模块,用于通过RAID卡管理工具执行RAID信息查询命令,获取硬盘物理序列号。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,所述硬件信息获取模块具体包括:
硬件信息调取指令发送单元,用于向所述操作***的硬件接口发送硬件信息调取指令;
硬件信息接收单元,用于接收所述操作***的硬件接口根据所述硬件信息调取指令所返回的服务器硬件信息。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,所述磁盘阵列判断模块具体包括:
RAID卡信息检测单元,用于检测所述服务器硬件信息中是否包括RAID卡信息;
硬盘数量检测单元,用于在包括RAID卡信息时,则根据所述服务器硬件信息中的硬盘信息检测硬盘是否只有一个;
硬盘阵列确定单元,用于在硬盘数量检测单元的输出结果为是时,确定所述硬盘为磁盘阵列。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,还包括:物理序列号输出模块,用于将获取的硬盘物理序列号导出为文本文件;
和/或,通过与服务器的接口上传至所述服务器。
第三方面,本发明实施例还提供一种硬盘物理序列号的获取***,所述服务器上还设置有如上述第二方面所述的硬盘物理序列号的获取装置。
本发明实施例所提供的硬盘物理序列号的获取方法、装置以及***,通过从操作***直接获取服务器硬件信息,并根据所获取的硬件信息判断硬盘是否为磁盘阵列,如果是磁盘阵列,那么就要根据相应的RAID卡型号,寻找与RAID卡匹配的RAID卡管理工具,然后通过RAID卡管理工具执行RAID卡信息查询指令。在RAID卡信息查询指令中,包括了磁盘的物理序列号,从而能够最终获取硬盘物理序列号。在这个过程中,既不需要将硬盘直接插拔,也避免了通过操作***提供的接口指令获取硬盘的虚拟序列号,获取硬盘物理序列号的效率和准确率都较之现有技术更高。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前获取硬盘物理序列号的方法包括两种,1、直接插拔硬盘,手工抄写硬盘上面印刷的序列号,2、通过操作***提供的接口命令,直接获取硬盘的相关参数。然而随着现代计算机应用过程中,对硬盘存储量的要求越来越大,在一个服务器上用于存储信息的硬盘的数量也越来越多,如果将多个硬盘组成磁盘整列,操作***会对磁盘阵列标注一个虚拟的序列号。如果使用第一种插拔硬盘的方式获取,需要分别获取磁盘阵列中每一个硬盘的序列号。效率十分低下;而如果使用第二种通过操作***提供的接口命令,所获取的并不是硬盘物理序列号,而是操作***为磁盘阵列所标注的虚拟序列号。基于此,本申请提供的一种硬盘物理序列号的获取方法、装置以及***,能够以更高的效率,更准确的获取硬盘的硬盘物理序列号。本方法可以应用在多种计算机操作***中,例如Windows、Linux等。
为便于对本实施例进行理解,首先对本发明实施例所公开的硬盘物理序列号的获取方法进行详细介绍,
参见图1所示,本发明实施例所提供的硬盘物理序列号的获取方法包括以下步骤:
S101:获取服务器硬件信息;
在具体实现的时候,操作***与计算机硬件之间会有相应的硬件接口连接。该接口一般由计算机硬件的驱动程序提供,可以通过操作***的相关命令直接通过接口调取服务器硬件信息。
参见图2所述,本发明实施例提供一种具体获取服务器硬件信息的方法,包括:
S201:向所述操作***的硬件接口发送硬件信息调取指令;
S202:接收所述操作***的硬件接口根据所述硬件信息调取指令所返回的服务器硬件信息。
在具体实现的时候,可以直接向操作***的硬件接口发送硬件信息调取指令。而操作***的硬件接口在接收到硬件信息调取指令之后,会根据硬件信息调取指令从硬件中直接调取服务器硬件信息。
需要注意的是,该硬件信息调取指令可以单独调取某一硬件的硬件信息,也可以同时调取服务器所有硬件的硬件信息。例如:CPU、主板、内存、硬盘等。
另外,当所述操作***为windows的时候,所述操作***的硬件接口为WIN;当所述操作***为linux的时候,所述操作***的硬件接口为hdparm。
S102:根据所述服务器硬件信息判断硬盘是否为磁盘阵列;
在具体实现的时候,由于操作***已经返回了服务器硬件信息,那么就可以根据硬件信息中的具体内容来判断硬盘是否为磁盘阵列。
具体的判断方式参见图3所示,具体包括:
S301:检测所述服务器硬件信息中是否包括RAID卡信息;
在具体实现的时候,RAID(RedundantArraysofIndependentDisks,磁盘阵列)卡是用以判断与服务器相连的硬盘是否为磁盘阵列的一个重要依据,而只有当RAID卡存在的时候,服务器硬件中才可能会存在磁盘阵列。如果RAID卡不存在,则意味着,不管有几个硬盘和服务器连接,均不会构成磁盘阵列。
在具体判断的时候,由于硬件信息的调取有单独调取以及同时调取多个硬件的硬件信息两种,因此RAID卡的是否存在的判断方法也有两种:
1、如果硬件信息调取指令单独调取某一硬件的硬件信息,那么该“某一硬件”应当为RAID卡,如果操作***所返回的硬件信息中包含了RAID卡的详细信息,就意味着有RAID卡的存在。而如果操作***所返回的硬件信息为空,那么就意味着没有RAID卡的存在。
2、如果硬件信息调取指令调取所有硬件的硬件信息,那么就要从***所返回的硬件信息中查看其是否包含了RAID卡的相关信息,如果有,则意味着有RAID卡的存在,如果没有,则意味着没有RAID卡的存在。
S302:如果包括,则根据所述服务器硬件信息中的硬盘信息检测硬盘是否只有一个;
S303:如果是,则所述硬盘为磁盘阵列。
在具体实现的时候,磁盘阵列是由很多容量较小的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘***效能。而如果存在磁盘阵列,操作***则会将多个磁盘看作是一个硬盘,并且会为这一个硬盘标记一个虚拟序列号。因此,当检测到硬盘信息中包含RAID卡信息的时候,只要根据服务器硬件信息中的硬盘信息检测到只有一个硬盘的存在的时候,则会认为服务器所连接的硬盘为磁盘阵列。
S103:如果判断结果为否,则通过操作***的硬件接口直接获取硬盘物理序列号;
在具体实现的时候,如果上述S102判断的结果为否,即根据硬件信息判断硬盘不是磁盘阵列的时候,那么不管有多少个硬盘和服务器连接,均认为是硬盘直接与服务器连接,因此可以直接通过操作***的硬件接口直接获取硬盘物理序列号。获取的方式与获取服务器硬件的方式类似,通过硬盘与服务器连接的具体接口来进行获取的。
S104:如果判断的结果为是,则获取RAID卡的型号,并根据该RAID卡的型号匹配并加载RAID卡管理工具;
在具体实现的时候,如果上述S103判断的结果为是,即根据硬件信息判断硬盘是磁盘阵列的时候,那么就需要获取RAID卡的型号。由于在获取服务器硬件信息的时候,操作***已经返回了硬件的相关信息,其中就应当包括了RAID卡的各种信息,例如RAID卡的厂家、型号、磁盘阵列的相关参数等。RAID卡的型号可以直接由服务器硬件信息中读取到。当获取了RAID卡的信号后,根据RAID卡的型号匹配RAID卡管理工具。RAID卡管理工具可能包含在RAID卡的驱动程序中,此时只需要直接从驱动程序中调取并加载便可。RAID卡管理工具还可能需要用户从相关厂家进行下载方可以使用,此时需要自动连接网络并以RAID卡的型号为关键字进行检索,查找与之相匹配的RAID卡管理工具、下载后加载。
S105:通过RAID卡管理工具执行RAID信息查询命令,获取硬盘物理序列号。
在具体实现的时候,由于不同厂家所生产的RAID卡管理工具的RAID信息查询命令均不一样,因此要根据具体的情况,向RAID卡管理工具输入相应的RAID查询命令。RAID卡管理工具在接收到所述RAID查询命令后,会直接从磁盘阵列的各个磁盘中调用每个磁盘的硬盘物理序列号,并返回到操作界面。
本发明所提供的硬盘物理序列号的获取方法,通过从操作***直接获取服务器硬件信息,并根据所获取的硬件信息判断硬盘是否为磁盘阵列,如果是磁盘阵列,那么就要根据相应的RAID卡型号,寻找与RAID卡匹配的RAID卡管理工具,然后通过RAID卡管理工具执行RAID卡信息查询指令。在RAID卡信息查询指令中,包括了磁盘的物理序列号,从而能够最终获取硬盘物理序列号。在这个过程中,既不需要将硬盘直接插拔,也避免了通过操作***提供的接口指令获取硬盘的虚拟序列号,获取硬盘物理序列号的效率和准确率都较之现有技术更高。
另外,参见图1所示,本发明所提供的硬盘物理序列号获取方法中,在获取硬盘物理序列号之后,还包括:
S106:将获取的硬盘物理序列号导出为文本文件;和/或,通过与服务器的接口上传至所述服务器。
在具体实现的时候,由于硬盘物理序列号要定期检查,因此在获取了硬盘物理序列号后,需要将所获取的硬盘物理序列号导出为文本文件,也可以导出为其他格式的文件。例如Excel表格等。或者通过与服务器之间的接口直接将硬盘物理序列号上传至服务器。
本发明又一实施例还提供一种硬盘物理序列号的获取装置,参见图4所示,本发明实施例所提供的硬盘物理序列号的获取装置包括:
硬件信息获取模块10,用于获取服务器硬件信息;
磁盘阵列判断模块20,用于根据所述服务器硬件信息判断硬盘是否为磁盘阵列;
第一物理序列号获取模块30,用于在如果判断结果为否时,通过操作***的硬件接口直接获取硬盘物理序列号;
RAID卡管理工具匹配模块40,用于如果判断的结果为是时,获取RAID卡的型号,并根据该RAID卡的型号匹配RAID卡管理工具并加载;
第二物理序列号获取模块50,用于通过RAID卡管理工具执行RAID信息查询命令,获取硬盘物理序列号。
本实施例中,硬件信息获取模块10、磁盘阵列判断模块20、第一物理序列号获取模块30、RAID卡管理工具匹配模块40和第二物理序列号获取模块50的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
本发明实施例所提供的硬盘物理序列号的获取装置,通过硬件信息获取模块10从操作***直接获取服务器硬件信息,磁盘阵列判断模块20根据所获取的硬件信息判断硬盘是否为磁盘阵列,如果是磁盘阵列,那么通过RAID卡管理工具匹配模块40根据相应的RAID卡型号,寻找与RAID卡匹配的RAID卡管理工具,然后通过第二物理序列号获取模块50执行RAID卡信息查询指令。在RAID卡信息查询指令中,包括了磁盘的物理序列号,从而能够最终获取硬盘物理序列号。在这个过程中,既不需要将硬盘直接插拔,也避免了通过才啊哦做***提供的接口指令获取硬盘的虚拟序列号,获取硬盘物理序列号的效率和准确率都较之现有技术更高。
本发明又一实施例还提供硬件信息获取模块的具体结构,参见图5所示,10具体包括:
硬件信息调取指令发送单元11,用于向所述操作***的硬件接口发送硬件信息调取指令;
硬件信息接收单元12,用于接收所述操作***的硬件接口根据所述硬件信息调取指令所返回的服务器硬件信息。
本实施例中,硬件信息调取指令发送单元11、硬件信息接收单元12的具体功能和交互方式,可参见图2对应的实施例的记载,在此不再赘述。
本发明又一实施例还提供另一种磁盘阵列判断模块的具体结构,参见图6所示,所述磁盘阵列判断模块20具体包括:
RAID卡信息检测单元21,用于检测所述服务器硬件信息中是否包括RAID卡信息;
硬盘数量检测单元22,用于在包括RAID卡信息时,则根据所述服务器硬件信息中的硬盘信息检测硬盘是否只有一个;
硬盘阵列确定单元23,用于在硬盘数量检测单元的输出结果为是时,确定所述硬盘为磁盘阵列。
本实施例中,RAID卡信息检测单元21、硬盘数量检测单元22以及硬盘阵列确定单元23的具体功能和交互方式,可参见图3对应的实施例的记载,在此不再赘述。
本发明又一实施例还提供另一种硬盘物理序列号的获取装置的具体结构,参见图7所示,还包括:
物理序列号输出模块60,用于将获取的硬盘物理序列号导出为文本文件;
和/或,通过与服务器的接口上传至所述服务器。
本实施例中,物理序列号输出模块60的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
本发明又一实施例还提供了一种硬盘物理序列号的获取***,参见图8所示,
包括服务器100,所述服务器100上还设置有上述图4-图8所对应的实施例所述的硬盘物理序列号的获取装置200。
本发明实施例所提供的硬盘物理序列号的获取方法、装置以及***。,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。