背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

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

[日期:2008-09-12] 来源:  作者: [字体: ]
摘  要 本文重点介绍了基于消息中间件的一般特性,我们自行开发的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中的任何内容则可。
12下一页  GO
阅读:
录入:中国论文联盟

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
免费论文搜索


本周热门内容