论文部分内容阅读
在计算机网络技术的发展和分布式应用迅速普及的背景下,将应用从客户端/服务器模型向客户端/中间件服务器/数据库服务器三层模型进行转移已成为用户的迫切需求,也是当今计算机技术发展的一个主流趋势。而主要部署于三层模型中的客户端和中间件服务器上的消息中间件(MOM,Message Oriented Middleware)是一种利用高效可靠的消息传递机制进行与平台无关的数据通信,并基于数据通信来进行分布式系统集成的软件。目前,消息中间件是中间件范畴中发展最快的中间件类型之一。本论文在对消息中间件相关技术讲行理论分析和技术研究的基础上,设计实现了一个简单实用的消息队列中间件(MQM,Message Queue Middleware),其主要功能是在应用程序之间提供可靠的消息传送,支持TCP/IP协议。并在TCP/IP通信协议基础上,实现了消息队列的位置无关性、用户通信的透明性。本消息队列中间件系统主要由应用程序编程接口、队列管理器、消息探测器、日志管理、安全管理、系统管理和消息传输代理MTA模块组成。在提出了位于传输层之上的自定义传输协议后,本文详细介绍了三个主要模块即队列管理器模块、消息传输代理MTA模块和应用程序编程接口模块的设计和实现。根据传统消息中间件在信息安全方面存在的隐患,本消息队列中间件提出了一整套包括明文加密、数字签名、队列操作权限的安全策略;并提出了有效的多路线程分离策略,可使上层应用程序达到实现过程中资源开销的最小化与实现的简洁化;为应用层提供的每条消息触发、多条消息触发和有特定优先级的消息触发,三种消息队列触发策略可有效激活处于休眠状态的应用程序;通过信号量和队列的上限进行控制与阻塞的拥塞控制策略,协调一致了服务端与客户端处理模块的速度,更好地保证了系统整体的稳定性;专门的失败发送线程机制,可以使普通的发送线程得以继续调度其它正常连接,进行正常的数据发送工作,不影响系统整体工作效率。本消息队列中间件是基于Socket技术实现网络通信的,因此本文还深入研究了Socket通讯原理与技术,并通过测试得出对Socket传输性能影响较大的套接字个数、传输延时、传输块大小、套接字接收缓冲区和套接字发送缓冲区五个参数的最优设置,优化了系统的传输性能。