掌桥专利:专业的专利平台
掌桥专利
首页

信息采集方法、装置、服务器及存储介质

文献发布时间:2023-06-19 09:27:35


信息采集方法、装置、服务器及存储介质

技术领域

本申请实施例涉及金融科技(Fintech)服务器的技术领域,尤其涉及一种信息采集方法、装置、服务器及存储介质。

背景技术

随着金融科技的发展,通常采用服务器对越来越多的金融业务数据进行分析、或者处理。在通过服务器对金融数据进行处理、或者分析的过程中,通常需要对服务器进行维护。

在相关技术中,通常采用基于智能平台管理接口(Intelligent PlatformManagement Interface,IPMI)采集技术获取服务器中的硬件部件(例如:硬盘、处理器等)的数据信息,从而使运维人员可以根据上述数据信息对服务器进行维护。但是基于IPMI的采集技术得到的数据信息为物理机器代码,可阅读性较差,导致运维效率低。而且,由于服务器的品牌众多,不同品牌的服务器对应的数据信息中包括的部件信息(例如,处理器的温度、电池的剩余电量)在数据信息中的命名、位置等通常也不同,导致运维人员需要了解不同品牌的服务器的部件信息在不同数据信息中的命名、位置等,增加了运维人员的工作量,导致运维效率低。

发明内容

本申请实施例提供一种信息采集方法、装置、服务器及存储介质,用于降低运维人员的工作量,提高对服务器的运维效率。

第一方面,本申请实施例提供一种信息采集方法,包括:

通过采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件为服务器中的任意部件;

获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称;

在第一属性信息中获取第二属性名称对应的第二属性值,并将第二属性值填充至属性列表,得到第一部件的信息采集结果。

在一种可能实施方式中,在第一属性信息中获取第二属性名称对应的第二属性值,包括:

对第一属性信息进行信息串划分处理,得到至少一个信息串,每个信息串中包括至少一个第一属性名称和/或至少一个第一属性值;

根据第二属性名称和至少一个信息串,在第一属性信息中获取第二属性名称对应的第二属性值。

在一种可能实施方式中,对第一属性信息进行信息串划分处理,得到至少一个信息串,包括:

按照第一属性信息的行排列方式,对第一属性信息进行信息串划分处理,得到至少一个信息串;其中,第一属性信息中的一行信息对应一个信息串。

在一种可能实施方式中,至少一个信息串的个数为M,M大于或等于1,属性列表中还包括采集应用程序的目标标识和目标标识对应的至少一个第三属性名称,至少一个第三属性名称的个数为N,M大于或等于N,N大于或等于1,属性列表中的一个第三属性名称对应一个第二属性名称。

在一种可能实施方式中,针对至少一个第二属性名称中的第j个第二属性名称,j大于或等于1且小于或等于N;

根据第j个第二属性名称和至少一个信息串,在第一属性信息中获取第j个第二属性名称对应的第二属性值,包括:

判断第i个信息串中是否存与第j个第三属性名称相同的第一属性名称;其中,i大于或等于1且小于或等于M;

若是,则将与第j个第三属性名称相同的第一属性名称对应的第一属性值,确定为第j个第二属性名称对应的第二属性值,其中,第j个第三属性名称对应第j个第二属性名称。

在一种可能实施方式中,对第一属性信息进行信息串划分处理,得到至少一个信息串,包括:

根据预设字符,对第一属性信息进行拆分处理,得到至少一个信息串;其中,第一属性信息中的第一属性名称和第一属性值之间设置有预设字符,第一属性信息中的一个第一属性名称或者一个第一属性值对应一个信息串。

在一种可能实施方式中,至少一个信息串的个数为N,N大于或等于1,属性列表中还包括至少一个应用标识和每个应用标识对应的至少一个第三属性名称,属性列表中的一个第三属性名称对应一个第二属性名称,至少一个应用标识的个数为M,M大于或等于1,至少一个应用标识中包括采集应用程序的目标标识。

在一种可能实施方式中,针对至少一个第二属性名称中的第j个第二属性名称,j大于或等于1且小于或等于Y,Y为至少一个第二属性名称的总个数;

根据第j个第二属性名称和至少一个信息串,在第一属性信息中获取第j个第二属性名称对应的第二属性值,包括:

分别对N个信息串进行哈希转换处理,得到N个第一哈希值和N个第一映射关系,其中,一个信息串对应一个第一哈希值,一个第一哈希值对应一个第一映射关系;

分别对第j个第二属性名称对应的M个第三属性名称进行哈希转换处理,得到M个第二哈希值和M个第二映射关系,其中,一个第三属性名称对应的一个第二哈希值,一个第二哈希值对应一个第二映射关系;

根据N个第一哈希值、N个第一映射关系、M个第二哈希值和M个第二映射关系,在第一属性信息中获取第j个第二属性名称对应的第二属性值。

在一种可能实施方式中,根据N个第一哈希值、N个第一映射关系、M个第二哈希值和M个第二映射关系,在第一属性信息中获取第j个第二属性名称对应的第二属性值,包括:

对N个第一哈希值中和M个第二哈希值进行比较处理,得到相同的第一目标值和第二目标值,其中,第一目标值为N个第一哈希值中的哈希值,第二目标值为M个第二哈希值中的哈希值;

获取第一目标值对应的第一目标映射关系与第二目标值对应的第二目标映射关系之间的映射信息;

根据映射信息,在第一属性信息中获取第二目标值对应的第三属性名称对应的第三属性值,将第三属性值确定为第j个第二属性名称对应的第二属性值,其中,第二目标值对应的第三属性名称与第j个第二属性名称对应。

在一种可能实施方式中,映射信息中包括至少一个三维坐标;根据映射信息,在第一属性信息中获取第二目标值对应的第三属性名称对应的第三属性值,包括:

根据第二目标值对应的第三属性名称在属性列表中的第一列标识、目标标识在属性列表中的第二列标识,判断至少一个三维坐标中是否存在第一坐标,第一坐标中包括第一列标识和第二列标识;

若是,则根据第一坐标,在第一属性信息中确定第一信息串,第一信息串在第一属性信息中位置标识与第一坐标中除第一列标识和第二列标识之外的坐标值相同;将第一属性信息中的第二信息串对应的属性值确定为第二目标值对应的第三属性名称对应的第三属性值,第二信息串为第一信息串之后的第一个信息串。

在一种可能实施方式中,服务器中安装有Linux操作系统,采集应用程序安装在所述Linux操作系统中;

