日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

雙重?cái)?shù)據(jù)庫的維護(hù)( 三 )


這里
S是前面所說的選擇項(xiàng),
V是與S相關(guān)的值,
T是入口的最遲改變的時間戳(一個上面所說的(T,D))
每個處理器DBMP的任務(wù)是根據(jù)收到的修改操作信息 , 保持?jǐn)?shù)據(jù)庫的拷貝是最新的 。
同時它必須確保它的每個入口和所有其它的DBMP的入口一致 。這必須實(shí)現(xiàn) , 盡管它收到
的修改順序不同于其它的處理器DBMP收到的修改順序 。在本文的后面部分 , 我們將考慮
數(shù)據(jù)庫的操作及它們對處理器DBMP進(jìn)行處理的影響 。
賦值
首先 , 考慮對一個存在的入口賦值的情況 。當(dāng)賦初值時 , 所涉及的處理器DBMP在本
地做出修改 , 并且創(chuàng)建一個包括修改入口和這個修改必須發(fā)送到的處理器DBMP的相關(guān)列
表的拷貝 。隨著這個修改操作被傳遞到其它的處理器DBMP , 它們從列表中被移除 , 直到
沒有余下的DBMP , 然后刪除這個修改操作的拷貝 。這個分布式機(jī)制必須沒有錯誤(例如
修改操作的接收必須在移除接收列表前確認(rèn)) 。(2)
----------說明:
(2)這個相同的過程(本地修改和為遠(yuǎn)程分布的排隊(duì))當(dāng)然可能是執(zhí)行其它可能的數(shù)據(jù)庫
操作 。本地修改如何安全進(jìn)行 , 信息如何排列 , 傳遞如何進(jìn)行等等的細(xì)節(jié)雖然重要但在這里
不進(jìn)行討論 。使用一個傳遞修改信息的地址表是很輕易實(shí)現(xiàn) , 并且在實(shí)際的應(yīng)用中也不是很
難 。
當(dāng)一個DBMP接收一個賦值修改(本地的或者來自另外一個處理器DBMP) , 它拿修改
的時間戳和它自己的數(shù)據(jù)庫中的拷貝的時間戳進(jìn)行比較 , 并且保持這個修改操作根據(jù)上面的
定義在時間上是最遲的 。因而 , 當(dāng)對給定入口的賦值分布在所有的處理器DBMP上時 , 它
們能夠保證與那個入口相關(guān)的值時最新的 。
創(chuàng)建
實(shí)體的創(chuàng)建和刪除會產(chǎn)生不止一個的問題 。注重創(chuàng)建先前的未知的實(shí)體 , 需要一個處理
器DBMP能夠處理未知實(shí)體的賦值 。例如 , 考慮被處理器DBMPA創(chuàng)建的實(shí)體XYZ的情
況 , 事件的次序如下:處理器DBMPA告訴處理器DBMPB這個新的實(shí)體 , 然后處理器DBMP
B賦一個新值給XYZ;處理器DBMPB則在處理器DBMPC從處理器DBMPA獲取創(chuàng)建信
息之前通知DBMPC 。處理器DBMPC必須保存XYZ的賦值直到它得知實(shí)體的創(chuàng)建 , 或者
簡單的假設(shè)這個創(chuàng)建將會發(fā)生并立即使用這個“新”實(shí)體 。后者試圖保持?jǐn)?shù)據(jù)庫盡可能是最
新的 , 但會導(dǎo)致失去一致性 。
刪除
實(shí)體的刪除是數(shù)據(jù)庫系統(tǒng)的主要問題 。假如刪除入口就馬上把它從數(shù)據(jù)庫中移除則會出
現(xiàn)問題 。考慮下面的情況:
XYZ是所有DBMP都知道的入口
XYZ在處理器DBMPA刪除
XYZ在處理器DBMPB修改(在處理器DBMPB知道它被處理器DBMPA刪除之前)
現(xiàn)在考慮處理器DBMPC , 它可能在處理器DBMPA之前得到處理器DBMPB的消息 , 在
這種情況下 , XYZ將在處理器DBMPC被刪除 。然而處理器DBMPC也可能在處理器DBMP
B之前得到處理器DBMPA的消息 。在這種情況下 , 假如處理器DBMPC從數(shù)據(jù)庫中移除
XYZ , 那么被處理器DBMPB初始賦值的XYZ將在處理器DBMPC的XYZ重新創(chuàng)建 。為
了防止這種情況 , 處理器DBMPC必須記住XYZ已經(jīng)被刪除直到它完全的忘記XYZ即不
再進(jìn)行與XYZ相關(guān)的操作 。
這個問題的解決方法是不必實(shí)際的從數(shù)據(jù)庫中移除入口 , 刪除只是在這個入口作一個刪
除的標(biāo)記 。然而 , 接收被刪除的入口的賦值的問題依然存在 。例如 , 處理器DBMPA可能
從處理器DBMPB接收一個賦值 , 而這個入口處理器DBMPA已經(jīng)標(biāo)記為刪除了 。處理器

推薦閱讀