一种多星遥感数据处理系统的制作方法_3

文档序号:9375370阅读:来源:国知局
表。
[0078] 步骤6,若在更新周期内存在未向负载均衡调度器发送节点信息的所述资源节点, 则在负载表中,将该所述资源节点设置为不可达节点,即在负载表中,将该节点对应的表项 置为无穷大,表示该节点不可达。
[0079] 步骤7,若在下一更新周期收到不可达节点发送的节点信息,则更新该不可达节点 的表项,将其重置为可达的资源节点。
[0080] 应用服务层4针对多星遥感数据处理系统中有关资源共享和协同的应用需求,在 网络平台体系结构的指导下,为用户提供任务管理调度、服务流程编排、系统运行监控、业 务效果评估、需求观测分析、组件管理服务、并行计算策略、资源管理策略、浏览查询、分析 统计等多种服务。这些服务通过SOA总线统一对外以界面的形式发布,供界面客户端和其 他分系统使用。
[0081] 此外,应用服务层4提供业务组件定制,并通过定制的业务组件和基础服务层的 负载均衡调度器,实现多星遥感数据的任务调度与流程控制,完成对任务、子任务、作业等 多级灵活调度策略。本实施例的多级调度主要分为订单、任务、作业三个层次,其中订单可 以分解为任务,任务可以分解为作业,作业是最小的调度单位。
[0082] 如图2所示,对于管理节点,应用服务层定制的业务组件包括:
[0083] 第一外部接口适配组件401,用于实现多星遥感数据处理系统与外部系统的交互。
[0084] 调度扩展策略组件402,用于结合第一外部接口适配组件,生成分别用于存储遥感 数据中的订单和任务的订单/任务管理池403。
[0085] 节点管理组件404,用于提供集群中各资源节点的节点信息。
[0086] 流程配置管理组件405,用于提供订单对应的流程信息。
[0087] 流程控制与调度组件406,用于提取订单/任务管理池中未处理的订单,并根据流 程配置管理组件提供的订单对应的流程信息,实现订单到任务的分配,再根据节点管理组 件提供的节点信息,将任务分配到不同的节点上进行处理。
[0088] 第一数据库管理组件407,其用于保存流程执行过程中的订单/任务信息和日志 信息。
[0089] 此外,还设置有订单统计模块408、参数配置模块409和错误信息收集模块410,分 别用于订单统计、参数配置和错误信息收集。
[0090] 管理节点的流程控制与调度组件将任务分配到不同的节点上进行处理后,相应的 处理节点也是通过在应用服务层定制的相应业务组件进行任务处理的,处理节点定制的业 务组件包括第二外部接口适配组件411、任务扩展组件412、队列配置管理组件414、工作队 列处理组件415和第二数据库管理组件416。
[0091] 所述第二外部接口适配组件411,用于实现与流程控制与调度组件的交互。
[0092] 所述任务扩展组件412,用于结合第二外部接口适配组件,生成分别用于存储任务 的任务管理池413。
[0093] 所述队列配置管理组件414,用于提供任务对应的队列信息。
[0094] 所述工作队列处理组件415,用于提取任务管理池中未处理的任务,并根据队列配 置管理组件提供的队列配置信息,选择工作队列执行任务。
[0095] 第二数据库管理组件416,用于保存任务执行过程中的任务信息和日志信息。
[0096] 上述各组件中,节点管理组件404、流程配置管理组件405、流程控制与调度组件 406、第一数据库管理组件407、队列配置管理组件414、工作队列处理组件415和第二数据 库管理组件416构成软件框架,这部分一般不用做任何修改即可使用;而第一外部接口适 配组件401、调度扩展策略组件402、第二外部接口适配组件411和任务扩展组件412为二 次开发部分,需要根据具体的业务进行定制。
[0097] 第一外部接口适配组件401是软件外部和内部进行交互的桥梁,它将外部订单/ 任务转换为内部可以识别的订单/任务,并将其存放在订单/任务管理池中。所述将外部 订单/任务转换为内部可以识别的订单/任务时,用到了定制的IMA组件处理接口转换问 题,其基本思路是用一组通用的JAVABEAN以叶子节点的原理去描述所有的接口,这样就保 证了多星多载荷数据处理控制接口的通用性,具体JAVABEAN示例如下所示:
[0098]
[0099] 而在流程调度方面,流程配置管理组件采用配置文件的方式进行流程配置(具体 流程配置文件可见下文中的表1-表5),不同卫星不同载荷的处理流程采用不同的流程文 件,流程控制与调度组件根据流程配置文件选取对应的流程并按照流程进行调度处理,这 样就保证了多星多载荷数据处理流程的可配置。
[0100] 订单/任务管理池用于存放具体的业务订单/任务,这些订单/任务是调度扩展 策略组件实例化的结果。订单/任务的实例化过程具体包括:订单/任务扩展组件会根据 订单/任务类型去流程配置管理组件中查找对应的订单/任务信息,然后根据订单/任务 信息通过工厂方法动态的将订单/任务实例化,并为其赋值。
[0101] 流程控制与调度组件406提取订单/任务管理池中未执行的订单,并根据流程配 置管理组件获取订单对应的流程信息,实现订单到任务的分配;接着,流程控制与调度组件 会根据节点管理组件提供的处理节点信息(所述处理节点信息包括节点IP,端口、CPU使用 率、内存使用率、磁盘速率、网络使用率等),把任务分配到不同的节点上进行执行;最后, 流程控制与调度组件会实现订单和任务的回收,并把订单和任务的状态信息保存到订单/ 任务管理池中。其中,流程控制与调度组件会实现订单和任务的回收具体包括:流程控制与 调度组件会首先到各个处理节点服务器上获取任务状态信息,如果任务状态信息为成功或 失败等完成状态时,则认为该任务已经完成,并在管理节点服务器中的任务对象中更新对 应任务的状态信息,同时将该状态信息更新到数据库中的任务表中;然后流程控制与调度 组件会检查订单对应的所有任务状态,当订单对应的所有任务状态为完成状态时,则任务 该订单已经完成,并在管理节点中的订单对象中更新对应订单的状态信息,同时将该状态 信息更新到数据库中的订单表中。
[0102] 两个数据库管理组件可以把流程运行中的订单/任务信息、日志信息保存到数据 库中,并可以进行查看等操作,数据库管理组件是一个可选项,根据实际需要可以选择是否 使用该组件。
[0103] 本实施例通过设计的多星遥感数据处理系统,结合负载均衡算法将多星遥感数据 进行订单、任务、作业的多级处理,其流程调度使用的数据结构如表1至表5所示,共包含订 单表(Order),任务表(Task),作业表(Job),订单任务关联表(ordertaskxref),任务作业 关联表(taskjobxref)。
[0104] 表 1
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114] 表 5<
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1