[发明专利]一种多集群消息的同步方法、装置、介质及电子设备在审
申请号: | 202011454591.1 | 申请日: | 2020-12-10 |
公开(公告)号: | CN112559628A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 徐强 | 申请(专利权)人: | 江苏满运物流信息有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/9535 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 210012 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集群 消息 同步 方法 装置 介质 电子设备 | ||
本申请实施例公开了一种多集群消息的同步方法、装置、介质及电子设备。该方法包括:若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;根据所述对象ID,确定更新数据的发送的目标消息队列;对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。通过执行本方案,可以在多集群中进行消息更新的情况下,保持数据的一致性。
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种多集群消息的同步方法、装置、介质及电子设备。
背景技术
随着经济社会的迅速发展,对于一些平台,如货运系统的平台,往往涉及海量货源数据的存储和更新。而平台如果采用的是分布式集群的存储形式,则存储和更新过程的一致性显得尤为重要。因为一旦一致性存在问题,则可能对于已经下架的产品就行更新处理,造成虚假数据的产生,极大的影响平台的运行秩序。因此,一种多集群的情况下,确保存储和更新的过程中的一致性的技术方案亟待产生。
发明内容
本申请实施例提供一种多集群消息的同步方法、装置、介质及电子设备,可以在多集群中进行消息更新的情况下,保持数据的一致性。
第一方面,本申请实施例提供了一种多集群消息的同步方法,所述方法包括:
若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;
根据所述对象ID,确定更新数据的发送的目标消息队列;
对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。
进一步的,若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID,包括:
获取对多个ES集群的数据更新事件的初始消息队列;
对所述初始消息队列进行有效性校验,得到筛选后的消息,并获取消息的数据生产者的对象ID。
进一步的,根据所述对象ID,确定更新数据的发送的目标消息队列,包括:
若所述数据更新事件包括货源上架并更新,则根据所述对象ID确定目标消息队列之后,将所述货源上架消息和货源更新消息放入至同一目标消息队列。
进一步的,根据所述对象ID确定目标消息队列,包括:
队列ID=Math.abs(对象ID)%topic对应的队列数量;
其中,所述Math.abs为对象ID取绝对值,topic为消息种类。
进一步的,所述顺序消费的规则,包括:按照目标消息队列中消息的写入顺序,进行消费。
第二方面,本申请实施例提供了一种多集群消息的同步装置,所述装置包括:
对象ID获取模块,用于若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;
目标消息队列确定模块,用于根据所述对象ID,确定更新数据的发送的目标消息队列;
消费模块,用于对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。
进一步的,所述对象ID获取模块,包括:
初始消息队列获取单元,用于获取对多个ES集群的数据更新事件的初始消息队列;
筛选单元,用于对所述初始消息队列进行有效性校验,得到筛选后的消息,并获取消息的数据生产者的对象ID。
进一步的,所述目标消息队列确定模块,具体用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏满运物流信息有限公司,未经江苏满运物流信息有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011454591.1/2.html,转载请声明来源钻瓜专利网。