[发明专利]SQL语句的处理方法及系统无效
申请号: | 201110094710.1 | 申请日: | 2011-04-15 |
公开(公告)号: | CN102156740A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 徐亚非;于海涛;陈浙一;常乐;杨文勃;曲明;张佃 | 申请(专利权)人: | 国都兴业信息审计系统技术(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市商泰律师事务所 11255 | 代理人: | 毛燕生 |
地址: | 100094 北京市海淀区东*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 语句 处理 方法 系统 | ||
技术领域
本发明涉及数据库技术,尤其涉及一种SQL语句的处理方法及系统。
背景技术
现有技术中(例如很多现有数据库审计的产品)都是通过提取SQL语句的操作类型、SQL语句的表名等对象实现对SQL语句的理解。但是,上述技术存在如下缺陷:第一、SQL语句的操作与操作对象之间相对孤立;第二、无法很好的反向匹配SQL语句;第三、无顺序意义和作用意义;第四、无法在清晰、精简的前提下充分表述SQL语句的原始意义。
发明内容
为了克服现有技术的不足,本发明提供了一种SQL语句的处理方法及系统,基于本发明,可以更好的表示出对SQL语句的理解。
一方面,本发明公开了一种SQL语句的处理方法,所述方法包括:解析步骤,将SQL语句解析为数据库操作摘要,所述数据库操作摘要为数据库操作类型与数据库对象所组成谓宾对的有序集合;其中,所述数据库操作类型表示数据库操作的方式;所述数据库对象表示数据库中的一个实体。
上述SQL语句的处理方法,优选所述解析步骤为:构建SQL语法树,借助词法分析,提取操作类型及数据库对象,组成谓宾对,按照执行的顺序排序。
上述SQL语句的处理方法,优选所述解析步骤为:通过词法解析及语法分析,进行字符串扫描,获取数据库操作类型的关键字,将所述关键字作为数据库操作类型,通过提取字符串后面的词段作为数据库对象部分,将数据库操作类型与数据库对象匹配配对后,按执行顺序排序。
上述SQL语句的处理方法,优选所述解析步骤为:,所述解析步骤为:确定提取数据库SQL语句操作的信息来源,根据上下文,将SQL语句解析为所述数据库操作类型与数据库对象。
另一方面,本发明还公开了一种SQL语句的处理系统,包括解析模块,用于将SQL语句解析为数据库操作摘要,所述数据库操作摘要为数据库操作类型与数据库对象所组成谓宾对的有序集合;其中,所述数据库操作类型表示数据库操作的方式;所述数据库对象表示数据库中的一个实体。
上述SQL语句的处理系统,优选所述解析模块用于:构建SQL语法树,借助词法解析及语法分析,提取操作类型及数据库对象,组成谓宾对,按照执行的顺序排序。
上述SQL语句的处理系统,优选所述解析模块用于:进行字符串扫描,获取数据库操作类型的关键字,将所述关键字作为数据库操作类型,通过提取字符串后面的词段作为数据库对象部分,将数据库操作类型与数据库对象匹配配对后,按执行顺序排序。
上述SQL语句的处理系统,优选所述解析模块为:确定提取数据库SQL语句操作的信息来源,根据上下文,将SQL语句解析为所述数据库操作类型与数据库对象。
相对于现有技术而言,本发明有以下优势:
第一、从SQL语句中提取数据库操作和操作对象的组合,即有序的谓宾对,可以更好的表示出对SQL语句的理解;同时,以简洁的方式表示出数据库操作权限意义;并且,提供了一种结构化的SQL语句的表示。
第二、本发明的提取的数据库摘要,可以有效的用于学习用户权限、对海量SQL语句进行归并处理和对SQL语句进行分类等领域。
附图说明
图1为本发明SQL语句的处理方法实施例的步骤流程图;
图2为本发明SQL语句的处理方法另一实施例的步骤流程图;
图3为本发明SQL语句的处理方法另一实施例的步骤流程图;
图4为本发明SQL语句的处理系统另一实施例的结构框图;
图5为本发明SQL语句的处理系统另一实施例的结构框图;
图6为本发明SQL语句的处理系统实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
SQL语句的处理方法实施例
实施例一
参照图1,图1为本发明SQL语句的处理方法实施例的步骤流程图,包括如下步骤:步骤S110,构建SQL语法树;步骤S120,借助词法分析,提取操作类型及数据库对象,每一操作类型及数据库对象组成一个谓宾对;步骤S130,按照执行的顺序对多个谓宾对进行排序;步骤S140,基于所述数据库操作摘要,进行包括用户权限的学习和对海量SQL语句进行归并处理的操作。
下面对上述各个步骤进行进一步的说明。
在步骤S130中,执行的顺序是指SQL语句被编译后的指令在数据库中的执行的顺序。参照下面的例子对排序进行理解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国都兴业信息审计系统技术(北京)有限公司,未经国都兴业信息审计系统技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110094710.1/2.html,转载请声明来源钻瓜专利网。