一种远程过程调用rpc代码生成的方法及装置的制作方法

文档序号:7554264阅读:111来源:国知局
专利名称:一种远程过程调用rpc代码生成的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种远程过程调用RPC代码生成的方法及装置。
背景技术
XML(英文全称为:Extensible Markup Language,中文全称为:可扩展标记语言)RPC(英文全称为:Remote Procedure Call,中文全称为:远程过程调用)目前在Internet网络应用,尤其是基于WEB的应用中使用非常普遍。google、Microsoft等都提供基于XML核心的应用、库或开发语言。基于XML RPC的应用往往采用Java/JSP、PHP、C#、Pyth0n、Perl等语言,这些语言都包含了有利于简化字符串处理的特性,通常都提供非常高效的XML处理库,因此,可以很简单的实现基于XML封装与解封装。RPC的目标实际上要求用户除了关心客户端和服务器端具体的功能实现外,不需要关心客户端如何实现调用,服务器端如何获得参数等细节。目前,分布式通信系统应用日渐普遍,在该系统中,如要实现下发表项、数据同步、板卡和芯片的配置等功能,就需要应用到RPC协议,以满足分布式部件之间的通信需求。但是,在上述应用RPC的过程中,需要实现人员输入相关的RPC代码来完成协议层的封装和解封装,这样就会耗费用户大量的时间和精力进行调试,降低了设备板卡之间的通信效率
发明内容
本发明的实施例提供一种代码生成的方法及装置,在实现通信设备中分布式部件间通信的过程中不需要接收用户输入来完成协议层的封装和解封装,从而节省了时间,提高了设备间的通信效率。为达到上述目的,本发明的实施例采用如下技术方案:一种RPC代码生成的方法,包括:获取模板文件和可扩展标记语言XML文件,所述XML文件用于标识用户需求;获取所述XML文件中的第一信息,所述第一信息包括函数名、参数、参数类型;根据所述模板文件以及所述XML文件中的第一信息,生成RPC代码。一种RPC代码生成的装置,包括: 获取单元,用于获取模板文件和可扩展标记语言XML文件,所述XML文件用于标识用户需求;还用于获取所述XML文件中的第一信息,所述第一信息包括函数名、参数、参数类型;并根据所述模板文件以及所述XML文件中的第一信息,生成RPC代码,完成RPC封装和/或RPC解封装。本发明实施例提供的RPC代码生成的方法及装置,获取包含RPC固定代码和RPC可变代码的构造规则的模板文件,并获取标识用户需求的XML文件,进而获取XML文件中的第一信息,该第一信息结合上述的模板文件生成RPC代码,当该RPC代码被RPC客户端调用时完成RPC封装,当被该RPC代码被RPC服务器端调用时完成RPC解封装。与现有方案中,通过接收用户输入来完成封装和解封装相比,本发明不需要接收用户输入来完成协议层的封装和解封装,从而节省了时间,提高了设备间的通信效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的一种RPC代码生成方法的流程图;图2为本发明另一实施例提供的一种RPC代码生成方法的流程图;图3为本发明另一实施例提供的一种RPC代码生成装置的组成框图;图4为本发明另一实施例提供的另一种RPC代码生成装置的组成框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明一实施例提供了一种RPC代码生成的方法,如图1所示,该方法包括:101、获取模板文件和XML文件。 其中,XML文件用·于标识用户需求。102、获取XML文件中的第一信息。其中,第一信息包括函数名、参数、参数类型三种必要信息,根据实际情况第一信息中还可以包含其余任意一种或几种信息。103、根据模板文件以及XML文件中的第一信息,生成RPC代码。值得说明的是,本步骤中生成RPC代码,该RPC代码由多个文件构成。。可选的,RPC代码是利用代码生成器生成的。值得说明的是,在本实施例中RPC代码包括两部分,即可变代码和固定代码。固定代码包含在模板文件中,且模板文件中还包括RPC可变代码的构造规则;RPC可变代码通过get标签获取用户的不同需求,而用户的需求包含在XML文件中。在运行代码生成器时,模板文件解析XML文件,并从该XML文件中获取第一信息,再通过XPath (英文全称为:XMLPath,中文全称为:XML路径)语言解析上述第一信息。进而模板文件结合第一信息生成RPC代码。可选的,RPC可变代码的构造规则指RPC可变代码的构造框架,且获取不同用户需求的RPC可变代码,具有统一的构架,该构架需要不同的用户需求来进行填充,构成RPC可变代码。本发明实施例提供的RPC代码生成的方法,获取包含RPC固定代码和RPC可变代码的构造规则的模板文件,获取标识用户需求的XML文件,进而获取XML文件中的第一信息,该第一信息结合上述的模板文件生成RPC代码,从而被RPC客户端或者RPC服务器端调用时完成RPC封装和/或RPC解封装。与现有方案中,通过接收用户输入来完成封装和解封装相比,本发明不需要接收用户输入来完成协议层的封装和解封装,从而节省了时间,提高了设备间的通信效率。本发明另一实施例提供了一种RPC代码生成的方法,如图2所示,该方法包括:
201、分析RPC代码,并获取RPC固定代码和RPC可变代码的构造规则。其中,RPC可变代码的构造规则与上一实施例103中描述的相关内容相同,在此不
再重复描述。202、根据获取的RPC固定代码和RPC可变代码的构造规则,构造模板文件。203、接收用户输入的头文件。其中,头文件用于标识用户需求,头文件中至少包括函数名、参数、参数类型三种信息,根据实际情况还可以包含其余任意一种或几种信息。204、通过第一预设规则将头文件转换为XML文件。其中,第一规则包括使用Java语言对所述头文件进行转换,即转换为XML文件。值得说明的是,模板文件是通过Jet标签语言构造的,又由,XML是一种可扩展的标记语言,可以很好的作为Jet模板文件的输入,则此处将头文件转化为XML文件时,其实质内容并未发生改变。205、通过第二预设规则,从XML文件中获取第一信息。

