一种索引切换同步方法技术

技术编号:39640979 阅读:7 留言:0更新日期:2023-12-09 11:07
本申请涉及一种索引切换同步方法,在重建新索引后并在切换索引过程中继续将所述待重建索引中更新的第二索引数据信息同步至消息队列,并整合索引切换过程中更新得到的第二索引数据信息的标识,在完成切换索引后,判断若目标重建后索引中更新的第三索引数据信息的标识在整合后的第一集合中,根据获取第三索引数据信息或第二索引数据信息的写锁的同步进程,将第二索引数据信息以及第三索引数据信息写入到目标重建后索引

【技术实现步骤摘要】
一种索引切换同步方法、装置及存储介质


[0001]本专利技术涉及计算机
,特别是涉及一种索引切换同步方法

装置及存储介质


技术介绍

[0002]在互联网系统中,由于对外提供服务的可靠性以及需要从海量的数据中快速的检索数据,通常会采用非关系型数据库对数据进行存储

而在非关系型数据库中,常采用
ElasticSearch(
搜索分析引擎
)
作为对数据行的检索索引,为了保证索引数据与业务系统中的数据的一致性,通常会定期对
ES
索引进行重建来保持索引数据与业务数据的一致

然而在进行了索引重建之后,在进行新旧索引切换时仍然需要暂停消息的消费才能保证索引切换后索引数据与业务数据的一致性,导致无法实现索引重建后对索引切换过程中的更新数据的同步


技术实现思路

[0003]基于此,本专利技术的目的在于,提供一种索引切换同步方法,在不需要暂停索引切换过程中的消费的情况下实现索引切换后的数据一致性,解决了在索引重建后对于新旧索引切换过程中仍然需要暂停消息的消费才能保证数据一致的问题

其具体方案如下:
[0004]第一方面,一种索引切换同步方法,其特征在于:包括:
[0005]在监听到索引重建进程启动时,对待重建索引进行重建得到初始重建后索引,并在得到初始重建后索引的过程中将待重建索引中更新的第一索引数据信息同步至第一消息队列;
[0006]将所述第一消息队列中的所述第一索引数据信息以及业务数据信息写入至所述初始重建后索引中以得到目标重建后索引;所述业务数据信息为商品业务系统中的数据;
[0007]遍历所述第一消息队列,若所述第一消息队列已空,切换索引别名至所述目标重建后索引,并在切换索引别名至所述目标重建后索引的过程中继续将所述待重建索引中更新的第二索引数据信息同步至所述第一消息队列;
[0008]获取所述第二索引数据信息的标识,并将所述第二索引数据信息的标识进行整合得到第一集合信息;所述第一集合信息中包括全部第二索引数据信息的标识;
[0009]在完成切换索引别名至所述目标重建后索引后,若判断目标重建后索引中更新的第三索引数据信息的标识在所述第一集合中,获取所述第三索引数据信息或所述第二索引数据信息的写锁,并根据获取所述第三索引数据信息或所述第二索引数据信息的写锁的同步进程,将所述第二索引数据信息以及第三索引数据信息写入到目标重建后索引

[0010]第二方面,一种索引切换同步装置,其特征在于:所述装置包括:
[0011]第一同步模块,用于在监听到索引重建进程启动时,对待重建索引进行重建得到初始重建后索引,并在得到初始重建后索引的过程中将待重建索引中更新的第一索引数据信息同步至第一消息队列;
[0012]写入模块,用于将所述第一消息队列中的所述第一索引数据信息以及业务数据信息写入至所述初始重建后索引中以得到目标重建后索引;所述业务数据信息为商品业务系统中的数据;
[0013]第二同步模块,用于遍历所述第一消息队列,若所述第一消息队列已空,切换索引别名至所述目标重建后索引,并在切换索引别名至所述目标重建后索引的过程中继续将所述待重建索引中更新的第二索引数据信息同步至所述第一消息队列;
[0014]整合模块,用于获取所述第二索引数据信息的标识,并将所述第二索引数据信息的标识进行整合得到第一集合信息;所述第一集合信息中包括全部第二索引数据信息的标识;
[0015]第三同步模块,用于在完成切换索引别名至所述目标重建后索引后,若判断目标重建后索引中更新的第三索引数据信息的标识在所述第一集合中,获取所述第三索引数据信息或所述第二索引数据信息的写锁,并根据获取所述第三索引数据信息或所述第二索引数据信息的写锁的同步进程,将所述第二索引数据信息以及第三索引数据信息写入到目标重建后索引

[0016]由此可见,本申请提供的索引切换同步方法,设置一个新的消息队列,在监测到索引重建进程启动时,将待重建索引中更新的第一索引数据信息同步至该新的消息队列中,在重建新索引后,遍历所述新的消息队列将所述新的消息队列中的第一索引数据信息消费至新索引中,当读取完毕消息队列中所有更新的数据信息时,切换索引别名至所述目标重建后索引

同时在切换别名至所述目标重建后索引的过程中继续将所述待重建索引中更新的第二索引数据信息同步至上述新的消息队列,即不暂停消息队列中的消费,同时将索引切换过程中更新得到的所述第二索引数据信息的标识进行整合得到第一集合信息;在完成切换索引别名至所述目标重建后索引后,若判断目标重建后索引中更新的第三索引数据信息的标识在所述第一集合中,则获取所述第三索引数据信息或所述第二索引数据信息的写锁,并根据所述第三索引数据信息或所述第二索引数据信息的写锁的同步进程,将所述第二索引数据信息以及第三索引数据信息写入到目标重建后索引

