论文部分内容阅读
信息化的高速发展以及分布式系统的广泛应用推动了中间件的快速发展与应用,消息中间件作为企业级应用最为广泛的中间件,凭借其高效可靠的消息传递机制为信息的传输提供了有力保证。消息中间件消除了底层操作系统、数据库和网络协议的差异,同时使程序员不必考虑应用软件间的差异。在Java消息服务(Javamessage service,JMS)未出现之前,各种消息中间件没有统一的标准,导致各个消息中间件之间不能相互进行通信,严重影响了其应用移植。JMS的出现改变了各种消息中间件间难互通的局面,它为消息传输提供了统一接口,提高了消息传递的效率。JMS消息中间件与之前的消息中间件相比,虽然它解决了互连互通的问题,但是仍存在着不能短时间快速处理大量消息的问题。如何保证大量消息快速传输,又不影响消息服务器的性能,成为了消息中间件的关注热点。
本论文在研究消息中间件技术的基础之上,设计了一个JMS消息中间件模型。该模型中设置多个消息服务器,采用路由模式在服务器间传递消息,运用多种队列方式控制消息的拥塞,提供了一个完整的消息传递服务。在此模型基础上实现了这个JMS消息中间件,接着通过实验证明了该消息中间件是可行的。
以上实现的消息中间件遵循JMS规范,但没有提供灵活的消息过滤机制。本文在分析了计数法、公平谓词法、匹配树三种发布/订阅模式下的消息过滤算法的优缺点基础上,提出了一种改进的基于JMS的消息过滤算法。该算法的思想是在快速处理大量消息的时候,可能存在着许多相同或相似的订阅,以此为突破口来解决消息过滤问题。
最后以Myeclipse为实验平台,对实现的消息中间件进行性能测试,通过设置三种不同的阈值,分别表示消息订阅的相似度为较低、一般、较高三个层次来进行大量消息处理实验。最终实验表明该中间件在短时间处理大量相似度较高的消息数据情况下有比较明显的优势。