ES查询请求链路优化的方法及装置制造方法及图纸

技术编号:28451270 阅读:21 留言:0更新日期:2021-05-15 21:13
本发明专利技术公开一种ES查询请求链路优化的方法及装置,涉及大数据技术领域,能够分散协调节点的压力,减少查询链路,提升ES查询的效率。该方法包括:定期请求服务端索引列表查询接口,更新客户端缓存中所有索引分片对应的数据存储节点地址;基于数据存储节点地址一一对应地匹配出与每个数据存储节点位于同一节点区域内的协调节点地址;发起ES查询请求,查询缓存中与ES查询请求对应的数据存储节点地址,将所匹配的协调节点地址作为目标地址请求服务端。该装置应用有上述方案所提的方法。该装置应用有上述方案所提的方法。该装置应用有上述方案所提的方法。

【技术实现步骤摘要】
ES查询请求链路优化的方法及装置


[0001]本专利技术涉及大数据
,尤其涉及一种ES查询请求链路优化的方法及装置。

技术介绍

[0002]对于ES查询请求,索引数据通常是按一定规则随机分散在集群数据节点上。请参阅图2,目前开源原生客户端发起ES查询请求时,首先请求客户端配置的协调节点,再通过协调节点请求实际的数据存储节点,也即传统的ES查询请求方案大多需要涉及跨节点区域进行,其存在如下2方面的问题:
[0003]1、所有的查询请求均通过固定配置的几个协调节点进行转发,导致协调节点的压力较大,且没有做到数据隔离。
[0004]2、由于协调节点与请求访问的数据存储节点大多不处于同一节点区域内,大多需要经过一次跨区域协调节点的转发,导致链路较长。

技术实现思路

