自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于Windows服務(wù)的異構(gòu)數(shù)據(jù)庫同步應(yīng)用

運(yùn)維 數(shù)據(jù)庫運(yùn)維
使用Windows服務(wù)實(shí)現(xiàn)數(shù)據(jù)訂閱分發(fā)流程,結(jié)合MSMQ消息隊(duì)列進(jìn)行傳輸,可以解決跨網(wǎng)段的異構(gòu)數(shù)據(jù)庫同步,異構(gòu)數(shù)據(jù)庫分別屬于不同的系統(tǒng),文章的主要任務(wù)是實(shí)現(xiàn)多個系統(tǒng)的集成工作。結(jié)合實(shí)際項(xiàng)目的應(yīng)用與研究,從系統(tǒng)需求、系統(tǒng)設(shè)計、系統(tǒng)實(shí)現(xiàn)3個方面進(jìn)行分析,提供一套完整的解決方案,實(shí)現(xiàn)各個系統(tǒng)之間的協(xié)作。

隨著電子信息化的發(fā)展與應(yīng)用,各個企業(yè)各個單位之間都開發(fā)和應(yīng)用了自己的信息化系統(tǒng)。各個單位之間使用了不同的開發(fā)技術(shù)和后臺數(shù)據(jù)庫,它們之間是分離,沒有關(guān)系的。企業(yè)集成不僅僅能創(chuàng)建一個三(表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)訪問層)層應(yīng)用結(jié)構(gòu),還能使一個應(yīng)用分布到多臺計算機(jī)上。分布式應(yīng)用中,單個的一層是無法自己運(yùn)行的,而集成應(yīng)用中的每一個應(yīng)用都能獨(dú)立運(yùn)行,它們時間通過偶合完成功能。異步消息傳遞體系結(jié)構(gòu)來集成多個應(yīng)用,異構(gòu)數(shù)據(jù)庫的同步問題是實(shí)際項(xiàng)目中急待解決的問題

1系統(tǒng)需求

電子數(shù)據(jù)交換最主要的任務(wù)是實(shí)現(xiàn)不同系統(tǒng),不同業(yè)務(wù)之間的數(shù)據(jù)交換與系統(tǒng)整合,下圖是一個實(shí)際項(xiàng)目中各個系統(tǒng)的分布圖(圖1),各個系統(tǒng)之間是彼此獨(dú)立的,使用各自不同的數(shù)據(jù)庫。首先企業(yè)端通過一站式申報平臺申報單證信息到海關(guān)由海關(guān)進(jìn)行審批工作,如果海關(guān)審批通過,相應(yīng)的企業(yè)端信息狀態(tài)則進(jìn)行變更,然后企業(yè)端發(fā)送車輛信息到物流園區(qū)場站系統(tǒng),場站系統(tǒng)接收到海關(guān)端的放行信息和企業(yè)端發(fā)送的車輛信息則進(jìn)行車輛通過放行工作。

 

圖1

 

圖2

整個系統(tǒng)之間是通過各自獨(dú)立的Windows服務(wù)監(jiān)控自己的數(shù)據(jù)庫,對應(yīng)表發(fā)生變更以后,生成變更后的XML報文,通過路由設(shè)置由MQ消息隊(duì)列把報文發(fā)送到接收端,接收端服務(wù)接收到MQ報文以后,對接收的XML報文解析進(jìn)入接收端數(shù)據(jù)庫。各個報文定義使用Schema定義來完成,只有符合Schema規(guī)則定義的報文才可以進(jìn)入消息隊(duì)列來進(jìn)行傳輸。例如客戶關(guān)系Schema報文定義如(圖2)所示,只有符合Schema格式的報文才可以生成XML報文進(jìn)行傳輸。

2系統(tǒng)框架

 

圖3

如(圖3)所示,傳輸系統(tǒng)使用了WINDOWS服務(wù)來完成數(shù)據(jù)傳輸?shù)?;根?jù)上圖可以看出其內(nèi)部包括以下組成部分:

(1)WindowsServe_Fuzhou :Windows 服務(wù)組件,負(fù)責(zé)整個系統(tǒng)的數(shù)據(jù)傳輸;出庫動作:Adapter組件接收到自己數(shù)據(jù)庫變更的時候,通過對應(yīng)配置指定的Schema生成XML報文,發(fā)送報文到MQ消息隊(duì)列里面。入庫動作:接收到MQ隊(duì)列里面的XML報文、通過對應(yīng)的Schema進(jìn)行報文格式的解析,符合格式要求的報文通過Adapter組件進(jìn)入到自己的數(shù)據(jù)庫表里面。

(2)MSMQ :消息隊(duì)列傳輸組件,負(fù)責(zé)XML報文的傳輸工作;

(3)BIZTALK_MESSAGE:報文定義、解析、路由、配置組件;是整個傳輸系統(tǒng)的核心。使用配置文件來完成以上配置工作,提高系統(tǒng)的靈活性。

(4)LOG:系統(tǒng)日志模塊,用于報文的傳輸跟蹤與調(diào)試,建立統(tǒng)一的日志監(jiān)控平臺,完成對每一筆報文的監(jiān)視工作,同時可以對出現(xiàn)異常的報文進(jìn)行分析工作,通過Web頁面顯示給客戶;

(5)SqlAdapter_fuzhou:數(shù)據(jù)庫(SQLSERVER)監(jiān)視組件,當(dāng)監(jiān)視到數(shù)據(jù)庫里面對應(yīng)的表發(fā)生變更以后,Adapter組件會啟動BIZTALK_MESSAGE消息處理模塊,對數(shù)據(jù)表里面的記錄進(jìn)行操作,進(jìn)行出入庫操作,服務(wù)的數(shù)據(jù)訪問層使用了傳統(tǒng)的三層架構(gòu)來完成,如(圖4)所示,數(shù)據(jù)庫與傳輸服務(wù)服務(wù)之間使用了ADO.net 進(jìn)行數(shù)據(jù)庫訪問,通過數(shù)據(jù)訪問層(DAL)和業(yè)務(wù)邏輯層(BLL)完成,提高了系統(tǒng)的可讀性與靈活性;
圖4

(6)ORACLE Adapter:數(shù)據(jù)庫(ORACLE)監(jiān)視組件,對Oracle數(shù)據(jù)庫進(jìn)行監(jiān)視工作,系統(tǒng)通過不同類型的Adapter實(shí)現(xiàn)的多種數(shù)據(jù)庫的訪問接口,如果有新的數(shù)據(jù)庫類型只需要增加對應(yīng)的Adapter就可以實(shí)現(xiàn)對應(yīng)的數(shù)據(jù)庫同步;

(7)Security_Module:消息傳遞過程中的加密解密組件,系統(tǒng)使用了證書加密機(jī)制來完成對XML報文的加密和解密工作;

具體代碼如下:

 

3系統(tǒng)部署

系統(tǒng)編譯測試完成以后,需要把服務(wù)部署到對應(yīng)的系統(tǒng)上面,各個系統(tǒng)之間是通過網(wǎng)閘分離開來的,如(圖1)所示,一站式平臺、海關(guān)端系統(tǒng)、場站系統(tǒng)分別部署自己的服務(wù),各個服務(wù)之間協(xié)同工作用于完成報文的接收和發(fā)送工作,具體部署包括修改配置文件,DLL動態(tài)鏈接庫的裝配(其中Schema定義模塊需要裝配到操作系統(tǒng)目錄下面),運(yùn)行數(shù)據(jù)庫腳本和具體的服務(wù)安裝工作(主要包括連接數(shù)據(jù)庫設(shè)置、報文監(jiān)控系統(tǒng)的設(shè)置)。安裝部署完成以后打開三個不同地點(diǎn)的WINDOWS服務(wù),系統(tǒng)部署完成,可以實(shí)現(xiàn)不同數(shù)據(jù)庫的同步工作。通過實(shí)際項(xiàng)目的運(yùn)行工作,目前運(yùn)行情況良好。

4結(jié)束語

文章通過WINDOWS服務(wù)的數(shù)據(jù)訂閱分發(fā)機(jī)制給出了數(shù)據(jù)交換的一些具體解決方案。其中對XML報文的定義、解析、配置工作是系統(tǒng)實(shí)現(xiàn)的核心工作。也可以通過其他的技術(shù)來實(shí)現(xiàn)數(shù)據(jù)的傳輸工作,比如BIZTALK進(jìn)行系統(tǒng)傳輸可以提高系統(tǒng)的穩(wěn)定性、工作流傳輸可以提高系統(tǒng)的流程配置靈活性,這里不再進(jìn)行詳細(xì)的分析與描述。

【編輯推薦】

  1. 數(shù)據(jù)庫的安全性和異構(gòu)數(shù)據(jù)庫間的互操作
  2. 數(shù)據(jù)庫跨平臺遷移方法淺析
  3. 在多種數(shù)據(jù)庫環(huán)境下管理業(yè)務(wù)需求
責(zé)任編輯:彭凡 來源: 計算機(jī)世界
相關(guān)推薦

2010-04-14 10:56:07

Oracle數(shù)據(jù)庫

2010-04-16 16:09:41

Oracle數(shù)據(jù)庫

2010-04-19 09:26:04

Oracle數(shù)據(jù)庫

2010-04-22 12:56:48

Oracle數(shù)據(jù)庫

2020-02-28 16:02:21

MySQL異構(gòu)同步

2020-08-31 07:00:00

數(shù)據(jù)庫數(shù)據(jù)庫同步

2024-12-06 08:29:29

2010-06-02 16:57:50

MySQL數(shù)據(jù)庫同步

2009-12-22 09:40:53

MySQL數(shù)據(jù)庫

2010-06-09 14:04:34

MySQL數(shù)據(jù)庫

2010-04-16 13:34:00

Oracle Java

2010-10-11 17:41:11

MySql服務(wù)器

2011-05-25 15:16:55

非結(jié)構(gòu)化數(shù)據(jù)庫異構(gòu)數(shù)據(jù)庫

2023-03-17 18:58:36

日志查詢同步

2010-05-07 13:14:22

數(shù)據(jù)庫負(fù)載均衡

2010-05-12 18:41:34

MySQL數(shù)據(jù)庫

2009-09-09 11:27:30

Oracle數(shù)據(jù)庫服務(wù)

2024-04-02 07:32:32

數(shù)據(jù)庫遷移工具異構(gòu)數(shù)據(jù)庫

2022-03-08 13:08:45

數(shù)據(jù)庫異構(gòu)數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號