System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式数据库,具体涉及一种多模语句处理方法、装置、计算机设备以及非易失性计算机可读存储介质。
技术介绍
1、分布式数据库(ddb,distributed database)是一种数据库,其中数据存储在不同的物理位置,它可能存储在位于同一物理位置(例如数据中心)的多台计算机中,或者可能分散在互连计算机的网络中。分布式数据库一般由多个存储节点和计算节点构成,由于过去的商业数据库有多种类型,它们在标准sql基础上进行了一些拓展;这其中,尤其是甲骨文oracle数据库,拓展了plsql标准。plsql支持了多种高级数据库对象,如包、包体、存储过程等,在语法方面也在标准的sql基础上进行了一些拓展。在分布式数据库出现后,应用程序迁移到分布式数据库时经常会出现语法不兼容、或者是执行效率差的情况,导致需要对应用层进行代码修改以适配数据库,或者是数据库层面对语法进行兼容以适配应用层。这两种适配方法都非常繁琐,且均需要代码的编译和反复验证,极大增加了业务替换数据库的难度。
2、当前的sql语句处理方式,主要聚焦于不兼容语句的转换方面,一般分为下述几种类型:一种是倾向于在数据库之外提供一个语法转换的工具,将不兼容的sql语句进行改写,之后将完成转换的工具添加到应用的代码中;另一种则是在数据库中内置一个关键字搜索引擎,根据对语句的关键字检索来对sql语句中的关键字进行替换;还有一种则是将sql语句进行解析,将其中的部分片段进行替换。以上现有的这些sql语句处理方式,针对的目标都是符合sql语法的数据库结构化查询语句,都需要进
3、基于此,如何提供一种多模语句处理方法、装置、计算机设备以及非易失性计算机可读存储介质,可实现对于分布式数据中的多模语句进行快速及高效的处理,是目前本领域技术人员亟待解决的问题。
技术实现思路
1、鉴于上述现有技术的不足之处,本专利技术的目的在于提供一种多模语句处理方法、装置、计算机设备以及非易失性计算机可读存储介质,可实现对于分布式数据中的多模语句进行快速及高效的处理。
2、为了达到上述目的,本专利技术采取了以下技术方案:
3、一种多模语句处理方法,应用于分布式数据库,其中,所述方法包括:
4、装载预设的语句处理信息;其中,所述语句处理信息中包含有内置算法、以及一个或者多个语句处理组,每个所述语句处理组中均包含有一个语句比对模板、一个与之对应的语句目标模板、以及所述语句比对模板与所述语句目标模板之间对应的参数替换链;
5、获取原始语句,确定并记录所述原始语句中所有参数的位置,并将所述所有参数提取后均替换为特定符号,以得到所述原始语句对应的原始语句模板;
6、根据所述内置算法,计算出所述原始语句模板的特征值,并将所述原始语句模板的特征值与各个所述语句处理组中对应的语句比对模板的特征值进行比对;
7、基于特征值比对结果,判断所有的所述语句处理组中是否存在与所述原始语句模板匹配的语句比对模板;
8、若存在,则将所述原始语句中提取出的所述所有参数按照匹配的所述语句处理组中对应的参数替换链替换入对应的语句目标模板中,以生成所述分布式数据库可执行的目标语句。
9、在进一步的技术方案中,所述的多模语句处理方法,其中,所述装载预设的语句处理信息,包括:
10、在所述分布式数据库链路初始化时,装载预设的语句处理信息。
11、在进一步的技术方案中,所述的多模语句处理方法,其中,所述装载预设的语句处理信息,包括:
12、在接收到用户的操作指令时,在所述分布式数据库已经存在的链路上动态装载预设的语句处理信息。
13、在进一步的技术方案中,所述的多模语句处理方法,其中,所述获取原始语句,确定并记录所述原始语句中所有参数的位置,并将所述所有参数提取后均替换为特定符号,以得到所述原始语句对应的原始语句模板,包括:
14、获取客户端请求发送的原始语句;
15、确定并记录所述原始语句中所有参数的位置并根据序号从零开始排序;
16、提取所述所有参数,并将所述原始语句中提取后的原参数位置均替换为特定符号,以得到所述原始语句对应的原始语句模板。
17、在进一步的技术方案中,所述的多模语句处理方法,其中,所述根据所述内置算法,计算出所述原始语句模板的特征值,并将所述原始语句模板的特征值与各个所述语句处理组中对应的语句比对模板的特征值进行比对,包括:
18、根据预设的所述内置算法,分别计算出所述原始语句模板、以及各个所述语句处理组中对应的语句比对模板的特征值;
19、将所述原始语句模板的特征值分别与各个所述语句处理组中对应的语句比对模板的特征值进行逐条比对;
20、生成所述原始语句模板与各个所述语句处理组中对应的语句比对模板的特征值比对结果。
21、在进一步的技术方案中,所述的多模语句处理方法,其中,所述若存在,则将所述原始语句中提取出的所述所有参数按照匹配的所述语句处理组中对应的参数替换链替换入对应的语句目标模板中,以生成所述分布式数据库可执行的目标语句,包括:
22、若存在与所述原始语句模板匹配的语句比对模板,则表示所述原始语句模板所对应的原始语句与所述语句比对模板所对应的语句处理组完成匹配;
23、则按照该语句处理组中对应的参数替换链给定的顺序,将所述原始语句中提取出的所述所有参数依序替换入该语句处理组中对应的语句目标模板中,以生成所述分布式数据库可执行的目标语句。
24、在进一步的技术方案中,所述的多模语句处理方法,其中,所述若存在,则将所述原始语句中提取出的所述所有参数按照匹配的所述语句处理组中对应的参数替换链替换入对应的语句目标模板中,以生成所述分布式数据库可执行的目标语句之后,包括:
25、将所述目标语句在所述分布式数据库中进行执行,并将执行结果返回给所述客户端。
26、一种多模语句处理装置,应用于分布式数据库,其中,所述装置包括:
27、装载模块,用于装载预设的语句处理信息;其中,所述语句处理信息中包含有内置算法、以及一个或者多个语句处理组,每个所述语句处理组中均包含有一个语句比对模板、一个与之对应的语句目标模板、以及所述语句比对模板与所述语句目标模板之间对应的参数替换链;
28、获取模块,用于获取原始语句,确定并记录所述原始语句中所有参数的位置,并将所述所有参数提取后均替换为特定符号,以得到所述原始语句对应的原始语句模板;
29、计算模块,用于根据所述内置算法,计算出所述原始语句模板的特征值,并将所述原始语句模板的特征值与各个所述语句处理组中对应的语句比对本文档来自技高网...
【技术保护点】
1.一种多模语句处理方法,应用于分布式数据库,其特征在于,所述方法包括:
2.根据权利要求1所述的多模语句处理方法,其特征在于,所述装载预设的语句处理信息,包括:
3.根据权利要求1所述的多模语句处理方法,其特征在于,所述装载预设的语句处理信息,包括:
4.根据权利要求1、2或3所述的多模语句处理方法,其特征在于,所述获取原始语句,确定并记录所述原始语句中所有参数的位置,并将所述所有参数提取后均替换为特定符号,以得到所述原始语句对应的原始语句模板,包括:
5.根据权利要求4所述的多模语句处理方法,其特征在于,所述根据所述内置算法,计算出所述原始语句模板的特征值,并将所述原始语句模板的特征值与各个所述语句处理组中对应的语句比对模板的特征值进行比对,包括:
6.根据权利要求5所述的多模语句处理方法,其特征在于,所述若存在,则将所述原始语句中提取出的所述所有参数按照匹配的所述语句处理组中对应的参数替换链替换入对应的语句目标模板中,以生成所述分布式数据库可执行的目标语句,包括:
7.根据权利要求6所述的多模语句处理方
8.一种多模语句处理装置,应用于分布式数据库,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,所述计算机设备包括至少一个处理器;以及,
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时,可实现如权利要求1-7任一项所述的多模语句处理方法。
...【技术特征摘要】
1.一种多模语句处理方法,应用于分布式数据库,其特征在于,所述方法包括:
2.根据权利要求1所述的多模语句处理方法,其特征在于,所述装载预设的语句处理信息,包括:
3.根据权利要求1所述的多模语句处理方法,其特征在于,所述装载预设的语句处理信息,包括:
4.根据权利要求1、2或3所述的多模语句处理方法,其特征在于,所述获取原始语句,确定并记录所述原始语句中所有参数的位置,并将所述所有参数提取后均替换为特定符号,以得到所述原始语句对应的原始语句模板,包括:
5.根据权利要求4所述的多模语句处理方法,其特征在于,所述根据所述内置算法,计算出所述原始语句模板的特征值,并将所述原始语句模板的特征值与各个所述语句处理组中对应的语句比对模板的特征值进行比对,包括:
6.根据权利要求5所述的多模语句处理方法,其特征在于,所...
【专利技术属性】
技术研发人员:顾云波,严俊,
申请(专利权)人:金篆信科有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。