[发明专利]一种搜索引擎的扩容方法及搜索服务系统有效
申请号: | 201310178009.7 | 申请日: | 2013-05-14 |
公开(公告)号: | CN104156367B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 柳明 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 解婷婷,栗若木 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 搜索引擎 扩容 方法 搜索 服务 系统 | ||
技术领域
本发明涉及搜索领域,尤其涉及一种搜索引擎的扩容方法及搜索服务系统。
背景技术
对于搜索引擎而言,在线上已运行的搜索服务可能因为规模变化,导致以下2个问题:
(1)承载某Shard(搜索服务索引中的列索引)的若干台机器已经不再适用当前的查询请求量;
(2)单索引规模变大导致搜索性能下降,需要将单索引进一步切分。
要解决上述2个问题就需要提供一种扩容的方案来解决,而这种扩容的实现方案不能影响正常的线上应用,也即是说整个扩容期间对业务方使用搜索服务来说是透明的。
对于数据库,现有技术提供了一种基于一致性Hash的扩容方案。基于一致性Hash的扩容方案在确实能解决数据库数据热点和扩容方面的问题,遇到热点数据,只需要单独给这些数据更多的计算和存储资源。遇到扩容问题,只需要将老节点的数据移动到新节点即可。在数据库应用中采用一致性Hash的扩容较成熟,能有效解决热点问题、解决扩容问题。
但是该扩容方案需要迁移数据为代价,而对于将搜索引擎的数据进行迁移几乎是不可能的,因为搜索引擎的数据都是以倒排表的存储结构,并没有任何功能接口可以将索引中的数据部分倒腾出来然后迁移到一个新的机器节点上,并以新的索引结构存储下来;换句话说是索引并没有通过某种规则变化从而可以进行切分迁移的功能。所以基于一致性Hash的扩容方案在对于搜索引擎的扩容方面并不适合。
申请内容
本申请要解决的技术问题是如何平滑地、对业务方透明地对搜索服务在线扩容。
为了解决上述问题,本申请提供了一种搜索引擎的扩容方法,包括:
为用于扩容的检索节点创建扩容任务;
用于扩容的检索节点领取到扩容任务后,在分布式文件系统上复制最新时间点的全量索引,然后消费所述分布式文件系统中从所述最新时间点开始、到当前时间点为止的所有增量数据;所述全量索引是对全量数据所做的索引;所述全量数据是以全量周期为间隔导入到所述分布式文件系统上的源数据;所述增量数据是以固定时间间隔定时导入到所述分布式文件系统中、以时间快照方式存储的源数据。
进一步地,所述为用于扩容的检索节点创建扩容任务的步骤包括:
当请求量增加,导致当前检索节点无法承载时,创建增加各列索引的副本的扩容任务;所述用于扩容的检索节点为用于承载新增副本的检索节点,个数为列索引的个数与所增加的副本个数的乘积;
当索引规模变大,导致单次请求平均响应变慢时,创建增加列索引的个数的扩容任务;所述用于扩容的检索节点为用于承载新增列索引的检索节点,个数为增加的列索引个数与各列索引副本个数的乘积。
进一步地,所述的方法还包括:
对于全量索引中的各索引行,分别将各索引行的唯一键对于虚拟组的总个数取模,得到各索引行的取模结果;分别将各索引行分入组号等于该索引行的取模结果的虚拟组中;
分别将每个虚拟组的组号对于列索引的总个数取模,得到各虚拟组的取模结果;分别将各虚拟组对应于分片号等于该虚拟组取模结果的列索引;
所述检索节点在分布式文件系统上复制最新时间点的全量索引的步骤包括:
检索节点在分布式文件系统上复制本检索节点所承载的列索引对应的虚拟组中最新时间点的各索引行。
进一步地,所述的方法还包括:
客户端节点周期性从分布式文件系统导入全量数据;
每次导入后,承载列索引的各检索节点中具有控制角色的检索节点消费导入的全量数据,生成全量索引并将该全量索引回流到分布式文件系统;将回流到分布式文件系统上的全量索引复制到本地作为新的全量索引,将索引路径指向所述新的全量索引。
进一步地,所述的方法还包括:
客户端节点启动后连接分布式服务框架系统,判断是否已生成本身所承载的搜索服务的路径;
如果该路径没生成,则客户端节点生成该路径并将自身IP以该路径的数据注册;如果该路径已生成,则判断该路径下的数据是否和自身IP一致,如果一致则该客户端节点获得执行增量、全量数据导入分布式文件系统的权限;如果不一致则监视该路径;
如果获得执行增量、全量数据导入分布式文件系统的权限的客户端节点在预定时间长度内没有任何心跳检查,则所述分布式服务框架系统删除所述路径;所有监视了该路径的客户端节点将触发一次监视者事件;所述监视者事件是指重新生成所述路径并将自身IP以该路径的数据注册。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310178009.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自适应推送日历
- 下一篇:个性化导航页面生成方法及装置