欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多租戶共享數(shù)據(jù)庫(kù)的方法和多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng)的制作方法

文檔序號(hào):6517995閱讀:256來(lái)源:國(guó)知局
一種多租戶共享數(shù)據(jù)庫(kù)的方法和多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng),該系統(tǒng)包括:應(yīng)用層模塊,用于接收客戶端的指令,在應(yīng)用層建立和維護(hù)租戶的邏輯數(shù)據(jù)庫(kù)信息,向數(shù)據(jù)管理層模塊發(fā)送第一指令;數(shù)據(jù)管理層模塊,用于根據(jù)所述第一指令建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,向基礎(chǔ)設(shè)施層模塊發(fā)送第二指令;基礎(chǔ)設(shè)施層模塊,用于根據(jù)所述第二指令的指示基于虛擬機(jī)創(chuàng)建基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例,或者根據(jù)所述第二指令的指示對(duì)所述物理數(shù)據(jù)庫(kù)實(shí)例進(jìn)行數(shù)據(jù)操作。本發(fā)明能夠?qū)崿F(xiàn)租戶之間的性能隔離,保障租戶的性能需求。本發(fā)明還提供了一種多租戶共享數(shù)據(jù)庫(kù)的方法。
【專利說(shuō)明】一種多租戶共享數(shù)據(jù)庫(kù)的方法和多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算【技術(shù)領(lǐng)域】,尤其涉及的是一種多租戶共享數(shù)據(jù)庫(kù)的方法和多租戶數(shù)據(jù)庫(kù)即服務(wù)DBaaS (Database as a Service)系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計(jì)算技術(shù)的發(fā)展,傳統(tǒng)軟件層次棧中的操作系統(tǒng)、中間件和應(yīng)用紛紛在云中找到了位置,出現(xiàn)了基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)模式。實(shí)際上,承載信息的數(shù)據(jù)庫(kù)也非常適合構(gòu)建在云數(shù)據(jù)中心。傳統(tǒng)數(shù)據(jù)庫(kù)托管服務(wù)以物理機(jī)為單位部署租戶的數(shù)據(jù)庫(kù),隨著應(yīng)用的深入,暴露出資源利用不均衡和維護(hù)管理困難等問(wèn)題。以數(shù)據(jù)庫(kù)即服務(wù)(Database as a Service,DBaaS)模式將各租戶的數(shù)據(jù)庫(kù)集中托管起來(lái),通過(guò)共享服務(wù)器實(shí)現(xiàn)資源的優(yōu)化利用,降低軟硬件成本和維護(hù)管理開銷,是解決上述問(wèn)題的理想方案。
[0003]在多個(gè)租戶數(shù)據(jù)庫(kù)之間共享服務(wù)器以提高系統(tǒng)資源利用率是DBaaS模式的核心追求?,F(xiàn)有的共享數(shù)據(jù)庫(kù)方案使多個(gè)租戶的數(shù)據(jù)庫(kù)共存在同一臺(tái)服務(wù)器的同一數(shù)據(jù)庫(kù)引擎上,雖然能夠提高資源的利用率,但租戶數(shù)據(jù)庫(kù)的性能隔離得不到保障,某些租戶的請(qǐng)求負(fù)載可能占用大部分系統(tǒng)資源,造成資源劫持。。
[0004]因此,現(xiàn)有的多租戶數(shù)據(jù)庫(kù)即服務(wù)DBaaS系統(tǒng)中,租戶之間互相影響,租戶的性能需求沒(méi)有得到有力地保障。

【發(fā)明內(nèi)容】

[0005]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種多租戶共享數(shù)據(jù)庫(kù)的方法和多租戶數(shù)據(jù)庫(kù)即服務(wù)DBaaS系統(tǒng),能夠?qū)崿F(xiàn)租戶之間的性能隔離,保障租戶的性能需求。
[0006]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng),該系統(tǒng)包括:
[0007]應(yīng)用層模塊,用于接收客戶端的指令,在應(yīng)用層建立和維護(hù)租戶的邏輯數(shù)據(jù)庫(kù)信息,向數(shù)據(jù)管理層模塊發(fā)送第一指令;
[0008]數(shù)據(jù)管理層模塊,用于根據(jù)所述第一指令建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,向基礎(chǔ)設(shè)施層模塊發(fā)送第二指令;
[0009]基礎(chǔ)設(shè)施層模塊,用于根據(jù)所述第二指令的指示基于虛擬機(jī)創(chuàng)建基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例,或者根據(jù)所述第二指令的指示對(duì)所述物理數(shù)據(jù)庫(kù)實(shí)例進(jìn)行數(shù)據(jù)操作。
[0010]進(jìn)一步地,該系統(tǒng)還包括下述特點(diǎn):
[0011]所述物理數(shù)據(jù)庫(kù)實(shí)例信息包括以下信息的一種或多種:物理數(shù)據(jù)庫(kù)實(shí)例的IP地址、物理數(shù)據(jù)庫(kù)實(shí)例的端口、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)、租戶標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例密碼或宿主虛擬機(jī)信息。
[0012]進(jìn)一步地,該系統(tǒng)還包括下述特點(diǎn):
[0013]所述第一指令,包括以下指令的任意一種:創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例、刪除物理數(shù)據(jù)庫(kù)實(shí)例、存儲(chǔ)數(shù)據(jù)或查詢數(shù)據(jù)。
[0014]進(jìn)一步地,該系統(tǒng)還包括下述特點(diǎn):
[0015]數(shù)據(jù)管理層模塊,用于接收到應(yīng)用層模塊發(fā)送的創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0016]根據(jù)基礎(chǔ)設(shè)施層物理服務(wù)器資源的空閑程度,優(yōu)先在空閑程度高的物理服務(wù)器上創(chuàng)建虛擬機(jī);
[0017]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息在虛擬機(jī)上創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例;
[0018]保存創(chuàng)建的物理數(shù)據(jù)庫(kù)實(shí)例與租戶的邏輯數(shù)據(jù)庫(kù)的映射關(guān)系。
[0019]進(jìn)一步地,該系統(tǒng)還包括下述特點(diǎn):
[0020]數(shù)據(jù)管理層模塊,用于接收到應(yīng)用層模塊發(fā)送的查詢/存儲(chǔ)數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0021]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)所述映射關(guān)系選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子進(jìn)行線程數(shù)據(jù)查詢/存儲(chǔ)。
[0022]進(jìn)一步地,該系統(tǒng)還包括下述特點(diǎn):
[0023]所述映射的類型包括:哈希路由映射或二分查找路由映射。
[0024]進(jìn)一步地,該系統(tǒng)還包括下述特點(diǎn):
[0025]租戶的邏輯數(shù)據(jù)庫(kù)基于關(guān)系模型建立,包括以下元數(shù)據(jù)信息的一種或多種:租戶信息、數(shù)據(jù)庫(kù)描述信息、數(shù)據(jù)表描述信息、數(shù)據(jù)表結(jié)構(gòu)信息或數(shù)據(jù)表關(guān)系信息。
[0026]為了解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種多租戶共享數(shù)據(jù)庫(kù)的方法,該方法包括:
[0027]應(yīng)用層模塊接收客戶端的指令,在應(yīng)用層建立和維護(hù)租戶的邏輯數(shù)據(jù)庫(kù)信息,向數(shù)據(jù)管理層模塊發(fā)送第一指令;
[0028]數(shù)據(jù)管理層模塊根據(jù)所述第一指令建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,向基礎(chǔ)設(shè)施層模塊發(fā)送第二指令;
[0029]基礎(chǔ)設(shè)施層模塊根據(jù)所述第二指令的指示基于虛擬機(jī)創(chuàng)建基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例,或者根據(jù)所述第二指令的指示對(duì)所述物理數(shù)據(jù)庫(kù)實(shí)例進(jìn)行數(shù)據(jù)操作。
[0030]進(jìn)一步地,該方法還包括下述特點(diǎn):
[0031]所述物理數(shù)據(jù)庫(kù)實(shí)例信息包括以下信息的一種或多種:物理數(shù)據(jù)庫(kù)實(shí)例的IP地址、物理數(shù)據(jù)庫(kù)實(shí)例的端口、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)、租戶標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例密碼或宿主虛擬機(jī)信息。
[0032]進(jìn)一步地,該方法還包括下述特點(diǎn):
[0033]所述第一指令,包括以下指令的任意一種:創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例、刪除物理數(shù)據(jù)庫(kù)實(shí)例、存儲(chǔ)數(shù)據(jù)或查詢數(shù)據(jù)。
[0034]進(jìn)一步地,該方法還包括下述特點(diǎn):
[0035]數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0036]根據(jù)基礎(chǔ)設(shè)施層物理服務(wù)器資源的空閑程度,優(yōu)先在空閑程度高的物理服務(wù)器上創(chuàng)建虛擬機(jī);
[0037]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息在虛擬機(jī)上創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例;
[0038]保存創(chuàng)建的物理數(shù)據(jù)庫(kù)實(shí)例與租戶的邏輯數(shù)據(jù)庫(kù)的映射關(guān)系。
[0039]進(jìn)一步地,該方法還包括下述特點(diǎn):
[0040]數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的查詢/存儲(chǔ)數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0041]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)所述映射關(guān)系選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子線程進(jìn)行數(shù)據(jù)查詢。
[0042]進(jìn)一步地,該方法還包括下述特點(diǎn):
[0043]所述映射的類型包括:哈希路由映射或二分查找路由映射。
[0044]進(jìn)一步地,該方法還包括下述特點(diǎn):
[0045]租戶的邏輯數(shù)據(jù)庫(kù)基于關(guān)系模型建立,包括以下元數(shù)據(jù)信息的一種或多種:租戶信息、數(shù)據(jù)庫(kù)描述信息、數(shù)據(jù)表描述信息、數(shù)據(jù)表結(jié)構(gòu)信息或數(shù)據(jù)表關(guān)系信息。
[0046]與現(xiàn)有技術(shù)相比,本發(fā)明提供的一種多租戶共享數(shù)據(jù)庫(kù)的方法和多租戶數(shù)據(jù)庫(kù)即服務(wù)DBaaS系統(tǒng),通過(guò)將各租戶對(duì)邏輯數(shù)據(jù)庫(kù)的操作轉(zhuǎn)換為對(duì)虛擬機(jī)上的物理數(shù)據(jù)庫(kù)實(shí)例的虛擬化操作,能夠?qū)崿F(xiàn)租戶之間的性能隔離,保障租戶的性能需求。
【專利附圖】

