找论文网 > 计算机论文 > 计算机应用 >

基于SMQ消息中间件的军事数据交换设计与实现(1)

摘  要 本文重点介绍了基于消息中间件的一般特性,我们自行开发的SMQ消息中间件在分布式异构数据交换中的应用,以及在开发过程中,系统设计的关键技术实现。为今后军事数据的网络共享实现,提供了相关的技术支持。
    关键字 SMQ;消息中间件;数据交换
 
1  问题的引入
    SMQ消息中间件服务是数据库之间实现数据交换的核心部分,它主要通过接口与应用程序连接,它负责监听应用系统发出的对目的数据库管理的连接请求,分析应用系统的需求,根据应用系统对接口的调用访问目的数据库系统,并负责发送,和缓存文件消息,SMQ采用的是异步通信传输,支持多种接口调用。本文提到的SMQ消息中间件是在普通消息中间件基础上我们自行开发的中间件,本文主要结合项目,讨论了如何在军事数据交换中使用到的SMQ的关键技术实现。SMQ在整个系统中的结构如图:

图1  SMQ消息中间件在系统中的应用
2  系统实现的关键技术 2.1 采用异步传输机制
    我们自己开发的SMQ消息中间件,主要是通过Tcp/ip协议实现数据传输,通过ip地址寻找目的服务器地址,只要有足够的时间使Tcp/ip保持联通状态,所传输的XML文件就发送给消息队列管理服务器,消息队列服务器将文件消息存放在若干队列中,在合适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信:对于一个消息可以有多个接收者。这两个应用可以在同一台机器上,也可以在由局域网或广域网所连接的不同机器上。如下图,是本文作者举的一个关于在项目开发中用到的P-T-P图例:

图2  SMQ消息中间件的P-T-P实现框架
2.2  SMQ采用多线程方式
    线程是操作系统分配处理器时间的基本单元,线程都维护异常处理程序、调度优先级和一组系统用于在调度该线程前保存线程上下文的结构。应用系统与消息队列管理服务器,消息队列管理服务器与接收应用系统之间进行通信,必须尽可能快地对应用系统的需求作出反应,完成相关请求,并将请求快速返回,多线程是一种最为强大的技术。实际上,真正需要传输的数据大都属于多节点上的分布式异构数据。因此在SMQ上采用多个线程处理机制,其中每个线程对应处理一个用户的请求,其中重要包括以下:
    1)服务器同时监听多个客户端对目的服务器的数据通信请求;
    2)服务器与客户端的网络通信;
    3)服务器对消息队列的管理。
    这些线程的启动和停止,SMQ通过smq_services.conf文件进行配置:
   
    # “#”为注释行。其中udp-detector是网络通断线程信息,tcp-listener是TCP消息接收和发送线程信息,smq-user是用户调用接口线程。一般如果接收端口没有冲突的情况下,不用修改smq_services.conf中的任何内容则可。

共2页: 1 [2] 下一页


基于ESMTP的水文数据共享方法设计与实现
语音合成技术及其应用
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图