面向复杂空间数据的并行处理方法及系统与流程
本发明涉及自然资源信息化,具体涉及面向复杂空间数据的并行处理方法及系统。
背景技术:
1、自然资源行业的核心生产要素是由点、线、面要素构成的矢量空间数据,在国土空间规划、土地利用调查、资源环境承载能力评价等典型业务场景中,空间数据呈现数据规模大(图斑数量通常在十万至百万级别以上,单数据集可达gb级)、运算复杂度高(需进行空间叠加分析、缓冲区分析、拓扑检查等复杂运算)、输出形式多样(需生成word文档、图片图集、ppt汇报材料、空间数据集等)、数据来源多元(涉及遥感影像、土地利用现状、规划成果等多类型数据综合分析)等显著特征。典型业务场景下的空间数据集通常包含10万至100万级图斑,单数据集规模可达gb级,且需开展空间叠加分析、缓冲区分析、拓扑检查等高复杂度运算,最终输出往往要求同时覆盖空间数据集、专题图片、ppt汇报图集、word分析报告等多模态成果,现有处理技术难以同时满足高效率、高可靠性、轻量部署的业务需求,成为自然资源行业数字化转型的核心瓶颈。
2、当前面向空间数据的并行处理技术主要分为2大类:
3、一类是通用分布式计算框架,典型代表包括celery异步任务队列、airflow工作流编排引擎、apache spark分布式计算引擎等,这类方案提供了通用的分布式任务调度能力,但均不具备空间数据原生感知能力,未内置空间索引构建、坐标转换、gis服务调用等适配空间数据处理的专属功能,若应用于自然资源业务场景需开展大量二次开发,开发适配成本高且灵活性差;
4、另一类是gis领域专用方案,典型代表包括arcgis geoanalytics server矢量大数据分析工具、geomesa分布式时空数据存储引擎、geotrellis栅格数据处理框架等,这类方案在空间数据存储、查询、服务发布等维度具备优势,但普遍缺失业务级的通用任务调度框架,未形成“任务拆分-分发-执行-状态管理-结果聚合”的完整闭环,且多绑定特定厂商生态或依赖hadoop、spark等重型基础组件,部署运维门槛极高,不适用于自然资源行业常见的中等规模业务场景。
5、现有2类技术方案均存在以下难以克服的共性缺陷:
6、空间感知能力缺失,通用框架无空间数据适配逻辑,gis专用方案也未针对空间数据的分布特征优化任务分区逻辑,多采用固定数量线性拆分方式,导致同一子任务内的空间要素分布离散,gis服务端缓存频繁淘汰,处理效率受限;
7、负载均衡非自适应,现有方案多采用集中式调度模式,依赖预设的资源量估算分配任务,无法根据工作节点的实时处理能力动态调整,易出现高性能节点资源闲置、低性能节点过载的失衡问题;
8、容错机制粗放,多采用任务级一次性失败标记或节点级任务整体迁移的容错逻辑,未针对网络波动、服务瞬时不可用等偶发性故障设置分级重试机制,任务整体错误率居高不下;
9、多模态输出能力缺失,现有方案的输出仅支持原始数据、地图瓦片或服务接口,无法适配国土空间规划领域对ppt图集、word报告等办公文档的自动化生成需求;
10、任务自定义门槛高,通用框架需开发人员掌握消息协议、分布式锁等底层逻辑,gis专用方案多仅提供预置分析工具,业务开发人员难以快速接入新的处理需求,响应业务迭代的效率极低。部署运维重型,现有gis专用方案多依赖hadoop、spark、分布式数据库或arcgis enterprise等重型组件,部署成本高、运维复杂,不适用于自然资源行业常见的中等规模业务场景。
11、需要说明的是,celery、airflow等通用框架虽可实现基本分布式任务调度,但不具备空间数据感知能力,且不支持多模态结果聚合输出;spark、geomesa、geotrellis等大数据生态方案虽具备分布式空间数据处理能力,但部署重型且缺少业务级任务调度框架层;arcgis geoanalytics server强绑定esri封闭生态且无分级重试容错机制;直接http通信替代消息队列方案需自行实现负载均衡和任务锁定,复杂度高且可靠性差。此外,现有分布式空间数据处理方案多针对特定数据类型的固定任务设计,其任务拆分、分发和结果聚合逻辑与具体业务紧密耦合,业务数据类型变更时需大量重构调度层代码,缺乏业务无关的泛型化任务抽象能力。
12、综上,现有技术无法在单一架构下同时实现空间数据原生感知、自适应负载均衡、精细化容错、多模态成果输出与轻量部署,难以满足自然资源行业复杂空间数据的高效处理需求,因此亟需一种面向复杂空间数据的并行处理框架及系统。
技术实现思路
1、本发明提供一种面向复杂空间数据的并行处理方法及系统,解决了现有空间数据并行处理技术无法在单一架构下兼顾空间数据原生感知、自适应负载均衡、精细化容错与多模态输出能力的技术问题。
2、本发明通过下述技术方案实现:
3、第一方面,本技术提供了一种面向复杂空间数据的并行处理方法,包括:
4、接收空间业务任务,抽象空间业务任务为包含空间范围、坐标系和gis服务地址的空间任务对象;
5、基于空间邻接关系对空间任务对象进行聚类分组,并按空间填充曲线对分组后的子任务进行排序,生成有序子任务序列后入队;
6、通过消息队列的pull模式,由工作节点主动拉取子任务并执行空间计算,得到子任务执行结果;
7、对子任务的生命周期状态进行多级状态机管理,并基于分级重试策略对异常状态的子任务执行重入队操作;
8、基于缓存感知调度策略,将空间相邻子任务绑定至同一工作节点,并根据缓存命中率反馈动态调整全局并发度;
9、通过多阶段聚合管线对子任务执行结果执行多阶段聚合处理,输出多模态处理结果。
10、进一步优化方案为,所述通过消息队列的pull模式,由工作节点主动拉取子任务并执行空间计算,具体包括:
11、工作节点启动时向主应用执行动态注册,并周期性发送心跳保活信号;
12、工作节点根据自身实时算力,从消息队列中排他性拉取与之匹配的子任务;
13、主应用基于工作节点的心跳保活信号动态感知工作节点的在线状态与负载情况,实现去中心化的自适应负载均衡。
14、进一步优化方案为,所述基于空间邻接关系对空间任务对象进行聚类分组,并按空间填充曲线对分组后的子任务进行排序,具体包括:
15、基于r树空间索引构建与空间邻接关系实施聚类分组;
16、结合图斑面积与顶点数量评估子任务复杂度,对分组结果进行负载均衡调整;
17、按空间填充曲线对调整后的子任务进行序列化入队,以维持地理空间的局部连续性。
18、进一步优化方案为,所述对子任务的生命周期状态进行多级状态机管理,并基于分级重试策略对异常状态的子任务执行重入队操作,具体包括:
19、定义包含至少六个状态层级的多级状态机,所述状态层级至少包括待处理状态、运行中状态、成功状态、第一级错误状态、第二级错误状态和失败状态;
20、当子任务执行失败时,将其状态置为第一级错误状态并允许重入队列再次执行;
21、当子任务再次执行失败时,将其状态置为第二级错误状态并允许执行最后一次重试;
22、当子任务最后一次重试后仍执行失败时,将其状态置为失败状态;
23、在结果汇总阶段支持严格容错模式与宽松容错模式两种汇总策略。
24、进一步优化方案为,所述基于缓存感知调度策略,将空间相邻子任务绑定至同一工作节点,并根据缓存命中率反馈动态调整全局并发度,具体包括:
25、基于空间感知分区的聚类结果,将空间相邻的子任务按空间填充曲线排序后推入任务队列;
26、通过多队列分组管理,将同一空间聚类的子任务绑定至特定工作节点,以适配gis服务的本地缓存特性;
27、实时监测gis服务缓存命中率,当缓存命中率低于预设命中率阈值时降低全局并发度以适配缓存存储约束;
28、当缓存命中率高于预设命中率阈值时提升全局并发度以提高整体吞吐。
29、进一步优化方案为,所述多阶段聚合处理依次包括结果收集阶段、结果校验阶段、格式转换阶段、结果合并阶段与多模态输出阶段;
30、所述结果校验阶段至少包括对数据完整性与逻辑一致性的校验;
31、所述格式转换阶段至少包括坐标系转换与数据格式标准化;
32、所述结果合并阶段至少包括空间叠加分析与属性信息挂接;
33、所述多模态输出阶段输出的处理结果至少包括空间数据集、图片集、ppt图集和word报告中的一种或多种。
34、进一步优化方案为,所述抽象空间业务任务为包含空间范围、坐标系和gis服务地址的空间任务对象,具体包括:
35、定义subtask泛型类与subtaskresult泛型类,并封装原生集成空间范围、坐标系及gis服务地址的gisinfo数据类;
36、业务接入时仅需实现任务拆分方法、业务处理方法及结果聚合方法,任务调度层通过泛型接口与业务层解耦。
37、第二方面,本技术提供了一种面向复杂空间数据的并行处理系统,包括:
38、任务抽象模块,用于将接收到的空间业务任务抽象为包含空间范围、坐标系和gis服务地址的空间任务对象;
39、空间分区模块,用于基于空间邻接关系对空间任务对象进行聚类分组,并按空间填充曲线对分组后的子任务进行排序,生成有序子任务序列;
40、消息调度模块,用于通过消息队列的pull模式,由工作节点主动拉取子任务并执行空间计算;
41、状态管理模块,用于对子任务的生命周期状态进行多级状态机管理,并基于分级重试策略对异常状态的子任务执行重入队操作;
42、缓存感知模块,用于基于缓存感知调度策略,将空间相邻子任务绑定至同一工作节点,并根据缓存命中率反馈动态调整全局并发度;
43、结果聚合模块,用于通过多阶段聚合管线对子任务执行结果执行多阶段聚合处理,输出多模态处理结果。
44、进一步优化方案为,采用主从架构结合消息队列设计,自上而下划分为业务应用层、任务调度层、节点执行层和基础设施层,各层通过泛型接口解耦;
45、所述消息调度模块还用于在工作节点启动时执行动态注册与心跳保活,并基于工作节点的心跳保活信号动态感知工作节点的在线状态与负载情况;
46、所述状态管理模块定义的多级状态机包含至少六个状态层级,至少包括待处理状态、运行中状态、成功状态、第一级错误状态、第二级错误状态和失败状态。
47、进一步优化方案为,所述结果聚合模块执行的多阶段聚合处理依次包括结果收集阶段、结果校验阶段、格式转换阶段、结果合并阶段与多模态输出阶段;
48、所述任务抽象模块封装的gisinfo数据类原生集成空间范围、坐标系及gis服务地址,以使系统具备空间感知能力;
49、所述多模态输出阶段输出的处理结果至少包括空间数据集、图片集、ppt图集和word报告中的一种或多种。
50、本发明与现有技术相比,具有如下的优点和有益效果:
51、通过抽象空间业务任务为包含空间范围、坐标系和gis服务地址的空间任务对象使框架具备空间数据感知能力,配合基于空间邻接关系的聚类分组与空间填充曲线排序,使工作节点连续获取空间相邻的子任务,进而结合缓存命中率反馈动态调整全局并发度以提升缓存命中率,同时利用工作节点的主动拉取模式实现负载自动均衡,并且通过多级状态机与分级重试机制降低偶发性故障导致的整体错误率,最终由多阶段聚合管线将子任务执行结果合并为空间数据集、图片集、ppt图集和word报告等多种模态的处理结果,并且整个系统无需依赖hadoop、spark等重型基础组件,仅需主应用、工作节点及消息队列即可轻量部署运行。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com