通过采集应用程序获取第一部件的第一属性信息,包括:在Linux操作系统中,采用带内信息获取方式,通过采集应用程序获取所述第一部件的第一属性信息。

在一种可能实施方式中,服务器中设置有第一部件对应的基础数据模型,基础数据模型中包括至少一个第二属性名称,属性列表为根据至少一个第二属性名称预先建立、并存储的在服务器中的列表。

在一种可能实施方式中,第一部件包括至少一个阵列卡和至少一个硬盘,其中,至少一个阵列卡中包括虚拟阵列卡,至少一个硬盘中包括虚拟硬盘。

在一种可能实施方式中,通过采集应用程序获取第一部件的第一属性信息之前,还包括:

对至少一个阵列卡进行查询,得到查询信息;

根据查询信息确定采集应用程序的目标标识。

在一种可能实施方式中,查询信息中包括第一阵列卡查询信息和服务器的厂商信息;根据查询信息确定采集应用程序的目标标识,包括:

在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识为预设标识之后,将第一应用标识确定为目标标识。

在一种可能实施方式中,查询信息中还包括第二阵列卡查询信息,方法还包括:

在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识不为预设标识之后,若根据第二阵列卡查询信息确定第一阵列卡支持第二阵列卡,则将第二应用标识确定为目标标识;若根据第二阵列卡查询信息确定第一阵列卡不支持第二阵列卡,则将第三应用标识确定为目标标识。

在一种可能实施方式中,查询信息中还包括第三阵列卡查询信息;根据查询信息确定采集应用程序的目标标识,包括:

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中存在第三阵列卡,则将第四应用标识确定为目标标识;

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中不存在第三阵列卡,则将第五应用标识确定为目标标识。

在一种可能实施方式中,至少一个阵列卡中还包括第一阵列卡和/或第三阵列卡,第一阵列卡为通过硬件实现的阵列卡,第三阵列卡为通过软件实现的阵列卡。

第二方面,本申请实施例提供一种信息采集装置,包括:

第一获取模块用于,通过采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件为服务器中的任意部件;

第二获取模块用于,获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称;

第三获取模块用于,在第一属性信息中获取第二属性名称对应的第二属性值;

填充模块用于,将第二属性值填充至属性列表,得到第一部件的信息采集结果。

在一种可能实施方式中,第三获取模块具体用于:

对第一属性信息进行信息串划分处理,得到至少一个信息串,每个信息串中包括至少一个第一属性名称和/或至少一个第一属性值;

根据第二属性名称和至少一个信息串,在第一属性信息中获取第二属性名称对应的第二属性值。

在一种可能实施方式中,第三获取模块具体用于:

按照第一属性信息的行排列方式,对第一属性信息进行信息串划分处理,得到至少一个信息串;其中,第一属性信息中的一行信息对应一个信息串。

在一种可能实施方式中,至少一个信息串的个数为M,M大于或等于1,属性列表中还包括采集应用程序的目标标识和目标标识对应的至少一个第三属性名称,至少一个第三属性名称的个数为N,M大于或等于N,N大于或等于1,属性列表中的一个第三属性名称对应一个第二属性名称。

在一种可能实施方式中,针对至少一个第二属性名称中的第j个第二属性名称,j大于或等于1且小于或等于N;

第三获取模块具体用于:

判断第i个信息串中是否存与第j个第三属性名称相同的第一属性名称;其中,i大于或等于1且小于或等于M;

若是,则将与第j个第三属性名称相同的第一属性名称对应的第一属性值,确定为第j个第二属性名称对应的第二属性值,其中,第j个第三属性名称对应第j个第二属性名称。

在一种可能实施方式中,第三获取模块具体用于:

根据预设字符,对第一属性信息进行拆分处理,得到至少一个信息串;其中,第一属性信息中的第一属性名称和第一属性值之间设置有预设字符,第一属性信息中的一个第一属性名称或者一个第一属性值对应一个信息串。

在一种可能实施方式中,至少一个信息串的个数为N,N大于或等于1,属性列表中还包括至少一个应用标识和每个应用标识对应的至少一个第三属性名称,属性列表中的一个第三属性名称对应一个第二属性名称,至少一个应用标识的个数为M,M大于或等于1,至少一个应用标识中包括采集应用程序的目标标识。

在一种可能实施方式中,针对至少一个第二属性名称中的第j个第二属性名称,j大于或等于1且小于或等于Y,Y为至少一个第二属性名称的总个数;

第三获取模块具体用于:

分别对N个信息串进行哈希转换处理,得到N个第一哈希值和N个第一映射关系,其中,一个信息串对应一个第一哈希值,一个第一哈希值对应一个第一映射关系;

分别对第j个第二属性名称对应的M个第三属性名称进行哈希转换处理,得到M个第二哈希值和M个第二映射关系,其中,一个第三属性名称对应的一个第二哈希值,一个第二哈希值对应一个第二映射关系;

根据N个第一哈希值、N个第一映射关系、M个第二哈希值和M个第二映射关系,在第一属性信息中获取第j个第二属性名称对应的第二属性值。

在一种可能实施方式中,第三获取模块具体用于:

对N个第一哈希值中和M个第二哈希值进行比较处理,得到相同的第一目标值和第二目标值,其中,第一目标值为N个第一哈希值中的哈希值,第二目标值为M个第二哈希值中的哈希值;

获取第一目标值对应的第一目标映射关系与第二目标值对应的第二目标映射关系之间的映射信息;

根据映射信息,在第一属性信息中获取第二目标值对应的第三属性名称对应的第三属性值,将第三属性值确定为第j个第二属性名称对应的第二属性值,其中,第二目标值对应的第三属性名称与第j个第二属性名称对应。

在一种可能实施方式中,映射信息中包括至少一个三维坐标;第三获取模块具体用于:

根据第二目标值对应的第三属性名称在属性列表中的第一列标识、目标标识在属性列表中的第二列标识,判断至少一个三维坐标中是否存在第一坐标,第一坐标中包括第一列标识和第二列标识;

若是,则根据第一坐标,在第一属性信息中确定第一信息串,第一信息串在第一属性信息中位置标识与第一坐标中除第一列标识和第二列标识之外的坐标值相同;将第一属性信息中的第二信息串对应的属性值确定为第二目标值对应的第三属性名称对应的第三属性值,第二信息串为第一信息串之后的第一个信息串。

