[发明专利]一种队列消息一致性的实现方法、装置、计算系统有效
申请号: | 201811294150.2 | 申请日: | 2018-11-01 |
公开(公告)号: | CN109408203B | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 许广彬;谭瑞忠;濮天晖;王明星 | 申请(专利权)人: | 无锡华云数据技术服务有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/54 |
代理公司: | 苏州友佳知识产权代理事务所(普通合伙) 32351 | 代理人: | 储振 |
地址: | 214000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 队列消息 事务管理模块 计算系统 消息管理模块 业务逻辑模块 消息中间件 事务 设备宕机 事件执行 网络故障 消息管理 心跳机制 不一致 数据源 监听 回滚 调用 投递 外部 申请 进程 管理 | ||
1.一种实现队列消息一致性的装置,其特征在于,包括:业务逻辑模块、事务管理模块及消息管理模块 ;所述业务逻辑模块,请求打开消息中间件的本地事务,并在执行事务前调用事务管理模块开启本地事务,并独立地通过消息管理模块对事务管理模块所开启的所述消息中间件的本地事务所产生的提交事件或回滚事件执行监听,所述事务管理模块与消息管理模块基于心跳机制确保彼此处于同一进程;所述消息管理模块保存并转发所述消息中间件的指定队列中的消息至事务管理模块,并将消息转发执行结果通知事务管理模块,事务管理模块根据所述转发执行结果执行提交事件或回滚事件,消息中间件的本地事务为所述消息中间件上运行的事务;
还包括与消息管理模块连接的消息清理模块;其中,
当所述消息清理模块在事务管理模块与消息管理模块之间处于不同进程的场景、消息管理模块调用消息失败或者调用超时的场景时,对符合上述场景的消息,通过消息清理模块将该消息的索引标识在文件配置表中执行删除标记操作,将所述消息的簇号在文件配置表中的登记项清零,以释放消息管理模块中的消息。
2.根据权利要求1所述的装置,其特征在于,所述消息管理模块根据消息头查找消息中间件的指定队列中的消息的被执行转发结果,所述消息头包含被执行转发的消息所对应的事务id。
3.根据权利要求1所述的装置,其特征在于,所述装置还包括:持久化存储介质,所述事务管理模块与消息管理模块挂载至持久化存储介质,并仅通过消息管理模块向持久化存储介质写入所述消息中间件的指定队列中被执行转发的消息。
4.根据权利要求3所述的装置,其特征在于,所述持久化存储介质选自磁盘、闪存或者非易失性内存;其中,所述非易性内存由支持随机访问的固态存储装置、快闪存储器、相变存储器、强介电体存储器、磁记录式随时写入读出存储器、双向统一存储器、电阻RAM、NVDIMM或者RAMDISK之一构成。
5.根据权利要求1所述的装置,其特征在于,所述消息管理模块与事务管理模块逻辑上彼此独立。
6.根据权利要求4所述的装置,其特征在于,所述NVDIMM包括:若干并列匹配设置且数量相等的NAND(20b)与存储器控制器(10a),以及控制电路(30);所述控制电路(30)包括:设置在所述NAND(20b)和存储器控制器(10a)之间呈级联结构的第一选择器(301)、第二选择器(302)、旁路切换模块(303)以及一仲裁器(304);
存储器控制器(10a)接收各个NAND(20b)的数据访问请求并发送至仲裁器(304),并由仲裁器(304)对各个数据访问请求的优先级顺序进行判断,第一选择器(301)根据优先级的顺序,依次与存储器控制器(10a)建立多个连接通道,并通过第二选择器(302)与多个并列设置的NAND(20b)所建立的正常数据通道(312)进行数据的写入/读取;所述存储器控制器(10a)通过接口总线(305)与系统总线(40)连接,以通过所述系统总线(40)与消息管理模块建立连接。
7.根据权利要求1至6中任一项所述的装置,其特征在于,所述消息管理模块在确认消息转发执行完毕后,将消息转发执行情况与事务管理模块执行同步操作,并由事务管理模块通知业务逻辑模块所述本地事务被执行完毕。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡华云数据技术服务有限公司,未经无锡华云数据技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811294150.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种LMDB扩展方法及装置
- 下一篇:一种分布式任务系统的任务调度方法及装置