CN115729937A - 一种基于大数据通用测试的数据构造方法和系统 - Google Patents
一种基于大数据通用测试的数据构造方法和系统 Download PDFInfo
- Publication number
- CN115729937A CN115729937A CN202211504419.1A CN202211504419A CN115729937A CN 115729937 A CN115729937 A CN 115729937A CN 202211504419 A CN202211504419 A CN 202211504419A CN 115729937 A CN115729937 A CN 115729937A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- protocol
- selecting
- configuring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
公开了基于大数据通用测试的数据构造方法和系统,包括选择数据构造读取的协议,协议包括http、tpc、rpc、webservice、mq协议、文件协议、关系型数据库和非关系数据库;根据协议配置数据构造字段生成规则,字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值;基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则;确定数据构造发送协议;通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。本申请可提高数据构造的多样性、灵活性、大量性,支持多样化的数据构造处置流程,提供数据生产、发送流程。
Description
技术领域
本发明涉及数据处理的技术领域,尤其是一种基于大数据通用测试的数据构造方法和系统。
背景技术
在日常研发过程中,随着系统业务复杂度提高,系统所需要的对接的数据量呈现几何增长。特别是企业在自己的局域网中开发,存在需要对接其他网段的数据,这就需要自行构造数据,但是在构造测试数据要求依赖于数据构造的生产者对于软件业务架构的理解,通常考虑的业务的相关性比较少,导致人工准备的数据价值不高,存在造数据场景单一,操作复杂和构造效率低下并存在造的数据来源协议单一,仅仅只针对数据库层面,无法在其他http协议、tcp协议、rpc协议、文件协议、mq等协议中进行数据构造。在生成构造数据的时候往往需要大量时间让研发人员驻场开发去获取正式真实数据,从而保证系统的稳定性、可靠性。
目前,一般采用人工手段造几条数据写入数据库或者写入单元测试用例中或者代码中写死,以下弊端造成浪费时间成本、人力成本、针对不同的业务及数据类型需要构造不同的数据、数据量小。如果需要构造大数据量的数据,手工构造难度非常大且存在数据不够准确,多表关联构造数据弱且依赖差,无法满足业务需要的多种异构数据关联碰撞。在构造数据的过程中较少的动态随机写入,数据灵活性差。临时性任务多,无法形成一个统一的数据构造平台,无法复用数据构造功能。在大数据写ETL处理难,无法形成一个统一的数据构造平台,导致大数据清洗的过程中样本数据少,清洗过程多次返工从而影响了研发的质量及研发的进展,容易出现数据准确性不足的问题,导致实际部署在生产环境中应用可靠性不足。随着大数据时代来临,数据依赖时间区间度越来越高,在生成构造数据的时候往往都是生成当天的构造数据,无法跨大量跨区间段生成构造数据。
随着大数据的技术普及,现有传统数据构造都将面临着数据构造单一、数据构造少、数据构造效率低下、无法复用。特别是企业在自己的局域网中开发,存在无法跨网段调用其他协议的接口数据,存在返工,耗时久,自己造的数据少不全、缺少相应的拯救措施。在构造的过程中数据灵活性不高,样本数据少、数据关联度差、数据构造应用场景单一、操作复杂、无法动态数据随机生成、数据准确性差。构造的数据无法针对多种异构数据源。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提出了一种基于大数据通用测试的数据构造方法和系统,以解决上述技术问题。
根据本发明的一个方面,提出了一种基于大数据通用测试的数据构造方法,包括:
S1:选择数据构造读取的协议,协议包括http协议、tpc协议、rpc协议、webservice协议、文件协议、mq协议、关系型数据库和非关系数据库;
S2:根据协议配置数据构造字段生成规则,字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值;
S3:基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则;
S4:确定数据构造发送协议;
S5:通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。
在一些具体的实施例中,S1具体包括:
响应于选择关系型数据库,选择包括mysql、oracle、PostgreSQL或达蒙的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择非关系型数据库,选择包括mongo、elasticsearch、doris、hadoop、kudu、clickhouse、hive或impala的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择http协议,选择get、post请求,并选择包括:直接访问、输入用户名密码、token、oauth2的认证方式,配置传递参数,通过el表达式灵活的替换请求参数的值,当选择认证方式为输入用户名密码,则配置用户名和密码,当选择认证方式为token,则配置token值或者动态返回token的接口地址进行获取及配置token传递参数key名称,当选择oauth2认证时间,则配置授权码接口地址进行请求;
响应于选择rpc协议,选择协议dubbo、rmi、hessian,配置访问的ip、port,接口请求名称、构建请求参数基于数据构造字段生成规则进行适配;
响应于选择webservice协议,配置访问地址,构建请求参数基于数据构造字段生成规则进行适配;
响应于选择文件协议,配置文件类型包括csv、excel、txt、xml、json、sql,文件生成地址配置包括本地、ftp、sftp、http,配置对应地址相关的ip、port、用户名、密码、请求地址;
响应于选择mq协议,输入包括ip、port、用户名、密码和topic的mq信息。
在一些具体的实施例中,S2具体包括:
S21:对于选择关系型数据库和非关系型数据库,读取表的名称,响应于表存在,获取表的名称对应的字段名称和字段长度,若表中主键为自增长类型,则倒序获取一万条数据;若表中存在模糊配置日期字段,则基于模糊日期字段倒序获取一万条数据,若不存在上述情况判断是否存在时间格式字段,存在则取第一个时间字段倒序查询一万条数据;
S22:基于一万条数据提取字段名称,逐行显示字段,提取每个字段对应的所有内容,基于内容判断字段的意义;
S23:基于字段内容提取类型,配置生成字段规则。
在一些具体的实施例中,响应于表不存在,基于字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段和日期区间段,并自动建表语句。
在一些具体的实施例中,对于选择http、rpc、webservice、文件协议或mq协议:
响应于协议调用存在数据,进行数据拉取通过返回的结果集匹配结果集模板,判断最终结果的数据,拉取结果数据的所有key字段名及其对应的数据,执行S22-S23步骤;
响应于协议调用不存在数据,基于字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段,并执行自动建表操作,建表和字段保存于mysql关系型数据库中。
在一些具体的实施例中,S3具体包括:
配置数据生成时间,支持立即执行、定时corn表达式执行;
配置数据生成规则,支持生成配置条数包括随机条数、指定条数、时间区间段条数、不规律数据条数、十万、百万级条数;支持配置生成数据线程并发数;支持生成重复组合数:包括基于字段规则中是否重复字段进行组合数据生成冗余重复数据。
在一些具体的实施例中,S4具体包括:选择数据生产发送协议与对应协议配置类型,基于字段类型配置查询参数的请求头,返回结果集并基于结果集模板进行配置,将结果的数据进行el表达式替换。
在一些具体的实施例中,S5包括:
响应于源端选择数据库,目标端也生成数据库,基于automatically_key字段随机抽取十万条并与源端数据库中随机抽取的十万条进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示;
响应于源端选择非数据库,目标端生成数据库,目标端随机抽取十万条与源端抽取最大数据进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有一或多个计算机程序,该一或多个计算机程序被计算机处理器执行时实施上述任一项的方法。
根据本发明的第三方面,提出了一种基于大数据通用测试的数据构造系统,系统包括:
数据构造协议定义单元,配置用于选择数据构造读取的协议,协议包括http协议、tpc协议、rpc协议、webservice协议、文件协议、mq协议、关系型数据库和非关系数据库;
数据构造字段规则生成单元,配置用于根据协议配置数据构造字段生成规则,字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值,基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则;
数据构造发送协议单元:配置用于确定数据构造发送协议;
数据构造比对单元:配置用于通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。
在一些具体的实施例中,数据构造协议定义单元中:
响应于选择关系型数据库,选择包括mysql、oracle、PostgreSQL或达蒙的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择非关系型数据库,选择包括mongo、elasticsearch、doris、hadoop、kudu、clickhouse、hive或impala的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择http协议,选择get、post请求,并选择包括:直接访问、输入用户名密码、token、oauth2的认证方式,配置传递参数,通过el表达式灵活的替换请求参数的值,当选择认证方式为输入用户名密码,则配置用户名和密码,当选择认证方式为token,则配置token值或者动态返回token的接口地址进行获取及配置token传递参数key名称,当选择oauth2认证时间,则配置授权码接口地址进行请求;
响应于选择rpc协议,选择协议dubbo、rmi、hessian,配置访问的ip、port,接口请求名称、构建请求参数基于数据构造字段生成规则进行适配;
响应于选择webservice协议,配置访问地址,构建请求参数基于数据构造字段生成规则进行适配;
响应于选择文件协议,配置文件类型包括csv、excel、txt、xml、json、sql,文件生成地址配置包括本地、ftp、sftp、http,配置对应地址相关的ip、port、用户名、密码、请求地址;
响应于选择mq协议,输入包括ip、port、用户名、密码和topic的mq信息。
在一些具体的实施例中,数据构造字段规则生成单元中:
对于选择关系型数据库和非关系型数据库,读取表的名称,响应于表存在,获取表的名称对应的字段名称和字段长度,若表中主键为自增长类型,则倒序获取一万条数据;若表中存在模糊配置日期字段,则基于模糊日期字段倒序获取一万条数据,若不存在上述情况判断是否存在时间格式字段,存在则取第一个时间字段倒序查询一万条数据;基于一万条数据提取字段名称,逐行显示字段,提取每个字段对应的所有内容,基于内容判断字段的意义;基于字段内容提取类型,配置生成字段规则;
响应于表不存在,基于字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段和日期区间段,并自动建表语句;
对于选择http、rpc、webservice、文件协议或mq协议:响应于协议调用存在数据,进行数据拉取通过返回的结果集匹配结果集模板,判断最终结果的数据,拉取结果数据的所有key字段名及其对应的数据,逐行显示字段,提取每个字段对应的所有内容,基于内容判断字段的意义;基于字段内容提取类型,配置生成字段规则;
响应于协议调用不存在数据,基于字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段,并执行自动建表操作,建表和字段保存于mysql关系型数据库中。
在一些具体的实施例中,数据构造发送协议单元中包括:选择数据生产发送协议与对应协议配置类型,基于字段类型配置查询参数的请求头,返回结果集并基于结果集模板进行配置,将结果的数据进行el表达式替换。
在一些具体的实施例中,数据构造比对单元中具体包括:
响应于源端选择数据库,目标端也生成数据库,基于automatically_key字段随机抽取十万条并与源端数据库中随机抽取的十万条进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示;
响应于源端选择非数据库,目标端生成数据库,目标端随机抽取十万条与源端抽取最大数据进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示。
本发明提出了一种基于大数据通用测试的数据构造方法和系统,具有如下技术效果:
1.提供多种数据构造发送协议,支持http协议、tpc协议、rpc协议、webservice协议、文件协议(csv\excel\txt\xml\json\sql)。mq协议等;
2.提供数据构造跨网段协议模拟,避免应为跨网段的情况下多次切换环境而造成的工时延长;
3.支持构造标准的数据格式,例:手机、地址、身份等相关信息;
4.支持随机格式的数据构造,以增强系统的健壮性;
5.支持拉取对方数据协议格式的数据,例:http协议、tpc协议、rpc协议、webservice协议、mq等协议,提供跨网段离线数据发送支撑;
6.有统一的B/S架构策略配置模式进行数据快速构造的管理平台;
7.支持随机和固定时间区间段数据生成,方便模拟大数据基于时间分片的业务情况
8.支持构造的模拟数据与生产正式环境的数据进行数据比对,发现不一致之处用来重点测试。
9.支持构造生成一对多、多对多、多对一关联数据生成。
10.支持随机动态批量大小数据,用于模拟数据高低峰值。
11.支持多种异构数据源,例如关系型数据库、非关系型数据库、中间件等。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请的一个实施例的基于大数据通用测试的数据构造方法的流程图;
图3是本申请的一个实施例的基于大数据通用测试的数据构造系统的框架图;
图4是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的一种基于大数据通用测试的数据构造方法的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、数据可视化类应用、网页浏览器应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上展示的映射表数据提供支持的后台信息处理服务器。后台信息处理服务器可以对获取的逻辑地址进行处理,并生成处理结果。
需要说明的是,本申请实施例所提供的方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应的装置一般设置于服务器105中,也可以设置于终端设备101、102、103中。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,图2示出了根据本申请的实施例的基于大数据通用测试的数据构造方法的流程图。如图2所示,该方法包括:
S1:选择数据构造读取的协议,协议包括http协议、tpc协议、rpc协议、webservice协议、文件协议、mq协议、关系型数据库和非关系数据库。
在具体的实施例中,通过可视化配置管理平台,选择数据构造读取的协议,协议有如下:支持http协议、tpc协议、rpc协议、webservice协议、文件协议(csv\excel\txt\xml\json\sql)。mq协议、关系型数据库、非关系数据库等。各协议及其对应配置如下:
a.当选择关系型数据库时,选择数据库类型,例:mysql、oracle、PostgreSQL、达蒙等数据库,输入用户名、密码、连接信息等、选择数据库驱动包。进行数据库验证。当验证测试通过后,选择需要构造数据的表(不存在则通过“定义数据构造字段规则”进行自动创建)。
b.当选择非关系型数据库时,选择数据库类型,例:mongo、elasticsearch、doris、hadoop、kudu、clickhouse、hive、impala等大数据组件库,输入用户名、密码、连接信息等、选择数据库驱动包。进行数据库验证。当验证测试通过后,选择需要构造数据的表(不存在则通过“定义数据构造字段规则”进行自动创建)。
c.当选择http协议时,则选择get、post请求,并且选择认证方式:直接访问、输入用户名密码、token、oauth2认证。配置传递参数,通过el表达式灵活的替换请求参数的值。当选择认证方式为”输入用户名密码”,则配置用户名和密码。当选择认证方式为“token”,则配置token值或者动态返回token的接口地址进行获取及配置token传递参数key名称。当选择oauth2认证时间,则配置授权码接口地址进行请求。
d.当选择rpc协议时,则选择协议dubbo、rmi、hessian,配置访问的ip、port,接口请求名称、构建请求参数基于“定义数据构造字段规则”进行适配。
e.当选择webservice协议时,配置访问地址,构建请求参数基于“定义数据构造字段规则”进行适配。
f.当选择文件协议时,配置文件类型:csv\excel\txt\xml\json\sql,文件生成地址配置:本地、ftp、sftp、http等。配置对应地址相关的ip、port、用户名、密码、请求地址等。
g.当选择mq协议时,输入ip、port、用户名、密码、topic等相关mq信息。
S2:根据协议配置数据构造字段生成规则。其中,字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值。
在具体的实施例中,当选择前述a-b的协议及配置时,如果存在该表的情况下:
S21:读取上述选择的表名称,判断表是否存在,如果表存在的情况下获取表名称对应的字段名称及字段长度。获取表中主键如果是自增长类型,则基于主键倒序获取一万条数据,如果表中存在create或者update模糊配置日期字段,则基于create或者update模糊日期字段倒叙获取一万条,如果上述都没有的情况下判断是否存在时间格式字段,如果存在则取第一个时间字段倒叙查询一万条数据,如果上述条件都不成立则随机获取一万条数据。至于为什么要倒叙获取数据的原因是因为时间越新所查询出来的数据用于构造样本也就越准确,也就越代表数据的鲜活性。
S22:基于上述一万条数据。提取上述字段名称,逐行显示字段,提取每个字段对应的所有内容,基于上述内容判断该字段的意义。该步骤具体包括:
(1)基于该字段内容提取正则表达式,判断是否手机号、qq、邮箱、座机号、地址、姓名、企业名称、企业注册机构代码、人员身份证号码、文本内容;
(2)如果上述基于正则表达式无法判断,则基于配置的样本库进行匹配(基于余弦相似度、SimHash+海明距离进行样本匹配),如果匹配样本库则后续生成的数据基于样本库的数据生成,否则基于字段一万条的内容提取判断整形则随机生成整形、浮点类型则随机生成浮点内容、日期类型则随机生成日期类型、文本则生成文本类型、存在里面数据为json数据和json对象的情况下,解析里面的key,value。
重复上述(1)-(2)操作;
(3)读取数据库字段,获取是否唯一字段组合,如果是则在下一步骤中填写是否唯一字段。
S23:基于上述字段内容提取类型,也可以通过可视化界面展示字段及配置字段生成的数据规则。作为示例,可参见如下的人员表和企业法人表:
人员表
企业法人表
在上述表中:
字段名称:当为数据库的时候字段名称为数据库表对应的字段,如果不存在数据库对应的表或者字段的时候则自动创建。
长度:为提取该字段的最大长度,如果在该字段匹配规则则基于规则的长度,否则字段长度基于该字段的数据类型或者用户填写字段长度。
匹配规则:有如下姓名、身份证、手机号、日期、邮箱、住址、经纬度、区域编码、区域名称、车牌号、座机号码、性别名称、性别代码、国籍名称、国籍编码、ip、网址等。
选择样本:基于样本配置库,例如:负面舆情样本库、法院判决样本库、随机内容样本库,新闻样本库,正面舆情样本库等。
是否随机生成:该字段意思就是内容是否随机生成,如果不是随机生成则基于匹配规则的正则生成或基于样本的规则生成;如果是随机生成则基于上述匹配规则机上样本匹配规则加上随机内容进行数据健壮性测试。
是否关联表:意思是该表的字段是否存在1:n、n:1、1:1、n:n关联其它表的字段,方便自动构造数据的时候能够呈现数据的级联性质,更好的验证数据的准确性。
日期区间段:基于时间跨度随机生成,当选择1天的时候则表示当前日期减一天内的日期段随机生成,以此类推秒,时、分、天、月、年等。默认一天规则生成,此字段用于构建大数据测试,因为大数据存储的时候大部分基于分桶分区策略,然而时间字段是分区策略中最常见也是最重中之重的样例标准。
是否查询字段:用于后续“数据构造发送”查询参数。
默认值:当字段匹配不了将进行默认值操作。
在另一的实施例中,当选择前述a-b的协议及配置时,如果表不存在的情况下,基于S23进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段。编写完上述信息执行自动建表语句。
在其他实施例中,如选择c:S4http协议时:
当判断http协议调用存在数据的情况下:通过上述http协议的配置进行数据,进行数据拉取通过返回的结果集匹配结果集模板,判断最终结果的数据,拉取结果数据的所有key字段名和key字段名对应的数据,执行上述S22-S23步骤;
当判断http协议调用不存在数据的情况下:基于S23进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段。编写完上述信息执行自动建表操作.,此时建表和字段保存在默认mysql关系型数据库中。
应当认识到,当选择d-g协议时,同上述c的协议操作类似,此处不再赘述。
S3:基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则。
在具体的实施例中,配置数据生成时间,可支持立即执行、定时corn表达式执行;配置数据生成规则,支持生成配置条数:随机条数、指定条数、时间区间段条数、不规律数据条数、十万、百万级条数;支持配置生成数据线程并发数;支持生成重复组合数据:基于S23中是“否重复字段”进行组合数据生成冗余重复数据,用于模拟大数据清洗过程中数据重复问题导致系统存在大量相似数据,导致系统返工,此构造重复数据用于提前预判数据问题。
S4:确定数据构造发送协议。
在具体的实施例中,当选择不发送的时候则系统默认调用配置模拟的构造的数据库。当选择http数据生产发送协议的时候与c中的配置类型,但多了查询参数基于字段配置中“是否查询字段”,基于字段类型配置查询参数的请求头。返回结果集基于结果集模板进行配置(将结果的数据进行el表达式替换)。同理,当选择d-g类型的数据构造返回,与上述步骤类似。
S5:通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。
在具体的实施例中,当源端选择数据库的时候、目标端也生成数据库,则基于automatically_key字段随机抽取十万条与源端数据库随机抽取十万条。比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本。抽取出不同类型的字段,通过管理界面提示出来。用于回溯数据构造的准确性,确保数据构造能否更加符合线上真实环境数据。
在具体的实施例中,当源端选择非数据库的时候、由于源段非数据库所以目标端生成数据库,目标端随机抽取十万条与源端抽取最大数据。比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本。抽取出不同类型的字段,通过管理界面提示出来。用于回溯数据构造的准确性,确保数据构造能否更加符合线上真实环境数据。
本申请在易用方面基于B/S架构策略配置模式进行数据快速构造。目前主流的数据构造还是基于人工的形式进行数据构造,相较于人工的形式,避免了大量的重复劳动,通过管理平台界面进行参数配置,做到了针对数据库层级:分布式文件存储、分布式列式存储、关系型数据库、分布式内存数据库、海量全文检索、分布式文档数据库的数据构造,通知也做到了支持不同协议的形式将构造的数据已接口的形式返回,例:http协议、tcp协议、rpc协议、文件协议、mq等协议中进行数据构造。做到了通用多种异构数据源的支持构造及协议发送。通过本发明的方法可以支持大数据量的构造,并且支持多样性数据构造,并且支持多种数据协议的返回,且通过界面可配置,到达了数据构造的准确性、灵活性、配置性,极大提供数据构造的易用性。
本发明的方法已应用于海量业务数据构造,在可视化管理平台界面中配置生成规则,可以支持多种异构数据源的构造,可支持多种构造数据的接口协议的形式返回。可拉取生产接口方接口数据协议进行数据构造模拟。并提供正式环境数据与模拟数据进行数据比对从而发现相似度不一致数据进行重点提供,已提供系统健壮性。较目前市场数据构造中都有明显效率提升、通用性适配。
本发明所提出的方法适合业务系统调用第三方接口进行数据构造模拟,同时也适合跨网段调用第三方接口数据模拟。适合大数据ETL清洗时数据构造模拟,提升数据清洗过程中系统的健壮性,同时也适合主流关系型、非关系型数据库数据自动构造模拟生成。通过本方法的使用,可以提高数据构造的多样性、灵活性、大量性,支持多样化的数据构造处置流程,提供数据生产、数据发送流程。
继续参考图3,图3示出了根据本发明的实施例的基于大数据通用测试的数据构造系统的框架图。该系统具体包括数据构造协议定义单元301、数据构造字段规则生成单元302、数据构造发送协议单元303和数据构造比对单元304。其中,数据构造协议定义单元301配置用于选择数据构造读取的协议,协议包括http协议、tpc协议、rpc协议、webservice协议、文件协议、mq协议、关系型数据库和非关系数据库;数据构造字段规则生成单元302配置用于根据协议配置数据构造字段生成规则,字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值,基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则;数据构造发送协议单元303配置用于确定数据构造发送协议;数据构造比对单元304配置用于通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。
下面参考图4,其示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:选择数据构造读取的协议,协议包括http、tpc、rpc、webservice、mq协议、文件协议、关系型数据库和非关系数据库;根据协议配置数据构造字段生成规则,字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值;基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则;确定数据构造发送协议;通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种基于大数据通用测试的数据构造方法,其特征在于,包括:
S1:选择数据构造读取的协议,所述协议包括http协议、tpc协议、rpc协议、webservice协议、文件协议、mq协议、关系型数据库和非关系数据库;
S2:根据所述协议配置数据构造字段生成规则,所述字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值;
S3:基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则;
S4:确定数据构造发送协议;
S5:通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。
2.根据权利要求1所述的基于大数据通用测试的数据构造方法,其特征在于,所述S1具体包括:
响应于选择所述关系型数据库,选择包括mysql、oracle、PostgreSQL或达蒙的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择所述非关系型数据库,选择包括mongo、elasticsearch、doris、hadoop、kudu、clickhouse、hive或impala的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择http协议,选择get、post请求,并选择包括:直接访问、输入用户名密码、token、oauth2的认证方式,配置传递参数,通过el表达式灵活的替换请求参数的值,当选择认证方式为输入用户名密码,则配置用户名和密码,当选择认证方式为token,则配置token值或者动态返回token的接口地址进行获取及配置token传递参数key名称,当选择oauth2认证时间,则配置授权码接口地址进行请求;
响应于选择rpc协议,选择协议dubbo、rmi、hessian,配置访问的ip、port,接口请求名称、构建请求参数基于所述数据构造字段生成规则进行适配;
响应于选择webservice协议,配置访问地址,构建请求参数基于所述数据构造字段生成规则进行适配;
响应于选择文件协议,配置文件类型包括csv、excel、txt、xml、json、sql,文件生成地址配置包括本地、ftp、sftp、http,配置对应地址相关的ip、port、用户名、密码、请求地址;
响应于选择mq协议,输入包括ip、port、用户名、密码和topic的mq信息。
3.根据权利要求2所述的基于大数据通用测试的数据构造方法,其特征在于,所述S2具体包括:
S21:对于选择所述关系型数据库和非关系型数据库,读取所述表的名称,响应于所述表存在,获取所述表的名称对应的字段名称和字段长度,若所述表中主键为自增长类型,则倒序获取一万条数据;若所述表中存在模糊配置日期字段,则基于模糊日期字段倒序获取一万条数据,若不存在上述情况判断是否存在时间格式字段,存在则取第一个时间字段倒序查询一万条数据;
S22:基于所述一万条数据提取字段名称,逐行显示字段,提取每个字段对应的所有内容,基于所述内容判断所述字段的意义;
S23:基于所述字段内容提取类型,配置生成所述字段规则。
4.根据权利要求3所述的基于大数据通用测试的数据构造方法,其特征在于,响应于所述表不存在,基于所述字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段和日期区间段,并自动建表语句。
5.根据权利要求3所述的基于大数据通用测试的数据构造方法,其特征在于,对于选择http、rpc、webservice、文件协议或mq协议:
响应于协议调用存在数据,进行数据拉取通过返回的结果集匹配结果集模板,判断最终结果的数据,拉取结果数据的所有key字段名及其对应的数据,执行所述S22-S23步骤;
响应于协议调用不存在数据,基于所述字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段,并执行自动建表操作,建表和字段保存于mysql关系型数据库中。
6.根据权利要求1所述的基于大数据通用测试的数据构造方法,其特征在于,所述S3具体包括:
配置数据生成时间,支持立即执行、定时corn表达式执行;
配置数据生成规则,支持生成配置条数包括随机条数、指定条数、时间区间段条数、不规律数据条数、十万、百万级条数;支持配置生成数据线程并发数;支持生成重复组合数:包括基于所述字段规则中是否重复字段进行组合数据生成冗余重复数据。
7.根据权利要求1所述的基于大数据通用测试的数据构造方法,其特征在于,所述S4具体包括:选择数据生产发送协议与对应协议配置类型,基于字段类型配置查询参数的请求头,返回结果集并基于结果集模板进行配置,将结果的数据进行el表达式替换。
8.根据权利要求1所述的基于大数据通用测试的数据构造方法,其特征在于,所述S5包括:
响应于所述源端选择数据库,所述目标端也生成数据库,基于automatically_key字段随机抽取十万条并与源端数据库中随机抽取的十万条进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示;
响应于所述源端选择非数据库,所述目标端生成数据库,所述目标端随机抽取十万条与所述源端抽取最大数据进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示。
9.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求1至8任一项所述的方法。
10.一种基于大数据通用测试的数据构造系统,其特征在于,所述系统包括:
数据构造协议定义单元,配置用于选择数据构造读取的协议,所述协议包括http协议、tpc协议、rpc协议、webservice协议、文件协议、mq协议、关系型数据库和非关系数据库;
数据构造字段规则生成单元,配置用于根据所述协议配置数据构造字段生成规则,所述字段规则包括字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段、是否重复字段、是否查询字段和默认值,基于上述配置信息构建数据构造生成规则,包括配置数据生成时间和数据生成规则;
数据构造发送协议单元:配置用于确定数据构造发送协议;
数据构造比对单元:配置用于通过源端与目标端的数据构造比对,展示数据差异项回溯数据构造的准确性。
11.根据权利要求10所述的基于大数据通用测试的数据构造系统,其特征在于,所述数据构造协议定义单元中:
响应于选择所述关系型数据库,选择包括mysql、oracle、PostgreSQL或达蒙的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择所述非关系型数据库,选择包括mongo、elasticsearch、doris、hadoop、kudu、clickhouse、hive或impala的数据库类型,输入用户名、密码、连接信息,选择数据库驱动,进行数据库验证,验证通过后选择需构造数据的表;
响应于选择http协议,选择get、post请求,并选择包括:直接访问、输入用户名密码、token、oauth2的认证方式,配置传递参数,通过el表达式灵活的替换请求参数的值,当选择认证方式为输入用户名密码,则配置用户名和密码,当选择认证方式为token,则配置token值或者动态返回token的接口地址进行获取及配置token传递参数key名称,当选择oauth2认证时间,则配置授权码接口地址进行请求;
响应于选择rpc协议,选择协议dubbo、rmi、hessian,配置访问的ip、port,接口请求名称、构建请求参数基于所述数据构造字段生成规则进行适配;
响应于选择webservice协议,配置访问地址,构建请求参数基于所述数据构造字段生成规则进行适配;
响应于选择文件协议,配置文件类型包括csv、excel、txt、xml、json、sql,文件生成地址配置包括本地、ftp、sftp、http,配置对应地址相关的ip、port、用户名、密码、请求地址;
响应于选择mq协议,输入包括ip、port、用户名、密码和topic的mq信息。
12.根据权利要求10所述的基于大数据通用测试的数据构造系统,其特征在于,所述数据构造字段规则生成单元中:
对于选择所述关系型数据库和非关系型数据库,读取所述表的名称,响应于所述表存在,获取所述表的名称对应的字段名称和字段长度,若所述表中主键为自增长类型,则倒序获取一万条数据;若所述表中存在模糊配置日期字段,则基于模糊日期字段倒序获取一万条数据,若不存在上述情况判断是否存在时间格式字段,存在则取第一个时间字段倒序查询一万条数据;基于所述一万条数据提取字段名称,逐行显示字段,提取每个字段对应的所有内容,基于所述内容判断所述字段的意义;基于所述字段内容提取类型,配置生成所述字段规则;
响应于所述表不存在,基于所述字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段和日期区间段,并自动建表语句;
对于选择http、rpc、webservice、文件协议或mq协议:响应于协议调用存在数据,进行数据拉取通过返回的结果集匹配结果集模板,判断最终结果的数据,拉取结果数据的所有key字段名及其对应的数据,逐行显示字段,提取每个字段对应的所有内容,基于所述内容判断所述字段的意义;基于所述字段内容提取类型,配置生成所述字段规则;
响应于协议调用不存在数据,基于所述字段内容进行编写字段名称、长度、匹配规则、选择样本、是否随机生成、是否关联表、关联表名称、关联表对应字段、日期区间段,并执行自动建表操作,建表和字段保存于mysql关系型数据库中。
13.根据权利要求10所述的基于大数据通用测试的数据构造系统,其特征在于,所述数据构造发送协议单元中包括:选择数据生产发送协议与对应协议配置类型,基于字段类型配置查询参数的请求头,返回结果集并基于结果集模板进行配置,将结果的数据进行el表达式替换。
14.根据权利要求10所述的基于大数据通用测试的数据构造系统,其特征在于,所述数据构造比对单元中具体包括:
响应于所述源端选择数据库,所述目标端也生成数据库,基于automatically_key字段随机抽取十万条并与源端数据库中随机抽取的十万条进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示;
响应于所述源端选择非数据库,所述目标端生成数据库,所述目标端随机抽取十万条与所述源端抽取最大数据进行比较,比较字段数据字段类型、字段数据长度、字段数据语义分析、字段数据相似本,抽取出不同类型的字段,通过管理界面进行提示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211504419.1A CN115729937A (zh) | 2022-11-28 | 2022-11-28 | 一种基于大数据通用测试的数据构造方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211504419.1A CN115729937A (zh) | 2022-11-28 | 2022-11-28 | 一种基于大数据通用测试的数据构造方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729937A true CN115729937A (zh) | 2023-03-03 |
Family
ID=85298771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211504419.1A Pending CN115729937A (zh) | 2022-11-28 | 2022-11-28 | 一种基于大数据通用测试的数据构造方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729937A (zh) |
-
2022
- 2022-11-28 CN CN202211504419.1A patent/CN115729937A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10678683B2 (en) | System and method for automated service layer testing and regression | |
US20210232393A1 (en) | Systems and methods for automating and monitoring software development operations | |
US8690666B2 (en) | Systems and methods for data valuation | |
CN110321544B (zh) | 用于生成信息的方法和装置 | |
AU2014400621B2 (en) | System and method for providing contextual analytics data | |
US10623929B1 (en) | Method and apparatus for shared mobile device app with unique business function adaptation and rendering | |
US20140289332A1 (en) | System and method for prefetching aggregate social media metrics using a time series cache | |
Al-Saqaf | Mecodify: a tool for big data analysis & visualization with twitter as a case study | |
CN116594683A (zh) | 一种代码注释信息生成方法、装置、设备及存储介质 | |
CN110895587B (zh) | 用于确定目标用户的方法和装置 | |
CN114328947A (zh) | 一种基于知识图谱的问答方法和装置 | |
CN111488386B (zh) | 数据查询方法和装置 | |
US8938520B2 (en) | Methods and systems for smart adapters in a social media content analytics environment | |
US20130297695A1 (en) | Methods and apparatus for an integrated incubation environment | |
CN115422202A (zh) | 业务模型的生成方法、业务数据查询方法、装置及设备 | |
CN115729937A (zh) | 一种基于大数据通用测试的数据构造方法和系统 | |
CN115391655A (zh) | 信息查询方法及装置、电子设备和计算机可读存储介质 | |
CN114281704A (zh) | 一种网站测试方法、装置、电子设备和介质 | |
CN115688687A (zh) | 一种数据处理方法、装置、设备及介质 | |
US10152556B1 (en) | Semantic modeling platform | |
US20220114189A1 (en) | Extraction of structured information from unstructured documents | |
Utama et al. | E-Government Integration of Sidoarjo Regency using Service Oriented Architecture (SOA) | |
CN110807089B (zh) | 一种问答方法、装置及电子设备 | |
CN107918672B (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
Frye | Application Reporting and Termination Utility for Windows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |