亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于鍵-值數(shù)據(jù)庫的多租戶擴展方法

文檔序號:6638653閱讀:340來源:國知局
基于鍵-值數(shù)據(jù)庫的多租戶擴展方法
【專利摘要】本發(fā)明實施例涉及一種基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,所述方法包括:獲取初始業(yè)務(wù)實體元數(shù)據(jù);定制階段,在所述初始業(yè)務(wù)實體元數(shù)據(jù)上擴展業(yè)務(wù)屬性,對所述業(yè)務(wù)屬性定義業(yè)務(wù)實體和顯示標簽,生成滿足多租戶需求的特定業(yè)務(wù)實體元數(shù)據(jù);生成實例階段,根據(jù)所述特定業(yè)務(wù)實體元數(shù)據(jù),創(chuàng)建鍵-值Key-Value數(shù)據(jù)庫;實例運行階段,以租戶標識作為RowKey前綴插入到Key-Value數(shù)據(jù)庫的業(yè)務(wù)實體數(shù)據(jù),通過所述租戶標識生成RowKey的查詢范圍查詢業(yè)務(wù)實體數(shù)據(jù),在所述查詢范圍內(nèi)從所述Key-Value數(shù)據(jù)庫中取出業(yè)務(wù)實體數(shù)據(jù),按照所述特定業(yè)務(wù)實體元數(shù)據(jù)生成交互界面,以便將所述業(yè)務(wù)實體數(shù)據(jù)展示。
【專利說明】基于鍵-值數(shù)據(jù)庫的多租戶擴展方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種基于鍵-值數(shù)據(jù)庫的多租戶擴展方法。

【背景技術(shù)】
[0002] 互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展使得傳統(tǒng)數(shù)據(jù)庫在應(yīng)對海量數(shù)據(jù)時面臨巨大挑戰(zhàn),分布式 鍵-值Key-Value數(shù)據(jù)庫應(yīng)運而生,Key-Value數(shù)據(jù)庫包括開源的非關(guān)系型分布式數(shù)據(jù)庫 HBase、非關(guān)系型數(shù)據(jù)庫Cassandra、非關(guān)系型的數(shù)據(jù)庫否SQL等。Key-Value數(shù)據(jù)庫的分布 式構(gòu)架,相對傳統(tǒng)關(guān)系型數(shù)據(jù)庫具有可存儲大量數(shù)據(jù),一個表可以有上億行;面向列存儲, 面向列(族)的存儲和權(quán)限控制,列(族)獨立檢索;稀疏存儲,對于空的列,不占用存儲空 間,可以將表設(shè)計的非常稀疏。
[0003] 多租戶技術(shù)主要用于多個租戶共享硬件資源,多個租戶公用一個應(yīng)用程序?qū)嵗?現(xiàn)有技術(shù)中,多租戶技術(shù)在數(shù)據(jù)存儲方面主要包括如下三種方案:
[0004] 1.每個租戶擁有獨立數(shù)據(jù)庫
[0005] 為不同租戶提供相互獨立的數(shù)據(jù)庫,這樣數(shù)據(jù)隔離性最好,而且由于可以為不同 用戶單獨設(shè)計數(shù)據(jù)庫結(jié)構(gòu),有助于簡化數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計,出現(xiàn)故障恢復(fù)也相對簡單。但是 為每個租戶都建立獨立數(shù)據(jù)庫,不同租戶沒有真正共享硬件資源,購置成本和維護成本高, 一般運營商無法接受。
[0006] 2.租戶共享數(shù)據(jù)庫,但擁有獨立庫表
[0007] 所有租戶共享一個數(shù)據(jù)庫,但是不同租戶擁有獨立的庫表。提供了一定的數(shù)據(jù)之 間隔離性,但擴展起來相對麻煩,不便于擴展,成本也較高,跨租戶數(shù)據(jù)統(tǒng)計難。
[0008] 3.租戶共享數(shù)據(jù)庫,共享數(shù)據(jù)庫表
[0009] 所有租戶共享數(shù)據(jù)庫,共享庫表,這種方法成本最低,共享度最高,允許支持的租 戶也最多,但是由于不同租戶之間的業(yè)務(wù)需求不一,因此針對這種情況需要精心設(shè)計數(shù)據(jù) 庫。采用傳統(tǒng)關(guān)系型數(shù)據(jù)庫時,當(dāng)租戶需要添加自定義字段時,需要在數(shù)據(jù)庫中添加列,對 于某租戶而言,其他租戶添加的列對該租戶為無用列,但還是需要在數(shù)據(jù)庫中存在,但當(dāng)租 戶數(shù)量較大時,需要在數(shù)據(jù)庫中增加大量列,這就導(dǎo)致數(shù)據(jù)庫中存在大量的空值,十分浪費 空間。


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

