集群检索平台中的自动容灾恢复方法及系统技术方案

技术编号:10408609 阅读:154 留言:0更新日期:2014-09-10 17:56
本发明专利技术公开了集群检索平台中的自动容灾恢复方法及系统,该方法包括:在中心节点中生成各个检索节点的抽象,在所述检索节点的抽象中创建关于该检索节点的第一数据结构,并分别为该检索节点承载的各个副本创建第二数据结构;在第一动态信息数据结构中保存当前机器状态信息,在各个第二数据结构中保存各个副本的当前状态信息;根据当前机器状态信息和/或各个副本的当前状态信息,判断是否存在需要进行恢复的副本;如果存在,则根据当前机器状态信息以及各个副本的当前状态信息,为需要进行恢复的副本选择目标检索节点;由所述目标检索节点根据所述索引文件提供检索服务。通过本发明专利技术,能够在自动容灾恢复过程中,更好地保证系统的稳定性。

【技术实现步骤摘要】
集群检索平台中的自动容灾恢复方法及系统
本申请涉及容灾恢复
,特别是涉及集群检索平台中的自动容灾恢复方法及系统。
技术介绍
对于搜索引擎而言,在索引量和搜索量大到一定程度的时候,索引更新的效率会逐渐降低,并且服务器的压力也会逐渐升高,因此,基本上整个搜索引擎的利用率可以说是越来越低了,由此,分布式检索技术便应运而生了。基于服务器集群的检索系统便是分布式检索技术中的一种,这种系统将检索业务部署到多个节点中。Solr是一个独立的企业级搜索应用解决方案,在Solr的方案中,每个搜索应用会对应一个SolrCore的抽象,可以根据各个检索业务的业务规模合理分配承载SolrCore的机器,并实现M*N的索引模型。在这种M*N的索引模型下,承载同一检索业务的各台机器在逻辑上可以组成一个M*N(M行N列)的矩阵。当在该集群中时创建一个检索业务时,可以根据业务规模等为其选择矩阵的规模(也即,确定出M与N的取值),然后,将检索业务的索引文件按一定的规则切分成N个分片,将各个分片分别部署到矩阵中水平向的各个不同的机器中,同样在此切分规则之下,对数据的访问请求也将按此规则分发到不同的机器中;同时,矩阵中位于同一列上的各个机器可以形成一个副本集,也即同一列的各个机器中保存有相同的索引文件备份,这样可以将来自应用服务器的请求访问(requestvisit)得以均匀的分布在同一列的各台机器上,用以减缓单台服务器在请求负载上的压力。也就是说,对于一个检索业务而言,在M*N的索引模型下,将会存在N个分片,每个分片存在M个副本,通过这种业务的划分以及冗余机制,可以实现负载均衡,同时也可以实现容灾机制,也即,由于同一分片在不同的机器中存在多个副本,因此,如果其中一台机器宕掉,同一列中的其他机器还可以继续提供检索服务。但是,当某个M*N存储的搜索业务中的某个节点出现异常故障,如果M = 2,则可能导致该业务的某列的存活副本节点为1,此时,如果再出现该列的节点宕机,将会出现整个服务不可用情况。另外,当搜索业务接入方对搜索业务稳定性的要求持续增高,基于之前固定机器节点的M*N索引模型来支持7*24小时无故障搜索服务会变的越来越不可靠。首先,机器宕机故障后,只能通过报警通知才知道节点故障,然后人工才会参与去看什么原因导致宕机;其次,如果只是应用层的故障还好,一旦是物理层的机器坏掉,如硬盘、主板坏掉,遇到这种情况,整个服务的恢复时间完全不可控。为了避免上述现象的发生,需要一个监控体系,当发现某个业务节点出现异常后,能及时准确的推选出一个或者多个空闲机器节点,以替换那些出现宕机的机器节点,同时快速对外提供正常的搜索服务。只有这样,整个搜索服务出现问题后能较快的重新恢复到稳定状态,而不需要等待原来宕机的机器修复后才能恢复到稳定状态。目前,有些技术方案中是可以实现自动的容灾恢复,也即,可以自动恢复一个搜索节点替换之前出现问题的检索节点。在这种自动容灾恢复方案中,在发现一个机器宕掉之后,可以从其他的机器节点中随机地选择一台机器作为恢复节点,将该出现问题的节点上的检索工作转移到该恢复节点中,以此实现自动容灾恢复。但是,这种随机选择恢复节点的方式,会影响到系统的整体稳定性,甚至可能会对一个检索业务执行容灾恢复的过程中,对其他的检索业务造成影响。因此,需要一种更可靠的自动容灾恢复机制。
技术实现思路
本申请提供了集群检索平台中的自动容灾恢复方法及系统,能够在自动容灾恢复过程中,更好地保证系统的稳定性。本申请提供了如下方案:一种集群检索平台中的自动容灾恢复方法,所述集群检索平台包括中心节点以及用于提供检索服务的检索节点,所述方法包括:在所述中心节点中生成各个检索节点的抽象,在所述检索节点的抽象中创建关于该检索节点的第一数据结构,并分别为该检索节点承载的各个副本创建第二数据结构;在所述第一动态信息数据结构中保存所述检索节点上传的当前机器状态信息,在各个第二数据结构中保存所述检索节点上传的各个副本的当前状态信息;根据所述当前机器状态信息和/或各个副本的当前状态信息,判断是否存在需要进行恢复的副本;如果存在,则根据所述当前机器状态信息以及各个副本的当前状态信息,为所述需要进行恢复的副本选择目标检索节点;将所述需要进行恢复的副本对应的索引文件拷贝到所述目标检索节点中,由所述目标检索节点根据所述索引文件提供检索服务。一种集群检索平台中的自动容灾恢复系统,所述集群检索平台包括中心节点以及用于提供检索服务的检索节点,所述系统包括:数据结构创建单元,用于在所述中心节点中生成各个检索节点的抽象,在所述检索节点的抽象中创建关于该检索节点的第一数据结构,并分别为该检索节点承载的各个副本创建第二数据结构;信息保存单元,用于在所述第一动态信息数据结构中保存所述检索节点上传的当前机器状态信息,在各个第二数据结构中保存所述检索节点上传的各个副本的当前状态信息;判断单元,用于根据所述当前机器状态信息和/或各个副本的当前状态信息,判断是否存在需要进行恢复的副本;节点选择单元,用于如果存在需要进行恢复的副本,则根据所述当前机器状态信息以及各个副本的当前状态信息,为所述需要进行恢复的副本选择目标检索节点;恢复单元,用于将所述需要进行恢复的副本对应的索引文件拷贝到所述目标检索节点中,由所述目标检索节点根据所述索引文件提供检索服务。根据本申请提供的具体实施例,本申请公开了以下技术效果:通过本申请,可以抽象出一个中心节点CenterNode来掌控搜索平台中所有检索节点上的机器状态,以及各个检索节点上承载的所有业务的副本状态,这样,就可以根据这些状态信息来确定是否存在需要进行恢复的副本,如果存在,还可以根据机器状态信息以及副本的状态信息,来综合选择出最合适的目标检索节点,然后就可以在该节点上对副本进行恢复。可见,在本申请实施例中,在选择用于进行副本恢复的目标检索节点时,可以以各个检索节点的机器状态以及各个检索节点中各个业务副本的状态为依据,而不是进行随机选择,因此,可以在自动容灾恢复过程中,更好地保证系统的稳定性。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。【附图说明】为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的方法的流程图;图2是本申请实施例提供的搜索平台中业务发布过程的流程图;图3是本申请实施例提供的状态信息获取方式的示意图;图4是本申请实施例提供的系统的示意图。【具体实施方式】下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。为了能够提供一个更可靠的自动容灾恢复机制,本申请实施例首先抽象出一个中心节点CenterNode来掌控搜索平台中所有业务的搜索引擎状态,并且通过状态信息分析来决定集群机器的下一步的动作是什么,比如,容灾恢复、组内扩容等。同时,集群本文档来自技高网
...
集群检索平台中的自动容灾恢复方法及系统

