[发明专利]一种异步调用实现方法、装置、服务器及服务器集群有效
申请号: | 201811625860.9 | 申请日: | 2018-12-28 |
公开(公告)号: | CN111385255B | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 胡伟 | 申请(专利权)人: | 北京金山云网络技术有限公司;北京金山云科技有限公司 |
主分类号: | H04L67/133 | 分类号: | H04L67/133;H04L67/60 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 丁芸;项京 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 调用 实现 方法 装置 服务器 集群 | ||
本发明实施例提供了一种异步调用实现方法、装置、服务器及服务器集群,其中异步调用实现方法,应用于服务器集群,服务器集群包括多个服务器,多个服务器均能访问预设的共享数据库;服务器中运行有主进程及子线程,方法包括:主进程基于资源操作请求判断共享数据库中是否存在目标标识字段;其中,资源操作请求用于请求针对指定资源进行指定操作;目标标识字段为与指定资源的指定操作相冲突的字段;若不存在目标标识字段,则主进程基于资源操作请求生成至少一个远程过程调用协议RPC请求,并将RPC请求加入到本地内存队列中;子线程从本地内存队列中获取RPC请求并发送。本发明实施例提高了RPC调用的效率。
技术领域
本发明涉及通信技术领域,特别是涉及一种异步调用实现方法、装置、服务器及服务器集群。
背景技术
在大型分布式系统中,往往有很多个节点,这些节点之间有各种各样的RPC(Remote Procedure Call Protocol,远程过程调用协议)调用。特别的,对于集中服务的节点,需要通过RPC调用大量远程服务,实现特定的功能。例如neutron-server(子服务器)与agent(代理)的关系:neutron-server暴露rest API(Application ProgrammingInterface,应用程序编程接口),使得第三方服务调用rest API,neutron-server发送RPC请求到相关联的neutron-agent中,由neutron-agent实现与第三方服务对应的功能。
具体如计算服务nova请求服务器neutron-server创建虚拟网卡的过程:nova调用neutron-server的rest API,该neutron-server发送RPC请求到相关联的agent中,通过agent实现虚拟网卡的创建。单个异步RPC请求的发送并不需要太长的时间,实际生产环境在0.01s左右。但若涉及到大量的RPC请求,这个时间会被拉长。
然而发明人发现,通过在server端使用for循环串行进行RPC调用,API的响应时间与集群的规模在一定程度上是线性相关的,对于规模庞大的分布式系统集群,这种串行RPC调用的方式严重影响API的响应时间,比如有100个RPC请求,每个RPC请求花费时间是0.01s,那么花在RPC请求的时间上则有1s。因此,如何提高RPC调用的效率仍然是亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种异步调用实现方法、装置、服务器及服务器集群,以实现提高RPC调用的效率。具体技术方案如下:
第一方面,本发明实施例公开了一种异步调用实现方法,应用于服务器集群,所述服务器集群包括多个服务器,所述多个服务器均能访问预设的共享数据库;所述服务器中运行有主进程及子线程,所述方法包括:
所述主进程基于资源操作请求判断所述共享数据库中是否存在目标标识字段;其中,所述资源操作请求用于请求针对指定资源进行指定操作;所述目标标识字段为与所述指定资源的指定操作相冲突的字段;
若不存在所述目标标识字段,则所述主进程基于所述资源操作请求生成至少一个远程过程调用协议RPC请求,并将所述RPC请求加入到本地内存队列中;
所述子线程从所述本地内存队列中获取所述RPC请求并发送。
可选地,若不存在所述目标标识字段,所述方法还包括:
所述主进程基于所述资源操作请求生成请求描述信息;所述请求描述信息包括资源请求标识字段;所述资源请求标识字段包括:资源标识和操作类型;
所述主进程将所述资源标识字段存储至所述共享数据库。
可选地,所述请求描述信息还包括:请求发送状态字段;在所述生成所述请求描述信息之后,所述方法还包括:
所述主进程将所述请求描述信息存储至本地,并将所述请求发送状态字段中的值修改为正在写入;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司;北京金山云科技有限公司,未经北京金山云网络技术有限公司;北京金山云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811625860.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种有序文本的生成方法、装置及电子设备
- 下一篇:一种玉米胚芽混合油净化装置