[发明专利]服务的异步调用方法和装置有效
申请号: | 201910049835.9 | 申请日: | 2019-01-18 |
公开(公告)号: | CN109873863B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 孙磊;沈迦勒 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务 异步 调用 方法 装置 | ||
本申请实施例公开了服务的异步调用方法和装置。该方法的一具体实施方式包括:从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息。该实施方式在异步调用任务失败后,可以延时重新执行调用任务,从而确保了异步调用任务的肯定被执行。此外,还可以对被调用方起到削峰保护,从而可以提高云服务的稳定性。
技术领域
本申请实施例涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及服务的异步调用方法和装置。
背景技术
在云服务平台提供的各种服务中,一种云服务为了实现自身所提供的功能,可能会调用其他的云服务。为了降低资源占用,减少网络阻塞,通常可以使用异步调用的方法实现不同云服务间的调用。
现有的异步调用的方法通常由调用方(一种云服务)发调用请求到异步调用服务方,异步调用服务方可以接收调用请求,将所接收的调用请求保存到消息队列中;异步调用服务方依次从消息队列中提取调用请求,根据调用请求所指示的被调用方(另一种云服务)的地址来向被调用方发起调用。并将上述调用返回的结果返回给调用方。
发明内容
本申请实施例提出了一种服务的异步调用方法和装置。
第一方面,本申请实施例提供了一种服务的异步调用方法,该方法包括:从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息。
在一些实施例中,在响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,该方法还包括:确定待处理的消息是否满足预设条件,预设条件包括:待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息,判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前;当待处理的消息满足预设条件时,将待处理的消息确定为需处理的消息。
在一些实施例中,该方法还包括:生成待处理的消息对应的键值对,键值对包括:表示消息的标识的键、表示消息的属性信息的键值;以及确定待处理的消息是否满足预设条件,包括:查询预设键值对列表中是否存在待处理的消息对应的键;若不存在,则确定待处理消息满足预设条件;将待处理的消息对应的键值对添加至预设键值对列表;其中,预设键值对列表中存储预设时长的判断时间段内从消息队列中获取的多个消息各自对应的键值对。
在一些实施例中,在响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,该方法还包括:当确定待处理的消息为需处理的消息时,将待处理的消息以及待处理的消息对应的执行时间信息添加入预设有序集合中;以及响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果,包括:在执行时间信息所指示的时刻,以异步调用方式调用与待处理的消息所关联的被调用方提供的接口,得到调用结果。
在一些实施例中,在执行与调用结果相关联的操作之前,该方法还包括:确定调用结果是否为预设调用返回结果;以及执行与调用结果相关联的操作,包括:若确定调用结果为预设调用返回结果,则执行从预设有序集合中删除待处理的消息及待处理的消息对应的执行时间信息的操作。
在一些实施例中,该方法还包括:每隔预设时间间隔,对预设有序集合进行检查,以检查预设有序集合是否存在已过执行时间的需处理的消息;若存在,则以同步调用方式执行调用该需处理的消息对应的被调用方提供的接口的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910049835.9/2.html,转载请声明来源钻瓜专利网。