数据库指令的自动生成方法和装置制造方法及图纸

技术编号:37447912 阅读:11 留言:0更新日期:2023-05-06 09:19
本申请涉及一种数据库指令的自动生成方法和装置,该方法包括如下步骤:将预设的有向无环图组装成统一的规则列表;确定数据库类型;根据规则列表和数据库类型生成对应数据库可执行的数据库指令。本申请提供了统一的数据库指令生成方案,避免了现有技术中每一个数据库都需要提供一种方法的问题;在后续开发迭代过程中若单独需要增加规则或者数据库,可单独实现对应的添加即可,不产生关联影响,提供了优秀的拓展能力、降低系统的复杂度同时还减少系统开发人员的工作量。系统开发人员的工作量。系统开发人员的工作量。

【技术实现步骤摘要】
数据库指令的自动生成方法和装置


[0001]本申请涉及数据库
,具体涉及一种数据库指令的自动生成方法和装置。

技术介绍

[0002]随着大数据技术在各行各业的深入应用,对于海量数据的分析需求也愈加凸显,联机分析处理(On

Line Analytical Processing,简写为OLAP)数据库各有千秋,各自都有适合的业务场景,目前尚未出现能够在各种场景下都适用的数据库。公司进行技术选取时,往往需要根据不同业务选择多种OLAP数据库,OLAP数据库与传统联机事务处理(On

Line Transaction Processing,简写为OLTP)数据库的SQL(Structured Query Language,结构化查询语言)存在较大差异。其中,SQL是一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。
[0003]相关技术中,不同数据库的语法存在差异性,无法通用,在使用多种数据库的场景下,需要为每套数据库提供一种生成数据库指令的方法,随着数据库类型增加,系统复杂度骤增,每增加一种自定义规则,需要为不同数据库提供的方法增加对应转换器进行转换,系统开发人员存在较多的重复工作量。

技术实现思路