在一种可能实施方式中,服务器中安装有Linux操作系统,采集应用程序安装在所述Linux操作系统中;所述第一获取模块具体用于:

在Linux操作系统中,采用带内信息获取方式,通过采集应用程序获取所述第一部件的第一属性信息。

在一种可能实施方式中,服务器中设置有第一部件对应的基础数据模型,基础数据模型中包括至少一个第二属性名称,属性列表为根据至少一个第二属性名称预先建立、并存储的在服务器中的列表。

在一种可能实施方式中,第一部件包括至少一个阵列卡和至少一个硬盘,其中,至少一个阵列卡中包括虚拟阵列卡,至少一个硬盘中包括虚拟硬盘。

在一种可能实施方式中,信息采集装置还包括:查询模块和确定模块,其中,查询模块用于,在通过采集应用程序获取第一部件的第一属性信息之前对至少一个阵列卡进行查询,得到查询信息;

确定模块用于,根据查询信息确定采集应用程序的目标标识。

在一种可能实施方式中,查询信息中包括第一阵列卡查询信息和服务器的厂商信息;确定模块具体用于:

在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识为预设标识之后,将第一应用标识确定为目标标识。

在一种可能实施方式中,查询信息中还包括第二阵列卡查询信息,确定模块还用于:

在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识不为预设标识之后,若根据第二阵列卡查询信息确定第一阵列卡支持第二阵列卡,则将第二应用标识确定为目标标识;若根据第二阵列卡查询信息确定第一阵列卡不支持第二阵列卡,则将第三应用标识确定为目标标识。

在一种可能实施方式中,查询信息中还包括第三阵列卡查询信息;确定模块还用于:

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中存在第三阵列卡,则将第四应用标识确定为目标标识;

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中不存在第三阵列卡,则将第五应用标识确定为目标标识。

在一种可能实施方式中,至少一个阵列卡中还包括第一阵列卡和/或第三阵列卡,第一阵列卡为通过硬件实现的阵列卡,第三阵列卡为通过软件实现的阵列卡。

第三方面,本申请实施例提供一种服务器,包括:存储器和处理器;

存储器存储计算机执行指令;

处理器执行存储器存储的计算机执行指令,使得处理器执行第一方面中任一项的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算机执行指令被处理器执行时实现第一方面中任一项的方法。

本申请提供一种信息采集方法、装置、服务器及存储介质,该信息采集方法包括:通过采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件为服务器中的任意部件;获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称;在第一属性信息中获取第二属性名称对应的第二属性值,并将第二属性值填充至属性列表,得到第一部件的信息采集结果。在上述方法中,从第一属性信息中获取第二属性名称对应的第二属性值,将第二属性值填充至属性列表得到第一部件的信息采集结果,使得信息采集结果中包括每个第二属性名称和每个第二属性名称对应的第二属性值,从而实现了信息采集的规范、完整性,便于运维人员直接根据信息采集结果,对服务器进行诊断、维修、预警等,降低运维人员的工作量,提高对服务器的运维效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的信息采集方法的应用场景示意图;

图2为本申请实施例提供的信息采集方法的流程示意图一;

图3为本申请实施例提供的信息采集方法的流程示意图二;

图4为本申请实施例提供的确定应用标识的流程示意图;

图5为本申请实施例提供的基础数据模型的结构示意图;

图6为本申请实施例提供的信息采集方法的流程示意图三;

图7为本申请实施例提供的信息采集方法的流程示意图四;

图8为本申请实施例提供的信息采集装置的结构示意图一;

图9为本申请实施例提供的信息采集装置的结构示意图二

图10为本申请实施例提供的服务器的硬件结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和/或权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

图1为本申请实施例提供的信息采集方法的应用场景示意图。如图1所示,包括:服务器10。服务器10包括存储器和显示设备,服务器10中安装有linux系统和至少一个采集应用程序,服务器10中还可以设置有内存(memery)、处理器(Central Processing Unit,CPU)、阵列卡(即RAID卡)、硬盘(DISK)和基础数据模型等。其中,存储器可以用于存储第一部件的属性列表和第一属性信息,显示设备可以用于向用户展示第一部件的信息采集结果,基础数据模型可以用于构建第一部件的属性列表。对基础数据模型的详细说明可以参见图5实施例。

在本申请中,例如需要得到第一部件的信息采集结果时,首先获取第一部件的属性列表和第一属性信息,其中,属性列表包括第一部件对应的至少一个属性名称;其次在第一属性信息中获取每个属性名称对应的属性值;进而将属性值填充到属性列表中,得到第一部件的信息采集结果。在本申请中,至少一个属性名称为运维人员可阅读的名称(例如,属性名称为battery_state,即电池状态对应的英文单词组合),而且每个属性名称和其对应的属性值在属性列表中的位置固定,至少一个属性名称在属性列表中的名称固定,可以降低运维人员的工作量,提高运维效率。

下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。

图2为本申请实施例提供的信息采集方法的流程示意图一。如图2所示,本实施例提供的信息采集方法包括:

S201、通过采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件为服务器中的任意部件。

可选地,本申请实施例的执行主体可以为服务器,也可以为设置在服务器中的信息采集装置,信息采集装置可以通过软件和/或硬件的结合来实现。其中,服务器中安装有Linux操作系统,采集应用程序安装在Linux操作系统中。

可选地,采集应用程序可以是自研的计算机应用程序,也可以为MegaCli工具、Lsiutil工具、Hpacucli工具、Mdadm工具、Smartmontools工具中任意一种。具体的,采集应用程序为与服务器匹配的应用程序。具体的,每个采集应用程序具有各自对应的应用标识(例如,MegaCli工具的应用标识可以为MegaCli),在实际中,可以先确定目标标识,进而将具有目标标识的采集应用程序确定为与服务器匹配的应用程序。其中,确定目标标识的方法可以参见图3实施例中的S301~S302。

可选地,第一部件可以为处理器、内存等,还可以为包括阵列卡、硬盘、虚拟阵列卡和虚拟硬盘等中的任意至少一个的部件。

其中,第一属性名称为通过采集应用程序采集得到第一部件的属性关键字对应的名称。需要说明的是,不同采集应用程序采集的同一个属性关键字对应的第一属性名称可能不同。

例如,属性关键字为当前缓存策略,MegaCli工具采集得到第一属性名称为Current Cache(即当前缓存策略),通过Lsiutil工具采集得到第一属性名称为CurrentCache。

