一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

生成数据方法、装置、电子设备及存储介质与流程

2022-04-30 11:05:05 来源:中国专利 TAG:
1.本技术涉及计算机
技术领域
:,尤其涉及一种生成数据方法、装置、电子设备及存储介质。
背景技术
::2.在软件开发过程中,一般都会涉及到数据库中相关待测试的数据的测试,主要包含对待测试的数据的功能测试和性能测试。功能测试的主要覆盖各种数据类型,性能测试的主要关注数据的读写性能。而在关系型数据库中,往往不同的数据库,有不同的数据类型,在功能测试过程中,可能对数据库罗列不全,导致数据类型测试不充分。且不同类型的数据库,存储过程的语法本身有一定的差异性,这样实际使用过程中,还要针对不同的数据库,准备不同的存储过程脚本,这样使用时便捷性低。技术实现要素:3.本技术实施例的主要目的在于提供一种生成数据方法、装置、电子设备及存储介质,能够可以快速生成需要的测试数据,提高了用户使用时的便捷性。4.第一方面,本技术实施例提供了一种生成数据方法,应用于服务器,所述方法包括:5.获取数据模板,所述数据模板用于指示生成目标数据;6.提取所述数据模板中的目标数据类型;7.若所述目标数据类型为第一预设数据类型,则生成所述数据模板的数据文件;8.根据所述数据模板中的字段类型、字段数量、数据库类型,生成所述数据模板对应的建表sql语句;9.根据所述数据文件生成第一嵌入式insert语句;10.根据所述数据库类型、所述数据模板中数据行数和所述第一insert语句、预设存储过程模板,确定目标存储过程模板;11.根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据。12.第二方面,本技术实施例提供了一种生成数据装置,应用于服务器,所述装置包括:13.获取单元,用于获取数据模板,所述数据模板用于指示生成目标数据;14.提取单元,用于提取所述数据模板中的目标数据类型;15.第一生成单元,用于若所述目标数据类型为第一预设数据类型,则生成所述数据模板的数据文件;16.第二生成单元,用于根据所述数据模板中的字段类型、字段数量、数据库类型,生成所述数据模板对应的建表sql语句;17.第三生成单元,用于根据所述数据文件生成第一嵌入式insert语句;18.确定单元,用于根据所述数据库类型、所述数据模板中数据行数和所述第一insert语句、预设存储过程模板,确定目标存储过程模板;19.第四生成单元,用于根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据。20.第三方面,本技术实施例提供了一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本技术实施例第一方面任一方法中的步骤的指令。21.第四方面,本技术实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。22.第五方面,本技术实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。23.可以看出,本技术实施例通过获取数据模板;提取数据模板中的目标数据类型;若目标数据类型为第一预设数据类型,则生成数据模板的数据文件;根据数据模板中的字段类型、字段数量、数据库类型,生成数据模板对应的建表sql语句;根据数据文件生成第一嵌入式insert语句;根据数据库类型、数据模板中数据行数和第一insert语句、预设存储过程模板,确定目标存储过程模板;根据sql语句、数据库类型和目标存储过程模板生成目标数据。能够可以快速生成需要的测试数据,提高了用户使用时的便捷性。附图说明24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。25.图1为本技术实施例提供的一种生成数据系统的应用场景示意图;26.图2为本技术实施例提供的一种生成数据方法的流程示意图;27.图3为本技术实施例提供的一种生成数据方法的流程示意图;28.图4是本技术实施例提供的一种电子设备的结构示意图;29.图5是本技术实施例提供的一种生成数据装置的功能单元组成框图。具体实施方式30.为了使本
技术领域
:的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。31.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。32.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。33.首先,对本技术实施例中涉及的部分名词进行解释,以便于本领域技术人员理解。34.1、结构化查询语言(structuredquerylanguage,sql),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。35.2、oracle数据库系统是一种目前流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。36.3、mysql是一个关系型数据库管理系统,mysql是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。37.4、sqlserver数据库是一种关系型数据库系统。sqlserver是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与微软发布的桌面端操作系统windowsnt的有机结合,提供了基于事务的企业级信息管理系统方案。38.5、postgresql数据库是一种特性非常齐全的自由软件的对象-关系型数据库,支持大部分的sql标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,postgresql也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发postgresql。39.6、达梦数据库具有完全自主知识产权的高性能数据库,在保证大型通用的基础上,针对可靠性、高性能、海量数据处理和安全性做了大量的研发和改进工作,极大提升了达梦数据库产品的性能、可靠性、可扩展性,能同时兼顾联机事务处理过程(on-linetransactionprocessing,oltp)和联机分析处理(onlineanalyticalprocessing,olap)请求。40.目前,在数据库的性能测试过程中,需要到数据库中构造大量的测试数据。传统的数据构造方法有表格excel批量生成导入数据库、程序批量生成导入数据库、手动编写存储过程生成数据等几种方法。前面两种方法,由于是通过嵌入式insert方式导入数据,生成数据的时间一般会比较久,比如生成1000万数据,可能需要几个小时,时间效率上面不高;后面一种方法,通过存储过程生成数据,执行效率方面提升了,但还是需要手动编写存储过程,这要求使用者掌握存储过程的基本语法,使用者的门槛较高。不同类型的数据库,存储过程的语法本身有一定的差异性,这样实际使用过程中,还要针对不同的数据库,需准备不同的存储过程脚本,实用便捷性低。对于数据库的性能测试,传统的方法构造数据,要么构造数据的时间效率不高,需要较长的等待时间;要么需要使用者对存储过程的语法熟悉,使用门槛较高。41.基于上述问题,本技术提出一种生成数据方法、装置、电子设备及存储介质,下面进行详细说明。42.请参阅图1,图1是本技术实施例提供一种生成数据的流程示意图,电子设备在启动准备阶段获取用户指令,响应用户指令获取数据模板,其中,数据模板用于指示生成目标数据;在数据解析层10读取数据模板中第一参数信息中的参数内容,根据数据模板中的字段类型、字段数量,生成数据文件;在sql组装层11中根据表结构模板中定义的字段类型和字段数量,即数据模板中的字段类型和字段数量,动态生成对应的建表sql语句,根据数据文件,动态生成第一insert语句模板;在数据库适配层12中根据数据模板中的第二参数信息中的数据库类型、生成记录条数(即生成数据的行数)和第一insert语句模板,结合内置的存储过程模板,动态生成可执行的存储过程脚本,将第一insert语句模板内容,替换到预设存储过程模板中,生成最终可执行的存储过程,根据数据库类型,动态执行脚本连接数据库,依次执行建表sql、创建存储过程、执行存储过程生成数据。43.请参阅图2,图2为本技术实施例提供的一种生成数据方法的流程示意图,应用于服务器,该方法可以包括但不限于如下步骤:44.s201、电子设备获取数据模板。45.其中,数据模板用于指示生成目标数据,数据模板包括:第一参数信息和第二参数信息。第一参数信息为配置生成数据模板的数据类型参数信息,第二参数信息为针对目标数据配置的参数信息,目标数据是指针对目标数据库的功能测试所需要的测试数据。46.其中,本技术实施例所涉及到的电子设备可以是具备通信能力的电子设备,包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。例如,智能手机、智能手表、平板电脑、台式电脑等终端设备。47.其中,第一参数信息包括以下至少一项:数据类型参数、常规字段参数、大对象字段参数、数据大小参数、连接参数。48.其中,第二参数信息包括以下至少一项:数据库类型参数和行数参数,行数参数用于指示生成数据的记录行数。49.其中,第一参数信息中包含数据类型参数gen_type、常规字段参数common_field、大对象字段参数lob_field、数据大小参数row_size、连接参数execute这5个配置参数。第一参数信息还可以包括其他的数据参数,此处不做过多的限制。数据类型参数、常规字段参数、大对象字段参数、数据大小参数、连接参数均可以是以其他的名称命名,此处仅是举例说明,不作过多的限制。50.其中,gen_type用于控制生成哪种类型的数据,gen_type:1代表全类型数据,gen_type:2代表容量型数据。51.其中,common_field用于表示常规字段的个数,例如common_field:x,x为一个正整数,x代表有多少个字段。52.其中,lob_field用于表示大对象字段的个数,例如lob_field:y,y为一个正整数,y代表有多少个字段。53.其中,row_size用于表示一行数据占用存储空间大小,例如row_size:1k。54.其中,execute代表是否连接数据库执行sql,可以用yes或者no表示是否连接数据库执行,例如execute:yes代表连接数据库执行,execute:no代表连接数据库执行;可以用第一预设数值或者第二预设数值表示是否连接数据库执行,其中,第一预设数值与第二预设数值不同,第一预设数值可以是0或1数值,第二预设数值可以是0或1数值,此处对第一预设数值与第二预设数值均不做过多的限制;例如execute:1代表连接数据库执行,execute:0代表连接数据库执行。55.例如,第一参数信息具体内容如下:56.1、数据类型参数:gen_type:x,x为1时表示全类型数据,x为2时表示容量型数据。57.2、常规字段参数:对于gen_type=1,该字段无意义;对于gen_type=2,该字段表示常规字段数量,支持10/20/50/100/200/500等级别的数量。58.例如,common_field:50。59.3、大对象字段参数:对于gen_type=1,该字段无意义;对于gen_type=2,该字段表示大对象字段数量,支持10/20/50/100/200/500等级别的数量。60.例如,lob_field:0。61.4、数据大小参数,对于gen_type=1,该字段无意义;对于gen_type=2,该字段表示每行数据占用存储大小,支持1k/10k等级别的数量。62.例如,row_size:1k。63.5、连接参数:表示是否连接数据库执行,execute:yes代表连接数据库执行,execute:no代表连接数据库执行。64.例如execute:yes。65.其中,第二参数信息包括数据库类型参数dbtype和生成数据的行数参数rows;其中,dbtype代表数据库类型,rows代表生成数据的行数,数据库类型参数可以指示的数据库类型包括以下任意一种:oracle、mysql、sqlserver、postgresql、达梦,数据库类型参数对应的数据库类型编码可以是1到5,例如,1代表oracle数据库,2代表mysql数据库,3代表sqlserver数据库,4代表postgresql数据库,5代表达梦数据库;数据库类型参数对应的数据库类型编码可以是其他任意数字或字符,此处不做过多的限制。数据库类型参数还可以指示其他的数据库类型,此处不做过多的限制。数据库类型参数和生成数据的行数参数均可以是以其他的名称命名,此处仅是举例说明,不作过多的限制。本技术实施例使用shell脚本开发,简单易学,只需要配置简单的数据模板,传入对应的参数,程序基于预设的存储过程模板,可以快速生成需要的测试数据,有效降低了使用者门槛,提高了整体的测试效率。66.可选的,电子设备获取数据模板的第一参数信息,包括电子设备获取数据模板的中用户配置的用于生成数据的第一参数信息中的数据类型参数gen_type、常规字段参数common_field、大对象字段参数lob_field、数据大小参数row_size、连接参数execute。67.可选的,电子设备获取数据模板的第二参数信息,包括:电子设备执行主脚本main.sh之后,电子设备获取生成数据的第二参数信息中的数据库类型参数dbtype和生成数据的行数参数rows。68.s202、电子设备提取所述数据模板中的目标数据类型。69.具体地,电子设备提取所述数据模板中的数据类型参数gen_type,根据gen_type确定目标数据类型,例如gen_type=x,x=1时表示全类型数据,x=2时表示容量型数据;其中,全数据类型的数据为覆盖数据库的全面数据类型;容量型数据为大数据量的数据,重点关注数据容量。70.s203、电子设备若所述目标数据类型为第一预设数据类型,则生成所述数据模板的数据文件。71.第一预设数据类型为全数据类型。72.如果第一参数信息中数据类型参数gen_type=1,即目标数据类型为全数据类型,根据第二参数信息中的数据库类型参数dbtype参数,动态生成数据库类型参数dbtype参数对应的数据库类型的全数据类型的第一数据库建表sql和第二insert语句模板;其中,第二insert语句模板可以是包含以下任意一种:字段的序号、时间日期、字符的序号、字符类型、字符类型数据的重复的次数。73.如果第一参数信息中数据类型参数gen_type=2,即目标数据类型为容量型数据,动态初始化对应字段的值,得到一个数据文件,该数据文件包含字段名称和字段值,例如:字段数值为1时,数值1:12345、日期时间1:2021-01-0100:00:00、字符1:字符类型数据{n},n代表重复前面的字符n次,此处n次重复是为了满足行数据大小的要求。74.可选的,若所述目标数据类型为第一预设数据类型,则生成所述数据模板的数据文件,包括:75.若所述目标数据类型为第一预设数据类型,则根据第一参数信息中的字段类型和字段数量,结合第一数据模板支持的数据库类型,以及该数据库类型对应的数据库语法,生成第一数据模板对应的第一数据库建表sql。76.s204、电子设备根据所述数据模板中的字段类型、字段数量、数据库类型,生成所述数据模板对应的建表sql语句。77.s205、电子设备根据所述数据文件生成第一嵌入式insert语句。78.其中,第一insert语句格式为:insertintotable(field1,field2…)values(value1,value2…),这里的value值暂时还不是一个具体的值,而是一段组合字符串,需配合后面的存储过程一起使用。79.s206、电子设备根据所述数据库类型、所述数据模板中数据行数和所述第一insert语句、预设存储过程模板,确定目标存储过程模板。80.s207、电子设备根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据。81.在一种可能的示例中,上述步骤s207中电子设备根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据,包括:82.步骤a1:根据所述数据模板中的连接参数,连接所述数据库类型对应的目标数据库;83.步骤a2:根据所述sql语句在所述目标数据库中建立第一数据库建表sql;84.步骤a3:根据所述目标存储过程模板在所述第一数据库建表sql中生成所述目标数据。85.在一种可能的示例中,在上述步骤a2中根据所述sql语句建立第一数据库建表sql,包括:86.根据所述sql语句中的字段类型、字段数量和所述数据库类型,生成所述第一数据库建表sql。87.其中,字段类型和字段数量可以根据第一参数信息中的常规字段参数common_field、大对象字段参数lob_field确定。所述数据库类型可以根据88.例如,电子设备根据第一参数信息中的字段类型和字段数量,结合oracle、mysql、sqlserver、postgresql、达梦数据库的语法和这几种数据库支持的数据类型,动态生成第二数据库建表sql。89.在一种可能的示例中,在上述步骤a3中根据所述目标存储过程模板在所述第一数据库建表sql中生成所述目标数据,包括:90.根据所述目标存储过程模板、所述数据模板中每行数据占用存储大小和生成所述目标数据的行数,在所述第一数据库建表sql中生成所述目标数据。91.例如,根据第一参数信息中配置的execute参数,如果是yes,则执行脚本连接数据库;如果是no则不执行脚本连接数据库。92.如果不执行脚本连接数据库的话,手动拷贝生成的建表sql和存储过程脚本,连接到数据库中手动执行亦可。93.其中,需要进一步解释的是,连接目标数据库,通过支持的几种数据库的命令行连接方式进行连接,数据库用户、密码需要提前在db.ini配置文件中配置。94.执行建表、创建存储过程、执行存储过程,采用数据库命令行无交互方式执行,执行的日志输出到指定的日志文件,方便后续查看。95.在一种可能的示例中,所述方法还包括:96.步骤b1:若所述目标数据类型为第二预设数据类型,则生成所述数据模板的第二数据库建表sql和第二insert语句,所述第二预设数据类型与所述第一预设数据类型不同;97.其中,第二insert语句模板为insert语句格式中:insertintotable(field1,field2…)values(value1,value2…)中的value值。98.步骤b2:根据所述第二数据库建表sql和所述第二insert语句生成所述目标数据。99.在一种可能的示例中,在上述步骤b2中所述若所述目标数据类型为第二预设数据类型,生成所述数据模板的第二数据库建表sql和第二insert语句,包括:100.若所述目标数据类型为第二预设数据类型,根据所述数据模板中的数据库类型,生成所述数据模板的全数据类型的所述第二数据库建表sql和第二insert语句,所述全数据类型是指覆盖数据库的全面数据类型。101.可以看出,本技术实施例通过获取数据模板;提取数据模板中的目标数据类型;若目标数据类型为第一预设数据类型,则生成数据模板的数据文件;根据数据模板中的字段类型、字段数量、数据库类型,生成数据模板对应的建表sql语句;根据数据文件生成第一嵌入式insert语句;根据数据库类型、数据模板中数据行数和第一insert语句、预设存储过程模板,确定目标存储过程模板;根据sql语句、数据库类型和目标存储过程模板生成目标数据。可以全量生成包含所有数据类型的数据,防止出现数据类型遗漏。能够可以快速生成需要的测试数据,提高了用户使用时的便捷性。102.下面通过一个具体的例子对本技术实施例进行详细介绍。103.与上述图2所示的实施例一致,请参阅图3,图3是本技术实施例提供的一种生成数据方法的流程示意图,所述方法包括:104.s301、电子设备获取数据模板,所述数据模板用于指示生成目标数据。105.s302、电子设备提取所述数据模板中的目标数据类型。106.s303、电子设备若所述目标数据类型为第一预设数据类型,则生成所述数据模板的数据文件。107.s304、电子设备根据所述数据模板中的字段类型、字段数量、数据库类型,生成所述数据模板对应的建表sql语句。108.s305、电子设备根据所述数据文件生成第一嵌入式insert语句。109.s306、电子设备根据所述数据库类型、所述数据模板中数据行数和所述第一insert语句、预设存储过程模板,确定目标存储过程模板。110.s307、电子设备根据所述数据模板中的连接参数,连接所述数据库类型对应的目标数据库。111.s308、电子设备根据所述sql语句在所述目标数据库中建立第一数据库建表sql。112.s309、电子设备根据所述目标存储过程模板在所述第一数据库建表sql中生成所述目标数据。113.可以看出,本技术实施例通过数据文件,生成第一嵌入式insert语句模板;根据数据模板中的连接参数,连接数据库类型对应的目标数据库;根据sql语句在目标数据库中建立第一数据库建表sql;根据目标存储过程模板在第一数据库建表sql中生成目标数据,可以快速生成需要的测试数据,提高了整体的测试效率。请参阅图4,图4是本技术实施例提供的一种电子设备400的结构示意图,如图所示,所述电子设备400包括应用处理器410、存储器420、通信接口430以及一个或多个程序421,其中,所述一个或多个程序421被存储在上述存储器420中,并且被配置由上述应用处理器410执行,所述一个或多个程序421包括用于执行以下步骤:114.获取数据模板,所述数据模板用于指示生成目标数据;115.提取所述数据模板中的目标数据类型;116.若所述目标数据类型为第一预设数据类型,则生成所述数据模板的数据文件;117.根据所述数据模板中的字段类型、字段数量、数据库类型,生成所述数据模板对应的建表sql语句;118.根据所述数据文件生成第一嵌入式insert语句;119.根据所述数据库类型、所述数据模板中数据行数和所述第一insert语句、预设存储过程模板,确定目标存储过程模板;120.根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据。121.可以看出,本技术实施例通过获取数据模板;提取数据模板中的目标数据类型;若目标数据类型为第一预设数据类型,则生成数据模板的数据文件;根据数据模板中的字段类型、字段数量、数据库类型,生成数据模板对应的建表sql语句;根据数据文件生成第一嵌入式insert语句;根据数据库类型、数据模板中数据行数和第一insert语句、预设存储过程模板,确定目标存储过程模板;根据sql语句、数据库类型和目标存储过程模板生成目标数据。能够可以快速生成需要的测试数据,提高了用户使用时的便捷性。122.在一种可能的示例中,所述根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据,包括:根据所述数据模板中的连接参数,连接所述数据库类型对应的目标数据库;根据所述sql语句在所述目标数据库中建立第一数据库建表sql;根据所述目标存储过程模板在所述第一数据库建表sql中生成所述目标数据。123.在一种可能的示例中,所述根据所述sql语句建立第一数据库建表sql,包括:根据所述sql语句中的字段类型、字段数量和所述数据库类型,生成所述第一数据库建表sql。124.在一种可能的示例中,所述根据所述目标存储过程模板在所述第一数据库建表sql中生成所述目标数据,包括:根据所述目标存储过程模板、所述数据模板中每行数据占用存储大小和生成所述目标数据的行数,在所述第一数据库建表sql中生成所述目标数据。125.在一种可能的示例中,所述方法还包括:若所述目标数据类型为第二预设数据类型,则生成所述数据模板的第二数据库建表sql和第二insert语句,所述第二预设数据类型与所述第一预设数据类型不同;根据所述第二数据库建表sql和所述第二insert语句生成所述目标数据。126.在一种可能的示例中,所述若所述目标数据类型为第二预设数据类型,生成所述数据模板的第二数据库建表sql和第二insert语句,包括:若所述目标数据类型为第二预设数据类型,根据所述数据模板中的数据库类型,生成所述数据模板的全数据类型的所述第二数据库建表sql和第二insert语句,所述全数据类型是指覆盖数据库的全面数据类型。127.上述主要从方法侧执行过程的角度对本技术实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。128.本技术实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。129.图5是本技术实施例中所涉及的生成数据装置500的功能单元组成框图。该装置500包括:130.获取单元501,用于获取数据模板,所述数据模板用于指示生成目标数据;131.提取单元502,用于提取所述数据模板中的目标数据类型;132.第一生成单元503,用于若所述目标数据类型为第一预设数据类型,则生成所述数据模板的数据文件;133.第二生成单元504,用于根据所述数据模板中的字段类型、字段数量、数据库类型,生成所述数据模板对应的建表sql语句;134.第三生成单元505,用于根据所述数据文件生成第一嵌入式insert语句;135.确定单元506,用于根据所述数据库类型、所述数据模板中数据行数和所述第一insert语句、预设存储过程模板,确定目标存储过程模板;136.第四生成单元507,用于根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据。137.其中,生成数据装置500还包括存储单元508,该存储单元508可以是存储器。138.在一种可能的示例中,在所述根据所述sql语句、所述数据库类型和所述目标存储过程模板生成所述目标数据方面,第四生成单元507,具体用于:根据所述数据模板中的连接参数,连接所述数据库类型对应的目标数据库;根据所述sql语句在所述目标数据库中建立第一数据库建表sql;根据所述目标存储过程模板在所述第一数据库建表sql中生成所述目标数据。139.在一种可能的示例中,在所述根据所述sql语句建立第一数据库建表sql方面,第四生成单元507,具体用于:根据所述sql语句中的字段类型、字段数量和所述数据库类型,生成所述第一数据库建表sql。140.在一种可能的示例中,在所述根据所述目标存储过程模板在所述第一数据库建表sql中生成所述目标数据方面,第四生成单元507,具体用于:根据所述目标存储过程模板、所述数据模板中每行数据占用存储大小和生成所述目标数据的行数,在所述第一数据库建表sql中生成所述目标数据。141.在一种可能的示例中,所述装置还具体用于:若所述目标数据类型为第二预设数据类型,则生成所述数据模板的第二数据库建表sql和第二insert语句,所述第二预设数据类型与所述第一预设数据类型不同;根据所述第二数据库建表sql和所述第二insert语句生成所述目标数据。142.在一种可能的示例中,在所述若所述目标数据类型为第二预设数据类型,生成所述数据模板的第二数据库建表sql和第二insert语句方面,所述装置还具体用于:若所述目标数据类型为第二预设数据类型,根据所述数据模板中的数据库类型,生成所述数据模板的全数据类型的所述第二数据库建表sql和第二insert语句,所述全数据类型是指覆盖数据库的全面数据类型。143.可以看出,本技术实施例通过获取数据模板;提取数据模板中的目标数据类型;若目标数据类型为第一预设数据类型,则生成数据模板的数据文件;根据数据模板中的字段类型、字段数量、数据库类型,生成数据模板对应的建表sql语句;根据数据文件生成第一嵌入式insert语句;根据数据库类型、数据模板中数据行数和第一insert语句、预设存储过程模板,确定目标存储过程模板;根据sql语句、数据库类型和目标存储过程模板生成目标数据。能够可以快速生成需要的测试数据,提高了用户使用时的便捷性。144.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。145.本技术实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。146.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。147.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。148.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。149.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。150.上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。151.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。152.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献