一種資料庫虛擬化微內核數據源註冊與封裝方法
2023-05-07 01:31:21 2
一種資料庫虛擬化微內核數據源註冊與封裝方法
【專利摘要】本發明涉及雲資料庫【技術領域】,尤其是一種資料庫虛擬化微內核數據源註冊與封裝方法。本發明虛擬庫/表註冊與封裝;當存儲虛擬庫/表的主機啟動時,按照虛擬存儲池id向其對應的虛擬數據Federation匯報虛擬數據信息,進行自動註冊;封裝關係反映虛擬資料庫、虛擬表/視圖與物理的應用伺服器、資料庫伺服器、資料庫、數據表或文件之間的數據抽象映射;在邏輯層面對虛擬資料庫、虛擬表的操作最終映射到對應的一個或多個物理概念實體的操作。本發明構建了一個簡練的資料庫虛擬化微內核數據源註冊與封裝方法;可以應用於雲資料庫數據信息的獲取上。
【專利說明】一種資料庫虛擬化微內核數據源註冊與封裝方法
【技術領域】
[0001]本發明涉及雲資料庫【技術領域】,尤其是一種資料庫虛擬化微內核數據源註冊與封裝方法。
【背景技術】
[0002]數據「開放共享」是大數據應用獲取數據源的方法之一。雲資料庫將各種關係型資料庫看成一系列簡單的二維表,並基於簡化版本的SQL或訪問對象進行操作;因而解決了數據集中與共享的問題。
[0003]現有的軟體應用體系結構物理概念較多,並且在開發、部署、維護、擴展的每個過程都需要把握物理細節,這些應用普遍存在的問題有:信息化孤島嚴重,缺乏數據整合管理、缺乏對資料庫管理及應用價值的深入認識、忽視長期的數據質量管理,缺乏數據質量監控及更新機制、缺乏數據分析挖掘的認識,無法從數據中獲取有效信息和模式四大問題。
[0004]針對現有應用的複雜性,從數據管理層級對數據進行顆粒化劃分,在分布式環境下,根據用戶需求產生不同的資料庫虛擬封裝實例,並實現虛擬資料庫封裝實例在不同作業系統之間的遷移,實現數據管理與個人信息資產隔離與安全防護,給應用提供數據虛擬通道DVPN,結合大數據處理平臺數據獲取的需求,對已有關係型數據和流行大數據文件格式進行無縫遷移,數據的一站式加載,表空間的虛擬化傳輸,多樣數據文件的透明化導出,多樣、多版本同態數據備份與恢復,需要構建一個簡練的資料庫虛擬化微內核數據源註冊與封裝方法。
【發明內容】
[0005]本發明解決的技術問題在於提供一種資料庫虛擬化微內核數據源註冊與封裝方法,主要用於虛擬化微內核分布式MySQL、DB2、Oracle、SQLServer、SyBase資料庫、非關係型文件系統數據源註冊與封裝方法。
[0006]本發明解決上述技術問題的技術方案是:
[0007]所述方法包括虛擬庫/表註冊和封裝;
[0008]虛擬庫/表註冊:虛擬數據Federat1n將不同的虛擬元數據目錄映射到不同的虛擬庫/表,每個虛擬庫/表都對應一個虛擬存儲地址,存儲虛擬庫/表的主機有單獨的虛擬存儲池id ;當存儲虛擬庫/表的主機啟動時,按照虛擬存儲池id向其對應的虛擬數據Federat1n匯報虛擬數據信息,進行自動註冊,虛擬數據Federat1n收到匯報信息後,刷新虛擬元數據目錄;當客戶端訪問到此虛擬庫/表時,擁有該id的主機可以使用客戶端掛載虛擬庫/表;
[0009]虛擬庫/表封裝:封裝關係反映虛擬資料庫、虛擬表/視圖與物理的應用伺服器、資料庫伺服器、資料庫、數據表或文件之間的數據抽象映射;在邏輯層面對虛擬資料庫、虛擬表的操作最終映射到對應的一個或多個物理概念實體的操作;所述映射是多對多或交叉約束;虛擬表可以建立到物理資料庫和表或文件的映射關係,這種映射關係是非--對應的,一個虛擬表schema可以映射到網絡上的一個或多個資料庫伺服器、資料庫、表或文件。
[0010]所述的註冊與封裝具體包括以下步驟:
[0011]第一步是客戶端從MySQL、DB2、Oracle、SQLServer、SyBase等數據源的資料庫/表、非關係型文件系統中,通過結構映射和內容映射,通過rest方式註冊虛擬庫/表,虛擬出虛擬資料庫、虛擬數據表和虛擬文件;
[0012]第二步是虛擬數據Federat1n根據用戶操作算子啟動數據源封裝接口實現從底層調整核心模塊部分查詢解析定向代碼;
[0013]第三步是服務端根據虛擬數據Federat1n提供命令,調用rest服務端數據源封裝方法,通過配置文件獲取客戶端資料庫相關信息,部署rest封裝接口適配器;
[0014]第四步是資料庫虛擬化微內核對上層構建虛擬服務,該服務由虛擬表視圖構成,資料庫虛擬化微內核擁有一個虛擬用戶空間,虛擬用戶空間中的用戶id,通過虛擬表操作算子,獲得所需的虛擬表視圖;虛擬表操作算子可以對不同的虛擬庫/表進行運算,可以產生不同的虛擬表視圖,實現虛擬庫/表的多租戶視圖提取;
[0015]第五步資料庫虛擬化微內核根據虛擬庫/表的多租戶視圖提取數據,按照rest封裝代碼進行封裝。
[0016]所述方法的
[0017]客戶端註冊與封裝具體包括以下步驟:
[0018]第一步,增加rest接口註冊資料庫界面,包括url資源地址,rest所需埠等信息,註冊rest方式虛擬表;
[0019]第二步,核心查詢解析代碼模塊保持不變,底層jdbc連接資料庫方式改成rest資源訪問方式獲取遠端資料庫數據;
[0020]第三步,修改庫表設計,dbtype除了 MySQL、DB2、Oracle、SQLServer、SyBase 等資料庫之外還加rest類型;
[0021]第四步,增加DataSourceWrapper接口實現類RestWrapper底層實現類調整核心模塊部分查詢解析定向代碼,當查詢解析dbtype為rest時執行DataSourceWrapper實現類 Restffrapper ;
[0022]服務端註冊與封裝具體包括以下步驟:
[0023]第一步,增加DataSourceWrapper接口的rest服務端方法,接口每個方法對應不同url資源;
[0024]第二步,服務端通過配置文件獲取本機資料庫相關信息,即在部署rest接口適配器時,配置好該配置文件;
[0025]第三步,rest服務端方法獲取客戶資料庫數據數據相當於本地jdbc連接資料庫,客戶端將參數傳給服務端,服務端本地jdbc連接並操作資料庫將結果封裝成資源返回給客戶端,客戶端做一定解析處理就可獲得想要的數據或結果。
[0026]技術效果:
[0027]本方法通過將物理概念在邏輯層面加以總結和抽象,藉助虛擬資料庫、虛擬表兩個邏輯概念和映射,就可以表示和操作多樣數據源物理存在的應用伺服器、資料庫伺服器、資料庫和表。通過對這些數據源進行註冊和封裝,互連網的應用和資源的大量操作都可以直接基於這兩個邏輯概念完成,屏蔽了以前必須關注的物理操作的煩瑣細節,確保了對互連網平臺使用的方便性,以及應用的可擴展、可移植、鬆耦合特性。
[0028]使用本發明的方法,用戶在分布式網絡環境透明的開發、部署、管理網絡應用,不需要關注物理資源、運行應用伺服器的具體位置,屏蔽了多樣數據源複雜的物理操作細節;開發的應用程式具有全局可訪問、可部署、可移植的特點,這樣確保使用互連網平臺的便捷性。
[0029]本發明提出資料庫虛擬化微內核數據源註冊與封裝方法,針對當前各類主流資料庫MySQL、DB2、Oracle、SQLServer、SyBase可以直接接入,數據源通過封裝器(wrapper)封裝後,註冊到系統中,形成具有統一形態的虛擬表。通過虛擬庫和虛擬表創建嚮導可構建業務虛擬化封裝數據視圖,支持多用戶在線對虛擬數據進行租用。
【專利附圖】
【附圖說明】
[0030]下面結合附圖對本發明進一步說明:
[0031]圖1是本發明的資料庫虛擬化微內核數據源註冊與封裝機製圖;
[0032]圖2是虛擬化數據源客戶端與伺服器註冊與封裝方法圖。
【具體實施方式】
[0033]虛擬化微內核分布異構資料庫、文件數據源註冊與封裝方法。將物理分布、異構的多樣數據連通形成一個單一的虛擬資料庫,為應用提供統一的數據標準和訪問接口,支持對數據源的透明訪問。通過多樣數據的虛擬化,實現分布多樣數據源的自主接入,屏蔽多樣數據源的分布、異構特性。多樣數據源通過封裝器(wrapper)封裝後,註冊到系統中,形成具有統一形態的虛擬表,在不移動數據源的物理位置的前提下,形成一個整合的、統一數據標準的單一虛擬資料庫。資料庫虛擬化微內核基於SOA技術組織系統框架,以Web Service的形式發布服務,並供用戶通過企業門戶訪問。平臺通過虛擬庫表管理員提供系統創建嚮導構建業務基礎數據系統,支持用戶在線添加刪除系統功能模塊。
[0034]虛擬庫/表註冊:虛擬表是在邏輯層面表示多樣數據源、資料庫、表的邏輯數據虛擬抽象概念,它所屬一個特定的虛擬數據Federat1n。資料庫虛擬化微內核要求虛擬庫、虛擬表具有主動註冊、自維護、自更新的能力。虛擬庫/表屬於虛擬數據Federat1n的子集,即可單獨對外提供服務,也可通過封裝後形成新的虛擬視圖對外提供服務。虛擬數據Federat1n把不同的虛擬元數據目錄映射到不同的虛擬庫/表,每個虛擬庫/表都對應一個虛擬存儲地址,存儲虛擬庫/表的主機有單獨的虛擬存儲池id。當存儲虛擬庫/表的主機啟動時,它會按照虛擬存儲池id向其對應的虛擬數據Federat1n匯報虛擬數據信息,進行自動註冊,虛擬數據Federat1n收到匯報信息後,刷新虛擬元數據目錄。當客戶端訪問到此虛擬庫/表時,擁有該id的主機可以使用客戶端掛載虛擬庫/表。
[0035]虛擬庫/表封裝:封裝關係反映了虛擬資料庫、虛擬表/視圖,與物理的應用伺服器、資料庫伺服器、資料庫、數據表(文件)之間的數據抽象映射。在邏輯層面對虛擬資料庫、虛擬表的操作最終映射到對應的一個或多個物理概念實體的操作。這種映射是多對多的,同時還可以是交叉約束。首先,虛擬表可以建立到物理資料庫和表(包括文件)的映射關係,這種映射關係是非一一對應的,一個虛擬表schema可以映射到網絡上的一個或多個資料庫伺服器、資料庫、表(文件)。
[0036]本發明資料庫虛擬化微內核數據源註冊與封裝機制如圖1所示。
[0037]第一步是客戶端從數據源MySQL、DB2、0racle、SQLServer、SyBase資料庫/表、非關係型文件系統中,通過結構映射和內容映射,通過rest方式註冊虛擬庫/表,虛擬出虛擬資料庫、虛擬數據表和虛擬文件。
[0038]第二步是虛擬數據Federat1n根據用戶操作算子啟動數據源封裝接口實現從底層調整核心模塊部分查詢解析定向代碼。
[0039]第三步是服務端根據虛擬數據Federat1n提供命令,調用rest服務端數據源封裝方法,通過配置文件獲取客戶端資料庫相關信息,部署rest封裝接口適配器。
[0040]第四步是資料庫虛擬化微內核對上層構建虛擬服務,該服務有虛擬表視圖構成,資料庫虛擬化微內核擁有一個虛擬用戶空間,虛擬用戶空間中的用戶id,通過虛擬表操作算子,獲得所需的虛擬表視圖,由於虛擬表操作算子可以對不同的虛擬庫/表進行運算,因而可以產生不同的虛擬表視圖,實現虛擬庫/表的多租戶視圖提取。
[0041]第五步根據資料庫虛擬化微內核根據虛擬庫/表的多租戶視圖提取數據,按照rest封裝代碼進行封裝。
[0042]客戶端註冊與封裝步驟如下:
[0043]第一步增加rest接口註冊資料庫界面,包括url資源地址,rest所需埠等信息,註冊rest方式虛擬表,詳情如圖2所示。
[0044]第二步核心查詢解析代碼模塊保持不變,底層jdbc連接資料庫方式改成rest資源訪問方式獲取遠端資料庫數據
[0045]第三步修改庫表設計,dbtype除了 MySQL、DB2、Oracle、SQLServer、SyBase 等資料庫之外還加rest類型
[0046]第四步增加DataSourceWrapper接口實現類RestWrapper底層實現類調整核心模塊部分查詢解析定向代碼,如當查詢解析dbtype為rest時執行DataSourceWrapper實現類 Restffrapper
[0047]服務端封裝步驟如下:
[0048]第一步增加DataSourceWrapper接口的rest服務端方法,接口每個方法對應不同url資源
[0049]第二步服務端通過配置文件獲取本機資料庫相關信息,也就是在部署rest接口適配器時,配置好該配置文件
[0050]第三步rest服務端方法獲取客戶資料庫數據數據相當於本地jdbc連接資料庫,客戶端將參數傳給服務端,服務端本地jdbc連接並操作資料庫將結果封裝成資源返回給客戶端,客戶端做一定解析處理就可獲得想要的數據或結果。
【權利要求】
1.一種資料庫虛擬化微內核數據源註冊與封裝方法,其特徵在於:所述方法包括虛擬庫/表註冊和封裝; 虛擬庫/表註冊:虛擬數據Federat1n將不同的虛擬元數據目錄映射到不同的虛擬庫/表,每個虛擬庫/表都對應一個虛擬存儲地址,存儲虛擬庫/表的主機有單獨的虛擬存儲池id ;當存儲虛擬庫/表的主機啟動時,按照虛擬存儲池id向其對應的虛擬數據Federat1n匯報虛擬數據信息,進行自動註冊,虛擬數據Federat1n收到匯報信息後,刷新虛擬元數據目錄;當客戶端訪問到此虛擬庫/表時,擁有該id的主機可以使用客戶端掛載虛擬庫/表; 虛擬庫/表封裝:封裝關係反映虛擬資料庫、虛擬表/視圖與物理的應用伺服器、資料庫伺服器、資料庫、數據表或文件之間的數據抽象映射;在邏輯層面對虛擬資料庫、虛擬表的操作最終映射到對應的一個或多個物理概念實體的操作;所述映射是多對多或交叉約束;虛擬表可以建立到物理資料庫和表或文件的映射關係,這種映射關係是非--對應的,一個虛擬表schema可以映射到網絡上的一個或多個資料庫伺服器、資料庫、表或文件。
2.根據權利要求1所述的方法,其特徵在於:所述的註冊與封裝具體包括以下步驟: 第一步是客戶端從MySQL、DB2、Oracle、SQLServer、SyBase等數據源的資料庫/表、非關係型文件系統中,通過結構映射和內容映射,通過rest方式註冊虛擬庫/表,虛擬出虛擬資料庫、虛擬數據表和虛擬文件; 第二步是虛擬數據Federat1n根據用戶操作算子啟動數據源封裝接口實現從底層調整核心模塊部分查詢解析定向代碼; 第三步是服務端根據虛擬數據Federat1n提供命令,調用rest服務端數據源封裝方法,通過配置文件獲取客戶端資料庫相關信息,部署rest封裝接口適配器; 第四步是資料庫虛擬化微內核對上層構建虛擬服務,該服務由虛擬表視圖構成,資料庫虛擬化微內核擁有一個虛擬用戶空間,虛擬用戶空間中的用戶id,通過虛擬表操作算子,獲得所需的虛擬表視圖;虛擬表操作算子可以對不同的虛擬庫/表進行運算,可以產生不同的虛擬表視圖,實現虛擬庫/表的多租戶視圖提取; 第五步資料庫虛擬化微內核根據虛擬庫/表的多租戶視圖提取數據,按照rest封裝代碼進行封裝。
3.根據權利要求1或2所述的方法,其特徵在於:所述方法的 客戶端註冊與封裝具體包括以下步驟: 第一步,增加rest接口註冊資料庫界面,包括urI資源地址,rest所需埠等信息,註冊rest方式虛擬表; 第二步,核心查詢解析代碼模塊保持不變,底層jdbc連接資料庫方式改成rest資源訪問方式獲取遠端資料庫數據; 第三步,修改庫表設計,dbtype除了 MySQL、DB2、Oracle、SQLServer、SyBase等資料庫之外還加rest類型; 第四步,增加DataSourceWrapper接口實現類RestWrapper底層實現類調整核心模塊部分查詢解析定向代碼,當查詢解析dbtype為rest時執行DataSourceWrapper實現類RestWrapper ; 服務端註冊與封裝具體包括以下步驟: 第一步,增加DataSourceWrapper接口的rest服務端方法,接口每個方法對應不同ur I資源; 第二步,服務端通過配置文件獲取本機資料庫相關信息,即在部署rest接口適配器時,配置好該配置文件; 第三步,rest服務端方法獲取客戶資料庫數據數據相當於本地jdbc連接資料庫,客戶端將參數傳給服務端,服務端本地jdbc連接並操作資料庫將結果封裝成資源返回給客戶端,客戶端做一定解析處理就可獲得想要的數據或結果。
【文檔編號】G06F17/30GK104133889SQ201410370200
【公開日】2014年11月5日 申請日期:2014年7月30日 優先權日:2014年7月30日
【發明者】艾建文, 季統凱 申請人:國雲科技股份有限公司