激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

淺析多DM3數據庫體系及其互聯(lián)機制的策略

時(shí)間:2024-05-29 09:13:27 計算機應用畢業(yè)論文 我要投稿
  • 相關(guān)推薦

淺析多DM3數據庫體系及其互聯(lián)機制的策略

  摘要:隨著(zhù)經(jīng)濟的發(fā)展,企業(yè)的規模越來(lái)越大,其積累的信息也越來(lái)越多。存在著(zhù)各部門(mén)所處理的信息多數只對本部門(mén)有效,僅有少數信息需給其它某些部門(mén)共享的問(wèn)題。這種信息的分布性和獨立性要求對所處理的數據進(jìn)行分類(lèi),使各部門(mén)既能獨立地處理本部門(mén)大多數數據,也使部門(mén)間能協(xié)調處理跨部門(mén)的事務(wù)。在這種情況下,對整個(gè)企業(yè)建立一個(gè)完全的緊密耦合的分布式數據庫是很困難的,也是沒(méi)必要的,特別是大型企業(yè),這樣的數據庫的效率往往是很低的。為解決這個(gè)問(wèn)題,我們采用以下策略:每個(gè)部門(mén)使用一套緊密耦合的數據庫系統,而在存在跨部門(mén)事務(wù)處理的數據庫系統間用一個(gè)協(xié)調器聯(lián)起來(lái)。這樣就組成了一個(gè)橫跨整個(gè)企業(yè),各部門(mén)高度自治的聯(lián)邦數據庫系統。本文主要介紹多DM3數據庫系統間的信息共享機制。
  關(guān)鍵詞:DM3數據庫;互聯(lián)機制;設計
  
  多數據庫系統是分布式數據庫系統的一個(gè)重要分支,是一個(gè)新興的數據庫研究領(lǐng)域。隨著(zhù)企業(yè)規模的不斷擴大,各部門(mén)所需信息既相互交錯,又相對獨立。這就要求各部門(mén)所用的數據庫既能高度自治地工作,又能進(jìn)行信息共享。
  DM2是采用客戶(hù)/服務(wù)器模型,客戶(hù)機與服務(wù)器,服務(wù)器與服務(wù)器均通過(guò)網(wǎng)絡(luò )互連,通過(guò)消息相互通訊,組成一個(gè)緊密耦合的分布式數據庫系統。它的工作流程如下:客戶(hù)機登錄到一臺服務(wù)器上,這臺服務(wù)器便成為它的代理服務(wù)器;它接收來(lái)自客戶(hù)機的消息,然后根據全局數據字典決定是自己獨立完成該操作,還是與其它服務(wù)器協(xié)作處理這條消息,處理完成之后,再由代理服務(wù)器將處理結果返回給客戶(hù)機。由于DM2上各個(gè)服務(wù)器站點(diǎn)的全局字典完全相同,任何全局表的信息都會(huì )記入全局字典。若用它來(lái)構建一個(gè)企業(yè)的數據庫系統,則大量只對企業(yè)某部門(mén)有用的信息將會(huì )充斥在各部門(mén)所有服務(wù)器的全局字典中,增加了冗余。而且,當對全局表進(jìn)行DDL操作時(shí),為了確保全局字典的一致性,須對所有服務(wù)器的全局字典進(jìn)行加鎖。DM2對全局字典的封鎖方式是采用令牌環(huán)方式,即令牌繞虛環(huán)(非實(shí)環(huán))傳輸,某個(gè)服務(wù)器想對全局字典進(jìn)行操作,必須等令牌到達該服務(wù)器才可以執行。每個(gè)部門(mén)建立的全局表絕大多數只對本部門(mén)有用,當對這些表進(jìn)行DDL操作時(shí),卻要對所有服務(wù)器的全局字典進(jìn)行封鎖,通過(guò)令牌來(lái)實(shí)現對全局字典的互斥訪(fǎng)問(wèn)。這嚴重損害了數據庫的效率。
  為彌補以上不足,在DM2的改進(jìn)版本DM3中增加了協(xié)調器,用以聯(lián)接各個(gè)獨立的DM3數據庫子系統,并協(xié)調各子系統間的各種關(guān)系,使各子系統既能高度自治地工作,又能進(jìn)行有效的信息共享。
  一、多數據庫體系結構
  本系統可看作多個(gè)數據庫子系統被協(xié)調器聯(lián)起來(lái)的,高度自治的一個(gè)聯(lián)邦數據庫系統。其中,每個(gè)子系統獨立處理本系統內部的事務(wù),而子系統間的信息共享由復制技術(shù)提供,副本間的一致性由協(xié)調器協(xié)調處理,處理所需的信息在初始化時(shí)寫(xiě)入協(xié)調器的組間數據字典中。當對某子系統中的一份數據副本進(jìn)行修改時(shí),該子系統會(huì )將修改通知協(xié)調器,由協(xié)調器對該數據的其它副本進(jìn)行修改,從而保證了所有副本的一致性。
  由以上可知,子系統彼此并不直接接觸,而是各自都與協(xié)調器直接相聯(lián),由協(xié)調器統一管理子系統間的通信。這樣,當子系統對副本進(jìn)行修改時(shí),不必關(guān)心相應的子系統處于何種狀態(tài),也不必等待回應消息,以及異常處理,所有這些都由協(xié)調器進(jìn)行管理。因此,既提高了系統運行的效率,也保證了子系統的獨立性。
  協(xié)調器主要有三大功能,首先,它對協(xié)調器和服務(wù)器進(jìn)行初始化,并將有關(guān)信息存入組間字典;其次,它管理不同子系統間的通信,維護副本的一致性;最后,它在子系統出現崩潰時(shí),進(jìn)行異常管理及恢復工作。

  二、多數據庫互聯(lián)機制的主要策略
  多個(gè)DM3系統間的信息共享是通過(guò)副本實(shí)現的,副本的一致性是由協(xié)調器來(lái)維持的,是一種弱一致性。通常,多數據庫系統間的一致性是通過(guò)協(xié)調器周期性地訪(fǎng)問(wèn)服務(wù)器的日志來(lái)完成的。由于副本的更新帶有隨機性,因此,若采用這種方法,可能數據被修改多次,但其相對應的副本仍未被修改,這樣就損害了數據的一致性;也可能數據并未被修改,但協(xié)調器已多次訪(fǎng)問(wèn)了服務(wù)器的日志了,這樣就降低了系統的效率。
  所以,本系統采用的方法是當數據被修改時(shí),由服務(wù)器通知協(xié)調器有關(guān)信息,再由協(xié)調器通知相關(guān)系統,修改相關(guān)數據。這樣,數據的修改及時(shí)(仍然是弱一致性),而協(xié)調器也不會(huì )在數據未被修改的情況下訪(fǎng)問(wèn)服務(wù)器,提高了準確性。
  為了使協(xié)調器正常工作,我們對底層數據庫管理系統DM2進(jìn)行了修改。在基表控制塊TV_CTRL_BLOCK中增加一項IsReplication。建表時(shí),該項初始化為false;當為該表建立一個(gè)副本時(shí),該項賦值為true。具體算法如下。
  1、初始化算法。
  協(xié)調器:從用戶(hù)或應用程序接收待連接的兩個(gè)系統中的服務(wù)器名,需復制的表名;分別登錄到兩個(gè)系統的服務(wù)器上;向存有待復制表的服務(wù)器發(fā)預復制消息;等待服務(wù)器消息;若失敗,發(fā)一條失敗的消息給服務(wù)器和用戶(hù)或應用程序;若成功,從消息中取出待復制表的有關(guān)信息,根據這些信息,發(fā)一條建表消息給另一個(gè)系統的服務(wù)器;等待服務(wù)器消息;若失敗,發(fā)一條失敗的消息給服務(wù)器和用戶(hù)或應用程序;若成功,調數據轉移程序,進(jìn)行數據復制;將有關(guān)信息寫(xiě)入組間字典,退出。
  服務(wù)器:當服務(wù)器收到預復制消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為true。同時(shí),取出待復制表的有關(guān)信息,組成應答消息發(fā)給協(xié)調器。
  當服務(wù)器收到失敗的消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為false。
  2、維護算法。
  協(xié)調器:從組間字典讀出相關(guān)信息,根據這些信息,登錄到相應系統上;等待消息;從某系統的服務(wù)器上收到一條修改消息后,通過(guò)查找組間字典,確定該消息的目的地,然后將它轉發(fā)過(guò)去;若失敗,定時(shí)重發(fā)。
  服務(wù)器:1)等待消息;2)當收到某客戶(hù)或應用程序的消息后,檢查它是否是修改數據的操作(如delete,update或insert等);若是,檢查基表控制塊TV_CTRL_BLOCK中的IsReplication是否為true;若是,向協(xié)調器發(fā)修改消息;繼續執行服務(wù)器程序的其它部分。
  3、恢復算法。
  若協(xié)調器所聯(lián)接的系統中有一個(gè)跨掉了,則對副本的修改無(wú)法及時(shí)地反映到跨掉的系統中來(lái)。這時(shí),需要恢復算法來(lái)進(jìn)行處理。
  協(xié)調器:當協(xié)調器發(fā)現有一個(gè)系統已經(jīng)崩潰后,采取以下步驟。
  將與該系統相關(guān)的變量open賦值為false;打開(kāi)記時(shí)器;等待消息;若收到的消息是其它系統發(fā)出的修改崩潰了的系統上的副本的命令,則依次將這些消息存儲起來(lái);若收到的消息是記時(shí)器發(fā)出的時(shí)間到的消息,則向崩潰的系統發(fā)登錄命令;若登錄成功,將open的值改為true;將存儲的消息依次發(fā)送過(guò)去;若登錄失敗退出。
  我們曾在三個(gè)DM3數據庫系統上,用兩個(gè)協(xié)調器進(jìn)行聯(lián)接。結果,運行情況良好,各副本最終都能保證一致,且各副本間存在差異的時(shí)間間隔很短。另外,在出現異常的情況下,協(xié)調器也能正常工作。

【淺析多DM3數據庫體系及其互聯(lián)機制的策略】相關(guān)文章:

探析多DM3數據庫體系及其互聯(lián)機制的策略03-18

多數據庫系統互聯(lián)機制的設計與實(shí)現03-18

淺析英漢道歉語(yǔ)及其道歉策略的選擇03-01

淺析翻譯中的文化缺省及其補償重構策略03-02

淺析民營(yíng)企業(yè)公司治理機制及其發(fā)展趨向03-19

物聯(lián)網(wǎng)安全機制淺析11-26

情感營(yíng)銷(xiāo)策略淺析03-22

淺析新會(huì )計準則體系及其對企業(yè)的影響03-01

淺析企業(yè)品牌營(yíng)銷(xiāo)策略03-22

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频