一种模拟远程过程调用的方法、客户端及系统与流程

文档序号:14296067阅读:207来源:国知局

本说明书涉及互联网技术领域,特别涉及一种模拟远程过程调用的方法、客户端及系统。



背景技术:

在开发客户端程序的过程中,通常会和服务端进行通信,而这些通信绝大部分都是通过调用rpc(remoteprocedurecall,远程过程调用)来完成的。客户端程序会根据rpc返回的数据内容做相应的处理。客户端程序与服务端进行通信来进行测试,需要客户端和服务端进行同步,当客户端需要某个rpc的数据时,必须要服务端开发完毕并发布上线,可能阻塞客户端的开发进度。亟需一种新方法来解决现有技术中受服务器端开发进度限制导致的客户端开发进度受阻的技术问题。



技术实现要素:

本说明书实施例提供一种模拟远程过程调用的方法、客户端及系统,用于实现远程过程调用的模拟测试,解决现有技术中受服务器端开发进度限制导致的客户端开发进度受阻的技术问题,加快开发进度。

第一方面,本说明书实施例提供一种模拟远程过程调用的方法,应用于客户端,所述客户端内置有动态库,所述动态库包括:远程过程调用数据编辑器和远程过程调用拦截器,所述方法包括:

通过远程过程调用数据编辑器获得响应数据;

通过所述远程过程调用拦截器拦截所述客户端发送的远程过程调用请求,响应所述远程过程调用请求反馈所述响应数据。

可选的,所述动态库还包括html模板和http服务器;

所述方法还包括:

通过所述http服务器接收用户通过浏览器发送的远程过程调用的模拟数据;

通过所述远程过程调用数据编辑器根据所述html模板编辑所述模拟数据获得所述响应数据。

可选的,通过所述远程过程调用拦截器拦截所述客户端发送的远程过程调用请求,响应所述远程过程调用请求反馈所述响应数据,包括:

通过远程过程调用拦截器将所述客户端网络层中的远程过程调用组件替换为所述远程过程调用数据编辑器编辑的模拟调用组件,通过所述模拟调用组件获取所述远程过程调用请求并反馈所述响应数据。

第二方面,本说明书实施例提供一种模拟远程过程控制的客户端,所述客户端内置有动态库,所述动态库包括远程过程调用数据编辑器和远程过程调用拦截器;

其中,所述远程过程调用数据编辑器用于获得响应数据;远程过程调用拦截器用于拦截客户端发送的远程过程调用请求,响应所述远程过程调用请求反馈所述响应数据。

可选的,所述动态库还包括html模板和http服务器;

所述http服务器用于接收用户通过浏览器发送的远程过程调用的模拟数据;

所述远程过程调用数据编辑器用于根据所述html模板编辑所述模拟数据获得所述响应数据。

可选的,远程过程调用拦截器具体用于:将所述客户端网络层中的远程过程调用组件替换为所述远程过程调用数据编辑器编辑的模拟调用组件,通过所述模拟调用组件获取所述远程过程调用请求并反馈所述响应数据。

第三方面,本说明书实施例提供一种模拟远程过程调用的系统,包括:

浏览器,用于获取并向所述客户端发送远程过程调用的模拟数据;

客户端,所述客户端内置有动态库,所述客户端通过所述动态库接收所述模拟数据并根据所述模拟数据编辑获得远程过程调用所需的响应数据,以及通过所述动态库响应所述客户端的远程过程调用请求反馈所述响应数据。

可选的,所述动态库中包括:http服务器、html模板、远程过程调用拦截器以及远程过程调用数据编辑器;

其中,http服务器用于接收所述浏览器发送的所述模拟数据;所述远程过程调用数据编辑器用于根据所述html模板编辑所述模拟数据获得远程过程调用所需的响应数据;所述远程过程调用拦截器用于拦截所述客户端发送的远程过程调用请求,并响应所述远程过程调用请求反馈所述响应数据。

可选的,所述远程过程调用拦截器具体用于:

将所述客户端网络层中的远程过程调用组件替换为所述远程过程调用数据编辑器编辑的模拟调用组件,通过所述模拟调用组件获取所述远程过程调用请求并反馈所述响应数据。

第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

通过远程过程调用数据编辑器获得响应数据;

