一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流程参数前后传递的方法及设备与流程

2021-11-03 12:28:00 来源:中国专利 TAG:


1.本技术涉及流程参数传递技术领域,尤其涉及一种流程参数前后传递的方法及设备。


背景技术:

2.随着技术的发展,业务变得逐渐复杂,从而导致业务中需要的参数来源丰富而多样。参数类型分为两类:环境变量和步骤参数。环境变量的生命周期存在于流程执行整个过程中。步骤组成了流程,每个流程由不同数量的步骤组成,例如:一个发布流程可以由拉取代码、进行编译、备份、停止服务、部署、启动服务等步骤组成。而步骤参数指的是在每个步骤执行过程中所使用到的参数。步骤参数仅在单步骤执行期间有效,与环境变量的作用域不同。传统的参数传递一定程度上限制了参数的来源,易用性较低,导致传统的参数和获取方法已不能满足日益复杂的业务需求。


技术实现要素:

3.为至少在一定程度上克服相关技术中参数传递一定程度上限制了参数的来源,易用性较低的问题,本技术提供一种流程参数前后传递的方法及设备。
4.本技术的方案如下:
5.根据本技术实施例的第一方面,提供一种流程参数前后传递的方法,包括:
6.获取所有需要表单输入的参数,选择执行目标ip,填写启动参数;
7.基于所述后端解析所述启动参数,调用流程引擎从数据库中获取流程基本信息执行流程;
8.判断流程步骤类型;
9.在所述流程步骤为工具任务类型,且所述流程步骤挂载有规则脚本时,通过所述规则脚本在本平台数据库或其他平台数据库中获取数据作为所述流程步骤的参数;
10.在所述流程步骤为工具任务类型,且所述流程步骤所需参数为前置步骤的输入参数或输出参数时,通过所述前置步骤的步骤id,在数据库中查询并获取所述前置步骤对应的参数作为所述流程步骤的参数;
11.向框架脚本传递所述流程步骤的参数;
12.接收所述框架脚本反馈的对所述流程步骤的参数的执行结果。
13.优选的,在本技术一种可实现的方式中,还包括:
14.在当前流程步骤的参数执行成功时,继续获取下一流程步骤的参数并执行,直到整个流程执行成功;
15.在当前流程步骤的参数执行失败时,中断当前流程的执行并向管理人员反馈执行失败信息。
16.优选的,在本技术一种可实现的方式中,还包括:
17.在接收到管理人员发送的中断流程执行请求时,中断当前流程的执行。
18.优选的,在本技术一种可实现的方式中,所述获取所有需要表单输入的参数前,所述方法还包括:
19.接收用户需求,根据所述用户需求定义流程名称和流程类型并附带流程说明;所述用户请求中包括流程名称和流程说明;
20.根据所述用户需求进行流程设计。
21.优选的,在本技术一种可实现的方式中,所述根据所述用户需求进行流程设计,具体包括:
22.判断流程步骤类型;
23.若所述流程步骤为为工具任务,在所述流程步骤挂载参数脚本;所述参数脚本中包括对应参数信息;
24.定义环境变量;
25.生成所述流程基本信息,并将所述流程基本信息保存到所述数据库中。
26.优选的,在本技术一种可实现的方式中,还包括:
27.根据所述工具任务的类型判断是否挂载所述规则脚本。
28.优选的,在本技术一种可实现的方式中,所述定义环境变量,包括:
29.根据所述流程步骤设置所述流程步骤的参数来源;所述参数来源包括:表单输入,固定值,前置步骤输入和前置步骤输出。
30.根据本技术实施例的第二方面,提供一种流程参数前后传递的设备,包括:
31.处理器和存储器;
32.所述处理器与存储器通过通信总线相连接:
33.其中,所述处理器,用于调用并执行所述存储器中存储的程序;
34.所述存储器,用于存储程序,所述程序至少用于执行以上任一项所述的一种流程参数前后传递的方法。
35.本技术提供的技术方案可以包括以下有益效果:本技术中的流程参数前后传递的方法包括:获取所有需要表单输入的参数,选择执行目标ip,填写启动参数。基于后端解析启动参数,调用流程引擎从数据库中获取流程基本信息执行流程。判断流程步骤类型,在流程步骤为工具任务类型,且流程步骤挂载有规则脚本时,通过规则脚本在本平台数据库或其他平台数据库中获取数据作为流程步骤的参数。在流程步骤为工具任务类型,且流程步骤所需参数为前置步骤的输入参数或输出参数时,通过前置步骤的步骤id,在数据库中查询并获取前置步骤对应的参数作为流程步骤的参数。向框架脚本传递流程步骤的参数,接收框架脚本反馈的对流程步骤的参数的执行结果。由于本技术中执行步骤时可以按照预先设定的规则脚本在本平台数据库或其他平台数据库中获取数据作为流程步骤的参数,从而丰富参数来源,使其易用性和可用性更高。
36.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
37.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
38.图1是本技术一个实施例提供的一种流程参数前后传递的方法的流程示意图;
39.图2是本技术另一个实施例提供的一种流程参数前后传递的方法的流程示意图;
40.图3是本技术一个实施例提供的一种流程参数前后传递的方法中根据用户需求进行流程设计的流程示意图;
41.图4是本技术一个实施例提供的一种流程参数前后传递的设备的结构示意图。
42.附图标记:处理器