因此,本申请提供的上述方法,在索引重建后进行索引切换时,不需要暂停消息的消费,而是继续更新队列中的索引数据,并在索引完成后通过控制索引数据信息的时间戳和写锁实现将索引切换过程中所更新的全部索引数据同步至目标重建索引中,从而在实现了索引切换过程中继续实时更新索引数据信息,且保证了在索引切换完成后的数据一致性

[0017]为了更清晰的理解本专利技术,以下将结合附图说明阐述本专利技术的具体实施方式

附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中或现有技术中所需要使用的附图做简单地介绍,显而易见地,下面描述的附图仅仅时本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图

[0019]图1为本申请公开的一种索引切换同步方法的流程图;
[0020]图2为本申请公开的一种具体的索引切换同步方法的流程图;
[0021]图3为本申请公开的一种具体的索引切换同步方法的流程图;
[0022]图4为本申请公开的一种具体的索引切换同步方法的流程图;
[0023]图5为本申请公开的一种具体的索引切换同步方法的流程图;
[0024]图6为本申请公开的一种具体的索引切换同步方法的流程图;
[0025]图7为本申请公开的一种具体的索引切换同步方法的流程图;
[0026]图8为本申请公开的一种具体的索引切换同步装置的结构示意图;
[0027]图9为本申请公开的一种计算机设备的结构示意图

具体实施方式
[0028]为使本申请的目的

技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细阐述

[0029]应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例,基于本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种索引切换同步方法,其特征在于:包括:在监听到索引重建进程启动时,对待重建索引进行重建得到初始重建后索引,并在得到初始重建后索引的过程中将待重建索引中更新的第一索引数据信息同步至第一消息队列;将所述第一消息队列中的所述第一索引数据信息以及业务数据信息写入至所述初始重建后索引中以得到目标重建后索引;所述业务数据信息为商品业务系统中的数据;遍历所述第一消息队列,若所述第一消息队列已空,切换索引别名至所述目标重建后索引,并在切换索引别名至所述目标重建后索引的过程中继续将所述待重建索引中更新的第二索引数据信息同步至所述第一消息队列;获取所述第二索引数据信息的标识,并将所述第二索引数据信息的标识进行整合得到第一集合信息;所述第一集合信息中包括全部第二索引数据信息的标识;在完成切换索引别名至所述目标重建后索引后,若判断目标重建后索引中更新的第三索引数据信息的标识在所述第一集合中,获取所述第三索引数据信息或所述第二索引数据信息的写锁,并根据获取所述第三索引数据信息或所述第二索引数据信息的写锁的同步进程,将所述第二索引数据信息以及第三索引数据信息写入到目标重建后索引
。2.
基于权利要求1所述的索引切换同步方法,其特征在于:在监听到索引重建进程启动之前,所述方法还包括:实时获取索引更新数据信息,并将所述索引更新数据信息写入第二消息队列;所述在监听到索引重建进程启动时,对待重建索引进行重建得到初始重建后索引,并在得到初始重建后索引的过程中将待重建索引中更新的第一索引数据信息同步至第一消息队列包括:在监听到索引重建进程启动时,将在得到初始重建后索引的过程中待重建索引中更新的第一索引数据信息写入第二消息队列,并同时将所述第二消息队列中的第一索引数据信息同步写入至第一消息队列
。3.
基于权利要求1所述的索引切换同步方法,其特征在于:所述将所述第一消息队列中的所述第一索引数据信息以及业务数据信息写入至所述初始重建后索引中以得到目标重建后索引包括:在得到所述初始重建后索引之后,遍历商品业务系统中的所有商品信息,并将商品业务系统中的所有业务数据信息批量写入至所述初始重建后索引中;将所述第一消息队列中同步保存的所述第一索引数据信息写入至所述初始重建后索引中得到目标重建后索引,直至所述第一消息队列为空
。4.
基于权利要求1所述的索引切换同步方法,其特征在于:所述获取所述第二索引数据信息的标识,并将所述第二索引数据信息的标识进行整合得到第一集合信息包括:根据所述第二索引数据信息的时间戳对所述第二索引数据信息的标识进行整合;将整合得到的所述第二索引数据信息保存在所述第一集合信息中;其中,所述第一集合信息中保存的所述第二索引数据信息包括所述第二索引数据信息的标识
。5.
基于权利要求4所述的索引切换同步方法,其特征在于:所述在完成切换索引别名至所述目标重建后索引后,若判断目标重建后索引中更新的第三索引数据信息的标识在所述第一集合中,获取所述第三索引数据信息或所述第二索引数据信息的写锁,并根据获取所述第三索引数据信息或所述第二索引数据信息的写锁的同步进程,将所述第二索引数据信
息以及第三索引数据信息...

【专利技术属性】
技术研发人员:谢方敏周峰郭陟林昱榕伍世志
申请(专利权)人:广州方舟信息科技有限公司
类型:发明
国别省市:

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

1