CN103488791B - 数据访问方法、***及数据仓库 - Google Patents
数据访问方法、***及数据仓库 Download PDFInfo
- Publication number
- CN103488791B CN103488791B CN201310465886.2A CN201310465886A CN103488791B CN 103488791 B CN103488791 B CN 103488791B CN 201310465886 A CN201310465886 A CN 201310465886A CN 103488791 B CN103488791 B CN 103488791B
- Authority
- CN
- China
- Prior art keywords
- user
- access
- data acquisition
- acquisition system
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据访问方法、***及数据仓库,其中该数据访问方法包括接收第一用户提交的访问请求事件;确定所述第一用户对所述多个数据集合的访问权限;若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;获取所述每个数据集合对应的文件存储路径信息;根据所述多个用户标识,获取每个用户标识对应的身份认证权限;向并行计算***下发并行访问任务。通过向并行计算***发送多个用户标识对应的身份认证权限和文件存储路径信息,可以实现跨用户访问,一个用户可以访问多个用户的数据集合。
Description
技术领域
本发明涉及文件管理领域,尤其涉及一种数据访问方法、***及数据仓库。
背景技术
文件***可以用于管理文件存储,常见的文件***包括linux的文件***、windows的文件***等。它们都具有针对不同使用者或使用组的访问权限管理方法,其中可以包括读取文件内容、修改文件内容以及可执行权限。一个文件一般只属于一个用户和群组,要使不同的用户对相同的文件具有不同的权限是比较困难的。
例如:现有的Hadoop分布式文件***(英文:Hadoop Distributed File System,缩写:HDFS),不同的用户只对用户具有访问权限的文件***进行操作,难以实现复杂的跨用户访问控制,如用户1只具有对用户1自身创建的文件1的访问权限,不具有用户2创建的文件2的访问权限,用户1只能对文件1进行操作,不能对文件2进行操作。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何实现跨用户访问控制。
解决方案
为了解决上述技术问题,根据本发明的一实施例,第一方面,提供了一种数据访问方法,包括:
接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
确定所述第一用户对所述多个数据集合的访问权限;
若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
获取所述每个数据集合对应的文件存储路径信息;
根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
向并行计算***下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
结合第一方面,在第一种可能的实现方式中,所述获取每个用户标识对应的身份认证权限,包括:
获取所述每个用户标识的身份认证权限;
建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
所述并行访问任务中还包括所述对应关系。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述向并行计算***下发并行访问任务之后,包括:
所述并行计算***在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
结合第一方面,在第三种可能的实现方式中,所述身份认证权限包括超级令牌,所述获取每个用户标识对应的身份认证权限,还包括:
获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述向并行计算***下发并行访问任务之后,还包括:
所述并行计算***在初始化的过程中,将所述超级令牌作为访问令牌;
所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
根据本发明的另一实施例,第二方面,提供了一种数据仓库,包括:
接收单元,用于接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
确定单元,与所述接收单元连接,用于确定所述第一用户对所述多个数据集合的访问权限,
所述确定单元还用于若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
获取单元,与所述确定单元连接,用于获取所述每个数据集合对应的文件存储路径信息,
所述获取单元还用于根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
发送单元,与所述获取单元连接,用于向并行计算***下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
结合第二方面,在第一种可能的实现方式中,所述获取单元还用于获取所述每个用户标识的身份认证权限,建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
所述并行访问任务中还包括所述对应关系。
结合第二方面,在第二种可能的实现方式中,所述身份认证权限包括超级令牌,所述获取单元还用于获取超级令牌,所述超级令牌允许访问所有用户的数据集合。
根据本发明的另一实施例,第三方面,提供了一种数据访问***,包括:
数据仓库,采用本发明实施例中任意一种结构的数据仓库;以及
并行计算***。
结合第三方面,在第一种可能的实现方式中,所述并行计算***包括:
处理单元,用于在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
访问单元,与所述处理单元连接,用于采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元还用于在初始化的过程中,将所述超级令牌作为访问令牌。
有益效果
本发明实施例中,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和身份认证权限,并将身份认证权限和文件存储路径信息一起发送至并行计算***,使得并行计算***可以使用身份认证权限访问文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1a示出根据本发明实施例一的数据访问方法的流程图;
图1b示出根据本发明实施例一的数据访问方法的场景示意图;
图2示出根据本发明实施例二的数据访问方法的流程图;
图3示出根据本发明实施例三的数据访问方法的流程图;
图4示出根据本发明实施例四的数据仓库的结构框图;
图5示出根据本发明实施例五的数据访问***的结构框图;
图6示出根据本发明实施例六的数据访问装置的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图1a示出根据本发明实施例一的数据访问方法的流程图。如图1a所示,该数据访问方法包括:
步骤100、接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建。
具体地,数据仓库如Hive可以基于并行计算(英文:MapReduce,缩写:MR)***访问文件***。在数据仓库中可以保存用户数据集合,所述数据集合可以是采用用户数据表的形式实现,用户数据集合可能归属不同的用户。在实际的业务场景中,用户可能需要交叉访问彼此的数据集合,比如第一用户可能需要将第二用户的用户数据表和自己的用户数据表进行关联查询,第二用户可以是除了第一用户之外的其他用户。例如,第一用户创建的用户数据表中包括客户姓名和订单号,第二用户创建的用户数据表中包括订单号和客户联系电话,则第一用户的用户数据表和第二用户的用户数据表具有关联关系。如果想要查询客户A的联系电话,可以通过对第一用户的用户数据表和第二用户的用户数据表进行关联查询得到。底层的文件***可以是分布式文件***(英文:Distributed File System,缩写:HDFS)。如果需要实现跨用户访问,即实现第一用户访问第二用户的用户数据表,第一用户可以向Hive发送访问请求事件,从而将第一用户指定的待访问的多个数据表告知数据仓库,这些数据集合可以是由多个用户创建的用户数据表。
例如,图1b示出根据本发明实施例一的数据访问方法的场景示意图,如图1b所示,在Hive(数据仓库)中,用户1创建了用户数据表1,用户2创建了用户数据表2,用户数据表1与用户数据表2可以具有关联关系。假设,用户1(第一用户)需要访问多个数据集合(用户数据表1和用户数据表2)。用户1可以将此访问请求事件提交至Hive,该访问请求事件中可以携带用户1指定的待访问的用户数据表1和用户数据表2。
步骤110、确定所述第一用户对所述多个数据集合的访问权限。
Hive的关系型数据库中,可以预先配置保存各个用户的身份认证权限,用于确定每个用户允许访问的权限,例如:数据仓库中可以包括用户访问用户数据表的权限配置信息模块,权限配置信息模块中可以预先配置某一用户能够访问哪些用户数据表的权限。例如:用户1允许访问用户1、2、3,并且用户数据表1属于用户1,用户数据表2属于用户2。如图1b所示,在Hive接收到访问请求事件后,可以在权限管理信息中查找到用户2是用户1允许访问的用户,用户数据表2属于用户2,表明该访问请求事件合法,可以进行后续的访问。如果在权限管理信息中,用户1允许访问用户3、用户4,那么该访问请求事件不能通过合法性校验,表明该访问请求事件不合法,不能继续执行访问。
步骤120、若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
步骤130、获取所述每个数据集合对应的文件存储路径信息。
具体地,用户在数据仓库中创建用户数据表时,数据仓库可以自动保存用户数据表的信息,该信息可以包括创建用户数据表的用户标识、用户数据表的文件存储路径信息等。数据仓库可以根据访问请求事件中第一用户指定的待访问的多个数据集合,确定该多个数据集合如多个用户的用户数据表,并读取用户数据表的信息,确定待访问的每个数据集合对应的用户标识和文件存储路径信息。
步骤140、根据所述多个用户标识,获取每个用户标识对应的身份认证权限。
在数据仓库接收到访问请求事件之后,数据仓库可以从权限配置信息模块中获取多个用户标识对应的身份认证权限,该身份认证权限可以包括多个用户标识对应令牌(token)。例如,如图1b所示,用户2的身份认证权限为token2,用户2允许访问的用户数据表为用户数据表2,该用户数据表2在HDFS中保存的文件存储路径信息为文件存储路径信息2。
步骤150、向并行计算***下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
例如,如图1b所示,Hive(数据仓库)通过MR任务(并行访问任务)将令牌2(身份认证权限)和文件存储路径信息发送给MR(MapReduce)***后,MR***可以使用令牌2访问用户数据表2。
本实施例的数据访问方法,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和身份认证权限,并将身份认证权限和文件存储路径信息一起发送至MR***,使得MR***可以使用身份认证权限访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
实施例2
图2示出根据本发明实施例二的数据访问方法的流程图。图2中标号与图1a相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
如图2所示,本实施例与图1a所示数据访问方法的主要区别在于,步骤140可以包括:
步骤200、获取所述每个用户标识的身份认证权限;
步骤210、建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
因此,在上述实施例的步骤150中,数据仓库向并行计算***下发的并行访问任务中还可以包括所述对应关系。
例如,如图1b所示,在Hive接收到访问请求事件之后,可以查找权限配置信息模块,获取用户2的身份认证权限即令牌2,建立令牌2与用户数据表2的文件存储路径信息2的对应关系,通过MR任务将令牌2、文件存储路径信息2、及其对应关系一起发送给MR***。
进一步地,步骤150之后,可以包括:
步骤220、所述并行计算***在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
步骤230、所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
例如,如图1b所示,通常,用户1需要通过Hive访问自身的数据集合时,MR***可以使用令牌1作为访问令牌按照文件存储路径信息1访问HDFS(文件***)中用户1的用户数据表1。在用户1需要访问用户2的用户数据表2时,MR***可以使用令牌2替换令牌1作为访问令牌,使用令牌2按照文件存储路径信息2访问HDFS中用户数据表2。
本实施例的数据访问方法,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和身份认证权限,并将身份认证权限和文件存储路径信息一起发送至MR***,使得MR***可以根据身份认证权限和文件存储路径信息确定访问令牌,使用访问令牌访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
实施例3
图3示出根据本发明实施例三的数据访问方法的流程图。图3中标号与图1a和图2中相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
如图3所示,本实施例与图1a和图2所示数据访问方法的主要区别在于,如果所述身份认证权限包括超级令牌,步骤140还可以包括:
步骤300、获取超级令牌,所述超级令牌允许访问所有用户的数据集合。
具体地,可以预先设置一个可以访问文件***所有用户的数据集合的超级令牌,并将该超级令牌存储在数据仓库的用户访问表的权限配置信息模块中。在数据仓库接收到访问请求事件之后,可以从权限配置信息模块中,获取该超级令牌。
进一步地,步骤150之后,可以包括:
步骤310、所述并行计算***在初始化的过程中,将所述超级令牌作为访问令牌;
步骤320、所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
例如,通常,用户1需要通过Hive访问自身的数据集合时,MR***可以使用令牌1作为访问令牌按照文件存储路径信息1访问HDFS中用户1的用户数据表1。假设超级令牌为令牌3,在用户1需要访问用户2的用户数据表2时,MR***可以在初始化的过程中获取令牌3,并使用令牌3替换令牌1作为访问令牌,使用令牌3按照文件存储路径信息2访问HDFS中用户数据表2。
本实施例的数据访问方法,数据仓库接收到第一用户的访问请求事件后,可以在第一用户具有待访问的每个数据集合的访问权限的情况下,获取每个数据集合对应的用户标识、文件存储路径信息和超级令牌,并将超级令牌和文件存储路径信息一起发送至MR***,使得MR***可以使用超级令牌根据待访问数据集合的文件存储路径信息访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
实施例4
图4示出根据本发明实施例四的数据仓库的结构框图。如图4所示,该数据仓库400可以包括:
接收单元420,用于接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建。
确定单元440,与所述接收单元420连接,用于确定所述第一用户对所述多个数据集合的访问权限。
所述确定单元440还用于若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
获取单元460,与所述确定单元440连接,用于获取所述每个数据集合对应的文件存储路径信息。
所述获取单元460还用于根据所述多个用户标识,获取每个用户标识对应的身份认证权限。
具体地,数据仓库400如Hive可以基于并行计算(英文:MapReduce,缩写:MR)***访问文件***。在数据仓库中可以保存用户数据集合,所述数据集合可以是采用用户数据表的形式实现,用户数据集合可能归属不同的用户。在实际的业务场景中,用户可能需要交叉访问彼此的数据集合,比如第一用户可能需要将第二用户的用户数据表和自己的用户数据表进行关联查询,第二用户可以是除了第一用户之外的其他用户。例如,在数据仓库400中第一用户创建的用户数据表包括客户姓名和订单号,第二用户创建的用户数据表包括订单号和客户联系电话,则第一用户的用户数据表和第二用户的用户数据表具有关联关系。如果想要查询客户A的联系电话,可以通过对第一用户的用户数据表和第二用户的用户数据表进行关联查询得到。底层的文件***可以是分布式文件***(英文:Distributed FileSystem,缩写:HDFS)。如果需要实现跨用户访问,即实现第一用户访问第二用户的用户数据表,第一用户可以向数据仓库400发送访问请求事件,接收单元420接收访问请求事件,从而得到第一用户指定的待访问的数据集合。
例如,如图1b所示,在Hive(数据仓库400)中,用户1创建了用户数据表1,用户2创建了用户数据表2,用户数据表1和用户数据表2都保存在Hive的关系型数据库中,用户数据表1与用户数据表2可以具有关联关系。假设,用户1(第一用户)需要访问多个数据集合(用户数据表1和用户数据表2)。Hive的接收单元420可以接收用户1发送的访问请求事件,该访问请求事件中可以携带用户1指定的待访问的用户数据表1和用户数据表2。
Hive的关系型数据库中,可以预先保存各个用户的身份认证权限,用于确定每个用户允许访问的权限,例如,Hive中可以包括用户访问数据集合的权限配置信息模块,权限配置信息模块中可以预先配置某一用户能够访问哪些用户数据表的权限。例如:用户1允许访问用户1、2、3,并且用户数据表1属于用户1,用户数据表2属于用户2。如图1b所示,在Hive接收到访问请求事件后,确定单元440可以通过查找权限管理信息确定第一用户是否具有对多个数据集合的访问权限。例如:在权限管理信息中查找到用户2是用户1允许访问的用户,用户数据表2属于用户2,表明该访问请求事件合法,可以进行后续的访问。如果在权限管理信息中,用户1允许访问用户3、用户4,那么该访问请求事件不能通过合法性校验,表明该访问请求事件不合法,不能继续执行访问。
用户在数据仓库400中创建用户数据表时,数据仓库400可以自动保存用户数据表的信息,该信息可以包括创建用户数据表的用户标识、用户数据表的文件存储路径信息等。确定单元440可以根据接收单元420接收到的访问请求事件中第一用户指定的待访问的多个数据集合,确定该多个数据集合如多个用户的用户数据表,并读取用户数据表的信息,确定待访问的每个数据集合对应的多个用户标识。获取单元460也可以在用户数据表的信息中获取到待访问的每个数据集合对应的文件存储路径信息。
在接收单元420接收到访问请求事件、确定单元440确定第一用户具有访问每个数据集合的访问权限之后,获取单元460还可以从用户访问用户数据表的权限配置信息模块中获取多个用户标识对应的身份认证权限,该身份认证权限可以包括多个用户标识对应的身份认证权限即令牌(token),也可以包括多个用户标识对应的身份认证权限和待访问的多个数据集合的文件存储路径信息的对应关系。例如,如图1b所示,用户2的身份认证权限为令牌2,用户2允许访问的用户数据表为用户数据表2,该用户数据表2在HDFS中保存的文件存储路径信息为文件存储路径信息2,则令牌2与文件存储路径信息2具有对应关系。
发送单元480,与所述获取单元460连接,用于向并行计算***下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
例如,如图1b所示,Hive(数据仓库)的发送单元480可以将身份认证权限和文件存储路径信息发送给MR(MapReduce)***,以用于后续MR***使用令牌2访问用户数据表2的数据集合。
在一种可能的实现方式中,获取单元460还可以用于:获取所述每个用户标识的身份认证权限;建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系。这样,发送单元480向并行计算***下发的并行访问任务中还可以包括所述对应关系。
例如,如图1b所示,在Hive的接收单元420接收到访问请求事件、确定单元440确定用户1具有访问用户数据表2的访问权限之后,获取单元460可以通过查找权限配置信息模块,获取用户2的身份认证权限即令牌2,建立令牌2与用户数据表2的文件存储路径信息2的对应关系。
在另一种可能的实现方式中,如果所述身份认证权限包括超级令牌,获取单元460还可以用于:获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
具体地,可以预先设置一个可以访问文件***所有用户的数据集合的超级令牌,并将该超级令牌存储在数据仓库的用户访问用户数据表的权限配置信息模块中。在数据仓库400的接收单元420接收到访问请求事件、确定单元440确定第一用户具有访问待访问的每个数据集合的访问权限之后,获取单元460还可以从权限配置信息模块中,获取该超级令牌。
本实施例的数据仓库,接收单元接收到第一用户的访问请求事件后,在确定单元确定第一用户具有访问待访问的多个数据集合的访问权限的情况下,确定单元可以确定每个数据集合对应的用于标识,获取单元可以获取每个数据集合对应的文件存储路径信息和每个用户标识对应的身份认证权限。通过发送单元可以将身份认证权限和文件存储路径信息一起发送至MR***,以使得MR***可以使用身份认证权限根据待访问数据集合的文件存储路径信息访问HDFS中文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
实施例5
图5示出根据本发明实施例五的数据访问***的结构框图。如图5所示,该数据访问***500可以包括:
数据仓库520,可以是上述实施例四中所描述的数据仓库;
并行计算***540。
具体地,在第一用户需要进行数据访问时,第一用户可以向数据访问***500的数据仓库520发送访问请求事件,在数据仓库520通过其接收单元420接收到该访问请求事件、确定单元440确定第一用户具有访问待访问的每个数据集合的访问权限之后,确定单元440可以根据数据仓库520中保存的用户数据表的信息,确定第一用户指定的待访问的多个数据集合对应的多个用户标识,并通过获取单元460获取每个数据集合对应的文件存储路径信息和每个用户标识对应的身份认证权限,发送单元480将身份认证权限和文件存储路径信息一起发送至MR***540,MR***540可以根据待访问的数据集合的文件存储路径信息使用身份认证权限中相应的身份认证权限访问文件***中文件存储路径信息对应的数据集合。
进一步地,MR***540可以包括:
处理单元560,用于在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
访问单元580,与所述处理单元560连接,用于采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
具体地,MR***540可以接收数据仓库520发送的身份认证权限和文件存储路径信息,身份认证权限中可以包括多个用户标识对应的身份认证权限和身份认证权限与待访问的多个数据集合的文件存储路径信息的对应关系。在MR***540初始化过程中,处理单元560可以根据身份认证权限中多个用户标识对应的身份认证权限和待访问的多个数据集合的文件存储路径信息的对应关系,查找当前访问的数据集合对应的文件存储路径信息对应的身份认证权限,并将该身份认证权限作为访问文件***的访问令牌,访问单元580可以采用访问令牌访问文件***中待访问数据集合对应的文件存储路径信息对应的数据集合。
例如,如图1b所示,通常,用户1需要通过Hive访问自身的数据集合时,MR***540可以使用令牌1作为访问令牌按照文件存储路径信息1访问HDFS中用户1的用户数据表1。在用户1需要访问用户2的用户数据表2时,MR***540可以使用令牌2替换令牌1作为访问令牌,使用令牌2按照文件存储路径信息2访问HDFS中用户数据表2。
在一种可能的实现方式中,处理单元560还可以用于在初始化的过程中,将所述超级令牌作为访问令牌。
具体地,MR***540可以接收数据仓库520发送的身份认证权限和文件存储路径信息,身份认证权限中可以包括超级令牌,该超级令牌允许访问所有用户的数据集合。在MR***540初始化过程中,处理单元560可以将超级令牌作为访问文件***的访问令牌,访问单元580可以采用访问令牌访问文件***中待访问数据集合对应的文件存储路径信息对应的数据集合。
例如,通常,用户1需要通过Hive访问自身的数据集合时,MR***540可以使用令牌1作为访问令牌按照文件存储路径信息1访问HDFS中访问用户1的用户数据表1。假设超级令牌为令牌3,在MR***540需要访问用户2的用户数据表2时,MR***540可以在初始化的过程中获取令牌3,并使用令牌3替换令牌1作为访问令牌,使用令牌3按照文件存储路径信息2访问HDFS中用户数据表2。
本实施例的数据访问***,数据仓库接收第一用户的访问请求事件,并在第一用户具有访问待访问的多个数据集合的访问权限的情况下,获取超级令牌和每个数据集合的文件存储路径信息,并将超级令牌和每个数据集合的文件存储路径信息一起发送至MR***。MR***的处理单元可以采用超级令牌作为访问令牌,访问单元可以使用访问令牌访问HDFS中待访问的数据集合对应的文件存储路径信息对应的数据集合,实现了跨用户访问,一个用户可以访问多个用户的数据集合。
实施例6
图6示出根据本发明实施例六的数据访问装置的结构框图。所述数据访问装置600可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述数据访问装置600包括处理器(processor)610、通信接口(CommunicationsInterface)620、存储器(memory array)630和总线640。其中,处理器610、通信接口620、以及存储器630通过总线640完成相互间的通信。
通信接口620用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器610用于执行程序。处理器610可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器630用于存放文件。存储器630可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器630也可以是存储器阵列。存储器630还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
确定所述第一用户对所述多个数据集合的访问权限;
若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
获取所述每个数据集合对应的文件存储路径信息;
根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
向并行计算***下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息。
在一种可能的实现方式中,所述获取每个用户标识对应的身份认证权限,包括:
获取所述每个用户标识的身份认证权限;
建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
所述并行访问任务中还包括所述对应关系。
在一种可能的实现方式中,在所述向并行计算***下发并行访问任务之后,包括:
所述并行计算***在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
在一种可能的实现方式中,所述身份认证权限包括超级令牌,所述获取每个用户标识对应的身份认证权限,还包括:
获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
在一种可能的实现方式中,在所述向并行计算***下发并行访问任务之后,还包括:
所述并行计算***在初始化的过程中,将所述超级令牌作为访问令牌;
所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (9)
1.一种数据访问方法,其特征在于,包括:
接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
确定所述第一用户对所述多个数据集合的访问权限;
若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
获取所述每个数据集合对应的文件存储路径信息;
根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
向并行计算***下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息;
所述获取每个用户标识对应的身份认证权限,包括:
获取所述每个用户标识的身份认证权限;
建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
所述并行访问任务中还包括所述对应关系。
2.根据权利要求1所述的数据访问方法,其特征在于,在所述向并行计算***下发并行访问任务之后,包括:
所述并行计算***在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
3.根据权利要求1所述的数据访问方法,其特征在于,所述身份认证权 限包括超级令牌,所述获取每个用户标识对应的身份认证权限,还包括:
获取所述超级令牌,所述超级令牌允许访问所有用户的数据集合。
4.根据权利要求3所述的数据访问方法,其特征在于,在所述向并行计算***下发并行访问任务之后,还包括:
所述并行计算***在初始化的过程中,将所述超级令牌作为访问令牌;
所述并行计算***采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
5.一种数据仓库,其特征在于,包括:
接收单元,用于接收第一用户提交的访问请求事件,所述访问请求事件携带所述第一用户指定的待访问的多个数据集合,所述多个数据集合由多个用户创建;
确定单元,与所述接收单元连接,用于确定所述第一用户对所述多个数据集合的访问权限,
所述确定单元还用于若所述第一用户具有访问每个数据集合的访问权限,确定所述多个数据集合对应的多个用户标识;
获取单元,与所述确定单元连接,用于获取所述每个数据集合对应的文件存储路径信息,
所述获取单元还用于根据所述多个用户标识,获取每个用户标识对应的身份认证权限;
发送单元,与所述获取单元连接,用于向并行计算***下发并行访问任务,所述并行访问任务携带所述身份认证权限和所述文件存储路径信息;
所述获取单元还用于获取所述每个用户标识的身份认证权限,建立所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系;
所述并行访问任务中还包括所述对应关系。
6.根据权利要求5所述的数据仓库,其特征在于,所述身份认证权限包括超级令牌,所述获取单元还用于获取超级令牌,所述超级令牌允许访问所有用户的数据集合。
7.一种数据访问***,其特征在于,包括:
数据仓库,采用权利要求5或6所述的数据仓库;
并行计算***。
8.根据权利要求7所述的数据访问***,其特征在于,所述并行计算***包括:
处理单元,用于在初始化的过程中,根据所述每个用户标识的身份认证权限与所述每个数据集合对应的文件存储路径信息的对应关系,查找当前访问的数据集合的文件存储路径信息对应的所述身份认证权限,将所述身份认证权限作为访问令牌;
访问单元,与所述处理单元连接,用于采用所述访问令牌,访问所述文件存储路径信息对应的所述数据集合。
9.根据权利要求8所述的数据访问***,其特征在于,所述身份认证权限包括超级令牌,所述处理单元还用于在初始化的过程中,将所述超级令牌作为访问令牌。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310465886.2A CN103488791B (zh) | 2013-09-30 | 2013-09-30 | 数据访问方法、***及数据仓库 |
PCT/CN2014/084482 WO2015043329A1 (zh) | 2013-09-30 | 2014-08-15 | 数据访问方法、***及数据仓库 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310465886.2A CN103488791B (zh) | 2013-09-30 | 2013-09-30 | 数据访问方法、***及数据仓库 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488791A CN103488791A (zh) | 2014-01-01 |
CN103488791B true CN103488791B (zh) | 2018-03-27 |
Family
ID=49829017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310465886.2A Active CN103488791B (zh) | 2013-09-30 | 2013-09-30 | 数据访问方法、***及数据仓库 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103488791B (zh) |
WO (1) | WO2015043329A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488791B (zh) * | 2013-09-30 | 2018-03-27 | 华为技术有限公司 | 数据访问方法、***及数据仓库 |
CN105069370B (zh) * | 2015-07-22 | 2018-01-30 | 北京京东尚科信息技术有限公司 | 数据库自动授权访问方法 |
CN106055968B (zh) * | 2016-05-31 | 2019-09-17 | 北京金山安全软件有限公司 | 一种权限设置方法、装置及电子设备 |
CN107944288B (zh) * | 2016-10-12 | 2022-09-06 | 北京京东尚科信息技术有限公司 | 一种数据访问控制方法和装置 |
CN108073823B (zh) * | 2016-11-18 | 2021-04-20 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及*** |
CN106649772A (zh) * | 2016-12-27 | 2017-05-10 | 上海上讯信息技术股份有限公司 | 一种访问数据的方法及设备 |
CN107622211A (zh) * | 2017-09-27 | 2018-01-23 | 浪潮软件股份有限公司 | 一种大数据集群权限访问控制方法及装置 |
CN110795137A (zh) * | 2018-08-03 | 2020-02-14 | 北京京东金融科技控股有限公司 | 权限配置方法、装置、***、电子设备及可读介质 |
CN109214210A (zh) * | 2018-09-14 | 2019-01-15 | 南威软件股份有限公司 | 一种优化蜂巢权限管理的方法及*** |
CN109543448B (zh) * | 2018-11-16 | 2022-07-15 | 深圳前海微众银行股份有限公司 | Hdfs文件访问权限控制方法、设备及存储介质 |
CN110083680B (zh) * | 2019-03-20 | 2023-07-25 | 创新先进技术有限公司 | 一种分布式***中上下文数据管理方法及装置 |
CN110866228A (zh) * | 2019-10-17 | 2020-03-06 | 北京旷视科技有限公司 | 对于数据下发的数据信息权限管理方法、装置及*** |
CN111367945A (zh) * | 2020-02-28 | 2020-07-03 | 平安医疗健康管理股份有限公司 | 报表查询方法、装置、设备及计算机可读存储介质 |
CN111563064B (zh) * | 2020-04-28 | 2023-03-14 | 上海鸿翼软件技术股份有限公司 | 一种文件操作的方法、***、设备及可读存储介质 |
CN112446047A (zh) * | 2020-11-26 | 2021-03-05 | 长沙树根互联技术有限公司 | 数据处理方法和装置、服务器及存储介质 |
CN112507298A (zh) * | 2020-11-30 | 2021-03-16 | 北京达佳互联信息技术有限公司 | 用户鉴权方法、装置、服务器以及存储介质 |
CN113051611B (zh) * | 2021-03-15 | 2022-04-29 | 上海商汤智能科技有限公司 | 在线文件的权限控制方法和相关产品 |
CN113806777B (zh) * | 2021-09-18 | 2024-07-16 | 深圳须弥云图空间科技有限公司 | 文件访问的实现方法及装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012981A (zh) * | 2010-11-16 | 2011-04-13 | 传神联合(北京)信息技术有限公司 | 一种通用权限等级分配与匹配方法及其*** |
CN103179126A (zh) * | 2013-03-26 | 2013-06-26 | 山东中创软件商用中间件股份有限公司 | 一种访问控制方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3956149B2 (ja) * | 2005-12-19 | 2007-08-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リソース・コンテンツのアクセス制御方法、システム、およびプログラム |
CN101187930B (zh) * | 2007-12-04 | 2010-06-09 | 浙江大学 | 分布式文件***虚拟目录及命名空间的实现方法 |
US20100223673A1 (en) * | 2009-02-27 | 2010-09-02 | At&T Intellectual Property I, L.P. | Providing multimedia content with access restrictions |
CN101866360A (zh) * | 2010-06-28 | 2010-10-20 | 北京用友政务软件有限公司 | 基于对象多维属性空间的数据仓库鉴权方法及*** |
CN102081710B (zh) * | 2010-12-14 | 2013-06-12 | 中国石油集团川庆钻探工程有限公司 | 权限设置方法和权限控制方法 |
CN102685086A (zh) * | 2011-04-14 | 2012-09-19 | 天脉聚源(北京)传媒科技有限公司 | 一种文件访问方法和*** |
CN103268455B (zh) * | 2013-05-09 | 2015-12-02 | 华为技术有限公司 | 数据的访问方法及装置 |
CN103488791B (zh) * | 2013-09-30 | 2018-03-27 | 华为技术有限公司 | 数据访问方法、***及数据仓库 |
-
2013
- 2013-09-30 CN CN201310465886.2A patent/CN103488791B/zh active Active
-
2014
- 2014-08-15 WO PCT/CN2014/084482 patent/WO2015043329A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012981A (zh) * | 2010-11-16 | 2011-04-13 | 传神联合(北京)信息技术有限公司 | 一种通用权限等级分配与匹配方法及其*** |
CN103179126A (zh) * | 2013-03-26 | 2013-06-26 | 山东中创软件商用中间件股份有限公司 | 一种访问控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2015043329A1 (zh) | 2015-04-02 |
CN103488791A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488791B (zh) | 数据访问方法、***及数据仓库 | |
CN103729250B (zh) | 用于选择被配置为满足一组要求的数据节点的方法和*** | |
US9813423B2 (en) | Trust-based computing resource authorization in a networked computing environment | |
CN104094576B (zh) | 基于云服务之间的信任关系整合不同的云服务数据和行为 | |
CN109428922A (zh) | 一种订阅发布方法及服务器 | |
CN105981331B (zh) | 用来支持流量政策执行的实体处理注册表 | |
CN107580083A (zh) | 一种容器ip地址分配的方法和*** | |
CN107689950B (zh) | 数据发布方法、装置、服务器和存储介质 | |
CN108494799A (zh) | 数据共享方法和*** | |
CN103703444A (zh) | 使得计算设备能够利用另一计算设备 | |
US20190372985A1 (en) | Sensitive information accessibility in blockchain | |
CN103795530B (zh) | 一种跨域控制器认证的方法、装置及主机 | |
WO2021135255A1 (zh) | 基于消息队列的行列权限管理的方法及相关装置 | |
WO2015101230A1 (en) | A service processing method, device, and terminal | |
US20200293514A1 (en) | Managing access by third parties to data in a network | |
US10325091B2 (en) | Generation of secure passwords in real-time using personal data | |
US20140123142A1 (en) | System and method for providing data analysis service in cloud environment | |
CN102082821A (zh) | 基于联邦中心的跨资源池资源安全访问方法与*** | |
CN109274705A (zh) | 基于用户身份的服务提供方法、装置及*** | |
US20210281555A1 (en) | Api key access authorization | |
TWI716385B (zh) | 鑒權方法及鑒權裝置 | |
CN107888663A (zh) | 一种分发文件的方法、设备及计算机可读介质 | |
CN110119396A (zh) | 数据管理方法及相关产品 | |
US20090133096A1 (en) | Micro and macro trust in a decentralized environment | |
CN109145621A (zh) | 文档管理方法及装置 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220218 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |