一种索引的分片扩容方法及系统技术方案

技术编号:30680417 阅读:24 留言:0更新日期:2021-11-06 09:10
本发明专利技术提供了一种索引的分片扩容方法及系统,所述方法包括获取扩容的指令参数;基于所述指令参数,调用底层索引接口新增索引分片;对分片进行标记,将新数据定向传输至新增的索引分片中,所述新数据为新增索引分片后存储的数据。本发明专利技术的分片扩容操作在增加了索引分片后,对分片进行标记,且对新输入数据的存储进行重定向,使新数据存储在新增分片上,优化ES分片数据的路由流程,使ES的分片路由算法逻辑不再受到固定单一因子(分片数)的限制,可以在原有分片的基础上进行扩容提升,进行扩容ES索引的数据存储容量,改善ES的分片管理方法提高索引管理和数据存储效率。提高索引管理和数据存储效率。提高索引管理和数据存储效率。

【技术实现步骤摘要】
一种索引的分片扩容方法及系统


[0001]本专利技术涉及索引数据存储
,尤其是一种索引的分片扩容方法及系统。

技术介绍

[0002]ES(Elasticsearch,一种分布式全文数据库系统服务)服务器是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎。
[0003]对于ES服务的分片生成规则,其核心在于ES分片数据写入的路由算法。ES索引的分片,在索引创建之初由ES的运行逻辑将用户设定的分片数代入该路由算法,从而生成索引分片,并引导后续的索引数据遵循该路由算法向分片内写入数据。ES分片路由算法的好处是及其简易有效地维护了ES的写入性能,可以准确地定位并均衡分配索引的每条数据,便于维护集群的稳定性和索引的易用性。
[0004]路由算法带来诸多好处的同时也存在极大的限制,因为路由算法以分片数量为算法的核心参数,分片数量一旦改变,ES将失去该索引内最初写入数据的路由值,导致无法再精确地定位到先前的数据,也就导致了索引的primary(ES索引的主分片)分片一旦确定便不能变,更限制了索引的分片扩容。一旦遭遇索引数据量异常增大需要进行分片扩容时,只能进行重新建立索引并迁移数据的操作。

技术实现思路

