CN111552690A - 数据生成方法、装置、终端及存储介质 - Google Patents
数据生成方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN111552690A CN111552690A CN202010245024.9A CN202010245024A CN111552690A CN 111552690 A CN111552690 A CN 111552690A CN 202010245024 A CN202010245024 A CN 202010245024A CN 111552690 A CN111552690 A CN 111552690A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- data generation
- preset
- rule
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据生成方法,包括:根据数据生成指令连接需要生成数据的目标数据库;从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个;根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则;获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联;确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。本发明还提供一种数据生成装置、终端及存储介质。利用本发明实施例,能够基于不同单表的关联关系生成一整套业务流程的数据,提高业务测试效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数据生成方法、装置、终端及存储介质。
背景技术
伴随着互联网和计算机技术的迅速发展,越来越多的业务可以通过互联网进行处理。不同的业务可以由不同的业务系统支撑。为了提高业务质量,需要经常对业务系统进行测试,例如,在金融系统中为了满足用户的需求,需要开发不同的业务系统支持业务实现,在业务系统正式面向用户时,需要对其进行功能或者性能测试。在测试前或者测试过程中,需要准备大量的测试数据。数据准备的速率以及正确性决定了整个业务测试的结果。
然而,现有的数据生成方法大多是基于单表的数据生成,无法在多个单表之间进行关联规则的设置,也即无法生成基于业务流程的一整套数据。
因而,有必要提出一种数据生成方法,能够基于业务流程正确地生成一整套数据,从而提高业务测试的速率。
发明内容
鉴于以上内容,有必要提出一种数据生成方法、数据生成装置、终端及计算机可读存储介质,其可以解决无法在多个单表之间设置关联规则的问题,从而基于业务流程生成一整套数据,提高业务测试效率。
本发明实施例第一方面提供一种数据生成方法,所述数据生成方法包括:
根据数据生成指令连接需要生成数据的目标数据库;
从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个;
根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则;
获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联;
确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。
进一步地,在本发明实施例提供的上述数据生成方法中,所述从所述目标数据库中获取目标单表的表结构的步骤包括:
获取所述数据生成指令携带的数据生成任务;
解析所述数据生成任务,得到待测试的目标业务节点;
根据所述目标业务节点获取对应的目标单表;
通过SQL语句确定所述目标单表的表结构。
进一步地,在本发明实施例提供的上述数据生成方法中,在所述从所述目标数据库中获取目标单表的表结构的步骤之后,所述方法还包括:
创建工作簿文件;
按照所述表结构确定所述工作簿文件中的工作表结构;
按照所述工作表结构在所述工作簿文件中执行数据生成操作。
进一步地,在本发明实施例提供的上述数据生成方法中,所述根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则的步骤包括:
获取所述表结构中每一列字段的数据类型,并根据所述数据类型确定预设简单规则;
获取所述表结构中每一列字段间的逻辑关联,并根据所述逻辑关联确定预设复杂规则;
获取所述工作簿文件中对应所述表结构的工作表结构;
根据所述预设简单规则与预设复杂规则确定所述工作表结构的数据生成规则。
进一步地,在本发明实施例提供的上述数据生成方法中,所述获取不同的所述目标单表的依赖关系的步骤包括:
获取不同的所述目标单表的建表语句;
解析所述建表语句,并根据解析结果检测所述建表语句中是否存在关联外键;
当检测结果为所述建表语句中存在关联外键时,基于所述建表语句确定与所述关联外键相关联的其他单表。
进一步地,在本发明实施例提供的上述数据生成方法中,所述确定不同的所述目标单表的目标数据量的步骤包括:
通过爬虫技术采集对应目标业务节点的已通过测试的预设业务系统;
获取所述预设业务系统中对应所述目标业务节点的目标单表的数据量集;
根据所述数据量集计算所述目标单表的平均数据量,并根据所述平均数据量获取所述目标单表的目标数据量。
进一步地,在本发明实施例提供的上述数据生成方法中,在所述根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据的步骤之后,所述方法还包括:
检测生成的单表数据是否符合预设要求;
当检测结果为生成的单表数据不符合预设要求时,定位不符合预设要求的数据位置;
根据所述数据位置删除不符合预设要求的数据。本发明实施例第二方面还提供一种数据生成装置,所述数据生成装置包括:
数据库连接模块,用于根据数据生成指令连接需要生成数据的目标数据库;
表结构获取模块,用于从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个;
单表数据配置模块,用于根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则;
单表逻辑关联模块,用于获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联;
整体数据生成模块,用于确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。
本发明实施例第三方面还提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任意一项所述数据生成方法。
本发明实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述数据生成方法。
本发明实施例提供一种数据生成方法、数据生成装置、终端及计算机可读存储介质,根据数据生成指令连接需要生成数据的目标数据库;从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个;根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则;获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联;确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。通过本发明实施例,能够在单表数据生成过程中,结合预设简单规则以及预设复杂规则,配置关系运算符和条件表达式,进而更加多样化地支持单表数据的生成;本发明基于不同单表之间的关联关系配置,能够生成一整套业务流程的数据,能够支持更复杂的业务场景。
附图说明
图1是本发明第一实施方式提供的数据生成方法的流程图。
图2是本发明一实施方式的终端的结构示意图。
图3是图2所示的终端的示例性的功能模块图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1是本发明第一实施方式提供的数据生成方法的流程图。所述数据生成方法可以应用于终端,所述终端1可以是计算机、平板电脑、个人数字助理等具有数据处理、分析、程序执行及显示等功能的电子设备。如图1所示,所述数据生成方法可以包括如下步骤:
S11、根据数据生成指令连接需要生成数据的目标数据库。
在本发明的至少一实施例中,所述目标数据库是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。通过与目标数据库对应的驱动适配器连接需要生成测试数据的目标数据库,所述目标数据库的类型不限,可以为Oracle数据库、Mysql数据库等。所述数据生成指令也即指用于生成业务测试数据的指令,可以由测试工具根据当前测试任务自动发起,也可以由测试人员通过与测试工具的交互发起,也可以是由待测试的软件系统发起,在此不作限制。
在本发明的至少一实施例中,所述数据生成指令可以对应一个数据生成任务(即需要生成数据的目标数据库的数量为一个),或者对应多个数据生成任务(即需要生成数据的目标数据库的数量为多个)。当所述数据生成指令对应多个数据生成任务时,所述方法还包括:获取所述数据生成指令对应的数据生成任务的数量;根据所述数据生成任务的数量从线程池中调用对应数量的子线程;通过所述子线程执行数据生成操作。可以理解的是,通过子线程对多个所述数据生成任务进行并发处理,能够提高数据生成速率,从而提高业务测试效率。
S12、从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个。
在本发明的至少一实施例中,所述目标单表是数据库中存储数据的一种数据组织形式,所述目标单表具有多个字段,每个字段都具有特定的属性,代表不同的含义,所述字段根据实际业务需求进行设置。所述目标单表的表结构为所述数据生成任务指定的,需要进行业务数据生成操作的单表的表结构。
举例来说,当数据库用于保存一个业务流程中所有客户的信息时,可以以业务流程为单位创建一个目标数据库,命名为“service”。所述目标数据库中包括两个单表,分别为客户基本信息单表(命名为“cus”)与客户业务记录单表(命名为“business”)。其中,所述客户基本信息单表中包含的表结构为:“姓名”、“性别”、“年龄”这三个字段,每个字段都可以存储一个特定类型的信息,比如“张三”、“男”、“36”;所述客户业务记录单表中包含的表结构为:“客户编号”、“业务名称”、“交易金额”这三个字段,每个字段都可以存储一个特定类型的信息,比如“200110010”、“贷款”、“20万”。
在本发明的至少一实施例中,从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个,也即一个目标数据库中需要执行数据生成操作的目标单表的数量可以为一个,也可以为多个。具体地,所述从所述目标数据库中获取目标单表的表结构的步骤包括:获取所述数据生成指令携带的数据生成任务;解析所述数据生成任务,得到待测试的目标业务节点;根据所述目标业务节点获取对应的目标单表;通过SQL语句确定所述目标单表的表结构。
其中,所述数据生成任务中包含需要进行业务测试的业务节点信息,所述业务节点信息按照预设数据格式进行编写。通过解析所述数据生成任务中是否存在所述预设数据格式的数据即可获取对应的业务节点信息。所述预设数据格式为预先设置的,用于标识所述业务节点信息的格式。根据所述业务节点信息可以获取对应该业务节点上的目标单表,所述目标单表的数量可以为1个,也可以为多个。所述目标单表中的表结构对应的不同列的数据类型包括但不限于:UUID数据类型、VARCHAR数据类型、NUMBER数据类型、DATE数据类型以及DICT数据类型,不同的数据类型对应不同的数据生成规则,所述数据类型与所述数据生成规则的映射关系为用户预先设定的。
在本发明的至少一实施例中,数据生成操作可以为在指定工作簿文件中生成数据的操作,其中,指定的所述工作簿文件可以为excel等形式的文件,通过将工作簿文件与程序语言相结合,提高了数据生成的速度,进一步地提高了业务测试效率。
优选地,在所述从所述目标数据库中获取目标单表的表结构的步骤之后,所述方法还包括:创建工作簿文件;按照所述表结构确定所述工作簿文件中的工作表结构;按照所述工作表结构在所述工作簿文件中执行数据生成操作。其中,所述工作表结构中不同列的数据类型以及不同列之间的逻辑关联与所述表结构一致。
S13、根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则。
在本发明的至少一实施例中,根据所述表结构同时调用预设简单规则与预设复杂规则配置单表数据,其中,所述预设简单规则与所述预设复杂规则均保存至本地内存中,通过纯内存缓存规则及运算,能够提高数据生成的速率。
所述根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则的步骤包括:获取所述表结构中每一列字段的数据类型,并根据所述数据类型确定预设简单规则;获取所述表结构中每一列字段间的逻辑关联,并根据所述逻辑关联确定预设复杂规则;获取所述工作簿文件中对应所述表结构的工作表结构;根据所述预设简单规则与预设复杂规则确定所述工作表结构的数据生成规则。
其中,所述数据类型与所述预设简单规则一一对应,根据所述数据类型可以调用对应的预设简单规则。所述预设简单规则与所述数据类型对应关系可以包括:当数据类型为UUID数据类型时,对应预设简单规则为GUID,用于生成一个随机唯一的32位字符串;当数据类型为VARCHAR数据类型时,对应预设简单规则为Fixed Number of Char,用于配置字符的数量;当数据类型为NUMBER数据类型时,对应预设简单规则为Number Range,用于按照区间范围随机生成数值;当数据类型为DATE数据类型时,对应预设简单规则为Date,用于指定日期区间;当数据类型为DICT数据类型时,对应预设简单规则为CONSTANT,用于生成常量。
其中,所述预设复杂规则包含不同列之间的运算以及不同列之间的逻辑处理。其中,不同列之间的运算可以包括运算符:+、-、*、/;不同列之间的逻辑处理可以包括:条件表达式:if/else、switch/case。根据所述工作表结构中每一列字段之间的逻辑关联可以确定预设复杂规则。
可以理解的是,相对于现有的数据生成方法,在基础的简单规则层面,增加了复杂规则,能够配置关系运算符和条件表达式,更加多样化地支持单表的数据生成。
S14、获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联。
在本发明的至少一实施例中,根据不同的目标单表之间的物理外键关联关系或者逻辑外键关联关系配置不同目标单表的列之间的依赖关系,保证生成的各业务节点的数据具有一致的逻辑关系。其中,不同的所述目标单表之间的依赖关系可以包括:任意两个表结构之间的关联关系、多个表结构之间的关联关系。
为获取不同的目标单表的依赖关系,需要获得目标单表中的相关参数,所述参数一般包括:字段名称、字段类型、字段是否唯一、字段是否为空、字段是否为关联外键。其中,所述关联外键的含义是通过一个单表中的某个字段可以外部连接到其他的单表。
具体地,所述获取不同的所述目标单表的依赖关系的步骤包括:获取不同的所述单表数据的建表语句;解析所述建表语句,并根据解析结果检测所述建表语句中是否存在关联外键;当检测结果为所述建表语句中存在关联外键时,基于所述建表语句确定与所述关联外键相关联的其他单表。其中,所述关联外键上设有预设标签,用于标识某一字段为关联外键。通过检测所述建表语句中是否包含预设标签来判断是否存在关联外键。
S15、确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。
在本发明的至少一实施例中,所述根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据的步骤可以包括:根据所述数据生成规则、所述逻辑关联及所述目标数据量确定目标随机函数;根据所述目标随机函数生成对应的数据。其中,目标随机函数可以是随机函数rand()、随机strand()等。可以理解的是,在生成对应的数据后,可根据生成的数据对业务系统进行功能或者性能的测试。
所述目标数据量为根据实际业务需求而设置的,不同的目标单表需要生成的数据量可以相同,也可以不相同。在本发明的至少一实施例中,通过对目标单表的目标数据量进行预测,能够提高目标单表生成效率,从而提高业务测试效率。
具体地,所述确定不同的所述目标单表的目标数据量的步骤包括:通过爬虫技术采集对应目标业务节点的已通过测试的预设业务系统;获取所述预设业务系统中对应所述目标业务节点的目标单表的数据量集;根据所述数据量集计算所述目标单表的平均数据量,并根据所述平均数据量获取所述目标单表的目标数据量。
其中,所述目标业务节点为当前需要生成业务数据的节点,所述预设业务系统为用户预先设置的包含所述目标业务节点,且已通过测试的业务系统,所述预设业务系统的个数可以为1个,也可以为多个。优选地,所述预设业务系统的个数为多个。更优选地,当通过爬虫技术无法采集到包含所述目标业务节点的系统时,可以选取与所述目标业务节点的相似度在预设相似度阈值内的业务系统进行信息爬取,所述预设相似度阈值为预先设置的,例如,所述预设相似度阈值为98%,其中,可以通过构建神经网络模型的方法获取与所述目标业务节点的相似度在预设相似度阈值内的业务系统。具体地,获取与所述目标业务节点的名称的相似度在预设相似度阈值内的业务系统;或者,获取与所述目标业务节点中目标单表的表结构(数据类型或逻辑关系)的相似度在预设相似度阈值内的业务系统。
所述数据量集中包含对应目标单表的多个实际数据量。将所述实际数据量与所述平均数据量代入方差计算公式,得到目标数据量。可以理解的是,方差为表示数据偏离程度的量,通过计算对应单表数据的数据量方差值,可以舍弃偏离较大的数据量,从而提高单表数据的数据量设置的准确率。
在实际应用场景中,当需要生成的数据量过大或数据生成系统性能不高时,可能会导致数据生成产生错误,导致最终的业务测试结果不准确。因而,需要检测生成的业务数据是否符合预设要求,剔除或改正不符合预设要求的业务数据,从而提高业务测试的准确性。
具体地,在所述根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据的步骤之后,所述方法还包括:检测生成的单表数据是否符合预设要求;当检测结果为生成的单表数据不符合预设要求时,定位不符合预设要求的数据位置;根据所述数据位置删除不符合预设要求的数据。
具体地,所述检测生成的单表数据是否符合预设要求可以包括,但不限于:检测生成的单表数据与当前字段对应的数据类型是否一致;检测生成的单表数据是否存在乱码;检测生成的单表数据的重复率是否超出预设重复率阈值。通过对生成的单表数据进行预设要求的判断,定位不符合预设要求的数据位置,并根据所述数据位置删除不符合要求的数据,能够在进行业务测试之前发现生成数据的问题,避免业务测试结果的不准确,提高了业务测试效率。
本发明实施例提供的一种数据生成方法,能够在单表数据生成过程中,结合预设简单规则以及预设复杂规则,配置关系运算符和条件表达式,进而更加多样化地支持单表数据的生成;本发明基于不同单表之间的关联关系配置,能够生成一整套业务流程的数据,能够支持更复杂的业务场景。另外,本发明通过对生成的单表数据进行预设要求的判断,定位不符合预设要求的数据位置,并根据所述数据位置删除不符合要求的数据,能够在进行业务测试之前发现生成数据的问题,避免业务测试结果不准确,提高了业务测试效率;且本发明能够对单表数据的数据量进行预测,能够提高单表数据生成效率,从而提高业务测试效率。
本发明实施例还提供一种终端1,包括存储器10、处理器30及存储在存储器10上并可在处理器30上运行的计算机程序,所述处理器30执行所述程序时实现上述任一实施方式中所述的数据生成方法的步骤。
图2是本发明一实施方式的终端的结构示意图,如图2所示,终端1包括存储器10,存储器10中存储有所述数据生成装置100。所述数据生成装置100可以根据数据生成指令连接需要生成数据的目标数据库;从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个;根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则;获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联;确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。通过本发明实施例,能够在单表数据生成过程中,结合预设简单规则以及预设复杂规则,配置关系运算符和条件表达式,进而更加多样化地支持单表数据的生成;本发明基于不同单表之间的关联关系配置,能够生成一整套业务流程的数据,能够支持更复杂的业务场景。另外,本发明通过对生成的单表数据进行预设要求的判断,定位不符合预设要求的数据位置,并根据所述数据位置删除不符合要求的数据,能够在进行业务测试之前发现生成数据的问题,避免业务测试结果不准确,提高了业务测试效率;且本发明能够对单表数据的数据量进行预测,能够提高单表数据生成效率,从而提高业务测试效率。
本实施方式中,终端1还可以包括显示屏20及处理器30。存储器10、显示屏20可以分别与处理器30电连接。
所述的存储器10可以是不同类型存储设备,用于存储各类数据。例如,可以是终端1的存储器、内存,还可以是可外接于该终端1的存储卡,如闪存、SM卡(Smart Media Card,智能媒体卡)、SD卡(Secure Digital Card,安全数字卡)等。此外,存储器10可以包括包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。存储器10用于存储各类数据,例如,所述终端1中安装的各类应用程序(Applications)、应用上述数据生成方法而设置、获取的数据等信息。
显示屏20安装于终端1,用于显示信息。
处理器30用于执行所述数据生成方法以及所述终端1内安装的各类软件,例如操作系统及应用显示软件等。处理器30包含但不限于处理器(Central Processing Unit,CPU)、微控制单元(Micro Controller Unit,MCU)等用于解释计算机指令以及处理计算机软件中的数据的装置。
所述的数据生成装置100可以包括一个或多个的模块,所述一个或多个模块被存储在终端1的存储器10中并被配置成由一个或多个处理器(本实施方式为一个处理器30)执行,以完成本发明实施例。例如,参阅图3所示,所述数据生成装置100可以包括数据库连接模块101、表结构获取模块102、单表数据配置模块103、单表逻辑关联模块104以及整体数据生成模块105。本发明实施例所称的模块可以是完成一特定功能的程序段,比程序更适合于描述软件在处理器30中的执行过程。
可以理解的是,对应上述数据生成方法中的各实施方式,终端1可以包括图3中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。需要说明的是,以上数据生成方法的各实施方式中相同的名词、相关名词及其具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。
数据库连接模块101可以用于根据数据生成指令连接需要生成数据的目标数据库。
表结构获取模块102可以用于从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个。
单表数据配置模块103可以用于根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则。
单表逻辑关联模块104可以用于获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联。
整体数据生成模块105可以用于确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器30执行时实现上述任一实施方式中的数据生成方法的步骤。
所述数据生成装置100/终端集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器30执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述数据生成装置100/终端1的控制中心,利用各种接口和线路连接整个数据生成装置100/终端1的各个部分。
所述存储器10用于存储所述计算机程序和/或模块,所述处理器30通过运行或执行存储在所述存储器10内的计算机程序和/或模块,以及调用存储在存储器10内的数据,实现所述数据生成装置100/终端1的各种功能。所述存储器10可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1的使用所创建的数据等。
在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。
以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
Claims (10)
1.一种数据生成方法,其特征在于,所述数据生成方法包括:
根据数据生成指令连接需要生成数据的目标数据库;
从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个;
根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则;
获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联;
确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。
2.根据权利要求1所述的数据生成方法,其特征在于,所述从所述目标数据库中获取目标单表的表结构的步骤包括:
获取所述数据生成指令携带的数据生成任务;
解析所述数据生成任务,得到待测试的目标业务节点;
根据所述目标业务节点获取对应的目标单表;
通过SQL语句确定所述目标单表的表结构。
3.根据权利要求1所述的数据生成方法,其特征在于,在所述从所述目标数据库中获取目标单表的表结构的步骤之后,所述方法还包括:
创建工作簿文件;
按照所述表结构确定所述工作簿文件中的工作表结构;
按照所述工作表结构在所述工作簿文件中执行数据生成操作。
4.根据权利要求3所述的数据生成方法,其特征在于,所述根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则的步骤包括:
获取所述表结构中每一列字段的数据类型,并根据所述数据类型确定预设简单规则;
获取所述表结构中每一列字段间的逻辑关联,并根据所述逻辑关联确定预设复杂规则;
获取所述工作簿文件中对应所述表结构的工作表结构;
根据所述预设简单规则与预设复杂规则确定所述工作表结构的数据生成规则。
5.根据权利要求1所述的数据生成方法,其特征在于,所述获取不同的所述目标单表的依赖关系的步骤包括:
获取不同的所述目标单表的建表语句;
解析所述建表语句,并根据解析结果检测所述建表语句中是否存在关联外键;
当检测结果为所述建表语句中存在关联外键时,基于所述建表语句确定与所述关联外键相关联的其他单表。
6.根据权利要求1所述的数据生成方法,其特征在于,所述确定不同的所述目标单表的目标数据量的步骤包括:
通过爬虫技术采集对应目标业务节点的已通过测试的预设业务系统;
获取所述预设业务系统中对应所述目标业务节点的目标单表的数据量集;
根据所述数据量集计算所述目标单表的平均数据量,并根据所述平均数据量获取所述目标单表的目标数据量。
7.根据权利要求6所述的数据生成方法,其特征在于,在所述根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据的步骤之后,所述方法还包括:
检测生成的单表数据是否符合预设要求;
当检测结果为生成的单表数据不符合预设要求时,定位不符合预设要求的数据位置;
根据所述数据位置删除不符合预设要求的数据。
8.一种数据生成装置,其特征在于,所述数据生成装置包括:
数据库连接模块,用于根据数据生成指令连接需要生成数据的目标数据库;
表结构获取模块,用于从所述目标数据库中获取目标单表的表结构,其中,所述目标单表的数量为若干个;
单表数据配置模块,用于根据所述表结构调用预设简单规则与预设复杂规则配置所述目标单表的数据生成规则;
单表逻辑关联模块,用于获取不同的所述目标单表的依赖关系,并根据所述依赖关系建立所述目标单表之间的逻辑关联;
整体数据生成模块,用于确定不同的所述目标单表的目标数据量,并根据所述数据生成规则、所述逻辑关联及所述目标数据量生成对应的数据。
9.一种终端,其特征在于,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述数据生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述数据生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010245024.9A CN111552690A (zh) | 2020-03-31 | 2020-03-31 | 数据生成方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010245024.9A CN111552690A (zh) | 2020-03-31 | 2020-03-31 | 数据生成方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552690A true CN111552690A (zh) | 2020-08-18 |
Family
ID=72000182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010245024.9A Pending CN111552690A (zh) | 2020-03-31 | 2020-03-31 | 数据生成方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552690A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949550A (zh) * | 2020-08-31 | 2020-11-17 | 平安国际智慧城市科技股份有限公司 | 自动生成测试数据的方法、装置、设备及存储介质 |
CN112231226A (zh) * | 2020-11-03 | 2021-01-15 | 恩亿科(北京)数据科技有限公司 | 一种软件测试数据生成、维护和导出的方法及系统 |
CN113377785A (zh) * | 2021-08-16 | 2021-09-10 | 宜科(天津)电子有限公司 | 一种工业数据的处理系统 |
CN114461649A (zh) * | 2022-04-11 | 2022-05-10 | 成方金融科技有限公司 | 表数据生成方法、装置及存储介质 |
-
2020
- 2020-03-31 CN CN202010245024.9A patent/CN111552690A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949550A (zh) * | 2020-08-31 | 2020-11-17 | 平安国际智慧城市科技股份有限公司 | 自动生成测试数据的方法、装置、设备及存储介质 |
CN111949550B (zh) * | 2020-08-31 | 2024-02-06 | 深圳赛安特技术服务有限公司 | 自动生成测试数据的方法、装置、设备及存储介质 |
CN112231226A (zh) * | 2020-11-03 | 2021-01-15 | 恩亿科(北京)数据科技有限公司 | 一种软件测试数据生成、维护和导出的方法及系统 |
CN112231226B (zh) * | 2020-11-03 | 2024-04-05 | 恩亿科(北京)数据科技有限公司 | 一种软件测试数据生成、维护和导出的方法及系统 |
CN113377785A (zh) * | 2021-08-16 | 2021-09-10 | 宜科(天津)电子有限公司 | 一种工业数据的处理系统 |
CN114461649A (zh) * | 2022-04-11 | 2022-05-10 | 成方金融科技有限公司 | 表数据生成方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111552690A (zh) | 数据生成方法、装置、终端及存储介质 | |
CN110140118B (zh) | 用于确定数据元素之间的关系的系统和方法 | |
US11341116B2 (en) | Techniques for automated data analysis | |
US8601438B2 (en) | Data transformation based on a technical design document | |
US8626702B2 (en) | Method and system for validation of data extraction | |
CN110347598B (zh) | 一种测试脚本生成方法、装置、服务器及存储介质 | |
CN113076104A (zh) | 页面生成方法、装置、设备及存储介质 | |
CN111090641A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
WO2022105172A1 (zh) | Pdf文档跨页表格合并方法、装置、电子设备及存储介质 | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN111160843B (zh) | 产品数据管理系统中图与文档自检方法 | |
US10372828B2 (en) | Assessing translation quality | |
US20230004979A1 (en) | Abnormal behavior detection method and apparatus, electronic device, and computer-readable storage medium | |
CN111159016A (zh) | 一种规范检测方法及装置 | |
CN111143556A (zh) | 软件功能点自动计数方法、装置、介质及电子设备 | |
WO2021174829A1 (zh) | 众包任务的抽检方法、装置、计算机设备及存储介质 | |
CN111814432A (zh) | 确定疾病的标准诊断编码的方法和装置 | |
CN110618926A (zh) | 源代码分析方法和源代码分析装置 | |
CN112711398A (zh) | 埋点文件生成方法、装置、设备及存储介质 | |
Allon et al. | prepdat-An R package for preparing experimental data for statistical analysis | |
CN114201615B (zh) | 基于数据快照的科研数据变动回顾方法及服务器 | |
CN113094776B (zh) | 可视化组件模型数据构建的方法、系统及电子设备 | |
CN110633258A (zh) | 日志插入方法、装置、计算机装置及存储介质 | |
US20220004885A1 (en) | Computer system and contribution calculation method | |
CN114116108A (zh) | 动态渲染方法、装置、设备及存储介质 |
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 |