要滿足上述業務上的需求,采用常規的數據庫復制方式和一般的應用方式是難以達到的。原因在于無論是數據庫復制方式還是一般的應用方式,其通訊處理方式都過于簡單,低層通訊的正確性、資源的有效利用和網絡故障的處理應對、主機故障的處理應對等缺乏很好的機制來加以保障。所以,就有可能出現亂碼,或者當網絡抖動或擁塞時,數據集中業務過程無法有效進行等問題。
目前,針對此類應用(非聯機事務處理系統,強調可靠性,非關聯性?實時性要求不高)特點,各行各業廣泛采用消息中間件來實現。消息中間件是一種基礎軟件,在操作系統之上和應用之下,它可用來隔離應用系統對操作系統和網絡的直接關聯和依賴。東方通科技公司的消息中間件產品TongLINK/Q,負責網絡資源的有效利用、消息數據傳輸,為應用屏蔽網絡故障、通過內部的自動壓縮/解壓功能減少網絡通訊量等。其典型使用是異步方式調用,此時地市數據發送方只要將數據交給本地的中間件TongLINK/Q,而TongLINK/Q負責將數據高效、可靠地傳輸到省中心,并提交給相應的目標程序進行入庫處理。
PICC財險數據集中系統
省級數據集中方案是當市級公司數據庫數據發生變化時,對其所在省的省級的數據庫數據做相應同步的過程。PICC財險數據集中系統結構圖1。
此時,對于數據集中備份過程而言,它是一個必須要完成的工作,而在時間上只求盡快而可靠地完成,并無嚴格的時間限制,采用消息中間件產品TongLINK/Q來實現。另外,在應用層面,為了使集成商開發的應用系統相對獨立,對數據集中備份過程建議采用一套獨立的應用來完成。
在市級公司數據中心編寫一個定時啟動程序或守護進程,用來采集數據庫的變化數據,一旦有數據它將以業務處理單元為單位,把它投給TongLINK/Q的可靠隊列中。在省級數據中心,編寫對應服務程序,它在接收到數據后將在本地執行相應的數據庫處理,以達到數據同步。TongLINK/Q還可以保障服務處理的可靠,即如果服務程序在執行相應的數據庫處理時意外失敗,TongLINK/Q將記住這一問題,再次提請相關服務程序進行處理,直到成功。
消息中間件TongLINK/Q在PICC財險數據集中系統中的部署圖如圖2所示。
系統由地市客戶程序、地市TongLINK/Q運行系統、省級TongLINK/Q系統和省級服務程序四部分組成。地市客戶程序負責對地市需要上傳集中的數據做識別和提取,并形成數據包或文件,然后通過TongLINK/Q的API接口作為一項任務消息提交給TongLINK/Q?蛻舫绦虻膯舆\行可以外部觸發(如:數據庫trigger)執行,也可以交由TongLINK/Q作為定時程序按一定時間間隔進行調度。消息數據的傳輸以及相關效率、可靠等問題由TongLINK/Q解決。省級對應的服務程序可以由TongLINK/Q在有數據需要處理時進行調度,并將相關數據交給服務程序進行處理。在有多條消息數據到達時,也可以同時調度起多個服務進程同時進行多個消息數據的處理。數據從省級中心到總部中心的工程與上面的處理類似。
系統特點
· 提供異步處理接口。為了使數據備份復制過程不影響原來應用系統(相對獨立、不直接雙向依賴),采用異步通訊方式。
· 提供可靠傳輸能力。依靠消息中間件TongLINK/Q的可靠隊列傳輸功能,使地市增量備份數據可以盡快、可靠地到達省數據中心主機。在傳輸期間,消息中間件TongLINK/Q可以應對各種故障的發生,如通訊網絡故障、主機宕機等情況,可以做到斷點續傳,使備份數據“一次傳遞、可靠到達”。
· 可以提供備份過程數據庫操作的事務性處理。即除了數據的傳遞是可靠的之外,在省級數據中心數據的數據庫備份操作也是可靠的。在對備份數據進行數據庫插入或修改操作時,如果操作失。ɡ,當時數據庫狀態不對引起數據庫操作失。,消息中間件TongLINK/Q將會保留這一信息和數據,重復執行相應處理過程,直到成功。
· 維護和保持通信通暢。TongLINK/Q對通信通道具有自動維護功能,當網絡出現抖動影響通信時,TongLINK/Q可以自動監控和重建鏈路來保障通信的快速恢復。
· 保障通信效率。TongLINK/Q通過以下手段來保障通訊效率:維護通訊暢通和自恢復;支持斷點續傳;根據網絡帶寬情況有不同傳輸策略來保障網絡帶寬的充分利用;支持自動壓縮功能,減少通訊數據量。
· 支持服務端程序的并發調度和控制。上傳數據自動提交相應的處理程序進行處理,對多個地市同時上傳的數據可以并發調度多個服務程序進行處理,提高處理效率。
中國人民保險公司的業務數據集中已經于2002年7月開始運行,業務數據已經由地市集中到省或總部。這為中國人民保險公司的商業智能應用、客戶關系管理、風險管理等打下了良好的數據基礎,數據可以發揮更大的作用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/