CN110674083B - 工作流迁移方法、装置、设备及计算机可读存储介质 - Google Patents

工作流迁移方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110674083B
CN110674083B CN201910961072.5A CN201910961072A CN110674083B CN 110674083 B CN110674083 B CN 110674083B CN 201910961072 A CN201910961072 A CN 201910961072A CN 110674083 B CN110674083 B CN 110674083B
Authority
CN
China
Prior art keywords
workflow
file
node
workflow file
scheduling system
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.)
Active
Application number
CN201910961072.5A
Other languages
English (en)
Other versions
CN110674083A (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910961072.5A priority Critical patent/CN110674083B/zh
Publication of CN110674083A publication Critical patent/CN110674083A/zh
Priority to PCT/CN2020/113492 priority patent/WO2021068692A1/zh
Application granted granted Critical
Publication of CN110674083B publication Critical patent/CN110674083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及金融科技技术领域,公开了一种工作流迁移方法、装置、设备及计算机可读存储介质。该工作流迁移方法包括:获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;将所述第二工作流文件发送至所述目标调度系统,以实现迁移。本发明能够解决现有工作流迁移方式的迁移效率较低、准确性较低的问题。

Description

工作流迁移方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种工作流迁移方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
在大数据领域,复杂的业务数据处理场景,尤其在离线批量计算以及报表加工过程中,都离不开解决数据处理流程中错综复杂的依赖关系,作业的执行需要进行统一的管理和调度,我们一般使用分布式可视化DAG(Directed acyclic graph,有向无环图)工作流任务调度系统。目前比较流行的系统有Oozie(任务调度框架)、Azkaban(批量工作流任务调度器)、Airflow(工作流平台)等,他们都支持以DAG图的方式将Task(任务)按照任务的依赖关系关联起来,进行分布式调度执行,且支持丰富的任务类型。
但是,不同调度系统的工作流定义不能兼容。用户在一个系统上定义了工作流后,如需更换工作流调度系统,常常需要用户重新设计原来的工作流或对工作流进行人工迁移。当一个系统使用了很长时间后,其中的工作流已变得非常的复杂和庞大,工作流迁移的任务非常艰巨,通过人工迁移的方式进行迁移,其迁移效率较低,同时,对于依赖关系非常复杂的工作流仅依赖人工迁移难以保证依赖关系的正确性。
发明内容
本发明的主要目的在于提供一种工作流迁移方法、装置、设备及计算机可读存储介质,旨在解决现有工作流迁移方式的迁移效率较低、准确性较低的问题。
为实现上述目的,本发明提供一种工作流迁移方法,所述工作流迁移方法包括:
获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;
获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;
将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
可选地,所述根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件的步骤之前,还包括:
将所述第一工作流文件导入预设工作流编辑系统,生成对应的工作流编辑页面,所述工作流编辑页面中包括工作流视图;
接收用户基于所述工作流视图触发的节点编辑指令,根据所述节点编辑指令对对应节点属性进行修改,得到第三工作流文件;
所述根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件的步骤包括:
根据所述目标调度系统的类型对所述第三工作流文件进行转换,得到与所述目标调度系统对应的工作流文件。
可选地,所述接收用户基于所述工作流视图触发的节点编辑指令的步骤之前,还包括:
在接收到用户基于所述工作流视图触发的节点编辑请求时,根据所述节点编辑请求获取目标编辑节点;
显示与所述目标编辑节点对应的属性下拉框,以供用户从所述属性下拉框中选取对应的节点属性、触发对应的节点编辑指令。
可选地,所述获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件的步骤包括:
读取待迁移工作流文件,对所述待迁移工作流文件的内容进行解析,得到第一节点定义和第一边定义;
基于预设映射关系对所述第一节点定义和所述第一边定义进行映射转换,得到第二节点定义和第二边定义;
基于所述第二节点定义和所述第二边定义构建文件目录,生成预设格式的工作流文件,记为第一工作流文件。
可选地,所述根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件的步骤包括:
根据所述目标调度系统的类型确定目标转换插件,调用所述目标转换插件对所述第一工作流文件进行解析,得到对应工作流中节点的依赖关系和层次关系,并将所述工作流转换成调度工作流;
基于所述调度工作流对各节点进行转换,生成各节点对应的定义文件,其中,所述定义文件所在的目录根据所述层次关系确定得到;
将所述依赖关系设置到对应节点的属性中,将各节点的依赖资源文件分别下载至对应定义文件所在目录中,将各节点的节点变量分别转变成特征文件并放置到对应定义文件所在目录中,得到与所述目标调度系统对应的工作流文件。
可选地,所述基于所述调度工作流对各节点进行转换,生成各节点对应的定义文件的步骤包括:
基于所述调度工作流获取各节点的节点类型,并根据所述节点类型获取对应的参数信息;
基于所述参数信息对各节点进行转换,生成各节点对应的定义文件。
可选地,所述将所述第二工作流文件发送至所述目标调度系统,以实现迁移的步骤之前,还包括:
将所述第二工作流文件发送至预设测试端,以使得所述预设测试端对所述第二工作流文件进行测试;
在测试通过之后,执行步骤:将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
此外,为实现上述目的,本发明还提供一种工作流迁移装置,所述工作流迁移装置包括:
第一转换模块,用于获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;
第二转换模块,用于获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;
迁移模块,用于将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
此外,为实现上述目的,本发明还提供一种工作流迁移设备,所述工作流迁移设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的工作流迁移程序,所述工作流迁移程序被所述处理器执行时实现如上所述的工作流迁移方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有工作流迁移程序,所述工作流迁移程序被处理器执行时实现如上所述的工作流迁移方法的步骤。
本发明提供一种工作流迁移方法、装置、设备及计算机可读存储介质,通过获取待迁移工作流文件,对待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;获取目标调度系统,即待迁移工作流所需迁入的系统,进而根据目标调度系统的类型对第一工作流文件进行转换,得到与目标调度系统对应的工作流文件,记为第二工作流文件;进而将第二工作流文件发送至目标调度系统,以实现迁移。通过上述方式,本发明中定义了一种通用的工作流格式,可实现自动将待迁移工作流文件自动转换成预设通用格式的工作流文件(即第一工作流文件),进而根据目标调度系统的类型,对第一工作流文件进行转换,得到与目标调度系统对应的工作流文件,进而进行迁移,因此,本发明可实现待迁移工作流文件的自动转换和迁移,可提高工作流的迁移效率,同时,在转换过程中可实现自动解析工作流节点间的依赖关系,避免现有技术中人工迁移时解析失误的情况,从而在一定程序上提高了工作流迁移的准确性。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明工作流迁移方法第一实施例的流程示意图;
图3为本发明工作流迁移方法涉及的一Json结构目录的示意图;
图4为本发明工作流迁移装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例工作流迁移设备可以是智能手机,也可以是PC(PersonalComputer,个人计算机)、平板电脑、便携计算机等终端设备。
如图1所示,该工作流迁移设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的工作流迁移设备结构并不构成对工作流迁移设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及工作流迁移程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的工作流迁移程序,并执行以下操作:
获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;
获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;
将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
进一步地,处理器1001可以调用存储器1005中存储的工作流迁移程序,还执行以下操作:
将所述第一工作流文件导入预设工作流编辑系统,生成对应的工作流编辑页面,所述工作流编辑页面中包括工作流视图;
接收用户基于所述工作流视图触发的节点编辑指令,根据所述节点编辑指令对对应节点属性进行修改,得到第三工作流文件;
根据所述目标调度系统的类型对所述第三工作流文件进行转换,得到与所述目标调度系统对应的工作流文件。
进一步地,处理器1001可以调用存储器1005中存储的工作流迁移程序,还执行以下操作:
在接收到用户基于所述工作流视图触发的节点编辑请求时,根据所述节点编辑请求获取目标编辑节点;
显示与所述目标编辑节点对应的属性下拉框,以供用户从所述属性下拉框中选取对应的节点属性、触发对应的节点编辑指令。
进一步地,处理器1001可以调用存储器1005中存储的工作流迁移程序,还执行以下操作:
读取待迁移工作流文件,对所述待迁移工作流文件的内容进行解析,得到第一节点定义和第一边定义;
基于预设映射关系对所述第一节点定义和所述第一边定义进行映射转换,得到第二节点定义和第二边定义;
基于所述第二节点定义和所述第二边定义构建文件目录,生成预设格式的工作流文件,记为第一工作流文件。
进一步地,处理器1001可以调用存储器1005中存储的工作流迁移程序,还执行以下操作:
根据所述目标调度系统的类型确定目标转换插件,调用所述目标转换插件对所述第一工作流文件进行解析,得到对应工作流中节点的依赖关系和层次关系,并将所述工作流转换成调度工作流;
基于所述调度工作流对各节点进行转换,生成各节点对应的定义文件,其中,所述定义文件所在的目录根据所述层次关系确定得到;
将所述依赖关系设置到对应节点的属性中,将各节点的依赖资源文件分别下载至对应定义文件所在目录中,将各节点的节点变量分别转变成特征文件并放置到对应定义文件所在目录中,得到与所述目标调度系统对应的工作流文件。
进一步地,处理器1001可以调用存储器1005中存储的工作流迁移程序,还执行以下操作:
基于所述调度工作流获取各节点的节点类型,并根据所述节点类型获取对应的参数信息;
基于所述参数信息对各节点进行转换,生成各节点对应的定义文件。
进一步地,处理器1001可以调用存储器1005中存储的工作流迁移程序,还执行以下操作:
将所述第二工作流文件发送至预设测试端,以使得所述预设测试端对所述第二工作流文件进行测试;
在测试通过之后,将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
基于上述硬件结构,提出本发明工作流迁移方法的各实施例。
本发明提供一种工作流迁移方法。
参照图2,图2为本发明工作流迁移方法第一实施例的流程示意图。
在本实施例中,该工作流迁移方法包括:
步骤S10,获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;
本实施例的工作流迁移方法是由工作流迁移设备实现的,该设备以服务器为例进行说明。在本实施例中,先定义了一种通用的工作流数据结构,并实现自动将待迁移的调度系统的工作流文件(即待迁移工作流文件)自动转换为预设通用格式的工作流文件(即第一工作流文件)。具体的,先获取待迁移工作流文件,对待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件。其中,预设格式可选为Json(JavaScript ObjectNotation,基于JavaScript语言的轻量级的数据交换格式)格式。
例如,以对TSS(Task Schedule System,任务调度系统)工作流调度系统中的工作流迁移为例进行说明,可以先导出TSS系统中工作流文件(即待迁移工作流文件),然后,调用对应的自动化转换工具对待迁移工作流文件进行转换,得到Json格式的工作流文件。由于不同的系统的工作流文件格式不同,需调用不同的自动化转换工具进行转换,TSS工作流调度系统导出的是SBT(一种文件类型)格式的工作流文件,可调用TSS转DWS(DataWorkShop,数据车间)工具进行转换,其中,TSS转DWS工具可以实现将SBT格式的待迁移工作流文件转换成Json格式文件,并按文件目录层次结构进行组织,得到第一工作流文件。
具体的,步骤S10包括:
步骤a1,读取待迁移工作流文件,对所述待迁移工作流文件的内容进行解析,得到第一节点定义和第一边定义;
步骤a2,基于预设映射关系对所述第一节点定义和所述第一边定义进行映射转换,得到第二节点定义和第二边定义;
步骤a3,基于所述第二节点定义和所述第二边定义构建文件目录,生成预设格式的工作流文件,记为第一工作流文件。
先读取待迁移工作流文件,对待迁移工作流文件的内容进行解析,得到第一节点定义和第一边定义,即将待迁移工作流文件内容中对于节点的描述定义转成java中可以操作的节点对象(即第一节点定义),把对于边的定义转换成java中可操作的边对象(即第一边定义)。然后,基于预设映射关系对第一节点定义和第一边定义进行映射转换,得到第二节点定义和第二边定义,即映射为预设格式所对应的定义,其中,第二节点定义包括节点名称、类型、属性信息、执行命令、依赖定义等信息,第二边定义包括边的起点和终点信息等。进而,基于第二节点定义和第二边定义构建文件目录,生成预设格式的工作流文件,记为第一工作流文件。
具体的,对于文件目录的构建方式如下:每个工作流对应一个Json文件定义,对于存在子工作流的情况,则在当前目录下新建文件目录(记为子目录),在子目录中添加子工作流的Json文件定义。如果有多个同级子工作流,则需要新建多个文件目录(即多个子目录)。如果在子工作流中还有更深层次的嵌套,则按照同样的方式新建下一级工作流目录。最终输出的Json格式的工作流文件按照层次目录进行组织,可参照图3,为一Json结构目录的示意图,其中,第一层目录对应原待迁移工作流文件的顶层工作流,也就是原顶层Group(群组)的所有工作流,由于一个Group内可能存在多个并行的工作流,可以采用按工作流编号的方式进行编号;如果顶层Group下有嵌套的子工作流,则会放到和工作流名字相同的目录中,放入第二层目录;工作流的编号和目录的编号按照Group的名字-当前层次-工作流序号格式进行定义。
通过上述方式,可实现自动解析工作流节点间的依赖关系,自动拆分工作流子树,并能分层次解析嵌套工作流的依赖关系,尽可能保留原有节点的有用信息并平移到通用的工作流,以将待迁移工作流文件转换为通用Json定义结构的工作流。
步骤S20,获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;
然后,获取目标调度系统,即待迁移工作流所需迁入的系统,进而根据目标调度系统的类型对第一工作流文件进行转换,得到与目标调度系统对应的工作流文件,记为第二工作流文件。
其中,步骤“根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件”包括:
步骤b1,根据所述目标调度系统的类型确定目标转换插件,调用所述目标转换插件对所述第一工作流文件进行解析,得到对应工作流中节点的依赖关系和层次关系,并将所述工作流转换成调度工作流;
先根据目标调度系统的类型确定目标转换插件,调用目标转换插件对第一工作流文件进行解析,得到对应工作流中节点的依赖关系和层次关系,并将工作流转换成调度工作流。以目标调度系统为Azkaban系统为例进行说明,可以调用对应的转换插件,该转换插件中预先定义了工作流的转换接口parseFlow(解析流)和节点的转换接口parseNode(解析节点),可通过转换插件中节点的转换接口parseNode对第一工作流文件进行解析,得到对应工作流中节点的依赖关系和层次关系,通过工作流的转换接口parseFlow将工作流转换成SchedulerFlow(调度工作流)。
步骤b2,基于所述调度工作流对各节点进行转换,生成各节点对应的定义文件,其中,所述定义文件所在的目录根据所述层次关系确定得到;
然后,基于调度工作流对各节点进行转换,生成各节点对应的定义文件,其中,定义文件所在的目录根据上述解析得到的层次关系确定得到。其中,定义文件的格式可以为.job格式。具体的,步骤b2包括:
步骤b21,基于所述调度工作流获取各节点的节点类型,并根据所述节点类型获取对应的参数信息;
步骤b22,基于所述参数信息对各节点进行转换,生成各节点对应的定义文件。
节点的转换需要根据类型进行转换,不同类型节点的转换完全不一样,因此,先基于调度工作流获取各节点的节点类型,并根据节点类型获取对应的参数信息,例如,对于shell类型节点的转换,所需获取的参数信息包括节点名称、节点类型、节点命令、代理执行用户、变量、参数、资源文件等,对于Spark类型节点的转换,所需获取的参数信息包括节点名称、节点类型、drive(驱动器)参数、executor(执行)参数、执行脚本、第三方jar(一种软件包文件格式)、自定义函数、hadoop(分布式系统基础架构)用户、集群地址等。然后,基于参数信息对各节点进行转换,生成各节点对应的定义文件。
步骤b3,将所述依赖关系设置到对应节点的属性中,将各节点的依赖资源文件分别下载至对应定义文件所在目录中,将各节点的节点变量分别转变成特征文件并放置到对应定义文件所在目录中,得到与所述目标调度系统对应的工作流文件。
在生成各节点对应的定义文件后,将上述解析得到的依赖关系设置到对应节点的属性中,以当作属性保存到定义文件中,同时,还需将各节点的依赖资源文件分别下载至对应定义文件所在目录中,将各节点的节点变量分别转变成特征(properties)文件并放置到对应定义文件所在目录中,得到与目标调度系统对应的工作流文件。
需要说明的是,在具体实施时,只需添加对应调度系统的转换插件,即可通过添加的转换插件完成类似的转换,得到与调度系统对应的工作流文件,即能够支持生成多种类型调度系统所需的工作流文件。
步骤S30,将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
在转换得到目标调度系统对应的工作流文件(即第二工作流文件)后,将第二工作流文件发送至目标调度系统,以实现迁移。在发送第二工作流文件时,可调用目标调度系统的工程发布接口进行上传。
本发明实施例提供一种工作流迁移方法,通过获取待迁移工作流文件,对待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;获取目标调度系统,即待迁移工作流所需迁入的系统,进而根据目标调度系统的类型对第一工作流文件进行转换,得到与目标调度系统对应的工作流文件,记为第二工作流文件;进而将第二工作流文件发送至目标调度系统,以实现迁移。通过上述方式,本发明实施例中定义了一种通用的工作流格式,可实现自动将待迁移工作流文件自动转换成预设通用格式的工作流文件(即第一工作流文件),进而根据目标调度系统的类型,对第一工作流文件进行转换,得到与目标调度系统对应的工作流文件,进而进行迁移,因此,本发明实施例可实现待迁移工作流文件的自动转换和迁移,可提高工作流的迁移效率,同时,在转换过程中可实现自动解析工作流节点间的依赖关系,避免现有技术中人工迁移时解析失误的情况,从而在一定程序上提高了工作流迁移的准确性。
进一步的,基于图2所示的第一实施例,提出本发明工作流迁移方法的第二实施例。
在本实施例中,在步骤“根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件”之前,该工作流迁移方法还包括:
步骤A,将所述第一工作流文件导入预设工作流编辑系统,生成对应的工作流编辑页面,所述工作流编辑页面中包括工作流视图;
由于不同的工作流系统之间对于节点的定义存在差异,虽然绝大多数系统都支持Shell类型的作业,但是对于信号节点、大数据节点则有着不同的定义和使用方式,比如节点的定义、依赖的资源文件引用方式、环境变量定义、变量替换、属性文件等都不一样,而现有技术无法设置。
对此,本实施例中提供了一个工作流编辑系统,用于对转换成预设格式的工作流(即第一工作流文件)进行编辑,具体的,将第一工作流文件导入预设工作流编辑系统,生成对应的工作流编辑页面,其中,该工作流编辑页面中包括工作流视图,还可以包括图标的注释说明,以及编辑图标等,用户基于该工作流编辑页面进行编辑修改工作,例如修改节点属性。
步骤B,接收用户基于所述工作流视图触发的节点编辑指令,根据所述节点编辑指令对对应节点属性进行修改,得到第三工作流文件;
进而接收用户基于工作流视图触发的节点编辑指令,根据节点编辑指令对对应节点属性进行修改,得到第三工作流文件。
在上述步骤B之前,该工作流迁移方法还包括:
步骤C,在接收到用户基于所述工作流视图触发的节点编辑请求时,根据所述节点编辑请求获取目标编辑节点;
步骤D,显示与所述目标编辑节点对应的属性下拉框,以供用户从所述属性下拉框中选取对应的节点属性、触发对应的节点编辑指令。
用户需对节点属性进行设置时,可通过点击工作流视图中对应的节点框,以触发节点编辑请求,此时,服务器在接收到用户基于工作流视图触发的节点编辑请求时,根据节点编辑请求获取目标编辑节点;然后,显示与目标编辑节点对应的属性下拉框,以供用户从属性下拉框中选取对应的节点属性、触发对应的节点编辑指令。当然,属性下拉框中除包括预设好的节点属性外,还可以包括手动输入的选项,以提供手动输入节点属性的功能。当然,在属性下拉框中还可以对应设定其他功能选项,如资源文件的上传、全局变量的定义等,可根据实际需要进行设定,此处不作具体限定。
此时,步骤S20中“根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件”包括:
根据所述目标调度系统的类型对所述第三工作流文件进行转换,得到与所述目标调度系统对应的工作流文件。
在编辑修改完,得到第三工作流文件后,再根据目标调度系统的类型对第三工作流文件进行转换,得到与目标调度系统对应的工作流文件,并执行后续步骤,具体执行过程可参照上述第一实施例,此处不作赘述。
本实施例通过预设工作流编辑系统实现可视化工作流编辑,只需要导入转换后的Json格式工作流(即第一工作流文件),即可在工作流编辑页面中对工作流中节点的节点属性进行设置,解决那些不能自动转换的节点属性问题,如信号节点的参数设置、资源文件的上传、全局变量的定义等,就可以构造出复杂的大数据核心批量业务逻辑。
进一步的,基于上述各实施例,提出本发明工作流迁移方法的第三实施例。
在本实施例中,在步骤S30之前,该工作流迁移方法还包括:
步骤E,将所述第二工作流文件发送至预设测试端,以使得所述预设测试端对所述第二工作流文件进行测试;
在测试通过之后,执行步骤S30:将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
在本实施例中,在根据目标调度系统的类型转换得到对应的第二工作流文件之后,为保证转换后的第二工作流文件没有问题,可正常使用,便于目标调度系统直接使用,可先将第二工作流文件发送至预设测试端,以使得预设测试端对第二工作流文件进行测试。具体的,测试过程可通过预设测试端对应的测试人员在测试环境中对第二工作流文件进行调试执行,以检测是否存在问题。在测试通过之后,再将第二工作流文件发送至目标调度系统,以实现迁移。在发送第二工作流文件时,可调用目标调度系统的工程发布接口进行上传。
在测试未通过时,可生成对应的提示信息,以使得工作人员进行进一步的调试和修改,直至测试通过时,可将调试修改后的工作文件再发送至目标调度系统。
当然,可以理解,在具体实施时,可直接将第二工作流文件发送至目标调度系统,目标调度系统各自进行测试,在测试通过后,在发布至生产环境使用。
通过上述方式,通过预先对转换后的第二工作流文件进行测试,以保证第二工作流文件没有问题,可发布到生产环境中使用,从而可便于目标调度系统直接使用。
本发明还提供一种工作流迁移装置。
参照图4,图4为本发明工作流迁移装置第一实施例的功能模块示意图。
如图4所示,所述工作流迁移装置包括:
第一转换模块10,用于获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;
第二转换模块20,用于获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;
迁移模块30,用于将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
进一步地,所述工作流迁移装置还包括:
生成模块,用于将所述第一工作流文件导入预设工作流编辑系统,生成对应的工作流编辑页面,所述工作流编辑页面中包括工作流视图;
修改模块,用于接收用户基于所述工作流视图触发的节点编辑指令,根据所述节点编辑指令对对应节点属性进行修改,得到第三工作流文件;
所述迁移模块30,具体用于根据所述目标调度系统的类型对所述第三工作流文件进行转换,得到与所述目标调度系统对应的工作流文件。
进一步地,所述工作流迁移装置还包括:
获取模块,用于在接收到用户基于所述工作流视图触发的节点编辑请求时,根据所述节点编辑请求获取目标编辑节点;
显示模块,用于显示与所述目标编辑节点对应的属性下拉框,以供用户从所述属性下拉框中选取对应的节点属性、触发对应的节点编辑指令。
进一步地,所述第一转换模块10包括:
第一解析单元,用于读取待迁移工作流文件,对所述待迁移工作流文件的内容进行解析,得到第一节点定义和第一边定义;
第二转换单元,用于基于预设映射关系对所述第一节点定义和所述第一边定义进行映射转换,得到第二节点定义和第二边定义;
第一生成单元,用于基于所述第二节点定义和所述第二边定义构建文件目录,生成预设格式的工作流文件,记为第一工作流文件。
进一步地,所述第二转换模块20包括:
第二解析单元,用于根据所述目标调度系统的类型确定目标转换插件,调用所述目标转换插件对所述第一工作流文件进行解析,得到对应工作流中节点的依赖关系和层次关系,并将所述工作流转换成调度工作流;
第二转换单元,用于基于所述调度工作流对各节点进行转换,生成各节点对应的定义文件,其中,所述定义文件所在的目录根据所述层次关系确定得到;
第二生成单元,用于将所述依赖关系设置到对应节点的属性中,将各节点的依赖资源文件分别下载至对应定义文件所在目录中,将各节点的节点变量分别转变成特征文件并放置到对应定义文件所在目录中,得到与所述目标调度系统对应的工作流文件。
进一步地,所述第二转换单元具体用于:
基于所述调度工作流获取各节点的节点类型,并根据所述节点类型获取对应的参数信息;
基于所述参数信息对各节点进行转换,生成各节点对应的定义文件。
进一步地,所述工作流迁移装置还包括:
测试模块,用于将所述第二工作流文件发送至预设测试端,以使得所述预设测试端对所述第二工作流文件进行测试;
所述迁移模块30,具体用于在测试通过之后,将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
其中,上述工作流迁移装置中各个模块的功能实现与上述工作流迁移方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有工作流迁移程序,所述工作流迁移程序被处理器执行时实现如以上任一项实施例所述的工作流迁移方法的步骤。
本发明计算机可读存储介质的具体实施例与上述工作流迁移方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种工作流迁移方法,其特征在于,所述工作流迁移方法包括:
获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;所述第一工作流文件按照层次目录的方式组织,所述层次目录体现了所述待迁移工作流文件的工作流节点间的依赖关系、嵌套工作流的依赖关系;
获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;所述第二工作流文件包括所述第一工作流文件的各节点的定义文件,所述各节点的定义文件包括所述各节点分别对应的依赖关系,所述各节点分别对应的依赖资源文件和节点变量;
将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
2.如权利要求1所述的工作流迁移方法,其特征在于,所述根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件的步骤之前,还包括:
将所述第一工作流文件导入预设工作流编辑系统,生成对应的工作流编辑页面,所述工作流编辑页面中包括工作流视图;
接收用户基于所述工作流视图触发的节点编辑指令,根据所述节点编辑指令对对应节点属性进行修改,得到第三工作流文件;
所述根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件的步骤包括:
根据所述目标调度系统的类型对所述第三工作流文件进行转换,得到与所述目标调度系统对应的工作流文件。
3.如权利要求2所述的工作流迁移方法,其特征在于,所述接收用户基于所述工作流视图触发的节点编辑指令的步骤之前,还包括:
在接收到用户基于所述工作流视图触发的节点编辑请求时,根据所述节点编辑请求获取目标编辑节点;
显示与所述目标编辑节点对应的属性下拉框,以供用户从所述属性下拉框中选取对应的节点属性、触发对应的节点编辑指令。
4.如权利要求1至3中任一项所述的工作流迁移方法,其特征在于,所述获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件的步骤包括:
读取待迁移工作流文件,对所述待迁移工作流文件的内容进行解析,得到第一节点定义和第一边定义;
基于预设映射关系对所述第一节点定义和所述第一边定义进行映射转换,得到第二节点定义和第二边定义;
基于所述第二节点定义和所述第二边定义构建文件目录,生成预设格式的工作流文件,记为第一工作流文件。
5.如权利要求1至3中任一项所述的工作流迁移方法,其特征在于,所述根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件的步骤包括:
根据所述目标调度系统的类型确定目标转换插件,调用所述目标转换插件对所述第一工作流文件进行解析,得到对应工作流中节点的依赖关系和层次关系,并将所述工作流转换成调度工作流;
基于所述调度工作流对各节点进行转换,生成各节点对应的定义文件,其中,所述定义文件所在的目录根据所述层次关系确定得到;
将所述依赖关系设置到对应节点的属性中,将各节点的依赖资源文件分别下载至对应定义文件所在目录中,将各节点的节点变量分别转变成特征文件并放置到对应定义文件所在目录中,得到与所述目标调度系统对应的工作流文件。
6.如权利要求5所述的工作流迁移方法,其特征在于,所述基于所述调度工作流对各节点进行转换,生成各节点对应的定义文件的步骤包括:
基于所述调度工作流获取各节点的节点类型,并根据所述节点类型获取对应的参数信息;
基于所述参数信息对各节点进行转换,生成各节点对应的定义文件。
7.如权利要求1至3中任一项所述的工作流迁移方法,其特征在于,所述将所述第二工作流文件发送至所述目标调度系统,以实现迁移的步骤之前,还包括:
将所述第二工作流文件发送至预设测试端,以使得所述预设测试端对所述第二工作流文件进行测试;
在测试通过之后,执行步骤:将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
8.一种工作流迁移装置,其特征在于,所述工作流迁移装置包括:
第一转换模块,用于获取待迁移工作流文件,对所述待迁移工作流文件进行转换,得到预设格式的工作流文件,记为第一工作流文件;所述第一工作流文件按照层次目录的方式组织,所述层次目录体现了所述待迁移工作流文件的工作流节点间的依赖关系、嵌套工作流的依赖关系;
第二转换模块,用于获取目标调度系统,根据所述目标调度系统的类型对所述第一工作流文件进行转换,得到与所述目标调度系统对应的工作流文件,记为第二工作流文件;所述第二工作流文件包括所述第一工作流文件的各节点的定义文件,所述各节点的定义文件包括所述各节点分别对应的依赖关系,所述各节点分别对应的依赖资源文件和节点变量;
迁移模块,用于将所述第二工作流文件发送至所述目标调度系统,以实现迁移。
9.一种工作流迁移设备,其特征在于,所述工作流迁移设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的工作流迁移程序,所述工作流迁移程序被所述处理器执行时实现如权利要求1至7中任一项所述的工作流迁移方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有工作流迁移程序,所述工作流迁移程序被处理器执行时实现如权利要求1至7中任一项所述的工作流迁移方法的步骤。
CN201910961072.5A 2019-10-10 2019-10-10 工作流迁移方法、装置、设备及计算机可读存储介质 Active CN110674083B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910961072.5A CN110674083B (zh) 2019-10-10 2019-10-10 工作流迁移方法、装置、设备及计算机可读存储介质
PCT/CN2020/113492 WO2021068692A1 (zh) 2019-10-10 2020-09-04 工作流迁移方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910961072.5A CN110674083B (zh) 2019-10-10 2019-10-10 工作流迁移方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110674083A CN110674083A (zh) 2020-01-10
CN110674083B true CN110674083B (zh) 2023-11-28

Family

ID=69081314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910961072.5A Active CN110674083B (zh) 2019-10-10 2019-10-10 工作流迁移方法、装置、设备及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN110674083B (zh)
WO (1) WO2021068692A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674083B (zh) * 2019-10-10 2023-11-28 深圳前海微众银行股份有限公司 工作流迁移方法、装置、设备及计算机可读存储介质
CN113298331A (zh) * 2020-02-21 2021-08-24 北京金山云网络技术有限公司 一种工单处理方法、装置、系统及电子设备
CN112231378A (zh) * 2020-10-13 2021-01-15 中移(杭州)信息技术有限公司 数据处理方法、系统、服务器和存储介质
CN115017096B (zh) * 2021-12-30 2023-10-31 荣耀终端有限公司 数据迁移方法、可读介质和电子设备
CN116340411B (zh) * 2023-05-31 2024-02-27 物产中大数字科技有限公司 一种数据处理的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002203086A (ja) * 2000-12-28 2002-07-19 Sumitomo Electric Ind Ltd ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラムを記録した記録媒体
CN1996356A (zh) * 2006-12-13 2007-07-11 华中科技大学 一种将xpdl格式的工作流模型转换成bpel格式的方法
CN102043625A (zh) * 2010-12-22 2011-05-04 中国农业银行股份有限公司 一种工作流运行方法及系统
US20170364390A1 (en) * 2016-06-17 2017-12-21 International Business Machines Corporation Automating enablement state inputs to workflows in z/osmf
US20190012401A1 (en) * 2013-08-08 2019-01-10 Oshyn, Inc. Migrating data for web content management systems
US10223176B1 (en) * 2017-10-13 2019-03-05 Amazon Technologies, Inc. Event handler nodes for visual scripting

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795237A (zh) * 2010-03-25 2010-08-04 国网电力科学研究院 基于数据交换的工作流整合方法和装置
CN106600226B (zh) * 2016-12-13 2020-08-04 泰康保险集团股份有限公司 用于优化流程管理系统的方法及装置
CN110674083B (zh) * 2019-10-10 2023-11-28 深圳前海微众银行股份有限公司 工作流迁移方法、装置、设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002203086A (ja) * 2000-12-28 2002-07-19 Sumitomo Electric Ind Ltd ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラムを記録した記録媒体
CN1996356A (zh) * 2006-12-13 2007-07-11 华中科技大学 一种将xpdl格式的工作流模型转换成bpel格式的方法
CN102043625A (zh) * 2010-12-22 2011-05-04 中国农业银行股份有限公司 一种工作流运行方法及系统
US20190012401A1 (en) * 2013-08-08 2019-01-10 Oshyn, Inc. Migrating data for web content management systems
US20170364390A1 (en) * 2016-06-17 2017-12-21 International Business Machines Corporation Automating enablement state inputs to workflows in z/osmf
US10223176B1 (en) * 2017-10-13 2019-03-05 Amazon Technologies, Inc. Event handler nodes for visual scripting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
超算环境科学工作流应用平台的引擎设计和资源调度;李于锋 等;计算机应用研究;129-132 *

Also Published As

Publication number Publication date
WO2021068692A1 (zh) 2021-04-15
CN110674083A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN110674083B (zh) 工作流迁移方法、装置、设备及计算机可读存储介质
CN109783388B (zh) Ui自动化测试方法、装置及电子设备
CN109947789B (zh) 一种多数据库的数据处理的方法、装置、计算机设备及存储介质
CN109933522B (zh) 一种自动化用例的测试方法、测试系统及存储介质
CN108304201B (zh) 对象更新方法、装置及设备
JP5607743B2 (ja) 自動化されたテスト実行計画の生成
US7596546B2 (en) Method and apparatus for organizing, visualizing and using measured or modeled system statistics
US8656346B2 (en) Converting command units into workflow activities
US10782961B2 (en) Analyzing components related to a software application in a software development environment
CN106776314B (zh) 一种测试系统
CN107957940B (zh) 一种测试日志处理方法、系统及终端
CN110399299B (zh) 自动化测试框架和测试用例的执行方法
CN110019203B (zh) 一种基于知识库的服务器自动巡检系统与方法
WO2020252081A1 (en) Systems and methods for robotic process automation
WO2020026778A1 (ja) Apiアダプタ作成装置、apiアダプタ作成方法およびapiアダプタ作成プログラム
CN105893509A (zh) 一种大数据分析模型的标记与解释系统及方法
EP3968145A1 (en) Apparatus and method for executing customized artificial intelligence production line, and device and medium
CN112363953A (zh) 基于爬虫技术和规则引擎的接口测试用例生成方法及系统
CN113806429A (zh) 基于大数据流处理框架的画布式日志分析方法
CN112346981A (zh) 联调测试覆盖率检测方法及系统
CN111752806A (zh) 一种云环境下虚拟磁盘io指标采集的方法
CN116069303A (zh) 一种代码生成方法、装置、设备及存储介质
Khan et al. Design and development of android performance testing tool
CN111151008B (zh) 游戏运营数据的校验方法、装置、配置后台及介质
US20120278125A1 (en) Method and system for assessing process management tools

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