在一种可能的实施方式中,通过采集应用程序获取第一部件的第一属性信息的方法,具体可以为:在Linux操作系统中,采用带内信息获取方式,通过采集应用程序获取第一部件的第一属性信息。

在上述带内信息获取方式中,服务器的控制数据(即第一属性信息)和用户业务数据信息在相同的链路传送,可以节省服务器的链路资源,提高信息采集效率。

与现有技术不同,在现有技术中,基于IPMI采集技术,通过带外信息获取方法,获取服务器中硬件部件的数据信息,在带外信息获取方法中,服务器的控制数据(硬件部件的数据信息)与用户业务数据在不同的链路传送,导致服务器的链路资源浪费,降低信息采集效率。而在本申请中,通过带内信息获取方法,可以节省服务器的链路资源,提高信息采集效率。

S202、获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称。

其中,属性列表为服务器预先存储的列表。

其中,至少一个第二属性名称为第一部件对应的关键技术指标的名称,每个第二属性名称为开发人员预先定义的、且运维人员可以识别的名称,每个第二属性名称在属性列表的位置、名称、格式等固定不变。例如,第二属性名称为current_cache_policy,运维人员可以根据其字面意思确定其为当前缓存策略。

需要说明的是,当需要通过本申请提供的信息采集方法,得到服务器中阵列卡和硬盘(即第一部件的)信息采集结果时,默认为本申请中的服务器中存在虚拟阵列卡和虚拟硬盘,此时,第一部件对应的属性列表可以如下表1所示。

表1

可选地,属性列表还可以包括多个应用标识和每个应用标识对应的至少一个第三属性名称,每个第三属性名称具有各自对应的第二属性名称。

其中,至少一个第三属性名称为开发人员对第一属性信息中的至少一个第一属性名称进行归纳统计得到的,即至少一个第三属性名称和至少一个第一属性名称相同。

可选地,第三属性名称与第二属性名称之间的对应关系为开发人员通过采用不同采集应用程序对第一部件进行采集实验得到的。

可选地,当应用标识分别为MegaCl、Lsiutil、Hpacucli、Mdadm、Smartmontools时,属性列表还可以如下表2和表3所示。

表2

表3

在上述表3中,应用标识所在列中的“--”表示没有第二属性名称对应的第三属性名称。需要说明的是,上述表1、表2和表3中的任意至少两个表格可以结合起来形成新的表格,此处不再进行赘述。

在一种可能的实施方式中,服务器中设置有第一部件对应的基础数据模型,基础数据模型中包括所述至少一个第二属性名称,属性列表为根据至少一个第二属性名称预先建立、并存储的在服务器中的列表。对基础数据模型的详细说明,可以参见图5实施例。

S203、在第一属性信息中获取第二属性名称对应的第二属性值,并将第二属性值填充至属性列表,得到第一部件的信息采集结果。

需要说明的是,在通过采集应用程序(具有目标标识)获取的第一属性信息中,至少一个第一属性名称中存在与目标标识对应的第三属性名称相同的一个第一属性名称。

可选地,可以在第一属性信息中确定第三属性名称对应的第一属性名称,将第一属性信息中第三属性名称对应的第一属性名称的第一属性值,确定为第三属性名称对应的第二属性名称的第二属性值,并将该第二属性名称的第二属性值填充至表1所示的属性列表中,从而得到第一部件的信息采集结果。

可选地,上述所示的属性列表中还可以包括每个第二属性名称对应的默认值,若确定出第二属性名称对应的第二属性值,则将第二属性名称对应的默认值替换为该第二属性名称对应的第二属性值,从而得到第一部件的信息采集结果;若未确定出第二属性名称对应的第二属性值,则将第二属性名称对应的默认值确定为该第二属性名称对应的第二属性值,从而得到第一部件的信息采集结果。例如,包括每个第二属性名称各自对应的默认值的属性列表可以如下表4所示。

表4

可选地,上述表1、表2、表3和表4中的任意至少两个表格可以结合,从而形成新的表格,此处不再详述。

本实施例提供的信息采集方法包括:通过采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件为服务器中的任意部件;获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称;在第一属性信息中获取第二属性名称对应的第二属性值,并将第二属性值填充至属性列表,得到第一部件的信息采集结果。在上述方法中,从第一属性信息中获取第二属性名称对应的第二属性值,将第二属性值填充至属性列表得到第一部件的信息采集结果,使得信息采集结果中包括每个第二属性名称和每个第二属性名称对应的第二属性值,从而实现了信息采集的规范、完整性,便于运维人员直接根据信息采集结果,对服务器进行诊断、维修、预警等,降低运维人员的工作量,提高对服务器的运维效率。

与现有技术不同,在现有技术中,在采用基于IPMI的采集技术对不同的服务器中的硬件部件进行信息采集得到的数据信息中,相同的部件信息在不同服务器对应的数据信息中的命名、格式、位置等通常不同,无法使得相同的部件信息在不同服务器对应的数据信息中的命名、格式、位置等也相同,也无法实现对不同的服务器进行统一管理。在本申请中,获取第一部件对应的属性列表,在第一属性信息中获取第二属性名称对应的第二属性值,并将第二属性值填充至属性列表得到第一部件的信息采集结果,可以使得相同的第二属性名称(即部件信息)在不同服务器对应的信息采集结果(即数据信息)中的命名、格式、位置等也相同,实现对不同的服务器进行统一管理。

在上述实施例的基础上,下面结合图3,以第一部件包括至少一个阵列卡和至少一个硬盘、至少一个阵列卡中包括虚拟阵列卡、至少一个硬盘中包括虚拟硬盘为例,对本申请提供的信息采集方法进行详细说明。

图3为本申请实施例提供的信息采集方法的流程示意图二。如图3所示,本实施例提供的信息采集方法包括:

S301、对服务器中至少一个阵列卡进行查询,得到查询信息。

可选地,查询信息中可以包括第一阵列卡查询信息、服务器的厂商信息、第二阵列卡查询信息、第三阵列卡查询信息中的任意至少一个信息。

S302、根据查询信息确定采集应用程序的目标标识。

在一种可能的实施方式中,查询信息中包括第一阵列卡查询信息和服务器的厂商信息;根据查询信息确定采集应用程序的目标标识,包括:

在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识为预设标识之后,将第一应用标识确定为目标标识。

