掌桥专利:专业的专利平台
掌桥专利
首页

一种面向大规模分析的时空大数据立方体组织方法及系统

文献发布时间:2023-06-19 09:26:02


一种面向大规模分析的时空大数据立方体组织方法及系统

技术领域

本发明涉及大数据处理与服务技术领域,具体涉及一种面向大规模分析的时空大数据立方体组织方法及系统。

背景技术

随着智慧城市的建设和应用,通过移动互联网、泛在物联网和对地观测网获取的反映自然和人类活动的时空数据已从十亿兆(PB)级增长至万亿兆(EB)级,并呈现出多源、异构、时空不均等特点,给数据存储、管理、访问、分析和可视化等方面带来了诸多挑战。

本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:

传统的数据组织方式和分析方法通常基于单一数据源,受限于传感器的局限性,制约对地表信息的有效观测。多源数据又缺乏统一的时空基准,难以进行统一的组织管理以及大范围、长时序的大规模分析,无法充分发挥数据价值。因此迫切需要一种面向大规模分析的多源时空大数据统一的组织方法及系统。

发明内容

本发明提出一种面向大规模分析的时空大数据立方体组织方法及系统,是一种面向大规模分析的时空大数据立方体组织方法及系统,具体来说是一种基于时空立方体概念模型将时空大数据纳入统一时空基准的方法及系统,实现从多维角度对时空大数据进行高效存储、查询和大规模分析,解决了现有技术中的方法难以对多源数据进行统一的组织管理的技术问题。

为了解决上述技术问题,本发明第一方面提供了一种面向大规模分析的时空大数据立方体组织方法,包括:

S1:建立统一时空基准;

S2:基于时空基准映射矢栅数据,其中,矢栅数据包括栅格数据和矢量数据,针对栅格数据,将具有不同参考坐标系的高分系列数据、Landsat系列数据、哨兵系列数据重投影到WGS84坐标系下,并按照全球空间网格基准采用重采样方法将栅格数据切分成瓦片;针对矢量数据,以空间网格基准作为空间索引对矢量数据进行映射,为每条矢量数据添加空间网格编码标签;

S3:基于雪花模式构建多维度数据模型,其中,采用五个维度描述瓦片维度属性,采用三个维度描述矢量数据维度属性;

S4:分别建立瓦片数据表和矢量数据表用于存储瓦片和矢量数据,其中,瓦片数据表和矢量数据表构成数据存储模型。

在一种实施方式中,S1具体包括:

空间结构上,基于WGS84坐标系建立统一的全球空间网格基准;时间结构上,采用全球统一的通用协调时时间基准,其中,时间间隔精确到秒。

在一种实施方式中,S3中:

描述瓦片维度属性的五个维度包括品、波段、时间、空间和质量,瓦片维度属性对应一个事实表和七个维度表,其中,七个维度表包括产品表、传感器表、层级表、空间表、波段表、质量表以及产品-波段表;

描述矢量数据维度属性的三个维度包括产品、时间和空间,矢量数据维度属性对应一个事实表和两个维度表,其中两个维度表包括产品表、空间表。

在一种实施方式中,时间维度信息放入到产品表中存储,并且所有维度表和事实表均采用PostgreSQL数据库存储。

在一种实施方式中,S4中:

瓦片数据表和矢量数据表采用分布式非关系型数据库HBase存储;

瓦片数据表包含两个列簇,分别存储瓦片字节数组以及用于分析的属性信息,其中,用于分析的属性信息包括瓦片行列号、瓦片数据类型;

矢量数据表包含三个列簇,分别存储矢量数据几何信息、矢量数据原始属性信息以及其所属网格行列号。

在一种实施方式中,所述方法还包括:

建立多维查询视图,具体为:基于产品表、传感器表以及层级表构建查询视图,返回产品的传感器、层级信息;基于产品表、产品波段表以及波段表构建查询视图,返回产品包含的波段信息。

在一种实施方式中,所述方法还包括:

基于维度表、事实表、多维查询视图以及数据表,提供多维度语义查询接口,用以实现从产品、时间、空间、波段、质量维度查询瓦片数据,从产品、时间、空间维度查询矢量数据。

在一种实施方式中,所述方法还包括:

构建内外存映射模型,具体为:将查询返回的瓦片数据以及矢量数据映射到自定义的Spark弹性分布式数据集内存对象中,其中瓦片分布式内存对象包含瓦片数据的时空信息、波段信息、产品信息以及瓦片字节数组,矢量分布式内存对象包含矢量数据的几何信息以及属性信息。

基于同样的发明构思,本发明第二方面提供了一种面向大规模分析的时空大数据立方体组织系统,包括:

时空基准建立模块,用以建立统一时空基准;

矢栅数据映射模块,用于基于时空基准映射矢栅数据,其中,矢栅数据包括栅格数据和矢量数据,针对栅格数据,将具有不同参考坐标系的高分系列数据、Landsat系列数据、哨兵系列数据重投影到WGS84坐标系下,并按照全球空间网格基准采用重采样方法将栅格数据切分成瓦片;针对矢量数据,以空间网格基准作为空间索引对矢量数据进行映射,为每条矢量数据添加空间网格编码标签;

多维度数据模型构建模块,用于基于雪花模式构建多维度数据模型,其中,采用五个维度描述瓦片维度属性,采用三个维度描述矢量数据维度属性;

数据存储模型构建模块,用以分别建立瓦片数据表和矢量数据表用于存储瓦片和矢量数据,其中,瓦片数据表和矢量数据表构成数据存储模型。

在一种实施方式中,所述系统还包括网页交互式接口访问模块,用以基于预设网页交互式计算框架,将查询接口以及分析接口以预设内核的形式暴露,实现在网页端可交互式地进行接口访问和开发,其中查询接口用以进行数据查询,分析接口用以基于自定义的分布式内存模型,封装地图代数操作、矢量空间分析以及矢栅联合分析模型,提供对海量、多源、异构数据的大规模高效分析功能。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

本发明提供的一种面向大规模分析的时空大数据立方体组织方法,首先建立统一时空基准,并基于时空基准映射矢栅数据,然后基于雪花模式构建多维度数据模型并存储于关系型数据库PostgreSQL,再采用分布式非关系型数据库HBase构建数据存储模型。本发明从数据立方的角度出发,将海量、多源、异构、时空不均的时空大数据纳入到了统一的时空基准下,包括对地观测数据以及带有位置属性的社会经济矢量数据,从五个维度对数据进行了存储和组织,实现了面向大规模分析的多源时空大数据统一的组织。

进一步地,构建了多维查询视图,实现对数据的多层次、多维度访问。

进一步地,在数据分析计算层面设计了内外存映射机制,将外存存储的数据映射到自定义的多源异构时空大数据分布式内存对象中,实现对时空大数据的分布式处理和大规模分析。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的面向大规模分析的时空大数据立方体组织方法的总体框架图;

图2为具体实施方式中多维度数据组织模型示意图。

具体实施方式

为解决现有技术中的问题,本发明提供了一种面向大规模分析的时空大数据立方体组织方法及系统,实现对海量、多源、异构、时空不均的时空大数据进行统一组织、管理和分析。

为了达到上述技术效果,本发明的主要发明构思如下:

从数据立方的角度出发,将海量、多源、异构、时空不均的时空大数据纳入到了统一的时空基准下,包括对地观测数据以及带有位置属性的社会经济矢量数据,从产品、时间、空间、波段、质量五个维度对数据进行了存储和组织,在此基础上构建了多维查询视图,实现对数据的多层次、多维度访问。在数据分析计算层面设计了内外存映射机制,将外存存储的数据映射到自定义的多源异构时空大数据分布式内存对象中,实现对时空大数据的分布式处理和大规模分析。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例一

本发明实施例提供了一种面向大规模分析的时空大数据立方体组织方法,该方法包括:

S1:建立统一时空基准;

S2:基于时空基准映射矢栅数据,其中,矢栅数据包括栅格数据和矢量数据,针对栅格数据,将具有不同参考坐标系的高分系列数据、Landsat系列数据、哨兵系列数据重投影到WGS84坐标系下,并按照全球空间网格基准采用重采样方法将栅格数据切分成瓦片;针对矢量数据,以空间网格基准作为空间索引对矢量数据进行映射,为每条矢量数据添加空间网格编码标签;

S3:基于雪花模式构建多维度数据模型,其中,采用五个维度描述瓦片维度属性,采用三个维度描述矢量数据维度属性;

S4:分别建立瓦片数据表和矢量数据表用于存储瓦片和矢量数据,其中,瓦片数据表和矢量数据表构成数据存储模型。

本申请发明人通过大量的研究与实践发现,数据立方体的概念来源于商业智能领域,用于支持多维数据阵列的在线分析处理(OLAP,Online Analytical Processing)。目前,数据立方体已被应用于地观测数据的组织分析,Open Data Cube作为澳大利亚提供的开源解决方案,将Landsat系列数据作为其主要数据源,已被多个国家应用包括哥伦比亚、墨西哥、瑞士以及坦桑尼亚。然而,时空大数据不仅限于对地观测网获取的遥感影像数据,还包括移动互联网、泛在物联网获取的带有位置属性的社会经济矢量数据,除此之外,国内高分系列数据尚未作为Open Data Cube数据源得到应用。因此,自主研发一套面向大规模分析的时空大数据立方体组织方法及系统,将多源异构数据包括高分系列数据、Landsat系列数据、哨兵系列数据以及矢量数据等进行统一组织管理与信息挖掘是迫切需要的。

通过步骤S1-S4构建了多维度的数据组织模型,该数据组织模型为时空立方体概念模型,可以将海量、多源、异构、时空不均的时空大数据纳入到了统一的时空基准下进行存储。

其中,S2中的重采样方法包括双线性插值重采样方法、最邻近插值、双线性插值以及三次卷积插值,具体实施过程中,还提供了接口让用户在导入数据时选择其它重采样方法。

请参见图1,为本发明提供的面向大规模分析的时空大数据立方体组织方法的总体框架图;涉及的多源数据包括对地观测数据以及社会经济位置数据,以高新能磁盘阵列和高性能计算集群作为基础设施。通过本发明构建的数据组织模型,可以实现多源数据的存储。并进一步提供查询、访问,计算与分析等功能,进一步地,还可以进行可视化操作,以及接口和应用的开发。

在一种实施方式中,针对栅格数据,采用Java线程池技术结合Spark分布式计算引擎,实现对栅格数据进行分布式快速切片。

在一种实施方式中,针对矢量数据,采用Spark分布式计算引擎并行判断矢量数据与网格的空间关系,如果相交则添加到网格包含的矢量数据ID序列中。

在一种实施方式中,采用Z-order空间填充曲线对空间网格进行了编码,保证空间邻近性的前提下将二维空间信息降至一维,提高数据检索效率。

在一种实施方式中,S1具体包括:

空间结构上,基于WGS84坐标系建立统一的全球空间网格基准;时间结构上,采用全球统一的通用协调时时间基准,其中,时间间隔精确到秒。

具体来说,为保证每个立方体内有且仅有一条数据,时间间隔精确到秒。S1中,全球统一的通用协调时为UTC,Universal Time Coordinated。

在具体的实施过程中,提供的一个可供参考的时空基准,其中空间基准以WGS84作为参考坐标系,网格分辨率为1°×1°,像素分辨率为4000×4000。具体实施中还提供了接口让用户自定义空间基准,比如网格分辨率为0.5°×0.5°,像素分辨率为1024×1024。

在一种实施方式中,S3中:

描述瓦片维度属性的五个维度包括品、波段、时间、空间和质量,瓦片维度属性对应一个事实表和七个维度表,其中,七个维度表包括产品表、传感器表、层级表、空间表、波段表、质量表以及产品-波段表;

描述矢量数据维度属性的三个维度包括产品、时间和空间,矢量数据维度属性对应一个事实表和两个维度表,其中两个维度表包括产品表、空间表。

具体来说,为了减少瓦片冗余存储时间属性信息,将瓦片的时间信息放到产品表中存储,因为一组瓦片可能来自于一个产品。

具体实施过程中,采用了多维数据模型中的雪花模型,其包括一个大的中心表即事实表和一组附属表即维度表。维度表经过规范化可分解出其他附加表,事实表中存储了维度表的标识符,通过维度键检索最终需要的数据信息。

