一种云计算环境下的数据在线聚集方法

文档序号:6535671阅读:302来源:国知局
一种云计算环境下的数据在线聚集方法
【专利摘要】本发明涉及一种云计算环境下的数据在线聚集方法,其包括以下步骤:在应用接口层,SQL接口模块根据用户需求设定SQL查询语句Q,并传输至查询处理层;语法分析模块对接收到的查询语句Q进行解析,并将解析结果传输至MapReduce在线化执行计划模块;解析得到的查询语句Q是针对单表的查询,则MapReduce在线化执行计划模块启动一个MapReduce作业,解析得到的查询语句Q是针对多表的查询,则MapReduce在线化执行计划模块启动两个MapReduce作业,根据接收到的一个或两个MapReduce作业,在线聚集处理层对查询语句Q的查询请求进行处理,并将处理结果传输至应用接口层进行显示。本发明可以广泛应用于云计算环境中。
【专利说明】一种云计算环境下的数据在线聚集方法
【技术领域】
[0001]本发明涉及一种数据在线聚集方法,特别是关于一种云计算环境下的数据在线聚集方法。
【背景技术】
[0002]在线聚集由Hellerstein等人最早提出,最早的在线聚集研究主要关注关系数据库中单表在线聚集的实现问题。随后该问题在关系数据库领域得到了一定程度的研究。Haas等人对Hellerstein的工作进行了扩展,提供了基于大样本的置信区间和确定性置信区间的计算方法。针对多表连接的在线聚集,Haas等人给出了一系列波纹连接算法。波纹连接基于离线查询处理中的嵌套连接和哈希连接设计,其目的是在保证增量计算的前提下尽快得到估计结果。Luo等人通过并行化采样过程和查询处理过程对波纹连接算法进行了改进,提高了置信区间的收敛速度。然而,当总体数据的分布情况无法得到或者内存溢出时,该算法无法给出具有统计意义的置信区间。为了解决该问题,Jermaine等人将传统的排序-合并连接算法同波纹连接算法进行结合,并在查询处理过程中增加了一个收缩的处理模块用于更新估计结果。Wu等人将在线聚集问题扩展到分布式环境中,并给出了相应的统计计算方法。
[0003]上述研究工作均在关系数据库领域进行,在云计算环境中的在线聚集实现技术目前也有部分相关工作。H0P(Hadoop Online Prototype)系统将Hadoop中的MapReduce(一种编程模型)处理过程流水线化,允许消费操作在生产操作完成之前对已有的数据进行处理。HOP能够在MapReduce作业执行过程中不断提供数据处理结果的快照,并通过作业的执行进度直接对快照进行扩展来实现对聚集结果的估计,但是没有提供结果的置信区间。Pansare等人提出了一种基于贝叶斯理论实现在线聚集的方法,该方法考虑每个数据块的聚集值和该数据块处理时间的关系,将数据块的聚集值及其调度时间和处理时间一起进行统计建模。该方法假设数据块的处理时间越长,其聚集值也越大,然而,这个假设并不是在所有的聚集操作中均成立,而且实现方法也比较复杂。除此以外,它只解决了由一个MapReduce作业构成的单表在线聚集问题,而没有考虑基于多个MapReduce作业的多表连接在线聚集实现。

【发明内容】

