发明内容
基于此,有必要针对上述技术问题,提供一种能够对金融业务任务进行高效处理的金融业务任务处理方法、装置、计算机设备和存储介质。
一种金融业务任务处理方法,所述方法包括:
根据与目标业务类别相对应的多个金融业务任务,确定与所述目标业务类别相对应的多个金融业务节点;其中,每个金融业务任务包括多个金融业务节点;
分别对所述多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块;所述业务节点模块用于基于配置的所述业务信息执行对应的业务动作;
对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板;所述业务框架模板包括具有执行顺序确定的多个金融业务节点,且所述业务框架模板中,具有数据依赖关系的一组金融业务节点独立于其他金融业务节点运行;
对于每个金融业务任务,将相对应的多个业务节点模块,按照相对应的金融业务节点的执行顺序,填充至对应的业务框架模板中,得到相应金融业务任务的业务处理模板;
确定属于所述目标业务类别的待处理业务任务,基于多个所述业务处理模板中确定与所述待处理业务任务对应的目标业务处理模板,并基于所述目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现所述待处理业务任务的执行。
在其中一个实施例中,确定属于所述目标业务类别的待处理业务任务,从多个所述业务处理模板中获取与所述待处理业务任务对应的目标业务处理模板,包括:
确定属于所述目标业务类别的待处理业务任务;
从与目标业务类别相对应的多个业务处理模板中查找与所述待处理业务任务相匹配的目标业务处理模板;
当从多个业务处理模板中查找到与所述待处理业务任务完全对应的业务处理模板时,直接将完全对应的业务处理模板作为目标业务处理模板;
当未查找到时,获取与所述待处理业务任务近似度最高的业务处理模板,并基于所述待处理业务任务所对应的业务节点模块,对近似度最高的业务处理模板进行修改,得到与所述待处理业务任务相匹配的目标业务处理模板。
在其中一个实施例中,对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板,包括:
确定当前金融业务任务在处理过程中需要进行操作的多个金融业务节点,以及相对应的节点操作顺序;
根据数据依赖关系,对所述当前金融业务任务所对应的多个金融业务节点进行分组和排序,得到多个支线节点组;其中,每个支线节点组中的金融业务节点与其他支线节点组中的金融业务节点之间没有数据依赖关系;
根据所述节点操作顺序和所述多个支线节点组,对所述当前金融业务任务所对应的多个金融业务节点进行排列,得到与当前金融业务任务相对应的业务框架模板。
在其中一个实施例中,目标业务处理模板包括结束节点,所述结束节点为所述目标业务处理模板中的最后一个节点,所述基于所述目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现所述待处理业务任务的执行,包括:
根据所述目标业务处理模板中各个目标金融业务节点所对应的目标节点操作顺序操作顺序,顺次执行每个目标金融业务节点对应的业务动作;
每个目标金融业务节点对应的业务动作执行完毕后,向所述结束节点广播当前目标金融业务节点对应的节点任务结果;
当所述节点任务结果表征当前金融业务节点任务执行失败时,通过所述结束节点对发出节点任务结果的目标金融业务节点在所述目标业务处理模板中的位置进行识别,以确定是否结束执行所述待处理业务任务;
当所述节点任务结果表征当前金融业务节点任务未执行失败时,则根据所述目标业务处理模板继续进入下一金融业务节点执行对应的业务动作,直至所述结束节点确定结束执行所述待处理业务任务。
在其中一个实施例中,方法还包括:
获取所述目标业务处理模板中当前执行业务动作的业务节点模块所占用的线程数量;其中,一个业务节点模块执行对应业务动作时,占用一个线程;
当所述线程数量为0时,读取执行最后一个业务动作的业务节点模块的最终节点输出;
当执行最后一个业务动作的业务节点模块是所述目标业务处理模板中的最后一个业务节点模块时,根据所述最终节点输出的内容,确定所述待处理业务任务的处理结果;
当执行最后一个业务动作的业务节点模块不是所述目标业务处理模板中的最后一个业务节点模块时,根据所述最终节点输出的内容,指示所述待处理业务任务未完成。
在其中一个实施例中,业务信息包括有效业务属性所对应的有效属性信息,每个金融业务节点包括至少一个有效业务属性,所述有效业务属性的配置步骤包括:
确定与目标业务类别对应的多个候选业务属性;
获取每个候选业务属性分别对应的不少于一个属性要素;
根据所述目标业务类别,分别对每个候选业务属性对应的属性要素进行配置,得到各个候选业务属性分别对应的业务属性模块;
将通过审核的业务属性模块所对应的候选业务属性,作为有效业务属性。
在其中一个实施例中,分别对所述多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块,包括:
对于每个金融业务节点,获取与各个金融业务节点相对应的有效属性信息;
根据所述有效属性信息,分别对各个金融业务节点进行配置,获得与各个金融业务节点相对应的业务节点模块。
一种金融业务任务处理装置,其特征在于,所述装置包括:
第一确定模块,用于根据与目标业务类别相对应的多个金融业务任务,确定与所述目标业务类别相对应的多个金融业务节点;其中,每个金融业务任务包括多个金融业务节点;
配置模块,用于分别对所述多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块;所述业务节点模块用于基于配置的所述业务信息执行对应的业务动作;
第二确定模块,用于对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板;所述业务框架模板包括具有执行顺序确定的多个金融业务节点,且所述业务框架模板中,具有数据依赖关系的一组金融业务节点独立于其他金融业务节点运行;
填充模块,用于对于每个金融业务任务,将相对应的多个业务节点模块,按照相对应的金融业务节点的执行顺序,填充至对应的业务框架模板中,得到相应金融业务任务的业务处理模板;
执行模块,用于确定属于所述目标业务类别的待处理业务任务,基于多个所述业务处理模板中确定与所述待处理业务任务对应的目标业务处理模板,并基于所述目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现所述待处理业务任务的执行。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据与目标业务类别相对应的多个金融业务任务,确定与所述目标业务类别相对应的多个金融业务节点;其中,每个金融业务任务包括多个金融业务节点;
分别对所述多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块;所述业务节点模块用于基于配置的所述业务信息执行对应的业务动作;
对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板;所述业务框架模板包括具有执行顺序确定的多个金融业务节点,且所述业务框架模板中,具有数据依赖关系的一组金融业务节点独立于其他金融业务节点运行;
对于每个金融业务任务,将相对应的多个业务节点模块,按照相对应的金融业务节点的执行顺序,填充至对应的业务框架模板中,得到相应金融业务任务的业务处理模板;
确定属于所述目标业务类别的待处理业务任务,基于多个所述业务处理模板中确定与所述待处理业务任务对应的目标业务处理模板,并基于所述目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现所述待处理业务任务的执行。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据与目标业务类别相对应的多个金融业务任务,确定与所述目标业务类别相对应的多个金融业务节点;其中,每个金融业务任务包括多个金融业务节点;
分别对所述多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块;所述业务节点模块用于基于配置的所述业务信息执行对应的业务动作;
对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板;所述业务框架模板包括具有执行顺序确定的多个金融业务节点,且所述业务框架模板中,具有数据依赖关系的一组金融业务节点独立于其他金融业务节点运行;
对于每个金融业务任务,将相对应的多个业务节点模块,按照相对应的金融业务节点的执行顺序,填充至对应的业务框架模板中,得到相应金融业务任务的业务处理模板;
确定属于所述目标业务类别的待处理业务任务,基于多个所述业务处理模板中确定与所述待处理业务任务对应的目标业务处理模板,并基于所述目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现所述待处理业务任务的执行。
上述金融业务任务处理方法、装置、计算机设备和存储介质,通过目标业务类别中的各个金融业务任务,可以获取与目标业务类别相对应的多个金融业务节点,即目标业务类别中的各个金融业务任务都可以通过这些金融业务节点中的一个或者多个组合进行处理。然后,对目标业务类别涉及到的多个金融业务节点分别进行业务信息配置获得对应的业务节点模块,每个业务节点模块都具有执行对应业务动作的功能。同时,对于每个金融业务任务,都有一个对应的业务框架模板,通过将对应的业务节点模块填充到对应的业务框架模板中,可以获得一个能够对金融业务任务进行处理的业务处理模板。对于每个待处理业务任务,只要确定了其所对应的金融业务任务,就可以确定处理该待处理业务任务所需要的目标业务处理模板,通过模板业务处理模板,即可对待处理业务任务进行处理。在这个过程中,一方面,对业务框架模板进行填充以获得对应业务处理模板时采用的是配置好的业务节点模块,提高了业务处理模板的配置效率;另一方面,由于采用的是“业务框架模板+业务节点模块”的形式提前配置好目标业务类别对应的多个业务处理模板,根据待处理业务任务即可快速准确地确定对应的目标业务,大大提高了待处理业务任务的处理效率。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
对于现有的业务处理流程配置来说,其底层的实现逻辑或者只能限制在系统内部使用,或者与特定业务逻辑过度耦合,当与外部系统对接、或者进行业务扩展时,仍然需要进行大量的兼容开发,其高限制、低扩展性的一面就被完全暴露出来。另外,对于普通的工作流引擎而言,其仅仅能够实现基本的流程控制、权限控制,无法对系统运行过程中出现的异常管理、资源竞争、服务调用等问题进行处理;同时,系统不支持热部署,即如果变更了业务流程,则必须重启引擎、重新部署才能生效,这无疑大大降低了系统运行效率,无法保障业务连续性。
本申请旨在通过对目标业务类别中涉及到的金融业务节点进行拆解,获取与目标业务类别相对应的各个金融业务节点,通过提前对金融业务节点进行配置获得对应的业务节点模块,并针对每个金融业务任务设置对应的业务框架模板,从而实现,将业务节点模块填充到业务框架模板即可获取一个金融业务任务对应的业务处理模板。本申请中通过这种方式,可以有效提高待处理业务任务的处理效率。
本申请提供的金融业务任务处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。对于确定的目标业务类别,服务器104按照“目标业务类别-金融业务任务-金融业务节点”的层级关系进行解构,获取与目标业务类别对应的多个金融业务节点。服务器104根据每个金融业务节点具体承担的任务,对每个金融业务节点分别进行业务信息配置,得到一个可以基于配置的所述业务信息执行对应的业务动作的业务节点模块。同时,对于每个金融业务任务,服务器104根据其在具体处理过程中所涉及到的金融业务节点,搭建每个金融业务任务对应的业务框架模板。在业务框架模板中,涉及到对应金融业务任务在处理过程中需要进行业务处理的金融业务节点和金融业务节点的操作顺序。将业务节点模块填充到业务框架模板中的对应位置,即可获得与各个金融业务任务相对应的业务处理模板。基于与目标业务类别相对应的多个业务处理模板,服务器104会对从终端102处接收到的待处理业务任务进行识别,确定与之对应的目标业务处理模板后,再根据这个目标业务处理模板,对待处理业务任务进行处理。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在对本申请中的金融业务任务处理方法进行描述之前,首先对本申请的实施例中涉及到的部分名词作如下解释:
目标业务类别:一个业务领域的具体业务类别,例如金融企业中(比如消费金融公司)由风险管理人员制订的贷前、贷中、贷后各环节的风险策略即为一个业务类别。
金融业务任务:一个目标业务类别中可以包括多种金融业务任务,例如上述风险策略业务类别(目标业务类别)中,具体可以包括申请准入、授信、定价、借还款、调额等信贷流程的各阶段策略规则等。
金融业务节点:一个具体的金融业务任务在处理过程中涉及到的各种节点,在上述风险策略业务类别所在的政策流程系统中,节点代表了业务流程中所要执行的每一步操作,一个节点对应一个接口。比如实名认证节点、人行资信查询节点、风险准入规则节点、额度计算节点、客户信息查询节点、打标节点、管控校验节点、额度激活节点等。
业务信息:一个金融业务节点承担有对应的业务任务,业务信息是该金融业务节点为了完成对应的业务任务所需要的预设信息。
业务节点模块:利用业务信息对金融业务节点进行配置后所获得的具有制定特定任务作用的模块。
业务框架模板:一个具体的金融业务任务对应有一个具体的业务处理流程,以各个金融业务节点为单位对业务处理流程中涉及到的进行梳理,即可获得对应的业务框架模板,业务框架模板仅用于指示具体的金融业务任务在处理过程中涉及到的金融业务节点以及顺序。
业务处理模板:将业务节点模块填充到业务框架模板中后可以获得具体的业务处理模板,业务处理模板可以用于对具体的金融业务任务进行处理。
业务属性:一个金融业务节点包括有多个业务属性,属性本身包括属性名称、属性编码、属性默认值、属性类型、属性校验器等要素。
在一个实施例中,如图2所示,提供了一种金融业务任务处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,根据与目标业务类别相对应的多个金融业务任务,确定与目标业务类别相对应的多个金融业务节点;其中,每个金融业务任务包括多个金融业务节点。
具体来说,对于一个具体的目标业务类别,其按照“一个目标业务类别对应多个金融业务任务、一个金融业务任务对应多个金融业务节点”的层级关系,可以确定与目标业务类别相对应的多个金融业务任务和多个金融业务节点。
步骤S204,分别对多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块;业务节点模块用于基于配置的业务信息执行对应的业务动作。
具体来说,金融业务节点还需要其他预设信息,结合该金融业务节点对应的输入信息,才能完成对应的业务动作。本实施例中,通过具体的业务信息对其进行配置,获得每个金融业务节点对应的业务节点模块,来完成对应的业务动作。
步骤S206,对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板;业务框架模板包括具有执行顺序确定的多个金融业务节点,且业务框架模板中,具有数据依赖关系的一组金融业务节点独立于其他金融业务节点运行。
具体来说,数据依赖关系存在于节点之间,上一金融业务节点的输出是下一金融业务节点的输入,那么这两个金融业务节点之间即存在数据依赖关系。根据数据依赖关系,对每个金融业务任务涉及到的各个金融业务节点进行关联,可以确定对应的业务框架模板,在对应的业务框架模板中,具有数据依赖关系的一组金融业务节点独立于其他金融业务节点运行,多组不具有数据依赖关系的节点分别运行。
步骤S208,对于每个金融业务任务,将相对应的多个业务节点模块,按照相对应的金融业务节点的执行顺序,填充至对应的业务框架模板中,得到相应金融业务任务的业务处理模板。
具体来说,由于业务框架模板中的各个金融业务节点不具有具体的任务处理功能,因此需要将具有执行具体业务动作的业务节点模块填充到业务框架模板中,所获的业务处理模板,可以用于对具体的业务任务进行处理。
步骤S210,确定属于目标业务类别的待处理业务任务,基于多个业务处理模板中确定与待处理业务任务对应的目标业务处理模板,并基于目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现待处理业务任务的执行。
具体来说,对于目标业务类别中一个具体的待处理业务任务,根据待处理业务任务可以确定对应的目标业务处理模板,将待处理业务任务的信息输入目标业务处理模板中,即可按照目标业务处理模板中的各业务节点模块的执行顺序,各业务节点模块的执行顺序执行对应的业务动作,以实现待处理业务任务的执行。
上述金融业务任务处理方法中,通过目标业务类别中的各个金融业务任务,可以获取与目标业务类别相对应的多个金融业务节点,即目标业务类别中的各个金融业务任务都可以通过这些金融业务节点中的一个或者多个组合进行处理。然后,对目标业务类别涉及到的多个金融业务节点分别进行业务信息配置获得对应的业务节点模块,每个业务节点模块都具有执行对应业务动作的功能。同时,对于每个金融业务任务,都有一个对应的业务框架模板,通过将对应的业务节点模块填充到对应的业务框架模板中,可以获得一个能够对金融业务任务进行处理的业务处理模板。对于每个待处理业务任务,只要确定了其所对应的金融业务任务,就可以确定处理该待处理业务任务所需要的目标业务处理模板,通过模板业务处理模板,即可对待处理业务任务进行处理。在这个过程中,一方面,对业务框架模板进行填充以获得对应业务处理模板时采用的是配置好的业务节点模块,提高了业务处理模板的配置效率;另一方面,由于采用的是“业务框架模板+业务节点模块”的形式提前配置好目标业务类别对应的多个业务处理模板,根据待处理业务任务即可快速准确地确定对应的目标业务,大大提高了待处理业务任务的处理效率。
在一个实施例中,确定属于目标业务类别的待处理业务任务,从多个业务处理模板中获取与待处理业务任务对应的目标业务处理模板,包括:确定属于目标业务类别的待处理业务任务;从与目标业务类别相对应的多个业务处理模板中查找与待处理业务任务相匹配的目标业务处理模板;当从多个业务处理模板中查找到与待处理业务任务完全对应的业务处理模板时,直接将完全对应的业务处理模板作为目标业务处理模板;当未查找到时,获取与待处理业务任务近似度最高的业务处理模板,并基于待处理业务任务所对应的业务节点模块,对近似度最高的业务处理模板进行修改,得到与待处理业务任务相匹配的目标业务处理模板。
具体来说,对于一个具体的待处理业务任务来说,服务器需要从与目标业务类别相对应的多个业务处理模板中查找与待处理业务任务相匹配的目标业务处理模板。如果能够找到相匹配的目标业务处理模板时,则直接利用匹配的目标业务处理模板对待处理业务任务来进行处理。如果无法找到与待处理业务任务相匹配的,则需要从目标业务类别对应的多个业务处理模板中找到与待处理业务任务最接近的那一个金融处理业务所对应的业务处理模板,并对这个近似度最高的业务处理模板进行修改,以获得与待处理业务任务相匹配的目标业务处理模板,并将修改后获得的业务处理模版添加到目标业务类别对应的多个业务处理模版所构成的集合中。
在上述实施例中,目标业务类别中的各个金融业务任务所对应的业务处理模版是在不断更新的,以适应目标业务类别中可能出现的金融业务任务的变化,从而提高了服务器对于待处理业务任务的响应速度。
在一个实施例中,对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板,包括:确定当前金融业务任务在处理过程中需要进行操作的多个金融业务节点,以及相对应的节点操作顺序;根据数据依赖关系,对当前金融业务任务所对应的多个金融业务节点进行分组和排序,得到多个支线节点组;其中,每个支线节点组中的金融业务节点与其他支线节点组中的金融业务节点之间没有数据依赖关系;根据节点操作顺序和多个支线节点组,对当前金融业务任务所对应的多个金融业务节点进行排列,得到与当前金融业务任务相对应的业务框架模板。
具体来说,在业务框架模板中的多个金融业务节点是根据数据依赖关系进行排列的,这样,不具有数据依赖关系的金融业务节点就可以并行完成对应的业务动作。例如,业务框架模板中有A、B、C三个金融业务节点,假设A节点的输出是B节点和C节点的输入,同时B节点与C节点之间没有数据依赖关系,B节点和C节点就可以在分别接到A节点的输出后,分别执行对应的任务动作。此外,业务框架模板中还有一个D节点,且指定在B节点和C节点对应的任务动作均执行完成后,D节点执行对应的业务动作,此时就可以明确这个金融业务任务在处理过程中涉及到的A、B、C、D四个金融业务节点的操作顺序,获得对应的业务框架模板。
在上述实施例中,由于根据数据依赖关系和节点操作顺序对金融业务任务在处理过程中涉及到的各个金融业务节点进行了解构重新排序,所获得的业务框架模板在结构流程上更合理,金融业务任务处理的效率也更高。
在一个实施例中,目标业务处理模板包括结束节点,结束节点为目标业务处理模板中的最后一个节点,基于目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现待处理业务任务的执行,包括:根据目标业务处理模板中各个目标金融业务节点所对应的目标节点操作顺序操作顺序,顺次执行每个目标金融业务节点对应的业务动作;每个目标金融业务节点对应的业务动作执行完毕后,向结束节点广播当前目标金融业务节点对应的节点任务结果;当节点任务结果表征当前金融业务节点任务执行失败时,通过结束节点对发出节点任务结果的目标金融业务节点在目标业务处理模板中的位置进行识别,以确定是否结束执行待处理业务任务;当节点任务结果表征当前金融业务节点任务未执行失败时,则根据目标业务处理模板继续进入下一金融业务节点执行对应的业务动作,直至结束节点确定结束执行待处理业务任务。
具体来说,本实施例中的业务处理模板,包括有一个结束节点,用于在接收到具体的信息时,结束当前的待处理业务任务的处理流程。服务器在根据目标业务处理模板中各个目标金融业务节点所对应的目标节点操作顺序处理完成对应的业务动作后,会将每个金融业务节点的节点任务结果广播给其他金融任务节点,其中包括结束节点。如果当前金融业务节点对应的节点任务结果显示当前节点的任务处理失败时,结束节点还需要根据这个节点在业务框架模板中的位置,结合节点任务结果,判断是否结束当前待处理任务的处理流程。根据当前金融业务节点在业务框架模板中的位置,结束节点根据节点任务结果,可能作出以下判断:结束当前待处理业务任务的处理流程,继续执行目标业务处理模板后续节点对应的业务任务,重新启动该节点流程对应的业务任务等。
在上述实施例中,服务器可以通过实时了解每个金融业务节点所对应的业务动作的节点任务结果,并通过结束节点及时对其进行处理,提高了待处理业务任务的处理效率。
在一个实施例中,上述方法还包括:获取目标业务处理模板中当前执行业务动作的业务节点模块所占用的线程数量;其中,一个业务节点模块执行对应业务动作时,占用一个线程;当线程数量为0时,读取执行最后一个业务动作的业务节点模块的最终节点输出;当执行最后一个业务动作的业务节点模块是目标业务处理模板中的最后一个业务节点模块时,根据最终节点输出的内容,确定待处理业务任务的处理结果;当执行最后一个业务动作的业务节点模块不是目标业务处理模板中的最后一个业务节点模块时,根据最终节点输出的内容,指示待处理业务任务未完成。
具体来说,一个业务节点模块执行对应业务动作时,占用一个线程;当线程数量为0时即说明当前待处理业务任务的处理过程已经停止,为判断当前待处理业务任务是否处理完成,需要对任务处理结果进行判断。当线程数量为0时,读取执行最后一个业务动作的业务节点模块的最终节点输出;如果最后一个业务动作的业务节点模块不是目标业务处理模板中的最后一个业务节点模块,则说明当前待处理业务在处理过程中出现了问题,最后一个业务动作的业务节点模块指示了问题所在的金融业务节点。如果最后一个业务动作的业务节点模块是目标业务处理模板中的最后一个业务节点模块,则可以根据最后一个业务节点模块的节点任务结果,确定待处理业务任务的处理结果。
在上述实施例中,服务器通过对线程数量进行统计,可以实时了解到当前待处理任务在通过目标业务处理模板进行处理时是否处于正常状态,并在状态异常时,及时对其进行检查。
在一个实施例中,业务信息包括有效业务属性所对应的有效属性信息,每个金融业务节点包括至少一个有效业务属性,有效业务属性的配置步骤包括:确定与目标业务类别对应的多个候选业务属性;获取每个候选业务属性分别对应的不少于一个属性要素;根据目标业务类别,分别对每个候选业务属性对应的属性要素进行配置,得到各个候选业务属性分别对应的业务属性模块;将通过审核的业务属性模块所对应的候选业务属性,作为有效业务属性。
具体来说,业务信息包括有效业务属性所对应的有效属性信息,每个金融业务节点包括至少一个有效业务属性,业务节点模块需要依赖有效业务属性完成对应的业务动作。在对有效业务属性进行配置时,首先获取与一个目标业务类别相对应的业务属性集合,业务属性集合中包括多个候选业务属性,为了获得对应的生效业务属性,需要分别对每个候选业务属性进行配置,配置审核通过后,即可成为一个有效属性信息,最终获得与目标业务类别相对应的有效属性信息数据库。
在上述实施例中,提前获取目标业务类别对应的有效属性信息可以实现各个金融业务节点的快速配置,使得仅通过对有效属性信息配置的更改即可实现业务节点模块的配置,进而提高了业务节点模块的配置效率和兼容性。
在一个实施例中,分别对多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块,包括:对于每个金融业务节点,获取与各个金融业务节点相对应的有效属性信息;根据有效属性信息,分别对各个金融业务节点进行配置,获得与各个金融业务节点相对应的业务节点模块。
具体来说,一个金融业务节点对应的业务信息中包括多个有效属性信息,为了获得对应的业务节点模块,需要从上述有效属性信息数据库中获取与当前金融业务节点相对应的各个有效属性信息来完成对应的配置,直至获得与目标业务类别相对应的多个业务节点模块,构成与目标业务类别相对应的业务节点模块数据库。在进一步对业务框架模版进行配置时,直接从业务节点模块数据库中获取对应的业务节点模块进行填充即可。
在上述实施例中,有效属性信息数据库和业务节点模块数据库的设置,结合每个金融业务任务对应的业务框架模版,可以直接获得对应的业务处理模板,在需要对业务处理模板进行修改时,也只需要对对应的业务节点模块和/或有效属性信息进行修改,即可实现业务处理模板的快速处理,无需对整个系统的底层数据进行全面修改,大大提高了业务处理模板构建的便捷性和兼容性。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
对于上述实施例中风险政策流程这一具体的目标业务类别,传统方式中每次变更都要进行漫长的迭代开发,该处理方式存在耗时长、效率低、不够灵活,普通工作流引擎仅仅实现了业务流程控制、权限控制,功能较为单一,而且流程发生变更后往往需要重新启动才能生效等问题,且普通系统/平台的流程功能实现与业务逻辑过度耦合,在接入新的业务流程或者与外部系统对接时,仍需要漫长的兼容开发,扩展性较差。
下面以风险政策流程这一具体的目标业务类别为例,对上述金融业务任务处理方法进行具体介绍。采用了上述金融业务任务处理方法的风险政策流程系统,整合了准入、申请、审批、调额、风控、风险作业中等风险业务中涉及到政策流程的部分,将这些分散在各个独立业务模块中的功能整理抽象在一起,打通风险业务中各个系统之间的关系,建立统一的政策平台,并完成整个风险决策过程。
在可配置、扩展性方面,该系统提供了人性化、易操作的配置化页面,可供业务人员、系统开发人员单人操作、多人协作。通过在页面上进行简单的文本输入、按钮点击、脱拉拽等操作,即可完成一个完整业务流程的添加、编辑、复核、上线、下架等功能,极大地降低了业务接入成本,缩短了项目开发周期,可以快速、灵活应对业务需求,迭代安全快速、运行效率高;同时,该系统通过简化业务流程结构,将业务逻辑和流程实现互相分离,风险业务中涉及到的(包括申请、审批、调额、风控、作业等)流程功能皆可根据业务需求接入,保障了系统的扩展性。
在流程引擎方面,该系统所设计的流程引擎在实现基本的流程控制、权限控制的基础上,还整合实现了系统资源监控、异常处理、服务调用管理等功能,使得对业务的处理更加健壮、便捷、规范;而且该流程引擎支持对配置变更的热部署,即业务流程配置发生变更、复核后即可生效,就可以被流程引擎识别并能够应用到对应的业务中,极大地提高了业务的可用性、连续性。
本实施例中的风险政策流程系统,主要包括政策流程前置模块、运营管理模块、流程引擎后台模块、可扩展业务模块等,如图3所示。其中,前端运营管理页面面向业务人员、系统开发人员、运维人员,主要提供业务数据、配置信息的查询、展示、修改等功能。业务营运查询、修改功能包括案件查询、人工审批、调额管理、风控数据查询等;业务配置相关功能包括参数配置、属性配置、节点接口定义、模板配置、流程管理、定价配置、额度配置、拒绝码维护等,系统开发维护功能包括异常处理、资源管理等。
流程引擎后台模块主要负责配置数据处理、业务流程的执行,其主要功能包括:对配置数据进行组装加工、筛选、保存、修改等;配置态数据向运行态数据的转换;风险政策流程的执行;系统资源管理与维护等。
可扩展业务模块是与风险政策业务相关的逻辑集合体,是政策流程系统流程执行与业务逻辑分离去耦合的体现,是系统扩展性的体现,其业务逻辑主要包括申请、授信、调额、风控等。
本实施例中,对流程相关的配置而言,其逻辑层面由底向上层层嵌套、互相关联,依次由属性配置、节点配置、框架模板配置、处理模板配置等组成。后者都依次依赖了前者,即一个业务处理模板引用了生效的业务框架模板,一个业务框架模板引用了已生效的多个金融业务节点,一个金融业务节点引用了多条已生效的有效业务属性。
如下图4,属性配置界面提供了属性的配置功能。属性本身包括属性名称、属性编码、属性默认值、属性类型、属性校验器等要素。通过这个页面,可以结合实际的业务逻辑添加业务流程中需要的属性,比如超时时间、接口协议、产品、渠道、是否必须、重试次数、是否隐藏等;添加完成后,由指定人员进行审核、生效,此属性方可被业务流程识别并应用。同时,还可以对属性进行修改、下架等操作。完成配置后,最终形成包含多个有效业务属性的属性库,就可以继续前往图5节点基础配置页面进行节点的定义,完成各个金融业务节点的配置,获取对应的业务节点模块。
在上述政策流程系统中,节点代表了业务流程中所要执行的每一步操作,一个节点对应一个接口。比如实名认证节点、人行资信查询节点、风险准入规则节点、额度计算节点、客户信息查询节点、打标节点、管控校验节点、额度激活节点等。在实际操作中,一般先由系统开发人员通过图5进行节点的基础配置,包括节点编码、节点名称、节点类型、接口类名、方法名、方法入参(参数类型、参数顺序、校验表达式、上下文key等)、方法出参(参数类型、参数顺序、校验表达式、上下文key等)等;同时,也可以通过关联上一步骤中已生效的属性配置(有效业务属性),对节点的属性进行关联设置。
对于需要业务人员进行进一步操作的节点,可以进行进一步的配置,比如以“节点编码-上下文key”+“校验方式”的组合形式进行配置。配置完成后,就形成了一个包含不同类型的、多个节点的节点库,节点库中包含多个配置好的业务节点模块,且节点库可以在下一步的业务框架模板中关联使用。
图6、图7为业务处理模板配置、业务处理模板管理页面。通过将各个金融业务节点关联、配置到业务框架模板中,就可以形成一条业务流程(即业务处理模板)的雏形,同时可以将业务处理模板保存起来以便后续直接引用,减小了不必要的重复配置操作。如果对已有的业务处理模板进行修改,则会跳转到图7页面。图7展示了业务处理模板的配置操作。在新增业务处理模板时,可以从页面右侧的节点库中选择需要的各个金融业务节点,通过拖拉拽操作关联到此业务框架模板中。这样,一个个不同类型的金融业务节点就组成了一个业务处理模板的雏形。此时每个金融业务节点携带了其自身的默认属性,为了满足业务的自定义需求,还可以对各个金融业务节点的业务属性进行再次编辑,编辑完成后就会覆盖此业务处理模板中各节点的默认属性,但覆盖操作仅仅作用于此业务处理模板中,不影响业务处理模板中各个金融业务节点原有的默认属性。
本实施例中,一个业务处理模板直接与对应的金融业务任务在处理过程中的业务逻辑相对应,直接体现出了风险政策的执行、判断逻辑。其中,对于业务处理模板可以执行查询、新增、修改、上架、下架等操作。当对其进行新增/编辑操作时,可以基于一条已生效的模板,对风险政策逻辑所涉及的产品、渠道、商户等进行修改,复核、生效后便可以应用到业务流程中了。
综上,一条完整的风险政策业务流程就通过一条流程配置展现了出来。从属性、节点、模板到流程的整个配置过程可以简化为如图8所示的流程图。
进一步地,除了上述与业务流程相关的配置之外,运营管理页面、流程引擎还集成了统一异常管理、redis队列管理、额度配置、产品五要素配置等多种功能页面,将业务基础元素、系统的管理直观展现在页面上,可以便捷、高效地应对业务变更、系统突发状况等,实现对业务基础配置、系统资源的高效管理与维护。
业务流程的配置生效之后,就可以被流程引擎识别并应用到业务逻辑中。如图9所示,在业务流程配置变更生效时,流程引擎会对其定时加载,并经由ElementLoader将其转换为流程引擎能够直接采用的运行态模型model。当系统监听到业务消息后,会引用这些model对其进行初始化,找到其应该执行的政策流程;在将业务消息分配处理前,会实时检测系统资源使用情况,如果满足执行条件则会将其放入ThreadPoolRedisQueue,并由Abstractcmd进行消费处理并指定对应的executor。
如图10所示,在执行器AbstractExecutor内部,按照运行时状态的转换逻辑进行了功能划分,即每个状态都对应一个子类taskExecutor来实现业务有序、规范的处理。业务流程细化成了串联、并行、嵌套等多种形式的节点,而每个节点都对应一个接口interface,所以taskExecutor通过AbstractInterfaceProcessor来实现具体的服务调用。
在任务执行、接口调用的同时,如果系统发生异常(包括系统异常、业务异常两大类),则交由ExceptionProcessor按照异常管理配置做出相应的处理,能够灵活、快速应对业务中的各种突发情况,保证了业务的连续性。
如图11、图12所示,当执行风险策略节点(如人行策略规则、准入策略规则、额度计算策略规则等)时,流程引擎会根据规则执行队列中的优先顺序执行规则,并对规则的各种输出情况做出相应的处理逻辑,保证风险策略规则的严格、安全执行,最大限度把控业务风险。
如图13所示,是一个具体的审批业务流程。图中共包含6个业务节点、4个非业务节点:授信校验政策节点、人行二代节点、人行二代资信风险政策节点、同盾共债节点、授信额度政策节点、额度开立节点、开始节点、并行节点(类似+号)、聚合节点(方中含圆)、结束节点。
在业务逻辑过程中,首先会执行第一个节点:授信校验政策节点,如果客户没有通过该节点中的校验政策,则流程直接结束,不再执行后面的节点;如果该节点执行通过,那么就会继续向后进入并行节点、并同时发起并行逻辑:人行二代、同盾共债,这两个节点是并行执行的,互不影响。其中,在分支A逻辑中,执行完人行二代节点后,再继续执行人行二代资信风险政策节点;同时,在B分支逻辑中执行同盾共债资信节点。A、B分支执行完后,分别汇入聚合节点。而在聚合节点这里,可以在A、B两者任意一个执行完、或者全部执行完之后再执行后续的授信额度政策节点,具体逻辑可以在该聚合节点设置。在执行完授信额度政策节点、额度开立节点之后,整个流程就结束了。
综上,业务流程的执行是在各个节点串行、并行互相交错的过程中进行的,其先后顺序、是否并行、是否等待都是可配置的。本实施例中,首先基于可以拖拽等便捷操作的配置页面,能够实现风险政策业务的快速接入,减少代码变更、降低风险,快速、灵活应对业务需求,大大缩短了需求耗时,提高了效率。其次,配置化流程引擎支持业务流程配置热部署,能够实时检测业务流程变更,快速生效新流程,实现业务的便捷切换;同时,流程引擎集成了系统资源控制、服务调用、异常处理等功能,增强了系统的可用性。最后,系统引入业务扩展模块,能够实现业务逻辑的快速接入、适配,增强了系统的扩展性。
在一个实施例中,如图14所示,提供了一种金融业务任务处理装置,包括:第一确定模块1402、配置模块1404、第二确定模块1406、填充模块1408、执行模块1410,其中:
第一确定模块1402,用于根据与目标业务类别相对应的多个金融业务任务,确定与目标业务类别相对应的多个金融业务节点;其中,每个金融业务任务包括多个金融业务节点。
配置模块1404,用于分别对多个金融业务节点中的每一个进行业务信息配置,得到与各个金融业务节点相对应的业务节点模块;业务节点模块用于基于配置的业务信息执行对应的业务动作。
第二确定模块1406,用于对于每个金融业务任务,根据相应金融业务任务所包括的金融业务节点之间的数据依赖关系,确定对应的业务框架模板;业务框架模板包括具有执行顺序确定的多个金融业务节点,且业务框架模板中,具有数据依赖关系的一组金融业务节点独立于其他金融业务节点运行。
填充模块1408,用于对于每个金融业务任务,将相对应的多个业务节点模块,按照相对应的金融业务节点的执行顺序,填充至对应的业务框架模板中,得到相应金融业务任务的业务处理模板。
执行模块1410,用于确定属于目标业务类别的待处理业务任务,基于多个业务处理模板中确定与待处理业务任务对应的目标业务处理模板,并基于目标业务处理模板中的各业务节点模块的执行顺序执行对应的业务动作,以实现待处理业务任务的执行。
上述金融业务任务处理装置,通过目标业务类别中的各个金融业务任务,可以获取与目标业务类别相对应的多个金融业务节点,即目标业务类别中的各个金融业务任务都可以通过这些金融业务节点中的一个或者多个组合进行处理。然后,对目标业务类别涉及到的多个金融业务节点分别进行业务信息配置获得对应的业务节点模块,每个业务节点模块都具有执行对应业务动作的功能。同时,对于每个金融业务任务,都有一个对应的业务框架模板,通过将对应的业务节点模块填充到对应的业务框架模板中,可以获得一个能够对金融业务任务进行处理的业务处理模板。对于每个待处理业务任务,只要确定了其所对应的金融业务任务,就可以确定处理该待处理业务任务所需要的目标业务处理模板,通过模板业务处理模板,即可对待处理业务任务进行处理。在这个过程中,一方面,对业务框架模板进行填充以获得对应业务处理模板时采用的是配置好的业务节点模块,提高了业务处理模板的配置效率;另一方面,由于采用的是“业务框架模板+业务节点模块”的形式提前配置好目标业务类别对应的多个业务处理模板,根据待处理业务任务即可快速准确地确定对应的目标业务,大大提高了待处理业务任务的处理效率。
在一个实施例中,执行模块,还用于:确定属于目标业务类别的待处理业务任务;从与目标业务类别相对应的多个业务处理模板中查找与待处理业务任务相匹配的目标业务处理模板;当从多个业务处理模板中查找到与待处理业务任务完全对应的业务处理模板时,直接将完全对应的业务处理模板作为目标业务处理模板;当未查找到时,获取与待处理业务任务近似度最高的业务处理模板,并基于待处理业务任务所对应的业务节点模块,对近似度最高的业务处理模板进行修改,得到与待处理业务任务相匹配的目标业务处理模板。
在上述实施例中,目标业务类别中的各个金融业务任务所对应的业务处理模版是在不断更新的,以适应目标业务类别中可能出现的金融业务任务的变化,从而提高了服务器对于待处理业务任务的响应速度。
在一个实施例中,第二确定模块,还用于:确定当前金融业务任务在处理过程中需要进行操作的多个金融业务节点,以及相对应的节点操作顺序;根据数据依赖关系,对当前金融业务任务所对应的多个金融业务节点进行分组和排序,得到多个支线节点组;其中,每个支线节点组中的金融业务节点与其他支线节点组中的金融业务节点之间没有数据依赖关系;根据节点操作顺序和多个支线节点组,对当前金融业务任务所对应的多个金融业务节点进行排列,得到与当前金融业务任务相对应的业务框架模板。
在上述实施例中,由于根据数据依赖关系和节点操作顺序对金融业务任务在处理过程中涉及到的各个金融业务节点进行了解构重新排序,所获得的业务框架模板在结构流程上更合理,金融业务任务处理的效率也更高。
在一个实施例中,目标业务处理模板包括结束节点,结束节点为目标业务处理模板中的最后一个节点,执行模块还用于:根据目标业务处理模板中各个目标金融业务节点所对应的目标节点操作顺序操作顺序,顺次执行每个目标金融业务节点对应的业务动作;每个目标金融业务节点对应的业务动作执行完毕后,向结束节点广播当前目标金融业务节点对应的节点任务结果;当节点任务结果表征当前金融业务节点任务执行失败时,通过结束节点对发出节点任务结果的目标金融业务节点在目标业务处理模板中的位置进行识别,以确定是否结束执行待处理业务任务;当节点任务结果表征当前金融业务节点任务未执行失败时,则根据目标业务处理模板继续进入下一金融业务节点执行对应的业务动作,直至结束节点确定结束执行待处理业务任务。
在上述实施例中,服务器可以通过实时了解每个金融业务节点所对应的业务动作的节点任务结果,并通过结束节点及时对其进行处理,提高了待处理业务任务的处理效率。
在一个实施例中,上述装置还包括监测模块,上述监测模块用于:获取目标业务处理模板中当前执行业务动作的业务节点模块所占用的线程数量;其中,一个业务节点模块执行对应业务动作时,占用一个线程;当线程数量为0时,读取执行最后一个业务动作的业务节点模块的最终节点输出;当执行最后一个业务动作的业务节点模块是目标业务处理模板中的最后一个业务节点模块时,根据最终节点输出的内容,确定待处理业务任务的处理结果;当执行最后一个业务动作的业务节点模块不是目标业务处理模板中的最后一个业务节点模块时,根据最终节点输出的内容,指示待处理业务任务未完成。
在上述实施例中,服务器通过对线程数量进行统计,可以实时了解到当前待处理任务在通过目标业务处理模板进行处理时是否处于正常状态,并在状态异常时,及时对其进行检查。
在一个实施例中,装置还包括第二配置模块,业务信息包括有效业务属性所对应的有效属性信息,每个金融业务节点包括至少一个有效业务属性,第二配置模块用于完成:确定与目标业务类别对应的多个候选业务属性;获取每个候选业务属性分别对应的不少于一个属性要素;根据目标业务类别,分别对每个候选业务属性对应的属性要素进行配置,得到各个候选业务属性分别对应的业务属性模块;将通过审核的业务属性模块所对应的候选业务属性,作为有效业务属性。
在上述实施例中,提前获取目标业务类别对应的有效属性信息可以实现各个金融业务节点的快速配置,使得仅通过对有效属性信息配置的更改即可实现业务节点模块的配置,进而提高了业务节点模块的配置效率和兼容性。
在一个实施例中,配置模块,还用于:对于每个金融业务节点,获取与各个金融业务节点相对应的有效属性信息;根据有效属性信息,分别对各个金融业务节点进行配置,获得与各个金融业务节点相对应的业务节点模块。
在上述实施例中,有效属性信息数据库和业务节点模块数据库的设置,结合每个金融业务任务对应的业务框架模版,可以直接获得对应的业务处理模板,在需要对业务处理模板进行修改时,也只需要对对应的业务节点模块和/或有效属性信息进行修改,即可实现业务处理模板的快速处理,无需对整个系统的底层数据进行全面修改,大大提高了业务处理模板构建的便捷性和兼容性。
关于金融业务任务处理装置的具体限定可以参见上文中对于金融业务任务处理方法的限定,在此不再赘述。上述金融业务任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储金融业务任务处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种金融业务任务处理方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。