论文部分内容阅读
本文是作者在参与国内某交易中心新一代交易系统开发过程中,根据项目实际而完成。该交易系统采用消息中间件技术作为分布式系统节点间消息可靠传递的关键技术。但目前市场上较成熟的消息中间件产品规模庞大、价格昂贵、使用复杂,功能上缺乏针对证券交易数据的针对性和灵活性。本文针对这些问题,通过研究现有的技术思想与方案,结合分析证券交易业务数据交换协议的消息格式,对消息中间件进行模块化、层次化设计,提出面向证券交易数据的轻量级消息中间件。文章详细介绍了该消息中间件的整体架构和模块划分,系统阐述了接口模块、通信模块和消息处理模块的具体设计;并着重分析了消息队列、通讯机制、消息压缩算法、消息持久化方式和容错处理等实现要点。本文为提高消息中间件的性能,从消息传输效率及可靠性、I/O性能、负载均衡、系统复杂度和可扩展性等方面进行研究和创新:引入Java NIO技术和MINA框架作为消息中间件通信模块的实现基础;设计两点间同步通讯、三点间借助消息队列“存储-转发”机制异步通讯的方案;利用证券交易数据的特点,提出基于消息模板/域转换的二进制化方法和独立信源模型;采用“邮箱式”消息队列,利用消息队列实现负载均衡;引入单日/多日消息队列的概念,设计和实现有读/写缓存的基于文件存储的消息持久化方法。基于上述研究和创新设计,本文实现了面向证券交易数据的轻量级消息中间件。该消息中间件层次清晰,屏蔽复杂网络协议,模块功能明确、可移植性强,便于上层应用软件开发者使用其实现的功能和封装的接口;实现不同系统间证券交易数据的高效可靠传输,有较强专业性和灵活性,对其他类似系统有借鉴价值。性能测试和分析也表明:本文所实现的轻量级消息中间件,整体表现稳定,消息传输安全高效,有较好的性能和实用性。