【技术保护点】
一种集群检索平台中的自动容灾恢复方法,其特征在于,所述集群检索平台包括中心节点以及用于提供检索服务的检索节点,所述方法包括:在所述中心节点中生成各个检索节点的抽象,在所述检索节点的抽象中创建关于该检索节点的第一数据结构,并分别为该检索节点承载的各个副本创建第二数据结构;在所述第一动态信息数据结构中保存所述检索节点上传的当前机器状态信息,在各个第二数据结构中保存所述检索节点上传的各个副本的当前状态信息;根据所述当前机器状态信息和/或各个副本的当前状态信息,判断是否存在需要进行恢复的副本;如果存在,则根据所述当前机器状态信息以及各个副本的当前状态信息,为所述需要进行恢复的副本选择目标检索节点;将所述需要进行恢复的副本对应的索引文件拷贝到所述目标检索节点中,由所述目标检索节点根据所述索引文件提供检索服务。

【技术特征摘要】
1.一种集群检索平台中的自动容灾恢复方法,其特征在于,所述集群检索平台包括中心节点以及用于提供检索服务的检索节点,所述方法包括: 在所述中心节点中生成各个检索节点的抽象,在所述检索节点的抽象中创建关于该检索节点的第一数据结构,并分别为该检索节点承载的各个副本创建第二数据结构; 在所述第一动态信息数据结构中保存所述检索节点上传的当前机器状态信息,在各个第二数据结构中保存所述检索节点上传的各个副本的当前状态信息; 根据所述当前机器状态信息和/或各个副本的当前状态信息,判断是否存在需要进行恢复的副本; 如果存在,则根据所述当前机器状态信息以及各个副本的当前状态信息,为所述需要进行恢复的副本选择目标检索节点; 将所述需要进行恢复的副本对应的索引文件拷贝到所述目标检索节点中,由所述目标检索节点根据所述索引文件提供检索服务。2.根据权利要求1所述的方法,其特征在于,所述当前机器状态信息中保存有所述检索节点上传所述机器状态信息时的最近更新时间信息,所述根据所述当前机器状态信息和/或各个副本的当前状态信息,判断是否存在需要进行恢复的副本包括: 判断所述最近更新时间是否小于当前时间与预置的安全时间间隔的差值,如果是,则确定所述检索节点发生宕机,并将该检索节点中承载的各个副本均确定为需要进行恢复的副本。3.根据权利要求2所述的方法,其特征在于,在将所述需要进行恢复的副本对应的索引文件拷贝到所述目标检索节点中之前,还包括: 根据各个检索节点上传的各个副本的当前状态信息,查询各个副本的当前存活数量,如果存活数量等于为对应检索业务分配的副本数量,则取消对该检索节点中承载的各个副本的恢复操作。4.根据权利要求1所述的方法,其特征在于,所述根据所述当前机器状态信息和/或各个副本的当前状态信息,判断是否存在需要进行恢复的副本包括: 根据所述各个副本的当前状态信息,判断某正常运行的检索节点中是否存在不正常的副本,如果是,则将该不正常的副本确定为需要进行恢复的副本。5.根据权利要求1所述的方法,其特征在于,所述根据所述当前机器状态信息以及各个副本的当前状态信息,为所述需要进行恢复的副本选择目标检索节点包括: 将标识为不能承载其他检索业务的检索节点、机器负载超出预置阈值的检索节点、以及正在执行副本恢复的检索节点排除; 将剩余的检索节点,从机器状态维度以及副本状态维度进行综合排序,并根据排序结果确定目标检索节点;其中,所述机器状态维度包括磁盘剩余空间、可用内存、...

【专利技术属性】
技术研发人员:柳明
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1