[发明专利]一种搜索引擎分布式实现方法在审
申请号: | 201710002010.2 | 申请日: | 2017-01-03 |
公开(公告)号: | CN106649870A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 王涛富;郭特宇;杨培强 | 申请(专利权)人: | 山东浪潮商用系统有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 姜明 |
地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 搜索引擎 分布式 实现 方法 | ||
1.一种搜索引擎分布式实现方法,其特征在于:由分布式m×n系统模型构建,索引数据构建和搜索功能实现3部分组成;分布式集群组采用m×n模型,每一组集群内采用Master/Slave模型保证单组数据的一致性和搜索服务的可用性;索引构建采用主磁盘索引+内存索引+从磁盘索引相结合的模型,保证最新的数据即时展现,实现搜索的实时性,实时索引的请求先写CommitLog日志,保证实时索引的数据容灾性;搜索请求分为查询,更新,添加,删除4种,分别定位到分布式集群的一组或者多组服务器。
2.根据权利要求1所述的搜索引擎分布式实现方法,其特征在于:在索引量和搜索请求增加的情况下,所述分布式m×n系统模型动态添加行列的机器数量保证存储负载和搜索性能;其中,n列指系统划分为搜索服务器集群的个数,m行指单个搜索服务器集群包含搜索服务器的台数,m≥1且n≥1。
3.根据权利要求1或2所述的搜索引擎分布式实现方法,其特征在于,所述分布式m×n系统模型构建过程如下:
(1)自定义切分规则
根据系统需求,设定自定义的索引切分规则进行GroupFilter分组路由,分组规则既可以是单维也可以是多维,即在m×n二维分组的基础上进行扩展,多维数组与一维数组存储机制一致;
(2)确定m×n行列值
m和n的行列值取决于搜索服务器单机负载能力和分布式系统索引总量和搜索请求总量两个因素;
(3)建立分布式集群
根据索引切分规则和m、n的行列数,建立分布式搜索服务器集群;所有搜索服务器均提供搜索服务,搜索请求随机发送到组内的任一服务器;在同一组搜索服务器集群中,每一台搜索服务器分别向组内其他服务器发布感知服务,确保两两感知;
单组服务器集群内部,设定一台主服务器,其他均为从服务器,主服务器负责主索引的建立和写CommitLog日志文件,从服务器从主服务器中同步主索引,同步CommitLog日志建立内存索引;通过Master/Slave模型保证单组的索引数据容灾性,在组内某一搜索服务器宕机的情况下保证搜索服务的可用性。
4.根据权利要求3所述的搜索引擎分布式实现方法,其特征在于:所述分布式m×n系统模型中,m、n的计算式为:n=S/T;m=Q/R+X;其中S为索引总量,T为单机承载索引量,Q为搜索请求总量,R为单机承载搜索请求量,X为机器增量。
5.根据权利要求1所述的搜索引擎分布式实现方法,其特征在于:所述索引数据包括主磁盘索引,内存索引,从磁盘索引3个部分;写内存索引前先写CommitLog日志,持久化索引数据,保证内存索引数据不丢失;内存索引到达阈值后刷入从磁盘索引,保证可用性;索引数据的构建采用全量dump+实时增量dump的模型构建,全量dump采用时间周期任务定期执行,实时增量dump由实时调用接口生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮商用系统有限公司,未经山东浪潮商用系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710002010.2/1.html,转载请声明来源钻瓜专利网。