国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      多租戶環(huán)境中租戶特定數(shù)據(jù)集的管理的制作方法

      文檔序號:6533238閱讀:257來源:國知局
      多租戶環(huán)境中租戶特定數(shù)據(jù)集的管理的制作方法【專利摘要】一種用于通過以下方式管理多租戶系統(tǒng)中的租戶特定數(shù)據(jù)集的方法、計算機程序產(chǎn)品和系統(tǒng):接收將物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集從第一類型的多租戶部署轉換為第二類型的多租戶部署的請求,檢索標識作出請求的租戶的租戶標識元數(shù)據(jù),基于第二類型的多租戶部署修改物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集,以及修改與抽象層相關聯(lián)的元數(shù)據(jù)以允許修改后的數(shù)據(jù)集被訪問?!緦@f明】多租戶環(huán)境中租戶特定數(shù)據(jù)集的管理【
      技術領域
      】[0001]本發(fā)明的領域涉及多租戶數(shù)據(jù)庫。更具體地,本發(fā)明的領域涉及多租戶平臺即服務(PaaS)和軟件即服務(SaaS)的服務(在下文中統(tǒng)稱為"服務")?!?br>背景技術
      】[0002]服務可以在公共、混合和私有云環(huán)境中提供。由服務提供者提供的服務可以訪問存儲在數(shù)據(jù)庫管理系統(tǒng)(DBMS)中的數(shù)據(jù),DBMS代表計算機化的信息存儲和檢索系統(tǒng)。DBMS可以管理多個數(shù)據(jù)庫,每一個數(shù)據(jù)庫可以由不同的實體擁有。服務可以由多個客戶組織(租戶)同時訂購。因此,服務處理不同租戶的數(shù)據(jù)。出于安全和監(jiān)管的原因,租戶要求不同程度的數(shù)據(jù)隔離,這在租戶訂購服務時被規(guī)定為"政策要素"。更為重要的是,隔離程度必須在安全和監(jiān)管要求隨時間改變時能夠無縫改變。因此,服務提供者需要實現(xiàn)允許數(shù)據(jù)和配置分開的針對服務的多租戶架構,使得每個租戶接收到適當水平的數(shù)據(jù)隔離。[0003]當前存在用于管理多租戶數(shù)據(jù)的三種部署選項。第一部署選項將租戶數(shù)據(jù)存儲在分離的數(shù)據(jù)庫中,這是數(shù)據(jù)隔離的最簡單方案。計算資源和應用代碼通常在服務器上的所有租戶之間共享,但是每個租戶具有其自己的與屬于所有其他租戶的數(shù)據(jù)在邏輯上保持隔離的數(shù)據(jù)集。元數(shù)據(jù)將每個數(shù)據(jù)庫與正確的租戶相關聯(lián),并且數(shù)據(jù)庫安全性會防止任何租戶無意或惡意地訪問其他租戶的數(shù)據(jù)。然而,該選項傾向于導致服務提供者維護設備和備份租戶數(shù)據(jù)的更高成本。硬件成本也比在備選部署選項下更高,這是由于在給定數(shù)據(jù)庫服務器上能夠容納的租戶數(shù)量受限于服務器可以支持的數(shù)據(jù)庫的數(shù)量。[0004]第二部署選項涉及在相同的數(shù)據(jù)庫中容納多個租戶,每個租戶具有其自己的表格集以及集合到專門為該租戶創(chuàng)建的模式中的其他數(shù)據(jù)庫產(chǎn)物。盡管不如完全隔離系統(tǒng),這種方案為有安全意識的租戶提供中等程度的邏輯數(shù)據(jù)隔離,并且能夠支持每個數(shù)據(jù)庫服務器上的更大數(shù)量的租戶。[0005]第三部署方案涉及使用相同的數(shù)據(jù)庫和相同的表格集來托管多個租戶的數(shù)據(jù)。給定表格可以包括以任何次序存儲的來自多個租戶的記錄,并且租戶標識列將每個記錄與適當?shù)淖鈶粝嚓P聯(lián)。在這三個選項之中,共享模式方案具有最低的硬件和備份成本,這是因為其允許每個數(shù)據(jù)庫服務器服務于最大數(shù)量的租戶。[0006]以透明的方式將數(shù)據(jù)庫部署從一個選項轉換為另一個選項在當前并不被支持,并且只能用手動數(shù)據(jù)移動和系統(tǒng)停機來解決。此外,當前在這類轉換時必須記錄訪問數(shù)據(jù)庫的任何應用以反映對該數(shù)據(jù)庫的改變?!?br/>發(fā)明內容】[0007]各實施例提供了一種方法、計算機程序產(chǎn)品和系統(tǒng),用于執(zhí)行操作以便通過以下方式管理多租戶系統(tǒng)中的租戶特定數(shù)據(jù)集:接收將物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集從第一類型的多租戶部署轉換為第二類型的多租戶部署的請求,檢索標識作出請求的租戶的租戶標識元數(shù)據(jù),基于第二類型的多租戶部署修改物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集,以及修改與抽象層相關聯(lián)的元數(shù)據(jù)以允許修改后的數(shù)據(jù)集被訪問?!緦@綀D】【附圖說明】[0008]因此,可以參考附圖來提供上述方面被實現(xiàn)并詳細理解的方式、上面簡要概括的本發(fā)明的實施例的更具體的描述。[0009]然而,應該注意的是,附圖僅僅示出本發(fā)明的典型實施例,并且因此不應視為是對本發(fā)明范圍的限制,因為本發(fā)明可以容納其他等同有效的實施例。[0010]圖1是示出根據(jù)本發(fā)明實施例的云計算環(huán)境的框圖。[0011]圖2是示出根據(jù)本發(fā)明的實施例,管理和轉換多租戶環(huán)境中的部署選項的架構的框圖。[0012]圖3是示出根據(jù)本發(fā)明實施例的兩層應用架構的組件的框圖。[0013]圖4是示出根據(jù)本發(fā)明的實施例的用于轉換數(shù)據(jù)庫部署選項的方法的流程圖。[0014]圖5是示出根據(jù)本發(fā)明的實施例的用于轉移數(shù)據(jù)以完成數(shù)據(jù)庫從一個多租戶部署選項到另一個多租戶部署選項的轉換的方法的流程圖。[0015]圖6是示出根據(jù)本發(fā)明的實施例,用于轉移數(shù)據(jù)以完成數(shù)據(jù)庫從一個多租戶部署選項到另一個多租戶部署選項的轉換的方法的流程圖。[0016]圖7描繪根據(jù)本發(fā)明實施例的云計算環(huán)境。[0017]圖8描繪根據(jù)本發(fā)明實施例的抽象模型層。【具體實施方式】[0018]本發(fā)明的實施例提供了用于管理多租戶環(huán)境中的租戶特定數(shù)據(jù)的技術。在某些實施例中,提供了一種從一個多租戶數(shù)據(jù)庫部署轉換為另一個多租戶數(shù)據(jù)庫部署的方法。在某些實施例中,通過抽象層接收在多租戶部署之間轉換的請求,使得作出請求的應用不知道用于存儲租戶數(shù)據(jù)的物理實現(xiàn)。在某些實施例中,提供了一種轉換數(shù)據(jù)庫部署的應用。在某些實施例中,該應用是數(shù)據(jù)庫管理系統(tǒng)(DBMS)的一部分。該應用可以配置成接收將物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集從第一類型的多租戶部署轉換為第二類型的多租戶部署的請求。該應用然后可以通過抽象層檢索標識作出該請求的租戶的租戶標識元數(shù)據(jù)。該應用然后可以基于第二類型的多租戶部署修改物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集。最后,該應用可以根據(jù)第二類型的多租戶部署,修改與抽象層相關聯(lián)的元數(shù)據(jù)以訪問修改后的數(shù)據(jù)集。[0019]提前應當理解的是,盡管包括了關于云計算的詳細描述,但是本文中記載的教導的實現(xiàn)不限于云計算環(huán)境。而是,本發(fā)明的實施例能夠結合現(xiàn)在已知或以后開發(fā)的任何其它類型的計算環(huán)境而實現(xiàn)。[0020]為方便起見,詳細描述包括已經(jīng)從以下文獻中得到的后面的定義:PeterMell和TimGrance在2009年10月7日發(fā)表的"DraftNISTWorkingDefinitionofCloudComputing",其在隨附提交的IDS中被引用,并且其副本隨附在后。[0021]云計算是一種服務交付模型,用于實現(xiàn)對可配置的計算資源(例如,網(wǎng)絡、網(wǎng)絡帶寬、服務器、處理、內存、存儲、應用、虛擬機和服務)的共享池的便利、按需的網(wǎng)絡訪問,所述可配置的計算資源能夠以最小的管理成本或與服務提供者的最少交互而被快速供應和釋放。這種云模型可以包括至少五個特征、至少三個服務模型和至少四個部署模型。[0022]其特征如下:[0023]按需自助服務:云的消費者無需與服務提供者進行人為交互就能夠單方面自動地按需供應諸如服務器時間和網(wǎng)絡存儲等之類的計算能力。[0024]廣泛的網(wǎng)絡訪問:能力可以通過網(wǎng)絡獲取并通過標準機制訪問,所述標準機制促進不同種類的瘦客戶端平臺或厚客戶端平臺(例如移動電話、膝上型電腦和PDA)對云的使用。[0025]資源池化:提供者的計算資源被池化以使用多租戶模型服務于多個消費者,并且根據(jù)需求動態(tài)地分配和再分配不同的物理和虛擬資源。存在著位置獨立感,因為消費者通常不能控制或不知曉所提供的資源的確切位置,但是能夠在較高的抽象層面(例如國家、州或數(shù)據(jù)中心)上規(guī)定位置。[0026]迅速彈性:能力能夠迅速且有彈性地被供應,在一些情況下被自動地供應以快速擴展,并且能夠迅速釋放以快速縮減。對于消費者而言,用于供應的可用能力往往看上去是無限的,并且能夠在任何時候購買任意數(shù)量。[0027]被測量的服務:云系統(tǒng)通過利用適于服務類型(例如存儲、處理、帶寬和有效用戶帳戶)的某個抽象層面上的計量能力,自動地控制和優(yōu)化資源使用??梢员O(jiān)測、控制和報告資源使用,從而為被利用的服務的提供者和消費者雙方提供透明度。[0028]服務模型如下:[0029]軟件即服務(SaaS):向消費者提供的能力是使用在云基礎設施上運行的提供者的應用。該應用可通過諸如網(wǎng)絡瀏覽器的瘦客戶端接口(例如基于網(wǎng)絡的電子郵件)從各種客戶端裝置訪問。除了有限的特定于用戶的應用配置設置的可能例外,消費者并不管理或控制包括網(wǎng)絡、服務器、操作系統(tǒng)、存儲、乃至個體應用能力的下層云基礎設施。[0030]平臺即服務(PaaS):向消費者提供的能力是把使用提供者支持的程序設計語言和工具創(chuàng)建的消費者創(chuàng)建或獲取的應用部署到云基礎設施上。消費者并不管理或控制包括網(wǎng)絡、服務器、操作系統(tǒng)或存儲的下層云基礎設施,但是對部署的應用和可能的應用托管環(huán)境配置具有控制權。[0031]基礎設施即服務(IaaS):向消費者提供的能力是在消費者能夠部署并運行包括操作系統(tǒng)和應用的任意軟件的地方供應處理、存儲、網(wǎng)絡和其他基礎計算資源。消費者并不管理或控制下層云基礎設施,但是對操作系統(tǒng)、存儲、部署的應用具有控制權,并且可能對選擇聯(lián)網(wǎng)組件(例如主機防火墻)具有有限的控制權。[0032]部署模型如下:[0033]私有云:云基礎設施單獨為某個組織運行。其可以由該組織或第三方管理、并且可以存在于該組織內部或外部。[0034]社區(qū)云:云基礎設施被若干組織共享并且支持具有共同關注的問題(例如使命、安全要求、政策和合規(guī)考慮)的特定社區(qū)。其可以由這些組織或第三方管理并且可以存在于該社區(qū)內部或外部。[0035]公共云:云基礎設施對于一般公眾或大型行業(yè)群體而言可用并且由出售云服務的組織擁有。[0036]混合云:云基礎設施是兩個或多個云(私有云、社區(qū)云或公共云)的組成物,所述兩個或多個云依然是獨特的實體,但是通過使數(shù)據(jù)和應用能夠移植的標準化或私有技術(例如用于云之間的負荷平衡的云突發(fā)(cloudbursting))綁定在一起。[0037]云計算環(huán)境是面向服務的,聚焦于無狀態(tài)性、低耦合性、模塊性和語意互操作性。云計算的核心是包含互連節(jié)點的網(wǎng)絡的基礎設施。云計算網(wǎng)絡中的節(jié)點是計算裝置,包括但不限于個人計算機系統(tǒng)、服務器計算機系統(tǒng)、瘦客戶端、厚客戶端、手持式或膝上型裝置、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子產(chǎn)品、網(wǎng)絡個人計算機、小型機系統(tǒng)、大型計算機系統(tǒng)、以及包括上述系統(tǒng)或裝置中的任意一個的分布式云計算環(huán)境、等等。云計算節(jié)點能夠實現(xiàn)和/或執(zhí)行上文中闡述的任何功能。[0038]下面參照本發(fā)明的實施例。然而,應當理解,本發(fā)明并不局限于特定描述的實施例。相反,以下特征和元件的任何組合,無論其是否與不同的實施例相關,都被預期到用于實現(xiàn)和實踐本發(fā)明。而且,盡管本發(fā)明的實施例可以實現(xiàn)優(yōu)于其他可能的解決方案和/或現(xiàn)有技術的優(yōu)點,但是給定的實施例是否實現(xiàn)了特定優(yōu)點并非是對本發(fā)明進行限制。因此,以下方面、特征、實施例和優(yōu)點僅是說明性的,除非在權利要求中明確陳述,否則其不應被視為所附權利要求的要素或限制。同樣,對"本發(fā)明"的提及不應被解釋為本文公開的任何發(fā)明主題的概括,并且不應被認為是所附權利要求的要素或限制,除非在權利要求中明確陳述。[0039]所屬領域的技術人員將理解的是,本發(fā)明的各個方面可以實施為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各個方面可以采取以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或軟件和硬件方面結合的實施方式,這里可以統(tǒng)稱為"電路"、"模塊"或"系統(tǒng)"。此外,本發(fā)明的各個方面還可以采取用一個或多個計算機可讀介質實施的計算機程序產(chǎn)品的形式,該計算機可讀介質上包含有計算機可讀程序代碼。[0040]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于一電、磁、光、電磁、紅外線或半導體的系統(tǒng)、裝置或器件,或者任意以上的適當組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機軟盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件的上下文中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。[0041]計算機可讀信號介質可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀程序代碼。這種傳播的信號可以采用各種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。[0042]計算機可讀介質上包含的程序代碼可以用任何適當?shù)慕橘|傳輸,包括但不限于無線、有線、光纜、RF等等,或者上述的任意合適的組合。[0043]可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明各方面的操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言(諸如Java、Smalltalk、C++等),還包括常規(guī)的過程式程序設計語言(諸如"C"程序設計語言或類似的程序設計語言)。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡--包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。[0044]下面參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的各方面。應當理解的是,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。[0045]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令可以使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他設備以特定方式工作,使得存儲在計算機可讀介質中的指令產(chǎn)生包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品°[0046]計算機程序指令還可以加載到計算機、其它可編程數(shù)據(jù)處理裝置或其他設備上,以使一系列操作步驟在計算機、其它可編程裝置或其他設備上被執(zhí)行以產(chǎn)生計算機實現(xiàn)的過程,使得在計算機或其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的處理。[0047]本發(fā)明的實施例可以通過云計算基礎設施提供給最終用戶。云計算通常指的是通過網(wǎng)絡提供作為服務的可伸縮計算資源。更為正式地,云計算可以被定義為在計算資源與其下層技術架構(例如,服務器、存儲、網(wǎng)絡)之間提供抽象的計算能力,從而實現(xiàn)對可配置的計算資源的共享池的便利、按需的網(wǎng)絡訪問,所述可配置的計算資源能夠以最小的管理成本或與服務提供者的最少交互而被快速供應和釋放。因此,云計算允許用戶訪問"云"中的虛擬計算資源(例如,存儲、數(shù)據(jù)、應用甚至完全虛擬的計算系統(tǒng)),而不管用于提供計算資源的下層物理系統(tǒng)(或這些系統(tǒng)的位置)如何。[0048]通常,云計算資源在按使用付費的基礎上向用戶提供,其中用戶僅被收取實際使用的計算資源的費用(例如,用戶消費的存儲空間的量或由用戶實例化的虛擬化系統(tǒng)的數(shù)量)。用戶可以訪問在任何時間駐留在云中以及跨越互聯(lián)網(wǎng)來自任何地方的任何資源。在本發(fā)明的上下文下,用戶可以訪問云中可用的應用或相關數(shù)據(jù)。例如,多租戶數(shù)據(jù)庫部署轉換應用可以在云中的計算系統(tǒng)上執(zhí)行、并將數(shù)據(jù)庫從一個多租戶部署轉換為另一個多租戶部署。在這類情況下,多租戶數(shù)據(jù)庫部署轉換應用可以轉換數(shù)據(jù)庫部署、并在云中的存儲位置存儲物理數(shù)據(jù)存儲庫和相關聯(lián)的租戶元數(shù)據(jù)。這樣做允許用戶從附連到與云連接的網(wǎng)絡(例如,互聯(lián)網(wǎng))的任何計算系統(tǒng)訪問該信息。[0049]圖1是示出根據(jù)本發(fā)明的實施例的用于提供軟件即服務的云計算系統(tǒng)100的框圖,其中服務器提供應用、并以三種不同部署中的一種部署存儲多個客戶(租戶)的數(shù)據(jù)。聯(lián)網(wǎng)的系統(tǒng)100包括服務器102和客戶端計算機132。服務器102和客戶端132經(jīng)由網(wǎng)絡130彼此連接,并且可以經(jīng)由網(wǎng)絡130連接到其他計算機。一般來說,網(wǎng)絡130可以是電信網(wǎng)和/或廣域網(wǎng)(WAN)。在特定實施例中,網(wǎng)絡130是互聯(lián)網(wǎng)。[0050]服務器102通常包括經(jīng)由總線115連接到存儲器106、網(wǎng)絡接口裝置124、存儲裝置108、輸入裝置126以及輸出裝置128的處理器104。服務器102通常在操作系統(tǒng)107的控制下。操作系統(tǒng)的示例包括UNIX,MicrosoftWindows?.操作系統(tǒng)的各版本,以及Linux?.操作系統(tǒng)的發(fā)行版。更一般地,可以使用支持本文公開的功能的任何操作系統(tǒng)。處理器104被包括以表示單個CPU、多個CPU、具有多個處理核的單CPU等。類似地,存儲器106可以是隨機存取存儲器。盡管存儲器106被示為單數(shù)個體,但應當理解,存儲器106可以包括多個模塊,并且存儲器106可以以多個級別存在,從高速寄存器和高速緩存到較低速度但更大的DRAM芯片。網(wǎng)絡接口裝置124可以是允許服務器102經(jīng)由網(wǎng)絡130與其他計算機通信的任何類型的網(wǎng)絡通信裝置。[0051]存儲裝置108可以是持久存儲裝置。盡管存儲裝置108被示為單個單元,但是存儲裝置108可以是固定和/或可移除存儲裝置的組合,例如固定的磁盤驅動器、固態(tài)驅動器、軟盤驅動器、磁帶驅動器、可移除存儲卡或光存儲裝置。存儲器106和存儲裝置108可以是跨越多個主要和次級存儲裝置的一個虛擬地址空間的一部分。[0052]如圖所示,服務器的存儲裝置108包含多個數(shù)據(jù)庫。在該特定附圖中,示出四個數(shù)據(jù)庫,盡管任何數(shù)量的數(shù)據(jù)庫可以存儲在服務器102的存儲裝置108中。存儲裝置108被示為包含編號為118U20和122的租戶特定數(shù)據(jù)庫,每個數(shù)據(jù)庫對應于不同的部署選項。存儲裝置108也被示為包含元數(shù)據(jù)倉庫125,其存儲租戶標識信息、系統(tǒng)策略和任何其他相關信息。[0053]輸入裝置126可以是用于向服務器102提供輸入的任何裝置。例如,可以使用鍵盤和/或鼠標。輸出裝置128可以是用于向服務器102的用戶提供輸出的任何裝置。例如,輸出裝置108可以是任何常規(guī)的顯示屏或揚聲器組。盡管與輸入裝置126分開示出,但是輸出裝置128和輸入裝置126可以組合在一起。例如,可以使用帶有集成的觸摸屏的顯示屏。[0054]如圖所示,服務器102的存儲器106包括配置成經(jīng)由網(wǎng)絡130向用戶提供多個服務的多租戶應用110。如圖所示,服務器102的存儲器106還包含配置成管理包含在服務器102的存儲裝置108中的多個數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)(DBMS)112。服務器102的存儲器106還包含網(wǎng)絡服務器114,其執(zhí)行傳統(tǒng)的網(wǎng)絡服務功能,并且還可以提供作為不同應用(例如多租戶應用110)的運行時環(huán)境的應用服務器功能(例如,J2EE應用服務器)。[0055]根據(jù)本發(fā)明的實施例,如圖所示,客戶端計算機132包含處理器134、存儲器136、操作系統(tǒng)138、存儲裝置142、網(wǎng)絡接口144、輸入裝置146和輸出裝置148。這些組件的描述和功能與參照服務器102描述的等效組件相同。如圖所示,客戶端計算機132的存儲器136也包含網(wǎng)絡瀏覽器140,在某些實施例中網(wǎng)絡瀏覽器140被用于訪問由服務器102提供的服務。[0056]圖1的特定描述僅用于說明目的;應當理解,本發(fā)明并不局限于特定描述的實施例,并且可預期到實現(xiàn)和實踐本發(fā)明的任何組合。盡管圖1示出單個服務器102,但是本發(fā)明的實施例預期到用于提供本文所述服務和功能的任何數(shù)量的服務器。而且,盡管在圖1中被示出與服務器102在一起,但是兩層多租戶應用110的服務和持久功能可以被容納在分離的物理服務器中或者容納在相同服務器內的分離的虛擬服務器中。在某些實施例中,多租戶應用110可以被部署在計算集群中的多個實例中。如本領域的普通技術人員所知,為多租戶應用110執(zhí)行其相應功能的模塊可以被容納在相同服務器、不同服務器或其任何組合中。存儲裝置中的項目(例如元數(shù)據(jù)倉庫125、數(shù)據(jù)庫118、120和122)也可以存儲在相同服務器、不同服務器或其任何組合中,并且也可以作為應用模塊駐留在相同或不同服務器上。[0057]圖2是示出根據(jù)本發(fā)明的實施例管理和轉換多租戶環(huán)境中的部署選項的架構的框圖200。如圖所示,多租戶205i_N經(jīng)由網(wǎng)絡130連接到服務器102、并且訪問包含在服務器102的存儲器106中的多租戶應用110。下面進一步詳細描述的多租戶應用110配置成向租戶提供服務,在某些實施例中多租戶應用110包括云計算環(huán)境中的多個軟件即服務應用。還示出的是抽象層220,其充當多租戶應用110和DBMS112之間的中介。通過抽象層220,可以完成不同數(shù)據(jù)庫部署選項之間的透明轉換,使得多租戶應用110不需要知道每個數(shù)據(jù)庫的物理實現(xiàn)、并且多租戶應用110不需要被記錄以反映數(shù)據(jù)庫中的變化。抽象層220配置成接收來自多租戶應用110的查詢,然后將租戶特定信息插入到該查詢中,使得查詢被引導到適當?shù)臄?shù)據(jù)庫和/或數(shù)據(jù)庫表格。租戶特定信息可以包括但不限于與每個租戶擁有的數(shù)據(jù)庫、模式、表格和列的物理實現(xiàn)相關的細節(jié)。這類細節(jié)可以包括數(shù)據(jù)庫、模式、表格和列的名稱和位置。在備選實施例中,抽象層220可以被實現(xiàn)為數(shù)據(jù)庫管理系統(tǒng)中的聯(lián)合能力的擴展。在某些實施例中,抽象層還執(zhí)行數(shù)據(jù)放置層的功能,該數(shù)據(jù)放置層負責接收轉換請求并隨后將數(shù)據(jù)從一個多租戶部署類型轉換為另一個多租戶部署類型。[0058]在某些實施例中,租戶特定信息被存儲在元數(shù)據(jù)倉庫125中。元數(shù)據(jù)倉庫125的實施例包括關系數(shù)據(jù)庫、內容管理系統(tǒng)、或由實施策略和數(shù)據(jù)映射的應用模塊引用的文件系統(tǒng)。下面進一步詳細描述的DBMS112是通用數(shù)據(jù)庫管理系統(tǒng)。如圖所示,DBMS112管理多個數(shù)據(jù)庫,其包括:分別用于租戶?\_Ν的分離的物理數(shù)據(jù)庫235i_N;包含用于租戶'、^和TM的分離的模式242、244和246的共享數(shù)據(jù)庫240;以及包含用于所有租戶的單個模式252的共享數(shù)據(jù)庫250。在某些實施例中,DBMS112還可以直接管理元數(shù)據(jù)倉庫125。如圖所示,數(shù)據(jù)庫250包含模式252,其具有分別對應于租戶標識信息、密鑰名和密鑰值的示例性列254、256和258。租戶標識信息在元數(shù)據(jù)倉庫125中被存儲和管理。圖2中的特定描述僅用于說明目的;應當理解,本發(fā)明并不局限于特定描述的實施例,并且可以預期到用于實現(xiàn)和實踐本發(fā)明的任何組合。[0059]圖3是示出根據(jù)本發(fā)明實施例的兩層應用架構的組件的框圖。如圖所示,多租戶應用110包含服務340和持久訪問層350。多租戶應用110駐留在適當?shù)膽眠\行時(例如J2EE應用運行時)的應用層上,例如IBM?WebSPhere⑧;應用服務器上(IBM和WebSphere是國際商業(yè)機器公司在全球許多司法轄區(qū)注冊的商標)。服務340包括任何軟件即服務(SaaS)解決方案,其中應用在服務器上被執(zhí)行并且由用戶經(jīng)由網(wǎng)絡(例如互聯(lián)網(wǎng))被訪問。SaaS應用的示例包括但不限于用于主數(shù)據(jù)管理(MDM)、會計、協(xié)作、客戶關系管理、企業(yè)資源規(guī)劃、開發(fā)票(invoicing)、人力資源管理、內容管理和服務臺管理的應用。持久訪問層350是配置成當與抽象層220耦合時,允許多租戶應用110及其服務340以透明方式訪問在多租戶環(huán)境中管理的多個數(shù)據(jù)庫的接口。由于多租戶應用110及其服務340不知道他們引用的數(shù)據(jù)庫的物理實現(xiàn),所以持久訪問層350提供隱藏數(shù)據(jù)庫的物理實現(xiàn)細節(jié)的多租戶應用與抽象層之間的鏈接。通過持久訪問層350,多租戶應用110及其服務340通過生成查詢來向數(shù)據(jù)庫讀取和寫入數(shù)據(jù),所述查詢被發(fā)送到抽象層進行進一步外推和處理。[0060]如圖所示,多租戶應用110被連接到抽象層220,從而提供如上所述的功能。根據(jù)本發(fā)明的實施例,抽象層220提供多租戶應用110與DBMS112之間的抽象層。如圖所示,DBMS112包含數(shù)據(jù)庫引擎300,其控制標準的數(shù)據(jù)庫功能,例如讀、寫、查詢和其他數(shù)據(jù)庫管理工具。在某些實施例中,DBMS112可以執(zhí)行在某些實施例中由如上所述的抽象層220執(zhí)行的數(shù)據(jù)放置層功能。[0061]圖4是示出根據(jù)本發(fā)明的實施例,將租戶特定數(shù)據(jù)集從一個多租戶部署選項轉換為第二多租戶部署選項的方法400的流程圖。在一個實施例中,多租戶應用110執(zhí)行方法410的步驟。該方法開始于步驟410,在該步驟中轉換請求由多租戶應用110從租戶接收。在步驟420,多租戶應用110通過訪問被包含在元數(shù)據(jù)倉庫125中的信息,識別作出請求的租戶。在元數(shù)據(jù)倉庫125是關系數(shù)據(jù)庫的實施例中,多租戶應用110連接到元數(shù)據(jù)倉庫125以檢索與作出請求的租戶相關聯(lián)的數(shù)據(jù)。在步驟430,多租戶應用110識別該租戶的當前多租戶部署選項。在一個實施例中,使用來自元數(shù)據(jù)倉庫125的信息來確定當前的多租戶部署選項。在另一個實施例中,當前的多租戶部署選項由用戶作為輸入提供。通常,可以預期到用于確定當前部署選項的任何適合的方法。[0062]在步驟440,多租戶應用110識別由該租戶請求的部署選項。在某些實施例中,多租戶應用110從用戶接收定義所請求的多租戶部署的輸入。在步驟450,多租戶應用110修改當前部署中的數(shù)據(jù)集,以實現(xiàn)該租戶的轉換請求。步驟450的實施例在下面關于圖5和圖6進行描述。在步驟460,多租戶應用110修改與抽象層220相關聯(lián)的元數(shù)據(jù),以允許多租戶應用110及其服務340訪問轉換后的數(shù)據(jù)庫而無需代碼修改。因為多租戶應用110及其服務340與下層數(shù)據(jù)庫的實際物理實現(xiàn)無關地被編碼,所以抽象層220必須修改由多租戶應用110的持久訪問層350提交的查詢,以便反映數(shù)據(jù)庫的物理實現(xiàn)中的所選的部署選項。沒有這樣的修改,多租戶應用110及其服務340將不能以透明方式無代碼改變地訪問下層數(shù)據(jù)庫。在某些實施例中,步驟460包括多租戶應用110更新被包含在元數(shù)據(jù)倉庫125中的元數(shù)據(jù),以便向抽象層220及其查詢提供指向與該租戶請求的部署相對應的轉換后的數(shù)據(jù)庫的鏈接。如果請求的部署是私有數(shù)據(jù)庫,則利用足以把該租戶現(xiàn)在擁有的私有數(shù)據(jù)庫與抽象層220鏈接在一起的信息來修改元數(shù)據(jù)倉庫125。在步驟460的某些實施例中,多租戶應用110修改與作出請求的租戶的數(shù)據(jù)庫相關聯(lián)的抽象層220中的查詢以包括新的識別信息。如果所請求的部署是共享數(shù)據(jù)庫中的私有模式(privateschema),則多租戶應用110可以更新包含在元數(shù)據(jù)倉庫125中的條目,以包含針對為作出請求的租戶創(chuàng)建的私有模式的引用。在某些實施例中,在與作出請求的租戶相關聯(lián)的抽象層220中的查詢被重寫,以包含識別該私有模式信息的條款(clause)。如果所請求的部署是共享數(shù)據(jù)庫中的共享模式(sharedschema),則適當?shù)淖鈶魳俗R符從元數(shù)據(jù)倉庫125被檢索并更新,或者被插入與該租戶相關聯(lián)的抽象層220中的查詢中。[0063]圖5是示出根據(jù)本發(fā)明的實施例,對應于步驟450的方法500的流程圖。在某些實施例中,多租戶應用110執(zhí)行方法500中的步驟。該方法開始于步驟510,在該步驟中多租戶應用110開始執(zhí)行包括步驟520-550的循環(huán),用于對作出請求的租戶所擁有的每個表格將租戶數(shù)據(jù)庫從一個部署選項轉換為另一個部署選項。在步驟520,多租戶應用110創(chuàng)建用于容納所請求的部署轉換的適當數(shù)據(jù)結構。在一個實施例中,該數(shù)據(jù)結構可以是由作出請求的租戶擁有的私有數(shù)據(jù)庫,如圖2中的每個單元235i_N所示。在另一個實施例中,該數(shù)據(jù)結構是如圖2的單元240所示的共享數(shù)據(jù)庫中所包含的由作出請求的租戶擁有的私有模式。然后,該方法進行到步驟530,在該步驟中當前的表格被轉移到所創(chuàng)建的數(shù)據(jù)結構。該轉移可以通過任何數(shù)量的手段發(fā)生,其包括但不限于移動和復制該表格。[0064]然后,該方法進行到步驟540,其允許"在線"表格轉移,使得數(shù)據(jù)庫保持可用,并且在該轉移期間接收的查詢被發(fā)布給適當?shù)谋砀褚怨﹫?zhí)行。因此,必須為在轉移期間接收的每種查詢類型定義一組規(guī)則。在一個實施例中,選擇查詢被發(fā)布給原始和轉移后的表格兩者,從而產(chǎn)生相應的結果集。在數(shù)據(jù)被轉移時,對于由多租戶應用的持久層請求的每個讀取查詢,該查詢被抽象層220重定向到兩個位置,然后把取并集操作(UNION)應用于所產(chǎn)生的數(shù)據(jù)集,并返回組合后的結果作為響應于選擇查詢的結果。在一個實施例中,插入查詢被發(fā)布給轉移后的表格,使得新數(shù)據(jù)庫條目僅以所請求的部署選項在轉移后的表格中被創(chuàng)建。在一個實施例中,更新和刪除查詢被發(fā)布給原始和轉移后的表格并在這兩個表格中被反映。通過以這種方式接受查詢,數(shù)據(jù)庫在數(shù)據(jù)被轉移時仍保持完全可用和可操作。在線轉移的優(yōu)點是,訂購的租戶不會注意到數(shù)據(jù)從一個部署選項被移到下一個部署選項,使得服務在任何時候保持可用。沒有這一點,結果將是針對該租戶的停機時間,這可能是不可接受的一特別是在要移動的數(shù)據(jù)量非常大(其將導致幾小時或幾天的停機時間)的情況下。然后,該方法進行到步驟550,在該步驟中多租戶應用110確定是否剩有另外的表格要轉移。如果剩有另外的表格,則該方法返回到步驟510,否則方法500結束。[0065]在某些實施例中,為了獲得更高的數(shù)據(jù)轉移速率并減少在處理數(shù)據(jù)轉移時對系統(tǒng)性能的影響,方法500中描述的轉移可以通過提供IBM?FlashCopy?功能而得到進一步改善。(IBM和FlashCopy是國際商用機器公司在全球許多司法管轄區(qū)注冊的商標)。[0066]圖6是示出根據(jù)本發(fā)明的另一個實施例,對應于步驟450的方法600的流程圖。在某些實施例中,多租戶應用110執(zhí)行方法600中的步驟。該方法開始于步驟610,在該步驟中多租戶應用110開始執(zhí)行包括步驟620-695的循環(huán),用于對作出請求的租戶所擁有的每個表格將租戶數(shù)據(jù)庫從一個部署選項轉換為另一個部署選項。在步驟620,在某些實施例中,多租戶應用110阻擋對當前表格的訪問。在某些實施例中,阻擋訪問是通過在抽象層220中設定限制對表格的訪問的標志來實現(xiàn)的。僅在當前部署選項是由作出請求的租戶擁有的私有數(shù)據(jù)庫或共享數(shù)據(jù)庫中的私有模式的情況下才要求阻擋對表格的訪問(以及隨后恢復訪問)。阻擋訪問(以及隨后恢復訪問)在當前部署是共享數(shù)據(jù)庫中的共享模式的實施例中是可選的,這是由于其他租戶的數(shù)據(jù)也會被阻擋。通過阻擋對表格的訪問、直到轉移完成,修改將不會被允許,使得數(shù)據(jù)庫的精確副本將被轉移。在步驟630,多租戶應用110選擇包含在要轉移的表格中的數(shù)據(jù)。在當前部署選項是由作出請求的租戶擁有的私有數(shù)據(jù)庫的實施例中,發(fā)布請求選擇所有數(shù)據(jù)的聲明以選擇表格數(shù)據(jù)。在一個實施例中,當前部署選項是共享數(shù)據(jù)庫中的私有模式,并且發(fā)布選擇來自該模式表格的所有數(shù)據(jù)的聲明,其中所述模式由作出請求的租戶擁有,并且該模式信息從元數(shù)據(jù)倉庫125獲取。例如,在表格是關系數(shù)據(jù)庫的情況下,SQL查詢可以被寫為"select*fromschema.table"。在當前部署是共享數(shù)據(jù)庫中的共享模式的實施例中,發(fā)布選擇租戶標識列條目等于與作出請求的租戶相關聯(lián)的租戶標識信息的所有數(shù)據(jù)的聲明以選擇該數(shù)據(jù),并且租戶標識信息從元數(shù)據(jù)倉庫125獲取。例如,在表格是關系數(shù)據(jù)庫的情況下,SQL查詢可以被寫為"select*fromtablewheretenant=<tenant>,'。[0067]一旦數(shù)據(jù)已被選擇,該方法進行到步驟640,在該步驟中多租戶應用110取決于所請求的部署選項,在由步驟630中執(zhí)行的選擇聲明產(chǎn)生的表格中插入或刪除包含租戶標識信息的列。取決于當前和所請求的部署選項,可以請求或可以不請求租戶標識信息,并且需要適當處理租戶標識信息。在當前部署是共享數(shù)據(jù)庫中的共享模式的實施例中,返回具有步驟630中選擇的數(shù)據(jù)的租戶標識列。在這些實施例中的目標數(shù)據(jù)庫將不需要包含該租戶標識信息的列,并且其將被相應地刪除。在當前部署是共享數(shù)據(jù)庫中的共享模式的實施例中,在步驟630發(fā)布的選擇查詢可以被修改,使得包含租戶標識信息的列不被選擇,使隨后的刪除變得不必要。在目標是共享數(shù)據(jù)庫中的共享模式的實施例中,租戶標識列有必要指示哪個租戶擁有該數(shù)據(jù)。因此,對于在步驟630執(zhí)行的選擇聲明的結果集中的每個記錄,包含租戶標識信息的列將被插入,其中該租戶標識信息從元數(shù)據(jù)倉庫125獲取。[0068]然后,該方法進行到步驟650,在該步驟中多租戶應用110確定是否需要新數(shù)據(jù)結構來完成該部署轉換。如果不需要新數(shù)據(jù)結構,則該方法進行到步驟670。否則,在步驟660,多租戶應用110創(chuàng)建適當?shù)臄?shù)據(jù)結構。該數(shù)據(jù)結構可以是下述中的一個或多個:由租戶擁有的新私有數(shù)據(jù)庫,由租戶擁有的私有數(shù)據(jù)庫中的新表格,共享數(shù)據(jù)庫中的由租戶擁有的新私有模式,或共享數(shù)據(jù)庫中的由租戶擁有的私有模式中的新表格。在這些實施例中,多租戶應用110從元數(shù)據(jù)倉庫125獲取創(chuàng)建數(shù)據(jù)結構所必要的租戶標識信息。[0069]一旦已創(chuàng)建適當?shù)臄?shù)據(jù)結構,該方法進行到步驟670,在該步驟中多租戶應用110將表格轉移到其目標數(shù)據(jù)結構。該轉移可以通過任何數(shù)量的手段發(fā)生,包括但不限于移動和復制該表格。然后,該方法進行到步驟680,其規(guī)定:對于發(fā)布給正被轉移的表格的任何查詢,返回適當?shù)腻e誤消息直到該轉移完成為止。一旦表格已被轉移,則該方法進行到步驟690,在該步驟中多租戶應用110恢復對該表格的訪問,使得該表格可以被租戶的應用訪問。在某些實施例中,通過去除抽象層220中設定的阻擋對該表格的訪問的標志、以及修改抽象層220中的數(shù)據(jù)以使切換后的部署與該租戶相關聯(lián),來恢復對表格的訪問。在某些實施例中,多租戶應用110丟棄來自原始部署的私有數(shù)據(jù)庫以及私有模式中的表格,這是由于根據(jù)切換后的部署,他們可能不再被需要。然后,該方法進行到步驟695,在該步驟中多租戶應用110確定是否有作出請求的租戶所擁有的另外的表格需要被轉移。如果存在另外的表格,則該方法返回到步驟610。否則,該方法結束。[0070]方法600的備選實施例包括:通過對于共享數(shù)據(jù)庫中的共享模式的形式的部署創(chuàng)建每個租戶數(shù)據(jù)庫視圖,來避免在查詢中包括具有性質"wheretenant=〈tenant〉"的"where"聲明的能力。這些數(shù)據(jù)庫視圖在其整個生命周期中由抽象層220創(chuàng)建和管理。數(shù)據(jù)庫視圖由存儲的查詢組成,所述存儲的查詢可以作為由查詢的結果集組成的關系數(shù)據(jù)庫中的虛擬表格被訪問。與關系數(shù)據(jù)庫中的普通表格(基本表格)不同,該視圖不形成物理模式的一部分,而是從數(shù)據(jù)庫的數(shù)據(jù)中計算或整理出的動態(tài)虛擬表格。改變表格中的數(shù)據(jù)會改變在后續(xù)調用該視圖時顯示的數(shù)據(jù)。在另一個實施例中,選擇查詢可能不在單個步驟中瞄準所有數(shù)據(jù),而是以塊來處理數(shù)據(jù),其中以遵循相同設計理念的若干次迭代發(fā)布一系列選擇查詢,這些選擇查詢各自檢索該數(shù)據(jù)的互補部分。[0071]在所有情況下,一旦數(shù)據(jù)轉移完成,通過釋放數(shù)據(jù)庫資源(這在某些情況下可能意味著數(shù)據(jù)庫的丟棄,或在其他情況下適當丟棄/刪除查詢)來適當釋放源區(qū)域中的數(shù)據(jù)。[0072]通過使用本文所述的分布式、冗余數(shù)據(jù)庫架構和抽象層,多租戶部署的物理實現(xiàn)可以對于多租戶應用110而言被隱藏。通過隱藏實現(xiàn)細節(jié),在每次新租戶訂購服務或請求部署轉換時,多租戶應用110及其提供的每個服務340將不需要被記錄。[0073]現(xiàn)在參照圖7,其示出說明性的云計算環(huán)境750。如圖所示,云計算環(huán)境750包括一個或多個云計算節(jié)點710,由云消費者使用的本地計算裝置例如個人數(shù)字助理(PDA)或蜂窩電話754A、臺式計算機754B、膝上型計算機754D和/或汽車計算機系統(tǒng)754N可以與所述一個或多個云計算節(jié)點710通信。節(jié)點710可以彼此通信。計算節(jié)點710可以具有與服務器102和客戶端計算機132相同的屬性,服務器102和客戶端計算機132各自可以是云計算環(huán)境中的計算節(jié)點710。它們可以在一個或多個網(wǎng)絡中被物理或虛擬地組成群(未示出),例如上文所述的私有、社區(qū)、公共或混合云或其組合。這允許云計算環(huán)境750提供基礎設施、平臺和/或軟件即服務,云消費者不需要在本地計算裝置上為其保持資源。應當理解,在圖7中示出的計算裝置754A-N的類型旨在僅是說明性的,并且計算節(jié)點710和云計算環(huán)境750可以通過任何類型的網(wǎng)絡和/或可網(wǎng)絡尋址的連接(例如,通過使用網(wǎng)絡瀏覽器)而與任何類型的計算機化的裝置通信。[0074]現(xiàn)在參照圖8,其示出由云計算環(huán)境750(圖7)提供的一組功能抽象層。提前應當理解的是,圖8所示的組件、層以及功能旨在僅是說明性的,并且本發(fā)明的實施例并不限于此。如圖所示,提供了以下層和對應功能:[0075]硬件和軟件層860包括硬件和軟件組件。硬件組件的示例包括:主機,在一個示例中是IBM?zSeries?系統(tǒng);基于RISC(精簡指令集計算機)架構的服務器,在一個示例中是IBMpSeries?系統(tǒng);IBMxSeries?系統(tǒng);IBMBladeCenter?系統(tǒng);存儲裝置;網(wǎng)絡和網(wǎng)絡組件。軟件組件的示例包括:網(wǎng)絡應用服務器軟件,在一個示例中是IBMWebSphere?,應用服務器軟件;以及數(shù)據(jù)庫軟件,在一個示例中是IBMDB2?激據(jù)庫軟件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere以及DB2是國際商業(yè)機器公司在全球許多司法轄區(qū)注冊的商標)。[0076]虛擬化層862提供抽象層,可以從該抽象層提供以下虛擬實體的示例:虛擬服務器、虛擬存儲裝置、虛擬網(wǎng)絡(包括虛擬私有網(wǎng)絡)、虛擬應用和操作系統(tǒng)以及虛擬客戶端。[0077]在一個示例中,管理層864可以提供下述功能。資源供應功能提供用于在云計算環(huán)境內執(zhí)行任務的計算資源和其它資源的動態(tài)獲取。計量和定價功能在云計算環(huán)境內對資源進行利用時提供成本跟蹤,并為這些資源的消耗開賬單或發(fā)票。在一個示例中,這些資源可以包括應用軟件許可。安全功能為云消費者和任務提供身份驗證,以及為數(shù)據(jù)和其它資源提供保護。用戶入口功能為消費者和系統(tǒng)管理員提供對云計算環(huán)境的訪問。服務水平管理功能提供云計算資源的分配和管理,使得所要求的服務水平得到滿足。服務水平協(xié)議(SLA)規(guī)劃和履行功能為根據(jù)SLA預期到未來需求的云計算資源提供預先安排和獲取。[0078]工作負荷層866提供可為其使用云計算環(huán)境的功能的示例。可以從該層提供的工作負荷和功能的示例包括:地圖繪制和導航;軟件開發(fā)和生命周期管理;虛擬教室教育遞送;數(shù)據(jù)分析處理;交易處理;以及多租戶數(shù)據(jù)庫部署轉換。[0079]附圖中的流程圖和框圖示出根據(jù)本發(fā)明的各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意的是,在有些替代性實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。[0080]盡管前述內容針對本發(fā)明的實施例,但是在不脫離本發(fā)明的基本范圍的情況下可以設計出本發(fā)明的其他和進一步的實施例,并且本發(fā)明的范圍由所附權利要求確定?!緳嗬蟆?.一種用于管理多租戶系統(tǒng)中的租戶特定數(shù)據(jù)集的用計算機實現(xiàn)的方法,包括:接收將物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集從第一類型的多租戶部署轉換為第二類型的多租戶部署的請求;檢索標識作出所述請求的租戶的租戶標識元數(shù)據(jù);基于所述第二類型的多租戶部署修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集;以及修改與抽象層相關聯(lián)的元數(shù)據(jù)以允許訪問修改后的數(shù)據(jù)集。2.如權利要求1所述的用計算機實現(xiàn)的方法,其中所述物理數(shù)據(jù)存儲庫由所標識的租戶擁有并且是下述中的一種:私有數(shù)據(jù)存儲庫;或者共享數(shù)據(jù)存儲庫中的私有模式;其中修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集包括:創(chuàng)建目標數(shù)據(jù)結構,其中所述目標數(shù)據(jù)結構是下述中的一種:私有數(shù)據(jù)存儲庫;或者共享數(shù)據(jù)存儲庫中的私有模式;其中所述目標數(shù)據(jù)結構由所標識的租戶擁有;將所述物理數(shù)據(jù)存儲庫中的第一表格轉移到所述目標數(shù)據(jù)結構;以及在將所述第一表格轉移到所述目標數(shù)據(jù)結構時:在接收到選擇查詢時,將所述選擇查詢發(fā)布給所述物理數(shù)據(jù)存儲庫中的所述表格和所述目標數(shù)據(jù)結構中的轉移后的表格,其中將取并集操作應用于每個產(chǎn)生的數(shù)據(jù)集并返回所得結果作為響應于所述選擇查詢的結果集;在接收到插入查詢時,將所述插入查詢發(fā)布給所述目標數(shù)據(jù)結構中的所述轉移后的表格;以及在接收到更新查詢或刪除查詢時,將所述更新查詢或刪除查詢發(fā)布給所述第一表格和所述目標數(shù)據(jù)結構中的所述轉移后的表格。3.如權利要求2所述的用計算機實現(xiàn)的方法,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格是所述物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,其中所述目標數(shù)據(jù)結構是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫。4.如權利要求2所述的用計算機實現(xiàn)的方法,其中所述物理數(shù)據(jù)存儲庫是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式。5.如權利要求1所述的用計算機實現(xiàn)的方法,其中修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集包括:選擇來自所述物理數(shù)據(jù)存儲庫中的第一表格的數(shù)據(jù);將所選的數(shù)據(jù)轉移到目標數(shù)據(jù)結構,其中所述目標數(shù)據(jù)結構是與所述第二類型的多租戶部署相對應的下述中的一種:私有物理數(shù)據(jù)存儲庫,共享數(shù)據(jù)存儲庫中的私有模式,或者共享數(shù)據(jù)存儲庫中的共享模式;以及在將所選的數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構時,在接收到指向所述第一表格的查詢時,返回錯誤消息。6.如權利要求5所述的用計算機實現(xiàn)的方法,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的共享模式,其中所述物理數(shù)據(jù)存儲庫是由所標識的租戶擁有的私有物理數(shù)據(jù)存儲庫,所述方法還包括:在選擇來自所述第一表格的數(shù)據(jù)之前,阻擋對所述第一表格的訪問;在選擇來自所述第一表格的數(shù)據(jù)之后,將所述租戶標識元數(shù)據(jù)插入到通過選擇來自所述第一表格的數(shù)據(jù)而產(chǎn)生的數(shù)據(jù)集的新列中;以及恢復對所述第一表格的訪問。7.如權利要求5所述的用計算機實現(xiàn)的方法,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的共享模式,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,所述方法還包括:在選擇來自所述第一表格的數(shù)據(jù)之前,阻擋對所述第一表格的訪問;在選擇來自所述第一表格的數(shù)據(jù)之后,將所述租戶標識元數(shù)據(jù)插入到通過選擇來自所述第一表格的數(shù)據(jù)而產(chǎn)生的數(shù)據(jù)集的新列中;以及恢復對所述第一表格的訪問。8.如權利要求5所述的用計算機實現(xiàn)的方法,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的共享模式,其中所述目標數(shù)據(jù)結構是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫,其中所選的數(shù)據(jù)由所標識的租戶擁有,所述方法還包括:在選擇來自第一租戶的數(shù)據(jù)之后,如果選擇了包含租戶標識的列,則去除包含租戶標識元數(shù)據(jù)的列;在將所述數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構之前,創(chuàng)建所述目標數(shù)據(jù)結構。9.如權利要求5所述的用計算機實現(xiàn)的方法,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的共享模式,其中所述目標數(shù)據(jù)結構是共享數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,其中所選的數(shù)據(jù)由所標識的租戶擁有,所述方法還包括:在選擇來自第一租戶的數(shù)據(jù)之后,如果選擇了包含租戶標識的列,則去除包含租戶標識元數(shù)據(jù)的列;在將所述數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構之前,創(chuàng)建所述目標數(shù)據(jù)結構。10.如權利要求1所述的用計算機實現(xiàn)的方法,其中訪問采用所述第一類型的多租戶部署的租戶特定數(shù)據(jù)集的應用能夠訪問采用所述第二類型的多租戶部署的租戶特定數(shù)據(jù)集而無需修改代碼,其中訪問采用多租戶部署的租戶特定數(shù)據(jù)集中的數(shù)據(jù)的應用不知道所述租戶特定數(shù)據(jù)集的物理實現(xiàn)。11.一種用于管理多租戶系統(tǒng)中的租戶特定數(shù)據(jù)集的計算機程序產(chǎn)品,所述計算機程序廣品包括:具有與其一起體現(xiàn)的計算機可讀程序代碼的計算機可讀存儲介質,所述計算機可讀程序代碼包括:計算機可讀程序代碼,其配置成接收將物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集從第一類型的多租戶部署轉換為第二類型的多租戶部署的請求;計算機可讀程序代碼,其配置成檢索標識作出所述請求的租戶的租戶標識元數(shù)據(jù);計算機可讀程序代碼,其配置成基于所述第二類型的多租戶部署修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集;以及計算機可讀程序代碼,其配置成修改與抽象層相關聯(lián)的元數(shù)據(jù)以允許訪問修改后的數(shù)據(jù)集。12.如權利要求11所述的計算機程序產(chǎn)品,其中所述物理數(shù)據(jù)存儲庫由所標識的租戶擁有并且是下述中的一種:私有數(shù)據(jù)存儲庫;或者共享數(shù)據(jù)存儲庫中的私有模式;其中修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集包括:創(chuàng)建目標數(shù)據(jù)結構,其中所述目標數(shù)據(jù)結構是下述中的一種:私有數(shù)據(jù)存儲庫;或者共享數(shù)據(jù)存儲庫中的私有模式;其中所述目標數(shù)據(jù)結構由所標識的租戶擁有;將所述物理數(shù)據(jù)存儲庫中的第一表格轉移到所述目標數(shù)據(jù)結構;以及在將所述第一表格轉移到所述目標數(shù)據(jù)結構時:在接收到選擇查詢時,將所述選擇查詢發(fā)布給所述物理數(shù)據(jù)存儲庫中的所述表格和所述目標數(shù)據(jù)結構中的轉移后的表格,其中將取并集操作應用于每個產(chǎn)生的數(shù)據(jù)集并返回所得結果作為響應于所述選擇查詢的結果集;在接收到插入查詢時,將所述插入查詢發(fā)布給所述目標數(shù)據(jù)結構中的所述轉移后的表格;以及在接收到更新查詢或刪除查詢時,將所述更新查詢或刪除查詢發(fā)布給所述第一表格和所述目標數(shù)據(jù)結構中的所述轉移后的表格。13.如權利要求12所述的計算機程序產(chǎn)品,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格是所述物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,其中所述目標數(shù)據(jù)結構是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫。14.如權利要求12所述的計算機程序產(chǎn)品,其中所述物理數(shù)據(jù)存儲庫是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式。15.如權利要求11所述的計算機程序產(chǎn)品,其中修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集包括:選擇來自所述物理數(shù)據(jù)存儲庫中的第一表格的數(shù)據(jù);將所選的數(shù)據(jù)轉移到目標數(shù)據(jù)結構,其中所述目標數(shù)據(jù)結構是與所述第二類型的多租戶部署相對應的下述中的一種:私有物理數(shù)據(jù)存儲庫,共享數(shù)據(jù)存儲庫中的私有模式,或者共享數(shù)據(jù)存儲庫中的共享模式;以及在將所選的數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構時,在接收到指向所述第一表格的查詢時,返回錯誤消息。16.如權利要求15所述的計算機程序產(chǎn)品,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的共享模式,其中所述物理數(shù)據(jù)存儲庫是由所標識的租戶擁有的私有物理數(shù)據(jù)存儲庫,所述方法還包括:在選擇來自所述第一表格的數(shù)據(jù)之前,阻擋對所述第一表格的訪問;在選擇來自所述第一表格的數(shù)據(jù)之后,將所述租戶標識元數(shù)據(jù)插入到通過選擇來自所述第一表格的數(shù)據(jù)而產(chǎn)生的數(shù)據(jù)集的新列中;以及恢復對所述第一表格的訪問。17.如權利要求15所述的計算機程序產(chǎn)品,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的共享模式,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,所述方法還包括:在選擇來自所述第一表格的數(shù)據(jù)之前,阻擋對所述第一表格的訪問;在選擇來自所述第一表格的數(shù)據(jù)之后,將所述租戶標識元數(shù)據(jù)插入到通過選擇來自所述第一表格的數(shù)據(jù)而產(chǎn)生的數(shù)據(jù)集的新列中;以及恢復對所述第一表格的訪問。18.如權利要求15所述的計算機程序產(chǎn)品,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的共享模式,其中所述目標數(shù)據(jù)結構是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫,其中所選的數(shù)據(jù)由所標識的租戶擁有,所述方法還包括:在選擇來自第一租戶的數(shù)據(jù)之后,如果選擇了包含租戶標識的列,則去除包含租戶標識元數(shù)據(jù)的列;在將所述數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構之前,創(chuàng)建所述目標數(shù)據(jù)結構。19.如權利要求15所述的計算機程序產(chǎn)品,其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的共享模式,其中所述目標數(shù)據(jù)結構是共享數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,其中所選的數(shù)據(jù)由所標識的租戶擁有,所述方法還包括:在選擇來自第一租戶的數(shù)據(jù)之后,如果選擇了包含租戶標識的列,則去除包含租戶標識元數(shù)據(jù)的列;在將所述數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構之前,創(chuàng)建所述目標數(shù)據(jù)結構。20.如權利要求11所述的計算機程序產(chǎn)品,其中訪問采用所述第一類型的多租戶部署的租戶特定數(shù)據(jù)集的應用能夠訪問采用所述第二類型的多租戶部署的租戶特定數(shù)據(jù)集而無需修改代碼,其中訪問采用多租戶部署的租戶特定數(shù)據(jù)集中的數(shù)據(jù)的應用不知道所述租戶特定數(shù)據(jù)集的物理實現(xiàn)。21.-種系統(tǒng),包括:一個或多個計算機處理器;包含程序的存儲器,所述程序在由所述一個或多個計算機處理器執(zhí)行時被配置成執(zhí)行用于管理多租戶系統(tǒng)中的租戶特定數(shù)據(jù)集的操作,所述操作包括:接收將物理數(shù)據(jù)存儲庫中的數(shù)據(jù)集從第一類型的多租戶部署轉換為第二類型的多租戶部署的請求;檢索標識作出所述請求的租戶的租戶標識元數(shù)據(jù);基于所述第二類型的多租戶部署修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集;以及修改與抽象層相關聯(lián)的元數(shù)據(jù)以允許訪問修改后的數(shù)據(jù)集。22.如權利要求21所述的系統(tǒng),其中所述物理數(shù)據(jù)存儲庫由所標識的租戶擁有并且是下述中的一種:私有數(shù)據(jù)存儲庫;或者共享數(shù)據(jù)存儲庫中的私有模式;其中修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集包括:創(chuàng)建目標數(shù)據(jù)結構,其中所述目標數(shù)據(jù)結構是下述中的一種:私有數(shù)據(jù)存儲庫;或者共享數(shù)據(jù)存儲庫中的私有模式;其中所述目標數(shù)據(jù)結構由所標識的租戶擁有;將所述物理數(shù)據(jù)存儲庫中的第一表格轉移到所述目標數(shù)據(jù)結構;以及在將所述第一表格轉移到所述目標數(shù)據(jù)結構時:在接收到選擇查詢時,將所述選擇查詢發(fā)布給所述物理數(shù)據(jù)存儲庫中的所述表格和所述目標數(shù)據(jù)結構中的轉移后的表格,其中將取并集操作應用于每個產(chǎn)生的數(shù)據(jù)集并返回所得結果作為響應于所述選擇查詢的結果集;在接收到插入查詢時,將所述插入查詢發(fā)布給所述目標數(shù)據(jù)結構中的所述轉移后的表格;以及在接收到更新查詢或刪除查詢時,將所述更新查詢或刪除查詢發(fā)布給所述第一表格和所述目標數(shù)據(jù)結構中的所述轉移后的表格。23.如權利要求22所述的系統(tǒng),其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格是所述物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,其中所述目標數(shù)據(jù)結構是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫。24.如權利要求22所述的系統(tǒng),其中所述物理數(shù)據(jù)存儲庫是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式。25.如權利要求21所述的系統(tǒng),其中修改所述物理數(shù)據(jù)存儲庫中的所述數(shù)據(jù)集包括:選擇來自所述物理數(shù)據(jù)存儲庫中的第一表格的數(shù)據(jù);將所選的數(shù)據(jù)轉移到目標數(shù)據(jù)結構,其中所述目標數(shù)據(jù)結構是與所述第二類型的多租戶部署相對應的下述中的一種:私有物理數(shù)據(jù)存儲庫,共享數(shù)據(jù)存儲庫中的私有模式,或者共享數(shù)據(jù)存儲庫中的共享模式;以及在將所選的數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構時,在接收到指向所述第一表格的查詢時,返回錯誤消息。26.如權利要求25所述的系統(tǒng),其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的共享模式,其中所述物理數(shù)據(jù)存儲庫是由所標識的租戶擁有的私有物理數(shù)據(jù)存儲庫,所述方法還包括:在選擇來自所述第一表格的數(shù)據(jù)之前,阻擋對所述第一表格的訪問;在選擇來自所述第一表格的數(shù)據(jù)之后,將所述租戶標識元數(shù)據(jù)插入到通過選擇來自所述第一表格的數(shù)據(jù)而產(chǎn)生的數(shù)據(jù)集的新列中;以及恢復對所述第一表格的訪問。27.如權利要求25所述的系統(tǒng),其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述目標數(shù)據(jù)結構是共享物理數(shù)據(jù)存儲庫中的共享模式,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,所述方法還包括:在選擇來自所述第一表格的數(shù)據(jù)之前,阻擋對所述第一表格的訪問;在選擇來自所述第一表格的數(shù)據(jù)之后,將所述租戶標識元數(shù)據(jù)插入到通過選擇來自所述第一表格的數(shù)據(jù)而產(chǎn)生的數(shù)據(jù)集的新列中;以及恢復對所述第一表格的訪問。28.如權利要求25所述的系統(tǒng),其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的共享模式,其中所述目標數(shù)據(jù)結構是由所標識的租戶擁有的私有數(shù)據(jù)存儲庫,其中所選的數(shù)據(jù)由所標識的租戶擁有,所述方法還包括:在選擇來自第一租戶的數(shù)據(jù)之后,如果選擇了包含租戶標識的列,則去除包含租戶標識元數(shù)據(jù)的列;在將所述數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構之前,創(chuàng)建所述目標數(shù)據(jù)結構。29.如權利要求25所述的系統(tǒng),其中所述物理數(shù)據(jù)存儲庫是共享數(shù)據(jù)存儲庫,其中所述第一表格采用所述物理數(shù)據(jù)存儲庫中的共享模式,其中所述目標數(shù)據(jù)結構是共享數(shù)據(jù)存儲庫中的由所標識的租戶擁有的私有模式,其中所選的數(shù)據(jù)由所標識的租戶擁有,所述方法還包括:在選擇來自第一租戶的數(shù)據(jù)之后,如果選擇了包含租戶標識的列,則去除包含租戶標識元數(shù)據(jù)的列;在將所述數(shù)據(jù)轉移到所述目標數(shù)據(jù)結構之前,創(chuàng)建所述目標數(shù)據(jù)結構。30.如權利要求21所述的系統(tǒng),其中訪問采用所述第一類型的多租戶部署的租戶特定數(shù)據(jù)集的應用能夠訪問采用所述第二類型的多租戶部署的租戶特定數(shù)據(jù)集而無需修改代碼,其中訪問采用多租戶部署的租戶特定數(shù)據(jù)集中的數(shù)據(jù)的應用不知道所述租戶特定數(shù)據(jù)集的物理實現(xiàn)?!疚臋n編號】G06F12/00GK104160381SQ201380012870【公開日】2014年11月19日申請日期:2013年2月21日優(yōu)先權日:2012年3月8日【發(fā)明者】M·奧伯霍費爾,D·J·曼德爾施泰因,I·M·米爾曼,S·潘迪特,C·D·沃爾夫森申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1