【技术实现步骤摘要】
一种索引切换同步方法、装置及存储介质
[0001]本专利技术涉及计算机
,特别是涉及一种索引切换同步方法
、
装置及存储介质
。
技术介绍
[0002]在互联网系统中,由于对外提供服务的可靠性以及需要从海量的数据中快速的检索数据,通常会采用非关系型数据库对数据进行存储
。
而在非关系型数据库中,常采用
ElasticSearch(
搜索分析引擎
)
作为对数据行的检索索引,为了保证索引数据与业务系统中的数据的一致性,通常会定期对
ES
索引进行重建来保持索引数据与业务数据的一致
。
然而在进行了索引重建之后,在进行新旧索引切换时仍然需要暂停消息的消费才能保证索引切换后索引数据与业务数据的一致性,导致无法实现索引重建后对索引切换过程中的更新数据的同步
。
技术实现思路
[0003]基于此,本专利技术的目的在于,提供一种索引切换同步方法,在不需要暂停索引切换过程中的消费的情况下实现索引切换后的数据一致性,解决了在索引重建后对于新旧索引切换过程中仍然需要暂停消息的消费才能保证数据一致的问题
。
其具体方案如下:
[0004]第一方面,一种索引切换同步方法,其特征在于:包括:
[0005]在监听到索引重建进程启动时,对待重建索引进行重建得到初始重建后索引,并在得到初始重建后索引的过程中将待重建索引中更新的第一索引数据信息同步至第一消息队列;
[0006] ...
【技术保护点】
【技术特征摘要】
1.
一种索引切换同步方法,其特征在于:包括:在监听到索引重建进程启动时,对待重建索引进行重建得到初始重建后索引,并在得到初始重建后索引的过程中将待重建索引中更新的第一索引数据信息同步至第一消息队列;将所述第一消息队列中的所述第一索引数据信息以及业务数据信息写入至所述初始重建后索引中以得到目标重建后索引;所述业务数据信息为商品业务系统中的数据;遍历所述第一消息队列,若所述第一消息队列已空,切换索引别名至所述目标重建后索引,并在切换索引别名至所述目标重建后索引的过程中继续将所述待重建索引中更新的第二索引数据信息同步至所述第一消息队列;获取所述第二索引数据信息的标识,并将所述第二索引数据信息的标识进行整合得到第一集合信息;所述第一集合信息中包括全部第二索引数据信息的标识;在完成切换索引别名至所述目标重建后索引后,若判断目标重建后索引中更新的第三索引数据信息的标识在所述第一集合中,获取所述第三索引数据信息或所述第二索引数据信息的写锁,并根据获取所述第三索引数据信息或所述第二索引数据信息的写锁的同步进程,将所述第二索引数据信息以及第三索引数据信息写入到目标重建后索引
。2.
基于权利要求1所述的索引切换同步方法,其特征在于:在监听到索引重建进程启动之前,所述方法还包括:实时获取索引更新数据信息,并将所述索引更新数据信息写入第二消息队列;所述在监听到索引重建进程启动时,对待重建索引进行重建得到初始重建后索引,并在得到初始重建后索引的过程中将待重建索引中更新的第一索引数据信息同步至第一消息队列包括:在监听到索引重建进程启动时,将在得到初始重建后索引的过程中待重建索引中更新的第一索引数据信息写入第二消息队列,并同时将所述第二消息队列中的第一索引数据信息同步写入至第一消息队列
。3.
基于权利要求1所述的索引切换同步方法,其特征在于:所述将所述第一消息队列中的所述第一索引数据信息以及业务数据信息写入至所述初始重建后索引中以得到目标重建后索引包括:在得到所述初始重建后索引之后,遍历商品业务系统中的所有商品信息,并将商品业务系统中的所有业务数据信息批量写入至所述初始重建后索引中;将所述第一消息队列中同步保存的所述第一索引数据信息写入至所述初始重建后索引中得到目标重建后索引,直至所述第一消息队列为空
。4.
基于权利要求1所述的索引切换同步方法,其特征在于:所述获取所述第二索引数据信息的标识,并将所述第二索引数据信息的标识进行整合得到第一集合信息包括:根据所述第二索引数据信息的时间戳对所述第二索引数据信息的标识进行整合;将整合得到的所述第二索引数据信息保存在所述第一集合信息中;其中,所述第一集合信息中保存的所述第二索引数据信息包括所述第二索引数据信息的标识
。5.
基于权利要求4所述的索引切换同步方法,其特征在于:所述在完成切换索引别名至所述目标重建后索引后,若判断目标重建后索引中更新的第三索引数据信息的标识在所述第一集合中,获取所述第三索引数据信息或所述第二索引数据信息的写锁,并根据获取所述第三索引数据信息或所述第二索引数据信息的写锁的同步进程,将所述第二索引数据信
息以及第三索引数据信息...
【专利技术属性】
技术研发人员:谢方敏,周峰,郭陟,林昱榕,伍世志,
申请(专利权)人:广州方舟信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。