[发明专利]一种同步调用方法、装置、电子设备、系统和存储介质在审
申请号: | 202010837528.X | 申请日: | 2020-08-19 |
公开(公告)号: | CN111988315A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 高广超 | 申请(专利权)人: | 青岛易来智能科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王云晓 |
地址: | 266000 山东省青岛市崂山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 同步 调用 方法 装置 电子设备 系统 存储 介质 | ||
本申请公开了一种同步调用方法,包括:生成调用请求;其中,调用请求包括消息队列的第二主题参数;发送调用请求到消息队列的第一主题,使服务提供装置从第一主题获取调用请求,并对调用请求进行处理;当服务提供装置将处理得到的调用结果返回到第二主题参数对应的消息队列的第二主题后,从第二主题中获取调用结果。该方法仅通过增加第二主题参数,即可实现从第二主题参数对应的第二主题中,获取调用结果,不需引入同步调用框架就可实现在异步调用的基础上实现同步调用,提高同步调用效率,改善用户体验。本申请同时还提供了一种同步调用装置、一种电子设备、一种同步调用系统和计算机可读存储介质,具有上述有益效果。
技术领域
本申请涉及物联网技术领域,特别涉及一种同步调用方法、装置、电子设备、系统和存储介质。
背景技术
在分布式系统中,消息队列应用广泛,主要适用场景为实现系统解耦、削峰填谷、实现异步、事件驱动等。系统中采用消息队列来实现系统间的分布式调用,在以消息队列为通信方式的前提下,有时需要同步返回调用结果,例如,需要查询目标信息时,就需要实时的得到查询结果。但是,由于消息队列中间件只支持异步调用,需要引入支持同步调用的RPC等其他解决方案才能实现同步调用,增加了系统的复杂度。
发明内容
本申请的目的是提供一种同步调用方法,仅通过增加第二主题参数,就能够从第二主题参数对应的第二主题中获取调用结果,实现在异步调用的基础上无需引入同步调用框架就能实现同步调用结果。其具体方案如下:
第一方面,本申请公开了一种同步调用方法,包括:
生成调用请求;其中,所述调用请求包括消息队列的第二主题参数;
发送所述调用请求到所述消息队列的第一主题,使服务提供装置从所述第一主题获取所述调用请求,并对所述调用请求进行处理;
当所述服务提供装置将处理得到的调用结果返回到所述第二主题参数对应的所述消息队列的第二主题后,从所述第二主题中获取所述调用结果。
可选的,从所述第二主题中获取所述调用结果,包括:
判断所述调用结果中的请求标识ID是否为预存目标追踪ID;
若所述请求标识ID为所述预存目标追踪ID,则从所述第二主题中获取所述调用结果。
可选的,还包括:
判断获取所述调用结果时间是否超出预设时间阈值;
若超出,则显示调用请求失败。
可选的,生成调用请求之后,还包括:
创建所述消息队列的第二主题,并订阅所述第二主题。
第二方面,本申请公开了一种同步调用装置,包括:
生成模块,用于生成调用请求;其中,所述调用请求包括消息队列的第二主题参数;
发送模块,用于发送所述调用请求到所述消息队列的第一主题,使服务提供装置从所述第一主题获取所述调用请求,并对所述调用请求进行处理;
获取模块,用于当所述服务提供装置将处理得到的调用结果返回到所述第二主题参数对应的所述消息队列的第二主题后,从所述第二主题中获取所述调用结果。
可选的,所述获取模块,包括:
判断单元,用于判断所述调用结果中的请求标识ID是否为预存目标追踪ID。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现本申请任一项所述的同步调用方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛易来智能科技股份有限公司,未经青岛易来智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010837528.X/2.html,转载请声明来源钻瓜专利网。