硬件设备的识别方法、装置、设备、介质及产品与流程

摘要: 本公开涉及计算机,特别涉及一种硬件设备的识别方法、装置、设备、介质及产品。背景技术:1、随着计算机技术的不断发展,计算机系统中可以接入多种不同类型的硬件设备,例...
硬件设备的识别方法、装置、设备、介质及产品与流程

本公开涉及计算机,特别涉及一种硬件设备的识别方法、装置、设备、介质及产品。

背景技术:

1、随着计算机技术的不断发展,计算机系统中可以接入多种不同类型的硬件设备,例如,通过快捷外设互联标准(peripheral component interconnect express,pcie)总线接入的显卡、网卡,通过通用串行总线(universal serial bus,usb)接入的键盘、鼠标、移动存储设备,通过系统管理总线(system management bus,smbus)接入的温度传感器、电源管理芯片等。

2、在对硬件设备进行识别时,通常需要获取设备的标识符(如pcie设备的vendorid/device id、usb设备的vendor id/product id等),进而根据该标识符在数据库或驱动配置文件中查找对应的设备信息,以实现设备识别和驱动加载。然而,不同类型的总线具有不同的访问方式和数据格式。例如,pcie设备通常通过读取配置空间中的特定偏移地址来获取设备标识符,usb设备则通过获取设备描述符中的字段来获取设备标识符,smbus设备则需要通过发送命令码并读取返回值的方式来获取设备标识符。不同总线之间在访问方法、数据格式、标识符结构等方面均存在显著差异。

3、在相关技术中,针对不同总线类型的设备识别通常采用独立实现的方式。例如,pcie设备识别程序、usb设备识别程序、smbus设备识别程序等往往分别开发、各自维护。上述实现方式至少存在以下问题:每种总线都需要单独编写一套设备识别逻辑,不同总线之间的识别逻辑无法复用,导致大量重复的开发工作。

技术实现思路

1、本公开提供一种硬件设备的识别方法、装置、设备、介质及产品。

2、第一方面,本公开提供了一种硬件设备的识别方法,所述方法包括:确定硬件设备所接入的总线类别;其中,所述总线类别为多种总线类别中的一种;从解析规则库中获取与所述总线类别相匹配的目标解析规则;其中,所述解析规则库用于存储所述多种总线类别对应的解析规则;根据所述目标解析规则中定义的数据获取方式,获取所述硬件设备的设备标识符;将所述总线类别以及所述设备标识符作为联合查询键,在映射数据库中查询目标数据记录,根据所述目标数据记录中存储的设备属性信息进行设备识别。

3、第二方面,本公开提供了一种硬件设备的识别装置,所述装置包括:确定模块,适于确定硬件设备所接入的总线类别;其中,所述总线类别为多种总线类别中的一种;规则获取模块,适于从解析规则库中获取与所述总线类别相匹配的目标解析规则;其中,所述解析规则库用于存储所述多种总线类别对应的解析规则;标识符获取模块,适于根据所述目标解析规则中定义的数据获取方式,获取所述硬件设备的设备标识符;识别模块,适于将所述总线类别以及所述设备标识符作为联合查询键,在映射数据库中查询目标数据记录,根据所述目标数据记录中存储的设备属性信息进行设备识别。

4、第三方面,本公开提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,其中,所述处理器被配置为执行上述的方法。

5、第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的方法。

6、第五方面,本公开提供了一种计算机程序产品,其包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述的方法。

7、在本公开所提供的实施例中,构建了与多种总线类别相对应的解析规则库以及映射数据库,不同总线类别对应的解析规则中定义的数据获取方式不同,从而能够实现多总线的兼容,便于实现硬件设备识别逻辑的通用化,有效避免为不同总线重复开发专用解析模块所带来的代码冗余问题。并且,通过构建包含总线类别的联合查询键,能够有效解决异构总线标识符之间的冲突问题,从而能够在单一映射数据库架构下,准确识别并区分多种不同总线类型的设备,显著提升设备识别框架的扩展性以及跨平台适应能力。

8、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

1.一种硬件设备的识别方法,其特征在于,包括:

2.根据权利要求1所述的方法,其中,所述解析规则中定义的数据获取方式通过底层访问原语表征,且不同总线类别对应于不同的底层访问原语;

3.根据权利要求2所述的方法,其中,所述底层访问原语包括:数据获取操作原语以及语义提取操作原语;

4.根据权利要求3所述的方法,其中,所述数据获取操作原语用于定义数据获取位置、数据获取命令、以及数据获取参数中的至少一种;其中,所述数据获取位置包括所述硬件设备的寄存器地址、内存地址、总线地址空间中的至少一种;

5.根据权利要求1-4任一所述的方法,其中,所述映射数据库中的数据记录中包含固定属性字段以及动态属性字段;其中,所述固定属性字段用于存储不随总线类别变化的通用设备属性,所述动态属性字段用于存储随总线类别变化的差异化设备属性;

6.根据权利要求5所述的方法,其中,所述映射数据库中的数据记录包括以下字段:

7.根据权利要求6所述的方法,其中,所述设备实体标识字段为逻辑设备标识符字段;其中,所述逻辑设备标识符字段用于关联同一物理设备在不同总线类别下的多个数据记录;

8.根据权利要求1-4任一所述的方法,其中,所述根据所述目标数据记录中存储的设备属性信息进行设备识别包括:

9.根据权利要求1-4任一所述的方法,其中,所述解析规则库中的每条解析规则具有优先级属性,所述优先级属性用于指示所述解析规则在与同一硬件设备相匹配的多条解析规则中的匹配优先级;

10.根据权利要求9所述的方法,其中,在所述解析规则库中存在对应于同一总线类别的多条解析规则的情况下,所述方法还包括:

11.根据权利要求1-4任一所述的方法,其中,所述解析规则库中针对相同的总线类别以及设备标识符配置有主解析规则以及备用解析规则链;

12.一种硬件设备的识别装置,其特征在于,所述装置包括:

13.一种电子设备,其特征在于,包括:

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-11中任一项所述的方法。

15.一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求1-11中任一项所述的方法。