[发明专利]一种基于消息中间件的业务消息处理方法和装置有效
申请号: | 202310111779.3 | 申请日: | 2023-02-09 |
公开(公告)号: | CN116028245B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 侯德才;柳兆飞;史梦洁;詹廷蔚;杨欢;王勇;周庆良 | 申请(专利权)人: | 中国证券登记结算有限责任公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 李召春;杨倩 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 中间件 业务 处理 方法 装置 | ||
1.一种基于消息中间件的业务消息处理方法,其特征在于,应用于执行业务消息处理的有状态应用程序;所述方法包括:
在所述应用程序以单副本模式运行时,通过主节点应用程序从消息中间件中获取多个业务消息,根据所述业务消息的业务类型进行业务处理,并构建处理完成的业务消息的数据状态;其中,所述数据状态指示了处理完成的业务消息对应的第一标注位置和历史处理结果;
将处理完成的业务消息对应的所述数据状态,以事务的形式发送至所述消息中间件中进行存储;
若所述主节点应用程序出现故障,启动备用节点应用程序,并利用所述备用节点应用程序获取处理完成的业务消息对应的数据状态,以确定所述第一标注位置,所述备用节点应用程序重新获取所述业务消息,执行业务处理,并在所述备用节点应用程序中重新构建所述数据状态,并将所述第一标注位置之后的处理完成的业务消息对应的数据状态发送至所述消息中间件中进行存储。
2.根据权利要求1所述的基于消息中间件的业务消息处理方法,其特征在于,若所述应用程序以多副本模式运行,在所述主节点应用程序从所述消息中间件中获取多个业务消息的步骤之后,所述方法还包括:
确定所述多个业务消息组成的业务消息队列中第一个业务消息对应的第二标注位置,根据所述业务消息的类型进行业务处理,将业务处理结果写入消息中间件,并以异步方式构建处理完成的业务消息的数据状态;
对所述第一标注位置和所述第二标注位置进行广播。
3.根据权利要求2所述的基于消息中间件的业务消息处理方法,其特征在于,若所述应用程序以多副本模式运行,所述方法还包括:
在所述主节点应用程序执行业务处理时,其余备用节点应用程序分别执行相应的业务处理,并获取所述主节点应用程序广播的所述第一标注位置和所述第二标注位置,以控制所述备用节点应用程序的处理进度不超过所述主节点应用程序的处理进度。
4.根据权利要求2所述的基于消息中间件的业务消息处理方法,其特征在于,所述第一标注位置和所述第二标注位置以异步的形式进行广播;所述方法还包括:
根据处理完成的业务消息所对应的数量和/或处理时长,确定所述广播的频率。
5.根据权利要求3所述的基于消息中间件的业务消息处理方法,其特征在于,所述控制备用节点应用程序的处理进度不超过所述主节点应用程序的处理进度的步骤,包括:
根据所述广播指示的第一标记位置,全部备用节点应用程序分别从所述消息中间件中获取业务消息进行业务处理,构建处理完成的业务消息的数据状态,并确保所述处理完成的业务消息的标记位置不超过所述广播指示的第一标记位置;其中,所述备用节点应用程序构建的数据状态只进行本地存储。
6.根据权利要求5所述的基于消息中间件的业务消息处理方法,其特征在于,所述方法还包括:
若所述主节点应用程序出现故障,通过ZooKeeper框架从其余备用节点应用程序中选举出目标节点应用程序;
所述目标节点应用程序向所述消息中间件写入指示了目标节点应用程序编号的目标消息;
所述目标节点应用程序从所述消息中间件中获取所述第二标注位置之后的业务消息,并对所述业务消息进行处理,直至获取到所述目标消息,以确定故障发生时,处理完成的业务消息的数据状态。
7.根据权利要求1所述的基于消息中间件的业务消息处理方法,其特征在于,设置业务消息批量获取数量阈值;所述从消息中间件中获取业务消息的步骤包括:
根据所述业务消息批量获取数量阈值,从所述消息中间件中获取相应的业务消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国证券登记结算有限责任公司,未经中国证券登记结算有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310111779.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种模型部署的方法、装置、存储介质及电子设备
- 下一篇:洁净度检测系统