数据集生成方法技术

技术编号:39725484 阅读:9 留言:0更新日期:2023-12-17 23:30
本申请涉及一种数据集生成方法

【技术实现步骤摘要】
数据集生成方法、装置、电子设备及可读介质


[0001]本申请涉及数据库
,尤其涉及一种数据集生成方法

装置

电子设备及可读介质


技术介绍

[0002]数据库作为常见的底层数据存储工具,广泛应用于各个行业中,不少行业对于数据库的整体性能

数据安全要求极高

在针对数据库产品本身的开发测试时,需要构造尽可能多的
SQL(Structured Query Language
,结构化查询语言
)
语句进行结果验证

测试目标
SQL
尤其是查询类的
SQL
往往通过人工编写,再通过工具自动化变异生成

如果目标数据库中没有足够多的满足条件的结果集,就无法保证测试的准确性

[0003]针对上述的问题,目前尚未提出有效的解决方案


技术实现思路

[0004]本申请提供了一种数据集生成方法

装置

电子设备及可读介质,以解决上述“没有足够多的满足条件的结果集,就无法保证测试的准确性”的技术问题

[0005]根据本申请实施例的一个方面,本申请提供了一种数据集生成方法,包括:获取与目标对象对应的
SQL
语句,并对
SQL
语句进行语句分析,得到目标语法树以及数据依赖关系;将目标语法树的各个节点转换成中间表达节点;根据约束条件确定与中间表达节点对应的属性值;根据各个中间表达节点上的数据依赖关系与属性值,生成目标语句,并将各个目标语句加载至目标数据库,以得到与目标对象对应的数据集

[0006]可选地,在获取与目标对象对应的
SQL
语句之前,所述方法还包括:利用数据库接口从目标数据库获取与目标对象对应的元数据;将元数据转换成数据表;根据数据表生成与目标对象对应的
SQL
语句

[0007]可选地,对
SQL
语句进行语句分析,得到目标语法树包括:对
SQL
语句进行词法分析,得到单词序列;确定单词序列的语法结构,并在语法结构符合预设条件的情况下,生成目标语法树

[0008]可选地,所述方法还包括按照以下方式得到数据依赖关系:在获取与目标对象对应的元数据之后,确定静态依赖信息,其中,数据依赖关系包括静态依赖信息以及动态依赖信息;在确定单词序列的语法结构之后,确定动态依赖信息

[0009]可选地,将目标语法树的各个节点转换成中间表达节点包括:遍历目标语法树的各个节点;按照预设转换关系对各个节点进行剪裁和形式化转换,以得到中间表达节点

[0010]可选地,根据约束条件确定与中间表达节点对应的属性值包括:遍历各个中间表达节点,并根据约束条件以及数据依赖关系提取中间表达类型;确定与中间表达类型对应的属性值

[0011]可选地,根据各个中间表达节点上的数据依赖关系与属性值,生成目标语句包括:根据中间表达节点上的数据依赖关系确定与属性值对应的表名;利用字符串操作将表名与
属性值组合得到目标语句

[0012]根据本申请实施例的另一方面,本申请提供了一种数据集生成装置,包括:分析模块,用于获取与目标对象对应的
SQL
语句,并对
SQL
语句进行语句分析,得到目标语法树以及数据依赖关系;转换模块,用于将目标语法树的各个节点转换成中间表达节点;确定模块,用于根据约束条件确定与中间表达节点对应的属性值;生成模块,用于根据各个中间表达节点上的数据依赖关系与属性值,生成目标语句,并将各个目标语句加载至目标数据库,以得到与目标对象对应的数据集

[0013]根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器

处理器

通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器

处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤

[0014]根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法

[0015]本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
[0016]本申请通过一种数据集生成方法,包括:获取与目标对象对应的
SQL
语句,并对
SQL
语句进行语句分析,得到目标语法树以及数据依赖关系;将目标语法树的各个节点转换成中间表达节点;根据约束条件确定与中间表达节点对应的属性值;根据各个中间表达节点上的数据依赖关系与属性值,生成目标语句,并将各个目标语句加载至目标数据库,以得到与目标对象对应的数据集

通过自动化构建与目标对象对应的数据集来满足测试需求,解决了无法保证测试的准确性的问题

附图说明
[0017]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理

[0018]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图

[0019]图1为根据本申请实施例提供的一种可选的数据集生成方法的流程图;
[0020]图2为根据本申请实施例提供的一种可选的数据依赖关系的示意图;
[0021]图3为根据本申请实施例提供的一种可选的约束计算的示意图;
[0022]图4为根据本申请实施例提供的一种可选的数据集生成装置的框图;
[0023]图5为本申请实施例提供的一种可选的电子设备结构示意图

具体实施方式
[0024]为使本申请实施例的目的

技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例

基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围

[0025]在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义

因此,“模块”与“部件”可以混合地使


[0026]数据库作为常见的底层数据存储工具,广泛应用于各个行业中,其中包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据集生成方法,其特征在于,包括:获取与目标对象对应的
SQL
语句,并对所述
SQL
语句进行语句分析,得到目标语法树以及数据依赖关系;将所述目标语法树的各个节点转换成中间表达节点;根据约束条件确定与所述中间表达节点对应的属性值;根据各个所述中间表达节点上的所述数据依赖关系与所述属性值,生成目标语句,并将各个所述目标语句加载至目标数据库,以得到与所述目标对象对应的数据集
。2.
根据权利要求1所述的方法,其特征在于,在获取与目标对象对应的
SQL
语句之前,所述方法还包括:利用数据库接口从所述目标数据库获取与所述目标对象对应的元数据;将所述元数据转换成数据表;根据所述数据表生成与所述目标对象对应的所述
SQL
语句
。3.
根据权利要求2所述的方法,其特征在于,所述对所述
SQL
语句进行语句分析,得到目标语法树包括:对所述
SQL
语句进行词法分析,得到单词序列;确定所述单词序列的语法结构,并在所述语法结构符合预设条件的情况下,生成所述目标语法树
。4.
根据权利要求3所述的方法,其特征在于,所述方法还包括按照以下方式得到所述数据依赖关系:在获取与所述目标对象对应的所述元数据之后,确定静态依赖信息,其中,所述数据依赖关系包括静态依赖信息以及动态依赖信息;在确定所述单词序列的所述语法结构之后,确定所述动态依赖信息
。5.
根据权利要求1所述的方法,其特征在于,所述将所述目标语法树的各个节点转换成中间表达节点包括:遍历所述目标语法树的所述各个节点;按照预设转换关系对所述各个节点进行剪裁和形式化转换,以得到所述中间表达节点

【专利技术属性】
技术研发人员:于涛
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1