科学计算流程管理系统的制作方法

文档序号:15639445发布日期:2018-10-12 21:53阅读:188来源:国知局

本发明属于科学计算领域,具体涉及一种科学计算流程管理系统。



背景技术:

在近十年时间里,云计算、数据存储和数据分析技术飞速发展,一个大数据时代逐渐展现在我们的面前。科学计算工作流与云计算的结合,已逐渐成为大家关注的热点话题。

科学工作流指将一系列在科学研究中遇到的数据管理、计算、分析、展现等工作变成一个个独立的服务,再把这些服务通过数据连接组合在一起,满足研究人员科学实验、数据分析的需要,从而实现相应的处理与计算。由于科学计算的复杂性,科学工作流也逐渐变成计算密集型和数据密集型,因此,前置部署、执行科学工作流、后期数据处理分析等工作不仅对戏院要求高,而且要有海量的存储空间。虽然云计算为工作流提供了分布式的网络计算技术,但其的工作流的复杂度、计算周期长、数据吞吐量大、分析监控多样化等,仍然需要关注和解决。

现有计算数据实时分析可视化不足;并且科学计算项目统筹性差,计算过程与前期立项后期分析总结相脱离;计算周期长,流程复杂、操作成本高、可控性差。



技术实现要素:

针对上述技术问题,本发明提供一种操作更简单的科学计算流程管理系统。所采用的技术方案为:

科学计算流程管理系统,包括以下模块:

基础数据表现层,负责对“案例”、“任务”、“预处理”、“分析”、“资源统计”业务模型的存储和表示,基础数据存储在arangodb图数据库中,并利用sdk构建数据表现层为其它模块提供业务基础;

案例服务模块,基于flask框架构建,表现为rest形式,提供接口包括案例的增删查改、任务提交、触发数据分析;

计算服务模块,利用各种算法库封装的计算单元,计算服务模块被打包发布为docker镜像,通过任务调度系统传参调用;

资源统计服务模块,提供精确到任务级的计算资源消耗统计,为成本控制提供有效依据;

持久层,包括多个数据库及缓存服务,数据库用以实现整个系统的数据持久化,包括基础数据、计算服务产生的结构数据、资源统计服务的资源数据,缓存用以处理计算服务、资源统计服务运行过程中产生的中间数据的暂时性存储;

审计模块,对通用的数据变更进行审计工作,在数据处于非预期状态时方便有效地进行回溯;系统记录基础数据的任何类型的变动,每一条变动日志被封装成结构化记录推送到大数据搜索分析引擎中;一条记录中包含如下信息:操作时间、操作类型、被操作的对象、操作者、关键请求上下文、变动后的数据;

实时同步模块,与任务调度系统进行实时的数据同步工作,同步的数据包括任务状态、结束时间,包括一个后台常驻进程持续扫描尚未标记完成的任务,向任务调度系统合并请求最新状态并更新到基础数据存储中;

异步通讯模块,异步处理计算服务通信,通过awssqs消息感知关键事件,动态收集计算结果;

异步分析模块,在案例的推进过程中自动执行分析或通过控制台提交自定义分析任务;通过预设触发条件自动派发分析任务。

业务流程管理(businessprocessmanagement),是自本世纪初以来企业资讯科技应用(资讯化)背景上最重要和活跃的概念之一。从管理的角度,它可以看作是商业流程再造(bpr)所带来的以商业流程为中心的管理思想的延续与发展;从企业应用角度,它是在工作流(workflow)等技术基础上发展起来的,基于业务流程建模,支持业务流程的分析、建模、模拟、优化、协同与监控等功能的新一代企业应用系统核心。

工业4.0中阐述了由集中式控制,向分散式增强型控制的基本模式转变,“智能工厂”、“智能生产”、“智能物流”三大字体的提出,进而建立一个高度灵活的个性化和数字化的产品与服务的生产模式。自行优化整个网络的表现,自行适应并实时或近实时学习新的环境条件,并自动运行整个生产流程,形成一个柔性系统,更好的实现智能化。

本发明提供的科学计算流程管理系统,系统将复杂的工作流进行拆解,宏观上,对科学计算整体工作进行规划,把握全局性;微观上,对拆分出的步骤作为独立管理单元,进行管理、监控、数据分析。

本发明提供的科学计算流程管理系统,提升科学计算流程的鲁棒性,操作更流畅、系统复杂性降低,提升用户体验;增强完整流程把控,提高资源利用率,降低人工成本。

附图说明

图1是本发明的系统架构;

图2是实施例的方法流程图;

图3是实施例的为科学计算流程管理系统的前端交互式页面;

图4是实施例的队列监控示意图;

图5是实施例的任务数据可视化分析结果。

具体实施方式

结合实施例说明本发明的具体技术方案。

所述科学计算流程管理系统是对科学计算的过程、涉及读写的资源以及操作步骤的依赖关系进行抽象建模,并依托“分布式存储服务”、“分布式任务调度系统”、“开源或自研的算法库”构建而成。如附图1所示,该管理系统包含如下模块:

基础数据表现层,负责对“案例”、“任务”、“预处理”、“分析”、“资源统计”业务模型的存储和表示,基础数据存储在arangodb图数据库中,并利用sdk构建数据表现层为其它模块提供业务基础。

案例服务模块,基于flask框架构建,表现为rest形式,提供接口包括案例的增删查改、任务提交、触发数据分析等。

计算服务模块,利用各种算法库封装的计算单元,比如聚类、排位等,这些计算模块被打包发布为docker镜像,通过任务调度系统(faces云计算资源调度平台,2016sr096169)传参调用。

资源统计服务模块,提供精确到任务级的计算资源消耗统计,为成本控制提供有效依据。

