一种业务处理方法及装置与流程

文档序号:22472926发布日期:2020-10-09 22:07阅读:121来源:国知局
一种业务处理方法及装置与流程

本申请涉及金融科技(fintech)的计算机技术领域,尤其涉及一种业务处理方法及装置。



背景技术:

近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。但随着更多的人工业务处理转化为通过计算机技术进行业务处理,使得计算机对应执行的业务处理的逻辑愈加复杂,业务处理的流程定义文件的编写也愈加复杂;相应的,对于计算机所执行的业务处理的流程定义文件的更新,也变得更困难。

其中,现有技术中的通过计算机技术进行业务处理的审批业务,包括请假业务审批、请款业务审批、策划业务审批等等。以物资请款业务审批为例,物资请款业务的审批一般会经过物资请款发起人所在的部门直属管理者、物资管理部门管理者、财务部门管理者进行审批,每个部门又可能存在多个管理者和负责人共同审批。因此,物资请款发起人发起该项物资请款业务后,由于该审批流程需要针对该场景进行限定,计算机需要执行包括每个部门管理者和负责人审批的,极其复杂的业务处理的流程定义文件,以完成此次业务处理。且,一旦业务流程或业务规则发生变更,则需要对该业务处理的流程定义文件进行更改。由于业务处理的流程定义文件的复杂性,使得技术人员更改该流程定义文件的工作量大,且更改该流程定义文件周期长。



技术实现要素:

本发明实施例提供一种业务处理方法及装置,用于增加业务处理的灵活性,降低业务处理逻辑维护的成本。

第一方面,本发明实施例提供一种业务处理方法,该方法包括:

接收业务信息,所述业务信息用于触发业务流程;根据所述业务信息,从预先配置的业务流定义中确定处理所述业务流程的各业务节点及各业务节点对应的各子流程之间的执行关系;按照所述各子流程之间的执行关系,通过所述各业务节点执行各自的子流程,从而完成所述业务流程。

采用上述方法,接收业务信息后,触发业务流程,进而从预先配置的业务流定义中获取该业务信息对应的各业务节点及各业务节点对应的各子流程之间的执行关系,更进一步的,根据该执行关系执行各子流程,完成业务流程。如此,当业务处理中业务节点或子流程执行顺序需要更改时,可以直接对执行关系进行调整,即可实现更改业务流程。增加业务处理的灵活性,降低业务处理逻辑维护的成本。

在一种可能的设计中,根据所述业务信息,从预先配置的业务流定义中确定处理所述业务流程的各业务节点及各业务节点对应的各子流程之间的执行关系,包括:根据所述业务信息中的业务类型,从预先配置的流程节点定义中确定所述业务流程中的各业务节点;根据所述业务信息中的业务参数和所述各业务节点,从预先配置的流程流向定义中确定所述各业务节点对应的各子流程之间的执行关系。

采用上述方法,可以通过业务类型获取该业务类型涉及的业务节点,进一步的,再根据具体业务参数具体确定各子流程的执行关系。也就是说,预先配置的业务流定义中可以预先设置好业务类型对应的业务节点,以及该业务节点在不同的业务参数下对应不同的子流程执行关系。如此,加快各子流程之间的执行关系的确定,加快业务处理速度。

在一种可能的设计中,所述业务流定义中还包括业务流程的完成条件;通过所述各业务节点执行各自的子流程,包括:监听各子流程的执行情况;根据各子流程的执行情况,确定下一子流程;或,在确定所述各子流程的执行情况满足所述完成条件,结束所述业务流程。

采用上述方法,通过对子流程的执行情况进行监听,可以保证业务流程对应的业务处理的完整性,在提高业务处理的灵活性的前提下,保证业务处理的准确性。

在一种可能的设计中,所述业务流定义中还包括子流程的流程定义文件;通过所述各业务节点执行各自的子流程,包括:针对任一业务节点,调用所述业务节点的子流程的流程定义文件,并基于子流程的流程引擎和所述流程定义文件,执行所述子流程;其中,所述流程定义文件中设置有任务前置,所述任务前置用于确定是否需要执行转办的子流程。

