一种业务流程的编排执行方法、装置及介质与流程

文档序号:14940672发布日期:2018-07-13 20:39阅读:206来源:国知局

本发明涉及业务编排领域,特别是涉及一种业务流程的编排执行方法、装置及介质。



背景技术:

由于当前用户对于应用系统的功能需求在不断增加,对应用软件中各项功能的实现也越发复杂。

当前企业在进行系统开发时,往往需要先对各项基本业务规则进行编写,进而依照应用系统的功能需要,选择对应的基本业务规则,并且对所选择的基本业务规则进行具体的逻辑编排以生成相应的功能程序。当用户选择目标功能后,能够通过运行该目标功能对应的功能程序,以实现按预设顺序执行所需的基本业务规则,最终执行目标功能。但是在当前情况下,需要先对功能程序进行编译、部署等初始化操作,才能够正常使用。由于应用系统的功能可能会根据实时需求而发生变动,因此需要对已有逻辑编排进行后续的修改,但是当前对逻辑编排进行修改后,需要重新进行功能程序的编译、部署等初始化操作,因此降低了整体业务流程编排的效率以及灵活性。

由此可见,提供一种业务流程的编排执行方法,以提高业务流程的编排的灵活性以及整体执行效率,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种业务流程的编排执行方法、装置及介质,以提高业务流程的编排的灵活性以及整体执行效率。

为解决上述技术问题,本发明提供一种业务流程的编排执行方法,包括:

获取各功能所需的业务规则,并设置各功能的规则需求和规则执行逻辑;

在规则引擎中根据规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行编排,生成业务脚本;

执行业务脚本以实现目标功能;其中,业务脚本执行的逻辑与规则执行逻辑相符。

优选的,当业务脚本的执行需要数据支持时,在执行业务脚本以实现目标功能前,该方法进一步包括:

获取预设文件中的数据流;

相应的,执行业务脚本以实现目标功能,具体为:

将数据流作为输入数据执行业务脚本以实现目标功能。

优选的,在执行业务脚本以实现目标功能后,该方法进一步包括:

获取执行业务脚本得到的结果数据,并将结果数据存储至分布式存储系统。

优选的,规则执行逻辑具体包括:

业务规则的执行顺序以及执行频率。

优选的,业务规则具体为对第三方服务接口的调用规则。

优选的,规则引擎具体为drools规则引擎。

此外,本发明还提供一种业务流程的编排执行装置,包括:

设置模块,用于获取各功能所需的业务规则,并设置各功能的规则需求和规则执行逻辑;

脚本生成模块,用于在规则引擎中根据规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行编排,生成业务脚本;

执行模块,用于执行业务脚本以实现目标功能。

优选的,该装置进一步包括:

数据获取模块,用于获取预设的数据流。

此外,本发明还提供一种业务流程的编排执行装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的业务流程的编排执行方法的步骤。

此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的业务流程的编排执行方法的步骤。

本发明所提供的业务流程的编排执行方法,通过在规则引擎中根据目标功能而预设的规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行符合预设的规则执行逻辑的编排,得到业务脚本,进而通过执行业务脚本实现目标功能。由于无需进行预先编译以及部署即可使脚本运行生效,并且规则引擎具有脚本执行的环境,因此通过脚本的方式在规则引擎中编排业务规则,以得到业务脚本并执行,能够具有更高的执行效率,并且后续对业务脚本进行修改以及优化时直接进行修改并重新执行即可生效,因此支持对业务脚本的实时调整,进而具有更高的灵活性。此外,本发明还提供一种业务流程的编排执行装置及介质,有益效果如上所述。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种业务流程的编排执行方法的流程图;

图2为本发明实施例提供的一种业务流程的编排执行装置结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种业务流程的编排执行方法,以提高业务流程的编排的灵活性以及整体执行效率。本发明的另一核心是提供一种业务流程的编排执行装置及介质。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种业务流程的编排执行方法的流程图。请参考图1,业务流程的编排执行方法的具体步骤包括:

步骤s10:获取各功能所需的业务规则,并设置各功能的规则需求和规则执行逻辑。