[0005]本专利技术提供了一种索引的分片扩容方法及系统,用于解决现有分片数据写入的路由算法在索引数据异常增大时,分片扩容操作复杂的问题。
[0006]为实现上述目的,本专利技术采用下述技术方案:
[0007]本专利技术第一方面提供了一种索引的分片扩容方法,所述方法包括以下步骤:
[0008]获取扩容的指令参数;
[0009]基于所述指令参数,调用底层索引接口新增索引分片;
[0010]对分片进行标记,将新数据定向传输至新增的索引分片中,所述新数据为新增索引分片后存储的数据。
[0011]进一步地,所述获取扩容的指令参数之前,还包括步骤:
[0012]监控分片和数据状态,评估数据分布的均衡性,在所述均衡性不符合设定条件时,下发扩容的指令参数。
[0013]进一步地,所述指令参数包括单索引分片数、单分片数据量和索引数据总量。
[0014]进一步地,所述对分片进行标记具体为:
[0015]以分片ID作为当前分片的标记位。
[0016]进一步地,所述将新数据定向传输至新增的索引分片中具体为:
[0017]将所述新数据的原存储ID值与扩容前的分片数相加,得到的数值为当前新数据对应写入的分片标记位。
[0018]进一步地,在所述将新数据定向传输至新增的索引分片中之后,还包括步骤:
[0019]对新数据增加版本标记,以当前新数据所在的分片ID除以当前索引分片数的结果取余数,作为当前新数据的版本标记;
[0020]读取数据时,增加基于所述版本标记的定向查询。
[0021]本专利技术第二方面提供了一种索引的分片扩容系统,所述系统包括:
[0022]信息采集单元,用于获取扩容的指令参数;
[0023]扩容单元;基于所述指令参数,调用底层索引接口新增索引分片;
[0024]扩容处理单元;用于对分片进行标记,将新数据定向传输至新增的索引分片中,所述新数据为新增索引分片后存储的数据。
[0025]进一步地,所述系统还包括与所述信息采集单元连接的监测单元;所述监测单元用于监控分片和数据状态,评估数据分布的均衡性,在所述均衡性不符合设定条件时,下发扩容的指令参数。
[0026]进一步地,所述扩容处理单元包括:
[0027]标记子单元;以分片ID作为当前分片的标记位;
[0028]定向传输子单元,将所述新数据的原存储ID值与扩容前的分片数相加,得到的数值为当前新数据写入分片对应的标记位。
[0029]进一步地,所述系统还包括数据重定向单元,所述数据重定向单元用于对新数据增加版本标记,以当前新数据所在的分片ID除以当前索引分片数的结果取余数,作为当前新数据的版本标记;在获取所述新数据时,增加基于所述版本标记的定向查询。
[0030]本专利技术第二方面所述索引的分片扩容系统能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
[0031]
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
[0032]1、本专利技术的分片扩容操作在增加了索引分片后,对分片进行标记,且对新输入数据的存储进行重定向,使新数据存储在新增分片上,优化ES分片数据的路由流程,使ES的分片路由算法逻辑不再受到固定单一因子(分片数)的限制,可以在原有分片的基础上进行扩容提升,进行扩容ES索引的数据存储容量,改善ES的分片管理方法提高索引管理和数据存储效率。
[0033]2、根据数据读取的定向,可以将ES服务的数据读取逻辑切换至新增的分片路由优化规则,精准定位到新旧分片版本的记录,达到准确查询的目的。
附图说明
[0034]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1是本专利技术所述方法的流程示意图;
[0036]图2是本专利技术所述方法其一实施例的流程示意图;
[0037]图3是本专利技术所述方法另一实施例的流程示意图;
[0038]图4是本专利技术所述系统的结构示意图;
[0039]图5是本专利技术所述系统其一实施例的结构示意图;
[0040]图6是本专利技术所述系统另一实施例的结构示意图。
具体实施方式
[0041]为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本专利技术省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本专利技术。
[0042]如图1所示,本专利技术一种索引的分片扩容方法,包括以下步骤:
[0043]S1,获取扩容的指令参数;
[0044]S2,基于所述指令参数,调用底层索引接口新增索引分片;
[0045]S3,对分片进行标记,将新数据定向传输至新增的索引分片中,所述新数据为新增索引分片后存储的数据。
[0046]步骤S1中的指令参数包括单索引分片数、单分片数据量和索引数据总量。
[0047]其中单索引分片数为一个索引内包含的分片的总数量;但分片数据量为一个分片中存储的数据容量,一般对于索引而言,一个分片的数据在30G左右对于索引检索性能较优;索本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种索引的分片扩容方法,其特征是,所述方法包括以下步骤:获取扩容的指令参数;基于所述指令参数,调用底层索引接口新增索引分片;对分片进行标记,将新数据定向传输至新增的索引分片中,所述新数据为新增索引分片后存储的数据。2.根据权利要求1所述分片扩容方法,其特征是,所述获取扩容的指令参数之前,还包括步骤:监控分片和数据状态,评估数据分布的均衡性,在所述均衡性不符合设定条件时,下发扩容的指令参数。3.根据权利要求1或2所述分片扩容方法,其特征是,所述指令参数包括单索引分片数、单分片数据量和索引数据总量。4.根据权利要求1或2所述分片扩容方法,其特征是,所述对分片进行标记具体为:以分片ID作为当前分片的标记位。5.根据权利要求4所述分片扩容方法,其特征是,所述将新数据定向传输至新增的索引分片中具体为:将所述新数据的原存储ID值与扩容前的分片数相加,得到的数值为当前新数据写入分片对应的标记位。6.根据权利要求4所述分片扩容方法,其特征是,在所述将新数据定向传输至新增的索引分片中之后,还包括步骤:对新数据增加版本标记,以当前新数据所在的分片ID除以当前索引分片数的结果取余数,作为当前新数据的版本标记;读取...

【专利技术属性】
技术研发人员:侯满
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1