采用上述方法,在获取各子流程的执行关系后,根据执行关系调用各子流程的流程定义文件,并基于流程引擎和流程定义文件执行子流程。如此,当业务流程中的子流程逻辑发生变更时,可以直接在业务流定义中找到该子流程对应的独立的流程定义文件,直接对该子流程对应的流程定义文件进行更改即可。因为每个子流程的流程定义文件要远远小于整个业务流程对应的流程定义文件;因此,相比于现有技术在整个业务处理的流程定义文件中更改,本申请直接对该子流程对应的流程定义文件修改,使得技术工作人员的工作量极大减少,且可以快速更新流程定义文件。

在一种可能的设计中,所述业务流定义中还包括规则定义;按照所述各子流程之间的执行关系,通过所述各业务节点执行各自的子流程,包括:根据所述规则定义和所述各子流程之间的执行关系,生成各子流程的执行依据;其中,所述执行依据包括子流程所在节点的节点间顺序、位于同一节点的各子流程间的串并行关系及串并行数量;所述各业务节点按照各自的子流程的执行依据,执行各自的子流程。

采用上述方法,业务流定义中包括规则定义,根据规则定义和各子流程之间的执行关系生成各子流程的执行依据,以使后续根据执行依据中的子流程所在节点的节点间顺序执行各节点中各子流程,以及根据执行依据中同一节点的各子流程间的串并行关系及串并行数量执行该节点中各子流程。如此,使得后续各子流程可以依照执行依据准确且有序的执行,保证业务流程执行的有序性和准确性。在一种可能的设计中,所述规则定义中还包括业务节点的完成比例和各子流程是否具有流程变更功能;所述业务节点的完成比例用于指示所述业务节点中存在并行执行关系的各子流程在满足所述业务节点的完成比例时,所述业务节点的任务结束;所述流程变更功能用于指示子流程是否再次发起子流程。

采用上述方法,规则定义中还可以包括业务节点的完成比例。因此,可以通过在规则定义中设置完成比例,以使得并行执行的各子流程可以执行部分子流程或全部子流程后,结束该业务节点的任务。如此,可以通过设置完成比例,灵活确定并行执行的各子流程的完成数量,增加业务处理的灵活性和降低业务处理逻辑维护的成本。规则定义中还可以包括各子流程是否具有流程变更功能。如此,当子流程为转办子流程时,则可以通过流程变更功能指示该子流程再次发起子流程,进一步,当需要追溯转办该子流程的原始子流程时,则可以根据该流程变更功能的指示信息确定该原始子流程。

在一种可能的设计中,还包括:接收配置指令;根据所述配置指令,更新所述业务流定义。

采用上述方法,通过接收配置指令更新业务流定义。相比于现有技术直接在业务处理的流程定义文件中更新。可以增加业务处理的灵活性,降低业务处理逻辑维护的成本。

第二方面,本发明实施例提供一种业务处理装置,该装置包括:

收发模块,用于接收业务信息,所述业务信息用于触发业务流程;

处理模块,用于根据所述业务信息,从预先配置的业务流定义中确定处理所述业务流程的各业务节点及各业务节点对应的各子流程之间的执行关系;

所述处理模块还用于,按照所述各子流程之间的执行关系,通过所述各业务节点执行各自的子流程,从而完成所述业务流程。

第三方面,本发明实施例还提供一种计算设备,包括:存储器,用于存储计算机程序;处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如第一方面的各种可能的设计中所述的方法。

第四方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读程序,当计算机读取并执行所述计算机可读程序时,使得计算机执行如第一方面的各种可能的设计中所述的方法。

本发明的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。

附图说明

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

图1为本发明实施例提供的一种业务处理方法的架构示意图;

图2为本发明实施例提供的一种业务流程的架构示意图;

图3为本发明实施例提供的一种业务流程中业务子流程的架构示意图;

图4为本发明实施例提供的一种业务处理方法的流程示意图;

