[发明专利]一种针对SQL分析查询的静态授权方法有效
申请号: | 201610791931.7 | 申请日: | 2016-08-31 |
公开(公告)号: | CN106383855B | 公开(公告)日: | 2019-08-02 |
发明(设计)人: | 贺飞;罗晨 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/245 | 分类号: | G06F16/245 |
代理公司: | 北京律谱知识产权代理事务所(普通合伙) 11457 | 代理人: | 罗建书 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种针对SQL分析查询的静态授权方法,包括:S1:获取用户提交的SQL分析查询;S2:从SQL分析查询中构建出系谱树;S3:基于系谱树,提取出SQL分析查询的数据访问请求;S4:基于访问控制规则,对数据访问请求进行授权。相比于现有的数据库访问控制技术,本发明结合了分析性查询的特点,支持对多个列的同时访问以及操作进行控制。因此,该方法更加灵活、精确的对SQL分析查询进行授权。同时,该方法允许管理员通过编写访问控制规则的方式进行权限管理,并且对用户没有额外的负担,因此更具有可用性。最后,该方法只基于SQL分析查询本身进行授权,因此授权过程更加高效,并适用于大规模的数据分析场景。 | ||
搜索关键词: | 一种 针对 sql 分析 查询 静态 授权 方法 | ||
【主权项】:
1.一种针对SQL分析查询的静态授权方法,其特征在于,所述方法包括:步骤S1:获取用户提交的SQL分析查询;所述SQL分析查询包括:输出和用于条件判断;步骤S2:针对SQL分析查询中的输出和用于条件判断构建出相应的系谱树;其中:系谱树是由数据库表中的列和转换操作组成的树,其中叶子节点是列,非叶子节点是转换操作;为SQL分析查询所访问的每个数据库表中的每一个列都创建一棵由该列组成的系谱树;按照SQL分析查询语句的执行顺序自底向上对SQL分析查询语句进行遍历,当遇到SQL分析查询语句中存在针对列的转换操作时,将该列的转换操作对应地拼接到这些系谱树上以得到一棵新的系谱树;当SQL分析查询语句中存在条件判断操作时,根据条件判断中的转换操作对系谱树进行更新,并将更新后的每棵系谱树放到条件判断操作集合中;当SQL分析查询语句中存在合并UNION、相交INTERSECT和除去EXCEPT语句时,对于其两个子查询中每一组相对应的列,将两个列对应的系谱树通过一个空转换操作合成一棵新的系谱树;所有的SQL语句遍历完毕后,将SQL分析查询最终输出的每个列对应的系谱树都放入到输出outputs集合中;步骤S3:基于系谱树,提取出SQL分析查询的数据访问请求;步骤S4:基于访问控制规则,对数据访问请求进行授权。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610791931.7/,转载请声明来源钻瓜专利网。