[发明专利]一种基于Linux的存储设备树实现方法有效
申请号: | 201811551918.X | 申请日: | 2018-12-18 |
公开(公告)号: | CN109683820B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 毛可绪;陈乃阔;刘毅枫;巩玉旺 | 申请(专利权)人: | 超越科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 刘雪萍 |
地址: | 250101 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 存储 设备 实现 方法 | ||
本发明提供一种基于Linux的存储设备树实现方法,包括如下步骤:S1.获取设备信息;S2.根据获取的设备信息生成设备树的类封装;S3.处理设备树中父节点与子节点之间的关系;S4.处理设备树中兄弟节点之间的关系;S5.根据设备树,对设备树中节点进行管理。本发明利用内核的接口构建新的设备树,实现对设备节点的操作,整体上对设备进行管理,并且可以及时的反应设备的状态变化。
技术领域
本发明属于Linux设备管理领域,具体涉及一种基于Linux的存储设备树实现方法。
背景技术
近年来,在Linux领域的存储设备管理越来越重要,包括很多存储管理方面,甚至虚拟化管理都离不开设备的管理,虽然当然,内核提供了设备树的功能,用户层也提供了相应的命令,但是在编程当中应用都不方便,给编程带来了麻烦,比如lsblk命令,这一个命令就存在不能及时反应设备状态的问题。针对当前的实际情况,急需基于linux内核提供信息的新的设备树。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于Linux的存储设备树实现方法,是非常有必要的。
发明内容
本发明的目的在于,针对上述内核提供的设备树的功能在编程当中应用不方便,针对当前的实际情况,急需基于linux内核提供信息的新的设备树的缺陷,提供一种基于Linux的存储设备树实现方法,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种基于Linux的存储设备树实现方法,包括如下步骤:
S1.获取设备信息;
S2.根据获取的设备信息生成设备树的类封装;
S3.处理设备树中父节点与子节点之间的关系;
S4.处理设备树中兄弟节点之间的关系;
S5.根据设备树,对设备树中节点进行管理。
进一步地,步骤S1中通过udevlib获取设备信息。
进一步地,步骤S2具体步骤如下:
S21.获取设备信息中的所有磁盘;
S22.获取每个磁盘的名称;
S23.获取磁盘的识别码UUID的映射;
S24.根据磁盘的设备码UUID判断磁盘的类型。
进一步地,所述磁盘名称包括磁盘的卷组名称的映射和磁盘逻辑卷名称的映射。
进一步地,步骤S24具体步骤如下:
S241.根据磁盘的识别码UUID获取磁盘的域;所述磁盘的域为一数组;
S242.判断磁盘域的数组中是否有逻辑卷;
S243.若是,判断磁盘域的数组长度是否为3;
若是,磁盘类型为逻辑卷;
若否,磁盘类型为逻辑卷组;
S244.若否,判断磁盘类型是否为磁盘映射;
若否,则磁盘类型为物理硬盘。
进一步地,步骤S3具体步骤如下:
S31.获取设备信息中的所有磁盘节点;
S32.定位一个磁盘节点,并设定为第一磁盘节点;
S33.判断第一磁盘节点类型是否为磁盘或分区;
S34.若是,根据路径获取以第一磁盘节点作为从属的父节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超越科技股份有限公司,未经超越科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811551918.X/2.html,转载请声明来源钻瓜专利网。