论文部分内容阅读
数据分发服务(DDS)是由对象管理组织(OMG)发布的分布式实时通信中间件规范。其以数据为中心的通信将发布端和订阅端解耦合,具有高效的实时传输能力,并提供丰富的QoS策略,被广泛应用在实时分布式系统中,提供发布/订阅式通信。然而在大型分布式系统中,通常需要一种以上的通信方式。DDS擅长一对多的发布/订阅式信息传播,却难以提供请求/应答式通信和远程方法调用的语义。若在一个系统中同时使用两个或两个以上中间件,不仅会增加系统复杂性,使系统难以维护,还会增大系统开销。针对该问题,论文提出了基于DDS的远程过程调用(RPC)机制。该机制以DDS作为底层通信为用户提供请求/应答语义,通过接口定义的方式描述服务器提供的服务,支持远程方法调用。论文主要工作有:1.提出RPC over DDS的实现方案及其关键机制,向上层应用提供具有远程过程调用语义的服务。论文在研究DDS和RPC的通信特点的基础上,根据OMG组织发布的RPC over DDS规范设计系统的整体架构,并提出其中的关键机制,包括:基于接口的服务表示方法,请求/应答和发布/订阅语义的映射机制,具有信息过滤和请求、应答关联功能的通信机制,以及基于SDP协议并解决了“竞争条件”问题的服务绑定机制。2.基于提出的RPC over DDS实现方案,利用信息集成管理软件,设计并实现RPC over DDS原型系统。该原型系统包括四个模块:客户端处理模块为用户提供方法调用服务;服务器端处理模块为服务器提供接受请求和处理请求等服务;异常处理模块管理系统产生的异常;协议处理模块负责对客户端和服务器端数据进行序列化和反序列化,并封装所要发送的信息,从而实现了基于DDS的远程过程调用通信。3.对基于DDS的远程过程调用原型系统进行功能测试和性能测试,验证了 RPC over DDS的有效性和正确性。实验结果表明RPC over DDS原型系统可利用DDS实现高效的远程过程调用开发和运行。