一种基于Web引擎的远程过程调用系统及实现方法

文档序号:7987843阅读:224来源:国知局
一种基于Web引擎的远程过程调用系统及实现方法
【专利摘要】本发明公开了一种基于Web引擎的RPC系统及实现方法,应用于包括RPC请求方和RPC服务方构成的RPC系统中,RPC请求方包括Web应用和RPC服务支撑环境,RPC请求方执行以下步骤:Web应用向RPC服务支撑环境发起RPC请求,RPC请求包括多种请求结果的回调函数;RPC服务支撑环境将RPC请求转发给RPC服务方,并等待应答信息;RPC服务支撑环境接收来自的RPC服务方的应答信息,并将请求结果返回给Web应用;Web应用根据所述请求结果调用回调函数,并进行相应的操作。本发明在Web引擎上运行的Web应用可以直接调用远程服务器上的过程实现来请求服务,充分利用网络中的服务资源,从而提高用户体验。
【专利说明】—种基于Web引擎的远程过程调用系统及实现方法
【技术领域】
[0001]本发明涉及Web领域,尤其涉及一种基于Web引擎的远程过程调用系统及实现方法。
【背景技术】
[0002]海计算(Sea Computing)为用户提供基于互联网的一站式服务,是一种最简单可依赖的互联网需求交互模式。用户只要在海计算输入服务需求,系统就能明确识别这种需求,并将该需求分配给最优的应用或内容资源提供商处理,最终返回给用户相匹配的结果。
[0003]云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
[0004]随着海云计算的发展,Web引擎居于越来越重要的地位,基于Web引擎的Web应用发展越来越快,尤其是随着HTML5的发展和完善,Web应用具有了更多之前只有本地应用才有的特性,比如多线程,音视频播放,Socket通信,Notification,数据库操作等等。Web应用大有取代传统的本地应用的趋势。远程过程调用(Remote Procedure Call, RPC)是一种可以在本地机器上直接调用远程过程的方法,一直在基于本地应用的分布式计算中被广泛采用。相比于Web应用,本地应用有开发速度慢,周期长,应用稳定性、健壮性差等缺点。随着Web应用逐渐替代本地应用,在海云计算中,要让计算功能比较弱的终端能够快速执行复杂的Web计算,充分利用海云中的其它终端资源,让Web引擎支持RPC远程过程调用,对于Web应用的集群及分布式计算具有重要意义。

【发明内容】

[0005]本发明的目的在于,让Web引擎上运行的Web应用可以直接调用远程服务器上的过程实现来请求服务,充分利用海云环境中的服务资源,从而提高用户体验。
[0006]为实现上述目的,一方面,本发明提供了一种基于Web引擎的RPC实现方法,该方法应用于包括RPC请求方和RPC服务方构成的RPC系统中,所述RPC请求方包括Web应用和RPC服务支撑环境,所述RPC请求方执行以下步骤:
[0007]所述Web应用向所述RPC服务支撑环境发起RPC请求,所述RPC请求包括多种请求结果的回调函数;
[0008]所述RPC服务支撑环境将所述RPC请求转发给所述RPC服务方,并等待应答信息;
[0009]所述RPC服务支撑环境接收来自所述的RPC服务方的应答信息,并将请求结果返回给所述Web应用;
[0010]所述Web应用根据所述请求结果调用回调函数,并进行相应的操作。
[0011]另一方面,本发明提供了一种基于Web引擎的RPC系统,该系统包括RPC请求端和RPC服务端,所述RPC请求端包括Web应用和RPC服务支撑环境。
[0012]Web应用用于负责向RPC服务支撑环境发起RPC请求,同时负责根据应答信息调用回调函数,并进行相应的操作。[0013]RPC服务支撑环境用于负责向RPC服务端转发Web应用的RPC请求,以及接收来自RPC服务端的应答信息。
[0014]RPC服务端用于接收来自RPC服务支撑环境的RPC请求,并对其进行解析,执行相应的操作,并将操作的结果返回给RPC服务支撑环境。
[0015]本发明的有益效果在于,通过直接调用远程服务器上的过程实现来请求服务,可充分利用网络中的资源;通过在Web应用上进行RPC调用,相比于现有基于本地应用的RPC调用,其调用方式更加简单。
【专利附图】

