一种块设备访问控制方法、装置及设备与流程

文档序号:16686615发布日期:2019-01-22 18:22阅读:111来源:国知局
一种块设备访问控制方法、装置及设备与流程

本发明涉及分布式集群技术领域,更具体地说,涉及一种块设备访问控制方法、装置、设备及计算机可读存储介质。



背景技术:

分布式集群的分布式块设备(distributedblockstorage,简称块设备)通过内核态或者用户态接口,提供给用户使用。因为内核态接口只能部署在linux高内核版本系统,所以一些低内核版本或者非linux操作系统的企业环境无法使用内核态接口,只能通过用户态接口,利用目标驱动程序提供的标准的iscsi协议接口,映射给客户端的操作系统使用。

一般的,客户端的启动器连接到分布式集群的目标器,进而可以查看到目标器上的所有块设备。但是实际应用中,可能并不希望每个客户端都能看到并且访问所有的块设备,比如一个大型的分布式集群被不同的部门所共享,每个部门均能访问其他部门的数据,这样必然会造成一些数据安全性的隐患。

综上所述,现有技术中客户端共享分布式集群中块设备的技术方案存在安全性较低的问题。



技术实现要素:

本发明的目的是提供一种块设备访问控制方法、装置、设备及计算机可读存储介质,能够解决现有技术中客户端共享分布式集群中块设备的技术方案存在的安全性较低的问题。

为了实现上述目的,本发明提供如下技术方案:

一种块设备访问控制方法,包括:

确定任一需要访问目标器的启动器为目的启动器,其中,所述目标器属于分布式集群,所述启动器属于客户端;

在所述目的启动器登录所述目标器并请求枚举块设备时,基于预设的配置信息确定所述目标器上允许所述目的启动器访问的块设备为目的块设备;

确定仅向所述目的启动器显示所述目的块设备,并将所述目的块设备的块设备信息返回给所述目的启动器。

优选的,基于预设的配置信息确定所述目标器上允许所述目的启动器访问的块设备为目的块设备,包括:

获取预设的配置信息,所述配置信息包括所述目标器上每个块设备允许访问的启动器的启动器信息列表;

确定包含所述目的启动器的启动器信息的启动器信息列表对应的块设备为允许所述目的启动器访问的块设备,并确定该允许所述目的启动器访问的块设备为目的块设备。

优选的,确定任一需要访问目标器的启动器为目的启动器,包括:

在任一启动器发现目标器时,确定该任一启动器为需要访问所述目标器的启动器,并确定该任一启动器为目的启动器。

优选的,确定目的启动器之后,还包括:

获取并记录所述目的启动器的启动器信息。

优选的,确定目的块设备之后,还包括:

将所述目的块设备的块设备信息添加至枚举设备列表中;

对应的,将所述目的块设备的块设备信息返回给所述目的启动器,包括:

将所述枚举设备列表返回给所述目的启动器。

优选的,还包括:

接收管理命令请求,基于所述管理命令请求更新所述配置信息,并在需要确定目的块设备时基于更新后的配置信息执行确定目的块设备的步骤。

优选的,基于所述管理命令请求更新所述配置信息之后,还包括:

将更新后的配置信息输出,如果接收到外界基于输出的配置信息反馈的确认信息,则确定配置信息更新完成,否则,则执行所述接收管理命令请求的步骤。

一种块设备访问控制装置,包括:

确定模块,用于:确定任一需要访问目标器的启动器为目的启动器,其中,所述目标器属于分布式集群,所述启动器属于客户端;

枚举模块,用于:在所述目的启动器登录所述目标器并请求枚举块设备时,基于预设的配置信息确定所述目标器上允许所述目的启动器访问的块设备为目的块设备;

返回模块,用于:确定仅向所述目的启动器显示所述目的块设备,并将所述目的块设备的块设备信息返回给所述目的启动器。

一种块设备访问控制设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一项所述块设备访问控制方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述块设备访问控制方法的步骤。

本发明提供了一种块设备访问控制方法、装置、设备及计算机可读存储介质,其中,该方法包括:确定任一需要访问目标器的启动器为目的启动器,其中,所述目标器属于分布式集群,所述启动器属于客户端;在所述目的启动器登录所述目标器并请求枚举块设备时,基于预设的配置信息确定所述目标器上允许所述目的启动器访问的块设备为目的块设备;确定仅向所述目的启动器显示所述目的块设备,并将所述目的块设备的块设备信息返回给所述目的启动器。本发明公开的技术方案中,对于客户端需要访问分布式集群的目标器的目的启动器,在目的启动器请求枚举设备时,基于预设的配置信息确定目标器上允许目的启动器访问的块设备为目的块设备,仅向目的启动器显示目的块设备以仅允许目的启动器访问目的块设备,并将目的块设备的块设备信息返回至目的启动器,以使得目的启动器可以基于块设备信息定位到目的块设备并实现访问。可见,本申请不同于现有技术中客户端可共享目标器上全部块设备,而是客户端仅能够访问允许其访问的指定的块设备,从而将访问权限控制范围由目标器级别缩小到块设备粒度级别,实现多个客户端安全的访问同一个分布式集群,大大提高了数据安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种块设备访问控制方法的第一种流程图;

图2为本发明实施例提供的一种块设备访问控制方法的第二种流程图;

图3为本发明实施例提供的一种块设备访问控制装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种块设备访问控制方法的流程图,可以包括:

s101:确定任一需要访问目标器的启动器为目的启动器,其中,目标器属于分布式集群,启动器属于客户端。

需要说明的是,本发明实施例提供的一种块设备访问控制方法的执行主语可以为对应的块设备访问控制装置,而该装置可以设置于分布式集群中,因此块设备访问控制方法的执行主语也可以为分布式集群。其中,目标器及启动器与现有技术中对应概念的含义相同,通过启动器与目标器的通信实现客户端与分布式集群的通信。任一需要访问目标器的启动器均可以作为目的启动器,进而实现对任一需要访问目标器的启动器访问块设备时的权限设置。

s102:在目的启动器登录目标器并请求枚举块设备时,基于预设的配置信息确定目标器上允许目的启动器访问的块设备为目的块设备。

目的启动器登录目标器的步骤与现有技术中对应方案实现原理相同,如可以通过用户名、密码等信息进行登录,在此不再过多赘述。目的启动器请求目标器枚举块设备,也即目的启动器请求目标器为目的启动器确定能够允许目的启动器访问的块设备并告知目的启动器,进而使得目的启动器在访问分布式集群时能够定向性的直接访问允许其访问的块设备。预设的配置信息即为预先设置的配置信息,该配置信息可以包括目标器上各块设备允许访问的启动器对应信息,进而基于配置信息可以确定出目标器上允许目的启动器访问的块设备,当然配置信息也可以根据实际需要进行其他设置,如配置信息也可以包括当目的启动器请求枚举块设备时为目的启动器分配允许其访问的块设备的原则(如负载均衡原则等)等,均在本发明的保护范围之内。

另外,确定目的启动器登录目标器并请求枚举块设备可以包括:获取目的启动器发送至目标器的登录请求,并在目标器允许目的启动器登录后,获取目的启动器发送至目标器的枚举设备请求。

s103:确定仅向目的启动器显示目的块设备,并将目的块设备的块设备信息返回给目的启动器。

确定出允许目的启动器访问的目的块设备后,确定仅向目的启动器显示目的块设备,即不向目的启动器显示目的块设备之外的其他块设备,从而使得目的启动器仅能够访问目的块设备,并将目的块设备的块设备信息返回给目的启动器,以使得目的启动器可以基于块设备信息定位到对应的块设备并实现访问。其中,块设备信息可以包括对应块设备的唯一性标识、属性信息、存储空间大小等信息,具体可以根据实际需要进行设定。

本发明公开的技术方案中,对于客户端需要访问分布式集群的目标器的目的启动器,在目的启动器请求枚举设备时,基于预设的配置信息确定目标器上允许目的启动器访问的块设备为目的块设备,仅向目的启动器显示目的块设备以仅允许目的启动器访问目的块设备,并将目的块设备的块设备信息返回至目的启动器,以使得目的启动器可以基于块设备信息定位到目的块设备并实现访问。可见,本申请不同于现有技术中客户端可共享目标器上全部块设备,而是客户端仅能够访问允许其访问的指定的块设备,从而将访问权限控制范围由目标器级别缩小到块设备粒度级别,实现多个客户端安全的访问同一个分布式集群,大大提高了数据安全性。

本发明实施例提供的一种块设备访问控制方法,基于预设的配置信息确定目标器上允许目的启动器访问的块设备为目的块设备,可以包括:

获取预设的配置信息,配置信息包括目标器上每个块设备允许访问的启动器的启动器信息列表;

确定包含目的启动器的启动器信息的启动器信息列表对应的块设备为允许目的启动器访问的块设备,并确定该允许目的启动器访问的块设备为目的块设备。

需要说明的是,配置信息可以为预先设置的写入至配置文件中的信息,具体可以是通过目标器管理命令实现其设置的,配置信息中可以包括每个块设备允许访问的启动器对应启动器信息列表,从而通过配置信息可以确定出每个块设备允许访问的启动器。而本申请中获取配置信息可以是确定出目的启动器之后实现的,也可以是创建完成目标器上全部块设备之后、目标器开机初始化阶段即读取并写入内存以供后期使用的,具体可以根据实际需要进行设置。其中,启动器信息可以包括启动器的唯一性标识、属性信息等,具体可以根据实际需要进行设置。启动器信息列表可以与块设备一一对应,也即每个块设备均具有对应的启动器信息列表,而每个启动器信息列表中包含允许访问对应的块设备的启动器的启动器信息。从而通过判断目的启动器的启动器信息是否包含于启动器信息列表中,即可确定出目的启动器是否被允许访问对应的块设备。通过这种方式实现目的块设备的确定简单易实现,有利于提高方法实现效率。

另外,步骤s102中确定目的块设备的过程具体可以包括以下步骤:确定任一块设备为待选块设备,判断目的启动器的启动器信息是否在待选块设备对应的启动器信息列表中,如果是,则确定待选块设备为目的块设备,如果否,则判断是否存在未作为过待选块设备的块设备,如果存在,则由未作为过待选块设备的块设备中选取任一块设备为待选块设备,返回执行判断目的启动器的启动器信息是否在待选块设备对应的启动器信息列表中的步骤,如果不存在,则确定目的块设备的确定过程结束。从而通过这种循环判断的方式实现目的块设备的确定,避免了块设备的遗漏,进而能够准确有效的确定出目的块设备。

本发明实施例提供的一种块设备访问控制方法,确定任一需要访问目标器的启动器为目的启动器,可以包括:

在任一启动器发现目标器时,确定该任一启动器为需要访问目标器的启动器,并确定该任一启动器为目的启动器。

需要说明的是,在获取到任一启动器发送至目标器的发现请求时,则确定该任一启动器发现目标器,并确定该任一启动器为目的启动器。而启动器与目标器之间的通信过程则是在目标器接收到发现请求后创建启动器和目标器之间的会话实现的。本实施例中在启动器发现目标器时确定其为目的启动器,而非在启动器登录目标器时确定其为目的启动器,是因为启动器发现目标器后,在需要登录目标器时无需再进行发现动作,而是直接登录目标器即可;具体来说,启动器在发现目标器后,可能会多次通过登录目标器实现对应访问,如果每次启动器登录目标器即确定其为目的启动器并实现确定对应目的块设备的过程,很明显是会出现同样步骤的重复执行,大大浪费了步骤执行资源;而在启动器发现目标器时确定启动器为目的启动器并实现确定对应目的块设备的过程,则只需在启动器登录目标器之前执行一次即可,因此在启动器发现目标器时执行确定对应目的块设备的过程,能够避免资源浪费。

本发明实施例提供的一种块设备访问控制方法,确定目的启动器之后,还可以包括:

获取并记录目的启动器的启动器信息。

需要说明的,启动器信息可以步骤“在确定包含目的启动器的启动器信息的启动器信息列表对应的块设备为允许目的启动器访问的块设备”之前的任一时刻完成,本申请中在确定目的启动器之后即获取其启动器信息,能够方便需要时直接使用,进而提高方法实现效率。

本发明实施例提供的一种块设备访问控制方法,确定目的块设备之后,还可以包括:

将目的块设备的块设备信息添加至枚举设备列表中;

对应的,将目的块设备的块设备信息返回给目的启动器,可以包括:

将枚举设备列表返回给目的启动器。

需要说明的是,在确定出目的块设备后可以将对应的块设备信息添加至预先建立的枚举设备列表中,从而直接将该枚举设备列表返回给目的启动器,不仅方便分布式集群对于块设备信息的管理,也便于目的启动器对于块设备信息的获取。另外需要说明的是,通过上述实施例的循环判断步骤确定目的块设备时,可以在每次确定出目的块设备后即将该目的块设备对应的块设备信息添加至枚举设备列表中,以避免块设备信息的遗漏。

本发明实施例提供的一种块设备访问控制方法,还可以包括:

接收管理命令请求,基于管理命令请求更新配置信息,并在需要确定目的块设备时基于更新后的配置信息执行确定目的块设备的步骤。

需要说明的是,管理命令请求可以是外界工作人员直接输入的,也可以是预先设置并在指定时间点发送给分布式集群的,具体可以根据实际需要进行设置。接收到管理命令请求后,可以对该管理命令请求进行解析,进而基于解析所得结果确定出配置信息中需要进行更新的部分实现对应更新,进而在再需要确定目的块设备时基于更新后的配置信息实现。由此,能够通过该实施例根据实际需要实现对配置信息的更新,符合动态需求。

本发明实施例提供的一种块设备访问控制方法,基于管理命令请求更新配置信息之后,还可以包括:

将更新后的配置信息输出,如果接收到外界基于输出的配置信息反馈的确认信息,则确定配置信息更新完成,否则,则执行接收管理命令请求的步骤。

需要说明的是,将更新后的配置信息进行输出,能够使得外界工作人员对更新后的配置信息进行检查工作,以确定此次更新是否为实际需要的更新,如果是,则确定配置信息更新完成,并在后续需要确定目的块设备时基于更新后的配置信息执行确定目的块设备的步骤,否则,则由外界工作人员输入管理命令请求,进而基于管理命令请求实现配置信息的更新,从而通过该实施例保证了配置信息的成功更新。

请参阅图2,其示出了本发明实施例提供的一种块设备访问控制方法的具体实现流程图,可以包括:

s201:创建块设备,并读取预先设置的配置文件,将读取配置文件得到的配置信息写入内存;

s202:接收启动器发送的发现请求,确定该启动器为目的启动器;

s203:记录目的启动器的启动器信息;

s204:接收目的启动器发送的登陆请求,允许目的启动器的登录;

s205:接收目的启动器发送的枚举设备请求;

s206:判断目的启动器是否在任一块设备允许访问的启动器信息列表内;如果是,则跳转至步骤s207,否则则跳转至步骤s208;

s207:将上述任一块设备的块设备信息添加到枚举设备列表内;

s208:判断上述任一块设备是否为最后一个块设备;如果是,则跳转至步骤s209,否则则跳转至步骤s206;

s209:返回枚举设备列表给目的启动器。

从而将访问权限控制范围由目标器级别缩小到块设备粒度级别,实现多个客户端安全的访问同一个分布式集群,大大提高了数据安全性。

本发明实施例还提供了一种块设备访问控制装置,如图3所示,可以包括:

确定模块101,用于:确定任一需要访问目标器的启动器为目的启动器,其中,目标器属于分布式集群,启动器属于客户端;

枚举模块102,用于:在目的启动器登录目标器并请求枚举块设备时,基于预设的配置信息确定目标器上允许目的启动器访问的块设备为目的块设备;

返回模块103,用于:确定仅向目的启动器显示目的块设备,并将目的块设备的块设备信息返回给目的启动器。

本发明实施例提供的一种块设备访问控制装置,枚举模块可以包括:

枚举单元,用于:获取预设的配置信息,配置信息包括目标器上每个块设备允许访问的启动器的启动器信息列表;确定包含目的启动器的启动器信息的启动器信息列表对应的块设备为允许目的启动器访问的块设备,并确定该允许目的启动器访问的块设备为目的块设备。

本发明实施例提供的一种块设备访问控制装置,确定模块可以包括:

确定单元,用于:在任一启动器发现目标器时,确定该任一启动器为需要访问目标器的启动器,并确定该任一启动器为目的启动器。

本发明实施例提供的一种块设备访问控制装置,还可以包括:

记录模块,用于:确定目的启动器之后,获取并记录目的启动器的启动器信息。

本发明实施例提供的一种块设备访问控制装置,还可以包括:

添加模块,用于:确定目的块设备之后,将目的块设备的块设备信息添加至枚举设备列表中;

对应的,返回模块可以包括:

返回单元,用于:将枚举设备列表返回给目的启动器。

本发明实施例提供的一种块设备访问控制装置,还可以包括:

更新模块,用于:接收管理命令请求,基于管理命令请求更新配置信息,并在需要确定目的块设备时基于更新后的配置信息执行确定目的块设备的步骤。

本发明实施例提供的一种块设备访问控制装置,还可以包括:

输出模块,用于:基于管理命令请求更新配置信息之后,将更新后的配置信息输出,如果接收到外界基于输出的配置信息反馈的确认信息,则确定配置信息更新完成,否则,则执行接收管理命令请求的步骤。

本发明实施例还提供了一种块设备访问控制设备,可以包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上任一项块设备访问控制方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项块设备访问控制方法的步骤。。

需要说明的是,本发明实施例提供的一种块设备访问控制装置、设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的一种块设备访问控制方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1