[0010] 本發(fā)明實施例提供了一種基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,有效降低多租戶 數(shù)據(jù)庫的運營成本和維護成本,增加多租戶數(shù)據(jù)庫的擴展性,降低租戶的定制成本和縮短 定制周期。
[0011] 本發(fā)明實施例提供了一種基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,所述方法包括:
[0012] 獲取初始業(yè)務(wù)實體元數(shù)據(jù);
[0013] 定制階段,在所述初始業(yè)務(wù)實體元數(shù)據(jù)上擴展業(yè)務(wù)屬性,對所述業(yè)務(wù)屬性定義業(yè) 務(wù)實體和顯示標簽,生成滿足多租戶需求的特定業(yè)務(wù)實體元數(shù)據(jù);
[0014] 生成實例階段,根據(jù)所述特定業(yè)務(wù)實體元數(shù)據(jù),創(chuàng)建鍵-值Key-Value數(shù)據(jù)庫;
[0015] 實例運行階段,以租戶標識作為RowKey前綴插入到Key-Value數(shù)據(jù)庫的業(yè)務(wù)實 體數(shù)據(jù),通過所述租戶標識生成RowKey的查詢范圍查詢業(yè)務(wù)實體數(shù)據(jù),在所述查詢范圍內(nèi) 從所述Key-Value數(shù)據(jù)庫中取出業(yè)務(wù)實體數(shù)據(jù),按照所述特定業(yè)務(wù)實體元數(shù)據(jù)生成交互界 面,以便將所述業(yè)務(wù)實體數(shù)據(jù)展示。
[0016] 優(yōu)選地,所述初始業(yè)務(wù)實體元數(shù)據(jù)和所述特定業(yè)務(wù)實體元數(shù)據(jù)均至少包括:業(yè)務(wù) 實體的表名、業(yè)務(wù)實體的顯示標簽、業(yè)務(wù)實體的屬性列名、業(yè)務(wù)實體的數(shù)據(jù)類型、業(yè)務(wù)實體 的索引列標識和業(yè)務(wù)實體的屬性顯不標簽。
[0017] 優(yōu)選地,在所述生成實例階段中,所述方法還包括:
[0018] 所有租戶共享一個所述Key-Value數(shù)據(jù)庫,所述初始業(yè)務(wù)實體元數(shù)據(jù)對應(yīng)的列為 所有租戶共孚。
[0019] 優(yōu)選地,在所述生成實例階段中,所述方法還包括:
[0020] 所述擴展業(yè)務(wù)屬性用于滿足所述租戶的不同業(yè)務(wù)需求,并且同時生成與新增的業(yè) 務(wù)屬性對應(yīng)的擴展列,所述的擴展列僅對所述租戶可見。
[0021] 優(yōu)選地,所述以租戶標識作為RowKey前綴插入到Key-Value數(shù)據(jù)庫的業(yè)務(wù)實體 數(shù)據(jù)具體還包括:采用所述租戶的標識+所述業(yè)務(wù)實體的表名作為所述業(yè)務(wù)實體數(shù)據(jù)的 RowKey 前綴。
[0022] 優(yōu)選地,所述通過所述租戶標識生成RowKey的查詢范圍查詢業(yè)務(wù)實體數(shù)據(jù)具體 包括:查詢所述Key-Value數(shù)據(jù)庫,根據(jù)所述租戶的標識和所述業(yè)務(wù)實體的表名設(shè)定查詢 范圍,在所述設(shè)定的查詢范圍內(nèi),根據(jù)用戶設(shè)定的查詢條件進行查詢獲取所述業(yè)務(wù)實體數(shù) 據(jù)。
[0023] 優(yōu)選地,所述按照所述特定業(yè)務(wù)實體元數(shù)據(jù)生成交互界面具體包括:
[0024] 根據(jù)所述租戶的標識獲取所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù);
[0025] 根據(jù)所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù)的索引列信息和數(shù)據(jù)類型生成查詢項;
[0026] 根據(jù)所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù)中的顯示標簽和業(yè)務(wù)實體數(shù)據(jù)顯示查詢結(jié) 果;
[0027] 根據(jù)所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù)的業(yè)務(wù)實體的顯示標簽、業(yè)務(wù)實體的屬性顯 示標簽和業(yè)務(wù)實體的數(shù)據(jù)類型生成新建頁面的新建項。
[0028] 本發(fā)明提出的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,能夠產(chǎn)生積極的有益效果, 具體如下:支持通過定制生成滿足租戶個性化需求的應(yīng)用,對于業(yè)務(wù)流程相似的業(yè)務(wù)可 以避免重復(fù)開發(fā);采用共享的Key-Value數(shù)據(jù)庫方便實現(xiàn)擴展,降低運營成本,隨著新增 租戶的增長,隨著租戶的用戶規(guī)模的的增長,本發(fā)明以租戶標識作為所有業(yè)務(wù)實體數(shù)據(jù)的 RowKey前綴,方便實現(xiàn)擴展,降低運營成本。

