[发明专利]基于消息队列和搜索引擎实现服务回调的方法有效
申请号: | 202110107934.5 | 申请日: | 2021-01-27 |
公开(公告)号: | CN112799860B | 公开(公告)日: | 2023-02-21 |
发明(设计)人: | 潘震 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F16/901;G06F16/955 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 搜索引擎 实现 服务 方法 | ||
1.一种基于消息队列和搜索引擎实现服务回调的方法,其特征在于,该方法是将API服务和回调服务进行组合,形成一个功能包;该功能包用于描述完成一类业务协作所需要的服务,使用方接入的最小单位即功能;同时制定回调服务的生效规则,当服务端发起回调服务时根据参数规则,回调正确的回调服务;具体如下:
客户端发起业务功能请求;
业务后台根据业务功能请求决定请求服务端发起回调服务;
服务端发起回调服务请求,请求信息进入RabbitMq消息队列;
请求信息持久化进入Elasticsearch搜索引擎;
消费端Consumer根据回调规则执行回调服务;具体如下:
消费端Consumer拉取消息队列中的消息,根据请求从回调服务配置中查询该功能的回调规则,同时从Elasticsearch中查询该次请求的参数信息;根据回调规则确定需要发起的回调服务列表;基于LRU算法进行回调线程池的管理实现;从回调线程池中取出需要回调的服务列表;逐个发起HTTP请求,完成服务端的主动回调请求;其中,消费端Consumer为具体请求的处理端;
服务端根据回调服务的执行结果更新数据记录。
2.根据权利要求1所述的基于消息队列和搜索引擎实现服务回调的方法,其特征在于,客户端发起业务功能请求具体如下:
客户端发起HTTP请求,请求进入统一的服务网关;
通过服务网关权限校验后,生成全局唯一的标识ID;其中,ID以链路traceId为基础,作为整个服务链路流转过程的监控依据。
3.根据权利要求1所述的基于消息队列和搜索引擎实现服务回调的方法,其特征在于,请求信息持久化进入Elasticsearch搜索引擎的同时执行如下操作:
将请求ID和API URL发送至RabbitMq消息队列;
通过监听RabbitMq消息队列确认回调接口,对已经被Broker接收的消息进行状态更新;其中,数据状态更新为已发送未处理。
4.根据权利要求1所述的基于消息队列和搜索引擎实现服务回调的方法,其特征在于,服务端根据回调服务的执行结果更新数据记录具体如下:
消费端Consumer从RabbitMq消息队列中拉取消息,解析消息中的ID;
从Elasticsearch搜索引擎中查询详细的服务请求的参数信息;
根据回调规则采用异步的方式封装Http Client请求实现服务的回调,回调请求成功后更新数据状态。
5.根据权利要求1-4中任一所述的基于消息队列和搜索引擎实现服务回调的方法,其特征在于,服务端根据回调服务的执行结果更新数据记录的同时配合定时任务schedule模块,对已经持久化但是未发送成功的数据进行定时重试发送,保证所有的请求都能进入回调服务队列。
6.根据权利要求1所述的基于消息队列和搜索引擎实现服务回调的方法,其特征在于,基于LRU算法进行回调线程池的管理实现具体如下:
新数据插入到链表头部;
每当缓存命中,则将数据移到链表头部;
当链表满时,将链表尾部的数据丢弃。
7.根据权利要求1所述的基于消息队列和搜索引擎实现服务回调的方法,其特征在于,线程池管理过程具体如下:
(1)、提交任务,下一步执行步骤(2);
(2)、判断核心线程池是否已满:
①、若否,则执行步骤(3);
②、若是,则跳转至步骤(4);
(3)、创建线程执行任务,下一步跳转至步骤(9);
(4)、判断线程池队列是否已满:
①、若否,则执行步骤(5);
②、若是,则跳转至步骤(6);
(5)、任务存储进入队列,下一步跳转至步骤(9);
(6)、判断线程池是否已满:
①、若否,则执行步骤(7);
②、若是,则跳转至步骤(8);
(7)、创建线程执行任务,下一步跳转至步骤(9);
(8)、LRU算法的淘汰策略,下一步执行步骤(9);
(9)、结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110107934.5/1.html,转载请声明来源钻瓜专利网。