一种模拟真实场景数据产生的方法及装置与流程

文档序号:18029081发布日期:2019-06-28 22:27阅读:226来源:国知局
一种模拟真实场景数据产生的方法及装置与流程

本发明实施例涉及数据模拟运算技术领域,具体涉及一种模拟真实场景数据产生的方法及装置。



背景技术:

目前,对于应用系统或软件产品一般都需要进行不同阶段的验证工作,包括原型功能论证、功能测试、性能测试等。测试、论证场景涉及到测试数据的准备。测试数据有时可以直接复用历史数据,但很多情况下,基于历史数据建立的测试数据可能会出现内容缺失不全、数据量级不够、数据涉密不能导出、数据已加密无法参与计算等情况,这时就需要根据用户的业务需求、数据预置约束条件、数据间层级关联等条件,生成对应的模拟验证数据。一般来说,按照用户要求模拟数据应该做到:数据量可控、充分的随机性、保持数据间特定的逻辑关联关系(包括直接关联或隐含关联)。

爱美之心,人皆有之。不管是在真实的社交场合,还是在虚拟的网络社交世界中,能够拥有一副让人心悦的面容显得至关重要。比如,常用的社交工具通常都具有美颜功能,通过预设的美颜模板,使用户的面孔呈现出化妆后或滑稽的效果。现有技术中,由于采用的是美颜模板,当用户面部进行活动时,美颜模板不能与用户面部进行良好的吻合,达不到理想的试妆效果,缺少现实世界选购化妆品的参考依据。申请人为此进行了系列的技术方案研发,让用户在虚拟世界达到化妆的效果,同时可以作为现实世界选购化妆品的参考依据,使用户具有更多的化妆选择,同时节约开资。为了方便开发者使用模拟产生的数据进行压测、统计、分析等的测试,亟需一种模拟真实场景数据产生的技术方案。



技术实现要素:

为此,本发明实施例提供一种模拟真实场景数据产生的方法及装置,能够对智能终端ai试妆实体店场景中用户的试妆体验进行数据模拟,批量随机的生成各网点的体验数据,有助于开发者使用模拟产生的数据进行压测、统计、分析等的测试。

为了实现上述目的,本发明实施例提供如下技术方案:一种模拟真实场景数据产生的方法,包括以下步骤:引入用户体验时间段的分布权重,随机获得-个开始时间数据;生成一个随机数n,将随机数n作为体验时长,根据所述开始时间数据和随机数n生成-个结束时间数据,将所述开始时间数据和结束时间数据作为一个数据组;

判断所述数据组是否存在时间冲突,a)不存在时间冲突输出开始时间数据和结束时间数据,b)存在时间冲突调整后输出开始时间数据和结束时间数据;

引入输出结果,根据-条基础数据随机产生-条包含在基础数据结果内的体验起止时间;引入产品数据,随机生成并输出-条点击数据;将所述体验起止时间和点击数据随机组合出n条操作记录。

作为模拟真实场景数据产生的方法的优选方案,引入用户体验时间段的分布权重过程中,采用mockjs的方法,进行随机逻辑定义,得出用户的体验时长分布,将所述体验时长分布加入脏数据。

作为模拟真实场景数据产生的方法的优选方案,引入权重基础数据及权重计算方法对用户体验时间段进行周期概率性分布;随机逻辑定义包括随机产品操作规则、用户体验时间随机规则、时间段的时间随机规则和广告信息播放规则;根据用户体验时间段分布生产广告播放记录。

作为模拟真实场景数据产生的方法的优选方案,所述随机数n的范围为1~100,当n=1,生成-个在120s~240s的体验时长数据;当n≤10时,体验时长为1s;当10<n≤100时,生成一个在2s~120s之间的体验时长数据。

作为模拟真实场景数据产生的方法的优选方案,所述数据组是否存在时间冲突的判断方式为:每当新生成一个开始时间数据和结束时间数据的时间段范围,将所述时间段范围与已生成的开始时间数据和结束时间数据的时间段范围比较是否存在交叉,存在交叉则存在时间冲突,不存在交叉则不存在时间冲突。

作为模拟真实场景数据产生的方法的优选方案,所述基础数据包括产品基础数据、广告基础数据、权重基础数据和终端基础数据;所述操作记录包括试状操作记录数据、用户体验时长记录数据和广告播放记录数据。

本发明实施例还提供一种模拟真实场景数据产生的装置,包括:

权重引入模块,用于引入用户体验时间段的分布权重,随机获得-个开始时间数据;

随机数生成模块,用于生成一个随机数n,将随机数n作为体验时长;

数据组生成模块,用于根据所述开始时间数据和随机数n生成-个结束时间数据,将所述开始时间数据和结束时间数据作为一个数据组;

冲突判断调整模块,用于判断所述数据组是否存在时间冲突,a)不存在时间冲突输出开始时间数据和结束时间数据,b)存在时间冲突调整后输出开始时间数据和结束时间数据;

体验起止时间生成模块,用于引入输出结果,根据-条基础数据随机产生-条包含在基础数据结果内的体验起止时间;

