CN114265554B - Nvme限定名映射方法、计算机设备和存储介质 - Google Patents

Nvme限定名映射方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN114265554B
CN114265554B CN202111578753.7A CN202111578753A CN114265554B CN 114265554 B CN114265554 B CN 114265554B CN 202111578753 A CN202111578753 A CN 202111578753A CN 114265554 B CN114265554 B CN 114265554B
Authority
CN
China
Prior art keywords
equipment
nvme
name
node
unique identification
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.)
Active
Application number
CN202111578753.7A
Other languages
English (en)
Other versions
CN114265554A (zh
Inventor
刘晨曦
苑忠科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111578753.7A priority Critical patent/CN114265554B/zh
Publication of CN114265554A publication Critical patent/CN114265554A/zh
Application granted granted Critical
Publication of CN114265554B publication Critical patent/CN114265554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种NVME限定名在存储***中的映射方法、计算机设备及存储介质。所述方法包括:根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息;获取NVME设备的设备NVME限定名;将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称;将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间。本方法将占用字节较多的NVME限定名映射为字节较少的全局节点名,不但减少内存字节占用,提高***运行效率,同时又不会丢失精度,不会产生其在存储***中的冲突,保证唯一性。

Description

NVME限定名映射方法、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种NVME限定名在存储***中的映射方法、计算机设备和存储介质。
背景技术
随着数据时代的到来,大数据、海量存储的需求越来越大,范围越来越广,人们对存储的处理速度,响应时间的要求也越来越高。固态硬盘由于其介质特点,相比传统的机械硬盘,拥有读写速度快,抗摔性能强,数据不易丢失,噪音低、功耗小的优势。而承载NVME(Non Volatile Memory Express,非易失存储器接口规范)协议的固态硬盘拥有的上述优势更为明显。与此同时,对存储的空间利用要求也越来愈高,在单位存储空间上存储的信息越多,存储的成本也就越低。
NVME协议规定NQN(NVMe Qualified Names,NVME限定名)作为该承载NVME协议的设备(NVME设备,比如一块硬盘)的唯一标识,用于主机或者NVME子***的识别和认证。并且NVME协议规定NQN的长度是232个字节。也就是说,连接在一个存储***中的每一个NVME设备都需要占用232个字节来保存它的唯一标识,该标识用于该存储***以及连接该存储***的主机来识别。而且一个存储***所连接的存储设备,比如硬盘,常常多达几十上百,如果每一个设备都需要232字节来标识自身,那么,对于存储***来说,这种内存消耗是极其惊人、并且是不可容忍的,另外由此引发的效率问题也是不能忽视的。
当前多数NQN的转换设计都是基于哈希函数,将232个字节的NQN通过哈希函数转换成***可以容忍的长度的识别标识符,将一个大的长度转换成小的长度,无论使用何种哈希算法,都存在丢失精度的风险,即转换后的标识符有冲突的风险,一旦冲突产生,即存在在一个存储***中有两个或多个相同标识的设备,它们无法唯一标识自身,使存储***产生bug或者增加额外的处理逻辑来规避。
发明内容
基于此,有必要针对上述技术问题,提供一种NVME限定名在存储***中的映射方法、计算机设备和存储介质,将占用字节较多的NVME限定名映射为字节较少的全局节点名,不但减少内存字节占用,提高***运行效率,同时又不会丢失精度,不会产生其在存储***中的冲突,保证唯一性。
一方面,提供一种NVME限定名在存储***中的映射方法,所述方法包括:
根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息,所述设备多维度信息包括设备索引、绑定计数、设备NVME限定名和设备节点唯一标识名称,所述可接入的设备包括NVME设备,所述绑定计数用于标识对应的设备索引是否被占用,所述设备NVME限定名长度为232个字节,所述设备节点唯一标识名称长度为8个字节;
获取NVME设备的设备NVME限定名;
将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称;
将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间。
在其中一个实施例中,所述将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称,包括:
根据绑定计数确定未被占用的设备索引;
根据预设规则计算NVME设备的设备节点唯一标识名称,
将所述未被占用的设备索引中一个、所述设备NVME限定名、设备节点唯一标识名称进行关联。
在其中一个实施例中,方法还包括:
根据预设规则进行编码,得到N个设备节点唯一标识名称,并确定设备节点唯一标识名称起始值;
将所述N个设备节点唯一标识名称与N个设备索引一一对应。
在其中一个实施例中,设备节点唯一标识名称采用十六进制表示,包括节点唯一标识名称格式字段、厂商组织唯一标识符字段、产品唯一标识符字段、用于区分真实编码的编码标识字段、伪编码唯一编码字段,且上述字段高位至低位依次排列。
在其中一个实施例中,根据预设规则计算NVME设备的设备节点唯一标识名称,包括:
遍历设备多维度信息,
判断是否存在绑定计数未被占用的设备索引;
若是,则获取第一个绑定计数无效的设备索引;
根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称。
在其中一个实施例中,所述方法还包括:
将所述第一个绑定计数无效的设备索引对应的绑定计数修改为占用。
在其中一个实施例中,所述方法还包括:
将所述设备节点唯一标识名称存储至登录对象,在获取设备节点唯一标识名称时可以直接从登录对象中获取。
在其中一个实施例中,所述方法还包括:
当需要获取设备NVME限定名时,根据所述登录对象的设备索引,从第一存储空间中查询获取所述设备NVME限定名。
另一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息,所述设备多维度信息包括设备索引、绑定计数、设备NVME限定名和设备节点唯一标识名称,所述可接入的设备包括NVME设备,所述绑定计数用于标识对应的设备索引是否被占用,所述设备NVME限定名长度为232个字节,所述设备节点唯一标识名称长度为8个字节;
获取NVME设备的设备NVME限定名;
将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称;
将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
根据绑定计数确定未被占用的设备索引;
根据预设规则计算NVME设备的设备节点唯一标识名称,
将所述未被占用的设备索引中一个、所述设备NVME限定名、设备节点唯一标识名称进行关联。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
根据预设规则进行编码,得到N个设备节点唯一标识名称,并确定设备节点唯一标识名称起始值;
将所述N个设备节点唯一标识名称与N个设备索引一一对应。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
设备节点唯一标识名称采用十六进制表示,包括节点唯一标识名称格式字段、厂商组织唯一标识符字段、产品唯一标识符字段、用于区分真实编码的编码标识字段、伪编码唯一编码字段,且上述字段高位至低位依次排列。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
遍历设备多维度信息;
判断是否存在绑定计数未被占用的设备索引;
若是,则获取第一个绑定计数无效的设备索引;
根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
将所述第一个绑定计数无效的设备索引对应的绑定计数修改为占用。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
将所述设备节点唯一标识名称存储至登录对象,在获取设备节点唯一标识名称时可以直接从登录对象中获取。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
当需要获取设备NVME限定名时,根据所述登录对象的设备索引,从第一存储空间中查询获取所述设备NVME限定名。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息,所述设备多维度信息包括设备索引、绑定计数、设备NVME限定名和设备节点唯一标识名称,所述可接入的设备包括NVME设备,所述绑定计数用于标识对应的设备索引是否被占用,所述设备NVME限定名长度为232个字节,所述设备节点唯一标识名称长度为8个字节;
获取NVME设备的设备NVME限定名;
将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称;
将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
根据绑定计数确定未被占用的设备索引;
根据预设规则计算NVME设备的设备节点唯一标识名称,
将所述未被占用的设备索引中一个、所述设备NVME限定名、设备节点唯一标识名称进行关联。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
根据预设规则进行编码,得到N个设备节点唯一标识名称,并确定设备节点唯一标识名称起始值;
将所述N个设备节点唯一标识名称与N个设备索引一一对应。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
设备节点唯一标识名称采用十六进制表示,包括节点唯一标识名称格式字段、厂商组织唯一标识符字段、产品唯一标识符字段、用于区分真实编码的编码标识字段、伪编码唯一编码字段,且上述字段高位至低位依次排列。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
遍历设备多维度信息;
判断是否存在绑定计数未被占用的设备索引;
若是,则获取第一个绑定计数无效的设备索引;
根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
将所述第一个绑定计数无效的设备索引对应的绑定计数修改为占用。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
将所述设备节点唯一标识名称存储至登录对象,在获取设备节点唯一标识名称时可以直接从登录对象中获取。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
当需要获取设备NVME限定名时,根据所述登录对象的设备索引,从第一存储空间中查询获取所述设备NVME限定名。
上述NVME限定名在存储***中的映射方法、计算机设备和存储介质,将232字节映射到8字节上,不但减少内存字节占用,提高***运行效率,同时又不会丢失精度,不会产生其在存储***中的冲突,保证唯一性。
附图说明
图1为本发明的NVME限定名在存储***中的映射方法的流程示意图;
图2为本发明的在存储***中生成全局节点名的方法流程示意图;
图3为本发明的查询NVME限定名的方法流程示意图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种NVME限定名在存储***中的映射方法,包括以下步骤:
步骤S1:根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息。
其中,所述设备多维度信息包括设备索引、绑定计数、设备NVME限定名和设备节点唯一标识名称,所述可接入的设备包括NVME设备,所述绑定计数用于标识对应的设备索引是否被占用,所述设备NVME限定名长度为232个字节,所述设备节点唯一标识名称长度为8个字节。
存储***中连接的设备不止有NVME盘,还包括机箱、主机、集群间结点、异构存储***等,login对象作为一个通用结构在存储***内对这些接入设备进行抽象,每一个login对象都有一个WWNN,作为唯一标识,在***内标识自己。因此在存储***中,需要把NQN映射到WWNN上。
具体的,存储***驱动平台初始化时,申请可接入NVME设备的规格数目的NNM对象空间用于保存MVME fake WWNN(World Wide Node Name)信息,保存内容包括该对象实例的设备索引reference index、绑定计数valid、设备NVME限定名NQN、设备节点唯一标识名称WWNN等信息。
上述NVME限定名在存储***中的映射方法,将占用字节较多的NVME限定名映射为字节较少的全局节点名,不但减少内存字节占用,提高***运行效率,同时又不会丢失精度,不会产生其在存储***中的冲突,保证唯一性。
步骤S2:获取NVME设备的设备NVME限定名。
具体的,NVME协议中对于NQN的格式是按照如下规则指定的:
1、以“nqn.”开头。
2、后面跟“yyyy-mm.”格式的时间日期。
3、授权该NQN的域名
4、域名所有者分配的以“:”开头的一串字符,并且域名所有者保证该NQN是全球唯一的。
例如,一个“Example NVMe,Inc”公司授权的NQN可以是如下:
nqn.2014-08.com.example:nvme.host.sys.xyz
根据上述命名规则,可以看出,NVME协议返回的标准NQN是全球唯一的,但是对于单一存储***来说,只要一台NVME设备在它所连接的存储***内是唯一即可,不需要牺牲字节长度来保证全球唯一性。基于以上共识,可以在存储***内部以软件形式对NQN进行重新映射,将其映射到更少的字节,也足够可以保证唯一性。
步骤S3:将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称。
具体的,根据步骤S1获取的NQN,可以将其应为字节更少的全局节点名,并建立映射关系表,该映射关系包括映射前的NQN和映射后的全局节点名WWNN(World Wide NodeName)。
在其中一个实施例中,步骤S3包括:
步骤S31:根据绑定计数确定未被占用的设备索引;
步骤S32:根据预设规则计算NVME设备的设备节点唯一标识名称;
具体的,根据预设规则进行编码,得到N个设备节点唯一标识名称,并确定设备节点唯一标识名称起始值;
将所述N个设备节点唯一标识名称与N个设备索引一一对应。
其中,设备节点唯一标识名称采用十六进制表示,包括节点唯一标识名称格式字段、厂商组织唯一标识符字段、产品唯一标识符字段、用于区分真实编码的编码标识字段、伪编码唯一编码字段,且上述字段高位至低位依次排列。
具体地,根据存储***当前对于各类设备的支持接入数量规格,综合考虑业务未来的扩展性、***的冗余性和一定数量的预留字节数,设定全局节点名WWNN的长度为8byte,即64位二进制数。
其中,WWNN的编码规范如下(以h结尾表示按照十六进制表示):
60-63位为WWNN格式标识字段,固定为5h;36-59位为厂商OUI,用于保证不同厂商编码唯一性,填充4c9dafh;24-35位为产品PUI,用于保证同一厂商不同产品编码唯一,填充存储***的平台编号;20-23位为存储***的fake编码标识,用于与真实编码区分,填充为fh;0-19位为fake编码唯一编码区域,使用a0000h-bffffh用于NVME fake WWNN。综上,NVMEfake WWNN的起始值(BASE_WWNN)为54c9dafddcfa0000h,如下表所示:
在其中一个实施例中,根据步骤S32包括:
步骤S321:遍历设备多维度信息,
步骤S322:判断是否存在绑定计数未被占用的设备索引;
若是,则获取第一个绑定计数无效的设备索引;
步骤S323:根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称。
步骤S33:将所述未被占用的设备索引中一个、所述设备NVME限定名、设备节点唯一标识名称进行关联。
若否,则将设备节点唯一标识名称起始值作为所述NVME设备的设备节点唯一标识名称。
具体的,如图2所示,NVME连接管理模块在完成连接初始化后、上报登录事件前,将NVME协议返回的设备的NQN映射为存储***内的fake WWNN,保存到登录对象中:遍历NNM对象范围,判断该NQN是否存在绑定计数valid不为零的NNM对象,获取第一个绑定计数valid无效的NNM对象,并累加其绑定计数valid;根据NNM对象索引index计算出WWNN(BASE_WWNN+index)保存到登录对象login中,由于NQN占用的空间较大,所以登录对象login中不保存。
步骤S4:将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间。
在其中一个实施例中,所述方法还包括:
步骤S41:将所述第一个绑定计数无效的设备索引对应的绑定计数修改为占用。
例如,存储***中连接的设备为6,则申请6个NNM对象空间用于保存多维度信息,包括索引index、valid计数、WWNN、NQN,如下设备信息
表1:
当所述设备是第1个设备时,将设备节点唯一标识名称起始值作为所述NVME设备的设备节点唯一标识名称,设备信息表更新为下表2:
index valid WWNN NQN
0 1 54c9dafddcfa0000 nqn.2014-08.com.example:nvme.host.sys.xyz
1
2
3
4
5
当所述设备是第2个设备时,根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称,WWNN=BASE_WWNN+index,即54c9dafddcfa0000+1,设备信息表更新为下表3:
index valid WWNN NQN
0 1 54c9dafddcfa0000 nqn.2014-08.com.example:nvme.host.sys.xyz
1 2 54c9dafddcfa0001 nqn.2014-09.com.example:nvme.host.sys.xyz
2
3
4
5
其他设备则类似。
在其中一个实施例中,所述方法还包括:
步骤S5:将所述设备节点唯一标识名称存储至登录对象,在获取设备节点唯一标识名称时可以直接从登录对象中获取。
在其中一个实施例中,所述方法还包括:
步骤S6:当需要获取设备NVME限定名时,根据所述登录对象的设备索引,从第一存储空间中查询获取所述设备NVME限定名。
具体的,如图3所示,业务模块在获取登录对象login的NVME fake WWNN时可以直接从登录对象login中获取。如果有获取NQN的需求,则使用该WWNN的登录对象login的索引index,从NNM对象中获取NQN即可。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储NVME限定名在存储***中的映射数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种NVME限定名在存储***中的映射方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息,所述设备多维度信息包括设备索引、绑定计数、设备NVME限定名和设备节点唯一标识名称,所述可接入的设备包括NVME设备,所述绑定计数用于标识对应的设备索引是否被占用,所述设备NVME限定名长度为232个字节,所述设备节点唯一标识名称长度为8个字节;
获取NVME设备的设备NVME限定名;
将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称;
将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间。
在其中一个实施例中,处理器执行所述计算机程序时实现以下步骤:
根据绑定计数确定未被占用的设备索引;
根据预设规则计算NVME设备的设备节点唯一标识名称,
将所述未被占用的设备索引中一个、所述设备NVME限定名、设备节点唯一标识名称进行关联。
在其中一个实施例中,处理器执行所述计算机程序时实现以下步骤:
根据预设规则进行编码,得到N个设备节点唯一标识名称,并确定设备节点唯一标识名称起始值;
将所述N个设备节点唯一标识名称与N个设备索引一一对应。
在其中一个实施例中,处理器执行所述计算机程序时实现以下步骤:
设备节点唯一标识名称采用十六进制表示,包括节点唯一标识名称格式字段、厂商组织唯一标识符字段、产品唯一标识符字段、用于区分真实编码的编码标识字段、伪编码唯一编码字段,且上述字段高位至低位依次排列。
在其中一个实施例中,处理器执行所述计算机程序时实现以下步骤:
遍历设备多维度信息;
判断是否存在绑定计数未被占用的设备索引;
若是,则获取第一个绑定计数无效的设备索引;
根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称。
在其中一个实施例中,处理器执行所述计算机程序时实现以下步骤:
将所述第一个绑定计数无效的设备索引对应的绑定计数修改为占用。
在其中一个实施例中,处理器执行所述计算机程序时实现以下步骤:
将所述设备节点唯一标识名称存储至登录对象,在获取设备节点唯一标识名称时可以直接从登录对象中获取。
在其中一个实施例中,处理器执行所述计算机程序时实现以下步骤:
当需要获取设备NVME限定名时,根据所述登录对象的设备索引,从第一存储空间中查询获取所述设备NVME限定名。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息,所述设备多维度信息包括设备索引、绑定计数、设备NVME限定名和设备节点唯一标识名称,所述可接入的设备包括NVME设备,所述绑定计数用于标识对应的设备索引是否被占用,所述设备NVME限定名长度为232个字节,所述设备节点唯一标识名称长度为8个字节;
获取NVME设备的设备NVME限定名;
将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称;
将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
根据绑定计数确定未被占用的设备索引;
根据预设规则计算NVME设备的设备节点唯一标识名称,
将所述未被占用的设备索引中一个、所述设备NVME限定名、设备节点唯一标识名称进行关联。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
根据预设规则进行编码,得到N个设备节点唯一标识名称,并确定设备节点唯一标识名称起始值;
将所述N个设备节点唯一标识名称与N个设备索引一一对应。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
设备节点唯一标识名称采用十六进制表示,包括节点唯一标识名称格式字段、厂商组织唯一标识符字段、产品唯一标识符字段、用于区分真实编码的编码标识字段、伪编码唯一编码字段,且上述字段高位至低位依次排列。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
遍历设备多维度信息,
判断是否存在绑定计数未被占用的设备索引;
若是,则获取第一个绑定计数无效的设备索引;
根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
将所述第一个绑定计数无效的设备索引对应的绑定计数修改为占用。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
将所述设备节点唯一标识名称存储至登录对象,在获取设备节点唯一标识名称时可以直接从登录对象中获取。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:
当需要获取设备NVME限定名时,根据所述登录对象的设备索引,从第一存储空间中查询获取所述设备NVME限定名。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种NVME限定名在存储***中的映射方法,其特征在于,所述方法包括:
根据存储***可接入的设备的数量N申请第一存储空间用于存储设备多维度信息,所述设备多维度信息包括设备索引、绑定计数、设备NVME限定名和设备节点唯一标识名称,所述可接入的设备包括NVME设备,所述绑定计数用于标识对应的设备索引是否被占用,所述设备NVME限定名长度为232个字节,所述设备节点唯一标识名称长度为8个字节;
获取NVME设备的设备NVME限定名;
将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称;
将所述设备NVME限定名、设备节点唯一标识名称、设备索引对应存储至第一存储空间;
其中,所述将所述设备NVME限定名映射为存储***中的设备节点唯一标识名称,包括:
根据绑定计数确定未被占用的设备索引;
根据预设规则计算NVME设备的设备节点唯一标识名称,
将所述未被占用的设备索引中一个、所述设备NVME限定名、设备节点唯一标识名称进行关联;
所述映射方法还包括:
根据预设规则进行编码,得到N个设备节点唯一标识名称,并确定设备节点唯一标识名称起始值;
将所述N个设备节点唯一标识名称与N个设备索引一一对应;
根据预设规则计算NVME设备的设备节点唯一标识名称,包括:
遍历设备多维度信息;
判断是否存在绑定计数未被占用的设备索引;
若是,则获取第一个绑定计数无效的设备索引;
根据设备节点唯一标识名称起始值以及所述第一个绑定计数无效的设备索引计算得到所述NVME设备的设备节点唯一标识名称。
2.如权利要求1所述的方法,其特征在于,设备节点唯一标识名称采用十六进制表示,包括节点唯一标识名称格式字段、厂商组织唯一标识符字段、产品唯一标识符字段、用于区分真实编码的编码标识字段、伪编码唯一编码字段,且上述字段高位至低位依次排列。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一个绑定计数无效的设备索引对应的绑定计数修改为占用。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述设备节点唯一标识名称存储至登录对象,在获取设备节点唯一标识名称时可以直接从登录对象中获取。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
当需要获取设备NVME限定名时,根据所述登录对象的设备索引,从第一存储空间中查询获取所述设备NVME限定名。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202111578753.7A 2021-12-22 2021-12-22 Nvme限定名映射方法、计算机设备和存储介质 Active CN114265554B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111578753.7A CN114265554B (zh) 2021-12-22 2021-12-22 Nvme限定名映射方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111578753.7A CN114265554B (zh) 2021-12-22 2021-12-22 Nvme限定名映射方法、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114265554A CN114265554A (zh) 2022-04-01
CN114265554B true CN114265554B (zh) 2023-08-15

Family

ID=80828625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111578753.7A Active CN114265554B (zh) 2021-12-22 2021-12-22 Nvme限定名映射方法、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114265554B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176972B1 (en) * 2012-12-17 2015-11-03 Emc Corporation Implied M83 names in alternate name generation in directories supporting multiple naming protocols
CN108984420A (zh) * 2017-05-31 2018-12-11 希捷科技有限公司 管理非易失性存储器(nvm)中的多个名称空间
CN109412830A (zh) * 2018-09-05 2019-03-01 广州视源电子科技股份有限公司 网卡名固化的方法、装置、计算机设备和存储介质
CN112507319A (zh) * 2020-11-23 2021-03-16 济南华芯算古信息科技有限公司 一种NVMe-oF存储***的数据安全保护方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176972B1 (en) * 2012-12-17 2015-11-03 Emc Corporation Implied M83 names in alternate name generation in directories supporting multiple naming protocols
CN108984420A (zh) * 2017-05-31 2018-12-11 希捷科技有限公司 管理非易失性存储器(nvm)中的多个名称空间
CN109412830A (zh) * 2018-09-05 2019-03-01 广州视源电子科技股份有限公司 网卡名固化的方法、装置、计算机设备和存储介质
CN112507319A (zh) * 2020-11-23 2021-03-16 济南华芯算古信息科技有限公司 一种NVMe-oF存储***的数据安全保护方法及装置

Also Published As

Publication number Publication date
CN114265554A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
US10152501B2 (en) Rollover strategies in a n-bit dictionary compressed column store
JP5890629B2 (ja) データセンター顧客費用決定メカニズム
CN112860592B (zh) 基于链表的数据缓存方法、装置、电子设备和存储介质
CN106776795B (zh) 基于Hbase数据库的数据写入方法及装置
US10846338B2 (en) Data processing device, data processing method, and non-transitory computer readable medium
CN107784073B (zh) 一种本地缓存的数据查询方法、存储介质和服务器
KR102316271B1 (ko) 데이터 저장장치의 주소 맵핑 테이블 운용 방법
CN115470156A (zh) 基于rdma的内存使用方法、***、电子设备和存储介质
CN114265554B (zh) Nvme限定名映射方法、计算机设备和存储介质
CN112380004B (zh) 内存管理方法、装置、计算机可读存储介质及电子设备
CN114238334A (zh) 异构数据编码、解码方法和装置、计算机设备和存储介质
CN110825521B (zh) 一种内存使用管理方法、装置及存储介质
CN115712581A (zh) 数据访问方法、存储***及存储节点
JP2014524210A (ja) 可変長ノンスの生成
US20100169322A1 (en) Efficient access of bitmap array with huge usage variance along linear fashion, using pointers
US20160299820A1 (en) Processing method, device and system for data of distributed storage system
CN113811019B (zh) 一种终端身份标识与IPv6地址映射方法及装置
CN113411395B (zh) 访问请求路由方法、装置、计算机设备和存储介质
US11928134B1 (en) Medoid-based data compression
CN113656411B (zh) 用于图数据入库的方法及其装置
CN112364031B (zh) 一种基于可信账本数据库的业务衍生记录存储方法
KR20190123819A (ko) 데이터 저장장치의 주소 맵핑 테이블 운용 방법
CN115002078B (zh) 一种id生成方法及装置
CN113448958B (zh) 数据处理方法和装置、电子设备、存储介质
CN116755845B (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
GR01 Patent grant
GR01 Patent grant