持久层由多个数据库及缓存服务组成,数据库用以实现整个系统的数据持久化,比如基础数据(arangodb)、计算服务产生的结构数据(arangodb)、资源统计服务的资源数据(arangodb),缓存用以处理计算服务、资源统计服务运行过程中产生的中间数据的暂时性存储。

实时同步模块,与任务调度系统进行实时的数据同步工作,同步的数据包括任务状态、结束时间等,为了避免在获取任务列表时才去获取任务状态所带来的性能问题,我们启用一个后台常驻进程持续扫描尚未标记完成的任务,向任务调度系统合并请求最新状态并更新到基础数据存储中。

异步通讯模块,异步处理计算服务通信,通过awssqs消息感知关键事件,动态收集计算结果。

审计模块,对通用的数据变更进行审计工作,在数据处于非预期状态时时可以方便有效地进行回溯。系统会记录基础数据的任何类型的变动,每一条变动日志被封装成结构化记录推送到elasticsearch(一个大数据搜索分析引擎)中。一条记录中包含如下信息:操作时间、操作类型、被操作的对象、操作者、关键请求上下文、变动后的数据等。

异步分析模块,在案例的推进过程中自动执行分析或通过控制台提交自定义分析任务。通过预设触发条件(比如任务类型和任务状态的组合)自动派发分析任务,业务人员可直接在控制台查看分析结果而不必手动触发然后等待结果。而当需要设定特殊分析参数时,仍可在控制台手动触发分析任务。

科学计算流程管理系统,核心在于科学计算的流程管理。本实施例将完整的工作流,从计算软件、系统环境、计算类型等纬度进行分解,以甘特图(gantt)的形式展现每一类任务的状态及在整体计划中的进度,将一个“长周期计算”通过一系列可控的、耗时适中的计算环节来实现,图2所示为科学计算的标准流程,整体包括五部分,“构建训练集”、“力场拟合”、“晶体搜索”、“聚类”和“排位”。其中“构建训练集”步骤对其进行如下拆解:

(1)初始结构处理:单一任务,运行环境为32核、64g、超算平台,耗时2.5小时;xx对任务进程进行监控,当任务为完成态时,自动提交分析任务,给出目标结果,业务人员进行检查,进而提交下一步骤计算。

(2)变量解耦:11个并行任务,运行环境为32核、64g、faces云平台(faces云平台,简称“云平台”),平均每个任务耗时2小时,总耗时22小时;xx对任务进程进行监控,当任务为完成态时,自动提交下一步骤任务,任务运行期间,业务人员可以手动出发分析,查看当前计算效果;

(3)单变量探索:60个并行任务,运行环境为32核、64g、云平台,平均每个任务耗时2小时,总耗时120小时;当系统监控到任务状态为“失败”,抛出错误类型,业务人员介入进行计算参数调整,再从上一步骤重新开始计算任务;

(4)变量重组:96个并行任务,运行环境为32核、64g、云平台,平均每个任务耗时2.5小时,总耗时240小时;

(5)最优点选取及扰动:200个并行任务,运行环境为32核、64g、云平台,平均每个任务耗时1小时,总耗时200小时;

这样既满足了原有的计算需求,同时具有以下几个特点:

1.分解后的计算环节可以更好的通过云平台调度资源,增加资源利用率;

2.分解后的计算环节相对独立,更加明确计算目标,整体上理解复杂度降低;

3.结合一些面向用户的交互操作,增强整体操作流畅性,降低人工成本,如附图3所示,为科学计算流程管理系统的前端交互式页面。本系统的前端页面主要有两部分组成:全局操作(底部菜单栏)和甘特图。全局操作包括:1.案例名称及创建时间;2.当前消耗核时总数(图中圆圈内数字);3.预处理:点击展示案例立项目标、规划、客户提供的材料;4.初始构型:任务“初始分子”(见甘特图最底部的任务)产生的结构的列表;5.分析视图:点击进入查看任务的分析图;6.力场列表:任务“组合力场拟合.第一轮”产生的力场的列表;7.结构池列表:任务“晶体搜索.第一轮”和“晶体搜索.第一轮.测试”产生的结构存储桶id列表;8.新增任务:点击可以添加新的任务;9.分组:如甘特图上的每一行为一个任务,文件夹为任务组的标志,任务名称中,“点”后的为任务的标签,“分组”功能则展示当前案例的所以标签;10.评论列表:如甘特图上所示,第二列“任务视图”表示该任务是否存在分析图及评论,灰色表示不存在,“评论列表”将展示该案例下所有评论;11.在线报告工具:对接“药物晶体结构全景分析系统”;12.甘特图:左侧五列分别阐述了“任务编号”、“任务名称”、“任务视图”(“分析图”和“评论”)、任务状态(“排队/运行/完成”与“错误/暂停/终止”六个状态的任务数量统计),右侧以甘特图的形式表达任务发生及结束的时间,一行中,上方方块表示真实运行数据,下发表示业务人员预估的运行数据。

4.结合各个计算环节的在资源需求、环境配置等上的差异性,独立监控,同时监控云端资源调度的状态,增加监控强度的同时,可以强化错误发现,减少错误造成的资源浪费,如附图4所示;

5.各类型计算环节相对独立,数据结构可以独立设计,日志等数据可以增强后期数据分析的回溯性;

6.独立计算环节,数据吞吐量可控,降低异常错误风险、系统压力等;

7.时间成本可控,立项后规划整体,设计流程中的每个环节,清晰各环节的目标,时间上更佳清晰,真实耗时不会与预估相差过大;

8.结合每个环节的计算结果及分析,回看立项目标,可以验证理论及假设是否正确,进行适当的调整,从而把控整体方向的正确。如图5,为上述实例中“能量排位分析.第一轮”的分析图,阐述了此轮预测的结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1