基于多队列的事件时序性保障方法与流程

文档序号:27832040发布日期:2021-12-07 22:32阅读:82来源:国知局
基于多队列的事件时序性保障方法与流程

1.本发明涉及信息数据处理技术领域,具体为基于多队列的事件时序性保障方法。


背景技术:

2.业务处理又称业务员信息系统,提供给基础人员使用的系统,是对业务处理过程进行针对性支持的信息系统,能够为某项工作的完成提供有力的工具支撑。
3.目前普遍存在在一项业务处理流程中,涉及到顺序性的多节点处理,在对节点的事件入库过程中,存在着必然的时序性要求,在没有首条事件入库的情况下,无法实现后续节点处理的过程,不利于对该事件的状态更新操作,从而引发整个业务流程入库的数据缺失和不完整性,故而提出一种基于多队列的事件时序性保障方法以解决上述问题。


技术实现要素:

4.针对现有技术的不足,本发明提供了基于多队列的事件时序性保障方法,该基于多队列的事件时序性保障方法,利用多队列的事件存储,以及利用<k,v>内存库的状态记录方式,保障在业务处理过程中,对首节点数据处理优先性,从而保障了后续节点处理的事件状态能及时和完整的更新,最终实现整个业务处理流程的完整性和时序性。
5.为实现上述目的,本发明提供如下技术方案:基于多队列的事件时序性保障方法,包括以下步骤:
6.s1、业务流程开始,经过第一个实物处理节点,针对处理的事件,先把首节点的事件入库,放入“新增事件节点队列(insert_queue)”;
7.s2、接着事务的处理根据线性条件,分别经过了中间节点

01、中间节点

02和中间节点

n,最后经过总结节点;
8.s3、把所有需要做update的事务,放入“更新事件状态队列(update_queue)”;
9.s4、在后续的队列消费处理中,针对步骤s1中insert_queue处理,由“新增事件处理”模块进行数据监听消费处理;
10.s5、针对步骤s3中update_queue处理,由“更新事件处理”模块进行处理;
11.s6、队列由“更新事件处理”模块进行监听消费,如此反复,直到所有的事务全部处理完成。
12.进一步,所述第一个实物处理节点为起始节点

start,该节点作为整个业务流程事务处理的首节点,所述总结节点为终结节点

end。
13.进一步,所述“新增事件处理”模块包括两个事务:
14.(1)将首节点事件,新增到数据库中;
15.(2)将该事件的状态放入<k,v>内存库中,其主键为事件的唯一标识。
16.进一步,所述“更新事件处理”模块的处理流程为:
17.(1)监听消费update_queue中的事件;
18.(2)根据事件的唯一标识,在<k,v>内存库中匹配其当前状态。
19.进一步,所述匹配机制为:
20.(1)如果状态为首节点已入库,则进行更新事件的操作;
21.(2)如果首节点状态为空,则将该事件放入到“临时待更新事件队列(temp_queue)”中。
22.与现有技术相比,本技术的技术方案具备以下有益效果:
23.该基于多队列的事件时序性保障方法,运用多队列分开存储不同操作事件的数据内容,且运用<k,v>内存库存储事件的初始状态,根据事件的性质不同,分开存储,同时针对事件的处理采用了新增事件的优先保障机制,杜绝事件周期的不完整性,以及时序的错乱性,实现了业务多节点处理过程中的时序的完整性保障,为事件时序性的提供了有效的控制手段。
附图说明
24.图1为本发明业务流程设计示意图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.本发明中的基于多队列的事件时序性保障方法,利用多队列的事件存储,以及利用<k,v>内存库的状态记录方式,保障在业务处理过程中,对首节点数据处理优先性,从而保障了后续节点处理的事件状态能及时和完整的更新,最终实现整个业务处理流程的完整性和时序性。
27.请参阅图1,随着业务流程开始,经过第一个实物处理节点,所述第一个实物处理节点为起始节点

start,该节点作为整个业务流程事务处理的首节点,针对处理的事件,需要insert到数据库中,在此先把首节点的事件入库,放入“新增事件节点队列(insert_queue)”,接着事务的处理根据线性条件,分别经过了中间节点

01、中间节点

02和中间节点

n,最后经过总结节点,所述总结节点为终结节点

end。
28.其中,在中间节点和总结节点事务处理后的事件需要update数据库中的业务状态,在此把所有需要做update的事务,放入“更新事件状态队列(update_queue)”。
29.而在后续的队列消费处理中,分别针对insert_queue和update_queue进行处理。
30.其中,针对insert_queue的处理,由“新增事件处理”模块进行数据监听消费处理,该模块主要做两个事务:
31.(1)将首节点事件,新增到数据库中;
32.(2)将该事件的状态放入<k,v>内存库中,其主键为事件的唯一标识。
33.而针对update_queue的处理,由“更新事件处理”模块进行,该模块的处理流程为:
34.(1)监听消费update_queue中的事件;
35.(2)根据事件的唯一标识,在<k,v>内存库中匹配其当前状态。
36.在<k,v>内存库中匹配其当前状态时根据以下规则:
37.(1)如果状态为首节点已入库,则进行更新事件的操作;
38.(2)如果首节点状态为空,则将该事件放入到“临时待更新事件队列(temp_queue)”中。
39.然后,队列已然由“更新事件处理”模块进行监听消费,如此反复,直到所有的事务全部处理完成。
40.本发明充分利用了多队列的数据存储,根据事件的性质不同,分开存储,同时针对事件的处理采用了新增事件的优先保障机制,杜绝事件周期的不完整性,以及时序的错乱性,实现了业务多节点处理过程中的时序的完整性保障,为事件时序性的提供了有效的控制手段。
41.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
42.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1