【專利附圖】

【附圖說明】
[0029] 圖1為本發(fā)明實施例一提供的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法流程圖; [0030] 圖2為本發(fā)明實施例二提供的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法的原理框圖。

【具體實施方式】
[0031] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明具體實施 例作進一步的詳細描述。
[0032] 實施例一
[0033] 下面以圖1為例詳細說明本發(fā)明實施例一提供的基于鍵-值數(shù)據(jù)庫的多租戶擴展 方法,圖1為本發(fā)明實施例提供的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法流程圖,在本發(fā)明實 施例中實施主體可以為運營支撐平臺。圖2顯示了本發(fā)明實施例提出的基于鍵-值數(shù)據(jù)庫 的多租戶擴展方法的原理框圖。如圖2所示,本發(fā)明提出的基于鍵-值數(shù)據(jù)庫的多租戶擴 展方法中,采用可擴展可定義的多租戶的運營支撐平臺,該平臺采用分布式Key-Value數(shù) 據(jù)庫存儲業(yè)務(wù)信息。結(jié)合圖1和圖2所示,該方法包括如下步驟:
[0034] 步驟101、獲取初始業(yè)務(wù)實體元數(shù)據(jù);
[0035] 初始業(yè)務(wù)實體元數(shù)據(jù)至少包括:業(yè)務(wù)實體的表名、業(yè)務(wù)實體的顯示標簽、業(yè)務(wù)實體 的屬性列名、業(yè)務(wù)實體的數(shù)據(jù)類型、業(yè)務(wù)實體的索引列標識和業(yè)務(wù)實體的屬性顯示標簽。
[0036] 步驟102、定制階段,在所述初始業(yè)務(wù)實體元數(shù)據(jù)上擴展業(yè)務(wù)屬性,對所述業(yè)務(wù)屬 性定義業(yè)務(wù)實體和顯示標簽,生成滿足多租戶需求的特定業(yè)務(wù)實體元數(shù)據(jù)。
[0037] 所述初始業(yè)務(wù)實體元數(shù)據(jù)和所述特定業(yè)務(wù)實體元數(shù)據(jù)均至少包括:業(yè)務(wù)實體的表 名、業(yè)務(wù)實體的顯示標簽、業(yè)務(wù)實體的屬性列名、業(yè)務(wù)實體的數(shù)據(jù)類型、業(yè)務(wù)實體的索引列 標識和業(yè)務(wù)實體的屬性顯不標簽。
[0038] 具體地,運營支撐平臺部署前,根據(jù)各模塊業(yè)務(wù)需求制定各模塊初始業(yè)務(wù)實體元 數(shù)據(jù),并根據(jù)初始業(yè)務(wù)元數(shù)據(jù)創(chuàng)建Key-Value數(shù)據(jù)庫庫表,例如,其中業(yè)務(wù)元數(shù)據(jù)結(jié)構(gòu)主要 如表1所示:
[0039] 表1業(yè)務(wù)元數(shù)據(jù)結(jié)構(gòu)表
[0040]

【權(quán)利要求】
1. 一種基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,其特征在于,所述方法包括: 獲取初始業(yè)務(wù)實體元數(shù)據(jù); 定制階段,在所述初始業(yè)務(wù)實體元數(shù)據(jù)上擴展業(yè)務(wù)屬性,對所述業(yè)務(wù)屬性定義業(yè)務(wù)實 體和顯示標簽,生成滿足多租戶需求的特定業(yè)務(wù)實體元數(shù)據(jù); 生成實例階段,根據(jù)所述特定業(yè)務(wù)實體元數(shù)據(jù),創(chuàng)建鍵-值Key-Value數(shù)據(jù)庫; 實例運行階段,W租戶標識作為RowKey前綴插入到Key-Value數(shù)據(jù)庫的業(yè)務(wù)實體數(shù) 據(jù),通過所述租戶標識生成RowKey的查詢范圍查詢業(yè)務(wù)實體數(shù)據(jù),在所述查詢范圍內(nèi)從所 述Key-Value數(shù)據(jù)庫中取出業(yè)務(wù)實體數(shù)據(jù),按照所述特定業(yè)務(wù)實體元數(shù)據(jù)生成交互界面, W便將所述業(yè)務(wù)實體數(shù)據(jù)展示。
2.根據(jù)權(quán)利要求1所述的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,其特征在于,所述初始 業(yè)務(wù)實體元數(shù)據(jù)和所述特定業(yè)務(wù)實體元數(shù)據(jù)均至少包括:業(yè)務(wù)實體的表名、業(yè)務(wù)實體的顯 示標簽、業(yè)務(wù)實體的屬性列名、業(yè)務(wù)實體的數(shù)據(jù)類型、業(yè)務(wù)實體的索引列標識和業(yè)務(wù)實體的 屬性顯不t不簽。
3. 根據(jù)權(quán)利要求1所述的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,其特征在于,在所述生 成實例階段中,所述方法還包括: 所有租戶共享一個所述Key-Value數(shù)據(jù)庫,所述初始業(yè)務(wù)實體元數(shù)據(jù)對應(yīng)的列為所有 租戶共享。
4. 根據(jù)權(quán)利要求3所述的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,其特征在于,在所述生 成實例階段中,所述方法還包括: 所述擴展業(yè)務(wù)屬性用于滿足所述租戶的不同業(yè)務(wù)需求,并且同時生成與新增的業(yè)務(wù)屬 性對應(yīng)的擴展列,所述的擴展列僅對所述租戶可見。
5. 根據(jù)權(quán)利要求1所述的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,其特征在于,所述W租 戶標識作為RowKey前綴插入到Key-Value數(shù)據(jù)庫的業(yè)務(wù)實體數(shù)據(jù)具體還包括:采用所述租 戶的標識+所述業(yè)務(wù)實體的表名作為所述業(yè)務(wù)實體數(shù)據(jù)的RowKey前綴。
6.根據(jù)權(quán)利要求1所述的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,其特征在于,所述通 過所述租戶標識生成RowKey的查詢范圍查詢業(yè)務(wù)實體數(shù)據(jù)具體包括;查詢所述Key-Value 數(shù)據(jù)庫,根據(jù)所述租戶的標識和所述業(yè)務(wù)實體的表名設(shè)定查詢范圍,在所述設(shè)定的查詢范 圍內(nèi),根據(jù)用戶設(shè)定的查詢條件進行查詢獲取所述業(yè)務(wù)實體數(shù)據(jù)。
7. 根據(jù)權(quán)利要求6所述的基于鍵-值數(shù)據(jù)庫的多租戶擴展方法,其特征在于,所述按照 所述特定業(yè)務(wù)實體元數(shù)據(jù)生成交互界面具體包括: 根據(jù)所述租戶的標識獲取所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù); 根據(jù)所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù)的索引列信息和數(shù)據(jù)類型生成查詢項; 根據(jù)所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù)中的顯示標簽和業(yè)務(wù)實體數(shù)據(jù)顯示查詢結(jié)果; 根據(jù)所述租戶的特定業(yè)務(wù)實體元數(shù)據(jù)的業(yè)務(wù)實體的顯示標簽、業(yè)務(wù)實體的屬性顯示標 簽和業(yè)務(wù)實體的數(shù)據(jù)類型生成新建頁面的新建項。
【文檔編號】G06F17/30GK104462421SQ201410771826
【公開日】2015年3月25日 申請日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】劉磊, 周淵斐, 鄭艷偉, 袁鼎 申請人:中國科學(xué)院聲學(xué)研究所, 北京中科智網(wǎng)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1