通过所述远程过程调用拦截器拦截客户端发送的远程过程调用请求,响应所述远程过程调用请求反馈所述响应数据。

第五方面,本说明书实施例提供一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

通过远程过程调用数据编辑器获得响应数据;

通过所述远程过程调用拦截器拦截客户端发送的远程过程调用请求,响应所述远程过程调用请求反馈所述响应数据。

本说明书实施例中的上述一个或多个技术方案,至少具有如下技术效果:

本说明书实施例提供一种模拟远程过程调用的方法,在客户端内置动态库,动态库中包括远程过程调用数据编辑器和远程过程调用拦截器;通过远程过程调用数据编辑器获得响应数据;通过远程过程调用拦截器拦截客户端发送的远程过程调用请求,响应该远程过程调用请求反馈响应数据,以使客户端基于内置的动态库和响应数据继续进行后续测试处理,实现了远程过程调用的模拟,无需依赖于服务端的开发进度,解决了现有技术中受服务器端开发进度限制导致的客户端开发进度受阻的技术问题,加快了客户端的开发进度。

附图说明

为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书实施例提供的一种模拟远程过程调用的系统示意图;

图2为本说明书实施例提供的一种模拟远程过程调用的方法的流程图;

图3为本说明书实施例提供一种模拟远程过程调用的客户端的示意图;

图4为本说明书实施例提供的一种电子设备的示意图。

具体实施方式

为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

在本说明书实施例提供一种模拟远程过程调用的方法、客户端及系统,用于解决现有技术中受服务器端开发进度限制导致的客户端开发进度受阻的技术问题,加快客户端的开发进度。

下面结合附图对本说明书实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。

请参考图1,为本说明书实施例提供的一种模拟远程过程调用的系统,该系统包括浏览器10和客户端20,浏览器10用于编辑和发送模拟数据即mock数据,客户端20用于根据mock数据来模拟和替换原有程序中的rpc对象,实现客户端的rpc测试。其中,mock数据具体包括响应远程过程调用请求所需的响应数据,用于更新客户端的应用界面或者其他操作。用户可以通过浏览器10编辑模拟远程过程调用所需的mock数据,方便mock数据的更新。浏览器10获取用户编辑的mock数据,按照http(hypertexttransferprotocol,超文本传输协议)封装mock数据,通过万维网(web)将封装后的mock数据发送至客户端20。

本说明书实施例在客户端20中内置动态库,通过动态库来模拟和替换客户端原有程序中的rpc对象。该动态库包含如下四个组件:http服务器、html(hypertextmarkuplanguage,超级文本标记语言)模板、远程过程调用拦截器(即rpc拦截器)和远程过程调用数据编辑器(即rpc数据编辑器)。http服务器用于接收服务器发送的mock数据。html模板用于提供编辑mock数据的模板,mock数据所包含的rpc一般比较复杂,直接展示文本不友好,根据html模板编辑获得响应数据后能够很好的被客户端的上层应用识别、处理。rpc数据编辑器用于根据html模板编辑mock数据。rpc拦截器用于拦截客户端的远程过程调用请求并响应该请求反馈响应数据至上层应用。

请参考图2,为本说明书实施例提供的一种模拟远程过程调用的方法,应用于客户端20,该方法包括:

s210:通过远程过程调用数据编辑器获得响应数据;

s220:通过远程过程调用拦截器拦截客户端发送的远程过程调用请求,响应远程过程调用请求反馈响应数据。

其中,响应数据可以是预先内置在动态库中用于模拟远程过程调用的数据,也可以是rpc数据编辑器根据浏览器发送的mock数据编辑获得的数据。通过编辑mock数据获得响应数据,用户可以根据不同的业务规则来编辑更新mock数据,进而更新响应数据实现各种情况的模拟测试。

具体实施过程中,模拟远程过程调用过程时,s210可以先通过rpc数据编辑器根据http服务器接收到的mock数据编辑更新响应数据,使得获得的响应数据为最新数据,将最新的响应数据传送至rpc拦截器。rpc数据编辑器还可以用于根据mock数据编辑rpc模拟调用组件,用于替换客户端应用程序网络层中的原有rpc组件来实现模拟测试。即通过浏览器和rpc数据编辑器还可以实现对rpc组件的编辑,更新rpc组件,解决现有技术中rpc不可用和调用失败的问题。当然,rpc数据编辑器或者rpc拦截器中也可以预置rpc模拟调用组件,用于对客户端网络层中原rpc组件进行拦截替换。