并建立了七个维度表来描述栅格数据的五个常用查询维度包括产品、时间、空间、波段、质量和一个事实表来实现数据检索。产品表包含产品键、产品名称、传感器键、层级键、参考坐标系、获取时间等字段;层级表包含层级键、所属金字塔层级、分辨率、像素分辨率字段,描述了瓦片的层级信息,包括用于可视化的金字塔层级以及用于分析的自定义层级;传感器表包含传感器键、传感器名称、卫星平台名称、波段类型字段;波段表包含波段键以及波段名称两个字段,列举了常用传感器获取的所有波段名称;产品_波段表包含产品键、波段键、数据类型字段,用以关联产品表和波段表,检索瓦片所属的产品以及波段类型;质量表包含质量键、云层遮挡量、云层阴影遮挡量字段,用以表示瓦片的质量信息;空间表包含空间键、网格编码、网格行列号、层级键字段,描述了每个瓦片或网格的空间信息,其中网格编码采用Z-order编码;瓦片事实表包含产品键、波段键、空间键、瓦片质量键、瓦片ID字段;矢量事实表包含产品键、空间键、网格包含的矢量ID序列字段。

其中,建立的属性表和事实表中,产品表分别和传感器表、层级表、产品_波段表关联,波段表也和产品_波段表进行了关联,从而这五个表存储了瓦片的产品名、传感器、波段、层级、时间等信息。瓦片事实表存储了产品表、波段表、空间表、质量表的键,可唯一标识一张瓦片ID。矢量事实表存储了产品表、空间表的键,可唯一标识一个网格内包含的矢量ID序列,其中矢量事实表关联的产品表不包含传感器、层级信息。

请参见图2,为具体实施方式中多维度数据组织模型示意图。

在一种实施方式中,S3中:

时间维度信息放入到产品表中存储,并且所有维度表和事实表均采用PostgreSQL数据库存储。

在一种实施方式中,S4中:

瓦片数据表和矢量数据表采用分布式非关系型数据库HBase存储;

瓦片数据表包含两个列簇,分别存储瓦片字节数组以及用于分析的属性信息,其中,用于分析的属性信息包括瓦片行列号、瓦片数据类型;

矢量数据表包含三个列簇,分别存储矢量数据几何信息、矢量数据原始属性信息以及其所属网格行列号。

在一种实施方式中,所述方法还包括:

建立多维查询视图,具体为:基于产品表、传感器表以及层级表构建查询视图,返回产品的传感器、层级信息;基于产品表、产品波段表以及波段表构建查询视图,返回产品包含的波段信息。

在一种实施方式中,所述方法还包括:封装数据查询接口。基于维度表、事实表、多维查询视图以及数据表,封装提供多维度语义查询接口,实现从产品、时间、空间、波段、质量维度查询瓦片数据,从产品、时间、空间维度查询矢量数据;

具体实施例中,封装了对数据的检索接口,后台检索流程为:首先根据提供的查询参数信息,访问对应的维度表和检索每个维度的键,如未提供对应维度参数则返回该维度所有键;然后到事实表中根据每个维度的键查询瓦片ID或网格内矢量数据ID序列;最后根据瓦片ID或网格内矢量数据ID序列,前往HBase中查询瓦片或矢量数据。

在一种实施方式中,所述方法还包括:

基于维度表、事实表、多维查询视图以及数据表,提供多维度语义查询接口,用以实现从产品、时间、空间、波段、质量维度查询瓦片数据,从产品、时间、空间维度查询矢量数据。

在一种实施方式中,所述方法还包括:

构建内外存映射模型,具体为:将查询返回的瓦片数据以及矢量数据映射到自定义的Spark弹性分布式数据集内存对象中,其中瓦片分布式内存对象包含瓦片数据的时空信息、波段信息、产品信息以及瓦片字节数组,矢量分布式内存对象包含矢量数据的几何信息以及属性信息。

具体来说,弹性分布式数据集为Resilient Distributed DataSet,RDD。

在一种实施方式中,所述方法还包括:封装数据分析接口,

基于自定义的分布式内存模型,封装地图代数操作、矢量空间分析以及矢栅联合分析等分析模型,实现对海量、多源、异构数据的大规模高效分析;

