海量遥感数据分布式集群化存储技术研究*
2017-09-18鲁克文张英慧
季 艳,鲁克文,张英慧
1.北京市遥感信息研究所,北京 100192 2.中国电子科技集团公司 第十五研究所,北京 100083
海量遥感数据分布式集群化存储技术研究*
季 艳1+,鲁克文2,张英慧1
1.北京市遥感信息研究所,北京 100192 2.中国电子科技集团公司 第十五研究所,北京 100083
针对当前高分辨率遥感数据的高效存储与高速访问迫切需求,采用分布式架构、对象存储和集群技术,结合遥感数据的空间特性,构建了基于数据对象的存储组织模型,设计了全分布式的存储管理架构;形成了逻辑上全球覆盖,物理上分散存储,全球遥感数据存储视图一体化,数据高效共享的分布式集群化遥感大数据存储体系。通过使用此架构,可实现遥感数据资源配置的灵活化,业务区域化特征的定制化与个性化,以及管理系统的智能化。
遥感数据;高性能存储;分布式集群化;对象存储
1 引言
目前,高分辨率遥感影像数据已经成为土地监测、环境监测、植被、水体、农业和大气研究、地质灾害调查、军事国防等领域的重要基础资料[1]。随着高分辨率传感器技术的飞速发展,高分辨率遥感影像数据量呈几何级数增长,数据存储需求具有海量、多源、多尺寸、高并发等特点[2]。其中2011年上半年发射的资源三号卫星,可提供空间分辨率为2.5 m全色波段、10 m多光谱等影像数据[3],每天需要接收和存储的遥感数据达1.79 TB。并且随着高分辨率遥感影像应用的不断深入和发展,大规模数据密集型及计算密集型遥感业务应用需求也不断出现,如何将现有“独立存储、分散管理”的遥感影像数据[4],通过合适的存储模型和架构有效地“分布式存储、逻辑集中管理”成为急需解决的问题。因此,如何有效地组织存储海量高分辨率遥感影像数据,并设计符合遥感应用数据访问特点的存储管理架构,是当前高分辨遥感领域迫切需要研究的问题之一。
2 现有的解决方案分析
2.1 传统海量遥感数据存储技术
目前,海量遥感数据存储技术手段主要有支持大尺寸数据类型的传统关系数据库、基于关系数据库的空间数据中间件、网络附属存储(network attached storage,NAS)、存储域网络(storage area network,SAN)等网络存储、分布式文件系统等方式。
2.1.1 支持大尺寸数据类型的传统关系数据库
主要利用某些关系型数据库支持大尺寸数据类型这一特点来存储遥感数据。例如常见的BLOB、CLOB或DBCLOB数据类型,都可以存储较大容量的遥感影像数据[5]。另外,微软的SQL Server 2008还专门提供了Geography和Geometry空间数据类型,能够支持不同种类矢量地理元素的存储。
利用已有的关系型数据库进行遥感数据存储的最大优势是可以最大化复用成熟的数据库管理技术,显著降低系统和应用的开发难度。但是其缺点也显而易见,遥感影像数据是一种非结构化数据,而且单体的容量较大,传统关系型数据库对其支持有限,存储限制较多,性能瓶颈问题突出,高分辨率遥感数据的容量更是远超其承受范围。
2.1.2 基于关系数据库的空间数据中间件
主要的代表是Oracle公司的Oracle Spatial空间数据库管理引擎以及ERSI公司的ArcSDE空间数据管理中间件。Oracle Spatial能够将所有的地理空间数据类型(网络、拓扑、网格、矢量、栅格、影像)统一在标准的关系数据库中进行存储,并提供统一的数据管理接口,极大地减少了管理的成本、复杂性和开销[6]。ArcSDE为关系数据库提供了一个统一的开放接口,允许在Oracle,Microsoft SQL Server等不同的数据库平台存储并管理空间数据信息。
利用空间数据中间件进行遥感数据存储的优势是不但能够使用已有成熟的关系数据库解决方案,而且其针对遥感影像特点设计,提供统一的数据访问接口,方便上层应用的开发,有效地减少了相应的工作量。但是采用此技术同样会受制于关系数据库系统的存储管理能力,由于增加了中间层,性能瓶颈更加突出。
2.1.3 NAS、SAN等网络存储
NAS、SAN是为了解决单台存储设备容量极限问题,经常使用的通用海量数据存储方案。其能够将多个容量相对较小的存储节点,整合为大型、集中化管理的数据存储服务器,通过网络向其他服务器和应用提供存储服务。
利用NAS、SAN进行遥感数据存储的优势是存储容量大,数据传输速度快,架构简单,部署容易。但是面对海量遥感数据时,其存储容量很快达到瓶颈,而且没有很好的数据组织和访问手段,数据传输带宽和访问速度均无法很好地适应海量数据访问的情况。
2.1.4 分布式文件系统
分布式文件系统是通过计算机网络将物理分散的大量存储服务节点联系在一起,构建逻辑上统一的存储空间的中间件。分布式文件系统可以将遥感影像数据分别存储在各个节点上,通过网络进行数据的传输和共享[7]。
利用分布式文件系统进行遥感数据存储的优势是不用采购价格较贵的关系型数据库系统,降低了系统开发成本,并且多数分布式文件系统能够友好存储遥感影像数据,容量能够水平扩展,支持高并发访问,网络瓶颈问题可以通过简单升级网络带宽加以解决。但是分布式文件系统较多面向通用文件存储领域[8],使用常用的文件组织方式存储遥感数据,效率不能很好地发挥,而且其数据检索不是根据遥感数据特点定制,数据访问延迟会随数据存储量的巨量增长而有较大增加[9]。
2.2 常用的遥感数据存储架构
目前,流行的遥感影像数据存储架构主要包括集中式文件存储、分布式数据库以及分布式文件系统3种存储架构。
2.2.1 集中式文件存储架构
如图1所示,集中式文件存储架构将所有的遥感影像数据都保存在一个中心存储服务器,并且通过上层的文件系统对这些影像文件进行管理。
Fig.1 Architecture of centralized file storage图1 集中式文件存储架构
因为遥感影像数据是非结构化的数据,不适合使用关系数据库来存储,所以中心存储服务器利用文件系统管理维护所有的遥感影像数据,同时需要提供遥感数据的检索服务,对性能要求较高,所以中心存储服务器一般选用高性能服务器。
采用集中式文件存储架构能够减少整个系统的维护和管理工作量,部署和使用也较为简单[10],但是此架构数据冗余度大,系统的可扩展性差,中心存储服务器是整个系统的性能瓶颈,一旦中心存储服务器出现故障,则整个系统就会瘫痪。因此,集中式文件存储架构只适合较小规模的遥感影像数据存储服务,面对爆炸式增长的遥感影像数据,此架构无论在存储容量、访问速度和成本方面都不能达到要求。
2.2.2 分布式数据库
如图2所示,分布式数据库架构利用现有成熟的关系数据库技术,将遥感数据存储于数据库中,之上使用空间数据引擎技术,增加一层访问中间件,提供统一的数据访问接口。
Fig.2 Architecture of distributed database storage图2 分布式数据库存储架构
因为关系型数据库不适合存储非结构化影像数据,而且需要有相应的调度程序进行访问的转发,所以分布式数据库架构中除了关系数据库服务器外,还需要一个访问代理服务器。
采用分布式数据库架构,可以充分利用现有的成熟关系数据库技术[11],大大降低系统的开发难度,具有较好的安全性以及数据一致性。但是访问代理服务器需要对外提供统一访问接口,并进行访问请求的调度和转发,容易成为系统的瓶颈,而且传统关系数据库应对海量数据存储的能力有限,随着数据量的上升,其成本和访问延迟也增加明显[12]。
2.2.3 分布式文件系统
如图3所示,分布式文件系统架构是将分散的普通存储服务器组成一个逻辑集中的存储设备,常见的分布式文件系统包括NFS、AFS、CODA、GFS等[13]。
Fig.3 Architecture of distributed file system storage图3 分布式文件系统存储架构
分布式文件系统架构中遥感影像数据存储在各个节点上,其数据能够根据相应的算法进行均匀分布[14],而上层应用则可以像访问本地文件一样访问遥感数据。
采用分布式文件系统架构,能够很好地适应各种复杂的遥感影像数据,能够高效地对数据进行管理和维护,具有很好的可扩展性[15],能够充分利用各个节点的计算能力和存储能力。但是分布式文件系统没有针对遥感数据特别是高分辨率遥感数据的特点进行数据组织和访问优化,在面对海量遥感数据时也会出现较大的访问延迟,影响遥感数据的应用。
3 分布式集群化存储技术
传统的存储方法通常只考虑数据组织方式在数据结构上的差异,很少涉及面向业务应用的不同需求和存储特性。针对遥感数据的存储不但需要考虑遥感数据的地域性,将空间数据按地域分布进行分级分区存储,而且需要结合网络和计算机资源的特性,以及分布式服务和统一管理的现实要求。
传统的空间数据存储方式人为分割了地理对象的空间连续性,以固定大小数据块组织和存储复杂的空间实体。以对象为存储单元的存储系统既可以将海量遥感数据组织为统一存储空间的集合,还能够便于数据管理,满足深层次空间数据挖掘和应用的需要。
3.1 遥感数据存储系统架构
遥感数据存储系统架构如图4所示,根据节点在存储过程和访问过程中的功能将其分为4类:监控服务节点、遥感数据组织服务节点、存储节点和访问代理节点。其中,监控服务节点负责对其他节点及集群的运行状态进行监控,并及时反馈信息到合适的节点;数据组织服务节点负责提供遥感数据对象的逻辑视图,并根据情况从数据存储节点预取元数据信息;数据存储节点负责提供真正的存储空间,容纳遥感数据;访问代理节点负责接收转发外界的数据访问请求,并按照设定的策略进行安全认证和权限控制。
Fig.4 Architecture of remote sensing data storage system图4 遥感数据存储系统架构
各类节点通过网络互相联结,在结构上完全分布,没有固定意义的中心节点,一种节点损坏后不会影响其他类节点的正常工作,其中每类还可以扩展为多个节点,共同组成集群单元向外提供服务。在遥感数据存储信息的组织上,采用遥感元数据和数据“隔离访问,统一存储”的策略,将元数据和数据统一存储在遥感数据存储节点上,但工作时由遥感数据组织服务节点预先从遥感数据存储节点读取元数据,并向外提供服务。因此,此系统架构不仅可以提供很高的元数据和数据访问性能,极大地简化了内部工作流程,减少了软件复杂度,而且系统整体的伸缩性较好,理论上没有存储容量和访问带宽的瓶颈。
3.2 遥感数据存储组织模型
相对于其他非结构化数据,遥感影像数据因为其业务处理流程和应用方式,有自身独特的存储、处理和使用特点。完整的遥感影像数据至少包含如下五方面的信息:
(1)拍摄地区的经纬度信息,标明了地球的对应区域;
(2)分辨率信息,标明了遥感数据的可识别度;
(3)拍摄影像平台信息,标明了卫星、飞艇等拍摄平台的标识;
(4)传感器类型信息,标明了具体的型号,如CCD、Modis等;
(5)拍摄时间信息,标明了遥感数据的生成时间。
综上所述,对所有遥感影像数据可以构建标准化元数据描述方法,并以此可以建立针对遥感数据特点的存储组织模型,如图5所示。按照该方法处理遥感影像数据可以做到对影像数据的快速检索、快速传输、快速生产、快速浏览。
Fig.5 Remote sensing data storage organization model图5 遥感数据的存储组织模型
在对原始遥感影像数据进行预处理后,需要对遥感数据文件进行标准化命名。结合遥感影像数据的公共特点和属性,最终的遥感影像数据文件需要通过其文件名得知主要属性信息和物理存储路径。遥感影像数据文件的组织方法如下:
(1)获取每个遥感影像数据文件的主要属性信息,包括传感器类型、拍摄平台、图像分辨率、拍摄时间;
(2)此遥感影像数据文件按照“产品类型-传感器类型-拍摄平台-图像分辨率-拍摄时间-区域坐标.后缀名”进行唯一标识命名;
(3)将遥感数据文件的名称输入高速访问算法,由存储系统根据遥感数据本身特点、存储节点状态、存储安全策略等,将数据分布存储在各个存储节点上。
3.3 海量遥感数据高速访问技术
随着遥感特别是高分辨率遥感技术的发展,遥感数据应用已经面临海量存储、高速访问的现实需求,对目前的遥感数据存储技术提出了更高容量、更高性能的要求。
目前,人们公认的对象存储将是未来高性能存储的基础。基于对象存储技术构建遥感数据存储系统,不但存储容量可以在线扩展,而且具有较强的安全性;但是随着遥感数据对象数量的不断增长,由于传统文件系统的数据获取方法依靠表查询方式实现,遥感数据访问速度明显下降,不能很好地适应遥感应用中多源、高并发访问需求。本文基于伪随机和哈希技术构建了数据对象的物理位置查询方法,具有良好的海量数据访问适应性,延迟不会随数据对象增多而明显增大。
如图6所示,将遥感数据分配到具体的存储设备上需要经过4个阶段:首先,需要访问的遥感数据文件以“产品类型-传感器类型-拍摄平台-图像分辨率-拍摄时间-区域坐标.后缀名”命名,利用改良的哈希算法将此文件名作为输入,算出唯一的64位数据对象ID;接着,利用数据对象ID,和根据当前设备拓扑生成的存储区域掩码mask,算出此对象应该存储的区域,得到存储区域ID;之后,系统根据存储区域ID和数据对象ID,按照预定的存储策略,在指定的存储区域中找到一组合适的存储设备集;最后,由于大规模的分布式集群中宕机等使得部分节点可能失效,需要根据当前设备的运行状态过滤这些节点,筛选出数据对象存储的实际物理设备。
Fig.6 Algorithm of super-speed accessing massive remote sensing data图6 海量遥感数据高速访问算法流程
上面说明的算法流程中,不需要任何形式的文件或对象目录,只需要描述整个对象存储集群及其数据存放策略的层次化的全局信息,并保证整个存储系统中的每类节点都可以获得此全局信息。那么每个节点都能够独立计算出对象所在的位置,且计算的复杂度不会因为数据量的增长而增加,保证了数据访问的高效性。
4 结束语
现代存储技术正在向分布式、大规模集群化的方向发展,并面向具体的应用领域,出现更加专业化、专用化的趋势。本文结合遥感数据的时空特性,构建基于数据对象的存储组织模型,设计了分布式集群化的存储管理架构,给出了适合海量遥感数据的高速访问算法。但是,本文存储系统在数据去重、加密及访问安全认证方面较少涉及,需要在下一步的工作中研究和实践。
[1]Zhang Jiangling,Feng Dan.Massive information storage[M].Beijing:Science Press,2002:175-176.
[2]Wang Yanmin.Research of multi-scale GIS vector spatial data organization[D].Wuhan:Wuhan University,2002.
[3]Beckmann N,Kriegel H P,Schneider R,et al.The R*-tree:an efficient and robust access method for points and rectangles[C]//Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data,Atlantic City,USA,May 23-26,1990.New York:ACM,1990:322-331.
[4]Satyaaarayanan M,KisIler J J,Kumar P,et al.CODA:a highly available file system for a distributed workstation environment[J].IEEE Transactions on Computers,1990,38(4):447-459.
[5]Ma Ronghua,Huang Xingyuan.Distributed organization and management of massive data on large-scale GIS[J].Journal of Nanjing Unversity,2003,39(6):837-838.
[6]Guttman A.R-trees:a dynamic index structure for spatial searching[J].ACM SIGMOD Record,1984,14(2):47-57.
[7]Levy E,Silberschatz A.Distributed file systems:concepts and examples[J].ACM Computing Surveys,1990,22(4):321-374.
[8]Shacham H,Waters B.Compact proofs of retrievability[J].Journal of Cryptology,2013,26(3):442-483.
[9]Ren Kui,Wang Cong,Wang Qian.Security challenges for the public cloud[J].IEEE Internet Computing,2012,16(1):69-73.
[10]Ateniese G,Fu K,Green M,et al.Improved proxy re-encryption schemes with applications to secure distributed storage[J].ACM Transactions on Information and System Security,2006,9(1):1-30.
[11]Albani S,Giaretta D.Long-term preservation of earth observation data and knowledge in ESA through CASPAR longterm preservation of earth observation data and knowledge in ESA through CASPAR[J].International Journal of Digital Curation,2009,4(3):4-16.
[12]Beruti V,Forcada M E,Albani M,et al.ESA plans-a pathfinder for long term data preservation[C]//Proceedings of the 7th International Conference on Preservation of Digital Objects,Vienna,Austria,Sep 19-24,2010.[S.l.]:Austrian Computer Society,2010:23-25.
[13]Nakajima K.Preconditioned iterative linear solvers for unstructured grids on the earth simulator[C]//Proceedings of the 7th International Conference on High Performance Computing and Grid in Asia Pacific Region,Monterrey,Jul 20-22,2004.Washington:IEEE Computer Society,2004:150-160.
[14]Zhu Yifeng,Jiang Hong,Wang Jun.HBA:distributed metadata management for large cluster-based storage systems[J].IEEE Transactions on Parallel&Distributed Systems,2008,19(6):750-763.
[15]Wu Jianjian,Liu Pangfeng,Chung Y C.Metadata partitioning for large-scale distributed storage systems[C]//Proceedings of the 3rd International Conference on Cloud Computing,Miami,USA,Jul 5-10,2010.Washington:IEEE Computer Society,2010:212-219.
附中文参考文献:
[1]张江陵,冯丹.海量信息存储[M].北京:科学出版社,2002:175-176.
[2]王晏民.多比例尺GIS矢量空间数据组织研究[D].武汉:武汉大学,2002.
[5]马荣华,黄杏园.大型GIS海量数据分布式组织与管理[J].南京大学学报,2003,39(6):837-838.
季艳(1975—),女,江苏扬州人,2011年于北京航空航天大学计算机应用技术专业获得博士学位,现为北京市遥感信息研究所研究员,主要研究领域为大数据处理与应用。
LU Kewen was born in 1986.He received the M.S.degree in computer science and technology from Beijing University of Posts and Telecommunications in 2011.Now he is an engineer of CETC15.His research interest is the storage,management and processing of big data.
鲁克文(1986—),男,河南南阳人,2011年于北京邮电大学计算机科学与技术专业获得硕士学位,现为中国电子科技集团公司第十五研究所工程师,主要研究领域为大数据存储、管理与处理。
ZHANG Yinghui was born in 1975.He received the Ph.D.degree in management science from Beijing University of Aeronautics and Astronautics in 2016.Now he is a researcher at Beijing Remote Sensing Information Institute.His research interest is big data application.
张英慧(1975—),男,山东寿光人,2016年于北京航空航天大学管理科学专业获得博士学位,现为北京市遥感信息研究所研究员,主要研究领域为大数据应用。
Research on Distributed Clustering Storage Technology for Massive Remote Sensing Data*
JI Yan1+,LU Kewen2,ZHANG Yinghui1
1.Beijing Remote Sensing Information Institute,Beijing 100192,China 2.The 15th Research Institute,China Electronics Technology Group Corporation,Beijing 100083,China
For the urgent needs of the high-resolution earth observation remote sensing data storage and the highspeed access,this paper uses the distributed architecture,object storage and clustering technology,combines the spatial characteristics of remote sensing data to build organizational model based on the data object,designs a storage management architecture with the spatial position as the leading.A remote sensing big data storage system with efficient sharing of distributed cluster can be reformed,that is a global coverage in logic,a dispersed storage in physics and an integration of the storage views of global data.By this architecture,the flexibility of remote sensing data resources configuration,the customization and personalization of business regionalization,and the intelligence of management systems can be achieved.
remote sensing data;high-performance storage;distributed clustering;object storage
the Ph.D.degree in computer application technology from Beijing University of Aeronautics and Astronautics in 2011.Now she is a researcher at Beijing Remote Sensing Information Institute.Her research interest is big data processing and application.
2016-07, Accepted 2016-09.
A
TP751
+Corresponding author:E-mail:jy197541@163.com
JI Yan,LU Kewen,ZHANG Yinghui.Research on distributed clustering storage technology for massive remote sensing data.Journal of Frontiers of Computer Science and Technology,2017,11(9):1398-1404.
10.3778/j.issn.1673-9418.1608049
*The National High Technology Research and Development Program of China under Grant No.2013AA7013040(国家高技术研究发展计划(863计划)).
CNKI网络优先出版: 2016-09-08, http://www.cnki.net/kcms/detail/11.5602.TP.20160908.1047.030.html