网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


标题: [转贴] 基于消息中间件的数据传输技术
yimadai
TW金牌会员
Rank: 6Rank: 6



UID 138204
精华 19
积分 1027
帖子 512
阅读权限 70
注册 2008-7-23
状态 离线
发表于 2008-7-28 17:10 资料 短消息 加为好友 添加 yimadai 为MSN好友 通过MSN和 yimadai 交谈
基于消息中间件的数据传输技术

1系统总体框架 3O!]2Q1\9H*` ~$e&Z

1j4K&A:r#}-v#o#j-fTechWeb-技术社区按照中央及部领导的要求,为强化*监管职能、整顿规范建筑市场,提高*宏观调控 的科学性,国家建设部决定建立全国建筑市场监督管理信息系统。由于建筑市场各环节的监管工作由行政上相对独立的管理机构承担,因此,原有的建筑市场各业务管理系统采取的独立开发系统,没有形成完整、统一、具有宏观监管调控功能的信息共享的数据交换。各地、各部门采用的系统平台、数据库平台及数据库结构各不相同,无法实现跨地域、跨部门的信息共享。因此系统设计确定利用中间件应用服务器技术,在保证原有业务系统正常运行的基础上搭建系统整合平台,并将分离的业务数据归集到数据中心,并在此基础上搭建建筑市场监管系统,同时将必要的信息通过公众信息发布平台(网站)向社会公布。 tech.techweb.com.cn;k5L1p-s'A6X&]
#S'W6y-m0D9e-a0r
各业务数据通过中间件实现数据的整合和传输过程。其中传输平台采用Apusic iMTS消息 中间件。该中间件采用了Java技术,实现大批量、安全的数据传输。并采用Apusic应用服务器所提供的负载均衡技术组建监管信息系统的服务器集群,保障监管信息系统的容错性和可靠性,在数据中心运行该平台的服务器端程序,24 h监控来自各业务系统的待整合数据,各业务系统端运行整合平台的客户端程序,负责从业务系统中抽取符合监管系统数据规范的业务数据,整合平台的服务器端程序根据可配置的规则对待整合数据进行分析、验证和处理,将其装载到数据中心的数据库中。客户端程序抽取得到的业务数据都封装为XML格式的数据流,再由整合平台客户端程序调用数据传输平台中的中间件功能进行上传。
$M9q,E)?'_2D9N程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛tech.techweb.com.cn:J"h2I*\&K5V%W:f7c0p
2数据传输技术
1[.f0}$Z"n6v&\0ctech.techweb.com.cn
;T3q#f/Q:Q在网络上进行数据传输,一般来说,首先应该考虑其传输方式的有效性。如考虑如图1所示的一种场景。
4_.|,l2C%~1{7l.u.}+C(~6V2a8I
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5_([,@*|1u-Y,_ B;m8c2}8`
TechWeb-技术社区;a)Y)J0~:[.K/V5y,M,}
图1中节点A和节点B之间进行数据传输,中间有防火墙隔离。大多数的防火墙禁止了直接的T C P/IP端口的访问,这就意味着采用TCP/IP方式进行的数据传输将无法在节点A和节点B之间进 行。而与此同时,大多数的防火墙都开放了http端口80,这就意味着,通过HTTP协议进行的数据传输无需考虑漫长网络路途中无数的防火墙。这种情形下,J2EE应用服务器,如Apusic应用服务器提供了一种供客户端Java程序进行访问的http Tunnel的技术。客户端程序只要简单地调用Java API中的URLConnection对象就可以向服务端发送数据。 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛&H/k"Q2J,H,g9L

#I(L4C1g%B6K"Z"P&Ctech.techweb.com.cn抛开防火墙,采用一些专业的数据传输组件,如金蝶中间件的Apusic iMTS,亦可实现良好的数据传输能力。
1o-R8~3n-H#l;ctech.techweb.com.cnTechWeb-技术社区.t)B7K(~)F7]
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛3R9m y9r!H.c-F

&@0?(v1@/r4~;z'cApusic iMTS的数据传输过程如图2所示 TechWeb-技术社区2J$d.D3F*N!c1n(h"R

%G+n,W)N'L4]
3Y)Z)T;u'j0[9J,\tech.techweb.com.cn&r I5O8W&]5d)F5D7s
Apusic iMTS的应用场景如图3所示 tech.techweb.com.cn!i8o&k9B)s&?2h
.e'c0M1J/L7q9M
数据传输技术中,还有一种可能的方法是采用JMS技术进行传输。JMS是Java的消息服务,一般的J2EE应用服务器都提供了JMS服务。JMS提供了基于主题和队列的两种消息传送方式。基于主题的消息传送指的是多个客户端预定某个主题的消息,然后大致实现点到多点的消息/数据传送,每个客户端都可得到该主题的消息。基于队列的消息传送即服务器以队列的方式发送消息,某一客户端获得该消息时该消息即从该队列中移除。一些应用服务器提供了所谓增强的JMS消息能力,如IBM的消息中间件,大致的原理和功能应用范围与此类似。可以看出,采用基于JMS的数据传输技术,除了较难绕过防火墙外,受限于传输的数据类型(简单的Java对象)和效率等,并不适合用于数据库间的数据复制/整合传输。 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛,C$c)s.Y0[)[1N
tech.techweb.com.cn9^/E2`$z4j6`
3数据平衡技术
"_/`!h/` c-Q8b0},dTechWeb-技术社区程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛%\+O1}+?/H"N"n6?
所谓数据平衡技术是指数据在2个数据库间的同步。如图4所示。
2a#t8S']+R$S8g7Z3\'x6}/E$E7J-T9T&x

:K'p2F7J-~!atech.techweb.com.cn
*[2r)j&L,E9T9W$_图4中数据库A为主数据库,数据库B为分数据库。业务数据b主要通过业务系统录入到分数 据库B中,但因为一些特定的原因,业务数据b也可以通过业务系统录入到数据库A中。数据库B中的业务数据b定期更新到数据库A中,与此同时,也应将数据库A上业务系统录入的业务数据b更新到数据库B中。 2x1j0S6T8N1d.D0e

+~2J6M7w/]1Y3Q%^程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛很显然,这种数据平衡过程需要着重考虑数据长度不一致问题、主键问题及数据结构不一 致问题等。
.R3j4J'p8~'{
5\%z5F8@4~1I9A(K主键问题主要产生在采用递增数字为主键的场合,如在Oracle中用sequence为主键值。由 于数据库主键的约束,这时不管A至B,还是B至A,数据更新都不会完全成功。怎么办?修改数据库A上表的主键,将其改为UUID形式的字符,同时在A上建立映射表,将A上的表的主键与B上表的主键一一对应。 %v-T z+]6I
TechWeb-技术社区(v*J6h'y!n
在数据结构不一致的情况下,应将数据库A中的结构设为最简,并在数据库B中数据合并至 A时用规定的分隔符进行组合。显然,在A上的业务系统应该将结构展示为B上的数据结构,其他跟A上数据表相关的业务系统应该考虑到这种特殊处理场景。

引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-12-3 07:35
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.026964 second(s), 7 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP