预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN116028245A(43)申请公布日2023.04.28(21)申请号202310111779.3(22)申请日2023.02.09(71)申请人中国证券登记结算有限责任公司地址100033北京市西城区太平桥大街17号(72)发明人侯德才柳兆飞史梦洁詹廷蔚杨欢王勇周庆良(74)专利代理机构中原信达知识产权代理有限责任公司11219专利代理师李召春杨倩(51)Int.Cl.G06F9/54(2006.01)权利要求书3页说明书13页附图2页(54)发明名称一种基于消息中间件的业务消息处理方法和装置(57)摘要本发明公开了一种基于消息中间件的业务消息处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:在应用程序以单副本模式运行时,通过主节点应用程序从消息中间件中获取多个业务消息进行业务处理,并构建处理完成的业务消息的数据状态;将数据状态以事务的形式发送至消息中间件存储;若主节点应用程序出现故障,启动备用节点应用程序,并获取数据状态以确定第一标注位置,备用节点应用程序重新获取业务消息执行业务处理,并在备用节点应用程序中重新构建数据状态,并将第一标注位置之后的处理完成的业务消息对应的数据状态发送至消息中间件中进行存储。该实施方式保证了不重不丢地处理业务消息,提高了业务消息处理的精确率和效率。CN116028245ACN116028245A权利要求书1/3页1.一种基于消息中间件的业务消息处理方法,其特征在于,应用于执行业务消息处理的有状态应用程序;所述方法包括:在所述应用程序以单副本模式运行时,通过主节点应用程序从消息中间件中获取多个业务消息,根据所述业务消息的业务类型进行业务处理,并构建处理完成的业务消息的数据状态;其中,所述数据状态指示了处理完成的业务消息对应的第一标注位置和历史处理结果;将处理完成的业务消息对应的所述数据状态,以事务的形式发送至所述消息中间件中进行存储;若所述主节点应用程序出现故障,启动备用节点应用程序,并利用所述备用节点应用程序获取处理完成的业务消息对应的数据状态,以确定所述第一标注位置,所述备用节点应用程序重新获取所述业务消息,执行业务处理,并在所述备用节点应用程序中重新构建所述数据状态,并将所述第一标注位置之后的处理完成的业务消息对应的数据状态发送至所述消息中间件中进行存储。2.根据权利要求1所述的基于消息中间件的业务消息处理方法,其特征在于,若所述应用程序以多副本模式运行,在所述主节点应用程序从所述消息中间件中获取多个业务消息的步骤之后,所述方法还包括:确定所述多个业务消息组成的业务消息队列中第一个业务消息对应的第二标注位置,根据所述业务消息的类型进行业务处理,将业务处理结果写入消息中间件,并以异步方式构建处理完成的业务消息的数据状态;对所述第一标注位置和所述第二标注位置进行广播。3.根据权利要求2所述的基于消息中间件的业务消息处理方法,其特征在于,若所述应用程序以多副本模式运行,所述方法还包括:在所述主节点应用程序执行业务处理时,其余备用节点应用程序分别执行相应的业务处理,并获取所述主节点应用程序广播的所述第一标注位置和所述第二标注位置,以控制所述备用节点应用程序的处理进度不超过所述主节点应用程序的处理进度。4.根据权利要求2所述的基于消息中间件的业务消息处理方法,其特征在于,所述第一标注位置和所述第二标注位置以异步的形式进行广播;所述方法还包括:根据处理完成的业务消息所对应的数量和/或处理时长,确定所述广播的频率。5.根据权利要求3所述的基于消息中间件的业务消息处理方法,其特征在于,所述控制备用节点应用程序的处理进度不超过所述主节点应用程序的处理进度的步骤,包括:根据所述广播指示的第一标记位置,全部备用节点应用程序分别从所述消息中间件中获取业务消息进行业务处理,构建处理完成的业务消息的数据状态,并确保所述处理完成的业务消息的标记位置不超过所述广播指示的第一标记位置;其中,所述备用节点应用程序构建的数据状态只进行本地存储。6.根据权利要求5所述的基于消息中间件的业务消息处理方法,其特征在于,所述方法还包括:若所述主节点应用程序出现故障,通过ZooKeeper框架从其余备用节点应用程序中选举出目标节点应用程序;所述目标节点应用程序向所述消息中间件写入指示了目标节点应用程序编号的目标2CN116028245A权利要求书2/3页消息;所述目标节点应用程序从所述消息中间件中获取所述第二标注位置之后的业务消息,并对所述业务消息进行处理,直至获取到所述目标消息,以确定故障发生时,处理完成的业务消息的数据状态。7.根据权利要求1所述的基于消息中间件的业务消息处理方法,其特征在于,设置业务消息批量获取数量阈值;所述从消息中间件中获取业务消息的