数据处理系统和方法

文档序号:9453058阅读:915来源:国知局
数据处理系统和方法
【技术领域】
[0001] 本公开的实施例一般地涉及数据处理的系统和方法。本公开的实施例尤其涉及用 于在MapReduce环境(例如,Apache?Hadoop!)中处理数据的系统和方法。
【背景技术】
[0002] 随着诸如云计算、社交媒体、电子商务和物联网等趋势的广泛兴起,大量数据随之 产生。
[0003] 大数据是来自方方面面,可以是生活中的购物交易,也可以是工业上的生产制造; 从社交网络媒体信息,到在线视频图像资料;从企业的信息管理系统,到政府部门的电子政 务,都有着大量的数据产生。
[0004] 例如,当今,成万上亿计的网络传感器被嵌入到现实世界的各种设备中,如移动电 话、智能电表、汽车和工业机器中,用来感知、创造并交换数据,无处不在的传感网络带来了 无处不在的数据。
[0005] 可是,当前的数据技术和算法大部分都是针对单机数据处理的,不能满足日益增 长的数据处理需求。

【发明内容】

[0006] 本发明目的是解决上述问题中的一个或多个。
[0007] 根据一个方面,本发明提出一种用于对数据进行处理的方法,包括:
[0008] 通过特征提取对所述数据进行结构化;以及
[0009] 通过多个映射任务和多个化简任务对结构化后的数据进行并行处理,
[0010] 其中所述多个映射任务和多个化简任务中的至少一个任务处理的数据被复制到 多个计算设备上,每个计算设备只对复制数据的一部分进行处理。
【附图说明】
[0011] 从下面结合附图对本发明的【具体实施方式】的描述中可以更好地理解本发明,其 中:
[0012] 图1示出根据本发明的一个示例性实施例的数据处理方法的流程图;
[0013] 图2示出用于实现本公开中描述的方法的一个实例计算设备。
【具体实施方式】
[0014] 下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多 具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是, 本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅 是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提 出的任何具体配置,而是在不脱离本发明的精神的前提下覆盖了相关元素或部件的任何修 改、替换和改进。
[0015] 图1示出根据本发明的一个示例性实施例的数据处理方法的流程图。
[0016] 通过云计算、社交媒体、电子商务和物联网等产生的大量数据一般作为原始数据 存储在数据库中。这些数据例如可以是文档、视频、图像等等,它们是数据处理所针对的对 象。
[0017] 根据本发明的示例性实施例,首先在步骤S101对数据库中的原始数据进行数据 预处理。数据预处理例如可以包括调节图像大小、去除噪声、背景差分等,数据预处理还可 以包括去除私密数据以及清除明显无关的数据。
[0018] 接下来,在步骤S102对预处理之后的数据进行特征提取。通过特征提取,对数据 库里面的数据对象采用特征向量或特征矩阵等数据结构进行描述。这是一个非结构化向结 构化转化的处理过程。
[0019] 为了构造数据结构要为数据库中的对象选择感兴趣的特征。例如,当数据对象是 电影时,可以使用电影名称、上映时间、放映次数、观众人数、电影票价等特征表示对象电 影,这些特征构成电影对象的特征向量。当数据对象是图像时,可以使用颜色特征、纹理特 征、形状特征、空间关系特征等表示,这些特征构成图像对象的特征向量。
[0020] 文档指文本或文本中的片段,例如一片文章。词语是组成文档的基本元素。在不 同内容的文档中,各词语出现频率有一定的规律性,不同的特征词语可以区分不同内容的 文档,这些特征词语构成特征向量,用这个特征向量表示文档。
[0021] 由于数据千差万别,各特征的作用不同,因此还要对不同的特征起的不同作用赋 值,即赋予权重。赋予权重例如可以运用统计学的方法。
[0022] 根据本发明的可选实施例,可以以数据矩阵的形式表示多个数据对象A,例如 nXm矩阵,即n个对象,每个对象都有m维特征,矩阵中的元素Xlj表示对象A中特征&的 值(例如中特征匕的权重值),其中,其中i大于等于1且小于等于n,j大于等于1且小于 等于m。每个对象1^有111维特征。
[0023] 根据本发明的示例性实施例,上述数据矩阵为向量矩阵,也就是说,矩阵中的每行 构成一个特征向量,每个特征向量表示一个对象,矩阵具有n行也就表示n个对象。
[0024] 根据本发明的一个示例性实施例,为了使运算方便,可以将这些权重值映射到[0, 1]区间,即标准化。而根据本发明的另一些实施例,不进行标准化。
[0025] 下面的表1给出了数据矩阵的一个例子,该数据矩阵例如可以用来计算用户(即 对象)喜好相似度。用户U1喜欢科幻、喜剧、和动画类视频。用户U2喜欢科幻、喜剧、和恐 怖类视频。用户U3喜欢科幻类视频。用户U4喜欢科幻类视频。用户U5喜欢喜剧类视频。 可以构造如表1所示的数据矩阵以计算用户喜好相似度。其中特征F1表示科幻类视频,特 征F2表示喜剧类视频,特征F3表示动画类视频,特征F4表示恐怖类视频。
[0026]
[0027]
[0028] 表 1
[0029] 上述表1中,如果用户喜欢某一类视频,用权重值1表示,否则用权重值0表示。
[0030] 还可以构造表示用户的特征向量Xu;,例如,用户U1的特征向量是Xm = {1,1,1, 0),用户1]2的特征向量是父。2={1,1,0,1)。
[0031] 下面的表2给出了文档的特征矩阵,该特征矩阵可以用于计算例如文档之间的相 似度。表2中,特征F1. . . .F13表示词语,有U1到U12共12个文档(即对象)。其中的数 字代表词语在文档中的权重,权重与词语在文档中出现的频率成正比。表2中空白的表格 代表0,即对应的词语在相应的文档中没有出现。
[0032]
[0033]表2
[0034] 接下来,在步骤S103,挑选出比较有效的特征,舍弃其他特征,以达到降低特征空 间维数的目的,这个过程叫做特征选择。特征选择主要用于排除无关或者关联性不大的特 征,以减小计算量。
[0035] 例如,表示文档的特征向量通常会达到数十万维的大小,其中不少特征未必是必 要的。未经处理的文本向量会给后继的处理工作带来巨大的计算开销,因此,减少维数至关 重要。这往往决定了数据处理的效率。
[0036] 可以用数学的方法进行筛选来找出有价值的特征。例如,可以设置一阈值,如果一 个特征的值对于所有对象都小于该阈值,舍弃该特征。
[0037] 接下来,在步骤S104,执行并行计算。
[0038] 通常,例如相似度计算时,可以使用向量的内积来表示相似度,即向量和Xut的 内积等于XuXxg对j从1到m求和,其中m表示特征的维数。当向量矩阵没有归一化时, 求出的和通常再除以向量和Xut的绝对值的乘积。通过改变i,t的值,可以求出所有对 象间的相似度。
[0039] 在对象数目比较小的时候,一般的计算机内存可以完全载入这些向量,可以很快 的计算;但是当对象数目变大到一定程度,程序就会运行的很慢,一是因为内存不能装载 下,不停的内存换入换出十分耗时,二是因为对象数目变大会导致程序所需时间成立方级 增长。为了解决这一问题,本发明采用并行处理。根据本发明的一个示例性实施例,并行处 理例如可以采用MapReduce(映射-化简)平台进行。步骤S103中得到的结构化的数据(例 如向量矩阵)可以作为MapReduce平台的输入。输入数据被切分到集群的不同节点(一个 节点是一台普通的计算机)上,在这些节点上并行执行map(映射)计算任务,map计算任 务从输入数据中抽取出键值对((key,value)),生成做为中间结果的键值对,然后这些中间 结果又由大量的节点并行执行Reduce(化简)计算任务。共享同一个键(key)的值对由同 一个Reduce来处理。MapReduce中使用的键值对中的键例如可以是向量矩阵中的特征,而 值是向量矩阵中的权重值。
[0040] 根据本发明的另一个可选实施例,数据的并行处理包括多个MapReduce过程(例 如两个MapReduce过程),一个M
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1