一种工作流处理方法和装置与流程

文档序号:12125180阅读:185来源:国知局
一种工作流处理方法和装置与流程

本发明涉及信息处理技术领域,尤其涉及一种工作流处理方法和装置。



背景技术:

工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在保险行业中,工作流常常被用于任务流程的自动化推动,例如在对理赔请求进行处理的任务中,可以大致分为“接收请求-获取理赔案件信息-获取保单信息-收取理赔材料-审核理赔材料-输出审核结果-输出理赔结果”等工作流节点,在对该任务进行工作流处理时,须严格遵循工作流节点的先后顺序,只有当前一节点完成后,才能处理下一节点。

目前,系统在进行工作流处理时,一般将所有任务的工作流均加载到缓存中。然而,因受到系统可用的缓存大小的限制,当存在大量的待处理任务时,所有待处理任务的工作流节点只能在缓存中排队等待处理,而对于待处理任务的工作流来说,由于前一节点在缓存中等待处理而尚未完成,则该工作流无法进入下一节点,从而容易导致大量的工作流任务积压,任务无法实现流转,大大降低了任务的处理效率。



技术实现要素:

本发明实施例提供了一种工作流处理方法和装置,能够减轻缓存的工作负担,有利于减少工作流任务的积压,推动工作流任务的流转,提高任务的处理效率。

本发明实施例提供的一种工作流处理方法,包括:

获取目标工作流节点的节点类型;

判断所述节点类型是否符合预设的第一条件或第二条件;

若所述节点类型符合预设的第一条件,则将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点;

若所述节点类型符合预设的第二条件,则将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。

可选地,所述判断所述节点类型是否符合预设的第一条件包括:

获取所述节点类型对应所需的处理操作;

判断所述所需的处理操作是否在数据库中执行;

和/或

所述判断所述节点类型是否符合预设的第一条件包括:判断所述节点类型是否在预设的第一节点类型范围内;

所述判断所述节点类型是否符合预设的第二条件包括:

获取所述节点类型对应所需的处理操作;

判断所述所需的处理操作是否在缓存中执行;

和/或

所述判断所述节点类型是否符合预设的第二条件包括:判断所述节点类型是否在预设的第二节点类型范围内。

可选地,所述工作流处理方法还包括:

监控所述缓存的当前工作量是否超过预设的警戒阈值;

若所述缓存的当前工作量超过预设的警戒阈值,则对所述缓存进行清理。

可选地,对所述缓存进行清理具体包括:

获取所述缓存中目标工作流节点进入所述缓存的进入时间;

获取所述缓存中目标工作流节点对应工作流任务的更新时间;

根据所述进入时间和所述更新时间对所述缓存中所有的目标工作流节点进行排序,得到排序结果;

根据所述排序结果依次清理所述缓存中的目标工作流节点,直到所述缓存的当前工作量小于预设的警戒阈值。

可选地,所述工作流处理方法还包括:

若所述节点类型既不符合预设的第一条件也不符合预设的第二条件,则将所述目标工作流节点加载至缓存中,并在所述缓存中处理所述目标工作流节点。

本发明实施例提供的一种工作流处理装置,包括:

节点类型获取模块,用于获取目标工作流节点的节点类型;

判断模块,用于判断所述节点类型是否符合预设的第一条件或第二条件;

第一处理模块,用于若所述节点类型符合预设的第一条件,则将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点;

第二处理模块,用于若所述节点类型符合预设的第二条件,则将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。

可选地,所述判断模块包括:

第一判断子模块,用于判断所述节点类型是否符合预设的第一条件;

第二判断子模块,用于判断所述节点类型是否符合预设的第二条件;

所述第一判断子模块包括:

第一操作获取单元,用于获取所述节点类型对应所需的处理操作;

第一操作判断单元,用于判断所述所需的处理操作是否在数据库中执行;

和/或

所述第一判断子模块包括:第一范围判断单元,用于判断所述节点类型是否在预设的第一节点类型范围内;

所述第二判断子模块包括:

第二操作获取单元,用于获取所述节点类型对应所需的处理操作;

第二操作判断单元,用于判断所述所需的处理操作是否在缓存中执行;

和/或

所述第二判断子模块包括:第二范围判断单元,用于判断所述节点类型是否在预设的第二节点类型范围内。

