论文部分内容阅读
消息中间件是中间件的一个重要分支,它为分布式应用系统的开发提供了一个异步、松耦合的编程架构,其思想与现代软件技术的发展趋势相吻合,因而在工业界被广泛地应用于企业应用整合和分布式计算。消息总线是消息中间件的一种简单实现,但以其独特的优势为各种分布式应用的开发注入了强大的动力,极大地推动了应用系统集成的发展。消息总线主要负责建立网络通信的通道,其优点在于能够在客户和服务器之间提供同步和异步的通信机制,适用于需要在多个进程之间进行通信的分布式环境,而且容易实现跨平台操作,为不同操作系统上的应用软件集成提供服务。因此,基于消息总线的上层应用就可以专注于具体业务逻辑的设计与开发,从复杂的网络通信处理中解放出来,简单而且高效的实现分布式可扩展的应用系统。本论文中主要对消息总线服务器中涉及的两个关键问题—并发模型和内存管理机制进行深入研究,设计提出了基于ACE并发服务组件的多线程并发模型和池式内存分配方案,并在消息总线MTBus系统的设计中得到应用。第一章概述部分对于ACE通信框架和中间件及消息总线技术做个总体的介绍,之后介绍了基于消息总线架构的移动智能网网管系统,总结了目前该系统中消息总线存在的缺点,指出了MTBus系统设计的出发点。第二章总体上阐述了MTBus系统的设计目标和功能定义,并对系统总体设计进行了介绍。MTBus系统在结构上包含两个部分,消息服务器和客户端API。消息服务器实现客户端消息的转发、名字信息管理、消息监控和消息流持久化等功能。客户端API对底层网络通信进行了封装,为上层应用提供了同步和异步通信的接口。第三章详细介绍了MTBus系统服务器子系统的各个核心模块的设计和实现,包括通信消息、底层通信模块、名字信息管理模块、消息池管理器以及消息处理模块。第四章阐述了对MTBus系统设计中三个难点技术的研究,并提出了相应的解决方案。服务器并发模型采用半同步/半异步的结构,采用具有优先级的消息池作为排队层,采用多线程反应器作为异步层组件,结合池式内存管理,实现了高处理性能、高稳定性的设计目标。第五章对MTBus系统性能进行整体的测试,同时阐述了MTBus系统在网管系统中的应用和存在的一些局限。此外,消息总线系统MTBus所采用的客户端API与已有的消息总线MRB保持一致的接口,因此已有的基于MRB的应用可以平滑的迁移到MRBMTBus系统上。目前,该系统已经在移动智能网网管系统和彩铃业务质量评价系统中得到应用,现网使用反馈进一步说明了MTBus系统具有较高的并发处理能力,有效的防止了由于消息通信集中导致的消息爆发所带来的消息传输失败的情况。同时,MTBus系统服务器提供了丰富的操作维护功能,可以帮助用户更好的控制和管理通信过程。