数据库操作方法、装置、设备和计算机可读存储介质制造方法及图纸

技术编号:24455951 阅读:27 留言:0更新日期:2020-06-10 15:33
本发明专利技术公开了一种数据库操作方法,包括以下步骤:在接收到数据库操作请求时,获取所述数据库操作请求对应的操作指令;通过预设SQL语法解析器解析所述操作指令,获得所述操作指令的语法结构,和所述操作指令中包含的关键字符信息;根据所述语法结构和所述关键字符信息,构建所述操作指令对应的SQL语法树;根据所述SQL语法树获取所述关键字符信息的验证规则,在所述关键字符信息符合所述验证规则时,执行所述操作指令。本发明专利技术还公开了一种数据库操作装置、设备和计算机可读存储介质。本发明专利技术具有降低数据库操作的风险性的有益效果。

Database operation method, device, equipment and computer readable storage medium

【技术实现步骤摘要】
数据库操作方法、装置、设备和计算机可读存储介质
本专利技术涉及数据库操作领域,尤其涉及数据库操作方法、装置、设备和计算机可读存储介质。
技术介绍
SQL(StructuredQueryLanguage,结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是各种数据库最直接也是最通用的操作数据的语言,尽管SQL本身的能力非常强大,但是利用SQL语句进行数据库操作时,也无可避免地会给数据库带来很多安全问题,为了减少这些安全问题,当前通常会设置SQL预警,例如,在每次数据库中有新增的表时候,数据库运维人员都设置新增表的访问权限,在数据库操作时根据SQL语句信息,判断是否具有数据库操作权限,若不具有数据库操作权限,则进行SQL预警,这样的SQL预警方式,预警的粒度较粗且每次都需要额外的维护权限。
技术实现思路
本专利技术的主要目的在于提供一种数据库操作方法、装置、设备和计算机可读存储介质,旨在解决当前不可以对数据库操作指令进行有效地验证,导致数据库操本文档来自技高网...

【技术保护点】
1.一种数据库操作方法,其特征在于,所述数据库操作方法包括以下步骤:/n在接收到数据库操作请求时,获取所述数据库操作请求对应的操作指令;/n通过预设SQL语法解析器解析所述操作指令,获得所述操作指令的语法结构,和所述操作指令中包含的关键字符信息;/n根据所述语法结构和所述关键字符信息,构建所述操作指令对应的SQL语法树;/n根据所述SQL语法树获取所述关键字符信息的验证规则,在所述关键字符信息符合所述验证规则时,执行所述操作指令。/n

【技术特征摘要】
1.一种数据库操作方法,其特征在于,所述数据库操作方法包括以下步骤:
在接收到数据库操作请求时,获取所述数据库操作请求对应的操作指令;
通过预设SQL语法解析器解析所述操作指令,获得所述操作指令的语法结构,和所述操作指令中包含的关键字符信息;
根据所述语法结构和所述关键字符信息,构建所述操作指令对应的SQL语法树;
根据所述SQL语法树获取所述关键字符信息的验证规则,在所述关键字符信息符合所述验证规则时,执行所述操作指令。


2.如权利要求1所述的数据库操作方法,其特征在于,所述通过预设SQL语法解析器解析所述操作指令,获得所述操作指令的语法结构,和所述操作指令中包含的关键字符信息的步骤之后,包括:
判断所述操作指令的语法结构是否为SQL语法结构,和/或所述关键字符信息中是否包含SQL关键字;
若所述操作指令的语法结构是SQL语法结构,或所述关键字符信息中包含SQL关键字,则执行所述根据所述语法结构和所述关键字符信息,构建所述操作指令对应的SQL语法树的步骤。


3.如权利要求2所述的数据库操作方法,其特征在于,所述判断所述操作指令的语法结构是否为SQL语法结构,和/或所述关键字符信息中是否包含SQL关键字的步骤之后,包括:
若所述操作指令的语法结构不是SQL语法结构,且所述关键字符信息中不包含SQL关键字,则判断所述关键字符信息中是否包含敏感信息;
若所述关键字符信息中包含敏感信息,则屏蔽所述操作指令;
若所述关键字符信息中不包含敏感信息,则调用预设数据接口对所述操作指令进行转化,以使所述操作指令的语法结构是SQL语法结构,或所述关键字符信息中包含SQL关键字。


4.如权利要求1所述的数据库操作方法,其特征在于,所述根据所述语法结构和所述关键字符信息,构建所述操作指令对应的SQL语法树的步骤,包括:
对所述语法结构进行语法分析,得到所述语法结构对应的层级关系,并按所述层级关系生成基础语法树;
对所述关键字符信息进行词法分析,得到所述关键字符信息中的关键字段和关键值,将所述关键字段和所述关键值进行关联作为键值对;
将所述键值对添加到所述基础语法树的叶子节点上,生成所述操作指令对应的SQL语法树。


5.如权利要求1所述的数据库操作方法,其特征在于,所述根据所述SQL语法树获取所述关键字符信息的验证规则,在所述关键字符信息符合所述验证规则时,执行所述操作指令的步骤,包括:...

【专利技术属性】
技术研发人员:刘顺
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1