当前位置: 首页 > 专利查询>山东大学专利>正文

基于spark平台的空间数据并行计算系统及其方法技术方案

技术编号:14120303 阅读:82 留言:0更新日期:2016-12-08 12:45
本发明专利技术公开了一种基于spark平台的空间数据并行计算系统及其方法,该系统用于移动通话数据的并行计算,包括索引和存储层,其配置为在spark集群中读取并存储待处理的空间数据集,空间数据集内存储的空间数据为移动通话数据;对所述待处理的空间数据集建立空间索引;查询操作层,其配置为接收API层的空间操作请求,响应空间操作请求,根据空间索引来实现对所述待处理的空间数据集中移动通话数据的空间操作,并将空间操作后的结果反馈至API层;API层,其被配置为通通过空间操作接口接收输入的空间操作请求并传送至查询操作层;接收查询操作层中对空间数据进行空间操作后的结果并输出。

【技术实现步骤摘要】

本专利技术涉及移动通信数据业务
,尤其涉及一种基于spark平台的空间数据并行计算系统及其方法
技术介绍
随着信息技术的深入发展,移动电话,车载网络等各种设备不断的产生着大量的空间数据。空间数据集通常是超大容量的,远超过单台机器的计算能力。因此,我们需要一个云计算框架去存储和计算大规模空间数据。通常我们都是使用Hadoop或者spark等平台来辅助处理大型数据集。一方面,类似于SpatialHadoop和Hadoop-GIS都是通过扩展Hadoop来支持空间数据并行处理。然而,由于Hadoop的磁盘级计算的特点,这些系统在处理复杂和交互的工作方面表现很差。而另一方面,Apache Spark是一个快速的,通用的大规模数据处理引擎。在支持进行大型集群内存计算的RDD的帮助下,Spark在交互查询和迭代计算方面表现的比Hadoop好100倍以上。GeoSpark是Spark扩展里最先进的空间数据处理系统,其通过扩展弹性分布式数据集(RDDS)来支持空间数据。SpatialSpark在Spark上实现空间连接(Spatial Join)。移动通信数据业务技术中,以下几点限制了GeoSpark和SpatialSpark在空间数据处理上的性能:(1)GeoSpark和SpatialSpark都是根据区域来分布空间数据,该方法会将相同区域的空间数据分布到相同的机器上。这样在处理范围查询时就会有一个不可避免的问题——负载不均衡。在将数据集分布到机器中后,每台计算机都会建立一个本地索引,四叉树或者R树。当要将范围查询从查询发起的机器广播到其余每台机器上时,只有查询发起的机器会持续的从根节点到叶节点的检索整个树来发现查询范围中的空间数据,而其余机器会在检索过索引树的根节点后停止。(2)在GeoSpark和SpatialSpark处理空间连接(Spatial Join)查询时,系统会有巨大的通信成本和负载不均衡问题。Spark以一种RDD的形式来存储和管理空间数据,此RDD时一种不可改变的弹性分布式数据集。RDD提供两个分区策略来并行的处理数据集分区:HashPartitioner计算数据键的哈希值,使用模数为数据进行分区;RangerPartitioner试图确保在每个分区的数据量是相等的。所有策略仅适用于一维数据的分区。在Spark框架里,SparkSQL是Spark用来进行数据管理和数据查询的部分,他具有完整的数据查询处理过程。SparkSQL在Apache Spark的顶端,它提供了一个数据框的API用以执行关系操作,以简化Spark中的大规模数据处理。SparkSQL为用户提供了一个语言层,用以交互式的sql查询操作。当运行查询,SparkSQL将SQL查询转化成RDD操作。然后SparkSQL运行RDD的文件查询。当数据是成规模时,这需要很长的时间。此外,SparkSQL并不支持空间数据类型和空间操作,所以当数据是空间数据时,它会像对待普通数据一样进行处理,并不会利用其空间属性。
技术实现思路
为了解决现有技术的缺点,本专利技术提供一种基于spark平台的空间数据并行计算系统及其方法。本专利技术的该系统用于移动通话数据的并行计算,能够支持更加高效和便捷的范围查询和空间连接的操作。为实现上述目的,本专利技术采用以下技术方案:一种基于spark平台的空间数据并行计算系统,该系统用于移动通话数据的并行计算,该系统包括从底层到顶层三个层次:索引和存储层,其配置为在spark集群中读取并存储待处理的空间数据集,所述空间数据集内存储的空间数据为移动通话数据,移动通话数据的位置信息是相应移动通信基站的位置;根据移动通信基站的位置,得到移动通信基站覆盖范围的Voronoi图;结合Z Curve Hashing分区法与基于Voronoi图的密度分割法对所述待处理的空间数据集建立空间索引;查询操作层,其配置为接收API层的空间操作请求,响应空间操作请求并将空间数据的空间操作转化为RDD文件操作,进而根据空间索引来实现对所述待处理的空间数据集中移动通话数据的空间操作,并将空间操作后的结果反馈至API层;API层,其被配置为通过扩展SparkSQL来提供一个类SQL API来支持规则的空间数据关系和空间数据类型,且通过空间操作接口接收输入的空间操作请求并传送至查询操作层;所述API层还被配置为接收查询操作层中对空间数据进行空间操作后的结果并输出。所述空间数据类型还包括用户自定义空间数据类型。本专利技术通过扩展用户自定义空间数据类型,进一步扩展了本专利技术的该并行计算系统处理的空间数据类型,能够兼容多种空间数据类型,进一步提高了空间数据处理的速度。所述空间数据关系包括还包括用户自定义空间数据关系。本专利技术通过扩展用户自定义空间数据关系,进一步扩展了本专利技术的该并行计算系统处理的空间数据关系,能够兼容多种空间数据关系,进一步提高了空间数据处理的速度。所述查询操作层中的空间操作包括范围查询和空间连接。本专利技术的基于spark平台的空间数据并行计算系统,使用spark内存计算来处理移动通话数据,大幅提高了计算速度;采用Z Curve Hashing分区法,将空间数据集分布到spark集群中,保持了空间数据并行计算系统良好的负载均衡;在建立索引时,使用基于Voronoi图的密度分割方法,从而最大限度的提高并行化,避免数据失真问题。基于相同类型的每个移动通话基站会覆盖大约相同数量的移动用户,以避免资源浪费的实际情况。本专利技术还扩展了SparkSQL,使得基于spark平台的空间数据并行计算系统支持多种空间类型和空间操作,从而达到了充分利用数据的空间属性目的。一种如基于spark平台的空间数据并行计算系统的工作方法,该方法用于对移动通话数据的并行计算,包括:在配置有空间数据并行计算系统的spark集群中,读取并存储待处理的空间数据集,其中,空间数据集内存储的空间数据为移动通话数据,移动通话数据的位置信息是相应移动通信基站的位置;根据移动通信基站的位置,得到移动通信基站覆盖范围的Voronoi图;结合ZCurve Hashing分区法与基于Voronoi图的密度分割法对所述待处理的空间数据集建立空间索引;通过扩展SparkSQL来提供一个类SQL API来支持规则的空间数据关系和空间数据类型,且通过空间操作接口接收输入的空间操作请求并传送至查询操作层;查询操作层接收API层的空间操作请求,响应空间操作请求并将空间数据的空间操作转化为RDD文件操作,进而根据空间索引来实现对所述待处理的空间数据集中移动通话数据的空间操作,并将空间操作后的结果反馈至API层;API层接收查询操作层中对空间数据进行空间操作后的结果并输出。对所述待处理的空间数据集建立空间索引之前,还包括将待处理的空间数据集内的空间数据按其所在的空间区域划分为大小不相等的网格单元。这样对于空间数据的空间连接操作以及ID划分提供了前提条件。对所述待处理的空间数据集建立空间索引之前,还包括将待处理的空间数据集内的移动通话数据按移动通话数据的位置信息,将移动通话数据相对应的移动通信基站所构成的空间区域划分为大小不相等的网格单元。将移动通话数据相对应的移动通信基站所构成的空间区域划分为大小不相等的网格单元之后,本文档来自技高网
...
基于spark平台的空间数据并行计算系统及其方法

【技术保护点】
一种基于spark平台的空间数据并行计算系统,该系统用于移动通话数据的并行计算,其特征在于,该系统包括从底层到顶层三个层次:索引和存储层,其配置为在spark集群中读取并存储待处理的空间数据集,所述空间数据集内存储的空间数据为移动通话数据,移动通话数据的位置信息是相应移动通信基站的位置;根据移动通信基站的位置,得到移动通信基站覆盖范围的Voronoi图;结合Z Curve Hashing分区法与基于Voronoi图的密度分割法对所述待处理的空间数据集建立空间索引;查询操作层,其配置为接收API层的空间操作请求,响应空间操作请求并将空间数据的空间操作转化为RDD文件操作,进而根据空间索引来实现对所述待处理的空间数据集中移动通话数据的空间操作,并将空间操作后的结果反馈至API层;API层,其被配置为通过扩展SparkSQL来提供一个类SQL API来支持规则的空间数据关系和空间数据类型,且通过空间操作接口接收输入的空间操作请求并传送至查询操作层;所述API层还被配置为接收查询操作层中对空间数据进行空间操作后的结果并输出。

【技术特征摘要】
1.一种基于spark平台的空间数据并行计算系统,该系统用于移动通话数据的并行计算,其特征在于,该系统包括从底层到顶层三个层次:索引和存储层,其配置为在spark集群中读取并存储待处理的空间数据集,所述空间数据集内存储的空间数据为移动通话数据,移动通话数据的位置信息是相应移动通信基站的位置;根据移动通信基站的位置,得到移动通信基站覆盖范围的Voronoi图;结合Z Curve Hashing分区法与基于Voronoi图的密度分割法对所述待处理的空间数据集建立空间索引;查询操作层,其配置为接收API层的空间操作请求,响应空间操作请求并将空间数据的空间操作转化为RDD文件操作,进而根据空间索引来实现对所述待处理的空间数据集中移动通话数据的空间操作,并将空间操作后的结果反馈至API层;API层,其被配置为通过扩展SparkSQL来提供一个类SQL API来支持规则的空间数据关系和空间数据类型,且通过空间操作接口接收输入的空间操作请求并传送至查询操作层;所述API层还被配置为接收查询操作层中对空间数据进行空间操作后的结果并输出。2.如权利要求1所述的一种基于spark平台的空间数据并行计算系统,其特征在于,所述空间数据类型还包括用户自定义空间数据类型。3.如权利要求1所述的一种基于spark平台的空间数据并行计算系统,其特征在于,所述空间数据关系包括还包括用户自定义空间数据关系。4.如权利要求1所述的一种基于spark平台的空间数据并行计算系统,其特征在于,所述查询操作层中的空间操作包括范围查询和空间连接。5.一种如权利要求1-4任一所述的基于spark平台的空间数据并行计算系统的工作方法,该方法用于对移动通话数据的并行计算,其特征在于,包括:在配置有空间数据并行计算系统的spark集群中,读取并存储待处理的空间数据集,其中,空间数据集内存储的空间数据为移动通话数据,移动通话数据的位置信息是相应移动通信基站的位置;根据移动通信基站的位置,得到移动通信基站覆盖范围的Voronoi图;结合Z Curve Hashing分区法与基于Voronoi图的密度分割法对所述待处理的空间数据集建立空间索引;通过扩展SparkSQL来提供一个类SQL API来支持规...

【专利技术属性】
技术研发人员:杨伯宇王海林鲁宗飞郭山清许信顺
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1