摘要:隨著無線電設備種類和數量的增加,無線電頻譜管理在社會生產和生活方面起著越來越重要的作用。但是由于歷史及地區發展的不平衡性造成了我國目前各地區的頻譜管理系統相對獨立,極大的制約了我國頻譜管理技術的發展,造成了資源的浪費及不必要的重復建設。在對現有頻譜管理系統特點分析的基礎上,提出一種在網格環境下的基于虛擬數據庫技術的頻譜數據庫的訪問和集成方法,并給出虛擬數據庫的構建策略、頻譜數據庫資源注冊和查詢映射方法,為資源使用者提供了訪問頻譜數據庫的一致訪問接口。
關鍵詞:頻譜網格;虛擬數據庫;模式映射;資源注冊
中圖分類號:TP311
文獻標識碼:B
文章編號:1004—373X(2008)04—174—03
1 引 言
現代通信事業蓬勃發展,無線電用頻設備的分布越來越密集,無線電設備之間的干擾也越來越嚴重,這些給國家無線電頻譜管理工作帶來了巨大壓力。為此,國家及相關機構在頻譜管理方面都投入大量的人力物力,各個省市區也都建立了自己的頻譜管理系統。國家對頻譜管理系統建設之初并沒有一個統一的規劃,各地區根據自己的業務需求而單獨開發頻譜管理系統,導致了不同省市間的頻譜管理系統不能實現互訪互操作。為了要解決這一問題,避免重復建設,應該將不同地區的異構頻譜數據庫進行整合。通過網格門戶給用戶提供一個統一的訪問視圖,以實現不同地區頻譜資源的互連互通和有機共享。雖然各省市的頻譜數據庫存儲在不同的地區,采用的數據庫、操作系統等存在不同,但同時也有很大的相似之處,所以如何確定網格環境下異構數據庫的訪問和集成方法,為用戶提供異構數據庫資源的全局統一視圖和高效的訪問接口,是頻譜網格面臨的關鍵問題。
2 相關工作
隨著網格技術及其應用的不斷發展,網格環境中異構數據庫的訪問和集成已經成為網格研究的重要組成部分。隸屬于全球網格論壇(GGF)的數據庫訪問和集成服務工作組(DAIS—WG)正致力于網格數據庫服務的標準建設,其中包括異構數據庫系統的一致訪問規范、網格框架中數據庫系統的協同機制等方面。英國e—Science網格計劃的開放風格服務體系框架數據訪問和集成(OGSA—DAI)是支持數據庫訪問和集成的網格中間件,能夠支持多種數據庫資源查詢、更新、傳輸和交付,為數據庫資源生成配置文件,并根據配置文件自動部署GDSF服務,為用戶提供數據庫的查詢和訪問。但是OGSA—DAI目前主要側重于數據庫訪問服務,其數據庫資源注冊不包括其他數據庫模式信息。
目前異構數據庫訪問與集成方面的研究工作對于頻譜網格的建設有一定的啟發和借鑒意義,但現有的頻譜網格數據庫有其自身的特點:
(1)由于頻譜網格的異構數據資源來自各個省市的頻譜數據庫,其監測的實時數據量大,如采用數據復制方法會產生網格存儲資源的浪費,同時由于某些數據涉及用戶隱私,容易造成泄密。
(2)由于頻譜管理具有相當強的專業性,如采用基于數據庫元數據方法的網格應用則要求開發人員對該專業的知識充分理解,這給項目開發工作帶來較大的難度。
(3)經過調研了解到,雖然各省市在數據庫的定義方面有不同外,采用的數據庫系統主要都是Oracle數據庫,因此在數據集成時可以把側重點由支持多種數據庫訪問轉變到模式映射、語義轉換方面,以提高數據庫查詢的效率。根據以上對頻譜網格異構數據庫的分析,采用了基于虛擬數據庫的異構數據庫訪問和集成方法。該方法通過構建虛擬數據庫來定義異構數據庫資源的全局統一視圖,并在此基礎上,給出了數據庫資源的注冊方式和虛擬數據庫查詢映射方法,為資源使用者提供了訪問數據庫的一致訪問接口。
3 虛擬數據庫構建策略
根據頻譜管理業務的需要,各省的頻譜數據庫主要包括信息數據庫和臺站數據庫,因此在構建虛擬數據庫時也相應地建立了虛擬信息數據庫和虛擬臺站數據庫。一般地,虛擬數據庫可以包含1個或多個虛擬表,虛擬表可以包含1個或多個虛擬字段,虛擬數據庫、虛擬表和虛擬字段的概念分別類似于關系數據庫理論中的數據庫、表和字段的概念。具體而言,本文提出的虛擬數據庫構建策略主要包括以下內容:
(1)在創建虛擬數據庫的虛擬表時,根據業務邏輯的需要,抽取各個省數據庫的公共數據表,同時為了以后擴展的需要,引入了面向對象設計中繼承性,即可以在根虛擬數據庫的基礎上繼續添加子虛擬數據庫,子虛擬數據庫可以繼承父虛擬數據庫的虛擬表和虛擬子段。
(2)在創建子節點虛擬表的虛擬字段時,如果子節點的虛擬表繼承了父節點的虛擬表,則稱前者為子虛擬表,后者為父虛擬表。子虛擬表自動具有父虛擬表的所有虛擬字段,其中包括父虛擬表自身創建的虛擬字段和繼承祖父的虛擬字段,并且子虛擬表也可以創建其自身的虛擬字段。
(3)該策略具有的繼承特性有利于網格環境下異構數據庫資源的注冊與映射。數據庫資源提供者在注冊數據庫資源時可以選擇一個與自身最相近的虛擬數據庫,設定其資源與該虛擬數據庫之間的映射關系。同時,如果由于業務的變更各省需要擴展數據庫,也則需原有的虛擬數據庫基礎上創建新的子虛擬數據庫,使得數據庫集成易于擴展。
4 基于虛擬數據庫的頻譜網格集成框架
4.1頻譜網格體系結構
4.1.1 頻譜網絡體系的組成部分
根據虛擬數據庫構建策略以及數據庫資源注冊、虛擬數據庫選擇和虛擬數據庫查詢映射等方式實現頻譜網格異構數據庫訪問和集成,如圖1所示其總體結構主要包括以下幾個部分:
(1)虛擬數據庫管理器(VDB management)
在應用系統構建過程中,系統構建者用他來維護虛擬數據庫的模式(VBS schema)。
(2)數據庫資源注冊服務與客戶端(ResInit service,ResInit client)
數據庫資源提供者在向應用系統注冊其數據庫資源時,使用該客戶端自動注冊其持有的數據庫模式,并設定其數據庫資源與虛擬數據庫之間的映射關系。
(3)數據庫訪問代理(access Agent)
為系統中其他模塊(如資源監測服務、查詢與響應轉換服務等)提供數據庫訪問服務。該代理可以支持對各數據庫資源的并行訪問。
(4)虛擬數據庫查詢服務(VDB SGR)
網格應用服務或其他客戶端通過虛擬數據庫查詢服務,獲取應用系統中的虛擬數據模式信息。
(5)虛擬數據庫服務(VDBS)
網格應用服務或其他客戶端通過訪問虛擬數據庫服務獲取來自各異構數據庫中的信息。為了盡量避免因虛擬數據庫集中處理應用查詢請求而降低系統效率,可以在系統中部署多個虛擬數據庫服務,以分流查詢請求。
(6)查詢與響應轉換服務(Req/Res TranServ)
將資源使用者對虛擬數據庫的訪問請求轉換為對真實數據庫的訪問請求,并將來自多個真實數據庫的響應合并為針對一個虛擬數據庫的響應。
(7)資源監測服務(ResMonitor)
定期通過數據庫訪問代理監測已注冊數據庫資源的狀態。
(8)元數據目錄
用來存儲虛擬數據庫模式、數據庫資源元數據和數據庫資源到虛擬數據庫之間映射信息。其中,數據庫資源注冊服務、虛擬數據庫查詢服務、虛擬數據庫服務等部署在網格服務容器中,分別被數據庫資源注冊客戶端、網格應用服務(GAS)或其他客戶端的調用。

4.1.2 頻譜網絡應用服務訪問過程
頻譜網格應用服務訪問各異構數據庫資源的過程如圖2所示。
(1)網格應用服務向虛擬數據庫服務提交訪問請求,虛擬數據庫服務將查詢請求遞交給查詢映射服務;
(2)查詢映射服務訪問數據庫元數據目錄,結合虛擬數據庫模式,將對虛擬數據庫的訪問請求轉換為對相應真實數據庫的訪問請求;
(3)查詢映射服務通過訪問代理,順次或并行訪問真實的數據庫資源;
(4)查詢映射服務將合并的查詢響應返回給虛擬數據庫服務;
(5)虛擬數據庫服務將查詢響應返回給網格應用服務,完成本次訪問過程。

4.2數據庫資源注冊
在上述虛擬數據庫構建策略基礎上,數據庫資源提供者注冊其所持有的數據庫資源時,需要設定三方面的信息:本地數據庫訪問參數、本地數據庫模式、本地數據庫與虛擬數據庫之間的映射信息。
(1)外部網絡訪問本地數據庫所需要的參數。如果本地直接被外網訪問,則這些參數包括數據庫的類型、服務器IP、端口號、數據庫名稱、只讀用戶和口令等。如果外網不能直接訪問本地數據庫,可以使用一個部署在Webservices容器中的Web服務,作為本地數據庫的代理服務,提供者只需提供該Web服務的地址和訪問參數。
(2)本地數據庫模式和虛擬數據庫模式之間的映射關系信息。具體而言,這是指本地數據庫中某一個字段到虛擬數據庫中某一個虛擬字段之間的映射關系,其映射關系可以定義為:映射關系信息(MappingInformation)是映射規則(MappingRule)集合的子集,一條映射規則包括子段映射(ColumnMapping)子集和表間關系(TableRelation)子集,并且字段映射子集的所有元素必須針對同一虛擬表(VirtualTable)。可以表示如下:

