[发明专利]跨语言调用方法、服务器及存储介质有效
申请号: | 201711239546.2 | 申请日: | 2017-11-30 |
公开(公告)号: | CN108255615B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 李刚;刘汉玉 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;H04L69/08 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 于志光;郭梦霞 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 语言 调用 方法 服务器 存储 介质 | ||
本发明公开了一种跨语言调用方法、服务器及存储介质,该方法包括:接收服务方的接口信息、主机集群IP地址和端口地址,将服务方的主机集群IP地址和端口地址写入注册中心;根据接口信息创建一个接口类,保存到存储器;调用类加载器将接口类加载到内存;根据接口信息从注册中心查询服务方提供的服务信息;根据服务信息创建一个与接口类对应的代理类;根据代理类生成唯一的URL;接收请求方发出的http协议格式的请求;将请求转换为hessian协议格式;根据请求中的URL地址找到对应的代理类,根据代理类与接口类的对应关系找到相应的invoker实体;由该invoker实体将hessian协议格式的请求发送给服务方的相应主机,发起服务访问请求,从而实现跨语言的调用。
技术领域
本发明涉及服务调用领域,尤其涉及一种跨语言调用方法、服务器及计算机可读存储介质。
背景技术
dubbo是一种基于阿里巴巴开源的分布式服务框架,致力于提高性能和透明化的远程过程调用协议(Remote Procedure Call Protocol,RPC)服务调用方案,以及面向服务的体系结构(Service-Oriented Architecture,SOA)治理方案。目前,业内基于dubbo框架的服务平台,不支持跨语言的服务调用。也就是说,在基于dubbo框架的服务平台,服务方只能使用java语言提供服务,请求方也只能使用java语言来调用服务。这样使得服务调用语言单一,限制了服务调用。
发明内容
鉴于以上内容,本发明提供一种跨语言调用方法、服务器及计算机可读存储介质,能够兼容java、C++、paython、ruby等语言进行RPC调用,实现跨语言调用。
为实现上述目的,本发明提供一种跨语言调用方法,该方法包括:
接收服务方的接口信息、主机集群IP地址和端口地址,将服务方的主机集群IP地址和端口地址写入注册中心;
根据所述接口信息创建一个接口类,保存到存储器;
调用类加载器将接口类从存储器加载到内存;
根据所述接口信息从注册中心查询服务方提供的服务信息;
根据查询到的服务信息创建一个与上述接口类对应的代理类;
根据代理类生成唯一的统一资源定位器(Uniform Resoure Locator,URL);
接收请求方发出的http协议格式的服务调用请求;
将服务调用请求从http协议格式转换为hessian协议格式;
根据调用请求中的URL地址找到对应的代理类,根据代理类与接口类的对应关系找到相应的invoker实体;
由该invoker实体将hessian协议格式的服务调用请求发送给服务方的相应主机,发起服务访问请求。
优选地,所述接口类定义了接口包名、接口类名、接口类中方法名、请求参数及返回函数。
优选地,所述服务方通过注册中心发布服务信息,并获得接口信息。
优选地,所述服务方若有多台主机提供服务,则所述代理类也包括多个invoker实体与所述多台主机相关联。
优选地,所述URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。
此外,本发明还提供一种服务器,该服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的跨语言调用程序,所述跨语言调用程序被所述处理器执行,可实现如下步骤:
接收服务方的接口信息、主机集群IP地址和端口地址,将服务方的主机集群IP地址和端口地址写入注册中心;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711239546.2/2.html,转载请声明来源钻瓜专利网。