CN112162727A - 云端高性能科学计算工作流设计控制系统及用户图形界面 - Google Patents

云端高性能科学计算工作流设计控制系统及用户图形界面 Download PDF

Info

Publication number
CN112162727A
CN112162727A CN202010973586.5A CN202010973586A CN112162727A CN 112162727 A CN112162727 A CN 112162727A CN 202010973586 A CN202010973586 A CN 202010973586A CN 112162727 A CN112162727 A CN 112162727A
Authority
CN
China
Prior art keywords
workflow
node
task
user
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010973586.5A
Other languages
English (en)
Other versions
CN112162727B (zh
Inventor
谈樑
刘阳
鄂同富
姜子麒
马健
温书豪
赖力鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Jingtai Technology Co Ltd
Original Assignee
Shenzhen Jingtai Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Jingtai Technology Co Ltd filed Critical Shenzhen Jingtai Technology Co Ltd
Priority to CN202010973586.5A priority Critical patent/CN112162727B/zh
Publication of CN112162727A publication Critical patent/CN112162727A/zh
Application granted granted Critical
Publication of CN112162727B publication Critical patent/CN112162727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供云端高性能科学计算工作流设计控制系统及用户图形界面;控制系统包括三层:底层服务层以SDK形式,为上层应用提供基础的服务;解析层是架构实际支撑,为用户在界面上的实际操作,提供机器语言转换,使得系统和底层服务能够根据用户的指令进行运作,同时,将底层服务传回的数据按照系统设计好的形式进行转换,使数据符合用户的界面操作习惯和展示逻辑;人机交互层负责为用户实现操作行为、参数配置功能。用户图形界面,包括工作流管理模块、工作流编排模块、工作流节点控制模块、任务管理模块。本发明通过云原生软件在用户终端进行拖拽,配置等人机交互功能,完成用于云端高性能科学计算工作流的设计、部署和执行控制。

Description

云端高性能科学计算工作流设计控制系统及用户图形界面
技术领域
本发明属于高性能计算和可视化技术领域,具体涉及云端高性能科学计算工作流设计控制系统及用户图形界面。
背景技术
标准化工作流语言虽然为科学计算流程研发人员提供了标准化调用云端资源执行任务的方法,满足了科学计算流程进行定义和设计,完成高通量计算的需求。但在设计科学计算流程的过程中,研发人员仍需要掌握该语言的编写,了解云端中间件工作机制和完整流程的抽象模型,尤其在科学计算工作流研发阶段,研发人员往往不断地改进计算节点算法功能,调整和替换工作流程中的节点,若没有可交互的图形化界面,研发效率会大打折扣。目前,实现该流程的主要方式主要由有工作流语言编写基础的工程人员进行编写描述文件后传入工作流引擎,而交互式的图形化界面能够有效加快这一过程,帮助研发人员掌握工作流全景图。
成熟的科学计算工作流软件在云端部署,由于是由软件开发厂商与云厂商进行集成,一整套使用流程与本地软件功能一致,仅云端化部署和安装的过程,浏览器中免安装使用,按照使用时长收费,该方式并未完全发挥调度云计算服务的核心优势诸如计算资源的弹性伸缩,既能提升计算效率又同时提升性价比。究其原因,是因为每一个算法模块或者计算分析节点并非云原生架构,而是与该云端软件集成的架构,运算资源使用软件框架对其所在计算机进行调度,相比于公有云厂商提供的无服务函数计算,虽然拥有众多数据统计和分析工具,但是在高通量需求下的大规模并行的运算方面则处于劣势。
实际的科学计算流程设计和开发的场景中,考虑到云原生搭建工作流的便利性和可行性,申请人已采取将成熟软件进行容器化封装,并对其进行与研究人员开发的算法形成一致的计算机表达,从而形成实际科学计算工作流程在云端的实际可用。但实际在工作流执行的过程中,一个工作流对应一个任务实例,用户很难通过任务返回的状态数据来判断每一个节点的运行情况,而通过节点返回的数据总量较大,使得在命令行环境下难以查找和辨识,除此之外,用户往往需要对任务进行动态控制,或者针对某节点进行有条件的人工干预,以达到任务过程可控,计算资源节约,以及可视化交互操作的动态平衡。
发明内容
针对上述技术问题,本发明提供一种云端高性能科学计算工作流设计控制系统及用户图形界面,通过云原生软件在用户终端进行拖拽、配置人机交互功能,完成用于云端高性能科学计算工作流的设计、部署和执行控制。
本发明可以让用户通过实时可视化操作的交互方式,将编写的算法进行容器化部署到云端,并对不同算法进行设计编排组合,制成和发布一套可以调用主流公有云计算资源的工作流程,与授权用户协作复用,便利地测试和执行运算任务,并能够在运算过程中通过界面进行即时动态控制。。
具体技术方案为:
云端高性能科学计算工作流设计控制系统,包括三层:底层服务层,解析层和人机交互层;
所述的底层服务层:底层服务以SDK形式,为上层应用提供基础的服务,包括:任务调度和执行中间件、计算和存储资源管理服务、任务监控和日志服务;
所述的任务调度和执行中间件,主要功能为能够通过封装好的指令,让云端计算集群进行任务装箱和运行;
所述的计算和存储资源服务,主要功能为用户端的工作流和实际运行的任务提供资源上传、下载、储存和分发;
所述的任务监控和日志服务,主要功能为对任务运行过程中返回的状态和抛错等数据进行收集和储存,并能够通过指令进行查询。
所述的解析层:解析层是架构实际支撑,为用户在界面上的实际操作,提供机器语言转换,使得系统和底层服务能够根据用户的指令进行运作,同时,将底层服务传回的数据按照系统设计好的形式进行转换,使数据符合用户的界面操作习惯和展示逻辑;解析层包含三个模块:工作流描述语言释义解析器、工作流生成器、任务分发器;
所述的工作流描述语言释义解析器,主要功能是应用标准化的工作流语言,对云原生的容器化软件或算法进行描述转换,该转换的效果是:在用户端将描述文件转换成用户在图形界面上可以进行拖拽控制的节点,以及该节点需要展示的属性等。在底层服务端,将用户的操作转换为底层SDK所需要的数据结构;
所述的工作流生成器,主要功能是将用户进行拖拽组合的工作流节点以及相关配置进行处理并转换成工作流文件,能够让任务分发器识别出工作流顺序关系、分发模式和参数配置;
所述的任务分发器,主要功能是根据工作流生成器生成的配置文件,对底层服务进行调用,最终实现工作流的解析,任务的执行和分发。
所述的人机交互层:人机交互层负责为用户实现操作行为、参数配置功能,包括四个模块:工作流管理模块、工作节点控制面板、工作流编排模块、任务管理器;
所述的工作流管理模块,主要功能是能够将云端的容器、工作流描述文件进行下载和加载,在用户端以文件的形式进行管理,修改,或引入工作流;
所述的工作节点控制面板,主要功能是让用户在用户端对工作节点进行配置,对该节点的执行属性、运行参数进行配置;节点的运行模式为:单点模式或并行模式。
所述的工作流编排模块,主要功能是能够让用户引入不同的工作流节点,并且建立不同工作流节点的连接关系;
所述的任务管理器,主要功能是能够实时查看每一个节点的任务或并发任务中每一个子任务的运行状态,输入输出和任务日志。
本发明还提供用于上述的云端高性能科学计算工作流设计控制系统的用户图形界面,包括工作流管理模块、工作流编排模块、工作流节点控制模块、任务管理模块;
所述的工作流管理模块:工作流管理模块将一个工作流节点的描述文件视为一个独立的文件,将一个工作流的描述文件同样视为一个独立的文件;而工作流与工作流节点之间的关系,是通过工作流编排模块解析实现;
工作流管理模块的流程为:
(1.1)导入本地文件;通过系统的文件管理系统,将用户本的算法文件引入,会根据算法名称自动生成该算法的云原生描述文件;
(1.2)发布容器化软件;通过完成云原生描述文件,将用户本地的算法文件或者设计好的工作流通过工作流生成器转化成任务分发器能够识别的表达文件,随后调用底层服务中的计算和存储资源服务的中间件,对算法或者设计好的工作流进行容器化打包,并且上传到云端,容器化前,用户可以对该容器的名称和部署环境进行配置;
(1.3)导入云端文件;通过调用底层服务中的计算和存储资源服务,将云端已部署的容器化软件的描述文件,下载到客户端本地,允许在用户端进行管理和操作。
(1.4)导出和保存;通过系统的文件管理系统,将用户的文件另存到本地磁盘环境中,令用户通过系统资源管理器来管理文件。
所述的工作流编排模块:工作流编排模块通过调用工作流描述语言释义解析器解析打开的工作流文件,或拖拽或引入的工作流节点文件,将其正确识别为各个节点图形、节点图形的连接顺序和关系,展示在编排面板中;工作流编排模块的的流程为:
(2.1)读取工作流文件;通过双击工作流管理模块中的工作流后缀文件,将文件中所包含的工作流节点,节点间关系加载到编排面板中;
(2.2)添加工作流节点;通过从工作流管理模块中拖拽节点文件,或者在工具栏中选择添加节点,可以为工作流加入新的节点;
(2.3)连接工作流节点;通过选择一个工作流节点的输出端,拖拽拉出箭头,连接到目标工作流节点的输入端,即可确定科学计算工作流的上下步骤;
(2.4)配置连接;通过双击连接线,将上一步的输出参数与下一步的输入参数对应相连,其关系为一个输出参数可选对应多个输入参数;若要为一个输出参数配置多个下一步的输入参数,可以通过添加一个连接线输入参数实现。
(2.5)配置公共参数;公共参数为固定控制工作流中特定参数的功能,它像节点一样连接到任意步骤,并与节点的输入参数进行一对多的赋值传递。
(2.6)配置工作流结果;工作流结果为设计人员希望通过科学计算工作流得到的最终数据或者文件,该结果配置完成后会通过工作流描述语言释义解析器转换成任务管理模块或其它高层任务管理系统所需要的获取结果数据的接口描述,供用户在各个系统中方便地获得;
(2.7)查看工作流节点列表和状态;通过打开工作流节点面板,可以查看每一个节点文件在本地是否被正确下载并加入到工作流中,以保证用户能够对节点进行正确配置;
(2.8)调试和运行工作流;针对已经完成发布的工作流,可以在编排模块单击运行功能按钮,即可通过任务分发器调用底层服务中的任务调度和执行中间件,分配云端计算集群资源,运行任务。
所述的工作流节点控制模块:工作流节点控制器通过调用工作流描述语言释义解析器解析引入到工作流中的节点文件,提供给用户对节点特性的配置功能;工作流节点控制模块的流程为:
(3.1)读取工作流节点配置;双击或者右键打开工作流编排模块中的选定节点,通过工作流描述语言释义解析器解析后打开节点控制面板,即可看到该节点所具备的科学计算能力的描述、输入输出参数以及可选的任务运行模式;
(3.2)任务节点属性配置目前一个节点分为以下属性,顺序运算、条件分支和实施干预。选择顺序运算为若不进行人工干预,则该节点会在完成运算后进行下一节点的运算,使得工作流能够自动运行直至抛错或完成;选择条件分支为根据某一个步骤的输出参数结果进行不同的下一步路径选择,通常一个条件分支的输出需要连接至少两个不同的节点;选择实施干预为当科学计算工作流进行到当前节点后,会自动暂停,待用户审阅完参数后,另行设置下一节点的入参,方可继续执行;
(3.3)任务运行模式配置在JobIn区域,用户选择Scatter即为将一个特定的输入参数进行并发计算,并发的规模可以通过Value中的具体数值或者函数计算关系来赋值。在JobOut区域,用户选择Gather即为将并发产生的多个运算结果收敛到某一个输出参数上,形成字典格式的数据或文件;
(3.4)设置输出参数为结果与工作流编排模块中的配置工作流结果类似,可以在节点控制器中配置流程输出结果。
所述的任务管理模块:任务管理模块允许用户通过编排面板的操作,获悉一个节点的单点任务或者并发任务的运行状态,入参出参和运行日志。该模块,调用的是底层服务中的任务监控和日志服务的接口;任务启动后,通过工作流编排模块直观地看到工作流运行阶段和每一个节点的运行状态,每一个节点有五个状态:待命(灰色),通过(绿色),运行中(蓝色),运行中但发生故障(黄色)和异常中止(红色)。若全部节点均变为绿色,则表示该工作流顺利完成。任务管理模块的流程为:
(4.1)查看正在执行的工作流节点,在编排模块选中一个工作流节点,选择查看节点状态详情,即可打开任务管理模块面板;
(4.2)控制正在执行的工作流节点,控制功能包含以下三种:暂停节点任务,修改节点参数,重启节点任务;在编排模块选中一个工作流节点,当发现任务运行中出参入参不符合预期,并且检查日志发现异常但任务仍在运行时,可以选择暂停即可将正在运行的节点任务停止,避免不必要的资源浪费;当工作流中包含实施干预节点时,可以通过修改工作流节点控制模块,对输出参数进行修改,再对选中的工作流节点进行继续运行操作,即可从当前节点,继续执行工作流;当任一工作流在某节点进行了人工停止后,可以在停止节点处选择重启节点,即可从当前节点继续执行工作流。
本发明提供的云端高性能科学计算工作流设计控制系统及用户图形界面,具有以下技术优势:
1、解析层的设计对标准化工作流语言和云端资源执行任务的标准化方法进行了封装,满足了科学计算流程的简洁定义和便捷设计,完成高通量计算的需求,实现了从人机交互层穿透到底层服务的能力。
2、人机交互层的设计让用户在设计科学计算流程的过程中,通过简单的拖拽、点击、配置等图形界面的交互方式,快速掌握科学计算工作流的全景图,降低了设计工作流的工程门槛。
3、云原生的软件架构设计保证了科学计算工作流研发阶段,研发人员可以不断地改进计算节点算法功能,方便地发布自研算法软件,调整和替换工作流程中的节点,提升研发效率。
4、综合利用了本地工作流软件和容器化计算软件的组合优势,即能充分复用自研、合作授权、第三方公开的数据统计和学科领域分析工具,又规避了庞大的软件集成成本,还保障了在高通量需求下的大规模并行的运算资源。
5、节点任务的控制模块实现了或者针对某节点进行有条件的人工干预,逐步达到任务过程可控,计算资源节约,以及可视化交互操作的动态平衡。
附图说明
图1为本发明的系统架构示意图;
图2为本发明的用户图形界面示意图;
图3为本发明的用户图形抽象界面图;
图4为实施例的发布容器化软件流程示意图;
图5为实施例的设计和发布工作流流程示意图;
图6为实施例的运行中的工作流监控管理流程示意图。
具体实施方式
结合实施例说明本发明的具体技术方案。
如图1所示,云端高性能科学计算工作流设计控制系统,包括三层:底层服务层,解析层和人机交互层;
所述的底层服务层:底层服务以SDK形式,为上层应用提供基础的服务,包括:任务调度和执行中间件、计算和存储资源管理服务、任务监控和日志服务;
所述的任务调度和执行中间件,主要功能为能够通过封装好的指令,让云端计算集群进行任务装箱和运行;
所述的计算和存储资源服务,主要功能为用户端的工作流和实际运行的任务提供资源上传、下载、储存和分发;
所述的任务监控和日志服务,主要功能为对任务运行过程中返回的状态和抛错等数据进行收集和储存,并能够通过指令进行查询。
所述的解析层:解析层是架构实际支撑,为用户在界面上的实际操作,提供机器语言转换,使得系统和底层服务能够根据用户的指令进行运作,同时,将底层服务传回的数据按照系统设计好的形式进行转换,使数据符合用户的界面操作习惯和展示逻辑;
解析层包含三个模块:工作流描述语言释义解析器、工作流生成器、任务分发器;
所述的工作流描述语言释义解析器,主要功能是应用标准化的工作流语言,对云原生的容器化软件或算法进行描述转换,该转换的效果是:在用户端将描述文件转换成用户在图形界面上可以进行拖拽控制的节点,以及该节点需要展示的属性等。在底层服务端,将用户的操作转换为底层SDK所需要的数据结构;
所述的工作流生成器,主要功能是将用户进行拖拽组合的工作流节点以及相关配置进行处理并转换成工作流文件,能够让任务分发器识别出工作流顺序关系、分发模式和参数配置;
所述的任务分发器,主要功能是根据工作流生成器生成的配置文件,对底层服务进行调用,最终实现工作流的解析,任务的执行和分发。
所述的人机交互层:人机交互层负责为用户实现操作行为、参数配置功能,包括四个模块:工作流管理模块、工作节点控制面板、工作流编排模块、任务管理器。
所述的工作流管理模块,主要功能是能够将云端的容器、工作流描述文件进行下载和加载,在用户端以文件的形式进行管理,修改,或引入工作流;
所述的工作节点控制面板,主要功能是让用户在用户端对工作节点进行配置,对该节点的执行属性、运行参数进行配置;节点的运行模式为:单点模式或并行模式。
所述的工作流编排模块,主要功能是能够让用户引入不同的工作流节点,并且建立不同工作流节点的连接关系;
所述的任务管理器,主要功能是能够实时查看每一个节点的任务或并发任务中每一个子任务的运行状态,输入输出和任务日志。
本实施例还提供用于上述控制系统的用户图形界面,抽象界面图如图3所示。具体结构如图2所示,包括工作流管理模块、工作流编排模块、工作流节点控制模块、任务管理模块;
所述的工作流管理模块:工作流管理模块将一个工作流节点的描述文件视为一个独立的文件,将一个工作流的描述文件同样视为一个独立的文件;而工作流与工作流节点之间的关系,是通过工作流编排模块解析实现;
工作流管理模块的流程为:
(1.1)导入本地文件;通过系统的文件管理系统,将用户本的算法文件引入,会根据算法名称自动生成该算法的云原生描述文件;
(1.2)发布容器化软件;通过完成云原生描述文件,将用户本地的算法文件或者设计好的工作流通过工作流生成器转化成任务分发器能够识别的表达文件,随后调用底层服务中的计算和存储资源服务的中间件,对算法或者设计好的工作流进行容器化打包,并且上传到云端,容器化前,用户可以对该容器的名称和部署环境进行配置;
(1.3)导入云端文件;通过调用底层服务中的计算和存储资源服务,将云端已部署的容器化软件的描述文件,下载到客户端本地,允许在用户端进行管理和操作。
(1.4)导出和保存;通过系统的文件管理系统,将用户的文件另存到本地磁盘环境中,令用户通过系统资源管理器来管理文件。
所述的工作流编排模块:工作流编排模块通过调用工作流描述语言释义解析器解析打开的工作流文件,或拖拽或引入的工作流节点文件,将其正确识别为各个节点图形、节点图形的连接顺序和关系,展示在编排面板中;工作流编排模块的的流程为:
(2.1)读取工作流文件;通过双击工作流管理模块中的工作流后缀文件,将文件中所包含的工作流节点,节点间关系加载到编排面板中;
(2.2)添加工作流节点;通过从工作流管理模块中拖拽节点文件,或者在工具栏中选择添加节点,可以为工作流加入新的节点;
(2.3)连接工作流节点;通过选择一个工作流节点的输出端,拖拽拉出箭头,连接到目标工作流节点的输入端,即可确定科学计算工作流的上下步骤;
(2.4)配置连接;通过双击连接线,将上一步的输出参数与下一步的输入参数对应相连,其关系为一个输出参数可选对应多个输入参数;若要为一个输出参数配置多个下一步的输入参数,可以通过添加一个连接线输入参数实现。
(2.5)配置公共参数;公共参数为固定控制工作流中特定参数的功能,它像节点一样连接到任意步骤,并与节点的输入参数进行一对多的赋值传递。
(2.6)配置工作流结果;工作流结果为设计人员希望通过科学计算工作流得到的最终数据或者文件,该结果配置完成后会通过工作流描述语言释义解析器转换成任务管理模块或其它高层任务管理系统所需要的获取结果数据的接口描述,供用户在各个系统中方便地获得;
(2.7)查看工作流节点列表和状态;通过打开工作流节点面板,可以查看每一个节点文件在本地是否被正确下载并加入到工作流中,以保证用户能够对节点进行正确配置;
(2.8)调试和运行工作流;针对已经完成发布的工作流,可以在编排模块单击运行功能按钮,即可通过任务分发器调用底层服务中的任务调度和执行中间件,分配云端计算集群资源,运行任务;
所述的工作流节点控制模块:工作流节点控制器通过调用工作流描述语言释义解析器解析引入到工作流中的节点文件,提供给用户对节点特性的配置功能;工作流节点控制模块的流程为:
(3.1)读取工作流节点配置;双击或者右键打开工作流编排模块中的选定节点,通过工作流描述语言释义解析器解析后打开节点控制面板,即可看到该节点所具备的科学计算能力的描述、输入输出参数以及可选的任务运行模式;
(3.2)任务节点属性配置目前一个节点分为以下属性,顺序运算、条件分支和实施干预。选择顺序运算为若不进行人工干预,则该节点会在完成运算后进行下一节点的运算,使得工作流能够自动运行直至抛错或完成;选择条件分支为根据某一个步骤的输出参数结果进行不同的下一步路径选择,通常一个条件分支的输出需要连接至少两个不同的节点;选择实施干预为当科学计算工作流进行到当前节点后,会自动暂停,待用户审阅完参数后,另行设置下一节点的入参,方可继续执行;
(3.3)任务运行模式配置在JobIn区域,用户选择Scatter即为将一个特定的输入参数进行并发计算,并发的规模可以通过Value中的具体数值或者函数计算关系来赋值。在JobOut区域,用户选择Gather即为将并发产生的多个运算结果收敛到某一个输出参数上,形成字典格式的数据或文件;
(3.4)设置输出参数为结果与工作流编排模块中的配置工作流结果类似,可以在节点控制器中配置流程输出结果。
所述的任务管理模块:任务管理模块允许用户通过编排面板的操作,获悉一个节点的单点任务或者并发任务的运行状态,入参出参和运行日志。该模块,调用的是底层服务中的任务监控和日志服务的接口;任务启动后,通过工作流编排模块直观地看到工作流运行阶段和每一个节点的运行状态,每一个节点有五个状态:待命(灰色),通过(绿色),运行中(蓝色),运行中但发生故障(黄色)和异常中止(红色)。若全部节点均变为绿色,则表示该工作流顺利完成。任务管理模块的流程为:
(4.1)查看正在执行的工作流节点,在编排模块选中一个工作流节点,选择查看节点状态详情,即可打开任务管理模块面板;
(4.2)控制正在执行的工作流节点,控制功能包含以下三种:暂停节点任务,修改节点参数,重启节点任务;在编排模块选中一个工作流节点,当发现任务运行中出参入参不符合预期,并且检查日志发现异常但任务仍在运行时,可以选择暂停即可将正在运行的节点任务停止,避免不必要的资源浪费;当工作流中包含实施干预节点时,可以通过修改工作流节点控制模块,对输出参数进行修改,再对选中的工作流节点进行继续运行操作,即可从当前节点,继续执行工作流;当任一工作流在某节点进行了人工停止后,可以在停止节点处选择重启节点,即可从当前节点继续执行工作流。
其中,发布容器化软件,如图4,该实施例可以令用户将本地编写的算法通过用户界面部署到云端,变成可复用的云原生应用,方便地被一系列科学计算工作流调用,用于设计和运行。其具体实施流程为:
第一步:用户通过工作流管理模块的文件引入功能,将本地算法文件引入,左侧菜单会为其生成一个对应的描述文件;
第二步:用户双击描述文件,通过工作流描述语言释义解析器转译后,用户界面弹出节点控制模块,展示描述文件内的内容;
第三步:用户通过用户界面提供的表单进行参数编辑,配置参数的属性、类型和默认数值;
第四步:配置完成后,在工具栏选择容器化软件功能,即可对编写的内容进行校验;
第五步:若校验通过,则客户端调用底层计算与存储服务进行云端部署。若未通过校验,则重新回到第三步对描述文件进行配置。
其中,设计和发布工作流,如图5所示,该实施例可以令用户使用已部署的云端软件或算法,通过拖拽和可视化表单配置等方式进行科学计算流程设计编排,并且部署到云端,变成可复用的云原生应用,方便被协作小组的成员应用。其具体实施流程为:
第一步引入云原生应用:用户通过工作流管理模块打开云端镜像库,将一批需要的云端算法或者软件的描述文件引入,引入后,菜单中出现对应的所有描述文件;
第二步引入编辑器:用户将描述文件依次或者全选一批拖拽放入任务编排模块,通过工作流描述语言释义解析器转译后,编排模块中正确展示该节点的名称,图形,状态等信息;
第三步连线与编排:用户可以在任务编排模块的画布中,对节点进行拖拽,或者自动布局,用于整理多个节点的排布位置,随后用户可以针对工作流的数据和计算顺序,依次将不同的节点进行连线;
第四步配置节点:连线完成后,用户进行节点配置,在节点配置中,可以针对有数据流入和数据流出的节点中的某一个或者多个参数进行并发和回收配置;
第五步保存和发布:配置完成后,进行保存,保存过程中软件调用解析层进行校验,若连接和配置无误,则能够成功保存,若有误,则提示后引导用户继续配置;
第六步云端部署和构建:保存好的文件可以进行云端部署,用户选择云端部署后,配置基本的云端信息,解析层调用底层计算与存储服务,由云端服务进行工作流的软件构建,成功后,在用户界面上提示用户。
其中,运行中的工作流监控管理,如图6所示,运行中的工作流监控管理模块可以被各种类型的用户任务管理系统集成,以实现对各个协作组或者业务部门的复用支持。该实施例可以令用户通过各种系统中的任务管理模块打开并查看工作流的运行情况。其具体实施流程为:
第一步用户终端任务系统选定任务:用户通过其它系统集成的任务管理模块选定任务并调用查看详情的接口,任务管理模块通过解析层调用底层计算与服务,请求任务载体的工作流文件,下载成功后通过工作流描述语言释义解析器解析,展示在编排模块中。
第二步在任务编排面板中选定一个节点并查看详细信息:解析完成后的工作流,会展示整体工作流信息和各个节点的连线、状态等,用户选中一个节点,右键选择查看节点信息,即可打开任务管理模块。
第三步选定并发任务中的某一个任务日志:打开某一个节点的管理模块后,若该节点处于并行模式,则可以查看每一条并发子任务的状态和日志,右键点击选取的子任务,并单击查看日志,即可打开该子任务日志,进行任务调试。

Claims (9)

1.云端高性能科学计算工作流设计控制系统,其特征在于,包括三层:底层服务层,解析层和人机交互层;
所述的底层服务层:底层服务以SDK形式,为上层应用提供基础的服务;
所述的解析层:为用户在界面上的实际操作,提供机器语言转换,使得系统和底层服务能够根据用户的指令进行运作,同时,将底层服务传回的数据按照系统设计好的形式进行转换,使数据符合用户的界面操作习惯和展示逻辑;
所述的人机交互层:负责为用户实现操作行为、参数配置功能。
2.根据权利要求1所述的云端高性能科学计算工作流设计控制系统,其特征在于,所述的底层服务层,包括:任务调度和执行中间件、计算和存储资源管理服务、任务监控和日志服务;
所述的任务调度和执行中间件,主要功能为能够通过封装好的指令,让云端计算集群进行任务装箱和运行;
所述的计算和存储资源服务,主要功能为用户端的工作流和实际运行的任务提供资源上传、下载、储存和分发;
所述的任务监控和日志服务,主要功能为对任务运行过程中返回的状态和抛错数据进行收集和储存,并能够通过指令进行查询。
3.根据权利要求1所述的云端高性能科学计算工作流设计控制系统,其特征在于,所述的解析层包含三个模块:工作流描述语言释义解析器、工作流生成器、任务分发器;
所述的工作流描述语言释义解析器,主要功能是应用标准化的工作流语言,对云原生的容器化软件或算法进行描述转换;在底层服务端,将用户的操作转换为底层SDK所需要的数据结构;
所述的工作流生成器,主要功能是将用户进行拖拽组合的工作流节点以及相关配置进行处理并转换成工作流文件,能够让任务分发器识别出工作流顺序关系、分发模式和参数配置;
所述的任务分发器,主要功能是根据工作流生成器生成的配置文件,对底层服务进行调用,最终实现工作流的解析,任务的执行和分发。
4.根据权利要求1所述的云端高性能科学计算工作流设计控制系统,其特征在于,所述的人机交互层,包括四个模块:工作流管理模块、工作节点控制面板、工作流编排模块、任务管理器;
所述的工作流管理模块,主要功能是能够将云端的容器、工作流描述文件进行下载和加载,在用户端以文件的形式进行管理,修改,或引入工作流;
所述的工作节点控制面板,主要功能是让用户在用户端对工作节点进行配置,对该节点的执行属性、运行参数进行配置;
所述的工作流编排模块,主要功能是能够让用户引入不同的工作流节点,并且建立不同工作流节点的连接关系;
所述的任务管理器,主要功能是能够实时查看每一个节点的任务或并发任务中每一个子任务的运行状态,输入输出和任务日志。
5.用户图形界面,其特征在于,用于权利要求1到4任一项所述的云端高性能科学计算工作流设计控制系统,包括工作流管理模块、工作流编排模块、工作流节点控制模块、任务管理模块;
所述的工作流管理模块:工作流管理模块将一个工作流节点的描述文件视为一个独立的文件,将一个工作流的描述文件同样视为一个独立的文件;而工作流与工作流节点之间的关系,是通过工作流编排模块解析实现;
所述的工作流编排模块:工作流编排模块通过调用工作流描述语言释义解析器解析打开的工作流文件,或拖拽或引入的工作流节点文件,将其正确识别为各个节点图形、节点图形的连接顺序和关系,展示在编排面板中;
所述的工作流节点控制模块:工作流节点控制器通过调用工作流描述语言释义解析器解析引入到工作流中的节点文件,提供给用户对节点特性的配置功能;
所述的任务管理模块:任务管理模块允许用户通过编排面板的操作,获悉一个节点的单点任务或者并发任务的运行状态,入参出参和运行日志;所述的任务管理模块,调用的是底层服务中的任务监控和日志服务的接口;任务启动后,通过工作流编排模块直观地看到工作流运行阶段和每一个节点的运行状态,每一个节点有五个状态:待命,通过,运行中,运行中但发生故障,异常中止;若全部节点均变为通过,则表示该工作流顺利完成。
6.根据权利要求5所述的用户图形界面,其特征在于,所述的工作流管理模块的流程为:
(1.1)导入本地文件;通过系统的文件管理系统,将用户本的算法文件引入,会根据算法名称自动生成该算法的云原生描述文件;
(1.2)发布容器化软件;通过完成云原生描述文件,将用户本地的算法文件或者设计好的工作流通过工作流生成器转化成任务分发器能够识别的表达文件,随后调用底层服务中的计算和存储资源服务的中间件,对算法或者设计好的工作流进行容器化打包,并且上传到云端,容器化前,用户对该容器的名称和部署环境进行配置;
(1.3)导入云端文件;通过调用底层服务中的计算和存储资源服务,将云端已部署的容器化软件的描述文件,下载到客户端本地,允许在用户端进行管理和操作;
(1.4)导出和保存;通过系统的文件管理系统,将用户的文件另存到本地磁盘环境中,令用户通过系统资源管理器来管理文件。
7.根据权利要求6所述的用户图形界面,其特征在于,所述的工作流编排模块的的流程为:
(2.1)读取工作流文件;通过双击工作流管理模块中的工作流后缀文件,将文件中所包含的工作流节点,节点间关系加载到编排面板中;
(2.2)添加工作流节点;通过从工作流管理模块中拖拽节点文件,或者在工具栏中选择添加节点,为工作流加入新的节点;
(2.3)连接工作流节点;通过选择一个工作流节点的输出端,拖拽拉出箭头,连接到目标工作流节点的输入端,即可确定科学计算工作流的上下步骤;
(2.4)配置连接;通过双击连接线,将上一步的输出参数与下一步的输入参数对应相连,其关系为一个输出参数可选对应多个输入参数;若要为一个输出参数配置多个下一步的输入参数,可以通过添加一个连接线输入参数实现;
(2.5)配置公共参数;公共参数为固定控制工作流中特定参数的功能,它像节点一样连接到任意步骤,并与节点的输入参数进行一对多的赋值传递;
(2.6)配置工作流结果;工作流结果为设计人员希望通过科学计算工作流得到的最终数据或者文件,该结果配置完成后会通过工作流描述语言释义解析器转换成任务管理模块或其它高层任务管理系统所需要的获取结果数据的接口描述,供用户在各个系统中方便地获得;
(2.7)查看工作流节点列表和状态;通过打开工作流节点面板,查看每一个节点文件在本地是否被正确下载并加入到工作流中,以保证用户能够对节点进行正确配置;
(2.8)调试和运行工作流;针对已经完成发布的工作流,在编排模块单击运行功能按钮,即可通过任务分发器调用底层服务中的任务调度和执行中间件,分配云端计算集群资源,运行任务。
8.根据权利要求7所述的用户图形界面,其特征在于,所述的工作流节点控制模块的流程为:
(3.1)读取工作流节点配置;双击或者右键打开工作流编排模块中的选定节点,通过工作流描述语言释义解析器解析后打开节点控制面板,即可看到该节点所具备的科学计算能力的描述、输入输出参数以及可选的任务运行模式;
(3.2)任务节点属性配置目前一个节点分为以下属性,顺序运算、条件分支和实施干预;选择条件分支为根据某一个步骤的输出参数结果进行不同的下一步路径选择,一个条件分支的输出需要连接至少两个不同的节点;选择实施干预为当科学计算工作流进行到当前节点后,会自动暂停,待用户审阅完参数后,另行设置下一节点的入参,方可继续执行;
(3.3)任务运行模式配置在JobIn区域,用户选择Scatter即为将一个特定的输入参数进行并发计算,并发的规模可以通过Value中的具体数值或者函数计算关系来赋值;在JobOut区域,用户选择Gather即为将并发产生的多个运算结果收敛到某一个输出参数上,形成字典格式的数据或文件;
(3.4)设置输出参数为结果与工作流编排模块中的配置工作流结果类似,可以在节点控制器中配置流程输出结果。
9.根据权利要求8所述的用户图形界面,其特征在于,所述的任务管理模块的流程为:
(4.1)查看正在执行的工作流节点,在编排模块选中一个工作流节点,选择查看节点状态详情,即可打开任务管理模块面板;
(4.2)控制正在执行的工作流节点,控制功能包含以下三种:暂停节点任务,修改节点参数,重启节点任务;在编排模块选中一个工作流节点,当发现任务运行中出参入参不符合预期,并且检查日志发现异常但任务仍在运行时,可以选择暂停即可将正在运行的节点任务停止,避免不必要的资源浪费;当工作流中包含实施干预节点时,通过修改工作流节点控制模块,对输出参数进行修改,再对选中的工作流节点进行继续运行操作,即可从当前节点,继续执行工作流;当任一工作流在某节点进行了人工停止后,可以在停止节点处选择重启节点,即可从当前节点继续执行工作流。
CN202010973586.5A 2020-09-16 2020-09-16 云端高性能科学计算工作流设计控制系统及用户图形界面 Active CN112162727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010973586.5A CN112162727B (zh) 2020-09-16 2020-09-16 云端高性能科学计算工作流设计控制系统及用户图形界面

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010973586.5A CN112162727B (zh) 2020-09-16 2020-09-16 云端高性能科学计算工作流设计控制系统及用户图形界面

Publications (2)

Publication Number Publication Date
CN112162727A true CN112162727A (zh) 2021-01-01
CN112162727B CN112162727B (zh) 2024-08-02

Family

ID=73858084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010973586.5A Active CN112162727B (zh) 2020-09-16 2020-09-16 云端高性能科学计算工作流设计控制系统及用户图形界面

Country Status (1)

Country Link
CN (1) CN112162727B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065030A (zh) * 2021-01-11 2021-07-02 上海金融期货信息技术有限公司 一种基于有向无环图的作业控制系统
CN113158113A (zh) * 2021-05-17 2021-07-23 上海交通大学 生物信息分析工作流多用户云端访问方法、管理系统
CN114792088A (zh) * 2022-06-23 2022-07-26 中国科学院空天信息创新研究院 一种数字地球工作流的编辑方法及装置
CN116107564A (zh) * 2023-04-12 2023-05-12 中国人民解放军国防科技大学 面向数据的云原生软件架构及软件平台
WO2023142074A1 (zh) * 2022-01-29 2023-08-03 西门子股份公司 信息处理方法、装置、计算设备和计算机可读介质
CN117406979A (zh) * 2023-12-14 2024-01-16 之江实验室 一种计算工作流的界面交互设计方法和系统
JP7455239B2 (ja) 2021-01-27 2024-03-25 三菱電機株式会社 数値制御システム、タスク割り当て変更装置及び数値制御方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178052A1 (en) * 2013-12-17 2015-06-25 Atigeo Llc Automated experimentation platform
CN105447643A (zh) * 2015-11-30 2016-03-30 北京航空航天大学 一种面向云计算平台的科学工作流系统及方法
WO2016127495A1 (zh) * 2015-02-12 2016-08-18 无锡识凌科技有限公司 一种智能终端中的设备驱动架构开发方法
CN106597993A (zh) * 2016-10-28 2017-04-26 北京海普瑞森科技发展有限公司 快刀伺服控制系统的软件架构
CN107015856A (zh) * 2017-03-30 2017-08-04 青海大学 云环境下科学工作流中的任务调度方案生成方法及装置
CN107203421A (zh) * 2016-08-28 2017-09-26 深圳晶泰科技有限公司 一种云计算环境中自适应的组合工作流方法
CN108647886A (zh) * 2018-05-10 2018-10-12 深圳晶泰科技有限公司 科学计算流程管理系统
US20180329741A1 (en) * 2017-05-10 2018-11-15 King Abdulaziz University Task scheduling in a green data center
CN110502349A (zh) * 2018-05-16 2019-11-26 北京理工大学 一种构建云端容器应用的编排方法
CN111625663A (zh) * 2020-05-08 2020-09-04 西安交通大学医学院第一附属医院 一种超声病例图像和信息资料存储系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178052A1 (en) * 2013-12-17 2015-06-25 Atigeo Llc Automated experimentation platform
WO2016127495A1 (zh) * 2015-02-12 2016-08-18 无锡识凌科技有限公司 一种智能终端中的设备驱动架构开发方法
CN105447643A (zh) * 2015-11-30 2016-03-30 北京航空航天大学 一种面向云计算平台的科学工作流系统及方法
CN107203421A (zh) * 2016-08-28 2017-09-26 深圳晶泰科技有限公司 一种云计算环境中自适应的组合工作流方法
CN106597993A (zh) * 2016-10-28 2017-04-26 北京海普瑞森科技发展有限公司 快刀伺服控制系统的软件架构
CN107015856A (zh) * 2017-03-30 2017-08-04 青海大学 云环境下科学工作流中的任务调度方案生成方法及装置
US20180329741A1 (en) * 2017-05-10 2018-11-15 King Abdulaziz University Task scheduling in a green data center
CN108647886A (zh) * 2018-05-10 2018-10-12 深圳晶泰科技有限公司 科学计算流程管理系统
CN110502349A (zh) * 2018-05-16 2019-11-26 北京理工大学 一种构建云端容器应用的编排方法
CN111625663A (zh) * 2020-05-08 2020-09-04 西安交通大学医学院第一附属医院 一种超声病例图像和信息资料存储系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065030A (zh) * 2021-01-11 2021-07-02 上海金融期货信息技术有限公司 一种基于有向无环图的作业控制系统
JP7455239B2 (ja) 2021-01-27 2024-03-25 三菱電機株式会社 数値制御システム、タスク割り当て変更装置及び数値制御方法
CN113158113A (zh) * 2021-05-17 2021-07-23 上海交通大学 生物信息分析工作流多用户云端访问方法、管理系统
WO2023142074A1 (zh) * 2022-01-29 2023-08-03 西门子股份公司 信息处理方法、装置、计算设备和计算机可读介质
CN114792088A (zh) * 2022-06-23 2022-07-26 中国科学院空天信息创新研究院 一种数字地球工作流的编辑方法及装置
CN116107564A (zh) * 2023-04-12 2023-05-12 中国人民解放军国防科技大学 面向数据的云原生软件架构及软件平台
CN117406979A (zh) * 2023-12-14 2024-01-16 之江实验室 一种计算工作流的界面交互设计方法和系统
CN117406979B (zh) * 2023-12-14 2024-04-12 之江实验室 一种计算工作流的界面交互设计方法和系统

Also Published As

Publication number Publication date
CN112162727B (zh) 2024-08-02

Similar Documents

Publication Publication Date Title
CN112162727A (zh) 云端高性能科学计算工作流设计控制系统及用户图形界面
WO2022056735A1 (zh) 云端高性能科学计算工作流设计控制系统及用户图形界面
US11429433B2 (en) Process discovery and automatic robotic scripts generation for distributed computing resources
CN108614688B (zh) 应用于混合云环境的可视化应用编排系统及方法
CN103441900B (zh) 集中式跨平台自动化测试系统及其控制方法
CN104679488B (zh) 一种流程定制开发平台及流程定制开发方法
CN111552471A (zh) 混合云环境下的任务编排方法及系统
CN107612962B (zh) 一种分布式仿真评估试验管理系统
Kuryazov et al. Towards decomposing monolithic applications into microservices
CN104778124A (zh) 一种软件应用自动化测试方法
US9552194B2 (en) System and method for creating a graphical user interface within a manufacturing execution system
CN106910004B (zh) 一种基于流程流转的全过程风机制造质量监控系统
CN105338045A (zh) 一种云计算资源的处理装置、方法及云计算系统
US11474931B2 (en) Debugging a cross-technology and cross-environment execution
CN106127365A (zh) 定量遥感产品在线交互式自主生产方法
CN113641483A (zh) 一种基于人工智能的机器人流程自动化系统
CN115907683A (zh) 基于金融产品管理的工作流引擎的实现系统及其方法
Helfen et al. Testing SAP solutions
CN113050929A (zh) 一种基于Hyperledger Fabric的智能合约开发运维一体化平台
CN113704095A (zh) 一种接口自动测试用例自动生成方法及装置
CN112395100A (zh) 一种数据驱动的复杂产品云服务数据包调用方法及系统
US20100235839A1 (en) Apparatus and method for automation of a business process
CN110632856A (zh) 一种面向过程的仿真测试验证系统
CN115016960A (zh) 可配置的rpa机器人全流程信息通知处理方法及系统
CN115421847A (zh) 支持多引擎的研发运维平台和cicd流水线的管理方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant