从项目招标文件看工作流软件的功能要求

最近在思考是否应该仿照 ecFlow 重新实现一款业务系统流程调度软件,更专业的说法就是工作流软件。

之前尝试过编写原始的流程调度软件,但已经很长时间没有更新。重复造轮子的事情总要想想意义何在。 目前数值预报中心一直使用 ECMWF 开发的业务系统调度软件,从 IBM 上的 SMS 到曙光-PI的 ecFlow,已形成完整的业务系统构建、运行和维护流程。 即便已使用工作流软件运行业务系统很多年,该软件也仅限于系统运行人员使用,没能取得更广泛的应用。 在同类软件已满足现有业务需求的情况下,重新编写一套仅有少数人使用的软件是否有意义?

好在,今天看到的《“气候变化应对决策支撑系统工程”模式支撑软件系统开发(二期)》项目算是给出了一种答案。

该项目是国家气象信息中心 2018 年公开招标的项目,中标公司是华云信息。招标文件可以从如下网址获取:

http://www.ccgp.gov.cn/cggg/zygg/zbgg/201810/t20181023_10948084.htm

该项目中的作业流程化运行管理分系统就是工作流软件。下面是项目技术规格及要求文件中对该子系统的总体描述。

开发通用作业流程化运行管理系统,灵活可配置的构建模式运行的工作流,实现依赖关系的自动触发,可对数值预报模式系统进行分析研究,为其构建对应的工作流,并提供对工作流进行展示和运行监控等管理功能,实现模式作业的流程化调度运行和监控管理,实现数值预报系统的自动化可控运行。 实现模式通过作业流程化运行管理分系统提交任务,通过与 HPC 常用的作业管理软件 (如 LoadLeveler、Slurm 等) 的结合,使任务最终在高性能计算机系统上运行并反馈各类状态。 提供多种客户端,实现包括模式运行流程的灵活快速构建、模式作业的调度运行和控制、任务作业运行日志的采集与管理、多维可视化的监控和智能化故障告警等功能。

该描述中包括对 ecFlow 等工作流软件通用功能的描述,对于工作流软件本身来讲,没有提出新的功能。 但该项目更强调与 HPC 结合,和对运维友好的各项功能 (日志分析、可视化监控、智能告警等)。 这些功能不是ecFlow等软件解决的主要问题,通常需要额外开发软件来实现。 该项目将这些功能整合到一个平台中,能大大降低数值预报模式业务系统运维人员的开发工作量。 不过一共 12 个月的开发周期让我有些担心成型软件最后的使用效果,毕竟 ecFlow 即将发布V5版本。 显然这不是我应该担心的,一套完整的作业流程运行管理系统可能更利于推广,还是值得应用的。

更多功能模块的描述请参考招标文件,后面如果有时间我会详细介绍。