用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法和系統(tǒng)的制作方法【專利摘要】本發(fā)明公開了一種用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法,其中該多租戶數(shù)據(jù)庫包括用于存儲(chǔ)租戶數(shù)據(jù)的一個(gè)或多個(gè)源數(shù)據(jù)庫。該方法包括:接收針對(duì)租戶特定的邏輯視圖的數(shù)據(jù)庫操作請(qǐng)求,其中租戶特定的邏輯視圖是基于指向多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息以及多租戶元數(shù)據(jù)為各個(gè)租戶創(chuàng)建的;獲取與數(shù)據(jù)庫操作請(qǐng)求有關(guān)的指向多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息;基于獲取的映射信息,執(zhí)行對(duì)一個(gè)或多個(gè)源數(shù)據(jù)庫的數(shù)據(jù)庫操作。本發(fā)明還公開一種相應(yīng)的系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品?!緦@f明】用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法和系統(tǒng)【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及多租戶數(shù)據(jù)庫系統(tǒng),更具體地,涉及一種用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法和裝置?!?br>背景技術(shù):
】[0002]多租戶(mult1-tenency)技術(shù)近年來日益引起人們的興趣。多租戶技術(shù)是指在服務(wù)提供商的服務(wù)器上運(yùn)行軟件的實(shí)例,由該實(shí)例為多個(gè)客戶組織(也即租戶)尤其是中小型客戶提供服務(wù)。在大規(guī)模多租戶應(yīng)用場(chǎng)景中可能有大量的(例如超過100萬個(gè))中小型租戶的數(shù)據(jù)物理上分布在不同的源數(shù)據(jù)庫中。[0003]現(xiàn)有的多租戶技術(shù)在這些源數(shù)據(jù)庫中通常采用多種物理數(shù)據(jù)共享或存儲(chǔ)/隔離模式。圖1示意性示出了多租戶系統(tǒng)源數(shù)據(jù)庫中物理數(shù)據(jù)共享或存儲(chǔ)/隔離模式的框圖。如圖1所示,例如可以包括以下三種典型模式:[0004]獨(dú)立數(shù)據(jù)庫模式,即每個(gè)租戶擁有自己單獨(dú)的數(shù)據(jù)庫。這種模式對(duì)于用戶數(shù)據(jù)隔離級(jí)別最高,安全性最好。但是這種模式增大了數(shù)據(jù)庫的安裝數(shù)量,隨之帶來維護(hù)成本和購置成本的增加。對(duì)于硬盤和內(nèi)存空間的利用率不高,并且隨著租戶數(shù)量的增加,整體系統(tǒng)數(shù)據(jù)訪問性能水平會(huì)顯著降低。這種單獨(dú)數(shù)據(jù)庫模式適用于租戶數(shù)量較少并且為大型租戶的應(yīng)用場(chǎng)景。[0005]共享數(shù)據(jù)庫及隔離數(shù)據(jù)架構(gòu)。在這種模式中,多個(gè)租戶共享同一個(gè)數(shù)據(jù)庫,每個(gè)租戶擁有自己單獨(dú)的表組,每個(gè)租戶采用各自的架構(gòu)(schema)。這種模式能夠?yàn)榘踩砸筝^高的租戶提供了一定程度的邏輯數(shù)據(jù)隔離。[0006]共享數(shù)據(jù)庫及共享數(shù)據(jù)架構(gòu)。在這種模式中,多個(gè)租戶共享同一個(gè)數(shù)據(jù)庫中的同一個(gè)表組,采用同一個(gè)架構(gòu)。在表組的每一個(gè)表中記錄“租戶ID”字段以便將不同的租戶的數(shù)據(jù)記錄區(qū)分開。這種模式是共享程度最高、隔離級(jí)別最低的模式。同時(shí),采用這種模式的數(shù)據(jù)庫維護(hù)和購置成本低,允許每個(gè)數(shù)據(jù)庫支持的較大數(shù)據(jù)量的租戶。[0007]因此,例如在支持多租戶平臺(tái)即服務(wù)(PaaS)平臺(tái)上,每個(gè)應(yīng)用將實(shí)際上具有以上述一種或多種物理數(shù)據(jù)共享或存儲(chǔ)/隔離模式組織的租戶數(shù)據(jù)的多個(gè)源數(shù)據(jù)庫。存在對(duì)各個(gè)源數(shù)據(jù)庫中的租戶數(shù)據(jù)操作的各種需求。例如,當(dāng)獨(dú)立軟件供應(yīng)商(ISV)在應(yīng)用調(diào)試、測(cè)試和更新中需要對(duì)各個(gè)源數(shù)據(jù)庫中的租戶數(shù)據(jù)進(jìn)行操作,或者當(dāng)應(yīng)用運(yùn)行時(shí)租戶數(shù)據(jù)出現(xiàn)問題時(shí)需要在一定時(shí)間內(nèi)修復(fù)數(shù)據(jù)以保證租戶的事務(wù)。然而,由于源數(shù)據(jù)庫底層(underlying)模式和技術(shù)的復(fù)雜性,在現(xiàn)有系統(tǒng)中對(duì)多租戶系統(tǒng)中的源數(shù)據(jù)庫進(jìn)行操作是繁復(fù)而耗時(shí)的?!?br/>發(fā)明內(nèi)容】[0008]為了解決現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種對(duì)多租戶數(shù)據(jù)庫進(jìn)行操作的技術(shù)方案。[0009]根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法,其中該多租戶數(shù)據(jù)庫包括用于存儲(chǔ)租戶數(shù)據(jù)的一個(gè)或多個(gè)源數(shù)據(jù)庫。該方法包括:接收針對(duì)租戶特定的邏輯視圖的數(shù)據(jù)庫操作請(qǐng)求,其中租戶特定的邏輯視圖是基于指向多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息以及多租戶元數(shù)據(jù)為各個(gè)租戶創(chuàng)建的;獲取與數(shù)據(jù)庫操作請(qǐng)求有關(guān)的指向多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息;基于獲取的映射信息,執(zhí)行對(duì)一個(gè)或多個(gè)源數(shù)據(jù)庫的數(shù)據(jù)庫操作。[0010]根據(jù)本發(fā)明的一個(gè)方面,提供了一種對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法,其中該多租戶數(shù)據(jù)庫包括用于存儲(chǔ)租戶數(shù)據(jù)的一個(gè)或多個(gè)源數(shù)據(jù)庫。該方法包括:在操控臺(tái)數(shù)據(jù)庫中建立指向所述源數(shù)據(jù)庫的映射信息;基于所述映射信息以及多租戶元數(shù)據(jù),為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖;以及在運(yùn)行時(shí)支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。[0011]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的系統(tǒng),其中該多租戶數(shù)據(jù)庫包括用于存儲(chǔ)租戶數(shù)據(jù)的一個(gè)或多個(gè)源數(shù)據(jù)庫。該系統(tǒng)包括:操控臺(tái)數(shù)據(jù)庫管理器,被配置為在操控臺(tái)數(shù)據(jù)庫中建立指向所述源數(shù)據(jù)庫的映射信息;邏輯視圖生成器,被配置為基于所述映射信息以及多租戶元數(shù)據(jù),為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖,并且被配置為在運(yùn)行時(shí)支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。[0012]根據(jù)本發(fā)明的實(shí)施方式,能夠向操作者隱藏底層源數(shù)據(jù)庫復(fù)雜的模式和技術(shù),并且便于提供用戶熟悉的界面和操作風(fēng)格,由此簡化操作者在對(duì)多租戶系統(tǒng)的多個(gè)源數(shù)據(jù)庫進(jìn)行操控的過程?!緦@綀D】【附圖說明】[0013]通過結(jié)合附圖對(duì)本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號(hào)通常代表相同部件。[0014]圖1示意性示出了多租戶系統(tǒng)源數(shù)據(jù)庫中物理數(shù)據(jù)共享或存儲(chǔ)/隔離模式的框圖。[0015]圖2示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算系統(tǒng)200的框圖。[0016]圖3示出了根據(jù)本發(fā)明實(shí)施方式的用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的系統(tǒng)300的框圖。[0017]圖4示出了根據(jù)本發(fā)明實(shí)施方式的在初始化時(shí)用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法400的流程圖。[0018]圖5示出了根據(jù)本發(fā)明實(shí)施方式的在運(yùn)行時(shí)用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法500的流程圖?!揪唧w實(shí)施方式】[0019]下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。[0020]圖2示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算系統(tǒng)200的框圖。如圖2所示,計(jì)算機(jī)系統(tǒng)200可以包括:CPU(中央處理單元)201、RAM(隨機(jī)存取存儲(chǔ)器)202、ROM(只讀存儲(chǔ)器)203、系統(tǒng)總線204、硬盤控制器205、鍵盤控制器206、串行接口控制器207、并行接口控制器208、顯示控制器209、硬盤210、鍵盤211、串行外部設(shè)備212、并行外部設(shè)備213和顯示器214。在這些設(shè)備中,與系統(tǒng)總線204耦合的有CPU201、RAM202、ROM203、硬盤控制器205、鍵盤控制器206、串行控制器207、并行控制器208和顯示控制器209。硬盤210與硬盤控制器205耦合,鍵盤211與鍵盤控制器206耦合,串行外部設(shè)備212與串行接口控制器207耦合,并行外部設(shè)備213與并行接口控制器208耦合,以及顯示器214與顯示控制器209耦合。應(yīng)當(dāng)理解,圖2所述的結(jié)構(gòu)框圖僅僅是為了示例的目的,而不是對(duì)本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況增加或減少某些設(shè)備。[0021]所屬【
技術(shù)領(lǐng)域:
】的技術(shù)人員知道,本發(fā)明可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包括固件、駐留軟件、微代碼等),還可以是硬件和軟件結(jié)合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。[0022]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。[0023]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。[0024]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、電線、光纜、RF等等,或者上述的任意合適的組合。[0025]可以以一種或多種程序設(shè)計(jì)語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言-諸如Java、Smalltalk、C++,還包括常規(guī)的過程式程序設(shè)計(jì)語言-諸如“C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。[0026]下面將參照本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,這些計(jì)算機(jī)程序指令通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。[0027]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能使得計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instructionmeans)的制造品(manufacture)。[0028]也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。[0029]為了解決現(xiàn)有技術(shù)中存在的問題,本發(fā)明的實(shí)施方式提供一種解決方案,用于為多租戶數(shù)據(jù)庫系統(tǒng)提供統(tǒng)一的操控臺(tái),使得操作者(管理員或者得到授權(quán)的租戶)能夠通過熟悉的常規(guī)用戶界面和操作風(fēng)格對(duì)多租戶系統(tǒng)的底層源數(shù)據(jù)庫進(jìn)行操作。通過使用根據(jù)本發(fā)明實(shí)施方式,操作者無需了解底層源數(shù)據(jù)庫的特定物理數(shù)據(jù)共享或存儲(chǔ)/隔離模式,由此簡化了操作者在對(duì)多租戶系統(tǒng)的多個(gè)源數(shù)據(jù)庫進(jìn)行操作的過程。[0030]圖3示出了根據(jù)本發(fā)明實(shí)施方式的用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的系統(tǒng)300的框圖。[0031]如圖3所示,根據(jù)本發(fā)明實(shí)施方式的用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的系統(tǒng)300包括操控臺(tái)數(shù)據(jù)庫管理器310、操控臺(tái)數(shù)據(jù)庫320以及邏輯視圖生成器330。[0032]操控臺(tái)數(shù)據(jù)庫管理器310用于執(zhí)行對(duì)多租戶數(shù)據(jù)庫系統(tǒng)中各個(gè)源數(shù)據(jù)庫的管理功能,包括但不限于在操控臺(tái)數(shù)據(jù)庫320中建立指向多租戶數(shù)據(jù)庫系統(tǒng)的各個(gè)源數(shù)據(jù)庫的映射信息。操控臺(tái)數(shù)據(jù)庫管理器310建立上述映射信息還包括對(duì)上述映射信息進(jìn)行維護(hù),包括:當(dāng)新建立新源數(shù)據(jù)庫時(shí)添加映射信息;當(dāng)源數(shù)據(jù)庫被改變時(shí)相應(yīng)地更新所建立的映射信息;當(dāng)源數(shù)據(jù)庫被注銷時(shí)刪除所建立的映射信息,等等。[0033]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,在初始化階段,操控臺(tái)數(shù)據(jù)庫管理器310為多租戶數(shù)據(jù)庫創(chuàng)建操控臺(tái)數(shù)據(jù)庫320。操控臺(tái)數(shù)據(jù)庫管理器310編目多租戶數(shù)據(jù)庫的源數(shù)據(jù)庫中的每一個(gè),并且為編目的源數(shù)據(jù)庫創(chuàng)建映射信息以建立數(shù)據(jù)庫聯(lián)邦。例如,操控臺(tái)數(shù)據(jù)庫管理器310利用對(duì)應(yīng)于源數(shù)據(jù)庫中各個(gè)表組的表組別名來對(duì)建立數(shù)據(jù)庫聯(lián)邦。在運(yùn)行時(shí),當(dāng)多租戶數(shù)據(jù)庫的源數(shù)據(jù)庫被改變化時(shí)(例如,添加新的源數(shù)據(jù)庫、注銷原有源數(shù)據(jù)庫、改變?cè)磾?shù)據(jù)庫中物理數(shù)據(jù)共享或存儲(chǔ)/隔離模式,等等),相應(yīng)地對(duì)映射信息進(jìn)行維護(hù)。[0034]源數(shù)據(jù)庫可以包括存儲(chǔ)有租戶數(shù)據(jù)的數(shù)據(jù)庫,例如,圖3中作為示例示出的云數(shù)據(jù)庫中的數(shù)據(jù)庫1-4。源數(shù)據(jù)庫還可以包括存儲(chǔ)有系統(tǒng)數(shù)據(jù)的數(shù)據(jù)庫,例如,圖3中作為示例示出的源數(shù)據(jù)庫中的數(shù)據(jù)庫O。源數(shù)據(jù)庫可以采用不同的數(shù)據(jù)共享或存儲(chǔ)/隔離模式來實(shí)現(xiàn)對(duì)于多租戶數(shù)據(jù)的存儲(chǔ)。例如,源數(shù)據(jù)庫I所采用的存儲(chǔ)/隔離模式是如圖1中所示的共享數(shù)據(jù)庫及共享數(shù)據(jù)架構(gòu),其中租戶A和租戶B共享同一表組,采用同一個(gè)架構(gòu),通過在每個(gè)表中記錄“租戶ID”字段來區(qū)分不同租戶的數(shù)據(jù)。數(shù)據(jù)庫2所采用的存儲(chǔ)/隔離模式是如圖1中所示的共享數(shù)據(jù)庫及隔離數(shù)據(jù)架構(gòu),其中租戶C和租戶D共享同一個(gè)數(shù)據(jù)庫,但租戶C和租戶D分別擁有自己單獨(dú)的表組,每個(gè)租戶采用各自的架構(gòu)。數(shù)據(jù)庫3、4所采用的存儲(chǔ)/隔離模式是如圖1中所示的獨(dú)立數(shù)據(jù)庫模式,其中租戶E單獨(dú)使用數(shù)據(jù)庫3,而租戶F單獨(dú)使用數(shù)據(jù)庫4。[0035]為了能夠向操作者提供統(tǒng)一、便捷的對(duì)源數(shù)據(jù)庫的操控,邏輯視圖生成器330基于操控臺(tái)數(shù)據(jù)庫320中存儲(chǔ)的映射信息以及多租戶元數(shù)據(jù)(存儲(chǔ)于多租戶元數(shù)據(jù)庫(未示出)中),為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖,以便操作者基于租戶特定的邏輯視圖對(duì)相應(yīng)的源數(shù)據(jù)庫進(jìn)行操作。[0036]特別地,對(duì)于源數(shù)據(jù)庫中具有的多租戶共享表組,邏輯視圖生成器330所創(chuàng)建的邏輯視圖能夠獨(dú)立地反映單個(gè)租戶的數(shù)據(jù)庫邏輯。例如,對(duì)于租戶A和租戶B,邏輯視圖生成器330分別創(chuàng)建特定于租戶A的邏輯視圖,以及特定于租戶B的邏輯視圖。通過特定于租戶A的邏輯視圖僅租戶A的數(shù)據(jù)記錄可見,而通過特定于租戶B的邏輯視圖僅租戶B的數(shù)據(jù)記錄可見。由此,即使對(duì)于低隔離級(jí)別的共享數(shù)據(jù)庫/共享數(shù)據(jù)架構(gòu)也能有效地提供數(shù)據(jù)隔離。[0037]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,邏輯視圖生成器330基于控制臺(tái)數(shù)據(jù)庫中的聯(lián)邦的表組別名和多租戶元數(shù)據(jù)為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖。[0038]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,多租戶元數(shù)據(jù)庫(未示出)存儲(chǔ)有多租戶元數(shù)據(jù)。該多租戶元數(shù)據(jù)可以包括各租戶與源數(shù)據(jù)庫中表組的對(duì)應(yīng)關(guān)系。在又一示例中,為了支持應(yīng)用特定的多租戶數(shù)據(jù)庫操作,多租戶元數(shù)據(jù)還可以包括特定應(yīng)用與表組的對(duì)應(yīng)關(guān)系。在又一示例中,多租戶元數(shù)據(jù)還可以包括各個(gè)租戶采用的數(shù)據(jù)隔離級(jí)別,用于提供租戶的服務(wù)等級(jí)相關(guān)的信息。多租戶元數(shù)據(jù)庫可以被實(shí)現(xiàn)為獨(dú)立于操控臺(tái)數(shù)據(jù)庫和/或多租戶云數(shù)據(jù)庫的單獨(dú)的數(shù)據(jù)庫,也可以被實(shí)現(xiàn)為結(jié)合操控臺(tái)數(shù)據(jù)庫和/或多租戶云數(shù)據(jù)庫而實(shí)現(xiàn)的數(shù)據(jù)庫。[0039]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,邏輯視圖生成器330支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。[0040]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,系統(tǒng)的鑒權(quán)模塊(未示出)可以向特定用戶進(jìn)行授權(quán),由此使得例如具有管理員權(quán)限的獨(dú)立軟件供應(yīng)商或者獲得授權(quán)的租戶的操作者可以基于邏輯視圖在用戶界面中對(duì)相應(yīng)租戶的實(shí)際數(shù)據(jù)進(jìn)行數(shù)據(jù)庫操控,由此隱藏了源數(shù)據(jù)庫的底層模式和技術(shù)的復(fù)雜性。[0041]為了支持授權(quán)用戶基于邏輯視圖的數(shù)據(jù)庫操作,在本發(fā)明的一個(gè)實(shí)施方式中,邏輯視圖生成器330可以針對(duì)邏輯視圖的數(shù)據(jù)庫操作創(chuàng)建相應(yīng)的觸發(fā)器。在一個(gè)實(shí)現(xiàn)中,對(duì)于源數(shù)據(jù)庫中的多租戶共享表組,可以利用創(chuàng)建的觸發(fā)器處理租戶ID列以用于插入操作、刪除操作等,并且創(chuàng)建兩段式事務(wù)用于對(duì)跨多后臺(tái)數(shù)據(jù)庫的系統(tǒng)表的更新。本領(lǐng)域技術(shù)人員可以理解,還可以為基于邏輯視圖的其它數(shù)據(jù)庫操作定義觸發(fā)器和過程,以便支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。而且,觸發(fā)器的形式和內(nèi)容均可以根據(jù)具體數(shù)據(jù)庫和所需的功能進(jìn)行改變。[0042]在本發(fā)明的實(shí)施方式中,通過租戶特定的邏輯視圖向操作者隱藏了底層源數(shù)據(jù)庫復(fù)雜的模式和技術(shù)。這使得操作者僅在熟悉的常規(guī)界面中執(zhí)行常規(guī)數(shù)據(jù)庫操作即可對(duì)相應(yīng)地源數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫操作,由此簡化操作者在對(duì)多租戶系統(tǒng)的多個(gè)源數(shù)據(jù)庫進(jìn)行操控的過程。[0043]在下文中將參照?qǐng)D4和圖5描述根據(jù)本發(fā)明實(shí)施方式的用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法。[0044]現(xiàn)在參看圖4。圖4示出了根據(jù)本發(fā)明實(shí)施方式的在初始化時(shí)用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法400的流程圖。[0045]如圖4所示,在步驟S410中,根據(jù)本發(fā)明實(shí)施方式的在初始化時(shí)用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法開始。[0046]在步驟S420中,建立指向多租戶數(shù)據(jù)庫所包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信肩、O[0047]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,首先為多租戶數(shù)據(jù)庫創(chuàng)建操控臺(tái)數(shù)據(jù)庫。操控臺(tái)數(shù)據(jù)庫管理器編目多租戶數(shù)據(jù)庫的源數(shù)據(jù)庫中的每一個(gè),并且為編目的源數(shù)據(jù)庫創(chuàng)建映射信息以建立數(shù)據(jù)庫聯(lián)邦。例如,操控臺(tái)數(shù)據(jù)庫管理器利用對(duì)應(yīng)于源數(shù)據(jù)庫中各個(gè)表組的表組別名來對(duì)建立數(shù)據(jù)庫聯(lián)邦。源數(shù)據(jù)庫可以包括存儲(chǔ)有租戶數(shù)據(jù)的數(shù)據(jù)庫,還可以包括存儲(chǔ)有系統(tǒng)數(shù)據(jù)的數(shù)據(jù)庫。源數(shù)據(jù)庫可以采用不同的數(shù)據(jù)共享或存儲(chǔ)/隔離模式來實(shí)現(xiàn)對(duì)于多租戶數(shù)據(jù)的存儲(chǔ)。[0048]在步驟S430中,基于映射信息以及多租戶元數(shù)據(jù),為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖。[0049]特別地,對(duì)于源數(shù)據(jù)庫中具有的多租戶共享表組,所創(chuàng)建的邏輯視圖能夠獨(dú)立地反映單個(gè)租戶的數(shù)據(jù)庫邏輯。[0050]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,基于控制臺(tái)數(shù)據(jù)庫中的聯(lián)邦的表組別名和多租戶元數(shù)據(jù)為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖。[0051]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,多租戶元數(shù)據(jù)可以包括各租戶與源數(shù)據(jù)庫中表組的對(duì)應(yīng)關(guān)系。在又一示例中,為了支持應(yīng)用特定的多租戶數(shù)據(jù)庫操作,多租戶元數(shù)據(jù)還可以包括特定應(yīng)用與表組的對(duì)應(yīng)關(guān)系。在又一示例中,多租戶元數(shù)據(jù)還可以包括各個(gè)租戶采用的數(shù)據(jù)隔離級(jí)別,用于提供租戶的服務(wù)等級(jí)相關(guān)的信息。[0052]在步驟S440中,支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。[0053]可以向具有特定授權(quán)的用戶,例如具有管理員權(quán)限的獨(dú)立軟件供應(yīng)商或者獲得授權(quán)的租戶可以基于邏輯視圖在用戶界面中對(duì)相應(yīng)租戶的實(shí)際數(shù)據(jù)進(jìn)行數(shù)據(jù)庫操作,由此隱藏了源數(shù)據(jù)庫的底層模式和技術(shù)的復(fù)雜性。[0054]為了支持授權(quán)用戶基于邏輯視圖的數(shù)據(jù)庫操作,在本發(fā)明的一個(gè)實(shí)施方式中,可以針對(duì)邏輯視圖的數(shù)據(jù)庫操作創(chuàng)建相應(yīng)的觸發(fā)器。在一個(gè)實(shí)現(xiàn)中,對(duì)于源數(shù)據(jù)庫中的多租戶共享表組,可以利用創(chuàng)建的觸發(fā)器處理租戶ID列以用于插入操作,并且創(chuàng)建兩段式事務(wù)用于對(duì)跨多后臺(tái)數(shù)據(jù)庫的系統(tǒng)表的更新。[0055]在一個(gè)實(shí)現(xiàn)方式中,創(chuàng)建用于基于租戶表視圖插入租戶數(shù)據(jù)的操作的觸發(fā)器的一個(gè)具體示例如下:[0056]-CREATETRIGGERTTABLE_1INSTEADOFINSERTONC0MPANY0001.TENANTTABLE1REFERENCINGNEWASnFOREACHROW[0057]-callinstnt()[0058]-CREATEPRCCEDUREinstnt()LANGUAGESQLBEGIN[0059]-DECLARESQLSTRVARCHAR(1024);—SETSQLSTR='SETPASSTHRUTDBl';—EXECUTEIMMEDIATESQLSTR;—[0060]-SETSQLSTR=1insertintotenanttablelvalues(51,"245","companyOO01"Y;—EXECUTEIMMEDIATESQLSTR;—[0061]-SETSQLSTR='SETPASSTHRURESET;—EXECUTEIMMEDIATESQLSTR;—[0062]-END[0063]根據(jù)本發(fā)明的一個(gè)實(shí)現(xiàn)方式,創(chuàng)建用于基于系統(tǒng)表視圖刪除和更新系統(tǒng)數(shù)據(jù)的操作的觸發(fā)器的一個(gè)具體示例如下:[0064]-CREATETRIGGERSYSTABLE_DINSTEADOFDELETEONSYSSCM.SYSTABLEREFERENCINGOLDASoFOREACH[0065]-calldelsys()[0066]-CREATETRIGGERSYSTABLE_UINSTEADOFUPDATEONSYSSCM.SYSTABLEREFERENCINGOLDASoFOREACH[0067]-callupsys()[0068]-CREATEPROCEDUREdelsys()LANGUAGESQLBEGIN[0069]-DECLARESQLSTRVARCHAR(1024);—SETSQLSTR='SETPASSTHRUSYSDBl';—EXECUTEIMMEDIATESQLSTR;—[0070]-SETSQLSTR='deletefromdb2admin.systablewhereid=]/;—EXECUTEIMMEDIATESQLSTR;—[0071]-SETSQLSTR='SETPASSTHRURESET'!—EXECUTEIMMEDIATESQLSTR;—[0072]-SETSQLSTR='SETPASSTHRUTDBl';—EXECUTEIMMEDIATESQLSTR;—[0073]-SETSQLSTR='deletefromdb2admin.systablewhereid=]/;—EXECUTEIMMEDIATESQLSTR;—[0074]-SETSQLSTR='SETPASSTHRURESET'!—EXECUTEIMMEDIATESQLSTR;—[0075]-END[0076]-[0077]-CREATEPROCEDUREupsys()LANGUAGESQLBEGIN[0078]-DECLARESQLSTRVARCHAR(1024);—SETSQLSTR='SETPASSTHRUSYSDBl';—EXECUTEIMMEDIATESQLSTR;—[0079]-SETSQLSTR='updatedb2admin.systablesetip="qwe"whereid=4';—EXECUTEIMMEDIATESQLSTR;—[0080]-SETSQLSTR='SETPASSTHRURESET;—EXECUTEIMMEDIATESQLSTR;—[0081]-SETSQLSTR='SETPASSTHRUTDBl'!—EXECUTEIMMEDIATESQLSTR;—[0082]-SETSQLSTR='updatedb2admin.systablesetip="qwe"whereid=4';—EXECUTEIMMEDIATESQLSTR;—[0083]-SETSQLSTR='SETPASSTHRURESET'!—EXECUTEIMMEDIATESQLSTR;—[0084]-END[0085]本領(lǐng)域技術(shù)人員可以理解,還可以為基于邏輯視圖的其它數(shù)據(jù)庫操作定義觸發(fā)器和過程,以便支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。而且,上述觸發(fā)器的形式和內(nèi)容均可以根據(jù)具體數(shù)據(jù)庫和所需的功能進(jìn)行改變。因此,僅處于說明性目的給出上述示例,而并非對(duì)本公開的范圍進(jìn)行限制。[0086]根據(jù)本發(fā)明一種或多種實(shí)施方式,可以對(duì)多租戶數(shù)據(jù)庫中的系統(tǒng)數(shù)據(jù)進(jìn)行類似于上文描述的對(duì)于租戶數(shù)據(jù)的相應(yīng)的處理。這一點(diǎn)結(jié)合上文給出的用于基于系統(tǒng)表視圖刪除和更新系統(tǒng)數(shù)據(jù)的操作的觸發(fā)器的具體示例可以變得更加明顯。因此,在上文所描述的多租戶數(shù)據(jù)庫進(jìn)行操控的方法中,并不排斥系統(tǒng)數(shù)據(jù)庫/系統(tǒng)表,相反,應(yīng)該理解將其為一種可以包含系統(tǒng)數(shù)據(jù)庫/系統(tǒng)表處理的解決方案。[0087]在步驟S450中,根據(jù)本發(fā)明實(shí)施方式的用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法結(jié)束。[0088]圖5示出了根據(jù)本發(fā)明實(shí)施方式的在運(yùn)行時(shí)用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法500的流程圖。[0089]在步驟S510中,根據(jù)本發(fā)明實(shí)施方式的響應(yīng)于操作者對(duì)于數(shù)據(jù)庫的操作請(qǐng)求用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法開始。[0090]在步驟S520中,接收來自操作者的針對(duì)租戶特定的邏輯視圖的數(shù)據(jù)庫操作請(qǐng)求。[0091]根據(jù)本發(fā)明的一種或多種實(shí)施方式,向操作者提供類似于常用的數(shù)據(jù)庫軟件的用戶界面以顯示租戶特定的邏輯視圖。該租戶特定的邏輯視圖是在初始化過程中由邏輯視圖生成器基于操控臺(tái)數(shù)據(jù)庫中存儲(chǔ)的映射信息以及多租戶元數(shù)據(jù),為各個(gè)租戶所創(chuàng)建的。特別地,對(duì)于源數(shù)據(jù)庫中具有的多租戶共享表組,創(chuàng)建的租戶特定的邏輯視圖能夠獨(dú)立地反映單個(gè)租戶的數(shù)據(jù)庫邏輯。操作者可以基于該租戶特定的邏輯視圖進(jìn)行各種常規(guī)數(shù)據(jù)操作請(qǐng)求。例如,請(qǐng)求在邏輯視圖中添加數(shù)據(jù)項(xiàng)、修改數(shù)據(jù)項(xiàng)、刪除數(shù)據(jù)項(xiàng)等。[0092]在步驟S530中,獲取與數(shù)據(jù)庫操作請(qǐng)求有關(guān)的指向多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息。[0093]根據(jù)本發(fā)明的一種或多種實(shí)施方式,在初始化階段可以針對(duì)邏輯視圖的數(shù)據(jù)庫操作創(chuàng)建相應(yīng)的觸發(fā)器。響應(yīng)于對(duì)于租戶特定邏輯視圖的數(shù)據(jù)庫操作請(qǐng)求,調(diào)用相應(yīng)的觸發(fā)器。操作者對(duì)租戶特定的邏輯視圖的數(shù)據(jù)庫操作請(qǐng)求可以被特定觸發(fā)器捕獲并解釋,由此獲得與數(shù)據(jù)庫操作請(qǐng)求有關(guān)的指向多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息。該映射信息存儲(chǔ)在操控臺(tái)數(shù)據(jù)庫中。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,在初始化階段通過對(duì)該多租戶數(shù)據(jù)庫中的每一個(gè)源數(shù)據(jù)庫進(jìn)行編目并且為編目的源數(shù)據(jù)庫創(chuàng)建相應(yīng)的映射信息以建立數(shù)據(jù)庫聯(lián)邦,來創(chuàng)建映射信息。在一個(gè)實(shí)施方式中,映射信息可以包括所述數(shù)據(jù)庫聯(lián)邦的表組別名。[0094]在步驟S540中,基于獲取的映射信息,執(zhí)行對(duì)一個(gè)或多個(gè)源數(shù)據(jù)庫的數(shù)據(jù)庫操作。[0095]通過獲取的映射信息,可以將對(duì)于租戶特定的邏輯視圖進(jìn)行的數(shù)據(jù)庫操作請(qǐng)求轉(zhuǎn)換為對(duì)于多租戶數(shù)據(jù)庫中一個(gè)或多個(gè)相應(yīng)源數(shù)據(jù)庫的數(shù)據(jù)庫操作。在一個(gè)實(shí)現(xiàn)中,觸發(fā)器使用觸發(fā)器創(chuàng)建時(shí)同時(shí)創(chuàng)建的特定存儲(chǔ)過程接收數(shù)據(jù)庫操作請(qǐng)求,根據(jù)通過獲取的映射信息對(duì)源數(shù)據(jù)庫進(jìn)行操作。[0096]例如,當(dāng)對(duì)租戶特定的邏輯視圖進(jìn)行刪除或者更新的數(shù)據(jù)庫操作時(shí),該事務(wù)將由相應(yīng)觸發(fā)器解釋。觸發(fā)器例如按照針對(duì)租戶特定的邏輯視圖的數(shù)據(jù)庫操作所針對(duì)的租戶ID創(chuàng)建相應(yīng)的數(shù)據(jù)庫操作語句,并且調(diào)用刪除或更新過程。當(dāng)對(duì)租戶特定的邏輯視圖進(jìn)行插入的數(shù)據(jù)庫操作時(shí),該事務(wù)也將由相應(yīng)觸發(fā)器解釋。觸發(fā)器例如按照針對(duì)租戶特定的邏輯視圖的數(shù)據(jù)庫操作所針對(duì)租戶ID和新的記錄條目值創(chuàng)建相應(yīng)的數(shù)據(jù)庫操作語句,并且調(diào)用插入過程。這些數(shù)據(jù)庫操作過程將接收所獲取的指向多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息作為參數(shù),并利用關(guān)于相應(yīng)源數(shù)據(jù)庫的信息(例如,數(shù)據(jù)庫聯(lián)邦的表組別名)替換創(chuàng)建的數(shù)據(jù)庫操作語句中的相應(yīng)信息。然后,在相應(yīng)的源數(shù)據(jù)庫中執(zhí)行數(shù)據(jù)庫操作。[0097]在步驟S550中,根據(jù)本發(fā)明實(shí)施方式的響應(yīng)于操作者對(duì)于數(shù)據(jù)庫的操作請(qǐng)求用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法結(jié)束。[0098]可以理解,根據(jù)本發(fā)明的各種實(shí)施方式通過建立租戶特定的邏輯視圖向操作者提供了具有熟悉的常規(guī)界面的統(tǒng)一的多租戶數(shù)據(jù)庫操控臺(tái),從而隱藏了底層源數(shù)據(jù)庫復(fù)雜的模式和技術(shù)。操作者無需了解有關(guān)各個(gè)源數(shù)據(jù)庫的具體物理數(shù)據(jù)共享或存儲(chǔ)/隔離模式就可以實(shí)現(xiàn)針對(duì)各個(gè)租戶的數(shù)據(jù)庫操作,由此簡化操作者在對(duì)多租戶系統(tǒng)的多個(gè)源數(shù)據(jù)庫進(jìn)行操控的過程。[0099]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。[0100]以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對(duì)于本【
技術(shù)領(lǐng)域:
】的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本【
技術(shù)領(lǐng)域:
】的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。【權(quán)利要求】1.一種用于對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法,其中該多租戶數(shù)據(jù)庫包括用于存儲(chǔ)租戶數(shù)據(jù)的一個(gè)或多個(gè)源數(shù)據(jù)庫,該方法包括:接收針對(duì)租戶特定的邏輯視圖的數(shù)據(jù)庫操作請(qǐng)求,其中所述租戶特定的邏輯視圖是基于指向所述多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息以及多租戶元數(shù)據(jù)為各個(gè)租戶創(chuàng)建的;獲取與所述數(shù)據(jù)庫操作請(qǐng)求有關(guān)的指向所述多租戶數(shù)據(jù)庫中包括的一個(gè)或多個(gè)源數(shù)據(jù)庫的映射信息;基于獲取的映射信息,執(zhí)行對(duì)所述一個(gè)或多個(gè)源數(shù)據(jù)庫的數(shù)據(jù)庫操作。2.根據(jù)權(quán)利要求1所述的方法,還包括:調(diào)用針對(duì)所述租戶特定的邏輯視圖的數(shù)據(jù)庫操作所創(chuàng)建的觸發(fā)器。3.根據(jù)權(quán)利要求1所述的方法,其中通過編目所述源數(shù)據(jù)庫的每一個(gè),并且為編目的源數(shù)據(jù)庫創(chuàng)建映射信息以建立數(shù)據(jù)庫聯(lián)邦,來創(chuàng)建到多個(gè)源數(shù)據(jù)庫的映射信息。4.根據(jù)權(quán)利要求1或2所述的方法,其中:所述映射信息包括所述數(shù)據(jù)庫聯(lián)邦的表組別名。5.根據(jù)權(quán)利要求1所述的方法,其中:所述多租戶元數(shù)據(jù)包括各租戶與所述源數(shù)據(jù)庫中表組的對(duì)應(yīng)關(guān)系。6.根據(jù)權(quán)利要求1所述的方法,其中:所述源數(shù)據(jù)庫中的至少一個(gè)源數(shù)據(jù)庫包括多租戶共享表組。7.一種對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的方法,其中該多租戶數(shù)據(jù)庫包括用于存儲(chǔ)租戶數(shù)據(jù)的一個(gè)或多個(gè)源數(shù)據(jù)庫,該方法包括:建立到所述源數(shù)據(jù)庫的映射信息;基于所述映射信息以及多租戶元數(shù)據(jù),為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖;以及支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。8.一種對(duì)多租戶數(shù)據(jù)庫進(jìn)行操控的系統(tǒng),其中該多租戶數(shù)據(jù)庫包括用于存儲(chǔ)租戶數(shù)據(jù)的一個(gè)或多個(gè)源數(shù)據(jù)庫,包括:操控臺(tái)數(shù)據(jù)庫管理器,被配置為在操控臺(tái)數(shù)據(jù)庫中建立指向所述源數(shù)據(jù)庫的映射信息;邏輯視圖生成器,被配置為基于所述映射信息以及多租戶元數(shù)據(jù),為各個(gè)租戶創(chuàng)建租戶特定的邏輯視圖,并且被配置為在支持對(duì)至少一個(gè)所創(chuàng)建的租戶特定的邏輯視圖進(jìn)行數(shù)據(jù)庫操作。9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中:所述操控臺(tái)數(shù)據(jù)庫管理器被配置為編目所述源數(shù)據(jù)庫的每一個(gè)并且為編目的源數(shù)據(jù)庫創(chuàng)建映射信息以建立數(shù)據(jù)庫聯(lián)邦。10.根據(jù)權(quán)利要求8或9的系統(tǒng),其中:所述映射信息包括所述數(shù)據(jù)庫聯(lián)邦的表組別名。11.根據(jù)權(quán)利要求8所述的系統(tǒng),其中:所述多租戶元數(shù)據(jù)包括各租戶與所述源數(shù)據(jù)庫中表組的對(duì)應(yīng)關(guān)系。12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中:所述源數(shù)據(jù)庫中的至少一個(gè)源數(shù)據(jù)庫包括多租戶共享表。13.根據(jù)權(quán)利要求8所述的系統(tǒng),其中:所述邏輯視圖生成器被配置為針對(duì)所述邏輯視圖的數(shù)據(jù)庫操作創(chuàng)建相應(yīng)的觸發(fā)器,以及響應(yīng)于用戶對(duì)所述邏輯視圖的數(shù)據(jù)庫操作調(diào)用相應(yīng)觸發(fā)器?!疚臋n編號(hào)】G06F17/30GK103577457SQ201210271433【公開日】2014年2月12日申請(qǐng)日期:2012年7月31日優(yōu)先權(quán)日:2012年7月31日【發(fā)明者】支雷,安文豪,王芝虎,郭常杰,高波,王寧,王小鋒,王啟榮申請(qǐng)人:國際商業(yè)機(jī)器公司