在另一种可能的实施方式中,查询信息中还包括第二阵列卡查询信息,方法还包括:在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识不为预设标识之后,若根据第二阵列卡查询信息确定第一阵列卡支持第二阵列卡,则将第二应用标识确定为目标标识;若根据第二阵列卡查询信息确定第一阵列卡不支持第二阵列卡,则将第三应用标识确定为目标标识。

在另一种可能的实施方式中,查询信息中还包括第三阵列卡查询信息;根据查询信息确定采集应用程序的目标标识,包括:

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中存在第三阵列卡,则将第四应用标识确定为目标标识;

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中不存在第三阵列卡,则将第五应用标识确定为目标标识。

具体的,对S301~S302执行过程的详细说明请参见图4实施例,此处不再进行赘述。

S303、通过目标标识对应的采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件包括至少一个阵列卡和至少一个硬盘,至少一个阵列卡中包括虚拟阵列卡,至少一个硬盘中包括虚拟硬盘。

可选地,在确定出目标标识之后,可以启动目标标识对应的采集应用程序,并通过目标标识对应的采集应用程序获取第一部件的第一属性信息。

S304、获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称。

具体的,对基础数据模型的详细说明,请参见图5实施例。

S305、对第一属性信息进行信息串划分处理,得到至少一个信息串,每个信息串中包括至少一个第一属性名称和/或至少一个第一属性值。

具体的,对S305说明可以参见图6实施例中的S605、或者图7实施例中的S705。

S306、根据第二属性名称和至少一个信息串,在第一属性信息中获取第二属性名称对应的第二属性值,并将第二属性值填充至属性列表,得到第一部件的信息采集结果。

具体的,对S306说明可以参见图6实施例中的S606~S613、或者图7实施例中的S706~S712。

本实施例提供的信息采集方法中,获取第一部件的第一属性信息和第一部件的对应的属性列表,并对第一属性信息进行信息串划分处理,得到至少一个信息串,进而根据第二属性名称和至少一个信息串,在第一属性信息中获取第二属性名称对应的第二属性值,可以精准找到每个第二属性名称对应的第二属性值。进一步地,从第一属性信息中获取第二属性名称对应的第二属性值,将第二属性值填充至属性列表得到第一部件的信息采集结果,使得信息采集结果中包括每个第二属性名称和每个第二属性名称对应的第二属性值,从而实现了信息采集的规范、完整性,便于运维人员直接根据信息采集结果,对服务器进行诊断、维修、预警等,降低运维人员的工作量,提高对服务器的运维效率。

在上述实施例的基础上,下面结合图4,对上述S301~S302的执行过程做进一步地详细介绍,具体的,请参见图4实施例。

图4为本申请实施例提供的确定应用标识的流程示意图。如图4所示,本实施例提供的确定应用标识的方法包括:

S401、获取第一阵列卡查询信息。

可选地,可以通过第一指令从外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线设备上获取第一阵列卡查询信息。例如,第一指令可以为:lspci|grep-i raid。

S402、根据第一阵列卡查询信息判断服务器中是否存在第一阵列卡。

若是,则执行S403~S409。

若否,则执行S4010~S413。

例如,若第一阵列卡查询信息为:空(即NULL),则确定服务器中不存在第一阵列卡,若第一阵列卡查询信息中包括:MegaRAID SAS-3 3108,则确定服务器中存在第一阵列卡、且第一阵列卡的型号为:SAS-3 3108。

可选地,还可以根据是否获取到第一阵列卡查询信息确定服务器中是否存在第一阵列卡。例如,若执行完第一指令之后未获取到第一阵列卡查询信息,则确定服务器中不存在第一阵列卡,若执行完第一指令之后获取到第一阵列卡查询信息、且获取到的第一阵列卡查询信息中包括:MegaRAID SAS-33108,则确定服务器中存在第一阵列卡、第一阵列卡的型号为:SAS-3 3108。

S403、获取服务器的厂商信息。

可选地,可以通过第二指令获取服务器的厂商信息。例如,第二指令可以为dmicode-t1。

S404、根据厂商信息判断服务器的厂商标识是否为预设标识。

若是,则执行S405。

若否,则执行S406~S409。

可选地,预设标识可以为服务器的品牌名称。例如,当预设标识为HX时,若厂商信息中包括:Procuct Name:Len RD350,则确定服务器的厂商标识为:Len、服务器的型号为:RD350,进一步地,由于厂商标识为Len与预设标识HX不同,因此可以确定服务器的厂商标识不为预设标识。

S405、将第一应用标识确定为目标标识。

其中,第一应用标识为Hpacucli工具的应用标识。

S406、获取第二阵列卡查询信息。

可选地,可以通过第三指令从小型计算机系统接口(Small Computer SystemInterface,SCSI)中获取第二阵列卡查询信息。例如,第三指令可以为:cat/proc/scsi/scsi。

S407、根据第二阵列卡查询信息判断第一阵列卡是否支持第二阵列卡。

若是,则执行S408。

若否,则执行S409。

其中,第一阵列卡为服务器中通过硬件实现的阵列卡,

可选地,第二阵列卡查询信息中包括第一阵列卡的级别。例如,当第二阵列卡查询信息中包括:revision:10时,第一阵列卡的级别为:10。

可选地,第二阵列卡为具有预设级别的阵列卡,例如,预设级别可以为:5,还可以为其他。

可选地,可以根据第二阵列卡查询信息和第二阵列卡的预设级别,确定第一阵列卡是否支持第二阵列卡。具体的,在服务器中预先存储级别列表,该级别列表中包括预设级别和该预设级别对应的至少一个级别,其中,至少一个级别中的每个级别对应的第一阵列卡均为能够支持具有该预设级别的第二阵列卡。

进一步地,在第二阵列卡查询信息中获取目标级别,在至少一个级别中查找目标级别,若在至少一个级别中查找到目标级别,则确定第一阵列卡支持第二阵列卡,若在至少一个级别中查找不到目标级别,则确定第一阵列卡不支持第二阵列卡。

S408、将第二应用标识确定为目标标识。

其中,第二应用标识为Lsiutil工具的应用标识,

S409、将第三应用标识确定为目标标识。

其中,第三应用标识为MegaCli工具的应用标识。

S410、获取第三阵列卡查询信息。

可选地,可以通过第四指令获取第三阵列卡查询信息。例如,第四指令可以为:cat/proc/mdstat。

S411、根据第三阵列卡查询信息判断服务器中是否存在第三阵列卡。

若是,则执行S412。

若否,则执行S413。

其中,第三阵列卡为服务器中通过软件实现的阵列卡。

可选地,可以根据第三阵列卡查询信息中是否包括关键字md0,来确定服务器中是否存在第三阵列卡。例如,若第三阵列卡查询信息中包括关键字md0,则确定服务器中存在第三阵列卡,若第三阵列卡查询信息中不包括关键字md0,则确定服务器中不存在第三阵列卡。

进一步地,当第三阵列卡查询信息中包括关键字md0时,第三阵列卡查询信息中通常还包括阵列(RAID)值。在实际中,可以根据阵列值确定第三阵列卡的级别。例如,若阵列值为raid 10,则确定第三阵列卡的级别为10。

S412、将第四应用标识确定为目标标识。

其中,第四应用标识为Mdadm工具的应用标识。

S413、将第五应用标识确定为目标标识。

其中,第五应用标识为Smartmontools工具的应用标识。

在上述实施例的基础上,下面以第一部件包括至少一个阵列卡和至少一个硬盘、至少一个阵列卡中包括虚拟阵列卡、至少一个硬盘中包括虚拟硬盘为例,结合图5,对基础数据模型进行说明。

图5为本申请实施例提供的基础数据模型的结构示意图。如图5所示,基础数据模型包括:虚拟阵列卡对应的第二属性名称、以及虚拟硬盘对应的第二属性名称。

其中,虚拟硬盘为虚拟阵列卡的第二属性名称pd_list之下一个属性,该第二属性名称pd_list可以对应的多个虚拟硬盘(即服务器中的虚拟磁盘组是挂载在虚拟阵列卡下的一个属性)。图5仅示例性的示出一个虚拟硬盘。

需要说明的是,在执行本申请所示的信息采集方法之前,可以预先构建基础数据模型,可以将虚拟硬盘和虚拟阵列卡联系在一起,将服务器中的各种软硬场景(例如包括:具有第一阵列卡和硬盘,具有第三阵列卡和硬盘,具有第一阵列卡、第三阵列卡和硬盘,仅具有硬盘等中的任意一种场景)统一,实现对服务器中的硬盘和阵列卡的关键技术指标进行汇总。

在上述实施例的基础上,下面结合图6对本申请提供的信息采集方法进行详细地说明。具体的,请参见图6实施例。

图6为本申请实施例提供的信息采集方法的流程示意图三。如图6所示,本实施例提供的信息采集方法包括:

S601、对服务器中的至少一个阵列卡进行查询,得到查询信息。

S602、根据查询信息确定采集应用程序的目标标识。

具体的,S601~S602的执行方法可以参见上述图4实施例,此处不再进行赘述。

S603、通过目标标识对应的采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件包括至少一个阵列卡和至少一个硬盘,至少一个阵列卡中包括虚拟阵列卡,至少一个硬盘中包括虚拟硬盘。

S604、获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称、采集应用程序的应用标识、以及应用标识对应的至少一个第三属性名称,至少一个第三属性名称的个数为N,N大于或等于1,属性列表中的一个第三属性名称对应一个第二属性名称。

例如,本实施例所示的属性列表可以如下表5所示。需要说明的是,表5仅示例性的示出列表的一部分。

表5

在表5中,第二列中包括采集应用程序的应用标识:Hpacucli,以及应用标识对应的至少一个第三属性名称(分别为:Capacitor Status、Battery Count、CapacitorStatus、Capacitor Count、Temperature)。

S605、按照第一属性信息的行排列方式,对第一属性信息进行信息串划分处理,得到至少一个信息串,第一属性信息中的一行信息对应一个信息串,每个信息串中包括至少一个第一属性名称和/或至少一个第一属性值至少一个信息串的个数为M,M大于或等于1,M大于或等于N。

S606、判断第i个信息串中是否存与第j个第三属性名称相同的第一属性名称,第j个第三属性名称与第j个第二属性名称对应。

若是,则执行S607。

若否,则执行S608。

可选地,在S606之前还可以先获取第i个信息串和第j个第三属性名称。

需要说明的是,初始时,i=1,j=1。

可选地,上述表5中还可以包括其他采集应用程序对应的应用标识、以及应用标识对应的至少一个第三属性名称。在实际中,当上述表5中包括其他采集应用程序对应的应用标识、以及应用标识对应的至少一个第三属性名称时,在执行完S602之后,可以在表5中,将确定出的应用标识对应的每个第三属性名称的标志位设置为预设值(例如,预设值可以为1、2、3),进一步地,在执行S606时,可以判断第i个信息串中是否存与预设值对应的第j个第三属性名称相同的第一属性名称。

S607、将与第j个第三属性名称相同的第一属性名称对应的第一属性值,确定为第j个第三属性名称对应的第j个第二属性名称对应的第二属性值。

可选地,可以通过预设获取指令获取第j个第三属性名称相同的第一属性名称对应的第一属性值,其中,该预设获取指令可以为:re.findall()。

S608、判断j是否大于或等于N。

若否,则执行S609。

若是,则执行S610。

S609、更新j,j=j+1。

S610、判断i是否大于或等于M。

若否,则执行S611。

若否,则执行S612。

S611、更新i,i=i+1;更新j,j=1。

S612、将第j个第二属性名称对应默认值确定为第j个第二属性名称对应的第二属性值。

可选地,上述表5中还可以包括每个第二属性名称对应的默认值。当表5中包括每个第二属性名称对应的默认值时,属性列表可以如下表6所示。

表6

S613、将第j个第二属性名称对应的第二属性值填充至属性列表,得到第一部件的信息采集结果。

具体的,将第j个第二属性名称对应的第二属性值填充至属性列表中第j个第二属性名称对应的第二属性值所在的单元格中。

在本实施例提供的信息采集方法中,执行S606,判断第i个信息串中是否存与第j个第三属性名称相同的第一属性名称,第j个第三属性名称与第j个第二属性名称对应;并更新i和j,重复执行S606,可以准确地确定出第j个第二属性名称对应的第二属性值。进一步地,将第j个第二属性名称对应的第二属性值填充至属性列表得到第一部件的信息采集结果,使得信息采集结果中包括每个第二属性名称和每个第二属性名称对应的第二属性值,从而实现了信息采集的规范、完整性,便于运维人员直接根据信息采集结果,对服务器进行诊断、维修、预警等,降低运维人员的工作量,提高对服务器的运维效率。

在上述实施例的基础上,下面结合图7对本申请提供的信息采集方法进行详细地说明。具体的,请参见图7实施例。

