[发明专利]数据库操作语言脚本优化方法、装置及系统在审
申请号: | 201510849394.2 | 申请日: | 2015-11-27 |
公开(公告)号: | CN106814997A | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 朱前磊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F21/31 |
代理公司: | 北京三友知识产权代理有限公司11127 | 代理人: | 党晓林 |
地址: | 英属开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 操作 语言 脚本 优化 方法 装置 系统 | ||
技术领域
本申请涉及数据库技术领域,尤其是涉及一种数据库操作语言脚本优化方法、装置及系统。
背景技术
众所周知,在数据库技术中,诸如结构化查询语言(Structured Query Language,SQL)等数据库语言是存取数据以及查询、更新和管理数据库系统的接口。比如,用户在使用基于开放数据处理服务(Open Data Processing Service,ODPS)系统的过程中,可能经常需要基于查询语句查询ODPS中数据表及其字段。而多数数据库语言通常可提供通过特殊字符或字符串等查询语句查询所需表及其字段的功能。以SQL为例,用户通常可使用“*”来查询所需的字段。在某些情况下,往往一些所要查询的表需申请查询权限后才能访问;此外,即使在已经获得查询权限的情况下,如果这些表的某些字段比较特殊(比如包含有敏感信息),那么用户一般还需要另外针对表中的特殊字段申请权限。
然而,到目前为止,在基于脚本的任务提交执行前,用户通常并不知晓其所要查询的表中是否存在某些需另外申请权限的字段(除非采用人工去逐个判断所要查询的表中是否存在某些需另外申请权限的字段,但这样效率会非常低下,实际上难以实施)。在这种情况下,一旦用户所要查询的表中存在需另外申请权限的字段,必然会导致任务中途执行失败。如此以来,不仅浪费了系统资源,也降低了用户体验。
发明内容
本申请实施例的目的在于提供一种数据库操作语言脚本优化方法、装置及系统。
为达到上述目的,一方面,本申请实施例提供了一种数据库操作语言脚本优化方法,包括以下步骤:
获取用户提交的操作语言脚本;
对所述操作语言脚本进行语法分析,获得所述用户所指定访问的数据表及其字段的标识或名称;
判断所述用户是否有访问所述数据表及其字段的权限;
如果所述用户没有访问所述数据表及其字段的权限,则为所述用户发起访问所述数据表及其字段的权限申请。
另一方面,本申请还提供了一种数据库操作语言脚本优化装置,包括:
脚本获取模块,用于获取用户提交的操作语言脚本;
语法分析模块,用于对所述操作语言脚本进行语法分析,获得所述用户所指定访问的数据表及其字段的标识或名称;
权限控制模块,用于判断所述用户是否有访问所述数据表及其字段的权限;
权限申请模块,用于当所述用户没有访问所述数据表及其字段的权限时,为所述用户发起访问所述数据表及其字段的权限申请。
再一方面,本申请还提供了一种数据库系统,其包括数据库操作语言脚本优化装置,所述数据库操作语言脚本优化装置包括:
脚本获取模块,用于获取用户提交的操作语言脚本;
语法分析模块,用于对所述操作语言脚本进行语法分析,获得所述用户所指定访问的数据表及其字段的标识或名称;
权限控制模块,用于判断所述用户是否有访问所述数据表及其字段的权限;
权限申请模块,用于当所述用户没有访问所述数据表及其字段的权限时,为所述用户发起访问所述数据表及其字段的权限申请。
本申请实施例中,当用户没有访问所述数据表及其字段的权限时,就会自动为该用户发起访问所述数据表及其字段的权限的申请;在成功申请权限后,该用户在下次访问时就能使用该数据表及其字段了,通过上述脚本提交执行前的预处理,避免了脚本执行过程中因缺少相应的访问权限而导致的中途失败,从而减少了计算资源及用户时间的浪费,提高了用户体验。
附图说明
此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,并不构成对本申请实施例的限定。在附图中:
图1为本申请一实施例的数据库操作语言脚本优化方法的流程图;
图2为本申请另一实施例的数据库操作语言脚本优化方法的流程图;
图3为本申请一实施例的数据库系统的架构图;
图4为本申请一实施例的数据库操作语言脚本优化装置的结构框图;
图5为本申请另一实施例的数据库操作语言脚本优化装置的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请实施例做进一步详细说明。在此,本申请实施例的示意性实施例及其说明用于解释本申请实施例,但并不作为对本申请实施例的限定。
下面结合附图,对本申请实施例的具体实施方式作进一步的详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510849394.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种业务流程引擎流程图形化展现方法
- 下一篇:表单序列化方法及装置