消息处理方法、系统、电子设备及计算机可读存储介质技术方案

技术编号:35894961 阅读:18 留言:0更新日期:2022-12-10 10:28
本申请提供一种消息处理方法、系统、电子设备及计算机可读存储介质,该消息处理方法应用于流程引擎;该消息处理方法包括:从消息队列中获取目标业务操作消息;目标业务操作消息用于指示流程引擎将目标业务操作消息的内容发送至目标订阅者。根据目标业务操作消息获取对应的所有目标订阅者;获取订阅者配置信息;订阅者配置信息包括所有订阅者信息;根据订阅者配置信息生成所有订阅者和第一注册表;判断第一注册表中是否存在刷新标识;若不存在刷新标识,则从所有订阅者中筛选目标订阅者;并将目标业务操作消息发送给目标订阅者。采用本申请提供的消息处理方法可用于处理及时性要求不高的业操作;可提高流程响应效率,减少用户等待时间。等待时间。等待时间。

【技术实现步骤摘要】
消息处理方法、系统、电子设备及计算机可读存储介质


[0001]本申请涉及数据处理领域,具体而言,涉及一种消息处理方法、系统、电子设备及计算机可读存储介质。

技术介绍

[0002]流程引擎是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。通俗的说,流程就是多种业务对象在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是流程引擎。
[0003]流程引擎应用日渐广泛,在由流程驱动的各种系统中都有应用,例如OA、CRM、ERP、ECM、BI等。在企业应用中还有很多产品或平台集成流程引擎,用来处理系统运行过程中发起的业务流程。
[0004]目前,流程引擎一般采用实时的方式做数据处理和第三方业务系统回调等,即用户提交流程后,等待第三方业务系统处理完毕后进行其他操作。在上述过程中流程引擎的业务处理效率会受到第三方业务系统的直接影响,导致效率低下,用户体验感差,甚至流程中断等问题。

技术实现思路

[0005]本申请实施例的目的在于提供一种消息处理方法、系统、电子设备及计算机可读存储介质,根据订阅者配置信息生成所有订阅者,再根据目标业务操作消息确定目标业务消息的所有目标订阅者;在所有订阅者确定出发送该目标业务消息的目标订阅者。在此过程中,若存在刷新标识,则证明订阅者配置信息发生了变化,进一步生成新订阅者;在串行运行过程中可生成新订阅者后,将新订阅者纳入所有订阅者中;将目标业务消息发送给所有目标订阅者。通过本申请实施例提供的消息处理方法,由于不论订阅者是否处理该目标业务操作消息,流程引擎的节点都会流转;因此,可避免第三方业务系统对流程引擎业务处理效率的影响;提升用户的体验感,也避免了因第三方业务系统引起的流程中断问题。
[0006]第一方面,本申请实施例提供一种消息处理方法,方法应用于流程引擎;该消息处理方法包括:获取订阅者配置信息;其中,订阅者配置信息包括所有订阅者信息;根据订阅者配置信息生成所有订阅者和第一注册表;判断第一注册表中是否存在刷新标识;其中,刷新标识表征订阅者配置信息发生了改变;若不存在刷新标识,则从消息队列中获取目标业务操作消息;其中,目标业务操作消息用于指示流程引擎将目标业务操作消息的内容发送至目标订阅者;根据目标业务操作消息获取对应的所有目标订阅者;从所有订阅者中筛选目标订阅者;并将目标业务操作消息发送给目标订阅者。
[0007]在上述实现过程中,根据订阅者配置信息生成所有订阅者和第一注册表;所有订阅者是流程引擎可以面向的第三方业务系统,第一注册表可以理解为表征订阅者信息的唯一键值,该唯一键值可以表征订阅者配置信息是否发生了变化;通过目标业务操作消息获
得对应的所有目标订阅者;若订阅者配置信息没发生变化,那么将目标业务操作消息发送给目标订阅者。无论订阅者是否处理该目标业务操作信息,流程引擎都会进行节点流转;也就是说,流程引擎的工作进程不受该订阅者是否处理目标业务操作消息的限制,能够提高流程引擎的工作效率。
[0008]可选地,在本申请实施例中,订阅者信息包括消息类型、订阅者名称空间、订阅者类型、订阅者版本号和订阅者程序包路径;根据订阅者配置信息生成所有订阅者和第一注册表包括:获取订阅者配置信息中的订阅者名称空间、订阅者类型和订阅者版本号中的一个或多个信息;根据订阅者名称空间、订阅者类型和订阅者版本号中的一个或多个信息生成第一注册表;根据消息类型、订阅者名称空间、订阅者类型和订阅者程序包路径中的一个或多个信息生成所有订阅者。
[0009]在上述实现过程中,根据订阅者名称空间、订阅者类型和订阅者版本号中的一个或多个信息生成第一注册表;根据消息类型、订阅者名称空间、订阅者类型和订阅者程序包路径中的一个或多个信息生成所有订阅者。可以理解的是,第一注册表可以表征当前订阅者的配置信息;所有订阅者则是当前的流程引擎可以面向的所有第三方系统。也就是说,流程引擎的流程消息处理与向第三方系统发送目标业务操作消息是处于不同的线程中的,互不影响,从而可以避免第三方系统崩溃导致的流程中断。
[0010]可选地,在本申请实施例中,在根据订阅者配置信息生成所有订阅者和第一注册表之后,方法还包括:监听订阅者配置信息的文件更新时间;判断文件更新时间是否发生变化;若文件更新时间发生变化,则判定所述订阅者配置信息发生改变并生成刷新标识。
[0011]在上述实现过程中,实时监听订阅者配置信息的文件更新时间是否发生改变,如果发送了改变,就生成刷新标识。因此,刷新标识是可以反应配置信息是否发生改变的标识。也就是说,在订阅者配置信息的文件更新时间发生改变时,流程引擎会发现该改变并生成刷新标识,使消息处理方式对应改变。
[0012]可选地,在本申请实施例中,在生成刷新标识之后,方法还包括:读取改变后的订阅者配置信息;根据改变后的订阅者配置信息生成第二注册表。
[0013]在上述实现过程中,根据改变后的订阅者配置信息生成第二注册表。本领域技术人员可以将注册表理解为键值,在本申请实施例中以比对键值的方式确定订阅者配置信息是否发生了改变,从而方便快捷地判断了订阅者配置信息的状态。
[0014]可选地,在本申请实施例中,在生成刷新标识之后,方法还包括从第二注册表中的订阅者同步至第一注册表中,并从第一注册表中删除与第二注册表中不一致的订阅者。
[0015]在上述实现过程中,将第二注册表中新的信息同步到第一注册表中;同时,删除第一注册表和第二注册表中不一致的订阅者。从而更新了第一注册表,在后续的处理过程中,继续使用第一注册表作为对比对象。
[0016]可选地,在本申请实施例中,该消息处理方法还包括:若存在刷新标识,则根据变化后的订阅者配置信息生成新订阅者;并将新订阅者纳入所有订阅者,从消息队列中获取目标业务操作消息;根据目标业务操作消息获取对应的所有目标订阅者,从所有订阅者中筛选目标订阅者;并将目标业务操作消息发送给目标订阅者。
[0017]在上述实现过程中,如果存在刷新标识,就根据变化后的订阅者配置信息生成新订阅者;将新订阅者纳入所有订阅者中;将目标业务操作消息发送给所有目标订阅者。从而
实时响应了配置信息的变化,保证了目标业务操作信息顺利发送至订阅者。
[0018]第二方面,一种消息处理方法,方法应用于包括全局排它锁的流程引擎;其中,全局排它锁用于在并行线程处理目标任务时锁定该目标任务;该方法包括:获取订阅者配置信息,并根据订阅者配置信息生成所有订阅者和第一注册表;步骤S1:判断第一注册表中是否存在刷新标识;其中,刷新标识表征订阅者配置信息发生了改变;若存在刷新标识,则根据变化后的配置信息生成新订阅者;将新订阅者纳入所有订阅者;步骤S2:从消息队列中获取目标业务操作消息,并根据目标业务操作消息获取对应的所有目标订阅者;其中,目标业务操作消息用于指示流程引擎将目标业务操作消息的内容发送至目标订阅者;从所有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息处理方法,其特征在于,所述方法应用于流程引擎;所述方法包括:获取订阅者配置信息;其中,所述订阅者配置信息包括所有订阅者信息;根据所述订阅者配置信息生成所有订阅者和第一注册表;判断所述第一注册表中是否存在刷新标识;其中,所述刷新标识表征所述订阅者配置信息发生了改变;若不存在所述刷新标识,则从消息队列中获取目标业务操作消息;其中,所述目标业务操作消息用于指示所述流程引擎将所述目标业务操作消息的内容发送至目标订阅者;根据所述目标业务操作消息获取对应的所有目标订阅者,从所述所有订阅者中筛选所述目标订阅者;并将所述目标业务操作消息发送给所述目标订阅者。2.根据权利要求1所述的方法,其特征在于,其中,所述订阅者信息包括消息类型、订阅者名称空间、订阅者类型、订阅者版本号和订阅者程序包路径;所述根据所述订阅者配置信息生成所有订阅者和第一注册表,包括:获取所述订阅者配置信息中的所述订阅者名称空间、所述订阅者类型和所述订阅者版本号中的一个或多个信息;根据所述订阅者名称空间、所述订阅者类型和所述订阅者版本号中的一个或多个信息生成所述第一注册表;根据所述消息类型、订阅者名称空间、所述订阅者类型和所述订阅者程序包路径中的一个或多个信息生成所述所有订阅者。3.根据权利要求1所述的方法,其特征在于,在所述根据所述订阅者配置信息生成所有订阅者和第一注册表之后,所述方法还包括:监听所述订阅者配置信息的文件更新时间;判断所述文件更新时间是否发生变化;若所述文件更新时间发生变化,则判定所述订阅者配置信息发生改变并生成所述刷新标识。4.根据权利要求3所述的方法,其特征在于,在所述生成所述刷新标识之后,所述方法还包括:读取改变后的所述订阅者配置信息;根据所述改变后的所述订阅者配置信息生成第二注册表。5.根据权利要求4所述的方法,其特征在于,在所述生成所述刷新标识之后,所述方法还包括从所述第二注册表中的订阅者同步至所述第一注册表中,并从所述第一注册表中删除与所述第二注册表中不一致的订阅者。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:若存在所述刷新标识,则根据变化后的订阅者配置信息生成新订阅者,并将所述新订阅者纳入所述所有订阅者;从消息队列中获取目标业务操作消息;根据所述目标业务操作消息获取对应的所有目标订阅者,从所述所有订阅者中筛选所述目标订阅者;并将所述目标业务操作消息发送给所述目标订...

【专利技术属性】
技术研发人员:欧松沈文刘靓
申请(专利权)人:电子科大科园股份有限公司
类型:发明
国别省市:

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

1