APP下载

基于大数据的数据处理方法研究

2014-07-13许超超

电脑知识与技术 2014年5期
关键词:预处理大数据

基于大数据的数据处理方法研究

许超超

(浙江烟草公司 台州市公司,浙江 台州 318000)

摘要:针对大数据处理效率低问题,该文提出了新的处理办法。其基本思想是利用预处理方法和历史查询结果作为中间结果集,通过对中间集的匹配减少重复处理时间,提高处理效率。最后通过仿真实验对比分析,表明新方法能够一定程度上提高数据处理效率。

关键词:大数据;预处理;历史查询

中图分类号:TP311 文獻标识码:A 文章编号:1009-3044(2014)05-0894-03

Data Processing Method Based on Large Date

XU Chao-chao

(Taizhou Company of Zhejiang Tobacco Company, Taizhou 318000,China)

Abstract: Due to the low efficiency in large data processing, this paper proposes a new approach, that basic idea is using preprocessing methods and historical query results as an intermediate result set, matching by the middle set, to reduce the time on duplication processing and improve processing efficiency. Finally, simulation experiments comparative analysis shows that the new method can improve the efficiency of data processing.

Key words: big data; preprocessing; history query

1 概述

随着无纸化电脑办公的不断普及,越来越多的数据被个人、企业和机器所产生,以TB或PB级别保存于存储中,数据量直线上升。传统的数据处理主要是对数据库的直接操作,随着数据量的急剧增加,处理效率将急剧下降。与此同时,有效的数据,正确的数据结果已成为企业竞争的核心因素之一。因此,所有这些对大数据的处理能力和效率提出了更高的要求。

为了更好的处理这些大数据,许多机构与公司开发了相应的新技术和新架构,主流思想是基于并行编程框架,以并行处理来提高数据处理效率,如MapReduce[1]通过机器线性扩张线性增加并行计算能力,MapReduce-Merge在MapReduce基础上增加数据合并,YARN解决并行共享槽瓶颈。此外也产生了其他的编程模型,如提高迭代计算能力的Twister[3]和Haloop[2],提高对图计算的Pregel,但这些编程模型也是基于对MapReduce的改进,基础依然是并行处理。

虽然针对大数据的并行处理,但处理TB级的大数据,如统计分析,依然需要花费很长时间,消耗很大的机器性能,这对企业交互式数据操作,依旧很难满足即时需求。针对这种情况,该文设计了一种基于大数据的数据处理方法,通过历史处理结果和预处理结果为中间结果集,减少数据重复处理,提高数据处理效率,为大数据的即时处理提供一种新思路和方法。

2 基于大数据的数据处理框架

图1是基于大数据的数据处理框架。该框架主要依据用户的查询请求,依据查询条件首先在历史查询集中匹配是否有相同或部分相同的查询,若有,确认历史查询集中的数据处理集是否都来自结果集,若是,直接返回结果,通过减少对数据的重复处理,从而减少时间消耗。

其中,历史查询集是对历史上用户某段时间数据查询时数据预处理结果,其结果包含两份分别存于预结果集和结果集。预结果集和结果集时间单位里的数据预处理结果,不过,预结果集表示有可能存在更新的最小时间单位数据预处理集合,而结果集表示不再变更的数据预处理集合,预处理结果粒度大小不一。工作流程如下所示:

1)用户提交新的查询请求S;

2)对查询请求条件与历史查询集进行匹配,匹配结果有三种:

① 匹配,历史曾经有相同的查询,直接返回数据预处理结果集合;

② 包含匹配,调用历史结果集中的数据预处理结果集合,对超出的部分从预结果集和结果集中进行重新匹配;

③ 不匹配,直接在结果集和预结果集中进行匹配查询,若是依然没有匹配的结果,执行新的查询操作,结果放入预结果集或结果集。

3)若数据处理集有来自预结果集,对来自预结果集的数据处理进行更新,若预处理的结果变为不再变更,转入结果集中。

4)对数据处理集合并处理,形成结果R,依据具体请求进行相关处理,将结果返回给用户。

5)若是结果R不是完全匹配得出的结果,将结果R更新到历史查询集中。

3 基于大数据的数据处理框架关键技术

基于大数据的数据处理框架的关键技术有查询请求与历史查询匹配方法、预结果集更新、转入结果集方法。

3.1 查询请求与历史查询匹配方法

数据预处理结果主要要素有时间、数据源,是基于时间单位的粒度式数据处理结果,如图2所示,它为企业的数据统计分析奠定快速反应的基础。

图2 数据预处理结构

因此查询请求与历史查询匹配以两者为匹配要点。匹配算法为:

输入:查询请求Requst={Ts,Ds},历史查询集

输出:预处理结果集合Result

算法基本思想:

1)找到与查询请求数据源相同的数据库表集合T,T=Ts;

2)查找该表集合T下包含处理时间或是相同时间的历史查询记录,D={D=Ds or Ds ∈ D};

3)若是Ds不包含D,跳转结果集R匹配算法;

4)若是D=Ds,从结果集S和预结果集U中得到相应的预处理结果Result={r1,u1|r1∈R,u1∈U},結束算法;

5)若是Ds ∈ D,重复步骤4);

6)同时,D=Ds-D,重复步骤3)。

3.2 预结果集更新、转入结果集方法

数据预处理主要分为两大类,一是不再变更,客观存在的数据预处理,如几年前的销售数据,其保存在结果集中,二是存在变更的数据预处理,如近期的销售数据,可能会存在更新等情况,此类数据预处理以最小时间单位形式放入预结果集中,但在一定的规则下,如时间限制、产品停用等可转变为不可变更的数据预处理,转入结果集。

假设是对当月的淘宝销售数据预统计,因为当月的数据将会因为退货、货源不足等原因影响销售数据,故对当月的销售数据预处理结果将会存于预结果集中,但淘宝的当月订单状态结束状态时,更新包含该订单销售数据预处理集合,那么在对当月数据预处理后,其处理结果是不在变更的,将其转入到结果集中,减少不必要的数据处理,并在一定程度上保证数据的准确性。

4 仿真实验

4.1 实验环境

以Windows Server 2003为实验环境,Oracle 11g 为数据库,以现有营销系统的销售数据为数据源,采用本文提出的方法对销售数据按最小周期(5天)、月、季度、年的方式进行预处理。以月为预结果集转入结果集的规则。

4.2 对比方法

本实验将用现有的营销系统和新的统计系统对比统计销售数据所花费的时间和数据的准确性。具体设计以下比较方法。

1)最近一个周期某产品的销售量统计对比。在一周期内每日进行数据查询,对比每次花费的时间和数据的准确性。

2)时间段某产品销售量统计对比。进行多个时间段(周期,月,季度)数据查询,对比每次花费的时间和数据的准确性。

4.3实验结果分析

1) 最近一个周期某产品的销售量统计对比

图3 周期查询消耗时间 图4 周期查询数据准确率

图3和图4表明两个系统查询消耗时间差不多,新系统只是略少于原系统,但准确率一样,都为100%。这是因为查询的数据源是查询当天产生的数据,前几天的数据进行预处理,结果存于预结果集中,每次都查询都会进行前几天的数据更新,消耗大部分查询时间.但是因为数据实时更新,故两个系统数据准确率是相同的。

2)时间段某产品销售量统计对比

图5 时间段查询消耗时间 图6 时间段查询准确率

图5和图6表明两系统在时间段产品销售量查询时间新系统远小于原系统,但在准确率上有一定的降低.这是因为新系统对一个月以前的数据进行了预处理,并保存在结果集中。查询月以上周期的销售量时,不用重新到数据库中查询,故时间大幅度减少.但因为现有数据库操作是更新操作,若是订单的更新是超过一个月后更新的话,变更数据会被忽略,属异常个别情况。若采用销售数据变更采用云数据库等追加方式,则准确率上可得到解决。

5 总结

本文针对大数据处理效率低问题,提出了新的处理办法。该方法的主要思想是利用预处理方法和历史查询结果作为中间结果集,通过对中间集的匹配减少重复处理时间,提高处理效率。仿真实验对比分析表明新方法能够一定程度上提高数据处理效率。为进一步提高数据处理能力,未来的工作还需改善数据准确率以及数据更新计算。

参考文献:

[1] Dean J,Ghemawat S.MapReduce : Simplified data processing on large cluster[C]// Brewer E,Chen P, eds. Proc. Of the OSDI. California:USENIX Associasion,2004:137-150.

[2] Bu Y Y,Howe B.Balazinskska M,et al.HaLoop: Efficient iterative data processing on large clusters [J].PVLDB2010,2010,3(1/2):285-296.

[3] Ekanayake J,Li Hui,Zhang Bing-jing, et al. Twister: A Runtime for Iterative MapReduce[C] //The First International Workshop on MapReduce and its applications(MAPREDUCE10),2010:110-119.

[3] 杨艺,周元.基于用户查询意图识别的Web搜索优化模型[J].计算机科学,2012,39(1):264-267.

[4] 尤川川,张桂刚.一种基于大数据的有效搜索方法[J].计算机科学,2013,40(6):183-186.

[5] 郭建波.海量结构化大数据存储检索系统探讨[J]. SOFTWARE,2013.34(2):95-96.

[6] 程学旗,王元卓.大数据计算的技术体系域引擎系统[J].高科技与产业化,2013(5).204:62-65.

[7] 李超.大数据存储检索分析与应用[J].云计算数据中心,2010(9).

猜你喜欢

预处理大数据
基于预处理MUSIC算法的分布式阵列DOA估计
大数据环境下基于移动客户端的传统媒体转型思路
基于大数据背景下的智慧城市建设研究
数据+舆情:南方报业创新转型提高服务能力的探索
浅谈PLC在预处理生产线自动化改造中的应用
络合萃取法预处理H酸废水
PMU数据预处理及压缩算法
基于自适应预处理的改进CPF-GMRES算法
以转炉为预处理炉冶炼不锈钢的特点