可选地,所述工作流处理装置还包括:

监控模块,用于监控所述缓存的当前工作量是否超过预设的警戒阈值;

缓存清理模块,用于若所述缓存的当前工作量超过预设的警戒阈值,则对所述缓存进行清理。

可选地,所述缓存清理模块包括:

进入时间获取子模块,用于获取所述缓存中目标工作流节点进入所述缓存的进入时间;

更新时间获取子模块,用于获取所述缓存中目标工作流节点对应工作流任务的更新时间;

排序子模块,用于根据所述进入时间和所述更新时间对所述缓存中所有的目标工作流节点进行排序,得到排序结果;

清理子模块,用于根据所述排序结果依次清理所述缓存中的目标工作流节点,直到所述缓存的当前工作量小于预设的警戒阈值。

可选地,所述工作流处理装置还包括:

第三处理模块,用于若所述节点类型既不符合预设的第一条件也不符合预设的第二条件,则将所述目标工作流节点加载至缓存中,并在所述缓存中处理所述目标工作流节点。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,首先,获取目标工作流节点的节点类型;然后,判断所述节点类型是否符合预设的第一条件或第二条件;若所述节点类型符合预设的第一条件,则将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点;若所述节点类型符合预设的第二条件,则将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。在本发明实施例中,通过判断目标工作流节点的节点类型是否符合预设的第一条件或第二条件,从而可以将符合条件的目标工作流节点加载至数据库中进行处理,或者加载至数据库中排队并在缓存中进行处理,使得部分工作流节点无需在缓存中加载,甚至部分工作流节点无需在缓存中加载和处理,大大减轻了缓存的工作负担,有利于减少工作流任务的积压,推动工作流任务的流转,提高任务的处理效率。

附图说明

图1为本发明实施例中一种工作流处理方法第一个实施例流程图;

图2为本发明实施例中一种工作流处理方法第二个实施例流程图;

图3为图2对应实施例中一种工作流处理方法中步骤208在一个应用场景下的流程示意图;

图4为本发明实施例中一种工作流处理装置第一个实施例结构图;

图5为本发明实施例中一种工作流处理装置第二个实施例结构图;

图6为本发明实施例中一种工作流处理装置第三个实施例结构图。

具体实施方式

本发明实施例提供了一种工作流处理方法和装置,用于解决工作流任务受缓存大小的限制,容易造成工作流任务积压和处理效率低下的问题。

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

请参阅图1,本发明实施例中一种工作流处理方法第一个实施例包括:

101、获取目标工作流节点的节点类型;

本实施例中,首先,可以获取目标工作流节点的节点类型。可以理解的是,所有的工作流节点在系统中均预先设定为若干种节点类型,这些节点类型可以表示相应的工作流节点是面向哪些用户进行操作或管理的。因此,不同的节点类型可以由不同权限的用户进行处理。例如理赔任务中“接收请求-获取理赔案件信息-获取保单信息-收取理赔材料-审核理赔材料-输出审核结果-输出理赔结果”等工作流节点,其中“接收请求”和“收取理赔材料”的节点需要理赔请求人参与,其可以由“客户”级别权限的用户进行操作;而其余的节点,如“审核理赔材料”、“输出审核结果”等节点,其需要由保险机构内部的工作人员进行处理,因此这些节点应当由比“客户”更高级别权限的用户进行操作。

102、判断所述节点类型是否符合预设的第一条件,若是,则执行步骤103,若否,则执行步骤104;

在获取目标工作流节点的节点类型之后,可以判断所述节点类型是否符合预设的第一条件,若是,则执行步骤103,若否,则执行步骤104。

进一步地,所述判断所述节点类型是否符合预设的第一条件可以包括:获取所述节点类型对应所需的处理操作;判断所述所需的处理操作是否在数据库中执行。

其中,在获取所述节点类型对应所需的处理操作时,可以先提取该节点类型的特征值。所述特征值可以包括每个工作流任务的唯一标识(ID)、业务主键、当前节点步骤名称、上一节点名称、上一节点提交人、上一节点提交时间、当前节点处理人、当前节点处理人的优先级等等。在提取到该节点类型的特征值之后,可以根据特征值与操作功能之间的对应关系,获取到该节点类型对应所需的处理操作。从而,可以判断这些处理操作是否能在数据库中执行,若能,则为了减轻缓存的负担,可以执行步骤103,将对应的工作流节点加载至数据库中进行处理。