[0004]针对上述问题,本发明的目的是提供一种能够实现单表和多表在线聚集的云计算环境下的数据在线聚集方法。
[0005]为实现上述目的,本发明采取以下技术方案:一种云计算环境下的数据在线聚集方法,其包括以下步骤:I)在线聚集系统中,在应用接口层设置SQL接口模块和结果显示模块,在查询处理层设置语法分析模块和MapReduce在线化执行计划模块,在在线聚集处理层设置数据采样模块、聚集结果估算模块和置信区间计算模块,在数据存储层设置若干数据存储器;2)在应用接口层,SQL接口模块根据用户需求设定SQL查询语句Q,并将查询语句Q传输至查询处理层;3)语法分析模块对接收到的查询语句Q进行解析,并将解析结果传输至MapReduce在线化执行计划模块;解析结果包括查询语句Q所涉及的数据、查询谓词、聚集操作类型以及查询语句Q是针对单表还是多表的查询;如果查询语句Q是针对单表的查询,则MapReduce在线化执行计划模块启动一个MapReduce作业,执行步骤4);如果查询语句Q是针对多表的查询,则MapReduce在线化执行计划模块启动两个MapReduce作业,执行步骤5) ;MapReduce在线化执行计划模块将启动的MapReduce作业传输至在线聚集处理层;4)在线聚集处理层对数据存储层的数据进行采样,在线聚集处理层根据采样数据对接收到的一个MapReduce作业进行处理,并将处理结果传输至应用接口层进行显示;5)在线聚集处理层对数据存储层的数据进行采样,在线聚集处理层根据采样数据对接收到的两个MapReduce作业进行处理,并将处理结果传输至应用接口层进行显示。
[0006]所述步骤4)中,在线聚集处理层根据采样数据对接收到的一个MapReduce作业进行处理,其包括以下步骤:(I)利用简单随机采样方法,数据采样模块对数据存储器中的源数据进行块级别的随机采样,采样得到的数据块传输至MapReduce作业计算模块中;(2)MapReduce作业计算模块对接收到的数据块进行计算,得到采样数据块中变量的标准差σ η和统计函数eXpp(Bi),并将标准差ση和统计函数Mpp(Bi)分别传输至置信区间计算模块和聚集结果估算模块;(3)根据接收到的统计函数exPp(Bi),聚集结果估算模块利用式
[0007]
【权利要求】
1.一种云计算环境下的数据在线聚集方法,其包括以下步骤: 1)在线聚集系统中,在应用接口层设置SQL接口模块和结果显示模块,在查询处理层设置语法分析模块和MapReduce在线化执行计划模块,在在线聚集处理层设置数据采样模块、聚集结果估算模块和置信区间计算模块,在数据存储层设置若干数据存储器; 2)在应用接口层,SQL接口模块根据用户需求设定SQL查询语句Q,并将查询语句Q传输至查询处理层; 3)语法分析模块对接收到的查询语句Q进行解析,并将解析结果传输至MapReduce在线化执行计划模块;解析结果包括查询语句Q所涉及的数据、查询谓词、聚集操作类型以及查询语句Q是针对单表还是多表的查询; 如果查询语句Q是针对单表的查询,则MapReduce在线化执行计划模块启动一个MapReduce作业,执行步骤4);如果查询语句Q是针对多表的查询,则MapReduce在线化执行计划模块启动两个MapReduce作业,执行步骤5);MapReduce在线化执行计划模块将启动的MapReduce作业传输至在线聚集处理层; 4)在线聚集处理层对数据存储层的数据进行采样,在线聚集处理层根据采样数据对接收到的一个MapReduce作业进行处理,并将处理结果传输至应用接口层进行显示; 5)在线聚集处理层对数据存储层的数据进行采样,在线聚集处理层根据采样数据对接收到的两个MapReduce作业进行处理,并将处理结果传输至应用接口层进行显示。
2.如权利要求1所述的一种云计算环境下的数据在线聚集方法,其特征在于:所述步骤4)中,在线聚集处理层根据采样数据对接收到的一个MapReduce作业进行处理,其包括以下步骤: (1)利用简单随机采样方法,数据采样模块对数据存储器中的源数据进行块级别的随机采样,采样得到的数据块传输至MapReduce作业计算模块中; (2)MapRedUCe作业计算模块对接收到的数据块进行计算,得到采样数据块中变量的标准差ση和统计函数exPp(Bi),并将标准差ση和统计函数MPp(Bi)分别传输至置信区间计算模块和聚集结果估算模块; (3)根据接收到的统计函数exPp(Bi),聚集结果估算模块利用式
3.如权利要求2所述的一种云计算环境下的数据在线聚集方法,其特征在于:所述步骤(2)中,MapReduce作业对接收到的数据块进行计算,其具体包括以下步骤:①根据解析结果中的查询谓词,Map阶段的Map函数过滤采样得到的数据块中的元组,并将过滤后得到的元组t转化成键-值对,设置元组t的分组属性值为键,设置基于元组t的操作值expp(t)为值; ②在每个采样得到的数据块中,将属于同一个分组的若干键-值对累加形成一个键-值对,合并输出一个由两个双精度数值构成的结构体; ③将所有属于同一个分组的键-值对传输至同一个reduce函数上;每当估计操作被触发时,reduce函数就开始执行,计算得到给定样本中变量的标准差ση和统计函数expp (Bi)。
4.如权利要求1或2或3所述的一种云计算环境下的数据在线聚集方法,其特征在于:所述步骤5)中,在线聚集处理层根据采样数据对接收到的两个MapReduce作业进行处理,其具体包括以下步骤: (1)利用两阶段分层采样方法,数据采样模块对数据存储器中的源数据进行采样,并将采样得到的数据传输至MapReduce作业计算模块中; (2)MapReduce作业计算模块32根据接收到的两个MapReduce作业,启动负责表的连接操作的任务Jobl和负责复杂聚集操作的任务Job2 ; (3)在MapReduce作业计算模块中,通过任务Jobl对接收到的采样数据进行连接操作; (4)与步骤4)中查询方式相同,任务Job2对查询语句Q完成聚集查询,利用得到的给定样本中变量的标准差σ n和统计函数expp (Bi),根据式
5.如权利要求4所述的一种云计算环境下的数据在线聚集方法,其特征在于:所述步骤(I)中,利用两阶段分层采样方法,数据采样模块对数据存储器中的源数据进行采样,其具体包括以下步骤: ①在负责连接操作的MapReduce作业的Map任务之前,数据采样模块对数据存储器中的源数据进行第一阶段的采样; ②Map任务对第一阶段的采样数据进行处理后,为了保证具有相同连接键值的元组会被分配到同一个reduce任务中处理,根据接键-值进行重分区; ③在负责连接操作的MapReduce作业的reduce任务之前,数据采样模块对步骤②处理后的第一阶段的采样数据进行采样。
【文档编号】G06F17/30GK103699696SQ201410015579
【公开日】2014年4月2日 申请日期:2014年1月13日 优先权日:2014年1月13日
【发明者】孟小峰 申请人:中国人民大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1