可以理解的是,应用系统中各功能实现的本质是底层逻辑算法的执行,逻辑算法是由基础的业务规则依照执行逻辑组合而成的。对业务流程的编排实际上就是对业务规则的选用及对业务规则的执行顺序的规定。因此在本步骤中,首先获取应用系统各功能所需要使用到的业务规则,并且设置某一个目标功能的规则需求,以及规则执行逻辑,可以理解的是,本步骤中的规则需求即反映所需的业务规则,而规则执行逻辑反映的是业务规则的执行顺序。

步骤s11:在规则引擎中根据规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行编排,生成业务脚本。

在本步骤中,根据目标功能的规则需求在整体的业务规则中选取相应的目标业务规则,进而依照规则执行逻辑对目标业务规则进行编排。需要强调的是,由于脚本执行时无需预先部署以及编译,具有更高的执行效率,而规则引擎具有脚本执行的条件,因此应在规则引擎中以脚本的方式对各目标业务规则进行编排。开发者还可以根据实际情况下功能的变动情况对脚本进行后续的修改,在此不做具体限定。

步骤s12:执行业务脚本以实现目标功能。

其中,业务脚本执行的逻辑与规则执行逻辑相符。

可以理解的是,由于已预先对业务脚本进行了编排,因此在本步骤中直接执行业务脚本即可实现目标功能的底层工作内容,进而实现目标功能。

本发明所提供的业务流程的编排执行方法,通过在规则引擎中根据目标功能而预设的规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行符合预设的规则执行逻辑的编排,得到业务脚本,进而通过执行业务脚本实现目标功能。由于无需进行预先编译以及部署即可使脚本运行生效,并且规则引擎具有脚本执行的环境,因此通过脚本的方式在规则引擎中编排业务规则,以得到业务脚本并执行,能够具有更高的执行效率,并且后续对业务脚本进行修改以及优化时直接进行修改并重新执行即可生效,因此支持对业务脚本的实时调整,进而具有更高的灵活性。

实施例二

在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。

作为一种优选的实施方式,当业务脚本的执行需要数据支持时,在执行业务脚本以实现目标功能前,该方法进一步包括:

获取预设文件中的数据流;

相应的,执行业务脚本以实现目标功能,具体为:

将数据流作为输入数据执行业务脚本以实现目标功能。

可以理解的是,由于在执行某些功能时需要有对应的数据作为功能的实现基础,并且对于数据的需求量往往较大,因此如果将数据直接写入业务规则中,代码的冗余性较大,不易于后期对业务规则的修改,并且同样难以满足对数据的灵活管理。在本优选的实施方式中,通过将数据存储在预设的文件中以使数据与业务脚本相互独立,进而通过在预设文件中获取数据流以作为输入数据执行业务脚本以实现目标功能。预设文件可以由分布式存储系统进行预先存储,以保证其可用性以及安全性,并且预设文件的类型可以为csv、txt等能够被脚本读取的类型,具体类型应根据实际情况而定,在此不做具体限定。

作为一种优选的实施方式,在执行业务脚本以实现目标功能后,该方法进一步包括:

获取执行业务脚本得到的结果数据,并将结果数据存储至分布式存储系统。

可以理解的是,在执行目标功能后,系统往往会产生目标功能执行时的相关数据,该相关数据可能是用户执行目标功能所要获取的数据,也可能是表征目标功能的执行状态的数据,能够有助于在后续分析目标功能的执行情况。因此可以将相关数据作为结果数据存储至分布式存储系统中,即使某一存储节点中的结果数据发生损坏,也可以根据其他存储节点中的结果数据对其进行恢复,进而能够保证结果数据的安全性以及可靠性。

作为一种优选的实施方式,规则执行逻辑具体包括:

业务规则的执行顺序以及执行频率。

可以理解的是,由于业务规则是最基础的执行内容,对业务规则进行编排以及执行才能够实现具体的功能,而功能之间的差异除了所执行的业务规则有所不同外,业务规则的执行顺序也有所差别,另外,业务规则在执行频率上的差异,也可能影响由业务规则所构成的业务脚本的具体功能。因此,在设置规则执行逻辑时,可以将业务规则的执行顺序以及执行频率均作为设置规则执行逻辑时所考虑的内容,能够进一步提高执行逻辑的细致程度,进而对功能的划分更加细致。

作为一种优选的实施方式,业务规则具体为对第三方服务接口的调用规则。

