一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视图创建方法、装置和计算机可读存储介质与流程

2021-11-29 13:53:00 来源:中国专利 TAG:
1.本技术属于数据处理
技术领域
:,尤其涉及一种视图创建方法、装置和计算机可读存储介质。
背景技术
::2.随着海量数据的增长,越来越多的企业将大数据服务云作为共享的基础数据,为大数据服务云上的应用提供基础数据共享和服务。数据湖是汇聚不同数据源的溪流,结构化数据 非结构化数据,按照贴源的模型进行存储,形成数据全集。3.随着大数据服务云的持续建设与推广,越来越多的境内外分行和分支机构更加积极主动的基于数据湖数据在云上开展特色场景建设以及数据分析挖掘工作,深挖数据价值,推动智能化应用。在银行架构内,一般情况下各上游应用纳入数据湖数据面向分行开放时,需要控制分行只能访问辖内的数据。4.hive数据仓库的数据一般向各业务部门共享访问和使用,但有些私有数据不适合业务部门开放,只给特殊部门访问开通,那么就需对查询数据的用户进行范围访问控制策略。受安全管控机制的约束,有些数据的某些字段作为敏感类信息,如用户身份字段、手机号字段,仅能对数据的归属部门展示,对于非归属部门是不可以展示的。5.针对如何实现hive数据仓库中数据的查询权限管理,目前尚未提出有效的解决方案。技术实现要素:6.本技术目的在于提供一种视图创建方法、装置和计算机可读存储介质,可以实现对hive视图的访问权限的可控设置。7.本技术提供一种视图创建方法、装置和计算机可读存储介质是这样实现的:8.一种视图创建方法,所述方法包括:9.获取规则配置信息;10.根据所述规则配置信息生成视图创建语句;11.调用hive接口,通过所述视图创建语句创建目标视图;12.通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。13.在一个实施方式中,通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限包括:14.创建视图数据库;15.创建与视图数据库数量相同的角色;16.为角色授予数据库级别的访问权限;17.将hive用户添加到角色中,以使得用户继承角色的访问权限。18.在一个实施方式中,根据所述规则配置信息生成视图创建语句,包括:19.连接hive表的元数据库,读取元数据库中的字段名;20.将元数据库中的字段名与所述规则配置信息进行组合,生成视图创建语句;21.相应的,调用hive接口,通过所述视图创建语句创建目标视图,包括:22.连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。23.在一个实施方式中,根据所述规则配置信息生成视图创建语句,包括:24.获取规则配置信息中的权限范围字段;25.根据所述权限范围字段确定是否为共享视图;26.在确定不是共享视图的情况下,通过控制字段关联用户地区映射表,其中,通过所述控制字段控制用户查询返回结果的范围为所属辖区内地区的数据;27.连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。28.在一个实施方式中,根据所述规则配置信息生成视图创建语句,包括:29.确定所述规则配置信息中的视图库是否为敏感类视图库;30.在确定所述规则配置信息中的视图库为敏感类视图库的情况下,对敏感字段套用加密函数后作为原字段输出;31.在确定所述规则配置信息中的视图库不是敏感类视图库的情况下,所有字段的值以原值返回;32.连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。33.在一个实施方式中,在为所述目标视图设置访问权限之后,还包括:34.接收配置中心的动态更新权限的请求;35.响应于所述动态更新权限的请求,对为所述目标视图设置的访问权限进行更新。36.在一个实施方式中,获取规则配置信息,包括:37.从多个途径批量读取多条配置规则;38.其中,所述多途径包括以下至少之一:关系型数据库、共享文件存储、配置中心。39.在一个实施方式中,在通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口之后,还包括:40.接收用户的视图查询请求;41.响应于所述视图查询请求生成视图查询语句;42.连接hive集群,调用hive集群接口,执行视图查询语句;43.接收hive集群返回的查询结果,在用户具备查询权限的情况下,返回查询内容结果,在用户不具备查询权限的情况下,返回无查询权限提示信息。44.一种视图创建装置,包括:45.获取模块,用于获取规则配置信息;46.生成模块,用于根据所述规则配置信息生成视图创建语句;47.创建模块,用于调用hive接口,通过所述视图创建语句创建目标视图;48.设置模块,用于通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。49.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现如下方法的步骤:50.获取规则配置信息;51.根据所述规则配置信息生成视图创建语句;52.调用hive接口,通过所述视图创建语句创建目标视图;53.通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。54.本技术提供的视图创建方法、装置,获取规则配置信息,根据规则配置信息生成视图创建语句;调用hive接口,通过所述视图创建语句创建目标视图;通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。在面向hive视图构建的时候,通过基于角色级别的访问权限设定,可以实现高效的访问权限设置。附图说明55.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。56.图1是本技术提供的视图创建方法一种实施例的方法流程图;57.图2是本技术提供的实现hive数据访问权限控制的系统的架构图;58.图3是本技术提供的权限规则配置服务模块的步骤流程图;59.图4是本技术提供的视图查询模块的步骤流程图;60.图5是本技术提供的视图创建模块的步骤流程图;61.图6是本技术提供的一种视图创建方法的电子设备的硬件结构框图;62.图7是本技术提供的视图创建模块一种实施例的模块结构示意图。具体实施方式63.为了使本
技术领域
:的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。64.hive视图是定义在原始表上的查询语句,使用视图查询,视图所定义的查询语句和用户的查询语句组合在一起,可以想象为hive先执行这个视图,然后使用这个结果进行后续的查询。对于视图而言,一个常见的使用场景就是基于一个或多个列的值来限制输出结果,因此视图可以作为一个安全机制,也就是不给用户直接访问具有安全受控要求的原始数据表,而是提供给用户一个含义限制了句的视图以供查询。65.hive中可以对用户(user)、角色(role)授予权限或回收权限。hive中用户是系统用户名,可以将数据库、数据库下的表和视图的权限授予用户。如果表很多,同时用户也很多,那么对于用户级别的权限授予将会导致较高的运维成本。基于角色(role)级别的授权相对而言要好一些,一个角色包含多个用户,一个用户可以属于不同的角色。用户可以放置在角色(role)中同时可以为角色进行授权。66.在本例中,通过使用hive视图和hive角色两种技术,实现数据访问权限的准确和灵活控制。具体的,提供了一种视图创建方法,如图1所示,可以包括如下步骤:67.步骤101:获取规则配置信息;68.步骤102:根据所述规则配置信息生成视图创建语句;69.步骤103:调用hive接口,通过所述视图创建语句创建目标视图;70.步骤104:通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。71.在上例中,获取规则配置信息,根据规则配置信息生成视图创建语句;调用hive接口,通过所述视图创建语句创建目标视图;通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。在面向hive视图构建的时候,通过基于角色级别的访问权限设定,可以实现高效的访问权限设置。72.考虑到可以先创建视图数据库,再创建与数据库数量相同的角色,并授予角色数据库级别的权限。将hive的用户添加到角色中,由于用户可以继承角色的权限,用户也就有数据库下的视图的访问权限。由于原始表没有授予用户权限,用户是不能访问原始表的,只能访问视图,从而可以达到通过视图进行精准权限控制的目的。具体的,通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限可以包括:创建视图数据库;创建与视图数据库数量相同的角色;为角色授予数据库级别的访问权限;将hive用户添加到角色中,以使得用户继承角色的访问权限。73.在一个实施方式中,根据所述规则配置信息生成视图创建语句,可以包括:连接hive表的元数据库,读取元数据库中的字段名;将元数据库中的字段名与所述规则配置信息进行组合,生成视图创建语句;相应的,调用hive接口,通过所述视图创建语句创建目标视图,包括:连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。即,使用规则配置化的方式创建权限控制的视图,可以完成大批量的任务,减少因手工写视图语句而耗费的资源,且避免了人为出错的因素。74.具体的,在根据所述规则配置信息生成视图创建语句的时候,可以获取规则配置信息中的权限范围字段;根据所述权限范围字段确定是否为共享视图;在确定不是共享视图的情况下,通过控制字段关联用户地区映射表,其中,通过所述控制字段控制用户查询返回结果的范围为所属辖区内地区的数据;连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。75.例如,以地区控制视图数据权限为例说明,具体的,可以使用hive中current_user(系统内嵌函数)获取当前用户,关联hive表user_zone_ctrl(地区与用户映射表)后获取用户所属地区,再与原表中的字段值(例如:地区号)关联,满足条件的原表的查询结果才返回,以此达到控制用户访问数据的权限。76.为了实现视图对敏感字段加密处理,在根据规则配置信息生成视图创建语句的时候,可以确定所述规则配置信息中的视图库是否为敏感类视图库;在确定所述规则配置信息中的视图库为敏感类视图库的情况下,对敏感字段套用加密函数后作为原字段输出;在确定所述规则配置信息中的视图库不是敏感类视图库的情况下,所有字段的值以原值返回;连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。77.例如,可以将视图库分为两类,例如:非敏感类view_db_a,敏感类view_db_b。其中,非敏感类的视图库下的视图的所有字段的值是原值返回,敏感类的视图库下视图的字段,如用户身份证、手机号等隐私需要加密后返回。78.考虑到hive数据仓库中表的数量比较多,手动为每个原始表创建不同类型的多个视图非常耗费人力,且容易出错。为此,在本例中使用数据权限规则配置,再根据规则生成视图创建语句,再调用hive接口,完成视图的创建。例如,可以使用配置中心,当权限规则配置发生变化时,可以动态刷新权限规则关联的视图,从而降低修改规则的成本。例如,在为所述目标视图设置访问权限之后,还可以接收配置中心的动态更新权限的请求;响应于所述动态更新权限的请求,对为所述目标视图设置的访问权限进行更新。79.在获取规则配置信息的时候,可以从多个途径批量读取多条配置规则;其中,所述多途径可以包括但不限于以下至少之一:关系型数据库、共享文件存储、配置中心。80.在通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口之后,可以接收用户的视图查询请求;响应于所述视图查询请求生成视图查询语句;连接hive集群,调用hive集群接口,执行视图查询语句;接收hive集群返回的查询结果,在用户具备查询权限的情况下,返回查询内容结果,在用户不具备查询权限的情况下,返回无查询权限提示信息。即,可以实现用户对hive视图的查询请求。81.下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。82.在本例中,提供了一种通用的实现hive数据访问权限控制的系统和方法,从而可以安全地、灵活地解决访问数据的查询权限的问题。83.在本例中,通过使用hive视图和hive角色两种技术,实现数据访问权限的准确和灵活控制。首先,创建视图数据库,再创建与数据库数量相同的角色,并授予角色数据库级别的权限。84.将hive的用户添加到角色中,由于用户可以继承角色的权限,用户也就有数据库下的视图的访问权限。由于原始表没有授予用户权限,用户是不能访问原始表的,只能访问视图,从而可以达到通过视图进行精准权限控制的目的。85.在本例中,以地区控制视图数据权限为例说明,具体的,可以使用hive中current_user(系统内嵌函数)获取当前用户,关联hive表user_zone_ctrl(地区与用户映射表)后获取用户所属地区,再与原表中的字段值(例如:地区号)关联,满足条件的原表的查询结果才返回,以此达到控制用户访问数据的权限。86.考虑到hive数据仓库中表的数量比较多,手动为每个原始表创建不同类型的多个视图非常耗费人力,且容易出错。为此,在本例中使用数据权限规则配置,再根据规则生成视图创建语句,再调用hive接口,完成视图的创建。例如,可以使用配置中心,当权限规则配置发生变化时,可以动态刷新权限规则关联的视图,从而降低修改规则的成本。87.如图2所示,本例提供了一种实现hive数据访问权限控制的系统,可以包括:权限规则配置服务模块201、视图创建模块202、视图授权模块203、视图查询模块204。其中:88.权限规则配置服务模块201用于提供权限开放规则的配置服务,可接受多种途径的配置方式。89.视图创建模块202用于调用权限规则配置服务模块201获取配置信息,根据规则逻辑和源表字段信息生成视图语句,再连接hive集群创建视图。90.视图授权模块203用于将视图查询权限授予用户;91.视图查询模块204用于提供用户查询的接口,在输入查询语句后,可返回查询结果。92.如图3所示,为权限规则配置服务模块201的步骤流程图,其中模块支持多种类型的数据源获取方式,包括:关系型数据库(如mysql关系型数据库)、共享文件存储方式(如hdfs分布式存储)、配置中心(如apollo配置中心)。具体步骤如下:93.步骤1:从关系型数据库拉取规则配置信息,一次读取批量的多条配置规则。权限规则配置存储于一张表,例如表名hive_view_regulation_info,字段格式可以如下表1所示。94.新建的视图名称可以以“视图库名.视图名”方式命名,视图归属于相应的视图库下。表名为视图的原始表名,视图的字段来自于这个表。权限范围为此视图是否需要控制查询结果的输出范围,可以为空值。当需要控制结果输出范围时,控制字段名用于与用户所属范围的配置表关联。95.表196.视图名视图库名表名权限范围控制字段名a_view_1db_view_aa_table_11b_view_1db_view_bb_table_12zoneno97.其中权限范围的字典值含义可以如下表2所示:98.表299.字典值含义1共享视图,全量数据开放查询2有限共享视图,需要控制用户查询数据范围100.步骤2:从共享文件存储拉取规则配置信息,一次读取批量的多条配置规则。共享文件存储使用hdfs(分布式文件存储)文件保存配置内容,用csv类型(内容间逗号分隔)的格式,每一行的字段个数与步骤1中数据库中的表结构一致。这种配置信息的保存方式优点是可以保存数据大批量的配置,且数据不易丢失,读取数据方式可靠。101.步骤3:从配置中心拉取权限配置信息。通过引入配置中心,动态更新权限配置,当配置设置不合理而需要修改时,更新配置中心的配置,由配置中心发出更新通知,最终可以更新视图的权限控制规则。102.步骤4:应用系统b连接配置中心,发送更新权限配置请求。103.步骤5:应用系统b连接共享存储系统,新写入或者覆盖配置文件,可以以批量的方式写入配置。104.步骤6:应用系统b连接关系数据库,插入或者更新权限配置表,可以以批量的方式写入配置。105.如图4所示为结构图,本例所提供的方案支持分布式的多用户并发操作,用户a在线发出构建视图的请求,用户b可以实时查询新创建的视图。视图创建模块202启动多个进程,以支撑多用户的操作。106.调用权限规则配置服务模块201,获取权限配置规则。连接hive表的元数据库,读取原表的字段名。规则和原表字段组合生成视图语句,连接hive集群,调用hive接口完成视图创建。使用规则配置化的方式创建权限控制的视图,可以完成大批量的任务,减少因手工写视图语句而耗费的资源,且避免了人为出错的因素。107.权限规则配置服务模块201可以读取多种数据源的配置,提高了配置的灵活性和多样性,尤其是配置中心支持配置的动态更新,可以实现视图权限更新的实时生效。视图查询模块204连接hive集群,提供用户查询接口的服务。查询视图语句输入后,语句发送给hive集群,返回的结果再返回给用户。108.具体的步骤可以包括:109.步骤1:用户a发出创建hive视图的请求。110.步骤2:连接hive表的元数据库,获取原表的字段信息。例如:创建a_view_1视图,需先获取a_table_1表的所有字段名。hive的表信息都存储在hive表的元数据库中,如果表更新了字段名后需要刷新视图,可以重新从hive表的元数据库读取字段,更新视图语句。111.步骤3:在视图语句拼接完成后,连接hive集群,调用hive集群接口,执行创建视图命令。112.步骤4:用户b调用视图查询模块204,发送查询视图语句。113.步骤5:视图查询模块204连接hive集群,调用hive集群接口,执行查询视图命令。114.步骤6:hive集群返回查询结果。如果视图没有给用户授予权限,则返回错误提示“用户b没有视图的查询权限”。115.步骤7:视图查询模块204将查询结果返回给用户。116.如图5所示,为视图创建模块203的流程图。视图创建模块203将配置规则转化为视图定义语句,然后连接hive集群,调用视图创建命令,完成视图创建的功能。视图创建模块203对外提供一个服务接口,外部只需要调用此接口,就可以完成复杂视图的创建,其内部包含视图生成器、视图创建器等重要组件。当前大数据背景下,需要控制hive表的数量非常多,通过视图创建模块203可以极大简化完成有权限控制视图的创建。并且当权限规则有变化时,视图创建模块203也可以及时获取最新配置,并完成刷新视图的工作,这样可以达到权限的灵活控制和动态调整的目的。117.视图创建模块203的视图创建的流程可以包括:118.步骤1:调用权限规则配置服务模块201的接口,获取规则配置信息。119.步骤2:服务进程读取规则信息加载进内存,解析配置信息。120.如果规则信息来源于关系数据库表,则为每条记录创建一个简单的对象,字段值设置为对应的对象属性。121.步骤3:读取规则配置的权限范围字段,判断是否为共享视图。如果值为1,则不需要控制权限范围,进入步骤5。如果值为2,则需要控制权限范围,进入步骤4。122.步骤4:用控制字段关联用户地区映射表。123.以使用地区控制方式为例,视图用地区字段控制用户查询返回结果的范围,限制用户只可以查询所属辖内地区的数据。用户所属地区存储在hive表,例如:用户地区表user_zone_ctrl,有用户名和所属地区两个字段。hive数据库的函数current_user(公用函数)可以获取当前查询用户的用户名。视图原表关联用户地区表user_zone_ctrl,关联条件为原表的地区字段值存在于当前查询用户的所属地区中,使用sql关联语法“leftsemijoin”。这个语法的处理逻辑是用左表的条件字段值与右表的字段值匹配,只要在右表中找到第一个满足条件的记录即可返回左表的记录。这样既可以达到返回控制要求的左表的记录,在右表有多条数据匹配的时候又不会造成返回结果的数据重复。124.其中,用户地区表user_zone_ctr的结构可以如下表3所示:125.表3126.user_name(用户名)zone_num(地区)user_110001user_110002user_220002127.以原表a_view_1与用户地区表user_zone_ctrl为例,关联语句的语法结构可以表示为:128.b_view_1t1leftsemijoinuser_zone_ctrlt2129.oncast(t1.zonenoasint)=cast(t2.zone_numasint)130.andt2.user_name=current_user()131.步骤5:获取数据表的字段名,同时获取表的字段注释。132.hive数据库的表元数据信息存储在关系型数据库,其信息包含表名、字段名、字段注释等。视图定义的字段与原表的字段一致,视图是含义控制逻辑的语句,在查询使用上与原表相同的。133.步骤6:判断规则信息中的视图库是否为敏感信息屏蔽类型。134.首先将视图库分为两类,例如:非敏感类view_db_a,敏感类view_db_b。其中,非敏感类的视图库下的视图的所有字段的值是原值返回,敏感类的视图库下视图的字段,如用户身份证、手机号等隐私需要加密后返回。如果视图库是非敏感类进入步骤8,视图库是敏感类进入步骤7。135.步骤7:字段名套用加密函数后作为原字段名输出。根据字段的注释识别为敏感字段,如身份证字段customer_no:136.udf.certificates(customer_no)ascustomer_no。137.步骤8:关联条件和表的字段拼接成视图语句。如敏感类视图库,地区控制查询范围,最终视图语句:138.createviewview_db_b.b_view_1as139.selectt1.colum1,udf.certificates(customer_no)ascustomer_no,....140.fromb_table_1t1leftsemijoinuser_zone_ctrlt2141.ont1.zoneno=t2.zone_numandt2.user_name=current_user()142.步骤9:连接hive集群创建视图。视图语句生成,连接hive集群,调用视图创建命令,视图创建完成。143.视图授权模块203的流程图。视图授予用户查询权限,通过调用grantselect授权接口。需要访问视图用户比较多的情况下,对每个用户都执行一遍授权的方式较为繁琐,因此,在本例中通过新建一个角色,为角色添加用户,再将视图授予角色,通过这种间接授权的方法,为用户设置查询视图的权限。用视图库的方式将控制权限划分为几大类,如全业务共享视图、部分业务访问视图、敏感类视图、非敏感类视图,当视图库的查询权限授予某个角色时,hive数据库特性此角色对视图库下的所有视图有查询权限,同时此角色内的所有用户也就有视图的查询权限。144.视图授权模块203的步骤可以包括:145.步骤1:新建用户角色,创建与视图库数量对应的角色。146.步骤2:用户角色添加用户名。连接hive集群,调用hive接口,增加角色。147.步骤3:视图库查询权限授予用户角色。连接hive集群,调用hive接口,授予角色的视图库的查询权限。148.进一步的,视图类型可以分为:无规则控制的共享视图、受规则控制的共享视图、需授权的不共享视图,在每一类中又分一类视图和二类视图,一类视图对敏感字段信息进行的加密,二类视图无加密处理。处理规则可以是:149.1)对于开放共享视图,一类视图为实体表数据的全部展示,二类视图对敏感字段加密处理。视图库的权限已赋权给规定的用户,视图建好后,规定的用户即可有权访问。150.2)对于受规则控制的共享视图,一般规则为地区控制访问,需要用表的规则字段关联另一张规则范围表,即用户所属辖内地区表。可以使用多个规则,取规则的并集,即任何一个条件满足就可展示数据。151.3)对于需授权的不共享视图,一类视图为实体表数据的全部展示,二类视图对敏感字段加密处理。视图库的权限无赋权给规定的用户,视图建好后,需通过视图授权装置授权后,用户才可以访问。152.具体的,视图类型可以包括但不限于如下几种:153.境内总行非敏感视图(bdpview),全信息全字段不屏蔽;154.境内总行敏感视图(bdpviewb),敏感字段屏蔽;155.境内分行非敏感视图(bdpviewx),全信息全字段不屏蔽,同时要按照是否按照地区管控,判断是否需要关联user_zone_ctrl做地区控制;156.境内分行敏感视图(bdpviewxb),同时要按照是否按照地区管控,判断是否需要关联user_zone_ctrl做地区控制;157.总行非共享非敏感视图(other_bdpview),全信息全字段不屏蔽;158.总行非共享敏感视图(other_bdpviewb),敏感字段屏蔽;159.分行非共享非敏感视图(other_bdpviewx),全信息全字段不屏蔽,同时要按照是否按照地区管控,判断是否需要关联user_zone_ctrl做地区控制;160.分行非共享敏感视图(other_bdpviewxb),敏感字段屏蔽,同时要按照是否按照地区管控,判断是否需要关联user_zone_ctrl做地区控制;161.境外分行非敏感视图(fcm_bdpviewx),全信息全字段不屏蔽,要按照是否按照地区管控,判断是否需要关联user_zone_ctrl做地区控制;162.境外分行敏感视图(fcm_bdpviewxb),敏感字段屏蔽,要按照是否按照地区管控,判断是否需要关联user_zone_ctrl做地区控制。163.通过上述方案,可以增加hive数据访问的安全性,实现细粒度的控制授权,防止信息泄露风险,从而提高了数据访问控制的准确性和实时性,可以确保所访问的数据范围准确,权限规则实时在线修改和生效,可以满足大型企业对海量数据的权限灵活控制的需求,为查询权限控制提供了一条高效、可靠的方法。164.本技术上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图6是本技术提供的一种视图创建方法的电子设备的硬件结构框图。如图6所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器02(处理器02可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器04、以及用于通信功能的传输模块06。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。165.存储器04可用于存储应用软件的软件程序以及模块,如本技术实施例中的视图创建方法对应的程序指令/模块,处理器02通过运行存储在存储器04内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的视图创建方法。存储器04可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器04可进一步包括相对于处理器02远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。166.传输模块06用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备10的通信供应商提供的无线网络。在一个实例中,传输模块06包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块06可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。167.在软件层面,上述视图创建装置可以如图7所示,包括:168.获取模块701,用于获取规则配置信息;169.生成模块702,用于根据所述规则配置信息生成视图创建语句;170.创建模块703,用于调用hive接口,通过所述视图创建语句创建目标视图;171.设置模块704,用于通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。172.在一个实施方式中,设置模块704具体可以创建视图数据库;创建与视图数据库数量相同的角色;为角色授予数据库级别的访问权限;将hive用户添加到角色中,以使得用户继承角色的访问权限。173.在一个实施方式中,生成模块702具体可以连接hive表的元数据库,读取元数据库中的字段名;将元数据库中的字段名与所述规则配置信息进行组合,生成视图创建语句;相应的,创建模块704具体可以连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。174.在一个实施方式中,生成模块702具体可以获取规则配置信息中的权限范围字段;根据所述权限范围字段确定是否为共享视图;在确定不是共享视图的情况下,通过控制字段关联用户地区映射表,其中,通过所述控制字段控制用户查询返回结果的范围为所属辖区内地区的数据;连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。175.在一个实施方式中,生成模块702具体可以确定所述规则配置信息中的视图库是否为敏感类视图库;在确定所述规则配置信息中的视图库为敏感类视图库的情况下,对敏感字段套用加密函数后作为原字段输出;在确定所述规则配置信息中的视图库不是敏感类视图库的情况下,所有字段的值以原值返回;连接hive集群,调用hive接口,通过所述视图创建语句创建目标视图。176.在一个实施方式中,上述视图创建装置具体还可以在为所述目标视图设置访问权限之后,接收配置中心的动态更新权限的请求;响应于所述动态更新权限的请求,对为所述目标视图设置的访问权限进行更新。177.在一个实施方式中,获取模块701具体可以从多个途径批量读取多条配置规则;其中,所述多途径包括以下至少之一:关系型数据库、共享文件存储、配置中心。178.在一个实施方式中,上述视图创建装置具体还可以在通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口之后,接收用户的视图查询请求;响应于所述视图查询请求生成视图查询语句;连接hive集群,调用hive集群接口,执行视图查询语句;接收hive集群返回的查询结果,在用户具备查询权限的情况下,返回查询内容结果,在用户不具备查询权限的情况下,返回无查询权限提示信息。179.本技术的实施例还提供能够实现上述实施例中的视图创建方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(communicationsinterface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的视图创建方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:180.步骤1:获取规则配置信息;181.步骤2:根据所述规则配置信息生成视图创建语句;182.步骤3:调用hive接口,通过所述视图创建语句创建目标视图;183.步骤4:通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。184.从上述描述可知,本技术实施例获取规则配置信息,根据规则配置信息生成视图创建语句;调用hive接口,通过所述视图创建语句创建目标视图;通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。在面向hive视图构建的时候,通过基于角色级别的访问权限设定,可以实现高效的访问权限设置。185.本技术的实施例还提供能够实现上述实施例中的视图创建方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的视图创建方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:186.步骤1:获取规则配置信息;187.步骤2:根据所述规则配置信息生成视图创建语句;188.步骤3:调用hive接口,通过所述视图创建语句创建目标视图;189.步骤4:通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。190.从上述描述可知,本技术实施例获取规则配置信息,根据规则配置信息生成视图创建语句;调用hive接口,通过所述视图创建语句创建目标视图;通过为角色授权、用户归属于角色的方式,为所述目标视图设置访问权限,并提供数据查询接口。在面向hive视图构建的时候,通过基于角色级别的访问权限设定,可以实现高效的访问权限设置。191.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件 程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。192.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。193.虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。194.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。195.虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。196.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。197.本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。198.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。199.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。200.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。201.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。202.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。203.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd‑rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。204.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd‑rom、光学存储器等)上实施的计算机程序产品的形式。205.本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。206.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。207.以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献