一种产生数据的方法和装置制造方法及图纸

技术编号:16123137 阅读:26 留言:0更新日期:2017-09-01 18:00
本发明专利技术提供一种产生数据的方法和装置,涉及计算机领域,能够利用小规模的样本数据生成大数据,同时还保留了原有小规模数据的特征规律,提高了生成的大数据的参考价值,并且不需要进行数据的大规模移动,有效节省了存储和网络开销。其方法为:通过主节点根据样本数据制定数据生成的策略,并将数据生成的策略分发至至少一个从节点,以便主节点和从节点根据数据生成策略产生数据,并将产生的数据上传至文件系统。使得最终产生的数据具有样本数据的数值规律,并且在此基础上提高了生成数据的参考价值,同时避免了数据的大规模移动,有效的节省了存储和网络开销。本发明专利技术用于产生大数据。

Method and device for generating data

The present invention provides a method and apparatus for generating data, relates to the field of computer, to large data generated by the small size of the sample data, but also preserves the characteristics of the original small scale data, improves the data generated by the reference value, and does not require large-scale mobile data, effectively saving storage and network overhead. The method is as follows: through the master node according to the sample data set data generation strategy and data generation strategy is distributed to at least one from the node to the master node and the slave node according to the data generation strategy to generate data, upload the data to the file system and will produce. The final data generated by numerical rules with sample data, and on this basis to generate the reference value of the data, while avoiding the massive mobile data, effectively save storage and network overhead. The invention is used for generating large data.

