CN116226074A - 一种数据构建方法、装置、电子设备及存储介质 - Google Patents

一种数据构建方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116226074A
CN116226074A CN202111477870.4A CN202111477870A CN116226074A CN 116226074 A CN116226074 A CN 116226074A CN 202111477870 A CN202111477870 A CN 202111477870A CN 116226074 A CN116226074 A CN 116226074A
Authority
CN
China
Prior art keywords
task
test data
information
database
construction
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
Application number
CN202111477870.4A
Other languages
English (en)
Inventor
施宏
陈学平
蒋忠强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202111477870.4A priority Critical patent/CN116226074A/zh
Publication of CN116226074A publication Critical patent/CN116226074A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种数据构建方法、装置、电子设备及存储介质,其中,所述方法应用于任务执行模块,所述方法包括:接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息;基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。本申请实施例的技术方案通过引入数据库实例能够减少数据库信息的配置工作,通过引入字段生成策略配置信息能够快速高效生成针对数据库的测试数据,为后续数据库性能测试的等工作开展提供稳定的数据基础。

Description

一种数据构建方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及数据库技术领域,尤其涉及一种数据构建方法、装置、电子设备及存储介质。
背景技术
数据库测试是依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行的测试。为实现对数据库的测试,在对数据库进行测试时,需要准确、便捷的构造针对数据库的测试数据,现有技术中,通常需要人工进行数据库测试数据的构造,测试数据构造准确度和效率都比较低。
发明内容
为解决上述技术问题,本申请实施例提供了一种数据构建方法、装置、电子设备及存储介质。
本申请实施例还提供了一种数据构建方法,所述方法应用于任务执行模块,所述方法包括:
接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息;
基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
本申请一可选实施方式中,所述方法包括:
监控数据库的运行状态;所述数据库为所述数据库实例信息所对应的数据库;
基于所述数据库的运行状态调整向所述数据库的数据库实例写入所述测试数据的速度。
本申请一可选实施方式中,所述方法还包括:
在执行所述测试数据的构建任务的过程中,向所述任务管理模块发送所述任务执行模块的运行状态以及任务执行记录。
本申请一可选实施方式中,所述数据库实例信息包括数据库的连接参数信息;所述基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务之前,所述方法还包括:
基于所述参数连接信息测试所述数据库的连接信息;
基于对所述连接信息的测试结果确定所述连接信息是否能够连接所述数据库的数据库实例。
本申请一可选实施方式中,所述字段生成策略配置信息包括数据库信息、数据库中的目标表信息、目标表结构信息以及测试数据的生成量信息。
本申请实施例还提供了一种数据构建方法,其特征在于,所述方法应用于任务管理模块,所述方法包括:
获得测试数据构建请求;所述测试数据构建请求包括数据库实例信息以及字段生成策略配置信息;
基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务,以利用所述任务执行模块基于所述数据库实例信息以及字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
本申请一可选实施方式中,所述获得测试数据构建请求,包括:
基于目标对象在信息输入模块输入的数据库实例信息以及字段生成策略配置信息,获得测试数据构建请求。
本申请一可选实施方式中,所述基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之前,所述方法还包括:
从注册模块获取所述任务执行模块的地址信息;
相应的,所述基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务,包括:
基于所述测试数据构建请求以及所述地址信息向所述任务执行模块分配的测试数据的构建任务。
本申请一可选实施方式中,所述注册模块中可部署有至少一个任务执行模块;所述任务执行模块为所述注册模块从所述至少一个任务执行模块中确定的运行状态为可用状态的任务执行模块。
本申请一可选实施方式中,所述基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之后,所述方法还包括:
接收所述任务执行模块发送的运行状态以及任务执行记录;其中,所述运行状态以及所述任务执行记录是所述任务执行模块在执行所述测试数据的构建任务的过程中发送的;
基于所述运行状态以及任务执行记录确定所述测试数据的构建任务的执行状态;
基于所述执行状态确定是否继续执行所述测试数据的构建任务。
本申请实施例还提供了一种数据构建装置,所述装置应用于任务执行模块,所述装置包括:
接收单元,用于接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息;
执行单元,用于基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
本申请一可选实施方式中,所述装置还包括:
监控单元,用于监控数据库的运行状态;所述数据库为所述数据库实例信息所对应的数据库;基于所述数据库的运行状态调整向所述数据库的数据库实例写入所述测试数据的速度。
本申请一可选实施方式中,所述装置还包括:
发送单元,用于在执行所述测试数据的构建任务的过程中,向所述任务管理模块发送所述任务执行模块的运行状态以及任务执行记录。
本申请一可选实施方式中,所述数据库实例信息包括数据库的连接参数信息;所述执行单元基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务之前,所述装置还包括:
测试单元,用于基于所述参数连接信息测试所述数据库的连接信息;基于对所述连接信息的测试结果确定所述连接信息是否能够连接所述数据库的数据库实例。
本申请一可选实施方式中,所述字段生成策略配置信息包括数据库信息、数据库中的目标表信息、目标表结构信息以及测试数据的生成量信息。
本申请实施例还提供了一种数据构建装置,所述装置应用于任务管理模块,所述装置包括:
获得单元,用于获得测试数据构建请求;所述测试数据构建请求包括数据库实例信息以及字段生成策略配置信息;
分配单元,用于基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务;其中,所述任务执行模块用于基于所述数据库实例信息以及字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
本申请一可选实施方式中,所述获得单元,具体用于基于目标对象在信息输入模块输入的数据库实例信息以及字段生成策略配置信息,获得测试数据构建请求。
本申请一可选实施方式中,所述分配单元基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之前,所述装置还包括:
获取单元,用于从注册模块获取所述任务执行模块的地址信息;
相应的,所述分配单元,具体用于:基于所述测试数据构建请求以及所述地址信息向所述任务执行模块分配的测试数据的构建任务。
本申请一可选实施方式中,所述注册模块中可部署有至少一个任务执行模块;所述任务执行模块为所述注册模块从所述至少一个任务执行模块中确定的运行状态为可用状态的任务执行模块。
本申请一可选实施方式中,所述分配单元基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之后,所述装置还包括:
接收单元,用于接收所述任务执行模块发送的运行状态以及任务执行记录;其中,所述运行状态以及所述任务执行记录是所述任务执行模块在执行所述测试数据的构建任务的过程中发送的;基于所述运行状态以及任务执行记录确定所述测试数据的构建任务的执行状态;基于所述执行状态确定是否继续执行所述测试数据的构建任务。
本申请实施例还提供了一种电子设备,所述电子设备包括:存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现上述实施例所述的数据构建方法。
本申请实施例还提供了一种计算机存储介质,所述存储介质上存储有可执行指令,该可执行指令被处理器执行时实现上述实施例所述的数据构建方法。
本申请实施例的技术方案,通过任务执行模块接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息;基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。如此,能够通过引入数据库实例减少数据库信息的配置工作,通过引入字段生成策略配置信息能够快速高效生成针对数据库的测试数据,为后续数据库性能测试的等工作开展提供稳定的数据基础,具有较好的推广价值。
附图说明
图1为本申请实施例提供的执行数据构建方法的各模块交互过程示意图;
图2为本申请实施例提供的一种数据构建方法的流程示意图一;
图3为本申请实施例提供的数据库实例信息录入界面示意图;
图4为本申请实施例提供的字段生成策略配置信息设置界面示意图;
图5为本申请实施例提供的注册中心与任务执行器的部署示意图;
图6为本申请实施例提供的测试数据构建过程示意图;
图7为本申请实施例提供的任务执行成功显示信息示意图;
图8为本申请实施例提供的任务执行器故障时的示意图;
图9为本申请实施例提供的一种数据构建方法的流程示意图二;
图10为本申请实施例提供的一种数据构建方法的流程示意图三;
图11为本申请实施例提供的一种数据构建装置的结构组成示意图一;
图12为本申请实施例提供的一种数据构建装置的结构组成示意图二;
图13为本申请实施例提供的一种电子设备的结构组成示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在一种数据抽取方法中,可以通过同步数据配置、连接参数校验、同步调度引擎执行数据同步任务以及持久化同步日志四个步骤完成数据抽取功能。其中,同步数据配置主要是配置源数据库连接信息与需要同步到ES(即ElasticSearch,是一种基于Lucene(一种全文检索引擎架构)的搜索服务器)的数据库表及字段信息,数据库连接信息通过校验后执行同步调度引擎,同步调度器收到同步引擎执行MySQL(一种关系型数据库管理系统)到ES的数据抽取与同步操作,在数据抽取过程中使用日志模块将任务中的执行信息进行本地持久化操作。该方法简化了对数据库的操作复杂度,将大量的用户操作步骤进行了隐藏,显著提升了用户体验。但是,上述方案存在以下缺陷:
1、在该方案中,数据库数据抽取与同步至ES的的过程是采用单例部署的,在业务量不大的情况下能够正常工作,但是随着应用场景的不断复杂化,需处理数据量也会不断激增,单例部署下服务器的性能将到达瓶颈,造成处理数据缓慢等情况,甚至引发服务器瘫痪,无法适用于复杂业务。
2、同步数据配置过程每次执行任务都需要填写数据库的连接信息,操作繁琐,用户交互友好度较低;并且,数据库连接信息中的账号密码与连接信息均未进行有效的加密措施,导致数据库敏感信息在接口层肉眼可见,数据安全性存在较大风险。
3、数据处理过程中对于异常任务或者长时间占用资源的任务没有检查机制,长期执行可能导致异常任务占用不必要的设备运行资源,降低设备运行资源的有效利用率。
基于上述数据抽取方法存在的缺陷,本申请实施例提供了一种数据构建方法,具体为一种基于简单配置的数据库测试数据构建方法。图1为本申请实施例提供的执行数据构建方法的各模块交互过程示意图,该方法通过数据库实例信息录入、测试目标表配置、测试数据生成策略配置、数据构建任务异步执行以及任务执行信息持久化等步骤完成数据库实例中针对目标表的测试数据构建。本申请实施例的技术方案可快速根据用户自定义的字段数据生成策略完成测试数据生成与写入,通过这种简单配置实现测试数据包括的字段数据的个性化生成策略,能够快速高效生成针对数据库的测试数据,为后续数据库性能测试等工作开展提供稳定的数据基础。
本申请实施例提供的数据构建方法具有如下特点:
1、采用多实例部署,以分布式的方法解决单实例性能瓶颈问题;将多个任务执行器统一部署并将任务执行器的互联网协议地址(IP,Internet Protocol)以及转发接口注册到注册中心完成任务执行器的横向扩展。当任务管理器获取到测试数据构建的请求后,任务管理器将向注册中心获取到当前可用的任务执行器的转发信息并进行任务,从而提高整个任务处理的并发量,多实例任务执行器能够有效解决单机模式下性能瓶颈问题,提供整个测试数据构建任务处理过程的可用性与扩展性。
2、浏览器、任务管理器以及任务执行器之间的敏感信息传输均采用一定的加密方式进行加密处理,数据接口中不对外暴露数据库连接信息中的敏感信息,能够有效提高数据库连接信息的安全性。
3、引用机器学习方法,通过获取各个字段在数据库中的约束条件,以字段的主键、外键等信息封装成输入,根据输入条件限制输出生成测试数据字段的结果集。
4、在向数据库实例写入测试数据时,周期性抓取数据库的运行状态,根据数据库运行状态实时调整写入速度,提高数据写入效率,保证数据写入的高效性。
图1为本申请实施例提供的执行数据构建方法的各模块交互过程示意图,如图1所示,本申请实施例提供的数据构建方法主要通过浏览器、任务管理器、注册中心、任务执行器、业务库、数据库实例等几个部分来执行。下面,对图1中的各部分介绍如下:
1、浏览器,用户操作数据库实例录入与测试构建等操作页面。
2、任务管理器,负责数据库实例信息记录、测试数据构建任务执行状况巡检以及测试数据构建任务的分发等工作。多个任务管理器之间可以采用主备模式进行部署,可实现高可用模式,提高整个系统的鲁棒性。
3、注册中心,负责任务执行器的心跳检测与任务执行器IP与端口的持久化。注册中心记录任务执行器的IP与转发端口号,当任务管理器向注册中心请求任务执行器信息时,注册中心可以返回一个可用任务执行器的IP与端口信息,注册中心使用的转发策略可以是轮询策略,最小连接策略等。
4、任务执行器,负责数据库连接测试与测试数据构建的具体执行,包含测试数据的生成与测试数据的数据写入两个功能。通过向注册中心注册新的任务执行器完成任务执行的横向扩展,提升任务处理能力。
(1)数据生成过程引用机器学习模型,结合数据库自身配置信息为用户生成测试数据结果字段的结果集信息。
(2)数据写入过程监控数据库运行状态,动态调整写入速度,达到数据库最佳运行状态,提升写入效率。
5、业务库,记录数据库连接信息与测试数据构建任务的执行信息。
6、数据库实例,需操作的目标数据库实例。
下面,结合图1所示的执行数据构建方法的各模块交互过程来说明本申请实施例的数据构建方法。
图2为本申请实施例提供的一种数据构建方法的流程示意图一,如图2所示,所述数据构建方法方法应用于任务执行模块,具体包括如下步骤:
步骤201:接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息。
本申请实施例中,用户可以利用信息输入模块录入数据库实例信息,该信息输入模块具体可以为图1中的浏览器,在信息输入模块录入数据库实例信息主要是为了对数据库的类型、数据库版本、数据库登录账号及密码等连接参数信息持久化操作,用户通过数据库实例信息录入的编辑按钮可对数据库连接信息进行更新,减少后续测试数据构建时的数据库信息配置工作。图3为本申请实施例提供的数据库实例信息录入界面示意图。
用户在利用信息输入模块录入数据库实例信息后,可以进一步在信息输入模块中打开测试数据构建页面,并在测试数据构建页面设置字段生成策略配置信息。
本申请一可选实施方式中,所述字段生成策略配置信息包括数据库信息、数据库中的目标表信息、目标表结构信息以及测试数据的生成量信息。
具体的,图4为本申请实施例提供的测试数据构建页面的示意图,用户在该测试数据构建页面设置字段生成策略配置信息,如图4所示,用户进入测试数据构建页面后选择变更目标库以及目标表,展示当前目标表的表结构信息,包括列名、类型、约束条件以及默认值,其中约束条件具体包含字段是否为空,是否自增,是否主键,是否外键等信息。
本申请实施例中,用户在信息输入模块完成数据库实例信息以及字段生成策略配置信息的输入后,信息输入模块将数据库实例信息以及字段生成策略配置信息发送给任务管理模块,如图1所示,该任务管理模块可以具体为图1中的任务管理器A和任务管理器B中的一个或多个;任务管理模块在接收到信息输入模块发送的数据库实例信息以及字段生成策略配置信息后,将基于接收到的这两个信息后生成相应的测试数据构建任务,并向任务执行模块进行测试数据构建任务的分配。图1中,任务执行模块具体可以为图1中的任务执行器A、任务执行器B和任务执行器C中的一个或多个。
本申请实施例中,为了保证数据传输过程的安全性,信息输入模块、任务管理模块以及任务调度模块之间在进行数据的传输时,需要对传输的敏感信息进行加密。在一种可选的实施方式中,可以对数据库的登录账号与密码此类敏感信息采用一定的加密算法进行加密,例如,可以采用高级加密标准(AES,Advanced Encryption Standard)这一对称加密算法对数据库登录账号和密码进行加密,该对称加密算法提供了多种加密模式,有比较好的安全性、效率、灵活性。
本申请实施例中,用户在信息输入模块完成数据库实例信息以及字段生成策略配置信息的输入后,信息输入模块能够将数据库实例信息以及字段生成策略配置信息发送给任务管理模块。在一种实施方式中,信息输入模块能够基于用户输入的数据库实例信息生成测试数据构建请求信息,该测试数据构建请求中的数据库的登录账号和密码都进行了加密,加密后的测试数据构建请求信息如下:
Figure BDA0003394207680000101
本申请实施例中,任务管理模块的数量为一个或多个,任务执行模块的数量也为一个或多个,其中,多个任务执行模块中的每个任务执行模块都统一部署到注册模块,该注册模块对应图1中的注册中心,任务执行模块的IP以及转发接口注册到注册模块,本申请利用注册模块能够实现多个任务执行模块的横向扩展。
本申请实施例中,当任务管理模块从信息输入模块获取到测试数据构建的请求后,从注册模块获取到当前可用的任务执行模块的转发信息并向可用的任务执行模块进行测试数据的构建任务的分配。
本申请实施例中,针对统一部署至注册模块的多个任务执行模块,注册模块能够进行各任务执行模块的心跳检测以及任务执行模块的端口的持久化,注册模块通过记录各任务执行模块的IP和转发端口号,在任务管理模块向注册模块请求任务执行模块的信息时,注册模块能够向任务管理模块返回一个或多个可用的任务执行模块的IP与端口信息,注册中心使用的转发策略可从是轮询策略,最小连接策略等。
具体的,如图1所示,浏览器将数据库实例信息,如数据表唯一标识TABLEID等信息与字段生成策略配置信息以接口信息发送至任务管理器A,任务管理器A通过TABLEID获取当前任务目标表的连接信息,包含连接IP,端口,连接账号与密码(加密后的)等,创建测试数据构建任务,记录任务编号TASKID、执行状态STATUS(执行中)、任务创建时间CREATETIME、执行日志MESSAGE以及字段生成策略等信息。任务管理器A向注册中心请求执行当前任务的执行器信息。
图1中,注册中心中注册有任务执行器A、B、C三个任务执行器信息,且注册中心通过心跳检测定时检查各个任务执行器的运行状态,若图中三个任务执行器均处于可用状态,注册中心将根据转发策略给任务管理器A返回可用的任务执行器信息。
这里,任务管理模块的常见的任务转发策略如下:
1、轮询法,将请求轮流分配给注册中心实例列表的任务执行器实例。
2、随机法,将请求随机分配给注册中心实例列表中的任意一个任务执行器实例。
3、最小连接法,是一种动态的转发策略,当一个任务执行器实例收到一个任务后连接数加1,当任务执行器实例故障时就将当前实例权值设置为0,注册中心将不再给当前任务执行器实例分配任务。
需要说明的是,本申请实施例中,注册模块部署的任务执行模块的数量是可以扩展的,如图5所示,在需要执行的测试数据的构建任务较多,需要增加任务执行器的数量时,在已经启用的任务执行器A、任务执行器B以及任务执行器C的基础上,可以再另外启动任务执行器D,并向注册中心注册任务执行器D的信息,当任务管理器A或任务管理器B向注册中心请求任务执行器信息时将根据转发策略返回任务执行器A、任务执行器B、任务执行器C以及任务执行器D等4个执行器中的一个任务执行器的信息。
本申请一可选实施方式中,所述数据库实例信息包括数据库的连接参数信息;任务执行模块在执行上述步骤201之前,还具体执行如下步骤:
基于所述参数连接信息测试所述数据库的连接信息;基于对所述连接信息的测试结果确定所述连接信息是否能够连接所述数据库的数据库实例。
具体的,任务执行模块在执行测试数据的构建任务之前,需要基于用户在信息输入模块输入的数据库实例信息确定任务执行模块能否连接到数据库实例,即验证用户在信息输入模块输入的数据库实例信息中的连接信息是否有效。
任务执行模块在接收到任务管理模块发送的数据库实例信息后,将数据库访问IP、访问端口、useSSL、characterEncoding、serverTimezone、rewriteBatchedStatements等信息拼接成connectionURL,通过connectionURL与解密后的账号密码使用DriverManager获取Connection信息。
若任务执行模块获取Connection信息过程中无异常抛出,则确定用户提供的连接信息能够正常连接数据库实例,任务管理模块接收到任务执行模块获取Connection信息成功的信息后将数据库实例信息写入业务库中;当任务执行模块获取Connection信息过程中存在异常抛出,即确定用户填写的数据库连接信息无法正确连接数据库实例,任务执行模块将异常信息捕捉后进行再封装返回任务管理模块。
步骤202:基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
图6为本申请实施例提供的测试数据构建过程示意图;参见图6,任务执行模块执行测试数据的构建任务时提供默认的字段生成策略,该字段生成策略采用机器学习方法,将字段类型、长度、约束条件(是否为空、是否主键、是否自增、是否外键等)、生成行数作为输入参数,结合数据库自身配置信息生成每个字段的结果集信息。
如当前目标表为student表,包含id(bigint,主键,自增,非空),name(varchar(10),非空),grade(int,非空,外键)字段。
grade字段为外键,数值来源于grade年级表,grade字段信息的生成需在关联grade表的关联内容中获取才能保证生成数据质量。
name字段为varchar(10),非空,对于此类非外键的字段,默认生成中英文混合1至10为随机长度的生成方式,在此基础上提供用户多种行业模式进行二次约束,如用户选取默认生成策略中的电商模式,则name字段生成数据为电商商品名,如:“电视”,“沙发”;如用户选取默认生成策略中的人物模式,则name字段生成数据为人物名称,如:“爱迪生”,“Faraday”等。
在默认生成方式的基础上为每个字段提供csv文件上传,通过解析指定格式的csv文件来指定字段的数值内容范围。
本申请一可选实施方式中,所述任务执行模块在构建车针对数据库的测试数据后,还执行如下步骤:
监控数据库的运行状态;所述数据库为所述数据库实例信息所对应的数据库;基于所述数据库的运行状态调整向所述数据库的数据库实例写入所述测试数据的速度。
具体的,为优化数据写入效率,作为一种具体的实施方式,在任务执行模块异步执行测试数据构建任务时,可以引入Prometheus(一种开源的系统个服务监控系统)监控数据库运行状态信息,其中buffer pool(缓冲池)是数据库写入时的关键参数,任务执行模块开始执行向数据库实例写入测试数据的任务时以初始速度进行数据写入,监测数据库运行状态,若数据库各项状态未达到满负荷状态,则任务执行模块将增加向数据库实例中写入测试数据的写入速度,反之则减少测试数据的写入速度。本申请实施例通过引用Prometheus实时监控数据库运行状态能够使每个数据库实例达到理想的写入速度。
本申请一可选实施方式中,任务执行模块在执行所述测试数据的构建任务的过程中,向所述任务管理模块发送所述任务执行模块的运行状态以及任务执行记录。
本申请实施例中,任务执行模块在成功执行测试数据的构建任务后,将向任务管理模块返回任务执行信息,任务管理模块将更新测试数据的构建任务的执行状态与执行信息记录。图7为本申请实施例提供的任务执行成功显示信息示意图,其中,任务执行成功的信息最终显示在信息输入模块上。
本申请实施例中,任务管理模块定时巡检处于执行当中的测试数据构建任务,当测试数据构建任务长时间处于执行中时,检查当前测试数据构建任务的日志信息,若当前测试数据构建任务执行进度长时间并未更新任务进度,则判定当前测试数据构建任务执行失败,任务管理模块更新测试测试数据构建任务信息并停止对应的测试数据构建任务。
本申请实施例中,测试数据构建任务的执行状态主要包含以下4种状态:
1、执行中,当前测试数据构建任务处于执行中,任务执行信息中阶段性显示写入进度。
2、执行成功,当前测试数据构建任务已经执行成功,任务执行信息显示写入总数据量与执行时间等信息。
3、执行失败,当前测试数据构建任务已经执行但在执行过程中发生异常,任务执行信息显示执行进度与异常信息。
4、执行超时,当前测试数据构建任务已经执行,但是执行时间过长,可能原因为任务执行模块故障等原因。
本申请实施例中,当某一任务执行管理模块发生故障无法正常提供服务时,注册模块通过心跳检测更新注册模块中的该故障任务管理模块的实例信息,后续任务管理模块请求注册中心获取任务执行模块信息不再返回故障的任务管理模块的信息。
如图8所示,在任务执行器A发生故障无法执行测试数据的构建任务时,注册中心通过心跳检测更新该任务执行器A的实例信息,将任务执行器A的状态标记为FAILD状态,后续任务管理器A或任务管理器B在进行测试数据的构建任务的分配时,注册中心将不再向任务管理器A返回任务执行器A的相关信息。
本申请实施例的技术方案,提出了一种分布式,多实例,可扩展,基于简单配置的数据库测试数据构建方法,解决了原有技术方案中单实例服务存在的性能瓶颈问题,通过引入注册中心实现任务执行模块的横向扩展功能,字段生成配置中采用机器学习方式根据字段信息智能生成针对数据库的测试数据的字段值,并且,在任务执行过程中引入数据库运行状态监控实时调整写入速度,任务管理模块定时执行巡检,当构建任务长时间处于执行中时,放弃当前的数据构建任务以释放运行资源。
图9为本申请实施例提供的一种数据构建方法的流程示意图二,如图9所示,所述数据构建方法方法应用于任务管理模块,具体包括如下步骤:
步骤901:获得测试数据构建请求;所述测试数据构建请求包括数据库实例信息以及字段生成策略配置信息。
本申请一可选实施方式中,上述步骤901具体包括如下步骤:基于目标对象在信息输入模块输入的数据库实例信息以及字段生成策略配置信息,获得测试数据构建请求。
本申请实施例中,用户可以利用信息输入模块录入数据库实例信息,该信息输入模块具体可以为图1中的浏览器,在信息输入模块录入数据库实例信息主要是为了对数据库的类型、数据库版本、数据库登录账号及密码等连接参数信息持久化操作,用户通过数据库实例信息录入的编辑按钮可对数据库连接信息进行更新,减少后续测试数据构建时的数据库信息配置工作。图3为本申请实施例提供的数据库实例信息录入界面示意图。
用户在利用信息输入模块录入数据库实例信息后,可以进一步在信息输入模块中打开测试数据构建页面,并在测试数据构建页面设置字段生成策略配置信息。
本申请一可选实施方式中,所述字段生成策略配置信息包括数据库信息、数据库中的目标表信息、目标表结构信息以及测试数据的生成量信息。
具体的,图4为本申请实施例提供的测试数据构建页面的示意图,用户在该测试数据构建页面设置字段生成策略配置信息,如图4所示,用户进入测试数据构建页面后选择变更目标库以及目标表,展示当前目标表的表结构信息,包括列名、类型、约束条件以及默认值,其中约束条件具体包含字段是否为空,是否自增,是否主键,是否外键等信息。
本申请实施例中,用户在信息输入模块完成数据库实例信息以及字段生成策略配置信息的输入后,信息输入模块将数据库实例信息以及字段生成策略配置信息发送给任务管理模块,如图1所示,该任务管理模块可以具体为图1中的任务管理器A和任务管理器B中的一个或多个;任务管理模块在接收到信息输入模块发送的数据库实例信息以及字段生成策略配置信息后,将基于接收到的这两个信息后生成相应的测试数据构建任务,并向任务执行模块进行测试数据构建任务的分配。图1中,任务执行模块具体可以为图1中的任务执行器A、任务执行器B和任务执行器C中的一个或多个。
本申请实施例中,为了保证数据传输过程的安全性,信息输入模块、任务管理模块以及任务调度模块之间在进行数据的传输时,需要对传输的敏感信息进行加密。在一种可选的实施方式中,可以对数据库的登录账号与密码此类敏感信息采用一定的加密算法进行加密,例如,可以采用高级加密标准(AES,Advanced Encryption Standard)这一对称加密算法对数据库登录账号和密码进行加密,该对称加密算法提供了多种加密模式,有比较好的安全性、效率、灵活性。
本申请实施例中,用户在信息输入模块完成数据库实例信息以及字段生成策略配置信息的输入后,信息输入模块能够将数据库实例信息以及字段生成策略配置信息发送给任务管理模块。在一种实施方式中,信息输入模块能够基于用户输入的数据库实例信息生成测试数据构建请求信息,该测试数据构建请求中的数据库的登录账号和密码都进行了加密,加密后的测试数据构建请求信息如下:
Figure BDA0003394207680000171
步骤902:基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务,以利用所述任务执行模块基于所述数据库实例信息以及字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
本申请一可选实施方式中,任务管理模块在执行上述步骤902之前还需要具体执行如下步骤:
从注册模块获取所述任务执行模块的地址信息;
相应的,上述步骤902这一步骤具体为:基于所述测试数据构建请求以及所述地址信息向所述任务执行模块分配的测试数据的构建任务。
本申请一可选实施方式中,所述注册模块中可部署有至少一个任务执行模块;所述任务执行模块为所述注册模块从所述至少一个任务执行模块中确定的运行状态为可用状态的任务执行模块。
本申请实施例中,任务管理模块的数量为一个或多个,任务执行模块的数量也为一个或多个,其中,多个任务执行模块中的每个任务执行模块都统一部署到注册模块,该注册模块对应图1中的注册中心,任务执行模块的IP以及转发接口注册到注册注册模块,本申请利用注册模块能够实现多个任务执行模块的横向扩展。
本申请实施例中,当任务管理模块从信息输入模块获取到测试数据构建的请求后,从注册模块获取到当前可用的任务执行模块的转发信息并向可用的任务执行模块进行测试数据的构建任务的分配。
本申请实施例中,针对统一部署至注册模块的多个任务执行模块,注册模块能够进行各任务执行模块的心跳检测以及任务执行模块的端口的持久化,注册模块通过记录各任务执行模块的IP和转发端口号,在任务管理模块向注册模块请求任务执行模块的信息时,注册模块能够向任务管理模块返回一个或多个可用的任务执行模块的IP与端口信息,注册中心使用的转发策略可从是轮询策略,最小连接策略等。
具体的,如图1所示,浏览器将数据库实例信息,如数据表唯一标识TABLEID等信息与字段生成策略配置信息以接口信息发送至任务管理器A,任务管理器A通过TABLEID获取当前任务目标表的连接信息,包含连接IP,端口,连接账号与密码(加密后的)等,创建测试数据构建任务,记录任务编号TASKID、执行状态STATUS(执行中)、任务创建时间CREATETIME、执行日志MESSAGE以及字段生成策略等信息。任务管理器A向注册中心请求执行当前任务的执行器信息。
图1中,注册中心中注册有任务执行器A、B、C三个任务执行器信息,且注册中心通过心跳检测定时检查各个任务执行器的运行状态,图中三个任务执行器均处于可用状态,注册中心将根据转发策略给任务管理器A返回可用的任务执行器信息。
这里,任务管理模块的常见的任务转发策略如下:
1、轮询法,将请求轮流分配给注册中心实例列表的任务执行器实例。
2、随机法,将请求随机分配给注册中心实例列表中的任意一个任务执行器实例。
3、最小连接法,是一种动态的转发策略,当一个任务执行器实例收到一个任务后连接数加1,当任务执行器实例故障时就将当前实例权值设置为0,注册中心将不再给当前任务执行器实例分配任务。
需要说明的是,本申请实施例中,注册模块部署的任务执行模块的数量是可以扩展的,如图5所示,在需要执行的测试数据的构建任务较多,需要增加任务执行器的数量时,在已经启用的任务执行器A、任务执行器B以及任务执行器C的基础上,可以再另外启动任务执行器D,并向注册中心注册任务执行器D的信息,当任务管理器A或任务管理器B向注册中心请求任务执行器信息时将根据转发策略返回任务执行器A、任务执行器B、任务执行器C以及任务执行器D等4个执行器中的一个任务执行器的信息。
本申请一可选实施方式中,任务管理模块在执行上述步骤902之后还进一步执行如下步骤:
接收所述任务执行模块发送的运行状态以及任务执行记录;其中,所述运行状态以及所述任务执行记录是所述任务执行模块在执行所述测试数据的构建任务的过程中发送的;
基于所述运行状态以及任务执行记录确定所述测试数据的构建任务的执行状态;
基于所述执行状态确定是否继续执行所述测试数据的构建任务。
本申请实施例中,任务执行模块在成功执行测试数据的构建任务后,将向任务管理模块返回任务执行信息,任务管理模块将更新测试数据的构建任务的执行状态与执行信息记录。图7为本申请实施例提供的任务执行成功显示信息示意图,其中,任务执行成功的信息最终显示在信息输入模块上。
本申请实施例中,任务管理模块定时巡检处于执行当中的测试数据构建任务,当测试数据构建任务长时间处于执行中时,检查当前测试数据构建任务的日志信息,若当前测试数据构建任务执行进度长时间并未更新任务进度,则判定当前测试数据构建任务执行失败,任务管理模块更新测试测试数据构建任务信息并停止对应的测试数据构建任务。
本申请实施例中,测试数据构建任务的执行状态主要包含以下4种状态:
1、执行中,当前测试数据构建任务处于执行中,任务执行信息中阶段性显示写入进度。
2、执行成功,当前测试数据构建任务已经执行成功,任务执行信息显示写入总数据量与执行时间等信息。
3、执行失败,当前测试数据构建任务已经执行但在执行过程中发生异常,任务执行信息显示执行进度与异常信息。
4、执行超时,当前测试数据构建任务已经执行,但是执行时间过长,可能原因为任务执行模块故障等原因。
本申请实施例中,当某一任务执行管理模块发生故障无法正常提供服务时,注册模块通过心跳检测更新注册模块中的该故障任务管理模块的实例信息,后续任务管理模块请求注册中心获取任务执行模块信息不再返回故障的任务管理模块的信息。
如图8所示,在任务执行器A发生故障无法执行测试数据的构建任务时,注册中心通过心跳检测更新该任务执行器A的实例信息,将任务执行器A的状态标记为FAILD状态,后续任务管理器A或任务管理器B在进行测试数据的构建任务的分配时,注册中心将不再向任务管理器A返回任务执行器A的相关信息。
本申请实施例的技术方案,提出了一种分布式,多实例,可扩展,基于简单配置的数据库测试数据构建方法,解决了原有技术方案中单实例服务存在的性能瓶颈问题,通过引入注册中心实现任务执行模块的横向扩展功能,字段生成配置中采用机器学习方式根据字段信息智能生成针对数据库的测试数据的字段值,并且,在任务执行过程中引入数据库运行状态监控实时调整写入速度,任务管理模块定时执行巡检,当构建任务长时间处于执行中时,放弃当前的数据构建任务以释放运行资源。
图10为本申请实施例提供的一种数据构建方法的流程示意图三,该数据构建方法具体包括如下步骤:
步骤1001:数据库实例信息录入。
用户通过图1中的浏览器进行数据库实例信息的录入。
步骤1002:判断连接信息是否有效。
数据库实例信息中包括要测试的数据库的连接信息,任务管理器获取到数据库实例信息后,进一步对连接信息进行加密,并将连接信息发送给任务执行器,由任务执行器验证连接信息是否有效。
步骤1003:更新连接信息。
在任务执行器验证连接信息存在异常的情况下,由任务执行器向任务管理器返回连接信息异常情况,并进一步由用户在浏览器上更改录入的数据库实例信息。
步骤1004:测试数据构建目标库表信息配置。
步骤1005:库表字段测试数据构建生成策略配置。
目标库表为要测试的目标数据库或目标表,步骤1004以及步骤1005均由用户在浏览器的测试数据构建页面设置相关的字段生成策略配置信息。
步骤1006:异步执行测试数据构建任务。
任务管理器基于用户在浏览器输入的数据库实例信息以及字段生成策略配置信息生成测试数据构建任务,并向各任务执行器分配不同的测试数据构建任务。
步骤1007:记录执行过程,同步任务执行信息。
任务执行模块在成功执行测试数据的构建任务后,将向任务管理模块返回任务执行信息,任务管理模块将更新测试数据的构建任务的执行状态与执行信息记录。
本申请实施例的技术方案中,通过通过数据库实例录入,目标表信息配置,字段测试数据生成策略配置,数据构建任务异步执行,任务执行信息持久化等步骤,可快速根据用户自定义的字段数据生成策略完成测试数据生成与写入,为后续的数据库性能测试等工作提供稳定的数据保障。
本申请实施例还提供了一种数据构建装置,所述装置应用于任务执行模块,所述装置包括:
接收单元1101,用于接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息;
执行单元1102,用于基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
本申请一可选实施方式中,所述装置还包括:
监控单元1103,用于监控数据库的运行状态;所述数据库为所述数据库实例信息所对应的数据库;基于所述数据库的运行状态调整向所述数据库的数据库实例写入所述测试数据的速度。
本申请一可选实施方式中,所述装置还包括:
发送单元1104,用于在执行所述测试数据的构建任务的过程中,向所述任务管理模块发送所述任务执行模块的运行状态以及任务执行记录。
本申请一可选实施方式中,所述数据库实例信息包括数据库的连接参数信息;所述执行单元基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务之前,所述装置还包括:
测试单元1105,用于基于所述参数连接信息测试所述数据库的连接信息;
基于对所述连接信息的测试结果确定所述连接信息是否能够连接所述数据库的数据库实例。
本申请一可选实施方式中,所述字段生成策略配置信息包括数据库信息、数据库中的目标表信息、目标表结构信息以及测试数据的生成量信息。
本领域技术人员应当理解,图11所示的数据构建装置中的各单元的实现功能可参照前述数据构建方法的相关描述而理解。图11所示的数据构建装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本申请实施例还提供了一种数据构建装置,所述装置应用于任务管理模块,所述装置包括:
获得单元1201,用于获得测试数据构建请求;所述测试数据构建请求包括数据库实例信息以及字段生成策略配置信息;
分配单元1202,用于基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务;其中,所述任务执行模块用于基于所述数据库实例信息以及字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
本申请一可选实施方式中,所述获得单元1201,具体用于基于目标对象在信息输入模块输入的数据库实例信息以及字段生成策略配置信息,获得测试数据构建请求。
本申请一可选实施方式中,所述分配单元基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之前,所述装置还包括:
获取单元1203,用于从注册模块获取所述任务执行模块的地址信息;
相应的,所述分配单元1202,具体用于:基于所述测试数据构建请求以及所述地址信息向所述任务执行模块分配的测试数据的构建任务。
本申请一可选实施方式中,所述注册模块中可部署有至少一个任务执行模块;所述任务执行模块为所述注册模块从所述至少一个任务执行模块中确定的运行状态为可用状态的任务执行模块。
本申请一可选实施方式中,所述分配单元1202基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之后,所述装置还包括:
接收单元1204,用于接收所述任务执行模块发送的运行状态以及任务执行记录;其中,所述运行状态以及所述任务执行记录是所述任务执行模块在执行所述测试数据的构建任务的过程中发送的;基于所述运行状态以及任务执行记录确定所述测试数据的构建任务的执行状态;基于所述执行状态确定是否继续执行所述测试数据的构建任务。
本领域技术人员应当理解,图12所示的数据构建装置中的各单元的实现功能可参照前述数据构建方法的相关描述而理解。图12所示的数据构建装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本申请实施例还提供了一种电子设备。图13为本申请实施例的电子设备的硬件结构示意图,如图13所示,电子设备包括:用于进行数据传输的通信组件1303、至少一个处理器1301和用于存储能够在处理器1301上运行的计算机程序的存储器1302。终端中的各个组件通过总线系统1304耦合在一起。可理解,总线系统1304用于实现这些组件之间的连接通信。总线系统1304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图13中将各种总线都标为总线系统1304。
其中,所述处理器1301执行所述计算机程序时至少执行图1所示的方法的步骤。
可以理解,存储器1302可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read OnlyMemory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器1302旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器1301中,或者由处理器1301实现。处理器1301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1301可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1301可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1302,处理器1301读取存储器1302中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述的通话录音方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时至少用于执行图1所示方法的步骤。所述计算机可读存储介质具体可以为存储器。所述存储器可以为如图13所示的存储器1302。
本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (14)

