一种分布式存储权限校验方法、权限查询方法及装置与流程

文档序号:16579234发布日期:2019-01-14 17:49阅读:158来源:国知局
本发明涉及分布式存储
技术领域
:,尤其涉及一种分布式存储权限校验方法、权限查询方法及装置。
背景技术
::随着分布式存储的发展,分布式存储的访问控制列表(accesscontrollist,acl)的响应速度的要求越来越高。其中,acl可以用于保护资源节点,阻止非法用户对资源节点的访问,还可以用于限制访问权限。而且,当需要对目录下所有子目录和文件设置acl权限时,现有技术通常将逐一设置每个文件的访问权限,其中,常用的设置方法是使用可移植操作系统接口(portableoperatingsysteminterfaceofunix,posix)acl属性进行递归设置。但是,当目录层级较深且文件数量较大时,现有技术设置所有文件的acl时需要耗费较长的时间,占用较多的内存,因而,将严重影响分布式存储的其他正常的操作。技术实现要素:为了解决现有技术中存在的以上技术问题,本发明提供一种分布式存储权限校验方法、权限查询方法及装置,能够减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。为了实现上述目的,本发明提供的技术方案如下:本发明提供一种分布式存储权限校验方法,包括:接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则使用所述第一类型acl属性对所述用户进行权限校验;如果否,则判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果判断所述文件或目录的顶层目录存在所述第一类型acl属性时,则使用顶层目录的所述第一类型acl属性对所述用户进行权限校验;当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。可选的,所述分布式存储权限校验方法,还包括:如果判断所述文件或目录的顶层目录不存在所述第一类型acl属性时,则使用普通acl属性对所述用户进行权限校验。本发明还提供一种分布式存储权限查询方法,包括判断被查询的文件是否存在第一类型acl属性;如果是,则直接获得所述第一类型acl属性;如果否,则判断所述被查询的文件的顶层目录是否存在所述第一类型acl属性;如果判断所述被查询的文件的顶层目录存在所述第一类型acl属性,则直接获得所述顶层目录的第一类型acl属性。可选的,所述分布式存储权限查询方法,还包括:如果判断所述被查询的文件的顶层目录不存在所述第一类型acl属性,则获得所述文件自身的普通acl属性。本发明还提供一种分布式存储权限校验装置,包括:接收单元,用于接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;第一判断单元,用于判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则使用所述第一类型acl属性对所述用户进行权限校验;第二判断单元,用于所述第一判断单元判断如果否,则判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果判断所述文件或目录的顶层目录存在所述第一类型acl属性时,则使用顶层目录的所述第一类型acl属性对所述用户进行权限校验;当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。可选的,所述分布式存储权限校验装置,还包括:第三判断单元,用于如果判断所述文件或目录的顶层目录不存在所述第一类型acl属性时,则使用普通acl属性对所述用户进行权限校验。本发明还提供一种分布式存储权限查询装置,包括第四判断单元,用于判断被查询的文件是否存在第一类型acl属性;第一获取单元,用于所述第四判断单元判断如果是,则直接获得所述第一类型acl属性;第五判断单元,用于所述第四判断单元判断如果否,则判断所述被查询的文件的顶层目录是否存在所述第一类型acl属性;第二获取单元,用于如果判断所述被查询的文件的顶层目录存在所述第一类型acl属性,则直接获得所述顶层目录的第一类型acl属性。可选的,所述分布式存储权限查询方法,还包括:第六判断单元,用于如果判断所述被查询的文件的顶层目录不存在所述第一类型acl属性,则获得所述文件自身的普通acl属性。本发明还提供一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述任意一项所述的分布式存储权限校验方法。本发明还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的分布式存储权限校验方法。本发明还提供一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任意一项所述的分布式存储权限查询方法。本发明还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的分布式存储权限查询方法。与现有技术相比,本发明至少具有以下优点:本申请提供的分布式存储权限校验方法,包括:接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则使用所述第一类型acl属性对所述用户进行权限校验;如果否,则判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果判断所述文件或目录的顶层目录存在所述第一类型acl属性时,则使用顶层目录的所述第一类型acl属性对所述用户进行权限校验;当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。该方法通过预先在顶层目录设置第一类型acl属性,实现同时设置该顶层目录下的所有文件的权限,从而减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本申请实施例一提供的分布式存储权限校验方法的流程图;图2为本申请实施例一对应的第一文件分布式存储权限校验方法流程图;图3为本申请实施例二提供的分布式存储权限校验方法的流程图;图4为本申请实施例三提供的分布式存储权限查询方法的流程图;图5为本申请实施例三对应的第一文件分布式存储权限查询方法的流程图;图6为本申请实施例四提供的分布式存储权限校验装置的结构示意图;图7为本申请实施例五提供的分布式存储权限查询装置的结构示意图。具体实施方式为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一:参见图1,该图为本申请实施例一提供的分布式存储权限校验方法的流程图。本申请实施例提供的分布式存储权限校验方法,包括:s101:接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;权限校验是指判断用户是否在该文件或目录的权限范围内,当用户在该文件或目录的权限范围内,则允许该用户访问该文件或目录;当用户不在该文件或目录的权限范围内,则拒绝该用户访问该文件或目录。作为示例,当第一文件的权限范围内包括第一用户,但不包括第二用户时,则s101可以具体为:当接收第一用户和第二用户均发送的访问第一文件的请求时,对第一用户和第二用户均进行权限校验,并根据权限校验结果允许第一用户访问第一文件,但拒绝第二用户访问第一文件。s102:判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则执行s105;如果否,则执行s103。第一类型访问控制列表acl属性可以预先设置在文件或目录上。而且,当需要设置目录以及该目录下所有子目录和文件的第一类型访问控制列表acl属性时,只需在顶层目录上设置第一类型访问控制列表acl属性。例如,当第一目录包括第二目录、第三目录和100个文件,第二目录包括第四目录和50个文件,第三目录包括60个文件,且第四目录包括200个文件时,若在第一目录上设置第一类型访问控制列表acl属性,则第一目录、第一目录下直属的100个文件、第二目录、第二目录下直属的50个文件、第三目录、第三目录下直属的60个文件、第四目录和第四目录下直属的200个文件均完成第一类型访问控制列表acl属性的设置。s103:判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果是,则执行s104。其中,当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。s104:使用顶层目录的所述第一类型acl属性对所述用户进行权限校验。s105:使用所述第一类型acl属性对所述用户进行权限校验。为了便于理解和解释本申请实施例的技术方案,下面将以访问第一文件为例进行说明。参见图2,该图为本申请实施例一提供的第一文件分布式存储权限校验方法流程图。当第一文件夹包括第二文件夹,第二文件夹包括第三文件夹,第三文件夹包括第一文件时,则第一文件的分布式存储权限校验方法的具体流程如下:s201:接收第一用户发送的访问第一文件的请求。s202:判断第一文件是否存在第一类型访问控制列表acl属性,如果是,则执行s203;如果否,则执行s204。s203:使用第一文件的第一类型acl属性判断第一用户是否在权限范围内,如果是,则执行s206;如果否,则执行s207。s204:判断顶层目录a是否存在第一类型acl属性,如果是,则执行s205。s205:使用目录a的第一类型acl属性判断第一用户是否在权限范围内,如果是,则执行s206;如果否,则执行s207。s206:允许第一用户访问第一文件。s207:拒绝第一用户访问第一文件。本申请实施例提供的分布式存储权限校验方法,包括:接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则使用所述第一类型acl属性对所述用户进行权限校验;如果否,则判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果判断所述文件或目录的顶层目录存在所述第一类型acl属性时,则使用顶层目录的所述第一类型acl属性对所述用户进行权限校验;当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。该方法通过预先在顶层目录设置第一类型acl属性,实现同时设置该顶层目录下的所有文件的权限,从而减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。基于以上实施例提供的分布式存储权限校验方法,为了进一步提高分布式存储权限校验的灵活性,本申请实施例还提供了一种分布式存储权限校验方法。实施例二:实施例二是在实施例一的基础上改进得到的,因此,实施例二与实施例一的部分内容相似,为了简要起见,在此不再赘述。参见图3,该图为本申请实施例二提供的分布式存储权限校验方法的流程图。本申请实施例提供的分布式存储权限校验方法,包括:s301至s303分别与s101至s103内容相同,在此不再赘述。s304:判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果是,则执行s305;如果否,则执行s306。s305与s105内容相同,在此不再赘述。s306:使用普通acl属性对所述用户进行权限校验。普通的acl属性可以是现有技术中的acl属性,例如,普通的acl属性可以是posixacl属性。本申请实施例提供的分布式存储权限校验方法,还包括如果判断所述文件或目录的顶层目录不存在所述第一类型acl属性时,则使用普通acl属性对所述用户进行权限校验。当被访问的文件或目录没有设置第一类型acl属性,且其顶层目录也没有设置第一类型acl属性时,则可以通过访问该文件自身的posixacl属性进行权限校验。基于以上实施例提供的一种分布式存储权限校验方法,本申请实施例还提供了一种分布式存储权限查询方法,下面结合附图进行详细说明。实施例三:参见图4,该图为本申请实施例三提供的分布式存储权限查询方法的流程图。本申请实施例提供的分布式存储权限查询方法,包括:s401:判断被查询的文件是否存在第一类型acl属性;如果是,则执行s402;如果否,则执行s403。s402:直接获得所述第一类型acl属性;s403:判断所述被查询的文件的顶层目录是否存在所述第一类型acl属性;如果是,则执行s404。其中,当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。s404:直接获得所述顶层目录的第一类型acl属性。另外,为了进一步提高分布式存储权限查询方法的灵活性,本申请实施例提供的分布式存储权限查询方法还包括:如果判断所述被查询的文件的顶层目录不存在所述第一类型acl属性,则获得所述文件自身的普通acl属性。为了便于理解和解释本申请实施例的技术方案,下面将以查询a/b/c/第一的文件为例进行说明。参见图5,该图为本申请实施例三提供的第一文件分布式存储权限查询方法的流程图。当第一文件夹包括第二文件夹,第二文件夹包括第三文件夹,第三文件夹包括第一文件时,则第一文件的分布式存储权限查询方法的具体流程如下:s501:判断第一文件是否存在第一类型acl属性,如果是,则执行s502,如果否,则执行s503。s502:直接获得第一文件的第一类型acl属性。s503:判断顶层目录a是否存在第一类型acl属性,如果是,则执行s504,如果否,则执行s505。s504:直接获得顶层目录a的第一类型acl属性。s505:获得第一文件自身的posixacl属性。本申请实施例提供的分布式存储权限查询方法,包括:判断被查询的文件是否存在第一类型acl属性;如果是,则直接获得所述第一类型acl属性;如果否,则判断所述被查询的文件的顶层目录是否存在所述第一类型acl属性;如果判断所述被查询的文件的顶层目录存在所述第一类型acl属性,则直接获得所述第一类型acl属性。其中,当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。该方法通过预先在顶层目录设置第一类型acl属性,实现同时设置该顶层目录下的所有文件的权限,从而减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。基于以上实施例提供的一种分布式存储权限校验方法,本申请实施例还提供了一种分布式存储权限校验装置,下面结合附图进行详细说明。实施例四:参见图6,该图为本申请实施例四提供的分布式存储权限校验装置的结构示意图。本申请实施例提供的分布式存储权限校验装置,包括:接收单元601,用于接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;第一判断单元602,用于判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则使用所述第一类型acl属性对所述用户进行权限校验;第二判断单元603,用于所述第一判断单元判断如果否,则判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果判断所述文件或目录的顶层目录存在所述第一类型acl属性时,则使用顶层目录的所述第一类型acl属性对所述用户进行权限校验;当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。可选的,该装置还包括:第三判断单元,用于如果判断所述文件或目录的顶层目录不存在所述第一类型acl属性时,则使用普通acl属性对所述用户进行权限校验。本申请实施例提供的分布式存储权限校验装置,包括接收单元601、第一判断单元602和第二判断单元603。该装置通过预先在顶层目录设置第一类型acl属性,实现同时设置该顶层目录下的所有文件的权限,从而减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。所述分布式存储权限校验装置还包括处理器和存储器,上述接收单元601、第一判断单元602和第二判断单元603等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述分布式存储权限校验方法。本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述分布式存储权限校验方法。本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则使用所述第一类型acl属性对所述用户进行权限校验;如果否,则判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果判断所述文件或目录的顶层目录存在所述第一类型acl属性时,则使用顶层目录的所述第一类型acl属性对所述用户进行权限校验;当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。可选的,还包括:如果判断所述文件或目录的顶层目录不存在所述第一类型acl属性时,则使用普通acl属性对所述用户进行权限校验。本文中的设备可以是服务器、pc、pad、手机等。本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收用户发送的访问文件或目录的请求,对所述用户进行权限校验;判断所述文件或目录是否存在第一类型访问控制列表acl属性,如果是,则使用所述第一类型acl属性对所述用户进行权限校验;如果否,则判断所述文件或目录的顶层目录是否存在所述第一类型acl属性,如果判断所述文件或目录的顶层目录存在所述第一类型acl属性时,则使用顶层目录的所述第一类型acl属性对所述用户进行权限校验;当判断所述顶层目录存在所述第一类型acl属性时,还包括,预先在所述顶层目录设置所述第一类型acl属性。可选的,还包括:如果判断所述文件或目录的顶层目录不存在所述第一类型acl属性时,则使用普通acl属性对所述用户进行权限校验。基于以上实施例提供的一种分布式存储权限查询方法,本申请实施例还提供了一种分布式存储权限查询装置,下面结合附图进行详细说明。实施例五:参见图7,该图为本申请实施例五提供的分布式存储权限查询装置的结构示意图。本申请实施例提供的分布式存储权限查询装置,包括第四判断单元701,用于判断被查询的文件是否存在第一类型acl属性;第一获取单元702,用于所述第四判断单元判断如果是,则直接获得所述第一类型acl属性;第五判断单元703,用于所述第四判断单元判断如果否,则判断所述被查询的文件的顶层目录是否存在所述第一类型acl属性;第二获取单元704,用于如果判断所述被查询的文件的顶层目录存在所述第一类型acl属性,则直接获得所述顶层目录的第一类型acl属性。本申请实施例提供的分布式存储权限查询装置,包括第四判断单元701、第一获取单元702、第五判断单元703和第二获取单元704。该装置通过预先在顶层目录设置第一类型acl属性,实现同时设置该顶层目录下的所有文件的权限,从而减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。所述分布式存储权限查询装置还包括处理器和存储器,上述第四判断单元701、第一获取单元702、第五判断单元703和第二获取单元704等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来减少权限设置所需时间,并降低权限设置所占内存,进而降低了权限设置对分布式存储产生的影响。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述分布式存储权限查询方法。本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述分布式存储权限查询方法。本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:判断被查询的文件是否存在第一类型acl属性;如果是,则直接获得所述第一类型acl属性;如果否,则判断所述被查询的文件的顶层目录是否存在所述第一类型acl属性;如果判断所述被查询的文件的顶层目录存在所述第一类型acl属性,则直接获得顶层目录的所述第一类型acl属性。可选的,还包括:如果判断所述被查询的文件的顶层目录不存在所述第一类型acl属性,则获得所述文件自身的普通acl属性。本文中的设备可以是服务器、pc、pad、手机等。本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:判断被查询的文件是否存在第一类型acl属性;如果是,则直接获得所述第一类型acl属性;如果否,则判断所述被查询的文件的顶层目录是否存在所述第一类型acl属性;如果判断所述被查询的文件的顶层目录存在所述第一类型acl属性,则直接获得顶层目录的所述第一类型acl属性。可选的,还包括:如果判断所述被查询的文件的顶层目录不存在所述第一类型acl属性,则获得所述文件自身的普通acl属性。应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1