基于smq消息中间件的军事数据交换设计与实现

基于smq消息中间件的军事数据交换设计与实现

ID:27391995

大小:50.00 KB

页数:5页

时间:2018-12-03

基于smq消息中间件的军事数据交换设计与实现_第1页
基于smq消息中间件的军事数据交换设计与实现_第2页
基于smq消息中间件的军事数据交换设计与实现_第3页
基于smq消息中间件的军事数据交换设计与实现_第4页
基于smq消息中间件的军事数据交换设计与实现_第5页
资源描述:

《基于smq消息中间件的军事数据交换设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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

2、,支持多种接口调用。本文提到的SMQ消息中间件是在普通消息中间件基础上我们自行开发的中间件,本文主要结合项目,讨论了如何在军事数据交换中使用到的SMQ的关键技术实现。SMQ在整个系统中的结构如图:图1SMQ消息中间件在系统中的应用2系统实现的关键技术2.1采用异步传输机制我们自己开发的SMQ消息中间件,主要是通过Tcp/ip协议实现数据传输,通过ip地址寻找目的服务器地址,只要有足够的时间使Tcp/ip保持联通状态,所传输的XML文件就发送给消息队列管理服务器,消息队列服务器将文件消息存放在若干队列中,在合适的时候再将消息转发给接收者。这种模式下,发

3、送和接收是异步的,发送者无需等待;二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信:对于一个消息可以有多个接收者。这两个应用可以在同一台机器上,也可以在由局域网或广域网所连接的不同机器上。如下图,是本文作者举的一个关于在项目开发中用到的P-T-P图例:图2SMQ消息中间件的P-T-P实现框架2.2SMQ采用多线程方式线程是操作系统分配处理器时间的基本单元,线程都维护异常处理程序、调度优先级和一组系统用于在调度该线程前保存线程上下文的结构。应用系统与消息队列管理服务器,消息队列管理服务器与接收应用系统

4、之间进行通信,必须尽可能快地对应用系统的需求作出反应,完成相关请求,并将请求快速返回,多线程是一种最为强大的技术。实际上,真正需要传输的数据大都属于多节点上的分布式异构数据。因此在SMQ上采用多个线程处理机制,其中每个线程对应处理一个用户的请求,其中重要包括以下:1)服务器同时监听多个客户端对目的服务器的数据通信请求;2)服务器与客户端的网络通信;3)服务器对消息队列的管理。这些线程的启动和停止,SMQ通过smq_services.conf文件进行配置:#“#”为2.3快速的软件开发模式SMQ以DLL的方式向用户提供多个调用API接口函数和两个结构类

5、型,用户可以调用这些接口和结构实现SMQ提供的创建和删除消息接收队列、发送消息、接收消息等功能,同时SMQ也支持通过java接口方式进行调用,为此,SMQ主要提供以下文件:smq_dll.dll,smq_dll.lib和smq_user_both.h,smq_dll.h,实现SMQ的接口函数管理:表1部分功能接口表动态连接库接口名称功能格式使用接收队列创建创建消息接收队列SMQ_CreatQueue在本地建立消息接收队列接收队列删除删除消息接收队列SMQ_DeleteQueue删除指定名称的接收队列和其中的所有消息消息发送处理来自用户进程的调用,将消

6、息发送到指定队列SMQ_SendMessage将消息发送到指定队列消息接收从相应的接收队列中接受消息并将该消息从接收队列中删除SMQ_RecvMessage根据消息的实际大小,可以判断消息的存放位置:1)文件形式;2)缓冲区接收队列清除清除指定接收队列的消息SMQ_ClearQueue清楚指定队列和相关消息接收队列查询查询指定接收队列的相关信息SMQ_QueryQueue显示接收队列的相关信息本地发送队列查询查询本地所连接发送队列名称SMQ_QuerySendQueue显示本地所连接服务器的接收队列信息接收队列列表查询查看当前队列的下一个队列消息SM

7、Q_QueryQueueNext显示接收队列的下一个队列信息消息查看查看接收队列中的消息内容SMQ_PeekNextMessage显示接收消息下一条消息的信息服务器连接通过主机信息连接到服务器SMQ_Connect()通过IP,port连接到服务器断开服务器断开与本地的服务连接SMQ_Disconnect()断开服务器连接服务器连接状态判断判断与本地服务器的连接状态INT32SMQ_isConnect()判断本地与服务器的连接状态2.4适合军事数据库的分布和异构特点目前的军事数据库系统基本上都是分布式异构数据库,主要存在(1)由源数据的数据库系统、军

8、事训练模拟系统以及操作平台的不同,导致了系统异构,(2)来自与不同的数据管理软件(如:oracle、SQLS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。