【技术实现步骤摘要】
一种产生数据的方法和装置
本专利技术涉及计算机领域,尤其涉及一种产生数据的方法和装置。
技术介绍
随着互联网的不断发展,大数据(BigData)通常用来形容一个公司创造的大量非结构化和半结构化数据,现在对大数据的研究已经扩展到生活的方方面面,通过对大数据进行分析发掘,进而获得更有价值的信息。大数据已成为当前很多行业研究的主题。在对大数据进行处理时,需要处理的数据量是极其庞大的,然而处于保密性的考虑,大数据处理方案的提供者只能得到小规模的样本数据,往往不能获取到实际的大数据来进行测试,并且获取和传输大数据的过程中,会占用更多的资源,对相应的存储和网络资源都有较高的要求。现有大规模数据生成技术主要包括以下几种:基于Hadoop(一个分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序)基准测试程序集,利用完全随机的方式来产生大规模的数据;或者,采用zipfian分布生成数据,或按照均匀分布和高斯分布生成数据。但是上述三种现有技术生成的大数据都不能反应样本数据的原有的规律性,使得新生成的数据参考性较低。
技术实现思路
本专利技术的实施例提供一种产生数据的方法和装置,能够利用小规模的样本数据生成大数据,同时还保留了原有小规模数据的特征规律,提高了生成的大数据的参考价值,并且不需要进行数据的大规模移动,有效节省了存储和网络开销。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供一种产生数据的方法,所述方法包括:根据已获得的样本数据制定数据生成策略;根据所述数据生成策略生成第一数据,并将所述第一数据上传至文件系统;将所述数据生成策略发送至从节点,以便所述从节点根据所述数据生成策略生成第二数据,并将所述第二数据上传至所述文件系统。在第一种可能的实现方式中,结合第一方面,所述样本数据为m行n列的矩阵,其中m表示第一对象的总数,n表示第二对象的总数,所述矩阵中元素为r(u,i),所述r(u,i)表示第u个第一对象对第i个第二对象的评分。在第二种可能的实现方式中,结合第一种可能的实现方式,所述根据已获得的样本数据制定数据生成策略包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则在所述矩阵的n列向量中选取至少一列作为第一参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则在所述矩阵的m行向量中选取至少一行作为第一参考向量集。在第三种可能的实现方式中,结合第一种可能的实现方式,所述根据已获得的样本数据制定数据生成策略还包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则对所述矩阵的n列向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第一参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则对所述矩阵的m行向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第一参考向量集。在第四种可能的实现方式中,根据第二种或第三种可能的实现方式,所述根据所述数据生成策略生成第一数据包括:记录所述第一参考向量集中每个向量中的非空元素的位置信息;根据所述第一参考向量集中每个向量中的非空元素选取第一向量集,所述第一向量集中的每个向量不包含空元素;利用向量相似性根据所述第一向量集生成第二向量集,所述第二向量集中的每个向量不包含空元素;根据所述参考向量中每个向量中的非空元素的位置信息以及所述第二向量集生成第三向量集;将所述第三向量集加入所述矩阵中形成新矩阵,将所述新矩阵作为所述第一数据。在第五种可能的实现方式中,结合第一方面至第一方面的第四种可能的实现方式中的任意一项,在所述将所述数据生成策略发送至从节点时,所述方法还包括:将所述从节点需要生成数据的数据量及所述从节点向主节点返回完成生成数据消息的时间间隔至所述从节点;按照所述时间间隔,从所述从节点接收所述数据生成结果,所述完成生成数据消息包括所述从节点已生成的数据量和已完成数据生成的信息。在第六中可能的实现方式中,结合第五种可能的实现方式,所述方法还包括:若在所述时间间隔内,没有接收到所述从节点发送的所述完成生成数据消息,则指定除所述从节点之外的其他从节点按照所述数据生成策略生成数据并将生成的数据上传至所述文件系统。第二方面,提供一种产生数据的方法,所述方法包括:从主节点接收数据生成策略;根据所述数据生成策略生成第二数据,并将所述第二数据上传至文件系统。在第一种可能的实现方式中,结合第二方面,所述数据生成策略中包括:m行n列的矩阵,其中m表示第一对象的总数,n表示第二对象的总数,所述矩阵中元素为r(u,i),所述r(u,i)表示第u个第一对象对第i个第二对象的评分。在第二种可能的实现方式中,结合第一种可能的实现方式,所述从主节点接收的数据生成策略包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则在所述矩阵的n列向量中选取至少一列作为第二参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则在所述矩阵的m行向量中选取至少一行作为第二参考向量集。在第三种可能的实现方式中,结合第一种可能的实现方式,所述从主节点接收的数据生成策略包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则对所述矩阵的n列向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第二参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则对所述矩阵的m行向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第二参考向量集。在第四种可能的实现方式中,结合第二种或第三种可能的实现方式,所述根据所述数据生成策略生成第二数据包括:记录所述第二参考向量集中每个向量中的非空元素的位置信息;选取所述第二参考向量集中每个向量中的非空元素作为第四向量集,所述第四向量集中的每个向量不包含空元素;利用向量相似性根据所述第四向量集生成第五向量集,所述第五向量集中的每个向量不包含空元素;根据所述参考向量中每个向量中的非空元素的位置信息以及所述第五向量集生成第六向量集;将所述第六向量集加入所述矩阵中形成新矩阵,将所述新矩阵作为所述第二数据。第三方面,提供一种产生数据的装置,所述装置包括:策略制定单元,用于根据已获得的样本数据制定数据生成策略;第一数据生成单元,用于根据所述数据生成策略生成第一数据,并将所述第一数据上传至文件系统;策略分发单元,用于将所述数据生成策略发送至从节点,以便所述从节点根据所述数据生成策略生成第二数据,并将所述第二数据上传至所述文件系统。在第一种可能的实现方式中,结合第三方面,所述样本数据为m行n列的矩阵,其中m表示第一对象的总数,n表示第二对象的总数,所述矩阵中元素为r(u,i),所述r(u,i)表示第u个第一对象对第i个第二对象的评分。在第三种可能的实现方式中,结合第二可能的实现方式,所述策略制定单元具体用于:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则在所述矩阵的n列向量中选取至少一列作为第一参考向量集;或若确定本文档来自技高网...
一种产生数据的方法和装置

【技术保护点】
一种产生数据的方法,其特征在于,所述方法包括:根据已获得的样本数据制定数据生成策略;所述数据生成策略包括:选取出的在样本数据中进行扩展的方向,根据扩展方向选取出的作为参考向量的向量集合;根据所述数据生成策略生成第一数据,并将所述第一数据上传至文件系统;将所述数据生成策略发送至从节点,以便所述从节点根据所述数据生成策略生成第二数据,并将所述第二数据上传至所述文件系统。