其中,第一信息与上一实施例步骤102中的相关描述相同,在此不再重复说明。具体为:第二预设规则包括利用代码生成器运行所述模板文件,根据所述模板文件解析XML文件,并从该XML文件中获取第一信息。206、利用代码生成器,根据模板文件以及XML文件中的第一信息,生成RPC代码。可选的,RPC代码用于RPC客户端和/或RPC服务器端调用。值得说明的是,在此处生成RPC代码,从而被RPC客户端或者RPC服务器端调用时完成了 RPC代码的封装和解封装。值得说明的,本步骤生成的RPC代码中RPC代码为C语言代码,从而可以在多种系统中应用,包括分布式系统或集中式系统。本发明实施例提供的RPC代码生成的方法,通过分析RPC代码的特性,获取模板文件,接收用户输入的头文件并将该头文件转换为标识用户需求的XML文件,进而获取XML文件中的第一信息,该第一信息结合上述的模板文件生成用于RPC客户端和/或RPC服务器端调用的RPC代码,从而完成RPC封装和/或RPC解封装。与现有方案中,通过接收用户输入来完成封装和解封装相比,本发明不需要接收用户输入来完成协议层的封装和解封装,从而节省了时间,提高了设备间的通信效率,可以应用于分布式系统或集中式系统中。本发明另一实施例提供了一种RPC代码生成的装置,如图3所示,该装置包括:获取单元31。获取单元31,用于获取模板文件和XML文件;还用于获取XML文件中的第一信息,其中,第一信息包括函数名、参数、参数类型;并根据上述模板文件以及XML文件中的第一信息,生成RPC代码,被RPC客户端或者RPC服务器端调用时完成RPC封装和/或RPC解封装。可选的,XML文件用于标识用户需求。
可选的,如图4所示,该装置还包括:构造单元32 ;所述获取单元31,包括:接收子单元311、转换子单元312、运行子单元313、生成子单元314。构造单元32,用于在所述获取单元31获取模板文件之前,分析RPC代码,获取RPC固定代码和RPC可变代码的构造规则;根据所述RPC固定代码和RPC可变代码的构造规则,构造模板文件。接收子单元311,用于接收用户输入的头文件,该头文件用于标识用户需求。转换子单元312,用于通过第一预设规则将所述接收子单元311接收的头文件转换为XML文件,第一规则包括使用Java语言对上述头文件进行转换。可选的,所述获取单元31,用于获取述XML文件中的第一信息,具体包括:通过第二预设规则从XML文件中,获取第一信息,其中,第二预设规则包括利用代码生成器运行模板文件,根据该模板文件解析XML文件,并从该XML文件中获取所述第一信息。运行子单元313,用于在根据所述获取单元获取的模板文件解析XML文件之前,运行该模板文件。生成子单元314,用于根据所述运行子单元313运行的所述模板文件以及获取的XML文件中的第一信息;生成RPC代码。可选的,该RPC代码应用于RPC客户端和/或RPC服务器端。本发明实施例提供的RPC代码生成的装置,通过获取单元获取模板文件和标识用户需求的XML文件,进而获取XML文件中的第一信息,该第一信息结合上述的模板文件生成RPC代码,从而被RPC客户端或者RPC服务器端调用时完成RPC封装和/或RPC解封装。与现有方案中,通过接收用户输入来完成封装和解封装相比,本发明不需要接收用户输入来完成协议层的封装和解封装,从而节省了时间,提高了设备间的通信效率。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
, 但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种远程过程调用RPC代码生成的方法,其特征在于,包括: 获取模板文件和可扩展标记语言XML文件,所述XML文件用于标识用户需求; 获取所述XML文件中的第一信息,所述第一信息包括函数名、参数、参数类型; 根据所述模板文件以及所述XML文件中的第一信息,生成RPC代码。
2.根据权利要求1所述的RPC代码生成的方法,其特征在于,在所述获取模板文件之前,还包括: 分析RPC代码,获取RPC固定代码和RPC可变代码的构造规则; 根据获取的所述RPC固定代码和RPC可变代码的构造规则,构造模板文件。
3.根据权利要求1所述RPC代码生成的方法,其特征在于,所述获取XML文件,具体包括: 接收用户输入的头文件,所述头文件用于标识用户需求; 通过第一预设规则将所述头文件转换为XML文件,所述第一规则包括使用Java语言对所述头文件进行转换。
4.根据权利要求1所述的RPC代码生成的方法,其特征在于,所述获取所述XML文件中的第一信息,包括: 通过第二预设规则从所述XML文件中,获取所 述第一信息,所述第二预设规则包括利用代码生成器运行所述模板文件,根据所述模板文件解析所述XML文件,并从所述XML文件中获取所述第一信息。
5.根据权利要求1或4所述的RPC代码生成的方法,其特征在于,所述根据所述模板文件以及所述XML文件中的第一信息,生成RPC代码,具体包括: 利用代码生成器,根据所述模板文件和所述XML文件中的第一信息,生成用于RPC客户端和/或RPC服务器端调用的所述RPC代码。
6.一种RPC代码生成的装置,其特征在于,包括: 获取单元,用于获取模板文件和可扩展标记语言XML文件,所述XML文件用于标识用户需求;还用于获取所述XML文件中的第一信息,所述第一信息包括函数名、参数、参数类型;并根据所述模板文件以及所述XML文件中的第一信息,生成RPC代码。
7.根据权利要求6所述的RPC代码生成的装置,其特征在于,该装置还包括: 构造单元,用于在所述获取单元获取所述模板文件之前,分析RPC代码,获取RPC固定代码和RPC可变代码的构造规则;根据所述RPC固定代码和RPC可变代码的构造规则,构造模板文件。
8.根据权利要求6所述的RPC代码生成的装置,其特征在于,所述获取单元,包括: 接收子单元,用于接收用户输入的头文件,所述头文件用于标识用户需求; 转换子单元,用于通过第一预设规则将所述接收子单元接收的所述头文件转换为XML文件,所述第一规则包括使用Java语言对所述头文件进行转换。
9.根据权利要求6所述的RPC代码生成的装置,其特征在于, 所述获取单元用于获取所述XML文件中的第一信息,具体包括:通过第二预设规则从所述XML文件中,获取所述第一信息,所述第二预设规则包括利用代码生成器运行所述模板文件,根据所述模板文件解析所述XML文件,并从所述XML文件中获取所述第一信息。
10.根据权利要求6或9所述的RPC代码生成的装置,其特征在于,所述获取单元,还包括: 运行子单元,用于在根据所述模板文件解析所述XML文件之前,运行所述模板文件;生成子单元,用于根据所述模板文件以及所述XML文件中的第一信息,生成用于RPC客户端和/或RPC服务器端调用 的所述RPC代码。
全文摘要
本发明公开了一种远程过程调用RPC代码生成的方法及装置,涉及通信技术领域,在实现设备间通信的过程中,不需要接收用户输入来完成协议层的封装和解封装,节省了时间,提高了设备间的通信效率。本发明的具体实施例包括获取模板文件和标识用户需求的XML文件,进而获取XML文件中的第一信息,该第一信息结合上述的模板文件生成RPC代码,从而被RPC客户端或者RPC服务器端调用时完成RPC封装和/或RPC解封装。本发明技术方案主要应用于自动生成代码流程中。
文档编号H04L29/08GK103235718SQ20131010467
公开日2013年8月7日 申请日期2013年3月28日 优先权日2013年3月28日
发明者吴焕政, 严林, 谭御冰 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1