[发明专利]一种分布式版本管理方法、装置和系统在审
申请号: | 202110414611.0 | 申请日: | 2021-04-16 |
公开(公告)号: | CN113076304A | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 赵力 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/23 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 宗磊;赵迪 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 版本 管理 方法 装置 系统 | ||
本发明公开了一种分布式版本管理方法、装置和系统,涉及计算机技术领域。该方法的一具体实施方式包括:从消息队列中获取消息;其中,消息包括当前业务节点的节点标识和局部消息版本;根据节点标识,从内存存储的统一版本信息中截取与节点标识对应的版本字段,得到全局消息版本;其中,统一版本信息包括多个业务节点的消息对应的版本字段,且多个业务节点用于完成同一业务;将局部消息版本与全局消息版本进行比较,如果局部消息版本高于全局消息版本,则更新统一版本信息,将消息写入数据库。该方法通过在分布式架构下引入消息队列,使得可以串行化消费消息,实现了消息版本的去锁化和统一管理,最大程度的降低了数据库压力,提高了并发处理能力。
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式版本管理方法、装置和系统。
背景技术
对于长链路业务,其业务数据通常由多个业务子流程的消息组装得到。由于每个业务子流程具有自己独立的状态,因此业务数据会随着业务子流程的状态变化而更新。其中,长链路业务是指由多个链路串行化相加共同完成的业务,一条链路用于实现该业务的一个业务子流程。
上述长链路业务场景具有消息高并发,需要根据业务子流程的状态变化同步更新数据的特点。为了降低消息高并发所导致的乱序、重复消费消息,保障多个业务子流程的状态更新可以同步更新到业务数据,需要对业务数据进行全流程的版本管理。现有技术在进行版本管理时,通常使用分布式锁和乐观锁实现。
在实现本发明过程中,现有技术中至少存在如下问题:
现有技术的版本管理方式,在并发情况下会出现锁竞争,消耗锁资源,影响系统性能;同时在数据更新时依赖数据库,一次完整的更新过程,包含至少一次数据库查询操作和一次数据库写入操作,数据库压力大。
发明内容
有鉴于此,本发明实施例提供一种分布式版本管理方法、装置和系统,该方法通过在分布式架构下引入消息队列,使得可以串行化消费消息,同时通过统一版本信息记录多个业务节点所生成消息的消息版本,在获取到当前业务节点生成的消息时,先将该消息携带的消息版本与统一版本信息中记录的消息版本进行对比,根据对比结果确定需要更新时,再将消息写入数据库,实现了对多个业务节点的消息版本的去锁化、统一管理,避免了乱序、重复的消费消息,同时实现了一次性访问数据库,最大程度的降低了读写操作对数据库压力。
为实现上述目的,根据本发明实施例的一个方面,提供了一种分布式版本管理方法。
本发明实施例的一种分布式版本管理方法,包括:从消息队列中获取消息;其中,所述消息是当前业务节点执行业务子流程生成的,包括所述当前业务节点的节点标识和局部消息版本;根据所述节点标识,从内存存储的统一版本信息中截取与所述节点标识对应的版本字段,得到全局消息版本;其中,所述统一版本信息包括多个业务节点的消息对应的版本字段,且所述多个业务节点用于完成同一业务;将所述局部消息版本与所述全局消息版本进行比较,如果所述局部消息版本高于所述全局消息版本,则更新所述统一版本信息,将所述消息写入数据库;如果所述局部消息版本低于或等于所述全局消息版本,则删除所述消息。
可选地,所述版本字段为设定步长的二进制数值;所述根据所述节点标识,从内存存储的统一版本信息中截取与所述节点标识对应的版本字段,得到全局消息版本,包括:根据所述节点标识和所述步长,确定所述消息对应的版本字段在统一版本信息中占据的位置;使用位运算,从所述统一版本信息中截取所述位置的二进制数值,将截取的所述二进制数值作为所述全局消息版本。
可选地,所述使用位运算,从所述统一版本信息中截取所述位置的二进制数值,包括:生成二进制字符串;其中,所述二进制字符串的位数与所述统一版本信息的位数相同,且所述二进制字符串中与所述位置对应二进制位的取值为1,其余二进制位的取值为0;将所述统一版本信息与所述二进制字符串进行按位与运算,得到所述位置的二进制数值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110414611.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种测试用例集的生成方法和装置
- 下一篇:一种漂浮式水面固态垃圾自动清理设备