掌桥专利:专业的专利平台
掌桥专利
首页

一种用于宽表数据验证的方法及系统

文献发布时间:2024-04-18 19:53:33


一种用于宽表数据验证的方法及系统

技术领域

本申请属于数据处理技术领域,具体涉及一种用于宽表数据验证的方法及系统。

背景技术

在传统行业,随着业务的发展,系统功能的增多,系统架构变得越来越复杂,对数据的存储与需求也变得越来越多样性;对于业务繁杂的现今,数据库中的宽表使用已经非常广泛,对于软件的后端服务通常调度器(内核中用来安排进程执行的模块称为调度器)走完流程后,需要验证数据表中很多字段的数据值,那需要我们编写多条SQL去查,查到后通过肉眼的对比判断是否为预期结果,这样容易因为漏看、差看等人为原因,造成数据验证不准确且效率低。

发明内容

为此,本发明提供一种用于宽表数据验证的方法及系统,以解决现有的宽表数据验证的方法容易因为漏看、差看等人为原因,造成数据验证不准确且效率低的问题。

为实现以上目的,本申请采用如下技术方案:

第一方面,本发明提供一种用于宽表数据验证的方法,包括:

将查询条件相关数据及预期数据保存到测试数据表;

将测试数据表中的查询条件相关数据进行拼接得到一条SQL语句,在待验证数据表中执行SQL语句得到执行结果数据;

将执行结果数据与预期数据对比得到数据验证结果。

进一步地,所述查询条件相关数据包括案例名称、目标数据表名、待验证字段和筛选条件,其中,所述案例名称作为唯一标识不予重复,所述待验证字段与所述预期数据对应。

进一步地,所述将测试数据表中的字段数据进行拼接得到一条SQL语句,是将目标数据表名、待验证字段和筛选条件自动拼接成SQL语句。

进一步地,所述执行结果数据包括字段名及对应的实际结果数据,和/或,

所述预期数据包括预期字段名及对应的预期结果数据。

进一步地,所述将执行结果数据与预期数据对比得到数据验证结果,是对执行结果数据中每条数据依次执行查询对比操作,所述查询对比操作为:根据每条数据中字段名查找到对应的预期字段名,将对应的实际结果数据与预期结果数据进行对比操作,得到对比结果为数据验证结果。

进一步地,所述根据每条数据中字段名查找到对应的预期字段名,是从预期数据中查找到与执行结果数据中字段名相同的预期字段名,和或,所述对比操作是比较对应实际结果数据与预期结果数据是否相等。

第二方面,本发明提供了一种用于宽表数据验证的系统,所述系统包括:

新增案例模块,用于将查询条件相关数据及预期数据保存到测试数据表;

执行案例模块,用于将测试数据表中的查询条件相关数据进行拼接得到一条SQL语句,在待验证数据表中执行SQL语句得到执行结果数据,然后将执行结果数据与预期数据对比得到数据验证结果;

查看结果模块,用于查看数据验证结果。

进一步地,所述查询条件相关数据包括案例名称、目标数据表名、待验证字段和筛选条件,其中,所述案例名称作为唯一标识不予重复,所述待验证字段与所述预期数据对应。

进一步地,所述执行案例模块包括SQL生成单元、SQL执行单元和查询比较单元,其中,

所述SQL生成单元用于将将目标数据表名、待验证字段和筛选条件自动拼接成SQL语句;

所述SQL执行单元用于将生成的SQL语句在待验证数据表中执行,得到执行结果数据;

所述查询比较单元用于比较执行结果数据与所述预期数据,最终得到数据验证结果。

本申请采用以上技术方案,至少具备以下有益效果:

根据查询条件相关数据自动解析生成SQL语句,在待验证数据表中执行SQL语句得到执行结果数据,将执行结果数据与预期数据进行比较得出数据验证结果,数据查询和对比的处理过程无需人工核验,使数据验证更准确且效率高。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

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

图1是本发明一示例性实施例中用于宽表数据验证的方法的流程示意图;

图2是本发明一示例性实施例中用于宽表数据验证的系统的输入页面示意图;

图3是本发明一示例性实施例中用于宽表数据验证的系统的处理页面示意图;

图4是本发明一示例性实施例中用于宽表数据验证的系统的数据验证结果页面示意图;

图5是本发明一示例性实施例中用于宽表数据验证的系统的数据结构E-R图;

下面结合附图和具体实施方式对本发明作进一步的说明。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

现有的宽表数据验证业务,需要根据需求编写多条SQL语句去相应的数据库中查,再将查到后的数据通过肉眼的对比判断是否为预期结果,这样容易因为漏看、差看等人为原因,造成数据验证不准确且效率低。

本申请实施例,提供的用于宽表数据验证的方法及系统,可以根据预先查询条件相关数据自动解析生成SQL语句,然后在待验证数据表中执行SQL语句得到执行结果数据,将执行结果数据与预期数据进行比较得出数据验证结果,其中,SQL语句的生成、数据查询和对比的处理过程中无需人工介入,使数据验证更准确且效率高。

下面通过具体地实施例对本申请中实时推送消息的方法进行说明。

请参阅图1,图1是根据本发明一示例性实施例提供的用于宽表数据验证的方法的流程示意图,包括:

将查询条件相关数据及预期数据保存到测试数据表;

将测试数据表中的查询条件相关数据进行拼接得到一条SQL语句,在待验证数据表中执行SQL语句得到执行结果数据;

将执行结果数据与预期数据对比得到数据验证结果。

