復制的概念
復制作為一個重要并且強大的技術,為分布式數(shù)據(jù)的存儲和處理提供了有力支持。微軟公司的SQL Server可以生成數(shù)據(jù)的拷貝,并能把這些數(shù)據(jù)的拷貝分發(fā)到不同的地方,自動進行數(shù)據(jù)的同步,保持所有的數(shù)據(jù)拷貝具有相同的數(shù)據(jù)。SQL Server采用一種稱為“松散一致”的復制模式在兩個數(shù)據(jù)庫之間進行復制。這兩個數(shù)據(jù)庫既可以在同一臺計算機上,也可以在不同的計算機上,彼此通過局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)進行連接。
我們公司在開發(fā)“西安市國家稅務局內(nèi)部網(wǎng)絡信息系統(tǒng)”中,正是利用了SQL Server的復制功能,實現(xiàn)全西安市分布的稅收數(shù)據(jù)的復制同步。西安市國家稅局包括市局機關和下屬的18個基層征管分局,分布于西安市不同的地理位置,彼此通過DDN專線或X.25專線連接,構成了西安國稅局廣域網(wǎng)。市局信息中心用Windows NT Server4.0 構建一個Windows NT的單主域網(wǎng)絡環(huán)境,下屬每個分局有一臺運行Windows NT Server 4.0或Windows NT Server 3.51的服務器,通過廣域網(wǎng)加入到單主域的環(huán)境中作為一臺獨立的服務器運行。各分局建有本分局的局域網(wǎng),網(wǎng)絡環(huán)境為Novell和Windows NT的混合網(wǎng)絡環(huán)境。
全西安市所有的納稅人,均到指定的征管分局進行納稅登記、納稅申報。國稅局用FoxPro開發(fā)了基于Novell網(wǎng)絡環(huán)境的稅收征管軟件,在各分局征收大廳由Novell的無盤工作站負責稅收數(shù)據(jù)的錄入,寫入到Novell服務器上的數(shù)個DBF文件中。由于稅收征管數(shù)據(jù)分布在全市不同的征管分局,為全市范圍納稅信息的檢索和分析帶來困難。
新系統(tǒng)的開發(fā),在原有基礎上,編制專門的數(shù)據(jù)轉換程序,把存儲于Novell服務器上的DBF文件轉換到本分局Windows NT上的SQL Server數(shù)據(jù)庫中。每個分局的SQL Server數(shù)據(jù)庫與市局信息中心的SQL Server數(shù)據(jù)庫進行復制,及時把最新的稅收數(shù)據(jù)傳遞到市局信息中心。這樣在市局信息中心,就有了全市所有稅收征管數(shù)據(jù)。信息中心建立Intranet Web站點,用戶的計算機只要連上各分局的局域網(wǎng),或者通過Modem撥號到信息中心的RAS服務器,就可以用IE瀏覽器訪問IIS服務器,由IIS服務器向SQL Server服務器發(fā)出數(shù)據(jù)請求并把結果按HTML格式返回給用戶瀏覽器。
系統(tǒng)的設計采用客戶瀏覽/服務器的多層結構方式,客戶端采用標準的瀏覽器訪問方式。用戶在自己的計算機上安裝IE瀏覽器(WIN98、WINNT4.0中已內(nèi)置IE4瀏覽器),輸入Web 站點地址,就可以進入該系統(tǒng)。
在中間層,由Internet Information Server完成大多數(shù)的用戶業(yè)務規(guī)則的實現(xiàn),例如對用戶權限的限制、數(shù)據(jù)請求的生成等。IIS會根據(jù)不同的用戶所擁有的不同的權限,生成不同的頁面。將來當業(yè)務規(guī)則發(fā)生變化時,只需要在Internet Information Server上進行相應的更改,這種更改就會在系統(tǒng)的每一個用戶下次訪問系統(tǒng)時得到體現(xiàn)。
在系統(tǒng)的最低層,由SQL Server大型關系數(shù)據(jù)庫作為支撐。西安全市的稅務數(shù)據(jù)是一個以GB為單位的大型數(shù)據(jù)庫,納稅數(shù)據(jù)表中的數(shù)據(jù)記錄超過數(shù)百萬條,在如此大量的數(shù)據(jù)中進行快速的數(shù)據(jù)檢索和數(shù)據(jù)分析,一般的數(shù)據(jù)庫軟件是難以完成的。SQL Server關系型數(shù)據(jù)庫,較好地完成了用戶提出的各種數(shù)據(jù)的檢索要求,同時也正是利用了SQL Server的數(shù)據(jù)復制技術,把近二十個分局的數(shù)據(jù)通過廣域網(wǎng)復制到信息中心來,使用戶能快速獲取全市的納稅信息。該系統(tǒng)實現(xiàn)的一個重要部分就是各分局稅收征管數(shù)據(jù)的復制。SQL Server的復制有以下幾個特點:
1.基于事務
有復制標志的事務從源數(shù)據(jù)庫的事務日志讀出,并送到目的數(shù)據(jù)庫。例如執(zhí)行了一條Insert語句使源數(shù)據(jù)庫的數(shù)據(jù)發(fā)生變化,這條Insert語句會被寫入到一個數(shù)據(jù)庫中,我們稱之為發(fā)布數(shù)據(jù)庫(Distrbution)。在適當?shù)臅r候,這條Insert語句會送到復制的目的數(shù)據(jù)庫并執(zhí)行該Insert語句,以此保證兩端的數(shù)據(jù)保持同步。
2.以三種不同的方式使用服務器
(1)出版(Publication):作為源數(shù)據(jù)服務器(在本系統(tǒng)中是各分局的SQL Server服務器),當標志復制的表(Table)的數(shù)據(jù)發(fā)生變化時,產(chǎn)生該變化的事務被刻上復制標志,由日志閱讀器(LogReader)把該事務送入分發(fā)數(shù)據(jù)庫(Distribution Database)。這些事務寄存在分發(fā)數(shù)據(jù)庫中直到被傳送到目的服務器。
(2)分發(fā)(Distribution):包含有分發(fā)數(shù)據(jù)庫。分發(fā)服務器接受出版服務器的更改事務,并保存到分發(fā)數(shù)據(jù)庫中。在適當?shù)臅r候,把這些事務送入訂閱服務器。缺省情況下,分發(fā)服務器與出版服務器為同一臺計算機,當然也可以是不同的計算機。
(3)訂閱(Subscription):接受出版服務器的出版數(shù)據(jù)。
3.使用專用的SQL Server數(shù)據(jù)庫作為復制數(shù)據(jù)的可靠隊列
SQL Server的復制采用“松散一致”復制模式,其特征是源數(shù)據(jù)與拷貝數(shù)據(jù)之間并不是在任何時刻都保持完全一致,它們之間有一個延時。源數(shù)據(jù)庫的變化,不是立刻反應到訂閱數(shù)據(jù)庫中,而是把產(chǎn)生變化的事務寫入一個專門的分發(fā)數(shù)據(jù)庫中(Distribution)。當這些事務累計到設定值時,由事務分發(fā)器(Distribution task)把事務送到訂閱服務器中。訂閱服務器再執(zhí)行這些事務來保持源數(shù)據(jù)與拷貝數(shù)據(jù)的一致。分發(fā)數(shù)據(jù)庫完成了一種緩沖的作用,當因網(wǎng)絡或其他問題使復制不能完成時,源數(shù)據(jù)的變化會一直保存在分發(fā)數(shù)據(jù)庫中直到問題解決再自動把所有保存的事務送出,并且復制兩端的數(shù)據(jù)仍保持一致。這種方式使SQL Server數(shù)據(jù)的復制有極大的自適應性和可靠性,最大限度減少用戶的干預。
推薦:2007年11月網(wǎng)絡工程師考試全真模擬試題一下午試卷
更多軟考資料請訪問:考試吧軟件水平考試欄目
希望與更多網(wǎng)友交流,請進入考試吧軟件水平考試論壇
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |