一种算法调度方法、数据处理流程驱动方法及装置制造方法及图纸

技术编号:29672482 阅读:23 留言:0更新日期:2021-08-13 21:54
本申请实施例提供一种算法调度方法、数据处理流程驱动方法及装置,涉及遥感数据处理技术领域。该方法包括轮询动态队列服务,以获取动态任务队列中待执行的算法任务;执行所述算法任务;将所述算法任务的执行结果发送至状态机服务,以使所述状态机服务根据所述执行结果更新算法执行状态,并根据流程定义调整动态任务队列中待执行的算法任务;基于状态机服务和动态队列的业务流程驱动和监控技术以及基于轮询的算法任务执行模型,解决了现有方法无法管理更新大量的遥感影像处理算法,方便灵活的进行流程编排和调度监控各种遥感影像数据处理任务的问题。

【技术实现步骤摘要】
一种算法调度方法、数据处理流程驱动方法及装置
本申请涉及遥感数据处理
,具体而言,涉及一种算法调度方法、数据处理流程驱动方法及装置。
技术介绍
随着对地观测卫星发射技术和遥感影像获取方式的飞速发展,遥感卫星的数量和遥感影像数据都呈现出爆发式增长,卫星和载荷传感器的种类越来越多,遥感影像处理的算法也随之快速增加,并且在各种实际应用中,使用到的算法和处理流程随着业务场景的不同也不尽相同。现有的常用的业务流程管理(BPM)无法应对大中型复杂的任务管理,而采用消息中间件的流程编排调度,随着算法数量的增长和流程复杂度的增加,对流程进度的可见性越来越差,消息中间件已不能满足遥感影像处理算法长时间处理大量数据的密集计算的能力,因此现有方法无法管理更新大量的遥感影像处理算法,方便灵活的进行流程编排和调度监控各种遥感影像数据处理任务。
技术实现思路
本申请实施例的目的在于提供一种算法调度方法、数据处理流程驱动方法及装置,基于状态机服务和动态队列的业务流程驱动及监控技术加上基于轮询的算法任务执行模型,解决现有方法无法管理更新大量的遥感影像处理算法,方便灵活的进行流程编排和调度监控各种遥感影像数据处理任务的问题。本申请实施例提供了一种算法调度方法,应用于工作节点,所述方法包括:轮询动态队列服务,以获取动态任务队列中待执行的算法任务;执行所述算法任务;将所述算法任务的执行结果发送至状态机服务,以使所述状态机服务根据所述执行结果更新算法执行状态,并根据预先设定的流程定义调整动态任务队列中待执行的算法任务。在上述实现过程中,状态机服务用来管理和驱动流程的执行,动态队列服务用于管理算法任务队列,供工作节点获取算法任务,工作节点分布在集群中的计算节点中用来执行算法,并向状态机服务发送执行状态,该方法解决了基于传统BPM和基于消息中间件来驱动算法任务执行的各种问题,易于扩展,可以根据虚拟队列中任务的排队情况基于云计算技术实现工作节点的自动伸缩,轻松支持数以万计的算法流程并行执行,尤其适用于遥感大数据处理算法流程的实时调度。进一步地,所述轮询动态队列服务,以获取动态任务队列中的算法任务,包括:通过HTTP协议与所述动态队列服务建立通信连接;通过轮询模型获取所述动态任务队列中的待执行算法任务。在上述实现过程中,通过HTTP轮询来拉取任务,工作节点获取到算法任务后并不会像消息中间件一样一直保持一个TCP连接,因此解决了由单个算法执行时间过长引起消息中间件崩溃的问题。进一步地,所述执行结果包括算法任务完成、失败和异常,所述将所述算法任务的执行结果发送至状态机服务,包括:通过HTTP协议将所述执行结果发送至所述状态机服务。在上述实现过程中,在算法任务失败、完成或者异常时,通过HTTP协议主动告知状态机服务,状态机服务接收到事件后对流程状态进行更新,并调整动态队列中待执行的算法任务,来驱动流程的下一步执行。本申请实施例还提供一种数据处理流程驱动方法,应用于状态机服务,所述方法包括:接收工作节点发送的算法执行结果对应的工作流事件;根据所述工作流事件,获取对应的工作流定义和工作流当前的工作状态,以选择下一待执行算法或者结束流程;将所述下一待执行算法发送至对应的动态任务队列中,并更新算法和流程的执行状态。在上述实现过程中,状态机服务通过接收工作节点的执行结果从而更新流程状态,用于管理和驱动流程的执行,利用微服务、云计算和大数据技术实现了遥感算法的灵活调度与编排。本申请实施例还提供一种算法调度装置,所述装置包括:轮询模块,用于轮询动态队列服务,以获取动态任务队列中待执行的算法任务;执行模块,用于执行所述算法任务;发送模块,用于将所述算法任务的执行结果发送至状态机服务,以使所述状态机服务根据所述执行结果更新算法执行状态,并根据预先设定的流程定义调整动态任务队列中待执行的算法任务。在上述实现过程中,通过动态队列服务、状态机服务以及工作节点的相互配合,实现基于云原生的算法驱动与调度,解决了基于传统BPM和基于消息中间件来驱动算法任务执行的各种问题,易于扩展,可以根据虚拟队列中任务的排队情况基于云计算技术实现工作节点的自动伸缩,轻松支持数以万计的算法流程并行执行,尤其适用于遥感大数据处理算法流程的实时调度。本申请实施例还提供一种数据处理流程驱动方法装置,所述装置包括:接收模块,用于接收工作节点发送的算法执行结果对应的工作流事件;处理模块,用于根据所述工作流事件,获取对应的工作流定义和工作流当前的工作状态,以选择下一待执行算法或者结束流程;更新模块,用于将所述下一待执行算法发送至对应的动态任务队列中,并更新算法和流程的执行状态。在上述实现过程中,状态机服务用于更新流程状态并用于管理和驱动流程的执行,从而实现大规模遥感算法流程的有序执行。本申请实施例还提供一种基于云原生的流程驱动装置,所述装置包括:状态机服务,用于更新算法和流程执行状态,并调整动态任务队列中待执行的算法任务;动态队列服务,用于对不同的算法建立对应的动态任务队列;至少一个工作节点,分布于集群的计算节点中,用于执行算法并向所述状态机服务发送算法执行状态。在上述实现过程中,状态机服务用来管理和驱动流程的执行;动态队列服务用于管理算法任务队列,供工作节点获取算法任务;工作节点分布在集群中计算节点中用来执行算法,并向状态机服务发送算法执行状态,可以根据虚拟队列中任务的排队情况基于云计算技术实现工作节点的自动伸缩,轻松支持数以万计的算法流程并行执行,尤其适用于遥感大数据处理算法流程的实时调度。进一步地,所述装置还包括:基础引擎,用于提供流程管理监控的API接口并解耦底层的存储实现;数据库和索引库,用于存储流程元数据和流程的执行状态信息。在上述实现过程中,通过基础引擎提供基础的管理监控API并且解耦底层的存储实现,用户可以根据自己的需要选择适配不同的数据库和索引库。本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述中任一项所述的算法调度方法。本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的算法调度方法。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例提供的一种基于云原生的流程驱动装置的结构框图;图2为本申请实施例提供的算法调度方法的流程图;图3为本申请实施例提本文档来自技高网...

