CN107302444A - 企业级搜索应用服务器集群自动扩容方法及装置 - Google Patents

企业级搜索应用服务器集群自动扩容方法及装置 Download PDF

Info

Publication number
CN107302444A
CN107302444A CN201610234871.9A CN201610234871A CN107302444A CN 107302444 A CN107302444 A CN 107302444A CN 201610234871 A CN201610234871 A CN 201610234871A CN 107302444 A CN107302444 A CN 107302444A
Authority
CN
China
Prior art keywords
section
copy
cutting
node
enterprise
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.)
Granted
Application number
CN201610234871.9A
Other languages
English (en)
Other versions
CN107302444B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610234871.9A priority Critical patent/CN107302444B/zh
Priority to PCT/CN2017/077557 priority patent/WO2017177800A1/zh
Publication of CN107302444A publication Critical patent/CN107302444A/zh
Application granted granted Critical
Publication of CN107302444B publication Critical patent/CN107302444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

本发明公开了一种企业级搜索应用服务器集群自动扩容方法及系统,通过获取企业级搜索应用服务器集群中原节点的数目、每个切片旳副本的数目,以及扩容后新增节点的数目,确定出原切片的副本的第一参数和目标切片的第二参数,据此对原切片的副本进行切分,再合并为目标切片,从而实现了企业级搜索应用服务器集群的扩容;节省了手动操作的时间的同时,提高了扩容的准确率和效率。

Description

企业级搜索应用服务器集群自动扩容方法及装置
技术领域
本发明涉及分布式搜索引擎领域,尤其涉及一种企业级搜索应用服务器集群自动扩容方法及装置。
背景技术
Solr(Searching on lucene w/Replication,企业级搜索应用服务器)是一个独立的企业级搜索应用服务器,它对外提供类似Web-service的API接口(Application Programming Interface,应用程序编程接口)。用户可以通过http(HyperText Transfer Protocol,超文本传输协议)请求,向搜索引擎服务器提交一定格式的XML(Extensible Markup Language,可扩展标记语言)文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
随着索引数量越来越大,搜索响应时间则会变得越来越长,索引新内容的速度也会越来越慢,这对检索是大大不利的,因此,需要对Solr集群进行扩容。
而目前扩容的方法仅仅是根据当前集群的切片及副本情况进行手动切分、合并目标索引数据,由于是手动切分,其操作步骤十分零散且复杂,而且切分所需要确定的切片的切分次数和切分大小等参数手动切分的准切度十分低,因此现有技术中并无一种普适性的可靠的扩容系统。
发明内容
本发明提供了一种Solr集群自动扩容方法及装置,解决了现有技术中由于手动操作过多而导致扩容复杂度高且易出错、效率低下的问题。
为了解决上述技术问题,本发明提供了一种Solr集群自动扩容方法,包括:
获取Solr集群中原节点的数目、每个切片的副本的数目,以及所述Solr集群扩容后新增节点的数目;
根据所述原节点的数目以及每个切片旳副本的数目,确定需要切分的各个原切片的副本的第一参数;
根据所述原节点的数目、新增节点的数目以及每个切片旳副本的数目,确定各个目的切片的第二参数;
根据所述第一参数和第二参数,对所述需要切分的各个原切片的副本进行切分,得到现切片;
根据所述第二参数对所述现切片进行相应的合并,得到目的切片。
进一步的,所述第一参数包括需要切分的各个原切片的副本在哈希环内所处的范围;所述根据所述原节点的数目以及每个切片旳副本的数目,确定需要切分的原切片的副本的第一参数包括:根据所述原节点的数目以及每个切片旳副本的数目,确定需要切分的原切片的副本的数目;根据所述需要切分的原切片的副本的数目,确定需要切分的原切片的副本在哈希环内所处的范围;其中,各个原切片的副本在所述哈希环内所处的范围的大小相等。
进一步的,所述根据原节点的数目以及副本的数目,确定需要切分的原切片的副本包括:从所有原切片的副本中,选出每个在哈希环内所处的范围不同的原切片的一个副本作为需要切分的原切片的副本。
进一步的,所述第二参数包括:各个目的切片在哈希环内所处的范围;所述根据原节点的数目、新增节点的数目以及副本的数目,确定各个目的切片的第二参数包括:根据原节点的数目、新增节点的数目,确定目的节点的数目;根据所述目的节点的数目以及每个切片旳副本的数目确定目的切片的数目;根据所述目的切片的数目确定各个目的切片在哈希环内所处的范围;其中,各个目的切片在所述哈希环内所处的范围的大小相等。
进一步的,在所述获取Solr集群中原节点的数目以及Solr集群扩容后新增节点的数目之后,还包括:确定获取的所述原节点数、新增节点数是合理的。
进一步的,在对所述现切片进行相应的合并之后,还包括:删除原切片以及对应的数据。
进一步的,在所述删除原切片以及数据之后,还包括:检测各个新生成的路由表以及各个节点的数据量,判断扩容是否完成。
为了解决上述技术问题,本发明还提供了一种Solr集群自动扩容系统,包括:
获取模块,用于获取Solr集群中原节点的数目、每个切片旳副本的数目,以及Solr集群扩容后新增节点的数目;
第一分析模块,用于根据所述原节点的数目以及每个切片旳副本的数目,确定需要切分的各个原切片的副本的第一参数;
第二分析模块,用于根据所述原节点的数目、新增节点的数目以及每个切片旳副本的数目,确定各个目的切片的第二参数;
切分模块,用于根据所述第一参数和第二参数,对所述需要切分的各个原切片的副本进行切分,得到现切片;
合并模块,用于根据所述第二参数对所述现切片进行相应的合并,得到所述目的切片。
进一步的,所述第一参数包括需要切分的各个原切片的副本在哈希环内所处的范围;所述第一分析模块包括第一数目子模块和第一范围子模块;所述第一数目子模块用于根据所述原节点的数目以及每个切片旳副本的数目,确定需要切分的原切片的副本的数目;所述第一范围子模块用于根据所述第一数目子模块确定的所述需要切分的原切片的副本的数目,确定需要切分的原切片的副本在哈希环内所处的范围;其中,各个原切片的副本在所述哈希环内所处的范围的大小相等。
进一步的,所述第一数目子模块包括选择子模块,用于从所有原切片的副本中,选出每个在哈希环内所处的范围不同的原切片的一个副本作为需要切分的原切片的副本。
进一步的,所述第二参数包括:各个目的切片在哈希环内所处的范围;所述第二分析模块包括第二数目子模块和第二范围子模块,所述第二数目子模块用于根据原节点的数目、新增节点的数目,确定目的节点的数目,并根据所述目的节点的数目以及每个切片旳副本的数目确定目的切片的数目;所述第二范围子模块用于根据所述第二数目子模块确定的所述目的切片的数目确定各个目的切片在哈希环内所处的范围;其中,各个目的切片在哈希环内所处的范围的大小相等。
进一步的,还包括确定模块,用于所述获取模块获取Solr集群中原节点的数目以及Solr集群扩容后新增节点的数目之后,确定获取的所述原节点数、新增节点数是合理的。
进一步的,还包括删除模块,用于所述合并模块对现切片进行相应的合并之后,删除原切片以及对应的数据。
进一步的,还包括最终确认模块,用于在所述删除模块删除冗余的原切片以及数据之后,检测各个新生成的节点的路由表以及各个节点的数据量,判断扩容是否完成。
本发明的有益效果:
本发明提供了一种Solr集群自动扩容方法及系统,通过获取Solr集群中原节点的数目、每个切片旳副本的数目,以及扩容后新增节点的数目,确定出原切片的副本的第一参数和目标切片的第二参数,据此对原切片的副本进行切分,再合并为目标切片,从而实现了Solr集群的扩容;节省了手动操作的时间的同时,提高了扩容的准确率和效率。
附图说明
图1为本发明实施例一提供的一种Solr集群的自动扩容方法流程图;
图2为本发明实施例二提供的一种Solr集群的自动扩容系统示意图;
图3为本发明实施例三提供的一种Solr集群的自动扩容方法流程图;
图4为本发明实施例三提供的原切片、现切片、目的切片示意图;
图5为本发明实施例四提供的现切片的切分示意图。
具体实施方式
本发明的构思在于:利用Solr集群中原节点的数目、副本的数目,以及扩容后新增节点的数目,确定出原切片的副本的范围和目标切片的范围,据此进一步确定原切片切分后的现切片的数目和所处的范围,并据此对原切片的副本进行切分,在合并为目标切片,从而实现了企业级搜索应用服务器集群的扩容,与现有技术相比节省了手动操作的时间且提高了准确率。
下面结合附图对本发明的实施方式作进一步说明。
实施例一
本实施例提供了一种Solr集群的自动扩容方法,请参考图1,包括:
S101、获取Solr集群中原节点的数目、每个原切片的副本的数目,以及Solr集群扩容后新增节点的数目。
在Solr集群中,通常而言,一个节点对应着一个切片的一个副本;而所有的切片的副本的数目均是相等的,即各个原切片的副本数是相等的,其中原切片是指在Solr集群扩容前存在的切片;若Solr集群中原节点的数目是M,副本的数目为r,则各个范围不同的原切片的数目即是M/r;在进行扩容时,需要根据需求增加相应的节点,这里新增的节点数一般而言不是任意的,需要根据副本的数目而定,如原切片的副本的数目r=1,则新增节点的数目只要为大于1的正整数即可;若原切片的副本的数目r=2,则需要新增节点的数目为2的倍数,以此类推,新增节点的数目应该是副本的数目r的倍数。为了保证扩容操作的可行性,在获取Solr集群中原节点的数目M和Solr集群扩容后新增节点的数目N之后,可以判断获取到的原节点的数目M和新增节点的数目N是否是合理的,其中M、N均是正整数;这里的原节点的数目M和新增节点的数目N,可以是输入的数值,此时需要判断输入的原节点的数目M和实际情况是否符合,以及新增节点数N是否满足以上条件;若是系统自动获取的,则一般不需对原节点的数目M进行判断,而仅需对新增的节点数进行判断,看其是否符合要求。
S102、根据原节点的数目以及每个原切片的副本的数目,确定需要切分的各个原切片的副本的第一参数。
根据原节点的数目以及每个原切片的副本的数目,可以确定范围不同的原切片的数目,即M/r;在实际操作时,由于各个切片均有副本,而在切分时仅仅需要对所有不同切片的其中一个副本进行切分即可,则此时可以从中选择这M/r个范围不同的原切片的副本,作为需要切分的原切片的副本。各个原切片的副本中,有一个是作为主副本而存在的,在各个主副本能够正常工作的前提下,优选各个原切片的主副本作为需要切分的原切片的副本,若是某些原切片的主副本有故障,则选择该原切片的其他副本作为需要切分的原切片的副本;当然,除去这种选择方式,还可以直接随机选取所有不同的原切片中的一个副本,或者其他便于操作的选择方式均可。
第一参数,是指需要切分的原切片的参数,一般是各个需要切分的原切片的所处的范围。进一步说,各个需要切分的原切片在哈希环内所处的范围。第一参数主要表征的是在扩容前,各个需要切分的原切片的位置、范围大小等信息。选择了M/r个需要切分的原切片的副本后,各个原切片的副本在哈希环内所处的范围也就确定了。各个原切片副本将整个哈希环平分,每个原切片的副本在哈希环中所处的范围的大小是相等的,因此,可以据此确定各个需要切分的原切片的副本在哈希环中所处的范围。整个哈希环的范围是0x00-0xffffffff,所有的需要切分的原切片的副本组合在一起即是一个完整的哈希环,则各个原切片的副本的范围大小为(0x00-0xffffffff)r/M。
S103、根据原节点的数目、新增节点的数目以及每个原切片的副本的数目,确定各个目的切片的第二参数。目的切片是Solr集群扩容后所要达到的最终切片的切分结果,目的切片是由原切片的副本切分后形成的现切片,再由现切片进行相应的合并而成。各个目的切片所占的范围大小同样是相等的。由于原节点的数目是M,新增的节点数目是N,则目标节点的数目则是(M+N),而每个原切片的副本的数目是r,在扩容前后各个切片的副本的数目不变,因此目的切片的数目即是(M+N)/r。
第二参数与第一参数类似,是指目的切片的参数,一般是Solr集群扩容后的状态下,各个目的切片所处的范围。进一步说,是各个目的切片在哈希环内所处的范围。第二参数主要表征的是,在扩容后,各个目的切片在新的Solr集群中应该处于什么样的一个位置,即各个目的切片的位置、范围大小等信息。确定目的切片的数目为(M+N)/r之后,各个目的切片所占的范围也就确定了。各个目的切片将整个哈希环平分,每个目的切片在哈希环中所占的范围大小是相等的,因此,可以据此确定各个目的切片在哈希环中所处的范围;由于整个哈希环的范围是0x00-0xffffffff,则各个目的切片的范围大小为(0x00-0xffffffff)r/(M+N)。
S104、根据第一参数和第二参数,对需要切分的各个原切片的副本进行切分,得到现切片。
根据第一参数和第二参数,可以确定原切片切分后的现切片的数目及其在哈希环内所处的范围。
现切片是由需要切分的原切片的副本切分后产生的,且任何一个现切片的范围不会大于原切片的范围;现切片的数目、各个现切片的范围大小根据各个原切片所处的范围以及目的切片所处的范围所确定。
确定了现切片的数目,各个现切片所处的范围,则此时据此对原切片进行切分,使切分后的现切片满足现切片的数目和各个现切片的范围的要求。
S105、根据第二参数对现切片进行相应的合并,得到目的切片。
在对原切片进行切分后,原切片变为了现切片;现切片需要在步骤S103中确定出的目的切片的第二参数,或者说目的切片在哈希环内所处的范围,将现切片进行相应的合并;这里的合并一般只能在所处的范围相邻的现切片之间进行;合并后所形成的目的切片需满足步骤S103中所确定的各个目的切片的第二参数的要求。
在将现切片进行合并形成了目的切片之后,还需要将原切片和对应的数据删除;这里的原切片,主要是指在选择需要切分的原切片时,每个不同的范围的原切片仅选取了一个副本进行切分,那么其他的副本作为扩容前的切片在扩容后已经没有作用,此时应该将其删除,在相应的节点生成新的目的切片的副本。
扩容后,各个节点会生成新的路由表;在删除冗余的原切片以及数据之后,还可以检测各个新生成的路由表以及各个节点的数据量,判断扩容是否完成。
本实施例中的Solr集群的节点一般是基于一致性哈希路由,一致性哈希路由的特点是具有平衡性,其使得各个节点对应的切片的范围一致,存储的数据量也相等。
实施例二
本实施例提供了一种Solr集群自动扩容装置,请参考图2,包括:
获取模块21,用于获取Solr集群中原节点的数目、每个切片的副本的数目,以及Solr集群扩容后新增节点的数目;
第一分析模块22,用于根据原节点的数目以及副本的数目,确定需要切分的各个原切片的副本的第一参数;
第二分析模块23,用于根据原节点的数目、新增节点的数目以及每个原切片的副本的数目,确定各个目的切片的第二参数;
切分模块25,用于根据第一参数和第二参数,对需要切分的各个原切片的副本进行切分,得到现切片;
合并模块26,用于根据第二分析模块23确定的各个目的切片的第二参数,对现切片进行相应的合并,得到目的切片。
在Solr集群中,通常而言,一个节点对应着一个切片的一个副本;而所有的切片的副本的数目均是相等的,即各个原切片的副本数是相等的,其中原切片是指在Solr集群扩容前存在的切片;若Solr集群中原节点的数目是M,副本的数目为r,则各个范围不同的原切片的数目即是M/r;再进行扩容时,需要根据需求增加相应的节点,这里新增的节点数一般而言不是任意的,需要根据副本的数目而定,如原切片的副本的数目r=1,则新增节点的数目只要为大于1的正整数即可;若原切片的副本的数目r=2,则需要新增节点的数目为2的倍数,以此类推,新增节点的数目应该是副本的数目r的倍数。为了保证扩容操作的可行性,还包括确定模块27,用于在获取Solr集群中原节点的数目M和Solr集群扩容后新增节点的数目N之后,可以判断获取到的原节点的数目M和新增节点的数目N是否是合理的,其中M、N均是正整数;这里的原节点的数目M和新增节点的数目N,可以是输入的数值,此时需要判断输入的原节点的数目M和实际情况是否符合,以及新增节点数N是否满足以上条件;若是系统自动获取的,则一般不需对原节点的数目M进行判断,而仅需对新增的节点数进行判断,看其是否符合要求。
第一参数,是指需要切分的原切片的参数,一般是各个需要切分的原切片的所处的范围。进一步说,各个需要切分的原切片在哈希环内所处的范围。第一参数主要表征的是在扩容前,各个需要切分的原切片的位置、范围大小等信息。第一分析模块22包括第一数目子模块221和第一范围子模块222;第一数目子模块221用于根据原节点的数目以及每个原切片的副本的数目,可以确定范围不同的原切片的数目,即M/r;第一范围子模块222则根据这需要切分的原切片的数目,确定各个原切片的副本在哈希环内所处的范围。各个不同的原切片的副本将整个哈希环平分,每个原切片的副本在哈希环中所处的范围的大小是相等的,因此,可以据此确定各个需要切分的原切片的副本在哈希环中所处的范围。整个哈希环的范围是0x00-0xffffffff,所有的需要切分的原切片的副本组合在一起即是一个完整的哈希环,则各个原切片的副本的范围大小为(0x00-0xffffffff)r/M。
第一数目子模块221还包括选择子模块2211,由于各个切片均有副本,而在切分时仅仅需要对所有不同切片的其中一个副本进行切分即可,因此选择子模块2211则用于从中选择这M/r个范围不同的原切片的副本,作为需要切分的原切片的副本。各个原切片的副本中,有一个是作为主副本而存在的,在各个主副本能够正常工作的前提下,优选各个原切片的主副本作为需要切分的原切片的副本,若是某些原切片的主副本有故障,则选择该原切片的其他副本作为需要切分的原切片的副本;当然,除去这种选择方式,还可以直接随机选取所有不同的原切片中的一个副本,或者其他便于操作的选择方式均可。
第二参数与第一参数类似,是指目的切片的参数,一般是Solr集群扩容后的状态下,各个目的切片所处的范围。进一步说,是各个目的切片在哈希环内所处的范围。第二参数主要表征的是,在扩容后,各个目的切片在新的Solr集群中应该处于什么样的一个位置,即各个目的切片的位置、范围大小等信息。第二分析模块23包括第二数目子模块231和第二范围子模块232;第二数目子模块231用于根据原节点的数目M、新增节点的数目N确定目标节点的数目,即是(M+N),并根据目标节点的数目(M+N)以及副本的数目r确定目的切片的数目,即是(M+N)/r。目的切片是Solr集群扩容后所要达到的最终切片的切分结果,目的切片是由原切片切分后形成的现切片,再由现切片进行相应的合并而成。各个目的切片所占的范围大小同样是相等的。
第二范围子模块232则用于根据该目的切片的数目确定各个目的切片在哈希环内所处的范围;确定目的切片的数目为(M+N)/r之后,各个目的切片所占的范围也就确定了。各个目的切片将整个哈希环平分,每个目的切片在哈希环中所占的范围大小是相等的,因此,可以据此确定各个目的切片在哈希环中所处的范围;由于整个哈希环的范围是0x00-0xffffffff,则各个目的切片的范围大小为(0x00-0xffffffff)r/(M+N)。
在将现切片进行合并形成了目的切片之后,还需要将原切片和对应的数据删除;这里的原切片,主要是指在选择需要切分的原切片时,每个不同的范围的原切片仅选取了一个副本进行切分,那么其他的副本作为扩容前的切片在扩容后已经没有作用,此时应该将其删除,在相应的节点生成新的目的切片的副本。因此,还包括删除模块28,用于在将现切片进行合成之后,删除原切片以及对应的数据。
扩容后,各个节点会生成新的路由表;最后,还可以包括最终确认模块29,用于在删除冗余的原切片以及数据之后,检测各个新生成的路由表以及各个节点的数据量,判断扩容是否完成。
本实施例中的Solr集群的节点一般是基于一致性哈希路由,一致性哈希路由的特点是具有平衡性,其使得各个节点对应的切片的范围一致,存储的数据量也相等。
实施例三
本实施例提供了一种Solr集群自动扩容方法,请参考图3,包括:
S301、获取Solr集群中原节点的数目M、副本的数目r,以及Solr集群扩容后新增节点的数目N。
S302、判断原节点的数目M和新增节点的数目N是否合理。这里的合理是指原节点的数目M和新增节点的数目N均是正整数,且新增节点的数目N应该是副本的数目r的倍数。
S303、根据原节点的数目M和副本的数目r,确定需要切分的原切片的数目。其中需要切分的原切片的数目为M/r。
S304、根据需要切分的原切片的数目M/r,确定需要切分的各个原切片在哈希环中所处的范围。其中需要切分的各个原切片的哈希环范围大小为(0x00-0xffffffff)r/M。
S305、根据原节点的数目M、新增节点的数目N以及副本的数目r,确定目的切片的数目。其中目的切片的数目为(M+N)/r。
S306、根据目的切片的数目(M+N)/r,确定各个目的切片在哈希环中所处的范围。其中各个目的切片的哈希环范围大小为(0x00-0xffffffff)r/(M+N)。
S307、比对需要切分的各个原切片所处的范围与各个目的切片所处的范围,确定原切片切分后的现切片的数目及其所处的范围。
例如,请参考图4,当M=3,r=1,N=2时,原切片41和目的切片42的比对结果是现切片43的数目为7,且各个现切片43的范围大小分别为切分前的原切片的3/5、2/5、1/5、3/5、1/5、2/5、3/5,也分别是哈希环的1/5、2/15、1/15、1/5、1/15、2/15、1/5。
S308、根据步骤S307中确定的现切片的数目和所处的范围,对原切片进行相应的切分。
S309、根据步骤S306中确定的目的切片所处的范围,对现切片进行相应的合并。
S310、将冗余的原切片和数据删除。
本实施例中的Solr集群的节点一般是基于一致性哈希路由,一致性哈希路由的特点是具有平衡性,其使得各个节点对应的切片的范围一致,存储的数据量也相等。
实施例四
本实施例提供了一种原切片的副本的切分方法,请参考图5:
在本实施例中,Solr集群中原节点的数目M=4,每个原切片的副本的数目r=2,而Solr集群扩容后新增的节点数为N=2;
根据原节点的数目M=4以及每个原切片的副本的数目r=2可以确定,范围不同的原切片的数目是M/r=2,分别是第一原切片511、第二原切片512,也即是说,哈希环被第一原切片511和第二原切片512均分为了两份,各个原切片的副本在哈希环中所占的范围均是整个哈希环的1/2;
从两个第一原切片511的副本和第二原切片512的副本中,分别选择一个作为需要切分的原切片的副本;
根据原节点的数目M=4、新增节点的数目N=2,可以确定目的节点的数目是M+N=6;因此,进一步的,目的切,52的数目是(M+N)/r=3,即三个目的切片52,各个目的切片52在哈希环内所占的范围均是1/3;
比对原切片的副本在哈希环内所占的范围情况以及目的切片在哈希环内所占范围情况,可以确定出,对原切片的副本进行切分后的现切片的数目是4,各个现切片分别是第一现切片531、第二现切片532、第三现切片533、第四现切片534,四个现切片占原切片的范围大小分别是:2/3、1/3、1/3、2/3,同时,在整个哈希环中所占的范围大小分别为1/3、1/6、1/6、1/3;
根据上述四个现切片的范围大小,对选定的需要切分的原切片的副本进行切分;
根据目的切片52在哈希环中所占的范围,对切分后的现切片进行相应的合并,生成目的切片52:将第二现切片532和第三现切片533进行合并,形成目的切片52;第一现切片531和第四现切片534直接作为目的切片52。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (14)