图5为本发明实施例提供的一种子流程的架构示意图;

图6为本发明实施例提供的又一种子流程的架构示意图;

图7为本发明实施例提供的一种业务处理方法的流程示意图;

图8为本发明实施例提供的一种业务处理装置示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供的一种业务处理方法的架构示意图,如图1所示,流程执行单元101中可以包括业务流程和该业务流程的流程引擎;本发明实施例还提供了一种业务流程的架构示意图,如图2所示,在流程执行单元101获取业务信息后,由业务流程中的业务处理获取该业务信息,并根据业务信息中的业务类型从规则库102中的业务流定义中获取该业务类型对应的各业务节点。进一步,由业务流程中的前置处理根据业务信息中的业务参数和该业务类型对应的各业务节点,从规则库102中的业务流定义中获取各业务节点和各业务节点对应的各子流程之间的执行关系,且根据业务流定义中的规则定义和各业务节点对应的各子流程之间的执行关系生成各子流程的执行依据。如此,业务子流程根据执行依据从规则库102中获取该当前要执行的子流程对应的流程定义文件,并根据该流程定义文件执行当前待执行的子流程。假设该当前待执行的子流程对应图3中的子流程1,则根据子流程1从规则库102中获取子流程1的流程定义文件,并根据该流程定义文件执行子流程1;继而,计算子流程规则根据执行依据确定业务处理未完成,返回至业务流程中的前置处理;之后,业务子流程根据执行依据从规则库102中获取子流程2的流程定义文件,并根据该流程定义文件执行子流程2;计算子流程规则根据执行依据确定业务处理未完成,返回至业务流程中的前置处理;再之后,业务子流程根据执行依据从规则库102中获取子流程3、子流程4、子流程5的流程定义文件,并根据该流程定义文件并行执行子流程3、子流程4、子流程5;最后,计算子流程规则根据执行依据确定业务处理已完成。进行流程结束处理。其中,图2中的该业务流程可以为业务流程模型,该业务流程模型可以根据输入的业务信息获取并执行相应的子流程;其中,业务流程模型前置处理中根据,业务信息中的业务参数和该业务类型对应的各业务节点,从规则库102中的业务流定义中获取各业务节点和各业务节点对应的各子流程之间的执行关系的工作,可以在业务处理中处理,或在业务流程模型中增设业务流程处理节点;这里业务流程模型的形式具体不做限定。

基于此,本申请实施例提供了一种业务处理方法的流程,如图4所示,包括:

步骤401、接收业务信息,所述业务信息用于触发业务流程;

此处,所述业务信息包括了业务处理的业务类型以及该业务的相关参数,例如,请假业务处理的业务类型为请假,业务相关参数为请假天数、请假开始时间、请假截止时间,请假人所在部门、请假人的年假剩余天数等等。当业务流程中的业务处理接收业务信息,则开始进行业务处理。

步骤402、根据所述业务信息,从预先配置的业务流定义中确定处理所述业务流程的各业务节点及各业务节点对应的各子流程之间的执行关系;

此处,业务流定义可以为预先配置的,且在应用中可以根据需要更改,如此,实现各业务节点及各业务节点对应的各子流程之间的执行关系的更改,增加业务处理的灵活性,使得各业务节点及各业务节点对应的各子流程之间的执行关系的更改更简便,降低技术人员更改执行关系的工作量及缩短更改周期。这里,预先配置的业务流定义的更改可以通过相应的预设管理程序进行更改,业务流定义的更改方式具体不做限定。

步骤403、按照所述各子流程之间的执行关系,通过所述各业务节点执行各自的子流程,从而完成所述业务流程。

此处,如图3所示的业务子流程架构示意图,一种可能的设计中,业务处理为请假业务处理,则子流程1为请假人的直属部门审批流程,直属部门为第一个业务节点;子流程2为人事审批流程,则人事部门为第二个业务节点;子流程3、子流程4、子流程5、为财务部门审批流程,则财务部门为第三个业务节点;以串行的执行关系执行第一个业务节点的子流程1和第二个业务节点的子流程2,之后并行执行第三个业务节点中的子流程3、子流程4、子流程5;从而完成请假业务处理的业务流程。

采用上述方法,接收业务信息后,触发业务流程,进而从预先配置的业务流定义中获取该业务信息对应的各业务节点及各业务节点对应的各子流程之间的执行关系,更进一步的,根据该执行关系执行各子流程,完成业务流程。如此,当业务处理中业务节点或子流程执行顺序需要更改时,可以直接对执行关系进行调整,即可实现更改业务流程。增加业务处理的灵活性,实现业务处理的动态化审批,降低业务处理逻辑维护的成本。

本申请实施例提供了一种业务处理方法的流程,根据所述业务信息,从预先配置的业务流定义中确定处理所述业务流程的各业务节点及各业务节点对应的各子流程之间的执行关系,包括:根据所述业务信息中的业务类型,从预先配置的流程节点定义中确定所述业务流程中的各业务节点;根据所述业务信息中的业务参数和所述各业务节点,从预先配置的流程流向定义中确定所述各业务节点对应的各子流程之间的执行关系。

此处,预先配置的业务流定义中还可以包括流程节点定义和流程流向定义,流程节点定义中包括了每种业务类型对应的业务节点及各业务节点的执行关系。如此,在获取到业务信息后,可以根据业务信息中的业务类型确定对应的业务节点及各业务节点的执行关系。流程流向定义中包括了每种业务节点在不同的业务参数下的包括的子流程,以及各子流程的执行关系。如此,在获取到业务参数和各业务节点后,可以根据业务参数和各业务节点确定各业务节点及各业务节点的子流程之间的执行关系。这里,各业务节点的执行关系也可以存储在流程流向定义中,流程节点定义和流程流向定义的存储内容可以根据需要调整,具体不做限定。如此,极大地增加了业务处理的可调整性,使得业务处理中的动态化,降低业务处理逻辑维护的成本。

本申请实施例提供了一种业务处理方法的流程,其中,所述业务流定义中还包括业务流程的完成条件;通过所述各业务节点执行各自的子流程,包括:监听各子流程的执行情况;根据各子流程的执行情况,确定下一子流程;或,在确定所述各子流程的执行情况满足所述完成条件,结束所述业务流程。

此处,业务流定义中还可以包括业务流程的完成条件。例如,完成比例为30.33%,则完成比例可以由图2的业务流程中的前置处理或计算子流程规则获取;如此,图3中的子流程3、子流程4、子流程5中完成任意一个,计算子流程规则则确定进行流程结束处理;或子流程3、子流程4、子流程5后还存在一子流程6,在子流程3、子流程4、子流程5中完成任意一个后,计算子流程规则则确定执行下一子流程,返回前置处理,业务子流程继续执行子流程6。或者,完成比例为100%,如此,图3中的子流程3、子流程4、子流程5中全部完成,计算子流程规则才会确定进行流程结束处理;或子流程3、子流程4、子流程5后还存在一子流程6,在一子流程6,在子流程3、子流程4、子流程5中完成任意一个后,计算子流程规则则确定执行下一子流程,返回前置处理,业务子流程继续执行子流程6。

本申请实施例提供了一种业务处理方法的流程,所述业务流定义中还包括子流程的流程定义文件;通过所述各业务节点执行各自的子流程,包括:针对任一业务节点,调用所述业务节点的子流程的流程定义文件,并基于流程引擎和所述流程定义文件,执行所述子流程;其中,所述流程定义文件中设置有任务前置,所述任务前置用于确定是否需要执行转办的子流程。