【技术保护点】
1.一种算法调度方法,其特征在于,应用于工作节点,所述方法包括:/n轮询动态队列服务,以获取动态任务队列中待执行的算法任务;/n执行所述算法任务;/n将所述算法任务的执行结果发送至状态机服务,以使所述状态机服务根据所述执行结果更新算法执行状态,并根据预先设定的流程定义调整动态任务队列中待执行的算法任务。/n

【技术特征摘要】
1.一种算法调度方法,其特征在于,应用于工作节点,所述方法包括:
轮询动态队列服务,以获取动态任务队列中待执行的算法任务;
执行所述算法任务;
将所述算法任务的执行结果发送至状态机服务,以使所述状态机服务根据所述执行结果更新算法执行状态,并根据预先设定的流程定义调整动态任务队列中待执行的算法任务。


2.根据权利要求1所述的算法调度方法,其特征在于,所述轮询动态队列服务,以获取动态任务队列中的算法任务,包括:
通过HTTP协议与所述动态队列服务建立通信连接;
通过轮询模型获取所述动态任务队列中的待执行算法任务。


3.根据权利要求1所述的算法调度方法,其特征在于,所述执行结果包括算法任务完成、失败和异常,所述将所述算法任务的执行结果发送至状态机服务,包括:
通过HTTP协议将所述执行结果发送至所述状态机服务。


4.一种数据处理流程驱动方法,其特征在于,应用于状态机服务,所述方法包括:
接收工作节点发送的算法执行结果对应的工作流事件;
根据所述工作流事件,获取对应的工作流定义和工作流当前的工作状态,以选择下一待执行算法或者结束流程;
将所述下一待执行算法发送至对应的动态任务队列中,并更新算法和流程的执行状态。


5.一种算法调度装置,其特征在于,应用于工作节点,所述装置包括:
轮询模块,用于轮询动态队列服务,以获取动态任务队列中待执行的算法任务;
执行模块,用于执行所述算法任务;
发送模块,用于将所述算法任务的执行结果发送至状态机服务,以使所述状态机服务根据所述...

【专利技术属性】
技术研发人员:王宇翔马海波管占磊沈磊郭洪钱晓明
申请(专利权)人:航天宏图信息技术股份有限公司上海宏图空间网络科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1