[发明专利]基于自动机的生成SQL模板及获得对应参数的方法及其装置在审
申请号: | 201611196740.2 | 申请日: | 2016-12-22 |
公开(公告)号: | CN108228660A | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 曲德君;李进岭;曹大军;杨冠军;刘昊;李继 | 申请(专利权)人: | 上海新飞凡电子商务有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/27 |
代理公司: | 北京尚德技研知识产权代理事务所(普通合伙) 11378 | 代理人: | 徐乐慧;陈保胜 |
地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 词法自动机 字符串 自动机 跳转 数据处理过程 规则构建 判断参数 需求设定 原数据 替换 复制 应用 分析 | ||
本发明公开了一种基于自动机的生成SQL模板及获得对应参数的方法,应用于数据处理过程中,至少包括以下步骤:根据需求设定跳转规则,并按照所述的跳转规则构建词法自动机;所述的词法自动机对待测数据进行分析获得状态信息并判断参数的所处状态,同时复制原数据中的原有字符串至新字符串,并替换相应的参数;基于所述的词法自动机对原有字符串的标记,获得相应的参数值。
技术领域
本发明涉及数据处理领域,尤其涉及一种基于自动机的生成SQL模板及获得对应参数的方法及其装置。
背景技术
在数据处理领域中,在进行参数查询或者报表统计等数据处理的时候,常常使用SQL(structure query language,结构化查询语言)语句进行快速统计。也就是对需要进行数据处理的各种报表进行基本函数值确定,并再根据需求做进一步查询,获得需要的统计结果,也就是想获得的参数值,而一般在现有的技术中,在使用SQL的语句时,会使用抽象语法树(AST,abstract syntax tree)后,再对参数和值进行解析,其中正则表达式匹配再配合相关程序进行处理。而抽象语法树的解析过程都很复杂,中间过程中需要复杂的处理过程,对系统的性能消耗很大,而在JAVA上的正则表达式解析这些方法的性能也不是很高,所以在应用过程中存在工作量大,过程繁琐的问题。
发明内容
本发明目的是提出一种基于自动机的生成SQL模板及获得对应参数的方法及其装置,优化和提高现有技术中使用SQL语句进行数据处理的效率。
本发明解决技术问题采用如下技术方案:一种基于自动机的生成SQL模板及获得对应参数的方法,应用于数据处理过程中,至少包括以下步骤:
根据需求设定跳转规则,并按照所述的跳转规则构建词法自动机;
所述的词法自动机对待测数据进行分析获得状态信息并判断参数的所处状态,同时复制原数据中的原有字符串至新字符串,并替换相应的参数;
基于所述的词法自动机对原有字符串的标记,获得相应的参数值。
其中,构建所述的词法自动机采用129*n的二位数组构建,每行对应一个状态,每个状态表示当前字符流位置所代表的属性。
本发明还提供一种采用基于自动机的生成SQL模板及获得对应参数的方法的装置,其特征在于,至少包括规则设定单元,词法自动机构建单元,状态判断单元以及参数分析单元:
规则设定单元,用于根据需求设定相应的跳转规则,并将其发送给所述的词法自动机构建单元;
词法自动机构建单元,用于根据所述规则设定单元传递的规则建立词法自动机,并启动对待测数据的分析;
状态判断单元,用于根据构建的词法自动机对待测数据中的参数状态进行判断并将其发送至参数分析单元;
参数分析单元,用于根据所述状态判断单元判断的信息,进一步对参数分析获得相应参数值。
本发明具有如下有益效果:
本发明使用简易词法自动机分析SQL的数据流,找到相应位置完成生成模板SQL并获得对应参数,提高了数据处理的速度,平均每条的处理速度大致缩减到500ns。
附图说明
图1为本发明的跳转规则的示意图;
图2为本发明的词法自动机分析处理的流程示意图;
图3为本发明的获得参数值的流程示意图。
具体实施方式
下面结合实施例及附图对本发明的技术方案作进一步阐述。
本发明公开了一种基于自动机的生成SQL模板及获得对应参数的方法,应用于数据处理过程中,至少包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新飞凡电子商务有限公司,未经上海新飞凡电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611196740.2/2.html,转载请声明来源钻瓜专利网。