一种基于lucene的分布式集群的物理隔离的方法及装置制造方法及图纸

技术编号:22817075 阅读:31 留言:0更新日期:2019-12-14 13:08
本发明专利技术公开了一种基于lucene的分布式集群的物理隔离的方法及装置,该方法包括创建索引流程,创建索引流程包括:根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表,获取业务在集群中预分配到的服务器的使用范围;根据查询到的服务器的使用范围,获取业务所能使用的服务器列表;根据服务器列表中各服务器的当前运行状态,将待创建的索引的分片分配至各服务器,其中,分片包括主分片和/或副分片。本发明专利技术通过给业务预分配集群中的服务器范围(即给业务划分集群资源),实现在集群内对不同的业务做物理隔离,显著提升所有业务的响应速率(集群的响应速率在秒级)。

A physical isolation method and device of distributed cluster based on Lucene

【技术实现步骤摘要】
一种基于lucene的分布式集群的物理隔离的方法及装置
本专利技术涉及集群管理
,特别涉及一种基于lucene的分布式集群的物理隔离的方法及装置。
技术介绍
目前对于多个业务需要使用基于lucene的分布式集群(如Elasticsearch集群)的场景,通常有两种方式。一种方式是将不同的业务直接在同一个基于lucene的分布式集群上建立索引,通过这种方式来充分利用集群资源。另一种方式是建立多个集群,实现每个业务对应一个独立的集群,通过这种方式来避免不同业务之间造成的干扰。第一种方式虽然可以充分利用集群资源,但是业务之间是一种紧耦合的状态,会带来不同业务之间的干扰,从而造成一些显著的性能问题。例如,一业务A的数据量比较大,另一业务B的数据量比较小,当业务A频繁向集群发出搜索请求时,业务B向集群发出的搜索请求可能不能得到及时的响应,从而对业务B造成较大的干扰。即会造成部分业务访问集群的请求迟迟得不到响应,响应延迟在分钟级甚至小时级等性能问题。更严重的是,当集群中的某个业务因为操作不当,带来集群内存不足或者节点假死等情况时,会对其他的所有业务请求造成影响。第二种方式是通过每个业务对应的集群隔离的方式,有效实现了业务和资源的隔离。但是当大数据量的业务和小数据量的业务都对应不同的集群时,集群会变得越来越多,增加了集群运维的复杂度。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于lucene的分布式集群的物理隔离的方法及装置,以克服现有技术中存在的当多个业务公用一个分布式集群时,业务之间紧耦合造成相互干扰的问题,以及当每个业务建立独立的分布式集群时,集群会变得越来越多,增加了集群运维的复杂度等问题。为解决上述一个或多个技术问题,本专利技术采用的技术方案是:一方面,提供了一种基于lucene的分布式集群的物理隔离的方法,所述方法包括创建索引流程,所述创建索引流程包括如下步骤:根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表,获取所述业务在集群中预分配到的服务器的使用范围;根据查询到的所述服务器的使用范围,获取所述业务所能使用的服务器列表;根据所述服务器列表中各服务器的当前运行状态,将待创建的索引的分片分配至所述各服务器,其中,所述分片包括主分片和/或副分片。进一步的,所述方法还包括生成分布式内存中存储的当前集群资源列表以及当前索引关系列表的过程:根据业务的性能指标以及集群中服务器的运行状态为所述业务分配集群中的服务器的使用范围;根据所述服务器的使用范围对预先创建的集群资源列表以及索引关系列表进行更新,生成当前集群资源列表以及当前索引关系列表存储至分布式内存中。进一步的,所述根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表包括:判断所述业务是否存在对应的物理隔离关系,若存在,则根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表。进一步的,所述方法还包括写入流程,所述写入流程包括如下步骤:根据业务的写入请求中的索引名称查询所述分布式内存中存储的当前集群资源列表以及当前索引关系列表,组装写入集群的服务器路由信息;根据所述路由信息构建所述业务的索引id,其中,所述索引id范围在路由服务器所包含的id范围内;将所述业务的每条数据的写入请求合并后并行转发至所述主分片上;将写入到所述主分片的数据同步写入至所述副分片上。进一步的,所述方法还包括搜索流程,所述搜索流程包括如下步骤:根据业务的搜索请求中的索引名称查询所述分布式内存中存储的当前集群资源列表以及当前索引关系列表,组装搜索集群的服务器路由信息;根据所述服务器路由信息构造目的地分片列表;遍历所述分片列表,向所述分片列表中的各分片并行发送搜索请求,以便各分片响应所述搜索请求,执行相应的搜索。另一方面,提供了一种基于lucene的分布式集群的物理隔离的装置,所述装置包括索引创建模块,所述索引创建模块包括:信息查询单元,用于根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表,获取所述业务在集群中预分配到的服务器的使用范围;列表生成单元,用于根据查询到的所述服务器的使用范围,获取所述业务所能使用的服务器列表;分片分配单元,用于根据所述服务器列表中各服务器的当前运行状态,将待创建的索引的分片分配至所述各服务器,其中,所述分片包括主分片和/或副分片。进一步的,所述装置还包括关系创建模块,所述关系创建模块用于生成分布式内存中当前存储的集群资源列表以及索引关系列表,所述关系创建模块包括:资源划分单元,用于根据业务的性能指标以及集群中服务器的运行状态为所述业务分配集群中的服务器的使用范围;列表更新单元,用于根据所述服务器的使用范围对预先创建的集群资源列表以及索引关系列表进行更新,生成当前集群资源列表以及当前索引关系列表存储至分布式内存中。进一步的,所述装置还包括:关系判断模块,判断所述业务是否存在对应的物理隔离关系。进一步的,所述装置还包括数据写入模块,所述数据写入模块包括:第一组装单元,用于根据业务的写入请求中的索引名称查询所述分布式内存中存储的当前集群资源列表以及当前索引关系列表,组装写入集群的服务器路由信息;索引id构建单元,根据所述路由信息构建所述业务的索引id,其中,所述索引id范围在路由服务器所包含的id范围内;数据写入单元,用于将所述业务的每条数据的写入请求合并后并行转发至所述主分片上;数据同步单元,用于将写入到所述主分片的数据同步写入至所述副分片上。进一步的,所述装置还包括数据搜索模块,所述数据搜索模块包括:第二组装单元,用于根据业务的搜索请求中的索引名称查询所述分布式内存中存储的当前集群资源列表以及当前索引关系列表,组装搜索集群的服务器路由信息;列表构建单元,用于根据所述服务器路由信息构造目的地分片列表;请求发送单元,用于遍历所述分片列表,向所述分片列表中的各分片并行发送搜索请求,以便各分片响应所述搜索请求,执行相应的搜索。本专利技术实施例提供的技术方案带来的有益效果是:1、本专利技术实施例提供的基于lucene的分布式集群的物理隔离的方法及装置,通过给业务预分配集群中的服务器范围(即给业务划分集群资源),实现在集群内对不同的业务做物理隔离,显著提升所有业务的响应速率(集群的响应速率在秒级);2、本专利技术实施例提供的基于lucene的分布式集群的物理隔离的方法及装置,使用物理分配器以及物理感知决策器管理分片分配,实现索引内的分片均衡,为集群内业务的物理隔离提供了高可用和负载均衡的保障;3、本专利技术实施例提供的基于lucene的分布式集群的物理隔离的方法及装置,统一了集群管理入口,提升了集群运维的效率。附图说明为了更清本文档来自技高网...

