01_Datafactory使用说明

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Datafactory使用说明文档内容主要包括两部分,第一部分是介绍datafactory工具设计,描述简单的操作使用,第二部分则以多个专题的形式,详细说明datafactory如何进行复杂数据策略设置。说明:文档采用datafactory5.6版进行示例。一、工具介绍1、工具原理Datafactory是Quest公司开发的一款用于数据模拟的软件,主要领域是准备大数据量环境测试,其中主要应用于性能测试的数据准备。当然,在其他任何需要进行数据模拟的情境下,都可以应用此软件来组织和产生大量符合业务规范的测试数据。Datafactory工作原理是通过数据库接口,与数据库进行连接后,对选定表的字段设定一定的插入规则,然后批量插入记录。工具支持各种主流数据库,包括Oracle、DB2、Mysql,Sqlserver,甚至excel、access等数据库。2、界面介绍Datafactory工具界面很简单,如下图所示3、创建新连接启动datafactory工具,自动弹出新建数据模拟脚本的向导,可选择需要插入数据的数据库类型选择数据库,其中Oracle,Sqlserver,Sybase和DB2可直接连接,其他数据库则需要通过odbc方式进行连接,下面我们以sybase数据库为例,其他数据库类型连接方式相似填写数据库相关连接信息,这里需要了解不同数据库的连接方式,如sybase连接是通过读取本地sql.ini文件服务名的,oracle是通过读取tnsname.ora文件,sqlserver则是通过ip和端口进行连接的选择需要模拟数据的业务表,这里可选择单表或者多张表,也可在后续操作中进行补充。对于关联表的设置,可参见第二部分的相关专题描述设置脚本名称,这里建议创建有意义的名称,最好包含表名,以区分不同的数据模拟脚本,并方便记忆脚本设置完成页面,展示相关信息4、工具菜单介绍Datafactory工具栏可进行的设置包括New:新建一个模拟脚本Open:打开已经存在的脚本Save:保存当前脚本Run:执行脚本生成数据Stop:脚本执行期间中断操作Expand:展开左侧脚本列表中数据表Collapse:隐藏字段列,只显示数据表名Setting:通用设置选项,详细介绍可参照下一节DataTable:设置数据源表,详细介绍参照专题内容当前数据模拟脚本的工具栏包括依次为AddDatabases:选中脚本名称有效,增加新的数据库Add/RemoveTables:选中数据库名称有效,增加或删除数据表Add/RemoveFields:选中数据表名称有效,增加或删除字段AddChildTables:选中数据表名称有效,增加字表InsertCreateDataTable:从数据源插入数据InsertExcuteSQL:使用sql语句查询结果进行数据插入Moveup:选中非第一个表名称有效,可将表顺序向前移动一位Movedown:选中非最后一个表名称有效,可将表顺序向后移动一位Delete:选中脚本内所有元素均有效,可删除数据库,数据表或者字段注:多张表放在一个脚本中进行数据模拟的时候,会顺序执行数据生成,因此在设置表数据引用时需要注意表顺序。5、数据模拟策略Datafactory可对每个字段进行设置,在导入数据表时工具已通过数据字典读取每个字段的数据类型,根据不同的数据类型datafactory可进行不同的策略设置,以下简单描述不同类型字段的策略设置。字符型Insertvaluefromdatatable:从数据源插入InsertvaluefromanSQLdatabase:查询数据库结果插入Inserttextfromafile:从文件插入文本内容Insertrandomcharacters:插入随机字符Insertastringconstant:插入固定字符串Buildacompositefield:创建一个合成字段数值型Insertvaluefromdatatable:从数据源插入InsertvaluefromanSQLdatabase:查询数据库结果插入Insertvaluefromanarithmeticexpression:插入算术表达式结果Insertsequentialvalues:插入顺序数值Insertrandomcharacters:插入随机数值Insertaconstantvalue:插入固定数值日期型Insertvaluefromdatatable:从数据源插入InsertvaluefromanSQLdatabase:查询数据库结果并插入Insertsequentialvalues:插入顺序数值Insertrandomcharacters:插入随机值Insertthecurrentsystemdate:使用当前系统时间注:其他数据类型同以上相差不大,不再一一列举。6、数据模拟执行选择需要模拟的数据表,将显示本次执行生成的数据记录条数,也可设置生成数据文件而不是直接插入数据库。Datafactory工具栏中的setting可进行通用设置,如下所示在工具栏单击“Run”按钮,开始执行数据插入,完成后查看工具下方的执行日志输出框,确认数据模拟插入是否成功。二、专题说明以下专题采用信访数据表进行说明,在此不涉及业务规范和复杂逻辑,仅简单选择两张数据表举例。主表:T_XFJD_AJXX主键:C_BH字表:T_XFJD_AJXX_DSRXX主键:C_BH外键:C_AJBH1、字段设置注意事项所有字段类型选择Unique:不能生成重复数据选择Key:作为数据表主键生成数据数值型字段选择AutoNumber:系统将自动产生数值,不用人工设置生成策略设置Decimal:设置保留小数位数设置Width:设置数值字段长度,数值占位不够则用0补齐字符型字段设置字符为大写:UpperCase设置字符为小写:LowerCase设置字符包含大小写:MixedCase日期型字段周末设置:weekdaysandweekenddays/weekdaysonly/weekenddaysonly此外,可通过format选项来设置日期格式,分别设置Date和Time的格式,生成数据将以设置样式保存到数据库中,样式可参照最下方Sample。此外,也可以在CustomFormat选项中指定自定义格式,如‘2010-08-18’。2、合成字段对于较复杂的字段值,单一的字段设置策略无法满足业务要求,因此需要使用合成字段来模拟。譬如字符型字段中包含数字,SJ201103020001。选择创建合成字段点击add按钮,新增一个字段元素,每个字段元素又可以从字符,日期(时间)和数值类型中选择每个元素的取值与实际的字段取值策略一致的对于合成字段的元素,选取后可以进行策略修改(Modify),删除(Remove),顺序上移(Moveup),顺序下移(Movedown)3、主键生成主键唯一标识一条数据记录,项目中可采用数字和字符类型来定义主键。数据类型主键基本为顺序递增,如检察院办案中数据表主键N_BH,法院办案系统中数据表主键BH。字符型主键一般由多个部分组成,通常前缀表示具体的业务或模块,后缀则为数字方式顺序递增,如运维系统中SJGD001254,当然也有系统中会使用无关业务的32位uuid来作为主键。这里以上面的主键类型为例介绍如何生成主键字段,提供一些模拟策略设置时的注意事项。数字型主键数字型主键最简单的方式就是数序递增,只需要将主键字段设置为Numeric的数序递增即可,需要注意的是某些情况下需要补齐字段位数,并选择unique和key选项,避免生成重复数值而导致应用错误。字符型主键项目开发中采用字符型主键的情况比较多,如果在设计时希望主键有一定的业务特性,通常是主键前半部分具有一定的业务含义,后半部分则数序递增,如主键“10020000089680”即代表代码为1002的检察院案件,其案件编号为89680。此类主键在设置生成策略时需要使用合成字段,分为两部分设置策略。前一部分可从数据库或数据源中获取相应的代码编号,如下后一部分则可设置固定位数,顺序递增对于使用uuid作为主键的情况,由于uuid本身就是随机生成的,不用遵循一定的业务规则,所以可以使用32位字符随机生成的方式进行模拟。如果发现实际数据中主键前面一部分相对固定,为接近实际数据压力,也可使用合成字段将前面的字符设置为常用字符串,后面则采用随机生成字符方式补齐32位长度。4、关联表使用在设置数据模拟策略时,也可设置主子表关联关系,在同一个脚本中生成关联表的数据。鼠标右键单击主表,选择“AddChildTable”选择要模拟数据的子表选择父表中一条记录对应的子表记录条数,并在表间关系描述中选择主子表对应的关联字段完成主子表关系设置从脚本数据列表可以看到主子表的对应关系子表同父表关联的字段将不能再设置策略,datafactory工具会从父表直接读取按照一般的策略设置方法,对主子表字段进行策略设置,从数据库中查看,子表/父表的数据记录倍数同策略设置一致注:通常业务系统中一张主表会有多张子表,假如都以关联表方式进行设置,将会出现字段过多,数据策略复杂的情况,脚本执行出错难以排查,也不方便进行维护。所以,对于多个子表的数据模拟,建议是对主表关联字段创建数据源,子表策略对此数据源进行引用。5、创建数据源创建数据源有三种方式,分别为从数据文件导入,从数据库导入,以及使用临时表,下面简单介绍三种数据源的创建以及使用方式。从数据文件导入:单击datafactory工具栏中按钮,弹出创建数据表向导,选择“Importdatafromfile”,点击下一步点击“Browse”按钮,选择导入数据的文件datafactory目前只支持txt格式的数据文件导入,而文件中数据格式要求如下字段名称:字段类型(字段长度),字段名称:字段类型(字段长度)xxx,xxxxxx,xxx示例DMBH:int(4),DBMC:varhcar(40)221,材料不全222,提请审批从数据库导入:单击datafactory工具栏中按钮,弹出创建数据表向导,选择“Importdatafromdatabase”,点击下一步选择数据库类型此后操作和datafactory连接数据库的操作方式一致,这里依然以sybase数据库为例在对话框中填写需要查询的数据sql,建议获取的数据先在数据库连接工具中确认无误为数据源命名点击下一步,并最终完成从数据库创建数据源的设置,默认在datafactory安装目录的data目录下将生成数据源文件创建临时表:如果想要获取的数据已经包含在datafactory数据模拟脚本中,也可通过指定临时表的方式直接使用,方法如下。加入数据表时设置创建临时表(假如使用过程中才设置临时表,则需要重新打开数据模拟脚本)数据源的使用:无论是从数据文件引入,数据库引入还是临时表方式创建的数据源,其使用方法都是一致的。选择要使用数据源的字段,在策略设置中选择“Insertvaluefromdatatable”,然后选择相应的数据源数据表-数据文件引入数据表-数据库sql引入临时表引入数据源策略设置Field;选择需要获取的数据字段Retrivalmethod:获取方式有三种,分别为selectarecordatrandom(随机获取字段值),selectrecordssequentially(顺序获取字段值),synchronizewithotherfiledsfromthesametalbe(与相同数据表其他字段采用同步方式)。,6、通过odbc连接数据库这里以datafactory连接mysql数据库为例,说明datafactory工具如何通过odbc连接数据库。首先安装mysql-odbc驱动,这里采用mysql-connector-odbc-5.1.7-win32进行示例。下一步下一步安装安装完成创建数据库连接,选择odbc连接方式进入odbc数据源管理器创建数据源,选择mysqlodbc5.1driver配置mysql连接属性添加的datasource,

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功