此处,业务流定义中还可以包括各子流程的流程定义文件。如此,在通过业务流程进行业务处理时,业务子流程可以根据执行关系依次从业务流定义中获取当前需要执行的子流程的流程定义文件。如此,将各子流程的流程定义文件解耦,降低流程定义文件的撰写难度,提高业务处理的灵活性。流程引擎可以分多个;如图2的业务流程可以对应一个流程引擎,业务子流程内的各业务节点可以对应一个流程引擎,各子流程又可以分别对应一个流程引擎,这里流程引擎具体实现不做限定。流程引擎可以根据流程定义文件对业务流程的各节点、各业务节点、各子流程、子流程内的节点的执行顺序路由,保证业务处理的准确性。还可以在流程引擎中设置tasklistener(监听器)和javadelegat(事件驱动器),异步计算流程流转数据,并通过流程引擎自带javadelegat驱动流程流转。其中,流程引擎还可以作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。流程引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。

本发明实施例还提供的一种子流程的架构示意图,如图5所示,子流程的流程定义文件中设置有任务前置,该子流程中待执行的任务名称。其中,通过计算下一任务确定该子流程的是否还有未执行的任务,直到该子流程所有任务执行完成,流程流转到业务流程的计算子流程规则,如图2中的业务流程的计算子流程规则,继而确定待执行的下一子流程。这里,任务前置中可以包含协助、转办、会签等,用于确定是否需要执行转办的子流程。且子流程中还可以设置子流程;如,在图4流程中的请假业务处理示例中,人事部门业务节点的子流程2为人事部门经理审批的流程;在子流程2中还可以设置任务子流程1,如图6所示,图6中的子流程2可以发生转办、协助等流程变更,对应生成一个任务子流程,如,人事部门的主管审批的流程;在任务子流程1中还可以设置任务子流程2,如,人事部门的负责人审批的流程。如此,业务流程中可以嵌套子流程,子流程中可以嵌套任务子流程,任务子流程中还可以嵌套任务子流程。但任务子流程中嵌套任务子流程还是任务子流程,子流程中嵌套任务子流程还是子流程,业务流程中嵌套子流程还是业务流程,子流程和\任务子流程可以无限嵌套扩展子流程和\任务子流程。即如此通过采用此递归算法,不断生成可以包括串行和\或并行的子流程的多实例子流程、串行和\或并行的任务子流程的多实例子任务(会签、转办等)直到达到各子流程或各任务子流程结束条件。以此,通过递归方式执行子流程和任务子流程,不但保证了业务处理的灵活性,还通过递归方式实现了规则计算的简便性,同时保证了各子流程与各任务子流程的判断逻辑的一致性。其中,为了保证规则计算的一致性,子流程和任务子流程的输入输出分别通过图2、图5中的“前置处理”和“任务前置”统一计算。

本申请实施例提供了一种业务处理方法的流程,所述业务流定义中还包括规则定义;按照所述各子流程之间的执行关系,通过所述各业务节点执行各自的子流程,包括:根据所述规则定义和所述各子流程之间的执行关系,生成各子流程的执行依据;其中,所述执行依据包括子流程所在节点的节点间顺序、位于同一节点的各子流程间的串并行关系及串并行数量;所述各业务节点按照各自的子流程的执行依据,执行各自的子流程。

此处,业务流定义中还可以包括规则定义;规则定义中可以定义各业务节点执行关系对应的标记,和各业务节点中各子流程的执行关系对应的标记;如此,根据各业务节点执行关系和各子流程的执行关系以及规则定义对各业务节点和各子流程赋值,生成执行依据。例如,在上一个示例中,请假处理流程中包含三个业务节点,分别是直属部门、人事部门、财务部门,分别对应子流程1,子流程2,子流程3、子流程4、子流程5。则直属部门对应的赋值为1、人事部门对应的赋值为2、财务部门对应的赋值为3。如此,子流程1赋值为1-1-1-0-1,即,第一位1表示子流程1处于第一个业务节点直属部门;第二位1表示该业务节点中子流程1并行子流程数为1,也就是只有子流程1;第三位1表示子流程1为该业务节点中串行的第一个子流程;第四位0表示子流程1是否为转办子流程,可以用0表示子流程1为非转办子流程,用1表示子流程1发生过一次转办,若是发生过两次转办,则第四位为2,如此,第四位可以标记转办次数,还可以记录转办路径,以便于后续追踪发起转办的节点;第五位1可以标记完成子流程数,即,子流程1完成,该业务节点则完成;子流程2则赋值为2-1-1-0-1;子流程3则赋值为3-1-1-0-3;子流程4则赋值为3-2-1-0-3;子流程5则赋值为3-3-1-0-3,第三个业务节点中,因为子流程3、子流程4、子流程5都要完成,才能完成该业务节点,故,第五位为3;若是该业务节点的子流程5后还有一个串行的子流程6,则子流程6赋值为3-3-2-0-3。上述示例的规则定义可以采用规则计算器rulecomparelistener来统一实现。具体实现方案如下:规则定义中可以定义tasksequence变量,该变量由5位数字(如,3-3-2-0-3)组成,每一位都包含相应含义:

第一位:当前业务节点顺序,从1到n,如上述示例中,直属部门对应的赋值为1、人事部门对应的赋值为2、财务部门对应的赋值为3,则执行顺序为直属部门业务节点-人事部门业务节点-财务部门业务节点;

第二位:并行子流程数(第一位相同-同一业务节点,第二位不同则表示存在并行子流程),如上一个示例中,子流程3、子流程4、子流程5并行处理;子流程3则赋值为3-1-1-0-3;子流程4则赋值为3-2-1-0-3;子流程5则赋值为3-3-1-0-3。

第三位:业务节点中串行子流程的顺序,如上一个示例中的,子流程5则赋值为3-3-1-0-3。若是该业务节点的子流程5后还有一个串行的子流程6,则子流程6赋值为3-3-2-0-3。

第四位:是否转发默认为0,如果有转办、协助、加签等流程变更功能实施,实施一次流程变更功能加1,不为0表示子流程增加了一个并行子流程;为0则表示未发生实施流程变更功能。

第五位:多个并行子流程需完成数,完成该数量后就结束了产生当前业务节点的子流程。第五位计算方法为:x=math.ceil(y*p),其中,y为该业务节点的子流程数,p为规则定义中该业务节点的子流程的完成比例。在上一个示例中,子流程3、子流程4、子流程5并行处理,规则定义中该业务节点的子流程的完成比例为0.6,x=math.ceil(3*0.6)≈2,第5位为2,需要其中两个子流程完成即可结束该业务流程,则子流程3赋值为3-1-1-0-2;子流程4赋值为3-2-1-0-2;子流程5赋值为3-3-1-0-2。

另外,当实施一次流程变更功能时,则产生4个并行子流程。则l(子流程需完成数)=math.ceil(m*(n+1)*p),p表示包括协助、转办等子流程的并行子流程的完成比例,m(子流程并行数)=tasksequence.get(2),由tasksequence的第2位生成,为4;n(流程变更功能实施的子流程数)=tasksequence.get(4),由tasksequence的第4位生成,为1。则在上一个示例中,3人并行审批,发生一次转办(转办一次的子流程加上原子流程,共4个并行子流程),p=50%。则l=3*2*0.5=3,共3个子流程完成即可。即:原子流程3、子流程4、子流程5加上1个转办子流程中需要3个子流程完成。如,当1个发起转办的子流程已经完成,实际还需完成两个原子流程就完成了该业务节点,即:nrofcompletedinstances+1>=nrofneededinstances。如此,上述赋值规则可以为,根据规则定义和各子流程的串行和\或并行的执行关系确定执行依据的一种实现方式,具体不做限定。

本申请实施例提供了一种规则定义,所述规则定义中还包括业务节点的完成比例和各子流程是否具有流程变更功能;所述业务节点的完成比例用于指示所述业务节点中存在并行执行关系的各子流程在满足所述业务节点的完成比例时,所述业务节点的任务结束;所述流程变更功能用于指示子流程是否再次发起子流程。

此处,规则定义中还包括业务节点的完成比例和各子流程是否具有流程变更功能。如此,当业务处理规则中某个包括多个并行子流程的业务节点中,只需要完成部分子流程,即可确定该业务节点处理完成时,则对应在规则定义中设置或更改完成比例,即可实现。若业务处理规则中某个业务子流程需要流程变更,则可以通过调用规则定义中的流程变更功能,即可实现子流程再次发起子流程。其中,流程变更功能可以包括协助办理、转办办理、转成会议办理、会签办理等等,这里的流程变更功能具体不做限定。

本申请实施例提供了一种业务流定义配置方法,还包括:接收配置指令;根据所述配置指令,更新所述业务流定义。

此处,业务流定义中可以包含流程节点定义、流程流向定义、各子流程的定义文件、规则定义。如此,则可以通过配置指令,对流程节点定义、流程流向定义、各子流程的定义文件、规则定义更新。使得业务处理可以得到最大的灵活性;且相比于现有技术中将流程定义文件耦合,本申请中的实施例中技术人员无需面对复杂的流程文件,只需要通过配置指令直接在业务流定义中对业务处理进行配置即可,极大降低工作量,缩短业务处理更新周期;且增加了各子流程的流程定义文件的复用性。

基于上述流程,本申请实施例提供了一种业务处理方法的流程,如图7所示,包括:

步骤701、接收业务信息。

步骤702、根据业务信息中的业务类型,从业务流定义中的流程节点定义中确定业务节点。

步骤703、根据业务信息中的业务参数和各业务节点,从业务流定义中的流程流向定义中确定各业务节点以及各业务节点的各子流程的执行关系。

步骤704、根据业务流定义中的规则定义和各业务节点以及各业务节点的各子流程的执行关系确定执行依据。

步骤705、根据该执行依据确定当前待执行的子流程,并执行该子流程。

步骤706、判断是否还有未执行子流程,若是,则返回步骤705;若否,则执行步骤707。

步骤707、业务处理流程结束。

基于同样的构思,本申请实施例提供一种业务处理装置,图8为本申请实施例提供的一种业务处理示意图,如图8示,包括:

收发模块801,用于接收业务信息,所述业务信息用于触发业务流程;

处理模块802,用于根据所述业务信息,从预先配置的业务流定义中确定处理所述业务流程的各业务节点及各业务节点对应的各子流程之间的执行关系;

所述处理模块802还用于,按照所述各子流程之间的执行关系,通过所述各业务节点执行各自的子流程,从而完成所述业务流程。

在一种可能的设计中,所述处理模块802具体用于:

根据所述业务信息中的业务类型,从预先配置的流程节点定义中确定所述业务流程中的各业务节点;根据所述业务信息中的业务参数和所述各业务节点,从预先配置的流程流向定义中确定所述各业务节点对应的各子流程之间的执行关系。

在一种可能的设计中,所述处理模块802具体用于:监听各子流程的执行情况;根据各子流程的执行情况,确定下一子流程;或,在确定所述各子流程的执行情况满足所述完成条件,结束所述业务流程。

在一种可能的设计中,所述处理模块802具体用于:针对任一业务节点,调用所述业务节点的子流程的流程定义文件,并基于流程引擎和所述流程定义文件,执行所述子流程;其中,所述流程定义文件中设置有任务前置,所述任务前置用于确定是否需要执行转办的子流程。

在一种可能的设计中,所述处理模块802具体用于:

根据所述规则定义和所述各子流程之间的执行关系,生成各子流程的执行依据;其中,所述执行依据包括子流程所在节点的节点间顺序、位于同一节点的各子流程间的串并行关系及串并行数量;所述各业务节点按照各自的子流程的执行依据,执行各自的子流程。在一种可能的设计中,所述处理模块802具体用于:所述规则定义中还包括业务节点的完成比例和各子流程是否具有流程变更功能;所述业务节点的完成比例用于指示所述业务节点中存在并行执行关系的各子流程在满足所述业务节点的完成比例时,所述业务节点的任务结束;所述流程变更功能用于指示子流程是否再次发起子流程。

在一种可能的设计中,所述收发模块801还用于:接收配置指令;根据所述配置指令,更新所述业务流定义。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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