一种实现远程过程调用的方法及装置制造方法及图纸

技术编号:21273299 阅读:34 留言:0更新日期:2019-06-06 07:50
本申请公开了一种实现远程过程调用的方法及装置,包括:客户端调用SDN控制器的服务接口,将服务接口的第一输入参数转化为预先设置的协议格式的第二输入参数;客户端将第二输入参数转化为符合RPC的请求信息并发送给SDN控制器。通过本申请实施例实现了APP直接和SDN控制器进行跨编程语言的交互。

A Method and Device for Realizing Remote Procedure Call

This application discloses a method and device for realizing remote procedure call, which includes: the client calls the service interface of SDN controller, converts the first input parameter of service interface into the second input parameter of pre-set protocol format, and the client converts the second input parameter into the request information conforming to RPC and sends it to SDN controller. Through the embodiment of this application, the direct interaction between APP and SDN controllers across programming languages is realized.

【技术实现步骤摘要】
一种实现远程过程调用的方法及装置
本申请涉及但不限于软件定义网络技术,尤指一种实现远程过程调用的方法及装置。
技术介绍
软件定义网络(SDN,SoftwareDefinedNetwork)是一种控制与转发分离、软件可编程的新型网络体系架构。SDN架构包括集中式的控制平面和分布式的数据平面。SDN控制器是控制平面的具象化,可感知网络上的所有信息,处理整体网络的逻辑,实现各种网络协议。SDN架构中的集中控制方式简化了传统的分布在各个设备上的控制和复杂的协议,为网络控制和网络演进提供了非常好的管理和进化能力。SDN控制器是SDN架构中网络应用和网络基础设施之间的重要桥梁。由于SDN控制器可软件编程,提供了对网络的灵活控制、应用创新能力,使得网络可快速开通以及网络灵活调整。图1为相关技术中SDN控制的组成示意图,如图1所示,根据功能层次,SDN控制器通常可分为北向抽象层、分布式核心,此外还有南向抽象层、适配、驱动、协议层等。其中,北向抽象层也称北向接口抽象层,将应用与网络细节隔离,并能隔离应用和网络事件(如连接中断)。相应地,将SDN控制器与应用隔离,SDN控制器可以管理来自多个竞争应用的请求。从业务角度看,北向抽象层的设置提高了应用开发速度,并允许在应用不停机的状态下进行网络更改。分布式核心提供组件间的通信、状态管理、领导者选举服务等。因此,多个组件表现为一个逻辑组件。对应用而言,分布式核心层屏蔽了网络的差异性。另外,应用可以获悉组件和数据平台的故障代码。这些都大大简化了应用开发和故障处理过程。相关技术中提供了基于SDN控制器开发各种网络应用(APP,Application)。在开发一个APP时,会有大量的数据需要在APP和SDN控制器之间高效交互,如调用北向抽象层提供的各种网络服务,查询网络拓扑和状态等,以实施相应的网络操作指令,实现网络软件可编程。SDN控制器通常是使用某种编程语言如JAVA开发的,如果APP的开发使用其他编程语言如PYTHON,那么,是不能直接实现APP和SDN控制器进行跨编程语言的交互的;而且,如果APP和SDN控制器分布在不同的主机上,也是无法进行跨节点的远程交互的。
技术实现思路
为了解决上述技术问题,本专利技术提供一种实现远程过程调用的方法及装置,能够实现APP直接和SDN控制器进行跨编程语言的交互。为了达到本专利技术目的,本专利技术提供了一种实现远程过程调用的装置,包括:代理模块、第一转换模块、第一收发模块;其中,代理模块,用于调用SDN控制器的服务接口,代理模块的输入参数和输出参数和SDN控制器上实际的服务接口参数相同;第一转换模块,用于将自身所在客户端提供的服务接口的符合APP客户端编程语言格式的第一输入参数,转化为预先设置的协议格式的第二输入参数;第一收发模块,用于将第二输入参数转化为符合远程过程调用协议RPC的请求信息并发送给SDN控制器。可选地,所述第一收发模块还用于:接收来自SDN控制器的符合RPC的答复信息,将符合RPC的答复信息转化为预先设置的协议格式的第二输出参数;所述第一转换模块还用于:将第二输出参数转化为符合APP客户端编程语言格式的第一输出参数,并输出给所述代理模块。可选地,所述装置所在客户端与SDN控制器设置在同一物理设备上,或者设置在不同物理设备上;当所述装置所在客户端与SDN控制器不在同一物理设备上,在所述请求信息中还包括:所属SDN控制器的地址和约定端口,其中,约定端口为预先设置的端口或动态协商的端口。本申请还提供了一种实现远程过程调用的装置,包括:第二收发模块、第二转换模块;其中,第二收发模块,用于接收来自客户端的符合RPC的请求信息,并将该请求信息转换为预先设置的协议格式的第二输入参数;第二转换模块,用于将第二输入参数转换为自身所在SDN控制器提供的服务接口的符合SDN控制器编程语言格式的第三输入参数。可选地,所述装置还包括监听模块,用于监听与客户端约定的端口,并在监听到端口上有信息流时,通知所述第二收发模块接收来自客户端的信息。可选地,所述第二转化模块还用于:将自身所在SDN控制器对请求信息做出答复的第三输出参数,转化为预先设置的协议格式的第二输出参数;所述第二收发模块还用于:将第二输出参数转化为符合RPC的答复信息并发送给所述客户端。本申请又提供了一种实现远程过程调用的方法,包括:客户端调用SDN控制器的服务接口,将服务接口的第一输入参数转化为预先设置的协议格式的第二输入参数;客户端将第二输入参数转化为符合RPC的请求信息并发送给SDN控制器。可选地,所述方法还包括:所述客户端接收来自SDN控制器的符合RPC的答复信息,将符合RPC的答复信息转化为预先设置的协议格式的第二输出参数;所述客户端将第二输出参数转化为符合APP客户端编程语言格式的第一输出参数作为返回值。可选地,所述客户端与SDN控制器设置在同一物理设备上,或者设置在不同物理设备上;当所述APP客户端与SDN控制器不在同一物理设备上,在所述请求信息中还包括:SDN控制器的地址和约定端口,其中,约定端口为预先设置的端口或动态协商的端口。本申请再提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现远程过程调用的方法。本申请还提供了一种实现远程过程调用的装置,包括处理器、存储器;其中,存储器上存储有可被处理器上运行的计算机程序:调用SDN控制器的服务接口,将服务接口的第一输入参数转化为预先设置的协议格式的第二输入参数;客户端将第二输入参数转化为符合RPC的请求信息并发送给SDN控制器。本申请又提供了一种实现远程过程调用的方法,包括:SDN控制器将来自客户端的符合RPC的请求信息转换为预先设置的协议格式的第二输入参数;SDN控制器将第二输入参数转换为自身所的服务接口的第三输入参数。可选地,所述方法之前还包括:所述SDN控制器监听与客户端约定的端口,并在监听到端口上有信息流时,接收来自所属客户端的信息。可选地,所述方法还包括:所述SDN控制器将对请求信息做出答复的第三输出参数转化为预先设置的协议格式的第二输出参数;将第二输出参数转化为符合RPC的答复信息并发送给客户端。本申请再提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现远程过程调用的方法。本申请还提供了一种实现远程过程调用的装置,包括处理器、存储器;其中,存储器上存储有可被处理器上运行的计算机程序:将来自客户端的符合RPC的请求信息转换为预先设置的协议格式的第二输入参数;SDN控制器将第二输入参数转换为自身所的服务接口的第三输入参数。本申请技术方案至少包括:APP客户端调用SDN控制器的服务接口,将服务接口的输入参数转化为预先设置的协议格式的输入参数;APP客户端将转化为预先设置的协议格式的输入参数转化为符合RPC的请求信息并发送给SDN控制器。通过本申请实施例实现了APP直接和SDN控制器进行跨编程语言的交互。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本申请本文档来自技高网
...

【技术保护点】
1.一种实现远程过程调用的装置,其特征在于,包括:代理模块、第一转换模块、第一收发模块;其中,代理模块,用于调用SDN控制器的服务接口,代理模块的输入参数和输出参数和SDN控制器上实际的服务接口参数相同;第一转换模块,用于将自身所在客户端提供的服务接口的符合APP客户端编程语言格式的第一输入参数,转化为预先设置的协议格式的第二输入参数;第一收发模块,用于将第二输入参数转化为符合远程过程调用协议RPC的请求信息并发送给SDN控制器。

【技术特征摘要】
1.一种实现远程过程调用的装置,其特征在于,包括:代理模块、第一转换模块、第一收发模块;其中,代理模块,用于调用SDN控制器的服务接口,代理模块的输入参数和输出参数和SDN控制器上实际的服务接口参数相同;第一转换模块,用于将自身所在客户端提供的服务接口的符合APP客户端编程语言格式的第一输入参数,转化为预先设置的协议格式的第二输入参数;第一收发模块,用于将第二输入参数转化为符合远程过程调用协议RPC的请求信息并发送给SDN控制器。2.根据权利要求1所述的装置,其特征在于,所述第一收发模块还用于:接收来自SDN控制器的符合RPC的答复信息,将符合RPC的答复信息转化为预先设置的协议格式的第二输出参数;所述第一转换模块还用于:将第二输出参数转化为符合APP客户端编程语言格式的第一输出参数,并输出给所述代理模块。3.根据权利要求1所述的装置,其特征在于,所述装置所在客户端与SDN控制器设置在同一物理设备上,或者设置在不同物理设备上;当所述装置所在客户端与SDN控制器不在同一物理设备上,在所述请求信息中还包括:所属SDN控制器的地址和约定端口,其中,约定端口为预先设置的端口或动态协商的端口。4.一种实现远程过程调用的装置,其特征在于,包括:第二收发模块、第二转换模块;其中,第二收发模块,用于接收来自客户端的符合RPC的请求信息,并将该请求信息转换为预先设置的协议格式的第二输入参数;第二转换模块,用于将第二输入参数转换为自身所在SDN控制器提供的服务接口的符合SDN控制器编程语言格式的第三输入参数。5.根据权利要求4所述的装置,其特征在于,所述装置还包括监听模块,用于监听与客户端约定的端口,并在监听到端口上有信息流时,通知所述第二收发模块接收来自客户端的信息。6.根据权利要求4所述的装置,其特征在于,所述第二转化模块还用于:将自身所在SDN控制器对请求信息做出答复的第三输出参数,转化为预先设置的协议格式的第二输出参数;所述第二收发模块还用于:将第二输出参数转化为符合RPC的答复信息并发送给所述客户端。7.一种实现远程过程调用的方法,其特征在于,包括:客户端调用SDN控制器的服务接口,将服务接口的第一输入参数转化为预先设置的协议格式的第二输入参数;客户端将第二输入参数转化为符合RPC的...

【专利技术属性】
技术研发人员:吴少勇王延松田健柯志勇
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1