【技术保护点】
1.一种基于lucene的分布式集群的物理隔离的方法,其特征在于,所述方法包括创建索引流程,所述创建索引流程包括如下步骤:/n根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表,获取所述业务在集群中预分配到的服务器的使用范围;/n根据查询到的所述服务器的使用范围,获取所述业务所能使用的服务器列表;/n根据所述服务器列表中各服务器的当前运行状态,将待创建的索引的分片分配至所述各服务器,其中,所述分片包括主分片和/或副分片。/n

【技术特征摘要】
1.一种基于lucene的分布式集群的物理隔离的方法,其特征在于,所述方法包括创建索引流程,所述创建索引流程包括如下步骤:
根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表,获取所述业务在集群中预分配到的服务器的使用范围;
根据查询到的所述服务器的使用范围,获取所述业务所能使用的服务器列表;
根据所述服务器列表中各服务器的当前运行状态,将待创建的索引的分片分配至所述各服务器,其中,所述分片包括主分片和/或副分片。


2.根据权利要求1所述的基于lucene的分布式集群的物理隔离的方法,其特征在于,所述方法还包括生成分布式内存中存储的当前集群资源列表以及当前索引关系列表的过程:
根据业务的性能指标以及集群中服务器的运行状态为所述业务分配集群中的服务器的使用范围;
根据所述服务器的使用范围对预先创建的集群资源列表以及索引关系列表进行更新,生成当前集群资源列表以及当前索引关系列表存储至分布式内存中。


3.根据权利要求1或2任一所述的基于lucene的分布式集群的物理隔离的方法,其特征在于,所述根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表包括:
判断所述业务是否存在对应的物理隔离关系,若存在,则根据业务的创建索引请求查询分布式内存中存储的当前集群资源列表以及当前索引关系列表。


4.根据权利要求1或2任一所述的基于lucene的分布式集群的物理隔离的方法,其特征在于,所述方法还包括写入流程,所述写入流程包括如下步骤:
根据业务的写入请求中的索引名称查询所述分布式内存中存储的当前集群资源列表以及当前索引关系列表,组装写入集群的服务器路由信息;
根据所述路由信息构建所述业务的索引id,其中,所述索引id范围在路由服务器所包含的id范围内;
将所述业务的每条数据的写入请求合并后并行转发至所述主分片上;
将写入到所述主分片的数据同步写入至所述副分片上。


5.根据权利要求1或2所述的基于lucene的分布式集群的物理隔离的方法,其特征在于,所述方法还包括搜索流程,所述搜索流程包括如下步骤:
根据业务的搜索请求中的索引名称查询所述分布式内存中存储的当前集群资源列表以及当前索引关系列表,组装搜索集群的服务器路由信息;
根据所述服务器路由信息构造目的地分片列表;
遍历所述分片列表,向所述分片列表中的各分片并行发送搜索请求,以便各分片响应所述搜索请求,执行相应的搜索。


6.一种基于lucene的分布式集群的...

【专利技术属性】
技术研发人员:魏枫赵云孙迁
申请(专利权)人:苏宁云计算有限公司
类型:发明
国别省市:江苏;32

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

1