[0005]本专利技术的目的在于提供一种ES查询请求链路优化的方法及装置,能够分散协调节点的压力,减少查询链路,提升ES查询的效率。
[0006]为了实现上述目的,本专利技术的第一方面提供一种ES查询请求链路优化方法,包括:
[0007]定期请求服务端索引列表查询接口,更新客户端缓存中所有索引分片对应的数据存储节点地址;
[0008]基于所述数据存储节点地址一一对应地匹配出与每个数据存储节点位于同一节点区域内的协调节点地址;
[0009]发起ES查询请求,查询缓存中与所述ES查询请求对应的所述数据存储节点地址,将所匹配的所述协调节点地址作为目标地址请求服务端。
[0010]优选地,在定期请求服务端索引列表查询接口,更新客户端缓存中所有索引分片对应的数据存储节点地址之前还包括:
[0011]在客户端中采用固定配置的手段预先指定至少一个协调节点地址,用于在缓存中无法查询到与所述ES查询请求对应的所述数据存储节点地址时,将所述固定配置的协调节点地址作为目标地址。
[0012]较佳地,发起ES查询请求,查询缓存中与所述ES查询请求对应的所述数据存储节点地址,将所匹配的所述协调节点地址作为目标地址请求服务端的方法包括:
[0013]判断发起的所述ES查询请求是否为单索引请求;
[0014]若判断结果为是,则继续查询缓存中与所述ES查询请求对应的所述数据存储节点地址,并在搜索到查询结果时将所匹配的所述协调节点地址作为目标地址请求服务端,否则使用客户端中固定配置的协调节点地址作为目标地址请求服务端;
[0015]若判断结果为否,则直接使用客户端中固定配置的协调节点地址作为目标地址请求服务端。
[0016]进一步地,在将所匹配的所述协调节点地址作为目标地址请求服务端之后还包括:
[0017]若服务端响应异常,则重新使用客户端中固定配置的协调节点地址作为目标地址请求服务端。
[0018]可选地,在服务端响应异常,重新使用客户端中固定配置的协调节点地址作为目标地址请求服务端之后的方法还包括:
[0019]客户端异步请求服务端索引列表查询接口,主动请求更新客户端缓存中所有索引分片对应的数据存储节点地址。
[0020]与现有技术相比,本专利技术提供的ES请求链路优化方法具有以下有益效果:
[0021]本专利技术提供的ES请求链路优化方法中,在客户端缓存中定期更新所有索引分片对应的数据存储节点地址,同时匹配出与每个数据存储节点地址一一对应地且位于同一节点区域内的协调节点地址,然后使用客户端发起ES查询请求,通过查询缓存中与ES查询请求对应的数据存储节点地址,将其所匹配的协调节点地址作为目标地址再请求服务端。
[0022]可见,本专利技术能够根据发起的ES查询请求,优先使用与目标数据存储节点位于同一节点区域的协调节点转发访问服务端,相比较于现有技术中所有的ES查询请求均使用固定配置的几个协调节点协调访问服务端,本专利技术方案分散了协调节点的分布,大幅减轻协调节点的转发压力。另外,由于协调节点与目标数据存储节点位于同一节点区域,还能减少协调节点的转发次数,缩短请求链路,能够较好的做到数据隔离。
[0023]本专利技术的第二方面提供一种ES查询请求链路优化装置,应用于上述技术方案所述的ES请求链路优化方法,所述装置包括:
[0024]缓存更新单元,用于定期请求服务端索引列表查询接口,更新客户端缓存中所有索引分片对应的数据存储节点地址;
[0025]关联匹配单元,用于基于所述数据存储节点地址一一对应地匹配出与每个数据存储节点位于同一节点区域内的协调节点地址;
[0026]请求查询单元,用于发起ES查询请求,查询缓存中与所述ES查询请求对应的所述数据存储节点地址,将所匹配的所述协调节点地址作为目标地址请求服务端。
[0027]优选地,还包括:
[0028]固定配置单元,用于在客户端中采用固定配置的手段预先指定至少一个协调节点地址,用于在缓存中无法查询到与所述ES查询请求对应的所述数据存储节点地址时,将所述固定配置的协调节点地址作为目标地址。
[0029]优选地,还包括:
[0030]判断单元,用于判断发起的所述ES查询请求是否为单索引请求;若判断结果为是,则继续查询缓存中与所述ES查询请求对应的所述数据存储节点地址,并在搜索到查询结果时将所匹配的所述协调节点地址作为目标地址请求服务端,否则使用客户端中固定配置的协调节点地址作为目标地址请求服务端;若判断结果为否,则直接使用客户端中固定配置的协调节点地址作为目标地址请求服务端。
[0031]优选地,还包括:
[0032]异常处理单元,用于若服务端响应异常,则重新使用客户端中固定配置的协调节点地址作为目标地址请求服务端。
[0033]与现有技术相比,本专利技术提供的ES查询请求链路优化装置的有益效果与上述技术方案提供的ES查询请求链路优化方法的有益效果相同,在此不做赘述。
[0034]本专利技术的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述ES查询请求链路优化方法的步骤。
[0035]与现有技术相比,本专利技术提供的计算机可读存储介质的有益效果与上述技术方案提供的ES查询请求链路优化方法的有益效果相同,在此不做赘述。
附图说明
[0036]此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0037]图1为本专利技术实施例中ES查询请求链路优化方法的一种流程示意图;
[0038]图2为本专利技术实施例中传统的ES查询请求链路示意图;
[0039]图3为本专利技术实施例中ES查询请求链路优化方法的另一种流程示意图;
[0040]图4为本专利技术实施例中优化后的ES查询请求链路示意图。
具体实施方式
[0041]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ES查询请求链路优化方法,其特征在于,包括:定期请求服务端索引列表查询接口,更新客户端缓存中所有索引分片对应的数据存储节点地址;基于所述数据存储节点地址一一对应地匹配出与每个所述数据存储节点位于同一节点区域内的协调节点地址;发起ES查询请求,查询缓存中与所述ES查询请求对应的所述数据存储节点地址,将所匹配的所述协调节点地址作为目标地址请求服务端。2.根据权利要求1所述的方法,其特征在于,在定期请求服务端索引列表查询接口,更新客户端缓存中所有索引分片对应的数据存储节点地址之前还包括:在客户端中采用固定配置的方式预先指定至少一个协调节点地址,用于在缓存中无法查询到与所述ES查询请求对应的所述数据存储节点地址时,将所述固定配置的协调节点地址作为目标地址。3.根据权利要求2所述的方法,其特征在于,发起ES查询请求,查询缓存中与所述ES查询请求对应的所述数据存储节点地址,将所匹配的所述协调节点地址作为目标地址请求服务端的方法包括:判断发起的所述ES查询请求是否为单索引请求;若判断结果为是,则继续查询缓存中与所述ES查询请求对应的所述数据存储节点地址,并在搜索到查询结果后将所匹配的所述协调节点地址作为目标地址请求服务端,否则使用客户端中固定配置的协调节点地址作为目标地址请求服务端;若判断结果为否,则直接使用客户端中固定配置的协调节点地址作为目标地址请求服务端。4.根据权利要求1

3任一项所述的方法,其特征在于,在将所匹配的所述协调节点地址作为目标地址请求服务端之后还包括:若服务端响应异常,则重新使用客户端中固定配置的协调节点地址作为目标地址请求服务端。5.根据权利要求4所述的方法,其特征在于,在服务端响应异常,重新使用客户端中固定配置的协调节点地址作为...

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

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

1