1.一种企业级搜索应用服务器集群自动扩容方法,其特征在于,包括:
获取企业级搜索应用服务器集群中原节点的数目、每个切片的副本的数目,以及所述企业级搜索应用服务器集群扩容后新增节点的数目;
根据所述原节点的数目以及每个切片的副本的数目,确定需要切分的各个原切片的副本的第一参数;
根据所述原节点的数目、每个切片的副本的数目以及新增节点的数目,确定各个目的切片的第二参数;
根据所述第一参数和第二参数,对所述需要切分的各个原切片的副本进行切分,得到现切片;
根据所述第二参数对所述现切片进行相应的合并,得到目的切片。
2.如权利要求1所述的企业级搜索应用服务器集群自动扩容方法,其特征在于,所述第一参数包括需要切分的各个原切片的副本在哈希环内所处的范围;所述根据所述原节点的数目以及每个切片的副本的数目,确定需要切分的原切片的副本的第一参数包括:根据所述原节点的数目以及每个切片的副本的数目,确定需要切分的原切片的副本的数目;根据所述需要切分的原切片的副本的数目,确定需要切分的原切片的副本在哈希环内所处的范围;其中,各个原切片的副本在所述哈希环内所处的范围的大小相等。
3.如权利要求2所述的企业级搜索应用服务器集群自动扩容方法,其特征在于,所述根据原节点的数目以及副本的数目,确定需要切分的原切片的副本包括:从所有原切片的副本中,选出每个在哈希环内所处的范围不同的原切片的一个副本作为需要切分的原切片的副本。
4.如权利要求1所述的企业级搜索应用服务器集群自动扩容方法,其特征在于,所述第二参数包括:各个目的切片在哈希环内所处的范围;所述根据原节点的数目、新增节点的数目以及副本的数目,确定各个目的切片的第二参数包括:根据原节点的数目、新增节点的数目,确定目的节点的数目;根据所述目的节点的数目以及每个切片的副本的数目确定目的切片的数目;根据所述目的切片的数目确定各个目的切片在哈希环内所处的范围;其中,各个目的切片在哈希环内所处的范围的大小相等。
5.如权利要求1所述的企业级搜索应用服务器集群自动扩容方法,其特征在于,在所述获取企业级搜索应用服务器集群中原节点的数目以及企业级搜索应用服务器集群扩容后新增节点的数目之后,还包括:确定获取的所述原节点数、新增节点数是合理的。
6.如权利要求1-5任一项所述的企业级搜索应用服务器集群自动扩容方法,其特征在于,在对所述现切片进行相应的合并之后,还包括:删除原切片以及对应的数据。
7.如权利要求6所述的企业级搜索应用服务器集群自动扩容方法,其特征在于,在所述删除原切片以及数据之后,还包括:检测各个新生成的路由表以及各个节点的数据量,判断扩容是否完成。
8.一种企业级搜索应用服务器集群自动扩容系统,其特征在于,包括:
获取模块,用于获取企业级搜索应用服务器集群中原节点的数目、每个切片的副本的数目,以及企业级搜索应用服务器集群扩容后新增节点的数目;
第一分析模块,用于根据所述原节点的数目以及每个切片的副本的数目,确定需要切分的各个原切片的副本的第一参数;
第二分析模块,用于根据所述原节点的数目、新增节点的数目以及每个切片的副本的数目,确定各个目的切片的第二参数;
切分模块,用于根据所述第一参数和第二参数,对所述需要切分的各个原切片的副本进行切分,得到现切片;
合并模块,用于根据所述第二参数对所述现切片进行相应的合并,得到所述目的切片。
9.如权利要求8所述的企业级搜索应用服务器集群自动扩容系统,其特征在于,所述第一参数包括需要切分的各个原切片的副本在哈希环内所处的范围;所述第一分析模块包括第一数目子模块和第一范围子模块;所述第一数目子模块用于根据所述原节点的数目以及每个切片的副本的数目,确定需要切分的原切片的副本的数目;所述第一范围子模块用于根据所述第一数目子模块确定的所述需要切分的原切片的副本的数目,确定需要切分的原切片的副本在哈希环内所处的范围;其中,各个原切片的副本在所述哈希环内所处的范围的大小相等。
10.如权利要求9所述的企业级搜索应用服务器集群自动扩容系统,其特征在于,所述第一数目子模块包括选择子模块,用于从所有原切片的副本中,选出每个在哈希环内所处的范围不同的原切片的一个副本作为需要切分的原切片的副本。
11.如权利要求8所述的企业级搜索应用服务器集群自动扩容系统,其特征在于,所述第二参数包括:各个目的切片在哈希环内所处的范围;所述第二分析模块包括第二数目子模块和第二范围子模块,所述第二数目子模块用于根据原节点的数目、新增节点的数目,确定目的节点的数目,并根据所述目的节点的数目以及每个切片的副本的数目确定目的切片的数目;所述第二范围子模块用于根据所述第二数目子模块确定的所述目的切片的数目确定各个目的切片在哈希环内所处的范围;其中,各个目的切片在哈希环内所处的范围的大小相等。
12.如权利要求8所述的企业级搜索应用服务器集群自动扩容系统,其特征在于,还包括确定模块,用于所述获取模块获取企业级搜索应用服务器集群中原节点的数目以及企业级搜索应用服务器集群扩容后新增节点的数目之后,确定获取的所述原节点数、新增节点数是合理的。
13.如权利要求8-12任一项所述的企业级搜索应用服务器集群自动扩容系统,其特征在于,还包括删除模块,用于所述合并模块对现切片进行相应的合并之后,删除原切片以及对应的数据。
14.如权利要求13索的企业级搜索应用服务器集群自动扩容系统,其特征在于,还包括最终确认模块,用于在所述删除模块删除原切片以及数据之后,检测各个新生成的节点的路由表以及各个节点的数据量,判断扩容是否完成。
CN201610234871.9A 2016-04-15 2016-04-15 企业级搜索应用服务器集群自动扩容方法及装置 Active CN107302444B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610234871.9A CN107302444B (zh) 2016-04-15 2016-04-15 企业级搜索应用服务器集群自动扩容方法及装置
PCT/CN2017/077557 WO2017177800A1 (zh) 2016-04-15 2017-03-21 Solr集群自动扩容方法及系统、计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610234871.9A CN107302444B (zh) 2016-04-15 2016-04-15 企业级搜索应用服务器集群自动扩容方法及装置

