CN105183390B - 数据访问方法及装置 - Google Patents

数据访问方法及装置 Download PDF

Info

Publication number
CN105183390B
CN105183390B CN201510595408.2A CN201510595408A CN105183390B CN 105183390 B CN105183390 B CN 105183390B CN 201510595408 A CN201510595408 A CN 201510595408A CN 105183390 B CN105183390 B CN 105183390B
Authority
CN
China
Prior art keywords
lun
logical unit
unit number
mark
virtual
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
CN201510595408.2A
Other languages
English (en)
Other versions
CN105183390A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201510595408.2A priority Critical patent/CN105183390B/zh
Publication of CN105183390A publication Critical patent/CN105183390A/zh
Application granted granted Critical
Publication of CN105183390B publication Critical patent/CN105183390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种数据访问方法及装置,属于虚拟机技术领域。所述方法包括:接收数据访问设备发送的数据访问请求,所述数据访问请求至少携带目标逻辑单元地址,所述目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUN ID;基于所述PE ID和所述虚拟LUN ID,确定所述目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID;基于所述设备LUN ID,对目标逻辑单元进行数据访问。本发明通过目标逻辑单元地址包括的PE ID和虚拟LUN ID,确定目标逻辑单元地址在存储设备中对应的设备LUN ID,从而该存储设备无需存储多个对应关系,节省了存储设备的存储空间,同时也减小了确定设备LUN ID的时间,提高了数据访问的速率。

Description

数据访问方法及装置
技术领域
本发明涉及虚拟机技术领域,特别涉及一种数据访问方法及装置。
背景技术
随着虚拟机技术的快速发展,虚拟机的使用越来越广泛,这些虚拟机可以安装在多个数据访问设备上,且该数据访问设备可以为终端、服务器等,当虚拟机安装在数据访问设备上时,该数据访问设备对应的存储设备可以为该虚拟机提供一定的存储空间,该存储空间包括多个逻辑单元,每个逻辑单元均对应一个LUN(Logical Unit Number,逻辑单元号),且每个逻辑单元可用于存储文档、图像、音视频等数据。另外,该存储设备还可以基于每个逻辑单元的LUN,生成地址格式的设备LUN ID(Logical Unit Number Identity,逻辑单元号标识),并将设备LUN ID上报给该数据访问设备,之后,该数据访问设备可以通过逻辑单元的设备LUN ID,对该逻辑单元进行数据访问。
目前,由于大部分数据访问设备只支持256规格的设备LUN ID,当设备LUN ID大于256时,数据访问设备无法基于设备LUN ID对逻辑单元进行数据访问,因此,存储设备需要将多个设备LUN ID映射成多个主机LUN ID,该设备LUN ID与该主机LUN ID一一对应,且每个主机LUN ID均小于256,也即是,建立该多个主机LUN ID与设备LUN ID之间的对应关系,同时该多个主机LUN ID分别对应一个PE ID(Protocol Endpoint Identity,协议端点标识),进而可以建立该多个主机LUN ID与PE ID之间的对应关系,该PE ID可作为数据访问设备与存储设备之间的数据通道。之后,当数据访问设备进行数据访问时,该数据访问设备可以向存储设备发送数据访问请求,该数据访问请求中携带目标PE ID,当该存储设备接收到该数据访问请求时,该存储设备可以基于目标PE ID,从PE ID与主机LUN ID之间的对应关系中,获取对应的主机LUN ID,并基于该主机LUN ID,从多个主机LUN ID与设备LUN ID之间的对应关系,获取对应的设备LUN ID,基于该设备LUN ID进行数据访问。
当逻辑单元的数量较多时,设备LUN ID的数量也就较多,从而主机LUN ID与设备LUN ID之间的对应关系所占用的存储空间也就越大,同时PE ID与主机LUN ID之间的对应关系所占用的存储空间也就越大,相应地,当存储设备基于目标PE ID,确定对应的设备LUNID时,消耗的时间也较长,从而降低了数据访问的速率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据访问方法及装置。所述技术方案如下:
第一方面,提供了一种数据访问方法,所述方法包括:
接收数据访问设备发送的数据访问请求,所述数据访问请求至少携带目标逻辑单元地址,所述目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUN ID;
基于所述PE ID和所述虚拟LUN ID,确定所述目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID;
基于所述设备LUN ID,对目标逻辑单元进行数据访问。
结合第一方面,在上述第一方面的第一种可能的实现方式中,基于所述PEID和所述虚拟LUN ID,确定所述目标逻辑单元地址在存储设备中对应的设备LUN ID,包括:
判断所述虚拟LUN ID是否合法;
当所述虚拟LUN ID不合法时,将所述PE ID确定为所述设备LUN ID。
结合第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,判断所述虚拟LUN ID是否合法之后,还包括:
当所述虚拟LUN ID合法时,基于所述虚拟LUN ID,判断所述PE ID和所述虚拟LUNID之间是否已绑定;
当所述PE ID和所述虚拟LUN ID之间已绑定时,将所述PE ID和所述虚拟LUN ID确定为所述设备LUN ID。
结合第一方面的第二种可能的实现方式,在上述第一方面的第三种可能的实现方式中,基于所述虚拟LUN ID,判断所述PE ID和所述虚拟LUN ID之间是否已绑定,包括:
基于所述虚拟LUN ID,确定所述虚拟LUN ID的索引;
基于所述虚拟LUN ID的索引,判断所述PE ID和所述虚拟LUN ID之间是否已绑定。
结合第一方面的第三种可能的实现方式,在上述第一方面的第四种可能的实现方式中,基于所述虚拟LUN ID的索引,判断所述PE ID和所述虚拟LUN ID之间是否已绑定,包括:
基于所述虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;
当所述绑定数值为第一数值时,确定所述PE ID和所述虚拟LUN ID之间未绑定;
当所述绑定数值为第二数值时,确定所述PE ID和所述虚拟LUN ID之间已绑定。
结合第一方面至第一方面第四种可能的实现方式中的任一种可能的实现方式,在上述第一方面的第五种可能的实现方式中,基于所述PE ID和所述虚拟LUN ID,确定所述目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID之前,还包括:
确定所述存储设备包括的多个逻辑单元对应的多个设备LUN ID的索引,以及确定所述多个设备LUN ID的绑定数值;
将所述多个设备LUN ID的索引和所述多个设备LUN ID的绑定数值,存储在索引与绑定数值之间的对应关系中。
第二方面,提供了一种数据访问装置,所述装置包括:
接收模块,用于接收数据访问设备发送的数据访问请求,所述数据访问请求至少携带目标逻辑单元地址,所述目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUN ID;
第一确定模块,用于基于所述PE ID和所述虚拟LUN ID,确定所述目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID;
访问模块,用于基于所述设备LUN ID,对目标逻辑单元进行数据访问。
结合第二方面,在上述第二方面的第一种可能的实现方式中,所述第一确定模块包括:
第一判断单元,用于判断所述虚拟LUN ID是否合法;
第一确定单元,用于当所述虚拟LUN ID不合法时,将所述PE ID确定为所述设备LUN ID。
结合第二方面的第一种可能的实现方式,在上述第二方面的第二种可能的实现方式中,所述第一确定模块还包括:
第二判断单元,用于当所述虚拟LUN ID合法时,基于所述虚拟LUN ID,判断所述PEID和所述虚拟LUN ID之间是否已绑定;
第二确定单元,用于当所述PE ID和所述虚拟LUN ID之间已绑定时,将所述PE ID和所述虚拟LUN ID确定为所述设备LUN ID。
结合第二方面的第二种可能的实现方式,在上述第二方面的第三种可能的实现方式中,所述第二判断单元包括:
确定子单元,用于基于所述虚拟LUN ID,确定所述虚拟LUN ID的索引;
判断子单元,用于基于所述虚拟LUN ID的索引,判断所述PE ID和所述虚拟LUN ID之间是否已绑定。
结合第二方面的第三种可能的实现方式,在上述第二方面的第四种可能的实现方式中,所述判断子单元,具体用于:
基于所述虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;
当所述绑定数值为第一数值时,确定所述PE ID和所述虚拟LUN ID之间未绑定;
当所述绑定数值为第二数值时,确定所述PE ID和所述虚拟LUN ID之间已绑定。
结合第二方面至第二方面第四种可能的实现方式中的任一种可能的实现方式,在上述第二方面的第五种可能的实现方式中,所述装置还包括:
第二确定模块,用于确定所述存储设备包括的多个逻辑单元对应的多个设备LUNID的索引,以及确定所述多个设备LUN ID的绑定数值;
存储模块,用于将所述多个设备LUN ID的索引和所述多个设备LUN ID的绑定数值,存储在索引与绑定数值之间的对应关系中。
本发明实施例提供的技术方案带来的有益效果是:
在本发明实施例中,该存储设备接收数据访问设备发送的数据访问请求,该数据访问请求携带目标逻辑单元地址,且该目标逻辑单元地址包括PE ID和虚拟LUN ID,从而存储设备基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID,之后,基于确定的设备LUN ID,对目标逻辑单元进行数据访问,从而该存储设备无需存储主机LUN ID与设备LUN ID之间的对应关系,以及PE ID与主机LUN ID组之间的对应关系,节省了存储设备的存储空间,同时也减小了确定设备LUN ID的时间,提高了数据访问的速率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的提供的一种数据访问方法流程图;
图2是本发明实施例的提供的另一种数据访问方法流程图;
图3是本发明实施例的提供的一种数据访问装置结构示意图;
图4是本发明实施例的提供的一种第一确定模块结构示意图;
图5是本发明实施例的提供的另一种第一确定模块装置结构示意图;
图6是本发明实施例的提供的一种第二判断单元装置结构示意图;
图7是本发明实施例的提供的另一种数据访问装置结构示意图;
图8是本发明实施例的提供的又一种数据访问装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种数据访问方法的流程图。参见图1,该方法包括:
步骤101:接收数据访问设备发送的数据访问请求,该数据访问请求至少携带目标逻辑单元地址,该目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUNID。
步骤102:基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID。
步骤103:基于该设备LUN ID,对目标逻辑单元进行数据访问。
在本发明实施例中,该存储设备接收数据访问设备发送的数据访问请求,该数据访问请求携带目标逻辑单元地址,且该目标逻辑单元地址包括PE ID和虚拟LUN ID,从而存储设备基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID,之后,基于确定的设备LUN ID,对目标逻辑单元进行数据访问,从而存储设备无需存储主机LUN ID与设备LUNID之间的对应关系,以及PE ID与主机LUN ID组之间的对应关系,节省了存储设备的存储空间,同时也减小了确定设备LUN ID的时间,提高了数据访问的速率。
可选地,基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID,包括:
判断该虚拟LUN ID是否合法;
当该虚拟LUN ID不合法时,将该PE ID确定为该设备LUN ID。
可选地,判断该虚拟LUN ID是否合法之后,还包括:
当该虚拟LUN ID合法时,基于该虚拟LUN ID,判断该PE ID和该虚拟LUNID之间是否已绑定;
当该PE ID和该虚拟LUN ID之间已绑定时,将该PE ID和该虚拟LUN ID确定为该设备LUN ID。
可选地,基于该虚拟LUN ID,判断该PE ID和该虚拟LUN ID之间是否已绑定,包括:
基于该虚拟LUN ID,确定该虚拟LUN ID的索引;
基于该虚拟LUN ID的索引,判断该PE ID和该虚拟LUN ID之间是否已绑定。
可选地,基于该虚拟LUN ID的索引,判断该PE ID和该虚拟LUN ID之间是否已绑定,包括:
基于该虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;
当该绑定数值为第一数值时,确定该PE ID和该虚拟LUN ID之间未绑定;
当该绑定数值为第二数值时,确定该PE ID和该虚拟LUN ID之间已绑定。
可选地,基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID之前,还包括:
确定该存储设备包括的多个逻辑单元对应的多个设备LUN ID的索引,以及确定该多个设备LUN ID的绑定数值;
将该多个设备LUN ID的索引和该多个设备LUN ID的绑定数值,存储在索引与绑定数值之间的对应关系中。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图2是本发明实施例提供的一种数据访问方法的流程图。参见图2,该方法包括:
步骤201:接收数据访问设备发送的数据访问请求,该数据访问请求至少携带目标逻辑单元地址,该目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUNID。
其中,数据通道标识PE ID(Protocol Endpoint Identity,协议端点标识)可作为数据访问设备与存储设备之间的数据通道,建立数据访问设备与存储设备进行数据通信时的桥梁。虚拟LUN ID(Logical Unit Number Identity,逻辑单元号标识)为该目标逻辑单元地址对应的设备逻辑单元标识LUN ID中的一部分,可用于辅助确定该目标逻辑单元地址对应的设备LUN ID。
当数据访问设备需要对存储设备中的逻辑单元进行数据访问时,数据访问设备可以向存储设备发送数据访问请求,存储设备接收该数据访问请求,该数据访问请求可用于读取存储设备中逻辑单元的存储数据,也可以用于在该存储设备的逻辑单元中写数据。
进一步,当该数据访问请求用于读取存储设备中逻辑单元的存储数据时,该数据访问请求携带目标逻辑单元地址,当该数据访问请求用于在该存储设备的逻辑单元中写数据时,该数据访问请求不仅携带目标逻辑单元地址,还携带即将写入该目标逻辑单元的数据。
需要说明的是,该存储设备可以是该数据访问设备自身的硬盘、光盘等存储设备,也可以是该数据访问设备之外的存储设备,且当该存储设备为该数据访问设备之外的存储设备时,该存储设备与数据访问设备之间可以通过网线、光纤等进行连接,以使该存储设备为该数据访问设备提供一定的存储空间。
步骤202:基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID。
由于存储设备可以包括多个逻辑单元,且每个逻辑单元均对应一个设备LUN ID,通过一个设备LUN ID,可以查找到该设备LUN ID对应的逻辑单元,因此,为了对存储设备中的逻辑单元进行数据访问,该存储设备需要基于该PEID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUNID。而当存储设备基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在该存储设备中对应的设备LUN ID的时,存储设备可以通过(a)-(e)的步骤来确定,如下所述。
(a)、存储设备判断该虚拟LUN ID是否合法,当该虚拟LUN ID不合法时,执行步骤(b),当该虚拟LUN ID合法时,执行步骤(c)。
其中,当该存储设备判断该虚拟LUN ID是否合法时,该存储设备可以先判断该虚拟LUN ID是否存在乱码,当该虚拟LUN ID存在乱码时,该存储设备可以直接确定该虚拟LUNID合法;当该虚拟LUN ID不存在乱码时,该存储设备判断该虚拟LUN ID是否为零,当该虚拟LUN ID的为零时,确定该虚拟LUN ID不合法,而当该虚拟LUN ID不为零时,确定该虚拟LUNID合法。
而由于在存储设备中该虚拟LUN ID通常是以二进制数的形式表示的,因此,当存储设备判断该虚拟LUN ID是否为零时,该存储设备可以将该虚拟LUNID的二进制数转化为十进制数,当该虚拟LUN ID的二进制数转化得到的十进制数为零时,存储设备确定该虚拟LUN ID为零,否则,确定该虚拟LUN ID不为零。
当然,在实际应用中,存储设备也可以判断该虚拟LUN ID对应的二进制数中的每一位是否均为零,当该虚拟LUN ID对应的二进制数中的每一位都为零时,存储设备确定该虚拟LUN ID为零;否则,确定该虚拟LUN ID不为零。
比如,该虚拟LUN ID对应的二进制数为0011,存储设备将该虚拟LUN ID对应的二进制数0011转化为十进制数,得到该十进制数为3,从而存储设备确定该虚拟LUN ID不为零。
(b)、存储设备将该PE ID确定为设备LUN ID。
比如,该PE ID对应的二进制数为0110,当该虚拟LUN ID不合法时,该存储设备将该PE ID对应的二进制数0110确定为设备LUN ID的二进制数,也即是,该设备LUN ID对应的二进制数为00000110。
(c)、存储设备可以基于该虚拟LUN ID,判断该PE ID和该虚拟LUN ID是否已绑定,当该PE ID和该虚拟LUN ID已绑定时,执行步骤(d),当该PE ID和该虚拟LUN ID未绑定时,执行步骤(e)。
当存储设备基于该虚拟LUN ID,判断该PE ID和该虚拟LUN ID是否已绑定时,该存储设备可以首先基于该虚拟LUN ID,确定该虚拟LUN ID的索引,再基于确定的该虚拟LUNID的索引,判断该PE ID和该虚拟LUN ID是否绑定,而存储设备中该虚拟LUN ID通常是以二进制数的形式表示的,因此,存储设备基于该虚拟LUN ID,确定该虚拟LUN ID的索引的操作可以为:存储设备将该虚拟LUN ID对应的二进制数转化为十进制数,并将转化得到的十进制数确定为该虚拟LUN ID的索引。
比如,该虚拟LUN ID对应的二进制数为0001,存储设备将该二进制数0001转换为对应的十进制数为1,从而该存储设备确定该虚拟LUN ID的索引为1。
其中,基于该虚拟LUN ID的索引,判断该PE ID和该虚拟LUN ID是否绑定的操作可以为:基于该虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;当该绑定数值为第一数值时,确定该PE ID和该虚拟LUN ID未绑定;当该绑定数值为第二数值时,确定该PE ID和该虚拟LUN ID已绑定。
需要说明的是,第一数值和第二数值可以事先设置,比如,第一数值为0,第二数值为1,另外,第一数值也可以为1,第二数值为0,当然,在实际应用中,第一数值和第二数值还可以为其他数值,另外,第一数值和第二数值还可以为字符,比如,第一数值为a,第二数值为b等等,本发明实施例对此不做具体限定。
比如,第一数值为0,第二数值为1,存储设备基于该虚拟LUN ID的索引1,从如下表1所示的索引与绑定数值之间的对应的关系中,获取索引1对应的绑定数值为0,确定该绑定数值0为第一数值,从而该存储设备确定该PE ID和该虚拟LUN ID未绑定。
表1
索引 绑定数值
1 0
2 0
3 1
4 1
…… ……
需要说明的是,在本发明实施例中,仅以上述表1所示的索引与绑定数值之间的对应关系为例进行说明,上述表1并不对本发明实施例构成限定。
进一步地,基于该虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值之前,该存储设备需要确定存储设备包括的多个逻辑单元对应的多个设备LUN ID的索引,以及确定该多个设备LUN ID的绑定数值;将该多个设备LUN ID的索引和该多个设备LUN ID的绑定数值,存储在该索引与绑定数值之间的对应关系中。
其中,确定该存储设备包括的多个逻辑单元对应的多个设备LUN ID的索引时,该存储设备对于该多个设备LUN ID中的每个设备LUN ID,将该设备LUNID对应的二进制数转化为十进制数,将得到的十进制数确定为该设备LUN ID的索引。
进一步地,为了减小该多个设备LUN ID的索引的数量,节省该多个设备LUN ID的索引所占用的存储空间,当确定该存储设备包括的多个逻辑单元对应的多个设备LUN ID的索引时,该存储设备还可以从该多个设备LUN ID中,选择设备LUN ID大于指定数值的设备LUN ID,然后,再基于上述确定设备LUN的索引的方法,确定该选择的设备LUN ID的索引,本发明实施例对此不再进行赘述。
需要说明的是,该指定数值可以事先设置,比如,该指定数值可以为255,也即是,数据访问设备所能支持的最大设备LUN ID,当然,随着技术的发展,在实际应用中,当数据访问设备所能支持的最大设备LUN ID变大时,该指定数值还可以为其他数值,本发明实施例对比不做具体限定。
另外,当存储设备确定该多个设备LUN ID的绑定数值时,该存储设备可以从该多个设备LUN ID中,选择小于或等于指定数值的设备LUN ID,将选择的设备LUN ID的绑定数值设置为第一数值,并将该多个设备LUN ID中未选择的设备LUN ID的绑定数值设置为第二数值,也即是,该存储设备可以将该多个设备LUN ID中小于或等于指定数值的设备LUN ID的绑定数值设置为第一数值,而将该多个设备LUN ID中大于该指定数值的设备LUN ID的绑定数值设置为第二数值。
进一步,由于该设备LUN ID可以通过多个字节的二进制数来进行表示,并且为了节省存储设备的存储空间,提高存储设备确定设备LUN ID的速度,该存储设备可以将该设备LUN ID划分为两部分,第一部分为PE ID,第二部分为虚拟LUN ID,通过该PE ID和该虚拟LUN ID可以表示该设备LUN ID。而将该设备LUN ID划分为PE ID和虚拟LUN ID的操作可以为:该存储设备可以从该多个字节中的最低位字节开始,获取第三数值个字节,将获取的字节中的二进制数确定为PE ID,并将该多个字节中与PE ID相邻的第四数值个字节中的二进制数确定为虚拟LUN ID。
需要说明的是,第三数值和第四数值可以事先设置,比如,第三数值可以为2,第四数值可以为4等等,本发明实施例对此不做具体限定。
比如,第三数值为2,第四数值为4,该设备LUN ID通过8个字节的二进制数来表示,该存储设备从该8个字节中最低位字节开始,获取2个字节,将获取的字节中的二进制数确定为PE ID,将该8个字节中与该PE ID相邻的4个字节中的二进制数确定为虚拟LUN ID。
进一步地,在存储设备接收数据访问设备发送的数据访问请求之前,当数据访问设备扫描硬件总线时,存储设备可以将该多个设备LUN ID对应的PE ID和虚拟LUN ID作为逻辑单元地址上报给该数据访问设备,之后,该数据访问设备可以基于该多个设备LUN ID的逻辑单元地址,对该存储设备包括的多个辑单元进行数据访问。
(d)、存储设备将该PE ID和该虚拟LUN ID,确定为该设备LUN ID。
当存储设备基于虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应关系中,获取对应的绑定数值为第二数值时,存储设备确定该PE ID与虚拟LUNID已绑定,从而该存储设备将该PE ID和该虚拟LUN ID确定为设备LUN ID。而存储设备将该PE ID和该虚拟LUN ID,确定为该设备LUN ID时,该存储设备可以将PE ID确定为该设备LUN ID的低位字节,将该虚拟LUN ID确定为该设备LUN ID的高位字节,从而构成该设备LUN ID。
比如,该PE ID对应的二进制数为0110,该虚拟LUN ID对应的二进制数为0011,存储设备确定该PE ID与虚拟LUN ID已绑定时,该存储设备将PE ID确定为该设备LUN ID的低位字节,将该虚拟LUN ID确定为该设备LUN ID的高位字节,从而构成该设备LUN ID对应的二进制数00110110。
(e)、存储设备无法基于该PE ID和虚拟LUN ID,确定对应的设备LUN ID,从而存储设备结束当前的数据访问请求。
当该存储设备基于虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应关系中,获取对应的绑定数值为第一数值时,存储设备确定该PE ID与虚拟LUN ID未绑定,该存储设备无法基于该PE ID和虚拟LUN ID,确定对应的设备LUN ID,从而存储设备结束当前的数据访问。
在本公开实施例中,基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID时,若虚拟LUN ID合法,该存储设备可以基于虚拟LUN ID的索引与绑定数值之间的对应关系,确定该PE ID与该虚拟LUN ID是否进行绑定,也即是,基于虚拟LUN ID的索引与绑定数值的位图关系,确定该PE ID与该虚拟LUN ID是否进行绑定,从而该存储设备无需存储主机LUN ID与设备LUN ID之间的对应关系,以及PE ID与主机LUNID组之间的对应关系,节省了存储设备的存储空间,相应地,存储设备基于该PE ID和虚拟LUN ID,确定目标逻辑单元对应的设备LUN ID时,无需从两个对应关系中进行逐级查找,从而将设备LUN ID的两级映射变成一级,减小了确定设备LUN ID的时间。
步骤203:基于该设备LUN ID,对目标逻辑单元进行数据访问。
由于设备LUN ID与存储设备中的逻辑单元一一对应,因此,当该存储设备确定该目标逻辑单元地址对应的设备LUN ID时,该存储设备可以基于该设备LUN ID,查找到对应的目标逻辑单元,进而可以对该目标逻辑单元进行数据访问,从而可以简化数据访问时确定该目标逻辑单元对应的设备LUN ID的操作,提高数据访问的速率。
在本发明实施例中,该存储设备接收数据访问设备发送的数据访问请求,该数据访问请求携带目标逻辑单元地址,且该目标逻辑单元地址包括PE ID和虚拟LUN ID,存储设备可以对目标逻辑单元地址进行解析,从而确定该目标逻辑单元地址在存储设备中对应的设备LUN ID,也即是,存储设备基于该PE ID和该虚拟LUN ID,通过不同的判断条件,确定该目标逻辑单元地址对应的设备LUN ID,当基于该PE ID和该虚拟LUN ID,确定该设备LUN ID之后,存储设备可以基于确定的该设备LUN ID,对目标逻辑单元进行数据访问,从而存储设备无需存储主机LUN ID与设备LUN ID之间的对应关系,以及PE ID与主机LUN ID组之间的对应关系,节省了存储设备的存储空间,相应地,存储设备基于该PE ID和虚拟LUN ID,确定目标逻辑单元对应的设备LUN ID时,无需从两个对应关系中进行逐级查找,从而减小了确定设备LUN ID的时间,提高了数据访问的速率。
图3是本发明实施例提供了一种数据访问装置的结构示意图,参见图3,该装置包括接收模块301,第一确定模块302,访问模块303。
接收模块301,用于接收数据访问设备发送的数据访问请求,该数据访问请求至少携带目标逻辑单元地址,该目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUN ID;
第一确定模块302,用于基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID;
访问模块303,用于基于该设备LUN ID,对目标逻辑单元进行数据访问。
可选地,参见图4,该第一确定模块302包括第一判断单元3021,第一确定单元3022。
第一判断单元3021,用于判断该虚拟LUN ID是否合法;
第一确定单元3022,用于当该虚拟LUN ID不合法时,将该PE ID确定为该设备LUNID。
可选地,参见图5,该第一确定模块302还包括第二判断单元3023,第二确定单元3024。
第二判断单元3023,用于当该虚拟LUN ID合法时,基于该虚拟LUN ID,判断该PEID和该虚拟LUN ID之间是否已绑定;
第二确定单元3024,用于当该PE ID和该虚拟LUN ID之间已绑定时,将该PE ID和该虚拟LUN ID确定为该设备LUN ID。
可选地,参见图6,该第二判断单元3023包括确定子单元30231,判断子单元30232。
确定子单元30231,用于基于该虚拟LUN ID,确定该虚拟LUN ID的索引;
判断子单元30232,用于基于该虚拟LUN ID的索引,判断该PE ID和该虚拟LUN ID之间是否已绑定。
可选地,该判断子单元30232,具体用于:
基于该虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;
当该绑定数值为第一数值时,确定该PE ID和该虚拟LUN ID之间未绑定;
当该绑定数值为第二数值时,确定该PE ID和该虚拟LUN ID之间已绑定。
可选地,参见图7,该装置还包括第二确定模块304,存储模块305。
第二确定模块304,用于确定该存储设备包括的多个逻辑单元对应的多个设备LUNID的索引,以及确定该多个设备LUN ID的绑定数值;
存储模块305,用于将该多个设备LUN ID的索引和该多个设备LUN ID的绑定数值,存储在该索引与绑定数值之间的对应关系中。
综上所述,在本发明实施例中,该存储设备接收数据访问设备发送的数据访问请求,该数据访问请求携带目标逻辑单元地址,且该目标逻辑单元地址包括PE ID和虚拟LUNID,从而存储设备基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID,之后,基于确定的设备LUN ID,对目标逻辑单元进行数据访问,从而存储设备无需存储主机LUN ID与设备LUN ID之间的对应关系,以及PE ID与主机LUN ID组之间的对应关系,节省了存储设备的存储空间,同时也减小了确定设备LUN ID的时间,提高了数据访问的速率。
需要说明的是:上述实施例提供的数据访问的装置在数据访问时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据访问的装置与数据访问的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图8,本发明实施例提供了一种数据访问设备,该设备包括:处理器801、存储器802、总线803和通信接口804;
存储器802用于存储计算机执行指令8021,处理器801与存储器802通过该总线803连接,当数据存储装置运行时,处理器801执行存储器802存储的计算机执行指令,以使指令处理设备执行下述数据访问方法,包括:
接收数据访问设备发送的数据访问请求,该数据访问请求至少携带目标逻辑单元地址,该目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUN ID;
基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID;
基于该设备LUN ID,对目标逻辑单元进行数据访问。
可选地,基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID,包括:
判断该虚拟LUN ID是否合法;
当该虚拟LUN ID不合法时,将该PE ID确定为该设备LUN ID。
可选地,判断该虚拟LUN ID是否合法之后,还包括:
当该虚拟LUN ID合法时,基于该虚拟LUN ID,判断该PE ID和该虚拟LUNID之间是否已绑定;
当该PE ID和该虚拟LUN ID之间已绑定时,将该PE ID和该虚拟LUN ID确定为该设备LUN ID。
可选地,基于该虚拟LUN ID,判断该PE ID和该虚拟LUN ID之间是否已绑定,包括:
基于该虚拟LUN ID,确定该虚拟LUN ID的索引;
基于该虚拟LUN ID的索引,判断该PE ID和该虚拟LUN ID之间是否已绑定。
可选地,基于该虚拟LUN ID的索引,判断该PE ID和该虚拟LUN ID之间是否已绑定,包括:
基于该虚拟LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;
当该绑定数值为第一数值时,确定该PE ID和该虚拟LUN ID之间未绑定;
当该绑定数值为第二数值时,确定该PE ID和该虚拟LUN ID之间已绑定。
可选地,基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备逻辑单元号标识LUN ID之前,还包括:
确定该存储设备包括的多个逻辑单元对应的多个设备LUN ID的索引,以及确定该多个设备LUN ID的绑定数值;
将该多个设备LUN ID的索引和该多个设备LUN ID的绑定数值,存储在该索引与绑定数值之间的对应关系中。
在本发明实施例中,该存储设备接收数据访问设备发送的数据访问请求,该数据访问请求携带目标逻辑单元地址,且该目标逻辑单元地址包括PE ID和虚拟LUN ID,从而存储设备基于该PE ID和该虚拟LUN ID,确定该目标逻辑单元地址在存储设备中对应的设备LUN ID,之后,基于确定的设备LUN ID,对目标逻辑单元进行数据访问,从而存储设备无需存储主机LUN ID与设备LUNID之间的对应关系,以及PE ID与主机LUN ID组之间的对应关系,节省了存储设备的存储空间,同时也减小了确定设备LUN ID的时间,提高了数据访问的速率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种数据访问方法,其特征在于,所述方法包括:
接收数据访问设备发送的数据访问请求,所述数据访问请求至少携带目标逻辑单元地址,所述目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUN ID;
判断所述虚拟逻辑单元号标识LUN ID是否合法;
当所述虚拟逻辑单元号标识LUN ID不合法时,将所述数据通道标识PE ID确定为设备逻辑单元号标识LUN ID;
基于所述设备逻辑单元号标识LUN ID,对目标逻辑单元进行数据访问。
2.如权利要求1所述的方法,其特征在于,所述判断所述虚拟逻辑单元号标识LUN ID是否合法之后,还包括:
当所述虚拟逻辑单元号标识LUN ID合法时,基于所述虚拟逻辑单元号标识LUN ID,判断所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间是否已绑定;
当所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间已绑定时,将所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID确定为所述设备逻辑单元号标识LUN ID。
3.如权利要求2所述的方法,其特征在于,所述基于所述虚拟逻辑单元号标识LUN ID,判断所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间是否已绑定,包括:
基于所述虚拟逻辑单元号标识LUN ID,确定所述虚拟逻辑单元号标识LUNID的索引;
基于所述虚拟逻辑单元号标识LUN ID的索引,判断所述数据通道标识PEID和所述虚拟逻辑单元号标识LUN ID之间是否已绑定。
4.如权利要求3所述的方法,其特征在于,所述基于所述虚拟逻辑单元号标识LUN ID的索引,判断所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间是否已绑定,包括:
基于所述虚拟逻辑单元号标识LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;
当所述绑定数值为第一数值时,确定所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间未绑定;
当所述绑定数值为第二数值时,确定所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间已绑定。
5.如权利要求1-4任一权利要求所述的方法,其特征在于,所述判断所述虚拟逻辑单元号标识LUN ID是否合法之前,还包括:
确定存储设备包括的多个逻辑单元对应的多个设备逻辑单元号标识LUNID的索引,以及确定所述多个设备逻辑单元号标识LUN ID的绑定数值;
将所述多个设备逻辑单元号标识LUN ID的索引和所述多个设备逻辑单元号标识LUNID的绑定数值,存储在索引与绑定数值之间的对应关系中。
6.一种数据访问装置,其特征在于,所述装置包括:
接收模块,用于接收数据访问设备发送的数据访问请求,所述数据访问请求至少携带目标逻辑单元地址,所述目标逻辑单元地址包括数据通道标识PE ID和虚拟逻辑单元号标识LUN ID;
第一判断单元,用于判断所述虚拟逻辑单元号标识LUN ID是否合法;
第一确定单元,用于当所述虚拟逻辑单元号标识LUN ID不合法时,将所述数据通道标识PE ID确定为设备逻辑单元号标识LUN ID;
访问模块,用于基于所述设备逻辑单元号标识LUN ID,对目标逻辑单元进行数据访问。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于当所述虚拟逻辑单元号标识LUN ID合法时,基于所述虚拟逻辑单元号标识LUN ID,判断所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间是否已绑定;
第二确定单元,用于当所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间已绑定时,将所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID确定为所述设备逻辑单元号标识LUN ID。
8.如权利要求7所述的装置,其特征在于,所述第二判断单元包括:
确定子单元,用于基于所述虚拟逻辑单元号标识LUN ID,确定所述虚拟逻辑单元号标识LUN ID的索引;
判断子单元,用于基于所述虚拟逻辑单元号标识LUN ID的索引,判断所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间是否已绑定。
9.如权利要求8所述的装置,其特征在于,
所述判断子单元,具体用于:
基于所述虚拟逻辑单元号标识LUN ID的索引,从存储的索引与绑定数值之间的对应的关系中,获取对应的绑定数值;
当所述绑定数值为第一数值时,确定所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间未绑定;
当所述绑定数值为第二数值时,确定所述数据通道标识PE ID和所述虚拟逻辑单元号标识LUN ID之间已绑定。
10.如权利要求6-9任一权利要求所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于确定存储设备包括的多个逻辑单元对应的多个设备逻辑单元号标识LUN ID的索引,以及确定所述多个设备逻辑单元号标识LUN ID的绑定数值;
存储模块,用于将所述多个设备逻辑单元号标识LUN ID的索引和所述多个设备逻辑单元号标识LUN ID的绑定数值,存储在索引与绑定数值之间的对应关系中。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,所述程序用于实现如权利要求1至5任一项所述的数据访问方法。
CN201510595408.2A 2015-09-17 2015-09-17 数据访问方法及装置 Active CN105183390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510595408.2A CN105183390B (zh) 2015-09-17 2015-09-17 数据访问方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510595408.2A CN105183390B (zh) 2015-09-17 2015-09-17 数据访问方法及装置

Publications (2)

Publication Number Publication Date
CN105183390A CN105183390A (zh) 2015-12-23
CN105183390B true CN105183390B (zh) 2018-09-07

Family

ID=54905499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510595408.2A Active CN105183390B (zh) 2015-09-17 2015-09-17 数据访问方法及装置

Country Status (1)

Country Link
CN (1) CN105183390B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741793B (zh) * 2020-05-29 2024-04-09 华为技术有限公司 一种上报存储资源的方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622189A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 存储虚拟化的装置、数据存储方法及系统
CN103765370A (zh) * 2011-08-26 2014-04-30 威睿公司 访问对象存储系统的计算机系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103765370A (zh) * 2011-08-26 2014-04-30 威睿公司 访问对象存储系统的计算机系统
CN102622189A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 存储虚拟化的装置、数据存储方法及系统

Also Published As

Publication number Publication date
CN105183390A (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
US10114749B2 (en) Cache memory system and method for accessing cache line
KR102161448B1 (ko) 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법
KR101994021B1 (ko) 파일 조작 방법 및 장치
US9032182B2 (en) Electronic apparatus with storage media having real address designated by stimulated request format and storage media having real address not designated by stimulated request format
KR102104288B1 (ko) 저장된 데이터에 액세스하기 위한 방법, 및 관련 컨트롤러, 장치, 호스트와 시스템
CN113868155B (zh) 一种内存空间扩展方法、装置及电子设备和存储介质
CN103324533B (zh) 分布式数据处理方法、装置及系统
KR20150095781A (ko) 메모리 리클레임 방법 및 장치
CN105278918B (zh) 寄存器的读取方法和采用该读取方法的寄存器
CN104424105A (zh) 一种内存数据的读写处理方法和装置
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统
CN109446147B (zh) 一种网络存储设备与pcie设备的数据交互方法
CN115357540B (zh) 存储系统及其计算存储处理器、固体硬盘和数据读写方法
CN107770299A (zh) 一种mac地址刷写方法、系统、装置及存储介质
CN114201120A (zh) 一种数据读写方法、装置及相关设备
CN104346404A (zh) 一种访问数据的方法、设备及系统
CN113791730B (zh) 基于双存储池的放置组调整方法、系统、装置及存储介质
CN105183390B (zh) 数据访问方法及装置
CN107193634A (zh) 一种虚拟机的访问方法及装置
CN110543435A (zh) 存储单元的混合映射操作方法、装置、设备及存储介质
CN104516826A (zh) 一种虚拟大页面与物理大页面的对应方法及装置
CN103064749A (zh) 一种进程间通信方法
CN113157606A (zh) 一种缓存器实现方法、装置和数据处理设备
CN110377800B (zh) 一种fc芯片数据发送方法及系统
CN115883022B (zh) Dma传输控制方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220907

Address after: No.1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan, 611730

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right