论文部分内容阅读
在大数据背景下,空间分析作为地理信息服务的核心,呈现出两种主要发展趋势。一是大规模空间数据的精确分析。随着空间数据采集技术的进步,人们可以获得的空间更加广泛,空间数据规模不断扩大,空间数据分析精度不断提高。二是空间分析服务的实时化需求。空间分析的应用场景已经由专业用户的科学分析普及到大众用户的生活服务。特别是在互联网+的应用场景中用户对空间分析的实时性提出了更高的要求。空间分析对海量空间数据的分析处理能力直接影响地理信息系统的整体服务性能。特别是以矢量数据模型为分析对象的空间分析算法,在空间对象表达,存储空间和分析精度上具有较多优势,是并行空间分析算法研究的重点。 随着空间分析数据规模不断扩大和应用需求的不断提高,已有串行空间分析方法已经无法满足空间应用对算法性能的需求。以并行计算技术提高空间分析算法性能成为研究热点。但是,在矢量空间分析算法中,算法种类繁多,空间数据聚集性和不均匀性,及复杂的拓扑关系对计算负载的均衡性提出了挑战,使并行矢量空间分析关键技术成为研究难点和重点。 本课题是在国家863项目“基于先进计算架构的高性能空间分析中间件”,“面向新型硬件架构的复杂地离计算平台”以及自然科学基金青年基金“面向云计算的海量时空数据建模及土地资源时空数据高效管理示范应用研究”等课题支持下展开的。课题针对多核处理器和并行集群架构,以并行计算技术、地理信息技术、内存计算技术等为技术基础,基于现有串行矢量空间分析算法,解决并行空间分析的关键技术,研发一套高性能的矢量空间分析算法中间件,实现在大数据量下的复杂空间计算。本课题取得的创新性研究成果如下: (1)提出一种面向集群环境的矢量空间分析并行化技术。针对不同矢量空间分析算法的数据类型和操作类型,提出了叠加分析和缓冲区分析等算法的并行策略和方法。通过动态容差计算,能有效确保并行算法的正确性;采用外包过滤,能够有效减少各个子进程中计算任务的计算范围,提高子进程计算效率;采用动态树归并方法,能有效通过后处理方式减少数据归并阶段主进程的负担,提高并行算法的负载均衡性。与传统并行空间分析算法相比,本文提出的矢量空间分析并行化方法能够在保持原有高效串行算法的基础上,获得较高并行计算效率。在计算核数较少时,本方法相比传统方法具有并行效率高,扩展性好的特点。在高性能集群环境中,能完成传统空间分析算法无法完成的大数据量复杂空间分析任务。 (2)提出并实现了一种基于空间聚集度的矢量数据划分和字符串拼接策略。基于空间聚类的思想,利用空间填充曲线对矢量空间数据进行编码,以确保空间要素的邻近性特征,并以要素填充的形式实现各个子任务中被分配的空间要素数据规模相对均衡。针对矢量空间数据在合并过程中序列化与反序列化开销大的瓶颈问题,提出了字符串拼接策略,优化了WKB结构,减少了合并过程中子进程数据的序列化与反序列化操作次数,有效提高并行算法效率。与传统方法相比,基于本文空间数据划分和归并策略的并行矢量空间分析算法不仅能够有效提高各个计算任务的负载均衡性,并且能够优化子任务计算效率。经试验验证,平均计算时间提升约30%,负载均衡度提高约10%,随着参与运算的核数增多,对并行算法整体效率的优化效果越明显。 (3)设计并实现了一种基于全内存的矢量空间数据存取方法。针对矢量空间分析算法数据密集型特征造成的I/O性能瓶颈,利用内存拷贝效率远大于内外存设备数据访问效率的特点,设计了全内存矢量空间数据存取模型,并精简了计算过程中SIC数据模型来提高空间数据的序列化与反序列化操作效率,提高了空间数据在分析算法中的存取效率。在实验结果中,本文提出的全内存矢量空间数据存取技术与传统文件系统相对比,典型算法数据I/O阶段的效率提升2倍以上,在计算内核数目较多的并行算法中,能够有效提高并行算法并行效率。 为验证本课题研究成果,本文提出了并行矢量空间分析算法评测技术,通过算法正确性和算法效率的验证,证明基于本文研究成果的空间分析中间件能够在确保算法正确性的前提下通过并行计算技术有效提高算法效率。本文研制的并行空间分析中间件系统已经集成在VegaGIS和HiGIS等大型GIS平台,并在“住房选址”等应用案例中获得实际验证。