1.一种数据构建方法,其特征在于,所述方法应用于任务执行模块,所述方法包括:
接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息;
基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
监控数据库的运行状态;所述数据库为所述数据库实例信息所对应的数据库;
基于所述数据库的运行状态调整向所述数据库的数据库实例写入所述测试数据的速度。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行所述测试数据的构建任务的过程中,向所述任务管理模块发送所述任务执行模块的运行状态以及任务执行记录。
4.根据权利要求1所述的方法,其特征在于,所述数据库实例信息包括数据库的连接参数信息;所述基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务之前,所述方法还包括:
基于所述参数连接信息测试所述数据库的连接信息;
基于对所述连接信息的测试结果确定所述连接信息是否能够连接所述数据库的数据库实例。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述字段生成策略配置信息包括数据库信息、数据库中的目标表信息、目标表结构信息以及测试数据的生成量信息。
6.一种数据构建方法,其特征在于,所述方法应用于任务管理模块,所述方法包括:
获得测试数据构建请求;所述测试数据构建请求包括数据库实例信息以及字段生成策略配置信息;
基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务,以利用所述任务执行模块基于所述数据库实例信息以及字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
7.根据权利要求6所述的方法,其特征在于,所述获得测试数据构建请求,包括:
基于目标对象在信息输入模块输入的数据库实例信息以及字段生成策略配置信息,获得测试数据构建请求。
8.根据权利要求6所述的方法,其特征在于,所述基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之前,所述方法还包括:
从注册模块获取所述任务执行模块的地址信息;
相应的,所述基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务,包括:
基于所述测试数据构建请求以及所述地址信息向所述任务执行模块分配的测试数据的构建任务。
9.根据权利要求8所述的方法,其特征在于,所述注册模块中可部署有至少一个任务执行模块;所述任务执行模块为所述注册模块从所述至少一个任务执行模块中确定的运行状态为可用状态的任务执行模块。
10.根据权利要求6至9中任一项所述方法,其特征在于,所述基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务之后,所述方法还包括:
接收所述任务执行模块发送的运行状态以及任务执行记录;其中,所述运行状态以及所述任务执行记录是所述任务执行模块在执行所述测试数据的构建任务的过程中发送的;
基于所述运行状态以及任务执行记录确定所述测试数据的构建任务的执行状态;
基于所述执行状态确定是否继续执行所述测试数据的构建任务。
11.一种数据构建装置,其特征在于,所述装置应用于任务执行模块,所述装置包括:
接收单元,用于接收任务管理模块分配的测试数据的构建任务;所述测试数据的构建任务包括数据库实例信息以及字段生成策略配置信息;
执行单元,用于基于所述数据库实例信息以及所述字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
12.一种数据构建装置,其特征在于,所述装置应用于任务管理模块,所述装置包括:
获得单元,用于获得测试数据构建请求;所述测试数据构建请求包括数据库实例信息以及字段生成策略配置信息;
分配单元,用于基于所述测试数据构建请求向任务执行模块分配测试数据的构建任务;其中,所述任务执行模块用于基于所述数据库实例信息以及字段生成策略配置信息执行所述测试数据的构建任务,构建针对数据库的测试数据。
13.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现权利要求1至5,或者,权利要求6至10中任一项所述的方法。
14.一种计算机存储介质,其特征在于,所述存储介质上存储有可执行指令,该可执行指令被处理器执行时实现权利要求1至5,或者,权利要求6至10中任一项所述的方法。
CN202111477870.4A 2021-12-06 2021-12-06 一种数据构建方法、装置、电子设备及存储介质 Pending CN116226074A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111477870.4A CN116226074A (zh) 2021-12-06 2021-12-06 一种数据构建方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111477870.4A CN116226074A (zh) 2021-12-06 2021-12-06 一种数据构建方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116226074A true CN116226074A (zh) 2023-06-06

Family

ID=86589718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111477870.4A Pending CN116226074A (zh) 2021-12-06 2021-12-06 一种数据构建方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116226074A (zh)

Similar Documents

Publication Publication Date Title
US7334162B1 (en) Dynamic distribution of test execution
CN108923908B (zh) 授权处理方法、装置、设备及存储介质
CN110414268B (zh) 访问控制方法、装置、设备及存储介质
US7287190B2 (en) Simultaneous execution of test suites on different platforms
CN112840326A (zh) 用于自动化操作管理的测试引擎
US7296190B2 (en) Parallel text execution on low-end emulators and devices
CN104023154A (zh) 调试系统
CN109710695B (zh) 事务请求有效性识别和发起方法、装置、设备和介质
CN113569285B (zh) 身份认证与鉴权的方法、装置、系统、设备及存储介质
CN106790167B (zh) 一种客户端注册方法及集中管理平台
US9130923B2 (en) Credential provider that encapsulates other credential providers
CN111897846A (zh) 缓存数据校验方法、装置、设备及存储介质
CN111694743A (zh) 业务系统的检测方法及装置
CN111751699A (zh) 半导体存储器老化测试系统、测试方法及开发方法
CN113722114A (zh) 一种数据服务的处理方法、装置、计算设备及存储介质
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
US20210132975A1 (en) Automated host attestation for secure run-time environments
CN108829495A (zh) 多数据库修改事务的验证方法、装置、设备及存储介质
CN112181599A (zh) 模型训练方法、装置及存储介质
CN112579452A (zh) 软件自动化测试方法、装置、设备及存储介质
CN116226074A (zh) 一种数据构建方法、装置、电子设备及存储介质
CN117131545A (zh) 数据处理方法及装置、存储介质、终端
CN114050990B (zh) 一种网络隔离设备的测试方法、装置、存储介质和电子设备
CN113676548B (zh) 基于配置分流部署的微服务流量切换方法、装置和介质
CN112583890B (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