无代码工作流定义方法、终端设备及计算机可读存储介质
文献发布时间:2023-06-19 13:45:04
技术领域
本发明涉及编程领域,尤其涉及一种无代码工作流定义方法、终端设备及计算机可读存储介质。
背景技术
目前在进行一个软件项目的开发过程中,具体的开发流程一般包括:代码开发、代码提测、代码合并、代码构建和代码发布等,开发流程的定义涉及到整个项目的开发进程、开发任务分配和资源调配。目前一般都是在使用工作流引擎来定义开发的工作流程,但使用工作流引擎需要用对应程序语言的代码定义所需流程节点,再由对应节点的代码再次组成完整的流程,由于对流程的制定需要使用相应的代码来完成,因此流程制定工作较为复杂,且对制定人员有较高的专业要求,同时在实际项目的开发过时常中存在有工作内容和人员的调动等,因此需要对现有已经编写完成的流程代码重新编辑,进一步复杂化工作流程的制定任务。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种无代码工作流定义方法,旨在解决目前在使用工作流引擎来定义工作流程时,需要使用代码来完成,对工作流程制定人员要求较高,且需要其付出较多精力和时间的技术问题。
为实现上述目的,本发明提供一种无代码工作流定义方法,所述无代码工作流定义方法包括:
当接收到新建工作流程指令后生成空白流程节点;
基于第一用户操作,将一个或者一个以上预设功能任务模块进行编辑后封装至空白流程节点,并将封装有预设功能任务模块的流程节点判定为自定义流程节点;
基于第二用户操作,将多个所述自定义流程节点进行组合,并将多个自定义流程节点组合的结果判定为自定义工作流程。
进一步的,所述将多个所述自定义流程节点进行组合包括:
基于用户输入的指向指令将多个所述自定义流程节点进行逻辑连接,以组合成自定义工作流程。
进一步的,在所述当接收到新建工作流程指令后生成空白流程节点的步骤之前,包括:
将实现对应任务功能的代码封装成代码包,所述代码包即为预设功能任务模块。
进一步的,所述将多个所述自定义流程节点组合的结果判定为自定义工作流程的步骤包括:
对多个所述自定义流程节点进行组合的结果进行逻辑检测;
若所述逻辑检测的结果为正确,则判定所述组合的结果为自定义工作流程。
进一步的,在所述对多个所述自定义流程节点进行组合的结果进行逻辑检测的步骤之后,还包括:
若所述逻辑检测的结果为错误,则将所述组合的结果中存在逻辑错误的自定义流程节点或者存在逻辑错误的自定义流程节点中预设功能任务模块突出显示,并输出错误提示。
进一步的,在所述将多个自定义流程节点组合的结果判定为自定义工作流程的步骤之后,包括:
当接收到更改指令时,基于所述更改指令对应的第三用户操作,对所述自定义工作流程中自定义流程节点的预设功能任务模块进行编辑;
或者,对所述自定义工作流程中的自定义流程节点进行组合。
进一步的,在所述接收到更改指令后的步骤之后,包括:
对发出更改指令的用户进行权限判断,当判断所述发出更改指令的用户具有工作流程更改权限后,执行所述基于所述更改指令对应的第三用户操作,对所述自定义工作流程中自定义流程节点的预设功能任务模块进行编辑,或者,对所述自定义工作流程中的自定义流程节点进行组合的步骤。
进一步的,在判断所述发出更改指令的用户具有工作流程更改权限后,还包括:
记录发出更改指令的的用户关联的用户信息、更改时间以及更改内容。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的无代码工作流定义程序,所述无代码工作流定义程序被所述处理器执行时实现上述的无代码工作流定义方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有无代码工作流定义程序,所述无代码工作流定义程序被处理器执行时实现如上述的无代码工作流定义方法的步骤。
本发明实施例提出的一种无代码工作流定义方法,通过将底层代码封装至功能任务模块中以实现最基本业务功能,同时将功能任务模块以图形的方式呈现或者利用箭头指向代表流程方向等,即利用简单图形表达代替复杂的代码逻辑,用户可通过图形和文字组合来实现整个工作流程的顺序逻辑,无需学习相关的代码知识,直接在平台界面上拖拉拽形成流程,大幅度的降低了工作流程编辑的上手难度,提升了用户的使用体验和编辑效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本发明无代码工作流定义方法中第一实施例的流程示意图;
图3为本发明无代码工作流定义方法中第二实施例的流程示意图;
图4为本发明无代码工作流定义方法中一完整工作流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:通过将底层代码封装至功能任务模块中以实现最基本业务功能,同时将功能任务模块以图形的方式呈现或者利用箭头指向代表流程方向等,即利用简单图形表达代替复杂的代码逻辑,用户可通过图形和文字组合来实现整个工作流程的顺序逻辑,从而完成工作流程的编辑。
由于现有技术中一般都是在使用工作流引擎来定义开发的工作流程,但使用工作流引擎需要用对应程序语言的代码定义所需流程节点,再由对应节点的代码再次组成完整的流程,由于对流程的制定需要使用相应的代码来完成,因此流程制定工作较为复杂,且对制定人员有较高的专业要求,同时在实际项目的开发过时常中存在有工作内容和人员的调动等,或者将现存的工作流程应用于新的项目中,因此需要对现有已经编写完成的流程代码重新编辑,进一步复杂化工作流程的制定任务。
本发明提供一种解决方案,使流程的制定者无需学习相关的代码知识,直接在界面上拖拉拽形成流程,大幅度的降低了工作流程编辑的上手难度,因此不管是新工作流程的编辑还是对以有工作流程的更改,都极大的提升了用户的使用体验以及编辑效率。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端设备
结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、便携计算机、服务器等具有数据处理的电子终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及无代码工作流定义程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的无代码工作流定义程序,并执行以下操作:
当接收到新建工作流程指令后生成空白流程节点;
基于第一用户操作,将一个或者一个以上预设功能任务模块进行编辑后封装至空白流程节点,并将封装有预设功能任务模块的流程节点判定为自定义流程节点;
基于第二用户操作,将多个所述自定义流程节点进行组合,并将多个自定义流程节点组合的结果判定为自定义工作流程。
进一步地,处理器1001可以调用存储器1005中存储的无代码工作流定义程序,还执行以下操作:
所述将多个所述自定义流程节点进行组合包括:
基于用户输入的指向指令将多个所述自定义流程节点进行逻辑连接,以组合成自定义工作流程。
进一步地,处理器1001可以调用存储器1005中存储的无代码工作流定义程序,还执行以下操作:
在所述当接收到新建工作流程指令后生成空白流程节点的步骤之前,包括:
将实现对应任务功能的代码封装成代码包,所述代码包即为预设功能任务模块。
进一步地,处理器1001可以调用存储器1005中存储的无代码工作流定义程序,还执行以下操作:
所述将多个所述自定义流程节点组合的结果判定为自定义工作流程的步骤包括:
对多个所述自定义流程节点进行组合的结果进行逻辑检测;
若所述逻辑检测的结果为正确,则判定所述组合的结果为自定义工作流程。
进一步地,处理器1001可以调用存储器1005中存储的无代码工作流定义程序,还执行以下操作:
在所述对多个所述自定义流程节点进行组合的结果进行逻辑检测的步骤之后,还包括:
若所述逻辑检测的结果为错误,则将所述组合的结果中存在逻辑错误的自定义流程节点或者存在逻辑错误的自定义流程节点中预设功能任务模块突出显示,并输出错误提示。
进一步地,处理器1001可以调用存储器1005中存储的无代码工作流定义程序,还执行以下操作:
在所述将多个自定义流程节点组合的结果判定为自定义工作流程的步骤之后,包括:
当接收到更改指令时,基于所述更改指令对应的第三用户操作,对所述自定义工作流程中自定义流程节点的预设功能任务模块进行编辑;
或者,对所述自定义工作流程中的自定义流程节点进行组合。
进一步地,处理器1001可以调用存储器1005中存储的无代码工作流定义程序,还执行以下操作:
在所述接收到更改指令后的步骤之后,包括:
对发出更改指令的用户进行权限判断,当判断所述发出更改指令的用户具有工作流程更改权限后,执行所述基于所述更改指令对应的第三用户操作,对所述自定义工作流程中自定义流程节点的预设功能任务模块进行编辑,或者,对所述自定义工作流程中的自定义流程节点进行组合的步骤。
进一步地,处理器1001可以调用存储器1005中存储的无代码工作流定义程序,还执行以下操作:
在判断所述发出更改指令的用户具有工作流程更改权限后,还包括:
记录发出更改指令的用户关联的用户信息、更改时间以及更改内容。
参照图2,本发明无代码工作流定义方法中的第一实施例,所述无代码工作流定义方法包括:
步骤S10,当接收到新建工作流程指令后生成空白流程节点;
可以理解的,本实施例中的实施主体为一种工作流程的编辑平台或者编辑工具。流程的制定人员可以利用上述平台或者工具完成整个流程的编辑。为方便描述,以编辑平台为例进行说明。
流程制定人员也就是上述平台的用户,进入上述平台之后选择新建工作流程并为新建的工作流程命名,平台会以图形的方式生成空白的流程节点(如:一空白的方框),在空白流程节点中,用户可对其进行任意编辑。
其中,在用户新建工作流程之前,平台将实现对应任务功能的代码封装成代码包,所述代码包即为预设功能任务模块。具体的,所述预设功能任务模块用于将空白流程节点构成自定义流程节点,如在软件项目开发的工作流程的某个流程节点中任务模块可设置成分支合并任务,分支合并任务模块具体功能可定义为设置需要参与的团队、分支状态和目标分支等,用户只需使用通用的交流语言(非计算机语言)完成关于团队、状态和目标的定义即可,具体的信息的交流和数据的传递由封装至分支合并任务模块底层代码实现,无需用户掌握相关编程语言,使用代码来定义流程节点。
步骤S20,基于第一用户操作,将一个或者一个以上预设功能任务模块进行编辑后封装至空白流程节点,并将封装有预设功能任务模块的流程节点判定为自定义流程节点;
用户可将一个或者多个预设功能任务模块定义到一个空白流程节点或者已经存在有预设功能任务模块的流程节点中,具体第一用户操作包括将预设功能任务模块拖拽至流程节点中或者直接在流程节点添加预设功能任务模块。其中,以软件开发的工作流程为例,在其流程的定义过程中预设功能任务模块可以包括:分支合并、构建任务、人工审核、自动化测试、发布和反向合并等,其具体功能分别为:定义需要执行的分支类型可以定义需要参与的团队,分支状态,目标分支;定义需要执行的打包job,可以自定义变量传入;定义审核人;定义需执行的自动化任务;定义主干分支及tag格式;定义需要执行的分支类型等。如现针对某一流程中的测试阶段构建测试节点,新建一空白节点命名为测试阶段,在测试阶段需要用到三种任务模块,分别是分支合并模块、构建管理模块和自动化测试模块,对三种模块分别使用通用语言进行编辑即可,如在分支合并模块中可定义参与项目的团队,定义完成后该流程在正式使用过程中将会走向定义的所有团队,经每个团队确认过后才会进入下一个任务模块,且在流程运行过程中可观察到该节点的进行状态,如在测试阶段节点中以工作进度由少到多可显示为新增、开发中、待合并、已合并测试、测试集成和测试通过等,向用户输出进度细节信息。而当用户将测试阶段节点的三种功能任务模块编辑完成并且确认之后,该测试阶段的流程节点即建立完成。平台将所建立完成的流程节点中包含的任务模块的代码进行合并,从而生成自定义流程节点。当生成完一个流程节点后,用户也可选择继续创建新的流程节点。
可以理解的是,通过将已经编辑的完成的可实现某一特定功能的代码封装至功能任务模块中,用户只需要使用通用语言对模块的目标或者内容进行编辑即完成一个流程节点的定义,无需用户花费时间和精力学习对应的程序语言,降低了工作流程的编辑门槛。
步骤S30,基于第二用户操作,将多个所述自定义流程节点进行组合,并将多个自定义流程节点组合的结果判定为自定义工作流程。
可以理解的是,当用户完成自定义流程节点的编辑后,可将已经编辑完成的流程节点进行组合以形成具有逻辑顺序的自定义工作流程,平台判定用户组合的顺序为流程进行的顺序,如:在上述例子中一工作流程存在测试阶段流程节点,在此基础上可能还存在有预发布阶段流程节点和发布阶段流程节点等,用户可根据流程要求将其顺序组合成为:测试阶段流程节点到预发布阶段流程节点再到发布阶段流程节点,平台根据上述顺序逻辑将流程节点中封装好的代码进行合并形成完整的工作流程所需代码。进一步的,可参照图4,该表示一个工作流程有三个节点分别为节点1(测试阶段)、节点2(预发布阶段)、节点3(发布阶段),其中节点1包括合并分支、构建任务、自动化测试;节点2包括合并分支、构建任务;节点3包括人工审核、发布、反向合并,具体流程的构建方式为,用户可将图4中左侧的六种功能任务模块(分支合并、构建任务、人工审核、自动化测试、发布和反向合并)选择性的拖入节点框中,代表该节点包含有该功能任务模块。
可选的,平台将基于用户输入的指向指令将多个所述自定义流程节点进行逻辑连接,以组合成自定义工作流程。具体如当用户使用电脑进行工作流程编辑时,第二用户操作可包括对某一编辑完成的流程节点长按,触发流程走向编辑,从被长按的流程节点延伸出一个箭头,所述箭头指向鼠标滑动的方向,当箭头跟随鼠标指向另外一个流程节点时,表示被长按的流程节点完成之后将进入被箭头指向的流程节点,通过上述方式,用户可使用简单的拖拽的方式,编辑整工作流程的顺序,无需按照程序语言的编写逻辑去定义流程的顺序,简化了工作流程编辑者的工作,提升用户使用体验。
可选的,当接收到更改指令时,基于所述更改指令对应的第三用户操作,对所述自定义工作流程中自定义流程节点的预设功能任务模块进行编辑;或者,对所述自定义工作流程中的自定义流程节点进行组合。具体在实际应用场景中,一个项目从开始到完成其时间跨度可能会较长,其可能会因为某些原因发生某些团队或者工作内容的变动,或者将现有的工作流程应用于新的项目开发。所以针对已经完成的工作流程就需要改动,用户可在上述平台中打开需要更改的工作流程,所述工作流程可以由方框、箭头和文字等方式呈现,具体形状不做限制,用户可以对工作流程中的图形按需求进行任意拖拽更改,具体第三用户操作可包括选中某一流程节点中一功能任务模块,可对其重新编辑、删除该模块或者新增新的模块,同时,通过改变箭头的指向也可以改变流程的进行顺序,从而实现对现有工作流程的更改,且无需用户对已有的代码进行编辑。
可选的,当接收到对现有工作流程进行更改指令时,对发出更改指令的用户进行权限判断,当判断所述发出更改指令的用户具有工作流程更改权限后,执行所述基于所述更改指令对应的第三用户操作,对所述自定义工作流程中自定义流程节点的预设功能任务模块进行编辑,或者,对所述自定义工作流程中的自定义流程节点进行组合的步骤。即当一工作流程正在进行时,可能因为突发状况,流程内容需要发生更改,且由于采用上述无代码工作流定义方法后,对工作流程进行编辑的门槛将会降低的,因此需要对进行更改的人员的进行身份判定,判定其是否具有更改流程的权限。此外,在更改时还将记录发出更改指令的用户关联的用户信息、更改时间以及更改内容,将更改的相关信息进行备案,方便用户进行后续复盘。
可以理解的是,在实际应用中一个科学的工作流程在一定程度上可以提升工作效率加快项目的开发,但制定出科学的工作流程只需制定者具备相应的管理和项目经验而并不需要制定者具备相关程序语言的专业知识。因此,在本实施例中,通过将底层代码封装至功能任务模块中以实现最基本业务功能,同时将功能任务模块以图形的方式呈现或者利用箭头指向代表流程方向等,即利用简单图形表达代替复杂的代码逻辑,用户可通过图形和文字组合来实现整个工作流程的顺序逻辑,无需学习相关的代码知识,直接在平台界面上拖拉拽形成流程,大幅度的降低了工作流程编辑的上手难度,因此不管是新工作流程的编辑还是对以有工作流程的更改,都极大的提升了用户的使用体验以及编辑效率。
进一步的,参照图3,本发明无代码工作流定义方法中的第一实施例,所述无代码工作流定义方法包括:
步骤S100,当接收到新建工作流程指令后生成空白流程节点;
可以理解的是,当用户打上述编辑平台进行工作流程的编辑时,平台将会以图形的方式呈现可进行编辑的内容,以及可直接使用的工具或者表现形式,如:图框、箭头和可文字编辑的位置等。如:用户进行新建时,向用户显示空白流程节点可编辑框。
步骤S200,基于第一用户操作,将一个或者一个以上预设功能任务模块进行编辑后封装至空白流程节点,并将封装有预设功能任务模块的流程节点判定为自定义流程节点;
用户根据业务需求进行拖拽和文字输入等操作完成预设功能任务模块自身自定义编辑以及功能任务模块的归属,平台根据用户上述操作,将归属于同一流程节点的功能任务模块中封装的底层代码整合合并成完成流程节点代码,从而完成一个流程节点的定义。
步骤S300,基于第二用户操作,将多个所述自定义流程节点进行组合;
当已经完成数个流程节点的定义后,用户可根据流程顺序将所述数个流程节点以箭头的方式进行连接,箭头的方向即表示流程的走向,平台基于箭头的顺序逻辑将流程节点代码再次合并成完整工作流程的代码。
步骤S310,对多个所述自定义流程节点进行组合的结果进行逻辑检测;
可理解的是,当时用户完成一个工作流程的编辑并点击确认后,会触发平台进行逻辑检测,具体为判断完成的流程是否符合规定的逻辑顺序,若符合则为逻辑正确,若不符合则为逻辑不正确,例如:在一个软件项目的开发中,当代码开发完成后进行发布之前必需要经过测试团队测试,测试结果合格后才可以发布,因此平台将会判断完成后的工作流程是否符合规定的逻辑顺序(具体的逻辑规则此处不做限定)。
步骤S311,若所述逻辑检测的结果为正确,则判定所述组合的结果为自定义工作流程;
若所述逻辑检测的结果为正确,例如:在软件项目的开发中,在完成的工作流程中代码开发流程节点之后而在代码发布流程节点之前存在有测试阶段的流程节点,此时流程逻辑为正确,则将其判定为一个自定义工作流程,并按用户组合顺序完成流程节点代码的合并,生成完成的工作流程。
步骤S312,若所述逻辑检测的结果为错误,则将所述组合的结果中存在逻辑错误的自定义流程节点或者存在逻辑错误的自定义流程节点中预设功能任务模块突出显示,并输出错误提示。
若所述逻辑检测的结果为错误,例如:在软件项目的开发中,在完成的工作流程中代码开发流程节点之后且在代码发布流程节点之前不存在测试阶段的流程节点,此时流程逻辑为错误,则将代码发布流程节点突出显示并输出错误提示,提示内容为在代码发布流程节点前必须存在测试阶段流程节点,若当逻辑错误出现功能模块如审核人不能为开发团队中的人员时,处理方式同上此处不再赘述。
在本实施例中,当用户完成一个工作流程的编辑后,平台会对完成的流程进行逻辑检测,对存在问题的流程突出显示,并输出错误。一定程度上避免用户出现逻辑错误,辅助其进行工作流程的编辑,提升用户的使用体验。
此外,本实施例还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的无代码工作流定义程序,所述无代码工作流定义程序被所述处理器执行时实现上述的无代码工作流定义方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有无代码工作流定义程序,所述无代码工作流定义程序被处理器执行时实现如上述的无代码工作流定义方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 无代码工作流定义方法、终端设备及计算机可读存储介质
- 代码执行方法、装置、终端设备及计算机可读存储介质