论文部分内容阅读
本文主要针对COM组件模型中客户与组件间如何通信这个问题进行了深入分析与研究,两者间以接口的形式通信,其通信机制屏蔽了底层的网络通信协议,提供了一个应用级的通信平台,可以很好的完成客户与COM组件间的双向通信。 但在群组通信中,COM无法实现多个客户之间的直接通信。根据COM的可连接点机制,一个客户对服务器的通信内容可以转发给与服务器连接的其他客户,所以,本文引入会话空间的概念,在服务器中加入会话期对象和会话期管理对象,通过服务器中转实现同一会话空间中客户之间的多点通信。 另外,群组通信中往往面对的是更加复杂的多服务器系统。在多服务器系统中,COM通信虽然可以通过手工配置来设定远程服务器的位置,实现静态的负载平衡,但尚未实现服务器的动态负载平衡,这也大大的限制了COM的透明程度。本文通过在客户与服务器间增加调度器模块,构成三层客户/服务器体系结构,实现动态的负载平衡,同时也增强了COM的位置透明性。本文还提出了一种可行的负载平衡策略及平衡算法,并对系统的容错性进行了分析,给出了解决方法。 在COM群组通信的实现方面,综合考虑以上两个问题,初步设计了客户机、调度器和服务器中应实现的主要功能和接口调用。 本文的主要研究成果如下: (1)深入分析模拟了COM底层通信的实现原理与技术; (2)给出了群组通信模型,引入会话空间的概念,在服务器中加入会话期对象和会话期管理对象,实现了客户间的多点通信及管理; (3)探讨了多服务器系统中的动态负载平衡和容错性问题,设计增加了调度器模块,考虑了主要的负载平衡策略、算法及容错性的处理; (4)初步设计了实现多点通信时客户、调度器及服务器应支持的主要功能及接口调用,讨论了各接口之间的调用关系。