CN113157325A - 一种通过识别数据内容来定位存储设备端口的方法 - Google Patents
一种通过识别数据内容来定位存储设备端口的方法 Download PDFInfo
- Publication number
- CN113157325A CN113157325A CN202110344388.7A CN202110344388A CN113157325A CN 113157325 A CN113157325 A CN 113157325A CN 202110344388 A CN202110344388 A CN 202110344388A CN 113157325 A CN113157325 A CN 113157325A
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- protocol
- port
- identifying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000005192 partition Methods 0.000 claims abstract description 22
- 238000009434 installation Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种通过识别数据内容来定位存储设备端口的方法,其特征在于:包括以下步骤:步骤一,遍历出所有含B l ock IO协议的设备;步骤二,利用每个设备的B l ock IO协议抓取分区的数据信息;步骤三;比对识别分区数据;步骤四,利用数据比对成功的设备的Device Path协议获取该设备的Device Path Node数据;步骤五,利用Device Path Node数据回溯查找出父设备;步骤六,获取父设备的Device Path Node数据;步骤七,分析父设备的Node数据,结合硬件线路设计,定位物理上的端口位置。
Description
技术领域
本发明涉及计算机技术领域,具体为一种通过识别数据内容来定位存储设备端口的方法。
背景技术
在多存储设备系统中,往往存在主引导存储设备,从引导存储设备,扩充存储设备等,在整机系统的装配过程中,各种存储设备有指定的安装端口,安装错误会导致整个系统无法正常运转,如主引导存储设备安装错误,系统无法加载,安装调试需要指定的端口规则,后期维护管理非常繁琐,大大增加了工作时间。
发明内容
本发明就是针对现有技术存在的上述不足,提供一种通过识别数据内容来定位存储设备端口的方法,利用该技术,硬盘位随意插拔,安装方便,不易错误,后期维护也更为方便。
为实现上述目的,本发明提供如下技术方案:
一种通过识别数据内容来定位存储设备端口的方法,包括以下步骤:
步骤一,遍历出所有含Block IO协议的设备;
步骤二,获取该设备的Device Path Node数据并找出父设备;
步骤三,获取父设备的Device Path Node数据;
步骤四,分析父设备的Node数据,结合硬件线路设计,定位物理上的端口位置。
优选的:步骤二具体包括:利用每个设备的Block IO协议抓取分区的数据信息;比对识别分区数据;利用数据比对成功的设备的Device Path协议获取该设备的Device PathNode数据。
优选的:所述步骤二中,具体利用Device Path Node数据回溯查找出父设备。
优选的:所述比对数据不匹配时,则继续读取下一个设备的分区数据进行比对。
优选的:所述步骤四中,利用父设备Information协议获取设备名称信息、序列号识别码。
优选的:利用设备的Block IO协议中的ReadBlocks函数来抓取数据信息。
优选的:所述步骤三中,利用父设备的Device Path协议来获取Device Path Node数据。
与现有技术相比,本发明的有益效果是:
1、本发明利用UEFI规范提供的丰富接口资源与协议获取存储设备数据信息,容量空间信息,设备名称序列号,物理路径信息,设置标记数据等,在多存储设备系统中通过分析获取的信息数据定位出特定的存储设备的端口位置,从而管理该存储设备,在多个存储设备系统中,识别出含特定的数据内容存储设备所在的端口位置,管理该存储设备;确定不同端口上的存储设备的辨识信息,序列号,设备名等,提供数据做好资产管理。
2、本发明应用该技术之后,可以在UEFI固件启动阶段,可以根据存储设备上的数据资料,物理路径定位出那个端口是主引导设备,让UEFI固件从此端口的存储设备加载系统,这样在结构设计上也简单很多,不用设计出主,从设备的固定端口,安装调试也不需要指定的端口规则,也利于后期的维护管理。
3、本发明在常见的多硬盘设备系统中,可以利用该技术,硬盘位随意插拔,安装方便,不易错误,后期维护也更为方便。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种通过识别数据内容来定位存储设备端口的方法,其特征在于:包括以下步骤:
步骤一,遍历出所有含Block IO协议的设备;
步骤二,利用每个设备的Block IO协议中的ReadBlocks函数抓取分区的数据信息;
步骤三;比对识别分区数据;若比对数据不匹配时,则继续读取下一个设备的分区数据进行比对;
步骤四,利用数据比对成功的设备的Device Path协议获取该设备的Device PathNode数据;
步骤五,利用Device Path Node数据回溯查找出父设备;
步骤六,利用父设备的Device Path协议来获取Device Path Node数据;利用父设备Information协议获取设备名称信息、序列号识别码;
步骤七,分析父设备的Node数据,结合硬件线路设计,定位物理上的端口位置。
在本实施例中,硬盘存储设备为例分析下,存储设备的数据存储结构
硬盘可以划分为多个分区,每个分区上存储着不同的资料文件,
在UEFI Block IO的协议中可知,每一个分区都有自己的Block IO协议,
Block IO协议将块存储设备抽象化,便于块设备的数据读取与写入,
Block IO协议含如下功能:
typedef struct_EFI_BLOCK_IO_PROTOCOL{
UINT64 Revision;
EFI_BLOCK_IO_MEDIA*Media;
EFI_BLOCK_RESET Reset;
EFI_BLOCK_READ ReadBlocks;
EFI_BLOCK_WRITE WriteBlocks;
EFI_BLOCK_FLUSH FlushBlocks;
}EFI_BLOCK_IO_PROTOCOL;
例如以某硬盘为例分析,该硬盘含有四个分区,即四个Child Device,每一个Child Device都是一个分区,都含有自己的Block IO协议,我们可以通过 Block IO协议去读取分区上的存储的数据,例如读取第一个分区上前256个字节的数据;
我们通过分区的数据信息即可是识别出拥有该分区的硬盘的属性,
根据UEFI规范我们可以知道任何Device都是含有Device Path协议//******************************************************
//EFI_DEVICE_PATH_PROTOCOL
//*******************************************************
typedef struct_EFI_DEVICE_PATH_PROTOCOL{
UINT8 Type;
UINT8 SubType;
UINT8 Length[2];
}EFI_DEVICE_PATH_PROTOCOL;
Device Path是将设备的物理路径抽象化,通过分析Device Path可以获取设备的物理连接路径信息,硬盘分区也属于一个Device,必定含有Device Path的协议,分析该Child Device(分区)Path Node数据,回溯追踪Parent Device(父设备)即硬盘主体。
利用,父设备-子设备关系,回溯到父设备之后,我们进一步分析父设备的DevicePath协议,根据Device Path node数据,分析提取硬盘与主机之间的连接信息,结合硬件的电路设计,即可从整机系统中定位出硬盘在机器上的实际物理位置。
通过UEFI PI规范中可知,存储设备都有自己的Information的相关协议,例如硬盘有DiskInfo Protocol可以获取到硬盘的名称,序列号等信息;
USB存储设备有USB IO protocol可以获取到USB存储设备的名称,序列号等信息
根据上面定位出来的存储设备主体之后,我们可以调用存储设备的 information相关协议获取更多存储设备的信息,以DiskInfo Protocol为例
typedef struct_EFI_DISK_INFO_PROTOCOL{
EFI_GUID Interface;
EFI_DISK_INFO_INQUIRY Inquiry;
EFI_DISK_INFO_IDENTIFY Identify;
EFI_DISK_INFO_SENSE_DATA SenseData;
EFI_DISK_INFO_WHICH_IDE WhichIde;
}EFI_DISK_INFO_PROTOCOL;
我们通过协议中的Indentify功能,获取到设备名称,序列号,这样我们不但定位出了存储设备的端口位置,也同时获取了该硬盘的名称,序列号信息等,也有助于做存储设备的控制与资产管理工作。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种通过识别数据内容来定位存储设备端口的方法,其特征在于:包括以下步骤:
步骤一,遍历出所有含Block IO协议的设备;
步骤二,获取该设备的Device Path Node数据并找出父设备;
步骤三,获取父设备的Device Path Node数据;
步骤四,分析父设备的Node数据,结合硬件线路设计,定位物理上的端口位置。
2.如权利要求1所述的一种通过识别数据内容来定位存储设备端口的方法,其特征在于:步骤二具体包括:利用每个设备的Block IO协议抓取分区的数据信息;比对识别分区数据;利用数据比对成功的设备的Device Path协议获取该设备的Device Path Node数据。
3.如权利要求2所述的一种通过识别数据内容来定位存储设备端口的方法,其特征在于:所述步骤二中,具体利用Device Path Node数据回溯查找出父设备。
4.如权利要求2所述的一种通过识别数据内容来定位存储设备端口的方法,其特征在于:所述比对数据不匹配时,则继续读取下一个设备的分区数据进行比对。
5.如权利要求1所述的一种通过识别数据内容来定位存储设备端口的方法,其特征在于:所述步骤四中,利用父设备Information协议获取设备名称信息、序列号识别码。
6.如权利要求2所述的一种通过识别数据内容来定位存储设备端口的方法,其特征在于:利用设备的Block IO协议中的ReadBlocks函数来抓取数据信息。
7.如权利要求1所述的一种通过识别数据内容来定位存储设备端口的方法,其特征在于:所述步骤三中,利用父设备的Device Path协议来获取Device Path Node数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110344388.7A CN113157325A (zh) | 2021-03-30 | 2021-03-30 | 一种通过识别数据内容来定位存储设备端口的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110344388.7A CN113157325A (zh) | 2021-03-30 | 2021-03-30 | 一种通过识别数据内容来定位存储设备端口的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113157325A true CN113157325A (zh) | 2021-07-23 |
Family
ID=76885987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110344388.7A Pending CN113157325A (zh) | 2021-03-30 | 2021-03-30 | 一种通过识别数据内容来定位存储设备端口的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157325A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546704A (zh) * | 2013-07-02 | 2014-01-29 | Tcl集团股份有限公司 | 一种用于识别插入电视的usb设备的方法和电视 |
CN106909351A (zh) * | 2015-12-22 | 2017-06-30 | 中电科技(北京)有限公司 | 一种基于uefi固件的ext文件系统的实现方法 |
CN112035061A (zh) * | 2020-08-17 | 2020-12-04 | 鹏城实验室 | 固态硬盘资源分配方法、装置和存储介质 |
-
2021
- 2021-03-30 CN CN202110344388.7A patent/CN113157325A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546704A (zh) * | 2013-07-02 | 2014-01-29 | Tcl集团股份有限公司 | 一种用于识别插入电视的usb设备的方法和电视 |
CN106909351A (zh) * | 2015-12-22 | 2017-06-30 | 中电科技(北京)有限公司 | 一种基于uefi固件的ext文件系统的实现方法 |
CN112035061A (zh) * | 2020-08-17 | 2020-12-04 | 鹏城实验室 | 固态硬盘资源分配方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101093462B (zh) | 数据库应用集群压力测试自动化方法 | |
KR101149994B1 (ko) | 외부 메타데이터 프로세싱 방법 및 시스템 | |
US7634496B1 (en) | Techniques for managing state changes of a data storage system utilizing the object oriented paradigm | |
US8635594B1 (en) | Script language for storage management operations | |
US8230384B1 (en) | Techniques for generating and processing a schema instance | |
CN109740122A (zh) | 思维导图用例文件的转换方法及装置 | |
WO2019227641A1 (zh) | 一种应用程序测试方法、装置、终端设备及介质 | |
CN111209344A (zh) | 数据同步方法及装置 | |
CN110718264A (zh) | 测试固态硬盘信息的方法、装置、计算机设备及存储介质 | |
CN106294222A (zh) | 一种确定pcie设备与插槽对应关系的方法及装置 | |
CN110989926A (zh) | 故障磁盘槽位定位方法、装置及电子设备 | |
WO2024099449A1 (zh) | 信息获取方法、装置、存储系统、设备及介质 | |
CN112307124A (zh) | 数据库同步验证方法、装置、设备及存储介质 | |
CN113190220A (zh) | Json文件差异化对比方法及装置 | |
CN116909934B (zh) | 电子自动化设计软件的命令测试方法、装置、设备及介质 | |
CN112947896A (zh) | 一种基于有向图的组件依赖分析方法 | |
CN113157325A (zh) | 一种通过识别数据内容来定位存储设备端口的方法 | |
CN110018949B (zh) | 一种基于ipmi协议的通用日志管理方法及系统 | |
WO2023273637A1 (zh) | 一种故障检测方法及装置 | |
US11740996B2 (en) | Automatic creation of structured error logs from unstructured error logs | |
CN113868137A (zh) | 埋点数据的处理方法、装置、系统和服务器 | |
CN113612671A (zh) | 总线适配器与通道绑定配置方法、映射管理器及连接系统 | |
CN111324507B (zh) | 主控设备的业务接口监控系统及其方法 | |
CN114238232B (zh) | 一种智能电表文件读写系统、方法、设备和介质 | |
CN110489125B (zh) | 文件管理方法和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |