一种基于格式数据集的分布式数据存储与计算方法

文档序号:6527072阅读:114来源:国知局
一种基于格式数据集的分布式数据存储与计算方法
【专利摘要】本发明涉及计算机【技术领域】,本发明采用一种基于格式数据集的分布式数据存储与计算方法,包括:将计算统计的过滤条件转换为一个规则集;根据规则集,将原始无序的数据记录转换为格式数据集;将转换后的格式数据集进行存储;基于存储的格式数据集,执行统计计算。本发明可以极大地缩短海量数据的统计计算时间,并且易于计算规模的扩展,能够有效地应对数据的多样性和异常数据。
【专利说明】一种基于格式数据集的分布式数据存储与计算方法【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及一种基于格式数据集的分布式
[0002]据存储与计算方法。
【背景技术】
[0003]随着大数据时代的到来,数据以爆炸式方式地增长,海量数据的计算不但可以服务社会或者企业的各个方面,为公众的生活和企业的运营决策提供服务。而海量数据的有效利用很大程度上取决于对这些数据的有效存储和快速计算,在通常情况下,数据的时效性非常强,如果不能在可以忍受的时间内完成数据计算并得到可靠的计算结果,那么数据的价值将会极大地降低。因此如何海量数据的有效计算成为了当前大数据研究的一个热门课题。
[0004]当前,海量数据的统计计算不但受到了存储介质的读写性能的影响,集群节点之间数据传输性能的影响,而且受制于计算的计算能力,总结起来有以下特点:1、数据量巨大,由于数据的维度、范围、量级都不受限制,因此数据常常是TB级,甚至PB级。2、异常数据复杂,数据源多样,且数据收集收到了设备缺陷、或者网络信号等多种客观并且不可预知的因素的影响,导致数据中存在大量不可预知的数据,异常数据的种类繁多。3、统计要求的条件多样,常常夹杂着需要进行动态计算的过滤条件,导致计算复杂度高。
[0005]现有的方法通常是采用传统的关系数据库,基于SQL语言来进行计算,导致计算复杂度高,SQL脚本编写困难,无法应对海量数据和复杂的异常数据。

【发明内容】

[0006]本发明采用一种基于格式数据集的分布式数据存储与计算方法,极大地缩短了海量数据的统计计算的时间,易于计算规模的扩展,并且能够有效地应对数据的多样性和异常数据。
[0007]本发明采用如下方案:
[0008]一种基于格式数据集的分布式数据存储与计算方法,用于快速执行统计计算,包括:
[0009]将计算统计的过滤条件转换为一个规则集;
[0010]根据所述规则集,将原始无序的数据记录转换为格式数据集;
[0011]将转换后的格式数据集进行存储;
[0012]基于存储的格式数据集,执行统计计算。
[0013]优选地,所述过滤条件包括不同记录条件的点过滤条件和范围过滤条件。
[0014]优选地,所述将原始无序的数据记录转换为格式数据集,包括:
[0015]根据所述规则集,将原始无序的数据记录划分为具有不同属性的集合;
[0016]格式数据集中的每一个元素为一个格式对,对于一个格式数据对来说,格式数据为一组特定的属性值,数据集为满足该组特定属性值,且按其中某些属性值进行排序的数据记录的集合;
[0017]点过滤条件的记录属性和范围过滤条件中的记录属性,过滤掉原始数据集中无法推导出所涉及属性值的数据记录,形成格式数据集;
[0018]优选地,所述转换后的格式数据集通过分布式存储方法进行存储。
[0019]优选地,所述基于存储的格式数据集,执行统计计算,包括:
[0020]先执行点过滤过程:对于格式数据集中的每个格式数据对,检查其格式数据对中的格式数据描述的属性值,并以此过滤掉不符合点过滤条件的格式数据对,剩下的格式数据对组成中间结果数据集;对于中间结果数据集中的每个格式数据对,对数据集中的数据记录进行所需要的统计计算,然后检查计算结果,依据点过滤条件过滤格式数据对,剩下的格式数据对组成中间结果数据集;
[0021]然后执行范围过滤:对于中间结果数据中的每个格式数据,使用二分查找算法,找到数据集中的一组满足范围过滤条件的数据记录,组成中间结果数据集;中间结果数据集中的所有格式数据集就是满足要求的点过滤条件和范围过滤条件的数据记录;对中间数据集中的每个格式数据集中的数据记录执行指定的计算操作,输出结果。
[0022]优选地,所述统计计算采用分布式计算来执行点过滤过程、范围过滤过程,统计计算,分布在不同的计算节点并行执行。
[0023]本发明公开的一种基于格式数据集的分布式数据存储于计算方法,通过将计算统计的过滤条件转换为一个规则集;根据规则集,将原始无序的数据记录转换为格式数据集;将转换后的格式的数据集进行存储;基于存储的格式数据集,执行统计计算。极大地缩短了海量数据的统计计算的时间,易于计算规模的扩展,并且能够有效地应对数据的多样性和异常数据。
【专利附图】

【附图说明】
[0024]图1为本发明实施例1提供的一种基于格式数据集的分布式数据存储于计算方法的流程图;
[0025]图2为本发明实施例1统计计算需求的条件;
[0026]图3为本发明实施例1统计计算项。
【具体实施方式】
[0027]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0028]本发明实施例提供了一种基于格式数据集的分布式数据存储与计算方法,包括:
[0029]将计算统计的过滤条件转换为一个规则集;
[0030]根据所述规则集,将原始无序的数据记录转换为格式数据集;
[0031 ] 将转换后的格式数据集进行存储;
[0032]基于存储的格式数据集,执行统计计算。
[0033]本发明实施例实现了基于格式数据集的分布式数据存储与计算。且能够极大地缩短了海量数据的统计计算的时间,易于计算规模的扩展,并且能够有效地应对数据的多样性和异常数据。下面对本发明进行详细阐述。
[0034]实施例1:
[0035]请参阅图1所示,为本发明一种基于格式数据集的分布式数据存储与计算方法流程图。该方法包括下述步骤:
[0036]有一个原始无序的数据集,每一个数据项为一个出租车交易记录,包括:号牌号码、经度、纬度、汇报时间、车辆状态、车牌种类、上车时间、下车时间、营业里程、计时时间、消费金额、空驶里程、所属出租车公司。
[0037]统计计算需求的条件如图2所示,点过滤条件有:出租车类型、交易日期类型、所属出租车公司、单次交易营运时间、单次交易营运里程、单车单天营运交易数、单车单天营运金额、单车单天行驶里程。其中,有记录属性与之直接对应的点过滤条件有:出租车类型、交易日期类型、所属出租车公司、单次交易营运时间、单次交易营运里程;没有记录属性与之直接对应的点过滤条件有:单车单天营运交易数、单车单天营运金额、单车单天行驶里程。范围过滤条件有:营业日期范围。
[0038]统计计算项如图3所示,包括:平均营业里程、平均空闲里程、平均行驶里程、平均营业金额、平均营业次数、平均里程利用率。
[0039]S1、将计算统计的过滤条件转换为一个规则集。
[0040]遍历原始数据集,过滤掉无法推导出点过滤条件和范围过滤条件的交易记录。
[0041]S2、根据规则集,将原始无序的数据记录转换为格式数据集。
[0042]首先,以出租车类型、交易日期类型、所属出租车公司、单次交易营运时间、单次交易营运里程等组成格式数据,把原始数据集划分为格式数据集,不同格式数据值的交易记录存放在不同的数据中,于是原始数据集被转换为格式数据集TmpSetA。
[0043]然后,对于TmpSetA中的每个格式数据对,使用数据集中的所有交易记录,计算单车单天营运交易数、单车单天营运金额及单车单天行驶里程,并把计算结果放入格式数据中,生成新的格式数据集TmpSetB。
[0044]接下来,对于营业日期范围,针对TmpSetB中的每个格式数据对其中的所有交易记录,按营业日期排序,生成新的格式数据集TmpSetC。
[0045]S3、将转换后的格式数据集进行存储。
[0046]把格式数据集TmpSetC分布在不同的计算节点上进行存储,且格式数据集TmpSetC中的每个格式数据对是不可分割的。
[0047]S4、基于存储的格式数据集,执行统计计算。
[0048]假定有一个查询请求:出租车类型=红的、交易日期类型=工作日、所属出租车公司=公司A、单次交易营运时间={7,12}、单次交易营运里程〈100km、单车单天营运交易数={100,200}、单车单天营运金额>800、单车单天行驶里程>200km、营业日期范围= {2012-02-01, 2012-03-15}。
[0049]执行查询时,不同的计算节点只针对存储在本地的格式数据集TmpSetC的子数据集进行计算。
[0050]所以,对于一个计算节点执行以下过程:
[0051]首先,对于本地的格式数据集TmpSetC子数据集,根据条件:出租车类型=红的、交易日期类型=工作日、所属出租车公司=公司A、单次交易营运时间={7,12}、单次交易营运里程〈100km},仅保留符合该条件的格式数据对,生成中间数据集TmpDatal。
[0052]其次,对于中间数据集TmpDatal中的每个格式数据对中的数据记录,计算单车单天营运交易数、单车单天营运金额、单车单天行驶里程,仅保留单车单天营运交易数= {100, 200}、单车单天营运金额>800、单车单天行驶里程>200km的格式数据对,生成中间数据集TmpData2。
[0053]再次,对于范围过滤条件(营业日期范围={2012-02-01,2012-03-15}),使用二分查找算法对中间数据集TmpData2中每个格式数据对的交易记录进行处理。由于每个格式数据对的交易记录已经针对营业日期进行了排序,因此只需进行两次查找就可以找到所有符合该范围过滤条件的交易记录,生成最终结果数据集TmpData3。
[0054]最后,对于最终结果数据集TmpData3中每个格式数据对的交易记录,计算平均营业里程、平均空闲里程、平均行驶里程、平均营业金额、平均营业次数、平均里程利用率,生成最终统计计算结果输出。
[0055]以上所述本发明的【具体实施方式】,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
【权利要求】
1.一种基于格式数据集的分布式数据存储与计算方法,用于快速执行统计计算,其特征在于,包括: 将计算统计的过滤条件转换为一个规则集; 根据所述规则集,将原始无序的数据记录转换为格式数据集; 将转换后的格式数据集进行存储; 基于存储的格式数据集,执行统计计算。
2.根据权利要求1所述的方法,其特征在于,所述过滤条件包括不同记录条件的点过滤条件和范围过滤条件。
3.根据权利要求2所述的方法,其特征在于,所述将原始无序的数据记录转换为格式数据集,包括: 根据所述规则集,将原始无序的数据记录划分为具有不同属性的集合; 格式数据集中的每一个元素为一个格式对,对于一个格式数据对来说,格式数据为一组特定的属性值,数据集为满足该特定属性值的数据记录的集合; 点过滤条件的记录属性和范围过滤条件中的记录属性,过滤掉原始数据集中无法推导出所涉及属性值的数据记录,形成格式数据集。
4.根据权利要求1所述的方法,其特征在于,所述转换后的格式数据集通过分布式存储方法进行存储。
5.根据权利要求1所述的方法,其特征在于,所述基于存储的格式数据集,执行统计计算,包括: 先执行点过滤过程:对于格式数据集中的每个格式数据对,检查其格式数据对中的属性值,过滤掉不符合点过滤条件的格式数据对,剩下的格式数据对组成中间结果数据集;对于中间结果数据集中的每个格式数据对,对数据集中的数据记录进行所需要的统计计算,然后依据点过滤条件过滤格式数据对,剩下的格式数据对组成中间结果数据集; 然后执行范围过滤:对于中间结果数据中的每个格式数据,使用二分查找算法,找到数据集中的一组满足范围过滤条件的数据记录,组成中间结果数据集;中间结果数据集中的所有格式数据集就是满足要求的点过滤条件和范围过滤条件的数据记录;对中间数据集中的每个格式数据集中的数据记录执行指定的计算操作,输出结果。
6.根据权利要求5所述的方法,其特征在于,所述统计计算采用分布式计算来执行点过滤过程、范围过滤过程,统计计算,分布在不同的计算节点并行执行。
【文档编号】G06F17/30GK103678716SQ201310752910
【公开日】2014年3月26日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】邹瑜斌, 张昕, 胡斌, 须成忠, 张帆, 穆德全 申请人:中国科学院深圳先进技术研究院, 深圳市易行网交通科技有限公司, 中科文讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1