System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 适用于低代码平台的多数据源适配方法及系统技术方案_技高网

适用于低代码平台的多数据源适配方法及系统技术方案

技术编号:40402943 阅读:10 留言:0更新日期:2024-02-20 22:27
本发明专利技术提供一种适用于低代码平台的多数据源适配方法和系统,涉及数据处理领域,包括通过基础语法生成器对输入参数对应的标准输入数据进行解析,生成基础语句;如果标准输入数据中包含过滤条件部分,使用条件表达式解析器对过滤条件部分进行解析,提取过滤语句,和基础语句组成中间语言;初始化数据库语言翻译器、结果集转换器,通过数据库语言翻译器将中间语言映射成目标语言,由数据库语言执行器执行目标语言;执行目标语言完成时,获得目标数据库的原始结果集,根据原始结果集的列名、列数据类型和数据类型映射配置,创建中间数据结构,通过输出数据格式化器转变成输出参数。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,尤其涉及一种适用于低代码平台的多数据源适配方法和系统。


技术介绍

1、低代码平台由于其能够快速构建应用的特点,目前已在各行各业都有了较为广泛的使用。低代码平台创建应用的常规做法是依赖大量的可视化配置和少量的代码开发来完成应用的构建。随着需求的不断迭代,目前具备竞争力的低代码平台需要能够支持多种数据源的部署,来应对不同使用方对数据库类型的偏好问题;

2、cn201810675736.7,公开了一种智能适配多数据源的实现方法,涉及数据源处理的
,包括以下步骤:步骤1.配置数据源的关键信息;步骤2.根据需操控的数据源的关键信息定义调用方法的方法名;步骤3.将调用方法的方法名和数据源的关键信息进行匹配,根据匹配结果确定该调用方法使用的数据源。该方法通过在项目工程中的配置文件里配置数据源信息,便于随时更改数据源信息,避免了开发过程中,需要一一设置每个调用方法操控的数据源,通过智能解析每个调用方法操控的数据源,减少了代码冗余性,提高了开发效率,又易于维护;

3、cn202111476466.5,公开了基于动态多数据源的数据库适配装置及方法,属于数据库
,要解决的技术问题为如何解决动态对接多源数据执行开发复杂度高。包括:内存数据库,用于存储数据源信息;数据库关键字库,用于存储已适配数据库类型的所有关键字;语法差异库,用于存储语法差异,所述语法差异为关系型数据库之间语法内容的差异;语法适配器,用于基于数据库信息获取数据库类型,并基于数据库类型对sql语句进行语法解析和转换,得到适配sql语句;sql执行器,所述sql执行器与所述语法适配器交互,用于基于数据库类型加载驱动对应的数据库,数据库执行适配sql语句后,输出执行结果;

4、综上所述,现有技术主要是通过不同方法的调用、通过对语句关键信息的差异的平衡以及在不同数据源版本之间切换,来处理多数据源的适配,存在开发成本高,新增差异扩展不便的缺点,本专利技术的应用至少能够解决现有技术的部分问题。


技术实现思路

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、基于每个目标数据库对应的预设映射规则,并且结合所述条件语法树中每个节点的节点类型,并结合所述目标数据库的语法规范,将所述查询语句片段映射为所述目标数据库的目标语言包括:

30、若所述条件语法树中节点类型为select类型,根据所述目标数据库的语法规范,构建select语句片段,将所述select语句片段中的列名映射到目标数据库的列名;

31、若所述条件语法树中节点类型为from类型,根据所述目标数据库的语法规范,构建from语本文档来自技高网...

【技术保护点】

1.适用于低代码平台的多数据源适配方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,通过基础语法生成器对所获取的输入参数对应的标准输入数据进行解析,生成基础语句;判断所述标准输入数据中是否包含过滤条件部分,如果包含,使用条件表达式解析器对所述过滤条件部分进行解析,生成条件语法树,提取过滤语句,将所述基础语句和所述过滤语句组合,构成中间语言包括:

3.根据权利要求2所述的方法,其特征在于,使用条件表达式解析器中的分词解析器对所述过滤条件部分进行解析,划分词法单元,经过条件表达式解析器中的语法分析器对所述词法单元进行处理,生成条件语法树,包括:

4.根据权利要求3所述的方法,其特征在于,对所述条件语法树进行合并和优化,提取过滤语句,包括:

5.根据权利要求1所述的方法,其特征在于,通过所述数据库语言翻译器将所述中间语言映射成所述目标数据库的目标语言,由预设的数据库语言执行器连接所述目标数据库,执行所述目标语言包括:

6.根据权利要求5所述的方法,其特征在于,基于每个目标数据库对应的预设映射规则,并且结合所述条件语法树中每个节点的节点类型,并结合所述目标数据库的语法规范,将所述查询语句片段映射为所述目标数据库的目标语言包括:

7.根据权利要求1所述的方法,其特征在于,所述数据库语言执行器执行所述目标语言完成时,获得所述目标数据库的原始结果集,还包括:

8.适用于低代码平台的多数据源适配系统,用于实现前述权利要求1至7中任一项所述的适用于低代码平台的多数据源适配方法,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。

...

【技术特征摘要】

1.适用于低代码平台的多数据源适配方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,通过基础语法生成器对所获取的输入参数对应的标准输入数据进行解析,生成基础语句;判断所述标准输入数据中是否包含过滤条件部分,如果包含,使用条件表达式解析器对所述过滤条件部分进行解析,生成条件语法树,提取过滤语句,将所述基础语句和所述过滤语句组合,构成中间语言包括:

3.根据权利要求2所述的方法,其特征在于,使用条件表达式解析器中的分词解析器对所述过滤条件部分进行解析,划分词法单元,经过条件表达式解析器中的语法分析器对所述词法单元进行处理,生成条件语法树,包括:

4.根据权利要求3所述的方法,其特征在于,对所述条件语法树进行合并和优化,提取过滤语句,包括:

5.根据权利要求1所述的方法,其特征在于,通过所述数据库语言翻译器将所述中间语言映射成所述目...

【专利技术属性】
技术研发人员:吴浩然朱晶晶王卿
申请(专利权)人:冠骋信息技术苏州有限公司
类型:发明
国别省市:

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

1