一种多集群消息的同步方法、装置、介质及电子设备制造方法及图纸

技术编号:27844709 阅读:18 留言:0更新日期:2021-03-30 12:46
本申请实施例公开了一种多集群消息的同步方法、装置、介质及电子设备。该方法包括:若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;根据所述对象ID,确定更新数据的发送的目标消息队列;对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。通过执行本方案,可以在多集群中进行消息更新的情况下,保持数据的一致性。保持数据的一致性。保持数据的一致性。

【技术实现步骤摘要】
一种多集群消息的同步方法、装置、介质及电子设备


[0001]本申请实施例涉及计算机
,尤其涉及一种多集群消息的同步方法、装置、介质及电子设备。

技术介绍

[0002]随着经济社会的迅速发展,对于一些平台,如货运系统的平台,往往涉及海量货源数据的存储和更新。而平台如果采用的是分布式集群的存储形式,则存储和更新过程的一致性显得尤为重要。因为一旦一致性存在问题,则可能对于已经下架的产品就行更新处理,造成虚假数据的产生,极大的影响平台的运行秩序。因此,一种多集群的情况下,确保存储和更新的过程中的一致性的技术方案亟待产生。

技术实现思路

[0003]本申请实施例提供一种多集群消息的同步方法、装置、介质及电子设备,可以在多集群中进行消息更新的情况下,保持数据的一致性。
[0004]第一方面,本申请实施例提供了一种多集群消息的同步方法,所述方法包括:
[0005]若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;
[0006]根据所述对象ID,确定更新数据的发送的目标消息队列;
[0007]对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。
[0008]进一步的,若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID,包括:
[0009]获取对多个ES集群的数据更新事件的初始消息队列;
[0010]对所述初始消息队列进行有效性校验,得到筛选后的消息,并获取消息的数据生产者的对象ID。
[0011]进一步的,根据所述对象ID,确定更新数据的发送的目标消息队列,包括:
[0012]若所述数据更新事件包括货源上架并更新,则根据所述对象ID确定目标消息队列之后,将所述货源上架消息和货源更新消息放入至同一目标消息队列。
[0013]进一步的,根据所述对象ID确定目标消息队列,包括:
[0014]队列ID=Math.abs(对象ID)%topic对应的队列数量;
[0015]其中,所述Math.abs为对象ID取绝对值,topic为消息种类。
[0016]进一步的,所述顺序消费的规则,包括:按照目标消息队列中消息的写入顺序,进行消费。
[0017]第二方面,本申请实施例提供了一种多集群消息的同步装置,所述装置包括:
[0018]对象ID获取模块,用于若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;
[0019]目标消息队列确定模块,用于根据所述对象ID,确定更新数据的发送的目标消息
队列;
[0020]消费模块,用于对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。
[0021]进一步的,所述对象ID获取模块,包括:
[0022]初始消息队列获取单元,用于获取对多个ES集群的数据更新事件的初始消息队列;
[0023]筛选单元,用于对所述初始消息队列进行有效性校验,得到筛选后的消息,并获取消息的数据生产者的对象ID。
[0024]进一步的,所述目标消息队列确定模块,具体用于:
[0025]若所述数据更新事件包括货源上架并更新,则根据所述对象ID确定目标消息队列之后,将所述货源上架消息和货源更新消息放入至同一目标消息队列。
[0026]第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的多集群消息的同步方法。
[0027]第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的多集群消息的同步方法。
[0028]本申请实施例所提供的技术方案,若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;根据所述对象ID,确定更新数据的发送的目标消息队列;对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。本申请所提供的技术方案,可以在多集群中进行消息更新的情况下,保持数据的一致性。
附图说明
[0029]图1是本申请实施例提供的多集群消息的同步方法的流程图;
[0030]图2是本申请实施例提供的多集群消息的同步过程的示意图;
[0031]图3是本申请实施例提供的多集群消息的同步装置的结构示意图;
[0032]图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0033]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
[0034]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0035]图1是本申请实施例提供的多集群消息的同步方法的流程图,本实施例可适用于海量货源数据多集群存储及更新的情况,该方法可以由本申请实施例所提供的多集群消息
的同步装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于运行此系统的电子设备中。
[0036]本方案针对业务需求的增长的情况下,对于不同的货主、货物运输线路以及发车时间段等需要做出个性的操作,例如个性化的定价策略、搜索展示策略、交易流程等。对于相同的货物信息,不同的模块需要不同的数据视图来实现相应的功能。对于检索排序来说,主要关注的是货源可用于搜索的属性,例如出发地省市区、目的地省市区、车长、车型、货源类型标签等。而所有的货源信息都来自于货源中心的数据同步,在这样的情况下货源信息写入与更新的成功显得尤为重要。以上现有方案,对大数据服务器内部业务执行逻辑及资源分配基本是即时执行和获取,这会与用户的实际使用冲突。
[0037]为了保证搜索数据的效率,将海量数据存储于ElasticSearch集群,由于伴随不断增长的用户搜索流量,逐渐由一套集群扩张为多份相同存储数据的ElasticSearch集群。但是因为引入了多份相同存储数据的ElasticSearch集群,那么数据的存储一致性和查询一致性在不同集群间逐渐暴露了差异性的不同。
[0038]本专利技术致力于提升海量货源数据存储的并发量和货源数据更新的一致性。
[0039]如图1所示,所述多集群消息的同步方法包括:
[0040]S110、若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多集群消息的同步方法,其特征在于,所述方法包括:若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID;根据所述对象ID,确定更新数据的发送的目标消息队列;对所述目标消息队列,控制多个ES集群的消费者组按照顺序消费的规则进行消费;其中,每个ES集群设置有一个消费者组。2.根据权利要求1所述的方法,其特征在于,若监听到对多个ES集群的数据更新事件,获取数据生产者的对象ID,包括:获取对多个ES集群的数据更新事件的初始消息队列;对所述初始消息队列进行有效性校验,得到筛选后的消息,并获取消息的数据生产者的对象ID。3.根据权利要求1所述的方法,其特征在于,根据所述对象ID,确定更新数据的发送的目标消息队列,包括:若所述数据更新事件包括货源上架并更新,则根据所述对象ID确定目标消息队列之后,将所述货源上架消息和货源更新消息放入至同一目标消息队列。4.根据权利要求3所述的方法,其特征在于,根据所述对象ID确定目标消息队列,包括:队列ID=Math.abs(对象ID)%topic对应的队列数量;其中,所述Math.abs为对象ID取绝对值,topic为消息种类。5.根据权利要求1所述的方法,其特征在于,所述顺序消费的规则,包括:按照目标消息队列中消息的写入顺序,进行消费。6.一种多集群消息的同步装置,其特征在于,所述装置...

【专利技术属性】
技术研发人员:徐强
申请(专利权)人:江苏满运物流信息有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1