CN110188037A - 一种数据模拟方法及装置 - Google Patents

一种数据模拟方法及装置 Download PDF

Info

Publication number
CN110188037A
CN110188037A CN201910392744.5A CN201910392744A CN110188037A CN 110188037 A CN110188037 A CN 110188037A CN 201910392744 A CN201910392744 A CN 201910392744A CN 110188037 A CN110188037 A CN 110188037A
Authority
CN
China
Prior art keywords
data
variable
related information
sublist
information
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.)
Granted
Application number
CN201910392744.5A
Other languages
English (en)
Other versions
CN110188037B (zh
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.)
Beijing Wisdom Data Technology Co Ltd
Original Assignee
Beijing Wisdom Data 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 Beijing Wisdom Data Technology Co Ltd filed Critical Beijing Wisdom Data Technology Co Ltd
Priority to CN201910392744.5A priority Critical patent/CN110188037B/zh
Publication of CN110188037A publication Critical patent/CN110188037A/zh
Application granted granted Critical
Publication of CN110188037B publication Critical patent/CN110188037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种数据模拟方法及装置,所述方法包括:从数据字典中提取各表的变量信息,以及表间的关联信息;根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,所述模拟数据符合表间的关联信息。

Description

一种数据模拟方法及装置
技术领域
本申请涉及数据模拟技术,尤其涉及一种数据模拟方法及装置。
背景技术
在产品开发、测试和验证模型中,往往需要一定量的有一定意义的数据来测试代码。实际中我们可以通过数据分析获得对于数据的整体认识,将这些认识编辑成数据字典,数据模拟器就是用于根据这样的数据字典生成模拟实际的数据。通常的数据模拟器往往能够生成某种类型的字段,但是对于字段及其表间的关联却无法模拟。
发明内容
为解决上述技术问题,本申请实施例提供了一种数据模拟方法及装置。
本申请实施例提供的数据模拟方法,包括:
从数据字典中提取各表的变量信息,以及表间的关联信息;
根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,所述模拟数据符合表间的关联信息。
在一实施方式中,所述数据字典包括多条表项,其中,每条表项包含:表名、变量名、规则、格式、范围、分布。
在一实施方式中,所述表项中的规则为id类、或数字类、或类别类、或时间类。
在一实施方式中,所述表间的关联信息包括父表与子表的关系;其中,若第一表中存在第二表中的id变量,则表明第一表示是第二表的父表,第二表示是第一表的子表;子表的模拟数据生成至少基于父表的id变量、时间变量。
在一实施方式中,所述根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,包括:
根据提取的变量信息和表间的关联信息,生成每个类别的模拟数据;
关联合并模拟数据。
在一实施方式中,所述关联合并模拟数据,包括:
按照父表到子表的顺序对各表进行排序,按序确定各表需要的数据量;
根据各表需要的数据量关联合并模拟数据。
本申请实施例提供的数据模拟装置,包括:
提取单元,用于从数据字典中提取各表的变量信息,以及表间的关联信息;
生成单元,用于根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,所述模拟数据符合表间的关联信息。
在一实施方式中,所述数据字典包括多条表项,其中,每条表项包含:表名、变量名、规则、格式、范围、分布。
在一实施方式中,所述表项中的规则为id类、或数字类、或类别类、或时间类。
在一实施方式中,所述表间的关联信息包括父表与子表的关系;其中,若第一表中存在第二表中的id变量,则表明第一表示是第二表的父表,第二表示是第一表的子表;子表的模拟数据生成至少基于父表的id变量、时间变量。
在一实施方式中,所述生成单元,用于根据提取的变量信息和表间的关联信息,生成每个类别的模拟数据;关联合并模拟数据。
在一实施方式中,所述生成单元,用于按照父表到子表的顺序对各表进行排序,按序确定各表需要的数据量;根据各表需要的数据量关联合并模拟数据。
本申请实施例的技术方案,由数据字典提取表的名称、变量名称或变量字段、变量的规则与分布等信息,基于这些信息生成随机模拟的数据,数据分布符合数据字典中变量规则的描述。数据生成器可以生成的数据类型包括id类、类型类、数字类、时间类,可以指定数据的格式、范围、数字类数据的分布等,使生成的数据尽可能地符合要求。数据生成器可以生成多个有关联表的数据。一个表可能是基于另外一个表中的变量的,这样的表称为子表,而作为基础的表称为父表。数据生成器可以读取表之间的关系,由父表到子表的顺序生成数据,不会产生冲突。
附图说明
图1为本申请实施例提供的数据模拟方法的流程示意图;
图2为本申请实施例提供的数据模拟器生成数据的框图;
图3为本申请实施例提供的数据模拟装置的结构组成示意图。
具体实施方式
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。
为了展示模型成果,模拟真实数据,研发信用产品,开发信用模型,需要能够一定程度上模拟信用场景的数据。由于真实信用数据大多需要保护以及难以获取,在建模项目实践中,建模工作会受到多方因素的限制;使用模拟数据将会突破这些限制。
目前的数据模拟器,通常使用一定的规则生成数据,一般是通过已知的具体情况的先验信息编写生成规则,并由此生成数据,如生成随机数字,人名等等。不能系统地生成一个场景的数据来满足深入的数据科学技术实践。
目前工具生成的数据都是用已经定好的规则生成,只能生成少数单一规则的数据,不能灵活指定表的形式和满足各种规则的数据。在数据分析领域,这样很难满足生成大量不同类型、格式数据的需求。对于数字类数据,一般是按均匀的概率分布,不能涵盖集中、衰减这两种常见的数字分布情况。
现实中不同表之间是存在父子表关联的,子表的数据会基于父表的数据,另外,一般来说子表的时间数据是不能在父表之前的。现存很多生成数据的方法和工具,都是针对生成单一表数据的,不存在一次性生成存在表间关联的很多表的数据的工具,这在需要大量有关联的表数据的时候是很不便的。
在产品开发、测试和验证模型中,往往需要一定量的有一定意义的数据来测试代码。实际中可以通过数据分析获得对于数据的整体认识,将这些认识编辑成数据字典,数据模拟器就是用于根据这样的数据字典生成模拟实际的数据。通常的数据模拟器往往能够生成某种类型的字段,但是对于字段及其表间的关联缺无法模拟。为解决上述问题,提出了本申请实施例的以下技术方案,本申请实施例的技术方案的关键意义在于其入参规范(也就是数据字典的编写规范)、根据数据字典生成的相互关联的字段(不是相互独立的)以及针对信用数据进行模拟。
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
图1为本申请实施例提供的数据模拟方法的流程示意图,如图1所示,所述数据模拟方法包括以下步骤:
步骤101:从数据字典中提取各表的变量信息,以及表间的关联信息。
本申请实施例中,所述数据字典包括多条表项,其中,每条表项包含:表名、变量名、规则、格式、范围、分布。
具体实现时,数据字典由一定的格式撰写,并使用Excel表格文件储存,包含表名、变量名、规则、格式、范围、分布这六列,数据字典文件中包含生成数据所需的全部信息。
●表名这一列使用全英文字母表示表的名称,用于区分表。
●变量名这一列所用格式为:变量名称与下划线与初始所属表名三者拼接,方便分辨变量所属表。
●规则这一列描述变量的类型,规则分为id类、数字类、类别类、时间类这四个大类。需要注意的是,id类这种类型的变量用于区别表中的各个变量,一个表的主id是不能存在重复的,变量名写成“id_表名”这样的格式,表示该id变量是属于该表的,其他包含该变量的表是该表的子表。
●格式这一列描述变量的组合信息。很多id类数据是各种类型的数据的组合形式,如几种固定的字母串加上具有某种规律的数字,格式这一列就用来描述这些组合信息。
●范围用这一列描述数字类的数据范围,即上界和下界,以及类别类数据的类别信息。
●分布这一列用来描述数字类数据服从的概率分布,包含平均分布、指数分布、正态分布这几种。
在一个例子中,数据字典格式如下表1所示。
table variable rule format range distribution
A id_A id n_ord
A price_A float 0;1000 e(0.1)
B id_B id t_Y+n_ord [2017;2019][]
B gender_B category male;female
表1
对数据字典的格式进行规范后,有了固定格式的数据字典,就可以由此进一步生成模拟数据了,首先,从数据字典中提取各表的变量信息,同时可以进一步提取表间的关联信息,保证生成的表数据与表之间的关联一致。
需要说明的是,表间具有关联关系,所述表间的关联信息包括父表与子表的关系;其中,若第一表中存在第二表中的id变量,则表明第一表示是第二表的父表,第二表示是第一表的子表;子表的模拟数据生成至少基于父表的id变量、时间变量。
步骤102:根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,所述模拟数据符合表间的关联信息。
本申请实施例中,由提取出来的变量信息与表间的关联信息,按一定的规定生成数据字典中所有表的模拟数据,并输出这些数据,可以以一定的文件格式储存起来。由数据模拟器生成数据符合数据字典中的描述,表之间的关系符合父表与子表之间的关联,各表的数据量分配合理。
具体实现时,数据模拟器的基本流程如图2所示,包括如下流程:
○解析数据字典。
读取数据字典的表格文件后,由表名这一列可以将各表的信息分割开,将每个表的信息分别储存。父表(parent table)与子表(child table)之间由id进行关联,某表中存在另一表中的id变量,表明该表是另一表的父表。子表的数据生成需要基于父表的id、时间等变量,因此提取父表与子表的关系是非常必要的。
○生成模拟任务,对每个类别进行模拟。
数据规则分为id类、数字类、类别类、时间类这四个大类,各自有不同的生成规则,下面将各自介绍一下。
id类:id类数据用于区别各行数据,表的主id不存在重复情况。id类数据经常是字母、年份月份、数字等各类型数据的组合。数字可以指定位数,是顺序数字还是随机数字等情况。时间可以指定时间范围以及时间是否包括年、月、日这些信息。由数据字典中的格式等信息,生成器将随机生成对应格式的数据。
数字类:分为整型和浮点型两种,整型表示整数,浮点型表示实数。有三种不同的生成规则,分别是均匀分布、指数分布、正态分布。均匀分布,生成按均匀的概率分布生成的随机数字。指数分布,生成按一定参数指数分布生成的随机数字,可以模拟数字越大,概率越低的模式。正态分布,生成按一定参数正态分布生成的随机数字,可以模拟概率集中在某个值附近的模式。可以指定上界和下界,让数字不超过某个范围。这三种情况可以涵盖大部分的现实场景。
类别类:只存在几个固定值的数据类别,比如性别、学历这类。可以按指定的概率进行随机模拟数据。
时间类:时间类数据,精确到秒,可以指定时间段。如果一个表存在父表,则其时间类数据不应在父表的时间类数据之前,时间类数据将以该原则生成。由之前提到表关系提取方法提取表的父表名以及父表中的时间类数据,将生成表的时间范围进行限定,结合数据字典给出的限定范围,由此生成时间数据。
在未提供信息或信息不完全的情况下,一部分类型的数据将按默认的方法生成数据。
○关联合并数据。
可以预先指定各表需要的数据量,由此生成数据。不指定时按默认的方法生成,或者可以指定部分参数,由此来指定合理的表的数据量。
数据字典中,按父表到子表的顺序来编写各表信息,一般来说,子表数据量比父表数据量多。读取数据字典时将提取表的顺序信息。在未指定方法时,各表数据量按这个顺序递增,第一个表数据量为5,之后的表按之前的表的5倍递增,由此指定各表生成的数据量。在未指定数据量时,也可以指定参数k和e来控制生成的数据量,k为第一个表的数据量,e为接下来的表的递增倍数,由此得到合理数量的模拟数据。
图3为本申请实施例提供的数据模拟装置的结构组成示意图,如图3所示,所述数据模拟装置包括:
提取单元301,用于从数据字典中提取各表的变量信息,以及表间的关联信息;
生成单元302,用于根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,所述模拟数据符合表间的关联信息。
在一实施方式中,所述数据字典包括多条表项,其中,每条表项包含:表名、变量名、规则、格式、范围、分布。
在一实施方式中,所述表项中的规则为id类、或数字类、或类别类、或时间类。
在一实施方式中,所述表间的关联信息包括父表与子表的关系;其中,若第一表中存在第二表中的id变量,则表明第一表示是第二表的父表,第二表示是第一表的子表;子表的模拟数据生成至少基于父表的id变量、时间变量。
在一实施方式中,所述生成单元302,用于根据提取的变量信息和表间的关联信息,生成每个类别的模拟数据;关联合并模拟数据。
在一实施方式中,所述生成单元302,用于按照父表到子表的顺序对各表进行排序,按序确定各表需要的数据量;根据各表需要的数据量关联合并模拟数据。
本领域技术人员应当理解,图3所示的数据模拟装置中的各单元的实现功能可参照前述数据模拟方法的相关描述而理解。图3所示的数据模拟装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种数据模拟方法,其特征在于,所述方法包括:
从数据字典中提取各表的变量信息,以及表间的关联信息;
根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,所述模拟数据符合表间的关联信息。
2.根据权利要求1所述的方法,其特征在于,所述数据字典包括多条表项,其中,每条表项包含:表名、变量名、规则、格式、范围、分布。
3.根据权利要求1所述的方法,其特征在于,所述表间的关联信息包括父表与子表的关系;其中,若第一表中存在第二表中的id变量,则表明第一表示是第二表的父表,第二表示是第一表的子表;子表的模拟数据生成至少基于父表的id变量、时间变量。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,包括:
根据提取的变量信息和表间的关联信息,生成每个类别的模拟数据;
关联合并模拟数据。
5.根据权利要求4所述的方法,其特征在于,所述关联合并模拟数据,包括:
按照父表到子表的顺序对各表进行排序,按序确定各表需要的数据量;
根据各表需要的数据量关联合并模拟数据。
6.一种数据模拟装置,其特征在于,所述装置包括:
提取单元,用于从数据字典中提取各表的变量信息,以及表间的关联信息;
生成单元,用于根据提取的变量信息和表间的关联信息,生成数据字典中所有表的模拟数据,所述模拟数据符合表间的关联信息。
7.根据权利要求6所述的装置,其特征在于,所述数据字典包括多条表项,其中,每条表项包含:表名、变量名、规则、格式、范围、分布。
8.根据权利要求6所述的装置,其特征在于,所述表间的关联信息包括父表与子表的关系;其中,若第一表中存在第二表中的id变量,则表明第一表示是第二表的父表,第二表示是第一表的子表;子表的模拟数据生成至少基于父表的id变量、时间变量。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述生成单元,用于根据提取的变量信息和表间的关联信息,生成每个类别的模拟数据;关联合并模拟数据。
10.根据权利要求9所述的装置,其特征在于,所述生成单元,用于按照父表到子表的顺序对各表进行排序,按序确定各表需要的数据量;根据各表需要的数据量关联合并模拟数据。
CN201910392744.5A 2019-05-13 2019-05-13 一种数据模拟方法及装置 Active CN110188037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910392744.5A CN110188037B (zh) 2019-05-13 2019-05-13 一种数据模拟方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910392744.5A CN110188037B (zh) 2019-05-13 2019-05-13 一种数据模拟方法及装置

Publications (2)

Publication Number Publication Date
CN110188037A true CN110188037A (zh) 2019-08-30
CN110188037B CN110188037B (zh) 2024-01-09

Family

ID=67714486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910392744.5A Active CN110188037B (zh) 2019-05-13 2019-05-13 一种数据模拟方法及装置

Country Status (1)

Country Link
CN (1) CN110188037B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427916A (zh) * 2020-03-27 2020-07-17 北京明略软件系统有限公司 一种数据模拟方法和装置
CN112685288A (zh) * 2020-12-03 2021-04-20 福建亿能达信息技术股份有限公司 一种关联表的测试数据的生成方法、装置、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968370A (zh) * 2012-11-26 2013-03-13 中国电信股份有限公司云计算分公司 一种测试数据生成方法及装置
CN104615667A (zh) * 2015-01-13 2015-05-13 联动优势电子商务有限公司 一种基础数据生成方法、测试用数据生成方法及其装置
CN105095325A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种测试数据的生成方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968370A (zh) * 2012-11-26 2013-03-13 中国电信股份有限公司云计算分公司 一种测试数据生成方法及装置
CN105095325A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种测试数据的生成方法及装置
CN104615667A (zh) * 2015-01-13 2015-05-13 联动优势电子商务有限公司 一种基础数据生成方法、测试用数据生成方法及其装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427916A (zh) * 2020-03-27 2020-07-17 北京明略软件系统有限公司 一种数据模拟方法和装置
CN111427916B (zh) * 2020-03-27 2023-08-18 北京明略软件系统有限公司 一种数据模拟方法和装置
CN112685288A (zh) * 2020-12-03 2021-04-20 福建亿能达信息技术股份有限公司 一种关联表的测试数据的生成方法、装置、设备和介质

