一种java对象的请求和响应方法、装置、系统和终端的制作方法

文档序号:6373295阅读:91来源:国知局
专利名称:一种java对象的请求和响应方法、装置、系统和终端的制作方法
技术领域
本发明涉及JAVA对象调用领域,尤其涉及一种JAVA对象的请求和响应方法、装置、系统和终端。
背景技术
在JAVA语言中,已经存在RMI (Remote Method Invocation,远程方法调用)技术作为JAVA进程间的通信方式,但是其处理方式无法满足高性能需要(特别是高吞吐量的需要),而protobuf消息协议能够以体积更小的方式在网络上进行传输。protobuf本身在序列化和反序列化上有相当的优势,如果能够替代rmi作为java
程序的远程调用技术,可以为应用带来性能的几何级提升。另外在实际应用场景中,使用RMI接口调用性能只能在2000用户并发5000 10000TPS,而Protobuf能够在2000用户并发下达到10000 20000TPS的性能,且平均响应时间均在0. 02ms。但是其本身提供的调用服务方式需要定义一个proto描述文件来描述调用服务的相关信息,如下描述定义一个业务实体
//响应实体为
message GetDeviceInfoResponse{
required ResultCode result 二I;//响应错误码,404表示该设备不存在
optional Device device =2; } //设备信息定义一个服务方法为
service DeviceService{
rpc getDeviceInfo( DeviceId ) returns (GetDeviceInfoResponse);
//获取设备信息 }从上面可以看出,调用业务方法时,需要具体定义的方法名和传输对象相关信息,然后生成相关的JAVA文件,这样就不能做到通用化和组件化。

发明内容
本发明实施例的目的在于提出一种JAVA对象的请求方法,旨在解决现有技术中RMI无法满足高吞吐量,而protobuf消息协议无法通用化和组件化的技术问题。
本发明实施例是这样实现的,一种JAVA对象的请求方法,包括步骤创建请求数据结构、响应数据结构和请求方法结构;通过调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数,将所述服务参数转换为JSON格式参数,并将所述JSON格式参数转换成字符串参数;构建请求数据结构对象,将所述字符串参数赋值到所述请求数据结构对象中,发送远程调用请求和所述请求数据结构 对象;通过所述响应数据结构接收响应数据结构对象,获取所述响应数据结构对象中的响应结果字符串对象,将所述响应结果字符串对象转换为响应结果JSON对象,并将所述响应结果JSON对象转换为响应结果JAVA对象。本发明实施例的另一目的在于提出一种JAVA对象的响应方法,包括步骤创建响应数据结构和请求方法结构;接收远程调用请求和请求数据结构对象,根据所述远程调用请求获取所述请求数据结构对象中的字符串参数,将所述字符串参数转换为JSON格式参数,并将所述JSON格式参数转换为服务参数;根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法,通过调用所述服务方法生成响应结果JAVA对象;将所述响应结果JAVA对象转换成响应结果JSON格式对象,再将所述响应结果JSON格式对象转换为响应结果字符串对象,构建响应数据结构对象,将响应结果JAVA对象赋值到所述响应数据结构对象中,通过所述请求方法结构返回所述响应数据结构对象。本发明实施例的另一目的在于提出一种JAVA对象的请求装置,所述装置包括第一初始模块、第一获取单元、第一转换单元、第二转换单元、第一赋值单元、第一构建单元、第一发送单元、第一接收单元、第二获取单元、第三转换单元和第四转换单元;所述第一初始模块,与所述第一获取单元、第一构建单元和第一接收单元相连,用于创建请求数据结构、响应数据结构和请求方法结构;所述第一获取单元,与所述第一初始模块和第一转换单元相连,用于通过调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数;所述第一转换单元,与所述第一获取单元和第二转换单元相连,用于将所述服务参数转换为JSON格式参数;所述第二转换单元,与所述第一转换单元和第一赋值单元相连,用于将所述JSON格式参数转换成字符串参数;所述第一赋值单元,与所述第二转换单元和第一构建单元相连,用于将所述字符串参数赋值到构建的请求数据结构对象中;所述第一构建单元,与所述第一初始模块、第一赋值单元和第一发送单元相连,用于构建请求数据结构对象,并将赋值后的请求数据结构对象发送到所述第一发送单元;所述第一发送单元,与所述第一构建单元相连,用于接收所述第一构建单元发送的请求数据结构对象,并发送远程调用请求和所述请求数据结构对象;所述第一接收单元,与所述第一初始模块和第二获取单元相连,用于通过所述响应数据结构接收响应数据结构对象;
所述第二获取单元,与所述第一接收单元和第三转换单元相连,用于获取所述响应数据结构对象中的响应结果字符串对象;所述第三转换单元,与所述第二获取单元和第四转换单元相连,用于将所述响应结果字符串对象转换为响应结果JSON对象;所述第四转换单元,与所述第三转换单元相连,用于将所述响应结果JSON对象转换为响应结果JAVA对象。本发明实施例的另一目的在于提出一种JAVA对象的响应装置,所述装置包括第二初始模块、第二接收单元、第三获取单元、第五转换单元、第六转换单元、第四获取单元、第三创建单元、第七转换单元、第八转换单元、第二赋值单元、第二构建单元和第一返回单元;所述第二初始模块,与所述第二接收单元和第二构建单元相连,用于创建响应数据结构和请求方法结构;所述第二接收单元,与所述第二初始模块和第三获取单元相连,用于接收远程调用请求和请求数据结构对象;所述第三获取单元,与所述第二接收单元和第五转换单元相连,用于根据所述远程调用请求获取所述请求数据结构对象中的字符串参数;所述第五转换单元,与所述第三获取单元和第六转换单元相连,用于将所述字符串参数转换为JSON格式参数;所述第六转换单元,与所述第五转换单元和第四获取单元相连,用于将所述JSON格式参数转换为服务参数;所述第四获取单元,与所述第六转换单元和第三创建单元相连,用于根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法;所述第三创建单元,与所述第四获取单元和第七转换单元相连,用于通过调用所述服务方法生成响应结果JAVA对象;所述第七转换单元,与所述第三创建单元和第八转换单元相连,用于将所述响应结果JAVA对象转换成响应结果JSON格式对象;所述第八转换单元,与所述第七转换单元和第二赋值单元相连,用于将所述响应结果JSON格式对象转换为响应结果字符串对象;所述第二赋值单元,与所述第二构建单元和第八转换单元相连,用于将响应结果JAVA对象赋值到构建的响应数据结构对象中;所述第二构建单元,与所述第二初始模块、第二赋值单元和第一返回单元相连,用于构建响应数据结构对象,并将赋值后的响应数据结构对象发送到第一返回单元;所述第一返回单元,与所述第二构建单元相连,用于接收所述第二构建单元发送的响应数据结构对象,并通过所述请求方法结构返回所述响应数据结构对象。本发明实施例的另一目的在于还提出一种JAVA对象的响应装置,所述装置包括第二初始模块、第二接收单元、第三获取单元、第五转换单元、第六转换单元、第四获取单元、第三创建单元、第七转换单元、第八转换单元、第二赋值单元、第二构建单元、第一返回单元、判断单元、第二返回单元和第三接收单元;其中所述第二初始模块包括第四创建单元、第五创建单元、第二加载单元、发布单元和存储单元;
所述第四创建单元,与所述第五创建单元、第二接收单元和第二构建单元相连,用于创建请求数据结构、响应数据结构和请求方法结构,其中所述请求数据结构包括服务名、服务方法和字符串参数;所述响应数据结构包括响应返回码和响应结果字符串对象;所述请求方法结构包括远程调用方法和返回响应数据结构对象;所述第五创建单元,与所述第四创建单元和第二加载单元相连,用于将所述请求数据结构、响应数据结构和请求方法结构生成java类;所述第二加载单元,与所述第五创建单元和发布单元相连,用于加载protobuf及protobuf-rpc ;所述发布单元,与所述第二加载单元和存储单元相连,用于发布服务以及所述服务对应的服务实现; 所述存储单元,与所述发布单元和判断单元相连,用于存储所述服务的服务名和服务实现到服务注册表中;所述第二接收单元,与所述第四创建单元和第三获取单元相连,还用于接收远程调用请求和请求数据结构对象;所述第三获取单元,与所述第二接收单元和第五转换单元相连,用于通过Protobuf JAVA调用处理器根据所述远程调用请求获取所述请求数据结构对象中的服务名、服务方法和字符串参数;所述第五转换单元,与所述第三获取单元和第六转换单元相连,用于将所述字符串参数转换为JSON格式参数;所述第六转换单元,与所述第五转换单元和判断单元相连,用于将所述JSON格式参数转换为服务参数;所述判断单元,与所述第六转换单元、第四获取单元和存储单元相连,用于判断服务注册表是否存在所述服务名,如果是,则发送获取指令到所述第四获取单元;所述第四获取单元,与所述判断单元和第三创建单元相连,用于接收所述判断单元发送的获取指令,并根据所述获取指令、服务参数和服务方法获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法;所述第三创建单元,与所述第四获取单元和第二返回单元相连,用于通过调用所述服务方法生成响应结果JAVA对象;所述第二返回单元,与所述第三创建单元和第三接收单元相连,用于将所述响应结果JAVA对象返回给Protobuf JAVA调用处理器;所述第三接收单元,与所述第二返回单元和第七转换单元相连,用于通过Protobuf JAVA调用处理器接收所述响应结果JAVA对象;所述第七转换单元,与所述第三接收单元和第八转换单元相连,用于将所述响应结果JAVA对象转换成响应结果JSON格式对象;所述第八转换单元,与所述第七转换单元和第二赋值单元相连,用于将所述响应结果JSON格式对象转换为响应结果字符串对象;所述第二赋值单元,与所述第二构建单元和第八转换单元相连,用于将响应结果JAVA对象赋值到构建的响应数据结构对象中;所述第二构建单元,与所述第四创建单元、第二赋值单元和第一返回单元相连,用于构建响应数据结构对象,并将赋值后的响应数据结构对象发送到第一返回单元;所述第一返回单元,与所述第二构建单元相连,用于接收所述第二构建单元发送的响应数据结构对象,并通过所述请求方法结构返回所述响应数据结构对象。本发明实施例的另一目的在于提出一种JAVA对象的请求和响应系统,所述系统包括请求装置和响应装置。本发明实施例的另一目的在于提出一种包含有所述JAVA对象的请求和响应系统的终端。本发明包括创建请求数据结构、响应数据结构和请求方法结构;调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数,将所述服务参数转换为JSON格式参数,并将所述JSON格式参数转换成字符串参数;构建请求数据结构对象,将所述字符串参数赋值到构建的请求数据结构对象中,发送远程调 用请求和所述请求数据结构对象;通过所述响应数据结构接收响应数据结构对象,获取所述响应数据结构对象中的响应结果字符串对象,将所述响应结果字符串对象转换为响应结果JSON对象,并将所述响应结果JSON对象转换为响应结果JAVA对象。本发明实现了调用JAVA对象的目的。通过请求数据结构、响应数据结构和请求方法结构,可以直接替换原RMI实现的接口服务,无需修改原有业务逻辑,提升接口性能。本发明还包括接收远程调用请求和请求数据结构对象,根据所述远程调用请求获取所述请求数据结构对象中的字符串参数,将所述字符串参数转换为JSON格式参数,并将所述JSON格式参数转换为服务参数;根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法,通过调用所述服务方法生成响应结果JAVA对象;将所述响应结果JAVA对象转换成响应结果JSON格式对象,再将所述响应结果JSON格式对象转换为响应结果字符串对象,构建响应数据结构对象,将响应结果JAVA对象赋值到构建的响应数据结构对象中,通过所述请求方法结构返回所述响应数据结构对象。本发明还实现了响应JAVA对象的目的,且能够进一步扩展功能性需求,如参数校验,并发锁,安全性处理等商用需求。同时请求和响应方法相结合可实现高吞吐量、通用化和组件化。且各接口或者业务对象无需依赖任何接口就可以使用本发明。


图I是本发明JAVA对象的请求方法的第一优选实施例流程图;图2是本发明JAVA对象的请求方法的第二优选实施例流程图;图3是本发明JAVA对象的响应方法的第一优选实施例流程图;图4是本发明JAVA对象的响应方法的第二优选实施例流程图;图5是本发明JAVA对象的请求装置的第一优选实施例结构示意图;图6是本发明JAVA对象的请求装置的第二优选实施例结构示意图;图7是本发明JAVA对象的响应装置的第一优选实施例结构示意图;图8是本发明JAVA对象的响应装置的第二优选实施例结构示意图;图9是本发明JAVA对象的请求和响应系统的实施例结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。本发明包括创建请求数据结构、响应数据结构和请求方法结构;调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数,将所述服务参数转换为JSON格式参数,并将所述JSON格式参数转换成字符串参数;构建请求数据结构对象,将所述字符串参数赋值到构建的请求数据结构对象中,发送远程 调用请求和所述请求数据结构对象;通过所述响应数据结构接收响应数据结构对象,获取所述响应数据结构对象中的响应结果字符串对象,将所述响应结果字符串对象转换为响应结果JSON对象,并将所述响应结果JSON对象转换为响应结果JAVA对象。本发明实现了调用JAVA对象的目的。通过请求数据结构、响应数据结构和请求方法结构,可以直接替换原RMI实现的接口服务,无需修改原有业务逻辑,提升接口性能。本发明还包括接收远程调用请求和请求数据结构对象,根据所述远程调用请求获取所述请求数据结构对象中的字符串参数,将所述字符串参数转换为JSON格式参数,并将所述JSON格式参数转换为服务参数;根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法,通过调用所述服务方法生成响应结果JAVA对象;将所述响应结果JAVA对象转换成响应结果JSON格式对象,再将所述响应结果JSON格式对象转换为响应结果字符串对象,构建响应数据结构对象,将响应结果JAVA对象赋值到构建的响应数据结构对象中,通过所述请求方法结构返回所述响应数据结构对象。本发明还实现了响应远程调用JAVA对象的目的,且能够进一步扩展功能性需求,如参数校验,并发锁,安全性处理等商用需求。同时请求和响应方法相结合可实现高吞吐量、通用化和组件化。且各接口或者业务对象无需依赖任何接口就可以使用本发明。实施例一图I是本发明JAVA对象的请求方法的第一优选实施例流程图,所述方法包括步骤S101,创建请求数据结构、响应数据结构和请求方法结构;同时将所述请求数据结构、响应数据结构和请求方法结构生成对应的java类;所述请求数据结构包括服务名className、服务方法method和字符串格式的服务参数paramsDescription ;所述响应数据结构包括响应返回码resultCode和响应结果字符串对象resultDescription ;所述请求方法结构包括远程调用方法和返回响应数据结构对象;为便于理解,举例说明定义一个描述通用业务调用的proto文件,并生成对应java类的过程如下
权利要求
1.一种JAVA对象的请求方法,其特征在于,所述方法包括步骤 创建请求数据结构、响应数据结构和请求方法结构; 通过调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数,将所述服务参数转换为JSON格式参数,并将所述JSON格式参数转换成字符串参数; 构建请求数据结构对象,将所述字符串参数赋值到所述请求数据结构对象中,发送远程调用请求和所述请求数据结构对象; 通过所述响应数据结构接收响应数据结构对象,获取所述响应数据结构对象中的响应结果字符串对象,将所述响应结果字符串对象转换为响应结果JSON对象,并将所述响应结果JSON对象转换为响应结果JAVA对象。
2.根据权利要求I所述JAVA对象的请求方法,其特征在于,所述请求数据结构包括服务名、服务方法和字符串参数; 所述响应数据结构包括响应返回码和响应结果字符串对象; 所述请求方法结构包括远程调用方法和返回响应数据结构对象。
3.根据权利要求2所述JAVA对象的请求方法,其特征在于,所述步骤“创建请求数据结构、响应数据结构和请求方法结构”之后还包括步骤 将所述请求数据结构、响应数据结构和请求方法结构生成java类; 加载所述 JAVA 类、服务接口、protobuf 及 protobuf-rpc ; 通过所述服务接口调用服务和所述服务对应的服务方法。
4.根据权利要求3所述JAVA对象的请求方法,其特征在于,所述步骤“通过调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数,将所述服务参数转换为JSON格式参数,并将所述JSON格式参数转换成字符串参数”具体为 通过Protobuf JAVA调用处理器获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数,将所述服务参数转换为JSON格式参数,并将所述JSON格式参数转换成字符串参数。
5.根据权利要求4所述JAVA对象的请求方法,其特征在于,所述步骤“构建请求数据结构对象,将所述字符串参数赋值到所述请求数据结构对象中,发送远程调用请求和所述请求数据结构对象”具体为 构建请求数据结构对象,将所述字符串参数赋值到所述请求数据结构对象中,通过JAVA类中的远程调用方法发送远程调用请求和请求数据结构对象。
6.根据权利要求5所述JAVA对象的请求方法,其特征在于,所述步骤“通过所述响应数据结构接收响应数据结构对象,获取所述响应数据结构对象中的响应结果字符串对象,将所述响应结果字符串对象转换为响应结果JSON对象,并将所述响应结果JSON对象转换为响应结果JAVA对象”具体为 通过所述响应数据结构接收响应数据结构对象,通过Protobuf JAVA调用处理器获取所述响应数据结构对象中的响应结果字符串对象,将所述响应结果字符串对象转换为响应结果JSON对象,并将所述响应结果JSON对象转换为响应结果JAVA对象。
7.—种JAVA对象的响应方法,其特征在于,所述方法包括步骤 创建响应数据结构和请求方法结构;接收远程调用请求和请求数据结构对象,根据所述远程调用请求获取所述请求数据结构对象中的字符串参数,将所述字符串参数转换为JSON格式参数,并将所述JSON格式参数转换为服务参数; 根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法,通过调用所述服务方法生成响应结果JAVA对象; 将所述响应结果JAVA对象转换成响应结果JSON格式对象,再将所述响应结果JSON格式对象转换为响应结果字符串对象,构建响应数据结构对象,将响应结果JAVA对象赋值到所述响应数据结构对象中,通过所述请求方法结构返回所述响应数据结构对象。
8.根据权利要求7所述JAVA对象的响应方法,其特征在于,所述步骤“创建响应数据结构和请求方法结构”之后还包括步骤 创建请求数据结构; 将所述请求数据结构、响应数据结构和请求方法结构生成java类;力口载 protobuf 及 protobuf-rpc ; 发布服务以及所述服务对应的服务实现,并存储所述服务的服务名和服务实现到服务注册表中。
9.根据权利要求8所述JAVA对象的请求方法,其特征在于,所述步骤“接收远程调用请求和请求数据结构对象,根据所述远程调用请求获取所述请求数据结构对象中的字符串参数,将所述字符串参数转换为JSON格式参数,并将所述JSON格式参数转换为服务参数”具体为 接收远程调用请求和请求数据结构对象,通过Protobuf JAVA调用处理器根据所述远程调用请求获取所述请求数据结构对象中的服务名、服务方法和字符串参数,将所述字符串参数转换为JSON格式参数,并将所述JSON格式参数转换为服务参数。
10.根据权利要求9所述JAVA对象的请求方法,其特征在于,所述步骤“根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法,通过调用所述服务方法生成响应结果JAVA对象”具体为 判断服务注册表是否存在所述服务名,如果是,则根据所述服务参数和服务方法获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法,通过调用所述服务方法生成响应结果JAVA对象,并将所述响应结果JAVA对象返回给Protobuf JAVA调用处理器。
11.根据权利要求10所述JAVA对象的请求方法,其特征在于,所述步骤“将所述响应结果JAVA对象转换成响应结果JSON格式对象,再将所述响应结果JSON格式对象转换为响应结果字符串对象,构建响应数据结构对象,将响应结果JAVA对象赋值到所述响应数据结构对象中,通过所述请求方法结构返回所述响应数据结构对象”具体为 Protobuf JAVA调用处理器接收所述响应结果JAVA对象,并将所述响应结果JAVA对象转换成响应结果JSON格式对象,再将所述响应结果JSON格式对象转换为响应结果字符串对象,构建响应数据结构对象,将响应结果JAVA对象赋值到所述响应数据结构对象中,通过所述请求方法结构返回所述响应数据结构对象。
12.—种JAVA对象的请求装置,其特征在于,所述装置包括第一初始模块、第一获取单元、第一转换单元、第二转换单元、第一赋值单元、第一构建单元、第一发送单元、第一接收单元、第二获取单元、第三转换单元和第四转换单元; 所述第一初始模块,与所述第一获取单元、第一构建单元和第一接收单元相连,用于创建请求数据结构、响应数据结构和请求方法结构; 所述第一获取单元,与所述第一初始模块和第一转换单元相连,用于通过调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数; 所述第一转换单元,与所述第一获取单元和第二转换单元相连,用于将所述服务参数转换为JSON格式参数; 所述第二转换单元,与所述第一转换单元和第一赋值单元相连,用于将所述JSON格式参数转换成字符串参数; 所述第一赋值单元,与所述第二转换单元和第一构建单元相连,用于将所述字符串参数赋值到构建的请求数据结构对象中; 所述第一构建单元,与所述第一初始模块、第一赋值单元和第一发送单元相连,用于构建请求数据结构对象,并将赋值后的请求数据结构对象发送到所述第一发送单元; 所述第一发送单元,与所述第一构建单元相连,用于接收所述第一构建单元发送的请求数据结构对象,并发送远程调用请求和所述请求数据结构对象; 所述第一接收单元,与所述第一初始模块和第二获取单元相连,用于通过所述响应数据结构接收响应数据结构对象; 所述第二获取单元,与所述第一接收单元和第三转换单元相连,用于获取所述响应数据结构对象中的响应结果字符串对象; 所述第三转换单元,与所述第二获取单元和第四转换单元相连,用于将所述响应结果字符串对象转换为响应结果JSON对象; 所述第四转换单元,与所述第三转换单元相连,用于将所述响应结果JSON对象转换为响应结果JAVA对象。
13.根据权利要求12所述JAVA对象的请求装置,其特征在于,所述第一初始模块包括第一创建单元、第二创建单元、第一加载单元和第一调用单元; 所述第一创建单元,与所述第二创建单元、第一构建单元和第一接收单元相连,用于创建请求数据结构、响应数据结构和请求方法结构,其中所述请求数据结构包括服务名、服务方法和字符串参数;所述响应数据结构包括响应返回码和响应结果字符串对象;所述请求方法结构包括远程调用方法和返回响应数据结构对象; 所述第二创建单元,与所述第一创建单元和第一加载单元相连,用于将所述请求数据结构、响应数据结构和请求方法结构生成java类; 所述第一加载单元,与所述第二创建单元和第一调用单元相连,用于加载所述JAVA类、服务接口、protobuf 及 protobuf-rpc ; 所述第一调用单元,与所述第一加载单元和第一获取单元相连,用于通过所述服务接口调用服务和所述服务对应的服务方法; 所述第一获取单元,与所述第一调用单元和第一转换单元相连,还用于通过ProtobufJAVA调用处理器获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数;所述第一发送单元,还用于通过JAVA类中的远程调用方法发送远程调用请求和请求数据结构对象;所述第一接收单元,与所述第一创建单元和第二获取单元相连,用于通过所述响应数据结构接收响应数据结构对象; 所述第二获取单元,还用于通过Protobuf JAVA调用处理器获取所述响应数据结构对象中的响应结果字符串对象。
14.一种JAVA对象的响应装置,其特征在于,所述装置包括第二初始模块、第二接收单元、第三获取单元、第五转换单元、第六转换单元、第四获取单元、第三创建单元、第七转换单元、第八转换单元、第二赋值单元、第二构建单元和第一返回单元; 所述第二初始模块,与所述第二接收单元和第二构建单元相连,用于创建响应数据结构和请求方法结构; 所述第二接收单元,与所述第二初始模块和第三获取单元相连,用于接收远程调用请求和请求数据结构对象; 所述第三获取单元,与所述第二接收单元和第五转换单元相连,用于根据所述远程调用请求获取所述请求数据结构对象中的字符串参数; 所述第五转换单元,与所述第三获取单元和第六转换单元相连,用于将所述字符串参数转换为JSON格式参数; 所述第六转换单元,与所述第五转换单元和第四获取单元相连,用于将所述JSON格式参数转换为服务参数; 所述第四获取单元,与所述第六转换单元和第三创建单元相连,用于根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法; 所述第三创建单元,与所述第四获取单元和第七转换单元相连,用于通过调用所述服务方法生成响应结果JAVA对象; 所述第七转换单元,与所述第三创建单元和第八转换单元相连,用于将所述响应结果JAVA对象转换成响应结果JSON格式对象; 所述第八转换单元,与所述第七转换单元和第二赋值单元相连,用于将所述响应结果JSON格式对象转换为响应结果字符串对象; 所述第二赋值单元,与所述第二构建单元和第八转换单元相连,用于将响应结果JAVA对象赋值到构建的响应数据结构对象中; 所述第二构建单元,与所述第二初始模块、第二赋值单元和第一返回单元相连,用于构建响应数据结构对象,并将赋值后的响应数据结构对象发送到第一返回单元; 所述第一返回单元,与所述第二构建单元相连,用于接收所述第二构建单元发送的响应数据结构对象,并通过所述请求方法结构返回所述响应数据结构对象。
15.一种JAVA对象的响应装置,其特征在于,所述装置包括第二初始模块、第二接收单元、第三获取单元、第五转换单元、第六转换单元、第四获取单元、第三创建单元、第七转换单元、第八转换单元、第二赋值单元、第二构建单元、第一返回单元、判断单元、第二返回单元和第三接收单元;其中所述第二初始模块包括第四创建单元、第五创建单元、第二加载单元、发布单元和存储单元; 所述第四创建单元,与所述第五创建单元、第二接收单元和第二构建单元相连,用于创建请求数据结构、响应数据结构和请求方法结构,其中所述请求数据结构包括服务名、服务方法和字符串参数;所述响应数据结构包括响应返回码和响应结果字符串对象;所述请求方法结构包括远程调用方法和返回响应数据结构对象; 所述第五创建单元,与所述第四创建单元和第二加载单元相连,用于将所述请求数据结构、响应数据结构和请求方法结构生成java类; 所述第二加载单元,与所述第五创建单元和发布单元相连,用于加载protobuf及protobuf-rpc ; 所述发布单元,与所述第二加载单元和存储单元相连,用于发布服务以及所述服务对应的服务实现; 所述存储单元,与所述发布单元和判断单元相连,用于存储所述服务的服务名和服务实现到服务注册表中; 所述第二接收单元,与所述第四创建单元和第三获取单元相连,还用于接收远程调用请求和请求数据结构对象; 所述第三获取单元,与所述第二接收单元和第五转换单元相连,用于通过ProtobufJAVA调用处理器根据所述远程调用请求获取所述请求数据结构对象中的服务名、服务方法和字符串 参数; 所述第五转换单元,与所述第三获取单元和第六转换单元相连,用于将所述字符串参数转换为JSON格式参数; 所述第六转换单元,与所述第五转换单元和判断单元相连,用于将所述JSON格式参数转换为服务参数; 所述判断单元,与所述第六转换单元、第四获取单元和存储单元相连,用于判断服务注册表是否存在所述服务名,如果是,则发送获取指令到所述第四获取单元; 所述第四获取单元,与所述判断单元和第三创建单元相连,用于接收所述判断单元发送的获取指令,并根据所述获取指令、服务参数和服务方法获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法; 所述第三创建单元,与所述第四获取单元和第二返回单元相连,用于通过调用所述服务方法生成响应结果JAVA对象; 所述第二返回单元,与所述第三创建单元和第三接收单元相连,用于将所述响应结果JAVA对象返回给Protobuf JAVA调用处理器; 所述第三接收单元,与所述第二返回单元和第七转换单元相连,用于通过ProtobufJAVA调用处理器接收所述响应结果JAVA对象; 所述第七转换单元,与所述第三接收单元和第八转换单元相连,用于将所述响应结果JAVA对象转换成响应结果JSON格式对象; 所述第八转换单元,与所述第七转换单元和第二赋值单元相连,用于将所述响应结果JSON格式对象转换为响应结果字符串对象; 所述第二赋值单元,与所述第二构建单元和第八转换单元相连,用于将响应结果JAVA对象赋值到构建的响应数据结构对象中; 所述第二构建单元,与所述第四创建单元、第二赋值单元和第一返回单元相连,用于构建响应数据结构对象,并将赋值后的响应数据结构对象发送到第一返回单元; 所述第一返回单元,与所述第二构建单元相连,用于接收所述第二构建单元发送的响应数据结构对象,并通过所述请求方法结构返回所述响应数据结构对象。
16.一种JAVA对象的请求和响应系统,其特征在于,所述系统包括请求装置和响应装置; 所述请求装置包括第一初始模块、第一获取单元、第一转换单元、第二转换单元、第一赋值单元、第一构建单元、第一发送单元、第一接收单元、第二获取单元、第三转换单元和第四转换单元; 所述响应装置包括第二初始模块、第二接收单元、第三获取单元、第五转换单元、第六转换单元、第四获取单元、第三创建单元、第七转换单元、第八转换单元、第二赋值单元、第二构建单元和第一返回单元; 所述第一初始模块,与所述第一获取单元、第一构建单元和第一接收单元相连,用于创建请求数据结构、响应数据结构和请求方法结构; 所述第二初始模块,与所述第二接收单元和第二构建单元相连,用于创建响应数据结构和请求方法结构; 所述第一获取单元,与所述第一初始模块和第一转换单元相连,用于通过调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数; 所述第一转换单元,与所述第一获取单元和第二转换单元相连,用于将所述服务参数转换为JSON格式参数; 所述第二转换单元,与所述第一转换单元和第一赋值单元相连,用于将所述JSON格式参数转换成字符串参数; 所述第一赋值单元,与所述第二转换单元和第一构建单元相连,用于将所述字符串参数赋值到构建的请求数据结构对象; 所述第一构建单元,与所述第一初始模块、第一赋值单元和第一发送单元相连,用于构建请求数据结构对象,并将赋值后的请求数据结构对象发送到所述第一发送单元; 所述第一发送单元,与所述第一构建单元和第二接收单元相连,用于接收所述第一构建单元发送的请求数据结构对象,并发送远程调用请求和所述请求数据结构对象到所述第二接收单元; 所述第二接收单元,与所述第二初始模块、第三获取单元和第一发送单元相连,用于接收所述第一发送单元发送的远程调用请求和请求数据结构对象; 所述第三获取单元,与所述第二接收单元和第五转换单元相连,用于根据所述远程调用请求获取所述请求数据结构对象中的字符串参数; 所述第五转换单元,与所述第三获取单元和第六转换单元相连,用于将所述字符串参数转换为JSON格式参数; 所述第六转换单元,与所述第五转换单元和第四获取单元相连,用于将所述JSON格式参数转换为服务参数; 所述第四获取单元,与所述第六转换单元和第三创建单元相连,用于根据所述服务参数获取所述远程调用请求所调用的服务实现和所述服务实现对应的服务方法; 所述第三创建单元,与所述第四获取单元和第七转换单元相连,用于通过调用所述服务方法生成响应结果JAVA对象; 所述第七转换单元,与所述第三创建单元和第八转换单元相连,用于将所述响应结果JAVA对象转换成响应结果JSON格式对象;所述第八转换单元,与所述第七转换单元和第二赋值单元相连,用于将所述响应结果JSON格式对象转换为响应结果字符串对象; 所述第二赋值单元,与所述第二构建单元和第八转换单元相连,用于将响应结果JAVA对象赋值到构建的响应数据结构对象中; 所述第二构建单元,与所述第二初始模块、第二赋值单元和第一返回单元相连,用于构建响应数据结构对象,并将赋值后的响应数据结构对象发送到第一返回单元; 所述第一返回单元,与所述第二构建单元和第一接收单元相连,用于接收所述第二构建单元发送的响应数据结构对象,并通过所述请求方法结构返回所述响应数据结构对象到所述第一接收单元; 所述第一接收单元,与所述第一初始模块和第二获取单元相连,用于通过所述响应数据结构接收所述第一返回单元返回的响应数据结构对象; 所述第二获取单元,与所述第一接收单元和第三转换单元相连,用于获取所述响应数据结构对象中的响应结果字符串对象; 所述第三转换单元,与所述第二获取单元和第四转换单元相连,用于将所述响应结果字符串对象转换为响应结果JSON对象; 所述第四转换单元,与所述第三转换单元相连,用于将所述响应结果JSON对象转换为响应结果JAVA对象。
17.一种终端,其特征在于,所述终端包含权利要求16所述JAVA对象的请求和响应系统。
全文摘要
本发明公开了一种JAVA对象的请求和响应方法、装置、系统和终端。本发明包括创建请求数据结构、响应数据结构和请求方法结构;调用所述请求方法结构获取所述请求数据结构中的服务方法和所述服务方法调用的服务参数,依次将所述服务参数转换为JSON格式参数、字符串参数;构建请求数据结构对象,将转换后的字符串参数赋值到所述请求数据结构对象中;通过所述响应数据结构接收响应数据结构对象,获取所述响应数据结构对象中的响应结果字符串对象,将所述响应结果字符串对象依次转换为响应结果JSON对象和响应结果JAVA对象。本发明实现了远程调用JAVA对象的目的,可替换原RMI的接口服务,无需修改业务逻辑,提升接口性能。
文档编号G06F9/46GK102810069SQ20121024390
公开日2012年12月5日 申请日期2012年7月16日 优先权日2012年7月16日
发明者阮航 申请人:深圳市融创天下科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1