CN110209910B - 索引切换调度方法及调度装置 - Google Patents

索引切换调度方法及调度装置 Download PDF

Info

Publication number
CN110209910B
CN110209910B CN201910420292.7A CN201910420292A CN110209910B CN 110209910 B CN110209910 B CN 110209910B CN 201910420292 A CN201910420292 A CN 201910420292A CN 110209910 B CN110209910 B CN 110209910B
Authority
CN
China
Prior art keywords
index
index switching
preset
switching task
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910420292.7A
Other languages
English (en)
Other versions
CN110209910A (zh
Inventor
廖刘承
王正阳
明洪涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wireless Life Hangzhou Information Technology Co ltd
Original Assignee
Wireless Life Hangzhou Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wireless Life Hangzhou Information Technology Co ltd filed Critical Wireless Life Hangzhou Information Technology Co ltd
Priority to CN201910420292.7A priority Critical patent/CN110209910B/zh
Publication of CN110209910A publication Critical patent/CN110209910A/zh
Application granted granted Critical
Publication of CN110209910B publication Critical patent/CN110209910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是关于索引切换调度方法和调度装置。该方法包括:向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换。该技术方案可以避免因索引重复切换进而造成浪费时间和搜索装置处理能力,甚至触发系统错误,导致搜索装置丧失搜索功能的情况;还可以在保证搜索服务正常的情况下实现对索引切换效率进行控制。

Description

索引切换调度方法及调度装置
技术领域
本发明涉及网络技术领域,尤其涉及一种索引切换调度方法及调度装置。
背景技术
在电商领域中,搜索引擎至关重要。搜索装置中的数据包含了实时变更的价格、标题等,也包含了需要离线统计的年购买人数、复购率等指标字段。这些数据通常是不断变化的,所以需要定期构建新索引并替换搜索装置中的旧索引,以通过索引的切换进行搜索装置中的数据更新,并且,在索引切换时还需保证搜索服务的正常运行。
然而,现有技术中在进行索引切换时,索引切换效率不可控,而且容易出现搜索服务不可用,以及容易出现因索引重复切换而造成浪费时间和搜索装置处理能力,甚至造成系统错误,导致搜索装置丧失搜索功能的情况。
发明内容
本发明实施例提供索引切换调度方法及调度装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种索引切换调度方法,包括:向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换。
根据本发明实施例的第二方面,提供一种调度装置,包括:注册模块,用于向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;接收模块,用于在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;创建模块,用于根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;执行模块,用于根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换。。
本发明的实施例提供的技术方案可以包括以下有益效果:通过向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换;可以实现单控制器对搜索装置的索引切换进行控制,能避免因多台控制器同时触发一台搜索装置进行索引切换,而使索引重复切换进而造成浪费时间和搜索装置处理能力,甚至触发系统错误,导致搜索装置丧失搜索功能的情况;同时,通过预设策略的使用还可以在保证搜索服务正常的情况下实现对索引切换效率的控制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的索引切换调度方法的流程图。
图2是根据一示例性实施例示出的搜索服务、分片和搜索装置之间的对应关系示意图。
图3是根据一示例性实施例示出的索引切换调度方法的流程图。
图4是根据一示例性实施例示出的索引切换调度方法的流程图。
图5是根据一示例性实施例示出索引切换调度的方法的流程图。
图6是根据一示例性实施例示出的索切换换调度方法的流程图。
图7是根据一示例性实施例示出的索引切换调度方法的流程图。
图8是根据一示例性实施例示出的索引切换调度方法的流程图。
图9是根据一示例性实施例示出索引切换调度的方法的流程图。
图10是根据一示例性实施例示出的调度装置的框图。
图11是根据一示例性实施例示出的调度装置的框图。
图12是根据一示例性实施例示出的调度装置的框图。
图13是根据一示例性实施例示出的调度装置的框图。
图14是根据一示例性实施例示出的调度装置的框图。
图15是根据一示例性实施例示出的调度装置的框图。
图16是根据一示例性实施例示出的调度装置的框图。
图17是根据一示例性实施例示出的调度系统的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种索引切换调度方法的流程图,如图1所示,该索引切换调度方法包括以下步骤101-104:
在步骤101中,向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器。
这里,该索引切换方法可以由控制器来执行,注册信息可以为控制器的标识信息。示例的,服务器为安装有Zookeeper的计算机,可以接收多个控制器发送的标识信息,并从多个标识信息中选择一个标识信息,将该标识信息对应的控制器注册为主控制器(master),使该控制器具有控制索引切换的权限。在一实施例中,控制器可以在开始运行时向服务器发送自身的标识信息,进行master身份的竞争。在另一实施例中,控制器还可以在监听到master死亡后,向服务器发送标识信息,进行master身份的竞争。示例的,服务器可以根据标识信息的接收时间,将最先接收到的标识信息所对应的控制器任命为master。
在步骤102中,在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息。
这里,索引调度请求可以是以预设时间间隔进行接收,例如,每24h会接收到一个索引调度请求。
图2是根据一示例性实施例示出的搜索服务、分片和搜索装置之间的对应关系示意图,如图2所示,一个搜索服务由N个分片(shard)数据组成,所有分片的集合构成一个搜索服务;每个分片包括M个搜索装置(solr引擎),每个搜索装置包括X个索引库(core),每个索引库内存储有多条索引。这里,索引调度请求中包括构建完成的索引所在的索引库(core)名称、存储该索引库的搜索装置的IP信息和存储该索引库的搜索装置所在的分片的标识。
在步骤103中,根据所述索引调度请求,创建与所述分片数量相同的索引切换任务。
这里,根据索引调度请求中的分片标识的个数创建对应数量的索引切换任务,例如,当所述索引调度请求中包括6个不同的分片标识时,创建6个索引切换任务;每个索引切换任务记录有搜索服务的名称、分片标识、索引库名称、时间戳和执行状态,其中,每个索引切换任务在创建完成后默认的执行状态为未执行。示例的,在索引切换任务创建完成后,将所有索引切换任务存储在数据库,以方便对索引切换任务的管理。
在步骤104中,根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换。
这里,预设策略可以由用户预先设置且可由用户进行修改;控制器可以根据预先存储的预设策略对索引切换任务进行管理与执行,以此控制与索引切换任务对应的搜索装置内的索引库内的索引切换,从而在保证搜索服务正常的情况下对索引切换效率进行控制。
本实施例,可以实现单控制器对搜索装置的索引切换进行控制,能避免因多台控制器同时触发一台搜索装置进行索引切换,而使索引重复切换进而造成浪费时间和搜索装置处理能力,甚至触发系统错误,导致搜索装置丧失搜索功能的情况;同时,通过预设策略的使用还可以在保证搜索服务正常的情况下对索引切换效率进行控制。
图3是根据一示例性实施例示出的一种索引切换调度方法的流程图,如图3所示,上述步骤104可以执行为步骤201-204:
在步骤201中,以第一预设时间间隔,从所述索引切换任务中选取预设数量的未执行的索引切换任务,其中,所述预设数量小于或等于预设调度值。
第一预设时间间隔可以为几秒或几十分钟等,本发明对此不做具体限制。示例的,可以根据索引切换任务的状态信息,从数据库选取预设数量的未执行的索引切换任务。这里,可以根据控制器的性能设置预设调度值,预设调度值用于表示该控制器可以同时执行的索引切换任务的最大数量。这里,当控制器在初始执行索引切换任务时,可以直接选取数量小于或等于该预设调度值的索引切换任务;当已存在执行中的索引切换任务时,控制器可以根据执行中的索引切换任务的数量和预设调度值确定所要选取的未执行的索引切换任务的数量,例如,当执行中的索引切换任务数量为2,预设调度值为6时,控制器则从所有未执行的索引切换任务中选择4个索引切换任务。
在步骤202中,确定所述预设数量中每个索引切换任务是否满足执行条件。
这里,根据图2可知,每个索引切换任务对应有一个分片,每个搜索服务对应有多个分片,每个分片包括多个搜索装置,而且,每个分片至少存活一个搜索装置才可使分片正常服务,当一个搜索服务对应的分片都正常服务时,该搜索服务才可正常使用。所以,可以为同一搜索服务设置预设分片值和预设存活数,通过预设分片值和预设存活数来保证索引切换过程中该搜索服务的正常提供与对索引切换效率的有效控制。该预设分片值用于表示一个搜索服务对应的所有分片中,可以同时进行搜索装置内的索引切换的最大分片数,例如,一个搜索服务对应6个分片,该搜索服务的预设分片值为4,则表示在该搜索服务的6个分片中,有4个分片可以同时进行分片内的搜索装置的索引切换。该预设存活数用于表示一个分片所包括的搜索装置中,正常提供服务的搜索装置的最小数量,例如,一个分片内包括3个搜索装置,预设存活值为1,则表示该分片内至少有一个搜索装置提供服务。
这里,在执行索引切换任务之前,控制器可以先确定预设数量中每个索引切换任务对应的分片标识,根据该分片标识获得与该分片标识对应的搜索服务,判断该搜索服务所对应的所有分片标识中,与执行中的索引切换任务所对应的分片个数是否小于或等于预设分片值;以及,确定预设数量中每个索引切换任务对应的分片标识,判断该分片中,存活的搜索装置的数量是否大于预设存活数。当一个索引切换任务的对应搜索服务所对应的所有分片标识中,与执行中的索引切换任务所对应的分片个数小于或等于预设分片值,而且,该索引切换任务所对应的分片标识中存活的搜索装置的数量大于预设存活数时,可确定该索引切换任务满足执行条件,可以被执行。而当一个索引切换任务的对应搜索服务所对应的所有分片标识中,与执行中的索引切换任务所对应的分片个数大于预设分片值,或者,该索引切换任务所对应的分片标识中存活的搜索装置的数量小于或等于预设存活数时,可确定该索引切换任务不符合执行条件。如此,通过设置预设分片值和预设存活数,并根据预设分片值和预设存活数,以及预设调度值进行索引切换任务的执行,可以在保证搜索服务正常的情况下,控制索引切换的效率,从而实现在保证搜索服务正常的情况下对索引切换效率的控制。
在步骤203中,为满足执行条件的每个索引切换任务创建线程。
在步骤204中,根据预设规则向满足执行条件的每个索引切换任务所对应的搜索装置发送索引切换指令,以进行所述索引切换任务的执行;所述索引切换指令包括索引数量和预设数值范围,用于使所述搜索装置对所述索引库内需要切换的索引数量和所述索引数量的数值范围进行校验。
这里,可以预先设置同时进行索引切换的搜索装置的个数,以根据该预设个数同时向对应数量的搜索装置发送索引切换指令,该预设个数可以根据实际需要进行设置,例如,可以设置该预设个数为1,从而控制搜索装置依次进行索引切换,也可以设置为3,从而一次同时控制三个搜索装置进行索引切换,本发明对此不做具体限制。这里,索引调度请求中还包括构建完成的索引数量和预设数值范围,该预设数值范围用于表示构建完成的索引数量的合理数值范围。当控制器根据索引调度请求创建索引切换任务时,将构建完成的索引数量和预设数值范围记录在索引切换任务中,并在执行该索引切换任务时,向对应的搜索装置发送包括索引数量和预设数值范围的索引切换指令,以使搜索装置在下载完新的索引后,判断所下载的索引数量是否与该索引切换指令中的索引数量相同,并判断下载的索引的数量是否在预设数值范围之内,实现对构建完成的索引数据的校验,即实现对索引库内需要切换的索引数量和所述索引数量的数值范围的校验,从而保证搜索装置进行数据更新时的数据准确性,避免因错误数据被更新到搜索装置中而造成搜索结果异常的情况。
本实施例中,通过设置预设分片值和预设存活数,并根据预设分片值和预设存活数,以及预设调度值进行索引切换任务的执行,可以在保证搜索服务正常的情况下,控制索引切换的效率,从而实现在搜索服务正常的情况下索引的高效切换;以及,通过向搜索装置发送包括索引数量和预设数值范围的索引切换指令,可以使搜索装置对需要更新的数据的准确性进行校验,从而保证了搜索装置进行数据更新时的数据准确性,避免因错误数据被更新到搜索装置中而造成搜索结果异常的情况。
图4是根据一示例性实施例示出的一种索引切换调度方法的流程图,如图4所示,在一实施例中,在步骤204之后还可以包括步骤301-303:
在步骤301中,接收所述搜索装置发送的切换结果通知信息。
这里,搜索装置在索引切换完成后,会向控制器返回切换结果通知信息,控制器根据该通知信息可获知该搜索装置是否切换成功。
在步骤302中,根据所述索引切换结果,将对应的搜索装置的切换结果进行记录。
在步骤303中,根据所述索引切换结果,修改对应的索引切换任务的执行状态。
这里,控制器在接收到搜索装置返回的通知信息后,会将该搜索装置对应的切换结果进行记录,并判断该通知信息是否为切换失败的通知信息,并在该通知信息为切换失败的通知信息时,将对应的索引切换任务的状态修改为“错误”;例如,当搜索装置a向控制返回切换失败的通知信息时,控制器会将数据库中所记录的与搜索装置a对应的索引切换任务的状态信息修改为“错误”。
本实施例中,通过接收搜索装置返回的通知信息,并根据该通知信息记录对应搜索装置的切换结果,修改对应索引切换任务的状态,可以实现对索引切换过程和结果的有效记录,便于后续使用。
图5是根据一示例性实施例示出的一种索引切换调度方法的流程图,如图5所示,上述步骤202可以执行为步骤401-404:
在步骤401中,判断每个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量是否小于或等于预设分片值。
在步骤402中,判断每个索引切换任务对应的分片中,存活的搜索装置的数量是否大于第一预设存活数。
在步骤403中,判断每个索引切换任务的第一等待时间是否小于或等于第一预设时间值。
所述第一等待时间是指,从一个索引切换任务的创建时间到开始判断是否控制该索引切换任务所对应的第一批搜索装置进行索引切换的所经过的时间。示例的,当步骤401、402和403顺序执行时,该第一等待时间是指,从一个索引切换任务的创建时间到开始执行步骤401所经过的时间。这里,由于一些索引库内的索引需要频繁切换,若在新的索引已经构建完成后,还执行在新索引已经构建完成之前创建好的索引切换任务,则既无法实现数据的及时更新,还会浪费索引切换时间;例如,索引库A内的索引需要每隔1h进行切换,而当1h后,针对该索引库A的新索引已经构建完成,但之前创建的与索引库A对应的索引切换任务T还未执行,则执行索引切换任务T没有任何意义,无法实现数据的及时更新,还会浪费索引切换时间。因此,可以为索引库预先设置第一预设时间值,比较索引切换任务的第一等待时间与该第一预设时间值的大小关系,根据大小关系确定该索引切换任务是否超时,并将是否超时作为判断是否执行该索引切换任务的因素;例如,当一个索引切换任务的第一等待时间为1.1h,第一预设时间值为1h时,则通过比较可知,该索引切换任务已经超时。这里,由于每个索引切换任务中均携带有时间戳,所以,可以将控制一个索引切换任务所对应的第一批搜索装置进行索引切换的时间,与该索引切换任务的创建时间之间的差值作为第一等待时间。
在步骤404中,在一个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量小于或等于预设分片值,所述索引切换任务对应的分片中,存活的搜索装置的数量大于第一预设存活数,且所述索引切换任务的第一等待时间大于或等于第一预设时间值时,确定所述索引切换任务满足执行条件。
这里,由于判断索引切换任务是否等待超时,可以避免无法及时更新数据和浪费索引切换时间的问题,所以,在根据预设分片值、第一预设存活数和预设调度值进行索引切换任务的执行的基础上再结合第一预设时间值,可以实现在搜索服务正常的情况下索引的及时切换。
本实施例中,根据预设分片值、第一预设存活数、预设调度值和第一预设时间值,进行索引切换任务的执行,可以实现在搜索服务正常的情况下索引的及时切换。
图6是根据一示例性实施例示出的一种索引切换调度方法的流程图,如图6所示,所述方法还包括步骤501-505,所述步骤501-505可以与上述步骤201-204一同执行,也可以在步骤201-204或305-303之后执行。
在步骤501中,以第二预设时间间隔,从所述索引切换任务中选取执行中的索引切换任务。
这里,第二预设时间间隔可以与第一预设时间间隔相同,也可以与第一预设时间间隔不同,本发明对此不做具体限制。这里,所选取的索引切换任务是当前时间所有执行中的索引切换任务。
在步骤502中,判断选取的每个索引切换任务对应的分片中,存活的搜索装置的数量是否小于第二预设存活数。
这里,由于一个索引切换任务对应多个搜索装置,在进行索引切换时,为了保证搜索服务正常,会对多个搜索装置中的预设个数的搜索装置依次进行索引切换,而先切换完成的搜索装置通常会继续提供服务,切换中的搜索装置暂停提供服务;而由于搜索装置自身的问题也可能会导致索引切换完成的搜索装置无法提供服务,以及,当一个分片中存活的搜索装置的数量小于或等于预设存活数时,若继续执行与该分片对应的索引切换任务(即,继续控制该分片内的其他搜索装置的进行索引切换)则会造成该分片无法提供搜索服务,所以,为了确保搜索服务的正常执行,也需要对执行中的索引切换任务对应的分片中存活的搜索装置的数量进行判断。示例的,第二预设存活数与所述第一预设存活数相同。
在步骤503中,判断选取的每个索引切换任务的第二等待时间是否大于或等于第二预设时间值。
这里,第二等待时间是指在一个索引切换任务所对应的多个搜索装置中,当多个搜索装置分批次依次进行索引切换时,从该索引切换任务的创建时间到需要控制该索引切换任务所对应的新一批搜索装置进行索引切换时所经过的时间。例如,索引切换任务a对应搜索装置1、搜索装置2和搜索装置3,搜索装置1、搜索装置2和搜索装置3依次进行索引切换,且索引切换任务a的创建时间为t1,当搜索装置1已完成索引切换(即需要控制搜索装置2进行索引切换),且搜索装置1完成索引切换的时间为t2,或者,当搜索装置2已完成索引切换(即需要控制搜索装置3进行索引切换),且搜索装置2完成索引切换的时间为t3,则索引切换任务a的第二等待时间为t2-t1或t3-t1。这里,由于每一个搜索装置在完成自身索引切换后都会向控制器发送通知信息,且控制器根据该通知信息和切换顺序,控制对应同一索引切换任务的新一批搜索装置进行索引切换;所以,在判断选取的每个索引切换任务的第二等待时间之前,控制器会先判断是否接到了该索引切换任务对应的搜索装置发送的通知信息,并当接收到通知信息且该通知信息表示搜索装置已成功完成索引切换时,将该索引切换任务的创建时间到获得该通知信息所经过的时间作为该索引切换任务的第二等待时间;若未接收到该通知消息,则说明当前无法获得该索引切换任务的等待时间,此时执行步骤504。
这里,由于一个索引切换任务对应多个搜索装置,而且当多个搜索装置进行顺序索引切换时,可能存在当对一个索引切换任务所对应的第一批搜索装置开始进行索引切换时,该索引切换任务的创建时间与开始执行的时间的差值(即上述的第一等待时间)未超过第一预设时间值,但在第一批搜索装置索引切换完成后(即该索引切换任务所对应的第二批搜索装置开始进行索引切换之前),该索引切换任务的创建时间与切换完成的时间的差值已超过第一预设时间值的情况,并且,此种情况会造成上述的新数据无法及时更新和浪费索引切换时间。所以,这里,可以预先设置小于或等于第一预设时间的第二预设时间,并将索引切换任务的第二等待时间与第二预设时间的大小关系,作为判断是否停止执行该索引切换任务的因素。
在步骤504中,判断选取的每个索引切换任务的已执行时间是否大于或等于第三预设时间值。
这里,每个索引切换任务的已执行时间是指在一个索引切换任务对应的多个搜索装置中,当多个搜索装置分批次依次进行索引切换时,从一个搜索装置开始进行索引切换到该搜索装置完成索引切换所经过的时间。继续以上述举例进行说明,当搜索装置1开始进行索引切换的时间为t4,完成索引切换的时间为t5(即需要进行搜索装置2的索引切换)时,索引切换任务a的已执行时间为t5-t4。
这里,通常一个搜索装置的索引库内的索引切换所需时间可以预估,所以,可以将预估的索引切换时间设置为第三预设时间值,通过判断索引切换任务的已执行时间与第三预设时间值的大小,来确定该索引切换任务是否执行超时,从而确定该索引切换任务在执行中是否出现异常。
在步骤505中,在一个索引切换任务的对应的分片中,存活的搜索装置的数量小于预设存活数,或所述第二等待时间大于或等于所述第二预设时间值,或所述已执行时间大于或等于所述第三预设时间值时,停止执行所述索引切换任务。
这里,在一个索引切换任务的对应的分片中,存活的搜索装置的数量大于预设存活数,所述第二等待时间小于第二所述预设时间值,且所述已执行时间小于所述第三预设时间值时,继续执行所述索引切换任务。示例的,在停止执行索引切换任务之后,控制器还可以向关联的设备(例如,用户的手机)发送提示信息,用于提示当前的异常状况。
本实施例可以实现在搜索服务正常的情况下索引的及时切换。
图7是根据一示例性实施例示出的一种索引切换调度方法的流程图,如图7所示,所述方法还包括步骤601-604,步骤601-604可以在步骤201之后执行。
在步骤601中,判断当前是否存在执行中的索引切换任务。
在步骤602中,在当前存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级高于运行中的每个索引切换任务优先级的索引切换任务作为第一索引切换任务。
这里,第一索引切换任务至少包括一个索引切换任务。
在步骤603中,在当前不存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级最高的索引切换任务作为所述第一索引切换任务。
这里,可以为每一个索引库设置优先级,所述优先级用于表示替换对应索引库内的索引的先后顺序。由于每个索引切换任务对应一个索引库,因此,可以根据索引库的优先级信息,判断所选取的预设数量未执行的索引切换任务的执行优先级。示例的,当一个搜索装置内有至少两个索引库需要进行索引切换时,可以为该至少两个索引库设置不同的优先级,例如,当一个搜索装置内有4个索引库时,可以将两个索引库的优先级设置为最先替换,将另外两个索引库的优先级设置为最后替换。如此,可以避免当一个搜索装置内的所有索引库都进行索引切换时会耗尽机器资源,进而导致无法提供正常服务,搜索服务异常的问题。
在步骤604中,所述确定所述预设数量中每个索引切换任务是否满足执行条件,包括:确定所述第一索引切换任务中每个索引切换任务是否满足执行条件。
这里,由于在选取预设数量的未执行的索引切换任务之后,还对该预设数量中的每一个索引切换任务进行了执行顺序的判断,并根据判断结果选择出了第一索引切换任务,所以,在执行该第一索引切换任务时,还需确定该第一索引切换任务中的每个索引切换任务是否满足执行条件。
本实施例中,通过为索引库设置优先级,并根据优先级高低执行对应的索引切换任务,可以避免当一个搜索装置内的所有索引库都进行索引切换时耗尽机器资源,进而导致无法提供正常服务,搜索服务异常的问题。
下面通过实施例详细介绍实现过程。
图8是根据一示例性实施例示出的一种索引切换调度方法的流程图。该方法可以由装置等设备实现,该索引切换调度方法包括步骤701-710。
在步骤701中,向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器。
在步骤702中,在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息。
在步骤703中,根据所述索引调度请求,创建与所述分片数量相同的索引切换任务。
在步骤704中,以第一预设时间间隔,从所述索引切换任务中选取预设数量的未执行的索引切换任务,其中,所述预设数量小于或等于预设调度值。
在步骤705中,判断当前是否存在执行中的索引切换任务。
在步骤706中,在当前存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级高于运行中的每个索引切换任务优先级的第一索引切换任务;在当前不存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级最高的所述第一索引切换任务。
在步骤707中,确定所述第一索引切换任务中每个索引切换任务是否满足执行条件:判断每个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量是否小于或等于预设分片值;判断每个索引切换任务对应的分片中,存活的搜索装置的数量是否大于第一预设存活数;判断每个索引切换任务的第一等待时间是否小于或等于第一预设时间值。
在步骤708中,在一个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量小于或等于预设分片值,所述索引切换任务对应的分片中,存活的搜索装置的数量大于预设存活数,且所述索引切换任务的第一等待时间小于或等于第一预设时间值时,确定所述索引切换任务满足执行条件。
在步骤709中,为满足执行条件的每个索引切换任务创建线程。
在步骤710中,根据预设规则向满足执行条件的每个索引切换任务所对应的搜索装置发送索引切换指令,以进行所述索引创建任务的执行;所述索引切换指令包括索引数量和预设数值范围,用于使所述搜索装置对所述索引库内需要切换的索引数量和所述索引数量的数值范围进行校验。
图9是根据一示例性实施例示出的一种索引切换调度方法的流程图。该方法可以由装置等设备实现,该索引切换调度方法包括步骤801-812。
在步骤801中,向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器。
在步骤802中,在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息。
在步骤803中,根据所述索引调度请求,创建与所述分片数量相同的索引切换任务。
在步骤804中,以第一预设时间间隔,从所述索引切换任务中选取预设数量的未执行的索引切换任务,其中,所述预设数量小于或等于预设调度值。
在步骤805中,确定所述预设数量中每个索引切换任务是否满足执行条件。
在步骤806中,为满足执行条件的每个索引切换任务创建线程。
在步骤807中,根据预设规则向满足执行条件的每个索引切换任务所对应的搜索装置发送索引切换指令,以进行所述索引创建任务的执行;所述索引切换指令包括索引数量和预设数值范围,用于使所述搜索装置对所述索引库内需要切换的索引数量和所述索引数量的数值范围进行校验。
在步骤808中,以第二预设时间间隔,从所述索引切换任务中选取执行中的索引切换任务。
在步骤809中,判断选取的每个索引切换任务对应的分片中,存活的搜索装置的数量是否小于第二预设存活数。
在步骤810中,判断选取的每个索引切换任务的第二等待时间是否大于或等于第二预设时间值。
在步骤811中,判断选取的每个索引切换任务的已执行时间是否大于或等于第三预设时间值。
在步骤812中,在一个索引切换任务的对应的分片中,存活的搜索装置的数量小于预设存活数,或所述第二等待时间大于或等于第二所述预设时间值,或所述已执行时间大于或等于所述第三预设时间值时,停止执行所述索引切换任务。
下述为本发明提供的装置实施例,可以用于执行本发明中上述方法实施例。
图10是根据一示例性实施例示出的一种调度装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图10所示,该调度装置包括:
注册模块901,用于向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;接收模块902,用于在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;创建模块903,用于根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;执行模块904,用于根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换。
作为一种可能的实施例,图11是根据一示例性实施例示出的一种调度装置的框图。如图11所示,上述执行模块904还可以被配置成包括:第一选取子模块9041、第一确定子模块9042、创建子模块9043和通知子模块9044,其中:
第一选取子模块9041,用于以第一预设时间间隔,从所述索引切换任务中选取预设数量的未执行的索引切换任务,其中,所述预设数量小于或等于预设调度值;第一确定子模块9042,用于确定选取的每个索引切换任务是否满足执行条件;创建子模块9043,用于为满足执行条件的每个索引切换任务创建线程;通知子模块9044,用于根据预设规则向满足执行条件的每个索引切换任务所对应的搜索装置发送索引切换指令,以进行所述索引创建任务的执行;所述索引切换指令包括索引数量和预设数值范围,用于使所述搜索装置对需要切换的索引数量和所述索引数量的数值范围进行校验。
作为一种可能的实施例,图12是根据一示例性实施例示出的一种调度装置的框图。如图12所示,如图12所示,调度装置还包括:
消息接收模块905,用于接收所述搜索装置发送的切换结果通知信息;记录模块906,用于根据所述索引切换结果,将对应的搜索装置的切换结果进行记录;状态修改模块907,用于根据所述索引切换结果,修改对应的索引切换任务的执行状态。
作为一种可能的实施例,图13是根据一示例性实施例示出的一种调度装置的框图。如图13所示,上述第一确定子模块9042还可以被配置成包括:第一判断子单元90421、第二判断子单元90422、第三判断子单元90423和第一确定子单元90424,其中:
第一判断子单元90421,用于判断每个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量是否小于或等于预设分片值;第二判断子单元90422,用于判断每个索引切换任务对应的分片中,存活的搜索装置的数量是否大于第一预设存活数;第三判断子单元90423,用于判断每个索引切换任务的第一等待时间是否小于或等于第一预设时间值;第一确定子单元90424,用于在一个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量小于或等于预设分片值,所述索引切换任务对应的分片中,存活的搜索装置的数量大于第一预设存活数,且所述索引切换任务的第一等待时间小于或等于第一预设时间值时,确定所述索引切换任务满足执行条件。
作为一种可能的实施例,图14是根据一示例性实施例示出的一种调度装置的框图。如图14所示,所述执行模块904还可以被配置成包括:第二选取子模块9045、第一判断子模块9046、第二判断子模块9047、第三判断子模块9048和控制子模块9049,其中:
第二选取子模块9045,用于以第二预设时间间隔,从所述索引切换任务中选取执行中的索引切换任务;第一判断子模块9046,用于判断选取的每个索引切换任务对应的分片中,存活的搜索装置的数量是否小于第二预设存活数;第二判断子模块9047,用于判断选取的每个索引切换任务的第二等待时间是否大于或等于第二预设时间值;第三判断子模块9048,用于判断选取的每个索引切换任务的已执行时间是否大于或等于第二预设时间值;控制子模块9049,在一个索引切换任务的对应的分片中,存活的搜索装置的数量小于预设存活数,或所述第二等待时间大于或等于第二所述预设时间值,或所述已执行时间大于或等于所述第三预设时间值时,停止执行所述索引切换任务。
作为一种可能的实施例,图15是根据一示例性实施例示出的一种调度装置的框图。如图15所示,上述执行模块904还可以被配置成包括:第二确定子模块9051、第三选取子模块9052和第四选取子模块9053,其中:
第二确定子模块9051,用于确定当前是否存在执行中的索引切换任务;第三选取子模块9052,用于在当前存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级高于运行中的每个索引切换任务优先级的索引切换任务作为第一索引切换任务;第四选取子模块9053,用于在当前不存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级最高的索引切换任务作为所述第一索引切换任务。
所述第一确定子模块9042,还用于确定所述第一索引切换任务中每个索引切换任务是否满足执行条件。
关于上述实施例中的装置,其中多个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
下述为本发明提供的装置实施例,可以用于执行本发明中上述方法实施例。
图16是根据一示例性实施例示出的一种调度装置的框图,该装置适用于终端设备。例如,装置1600可以是计算机设备。
装置1600可以包括以下一个或多个组件:处理组件1602,存储器1604,电源组件1606,多媒体组件1608,音频组件1610,输入/输出(I/O)的接口1612,传感器组件1614,以及通信组件1616。
处理组件1602通常控制装置1600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1602可以包括一个或多个处理器1620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1602可以包括一个或多个模块,便于处理组件1602和其他组件之间的交互。例如,处理组件1602可以包括多媒体模块,以方便多媒体组件1608和处理组件1602之间的交互。
存储器1604被配置为存储各种类型的数据以支持在装置1600的操作。这些数据的示例包括用于在装置1600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1606为装置1600的各种组件提供电力。电源组件1606可以包括电源管理装置,一个或多个电源,及其他与为装置1600生成、管理和分配电力相关联的组件。
多媒体组件1608包括在所述装置1600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1608包括一个前置摄像头和/或后置摄像头。当装置1600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜装置或具有焦距和光学变焦能力。
音频组件1610被配置为输出和/或输入音频信号。例如,音频组件1610包括一个麦克风(MIC),当装置1600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1604或经由通信组件1616发送。在一些实施例中,音频组件1610还包括一个扬声器,用于输出音频信号。
I/O接口1612为处理组件1602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1614包括一个或多个传感器,用于为装置1600提供多个方面的状态评估。例如,传感器组件1614可以检测到装置1600的打开/关闭状态,组件的相对定位,例如所述组件为装置1600的显示器和小键盘,传感器组件1614还可以检测装置1600或装置1600一个组件的位置改变,用户与装置1600接触的存在或不存在,装置1600方位或加速/减速和装置1600的温度变化。传感器组件1614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1616被配置为便于装置1600和其他设备之间有线或无线方式的通信。装置1600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1616经由广播信道接收来自外部广播管理装置的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1604,上述指令可由装置1600的处理器1620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图17是根据一示例性实施例示出的一种调度系统的框图,如图17所示,所述调度系统包括:
控制子系统,包括至少两个上述的调度装置;
搜索装置集群,包括至少两个搜索装置;
数据库,用于存储所有索引切换任务的信息。
服务器,用于存储每个搜索装置对应的分片的信息,每一个分片对应的搜索服务名称,每个搜索装置的IP标识;还用于根据搜索装置的请求,控制搜索装置的可读节点的上/下线。
搜索装置,用于接收调度装置发送的索引切换指令,根据索引切换指令请求向服务器发送下线自身可读节点的请求,并从预设存储系统中下载索引文档,根据所述索引切换指令中包括的索引文档数量和所述预设数值范围,对下载的索引文档的数量进行校验;在下载的索引文档的数量与所述索引文件数量一致,且下载的索引文档的数量在所述预设数值范围内时,进行索引切换;根据索引切换结果向调度装置返回通知消息,并在索引切换成功时,向服务器发送上线自身可读节点的请求。
本实施例提供了一种计算机可读存储介质,当所述存储介质中的指令由上述装置1600的处理器执行时实现以下步骤:向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换。
本实施例还提供了一种调度装置,包括:处理器;用于存储处理器可执行指令的存储器;处理器被配置为:向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (6)

1.一种索引切换调度方法,其特征在于,所述方法应用于控制器,所述方法包括:
向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;
在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;
根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;
根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换;
所述根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换,包括:
以第一预设时间间隔,从所述索引切换任务中选取预设数量的未执行的索引切换任务,其中,所述预设数量小于或等于预设调度值;
确定所述预设数量中每个索引切换任务是否满足执行条件;
为满足执行条件的每个索引切换任务创建线程;
根据预设规则向满足执行条件的每个索引切换任务所对应的搜索装置发送索引切换指令,以进行所述索引切换任务的执行;所述索引切换指令包括索引数量和预设数值范围,用于使所述搜索装置对所述索引库内需要切换的索引数量和所述索引数量的数值范围进行校验;
每个所述搜索服务对应多个所述分片,每个索引切换任务与一个所述分片对应,每个所述分片包括多个所述搜索装置;所述确定所述预设数量中每个索引切换任务是否满足执行条件,包括:
判断每个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量是否小于或等于预设分片值;
判断每个索引切换任务对应的分片中,存活的搜索装置的数量是否大于第一预设存活数;
判断每个索引切换任务的第一等待时间是否小于或等于第一预设时间值;
在一个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量小于或等于预设分片值,所述索引切换任务对应的分片中,存活的搜索装置的数量大于第一预设存活数,且所述索引切换任务的第一等待时间小于或等于第一预设时间值时,确定所述索引切换任务满足执行条件。
2.如权利要求1所述的索引切换调度方法,其特征在于,所述根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换,还包括:
以第二预设时间间隔,从所述索引切换任务中选取执行中的索引切换任务;
判断选取的每个索引切换任务对应的分片中,存活的搜索装置的数量是否小于第二预设存活数;
判断选取的每个索引切换任务的第二等待时间是否大于或等于第二预设时间值;
判断选取的每个索引切换任务的已执行时间是否大于或等于第三预设时间值;
在一个索引切换任务的对应的分片中,存活的搜索装置的数量小于所述第二预设存活数,或所述第二等待时间大于或等于所述第二预设时间值,或所述已执行时间大于或等于所述第三预设时间值时,停止执行所述索引切换任务。
3.如权利要求1所述的索引切换调度方法,其特征在于,每个索引切换任务还与一个索引库对应,所述方法还包括:
判断当前是否存在执行中的索引切换任务;
在当前存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级高于运行中的每个索引切换任务优先级的索引切换任务作为第一索引切换任务;
在当前不存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级最高的索引切换任务作为所述第一索引切换任务;
所述确定所述预设数量中每个索引切换任务是否满足执行条件,包括:
确定所述第一索引切换任务中每个索引切换任务是否满足执行条件。
4.一种调度装置,其特征在于,包括:
注册模块,用于向服务器发送注册信息,进行身份注册,其中,所述服务器选取多个注册信息中的一个注册信息注册为主控制器;
接收模块,用于在所述身份注册成功后,接收索引调度请求,所述索引调度请求包括搜索服务的分片的信息、索引库和搜索装置的信息;
创建模块,用于根据所述索引调度请求,创建与所述分片数量相同的索引切换任务;
执行模块,用于根据预设策略执行所述索引切换任务,以控制所述搜索装置进行所述索引库内的索引切换;
所述执行模块包括:
第一选取子模块,用于以第一预设时间间隔,从所述索引切换任务中选取预设数量的未执行的索引切换任务,其中,所述预设数量小于或等于预设调度值;
第一确定子模块,用于确定选取的每个索引切换任务是否满足执行条件;
创建子模块,用于为满足执行条件的每个索引切换任务创建线程;
通知子模块,用于根据预设规则向满足执行条件的每个索引切换任务所对应的搜索装置发送索引切换指令,以进行所述索引切换任务的执行;所述索引切换指令包括索引数量和预设数值范围,用于使所述搜索装置对需要切换的索引数量和所述索引数量的数值范围进行校验;
每个所述搜索服务对应多个所述分片,每个索引切换任务与一个所述分片对应,每个所述分片包括多个所述搜索装置,所述第一确定子模块,包括:
第一判断子单元,用于判断每个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量是否小于或等于预设分片值;
第二判断子单元,用于判断每个索引切换任务对应的分片中,存活的搜索装置的数量是否大于第一预设存活数;
第三判断子单元,用于判断每个索引切换任务的第一等待时间是否小于或等于第一预设时间值;
第一确定子单元,用于在一个索引切换任务对应的分片所对应的搜索服务中,与执行中的索引切换任务所对应的分片的总数量小于或等于预设分片值,所述索引切换任务对应的分片中,存活的搜索装置的数量大于第一预设存活数,且所述索引切换任务的等待时间小于或等于第一预设时间值时,确定所述索引切换任务满足执行条件。
5.如权利要求4所述的调度装置,其特征在于,所述执行模块还包括:
第二选取子模块,用于以第二预设时间间隔,从所述索引切换任务中选取执行中的索引切换任务;
第一判断子模块,用于判断选取的每个索引切换任务对应的分片中,存活的搜索装置的数量是否小于第二预设存活数;
第二判断子模块,用于判断选取的每个索引切换任务的第二等待时间是否大于或等于第二预设时间值;
第三判断子模块,用于判断选取的每个索引切换任务的已执行时间是否大于或等于第三预设时间值;
控制子模块,在一个索引切换任务的对应的分片中,存活的搜索装置的数量小于所述预设存活数,或所述第二等待时间大于或等于所述第二预设时间值,或所述已执行时间大于或等于所述第三预设时间值时,停止执行所述索引切换任务。
6.如权利要求4所述的调度装置,其特征在于,每个索引切换任务还与一个索引库对应,所述执行模块还包括:
第二确定子模块,用于确定当前是否存在执行中的索引切换任务;
第三选取子模块,用于在当前存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级高于运行中的每个索引切换任务优先级的索引切换任务作为第一索引切换任务;
第四选取子模块,用于在当前不存在执行中的索引切换任务时,根据所述索引库的预设优先级,从所述预设数量的索引切换任务中,选取优先级最高的索引切换任务作为所述第一索引切换任务;
所述第一确定子模块还用于,确定所述第一索引切换任务中每个索引切换任务是否满足执行条件。
CN201910420292.7A 2019-05-20 2019-05-20 索引切换调度方法及调度装置 Active CN110209910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910420292.7A CN110209910B (zh) 2019-05-20 2019-05-20 索引切换调度方法及调度装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910420292.7A CN110209910B (zh) 2019-05-20 2019-05-20 索引切换调度方法及调度装置

Publications (2)

Publication Number Publication Date
CN110209910A CN110209910A (zh) 2019-09-06
CN110209910B true CN110209910B (zh) 2021-06-04

Family

ID=67787876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910420292.7A Active CN110209910B (zh) 2019-05-20 2019-05-20 索引切换调度方法及调度装置

Country Status (1)

Country Link
CN (1) CN110209910B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031354B (zh) * 2019-12-09 2020-12-01 腾讯科技(深圳)有限公司 一种多媒体播放方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169507A (zh) * 2011-05-26 2011-08-31 厦门雅迅网络股份有限公司 一种分布式实时搜索引擎
CN103118130A (zh) * 2013-02-25 2013-05-22 汉柏科技有限公司 一种用于分布式服务的集群管理方法和系统
CN106936899A (zh) * 2017-02-25 2017-07-07 九次方大数据信息集团有限公司 分布式统计分析系统的配置方法及分布式统计分析系统
CN108681592A (zh) * 2018-05-15 2018-10-19 北京三快在线科技有限公司 索引切换方法、装置、系统以及索引切换中控装置
CN109582758A (zh) * 2018-12-06 2019-04-05 重庆邮电大学 一种Elasticsearch索引分片优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959008B2 (en) * 2011-02-09 2015-02-17 International Business Machines Corporation Method for dynamically switching analyses and for dynamically switching models in circuit simulators

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169507A (zh) * 2011-05-26 2011-08-31 厦门雅迅网络股份有限公司 一种分布式实时搜索引擎
CN103118130A (zh) * 2013-02-25 2013-05-22 汉柏科技有限公司 一种用于分布式服务的集群管理方法和系统
CN106936899A (zh) * 2017-02-25 2017-07-07 九次方大数据信息集团有限公司 分布式统计分析系统的配置方法及分布式统计分析系统
CN108681592A (zh) * 2018-05-15 2018-10-19 北京三快在线科技有限公司 索引切换方法、装置、系统以及索引切换中控装置
CN109582758A (zh) * 2018-12-06 2019-04-05 重庆邮电大学 一种Elasticsearch索引分片优化方法

Also Published As

Publication number Publication date
CN110209910A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110515709B (zh) 任务调度系统、方法、装置、电子设备及存储介质
JP6381664B2 (ja) 機器自動修復方法、装置およびシステム
WO2020192311A1 (zh) 主从服务器切换方法、装置、电子设备及存储介质
CN107370772B (zh) 账号登录方法、装置及计算机可读存储介质
CN112506553B (zh) 服务网格的数据面容器的升级方法、装置及电子设备
CN109314913B (zh) 接入控制限制方法及装置
CN106357721B (zh) 定时方法及装置
CN109918268B (zh) 系统兼容方法、装置、设备和计算机可读存储介质
CN105683917B (zh) 通信装置、通信系统、通信方法和通信程序
CN111641839B (zh) 直播方法、装置、电子设备及存储介质
CN112671897A (zh) 分布式系统的访问方法、装置、存储介质、设备和产品
CN110209910B (zh) 索引切换调度方法及调度装置
CN107885307B (zh) 设备控制方法及装置
CN107463419B (zh) 应用重启方法、装置及计算机可读存储介质
CN107018182B (zh) 负载均衡的容错处理方法及装置
CN107436782B (zh) 应用程序静默安装方法及装置
CN111857763B (zh) 数据处理方法、装置、电子设备及存储介质
CN115904599A (zh) 虚拟资源信息展示方法、装置、电子设备和存储介质
CN116248483A (zh) 一种节点异常熔断方法、装置、电子设备及存储介质
CN113114731B (zh) 任务处理方法、装置、服务器及存储介质
CN113407316A (zh) 服务调度方法、装置、电子设备及存储介质
CN109328471B (zh) 接入控制限制方法及装置
CN112632184A (zh) 数据处理方法、装置、电子设备及存储介质
CN110209511B (zh) 应用之间的跳转方法及装置
CN112068975B (zh) 一种信息处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant