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