4.3虛擬數據厙映射
在虛擬數據庫的查詢映射之前,資源使用者首先要確定與網格應用相關的1個或多個虛擬數據庫。由于父虛擬數據庫能夠自動具有子虛擬數據庫中所設定的部分映射關系,所以網格應用開發者可以選擇虛擬數據庫樹林中的任何一個虛擬數據庫節點進行訪問。根據虛擬數據庫構建策略,在數據庫資源注冊與虛擬數據庫選擇的基礎上,需要給出虛擬數據庫的查詢映射算法。本文的虛擬數據庫查詢映射算法主要包括:
(1)虛擬查詢語句的轉換。根據數據庫資源注冊確定的映射關系,將資源使用者對虛擬數據庫的查詢語句(即虛擬查詢語句)轉換為多個真實數據庫的真實查詢語句。
(2)數據庫查詢結果的合并。將來自各真實數據庫的查詢響應合并為一個結果集,該結果集的元數據結構能夠匹配所訪問的虛擬數據庫模式。
5 結 語
本文在實現頻譜網格異構數據庫的訪問與集成過程中,采用基于虛擬數據庫的訪問和集成方法。該方法針對頻譜數據庫的特點和邏輯業務的需要,通過構建虛擬數據庫的策略,定義異構數據庫資源的全局統一視圖。該策略使得對異構頻譜數據庫資源的訪問變得簡化,從而可以使開發更集中于對查詢優化及效率提高等方面的研究。