海量GNSS数据分布式存储与计算方法

2015-07-07 00:53李林阳张友阳倪祖斌周海涛
导航定位学报 2015年4期
关键词:海量数据管理分布式

李林阳,张友阳,李 滨,倪祖斌,周海涛

(1.信息工程大学地理空间信息学院,郑州 450052;2.郑州轻工业学院机电工程学院,郑州 450002; 3.广州军区测绘信息中心,广州 510515;4.沈阳军区测绘信息中心,沈阳 110000)

海量GNSS数据分布式存储与计算方法

李林阳1,张友阳2,李 滨3,倪祖斌4,周海涛1

(1.信息工程大学地理空间信息学院,郑州 450052;2.郑州轻工业学院机电工程学院,郑州 450002; 3.广州军区测绘信息中心,广州 510515;4.沈阳军区测绘信息中心,沈阳 110000)

大数据时代对GNSS提出了诸多挑战,如海量、多源、异构数据的存储与管理、处理与分析等,GNSS必须做出相应的调整和改变。针对大数据具有的“海量、快速、多样、精确及价值”特性,分析了GNSS在数据管理和处理上面临的主要挑战,从分布式存储、计算的角度给出了解决问题的有效策略和可行方案,提出了基于分布式存储与计算技术的GNSS数据管理与处理平台架构,突破了传统集中式存储与计算的限制,结果表明该方法能够实现GNSS数据的高效管理和处理。

全球卫星导航系统;大数据;分布式存储;分布式计算

0 引言

大数据(big data)是指大型复杂数据集的聚合,这些数据集的规模和复杂程度常超出目前数据库管理软件和传统数据处理技术在可接受的时间下的获取、管理、计算、分析和检索能力[1]。大数据的重要组成部分是位置大数据(location big data, LBD),而全球卫星导航系统(global navigation satellite system,GNSS)数据又是位置大数据的主要组成部分。

随着全球定位系统(global positioning system,GPS)现代化进程的加快、格洛纳斯卫星导航系统(global navigation satellite system,GLONASS)的恢复使用、北斗卫星导航系统(BeiDou navigation satellite system,BDS)的投入运行、伽利略卫星导航系统(Galileo navigation satellite system,Galileo)的逐步建设,区域卫星导航系统日本准天顶卫星系统(Quasi-zenith satellite system,QZSS)和印度区域卫星导航系统(Indian regional navigation satellite system,IRNSS)的建成,以及连续运行参考站网(continuously operating reference station system,CORS)的不断涌现及连续观测,GNSS测量的观测数据、中间成果、解算产品呈井喷态势,急剧增长。

针对GNSS数据的“海量、快速、多样、精确及价值(Volume、Velocity、Variety、Veracity、Valu,5V)”特性,本文分析了当前GNSS在海量、多源、异构数据的存储与管理、处理与分析等方面面临的主要挑战,从分布式存储、计算的角度给出了具体的解决方案,最后提出了基于分布式存储与计算技术的GNSS数据管理与处理平台架构。

1 GNSS数据的主要特征

大数据不仅仅是数据量大,对大数据特征的描述已经从3V[2]:Volume(海量)、Velocity(快速)、Variety(多样),4V[3](Veracity(精确)),到5V[4](Value(价值))。对GNSS数据亦是如此。

1.1 海量(Volume)

海量的数据给管理带来新的挑战,大量TB级以上的数据等待处理。以GNSS观测数据为例,如连续观测1 d、采样率为1 s、仅GPS的数据量就可达80 MB,全球有数千个观测站,一天的数据量就达到TB级别。斯克里普斯轨道和永久阵列中心(Scripps Orbit and Permanent Array Center, SOPAC)自1996年存储和传输的数据总量[5]如图1所示,可以看出数据总量呈指数级递增趋势。

图1 数据操作中心SOPAC的数据量增长趋势图

1.2 多样(Variety)

GNSS数据种类和格式丰富多样,结构化和非结构化数据并存,同构和异构资源面临共享难题。以接收机无关交换格式(receiver independent exchange format,RINEX)[6]为例,随GNSS的不断发展,多频多模的建设,RINEX格式也在不断进行更新,如图2所示,现更新到3.02版本,直接导致了不同结构类型数据的涌现。

图2 RINEX版本更新过程

1.3 快速(Velocity)

GNSS数据处理对时效性的要求越来越高,需要响应以s甚至ms计的流数据不断产生。如在地球参考框架的维持中,需要联合GNSS、甚长基线干涉测量(very long baseline interferometry, VLBI)等数据实现周解、日解,甚至是实时解算;国际全球卫星导航系统服务协会(International GNSS Service,IGS)在2004年以"bigger,better and faster"策略为指导研究改进的精密卫星轨道确定的新方法[7];地震监测与预报对数据处理速度也提出了更高的要求[8]。

1.4 精确(Veracity)

GNSS数据都具有统一、严谨的数据结构,能反映观测、存档的时空信息,解算成果和产品时采用可靠的处理策略,具有真实和准确的特性。

1.5 价值(Value)

GNSS数据的价值已经毋庸置疑,数据源本身就蕴含了巨大的价值,终极目标在于通过数据处理挖掘更深的价值。在发生东日本大地震、福岛核事故后,文献[9]通过分析一年内160万人的GPS移动路径,对灾民的避难行为进行了研究。

2 GNSS面临的主要挑战及处理策略

2.1 存储管理

数据管理是GNSS应用的基础,GNSS数据增长的速度远远超过存储技术进步带来的成本降低的速度,目前存储和管理所有原始的GNSS数据还存在成本上的障碍[10]。

GNSS数据管理方式有文件传输协议(filetransfer protocol,FTP)和关系数据库(relational database management system,RDBMS)两种。国际GNSS服务(international GNSS service,IGS)较多采用前者,FTP管理方式虽成熟,但实时性较差,不能检索数据,管理员控制和故障恢复的能力较差。北京CORS[11]采用后者,RDBMS检索数据较为方便,但随GNSS数据量的增加,检索效率下降,不能满足多用户并发访问,抗灾容错性能较差;数据转移代价较大,并会影响实用性。

因此,GNSS数据存储和管理面临的主要挑战为

1)存储容量的问题,面对TB级、PB级甚至ZB级的数据,目前的文件系统和关系数据库系统是难以承受的;

2)难以满足对数据高并发读写和高并发访问的需求;

3)难以满足对存储系统的高扩展性和高可用性的要求。

因此,随GNSS数据的迅速增长,集中式存储策略在管理海量数据方面存在诸多限制,已不能满足大规模存储应用的需要,寻求海量GNSS数据的高效管理已成为当前的研究热点之一[12]。

2.2 数据处理

海量的观测数据为高精度计算提供了丰富的数据资源,但同时也为数据处理带来了新的挑战。100个测站组成的网络,观测30颗GPS卫星的待估参数如表1所示,达到了8 000多个,如果再考虑其它卫星导航系统,待估参数的数量则会更多。

表1 100个测站观测30颗卫星的网络的待估参数数量

表1中,nsta是测站总数,nsat是卫星总数, nobs是单个历元观测到的平均卫星数。

双差网解法和非差精密单点定位(precise point positioning,PPP)是GNSS数据处理两种主要的解算方法。从时间复杂度上比较,对n个测站,双差网解的时间复杂度为O(n3),随GNSS网规模的扩大,如图3所示,处理时间成几何倍增加,无法同时处理大规模网络,难以满足大规模GNSS网实时快速处理的需求。大多数IGS分析中心的软件同时解算的测站数小于100个,如最新的GAMIT 10.5最多只能解算99个测站、9 999个观测历元。的时间复杂度虽为O(n);然而一方面精度仍略低于双差网解,东方向上的精度仍可通过恢复模糊度整周特性之后的搜索固定进一步提高[13],另一方面忽略了基线向量之间的相关性,不利于整网进行平差。

图3 不同网络规模下GAMIT计算时间

针对计算资源和能力的不足,许多学者都从减少计算开销方面进行了研究,如压缩数据存储[14-15]、消除和恢复解算参数[16]、独立基线的双差网解约束解[17]等,并提出了分区平差快速解算方法、大规模高精度GPS网平差算法、GNSS大网非差解算方法以及Ambizap算法等。寻求海量GNSS数据的快速处理也成为当前研究的热点之一[18-19]。

3 基于分布式存储与计算技术的GNSS大数据服务

3.1 分布式存储及计算简介

随着通讯技术、计算机技术、网络技术的飞速发展,涌现出了并行计算、网格计算、云计算等新技术。分布式计算可以利用整个分布式系统同构或异构的软件和硬件资源,将大规模计算问题分解成多个并行处理的子问题,以获得更高的计算性能和拥有更大的存储空间。表2对比了分布式与集中式存储和计算的特点。

分布式存储和计算技术具有较强的数据处理和存储能力,资源利用率、自动化成都和容灾性均有较大提升,已成功应用于GNSS数据存储和处理中。美国卫星导航系统与地壳形变观测研究联合体(A Non-profit University-governed Consortium,UVAVCO)在2014年首次将云存储纳入到GNSS数据管理的体系[20];文献[12]基于分布式文件系统提出了海量CORS数据云存储模型架构;基于分布式计算技术,国际大地测量协会(International Association of Geodesy,IAG)的第1工作小组开展Dancer、Digger和Dart三个项目,高效、快速地解算了全球参考框架数据[21];文献[22]采用分布式技术对80个CORS站的数据进行解算,达到了预期的精度。文献[23]展望了CORS与分布式技术的融合,提出了一种基于网格计算的GNSS数据分布式处理新策略;Bernese5.0采用多线程技术,并支持在不同计算机之间的远程调用和并行处理[24];文献[25-26]开发了大规模密集线性计算的并行计算器,只需标准并行包Sca LAPACK和PLAPACK一半的内存消耗;文献[27]利用任务并行库(task parallel library, TPL)技术,在多核环境下进行了大网并行平差实验。

表2 GNSS数据分布式与集中式存储与计算的对比

3.2 GNSS数据分布式存储

对GNSS数据的存储与管理,以HBase、MongoDB、Neo4J等列数据库、文档数据库和图数据库为代表的非关系型数据库(Not only SQL, NoSQL)技术以及以Hadoop分布式文件系统(Hadoop distributed file system,HDFS)文件管理、Map Reduce文件检索分析为代表的Hadoop[28]平台,是目前研究和应用的热点之一。

如图4所示,基于HDFS,设计了GNSS数据分布式存储的体系结构,该体系能够实现海量GNSS数据的高效存储与访问,为上层应用提供透明的分布式存储接口,并具有高扩展性和高并发性等特点。

在虚拟化与互操作平台中,将存储资源直接作为服务实现分布式存储,分布式存储能够通过分布式文件系统,将网络中大量的多种多样的存储设备虚拟为统一的存储资源池,并协同使用,共同提供数据存储和业务访问功能[29]。基于获取数据冗余产生的原理,智能压缩方法提升了编码层次,即从信号和特征编码层,升级到语义编码层。因此,分布式存储结合智能压缩算法可以初步解决GNSS数据最基本的存储问题。

图4 基于HDFS的GNSS数据分布式存储体系架构

3.3 GNSS数据分布式计算

随着计算机硬件平台的高速发展,多核处理器的普及,提高硬件平台的性能利用效率,对现有软件代码并行化或独立开发分布式软件系统成为数据处理的新方法。

GNSS数据分布式计算的主要方法为:分解与组合。根据集群中节点的数量和性以及计算任务的性质等,对计算任务进行分解,将分解后的数据发布到各个节点,各个节点上并行执行计算任务,最后主节点负责合并所有节点的计算结果。并行算法设计的5个层次和步骤如图5所示。从顶层开始是应用层,它是并行计算需要解决的实际问题和实现的应用,主要工作包括明确计算任务,定义数据的输入、输出格式及路径;第四层为算法开发层,主要的工作包括明确具体采用的算法、算法的描述和具体任务以及任务之间的关联和依赖关系,通常以依赖图或有向图来表示;第三层为并行化层,即将上一层的算法和任务进行并行化设计,挖掘其潜在的并行性;第二层是代码层,算法的高级语言编码实现,即并行编程,确定高级语言(Java、C++、C#)取决于运行平台;最底层是算法运行层,执行由平台支持语言的目标程序,可分为硬件并发和软件并发两种实现,对应不同的并行环境。

图5 并行算法设计的层次和步骤

并行编程的环境可分为基于消息传递的消息传递接口(message passing interface,MPI)和并行虚拟机(parallel virtual machine,PVM)、基于共享变量的Open MP、基于数据并行的Map Reduce以及基于任务并行的TPL等技术,实际应用中应根据不同的计算任务和需求,采取不同的编程模式。任何一种编程模式都是有局限性的,实际应用中可采用混合编程模式,如Open MP+MPI。

3.4 GNSS数据分布式管理与计算平台

图6 GNSS数据分布式管理与计算平台

基于分布式存储与计算技术,如图6所示,本文建立了从基础设施、数据、平台到应用的一体化分布式管理与计算平台,将海量GNSS数据、产品及服务进行有效管理,并按照实际需求进行存储、管理和处理。

第1层为虚拟化与互操作平台。采用虚拟化与互操作技术,整合各种异构资源,将网络、计算、存储等虚拟为一个资源池,以服务方式屏蔽底层差异,提供给上层统一的虚拟化与互操作接口。

第2层为GNSS数据管理平台,由Hadoop开源云平台中的HDFS、HBase、Map Reduce、Hama等模块组成,其中HDFS和HBase组成具有弹性的分布式存储系统;采用Map Reduce和Hama编程模型设计GNSS数据的分布式计算;Hive和Pig可为用户提供海量GNSS数据管理和处理更高层次的抽象操作,Hive提供类结构化查询语言(structured query language,SQL)的查询语言HiveSQL,可执行查询、变换数据等操作,Pig提供了在Map Reduce基础之上的更高层次的数据处理能力;Hama提供矩阵的并行计算功能;Zoo-Keeper是分布式协调服务,提供配置管理及组件协调功能。利用以上系统组成GNSS分布式管理与计算的基础平台,大地测量工作者可将主要精力放在GNSS数据的组织和管理上面。GNSS数据包括多频多模观测数据、解算产品和成果、元数据以及少量的视频、音频和影像数据等,这些数据存储在Hadoop的HDFS或HBase中,实现以减小成本管理海量数据的能力,并向上一层提供海量GNSS数据的快速读写功能。最终向服务管理平台提供统一的GNSS存储管理与并行计算接口。接口为用户隐藏后台分布式系统存储、计算的复杂性,为应用平台提供透明、统一的GNSS数据分布式存储管理、计算接口,包括存储与计算节点的加入和退出管理接口、HDFS和HBase的管理接口、GNSS数据的存储和访问接口、并行计算接口、元数据管理接口等。

第3层为GNSS服务管理平台,提供给用户多样的服务,包括分布式应用服务和分布式基础服务。分布式应用服务包括通用性较强的将基础设施作为服务(infrastructure as a service,IaaS)、专用性较强的将软件作为服务(software as a service,SaaS)和兼顾二者的将平台作为服务(platform as a service,PaaS),结合GNSS本身特点,并提出将数据作为服务(data as a service,DaaS),服务架构层次如图7所示;分布式基础服务包括负载均衡、路由调度、并行计算、搜索服务等。服务注册时通过服务总线,请求服务时通过访问接口,根据实际GNSS处理需求,请求分配所需资源和计算空间。GNSS应用开发接口是对服务的封装, 是GNSS应用层与服务管理层完全解耦,只要接口不变,应用层和平台层就可以独立演化,不会影响上层功能。

第4层为GNSS应用层,通过网络服务和软件应用的形式为用户提供服务,对各种GNSS服务进行封装,纳入到面向服务的体系结构(serviceoriented architecture,SOA)进行管理和使用,具体应用包括导航、定位、授时等。

图7 GNSS应用服务架构层次

4 结束语

随着CORS的不断建成及连续观测,多模多频导航系统的逐步发展,GNSS数据规模呈井喷态势;面对海量的GNSS数据带来的机遇和挑战,需要有针对性地加快技术创新和重点攻关研究,才能推动GNSS服务的发展。本文分析了GNSS数据的5V特性,指出并归纳了当前GNSS在数据管理和处理上面临的主要挑战及处理策略,从分布式存储和计算的角度给出了有效的解决方案,提出了基于分布式存储与计算技术的GNSS数据管理与计算平台架构。通过分布式存储、计算技术与GNSS技术的结合,将会使GNSS进入另一个新的发展阶段。

[1] 刘经南,方媛,郭迟.位置大数据的分析处理研究进展[J].武汉大学学报·信息科学版,2014,39(4):379-385.

[2] ZIKOPOULOS P,EATON C,DEROOS D,et al.Understanding big data:analytics for enterprise class Hadoop and streaming data[M].New York:McGraw-Hill Osborne Media,2011.

[3] 陈正生.大规模GNSS测量数据分布式计算关键技术研究[D].郑州:解放军信息工程大学,2014:29

[4] 李清泉,李德仁.大数据GIS[J].武汉大学学报·信息科学版,2014,39(6):641-644.

[5] SOPAC.Recent archive stats[EB/OL].[2014-9-30].http://sopac.uscd.edu/scripts/show ArchiveStats.cgi.

[6] GURTNER W.RINEX:The receiver independent exchange format version 2.10[EB/OL].(2006-01-29)[2014-07-19].http://vgn.dm.gov.ae/DMEGOV/DVRS/DVRS_docs/RINEX-FORMAT.pdf.

[7] BOOMKAMP H,KÖNIG R.Bigger,better and faster POD[C]//International Association of Geodesy.Proceedings of IGS 10th Anniversary Workshop and Symposium.Berne,Switzerland:International Association of Geodesy,2004.

[8] 张小红,郭斐,郭博峰.利用高频GPS进行地表同震位移监测及震相识别[J].地球物理学报,2012,55(6):1912-1918.

[9] SONG X,ZHANG Q,SEKIMOTO Y,et al.Intelligent system for human behavior analysis and reasoning following largescale disasters[J].IEEE Intelligent System,2013,28(4):35-42.

[10]李德仁,姚远,邵振峰.智慧城市中的大数据[J].武汉大学学报·信息科学版,2014,39(6):631-640.

[11]谭志彬,戴连君,过静珺.GPS连续运行参考站网数据存储[J].测绘通报,2003(11):8-10.

[12]李林阳,吕志平,陈正生.海量连续运行参考展望数据云存储模型[J].导航定位学报,2014,2(3):64-70.

[13]GE M R,GENDT G,ROTHACHER M.Resolution of GPS Carrier-phase ambiguities in Precise Point Positioning(PPP) with daily observations[J].Journal of Geodesy,2008,82(7):389-399.

[14]施闯.大规模高精度GPS网平差与分析理论及其应用[M].北京:测绘出版社,2002:53.

[15]宋力杰,欧阳桂崇.超大规模大地网分区平差快速解算方法[J].测绘学报,2003,32(3):204-207.

[16]GE M R,GENDT G,DICK G.A new eata processing strategy for huge GNSS global networks[J].Journal of Geodesy, 2006,80(4):199-203.

[17]BLEWITT G.Fixed point theorems of GPS carrier phase ambiguity resolution and their application to massive network processing:Ambizap[EB/OL].(2008-12-25)[2014-07-19].http://geodesy.unr.edu/publications/blewitt08_ambizap.pdf.

[18]陈宪冬.Ambizap方法在大规模GPS网处理中的应用及结果分析[J].武汉大学学报·信息科学版,2011,36(1):10-13.

[19]CHEN Hua,JIANG Weiping,GE M R.An enhanced strategy for GNSS data processing of massive networks[J].Journal of Geodesy,2014,88(9):857-867.

[20]UNAVCO.GPS/GNSS data management overview[EB/OL].[2014-07-19].http://www.unavco.org/data/gps-gnss/data-management/data-management.html.

[21]BOOMKAMP H.Global GPS reference frame solutions of unlimited size[J].Advances in Space Research,2010(46):136-143.

[22]SERPELLONI E,CASULA G,GALVANI A,et al.Data analysis of permanent GPS networks in Italy and surrounding regions:application of a distributed processing approach[J].Annals of Geophysics,2006,49(5):897-928.

[23]SCHROCK G M.On-grid goal:seeking support for high-precision networks[J].GPS World,2006,17(10):34-40.

[24]DACH R,HUGENTOBLER U,FRIDEZ P,et al.User manual of the Bernese GPS software version 5.0[M].Bern: Stampfli Publications AG Press,2008:381.

[25]BABOULIN M,GIRAUD L,GRATTON S.A parallel distributed solver for large dense symmetric systems:applications to geodesy and electromagnetism problems[J].Int J of High Performance Computing Application,2005,19(4):353-363.

[26]BABOULIN M,GIRAUD L,GRATTON S,et al.Parallel tools for solving incremental dense least squares problems:application to space geodesy[J].Journal of Algorithms&Computational Technology,2009,3(1):117-133.

[27]崔阳,吕志平,陈正生.多核环境下的GNSS网平差数据并行处理研究[J].测绘学报,2013,42(5):661-667.

[28]DEAN J,GHEMAWAT S.Mapreduce:simplified data processing on large clusters[J].Communications of the ACM, 2008,51(1):107-113.

[29]刘琨,李爱菊,董龙江.基于Hadoop的云存储的研究及实现[J].微计算机信息,2011,27(7), 220-222.

Distributed Storage and Computing Method of Massive GNSS Data

LI Linyang1,ZHANG Youyang1,LI Bin1,NI Zubin1,ZHOU Haitao1
(1.School of Surveying and Mapping,PLA Information Engineering University,Zhengzhou 450052,China; 2.Institute of Mechanical and Electrical Engineering,Zhengzhou University of Light Industry,Zhengzhou 450002,China; 3.Guangzhou Surveying and mapping Information Center,Guangzhou 510515,China; 4.Shenyang Surveying and mapping Information Center,Shenyang 110000,China)

GNSSis faced with many challenges in the age of big data,such as the storage,management,processing and analysis of GNSS data with the characteristic of volume,variety and heterogeneous.Thus,corresponding adjustments and changes have to be made.Based on the 5V properties of big data,main challenges at these aspects of data management and processing faced by GNSS are analyzed,effective strategies and feasible solutions are given from these aspects of distributed storage and computing.Finally the GNSS data management and processing platform architecture based on distributed storage and computing is advanced,the bottleneck of traditional centralized storage and computing is broken through simultaneously.The result shows that the method can achieve efficient management and processing of GNSS data.

GNSS;big data;distributed storage;distributed computing

P228

A

2095-4999(2015)-04-0062-07

2014-10-16

国家自然科学基金资助项目(41274015);国家863计划资助项目(2013AA122501);地理信息工程国家重点实验室开放基金(SKLGIE2014-M-1-5,SKLGIE2014-M-1-6);信息工程大学地理空间信息学院硕士学位论文创新与创优基金(XS201501)。

李林阳(1991—),男,河南驻马店人,硕士生,主要研究方向为测量数据处理理论与应用。

李林阳,张友阳,李滨,等.海量GNSS数据分布式存储与计算方法[J].导航定位学报,2015,3(4):62-68.LI Linyang,ZHANG Youyang,LI Bin,et al.Distributed Storage and Computing Method of Massive GNSS Data[J].Journal of Navigation and Positioning,2015,3 (4):62-68.

10.16547/j.cnki.10-1096.20150412

猜你喜欢
海量数据管理分布式
一种傅里叶域海量数据高速谱聚类方法
基于大数据管理的管道智慧检验系统的研发及应用
基于RTDS的分布式光伏并网建模研究
企业级BOM数据管理概要
定制化汽车制造的数据管理分析
CTCS-2级报文数据管理需求分析和实现
海量快递垃圾正在“围城”——“绿色快递”势在必行
基于预处理MUSIC算法的分布式阵列DOA估计
一个图形所蕴含的“海量”巧题
基于DDS的分布式三维协同仿真研究