具体来说,本实施方式中封装了矢栅数据常用的分析操作,其中地图代数操作例如归一化水体指数计算、归一化植被指数、归一化建筑指数、水体和植被变化检测等,空间分析操作包括矢量的交、差、并、补等,矢栅联合分析操作比如矢栅叠置分析等。基于时空立方体的存储模型,结合Spark分布式计算引擎,实现了对海量数据的快速访问和大规模分析。

在一种实施方式中,所述方法还包括:发布网络处理服务。遵循OGC最新处理服务规范,将数据分析模型发布成网络处理服务,提供返回分析模型描述信息、提交执行分析模型、返回分析模型执行状态、返回分析模型执行结果等服务;

在一种实施方式中,所述方法还包括:发布网络覆盖服务。遵循OGC最新覆盖服务规范,将时空立方体中数据发布成网络覆盖服务,提供根据时空信息等检索数据集、返回某种数据集描述信息、返回数据集等服务;

在一种实施方式中,所述方法还包括:提供网页交互式接口访问。搭建JupyterNotebook网页交互式计算框架,将查询接口以及分析接口以Jupyter Notebook内核的形式暴露,实现在网页端交互式地进行访问和开发;

具体来说,本实施方式中以Jupyter Notebook提供的Scala语言内核Almond为基础,将发明中提供的接口封装成内核并嵌入到了Jupyter Notebook中,用户可以直接基于提供的接口进行交互式开发。

在一种实施方式中,所述方法还包括:基于Web平台提供应用接口与可视化功能。采用前端框架Vue构建Web平台界面,采用Cesium对瓦片和矢量数据进行三维可视化,以Web平台的方式提供多源异构时空大数据的导入、检索、分析、可视化等功能。

具体来说,Spark内核是由Scala语言开发的;前端框架Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Cesium是一个用于显示三维地球和地图的开源js库。它可以用来显示海量三维模型数据、影像数据、地形高程数据、矢量数据等等。

基于同样的发明构思,本发明还提供了一种与实施例一中面向大规模分析的时空大数据立方体组织方法对应的系统,详见实施例二。

实施例二

本实施例提供了一种面向大规模分析的时空大数据立方体组织系统,该系统包括:

时空基准建立模块,用以建立统一时空基准;

矢栅数据映射模块,用于基于时空基准映射矢栅数据,其中,矢栅数据包括栅格数据和矢量数据,针对栅格数据,将具有不同参考坐标系的高分系列数据、Landsat系列数据、哨兵系列数据重投影到WGS84坐标系下,并按照全球空间网格基准采用重采样方法将栅格数据切分成瓦片;针对矢量数据,以空间网格基准作为空间索引对矢量数据进行映射,为每条矢量数据添加空间网格编码标签;

多维度数据模型构建模块,用于基于雪花模式构建多维度数据模型,其中,采用五个维度描述瓦片维度属性,采用三个维度描述矢量数据维度属性;

数据存储模型构建模块,用以分别建立瓦片数据表和矢量数据表用于存储瓦片和矢量数据,其中,瓦片数据表和矢量数据表构成数据存储模型。

由于本发明实施例二所介绍的系统,为实施本发明实施例一中面向大规模分析的时空大数据立方体组织方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的系统都属于本发明所欲保护的范围。

在一种实施方式中,所述系统还包括网页交互式接口访问模块,用以基于预设网页交互式计算框架,将查询接口以及分析接口以预设内核的形式暴露,实现在网页端可交互式地进行接口访问和开发,其中查询接口用以进行数据查询,分析接口用以基于自定义的分布式内存模型,封装地图代数操作、矢量空间分析以及矢栅联合分析模型,提供对海量、多源、异构数据的大规模高效分析功能。

其中,预设网页交互式计算框架为Jupyter Notebook网页交互式计算框架,Jupyter Notebook是一个Web应用程序,允许将所有的说明性文字,数学公式,代码和可视化内容结合在一个可共享的文档中。

在具体实施过程中,本申请的提供的方法均可以通过计算机程序来实现。

本发明中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

相关技术
  • 一种面向大规模分析的时空大数据立方体组织方法及系统
  • 面向分析型数据库的大规模随机负载生成及验证方法及系统
技术分类

06120112165098