进一步地,所述判断所述节点类型是否符合预设的第一条件还可以包括:判断所述节点类型是否在预设的第一节点类型范围内。可以理解的是,可以预先为判断节点类型而设定第一节点类型的范围,当该节点类型落入该范围内,则认为该节点类型符合预设的第一条件。

103、将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点;

若所述节点类型符合预设的第一条件,则可以将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点。可以理解的是,将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点,可以有效地将一部分符合第一条件的目标工作流节点交给数据库进行加载和处理,大大减轻缓存的工作负担。

104、判断所述节点类型是否符合预设的第二条件,若是,则执行步骤105,若否,则执行步骤106;

若所述节点类型不符合预设的第一条件,则可以判断所述节点类型是否符合预设的第二条件,若是,则执行步骤105,若否,则执行步骤106。

进一步地,所述判断所述节点类型是否符合预设的第二条件可以包括:获取所述节点类型对应所需的处理操作;判断所述所需的处理操作是否在缓存中执行。

其中,在获取所述节点类型对应所需的处理操作时,可以先提取该节点类型的特征值。所述特征值可以包括每个工作流任务的唯一标识(ID)、业务主键、当前节点步骤名称、上一节点名称、上一节点提交人、上一节点提交时间、当前节点处理人、当前节点处理人的优先级等等。在提取到该节点类型的特征值之后,可以根据特征值与操作功能之间的对应关系,获取到该节点类型对应所需的处理操作。从而,可以判断这些处理操作是否能在缓存中执行,若能,则为了减轻缓存的负担,可以执行步骤104,将对应的工作流节点加载至数据库中,然后在需要执行该目标工作流节点时,再将目标工作流节点刷新进入缓存中处理。

进一步地,所述判断所述节点类型是否符合预设的第二条件还可以包括:判断所述节点类型是否在预设的第二节点类型范围内。可以理解的是,可以预先为判断节点类型而设定第二节点类型的范围,当该节点类型落入该范围内,则认为该节点类型符合预设的第二条件。

可以理解的是,本实施例中,优先执行步骤102,判断所述节点类型是否符合预设的第一条件,若是,则将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点,可以最大化地减轻缓存的工作负担。在该节点类型确认不符合预设的第一条件时,才执行步骤104,判断其是否符合预设的第二条件,若是,则将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理,从而可以进一步地为缓存减轻部分工作负担。因此,本实施例中先执行步骤102,再执行步骤104。而在一个应用场景下,也可以先执行步骤104,后执行步骤102,或者,同时执行步骤102和104。

105、将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理;

若所述节点类型符合预设的第二条件,则可以将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。

上述的处理队列存储各个目标工作流节点,这些目标工作流节点可以按照加载的先后时间顺序存储在处理队列中,也可以按照目标工作流节点对应的处理人的优先级或者该目标工作流节点的预设优先级从高到低存储在处理队列中。

在本实施例中,可以在缓存中的工作完成后,再操作数据库将处理队列中的目标工作流节点刷新进入缓存中处理;也可以是在缓存中的剩余工作量低于设定阈值时,操作数据库将处理队列中的目标工作流节点刷新进入缓存中处理。

106、按照默认的处理流程对所述目标工作流节点进行处理。

若所述节点类型不符合预设的第二条件,则可以按照默认的处理流程对所述目标工作流节点进行处理。可以理解的是,若该节点类型不符合预设的第一条件,也不符合预设的第二条件时,可以按照默认的处理流程或处理方式来处理该目标工作流节点。在本实施例中,该默认的处理流程可以是将所述目标工作流节点加载至缓存中,并在所述缓存中处理所述目标工作流节点。

本实施例中,首先,获取目标工作流节点的节点类型;然后,判断所述节点类型是否符合预设的第一条件或第二条件;若所述节点类型符合预设的第一条件,则将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点;若所述节点类型符合预设的第二条件,则将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。在本实施例中,通过判断目标工作流节点的节点类型是否符合预设的第一条件或第二条件,从而可以将符合条件的目标工作流节点加载至数据库中进行处理,或者加载至数据库中排队并在缓存中进行处理,使得部分工作流节点无需在缓存中加载,甚至部分工作流节点无需在缓存中加载和处理,大大减轻了缓存的工作量,有利于减少工作流任务的积压,推动工作流任务的流转,提高任务的处理效率。

