[发明专利]基于BOOST的出站式RFI/RMI服务实现方法及通信系统有效
申请号: | 201210521645.0 | 申请日: | 2012-12-06 |
公开(公告)号: | CN103019820A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 侯绍东 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 深圳市博锐专利事务所 44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 boost 出站 rfi rmi 服务 实现 方法 通信 系统 | ||
技术领域
本发明涉及计算机网络通信技术领域,尤其涉及一种基于BOOST的出站式RFI/RMI服务实现方法及通信系统。
背景技术
Sun Java RMI(Remote Method Invocation)是一项由客户端向服务器发起连接,发送请求并得到应答的信息交互技术。在分布式服务情况下,由接入计算机提供应答服务,并由中心调度计算机发出请求。在分布式计算模型中,当计算节点需要动态扩展时,中心节点无法直接获得计算节点的连接地址,故需要由计算节点向中心节点发起连接同时提供服务接口,其具体的实现步骤是:1)计算节点向中心节点发起连接;2)中心节点发出握手请求,计算节点返回基本信息,完成握手;3)中心节点将远程服务的调用参数编码成数据流,通过网络将服务请求发送到计算节点;4)计算节点提取请求参数,调用本地服务,将计算结果编码成数据流,发送回中心节点。其中,基于会话的请求需要计算节点维护中间状态或锁定计算资源,这种情况下,需要将上面的服务封装成基于会话的资源管理器,在会话阶段持续维护计算所需的资源(如文件)和计算的中间结果。由于C++语言没有提供反射机制,即使开启了RTTI(运行时类型信息),也只能为类提供部分运行时特性,无法为程序提供自描述能力。WCF由于部署较为麻烦,且效率不如C++高。RCF和WCF一样,只提供了入站式的服务,并且不支持持续会话。而用传统的设计方式实现上述的通信过程中,通信双方耦合性很大,信息交互的时间长,降低了通信的可靠性。
发明内容
本发明提出了一种基于BOOST的出站式RFI/RMI服务实现方法及通信系统,能够解决客户端远程调用所需要的函数契约问题,能够提高客户端与服务端间的通信灵活度,极大简化客户端的调用程序,增加通信的可靠性。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于BOOST的出站式RFI/RMI服务实现方法,包括如下步骤:
S01、中心节点接收计算节点发出的请求连接信号,所述中心节点对请求连接信号处理后向计算节点发送握手请求;
S02、中心节点接收计算节点的握手应答后,利用第一代理函数将中心节点的服务函数中远程调用服务参数序列化后生成参数输入流,并将包含有服务函数名和序列化远程调用服务参数的参数输入流发送至计算节点;
S03、计算节点接收中心节点发送的参数输入流,并根据参数输入流中的函数名查询服务函数的第二代理函数,并利用第二代理函数将序列化的远程调用服务参数反序列化,调用服务函数,计算反序列化后远程调用服务参数的结果并输出远程调用服务参数,利用第二代理函数对远程调用服务参数的结果进行序列化后,生成包含结果序列与输出参数的参数输出流,其中,第一代理函数及第二代理函数均由代理函数模板生成,第一代理函数与第二代理函数相对应,代理函数模板由基于boost库中的迭代宏递归定义;
S04、计算节点将参数输出流返回给中心节点并由中心节点对参数输出流进行处理,通信结束。
其中,步骤S03中还包括判断远程调用服务参数的类型,若接收的参数输入流中的参数类型与计算节点中服务函数相应的参数相同,则根据该参数计算出对应的计算结果,并返回结果真;若接收的参数与服务函数中的参数不同,则停止计算结果,并返回结果假。
其中,所述步骤S03中,所述代理函数的生成,包括如下步骤:
S21、生成代理函数的模板文件并定义迭代宏,该迭代宏包含全部的远程服务调用参数个数;
S22、代理函数模板文件根据迭代宏中的远程服务调用参数生成指定参数个数的代理函数模板;
S23、调用生成代理函数模板时,根据服务函数的自动匹配参数个数和参数类型,并生成相应的代理函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210521645.0/2.html,转载请声明来源钻瓜专利网。