[发明专利]一种基于数据库引擎的智能SQL检索关键词技术在审
申请号: | 201710824844.1 | 申请日: | 2017-11-22 |
公开(公告)号: | CN109947792A | 公开(公告)日: | 2019-06-28 |
发明(设计)人: | 杨育斌;陈蔚明;覃晓宁;柯宗贵 | 申请(专利权)人: | 蓝盾信息安全技术股份有限公司 |
主分类号: | G06F16/245 | 分类号: | G06F16/245;G06F16/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510665 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检索关键词 数据库引擎 分析数据库 关键词检索 智能 构建 引擎 | ||
本发明公开了一种基于数据库引擎的智能SQL检索关键词技术,该发明采用分析数据库引擎构建最优SQL语句的方案,从而实现快速SQL关键词检索的目的。
技术领域
本发明涉及一种互联网通信技术领域,特别涉及一种基于数据库引擎的智能SQL检索关键词技术。
背景技术
对于数据库的数据核查,面向的是多种数据库类型,如SQLServer、MySQL、Oracle等等,数据库结构设计都属于未知,现有技术能实现简单的数据库结构分析以及实现简单的SQL脚本构建,但是在检索速度上性能差、经常会造成检索超时问题。因此,提出一种基于数据库引擎的智能SQL检索关键词技术。
发明内容
为克服现有技术的不足,本发明包含以下模块:
1、数据库连接驱动模块,采用现有市面上流行的主流数据库连接驱动,实现程序与数据库连接成功的首个保障。
2、数据库、表结构、字段结构分析模块,采用各数据库自带结构分析语句,分析出服务器安装的数据库、表结构、字段结构、并具体分析到字段类型、主键、外键、唯一键、索引等级别。
3、数据库引擎分析模块,通过分析目标数据库目前正在启用的数据库引擎,因不同引擎对索引策略定义会有不同,会实际影响检索SQL语句的索引是否生效,严重影响检索的性能。
4、最优SQL语句构建模块,根据“数据库、表结构、字段结构分析模块”以及“数据库引擎分析模块”,分析出文本类型的字段,各个数据库不一致,例如SQLServer数据库,属于文本字段的包括:varchar\nvarchar\char\nchar\text等,文本字段是属于需要进行关键词分析的字段;此外,分析出主键及索引字段,并结合采用的数据库引擎分析结果,对检索的字段的排序进行匹配排序,确保检索索引生效,提高检索性能。
5、单表多线程快速匹配结果模块,考虑到在实际的业务中,表数据多数会集中在某一张或某几张表上,因此对于采用多线程但是单表单线程的方式,对性能的提高将非常有限,因此在“数据库、表结构、字段结构分析模块”分析结果上,实现对表数据量数进行获取,从而实现对单表分页多线程的实现,提高检索性能。
6、全文检索分析模块,因为智能SQL检索出来的结果数据库关键词初步命中结果,但是想要实现“与或非”或者“多层级与或非嵌套”的复杂规则时,则需要采用“全文检索技术”,对初步结果进行分词处理,并将复杂规则转换成全文检索搜索语法,实现结果的快速命中;并且采用“全文检索技术”实现了二次检索功能。
7、关键词命中结果,实现结果输出,实现命中关键词统计及结果展示。
本发明本发明技术方案带来的有益效果:
本发明通过主动分析数据库结果,构建最优SQL,提供数据库关键词检索的性能。便于检查数据库中数据源是否存在敏感涉密信息,及时发现,排除隐患;性能的提高,有利于检查机关进行现场快速检查的可行性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的流程示意图;
图2为数据库分析图示;
图3为表结构分析图示;
图4为字段结构分析图示;
图5为最优SQL语句构建模块图示;
图6为单表多线程快速匹配图示;
图7为关键词命中结果图示;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蓝盾信息安全技术股份有限公司,未经蓝盾信息安全技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710824844.1/2.html,转载请声明来源钻瓜专利网。