[发明专利]实现数据一致性的方法、系统、终端及计算机可读存储介质在审
| 申请号: | 201710290915.4 | 申请日: | 2017-04-28 |
| 公开(公告)号: | CN107133302A | 公开(公告)日: | 2017-09-05 |
| 发明(设计)人: | 郑秋燕 | 申请(专利权)人: | 努比亚技术有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 广东广和律师事务所44298 | 代理人: | 章小燕 |
| 地址: | 518000 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 实现 数据一致性 方法 系统 终端 计算机 可读 存储 介质 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种实现数据一致性的方法、系统、终端及计算机可读存储介质。
背景技术
我们知道,消息中间件适用于需要可靠的数据传送的分布式环境。采用消息中间件机制的系统中,不同的对象之间通过传递消息来激活对方的事件,完成相应的操作。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。消息中间件能在不同平台之间通信,它常被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同,其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。
一般系统中,都存在这样一种场景,某一条数据既要保存至数据库中,又要保存至缓存中。一般的情况就是要不先写入数据库,后写入缓存中,或者先写入缓存在写入数据库中。此时,如果其中有一个步骤不成功或者出现问题,就会导致缓存和数据库中的数据不一致,这是不可接受的。
发明内容
本发明的主要目的在于提出一种实现数据一致性的方法、系统、终端及计算机可读存储介质,其可确保每一业务流程最终执行成功,进而使得流程数据最终保持一致性。
为实现上述目的,本发明提供的一种实现数据一致性的方法,所述方法包括以下步骤:部署消息中间件,所述消息中间件设置有主队列及失败队列;每一业务流程执行前,先向所述主队列中发送一条记录信息,以记录将要执行的业务流程;每一业务流程执行后,所述主队列将执行失败的业务流程的相关记录信息转移给所述失败队列;处理所述失败队列时,根据所述相关记录信息重新执行相应的业务流程。
优选地,所述步骤“每一业务流程执行后,所述主队列将执行失败的业务流程的相关记录信息转移给所述失败队列”具体包括:当所述业务流程的每一执行步骤均执行成功时,所述主队列删除相关记录信息,或在相关记录信息上标记该业务流程已处理完成。
优选地,所述步骤“每一业务流程执行后,所述主队列将执行失败的业务流程的相关记录信息转移给所述失败队列”具体还包括:当所述业务流程的任一执行步骤执行失败时,所述主队列将相关记录信息发送给所述失败队列后,再进行相关记录信息删除。
优选地,所述步骤“处理所述失败队列时,根据所述相关记录信息重新开始执行相应的业务流程”具体包括:处理所述失败队列时,先删除所述相关记录信息相应的业务流程可能已经执行过的步骤,再重新开始执行相应的业务流程,或根据所述相关记录信息直接重新开始执行相应的业务流程,以进行数据覆盖写入。
此外,为实现上述目的,本发明还提出一种实现数据一致性的系统,所述系统包括:消息中间件部署模块,用于进行消息中间件的部署,所述消息中间件设置有主队列及失败队列;业务流程预处理模块,用于每一业务流程执行前,向所述主队列中发送一条记录信息,以记录将要执行的业务流程;业务流程执行模块,用于执行所述业务流程的每一执行步骤,并在每一所述业务流程执行后,将执行失败的业务流程的相关记录信息从所述主队列转移到所述失败队列;失败队列处理模块,用于处理所述失败队列,以根据所述相关记录信息重新开始执行相应的业务流程。
优选地,所述业务流程执行模块包括执行成功记录单元,用于当所述业务流程的每一执行步骤均执行成功时,在所述主队列上删除相关记录信息,或在所述主队列的相关记录信息上标记该业务流程已处理完成。
优选地,所述业务流程执行模块包括执行失败记录单元,用于当所述业务流程的任一执行步骤执行失败,将相关记录信息从所述主队列转移给所述失败队列,并在所述主队列上删除相关记录信息。
优选地,所述失败队列处理模块处理处理所述失败队列时,先删除所述相关记录信息相应的业务流程可能已经执行过的执行步骤,再重新开始执行相应的业务流程,或根据所述相关记录信息直接重新开始执行相应的业务流程,以进行数据覆盖写入。
此外,为实现上述目的,本发明还提出一种终端,所述终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1-4任一所述的方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求上述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710290915.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:概率的预测方法及装置
- 下一篇:用于输出信息的方法和装置





