APP下载

基于JMS的数据交换平台研究

2016-09-10贺德富苏喜生方景帅

计算机与数字工程 2016年8期
关键词:消息监控中心

贺德富 苏喜生 方景帅

(军事经济学院军需系 武汉 430035)



基于JMS的数据交换平台研究

贺德富苏喜生方景帅

(军事经济学院军需系武汉430035)

数据交换平台是打通系统数据链路、实现信息互通的关键。为统一管理对外分发的所有实时数据,支持二次生成和按需分发,需修改消息中心接入端。接入端向服务总线提出申请,经服务管理平台认证,根据定制生成订阅信息后,再交由消息中心分发。新的数据交换平台针对不同业务系统的技术和体系结构,配置数据交换映射关系,通过消息主题区别不同数据的主题应用范围,实现了异构数据库之间的数据集成。

数据交换; JMS; 订阅分发

Class NumberTP311

1 引言

近年来,政府和企业从实际需求出发建设了大量的信息系统,推动了我国信息化建设。但不可否认,众多的信息系统遵循了不同的标准和规范,造成上下级之间、同级不同部门之间数据不能直接访问,导致数据不能共享、信息不能互通,出现了信息“孤岛”[1]。解决这些问题,必须研发数据交换平台和数据转换构件,打通系统间数据链路[2],横向方面要支持多业务系统接入,纵向方面要构建各专业的应用,实现业务管理全范围、全领域、全过程的统一管理,进一步提高信息化管理水平。

2 实时数据订阅/分发管理改进模型

目前软件系统数据分发流程比较典型的有两种[3~4]:一种分发过程相对简单,即由数据处理生成待分发的信息,直接通过汇集分发中心按条件进行外部分发。这种系统处理流程,仅有数据处理生成的综合数据,缺少对对外分发信息的统一管理和二次生成环节,在细节上难以满足多个外部系统的特殊需求;另一种在数据交换平台中增加了对外分发数据二次生成和管理的模块,分发的要求更高更复杂,能满足信息内容、发送频率等各不相同的多个的外部系统的需要。但这种较为复杂的数据分发模型存在功能划分模糊、流程不清晰,并且可能带来原有软件臃肿庞大等问题。

本项目设计了一个单独的实时数据对外订阅/分发管理软件,专门处理外部系统对实时数据的定制订阅请求,生成定制数据,实现对外分发所有实时数据的统一管理,并支持二次生成和按需分发。新的处理模型如图1所示:

图1 实时数据订阅/分发管理改进模型

3 基于JMS的数据交换平台物理架构

JMS(JAVA Message Service),是SUN公司开发的一个开放性的应用编程接口,它为Java程序提供了一种产生、发送、接收和读取消息系统的一般方法,其目的是提供给消息系统客户一个固定接口,而且与底层的消息提供者无关[5]。自推出以来得到业界的广泛承认,已经成为一种事实上的标准。许多知名厂商都在JMS规范的基础上,研发了各自的JMS产品[6],如IBM公司开发的MQSeries、Apache组织发布的开源的ActiveMQ、我国东方通公司开发的TongLINK/Q[7]等。

一般订阅/分发模式的“消息中心”架构为星形拓扑,所有的发送端都向“消息中心”发送数据,所有的接收端都从“消息中心”接收数据。但本项目中,由于增加CDMA无线网络[8],且按照改进模型,需要对数据进行二次加工,更要进一步加强用户、安全等方面的管理,因此必须对数据交换平台进行优化和完善,重点修改接入端。原接入端直接逻辑连接至消息中心,由消息中心按照各接入端订阅信息进行分发。新接入端,向服务总线提出申请,由服务管理平台进行认证,定制订阅信息后,交由消息中心管理。系统物理连接结构如图2所示。

消息中心配置在政府或企业总部,包括单节点交换中心和多节点交换中心。消息中心提供订阅/分发的功能[9],通过订阅/分发,为应用提供一种透明的信息发布和信息消费框架。消息的发布者只负责发布信息的收集,并通过一个公共“主题”来表示这个消息,消息的订阅者通过公共主题来订阅需要的消息,当有订阅“主题”的消息发布时,消息自动发送给订阅者。订阅者与发布者可以分布在一个节点上,也可以分布在不同的节点上。通过订阅/分发功能,可以实现消息的广播,当一个发布者发布某个主题信息时,消息中心系统将会将此主题信息广播给所有订阅了此主题的订阅者。这样,同一个部门不同的软件系统之间依靠消息主题实现通信,一个软件系统的上下级应用之间依靠信息的单位代码实现通信。消息主题与单位代码结合,可实现全部门、多领域的信息通讯和数据共享。

