索引切换方法、装置、系统以及索引切换中控装置制造方法及图纸

技术编号:19215765 阅读:23 留言:0更新日期:2018-10-20 06:44
本发明专利技术公开了索引切换方法、装置、系统和索引切换中控装置。所述索引切换方法包括由索引切换中控装置执行的如下步骤:判断出现新索引;向各节点发送下载新索引的相应索引分片的指令;按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令,直到各节点均完成索引切换。本发明专利技术的这种由索引切换中控装置来控制索引切换过程,而搜索服务不需要自己控制索引切换过程的技术方案,由于索引切换控制过程不再占用搜索服务的资源,因此保证了搜索服务的可用性和稳定性。

【技术实现步骤摘要】
索引切换方法、装置、系统以及索引切换中控装置
本专利技术涉及搜索服务
,具体涉及索引切换方法、索引切换中控装置、索引切换装置、分布式搜索系统、计算机可读存储介质和电子设备。
技术介绍
在信息呈爆炸式增长的互联网中,分布式搜索系统能够提供精确、快速的搜索服务。在分布式搜索系统中,由多个节点(Node)组成集群,一个节点即为一个搜索服务实例。一个物理机上可以部署一个节点,也可以部署多个节点,但每个节点都运行在一个隔离的容器或虚拟机中。索引(Index)里的单条记录称为文档(Document),大量的文档组成了一个索引。在分布式搜索系统中,一个索引被分解成多个部分,每个部分称为一个索引分片(Shard),各索引分片分布在不同的节点上,即一个节点上存储一个索引分片。当节点数量大于索引分片数量时,同一个索引分片可以在多个节点中同时存储。在分布式搜索系统中,当进行数据的完全刷新重建时,或者搜索字段属性发生变化时,需要对索引进行切换,即需要用重新创建的新索引替换旧索引,用新索引提供搜索服务。然而,在进行索引切换时如何保证搜索服务的可用性一直是一个问题。目前的分布式搜索系统中,切换索引的动作与搜索服务强耦合,即在不停止搜索服务的情况下由搜索服务本身来完成创建和加载新索引并控制旧索引到新索引的切换过程。因此,索引的切换过程会消耗搜索服务的资源,降低了搜索服务的可用性和稳定性。
技术实现思路
有鉴于此,本专利技术提供了索引切换方法、索引切换中控装置、索引切换装置、索引切换系统、计算机可读存储介质和电子设备,以解决现有的索引切换过程由于消耗搜索服务的资源,进而降低了搜索服务的可用性和稳定性的技术问题。根据本专利技术的第一个方面,提供了一种索引切换方法,适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点,索引被分成多个索引分片,每个节点上保存一个索引分片,该方法包括由索引切换中控装置执行的如下步骤:判断出现新索引;向各节点发送下载新索引的相应索引分片的指令;按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令,直到各节点均完成索引切换。根据本专利技术的第二个方面,还提供了一种索引切换方法,适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点,索引被分成多个索引分片,每个节点上保存一个索引分片,该方法包括由所述节点执行的如下步骤:当接收到下载新索引的相应索引分片的指令时,下载新索引的相应索引分片;当接收到索引切换指令时,从原有的旧索引分片切换到所述新索引的相应索引分片。根据本专利技术的第三个方面,提供了一种索引切换中控装置,适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点,索引被分成多个索引分片,每个节点上保存一个索引分片,该索引切换中控装置包括:新索引判断单元,用于在判断出现新索引时通知索引处理单元;索引切换处理单元,用于在收到新索引判断单元的通知时,向各节点发送下载新索引的相应索引分片的指令;以及用于按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令,直到各节点均完成索引切换。根据本专利技术的第四个方面,提供了一种索引切换装置,适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点,索引被分成多个索引分片,每个节点上保存一个索引分片,该索引切换装置位于所述的节点中,该索引切换装置包括:索引下载单元,用于当接收到下载新索引的相应索引分片的指令时,下载新索引的相应索引分片;索引切换单元,用于当接收到索引切换指令时,从原有的旧索引分片切换到所述新索引的相应索引分片。根据本专利技术的第五个方面,还提供了一种索引切换系统,适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点,索引被分成多个索引分片,每个节点上保存一个索引分片,该索引切换系统包括:第一数据库、第二数据库、如前所述的索引切换中控装置以及如前所述的索引切换装置;第一数据库用于保存新创建的索引,第二数据库用于保存各节点的注册信息和状态信息;所述的索引切换中控装置通过查询第一数据库判断有新索引,以及通过查询第二数据库获取各节点的状态。根据本专利技术的第六个方面,提供了一种电子设备,所述电子设备包括:处理器,以及存储有可在处理器上运行的计算机程序的存储器;其中,所述处理器,用于在执行所述存储器中的计算机程序时执行前述任一项所述的方法。根据本专利技术的七个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述任一项所述的方法。在本专利技术的方案中,由索引切换中控装置执行索引切换的步骤,具体包括:判断出现新索引;向各节点发送下载新索引的相应索引分片的指令;按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令,直到各节点均完成索引切换。如此,这种由索引切换中控装置来控制索引切换过程,而搜索服务不需要自己控制索引切换过程的技术方案,由于索引切换控制过程不再占用搜索服务的资源,因此保证了搜索服务的可用性和稳定性。附图说明图1是本专利技术实施例中的一种索引切换方法的流程图;图2是本专利技术实施例中的分布式搜索系统的组成示意图;图3是本专利技术实施例中的一种索引切换中控装置的结构示意图;图4是本专利技术又一个实施例中的一种索引切换方法的流程图;图5是本专利技术又一个实施例中的一种索引切换装置的结构示意图;图6是本专利技术实施例中的电子设备的结构示意图;图7是本专利技术实施例中的一种计算机可读存储介质的结构示意图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是本专利技术实施例中的一种索引切换方法的流程图。该方法适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点并且该分布式搜索系统的索引被分成多个索引分片,每个节点上保存一个索引分片,并且当节点数量大于索引分片数量时,同一个索引分片可以在多个节点中同时存储。如图1所示,该方法包括由索引切换中控装置执行的如下步骤:步骤S110,判断出现新索引。步骤S120,向各节点发送下载新索引的相应索引分片的指令。步骤S130,按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令,直到各节点均完成索引切换。图1所示方法中的这种由索引切换中控装置来控制索引切换过程,而搜索服务不需要自己控制索引切换过程的技术方案,由于索引切换控制过程不再占用搜索服务的资源,因此保证了搜索服务的可用性和稳定性。在本专利技术的一个实施例中,图1所示方法中所述判断出现新索引包括:通过查询第一数据库判断有新索引;其中,重新创建的新索引被保存在所述第一数据库中。在本专利技术的一个实施例中,图1所示方法还包括:查询第二数据库获取各节点的状态,节点的状态包括:索引开始下载、索引下载完成、索引切换中和正常提供搜索服务。其中,每个节点将自身与所保存的索引分片的对应关系注册到所述第二数据库中,并随时将本节点的状态更新到所述第二数据库中。下面结合图2所示的分布式搜索系统的组成示意图对本专利技术的方法进行说明。图2是本专利技术实施例中的分布式搜索系统的组成示意图。如图2所示,该分布式搜索系统包括:索引切换中控装置本文档来自技高网...

【技术保护点】
1.一种索引切换方法,适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点,索引被分成多个索引分片,每个节点上保存一个索引分片,其特征在于,该方法包括由索引切换中控装置执行的如下步骤:判断出现新索引;向各节点发送下载新索引的相应索引分片的指令;按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令,直到各节点均完成索引切换。

【技术特征摘要】
1.一种索引切换方法,适用于分布式搜索系统,该分布式搜索系统的集群包括多个节点,索引被分成多个索引分片,每个节点上保存一个索引分片,其特征在于,该方法包括由索引切换中控装置执行的如下步骤:判断出现新索引;向各节点发送下载新索引的相应索引分片的指令;按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令,直到各节点均完成索引切换。2.如权利要求1所述的方法,其特征在于,所述判断出现新索引包括:通过查询第一数据库判断有新索引;其中,重新创建的新索引被保存在所述第一数据库中。3.如权利要求1所述的方法,其特征在于,该方法还包括:查询第二数据库获取各节点的状态,节点的状态包括:索引开始下载、索引下载完成、索引切换中和正常提供搜索服务;其中,每个节点将自身与所加载的索引分片的对应关系注册到所述第二数据库中,并随时将本节点的状态更新到所述第二数据库中。4.如权利要求1所述的方法,其特征在于,所述按照一定规则向下载完新索引的相应索引分片的各节点发送索引切换指令包括:在满足预设的最小服务行数的前提下,向下载完新索引的相应索引分片的各节点发送索引切换指令;其中,服务行数是指正常提供搜索服务的节点上的索引分片所组成的完整索引个数。5.如权利要求4所述的方法,其特征在于,当新索引被分成的索引分片数量与旧索引被分成的索引分片数量相同时,所述在满足预设的最小服务行数的前提下,向下载完新索引的相应索引分片的各节点发送索引切换指令包括:轮询下载完新索引的相应索引分片的各节点;对于当前轮询到的一个节点,如果该节点因进行索引切换而不能提供正常服务时,未切换的服务行数和切换完成的服务行数总和大于或等于所述预设的最小服务行数,则向该节点发送索引切换指令。6.如权利要求4所述的方法,其特征在于,当新索引被分成的索引分片数量与旧索引被分成的索引分片数量不同时,所述在满足预设的最小服务行数的前提下,向下载完新索引的相应索引分片的各节点发送索引切换指令包括:确定未被切换的旧索引的索引分片中当前拥有最多节点的一个或多个索引分片,旧索引的该一个或多个索引分片当前分别拥有的各节点组成第一集合;确定已完成切换的新索引的索引分片中当前拥有最少节点的一个或多个索引分片,新索引的该一个或多个索引分片当前分别拥有的各节点组成第二集合;新索引的该一个或多个索引分片对应的所有节点组成第三集合,第二集合在第三集合中的补集为第四集合;取第一集合与第四集合的交集;如果该交集不为空,则选取该交集中的处于索引下载完成状态的一个节点,向该节点发送索引切换指令;如果该交集为空,则从第一集合中选取处于索引下载完成状态的一个节点,向该节点发送索引切换指令。7.如权利要求1所述的方法,其特征在于,该方法进一步包括:获取新索引的各索引分片与各节点的对应关系,并在向各节点发送的所述下载新索引的相应索引分片的指令中携带相应...

【专利技术属性】
技术研发人员:晋欢欢张俊浩项肖华
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京,11

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

1