[发明专利]DSL语句生成方法、装置、系统及计算机可读存储介质在审
申请号: | 202111637733.2 | 申请日: | 2021-12-29 |
公开(公告)号: | CN114218255A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 鲁昊;胡绍勇 | 申请(专利权)人: | 上海观安信息技术股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2452 |
代理公司: | 北京城烽知识产权代理事务所(特殊普通合伙) 11829 | 代理人: | 徐超 |
地址: | 201803 上海市嘉定*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dsl 语句 生成 方法 装置 系统 计算机 可读 存储 介质 | ||
1.一种DSL语句生成方法,其特征在于,包括:
获取查询信息;其中,所述查询信息中包括连接符及查询条件;
以所述连接符为连接节点,所述查询条件为条件节点,构建多叉查询树;其中,所述连接节点为所述多叉查询树中的根节点或父节点,条件节点为所述多叉查询树中的叶子节点;
遍历所述多叉查询树中的每个节点,并对每个节点解析后进行拼接,得到DSL语句。
2.根据权利要求1所述的DSL语句生成方法,其特征在于,所述遍历所述多叉查询树中的每个节点,并对每个节点解析后进行拼接,得到DSL语句,包括:
采用先序遍历算法将所述多叉查询树转化为节点数组;
以所述节点数组的尾端节点为初始节点,顺序遍历所述节点数组,根据节点类型对每个节点进行数据解析后存入预设目标栈,直至所述节点数组中的所有节点解析存储完成,得到DSL语句。
3.根据权利要求2所述的DSL语句生成方法,其特征在于,所述根据节点类型对每个节点进行数据解析后存入预设目标栈,包括:
若当前节点为条件节点,则将当前节点的内容解析为DSL查询条件输入所述预设目标栈;
若当前节点为连接节点,则取出所述预设目标栈中的所有DSL查询条件与所述当前节点组合后再存入所述预设目标栈。
4.根据权利要求1所述的DSL语句生成方法,其特征在于,所述获取查询信息包括:
识别连接符输入位置及对应的查询条件输入位置;
提取所述连接符输入位置的连接符及所述查询条件输入位置的查询条件。
5.一种DSL语句生成装置,其特征在于,包括:
数据获取模块,用于获取查询信息;其中,所述查询信息中包括连接符及查询条件;
多叉查询树生成模块,用于以所述连接符为连接节点,所述查询条件为条件节点,构建多叉查询树;其中,所述连接节点为所述多叉查询树中的根节点或父节点,条件节点为所述多叉查询树中的叶子节点;
拼接模块,用于遍历所述多叉查询树中的每个节点,并对每个节点解析后进行拼接,得到DSL语句。
6.根据权利要求5所述的DSL语句生成装置,其特征在于,所述拼接模块包括:
节点数组生成子模块,用于采用先序遍历算法将所述多叉查询树转化为节点数组;
节点解析子模块,用于以所述节点数组的尾端节点为初始节点,顺序遍历所述节点数组,根据节点类型对每个节点进行数据解析后存入预设目标栈,直至所述节点数组中的所有节点解析存储完成,得到DSL语句。
7.根据权利要求6所述的DSL语句生成装置,其特征在于,所述节点解析子模块包括:
第一解析单元,用于若当前节点为条件节点,则将当前节点的内容解析为DSL查询条件输入所述预设目标栈;
第二解析单元,用于若当前节点为连接节点,则取出所述预设目标栈中的所有DSL查询条件与所述当前节点组合后再存入所述预设目标栈。
8.根据权利要求5所述的DSL语句生成装置,其特征在于,所述数据获取模块包括:
位置识别子模块,用于识别连接符输入位置及对应的查询条件输入位置;
数据提取子模块,用于提取所述连接符输入位置的连接符及所述查询条件输入位置的查询条件。
9.一种DSL语句生成系统,其特征在于,包括如权利要求5-8任一项所述的DSL语句生成装置。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器处理时执行如权利要求1-4任一项所述的DSL语句生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海观安信息技术股份有限公司,未经上海观安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111637733.2/1.html,转载请声明来源钻瓜专利网。