为便于理解,下面将从另一方面对本发明的一种工作流处理方法进行更加详细的描述,请参阅图2,本发明实施例中一种工作流处理方法第二个实施例包括:

201、获取目标工作流节点的节点类型;

本实施例中,首先,可以获取目标工作流节点的节点类型。可以理解的是,所有的工作流节点在系统中均预先设定为若干种节点类型,这些节点类型可以表示相应的工作流节点是面向哪些用户进行操作或管理的。因此,不同的节点类型可以由不同权限的用户进行处理。例如理赔任务中“接收请求-获取理赔案件信息-获取保单信息-收取理赔材料-审核理赔材料-输出审核结果-输出理赔结果”等工作流节点,其中“接收请求”和“收取理赔材料”的节点需要理赔请求人参与,其可以由“客户”级别权限的用户进行操作;而其余的节点,如“审核理赔材料”、“输出审核结果”等节点,其需要由保险机构内部的工作人员进行处理,因此这些节点应当由比“客户”更高级别权限的用户进行操作。

202、判断所述节点类型是否符合预设的第一条件,若是,则执行步骤203,若否,则执行步骤204;

在获取目标工作流节点的节点类型之后,可以判断所述节点类型是否符合预设的第一条件,若是,则执行步骤203,若否,则执行步骤204。

进一步地,所述判断所述节点类型是否符合预设的第一条件可以包括:获取所述节点类型对应所需的处理操作;判断所述所需的处理操作是否在数据库中执行。

其中,在获取所述节点类型对应所需的处理操作时,可以先提取该节点类型的特征值。所述特征值可以包括每个工作流任务的唯一标识(ID)、业务主键、当前节点步骤名称、上一节点名称、上一节点提交人、上一节点提交时间、当前节点处理人、当前节点处理人的优先级等等。在提取到该节点类型的特征值之后,可以根据特征值与操作功能之间的对应关系,获取到该节点类型对应所需的处理操作。从而,可以判断这些处理操作是否能在数据库中执行,若能,则为了减轻缓存的负担,可以执行步骤203,将对应的工作流节点加载至数据库中进行处理。

进一步地,所述判断所述节点类型是否符合预设的第一条件还可以包括:判断所述节点类型是否在预设的第一节点类型范围内。可以理解的是,可以预先为判断节点类型而设定第一节点类型的范围,当该节点类型落入该范围内,则认为该节点类型符合预设的第一条件。

203、将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点;

若所述节点类型符合预设的第一条件,则可以将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点。可以理解的是,将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点,可以有效地将一部分符合第一条件的目标工作流节点交给数据库进行加载和处理,大大减轻缓存的工作负担。

需要说明的是,上述的处理操作可以包括查询、更新或删除等操作。当这些操作在数据库中直接处理时,可以包括:

查询:1根据业务主键查询,若不知道当前工作流任务处在哪个节点上,可以先查缓存,如无数据再查数据库;

2根据节点名字查询,由于已确定工作流节点的名称和节点类型,则可以直接进行数据查询。

更新:1业务数据更新,先查询确定工作流节点的节点类型,然后只更新数据库;

2工作流节点推动,先判断下一个工作流节点的节点类型,确定其是加载在数据库中还是加载在缓存中,然后再进行更新。

删除:工作流任务撤销或者完成后,会将数据库中原表中的数据记录到备份表中,原表中对应的数据被删除,保证原表中的数据量控制在一定的数量级,不会无限增长导致出现效率问题。

204、判断所述节点类型是否符合预设的第二条件,若是,则执行步骤205,若否,则执行步骤206;

若所述节点类型不符合预设的第一条件,则可以判断所述节点类型是否符合预设的第二条件,若是,则执行步骤205,若否,则执行步骤206。

进一步地,所述判断所述节点类型是否符合预设的第二条件可以包括:获取所述节点类型对应所需的处理操作;判断所述所需的处理操作是否在缓存中执行。

