• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    分布式數據庫技術在保險信息管理系統中的實現[續]

    發布: 2008-4-22 13:31 | 作者: 不詳 | 來源: csai | 查看: 86次 | 進入軟件測試論壇討論

    領測軟件測試網 關鍵字:業務建模

      四、 利用分布式技術實現事務處理和查詢

      4.1 分布式事務處理

      分布式數據庫系統中數據的分布導致事務具有了分布性。一個全局事務的執行被劃分為在許多場地上子事務的執行。

      分布式事務要能夠在多個服務器上執行,我們使用MS DTC作為事務管理器來協調各個服務器對事務的處理操作,為了減少網絡故障對分布式事務處理的影響,避免分布式事務造成不同服務器間數據的不一致,X/Open XA規范將分布式事務的處理過程規定為兩個階段,即準備階段和提交階段,就是常說的兩階段提交。

      在進行分布式事務處理時,我們首先在服務器端用Transact SQL腳本程序BEGIN DISTRIBUTED TRANSACTION語句啟動一個分布式事務,將該服務器作為分布式事務管理服務器,然后腳本程序對連接服務器執行分布式查詢或遠程服務器上的存儲過程,分布式事務管理服務器會自動調用MS DTC,使遠程服務器參加分布式事務處理。當腳本程序執行COMMIT TRANSACTION、COMMIT WORK、ROLLBACK TRANSACTION或ROLLBACK WORK語句時,分布式事務管理服務器將再次調用MS DTC,用它來管理兩階段提交進程,使連接服務器和遠程服務器提交或回滾事務。例如在業務系統中,如果總公司數據庫管理系統發現該客戶是交叉投保,則需將該保單插入拒保記錄表中,同時在對應的營業分支機構的數據庫中將該保單的狀態設為無效。我們在營業分支機構的數據庫(DBServer1)中建立存儲過程update_policy更新保單狀態,在總公司數據庫服務器(DBServer)上執行以下腳本程序,啟動一個分布式事務insert_reject:

      USE business

      GO

      BEGIN DISTRIBUTED TRANSACTION

      INSERT reject

      VALUES(policy_id, insurance_no,business_date,customer_id,customer_name…)

      EXECUTE DBServer1.business.dbo.update_policy

      COMMIT TRANSACTION

      GO

      系統執行insert_reject事務向DBServer中的reject表插入一條記錄,同時更新對應的分支機構數據庫中的保單表status字段,該事務使系統數據的完整性得到了保證。

      4.2 分布式查詢

      分布式數據庫系統中數據的分布導致查詢也具有了分布性,分布式查詢可能針對異類的OLE DB 或 ODBC 數據源。SQL Server 支持分布式查詢,即包括來自兩個或更多服務器數據的查詢,支持服務器間的檢索、更新和游標,并使用 Microsoft Distributed Transaction Coordinator (MS DTC) 保證節點間事務語義,維護服務器間的安全。

      在系統設計的過程中,為了減少網絡通訊量,我們根據應用的功能已將數據關系進行分片存放在各數據庫中,因此大部分的應用是面向局部數據庫的操作,但全局性的查詢仍需要多個數據庫的數據支持。在業務人員的管理模塊中,由于各分支機構對其業務人員進行直接管理,且管理制度都有差異,我們將業務人員信息存放在分支機構的數據庫中,通過聯合分布式查詢對公司所屬的所有業務員進行登記;在客戶管理模塊中,我們根據來源將客戶信息分別存放在業務數據庫服務器的傳統客戶表和Web數據庫服務器的網絡客戶表中,通過聯合分布式查詢才能對公司所屬的所有業務員和客戶進行登記,下面以年度的業務員查詢為例介紹聯合分布式查詢的方法:

      SELECT  emp.emp_name, emp.emp_id,emp.emp_gender…

      FROM  DBServer1.business.dbo.employee AS emp

      WHERE  date between '01/01/2000' and '12/31/2000'

      UNION

      SELECT  emp.emp_name, emp.emp_id,emp.emp_gender…

      FROM  DBServer2.business.dbo.employee AS emp

      WHERE  date between '01/01/2000' and '12/31/2000'

      五、結論

      分布式數據庫技術引入保險信息管理后,有效的解決了數據分散和集中管理的矛盾,實現了數據的共享和交換。事實證明,分布式技術在遠程數據管理中具有不可替代的作用。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 數據庫


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>