点击数据生成模块,用于引入产品数据,随机生成并输出-条点击数据;

操作记录生成模块,用于将所述体验起止时间和点击数据随机组合出n条操作记录。

作为模拟真实场景数据产生的装置的优选方案,通过权重引入模块引入用户体验时间段的分布权重过程中,采用mockjs的方法,进行随机逻辑定义,得出用户的体验时长分布,将所述体验时长分布加入脏数据,随机逻辑定义包括随机产品操作规则、用户体验时间随机规则、时间段的时间随机规则和广告信息播放规则。

作为模拟真实场景数据产生的装置的优选方案,随机数生成模块中随机数n的范围为1~100,当n=1,生成-个在120s~240s的体验时长数据;当n≤10时,体验时长为1s;当10<n≤100时,生成一个在2s~120s之间的体验时长数据。

作为模拟真实场景数据产生的装置的优选方案,冲突判断调整模块中数据组是否存在时间冲突的判断方式为:每当新生成一个开始时间数据和结束时间数据的时间段范围,将所述时间段范围与已生成的开始时间数据和结束时间数据的时间段范围比较是否存在交叉,存在交叉则存在时间冲突,不存在交叉则不存在时间冲突。

本发明实施例具有如下优点:通过自定义随机逻辑,先使用权重得出用户的体验时长分布并加入脏数据以增加真实性及不可预测性,使用循环为每台智能终端模拟用户体验开始、结束时间,并使时间上合理不产生冲突,根据随机产生的用户体验时间加上已有的产品数据,生成用户的操作记录,并生成广告播放记录。本发明实施例能够对智能终端ai试妆实体店场景中用户的试妆体验进行数据模拟,批量随机的生成各网点的体验数据,有助于开发者使用模拟产生的数据进行压测、统计、分析等的测试。

附图说明

为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。

图1为本发明实施例中提供的一种模拟真实场景数据产生的方法流程示意图;

图2为本发明实施例中提供的一种模拟真实场景数据产生的方法技术思路图;

图3为本发明实施例中提供的一种模拟真实场景数据产生的方法数据架构图;

图4为本发明实施例中提供的一种模拟真实场景数据产生的装置示意图;

图5为本发明实施例中提供的一种模拟真实场景数据产生的装置生成数据的流程图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,提供一种模拟真实场景数据产生的方法,包括以下步骤:

s1:引入用户体验时间段的分布权重,随机获得-个开始时间数据;生成一个随机数n,将随机数n作为体验时长,根据所述开始时间数据和随机数n生成-个结束时间数据,将所述开始时间数据和结束时间数据作为一个数据组;

s2:判断所述数据组是否存在时间冲突,a)不存在时间冲突输出开始时间数据和结束时间数据,b)存在时间冲突调整后输出开始时间数据和结束时间数据;

s3:引入输出结果,根据-条基础数据随机产生-条包含在基础数据结果内的体验起止时间;引入产品数据,随机生成并输出-条点击数据;将所述体验起止时间和点击数据随机组合出n条操作记录。

模拟真实场景数据产生的方法的一个实施例中,引入用户体验时间段的分布权重过程中,采用mockjs的方法,进行随机逻辑定义,得出用户的体验时长分布,将所述体验时长分布加入脏数据。具体的,脏数据是指源系统中的数据不在给定的范围内或对于实际业务毫无意义,或是数据格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑。数据库技术中,脏数据在临时更新(脏读)中产生。事务a更新了某个数据项x,但是由于某种原因,事务a出现了问题,于是要把a回滚。但是在回滚之前,另一个事务b读取了数据项x的值(a更新后),a回滚了事务,数据项恢复了原值。事务b读取的就是数据项x的就是一个“临时”的值,就是脏数据。

具体的,mockjs(官网http://mockjs.com/)是一款模拟数据生成器,能够帮助前端工程师独立于后端进行开发,帮助编写单元测试。mockjs能够实现根据数据模板生成模拟数据;模拟ajax请求,生成并返回模拟数据;基于html模板生成模拟数据。mockjs前后端分离,让前端工程师独立于后端进行开发。增加单元测试的真实性,通过随机数据,模拟试妆场景。开发无侵入,不需要修改既有代码,可以拦截ajax请求,返回模拟的响应数据。用法简单,数据类型丰富,支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等,方便扩展,支持扩展更多数据类型,支持自定义函数和正则。

参见图2和图3,模拟真实场景数据产生的方法的一个实施例中,引入权重基础数据及权重计算方法对用户体验时间段进行周期概率性分布;随机逻辑定义包括随机产品操作规则、用户体验时间随机规则、时间段的时间随机规则和广告信息播放规则;根据用户体验时间段分布生产广告播放记录。所述基础数据包括产品基础数据、广告基础数据、权重基础数据和终端基础数据;所述操作记录包括试状操作记录数据、用户体验时长记录数据和广告播放记录数据。所述随机数n的范围为1~100,当n=1,生成-个在120s~240s的体验时长数据;当n≤10时,体验时长为1s;当10<n≤100时,生成一个在2s~120s之间的体验时长数据。

具体的,所述数据组是否存在时间冲突的判断方式为:每当新生成一个开始时间数据和结束时间数据的时间段范围,将所述时间段范围与已生成的开始时间数据和结束时间数据的时间段范围比较是否存在交叉,存在交叉则存在时间冲突,不存在交叉则不存在时间冲突。

参见图4,本发明实施例还提供一种模拟真实场景数据产生的装置,包括:

权重引入模块1,用于引入用户体验时间段的分布权重,随机获得-个开始时间数据;

随机数生成模块2,用于生成一个随机数n,将随机数n作为体验时长;

数据组生成模块3,用于根据所述开始时间数据和随机数n生成-个结束时间数据,将所述开始时间数据和结束时间数据作为一个数据组;

冲突判断调整模块4,用于判断所述数据组是否存在时间冲突,a)不存在时间冲突输出开始时间数据和结束时间数据,b)存在时间冲突调整后输出开始时间数据和结束时间数据;

体验起止时间生成模块5,用于引入输出结果,根据-条基础数据随机产生-条包含在基础数据结果内的体验起止时间;

点击数据生成模块6,用于引入产品数据,随机生成并输出-条点击数据;

操作记录生成模块7,用于将所述体验起止时间和点击数据随机组合出n条操作记录。

模拟真实场景数据产生的装置的一个实施例中,通过权重引入模块1引入用户体验时间段的分布权重过程中,采用mockjs的方法,进行随机逻辑定义,得出用户的体验时长分布,将所述体验时长分布加入脏数据,随机逻辑定义包括随机产品操作规则、用户体验时间随机规则、时间段的时间随机规则和广告信息播放规则。随机数生成模块2中随机数n的范围为1~100,当n=1,生成-个在120s~240s的体验时长数据;当n≤10时,体验时长为1s;当10<n≤100时,生成一个在2s~120s之间的体验时长数据。冲突判断调整模块4中数据组是否存在时间冲突的判断方式为:每当新生成一个开始时间数据和结束时间数据的时间段范围,将所述时间段范围与已生成的开始时间数据和结束时间数据的时间段范围比较是否存在交叉,存在交叉则存在时间冲突,不存在交叉则不存在时间冲突。

参见图5,将本发明实施例的技术方案应用于智能试妆场景。由于智能试妆场景下的数据之间联系是非常紧密的,参照真实场景下的业务逻辑,客观存在的是有一家家的门店,每家店铺内各放着一台用于智能试妆的终端设备,在无人进行体验的时候以大屏的方式轮播广告,当有客户进店并开始体验智能设备的时候,她\他可以体验店内摆放着的口红、眼影、眉笔、腮红、粉底这些产品不同的色号在自己脸部呈现的效果,并进行自由搭配,帮助其找到最适合的产品和色号,在客户体验智能设备的时候,轮播广告会成等比例缩小,以小窗口的形式播放。

那么根据上述描述通过本发明实施例的技术方案来设计智能试妆体验数据模拟生成系统的规则如下:

(1)指定模拟的是哪个日期starts的数据,以及智能设备的台数m,根据m在设备信息中选择m个设备id。

(2)以一台设备为例,假定当日体验了这台智能设备的用户数范围在10-15,随机获取一个10-15的整数作为当日该设备的体验人数c。

(3)有了体验人数c,就要有每个用户体验的起止时间,使用mockjs生成一个随机方法js1,js1接收参数starts,这里以星期为周期给每天的时间段设定不同的权重来定义用户体验时间段的分布,得到一个体验开始时间s之后,随机生成一个1-100的数n,当n=1时,将此用户的体验时长d定在120-240s之间;n≤10时,d=1;elsed在2-120s之间,根据s和d得到体验结束时间e。每产生一组起止时间就判断一下该时间段是否与已有时间段冲突,若有,进行时间的调整。

(4)获得c组体验起止时间段,以一组时间段为例,随机生成一个体验时长d+-4的值count作为此用户体验的产品数c1,根据c1和产品的基础数据使用mockjs自定义方法生成count条产品体验数据组成list数组,取出数组中的时间与此用户体验起止时间组成数组atime,依次取出list数组中时间值a与atime的值逐一比较,选择比a小的中最接近a的值计算这款产品的体验时长。

(5)智能设备的广告播放数据依托用户体验数据,智能设备自开启时轮播广告,当一支广告播放完毕的时间处在用户的体验起止时间内即改变播放状态。

本发明实施例通过自定义随机逻辑,先使用权重得出用户的体验时长分布并加入脏数据以增加真实性及不可预测性,使用循环为每台智能终端模拟用户体验开始、结束时间,并使时间上合理不产生冲突,根据随机产生的用户体验时间加上已有的产品数据,生成用户的操作记录,并生成广告播放记录。本发明实施例能够对智能终端ai试妆实体店场景中用户的试妆体验进行数据模拟,批量随机的生成各网点的体验数据,有助于开发者使用模拟产生的数据进行压测、统计、分析等的测试。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1