其中,在获取所述节点类型对应所需的处理操作时,可以先提取该节点类型的特征值。所述特征值可以包括每个工作流任务的唯一标识(ID)、业务主键、当前节点步骤名称、上一节点名称、上一节点提交人、上一节点提交时间、当前节点处理人、当前节点处理人的优先级等等。在提取到该节点类型的特征值之后,可以根据特征值与操作功能之间的对应关系,获取到该节点类型对应所需的处理操作。从而,可以判断这些处理操作是否能在缓存中执行,若能,则为了减轻缓存的负担,可以执行步骤204,将对应的工作流节点加载至数据库中,然后在需要执行该目标工作流节点时,再将目标工作流节点刷新进入缓存中处理。

进一步地,所述判断所述节点类型是否符合预设的第二条件还可以包括:判断所述节点类型是否在预设的第二节点类型范围内。可以理解的是,可以预先为判断节点类型而设定第二节点类型的范围,当该节点类型落入该范围内,则认为该节点类型符合预设的第二条件。

可以理解的是,本实施例中,优先执行步骤202,判断所述节点类型是否符合预设的第一条件,若是,则将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点,可以最大化地减轻缓存的工作负担。在该节点类型确认不符合预设的第一条件时,才执行步骤204,判断其是否符合预设的第二条件,若是,则将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理,从而可以进一步地为缓存减轻部分工作负担。因此,本实施例中先执行步骤202,再执行步骤204。而在一个应用场景下,也可以先执行步骤204,后执行步骤202,或者,同时执行步骤202和204。

205、将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。

若所述节点类型符合预设的第二条件,则可以将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。

上述的处理队列存储各个目标工作流节点,这些目标工作流节点可以按照加载的先后时间顺序存储在处理队列中,也可以按照目标工作流节点对应的处理人的优先级或者该目标工作流节点的预设优先级从高到低存储在处理队列中。

在本实施例中,可以在缓存中的工作完成后,再操作数据库将处理队列中的目标工作流节点刷新进入缓存中处理;也可以是在缓存中的剩余工作量低于设定阈值时,操作数据库将处理队列中的目标工作流节点刷新进入缓存中处理。

需要说明的是,上述的处理操作可以包括查询、更新或删除等操作。当这些操作加载在数据库中并在缓存中处理时,可以包括:

查询:直接查询缓存,若查询不到结果,再查询数据库,并将查询到的结果刷新进入缓存。

更新:查询到工作流任务后,该工作流任务存在于缓存中,可以先更新缓存,同时将该工作流任务加入到待同步队列中,另外一个系统任务会将修改后的数据同步到数据库。

删除:将工作流任务从缓存中删除,同时将数据库中的数据写到备份表中,删除原表数据。

206、将所述目标工作流节点加载至缓存中,并在所述缓存中处理所述目标工作流节点;

若所述节点类型既不符合预设的第一条件也不符合预设的第二条件,则可以将所述目标工作流节点加载至缓存中,并在所述缓存中处理所述目标工作流节点。可以理解的是,若该节点类型不符合预设的第一条件,也不符合预设的第二条件时,可以按照默认的处理流程或处理方式来处理该目标工作流节点。在本实施例中,该默认的处理流程可以是将所述目标工作流节点加载至缓存中,并在所述缓存中处理所述目标工作流节点。

207、监控所述缓存的当前工作量是否超过预设的警戒阈值,若是,则执行步骤208,若否,返回继续执行步骤207;

本实施例中,为了保证缓存的处理效率,避免缓存因工作量过大而出现卡死、数据溢出等异常,可以监控所述缓存的当前工作量是否超过预设的警戒阈值,若是,则执行步骤208,若否,返回继续执行步骤207。

208、对所述缓存进行清理。

若所述缓存的当前工作量超过预设的警戒阈值,则可以对所述缓存进行清理。

进一步地,如图3所示,上述步骤208具体包括:

301、获取所述缓存中目标工作流节点进入所述缓存的进入时间;

302、获取所述缓存中目标工作流节点对应工作流任务的更新时间;

303、根据所述进入时间和所述更新时间对所述缓存中所有的目标工作流节点进行排序,得到排序结果;

304、根据所述排序结果依次清理所述缓存中的目标工作流节点,直到所述缓存的当前工作量小于预设的警戒阈值。

对于上述步骤301,上述进入时间是指目标工作流节点从数据库中刷新进入缓存的时间,或者是直接加载至缓存中的时间。

