關于多數據庫系統互聯機制的計算機論文(2)
關于多數據庫系統互聯機制的計算機論文篇二
《多媒體數據庫的互聯機制與策略算法》
摘 要:多媒體數據庫系統是數據庫研究領域的熱點之一。主要介紹了多媒體數據庫DM3及DM3數據庫系統間的信息共享機制,探索了多個DM3數據庫系統間的信息共享的策略算法。
關鍵詞:多媒體數據庫;DM3;聯邦數據庫;數據字典
1 多媒體數據庫定義
多媒體數據庫MMDB(Multimedia Database)是由若干多媒體對象所構成的集合,這些數據對象按一定的方式被組織在一起,可為其他 應用共享。
2 多媒體數據庫管理系統DM3
2.1 DM3簡介
DM3是由達夢公司生產的具有我國自主版權的分布式多媒體數據庫管理系統。能將多媒體信息(如聲音、文字、圖形、圖像等)、地理信息等復雜對象視同常規數據一樣進行一體化地定義、存儲和處理。我們利用該平臺提供的各種功能,能夠方便、高效地建立復雜的多媒體信息管理系統。
DM3采用創混合數據類型,擴展的多媒體和GIS數據類型等技術,成功實現了空間數據、多媒體數據與常規數據的一體化定義、存儲和管理,在空間信息和多媒體信息管理方面具有明顯優勢。
2.2 DM3的特性及主要關鍵技術
2.2.1 DM3的特性
(1)跨平臺的分布式系統:DM3是分布式數據庫管理系統,能夠在多種操作系統上運行,DM3分布管理的實現依賴于DM3全局數據字典、客戶/服務器接口、分布數據管理及服務器/服務器接口等。
(2)DM3支持開放互連接口:ODBC開放數據庫互連,定義了所有的數據庫系統公用的函數接口和SQL語法,基于ODBC的應用程序可實現與具體的DBMS無關。
(3)支持多媒體和地理信息系統功能:
DM3能夠直接管理和處理多媒體信息,實現了地理信息的分段存儲。
(4) 利用網絡索引技術實現地圖的空間檢索。
2.2.2 主要關鍵技術
(1)多線程調技術: DM3核心系統采用了先多線程調度技術。
(2)事務管理與并發控制技術: DM3采用的是基于消息通信的多線程客戶/服務器模型。
(3)查詢優化及索引技術:DM3實現了邏輯優化和物理優化,采用了性能優良的Bn樹索引技術,可以充分利用空間,提高系統的效率。
(4)動態模式修改及空值處理技術:
1)動態模式修改:DM3允許在一個站點建立任意多個模式,且可以隨時增加、隨時刪除;
2)空值處理:在元組前留(基表屬性個數/8)個前導字節,每一個二進制位對應基表的一個屬性。
(5)DM3存儲過程/函數機制:是一種技術,它是執行DM3 SQL過程語言的一種機器.允許用戶使用DM3提供的SQL過程語言創建過程和函數,避免重復編碼,提高生產率。
(6)DM3異構數據庫連接技術:DM3提供的ODBC驅動程序、JDBC驅動程序解決了與其它DBMS及通用工具軟件的接口,從而實現了支持異構數據庫之間的互操作。
(7)DM3智能報表工具:DM3智能報表工具是以DM3 ODBC驅動程序和數據倉庫技術為基礎,支持異構平臺,支持異構數據庫之間的互操作,便于報表數據統計和輔助決策。
2.3 DM3系統的體系結構
DM3采用了基于消息通信的客戶/服務器總體模型。在這種結構中,一般包含一臺或多臺檔次較高的小型機或工作站作為服務器,他們互相協作來完成客戶對數據庫的各種請求,用戶的應用程序、DM3提供的各種工具集(交互式ISQL、預編譯系統、ODBC接口、JDBC接口、安裝工具、)運行在檔次較低的客戶機上,客戶機與服務器之間、服務器與服務器之間通過網絡聯接。極端情況下,當網絡系統中的每一臺機器都既是服務器,又是客戶機時,DM3系統即演化為一個典型的分布式數據庫管理系統。
3 DM3互聯機制
分布式數據庫管理系統的工作流程是:客戶機登錄到一臺服務器上,這臺服務器便成為它的代理服務器;它接收來自客戶機的消息,然后根據全局數據字典決定是自己獨立完成該操作,還是與其它服務器協作處理這條消息,處理完成之后,再由代理服務器將處理結果返回給客戶機。
4 算法
為了使協調器正常工作,我們對底層數據庫管理系統DM3進行了修改。在基表控制塊TV_CTRL_BLOCK中增加一項IsReplication。建表時,該項初始化為false;當為該表建立一個副本時,該項賦值為true。具體算法如下。
4.1 初始化算法
4.1.1 協調器:
①從用戶或應用程序接收待連接的兩個系統中的服務器名,需復制的表名;②分別登錄到兩個系統的服務器上;③向存有待復制表的服務器發預復制消息;④等待服務器消息;⑤若失敗,發一條失敗的消息給服務器和用戶或應用程序,轉11);⑥ 若成功,從消息中取出待復制表的有關信息,根據這些信息,發一條建表消息給另一個系統的服務器;⑦等待服務器消息;⑧ 若失敗,發一條失敗的消息給服務器和用戶或應用程序,轉11; ⑨若成功,調數據轉移程序,進行數據復制 ;⑩將有關信息寫入組間字典;?B11?退出。
4.1.2 服務器
當服務器收到預復制消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為true。同時,取出待復制表的有關信息,組成應答消息發給協調器。當服務器收到失敗的消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為false。
4.2 維護算法
4.2.1 協調器
(1)從組間字典讀出相關信息,根據這些信息,登錄到相應系統上;
(2)等待消息;
(3)從某系統的服務器上收到一條修改消息后,通過查找組間字典,確定該消息的目的地,然后將它轉發過去;
(4)若失敗,定時重發,轉2.
4.2.2 服務器:
(1)等待消息;
(2)當收到某客戶或應用程序的消息后,檢查它是否是修改數據的操作(如delete,update或insert等);
(3)若不是,轉7;
(4)若是,檢查基表控制塊TV_CTRL_BLOCK中的IsReplication是否為true;
(5)若不是,轉7;
(6)若是,向協調器發修改消息;
(7)繼續執行服務器程序的其它部分。
4.3 恢復算法
若協調器所聯接的系統中有一個跨掉了,則對副本的修改無法及時地反映到跨掉的系統中來這時,需要恢復算法來進行處理。
協調器:當協調器發現有一個系統已經崩潰后,采取以下步驟
(1)將與該系統相關的變量open賦值為false;
(2)打開記時器;
(3)等待消信;
(4)若收到的消息是其它系統發出的修改崩潰了的系統上的副本的命令,則依次將這些消息存儲起來,轉3);
(5)若收到的消息是記時器發出的時間到的消息,則向崩潰的系統發登錄命令;
(6)若登錄成功,將open的值改為true;
(7)將存儲的消息依次發送過去,轉9;
(8)若登錄失敗,轉3;
(9)退出。
5 結論
我們曾在三個DM3數據庫系統上,用兩個協調器進行聯接,運行情況良好,各副本最終都能保證一致,且各副本間存在差異的時間間隔很短。另外,在出現異常的情況下,協調器也能正常工作。
數據庫管理系統DM3在數據模型、安全技術、智能報表等方面具有創造性,在總體設計和技術上處于國內領先地位,實現了數據分布和站點的透明性,其通用性、開放性設計使DM3可以與oracle、sybase、SQLserver等流行DBMS互連互訪或共存于一個系統中,符合國家/國際標準的DBMS,為國產DBMS替代進口產品奠定了基礎。
參考文獻
[1]?周龍驤.分布式數據庫管理系統實現技術[M].北京: 科學 出版社.
[2]?王珊.數據倉庫技術與聯機分析處理[M].北京:科學出版社.
[3]?多李瑞軒,盧正鼎.媒體數據庫系統原理與技術[M].北京: 電子 工業 出版社.
[4]?湯庸,彭重嘉,區海翔.多媒體數據庫與 網絡 應用[M].北京:人民郵電出版社.
關于多數據庫系統互聯機制的計算機論文相關文章: