金融行业标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210851784.3 (22)申请日 2022.07.19 (71)申请人 武汉理工大 学 地址 430070 湖北省武汉市洪山区珞狮路 122号 (72)发明人 房伟  (74)专利代理 机构 湖北武汉 永嘉专利代理有限 公司 42102 专利代理师 王丹 (51)Int.Cl. G06F 16/242(2019.01) G06F 16/25(2019.01) (54)发明名称 一种基于规则的主动式SQL算法性能检查装 置及方法 (57)摘要 本发明公开了一种基于规则的主动式SQL算 法性能检查装置, 包括相互电连接的语义解析模 块、 血缘分析模块和规则校验模块; 其中, 语义解 析模块, 用于对SQL算法的语义进行解析, 构建算 法语义树; 血缘 分析模块, 用于对SQL算法的血缘 进行分析, 构建表级血缘图和字段级血缘图; 规 则校验模块, 用于定义校验规则, 并对算法的语 义和血缘进行校验, 并记录其校验的潜在问题。 本发明基于规则进行主动式、 提前的性能检测, 在算法编写阶段即可发现性能问题, 并给出改进 建议; 解决事后检查的延迟性、 片面 性的问题。 权利要求书2页 说明书4页 附图2页 CN 115292347 A 2022.11.04 CN 115292347 A 1.一种基于规则的主动式SQL算法性能检查装置, 其特征在于, 包括相互电连接的语义 解析模块、 血缘分析模块和规则校验 模块; 其中, 语义解析模块, 用于对SQ L算法的语义进行解析, 构建算法语义 树; 血缘分析模块, 用于对SQ L算法的血缘进行分析, 构建表级血缘图和字段级血缘图; 规则校验模块, 用于定义校验规则, 并对算法的语义和血缘进行校验, 并记录其校验的 潜在问题。 2.根据权利要求1所述的一种基于规则的主动式SQL算法性能检查装置, 其特征在于, 还包括系统服 务模块, 用于用户交 互控制与系统初始化操作。 3.根据权利要求1所述的一种基于规则的主动式SQL算法性能检查装置, 其特征在于, 所述语义 解析模块包括第一语义 解析子模块和第二语义 解析子模块; 其中, 第一语义 解析子模块, 用于对SQ L算法的语义进行解析, 构建初步 算法语义 树; 第二语义解析子模块, 用于对初步算法语义树作进一步解析, 结合Schema信息构建得 到算法语义 树。 4.根据权利要求1所述的一种基于规则的主动式SQL算法性能检查装置, 其特征在于, 所述血缘分析模块包括表级血缘分析子模块和字段级血缘分析子模块; 其中, 表级血缘分析子模块, 用于从若干算法语义树中抽取关联表信息, 并对表引用的关系 构建表的血缘关系图; 字段级血缘分析子模块, 用于从若干算法语义树中抽取各表中字段之间的关联关系, 并对字段引用的关系构建字段的血缘关系图。 5.根据权利要求1所述的一种基于规则的主动式SQL算法性能检查装置, 其特征在于, 所述规则校验模块包括规则管理子模块和规则应用子模块; 其中, 规则校验子模块, 用于定 义校验规则, 并对校验规则进行维护和管理; 规则应用子模块, 用于对算法语义树、 表级血缘和字段级血缘应用校验规则, 对各检验 规则进行模式匹配, 记录被校验规则匹配的潜在问题。 6.一种使用如权利要求1所述的一种基于规则的主动式SQL算法性能检查装置的方法, 其特征在于, 包括以下步骤: 对SQL算法的语义进行解析, 构建算法语义 树; 对SQL算法的血缘进行分析, 构建表级血缘图和字段级血缘图; 定义校验规则, 并对算法的语义和血缘进行 校验, 并记录其校验的潜在问题。 7.根据权利要求6所述的方法, 其特 征在于, 语义 解析方法包括: 根据Antlr4语法定义规范, 定义SQL算法的语义, 并通过Antlr4工具, 自动生成语义解 析器, 通过将SQL算法的字符串输入到语义解析器中, 对其语义进行分析, 生成初步算法语 义树。 8.根据权利要求7 所述的方法, 其特 征在于, 语义 解析方法还包括: 根据初步算法语义树, 使用visitor模式对各初步算法语义树的节点进行转换, 并结合 所使用表的S chema信息, 对 涉及到的字段信息、 字段类型信息进 行补充与校验, 最 终转换得 到算法语义 树。 9.根据权利要求6所述的方法, 其特征在于, 构建表级血缘图和字段级血缘图的方法权 利 要 求 书 1/2 页 2 CN 115292347 A 2为: 在算法语义树抽取一个算法涉及到的表, 记作输入表A; 在算法语义树中该算法的结果 插入到的表, 记作输出表B; 对A、 B建立血缘关系: 在A的fan  out列表中增加B节点; 在B的fan   in列表中增加A节点; 对各SQL算法涉及到的所有表执行如上步骤, 构建出各算法形成一张 表的血缘图, 记作表级血缘图; 在表级血缘图中进一步细化表内的字段血缘关系: 对于存在血缘关系的A和B, 根据算 法语义树, 抽取B表中各字段与A表中字段的血缘关系, 在A的fan  out列表中增加B节 点; 在B 的fan in列表中增加A节点; 对各SQL算法涉及到的所有字段执行如上步骤, 构建出各算法 形成一张表的血缘图, 记作字段级血缘图。 10.根据权利要求6所述的方法, 其特 征在于, 校验方法为: 获取每一条规则, 从中获取其要检查的对象定义, 对象至少包括算法语义树、 表级血 缘、 字段级血缘; 根据检查 规则中的匹配规则的定义, 对每 个对象, 进行规则的模式匹配; 检查其值与规则中要求的值的差异, 如果满足规则中要求的值, 则为匹配成功, 形成规 则校验匹配记录; 汇总所有的规则及其匹配记录, 并获取每 个规则对应的通用修改建议, 输出 校验报告。权 利 要 求 书 2/2 页 3 CN 115292347 A 3

PDF文档 专利 一种基于规则的主动式SQL算法性能检查装置及方法

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于规则的主动式SQL算法性能检查装置及方法 第 1 页 专利 一种基于规则的主动式SQL算法性能检查装置及方法 第 2 页 专利 一种基于规则的主动式SQL算法性能检查装置及方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 01:02:02上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。