图2 系统物理结构图

消息队列是消息存储的地方,消息在收发过程中一直存储于队列中,持久的消息存放在磁盘等硬介质上,系统重启恢复时能够被恢复出来;非持久的消息存放在内存上,系统恢复时不能被恢复。

新的数据交换平台,跨平台跨网络,应用方便接入,具有以下主要特点: 1) 通过消息中间件,分布式应用程序或组件之间可降低耦合度; 2) 支持节点间断点续传,提供节点间按需连接、常连接两种通道连接模式; 3) 支持客户端-服务端、服务端-服务端等分布式应用部署方式,提供点对点、路由转发、发布订阅等多种数据传输模式; 4) 提供持久化可靠保障机制,确保在系统宕机情况下消息可恢复、不丢失; 5) 提供C、Java等多种编程语言接口,支持JMS规范,极大缩短应用系统的工程建设周期; 6) 提供传输安全机制,涵盖了对国密算法的支持; 7) 支持国产芯片、国产操作系统和国产服务器。

4 数据交换流程

源业务系统的数据经过数据提取子系统,自动转换生成标准格式的XML文件,进入发送子系统,全部进入数据交换中心,再由数据交换中心根据文件订阅需求,自动将文件按目标服务器注册名、消息主题发送至目标服务器指定数据存储目录,最后由接收子系统按设定的ETL规则将数据载入到目标业务系统[10],完成数据交换与转换。数据交换总体流程如图3所示:

图3 数据交换总体流程图

4.1断点续传

针对部分单位网络和CDMA无线信号不稳定等情况,交换平台设计时增加断点续传功能[11],消息在传输过程中,不论是系统非正常关机或网络意外中断,消息都将仍保留在消息队列中,等待系统恢复后,消息将从传输失败点继续发送,而不是整个消息重新发送。断点续传机制可以有效减少高故障率网络上的冗余通讯量。在高故障网络上进行重传,会导致反复的失败重传,保证消息的可靠性。

4.2流量控制

消息中心提供流量控制功能,在传输的过程中,消息中心可以根据设置将消息拆分为不同的小块,在网络上进行传输,传输到目的端后再重新组织为完整的消息。每个小块的大小可以根据网络带宽和网络质量的不同灵活设置,网络质量较高的系统,可以调大每个数据块的大小,以充分地利用网络带宽,网络质量较差的系统,可以相应调小每个数据块的大小,以减少对网络的压力。

4.3事务管理

消息中心提供消息的事务管理,多个消息发送和接收可包含在一个事务里,消息中心保证一个事务中的所有消息发送和消息接收的操作要么全部成功,要么全部失败[12]。失败的消息接收操作会将消息回退到队列中,等待下次的处理。

5 数据交换平台

根据改进模型,在交换平台设计初期,加强平台管理功能建设[13],为后续业务系统接入提供便利条件。

5.1接入端用户管理

接入点注册:在接入点向信息交换平台注册时,信息交换平台会自动检测接入点提供的属性信息是否正确,只有正确后,才可以注册,接入点才可以接入信息交换平台。

接入点配置:由于有很大一部分的业务系统早已开发完成,且采用的数据库不同,有Oracle、SQL Server、Sybase、Access等,各个业务系统根据实际需要,接入端的注册单位代码编制不同[14],定制不同的用户,将接入点发布到数据交换平台上。也可以根据业务系统自身不同的数据种类定制不同的接入点,这样既最大限度地提供了各业务系统数据的共享,也保证了各业务系统数据的安全[15~16]。

5.2传输监控管理

传输监控的主要任务是对交换平台本身和流过交换平台的数据包进行观察与控制。主要包括如下三个方面: 1) 对数据流量和状态的监控。首先是对于所有通过信息交换平台进行交换的数据总量的宏观把握,其次是对每个通过信息交换平台的数据包状态的微观监控。通过监控功能,可以了解在指定时间内按照进入/转出、目的地/来源地、数据量大小等项目进行查询和统计。通过对数据状态的监控,可以追踪某一个指定数据的状态。 2) 对信息交换平台自身运行状态的查询和监控。即确认构成共享平台的各类软件运行实体的运行是否正常。以进程为例,监控的主要操作包括查询进程状态、停止进程、重新启动进程等。 3) 对信息交换平台的远程监控。通过监控命令的交换,对系统中的远端信息交换平台部件进行监控。

