关键词:
复合条件查询
空间数据
检索系统
性能优化
数据管理
摘要:
位置信息检索系统能够对空间中地理实体的空间几何拓扑信息和实体的属性信息等进行特定数据分析、处理和结果反馈。现有的位置信息检索系统普遍缺乏进行多个复合条件查询的能力。现有系统通常采用单一数据源作为空间查询基础,数据丰富度不足以支撑复合条件查询。此外,空间数据复杂的时空特性、多维性和海量数据等特点,增加了系统开发和维护难度,使得复合条件查询往往只应用于特定领域以减少系统复杂度。更主要的,复合条件查询涉及大量复杂的空间计算,当复合条件和空间数据量增多时,现有空间索引无法从全局视角对查询进行优化,导致系统性能达不到使用要求。因此,研究一种性能优异且能够满足广泛查询需求的支持复合条件查询的位置信息检索系统是必要的。本文的主要设计与实现工作如下:(1)本文设计出一种能够满足多种行业需求的复合条件查询规则,使用地理实体自身的属性进行筛选,并利用与空间中其他地理实体的空间拓扑关系和数量关系进行限制。对于查询性能考虑,针对不同数据特点,灵活设置数据索引和存储方式。其次,将复合条件查询进行步骤分解,并运用动态调整机制,使后续步骤的执行策略能够根据前续结果灵活调整,以减少查询整体执行时间。特别的,空间关系计算阶段根据前续结果有三种不同的计算策略,能够最大程度的减少空间计算的总次数,弥补了现有空间索引的不足。最后,以30万条POI数据为基础,针对不同阶段的优化工作进行了性能比较,复合条件查询性能有了极大的提升,验证了设计的有效性。(2)以上述复合条件查询为核心,通过中间件和多种软件框架实现了位置信息检索系统,涵盖组件化前端、数据ETL任务及管理、复合条件查询、用户及权限管理、其他地图相关功能等。其中,针对地理数据爬取,设计并实现了 GeoThreadPool线程池,能够自动对爬取区域进行分解并能根据数据源的请求接口特点,灵活调整数据爬取的线程数量和爬取频率。最后对系统在功能及性能方面进行了测试,测试结果验证了功能的有效性和可靠性,能够满足系统设计需求。