需要说明的是,本实施例提供的宽表数据验证的方法可以用于后端服务中调度器走完流程后验证数据表,也可用于其他业务中数据表字段较多的宽表情况。

在具体实践中,需要人工操作的是将查询条件相关数据及预期数据输入并保存到测试数据表,其他数据处理过程均采用程序自动化处理。

具体地,所述查询条件相关数据包括案例名称、目标数据表名、待验证字段和筛选条件,其中,所述案例名称作为唯一标识不予重复,所述待验证字段与所述预期数据对应。

可以理解的是,本实施例提供的技术方案,提供的方法,可以根据查询条件相关数据自动解析生成SQL语句,在待验证数据表中执行SQL语句得到执行结果数据,将执行结果数据与预期数据进行比较得出数据验证结果,数据查询和对比的处理过程无需人工核验,使数据验证更准确且效率高。

在一个实施例中,所述将测试数据表中的字段数据进行拼接得到一条SQL语句,是将目标数据表名、待验证字段和筛选条件自动拼接成SQL语句。

具体地,目标数据表名为目标要检测的数据表,作为SQL语句里的table;待验证字段为目标要检测的数据表中需要验证的字段;筛选条件为目标要检测的数据表上的查询条件,与待验证字段组成SQL里面where条件。

需要说明的是,待验证字段设计为list集合,因为要验证的字段可能是多个,自动生成SQL语句时,需要分解这个list集合。

可以理解的是,本实施例中的方法,可以根据预设的目标数据表名、待验证字段和筛选条件,拼接后自动生成SQL语句,代替了人工编写SQL语句,从而减少了由于人工误操作引起的编写错误。

在一个实施例中,所述执行结果数据包括字段名及对应的实际结果数据,和/或,所述预期数据包括预期字段名及对应的预期结果数据。

具体地,将执行结果数据与预期数据对比得到数据验证结果,是对执行结果数据中每条数据依次执行查询对比操作,所述查询对比操作为:根据每条数据中字段名查找到对应的预期字段名,将对应的实际结果数据与预期结果数据进行对比操作,得到对比结果为数据验证结果。

需要说明的是,所述根据每条数据中字段名查找到对应的预期字段名,是从预期数据中查找到与执行结果数据中字段名相同的预期字段名,所述对比操作是比较对应实际结果数据与预期结果数据是否相等。

可以理解的是,所述查询对比操作均用程序执行,可以使查询对比操作的效率提高,且准确率高。

在一个实施例中,提供了一种用于宽表数据验证的系统,所述系统包括:

新增案例模块,用于将查询条件相关数据及预期数据保存到测试数据表;

执行案例模块,用于将测试数据表中的查询条件相关数据进行拼接得到一条SQL语句,在待验证数据表中执行SQL语句得到执行结果数据,然后将执行结果数据与预期数据对比得到数据验证结果;

查看结果模块,用于查看数据验证结果。

具体地,所述查询条件相关数据包括案例名称、目标数据表名、待验证字段和筛选条件,其中,所述案例名称作为唯一标识不予重复,所述待验证字段与所述预期数据对应。

进一步地,所述执行案例模块包括SQL生成单元、SQL执行单元和查询比较单元,其中,

所述SQL生成单元用于将将目标数据表名、待验证字段和筛选条件自动拼接成SQL语句;所述SQL执行单元用于将生成的SQL语句在待验证数据表中执行,得到执行结果数据;所述查询比较单元用于比较执行结果数据与所述预期数据,最终得到数据验证结果。

在实际操作中,利用SpringBoot+mybatis+mysql/oracle+maven+jQuery搭建环境,创建Maven项目,引入spring、mybatis和mysql的jar,利用Application.yml文件配置数据连接信息,使用SSM设置分层管理,分别为:entity层,属性类,存放实体;dao层,数据访问层,操作数据库;service层,业务逻辑层,编写详细逻辑,会调用Dao层间接操作数据库;controller层,请求转发层,接收页面数据给到service,处理后再把结果返回给页面。

需要说明的是,参阅图2,图2是用于宽表数据验证的系统的输入页面示意图,用户将输入查询条件相关数据及预期数据到对应表单内,提交即可直接存入测试数据表;参阅图3,图3是用于宽表数据验证的系统的处理页面示意图,点击执行后,对新增入测试数据表的表字段进行源数据的SQL检索,根据新增的案例的目标数据表名、待验证字段和筛选条件,定位我们需要验证的数据,把实际查询到执行结果数据,根据案例中预期数据,去抽取这些预期字段的实际结果值更新至实际结果数据字段,将预期结果数据与实际结果数据对比后,更新对应的数据验证结果字段,如果预期结果数据与实际结果数据一致,则更新数据验证结果为true,不一致,则更新数据验证结果为false;参阅图4,数据验证结果中如果为true则在对应字段后面打勾,如果为false则在对应字段后面打叉。

可以理解的是,本实施的系统,通过预设查询条件相关数据及预期数据后,实现全程自动化数据处理,使数据验证更准确且效率高;并且可以图像化显示数据验证结果,方便查看。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 一种用于验证特定DNA片段拷贝数变异的引物设计方法、引物、试剂盒、方法和系统
  • 一种用于对任务的处理结果进行验证的方法及系统
  • 一种应用于云存储冗余性验证的方法及系统
  • 一种用于移动支付的用户身份验证方法及其系统
  • 用于提供统计动态仪表数据验证的系统和方法
  • 用于提供统计动态仪表数据验证的系统和方法
技术分类

06120116337604