数据访问方法、系统及数据仓库的制作方法

文档序号:6514695阅读:161来源:国知局
数据访问方法、系统及数据仓库的制作方法
【专利摘要】本发明涉及一种数据访问方法、系统及数据仓库,其中该数据访问方法包括接收第一用户提交的访问请求事件;确定所述第一用户对所述多个数据集合的访问权限;若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;获取所述每个数据集合对应的文件存储路径信息;根据所述多个用户标识,获取每个用户标识对应的身份认证权限;向并行计算系统下发并行访问任务。通过向并行计算系统发送多个用户标识对应的身份认证权限和文件存储路径信息,可以实现跨用户访问,一个用户可以访问多个用户的数据集合。
【专利说明】数据访问方法、系统及数据仓库
【技术领域】
[0001]本发明涉及文件管理领域,尤其涉及一种数据访问方法、系统及数据仓库。
【背景技术】
[0002]文件系统可以用于管理文件存储,常见的文件系统包括Iinux的文件系统、windows的文件系统等。它们都具有针对不同使用者或使用组的访问权限管理方法,其中可以包括读取文件内容、修改文件内容以及可执行权限。一个文件一般只属于一个用户和群组,要使不同的用户对相同的文件具有不同的权限是比较困难的。
[0003]例如:现有的Hadoop 分布式文件系统(英文:Hadoop Distributed File System,缩写:HDFS),不同的用户只对用户具有访问权限的文件系统进行操作,难以实现复杂的跨用户访问控制,如用户I只具有对用户I自身创建的文件I的访问权限,不具有用户2创建的文件2的访问权限,用户I只能对文件I进行操作,不能对文件2进行操作。

【发明内容】

[0004]抟术问是页
[0005]有鉴于此,本发明要解决的技术问题是,如何实现跨用户访问控制。
[0006]解决方案
[0007]为了解决上述技术问题,根据本发明的一实施例,第一方面,提供了一种数据访问方法,包括:
[0008]接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
[0009]确定所述第一用户对所述多个数据集合的访问权限;
[0010]若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
[0011]获取所述每个数据集合对应的文件存储路径信息;
[0012]根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
[0013]向并行计算系统下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
[0014]结合第一方面,在第一种可能的实现方式中,所述获取每个用户标识对应的身份认证权限,包括:
[0015]获取所述每个用户标识的身份认证权限;
[0016]建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
[0017]所述并行访问任务中还包括所述对应关系。
[0018]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述向并行计算系统下发并行访问任务之后,包括:[0019]所述并行计算系统在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
[0020]所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0021]结合第一方面,在第三种可能的实现方式中,所述身份认证权限包括超级令牌,所述获取每个用户标识对应的身份认证权限,还包括:
[0022]获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
[0023]结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述向并行计算系统下发并行访问任务之后,还包括:
[0024]所述并行计算系统在初始化的过程中,将所述超级令牌作为访问令牌;
[0025]所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0026]根据本发明的另一实施例,第二方面,提供了一种数据仓库,包括:
[0027]接收单元,用于接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
[0028]确定单元,与所述接收单元连接,用于确定所述第一用户对所述多个数据集合的访问权限,
[0029]所述确定单元还用于若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
[0030]获取单元,与所述确定单元连接,用于获取所述每个数据集合对应的文件存储路径信息,
[0031]所述获取单元还用于根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
[0032]发送单元,与所述获取单元连接,用于向并行计算系统下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
[0033]结合第二方面,在第一种可能的实现方式中,所述获取单元还用于获取所述每个用户标识的身份认证权限,建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径彳目息的对应关系;
[0034]所述并行访问任务中还包括所述对应关系。
[0035]结合第二方面,在第二种可能的实现方式中,所述身份认证权限包括超级令牌,所述获取单元还用于获取超级令牌,所述超级令牌允许访问所有用户的数据集合。
[0036]根据本发明的另一实施例,第三方面,提供了一种数据访问系统,包括:
[0037]数据仓库,采用本发明实施例中任意一种结构的数据仓库;以及
[0038]并行计算系统。
[0039]结合第三方面,在第一种可能的实现方式中,所述并行计算系统包括:
[0040]处理单元,用于在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;[0041 ] 访问单元,与所述处理单元连接,用于采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0042]结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元还用于在初始化的过程中,将所述超级令牌作为访问令牌。
[0043]有益.效果
[0044]本发明实施例中,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和身份认证权限,并将身份认证权限和文件存储路径信息一起发送至并行计算系统,使得并行计算系统可以使用身份认证权限访问文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
[0045]根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
【专利附图】

【附图说明】
[0046]包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
[0047]图1a示出根据本发明实施例一的数据访问方法的流程图;
[0048]图1b示出根据本发明实施例一的数据访问方法的场景示意图;
[0049]图2示出根据本发明实施例二的数据访问方法的流程图;
[0050]图3示出根据本发明实施例三的数据访问方法的流程图;
[0051]图4示出根据本发明实施例四的数据仓库的结构框图;
[0052]图5示出根据本发明实施例五的数据访问系统的结构框图;
[0053]图6示出根据本发明实施例六的数据访问装置的结构框图。
【具体实施方式】
[0054]以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0055]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0056]另外,为了更好的说明本发明,在下文的【具体实施方式】中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
[0057]实施例1
[0058]图1a示出根据本发明实施例一的数据访问方法的流程图。如图1a所示,该数据访问方法包括:
[0059]步骤100、接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建。
[0060]具体地,数据仓库如Hive可以基于并行计算(英文:MapReduce,缩写:MR)系统访问文件系统。在数据仓库中可以保存用户数据集合,所述数据集合可以是采用用户数据表的形式实现,用户数据集合可能归属不同的用户。在实际的业务场景中,用户可能需要交叉访问彼此的数据集合,比如第一用户可能需要将第二用户的用户数据表和自己的用户数据表进行关联查询,第二用户可以是除了第一用户之外的其他用户。例如,第一用户创建的用户数据表中包括客户姓名和订单号,第二用户创建的用户数据表中包括订单号和客户联系电话,则第一用户的用户数据表和第二用户的用户数据表具有关联关系。如果想要查询客户A的联系电话,可以通过对第一用户的用户数据表和第二用户的用户数据表进行关联查询得到。底层的文件系统可以是分布式文件系统(英文!Distributed File System,缩写:HDFS)。如果需要实现跨用户访问,即实现第一用户访问第二用户的用户数据表,第一用户可以向Hive发送访问请求事件,从而将第一用户指定的待访问的多个数据表告知数据仓库,这些数据集合可以是由多个用户创建的用户数据表。
[0061]例如,图1b示出根据本发明实施例一的数据访问方法的场景示意图,如图1b所示,在Hive (数据仓库)中,用户I创建了用户数据表1,用户2创建了用户数据表2,用户数据表I与用户数据表2可以具有关联关系。假设,用户I (第一用户)需要访问多个数据集合(用户数据表I和用户数据表2)。用户I可以将此访问请求事件提交至Hive,该访问请求事件中可以携带用户I指定的待访问的用户数据表I和用户数据表2。
[0062]步骤110、确定所述第一用户对所述多个数据集合的访问权限。
[0063]Hive的关系型数据库中,可以预先配置保存各个用户的身份认证权限,用于确定每个用户允许访问的权限,例如:数据仓库中可以包括用户访问用户数据表的权限配置信息模块,权限配置信息模块中可以预先配置某一用户能够访问哪些用户数据表的权限。例如:用户I允许访问用户1、2、3,并且用户数据表I属于用户1,用户数据表2属于用户2。如图1b所示,在Hive接收到访问请求事件后,可以在权限管理信息中查找到用户2是用户I允许访问的用户,用户数据表2属于用户2,表明该访问请求事件合法,可以进行后续的访问。如果在权限管理信息中,用户I允许访问用户3、用户4,那么该访问请求事件不能通过合法性校验,表明该访问请求事件不合法,不能继续执行访问。
[0064]步骤120、若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
[0065]步骤130、获取所述每个数据集合对应的文件存储路径信息。
[0066]具体地,用户在数据仓库中创建用户数据表时,数据仓库可以自动保存用户数据表的信息,该信息可以包括创建用户数据表的用户标识、用户数据表的文件存储路径信息等。数据仓库可以根据访问请求事件中第一用户指定的待访问的多个数据集合,确定该多个数据集合如多个用户的用户数据表,并读取用户数据表的信息,确定待访问的每个数据集合对应的用户标识和文件存储路径信息。
[0067]步骤140、根据所述多个用户标识,获取每个用户标识对应的身份认证权限。
[0068]在数据仓库接收到访问请求事件之后,数据仓库可以从权限配置信息模块中获取多个用户标识对应的身份认证权限,该身份认证权限可以包括多个用户标识对应令牌(token)ο例如,如图1b所示,用户2的身份认证权限为token2,用户2允许访问的用户数据表为用户数据表2,该用户数据表2在HDFS中保存的文件存储路径信息为文件存储路径信息2。[0069]步骤150、向并行计算系统下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
[0070]例如,如图1b所示,Hive (数据仓库)通过MR任务(并行访问任务)将令牌2 (身份认证权限)和文件存储路径信息发送给MR (MapReduce)系统后,MR系统可以使用令牌2访问用户数据表2。
[0071]本实施例的数据访问方法,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和身份认证权限,并将身份认证权限和文件存储路径信息一起发送至MR系统,使得MR系统可以使用身份认证权限访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
[0072]实施例2
[0073]图2示出根据本发明实施例二的数据访问方法的流程图。图2中标号与图1a相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
[0074]如图2所示,本实施例与图1a所示数据访问方法的主要区别在于,步骤140可以包括:
[0075]步骤200、获取所述每个用户标识的身份认证权限;
[0076]步骤210、建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径彳目息的对应关系;
[0077]因此,在上述实施例的步骤150中,数据仓库向并行计算系统下发的并行访问任务中还可以包括所述对应关系。
[0078]例如,如图1b所示,在Hive接收到访问请求事件之后,可以查找权限配置信息模块,获取用户2的身份认证权限即令牌2,建立令牌2与用户数据表2的文件存储路径信息2的对应关系,通过MR任务将令牌2、文件存储路径信息2、及其对应关系一起发送给MR系统。
[0079]进一步地,步骤150之后,可以包括:
[0080]步骤220、所述并行计算系统在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
[0081]步骤230、所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0082]例如,如图1b所示,通常,用户I需要通过Hive访问自身的数据集合时,MR系统可以使用令牌I作为访问令牌按照文件存储路径信息I访问HDFS (文件系统)中用户I的用户数据表I。在用户I需要访问用户2的用户数据表2时,MR系统可以使用令牌2替换令牌I作为访问令牌,使用令牌2按照文件存储路径信息2访问HDFS中用户数据表2。
[0083]本实施例的数据访问方法,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和身份认证权限,并将身份认证权限和文件存储路径信息一起发送至MR系统,使得MR系统可以根据身份认证权限和文件存储路径信息确定访问令牌,使用访问令牌访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
[0084]实施例3
[0085]图3示出根据本发明实施例三的数据访问方法的流程图。图3中标号与图1a和图2中相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
[0086]如图3所示,本实施例与图1a和图2所示数据访问方法的主要区别在于,如果所述身份认证权限包括超级令牌,步骤140还可以包括:
[0087]步骤300、获取超级令牌,所述超级令牌允许访问所有用户的数据集合。
[0088]具体地,可以预先设置一个可以访问文件系统所有用户的数据集合的超级令牌,并将该超级令牌存储在数据仓库的用户访问表的权限配置信息模块中。在数据仓库接收到访问请求事件之后,可以从权限配置信息模块中,获取该超级令牌。
[0089]进一步地,步骤150之后,可以包括:
[0090]步骤310、所述并行计算系统在初始化的过程中,将所述超级令牌作为访问令牌;
[0091]步骤320、所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0092]例如,通常,用户I需要通过Hive访问自身的数据集合时,MR系统可以使用令牌I作为访问令牌按照文件存储路径信息I访问HDFS中用户I的用户数据表I。假设超级令牌为令牌3,在用户I需要访问用户2的用户数据表2时,MR系统可以在初始化的过程中获取令牌3,并使用令牌3替换令牌I作为访问令牌,使用令牌3按照文件存储路径信息2访问HDFS中用户数据表2。
[0093]本实施例的数据访问方法,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和超级令牌,并将超级令牌和文件存储路径信息一起发送至MR系统,使得MR系统可以使用超级令牌根据待访问数据集合的文件存储路径信息访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
[0094]实施例4
[0095]图4示出根据本发明实施例四的数据仓库的结构框图。如图4所示,该数据仓库400可以包括:
[0096]接收单元420,用于接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建。
[0097]确定单元440,与所述接收单元420连接,用于确定所述第一用户对所述多个数据集合的访问权限。
[0098]所述确定单元440还用于若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
[0099]获取单元460,与所述确定单元440连接,用于获取所述每个数据集合对应的文件存储路径信息。
[0100]所述获取单元460还用于根据所述多个用户标识,获取每个用户标识对应的身份认证权限。
[0101]具体地,数据仓库400如Hive可以基于并行计算(英文:MapReduce,缩写:MR)系统访问文件系统。在数据仓库中可以保存用户数据集合,所述数据集合可以是采用用户数据表的形式实现,用户数据集合可能归属不同的用户。在实际的业务场景中,用户可能需要交叉访问彼此的数据集合,比如第一用户可能需要将第二用户的用户数据表和自己的用户数据表进行关联查询,第二用户可以是除了第一用户之外的其他用户。例如,在数据仓库400中第一用户创建的用户数据表包括客户姓名和订单号,第二用户创建的用户数据表包括订单号和客户联系电话,则第一用户的用户数据表和第二用户的用户数据表具有关联关系。如果想要查询客户A的联系电话,可以通过对第一用户的用户数据表和第二用户的用户数据表进行关联查询得到。底层的文件系统可以是分布式文件系统(英文distributedFile System,缩写:HDFS)。如果需要实现跨用户访问,即实现第一用户访问第二用户的用户数据表,第一用户可以向数据仓库400发送访问请求事件,接收单元420接收访问请求事件,从而得到第一用户指定的待访问的数据集合。
[0102]例如,如图1b所示,在Hive (数据仓库400)中,用户I创建了用户数据表1,用户2创建了用户数据表2,用户数据表I和用户数据表2都保存在Hive的关系型数据库中,用户数据表I与用户数据表2可以具有关联关系。假设,用户I (第一用户)需要访问多个数据集合(用户数据表I和用户数据表2)。Hive的接收单元420可以接收用户I发送的访问请求事件,该访问请求事件中可以携带用户I指定的待访问的用户数据表I和用户数据表2。
[0103]Hive的关系型数据库中,可以预先保存各个用户的身份认证权限,用于确定每个用户允许访问的权限,例如,Hive中可以包括用户访问数据集合的权限配置信息模块,权限配置信息模块中可以预先配置某一用户能够访问哪些用户数据表的权限。例如:用户I允许访问用户1、2、3,并且用户数据表I属于用户1,用户数据表2属于用户2。如图1b所示,在Hive接收到访问请求事件后,确定单元440可以通过查找权限管理信息确定第一用户是否具有对多个数据集合的访问权限。例如:在权限管理信息中查找到用户2是用户I允许访问的用户,用户数据表2属于用户2,表明该访问请求事件合法,可以进行后续的访问。如果在权限管理信息中,用户I允许访问用户3、用户4,那么该访问请求事件不能通过合法性校验,表明该访问请求事件不合法,不能继续执行访问。
[0104]用户在数据仓库400中创建用户数据表时,数据仓库400可以自动保存用户数据表的信息,该信息可以包括创建用户数据表的用户标识、用户数据表的文件存储路径信息等。确定单元440可以根据接收单元420接收到的访问请求事件中第一用户指定的待访问的多个数据集合,确定该多个数据集合如多个用户的用户数据表,并读取用户数据表的信息,确定待访问的每个数据集合对应的多个用户标识。获取单元460也可以在用户数据表的信息中获取到待访问的每个数据集合对应的文件存储路径信息。
[0105]在接收单元420接收到访问请求事件、确定单元440确定第一用户具有访问每个数据集合的访问权限之后,获取单元460还可以从用户访问用户数据表的权限配置信息模块中获取多个用户标识对应的身份认证权限,该身份认证权限可以包括多个用户标识对应的身份认证权限即令牌(token),也可以包括多个用户标识对应的身份认证权限和待访问的多个数据集合的文件存储路径信息的对应关系。例如,如图1b所示,用户2的身份认证权限为令牌2,用户2允许访问的用户数据表为用户数据表2,该用户数据表2在HDFS中保存的文件存储路径信息为文件存储路径信息2,则令牌2与文件存储路径信息2具有对应关系O
[0106]发送单元480,与所述获取单元460连接,用于向并行计算系统下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
[0107]例如,如图1b所示,Hive (数据仓库)的发送单元480可以将身份认证权限和文件存储路径信息发送给MR (MapReduce)系统,以用于后续MR系统使用令牌2访问用户数据表2的数据集合。
[0108]在一种可能的实现方式中,获取单元460还可以用于:获取所述每个用户标识的身份认证权限;建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系。这样,发送单元480向并行计算系统下发的并行访问任务中还可以包括所述对应关系。
[0109]例如,如图1b所示,在Hive的接收单元420接收到访问请求事件、确定单元440确定用户I具有访问用户数据表2的访问权限之后,获取单元460可以通过查找权限配置信息模块,获取用户2的身份认证权限即令牌2,建立令牌2与用户数据表2的文件存储路径信息2的对应关系。
[0110]在另一种可能的实现方式中,如果所述身份认证权限包括超级令牌,获取单元460还可以用于:获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
[0111]具体地,可以预先设置一个可以访问文件系统所有用户的数据集合的超级令牌,并将该超级令牌存储在数据仓库的用户访问用户数据表的权限配置信息模块中。在数据仓库400的接收单元420接收到访问请求事件、确定单元440确定第一用户具有访问待访问的每个数据集合的访问权限之后,获取单元460还可以从权限配置信息模块中,获取该超级令牌。
[0112]本实施例的数据仓库,接收单元接收到第一用户的访问请求事件后,在确定单元确定第一用户具有访问待访问的多个数据集合的访问权限的情况下,确定单元可以确定每个数据集合对应的用于标识,获取单元可以获取每个数据集合对应的文件存储路径信息和每个用户标识对应的身份认证权限。通过发送单元可以将身份认证权限和文件存储路径信息一起发送至MR系统,以使得MR系统可以使用身份认证权限根据待访问数据集合的文件存储路径信息访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
[0113]实施例5
[0114]图5示出根据本发明实施例五的数据访问系统的结构框图。如图5所示,该数据访问系统500可以包括:
[0115]数据仓库520,可以是上述实施例四中所描述的数据仓库;
[0116]并行计算系统540。
[0117]具体地,在第一用户需要进行数据访问时,第一用户可以向数据访问系统500的数据仓库520发送访问请求事件,在数据仓库520通过其接收单元420接收到该访问请求事件、确定单元440确定第一用户具有访问待访问的每个数据集合的访问权限之后,确定单元440可以根据数据仓库520中保存的用户数据表的信息,确定第一用户指定的待访问的多个数据集合对应的多个用户标识,并通过获取单元460获取每个数据集合对应的文件存储路径信息和每个用户标识对应的身份认证权限,发送单元480将身份认证权限和文件存储路径信息一起发送至MR系统540,MR系统540可以根据待访问的数据集合的文件存储路径信息使用身份认证权限中相应的身份认证权限访问文件系统中文件存储路径信息对应的数据集合。
[0118]进一步地,MR系统540可以包括:
[0119]处理单元560,用于在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
[0120]访问单元580,与所述处理单元560连接,用于采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0121]具体地,MR系统540可以接收数据仓库520发送的身份认证权限和文件存储路径信息,身份认证权限中可以包括多个用户标识对应的身份认证权限和身份认证权限与待访问的多个数据集合的文件存储路径信息的对应关系。在MR系统540初始化过程中,处理单元560可以根据身份认证权限中多个用户标识对应的身份认证权限和待访问的多个数据集合的文件存储路径信息的对应关系,查找当前访问的数据集合对应的文件存储路径信息对应的身份认证权限,并将该身份认证权限作为访问文件系统的访问令牌,访问单元580可以采用访问令牌访问文件系统中待访问数据集合对应的文件存储路径信息对应的数据
隹A
口 O
[0122]例如,如图1b所示,通常,用户I需要通过Hive访问自身的数据集合时,MR系统540可以使用令牌I作为访问令牌按照文件存储路径信息I访问HDFS中用户I的用户数据表I。在用户I需要访问用户2的用户数据表2时,MR系统540可以使用令牌2替换令牌I作为访问令牌,使用令牌2按照文件存储路径信息2访问HDFS中用户数据表2。
[0123]在一种可能的实现方式中,处理单元560还可以用于在初始化的过程中,将所述超级令牌作为访问令牌。
[0124]具体地,MR系统540可以接收数据仓库520发送的身份认证权限和文件存储路径信息,身份认证权限中可以包括超级令牌,该超级令牌允许访问所有用户的数据集合。在MR系统540初始化过程中,处理单元560可以将超级令牌作为访问文件系统的访问令牌,访问单元580可以采用访问令牌访问文件系统中待访问数据集合对应的文件存储路径信息对应的数据集合。
[0125]例如,通常,用户I需要通过Hive访问自身的数据集合时,MR系统540可以使用令牌I作为访问令牌按照文件存储路径信息I访问HDFS中访问用户I的用户数据表I。假设超级令牌为令牌3,在MR系统540需要访问用户2的用户数据表2时,MR系统540可以在初始化的过程中获取令牌3,并使用令牌3替换令牌I作为访问令牌,使用令牌3按照文件存储路径信息2访问HDFS中用户数据表2。
[0126]本实施例的数据访问系统,数据仓库接收第一用户的访问请求事件,并在第一用户具有访问待访问的多个数据集合的访问权限的情况下,获取超级令牌和每个数据集合的文件存储路径信息,并将超级令牌和每个数据集合的文件存储路径信息一起发送至MR系统。MR系统的处理单元可以采用超级令牌作为访问令牌,访问单元可以使用访问令牌访问HDFS中待访问的数据集合对应的文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。[0127]实施例6
[0128]图6示出根据本发明实施例六的数据访问装置的结构框图。所述数据访问装置600可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
[0129]所述数据访问装置600包括处理器(processor) 610、通信接口(CommunicationsInterface)620、存储器(memory array)630 和总线 640。其中,处理器 610、通信接口 620、以及存储器630通过总线640完成相互间的通信。
[0130]通信接口 620用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
[0131]处理器610用于执行程序。处理器610可能是一个中央处理器CPU,或者是专用集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0132]存储器630用于存放文件。存储器630可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器630也可以是存储器阵列。存储器630还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
[0133]在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
[0134]接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
[0135]确定所述第一用户对所述多个数据集合的访问权限;
[0136]若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
[0137]获取所述每个数据集合对应的文件存储路径信息;
[0138]根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
[0139]向并行计算系统下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
[0140]在一种可能的实现方式中,所述获取每个用户标识对应的身份认证权限,包括:
[0141]获取所述每个用户标识的身份认证权限;
[0142]建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
[0143]所述并行访问任务中还包括所述对应关系。
[0144]在一种可能的实现方式中,在所述向并行计算系统下发并行访问任务之后,包括:
[0145]所述并行计算系统在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
[0146]所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0147]在一种可能的实现方式中,所述身份认证权限包括超级令牌,所述获取每个用户标识对应的身份认证权限,还包括:[0148]获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
[0149]在一种可能的实现方式中,在所述向并行计算系统下发并行访问任务之后,还包括:
[0150]所述并行计算系统在初始化的过程中,将所述超级令牌作为访问令牌;
[0151]所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
[0152]本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0153]如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0154]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种数据访问方法,其特征在于,包括: 接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建; 确定所述第一用户对所述多个数据集合的访问权限; 若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识; 获取所述每个数据集合对应的文件存储路径信息; 根据所述多个用户标识,获取每个用户标识对应的身份认证权限; 向并行计算系统下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
2.根据权利要求1所述的数据访问方法,其特征在于,所述获取每个用户标识对应的身份认证权限,包括: 获取所述每个用户标识的身份认证权限; 建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系; 所述并行访问任务中还包括所述对应关系。
3.根据权利要求2所`述的数据访问方法,其特征在于,在所述向并行计算系统下发并行访问任务之后,包括: 所述并行计算系统在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌; 所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集入口 ο
4.根据权利要求1所述的数据访问方法,其特征在于,所述身份认证权限包括超级令牌,所述获取每个用户标识对应的身份认证权限,还包括: 获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
5.根据权利要求4所述的数据访问方法,其特征在于,在所述向并行计算系统下发并行访问任务之后,还包括: 所述并行计算系统在初始化的过程中,将所述超级令牌作为访问令牌; 所述并行计算系统采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集口 ο
6.一种数据仓库,其特征在于,包括: 接收单元,用于接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建; 确定单元,与所述接收单元连接,用于确定所述第一用户对所述多个数据集合的访问权限, 所述确定单元还用于若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识; 获取单元,与所述确定单元连接,用于获取所述每个数据集合对应的文件存储路径信息, 所述获取单元还用于根据所述多个用户标识,获取每个用户标识对应的身份认证权限; 发送单元,与所述获取单元连接,用于向并行计算系统下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
7.根据权利要求6所述的数据仓库,其特征在于,所述获取单元还用于获取所述每个用户标识的身份认证权限,建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径彳目息的对应关系; 所述并行访问任务中还包括所述对应关系。
8.根据权利要求6所述的数据仓库,其特征在于,所述身份认证权限包括超级令牌,所述获取单元还用于获取超级令牌,所述超级令牌允许访问所有用户的数据集合。
9.一种数据访问系统,其特征在于,包括: 数据仓库,采用权利要求6-8中任一项所述的数据仓库; 并行计算系统。
10.根据权利要求9所述的数据访问系统,其特征在于,所述并行计算系统包括: 处理单元,用于在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;` 访问单元,与所述处理单元连接,用于采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
11.根据权利要求10所述的数据访问系统,其特征在于,所述处理单元还用于在初始化的过程中,将所述超级令牌作为访问令牌。
【文档编号】G06F17/30GK103488791SQ201310465886
【公开日】2014年1月1日 申请日期:2013年9月30日 优先权日:2013年9月30日
【发明者】王文理, 袁静, 陈本华, 何志强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1