【附圖說(shuō)明】
[0047]圖1為本發(fā)明實(shí)施例的一種多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng)的結(jié)構(gòu)示意圖。
[0048]圖2為本發(fā)明實(shí)施例的一種多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng)的詳細(xì)結(jié)構(gòu)示意圖。
[0049]圖3為本發(fā)明實(shí)施例的一種多租戶共享數(shù)據(jù)庫(kù)的方法的流程圖。
【具體實(shí)施方式】
[0050]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0051]為保障多租戶數(shù)據(jù)庫(kù)即服務(wù)DBaaS系統(tǒng)中租戶的性能需求,基于虛擬機(jī)技術(shù),如VMware, Xen等,能夠?qū)⑽锢矸?wù)器系統(tǒng)資源(CPU時(shí)間、內(nèi)存容量和I/O帶寬等)按比例分配給互不干擾的虛擬機(jī),通過(guò)關(guān)系模型實(shí)現(xiàn)各租戶的邏輯數(shù)據(jù)庫(kù)表示,將邏輯數(shù)據(jù)庫(kù)操作映射到虛擬機(jī)上的物理數(shù)據(jù)庫(kù)操作,能夠?qū)崿F(xiàn)租戶之間的性能隔離。
[0052]如圖1所示,本發(fā)明實(shí)施例提供了一種基于虛擬機(jī)的多租戶DBaaS系統(tǒng),包括應(yīng)用層模塊,數(shù)據(jù)管理層模塊和基礎(chǔ)設(shè)施層模塊;其中,
[0053]應(yīng)用層模塊,用于接收客戶端的指令,在應(yīng)用層建立和維護(hù)租戶的邏輯數(shù)據(jù)庫(kù)信息,向數(shù)據(jù)管理層模塊發(fā)送第一指令;
[0054]數(shù)據(jù)管理層模塊,用于根據(jù)所述第一指令建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,向基礎(chǔ)設(shè)施層模塊發(fā)送第二指令;
[0055]基礎(chǔ)設(shè)施層模塊,用于根據(jù)所述第二指令的指示基于虛擬機(jī)創(chuàng)建基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例,或者根據(jù)所述第二指令的指示對(duì)所述物理數(shù)據(jù)庫(kù)實(shí)例進(jìn)行數(shù)據(jù)操作。[0056]圖2示出了一種多租戶DBaaS系統(tǒng)。其中,數(shù)據(jù)管理層模塊通過(guò)應(yīng)用層與數(shù)據(jù)管理層之間的接口( I)接收應(yīng)用層發(fā)送的數(shù)據(jù)操作指令,在進(jìn)行解析和處理后通過(guò)數(shù)據(jù)管理層與基礎(chǔ)設(shè)施層之間的接口(3)發(fā)送給基礎(chǔ)設(shè)施層進(jìn)行物理數(shù)據(jù)庫(kù)的操作;數(shù)據(jù)管理層模塊通過(guò)應(yīng)用層與數(shù)據(jù)管理層之間的接口(2)獲得租戶在應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息,以指示基礎(chǔ)設(shè)施層模塊創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例;數(shù)據(jù)管理層模塊通過(guò)數(shù)據(jù)管理層與基礎(chǔ)設(shè)施層之間的接口(3)獲得基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息;
[0057]圖2中,設(shè)備集群是指承載各種計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)物理設(shè)備集合,也稱為物理資源池。虛擬機(jī)是指從物理資源池中劃分出一部分資源形成的虛擬設(shè)備。物理數(shù)據(jù)庫(kù)實(shí)例是指應(yīng)用層邏輯數(shù)據(jù)庫(kù)的物理實(shí)現(xiàn),依托于在虛擬機(jī)上部署、運(yùn)行的數(shù)據(jù)庫(kù)管理系統(tǒng)或數(shù)據(jù)庫(kù)引擎,由物理數(shù)據(jù)模型(表、字段等)構(gòu)成。一個(gè)租戶的邏輯數(shù)據(jù)庫(kù)可能需要多個(gè)物理數(shù)據(jù)庫(kù)實(shí)例來(lái)實(shí)現(xiàn),一個(gè)物理數(shù)據(jù)庫(kù)實(shí)例運(yùn)行于一個(gè)虛擬機(jī)上。
[0058]上述多租戶DBaaS系統(tǒng),還可以具有以下的特點(diǎn):
[0059]優(yōu)選地,租戶的邏輯數(shù)據(jù)庫(kù)基于關(guān)系模型建立,可以包括以下元數(shù)據(jù)信息的一種或多種:租戶信息、數(shù)據(jù)庫(kù)描述信息、數(shù)據(jù)表描述信息、數(shù)據(jù)表結(jié)構(gòu)信息或數(shù)據(jù)表關(guān)系信息;
[0060]所述物理數(shù)據(jù)庫(kù)實(shí)例基于虛擬機(jī)建立,可以包括以下信息的一種或多種:物理數(shù)據(jù)庫(kù)實(shí)例的IP地址、物理數(shù)據(jù)庫(kù)實(shí)例的端口、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)、租戶標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例密碼或宿主虛擬機(jī)信息;
[0061]應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射信息,可以包括以下信息:租戶的邏輯數(shù)據(jù)庫(kù)標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)和映射規(guī)則。
[0062]其中,一個(gè)邏輯數(shù)據(jù)庫(kù)可以包括多張數(shù)據(jù)表,數(shù)據(jù)表之間的引用關(guān)系記錄于數(shù)據(jù)表關(guān)系信息中。租戶的邏輯數(shù)據(jù)庫(kù)標(biāo)識(shí)可以包含租戶的標(biāo)識(shí),比如,租戶的邏輯數(shù)據(jù)庫(kù)標(biāo)識(shí)記為“租戶標(biāo)識(shí)_邏輯數(shù)據(jù)庫(kù)名”;比如,若租戶A建立了邏輯數(shù)據(jù)庫(kù)a,則該邏輯數(shù)據(jù)庫(kù)命名為“A_a”,若租戶B建立了邏輯數(shù)據(jù)庫(kù)b,則該邏輯數(shù)據(jù)庫(kù)命名為“B_b” ;
[0063]優(yōu)選地,所述第一指令,包括以下指令的任意一種:創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例、刪除物理數(shù)據(jù)庫(kù)實(shí)例、存儲(chǔ)數(shù)據(jù)或查詢數(shù)據(jù)。
[0064]優(yōu)選地,數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0065]根據(jù)基礎(chǔ)設(shè)施層物理服務(wù)器資源的空閑程度,優(yōu)先在空閑程度高的物理服務(wù)器上創(chuàng)建虛擬機(jī);
[0066]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息在虛擬機(jī)上創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例;
[0067]保存創(chuàng)建的物理數(shù)據(jù)庫(kù)實(shí)例與租戶的邏輯數(shù)據(jù)庫(kù)的映射關(guān)系。
[0068]優(yōu)選地,數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的查詢數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0069]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)數(shù)據(jù)庫(kù)映射規(guī)則選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子線程進(jìn)行數(shù)據(jù)查詢,父線程合并查詢結(jié)果并返回;
[0070]優(yōu)選地,數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的存儲(chǔ)數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0071]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)數(shù)據(jù)庫(kù)映射規(guī)則選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子進(jìn)行線程數(shù)據(jù)存儲(chǔ);
[0072]其中,所述映射的類型包括:哈希(Hash)路由映射或二分查找路由映射;
[0073]優(yōu)選地,數(shù)據(jù)管理層模塊還建立、維護(hù)物理數(shù)據(jù)庫(kù)連接池;數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊通過(guò)JDBC (Java Data Base Connectivity, Java數(shù)據(jù)庫(kù)連接)驅(qū)動(dòng)發(fā)送的第一指令后,從物理數(shù)據(jù)庫(kù)連接池中選擇一個(gè)連接使用,從而節(jié)省物理連接的建立開銷;
[0074]優(yōu)選地,數(shù)據(jù)管理層模塊還建立、維護(hù)客戶端連接池;數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊通過(guò)JDBC驅(qū)動(dòng)發(fā)送的第一指令后,從客戶端連接池中選擇一個(gè)連接使用,從而節(jié)省線程的創(chuàng)建開銷。
[0075]如圖3所示,本發(fā)明實(shí)施例提供了一種多租戶共享數(shù)據(jù)庫(kù)的方法,該方法包括:
[0076]S10,應(yīng)用層模塊接收客戶端的指令,在應(yīng)用層建立和維護(hù)租戶的邏輯數(shù)據(jù)庫(kù)信息,向數(shù)據(jù)管理層模塊發(fā)送第一指令;
[0077]S20,數(shù)據(jù)管理層模塊根據(jù)所述第一指令建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,向基礎(chǔ)設(shè)施層模塊發(fā)送第二指令;
[0078]S30,基礎(chǔ)設(shè)施層模塊根據(jù)所述第二指令的指示基于虛擬機(jī)創(chuàng)建基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例,或者根據(jù)所述第二指令的指示對(duì)所述物理數(shù)據(jù)庫(kù)實(shí)例進(jìn)行數(shù)據(jù)操作;
[0079]其中,所述多租戶共享數(shù)據(jù)庫(kù)的方法,還可以包括下述特點(diǎn):
[0080]優(yōu)選地,租戶的邏輯數(shù)據(jù)庫(kù)基于關(guān)系模型建立,可以包括以下元數(shù)據(jù)信息的一種或多種:租戶信息、數(shù)據(jù)庫(kù)描述信息、數(shù)據(jù)表描述信息、數(shù)據(jù)表結(jié)構(gòu)信息或數(shù)據(jù)表關(guān)系信息;
[0081]所述物理數(shù)據(jù)庫(kù)實(shí)例基于虛擬機(jī)建立,可以包括以下信息的一種或多種:物理數(shù)據(jù)庫(kù)實(shí)例的IP地址、物理數(shù)據(jù)庫(kù)實(shí)例的端口、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)、租戶標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例密碼或宿主虛擬機(jī)信息;
[0082]應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射信息,包括以下信息:租戶的邏輯數(shù)據(jù)庫(kù)標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)和映射規(guī)則。
[0083]優(yōu)選地,所述第一指令,包括以下指令的任意一種:創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例、刪除物理數(shù)據(jù)庫(kù)實(shí)例、存儲(chǔ)數(shù)據(jù)或查詢數(shù)據(jù);
[0084]數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0085]根據(jù)基礎(chǔ)設(shè)施層物理服務(wù)器資源的空閑程度,優(yōu)先在空閑程度高的物理服務(wù)器上創(chuàng)建虛擬機(jī);
[0086]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息在虛擬機(jī)上創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例;
[0087]保存創(chuàng)建的物理數(shù)據(jù)庫(kù)實(shí)例與租戶的邏輯數(shù)據(jù)庫(kù)的映射關(guān)系。
[0088]優(yōu)選地,數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的查詢數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0089]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)數(shù)據(jù)庫(kù)映射規(guī)則選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子線程進(jìn)行數(shù)據(jù)查詢,父線程合并查詢結(jié)果并返回;
[0090]優(yōu)選地,數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的存儲(chǔ)數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:
[0091]根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)數(shù)據(jù)庫(kù)映射規(guī)則選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子線程進(jìn)行數(shù)據(jù)存儲(chǔ);
[0092]其中,所述映射的類型包括:哈希(Hash)路由映射或二分查找路由映射;
[0093]優(yōu)選地,數(shù)據(jù)管理層模塊還建立、維護(hù)物理數(shù)據(jù)庫(kù)連接池;數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊通過(guò)JDBC (Java Data Base Connectivity, Java數(shù)據(jù)庫(kù)連接)驅(qū)動(dòng)發(fā)送的第一指令后,從物理數(shù)據(jù)庫(kù)連接池中選擇一個(gè)連接使用,從而節(jié)省物理連接的建立開銷;
[0094]優(yōu)選地,數(shù)據(jù)管理層模塊還建立、維護(hù)客戶端連接池;數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊通過(guò)JDBC驅(qū)動(dòng)發(fā)送的第一指令后,從客戶端連接池中選擇一個(gè)連接使用,從而節(jié)省線程的創(chuàng)建開銷。
[0095]上述實(shí)施例提供的一種多租戶共享數(shù)據(jù)庫(kù)的方法和多租戶DBaaS系統(tǒng),通過(guò)對(duì)租戶邏輯數(shù)據(jù)庫(kù)信息的有效關(guān)系模型表示,將各租戶對(duì)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)操作映射到基礎(chǔ)設(shè)施層的虛擬機(jī)上的物理數(shù)據(jù)庫(kù)操作,通過(guò)虛擬機(jī)承載物理數(shù)據(jù)庫(kù)實(shí)現(xiàn)高效地虛擬化轉(zhuǎn)換,滿足了各租戶共享數(shù)據(jù)庫(kù)時(shí)的性能隔離。
[0096]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等。可選地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn),相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
[0097]需要說(shuō)明的是,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種多租戶數(shù)據(jù)庫(kù)即服務(wù)系統(tǒng),該系統(tǒng)包括: 應(yīng)用層模塊,用于接收客戶端的指令,在應(yīng)用層建立和維護(hù)租戶的邏輯數(shù)據(jù)庫(kù)信息,向數(shù)據(jù)管理層模塊發(fā)送第一指令; 數(shù)據(jù)管理層模塊,用于根據(jù)所述第一指令建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,向基礎(chǔ)設(shè)施層模塊發(fā)送第二指令; 基礎(chǔ)設(shè)施層模塊,用于根據(jù)所述第二指令的指示基于虛擬機(jī)創(chuàng)建基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例,或者根據(jù)所述第二指令的指示對(duì)所述物理數(shù)據(jù)庫(kù)實(shí)例進(jìn)行數(shù)據(jù)操作。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于: 所述物理數(shù)據(jù)庫(kù)實(shí)例信息包括以下信息的一種或多種:物理數(shù)據(jù)庫(kù)實(shí)例的IP地址、物理數(shù)據(jù)庫(kù)實(shí)例的端口、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)、租戶標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例密碼或宿主虛擬機(jī)信息。
3.如權(quán)利要求1或2所述的系統(tǒng),其特征在于: 所述第一指令,包括以下指令的任意一種:創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例、刪除物理數(shù)據(jù)庫(kù)實(shí)例、存儲(chǔ)數(shù)據(jù)或查詢數(shù)據(jù)。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于: 數(shù)據(jù)管理層模塊,用于接收到應(yīng)用層模塊發(fā)送的創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括:根據(jù)基礎(chǔ)設(shè)施層物理服務(wù)器資源的空閑程度,優(yōu)先在空閑程度高的物理服務(wù)器上創(chuàng)建虛擬機(jī); 根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息在虛擬機(jī)上創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例; 保存創(chuàng)建的物理數(shù)據(jù)庫(kù)實(shí)例與租戶的邏輯數(shù)據(jù)庫(kù)的映射關(guān)系。
5.如權(quán)利要求3所述的系統(tǒng),其特征在于: 數(shù)據(jù)管理層模塊,用于接收到應(yīng)用層模塊發(fā)送的查詢/存儲(chǔ)數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括: 根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)所述映射關(guān)系選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子進(jìn)行線程數(shù)據(jù)查詢/存儲(chǔ)。
6.如權(quán)利要求3所述的系統(tǒng),其特征在于: 所述映射的類型包括:哈希路由映射或二分查找路由映射。
7.如權(quán)利要求1或2所述的系統(tǒng),其特征在于: 租戶的邏輯數(shù)據(jù)庫(kù)基于關(guān)系模型建立,包括以下元數(shù)據(jù)信息的一種或多種:租戶信息、數(shù)據(jù)庫(kù)描述信息、數(shù)據(jù)表描述信息、數(shù)據(jù)表結(jié)構(gòu)信息或數(shù)據(jù)表關(guān)系信息。
8.一種多租戶共享數(shù)據(jù)庫(kù)的方法,該方法包括: 應(yīng)用層模塊接收客戶端的指令,在應(yīng)用層建立和維護(hù)租戶的邏輯數(shù)據(jù)庫(kù)信息,向數(shù)據(jù)管理層模塊發(fā)送第一指令; 數(shù)據(jù)管理層模塊根據(jù)所述第一指令建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,向基礎(chǔ)設(shè)施層模塊發(fā)送第二指令; 基礎(chǔ)設(shè)施層模塊根據(jù)所述第二指令的指示基于虛擬機(jī)創(chuàng)建基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例,或者根據(jù)所述第二指令的指示對(duì)所述物理數(shù)據(jù)庫(kù)實(shí)例進(jìn)行數(shù)據(jù)操作。
9.如權(quán)利要求8所述的方法,其特征在于: 所述物理數(shù)據(jù)庫(kù)實(shí)例信息包括以下信息的一種或多種:物理數(shù)據(jù)庫(kù)實(shí)例的IP地址、物理數(shù)據(jù)庫(kù)實(shí)例的端口、物理數(shù)據(jù)庫(kù)實(shí)例標(biāo)識(shí)、租戶標(biāo)識(shí)、物理數(shù)據(jù)庫(kù)實(shí)例密碼或宿主虛擬機(jī)信息。
10.如權(quán)利要求8或9所述的方法,其特征在于: 所述第一指令,包括以下指令的任意一種:創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例、刪除物理數(shù)據(jù)庫(kù)實(shí)例、存儲(chǔ)數(shù)據(jù)或查詢數(shù)據(jù)。
11.如權(quán)利要求10所述的方法,其特征在于: 數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括: 根據(jù)基礎(chǔ)設(shè)施層物理服務(wù)器資源的空閑程度,優(yōu)先在空閑程度高的物理服務(wù)器上創(chuàng)建虛擬機(jī); 根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息在虛擬機(jī)上創(chuàng)建物理數(shù)據(jù)庫(kù)實(shí)例; 保存創(chuàng)建的物理數(shù)據(jù)庫(kù)實(shí)例與租戶的邏輯數(shù)據(jù)庫(kù)的映射關(guān)系。
12.如權(quán)利要求10所述的方法,其特征在于: 數(shù)據(jù)管理層模塊接收到應(yīng)用層模塊發(fā)送的查詢/存儲(chǔ)數(shù)據(jù)的第一指令后,建立和維護(hù)應(yīng)用層的邏輯數(shù)據(jù)庫(kù)信息到基礎(chǔ)設(shè)施層的物理數(shù)據(jù)庫(kù)實(shí)例信息的映射,包括: 根據(jù)租戶的邏輯數(shù)據(jù)庫(kù)信息選擇物理數(shù)據(jù)庫(kù)實(shí)例列表,父線程根據(jù)所述映射關(guān)系選擇邏輯數(shù)據(jù)庫(kù)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)實(shí)例,針對(duì)每個(gè)物理數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)一個(gè)子線程進(jìn)行數(shù)據(jù)查詢。
13.如權(quán)利要求10所述的方法,其特征在于: 所述映射的類型包括:哈希路由映射或二分查找路由映射。
14.如權(quán)利要求8或9所述的方法,其特征在于: 租戶的邏輯數(shù)據(jù)庫(kù)基于關(guān)系模型建立,包括以下元數(shù)據(jù)信息的一種或多種:租戶信息、數(shù)據(jù)庫(kù)描述信息、數(shù)據(jù)表描述信息、數(shù)據(jù)表結(jié)構(gòu)信息或數(shù)據(jù)表關(guān)系信息。
【文檔編號(hào)】G06F17/30GK103544319SQ201310544688
【公開日】2014年1月29日 申請(qǐng)日期:2013年11月6日 優(yōu)先權(quán)日:2013年11月6日
【發(fā)明者】亓開元, 張東, 劉正偉 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
略阳县| 旅游| 柘荣县| 巢湖市| 镇江市| 翁源县| 庄河市| 察隅县| 霍邱县| 邹平县| 大悟县| 石棉县| 奉节县| 偃师市| 晋宁县| 化隆| 来宾市| 金门县| 柯坪县| 南漳县| 常州市| 都匀市| 徐水县| 什邡市| 类乌齐县| 元江| 鸡东县| 临城县| 台中市| 深水埗区| 龙川县| 临清市| 闽清县| 呼图壁县| 盐池县| 清丰县| 宜都市| 台东市| 务川| 中山市| 裕民县|