[0004]为至少在一定程度上克服相关技术中存在的,在使用多种数据库的场景下,需要为每套数据库提供一种生成数据库指令的方法,造成系统复杂度高、开发任务工作量大的问题,本申请提供一种数据库指令的自动生成方法和装置。
[0005]根据本申请实施例的第一方面,提供一种数据库指令的自动生成方法,包括如下步骤:
[0006]将预设的有向无环图组装成统一的规则列表;
[0007]确定数据库类型;
[0008]根据规则列表和数据库类型生成对应数据库可执行的数据库指令。
[0009]进一步地,将预设的有向无环图组装成统一的规则列表,包括如下步骤:
[0010]将预设的有向无环图组装成JSON表达的规则列表。
[0011]进一步地,根据规则列表和数据库类型生成对应数据库可执行的数据库指令,包括如下步骤:
[0012]根据数据库类型调用相应的规则算子,将规则列表转换为Table对象;
[0013]采用预设的解析方法对Table对象进行解析,获得该数据库可执行的数据库指令。
[0014]进一步地,所述数据库类型包括:INPUT类型、FILTER_ROW类型、GROUP_BY类型和OUTPUT类型。
[0015]进一步地,根据数据库类型调用相应的规则算子,将规则列表转换为Table对象,包括如下步骤:
[0016]根据INPUT类型生成对应的输入规则算子;
[0017]调用该输入规则算子提供的转换方法得到一个Table对象;其中,该Table对象的属性输入表名为input1。
[0018]进一步地,根据数据库类型调用相应的规则算子,将规则列表转换为Table对象,包括如下步骤:
[0019]根据FILTER_ROW类型生成对应的数据筛选规则算子;
[0020]调用该数据筛选规则算子提供的转换方法将Table对象添加筛选条件属性。
[0021]进一步地,根据数据库类型调用相应的规则算子,将规则列表转换为Table对象,包括如下步骤:
[0022]根据GROUP_BY类型生成对应的分组聚合规则算子;
[0023]调用该分组聚合规则算子提供的转换方法将Table对象分组聚合属性。
[0024]进一步地,根据数据库类型调用相应的规则算子,将规则列表转换为Table对象,包括如下步骤:
[0025]根据OUTPUT类型生成对应的输出规则算子;
[0026]调用该输出规则算子提供的转换方法将Table对象添加属性输入表名为output1。
[0027]根据本申请实施例的第二方面,提供一种数据库指令的自动生成装置,包括:
[0028]组装模块,用于将预设的有向无环图组装成统一的规则列表;
[0029]确定模块,用于确定数据库类型;
[0030]生成器模块,用于根据规则列表和数据库类型生成对应数据库可执行的数据库指令。
[0031]根据本申请实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任意一种实施例所述方法的操作步骤。
[0032]本申请的实施例提供的技术方案具备以下有益效果:
[0033]本申请提供了统一的数据库指令生成方案,避免了现有技术中每一个数据库都需要提供一种方法的问题;在后续开发迭代过程中若单独需要增加规则或者数据库,可单独实现对应的添加即可,不产生关联影响,提供了优秀的拓展能力、降低系统的复杂度同时还减少系统开发人员的工作量。
[0034]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0035]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0036]图1是本专利技术实施例示出的一种数据库指令的自动生成方法的流程图。
[0037]图2是本专利技术实施例示出的一种页面配置的有向无环图(DAG)。
[0038]图3是本专利技术实施例示出的一种多方言SQL自动生成方法流程图。
[0039]图4是本专利技术实施例示出的一种输入input1表中的数据。
[0040]图5是本专利技术实施例示出的一种生成SQL输入output1表中的数据。
[0041]图6是本专利技术实施例示出的一种数据库指令的自动生成装置的框图。
具体实施方式
[0042]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
[0043]图1是根据一示例性实施例示出的一种数据库指令的自动生成方法的流程图。该方法可以包括如下步骤:
[0044]步骤S1、将预设的有向无环图组装成统一的规则列表;
[0045]步骤S2、确定数据库类型;
[0046]步骤S3、根据规则列表和数据库类型生成对应数据库可执行的数据库指令。在具体的实施例中,数据库指令为SQL指令。
[0047]本申请提供了统一的数据库指令生成方案,避免了现有技术中每一个数据库都需要提供一种方法的问题;在后续开发迭代过程中若单独需要增加规则或者数据库,可单独实现对应的添加即可,不产生关联影响,提供了优秀的拓展能力、降低系统的复杂度同时还减少系统开发人员的工作量。
[0048]应当理解的是,虽然图1的流程图中的各个步骤按照箭头的指本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库指令的自动生成方法,其特征在于,包括如下步骤:将预设的有向无环图组装成统一的规则列表;确定数据库类型;根据规则列表和数据库类型生成对应数据库可执行的数据库指令。2.根据权利要求1所述的方法,其特征在于,将预设的有向无环图组装成统一的规则列表,包括如下步骤:将预设的有向无环图组装成JSON表达的规则列表。3.根据权利要求1或2所述的方法,其特征在于,根据规则列表和数据库类型生成对应数据库可执行的数据库指令,包括如下步骤:根据数据库类型调用相应的规则算子,将规则列表转换为Table对象;采用预设的解析方法对Table对象进行解析,获得该数据库可执行的数据库指令。4.根据权利要求3所述的方法,其特征在于,所述数据库类型包括:INPUT类型、FILTER_ROW类型、GROUP_BY类型和OUTPUT类型。5.根据权利要求4所述的方法,其特征在于,根据数据库类型调用相应的规则算子,将规则列表转换为Table对象,包括如下步骤:根据INPUT类型生成对应的输入规则算子;调用该输入规则算子提供的转换方法得到一个Table对象;其中,该Table对象的属性输入表名为input1。6.根据权利要求4所述的方法,其特征在于,根据数据库...

【专利技术属性】
技术研发人员:陈俊元吴小前
申请(专利权)人:北京滴普科技有限公司
类型:发明
国别省市:

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

1