# 模拟数据生成

# 概述

模拟数据生成是根据元数据管理中表结构信息和表字段信息,依据填充类型对表数据进行填充。 模拟数据生成用于软件开发和测试阶段,以便于开发者在没有真实数据的情况下进行程序的编写、调试和性能测试。

使用模拟数据生成功能之前,请先保障需要生成数据的表已经解析到元数据管理的应用中。可以生成的数据场景如下:

  1. 单表数据生成:常见字符、数字、日期、中文、姓名等字段数据填充
  2. 关联表数据生成:使用关联填充实现外键字段填充
  3. HOS字典填充:可以填充选字符的编码或名称
  4. 字符序列:如生成A0001、A0002等字符序列,可以使用格式化序列填充
  5. 填充计算值:使用Js表达式计算类型,可以填充js表达式计算值,一行数据的所有填充值为表达式可用变量,变量名为表字段编码

说明

生成数据时采用批量插入方式,默认批量插入大小为1000,即每次批量插入1000条数据。
如果需要修改每次批量插入的大小可以在【系统管理】-【系统参数】中修改`mock-batch-size`的值。

# 模拟数据生成方案管理

模拟数据生成方案管理是通过元数据中表信息和字段信息,配置各个字段填充类型和填充规则,设置填充数据量, 从而生成模拟数据方案。模拟数据生成方案管理可以帮助开发者快速生成模拟数据,并根据需要进行调整。

# 新增模拟数据生成方案

点击菜单【系统配置化平台】-【模拟数据生成】进入模拟数据生成管理页面,点击新增按钮弹出【新增数据生成方案】弹窗, 输入相应信息即可。

img.png

1.填写基础信息 输入方案名称,选择对应的应用,然后点击查询按钮,选择需要生成模拟数据的表。然后点击【保存并下一步】。

img.png

2.填写生成配置 选择左侧要配置的表,配置该表生成数据量和是否需要清空表数据。然后点击字段列表中配置按钮,依次配置需要填充的字段。

img.png

【填充类型配置】弹窗中需要配置数据填充类型,填充比例。以及各个填充类型详细的配置信息。配置好后点击【保存并下一步】。

img.png

填充类型说明

填充类型 说明 详细配置说明
字符串 填充字符串类型数据 长度类型:可以配置定长字符串或边长字符串
生成类型:配置字符串生成规则
布尔 填充布尔类型数据
整型 填充整型数据 最小值:配置生成数据的最小值(最小值不能小于0)
最大值:配置生成数据的最大值
Long 填充Long型数据 最小值:配置生成数据的最小值(最小值不能小于0)
最大值:配置生成数据的最大值
双精度浮点 填充双精度浮点类型数据 最小值:配置生成数据的最小值(最小值不能小于0)
最大值:配置生成数据的最大值
浮点 填充浮点类型数据 最小值:配置生成数据的最小值(最小值不能小于0)
最大值:配置生成数据的最大值
日期 填充日期类型数据 最小值:配置生成数据的开始日期
最大值:配置生成数据的截止日期
时间 填充时间类型数据 最小值:配置生成数据的开始时间
最大值:配置生成数据的截止时间
日期时间 填充日期时间类型数据 最小值:配置生成数据的开始日期时间
最大值:配置生成数据的截止日期时间
UUID 填充UUID类型数据 生成类型:选择生成UUID的长度
Email 填充邮件地址类型数据
中国身份证 填充身份增类型数据
HOS字典 填充系统配置菜单下的数据字典中的数据 数据字段:选择数据字典中的字段
关联填充 填充其他表中某个字段的数据 关联表:选择关联的表
关联字段:选择关联的字段
格式化序列 生成一个整数序列用字符串模板格式化后填充 如生成A0001、A0002等字符序列,字符串模板为java的String.format()方法的模板参数
Js表达式计算 用配置的Js表达式计算结果再用字符串模板格式化后填充 使用Java引擎执行Js表达式生成填充数据,用其他字段名为变量可以引用其他字段的填充值
密码 填充密码格式的数据 生成类型:配置生成密码的强度
英文名字 填充英文人名的数据
中文名字 填充中国人名的数据
中文字符串 填充中文字符串类型数据 长度类型:配置定长字符或是变长字符
生成类型:配置字符串生成规则
ipv4 填充ipv4类型数据
ipv6 填充ipv6类型数据
MAC地址 填充MAC地址类型数据

补充说明

1、数值类型的最小值必须大于等于0
2、数值类型的最大值必须大于最小值。且生成的填充数值的区间为[min,max),即包括最大值,不包括最小值
3、关联填充:若某个表的字段填充类型为关联填充,则此表必须有主键,若没有,此字段将不会被填充任何值
4、格式化序列:常用模板如`code_%5d`会生成`code_00001`格式填充值
5、Js表达式计算:如ct_code字段的填充为`code_%5d`,可以用表达式`("0000" + (parseInt(ct_code.substring(5))%10)).slice(-4)`生成ct_code中数字除10的余数的数字。

3.确认信息 在确认信息页面可以看到配置的模拟数据生成方案的信息,包括表的信息和生成数据量等。如果确认无误,点击【生成数据】可以按照配置的方案生成相应的数据。 如果不想生成也可以点击【关闭】。如果信息有误,可以点击【上一步】,返回修改。

img.png

点击【生成数据】可以看到生成数据的进度。点击【关闭并跳转任务管理查看】也可以跳转到任务管理中查看详细信息。 img.png

# 删除模拟数据生成方案

在模拟数据生成列表中操作列中点击【删除】按钮,弹出确认框,点击【确定】即可删除该模拟数据生成方案。

img.png

# 修改模拟数据生成方案

在模拟数据生成列表中操作列中点击【修改】按钮,弹出修改模拟数据生成方案弹窗,修改相应信息即可。

img.png

# 执行模拟数据生成方案

在模拟数据生成列表中操作列中点击【执行】按钮,就可以生成相应的数据。

img.png

# 模拟数据生成任务管理

在模拟数据生成任务管理中可以查看任务执行的状态,以及错误原因等。 点击菜单【系统配置化平台】-【数据生成任务管理】即可进入模拟数据生成任务管理页面。 img.png

点击操作栏中【查看】按钮即可查看任务详情

img.png

img.png