根据传输监控管理的需要,平台设计了五个功能模块: 1) 告警监控。主要展示在运行过程中,系统发生的异常信息,或者是系统资源监控时所记录的告警信息。并提供服务器和客户端告警信息查询,提供按照时间段来进行查询,能够方便地查看和删除日志信息。 2) 订阅监控。以图形化的方式展示数据订阅的过程。提供在消息生成、数据生成、数据上传、消息发布、数据下载、数据同步等各个时期数据包状态的监控,方便管理人员了解数据同步过程,以及数据同步的准确性。 3) 资源监控。以列表的形式展示客户端的资源使用情况,包括CPU使用率、内存使用率、磁盘使用率。当达到警戒值时,使用黄色字体标记。超过警戒值时会以红色字体显示。绿色字体表示正常。 4) 数据时效管理。通过配置传输数据的时效值,数据可以是持久的和有时效的,能够自动将过期的数据删除,减少对系统空间和内存的占用。 5) 图形监控管理。通过图形化方式,多模式统计查询数据发送、接收、达到等情况,对无效垃圾数据提供统计分析及处理功能。

5.3容错管理和日志管理

系统运行过程中,如果出现运行不正常或错误,系统核心进程会向日志文件中写入相关内容,以便系统维护人员对问题进行跟踪和诊断[17]。由于信息交换平台的运行记录不仅是进行监控的重要依据,还是进行审计的重要基础,因此根据监控的功能设计,必须实现相应的日志机制。

应用进程在运行过程中,如果出现故障,系统会通过错误码的方式将错误返回,用户可以通过错误码以及错误描述跟踪问题所在,以便及时修改应用程序或对系统的运行参数进行修改。用户还可以通过系统提供的工具,根据错误码查询错误的详细描述,如错误的原因、处理方法等。

6 结语

新建立的统一数据交换平台可以针对不同业务系统的技术和体系结构,配置各业务系统的数据交换映射关系,通过不同的消息主题区别不同数据的主题应用范围,相同主题下的数据可以相互传输,这样通过交换平台实现了各异构数据库之间的数据集成,保证异构数据库之间的数据交换与共享。

[1] 刘密霞,丁艺.基于顶层设计的电子政务信息资源共享研究[J].电子政务,2014(9):84-90.

LIU Mixia, DING Yi. The Research of E-Government Information Resources Sharing Based on Enterprise Architecture[J]. E-Government,2014(9):84-90.

[2] 黄瑛,邓东华,廖德利.基于ETL和JMS的数据同步的设计与实现[J].信息技术,2009(12):49-51.

HUANG Ying, DENG Donghua, LIAO Deli. Design and Implementation of Data Synchronization Based on ETL and JMS in Heterogeneous Database[J]. Information Technology,2009(12):49-51.

[3] 刘克雄.基于JMS的消息中间件模型的研究与实现[D].武汉:华中师范大学硕士学位论文,2011.

LIU Kexiong. Research and Implementation of JMS Based on Message-Oriented Middleware[D]. Wuhan: Central China Normal University Master’s Thesis,2011.

[4] 梁娟,熊桂喜,李静.电子政务中基于XML的关系异构交换技术[J].计算机与数字工程,2006(12):60-63.

LIANG Juan, XIONG Guixi, LI Jing. Data Exchange of Heterogeneous Relational Databases Based on XML in E-government[J]. Computer & Digital Engineering,2006(12):60-63.

[5] 戴俊,朱晓民.基于ActiveMQ的异步消息总线的设计与实现[J].计算机系统应用,2010,19(8):254-257.

DAI Jun, ZHU Xiamin. Design and Implementation of an Asynchronous Message Bus Based on ActiveMQ[J]. Computer Systems & Applications,2010,19(8):254-257.

[6] 纪彬,贺立,白广利,等.基于JMS的数据交换技术研究与实现[J].自动化技术与应用,2011,30(2):70-72.

JI Bin, HE Li, BAI Guanli, et al. Data Exchange Research and Implementation of JMS-based Technology[J]. Techniques of Automation and Applications,2011,30(2):70-72.

[7] 侯刚.消息中间件TongLINK/Q的应用[J].电脑知识与技术,2014,10(14):3280-3282.

HOU Gang. The Application of TongLINK/Q[J]. Computer Knowledge and Technology,2014,10(14):3280-3282.

[8] 黄立川,何宏,张锋.基于CDMA网络SMS的油料供应数据传输方案探讨[J].中国储运,2010(3):91-92.

HUANG Lichuan, HE Hong, ZHANG Feng. The Study of Oil Supply Data Exchange Based on CDMA Network SMS[J]. China Storage & Transport Magazine,2010(3):91-92.

[9] 李耿,朱美正.数据订阅分发技术的研究与实现[J].计算机工程与设计,2010,31(12):2876-2879.

LI Geng, ZHU Meizheng. Study and Realization of Data Subscription and Dissemination Technology[J]. Computer Engineering and Design,2010,31(12):2876-2879.

[10] 周茂伟,邓苏,黄宏斌.基于元数据的ETL工具设计与实现[J].科学技术与工程,2006,6(11):3503-3507.

ZHOU Maowei, DENG Su, HUANG Hongbin. An ETL Tool Design and Realization Based on Metadata[J]. Science Technology and Engineering,2006,6(11):3503-3507.

[11] 杨振东,何宏,袁兵,等.基于CDMA和JMS的后勤应用系统数据通信方案研究[J].后勤工程学院学报,2011(1):65-69.

YANG Zhendong, HE Hong, YUAN Bing, et al. Research on Data Communication in Logistic Application System Based on CDMA and JMS[J]. Journal of Logistical Engineering University,2011(1):65-69.

[12] 万军.基于JMS和XML的数据交换模型设计与实现[D].苏州:苏州大学硕士论文,2005.

WAN Jun. Design and Implementation of Data Exchange Model Based on JMS and XML[D]. Suzhou: Soochow University Master’s Thesis,2005.

[13] 金花,朱亚涛,靳志强,等.异步通讯机制下应用服务器与消息中间件整合的研究[J].河北农业大学学报,2009(4):112-115.

JIN Hua, ZHU Yatao, JIN Zhiqiang, et al. Research in the Integration of Application Server and Message Middleware Based on Asynchronous Communication Mechanism[J]. Journal of Agricultural University of Hebei,2009(4):112-115.

[14] 任开银,胡昊伟.分布式数据交换平台设计与实现[J].计算机与数字工程,2013,41(11):1850-1852.REN Kaiyin, HU Haowei. Design and Implementation of Distributed Data Exchange Platform[J]. Computer & Digital Engineering,2013,41(11):1850-1852.

[15] 王阵,彭来献,赵文栋.基于XML的数据链信息描述方案[J].军事通信技术,2014,35(1):59-63.

WANG Zhen, PENG Laixian, ZHAO Wendong. Solution to Data Link Information Description Based on XML[J]. Journal of Military Communications Technology,2014,35(1):59-63.

[16] 刘亚杰,周学广.基于物理隔离技术数据安全转发的模型[J].计算机与数字工程,2006,34(11):164-166.LIU Yajie, ZHOU Xueguang. A Data Safety Transmitting Model Based on Gap Isolation Technology[J]. Computer & Digital Engineering,2006,34(11):164-166.

[17] 蔡文青,李凡长.基于JMS和XML的数据交换模型设计[J].计算机工程与设计.2007,28(14):3529-3531.

CAI Wengqing, LI Fanzhang. Design of Data Exchange Model Based on JMS and XML[J]. Computer Engineering and Design,2007,28(14):3529-3531.

Data Exchange Platform Based on JMS

HE DefuSU XishengFANG Jingshuai

(Department of Quartermaster, Military Economics Academy, Wuhan430035)

Data exchange platform is the key to get through the data link and achieve information exchange. To unifiy manage all the external dissemination of real-time data, and support the second generation and on-demand dissemination, the access terminal must be modified. First the access terminal applies to the service bus. Second it must be certified by the service management platform. Third subscription information generates by user’s demands. At last it refers to message center management. To suit for different technologies and architectures of business systems, the new data exchange platform configures data exchange mappings and distinguish applied range by message subject. So the data between heterogeneous database is integrated.

data exchange, JMS, subscription and dissemination

2016年2月7日,

2016年3月25日

后勤信息化重点科研项目(编号:BS212R023)资助。

贺德富,男,博士,副教授,硕士生导师,研究方向:军需勤务与信息化。苏喜生,男,博士,教授,博士生导师,研究方向:后方专业勤务与信息化。方景帅,男,博士,研究方向:军需信息化。

TP311

10.3969/j.issn.1672-9722.2016.08.025

猜你喜欢

消息监控中心
剪掉和中心无关的
The Great Barrier Reef shows coral comeback
在打造“两个中心”中彰显统战担当作为
一张图看5G消息
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
别让托养中心成“死亡中心”
北上广操心“副中心”
PDCA循环法在多重耐药菌感染监控中的应用
消息