[发明专利]一种搜索引擎调用接口时线程的调度方法及装置在审

专利信息
申请号: 201710338321.6 申请日: 2017-05-15
公开(公告)号: CN106970838A 公开(公告)日: 2017-07-21
发明(设计)人: 周坤;薛琦;倪丽 申请(专利权)人: 杭州时趣信息技术有限公司
主分类号: G06F9/48 分类号: G06F9/48;G06F9/50;G06F17/30
代理公司: 北京集佳知识产权代理有限公司11227 代理人: 罗满
地址: 310012 浙江省杭*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 搜索引擎 调用 接口 线程 调度 方法 装置
【说明书】:

技术领域

发明涉及搜索引擎领域,特别是涉及一种搜索引擎调用接口时线程的调度方法及装置。

背景技术

随着大数据时代的到来,搜索引擎成为人们可以快速获取信息的可靠工具而被广泛应用。例如,电商应用上的商品搜索引擎就是人们经常会用到的一种搜索引擎,当搜索商品时,系统通过调用搜索引擎对查询条件执行查询,拿到结果后再进行业务上的数据解析、组装等操作进而获得搜索结果。

传统的搜索引擎的执行方法为同步执行,即系统开启主线程用来依次调用搜索引擎的多个接口,并每次在调用接口后阻塞该主线程,一直到所调用的接口返回数据后该主线程才会由阻塞状态恢复,并获取该返回数据进行处理,数据处理结束后该线程继续调用下一接口,直至所有需要调用的接口均被调用后,进行继续执行后续数据组装的步骤。图1为现有技术提供的一种搜索引擎的执行方法为同步执行的原理图。如图1所示,系统开启主线程用来调用接口A,在调用后主线程阻塞,一直到所调用的接口返回数据后,主线程从阻塞状态恢复并获取该返回数据进行处理,处理结束后该主线程继续调用接口B,并以同样的步骤继续进行直至所有需调用的接口均被调用。由此可见,当系统的QPS(每秒查询次数)很高时,会导致系统负载过高,影响搜索效率。并且当搜索引擎需要调用多个接口时,主线程需要按一定顺序逐一等待所调用的接口,等待消耗的时间较长。

另一种搜索引擎的执行方法为异步执行,即系统开启主线程用来依次调用搜索引擎的多个接口,并每次在调用接口后释放当前的主线程,当所调用的接口返回数据后系统重新启用新的线程获取该返回数据进行处理,数据处理结束后该线程继续调用下一接口,直至所有需要调用的接口均被调用后,继续执行后续数据组装的步骤。图2为现有技术提供的一种搜索引擎的执行方法为异步执行的原理图。如图2所示,系统开启主线程用来调用接口A,在调用后主线程被释放,一直到所调用的接口返回数据后,开启新的主线程获取该返回数据进行处理,处理结束后,该主线程继续调用接口B并完成后续调用。很显然,这种方法中主线程仍是按照一定顺序逐一调用接口,调用接口所用的总耗时为调用所有接口的时间总和。但是在实际情况下很多调用接口返回的数据之间并没有依赖关系,可见这种搜索引擎的执行方法增加了搜索RT(应用接口的响应时间),造成了不必要的时间开销。

由此可见,为搜索引擎提供一种调用接口时线程的调度方法以达到降低其搜索RT的目的,是本领域技术人员亟待解决的问题。

发明内容

本发明的目的是提供一种搜索引擎调用接口时线程的调度方法及装置,通过多条线程同时对搜索引擎所需的接口进行调用和返回值处理,降低了搜索RT,提升了搜索引擎的处理速度。

为解决上述技术问题,本发明提供一种搜索引擎调用接口时线程的调度方法,包括以下步骤:

接收所述搜索引擎对n个接口的调用请求,并启动n个线程以同时调用所述n个接口;

当所述接口获取到返回值时,根据所述返回值的数量启动相应数量的线程对所述返回值进行数据处理,并获得处理结果;

对各所述处理结果进行组装以得到所述搜索引擎对应的搜索结果;

其中,n为大于或等于1的正整数。

优选的,所述启动n个线程以同时调用所述n个接口之后,还包括:释放n个所述线程至线程池。

优选的,所述启动n个线程以同时调用所述n个接口之后,还包括:判断当前系统的QPS是否超过阈值;

如果是,则释放n个所述线程至线程池,否则,控制n个所述线程处于阻塞状态。

优选的,当释放n个所述线程至所述线程池后,则所述根据所述返回值的数量启动相应数量的线程对所述返回值进行数据处理具体为:

根据当前所述返回值的数量,在所述线程池中的空闲线程中重新分配相应数量的线程,并启动重新分配后的线程以对所述返回值进行数据处理。

优选的,当控制n个所述线程处于阻塞状态后,则所述根据所述返回值的数量启动相应数量的线程对所述返回值进行数据处理具体为:

根据当前所述返回值的数量再次启动相应数量的处于阻塞状态的线程以对所述返回值进行数据处理。

优选的,所述重新分配后的线程的数量为n个。

优选的,所述接口具体包括:二方接口。

此外,本发明还提供一种搜索引擎调用接口时线程的调度装置,包括:

启动调用模块,用于接收所述搜索引擎对n个接口的调用请求,并启动n个线程以同时调用所述n个接口;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州时趣信息技术有限公司,未经杭州时趣信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710338321.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top