万级维度数据生成方法、装置、设备以及存储介质与流程

文档序号:14940988发布日期:2018-07-13 20:46阅读:124来源:国知局
本发明涉及计算机
技术领域
,尤其涉及一种万级维度数据生成方法、装置、设备以及存储介质。
背景技术
:现有技术中,采用传统的万级维度数据生成方式来生成数据,例如在海量数据中进行抽取等等,由于传统的生成方式需要关联很多张数据表,并且需要进行大量、复杂的计算,导致万级维度数据的生成效率不高,并且在海量的数据中抽取会夹杂着脏数据。技术实现要素:有鉴于此,本发明实施例提供一种万级维度数据生成方法、装置、设备以及存储介质,可以加快万级维度数据的生成,并减小脏数据的影响。一方面,本发明实施例提供了一种万级维度数据生成方法,该方法包括:获取多维度数据;根据预设数据加工逻辑对所述多维度数据进行加工;对加工后的多维度数据进行处理以生成矩阵新维度数据;对所述矩阵新维度数据进行过滤以得到万级维度数据。另一方面,本发明实施例提供了一种万级维度数据生成装置,所述装置包括:第一获取单元,用于获取多维度数据;加工单元,用于根据预设数据加工逻辑对所述多维度数据进行加工;处理单元,用于对加工后的多维度数据进行处理以生成矩阵新维度数据;过滤单元,用于对所述矩阵新维度数据进行过滤以得到万级维度数据。又一方面,本发明实施例还提供了一种万级维度数据生成设备,其包括:存储器,用于存储实现万级维度数据生成方法的计算机程序;以及处理器,用于运行所述存储器中存储的实现万级维度数据生成方法的计算机程序,以执行如上所述的方法。再一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如上所述的方法。本发明实施例通过获取多维度数据;根据预设数据加工逻辑对所述多维度数据进行加工;对加工后的多维度数据进行处理以生成矩阵新维度数据;对所述矩阵新维度数据进行过滤以得到万级维度数据。本发明实施例可以加快万级维度数据的生成,并减小脏数据的影响。附图说明为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种万级维度数据生成方法的示意流程图;图2是本发明实施例提供的一种万级维度数据生成方法的示意流程图;图3是本发明实施例提供的一种万级维度数据生成方法的示意流程图;图4是本发明实施例提供的一种万级维度数据生成方法的示意流程图;图5是本发明另一实施例提供的一种万级维度数据生成方法的示意流程图;图6是本发明实施例提供的一种万级维度数据生成装置的示意性框图;图7是本发明实施例提供的一种万级维度数据生成装置的另一示意性框图;图8是本发明实施例提供的一种万级维度数据生成装置的另一示意性框图;图9是本发明实施例提供的一种万级维度数据生成装置的另一示意性框图;图10是本发明实施例提供的一种万级维度数据生成装置的另一示意性框图;图11是本发明实施例提供的一种万级维度数据生成设备的结构组成示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。请参阅图1,图1为本发明实施例提供的一种万级维度数据生成方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、笔记本电脑以及智能设备等终端中。本发明实施例所述的万级维度数据生成方法,可以加快万级维度数据的生成,并减小脏数据的影响。图1是本发明实施例提供的万级维度数据生成方法的示意流程图。该方法包括步骤s101~s104。s101,获取多维度数据。在本发明实施例中,多维度数据指的是具有特定属性的数据,如:时间属性、地域属性、空间属性等。其中数据作为被分析处理的实体,多维度是数据的结构属性,并用来描述数据分类的有组织层次结构。根据多维度数据的本质,可以分为时序数据、位置数据、计数数据或者频率数据等。以终端运行所产生的多维度数据为计时数据为例,该计时数据可以为:视频聊天所产生的时间,在视频聊天时间内所产生的流量等。s102,根据预设数据加工逻辑对所述多维度数据进行加工。在本发明实施例中,所述预设数据加工逻辑可以是横向转纵向加工逻辑,针对海量(如上万级别)级别的数据,由于多维度数据一般存储在数据表中,传统的加工逻辑需要关联很多张数据表,并不断地针对数据表中的数据进行连接,最后再多次重复步骤才能完成完成多维度数据的加工,加工逻辑复杂;通过横向转纵向的加工逻辑可以降低多维度数据的加工复杂度,提高多维度数据的加工效率。进一步地,如图2所示,所述预设数据加工逻辑包括横向转纵向加工逻辑,所述步骤s102包括步骤s201~s202。s201,根据横向转纵向加工逻辑整合所述多维度数据的数据类型。在本发明实施例中,所述横向转纵向加工逻辑包括横向加工逻辑和纵向加工逻辑,针对上万级别的多维度数据,先使用横向加工逻辑对多维度数据在分布式环境中进行数据表关联,并获取数据表关联中的关联数据,再使用纵向加工逻辑对关联数据进行数据类型的整合;对于横向加工逻辑,需要读取分布式环境中的数据表,根据数值关系分析中的等值条件以数据表中任意两个数据源各自的属性值建立满足等值条件的键值对,数据源中每条数据记录与数据源各自的属性值之间具有固定函数关系,利用数据表的任意两个数据源各自的属性值之间具有固定函数关系对关联数据表;对于纵向加工逻辑,从关联数据的集合中选择出需要进行数据类型整合处理的各待处理数据元,对所选择出的各待处理数据元进行配对处理,以确定各待处理数据元之间的匹配关系,将所选择出的各待处理数据元作为数据关系图中的各顶点,根据各待处理数据元之间的匹配关系生成用于连接各顶点的边,以得到所述数据关系图,以及根据数据关系图和全局决策,从各顶点中确定出已整合的数据元,获取已整合的数据元对应的数据类型,根据数据关系图和全局决策以及已整合的数据元,从而确定已整合的数据类型。具体地,通过横向加工后得到的关联数据原子性强,由于纵向加工逻辑的加工对象主要针对原子性强的数据,因此,通过纵向加工逻辑处理关联数据的流动性,可以加快关联数据的独立性,最后在数据生成的过程中泛化出数据类型的特征,从而完成多维度数据的整合。s202,根据横向转纵向加工逻辑关联所述多维度数据的数据链接。在本发明实施例中,通过横向转纵向加式逻辑关联所述多维度数据的数据链接的操作可以为,先用特定的哈希行数对关联数据进行哈希分区,创建哈希表,映射哈希值和分区,然后逐条扫描关联数据,获取关联数据的数据链接,若相应的关联数据不存在数据链接,直接跳过并扫描下一条关联数据,得到的结果为一条关联数据对应一条数据链接,然后根据预先的哈希分区对应哈希表中的值,对所获取的数据链接进行交叉匹配,最后得到已关联的数据链接。s103,对加工后的多维度数据进行处理以生成矩阵新维度数据。在本发明实施例中,使用java开发了自定义一行变多行、多行变一行等数据处理函数,对加工后的多维度数据进行处理以生成矩阵新维度数据。其中,通过自定义一行变多行的数据处理函数,例如:将表1中的一行数据进行处理,得到表2形式的多行数据,表1namealiaszhaoqiansunabcdefghi表2namealiaszhaoqiansunabczhaoqiansundefzhaoqiansunghi处理过程为:使用lateralview将数据进行虚拟化,使用explode()将数据进行分解为单独的行,使用split按照指定的字符进行分解,并将分解后的指定字符对应的输出至单独的行中。通过自定义多行变一行的数据处理函数,例如:使用awk默认将记录分隔符设置为\n,并且在数据最后分隔结束字符(如eof),最后把多行数据视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。通过自定义数据类型把数据压缩聚合在矩阵维度数据中,利用自定义函数中的计算函数,优化计算过程中数据处理的方式,通过自定义的数据类型格式存储在矩阵中进行传输计算,使得数据相同的资源环境下函数计算时间更短。根据特征的特性建立存放的数据结构模型;基于分布式hadoop平台通过源码开发符合维度使用的数据结构类型,比如维度特征中有大量存在bool类型特征,这一类特征的值只有三种,是、否、空,这一类数据都可以通过矩阵类型的数据结构模型来处理。进一步地,如图3所示,所述步骤s103包括步骤s301~s303。s301,对所述多维度数据进行压缩聚合。在本发明实施例中,通过自定义数据处理函数对多维度数据进行压缩聚合,所述自定义数据处理函数可以由用户自行定的java函数,例如,hashaggregate函数,使用hashaggregate函数,数据库会根据groupby字段后面的值算出多维度数据的hash值,并根据前面使用的hashaggregate函数在内存中维护对应的列表;如果select后面有两个hashaggregate函数,那么在内存中就会维护两个对应的数据;同样的,有n个hashaggregate函数就会压缩聚合n个同样的多维度数据。s302,对已压缩聚合的多维度数据进行优化。在本发明实施例中,可以通过自定义数据处理函数对已压缩聚合的多维度数据进行优化,所述自定义数据处理函数可以由用户自行定的java函数,例如,sgd随机梯度下降优化函数,通过定义随机梯度下降算法根据随机选取的数据的训练集样,其每次的更新,都是针对单个样本数据,并没有遍历完整的参数;当多维度数据很大时,可能到迭代完成,也只不过遍历了样本中的一小部分,该优化函数每步迭代过程:首先从数据训练集中的随机抽取一批容量为m的样本{x1,…,xm},以及相关的输出yi计算梯度和误差并更新参数,从而实现对数据进行优化。s303,将优化后的多维度数据存放至预建立的数据结构模型中以生成矩阵新维度数据。在本发明实施例中,通过自定义数据类型把数据压缩聚合在矩阵维度数据中,利用自定义函数中的计算函数,优化计算过程中数据处理的方式,通过自定义的数据类型格式存储在矩阵中进行传输计算,使得数据相同的资源环境下函数计算时间更短。根据特征的特性建立存放的数据结构模型;基于分布式hadoop平台通过源码开发符合维度使用的数据结构类型,比如维度特征中有大量存在bool类型特征,这一类特征的值只有三种,是、否、空,这一类数据都可以通过矩阵类型的数据结构模型来处理。s104,对所述矩阵新维度数据进行过滤以得到万级维度数据。在本发明实施例中,通过箱形图统计分析方法,统计矩阵新维度数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值,并利用所统计的统计量来描述数据,它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。通过箱形图的统计量把边缘性的数据去除,最后得到万级维度数据,其中,作为边缘性数据,必须具备以下几种标准,如:1、数据向本地50%以上的用户提供服务;2、数据能够支持75%以上的网站服务;3、数据能够提供丰富的媒体体验以及具备更高的安全性;4、数据能够衡量互联网服务的,并且提供更好的性能以及更低的成本。对数据的去除方法,其过程为:使用箱形图中的统计量对数据进行过滤,以保留符合统计量标准的数据,将不符合统计量标准的数据作为边缘性数据,将过滤后的数据进行标准化去除处理。进一步地,标准化去除的步骤为,对数据进行判断并挑选出系统数据,以防止去除数据后系统发生异常,将挑选出的边缘性数据使用删除语句进行数据删除。进一步地,如图4所示,所述步骤s104包括步骤s401~s404。s401,计算所述矩阵新维度数据中的若干个统计量。在本发明实施例中,通过箱形图统计分析方法计算所述矩阵新维度数据中的统计量,其中,所述统计量可以为所述矩阵新维度数据的最小值、第一四分位数、中位数、第三四分位数与最大值。s402,根据所述统计量对所述矩阵新维度数据进行分析。在本发明实施例中,利用所统计的统计量来描述数据,例如,利用最小值和最大值可以粗略地看出矩阵新维度数据是否具有对称性,利用最小值、中位数和最大值的分布看出矩阵新维度数据分散程度等等。s403,根据分析结果去除所述矩阵新维度数据的边缘性数据。在本发明实施例中,根据分析结果可以确定所述矩阵新维度数据中哪些数据属于边缘性数据,例如,保留符合统计量标准的数据,将不符合统计量标准的数据作为边缘性数据,去除所述矩阵新维度数据的边缘性数据,使用箱形图中的统计量对数据进行过滤,对数据进行判断并挑选出系统数据,以防止去除数据后系统发生异常,将挑选出的边缘性数据使用删除语句进行数据删除。s404,获取处理后的数据并作为所述万级维度数据。在本发明实施例中,将去除了边缘性数据,并且保留下来的符合统计量标准的矩阵新维度数据作为所述万级维度数据,利用过滤出的万级维度数据,可以减小脏数据对系统的影响,从而防止系统发生异常。由以上可见,本发明实施例通过获取多维度数据;根据预设数据加工逻辑对所述多维度数据进行加工;对加工后的多维度数据进行处理以生成矩阵新维度数据;对所述矩阵新维度数据进行过滤以得到万级维度数据。本发明实施例可以加快万级维度数据的生成,并减小脏数据的影响。请参阅图5,图5是本发明实施例提供的一种万级维度数据生成方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图5所示,该方法包括步骤s501~s505。s501,获取多维度数据。在本发明实施例中,多维度数据指的是具有特定属性的数据,如:时间属性、地域属性、空间属性等。其中数据作为被分析处理的实体,多维度是数据的结构属性,并用来描述数据分类的有组织层次结构。根据多维度数据的本质,可以分为时序数据、位置数据、计数数据或者频率数据等。以终端运行所产生的多维度数据为计时数据为例,该计时数据可以为:视频聊天所产生的时间,在视频聊天时间内所产生的流量等。s502,根据预设数据加工逻辑对所述多维度数据进行加工。在本发明实施例中,所述预设数据加工逻辑可以是横向转纵向加工逻辑,针对海量(如上万级别)级别的数据,由于多维度数据一般存储在数据表中,传统的加工逻辑需要关联很多张数据表,并不断地针对数据表中的数据进行连接,最后再多次重复步骤才能完成完成多维度数据的加工,加工逻辑复杂;通过横向转纵向的加工逻辑可以降低多维度数据的加工复杂度,提高多维度数据的加工效率。s503,对加工后的多维度数据进行处理以生成矩阵新维度数据。在本发明实施例中,使用java开发了自定义一行变多行、多行变一行等数据处理函数,对加工后的多维度数据进行处理以生成矩阵新维度数据。其中,通过自定义一行变多行的数据处理函数,例如:将表3中的一行数据进行处理,得到表4形式的多行数据,表3namealiaszhaoqiansunabcdefghi表4namealiaszhaoqiansunabczhaoqiansundefzhaoqiansunghi处理过程为:使用lateralview将数据进行虚拟化,使用explode()将数据进行分解为单独的行,使用split按照指定的字符进行分解,并将分解后的指定字符对应的输出至单独的行中。通过自定义多行变一行的数据处理函数,例如:使用awk默认将记录分隔符设置为\n,并且在数据最后分隔结束字符(如eof),最后把多行数据视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。通过自定义数据类型把数据压缩聚合在矩阵维度数据中,利用自定义函数中的计算函数,优化计算过程中数据处理的方式,通过自定义的数据类型格式存储在矩阵中进行传输计算,使得数据相同的资源环境下函数计算时间更短。根据特征的特性建立存放的数据结构模型;基于分布式hadoop平台通过源码开发符合维度使用的数据结构类型,比如维度特征中有大量存在bool类型特征,这一类特征的值只有三种,是、否、空,这一类数据都可以通过矩阵类型的数据结构模型来处理。s504,根据预设数据分类算法对所述矩阵新维度数据进行分类。在本发明实施例中,当所述矩阵新维度数据达到一个量级时(比如:万级、千万级等),为了加快万级维度数据的生成,采用预设数据分类算法对矩阵新维度数据进行分类,所述预设数据分类算法为具有以下特征的算法:分类表项改变后,需要重新建立映射表的非线性分类算法。其中,在所述矩阵新维度数据达到一个量级时,并且经过过滤后的所述矩阵新维度数据不再进一步被处理(比如:增、删、改、查操作),数据比较稳定,短期内不会改变,这样,经过分类后的数据可以提高万级维度数据的生成速度。s505,对所述矩阵新维度数据进行过滤以得到万级维度数据。在本发明实施例中,通过箱形图统计分析方法,统计矩阵新维度数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值,并利用所统计的统计量来描述数据,它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。通过箱形图的统计量把边缘性的数据去除,最后得到万级维度数据,其中,作为边缘性数据,必须具备以下几种标准,如:1、数据向本地50%以上的用户提供服务;2、数据能够支持75%以上的网站服务;3、数据能够提供丰富的媒体体验以及具备更高的安全性;4、数据能够衡量互联网服务的,并且提供更好的性能以及更低的成本。对数据的去除方法,其过程为:使用箱形图中的统计量对数据进行过滤,以保留符合统计量标准的数据,将不符合统计量标准的数据作为边缘性数据,将过滤后的数据进行标准化去除处理。进一步地,标准化去除的步骤为,对数据进行判断并挑选出系统数据,以防止去除数据后系统发生异常,将挑选出的边缘性数据使用删除语句进行数据删除。请参阅图6,对应上述一种万级维度数据生成方法,本发明实施例还提出一种万级维度数据生成装置,该装置100包括:第一获取单元101、加工单元102、处理单元103、过滤单元104。其中,所述第一获取单元101,用于获取多维度数据。在本发明实施例中,多维度数据指的是具有特定属性的数据,如:时间属性、地域属性、空间属性等。其中数据作为被分析处理的实体,多维度是数据的结构属性,并用来描述数据分类的有组织层次结构。根据多维度数据的本质,可以分为时序数据、位置数据、计数数据或者频率数据等。以终端运行所产生的多维度数据为计时数据为例,该计时数据可以为:视频聊天所产生的时间,在视频聊天时间内所产生的流量等。加工单元102,用于根据预设数据加工逻辑对所述多维度数据进行加工。在本发明实施例中,所述预设数据加工逻辑可以是横向转纵向加工逻辑,针对海量(如上万级别)级别的数据,由于多维度数据一般存储在数据表中,传统的加工逻辑需要关联很多张数据表,并不断地针对数据表中的数据进行连接,最后再多次重复步骤才能完成完成多维度数据的加工,加工逻辑复杂;通过横向转纵向的加工逻辑可以降低多维度数据的加工复杂度,提高多维度数据的加工效率。处理单元103,用于对加工后的多维度数据进行处理以生成矩阵新维度数据。在本发明实施例中,使用java开发了自定义一行变多行、多行变一行等数据处理函数,对加工后的多维度数据进行处理以生成矩阵新维度数据。其中,通过自定义一行变多行的数据处理函数,例如:将表5中的一行数据进行处理,得到表6形式的多行数据,表5namealiaszhaoqiansunabcdefghi表6namealiaszhaoqiansunabczhaoqiansundefzhaoqiansunghi处理过程为:使用lateralview将数据进行虚拟化,使用explode()将数据进行分解为单独的行,使用split按照指定的字符进行分解,并将分解后的指定字符对应的输出至单独的行中。通过自定义多行变一行的数据处理函数,例如:使用awk默认将记录分隔符设置为\n,并且在数据最后分隔结束字符(如eof),最后把多行数据视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。通过自定义数据类型把数据压缩聚合在矩阵维度数据中,利用自定义函数中的计算函数,优化计算过程中数据处理的方式,通过自定义的数据类型格式存储在矩阵中进行传输计算,使得数据相同的资源环境下函数计算时间更短。根据特征的特性建立存放的数据结构模型;基于分布式hadoop平台通过源码开发符合维度使用的数据结构类型,比如维度特征中有大量存在bool类型特征,这一类特征的值只有三种,是、否、空,这一类数据都可以通过矩阵类型的数据结构模型来处理。过滤单元104,用于对所述矩阵新维度数据进行过滤以得到万级维度数据。在本发明实施例中,通过箱形图统计分析方法,统计矩阵新维度数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值,并利用所统计的统计量来描述数据,它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。通过箱形图的统计量把边缘性的数据去除,最后得到万级维度数据,其中,作为边缘性数据,必须具备以下几种标准,如:1、数据向本地50%以上的用户提供服务;2、数据能够支持75%以上的网站服务;3、数据能够提供丰富的媒体体验以及具备更高的安全性;4、数据能够衡量互联网服务的,并且提供更好的性能以及更低的成本。对数据的去除方法,其过程为:使用箱形图中的统计量对数据进行过滤,以保留符合统计量标准的数据,将不符合统计量标准的数据作为边缘性数据,将过滤后的数据进行标准化去除处理。进一步地,标准化去除的步骤为,对数据进行判断并挑选出系统数据,以防止去除数据后系统发生异常,将挑选出的边缘性数据使用删除语句进行数据删除。本发明实施例通过获取多维度数据,根据预设数据加工逻辑对所述多维度数据进行加工,对加工后的多维度数据进行处理以生成矩阵新维度数据,对所述矩阵新维度数据进行过滤以得到万级维度数据。本发明实施例可以加快万级维度数据的生成,并减小脏数据的影响。如图7所示,所述加工单元102,包括:整合单元1021,用于根据横向转纵向加工逻辑整合所述多维度数据的数据类型。在本发明实施例中,所述横向转纵向加工逻辑包括横向加工逻辑和纵向加工逻辑,针对上万级别的多维度数据,先使用横向加工逻辑对多维度数据在分布式环境中进行数据表关联,并获取数据表关联中的关联数据,再使用纵向加工逻辑对关联数据进行数据类型的整合;对于横向加工逻辑,需要读取分布式环境中的数据表,根据数值关系分析中的等值条件以数据表中任意两个数据源各自的属性值建立满足等值条件的键值对,数据源中每条数据记录与数据源各自的属性值之间具有固定函数关系,利用数据表的任意两个数据源各自的属性值之间具有固定函数关系对关联数据表;对于纵向加工逻辑,从关联数据的集合中选择出需要进行数据类型整合处理的各待处理数据元,对所选择出的各待处理数据元进行配对处理,以确定各待处理数据元之间的匹配关系,将所选择出的各待处理数据元作为数据关系图中的各顶点,根据各待处理数据元之间的匹配关系生成用于连接各顶点的边,以得到所述数据关系图,以及根据数据关系图和全局决策,从各顶点中确定出已整合的数据元,获取已整合的数据元对应的数据类型,根据数据关系图和全局决策以及已整合的数据元,从而确定已整合的数据类型。具体地,通过横向加工后得到的关联数据原子性强,由于纵向加工逻辑的加工对象主要针对原子性强的数据,因此,通过纵向加工逻辑处理关联数据的流动性,可以加快关联数据的独立性,最后在数据生成的过程中泛化出数据类型的特征,从而完成多维度数据的整合。关联单元1022,用于根据横向转纵向加工逻辑关联所述多维度数据的数据链接。在本发明实施例中,通过横向转纵向加式逻辑关联所述多维度数据的数据链接的操作可以为,先用特定的哈希行数对关联数据进行哈希分区,创建哈希表,映射哈希值和分区,然后逐条扫描关联数据,获取关联数据的数据链接,若相应的关联数据不存在数据链接,直接跳过并扫描下一条关联数据,得到的结果为一条关联数据对应一条数据链接,然后根据预先的哈希分区对应哈希表中的值,对所获取的数据链接进行交叉匹配,最后得到已关联的数据链接。如图8所示,所述处理单元103,包括:压缩聚合单元1031,用于对所述多维度数据进行压缩聚合。在本发明实施例中,通过自定义数据处理函数对多维度数据进行压缩聚合,所述自定义数据处理函数可以由用户自行定的java函数,例如,hashaggregate函数,使用hashaggregate函数,数据库会根据groupby字段后面的值算出多维度数据的hash值,并根据前面使用的hashaggregate函数在内存中维护对应的列表;如果select后面有两个hashaggregate函数,那么在内存中就会维护两个对应的数据;同样的,有n个hashaggregate函数就会压缩聚合n个同样的多维度数据。优化单元1032,用于对已压缩聚合的多维度数据进行优化。在本发明实施例中,可以通过自定义数据处理函数对已压缩聚合的多维度数据进行优化,所述自定义数据处理函数可以由用户自行定的java函数,例如,sgd随机梯度下降优化函数,通过定义随机梯度下降算法根据随机选取的数据的训练集样,其每次的更新,都是针对单个样本数据,并没有遍历完整的参数;当多维度数据很大时,可能到迭代完成,也只不过遍历了样本中的一小部分,该优化函数每步迭代过程:首先从数据训练集中的随机抽取一批容量为m的样本{x1,…,xm},以及相关的输出yi计算梯度和误差并更新参数,从而实现对数据进行优化。存放单元1033,用于将优化后的多维度数据存放至预建立的数据结构模型中以生成矩阵新维度数据。在本发明实施例中,通过自定义数据类型把数据压缩聚合在矩阵维度数据中,利用自定义函数中的计算函数,优化计算过程中数据处理的方式,通过自定义的数据类型格式存储在矩阵中进行传输计算,使得数据相同的资源环境下函数计算时间更短。根据特征的特性建立存放的数据结构模型;基于分布式hadoop平台通过源码开发符合维度使用的数据结构类型,比如维度特征中有大量存在bool类型特征,这一类特征的值只有三种,是、否、空,这一类数据都可以通过矩阵类型的数据结构模型来处理。如图9所示,所述过滤单元104,包括:计算单元1041,用于计算所述矩阵新维度数据中的若干个统计量。在本发明实施例中,通过箱形图统计分析方法计算所述矩阵新维度数据中的统计量,其中,所述统计量可以为所述矩阵新维度数据的最小值、第一四分位数、中位数、第三四分位数与最大值。分析单元1042,用于根据所述统计量对所述矩阵新维度数据进行分析。在本发明实施例中,利用所统计的统计量来描述数据,例如,利用最小值和最大值可以粗略地看出矩阵新维度数据是否具有对称性,利用最小值、中位数和最大值的分布看出矩阵新维度数据分散程度等等。去除单元1043,用于根据分析结果去除所述矩阵新维度数据的边缘性数据。在本发明实施例中,根据分析结果可以确定所述矩阵新维度数据中哪些数据属于边缘性数据,例如,保留符合统计量标准的数据,将不符合统计量标准的数据作为边缘性数据,去除所述矩阵新维度数据的边缘性数据,使用箱形图中的统计量对数据进行过滤,对数据进行判断并挑选出系统数据,以防止去除数据后系统发生异常,将挑选出的边缘性数据使用删除语句进行数据删除。第二获取单元1044,用于获取处理后的数据并作为所述万级维度数据。在本发明实施例中,将去除了边缘性数据,并且保留下来的符合统计量标准的矩阵新维度数据作为所述万级维度数据,利用过滤出的万级维度数据,可以减小脏数据对系统的影响,从而防止系统发生异常。请参阅图10,对应上述一种万级维度数据生成方法,本发明实施例还提出一种万级维度数据生成装置,该装置200包括:第一获取单元201、加工单元202、处理单元203、分类单元204、过滤单元205。其中,所述第一获取单元201,用于获取多维度数据。在本发明实施例中,多维度数据指的是具有特定属性的数据,如:时间属性、地域属性、空间属性等。其中数据作为被分析处理的实体,多维度是数据的结构属性,并用来描述数据分类的有组织层次结构。根据多维度数据的本质,可以分为时序数据、位置数据、计数数据或者频率数据等。以终端运行所产生的多维度数据为计时数据为例,该计时数据可以为:视频聊天所产生的时间,在视频聊天时间内所产生的流量等。加工单元202,用于根据预设数据加工逻辑对所述多维度数据进行加工。在本发明实施例中,所述预设数据加工逻辑可以是横向转纵向加工逻辑,针对海量(如上万级别)级别的数据,由于多维度数据一般存储在数据表中,传统的加工逻辑需要关联很多张数据表,并不断地针对数据表中的数据进行连接,最后再多次重复步骤才能完成完成多维度数据的加工,加工逻辑复杂;通过横向转纵向的加工逻辑可以降低多维度数据的加工复杂度,提高多维度数据的加工效率。处理单元203,用于对加工后的多维度数据进行处理以生成矩阵新维度数据。在本发明实施例中,使用java开发了自定义一行变多行、多行变一行等数据处理函数,对加工后的多维度数据进行处理以生成矩阵新维度数据。其中,通过自定义一行变多行的数据处理函数,例如:将表7中的一行数据进行处理,得到表8形式的多行数据,表7namealiaszhaoqiansunabcdefghi表8namealiaszhaoqiansunabczhaoqiansundefzhaoqiansunghi处理过程为:使用lateralview将数据进行虚拟化,使用explode()将数据进行分解为单独的行,使用split按照指定的字符进行分解,并将分解后的指定字符对应的输出至单独的行中。通过自定义多行变一行的数据处理函数,例如:使用awk默认将记录分隔符设置为\n,并且在数据最后分隔结束字符(如eof),最后把多行数据视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。通过自定义数据类型把数据压缩聚合在矩阵维度数据中,利用自定义函数中的计算函数,优化计算过程中数据处理的方式,通过自定义的数据类型格式存储在矩阵中进行传输计算,使得数据相同的资源环境下函数计算时间更短。根据特征的特性建立存放的数据结构模型;基于分布式hadoop平台通过源码开发符合维度使用的数据结构类型,比如维度特征中有大量存在bool类型特征,这一类特征的值只有三种,是、否、空,这一类数据都可以通过矩阵类型的数据结构模型来处理。分类单元204,用于根据预设数据分类算法对所述矩阵新维度数据进行分类。在本发明实施例中,当所述矩阵新维度数据达到一个量级时(比如:万级、千万级等),为了加快万级维度数据的生成,采用预设数据分类算法对矩阵新维度数据进行分类,所述预设数据分类算法为具有以下特征的算法:分类表项改变后,需要重新建立映射表的非线性分类算法。其中,在所述矩阵新维度数据达到一个量级时,并且经过过滤后的所述矩阵新维度数据不再进一步被处理(比如:增、删、改、查操作),数据比较稳定,短期内不会改变,这样,经过分类后的数据可以提高万级维度数据的生成速度。过滤单元205,用于对所述矩阵新维度数据进行过滤以得到万级维度数据。在本发明实施例中,通过箱形图统计分析方法,统计矩阵新维度数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值,并利用所统计的统计量来描述数据,它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。通过箱形图的统计量把边缘性的数据去除,最后得到万级维度数据,其中,作为边缘性数据,必须具备以下几种标准,如:1、数据向本地50%以上的用户提供服务;2、数据能够支持75%以上的网站服务;3、数据能够提供丰富的媒体体验以及具备更高的安全性;4、数据能够衡量互联网服务的,并且提供更好的性能以及更低的成本。对数据的去除方法,其过程为:使用箱形图中的统计量对数据进行过滤,以保留符合统计量标准的数据,将不符合统计量标准的数据作为边缘性数据,将过滤后的数据进行标准化去除处理。进一步地,标准化去除的步骤为,对数据进行判断并挑选出系统数据,以防止去除数据后系统发生异常,将挑选出的边缘性数据使用删除语句进行数据删除。在硬件实现上,以上第一获取单元101、加工单元102、处理单元103、过滤单元104等可以以硬件形式内嵌于或独立于数据处理的装置中,也可以以软件形式存储于数据处理装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(cpu)、微处理器、单片机等。上述万级维度数据生成装置可以实现为一种计算机程序的形式,计算机程序可以在如图11所示的计算机设备上运行。图11为本发明一种万级维度数据生成设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式装置等具有通信功能的电子装置。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图11,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种万级维度数据生成方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种万级维度数据生成方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器502执行如下操作:获取多维度数据;根据预设数据加工逻辑对所述多维度数据进行加工;对加工后的多维度数据进行处理以生成矩阵新维度数据;对所述矩阵新维度数据进行过滤以得到万级维度数据。在一个实施例中,所述预设数据加工逻辑包括横向转纵向加工逻辑,所述根据预设数据加工逻辑对所述多维度数据进行加工,包括:根据横向转纵向加工逻辑整合所述多维度数据的数据类型;根据横向转纵向加工逻辑关联所述多维度数据的数据链接。在一个实施例中,所述对加工后的多维度数据进行处理以生成矩阵新维度数据,包括:对所述多维度数据进行压缩聚合;对已压缩聚合的多维度数据进行优化;将优化后的多维度数据存放至预建立的数据结构模型中以生成矩阵新维度数据。在一个实施例中,所述对所述矩阵新维度数据进行过滤以得到万级维度数据,包括:计算所述矩阵新维度数据中的若干个统计量;根据所述统计量对所述矩阵新维度数据进行分析;根据分析结果去除所述矩阵新维度数据的边缘性数据;获取处理后的数据并作为所述万级维度数据。在一个实施例中,所述处理器502还执行如下操作:根据预设数据分类算法对所述矩阵新维度数据进行分类。本领域技术人员可以理解,图11中示出的万级维度数据生成设备的实施例并不构成对万级维度数据生成设备具体构成的限定,在其他实施例中,万级维度数据生成设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,万级维度数据生成设备仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现以下步骤:获取多维度数据;根据预设数据加工逻辑对所述多维度数据进行加工;对加工后的多维度数据进行处理以生成矩阵新维度数据;对所述矩阵新维度数据进行过滤以得到万级维度数据。在一个实施例中,所述预设数据加工逻辑包括横向转纵向加工逻辑,所述根据预设数据加工逻辑对所述多维度数据进行加工,包括:根据横向转纵向加工逻辑整合所述多维度数据的数据类型;根据横向转纵向加工逻辑关联所述多维度数据的数据链接。在一个实施例中,所述对加工后的多维度数据进行处理以生成矩阵新维度数据,包括:对所述多维度数据进行压缩聚合;对已压缩聚合的多维度数据进行优化;将优化后的多维度数据存放至预建立的数据结构模型中以生成矩阵新维度数据。在一个实施例中,所述对所述矩阵新维度数据进行过滤以得到万级维度数据,包括:计算所述矩阵新维度数据中的若干个统计量;根据所述统计量对所述矩阵新维度数据进行分析;根据分析结果去除所述矩阵新维度数据的边缘性数据;获取处理后的数据并作为所述万级维度数据。在一个实施例中,还实现以下步骤:根据预设数据分类算法对所述矩阵新维度数据进行分类。本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等各种可以存储计算机程序代码的介质。本发明所有实施例中的单元可以通过通用集成电路,例如cpu(centralprocessingunit,中央处理器),或通过asic(applicationspecificintegratedcircuit,专用集成电路)来实现。本发明实施例万级维度数据生成方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例万级维度数据生成装置中的单元可以根据实际需要进行合并、划分和删减。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1