个人技术工作总结
2016年7月至2021年12月的工作总结
本人自 2016 年 7 月获聘工程师以来,一直从事数值预报业务系统建设、运维和模式支撑技术研发工作,是国家气象中心数值模式支撑创新团队核心成员。 围绕提高数值预报业务系统运行稳定性和产品时效性,开展业务系统集成、运行监视和分布式计算等技术研发工作,参与业务运维值班。 多项研发成果已应用于数值预报业务系统和日常运维值班中,为保障业务系统持续稳定运行和模式产品及时高效生成提供技术支撑。
任工程师以来主要技术工作总结如下。
一、研究数值预报业务系统集成技术,提高模式产品制作和分发效率
1.优化业务系统运行流程
负责 CMA-TYM 模式及 CMA-GFS、CMA-MESO 等模式产品后处理子系统建设维护。 完成 CMA-TYM 系统流程优化,随模式积分进度逐时效制作产品,显著提早产品分发时间。 拆分 CMA-GFS 产品制作任务,保障核心产品尽早分发。 以上成果已应用在业务系统中,有效提高产品制作分发效率,提升预报产品时效性。
2.研发数据查找、数据并发检测等运行工具,提高业务系统的灵活性和稳定性
业务系统输出文件在不同时间段会被保存到HPC的不同目录中,针对这一特点,研发数据查找工具,根据配置文件自动查找文件路径,使用该工具的产品后处理系统无需再关心输入数据存储位置,可以无缝实现实时业务运行和历史产品补做。 研发数据并发检测工具,使用协程技术在单一进程中并发检测多个文件的完整性,既避免单任务顺序检查因某时效文件异常导致无法检查后续文件的问题,又节省系统资源,无需同时运行多个任务。 上述成果已应用在 CMA-GFS、CMA-MESO、CMA-TYM 等模式产品后处理子系统中。
3.开发绘图脚本封装工具,整合业务系统绘图脚本,提供适合多种用途的统一接口
为扩展业务系统绘图脚本适用范围,开发绘图脚本封装工具包,实现统一绘图接口,支持命令行、Python 和J upyter Notebook。 该工具极大简化业务系统绘图任务脚本,已在C MA-GFS 和 CMA-MESO 业务系统中获得应用。 基于该工具研发的容器封装技术,为业务系统融入气象大数据云平台提供技术支撑。
二、发展数值预报业务系统运行监视技术,积极引入新技术解决业务难题,保障数值预报业务系统稳定运行
1.研发移动端监视技术,让运维人员可以通过手机监视系统运行情况,降低运维压力,提高运维效率
为了解决值班人员仅能通过电脑屏幕一种方式获取业务系统运行情况的难题,发展移动端监视技术,基于微信开发报警信息实时推送功能,基于云平台开发运行状态显示网页,为值班人员提供另一种监视手段。 主持开发新版业务系统运维平台,使用天镜接口保存运行数据并发送微信报警消息,实现数值预报业务与天镜平台对接。 以上成果已应用在业务系统日常运维值班中,有效降低值班人员的运维压力。相关成果已发表1篇核心论文。
2.开展基于消息通信的运行监视和分析技术研发,提供数据生成通知机制
为了向产品制作任务提供有效的数据生成通知机制,研发基于消息通讯的运行监视和分析技术,实时发送产品消息,实现标准时间统计分析算法,为运维人员提供直观的系统运行情况。 以上成果已应用在业务系统中,并在国家气象中心综合业务感知平台中得到应用。
3.开展运行数据分析和可视化展示技术研发,为保障业务系统稳定运行提供参考数据
为了在迁移到派-曙光 HPC 过程中实现同时监控两个 HPC 平台中的业务系统,发展运行数据分析和可视化展示技术,开发派-曙光数值预报业务监控系统,研发工作流软件 ecFlow 日志分析技术。 针对模式积分时长不稳定现象,研发基于机器学习的模式积分时长预测算法,能够在积分早期发现积分耗时异常的作业。 以上成果已应用到业务系统日常运维值班中,为保障业务系统稳定运行提供参考数据。
三、开展分布式计算技术研究,为数值预报业务应用和发展提供先进技术支撑
1.开发模式数据处理工具库,为使用 Python 进行模式数据分析提供技术支撑
为了提高编写 Python 数据分析代码的效率,开发数据访问与处理 Python 工具库,提供多种数据源查找访问方法,设计并实现将数据加载为常用 Python 数据结构的 API 接口。 该工具库已集成在GetPy软件包中。
2.研究基于动态任务调度的分布式计算技术,提高产品制作效率
为了应对持续增长的模式输出数据量,提高产品制作效率,研究基于动态任务调度的分布式计算技术,在高性能计算机或云平台部署的一组计算单元中动态调度数据计算任务的各个子步骤。 该成果已在冬奥气象保障产品服务系统中进行测试应用,有效提高产品时效性。
3.研发基于分布式调度的批量绘图技术
为了在分布式集群环境中实现批量图形绘制,基于消息中间件研发分布式调度技术,提高批量绘图的效率,已在中试软件平台和《地球系统模式大数据平台与诊断评估系统》项目中得到应用。
四、未来工作计划
未来工作围绕以下几个方面展开:
- 研究面向高性能计算和云计算的跨平台任务调度技术,将产品制作任务迁移到天擎加工流水线。
- 利用机器学习等技术提高业务运维的自动化和智能化水平,进一步降低运维人员值班压力。
- 研究分布式计算技术,完善数据访问与处理工具库,开发可视化工具库,为模式诊断、人工智能等研发工作提供技术支撑。