s220拦截远程过程调用请求并反馈与其对应的响应数据时,可以通过向客户端原rpc组件中插入插件或者替换原rpc组件的方式来实现。通过插件的方式可以拦截远程过程调用请求的向外发送并获得rpc拦截器中对应的响应数据反馈至客户端程序的上层应用。通过替换原rpc组件的方式,则可以在初始化客户端程序或者开启模拟测试开关时,通过rpc拦截器将客户端网络层中的远程过程调用组件替换为rpc数据编辑器编辑的模拟调用组件,通过模拟调用组件获取远程过程调用请求并反馈与之对应的响应数据。

例如:假设客户端应用程序为支付宝钱包,那么可以在支付宝钱包中集成动态数据库。在动态数据库中分别设置http服务器、html模板、rpc拦截器和rpc数据编辑器。在需要对支付宝钱包进行模拟测试时,用户可以通过浏览器编辑mock数据并将编辑好的mock数据发送至客户端中的http服务器。http服务器接收到mock数据后将mock数据传送至rpc数据编辑器,rpc数据编辑器根据html模板编辑mock数据获得rpc所需的响应数据和模拟调用组件。在支付宝钱包初始化时,rpc拦截器拦截并替换原网络层中的rpc组件并将其替换为rpc数据编辑器编辑的新rpc组件即模拟调用组件。模拟调用组件在接收到支付宝钱包发送的rpc请求后,响应该请求向上层应用发送对应的响应数据,以供支付宝钱包完成后续测试处理。

在上述实施例中,将动态库内置于客户端中,基于web和浏览器来实现mockrpc,无需再单独使用一个服务端来mockrpc,不再依赖于mock服务端,并且通过浏览器能够很便捷的实现对mock数据的编辑实现mock功能,简单便捷而且没有系统兼容性问题,用户操作简单、无需安装其他软件或工具。并且,通过rpc拦截器拦截并替换原有网络层中的rpc组件实现了rpc的代理,即通过代理模式既能够完成现有的网络层中的功能、又能够支持对rpc请求数据和响应数据的自定义拦截。

请参考图3,本说明书实施例基于上述提供的一种模拟远程过程调用的方法,还对应提供一种模拟远程过程调用的客户端,该客户端内置有动态库30,所述动态库包括远程过程调用数据编辑器31和远程过程调用拦截器32;

其中,所述远程过程调用数据编辑器31用于获得响应数据;远程过程调用拦截器32用于拦截客户端发送的远程过程调用请求,响应所述远程过程调用请求反馈所述响应数据。

作为一种可选的实施方式,所述动态库30还包括html模板33和http服务器34。所述http服务器34用于接收用户通过浏览器发送的远程过程调用的模拟数据;所述远程过程调用数据编辑器31用于根据所述html模板33编辑所述模拟数据获得所述响应数据。

作为一种可选的实施方式,远程过程调用拦截器32具体用于:将所述客户端网络层中的远程过程调用组件替换为所述远程过程调用数据编辑器编辑的模拟调用组件,通过所述模拟调用组件获取所述远程过程调用请求并反馈所述响应数据。

关于上述实施例中的装置,其中各个功能单元执行操作的具体方式已经在有关方法的实施例中进行了详细描述,此处不再详细阐述。

请参考图4,是根据一示例性实施例示出的一种用于实现数据查询方法的电子设备700的框图。例如,电子设备700可以是计算机,数据库控制台,平板设备,个人数字助理等。

参照图4,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,输入/输出(i/o)的接口710,以及通信组件712。

处理组件702通常控制电子设备700的整体操作,诸如与显示,数据通信,及记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。

存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。

i/o接口710为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

通信组件712被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信部件712经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件712还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得电子设备能够执行一种数据查询方法,所述方法包括:

通过远程过程调用数据编辑器获得响应数据;通过所述远程过程调用拦截器拦截客户端发送的远程过程调用请求,响应所述远程过程调用请求反馈所述响应数据。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1