【附图说明】
[0016]通过以下结合附图以举例方式对本发明的实施方式进行详细描述后,本发明的其他特征、特点和优点将会更加明显。
[0017]图1为本发明实施例提供的一种基于Web引擎的远程过程调用实现方法流程示意图;
[0018]图2为本发明实施例提供的一种基于Web引擎的远程过程调用系统结构示意图;
[0019]图3为本发明实施例提供的一种基于Web引擎的远程过程调用系统信息交互示意图。
【具体实施方式】
[0020]下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
[0021]图1为本发明实施例提供的一种基于Web引擎的远程过程调用实现方法流程示意图,该方法应用于包括RPC请求方和RPC服务方构成的RPC系统中,该RPC请求方包括Web应用和RPC服务支撑环境。如图1所示,该方法包括步骤101-步骤104。
[0022]在步骤101,Web应用向RPC服务支撑环境发起RPC请求,所述RPC请求包括多种请求结果的回调函数。
[0023]Web应用是指用标准的HTMUJavaScript或CSS脚本语言实现的Web应用。Web应用通过提供的RPC服务方的域名或IP地址以及服务端口号来建立一个连接,由于当前Web引擎支持HTML5的WebSocket,因此可采用WebSocket的连接方式来建立Web应用与RPC服务支撑环境的连接。例如,一个RPC服务方的连接URI(Uniform Resource Identifier,通用资源标识符)格式为ws://example, com:port,其中ws代表WebSocket协议,example.com是服务方域名,port是服务方的服务端口号。
[0024]以下通过JavaScript脚本语言片段进行说明:
[0025]JavaScript脚本语言片段如下所示
[0026]
【权利要求】
1.一种基于Web引擎的RPC实现方法,应用于包括RPC请求方和RPC服务方构成的RPC系统中,所述RPC请求方包括Web应用和RPC服务支撑环境,其特征在于,所述RPC请求方执行以下步骤: 所述Web应用向所述RPC服务支撑环境发起RPC请求,所述RPC请求包括多种请求结果的回调函数; 所述RPC服务支撑环境将所述RPC请求转发给所述RPC服务方,并等待应答信息; 所述RPC服务支撑环境接收来自所述的RPC服务方的应答信息,并将请求结果返回给所述Web应用; 所述Web应用根据所述请求结果调用回调函数,并进行相应的操作。
2.根据权利要求1所述的方法,其特征在于:所述Web应用通过JavaScript脚本语言与所述RPC服务方建立RPC连接。
3.根据权利要求1所述的方法,其特征在于:所述RPC服务支撑环境与所述RPC服务方之间制定通信协议,提供与所述RPC服务方的通信支持。
4.根据权利要求1所述的方法,其特征在于:所述Web应用包括由CSS、HTML和JavaScript脚本语言中一种或多种脚本语言实现的应用。
5.根据权利要求1所述的方法,其特征在于:所述Web应用与所述RPC服务支撑环境通过WebSocket的连接方式来建立连接。
6.根据权利要求1所述的方法,其特征在于:所述Web应用通过指定其协议的域名和端口号来确定RPC服务方。
7.根据权利要求1所述的方法,其特征在于:所述Web应用采用通用资源标识符的格式来指定RPC调用的接口定义。
8.一种基于Web引擎的RPC系统,包括RPC请求端和RPC服务端,所述RPC请求端包括Web应用和RPC服务支撑环境,其特征在于: Web应用,用于负责向所述RPC服务支撑环境发起RPC请求,同时负责根据应答信息调用回调函数,并进行相应的操作; RPC服务支撑环境,用于向所述RPC服务端转发所述Web应用的RPC请求,以及接收来自RPC服务端的应答信息; RPC服务端,用于接收来自所述RPC服务支撑环境的RPC请求,并对其进行解析,执行相应的操作,并将操作的结果返回给所述RPC服务支撑环境。
【文档编号】H04L29/08GK103885973SQ201210560751
【公开日】2014年6月25日 申请日期:2012年12月21日 优先权日:2012年12月21日
【发明者】胡琳琳, 段虎才, 孙鹏, 邓峰 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1