【技术特征摘要】
1.一种产生数据的方法,其特征在于,所述方法包括:根据已获得的样本数据制定数据生成策略;所述数据生成策略包括:选取出的在样本数据中进行扩展的方向,根据扩展方向选取出的作为参考向量的向量集合;根据所述数据生成策略生成第一数据,并将所述第一数据上传至文件系统;将所述数据生成策略发送至从节点,以便所述从节点根据所述数据生成策略生成第二数据,并将所述第二数据上传至所述文件系统。2.根据权利要求1所述的方法,其特征在于,所述样本数据为m行n列的矩阵,其中m表示第一对象的总数,n表示第二对象的总数,所述矩阵中元素为r(u,i),所述r(u,i)表示第u个第一对象对第i个第二对象的评分。3.根据权利要求2所述的方法,其特征在于,所述根据已获得的样本数据制定数据生成策略包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则在所述矩阵的n列向量中选取至少一列作为第一参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则在所述矩阵的m行向量中选取至少一行作为第一参考向量集。4.根据权利要求2所述的方法,其特征在于,所述根据已获得的样本数据制定数据生成策略还包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则对所述矩阵的n列向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第一参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则对所述矩阵的m行向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第一参考向量集。5.根据权利要求3或4所述的方法,其特征在于,所述根据所述数据生成策略生成第一数据包括:记录所述第一参考向量集中每个向量中的非空元素的位置信息;根据所述第一参考向量集中每个向量中的非空元素选取第一向量集,所述第一向量集中的每个向量不包含空元素;利用向量相似性根据所述第一向量集生成第二向量集,所述第二向量集中的每个向量不包含空元素;根据所述参考向量中每个向量中的非空元素的位置信息以及所述第二向量集生成第三向量集;将所述第三向量集加入所述矩阵中形成新矩阵,将所述新矩阵作为所述第一数据。6.根据权利要求1至4任意一项所述的方法,其特征在于,在所述将所述数据生成策略发送至从节点时,所述方法还包括:将所述从节点需要生成数据的数据量及所述从节点向主节点返回完成生成数据消息的时间间隔发送至所述从节点;按照所述时间间隔,从所述从节点接收所述数据生成结果,所述完成生成数据消息包括所述从节点已生成的数据量和已完成数据生成的信息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:若在所述时间间隔内,没有接收到所述从节点发送的所述完成生成数据消息,则指定除所述从节点之外的其他从节点按照所述数据生成策略生成数据并将生成的数据上传至所述文件系统。8.一种产生数据的方法,其特征在于,所述方法包括:从主节点接收数据生成策略;所述数据生成策略包括:选取出的在样本数据中进行扩展的方向,根据扩展方向选取出的作为参考向量的向量集合;根据所述数据生成策略生成第二数据,并将所述第二数据上传至文件系统。9.根据权利要求8所述的方法,其特征在于,所述数据生成策略中包括:m行n列的矩阵,其中m表示第一对象的总数,n表示第二对象的总数,所述矩阵中元素为r(u,i),所述r(u,i)表示第u个第一对象对第i个第二对象的评分。10.根据权利要求9所述的方法,其特征在于,所述从主节点接收的数据生成策略包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则在所述矩阵的n列向量中选取至少一列作为第二参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则在所述矩阵的m行向量中选取至少一行作为第二参考向量集。11.根据权利要求9所述的方法,其特征在于,所述从主节点接收的数据生成策略包括:确定数据生成的方向为沿所述矩阵的横向扩展和/或沿所述矩阵的纵向扩展;若确定的数据生成的方向为沿所述矩阵的横向扩展,则对所述矩阵的n列向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第二参考向量集;或若确定的数据生成的方向为沿所述矩阵的纵向扩展,则对所述矩阵的m行向量进行聚类处理,并将聚类处理结果的中心点中的向量作为第二参考向量集。12.根据权利要求10或11所述的方法,其特征在于,所述根据所述数据生成策略生成第二数据包括:记录所述第二参考向量集中每个向量中的非空元素的位置信息;选取所述第二参考向量集中每个向量中的非空元素作为第四向量集,所述第四向量集中的每个向量不包含空元素;利用向量相似性根据所述第四向量集生成第五向量集,所述第五向量集中的每个向量不包含空元素;根据所述参考向量中每个向量中的非空元素的位置信息以及所述第五向量集生成第六向量集;将所述第六向量集加入所述矩阵中形成新矩阵,将所述新矩阵作为所述第二数据。13.一种产生数据的装置,其特征在于,所述装置包括:策略制定单元,用于根据已获得的样本数据制定数据生成策略;所述数据生成策略包括:选取出的在样本数据中进行扩展的方向,根据扩展方向选取出的作为参考向量的向量集合;第一数据生成单元,...

【专利技术属性】
技术研发人员:罗纯杰王磊詹剑锋张立新
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1