數(shù)據(jù)同步解決方案_第1頁(yè)
數(shù)據(jù)同步解決方案_第2頁(yè)
數(shù)據(jù)同步解決方案_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、內(nèi)外網(wǎng)數(shù)據(jù)同步暫定解決方案定義:內(nèi)外網(wǎng)的數(shù)據(jù)庫(kù)服務(wù)器分別命名為A、B,中間層命名為C主服務(wù)器:同一個(gè)表的同一條記錄的同一個(gè)字段被修改時(shí),其做為標(biāo)準(zhǔn)的服務(wù)器定義為主服務(wù)器從服務(wù)器:除主服務(wù)器之外的其它服務(wù)器問(wèn)題描述:考慮到安全性的問(wèn)題,內(nèi)外網(wǎng)的數(shù)據(jù)庫(kù)不可直接或間接相聯(lián),但必須保證在一定的時(shí)間內(nèi)(一般12小時(shí)之內(nèi))可以同步,故采用增加一個(gè)中間層的方法,將初始化時(shí)一模一樣的兩臺(tái)數(shù)據(jù)庫(kù),在一定時(shí)間后的改變(包括修改、刪除、插入)合并,然后重新分別寫回?cái)?shù)據(jù)庫(kù)?;镜牟僮鞑襟E如下:1. A和C相連,將A中的改變轉(zhuǎn)儲(chǔ)到C上,斷開(kāi)連接。2. B和C相連,將B中的改變轉(zhuǎn)儲(chǔ)到C上,斷開(kāi)連接。3. C將兩者的改變合

2、并。4. A和C相連,根據(jù)合并的內(nèi)容,對(duì)A修正,斷開(kāi)連接。5. B和C相連,根據(jù)合并的內(nèi)容,對(duì)B修正,斷開(kāi)連接?;緱l件:1 .兩臺(tái)數(shù)據(jù)庫(kù)服務(wù)器A、B上的DataBase是一模一樣的。2 .DataBase中表的記錄可分別添加、修改、刪除。3 .同一條記錄,兩臺(tái)服務(wù)器A、B可分別修改某幾個(gè)字段。4 .表的字段要么指定被A修改,要么指定被B修改,不存在兩不管的情況。一旦存在,則以主服務(wù)器為主?;驹瓌t:1 .記錄被刪除,A、B中均應(yīng)刪除。2 .記錄添加,A、B中均應(yīng)添加。3 .記錄修改,A、B中均應(yīng)修改。e.g表Table1,包含字段a,b,c,d。同一條記錄,初始時(shí)在A、B中是相同的,若某一時(shí)

3、刻,A修改了該記錄的a,b字段B修改了該記錄的c,d字段則同步后,該記錄應(yīng)為a(修改后),b(修改后),c(修改后),d(修改后)關(guān)鍵問(wèn)題及解決辦法:1 .同一條記錄,不同字段的修改,需將分別修改后的內(nèi)容合并。solution:采用觸發(fā)器trigger,記錄被修改時(shí),記下修改的記錄號(hào)、列名以及被修改列對(duì)應(yīng)的修改后的值,放在一指定表中,合并后清空。注:列的修改權(quán)限,由上層的應(yīng)用程序控制,即當(dāng)前角色不可修改的字段,不提供修改接口。2 .記錄的刪除,如何界定?需考慮效率solutiom:采用觸發(fā)器trigger,記錄被刪除后,便記下表名、關(guān)鍵字段名和記錄的關(guān)鍵字,放在一個(gè)指定的表中,合并后清空3 .

4、記錄的插入。由于表的插入可分別進(jìn)行的,采用常規(guī)的流水號(hào)關(guān)鍵字,A、B中可能存在關(guān)鍵字相同的記錄,直接合并顯然行不通的,故關(guān)鍵字需改,而表之間又會(huì)有關(guān)鍵字關(guān)聯(lián)的,所以相關(guān)聯(lián)的記錄字段也應(yīng)做相同的改動(dòng)。這樣一來(lái)開(kāi)發(fā)的工作量會(huì)大大增加。solutiom:a.關(guān)鍵字可能重復(fù)的問(wèn)題:使用存儲(chǔ)過(guò)程,關(guān)鍵字步長(zhǎng)不再為1,應(yīng)為服務(wù)器的臺(tái)數(shù),且初始值也應(yīng)不同e.g:存在2臺(tái)服務(wù)器,則步長(zhǎng)設(shè)為2,初始值分別為1,2;一般地,存在n臺(tái)服務(wù)器,則步長(zhǎng)設(shè)為n,且初始值分別為1,2,,n這樣可以避免關(guān)鍵字重復(fù)的情況b.采用觸發(fā)器trigger,記錄插入后,便記下表名、關(guān)鍵字段名和記錄號(hào),放在一個(gè)指定的表中,合并后清空。故

5、障描述及處理方法:正確的同步過(guò)程,可描述為:各臺(tái)服務(wù)器分別與中間層聯(lián)接,將改變反映到中間層,各臺(tái)服務(wù)器均成功聯(lián)接完畢,中間層進(jìn)行一些必要的處理,合并改變的內(nèi)容;合并完畢,中間層需與各臺(tái)服務(wù)器再次聯(lián)接,將合并后的內(nèi)容寫入各臺(tái)服務(wù)器,全部完成,則回寫完畢,至此,服務(wù)器數(shù)據(jù)同步順利完成。故障描述:1,各臺(tái)服務(wù)器與中間層聯(lián)接,將改變拷貝到中間層時(shí),數(shù)據(jù)尚未拷完時(shí),發(fā)生故障。2 .中間層在處理合并數(shù)據(jù)時(shí),因斷電等原因而異常終止。3 .回寫時(shí),部分尚未完成,而終止。4 .在一個(gè)同步過(guò)程內(nèi),同一臺(tái)服務(wù)器多次與中間層聯(lián)接,包括合并和回寫。故障分析:分析上述故障,基本可分為兩類:其一,需要的數(shù)據(jù)部分完成,恢復(fù)正常后應(yīng)繼續(xù),直至完成。其二,需要的數(shù)據(jù)已經(jīng)完成,卻再次重復(fù),這樣的操作應(yīng)禁止。解決辦法:1 .對(duì)于數(shù)據(jù)操作部分完成的故障,我們?cè)跀?shù)據(jù)正常操作完成時(shí),給一個(gè)標(biāo)識(shí),因此對(duì)于操作部分完成的,該標(biāo)識(shí)應(yīng)為false,在中間層與下一臺(tái)服務(wù)器聯(lián)接或自處理時(shí),進(jìn)行檢測(cè),對(duì)標(biāo)識(shí)為false的請(qǐng)求重新聯(lián)接,聯(lián)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論