基于Java的同异步任务的执行方法、装置、设备及存储介质制造方法及图纸

技术编号:33787472 阅读:14 留言:0更新日期:2022-06-12 14:43
本发明专利技术涉及计算机技术领域,揭露了一种基于Java的同异步任务的执行方法、装置、设备及存储介质。所述方法包括:接收到用户发出的任务执行请求时,在Java主流程执行的最后执行阶段调用Java次流程的执行入口,从所述执行入口获取与所述任务对应的任务链;获取预设的流程执行记录表、流程配置表和子节点配置表,根据所述流程执行记录表、流程配置表和子节点配置表分别执行所述任务链中的子节点,并获取执行子节点后的执行结果;其中,所述任务链中包含多个子节点;根据所述执行结果更新所述流程执行记录表中与所述任务对应的执行状态。本发明专利技术将原先复杂的同异步任务执行流程通过子节点进行执行,提升系统执行任务的灵活性。提升系统执行任务的灵活性。提升系统执行任务的灵活性。

【技术实现步骤摘要】
基于Java的同异步任务的执行方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其揭露了一种基于Java的同异步任务的执行方法、装置、设备及存储介质。

技术介绍

[0002]目前,Java应用系统在执行任务的过程中,若遇上流程复杂的执行链路,从主流程到次流程,一般会采用如下三种方案:
[0003]第一种方案是从主流程到次流程采用自上而下,一次性执行任务到底的执行方式;该方案的不足之处在于:系统代码耦合度高,次流程与主流程高度耦合,主流程会受到次流程的失败影响,且随着流程复杂度的提升,系统维护成本也随着增加;方式一也会影响实时接口场景的响应效率,主流程需要等待次流程执行完毕才能进行响应,从而花费更多的时间。
[0004]第二种方案是引入第三方的工作流组件,通过该第三方的工作流组件直线本次流程中的内务;该方案的不足之处在于:容易使系统变得臃肿,一般的工作流组件为了适应不同场景和更高的灵活性,其附加的依赖和配置会十分庞大,因此使用此类工作流组件意味着可能会引入一些非必要的依赖和配置。
[0005]第三种方案是在主流程中,采用异步线程的方式,执行本次流程中的任务;该方案的不足之处在于:对异步线程的管理要求较高,因此需要考虑如何应对异步线程执行失败,丢失等问题。
[0006]综上,本领域技术人员亟需寻找一种新的方案来解决上述问题。

技术实现思路

[0007]基于此,有必要针对上述技术问题,提供一种基于Java的同异步任务的执行方法、装置、设备及存储介质,将原先复杂的同异步任务执行流程通过子节点进行执行,提升系统执行任务的灵活性。
[0008]一种基于Java的同异步任务的执行方法,包括:
[0009]当接收到用户发出的任务执行请求时,在Java主流程执行的最后执行阶段调用Java次流程的执行入口,从所述执行入口获取与所述任务对应的任务链;
[0010]获取预设的流程执行记录表、流程配置表和子节点配置表,根据所述流程执行记录表、流程配置表和子节点配置表分别执行所述任务链中的子节点,并获取执行子节点后的执行结果;其中,所述任务链中包含多个子节点;
[0011]根据所述执行结果更新所述流程执行记录表中与所述任务对应的执行状态。
[0012]一种基于Java的同异步任务的执行装置,包括:
[0013]获取模块,用于当接收到用户发出的任务执行请求时,在Java主流程执行的最后执行阶段调用Java次流程的执行入口,从所述执行入口获取与所述任务对应的任务链;
[0014]执行模块,用于获取预设的流程执行记录表、流程配置表和子节点配置表,根据所
述流程执行记录表、流程配置表和子节点配置表分别执行所述任务链中的子节点,并获取执行子节点后的执行结果;其中,所述任务链中包含多个子节点;
[0015]更新模块,用于根据所述执行结果更新所述流程执行记录表中与所述任务对应的执行状态。
[0016]一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于Java的同异步任务的执行方法。
[0017]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于Java的同异步任务的执行方法。
[0018]上述基于Java的同异步任务的执行方法、装置、设备及存储介质,将任务对应的Java主流程和Java次流程进行剥离,不仅可以有效降低主流程逻辑的复杂度(也即可节省系统的维护成本),而且可以有效提升主流程的处理效率(也即提高主流程的响应效率),进而可以减少系统在主流程阶段的压力;将原先任务中复杂的流程节点化,也即通过子节点来代替Java次流程,且子节点可通过流程配置表和流程执行记录表复用,子节点的子节点执行顺序可通过子节点配置表调整,不仅可以有效地降低系统代码代码耦合度,而且可以提升系统灵活性;不需要引入第三方工作流框架,从而系统不会变得臃肿,同时因为不需要依赖第三方工作流框架,也减少来自第三方工作流框架的漏洞问题。
附图说明
[0019]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本专利技术一实施例中一种基于Java的同异步任务的执行方法的一应用环境示意图;
[0021]图2是本专利技术一实施例中一种基于Java的同异步任务的执行方法的一流程示意图;
[0022]图3是本专利技术一实施例中一种基于Java的同异步任务的执行装置的结构示意图;
[0023]图4是本专利技术一实施例中计算机设备的一示意图。
具体实施方式
[0024]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]本专利技术提供的一种基于Java的同异步任务的执行方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端可以包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
[0026]在一实施例中,如图2所示,提供一种基于Java的同异步任务的执行方法,以该方
法应用在图1中的服务器为例(本专利技术提到的系统是运行于服务器上)进行说明,包括如下步骤S101

S301:
[0027]S101,当接收到用户发出的任务执行请求时,在Java主流程执行的最后执行阶段调用Java次流程的执行入口,从所述执行入口获取与所述任务对应的任务链;
[0028]可理解地,任务包括异步任务和同步任务,在任务为异步任务时,此时是通过异步调用Java次流程的同步执行入口,在任务为同步任务时,此时是通过同步调用Java次流程的异步执行入口;Java主流程的最后执行阶段是指在需要触发复杂业务逻辑的阶段,也即需要触发任务链的阶段;Java主流程是指触发任务链之前的代码逻辑,Java次流程是指任务链,任务链是指系统中的某个具有复杂业务逻辑的功能,包含多个子节点,举例进行说明,如一个用户申请撤销抵押的任务,其中涉及到的Java主流程和Java次流程为:1、受理撤销抵押申请;2、邮件通知业务员处理申请;3、生成撤销抵押的电子单证;4、电子单证加盖印章;上述1需要实时响应用户,2、3和4不需要实时响应用户,此时,1可理解为Java主流程,2、3和4可理解为Java次流程,2、3和4可以封装成一个异步的任务链,另外在1受理完成时,异步生成2、3和4封装的任务链,然后会马上响应用户,界面上告知用户受理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Java的同异步任务的执行方法,其特征在于,所述方法包括:当接收到用户发出的任务执行请求时,在Java主流程执行的最后执行阶段调用Java次流程的执行入口,从所述执行入口获取与所述任务对应的任务链;获取预设的流程执行记录表、流程配置表和子节点配置表,根据所述流程执行记录表、流程配置表和子节点配置表分别执行所述任务链中的子节点,并获取执行子节点后的执行结果;其中,所述任务链中包含多个子节点;根据所述执行结果更新所述流程执行记录表中与所述任务对应的执行状态。2.根据权利要求1所述的基于Java的同异步任务的执行方法,其特征在于,所述获取预设的流程执行记录表、流程配置表和子节点配置表,根据所述流程执行记录表、流程配置表和子节点配置表分别执行所述任务链中的子节点,并获取执行子节点后的执行结果之前,还包括:设置所述任务链所需的属性和属性值,并根据所述属性和属性值建立所述流程执行记录表、流程配置表和子节点配置表。3.根据权利要求2所述的基于Java的同异步任务的执行方法,其特征在于,所述设置所述任务链所需的属性和属性值之后,还包括:获取所述属性中的流程编码和节点编码,将所述流程编码和节点编码定义为所述任务链的Java类在应用容器中的BeanName。4.根据权利要求1所述的基于Java的同异步任务的执行方法,其特征在于,所述根据所述流程执行记录表、流程配置表和子节点配置表分别执行所述任务链中的子节点之前,还包括:在确定系统并发量小于等于预设阈值量时,将与任务对应的任务链中的执行入参写入所述流程执行记录表,并将所述流程执行记录表中与执行入参对应的任务的执行状态记录为待处理;在确定系统并发量大于预设阈值量时,将与任务对应的任务链中的执行入参写入等待队列中,通过所述等待队列将所述执行入参批量写入所述流程执行记录表,并将所述流程执行记录表中与执行入参对应的任务的执行状态记录为待处理。5.根据权利要求4所述的基于Java的同异步任务的执行方法,其特征在于,所述将与任务对应的任务链中的执行入参写入至所述流程执行记录表之后,或者所述通过所述等待队列将所述执行入参批量写入至所述流程执行记录表之后,还包括:通过所述执行入参获取BeanName;通过所述BeanName查询所述流程配置表中的属性后,得到包含多个子节点的子节点列表;查询所述子节点配置表后,得到子节点执行顺序;通过所述子节点执行顺序对所述子节点列表中的所有子节点进行排序,得到待执行的子节点列表。6.根据权利要求5所述的基于Java的同异步任务的执行方法,其特征在于,所述得到待执行的子节点列表之后,还包括:...

【专利技术属性】
技术研发人员:郑盛样
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1