对于上述步骤302,上述的更新时间是指该目标工作流节点对应的工作流任务的更新的时间,可以理解的是,工作流任务若发生操作或变动时,该工作流任务的修改日期或修改时间会发生更新。

对于上述步骤303,其具体可以包括:计算当前系统时间与所述进入时间之差,得到第一时长A;计算当前系统时间与所述更新时间之差,得到第二时长B。然后,计算第一时长A与预设的第一权重值之积,得到第一数值;计算第二时长B与预设的第二权重值之积,得到第二数值;接着,计算第一数值与第二数值之和,得到排序数值。最后,根据该排序数值的大小对所述缓存中所有的目标工作流节点进行排序,得到排序结果。可以理解的是,上述的第一权重值和第二权重值可以根据实际使用情况进行设置。本实施例中,若目标工作流节点超出处理时效,则系统会认为该目标工作流节点为疑难任务,可能自动将该目标工作流节点刷出缓存中,导致目标工作流节点处理失败。因此,为了避免目标工作流节点超出处理时效,可以将所述第一权重值设为远大于所述第二权重值。

对于上述步骤304,在得到排序结果之后,可以根据所述排序结果依次清理所述缓存中的目标工作流节点,直到所述缓存的当前工作量小于预设的警戒阈值。

另外,更进一步地,还可以采用先进先出算法(FIFO)以及最近最少使用算法(LFU)来清理缓存,将缓存中较少使用的任务或线程刷出。

上面主要描述了一种工作流处理方法,下面将对一种工作流处理装置进行详细描述。

图4示出了本发明实施例中一种工作流处理装置第一个实施例结构图。

本实施例中,一种工作流处理装置包括:

节点类型获取模块401,用于获取目标工作流节点的节点类型;

判断模块402,用于判断所述节点类型是否符合预设的第一条件或第二条件;

第一处理模块403,用于若所述节点类型符合预设的第一条件,则将所述目标工作流节点加载至数据库中,并在所述数据库中处理所述目标工作流节点;

第二处理模块404,用于若所述节点类型符合预设的第二条件,则将所述目标工作流节点加载至数据库的处理队列中,并将所述处理队列中的目标工作流节点依次刷新进入缓存中进行处理。

图5示出了本发明实施例中一种工作流处理装置第二个实施例结构图。

进一步地,如图5所示,所述判断模块402可以包括:

第一判断子模块4021,用于判断所述节点类型是否符合预设的第一条件;

第二判断子模块4022,用于判断所述节点类型是否符合预设的第二条件;

所述第一判断子模块4021包括:

第一操作获取单元0211,用于获取所述节点类型对应所需的处理操作;

第一操作判断单元0212,用于判断所述所需的处理操作是否在数据库中执行;

和/或

所述第一判断子模块4021包括:第一范围判断单元0213,用于判断所述节点类型是否在预设的第一节点类型范围内;

所述第二判断子模块4022包括:

第二操作获取单元0221,用于获取所述节点类型对应所需的处理操作;

第二操作判断单元0222,用于判断所述所需的处理操作是否在缓存中执行;

和/或

所述第二判断子模块4022包括:第二范围判断单元0223,用于判断所述节点类型是否在预设的第二节点类型范围内。

进一步地,如图5所示,所述工作流处理装置还可以包括:

监控模块405,用于监控所述缓存的当前工作量是否超过预设的警戒阈值;

缓存清理模块406,用于若所述缓存的当前工作量超过预设的警戒阈值,则对所述缓存进行清理。

进一步地,所述缓存清理模块406包括:

进入时间获取子模块4061,用于获取所述缓存中目标工作流节点进入所述缓存的进入时间;

更新时间获取子模块4062,用于获取所述缓存中目标工作流节点对应工作流任务的更新时间;

排序子模块4063,用于根据所述进入时间和所述更新时间对所述缓存中所有的目标工作流节点进行排序,得到排序结果;

清理子模块4064,用于根据所述排序结果依次清理所述缓存中的目标工作流节点,直到所述缓存的当前工作量小于预设的警戒阈值。

图6示出了本发明实施例中一种工作流处理装置第三个实施例结构图。

进一步地,如图6所示,所述工作流处理装置还包括:

第三处理模块407,用于若所述节点类型既不符合预设的第一条件也不符合预设的第二条件,则将所述目标工作流节点加载至缓存中,并在所述缓存中处理所述目标工作流节点。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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