31;存储器

32。
具体实施方式
43.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
44.一种流程参数前后传递的方法,参照图1,包括:
45.s11:获取所有需要表单输入的参数,选择执行目标ip,填写启动参数;
46.参数类型分为两类:环境变量和步骤参数。
47.环境变量的生命周期存在于流程执行整个过程中。
48.步骤组成了流程,每个流程由不同数量的步骤组成,例如:一个发布流程可以由拉取代码、进行编译、备份、停止服务、部署、启动服务等步骤组成。
49.步骤参数指的是在每个步骤执行过程中所使用到的参数,步骤参数按照使用情况分为以下几类:
50.a.表单输入(参数来源于表单输入项)
51.b.关联前置步骤输入(关联前置步骤的输入参数)
52.c.关联前置步骤输出(关联前置步骤的输出参数)
53.d.使用固定值(使用固定值,比如性别使用固定值:男)
54.参数类型仅在单步骤执行期间有效,与环境变量的作用域不同,环境变量作用于整个流程执行过程。
55.执行目标ip从已定义完成的主机模型中获取。主机模型定义完成后会增加按照主机模型增加主机实例,比如增加一条主机ip为192.168.1.1的主机实例信息。该实例信息就可以在此处执行流程时作为执行目标ip的来源使用。
56.本实施例中,在执行流程前从后端获取所有需要表单输入的参数信息,选择执行目标ip,确定给哪台主机和用户使用,填写启动参数,以json的形式传给后端。
57.s12:基于后端解析启动参数,调用流程引擎从数据库中获取流程基本信息执行流程;
58.优选的,调用activity流程引擎从数据库中获取流程基本信息执行流程。activiti是一款开源的流程引擎,是一种技术框架,是流程执行技术实现的一种方式。
59.s13:判断流程步骤类型;
60.流程步骤类型可以分为用户任务或者工具任务。
61.用户任务是在流程的执行过程中需要用户手动处理的任务类型,比如需要上级领导审批的步骤时需要在该步骤人工审批并填写审批意见等。工具任务则无需人工处理,流
程在执行过程中会自动化执行工具任务。
62.若流程步骤类型为用户任务则步骤不需要设置参数。
63.s14:在流程步骤为工具任务类型,且流程步骤挂载有规则脚本时,通过规则脚本在本平台数据库或其他平台数据库中获取数据作为流程步骤的参数;
64.规则脚本是指在流程执行到某个步骤的时候,该步骤使用什么规则执行已配置好的脚本。
65.s15:在流程步骤为工具任务类型,且流程步骤所需参数为前置步骤的输入参数或输出参数时,通过前置步骤的步骤id,在数据库中查询并获取前置步骤对应的参数作为流程步骤的参数;
66.s16:向框架脚本传递流程步骤的参数;
67.具体的,通过rocketmq消息中间件向agent系统传递流程步骤的参数消息,agent系统接收流程步骤的参数消息,解析并把这个消息传递给框架脚本做执行。
68.s17:接收框架脚本反馈的对流程步骤的参数的执行结果。
69.框架脚本拿到agent系统传递的流程步骤的参数后执行脚本,并将执行结果通过agent系统进行反馈。
70.本技术中的流程参数前后传递的方法包括:获取所有需要表单输入的参数,选择执行目标ip,填写启动参数。基于后端解析启动参数,调用流程引擎从数据库中获取流程基本信息执行流程。判断流程步骤类型,在流程步骤为工具任务类型,且流程步骤挂载有规则脚本时,通过规则脚本在本平台数据库或其他平台数据库中获取数据作为流程步骤的参数。在流程步骤为工具任务类型,且流程步骤所需参数为前置步骤的输入参数或输出参数时,通过前置步骤的步骤id,在数据库中查询并获取前置步骤对应的参数作为流程步骤的参数。向框架脚本传递流程步骤的参数,接收框架脚本反馈的对流程步骤的参数的执行结果。由于本技术中执行步骤时可以按照预先设定的规则脚本在本平台数据库或其他平台数据库中获取数据作为流程步骤的参数,从而丰富参数来源,使其易用性和可用性更高。
71.一些实施例中流程参数前后传递的方法,还包括:
72.在当前流程步骤的参数执行成功时,继续获取下一流程步骤的参数并执行,直到整个流程执行成功;
73.在当前流程步骤的参数执行失败时,中断当前流程的执行并向管理人员反馈执行失败信息。
74.本实施例中,在当前流程步骤的参数执行成功时,继续获取下一流程步骤的参数并执行,直到整个流程执行成功。在当前流程步骤的参数执行失败时,中断当前流程的执行并向管理人员反馈执行失败信息,方便管理人员及时了解流程执行情况,并在流程执行出现问题及时进行处理。
75.进一步的,方法还包括:
76.在接收到管理人员发送的中断流程执行请求时,中断当前流程的执行。
77.若管理人员人为想要干预流程的进展,可调用相关后台接口实现手动中断,手动完成等动作。
78.一些实施例中流程参数前后传递的方法,获取所有需要表单输入的参数前,参照图2,方法还包括:
79.s21:接收用户需求,根据用户需求定义流程名称和流程类型并附带流程说明;用户请求中包括流程名称和流程说明;
80.流程名称和流程说明是用户提供的,用户根据自己使用流程的情况提供流程名称和流程说明。流程类型是系统中内置的通用场景下的流程类型分类,如果系统定义的流程类型不满足客户需要的流程类型,客户也可通过自定义方式对流程类型进行扩展。
81.s22:根据用户需求进行流程设计,参照图3,具体包括:
82.s221:判断流程步骤类型;
83.流程步骤类型可以分为用户任务或者工具任务。
84.用户任务是在流程的执行过程中需要用户手动处理的任务类型,比如需要上级领导审批的步骤时需要在该步骤人工审批并填写审批意见等。工具任务则无需人工处理,流程在执行过程中会自动化执行工具任务。
85.若流程步骤类型为用户任务,则需选择具体用户组,其流程步骤不需要设置参数。
86.s222:若流程步骤为为工具任务,在流程步骤挂载参数脚本;参数脚本中包括对应参数信息;
87.还可以根据工具任务的类型判断是否挂载规则脚本。
88.规则脚本和参数脚本本质上都是通过python、shell等脚本语言实现。但规则脚本用途与参数脚本不相同,参数脚本主要用于在流程执行过程中提供步骤执行所需要的参数。而规则脚本是用于说明以什么样的规则来执行参数脚本。
89.s223:定义环境变量,包括:
90.根据流程步骤设置流程步骤的参数来源;参数来源包括:表单输入,固定值,前置步骤输入和前置步骤输出。
91.使每个步骤有相应的步骤id,每个参数有自己的参数名。
92.s224:生成流程基本信息,并将流程基本信息保存到数据库中。
93.最后生成流程基本信息,把所有该流程的基本信息和参数以json的形式传给后端,将流程信息保存在数据库对应表中。
94.本实施例中,用户可以自定义环境变量和步骤参数,易用性和可用性更高。
95.一种流程参数前后传递的设备,参照图4,包括:
96.处理器31和存储器32;
97.处理器31与存储器32通过通信总线相连接:
98.其中,处理器31,用于调用并执行存储器32中存储的程序;
99.存储器32,用于存储程序,程序至少用于执行以上任一实施例中的一种流程参数前后传递的方法。
100.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
101.需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
102.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部
分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
103.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
104.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
105.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
106.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
107.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
108.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献