Also Published As

Publication number Publication date
CN110188037B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
Hromkovič Theoretical computer science: introduction to Automata, computability, complexity, algorithmics, randomization, communication, and cryptography
US5301318A (en) Hierarchical netlist extraction tool
CN102902700B (zh) 基于在线增量演化主题模型的软件自动分类方法
CN102687114B (zh) 具有行为特征的硬件设计的并发仿真
CN104536881B (zh) 基于自然语言分析的众测错误报告优先级排序方法
CN101261617A (zh) 机器命题的方法与系统
Musti et al. Analysis Of The Electre Method In Decision Support Systems For Determining Areas Of Expertise For Informatics Management Study Program Students
CN109388376A (zh) 软件开发风险评估方法、装置、设备及可读存储介质
CN109448703A (zh) 结合深度神经网络和主题模型的音频场景识别方法及系统
CN110188037A (zh) 一种数据模拟方法及装置
CN110716537B (zh) 一种仿真测试方法和装置
CN108491487A (zh) 一种临床指南知识编码方法及系统
Shrestha Automatic generation of Simulink models to find bugs in a cyber-physical system tool chain using deep learning
Miskov-Zivanov et al. Regulatory network analysis acceleration with reconfigurable hardware
Elam et al. PROCESS IMPROVEMENT USING ARENA SIMULATION SOFTWARE.
Lemaigre et al. Interface model elicitation from textual scenarios
Barnard et al. A recommended practice for describing software designs: IEEE standards project 1016
JP2021149956A (ja) 問題項目自動生成方法およびシステム
Akintunde et al. Data-informed curriculum sequences for a curriculum-integrated game
Polhill et al. A semantic grid service for experimentation with an agent-based model of land-use change
Lelei et al. How Many Times Should a Pedagogical Agent Simulation Model Be Run?
Komenda et al. Similarity detection between virtual patients and medical curriculum using R
Ahmed et al. Predictive data mining driven architecture to guide car seat model parameter initialization
CN110222174B (zh) 一种基于词条作品热度构建分类分级词表的方法及系统
DRANGA Trials of using Generative AI for APB UVM testbench generation

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
GR01 Patent grant
GR01 Patent grant