Publications (2)

Publication Number Publication Date
CN107302444A true CN107302444A (zh) 2017-10-27
CN107302444B CN107302444B (zh) 2022-03-25

Family

ID=60041367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610234871.9A Active CN107302444B (zh) 2016-04-15 2016-04-15 企业级搜索应用服务器集群自动扩容方法及装置

Country Status (2)

Country Link
CN (1) CN107302444B (zh)
WO (1) WO2017177800A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020134786A1 (zh) * 2018-12-26 2020-07-02 中兴通讯股份有限公司 服务器的扩容方法及装置、服务器、存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009236B (zh) * 2017-11-29 2020-11-03 北京锐安科技有限公司 一种大数据查询方法、系统、计算机及存储介质
CN111125139B (zh) * 2019-12-26 2022-04-22 北京浪潮数据技术有限公司 一种多控制器的任务处理方法及相关装置
CN116132289A (zh) * 2022-09-27 2023-05-16 马上消费金融股份有限公司 信息配置方法、装置、设备和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100920714B1 (ko) * 2009-03-06 2009-10-14 (주)도울정보기술 조명 단말노드의 확장이 용이한 원격 조명등 감시제어 시스템
CN102591934A (zh) * 2011-12-23 2012-07-18 国网电力科学研究院 一种基于Zookeeper实现多个Solr Shards自动扩展与切换的方法
CN103647797A (zh) * 2013-11-15 2014-03-19 北京邮电大学 一种分布式文件系统及其数据访问方法
CN103984607A (zh) * 2013-02-08 2014-08-13 华为技术有限公司 分布式存储的方法、装置和系统
CN104035836A (zh) * 2013-03-06 2014-09-10 阿里巴巴集团控股有限公司 集群检索平台中的自动容灾恢复方法及系统
CN104050102A (zh) * 2014-06-26 2014-09-17 北京思特奇信息技术股份有限公司 一种电信系统中的对象存储方法及装置
CN104156367A (zh) * 2013-05-14 2014-11-19 阿里巴巴集团控股有限公司 一种搜索引擎的扩容方法及搜索服务系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521297B (zh) * 2011-11-30 2015-09-09 北京人大金仓信息技术股份有限公司 无共享数据库集群中实现系统动态扩展的方法
US9171009B1 (en) * 2013-06-21 2015-10-27 Emc Corporation Cluster file system comprising storage server units each having a scale-out network attached storage cluster
CN103488702A (zh) * 2013-09-06 2014-01-01 云南电力试验研究院(集团)有限公司电力研究院 基于SorlCloud非结构化数据检索方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100920714B1 (ko) * 2009-03-06 2009-10-14 (주)도울정보기술 조명 단말노드의 확장이 용이한 원격 조명등 감시제어 시스템
CN102591934A (zh) * 2011-12-23 2012-07-18 国网电力科学研究院 一种基于Zookeeper实现多个Solr Shards自动扩展与切换的方法
CN103984607A (zh) * 2013-02-08 2014-08-13 华为技术有限公司 分布式存储的方法、装置和系统
CN104035836A (zh) * 2013-03-06 2014-09-10 阿里巴巴集团控股有限公司 集群检索平台中的自动容灾恢复方法及系统
CN104156367A (zh) * 2013-05-14 2014-11-19 阿里巴巴集团控股有限公司 一种搜索引擎的扩容方法及搜索服务系统
CN103647797A (zh) * 2013-11-15 2014-03-19 北京邮电大学 一种分布式文件系统及其数据访问方法
CN104050102A (zh) * 2014-06-26 2014-09-17 北京思特奇信息技术股份有限公司 一种电信系统中的对象存储方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张建勇,廖凤等: "集群与负载均衡技术在国际科学引文数据库服务系统中的应用研究", 《现代图书情报技术》 *
霍庆,刘培植: "使用Solr为大数据库搭建搜索引擎", 《软件》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020134786A1 (zh) * 2018-12-26 2020-07-02 中兴通讯股份有限公司 服务器的扩容方法及装置、服务器、存储介质
CN111371583A (zh) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 服务器的扩容方法及装置、服务器、存储介质

Also Published As

Publication number Publication date
CN107302444B (zh) 2022-03-25
WO2017177800A1 (zh) 2017-10-19

Similar Documents

Publication Publication Date Title
CN109416694B (zh) 包括资源有效索引的键值存储系统
CN107302444A (zh) 企业级搜索应用服务器集群自动扩容方法及装置
CN103226593B (zh) 一种文件系统的管理方法及其文件存储终端
WO2017096892A1 (zh) 索引构建方法、查询方法及对应装置、设备、计算机存储介质
US9753960B1 (en) System, method, and computer program for dynamically generating a visual representation of a subset of a graph for display, based on search criteria
JP5744321B2 (ja) パラメータ設定装置
CN103678491A (zh) 一种基于Hadoop中小文件优化和倒排索引的方法
US20130311445A1 (en) Join processing device, data management device, and string similarity join system
CN107463692B (zh) 超大文本数据同步到搜索引擎的方法和系统
CN111078094B (zh) 分布式机器学习可视化装置
JP2015522887A5 (zh)
CN106599106A (zh) 基于分布式文件系统的数据同步方法及装置
JP2014059861A5 (zh)
CN106909556B (zh) 内存集群的存储均衡方法及装置
JP4491480B2 (ja) インデクス構築方法、文書検索装置及びインデクス構築プログラム
JP2012252529A5 (zh)
CN103678513B (zh) 一种交互式的检索式生成方法及系统
CN103514284B (zh) 数据显示系统和数据显示方法
JP2013164813A5 (ja) 情報処理装置、及びその制御方法、プログラム
CN103377236B (zh) 一种用于分布式数据库的连接查询方法及系统
JP5059239B1 (ja) オントロジースキーマーに基づくインスタンス経路の探索方法及び装置
JP2016167237A5 (zh)
JP2010146430A (ja) 情報処理装置
CN104268228A (zh) 附件添加方法和附件添加装置
WO2016157336A1 (ja) 文書検索システムおよび検索方法

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