1系統總體框架
按照中央及部領導的要求,為強化政府監管職能、整頓規范建筑市場,提高政府宏觀調控 的科學性,國家建設部決定建立全國建筑市場監督管理信息系統
各業務數據通過中間件實現數據的整合和傳輸過程。其中傳輸平臺采用Apusic iMTS消息 中間件。該中間件采用了Java技術,實現大批量、安全
2數據傳輸技術

圖1中節點A和節點B之間進行數據傳輸,中間有防火墻隔離。大多數的防火墻禁止了直接的T C P/IP端口的訪問,這就意味著采用TCP/IP方式進行的數據傳輸將無法在節點A和節點B之間進 行。而與此同時,大多數的防火墻都開放了http端口80,這就意味著,通過HTTP協議進行的數據傳輸無需考慮漫長網絡路途中無數的防火墻。這種情形下,J2EE應用服務器,如Apusic應用服務器提供了一種供客戶端Java程序進行訪問的http Tunnel的技術?蛻舳顺绦蛑灰唵蔚卣{用Java API中的URLConnection對象就可以向服務端發送數據。
拋開防火墻,采用一些專業的數據傳輸組件,如金蝶中間件的Apusic iMTS,亦可實現良好的數據傳輸能力。
Apusic iMTS的數據傳輸過程如圖2所示
Apusic iMTS的應用場景如圖3所示
數據傳輸技術中,還有一種可能的方法是采用JMS技術進行傳輸。JMS是Java的消息服務,一般的J2EE應用服務器都提供了JMS服務。JMS提供了基于主題和隊列的兩種消息傳送方式;谥黝}的消息傳送指的是多個客戶端預定某個主題的消息,然后大致實現點到多點的消息/數據傳送,每個客戶端都可得到該主題的消息;陉犃械南魉图捶⻊掌饕躁犃械姆绞桨l送消息,某一客戶端獲得該消息時該消息即從該隊列中移除。一些應用服務器提供了所謂增強的JMS消息能力,如IBM的消息中間件,大致的原理和功能應用范圍與此類似?梢钥闯,采用基于JMS的數據傳輸技術,除了較難繞過防火墻外,受限于傳輸的數據類型(簡單的Java對象)和效率等,并不適合用于數據庫間的數據復制/整合傳輸。
3數據平衡技術
所謂數據平衡技術是指數據在2個數據庫間的同步。如圖4所示。
圖4中數據庫A為主數據庫,數據庫B為分數據庫。業務數據b主要通過業務系統錄入到分數 據庫B中,但因為一些特定的原因,業務數據b也可以通過業務系統錄入到數據庫A中。數據庫B中的業務數據b定期更新到數據庫A中,與此同時,也應將數據庫A上業務系統錄入的業務數據b更新到數據庫B中。
很顯然,這種數據平衡過程需要著重考慮數據長度不一致問題、主鍵問題及數據結構不一 致問題等。
主鍵問題主要產生在采用遞增數字為主鍵的場合,如在Oracle中用sequence為主鍵值。由 于數據庫主鍵的約束,這時不管A至B,還是B至A,數據更新都不會完全成功。怎么辦?修改數據庫A上表的主鍵,將其改為UUID形式的字符,同時在A上建立映射表,將A上的表的主鍵與B上表的主鍵一一對應。
在數據結構不一致的情況下,應將數據庫A中的結構設為最簡,并在數據庫B中數據合并至 A時用規定的分隔符進行組合。顯然,在A上的業務系統應該將結構展示為B上的數據結構,其他跟A上數據表相關的業務系統應該考慮到這種特殊處理場景。
4結語
文章來源于領測軟件測試網 http://www.kjueaiud.com/