需要说明的是,由于可能存在企业自身的开发能力有限,或是与其它企业之间具有合作关系及功能联动的情况,因此在开发应用系统中的某些功能时需要使用第三方企业所提供的接口。因此当业务规则具体为对第三方服务接口的调用规则时,能够相对减轻本领域技术人员对于业务规则的开发复杂程度,节省整体开发时间,并且能够使应用系统的功能更加丰富。进一步的,对于第三方服务接口的调用规则的设定可以具体包括对于接口的调用发起频率的设定、连接总时长的设定、调用时对参数的校验设定等,在此不进行逐一列举。

作为一种优选的实施方式,规则引擎具体为drools规则引擎。

由于drools规则引擎是一种开源的规则引擎,通过drools规则引擎实现业务规则的编写以及编排的整体成本相对较低,并且本领域技术人员可以根据实际需要,在原有的drools规则引擎的基础上进行进一步的适应性开发,使其与应用系统之间具有更高的兼容性,保证了开发的整体灵活性。

以下通过一种具体的使用场景以对本方法进行进一步说明,需要强调的是,本场景仅为基于本发明的某一种具体场景,并不作为本发明使用场景的具体限定。

以“积分成长系统为例”,首先规划系统的业务功能,如“积分统计”、“积分奖励”、“奖励发放”等,进而针对业务功能编排对应的业务脚本,并且预先在业务脚本与业务功能之间建立起路由关系,进而用户在执行某项功能时,根据该路由关系执行相应的业务脚本。进一步,用户可以预先设置业务功能执行的相关参数,如执行次数、执行频率、执行天数等,以对系统功能的执行进行限制。进而通过将业务功能进行整合即可完整实现整体的积分成长系统的编排以及运行。

实施例三

在上文中对于业务流程的编排执行方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的业务流程的编排执行装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图2为本发明实施例提供的一种业务流程的编排执行装置结构图。本发明实施例提供的业务流程的编排执行装置,具体包括:

设置模块10,用于获取各功能所需的业务规则,并设置各功能的规则需求和规则执行逻辑。

脚本生成模块11,用于在规则引擎中根据规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行编排,生成业务脚本。

执行模块12,用于执行业务脚本以实现目标功能。

本发明所提供的业务流程的编排执行装置,通过在规则引擎中根据目标功能而预设的规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行符合预设的规则执行逻辑的编排,得到业务脚本,进而通过执行业务脚本实现目标功能。由于无需进行预先编译以及部署即可使脚本运行生效,并且规则引擎具有脚本执行的环境,因此通过脚本的方式在规则引擎中编排业务规则,以得到业务脚本并执行,能够具有更高的执行效率,并且后续对业务脚本进行修改以及优化时直接进行修改并重新执行即可生效,因此支持对业务脚本的实时调整,进而具有更高的灵活性。

在实施例三的基础上,该装置还包括:

数据获取模块,用于获取预设的数据流。

实施例四

本发明还提供一种业务流程的编排执行装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的业务流程的编排执行方法的步骤。

本发明所提供的业务流程的编排执行装置,通过在规则引擎中根据目标功能而预设的规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行符合预设的规则执行逻辑的编排,得到业务脚本,进而通过执行业务脚本实现目标功能。由于无需进行预先编译以及部署即可使脚本运行生效,并且规则引擎具有脚本执行的环境,因此通过脚本的方式在规则引擎中编排业务规则,以得到业务脚本并执行,能够具有更高的执行效率,并且后续对业务脚本进行修改以及优化时直接进行修改并重新执行即可生效,因此支持对业务脚本的实时调整,进而具有更高的灵活性。

本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的业务流程的编排执行方法的步骤。

本发明所提供的业务流程的编排执行的计算机可读存储介质,通过在规则引擎中根据目标功能而预设的规则需求选取目标业务规则,并以脚本的方式对目标业务规则进行符合预设的规则执行逻辑的编排,得到业务脚本,进而通过执行业务脚本实现目标功能。由于无需进行预先编译以及部署即可使脚本运行生效,并且规则引擎具有脚本执行的环境,因此通过脚本的方式在规则引擎中编排业务规则,以得到业务脚本并执行,能够具有更高的执行效率,并且后续对业务脚本进行修改以及优化时直接进行修改并重新执行即可生效,因此支持对业务脚本的实时调整,进而具有更高的灵活性。

以上对本发明所提供的一种业务流程的编排执行方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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