图7为本申请实施例提供的信息采集方法的流程示意图。如图7所示,本实施例提供的信息采集方法包括:

S701、对服务器中的至少一个阵列卡进行查询,得到查询信息。

S702、根据查询信息确定采集应用程序的目标标识。

S703、通过目标标识对应的采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件包括至少一个阵列卡和至少一个硬盘,至少一个阵列卡中包括虚拟阵列卡,至少一个硬盘中包括虚拟硬盘。

具体的,S701~S703的执行方法可以参见上述S601~S603的执行方法,此处不再进行赘述。

S704、获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称、至少一个应用标识和每个应用标识对应的至少一个第三属性名称,属性列表中的一个第三属性名称对应一个第二属性名称,至少一个应用标识的个数为M,M大于或等于1,至少一个应用标识中包括目标标识。

例如,当M=2时,本实施例中的属性列表可以如下表7所示。需要说明的是,表7仅示例性的示出列表的一部分。

表7

可选地,上述表7中还可以包括每个第二属性值对应的默认值,以及应用标识Hpacucli、应用标识Mdadm和应用标识Smartmontools各自对应的第三属性名称。

S705、根据预设字符,对第一属性信息进行拆分处理,得到至少一个信息串,其中,第一属性信息中的第一属性名称和第一属性值之间设置有预设字符,第一属性信息中的一个第一属性名称或者一个第一属性值对应一个信息串,至少一个信息串的个数为N,N大于或等于1。

例如,当第一属性信息为:Capacitor Status(预设字符)Fasle(预设字符)Battery Count(预设字符)present时,可以将根据预设字符,对第一属性信息进行拆分处理,得到4个信息串(分别为:Capacitor Status、Fasle、Battery Count、present)。

S706、分别对N个信息串哈希转换处理,得到N个第一哈希值和N个第一映射关系,其中,一个第一哈希值对应一个第一映射关系。

具体的,分别对N个信息串(记为:S

例如,N=4时,分别对4个信息串(依次分别为:S

S707、获取至少一个第二属性名称中的第j个第二属性名称。

S708、分别对第j个第二属性名称对应的M个第三属性名称进行哈希转换处理,得到M个第二哈希值和M个第二映射关系,其中,一个第二哈希值对应一个第二映射关系。

例如,当j=1时,第1个第二属性名称对应的2个第三属性名称分别为ReplacementRequired、Capacitor Status。

具体的,分别对第j个第二属性名称对应的M个第三属性名称(记为:Q

例如,当j=2、M=2时,分别对2个第三属性名称(依次分别为ReplacementRequired、Capacitor Status)进行哈希转换处理,得到2个第二哈希值(依次分别为:Hash

S709、对N个第一哈希值中和M个第二哈希值进行比较处理,得到相同的第一哈希值和第二哈希值,其中,第一哈希值为N个第一哈希值中的哈希值,第二哈希值为M个第二哈希值中的哈希值。

例如,j=2、N=4、M=2时,对4个第一哈希值中和2个第二哈希值进行比较处理,可以得到相同的第一哈希值Hash

S710、获取第一哈希值对应的第一目标映射关系与第二哈希值对应的第二目标映射关系之间的映射信息。

可选地,映射信息为根据第一目标映射关系和第二目标映射关系确定的三维坐标P

S711、根据映射信息,在第一属性信息中获取第二哈希值对应的第三属性名称对应的第三属性值,将第二哈希值对应的第三属性名称对应的第三属性值确定为第j第二属性名称对应的第二属性值,将第j第二属性名称对应的第二属性值填充至属性列表,得到第一部件的信息采集结果,其中,第二哈希值对应的第三属性名称与第j第二属性名称对应。

在一种可能的实施例中,根据映射信息,在第一属性信息中获取第二哈希值对应的第三属性名称对应的第三属性值,包括:

根据第二目标值对应的第三属性名称在属性列表中的第一列标识、目标标识在属性列表中的第二列标识,判断至少一个三维坐标是否存在第一坐标,第一坐标中包括第一列标识和第二列标识;

若是,则根据第一坐标,在第一属性信息中确定第一信息串,第一信息串在第一属性信息中位置标识与第一坐标中除第一列标识和第二列标识之外的坐标值相同;将第一属性信息中的第二信息串对应的属性值确定为第二目标值对应的第三属性名称对应的第三属性值,第二信息串为第一信息串之后的第一个信息串。第二信息串与第一信息串之间设置有预设字符。

若否,则将第j个第二属性名称对应的默认值确定为第j第二属性名称对应的第二属性值。

例如,第二哈希值Hash

可选地,在执行完S702之后可以确定目标标识的第二列标识,当属性列表如表7所示时,可以在表7中查找目标标识所在列的列号,从而将目标标识所在列的列号确定为第二列标识。例如,当映射信息包括的两个三维坐标分别为:三维坐标P

具体的,根据上述第一坐标P

S712、更新j,j=j+1,重复执行Y次S707~S712,直至的将每个第二属性名称对应的第二属性值填充至属性列表,得到第一部件的信息采集结果,其中,Y为至少一个第二属性名称的总个数。

其中,j大于或等于1且小于或等于Y。

在本实施例提供的信息采集方法中,将第j个第二属性名称对应的第二属性值填充至属性列表得到第一部件的信息采集结果,使得信息采集结果中包括每个第二属性名称和每个第二属性名称对应的第二属性值,便于运维人员直接根据信息采集结果,对服务器进行诊断、维修、预警等,降低运维人员的工作量,提高对服务器的运维效率。

图8为本申请实施例提供的信息采集装置的结构示意图一。如图8所示,信息采集装置10包括:第一获取模块101、第二获取模块102、第三获取模块103和填充模块104,其中,

第一获取模块101用于,通过采集应用程序获取第一部件的第一属性信息,第一属性信息包括至少一个第一属性名称和每个第一属性名称对应的第一属性值,第一部件为服务器中的任意部件;

第二获取模块102用于,获取第一部件对应的属性列表,属性列表中包括至少一个第二属性名称;

第三获取模块103用于,在第一属性信息中获取第二属性名称对应的第二属性值;

填充模块104用于,将第二属性值填充至属性列表,得到第一部件的信息采集结果。

本实施例提供的信息采集装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

图9为本申请实施例提供的信息采集装置的结构示意图二。在图8的基础上,如图9所示,信息采集装置10还包括:查询模块105和确定模块106,其中,

查询模块105用于,在通过采集应用程序获取第一部件的第一属性信息之前对至少一个阵列卡进行查询,得到查询信息;

确定模块106用于,根据查询信息确定采集应用程序的目标标识。

本实施例提供的信息采集装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

在一种可能实施方式中,第三获取模块103具体用于:

对第一属性信息进行信息串划分处理,得到至少一个信息串,每个信息串中包括至少一个第一属性名称和/或至少一个第一属性值;

根据第二属性名称和至少一个信息串,在第一属性信息中获取第二属性名称对应的第二属性值。

在一种可能实施方式中,第三获取模块103具体用于:

按照第一属性信息的行排列方式,对第一属性信息进行信息串划分处理,得到至少一个信息串;其中,第一属性信息中的一行信息对应一个信息串。

在一种可能实施方式中,至少一个信息串的个数为M,M大于或等于1,属性列表中还包括采集应用程序的目标标识和目标标识对应的至少一个第三属性名称,至少一个第三属性名称的个数为N,M大于或等于N,N大于或等于1,属性列表中的一个第三属性名称对应一个第二属性名称。

在一种可能实施方式中,针对至少一个第二属性名称中的第j个第二属性名称,j大于或等于1且小于或等于N;

第三获取模块103具体用于:

判断第i个信息串中是否存与第j个第三属性名称相同的第一属性名称;其中,i大于或等于1且小于或等于M;

若是,则将与第j个第三属性名称相同的第一属性名称对应的第一属性值,确定为第j个第二属性名称对应的第二属性值,其中,第j个第三属性名称对应第j个第二属性名称。

在一种可能实施方式中,第三获取模块103具体用于:

根据预设字符,对第一属性信息进行拆分处理,得到至少一个信息串;其中,第一属性信息中的第一属性名称和第一属性值之间设置有预设字符,第一属性信息中的一个第一属性名称或者一个第一属性值对应一个信息串。

在一种可能实施方式中,至少一个信息串的个数为N,N大于或等于1,属性列表中还包括至少一个应用标识和每个应用标识对应的至少一个第三属性名称,属性列表中的一个第三属性名称对应一个第二属性名称,至少一个应用标识的个数为M,M大于或等于1,至少一个应用标识中包括采集应用程序的目标标识。

在一种可能实施方式中,针对至少一个第二属性名称中的第j个第二属性名称,j大于或等于1且小于或等于Y,Y为至少一个第二属性名称的总个数;

第三获取模块103具体用于:

分别对N个信息串进行哈希转换处理,得到N个第一哈希值和N个第一映射关系,其中,一个信息串对应一个第一哈希值,一个第一哈希值对应一个第一映射关系;

分别对第j个第二属性名称对应的M个第三属性名称进行哈希转换处理,得到M个第二哈希值和M个第二映射关系,其中,一个第三属性名称对应的一个第二哈希值,一个第二哈希值对应一个第二映射关系;

根据N个第一哈希值、N个第一映射关系、M个第二哈希值和M个第二映射关系,在第一属性信息中获取第j个第二属性名称对应的第二属性值。

在一种可能实施方式中,第三获取模块103具体用于:

对N个第一哈希值中和M个第二哈希值进行比较处理,得到相同的第一目标值和第二目标值,其中,第一目标值为N个第一哈希值中的哈希值,第二目标值为M个第二哈希值中的哈希值;

获取第一目标值对应的第一目标映射关系与第二目标值对应的第二目标映射关系之间的映射信息;

根据映射信息,在第一属性信息中获取第二目标值对应的第三属性名称对应的第三属性值,将第三属性值确定为第j个第二属性名称对应的第二属性值,其中,第二目标值对应的第三属性名称与第j个第二属性名称对应。

在一种可能实施方式中,映射信息中包括至少一个三维坐标;第三获取模块103具体用于:

根据第二目标值对应的第三属性名称在属性列表中的第一列标识、目标标识在属性列表中的第二列标识,判断至少一个三维坐标中是否存在第一坐标,第一坐标中包括第一列标识和第二列标识;

若是,则根据第一坐标,在第一属性信息中确定第一信息串,第一信息串在第一属性信息中位置标识与第一坐标中除第一列标识和第二列标识之外的坐标值相同;将第一属性信息中的第二信息串对应的属性值确定为第二目标值对应的第三属性名称对应的第三属性值,第二信息串为第一信息串之后的第一个信息串。

在一种可能实施方式中,第一部件包括至少一个阵列卡和至少一个硬盘,其中,至少一个阵列卡中包括虚拟阵列卡,至少一个硬盘中包括虚拟硬盘。

在一种可能实施方式中,查询信息中包括第一阵列卡查询信息和服务器的厂商信息;确定模块106具体用于:

在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识为预设标识之后,将第一应用标识确定为目标标识。

在一种可能实施方式中,查询信息中还包括第二阵列卡查询信息,确定模块106还用于:

在根据第一阵列卡查询信息确定服务器中存在第一阵列卡、且根据厂商信息确定服务器的厂商标识不为预设标识之后,若根据第二阵列卡查询信息确定第一阵列卡支持第二阵列卡,则将第二应用标识确定为目标标识;若根据第二阵列卡查询信息确定第一阵列卡不支持第二阵列卡,则将第三应用标识确定为目标标识。

在一种可能实施方式中,查询信息中还包括第三阵列卡查询信息;确定模块106还用于:

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中存在第三阵列卡,则将第四应用标识确定为目标标识;

若根据第一阵列卡查询信息确定服务器中不存在第一阵列卡、且根据第三阵列卡查询信息确定服务器中不存在第三阵列卡,则将第五应用标识确定为目标标识。

在一种可能实施方式中,至少一个阵列卡中还包括第一阵列卡和/或第三阵列卡,第一阵列卡为通过硬件实现的阵列卡,第三阵列卡为通过软件实现的阵列卡。

图10为本申请实施例提供的服务器的硬件结构示意图。如图10所示,本实施例的服务器20包括:处理器201和存储器202;其中

存储器202存储计算机执行指令;

处理器201执行存储器202中存储的计算机执行指令,使得处理器201执行上述方法实施例中的各个步骤。具体可以参见前述方法实施例中的相关描述。

可选地,存储器202既可以是独立的,也可以跟处理器201集成在一起。

当存储器202独立设置时,该服务器20中还包括总线203,用于连接存储器202和处理器201。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算机执行指令被处理器执行时实现如上方法实施例中的各个步骤。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。

应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

技术分类

06120112176784