[发明专利]一种支持均衡资源的SOLR集群扩展方法及系统有效
申请号: | 201611234696.X | 申请日: | 2016-12-28 |
公开(公告)号: | CN106648897B | 公开(公告)日: | 2019-11-22 |
发明(设计)人: | 曾超;温若辉;赵庸;林艺滨;江汉祥 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/52 |
代理公司: | 35218 厦门市精诚新创知识产权代理有限公司 | 代理人: | 何家富<国际申请>=<国际公布>=<进入 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 均衡 资源 solr 集群 扩展 方法 系统 | ||
1.一种支持均衡资源的SOLR集群扩展方法,其特征在于,包括步骤:
S10,根据服务器的硬件资源安装SOLR节点;
S20,设置SOLR集群的参数;
S30,根据SOLR集群中的SOLR集群的参数、当前的文档数量和当前的SOLR集群的状态值动态创建分片,SOLR集群的状态值被更新;
S40,根据步骤S30更新后的SOLR集群的状态值将要写入的新文档插入至相应的分片,文档数量被更新;
循环执行步骤S10至S40;
所述的SOLR集群的参数包括:name,即集合collection的名称、configName,即集合collection的配置名称、serverNodes,即集合collection允许创建Core的节点以及replicationFactor,即复制因子,所述的SOLR集群的状态值包括:liveShardMinIndex,即入库数据存储分片列表中最小的下标、liveShardMaxIndex,即入库数据存储分片列表中最大的下标、liveCoreNumPerNode,即每个节点分配Core的平均值、nextShardedDocNum,即下一次分片时的文档数以及sumCoreNum,即所有节点中Core的数目、Nodes,即节点的数目、docNumPerCore,即每个Core预计存储的文档数;
所述的步骤S30具体包括:
S300,创建第一线程,所述第一线程监测SOLR集群的文档数量并执行S301以及S303至S311的步骤,以实现动态创建分片;
S301,读取SOLR集群中集合collection总的文档数量,判断是否大于nextShardedDocNum,如果大于或等于,则表示需要新增分片,进入步骤S302,如果小于,则进入步骤S313;
S302,对第一线程创建互斥锁;
S303,根据公式addCoreNum=liveCoreNumPerNode*Nodes–sumCoreNum计算出此次计划新增的Core数量;
S304,判断addCoreNum是否小于复制因子replicationFactor,如果小于,则进入步骤S305,否则进入步骤S307;
S305,调整liveCoreNumPerNode值加1;
S306,根据公式addCoreNum=liveCoreNumPerNode*Nodes–sumCoreNum计算出此次计划新增的Core数量;
S307,根据公式addShard=addCoreNum/replicationFactor计算出计划新增的分片数,取整数;
S308,读取SOLR集群状态值,获取每个节点上已经安装的SOLR Core数量,然后与liveCoreNumPerNode值比较,差值即为允许安装Core的最多个数;
S309,根据每个节点上允许安装的Core数,创建一个分片到replicationFactor个Core上,将该replicationFactor个Core分布到不同的节点中,分片的名称为shardX,其中X的值为一个递增不重复的整数,若当前这轮新增的第i个分片,则X的值为liveCoreNumPerNode+i;
S310,判断是否已经创建完addShard个分片,如果否,则跳转到步骤S309继续创建分片,如果是则进入步骤S311;
S311,更新SOLR集群状态值,并更新持久化到磁盘,状态值更新如下:
liveShardMinIndex=liveShardMaxIndex+1;
liveShardMaxIndex=liveShardMaxIndex+addShard;
sumCoreNum=sumCoreNum+addCoreNum;
nextShardedDocNum=sumCoreNum*docNumPerCore;
S312,释放互斥锁;
S313,第一线程休眠一定时间,待唤醒后进入步骤S301重新检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611234696.X/1.html,转载请声明来源钻瓜专利网。