国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析基于SaaS架構(gòu)的多租戶技術(shù)

2013-08-20 04:58:44李森
電子設(shè)計(jì)工程 2013年20期
關(guān)鍵詞:主鍵租戶數(shù)據(jù)表

李森

(北京工業(yè)大學(xué) 北京 100124)

長(zhǎng)期以來,IT行業(yè)以降低企業(yè)信息化成本作為首要任務(wù),尋求一種創(chuàng)新的軟件應(yīng)用及服務(wù)模式。SaaS作為一種新興的軟件服務(wù)模式,為企業(yè)提供信息化所需要的網(wǎng)絡(luò)基礎(chǔ)設(shè)施及軟硬件運(yùn)作平臺(tái),并負(fù)責(zé)所有前期實(shí)施和后期的維護(hù)服務(wù)工作。實(shí)踐證明,SaaS模式軟件是一種按需使用,按需付費(fèi)的創(chuàng)新商業(yè)模式,在大幅降低企業(yè)軟件構(gòu)建成本的同時(shí),更使得軟件使用者可以按需以租用方式進(jìn)行軟件的個(gè)性化部署,進(jìn)而幫助企業(yè)更好的迎接全球化時(shí)代在信息化建設(shè)方面所面臨的時(shí)間、效能與成本挑戰(zhàn)。

1 Saas發(fā)展現(xiàn)狀

SaaS模式,以Multi-Tenant模式提供軟件的租用服務(wù),無需將軟件產(chǎn)品安裝部署在本地,而是按照某種服務(wù)水平協(xié)議直接通過網(wǎng)絡(luò)向?qū)iT的服務(wù)提供商獲取自己所需要的、帶有相應(yīng)軟件功能的服務(wù)。對(duì)于最終用戶來說,和傳統(tǒng)軟件模式相比,SaaS具有更低的建設(shè)成本、更低的維護(hù)成本、更低的應(yīng)用門檻,以及更低的應(yīng)用風(fēng)險(xiǎn)等4大特點(diǎn)[1]。

在國(guó)外,SaaS應(yīng)用服務(wù)起步早,例如專注于CRM應(yīng)用領(lǐng)域的salesforce公司,提供一系列在線的CRM應(yīng)用軟件。Google公司則以其核心的搜索引擎業(yè)務(wù)為基礎(chǔ),依靠個(gè)性搜索和Gmail等產(chǎn)品積累大量客戶,并推出了相關(guān)的在線辦公軟件。

在國(guó)內(nèi),所以隨著國(guó)外SaaS軟件進(jìn)軍中國(guó)市場(chǎng),國(guó)內(nèi)的很多軟件商也開始調(diào)整了自身戰(zhàn)略,投身其中;八百客的成立以及其隨后推出的SOOCRM則正式標(biāo)志著SaaS軟件應(yīng)用在中國(guó)的開始。Alisoft公司、Xtools公司等也相繼推出了SaaS應(yīng)用軟件。

2 SaaS服務(wù)模式及相關(guān)概念

2.1 SaaS基本概念

SaaS指由軟件服務(wù)提供商提供企業(yè)搭建信息化所需的網(wǎng)絡(luò)基礎(chǔ)設(shè)施以及軟硬件運(yùn)作平臺(tái),并負(fù)責(zé)所有前期的實(shí)施,以及租戶使用過程中軟件的升級(jí)與維護(hù)等一系列的服務(wù),幫助租用服務(wù)的企業(yè)通過互聯(lián)網(wǎng)使用信息管理系統(tǒng),對(duì)企業(yè)日常事務(wù)進(jìn)行有效地管理。在SaaS模式下,將應(yīng)用軟件統(tǒng)一部署到自己的服務(wù)器上,租戶按需付費(fèi),獲得在線的服務(wù)。SaaS模式使軟件部署為全部托管,通過互聯(lián)網(wǎng)存取的模式,同時(shí)向眾多租戶提供服務(wù)。

2.2 多租戶概念及模型

多租戶是指多個(gè)企業(yè)租戶(Tenant)共享同一個(gè)應(yīng)用實(shí)例[2]。以服務(wù)的形式將軟硬件資源,運(yùn)營(yíng)管理維護(hù)資源提供給多個(gè)企業(yè)租戶之間復(fù)用,從而有效降低SaaS應(yīng)用的成本。

根據(jù)SaaS服務(wù)應(yīng)用模式是否具有可配置性、高性能以及可伸縮性的特性,SaaS成熟度模型被分成了4個(gè)等級(jí),通常被稱為“成熟度”。其中,每一級(jí)都比前一級(jí)增加以上3種特性中的一種[3-4]。如圖所示。

圖1 SaaS模式下的四級(jí)成熟對(duì)比Fig.1 List of level 1-4 SaaS mode

圖2 SaaS四級(jí)成熟度模型Fig.2 SaaS maturity model

第1級(jí)[5](Level_1)定制開發(fā)與傳統(tǒng)的項(xiàng)目型軟件開發(fā)或軟件外包沒有什么兩樣,即為每一個(gè)客戶進(jìn)行單獨(dú)的開發(fā)和設(shè)計(jì)。第2級(jí)(Level_2)可配置指性是指針對(duì)不同客戶的需求,通過不同的配置來滿足,無需針對(duì)每個(gè)用戶進(jìn)行單獨(dú)開發(fā)與設(shè)計(jì),降低成本,一次開發(fā)多次部署。第3級(jí)(Level_3)高性能的多租戶架構(gòu)指通過一定的策略來保證不同租戶間的數(shù)據(jù)隔離,確保不同租戶既能共享同一個(gè)應(yīng)用的運(yùn)行實(shí)例,又能為用戶提供獨(dú)立的應(yīng)用體驗(yàn)和數(shù)據(jù)空間,它的軟件部署是多個(gè)租戶共用一個(gè)運(yùn)行實(shí)例,通過配置來滿足不同租戶間的個(gè)性化需求。第4級(jí)(Level_4)具備可伸縮的高性能多租戶架構(gòu)指在用戶數(shù)量大量增加的情況下,無需更改應(yīng)用架構(gòu),而僅需簡(jiǎn)單增加應(yīng)用設(shè)備的數(shù)量,就可以支撐應(yīng)用規(guī)模的增長(zhǎng);通過增加一個(gè)中間調(diào)度層,將租戶分配到各個(gè)運(yùn)行實(shí)例上,使用多個(gè)運(yùn)行實(shí)例來分擔(dān)大量的租戶訪問。

3 關(guān)鍵技術(shù)及實(shí)現(xiàn)

3.1 多租戶技術(shù)

多租戶是SaaS服務(wù)模式區(qū)別傳統(tǒng)軟件模式最本質(zhì)的區(qū)別,而要達(dá)到SaaS成熟度模型的Level_3級(jí)要求,其核心需要解決的就是數(shù)據(jù)隔離的問題,即如何實(shí)現(xiàn)多租戶模式[6]。在傳統(tǒng)軟件開發(fā)模式中,只是針對(duì)于一個(gè)用戶的模式開發(fā),不會(huì)涉及到用戶間數(shù)據(jù)的混亂。在SaaS服務(wù)模式系統(tǒng)中建立多租戶模式時(shí),必須要在每個(gè)業(yè)務(wù)表上增加TENANTID或者COMPANYNO字段,用來區(qū)分各租戶之間的數(shù)據(jù)信息,實(shí)現(xiàn)各個(gè)租戶之間的數(shù)據(jù)隔離,保證各租戶之間的隱私。

圖3 多租戶表Fig.3 Multi-tenant table

TENANTID字段是傳統(tǒng)軟件模式所沒有的字段,用來區(qū)分SaaS服務(wù)模式系統(tǒng)中其他租戶的數(shù)據(jù)信息。?當(dāng)租戶需要對(duì)自己的業(yè)務(wù)數(shù)據(jù)進(jìn)行操作的時(shí)候,通過TENANTID來搜索自己的業(yè)務(wù)數(shù)據(jù),在使用SQL語句時(shí),每條都要在條件語句中增加TENANTID=‘?’語句進(jìn)行租戶數(shù)據(jù)區(qū)分,防止讀取到其他租戶的數(shù)據(jù)信息。

3.2 數(shù)據(jù)擴(kuò)展技術(shù)

對(duì)于不同的租戶而言,每個(gè)租戶在使用系統(tǒng)時(shí),信息的存儲(chǔ)名稱和信息包含的內(nèi)容各不相同。傳統(tǒng)軟件模式下,通過直接擴(kuò)展表、擴(kuò)展字段來實(shí)現(xiàn)數(shù)據(jù)模型的擴(kuò)展,而在多租戶模式下,不同租戶可能有不同的數(shù)據(jù)模型擴(kuò)展需求,在同一個(gè)數(shù)據(jù)表結(jié)構(gòu)中使用直接擴(kuò)展表、擴(kuò)展字段的方法簡(jiǎn)單的合并不同租戶對(duì)于特定業(yè)務(wù)的數(shù)據(jù)需求,會(huì)造成資源浪費(fèi),甚至?xí)?yán)重破壞表的原有結(jié)構(gòu)。

所以在多租戶模式下對(duì)數(shù)據(jù)進(jìn)行擴(kuò)展時(shí),需要在系統(tǒng)中單獨(dú)建立多租戶管理表、字段配置表以及數(shù)據(jù)業(yè)務(wù)擴(kuò)展表,通過三表的有效結(jié)合降低因不同租戶間不同擴(kuò)展需求造成的資源浪費(fèi)以及業(yè)務(wù)表結(jié)構(gòu)的破壞。

當(dāng)進(jìn)行不同租戶間不同需求字段擴(kuò)展時(shí),在擴(kuò)展數(shù)據(jù)表中將業(yè)務(wù)數(shù)據(jù)表的橫向擴(kuò)展列轉(zhuǎn)化成縱向的數(shù)據(jù)集,將每一條原數(shù)據(jù)記錄的每一個(gè)擴(kuò)展字段,都保存成一條擴(kuò)展數(shù)據(jù)行。將數(shù)據(jù)表中的數(shù)據(jù)記錄與配置數(shù)據(jù)表中的配置記錄關(guān)聯(lián),構(gòu)成擴(kuò)展數(shù)據(jù)記錄。

1)業(yè)務(wù)數(shù)據(jù)表中主要存儲(chǔ)的是租戶中相應(yīng)的業(yè)務(wù)數(shù)據(jù)。

2)數(shù)據(jù)擴(kuò)展表中主要存儲(chǔ)了租戶的擴(kuò)展數(shù)據(jù)對(duì)應(yīng)值。TABLE:擴(kuò)展數(shù)據(jù)所對(duì)應(yīng)的業(yè)務(wù)表,DATA_NO:數(shù)據(jù)編號(hào),CONF_NO:擴(kuò)展編號(hào),EXT_VALUE:租戶擴(kuò)展數(shù)據(jù)值。

3)配置表中主要存儲(chǔ)租戶需要擴(kuò)展數(shù)據(jù)的字段名稱以及其存儲(chǔ)類型。CONF_NO:擴(kuò)展編號(hào),TENANTID:租戶編號(hào),TABLE:擴(kuò)展數(shù)據(jù)所對(duì)應(yīng)的業(yè)務(wù)表,CONTENT:擴(kuò)展數(shù)據(jù)的內(nèi)容,TYPE:擴(kuò)展數(shù)據(jù)的擴(kuò)展類型。其中CONF_NO和TENANTID構(gòu)成了配置表中的主鍵。在配置數(shù)據(jù)表中所配置的擴(kuò)展數(shù)據(jù)與相應(yīng)業(yè)務(wù)表中的租戶TENANTID是相互對(duì)應(yīng)的。數(shù)據(jù)擴(kuò)展表中的DATA_NO與其相應(yīng)業(yè)務(wù)數(shù)據(jù)表中的ID主鍵是相對(duì)應(yīng)的。

數(shù)據(jù)擴(kuò)展表的 CONF_NO與配置數(shù)據(jù)表中的擴(kuò)展編號(hào)又是相對(duì)應(yīng)的,并與租戶配置的擴(kuò)展數(shù)據(jù)項(xiàng)個(gè)數(shù)相對(duì)應(yīng),租戶的每條業(yè)務(wù)擴(kuò)展數(shù)據(jù)都會(huì)對(duì)應(yīng)相應(yīng)個(gè)數(shù)的擴(kuò)展數(shù)據(jù)。

3.3 配置性技術(shù)

SaaS服務(wù)模式應(yīng)用強(qiáng)調(diào)的“按需使用,按需付費(fèi)”,就是多租戶SaaS服務(wù)模式應(yīng)用要能夠支持讓租戶有選擇地購(gòu)買自己需要的功能,不同的租戶可以同時(shí)使用不同的功能集合,來解決不同的租戶需求不完全重合的問題,?更大程度降低適應(yīng)來自不同租戶間的功能需求差異。

圖4 數(shù)據(jù)擴(kuò)展圖Fig.4 Data extend table

“按需使用,按需付費(fèi)”的另一個(gè)含義是同一個(gè)租戶在不同時(shí)期,可能會(huì)有不同的需要,可以選擇不同的功能集合,并為之付費(fèi)。

實(shí)現(xiàn)功能可配置,需將整個(gè)系統(tǒng)的功能分解成一個(gè)個(gè)基本的、相對(duì)獨(dú)立、互不重疊的原子功能,當(dāng)所有的原子功能疊加起來,就是整個(gè)應(yīng)用所提供的全部功能。根據(jù)租戶的類型和系統(tǒng)的業(yè)務(wù)邏輯,綜合考慮租戶的使用場(chǎng)景和使用習(xí)慣,再將原子功能進(jìn)行組合,劃分成不同的功能模式,用戶根據(jù)需要進(jìn)行相應(yīng)功能模式的選擇。

1)租戶表中主要存儲(chǔ)租戶的相關(guān)信息。CO_NO:租戶所屬于的行業(yè)編號(hào),?TENANTID:租戶編號(hào),USER_ID:租戶的系統(tǒng)登錄賬號(hào),USER_NAME:租戶名,PSSWORD:租戶系統(tǒng)登錄密碼,PATTERN_NO:租戶使用系統(tǒng)包括的功能模式編號(hào),PATTERN_TYPE:租戶所屬于系統(tǒng)使用范疇。其中CO_NO、TENANTID構(gòu)成租戶表的主鍵。租戶表是用來對(duì)租戶登錄信息的檢索驗(yàn)證,并檢索租戶所使用的功能模式。?

2)功能表中主要存儲(chǔ)將系統(tǒng)拆分都的原子功能的相關(guān)信息。MENU_NO:原子功能編號(hào),MENU_TYPE:原子功能分類,MENU_NAME:原子功能詳細(xì)描述標(biāo)簽名。

其中MENUNO是表的主鍵。功能表保證了功能編號(hào)的唯一性,并作為系統(tǒng)內(nèi)使用該功能的唯一標(biāo)識(shí)。

圖5 配置圖Fig.5 Configuration table

3)模式表中主要存儲(chǔ)了相關(guān)功能模式信息。PATTER_NO:系統(tǒng)包含的所有功能模式編號(hào),MENU_NO:功能模式所包括的原子功能編號(hào)。其中PATTERN_NO、?MENU_NO構(gòu)成模式表的主鍵。模式表定義了所有功能模式所包括的全部原子功能保證了整個(gè)系統(tǒng)的功能完整性。在租戶初次使用時(shí)可以起到功能選擇的向?qū)ё饔谩?/p>

4)租戶模式功能表中主要存儲(chǔ)了租戶功能的相關(guān)信息。TENANTID:租戶編號(hào),MENU_NO:租戶使用系統(tǒng)中所包含的原子功能編號(hào)。其中TENANTID、MENU_NO構(gòu)成了租戶模式功能表的主鍵。租戶模式功能表定義并存儲(chǔ)了各個(gè)租戶對(duì)系統(tǒng)功能的配置信息。在租戶初次使用以后直接通過租戶模式功能表進(jìn)行租戶所有功能的查詢。在租戶使用時(shí),根據(jù)功能模式進(jìn)行租戶功能劃分,在功能配置后則根據(jù)租戶功能進(jìn)行系統(tǒng)顯示。同時(shí),將配置表分成四級(jí)結(jié)構(gòu),有效的減少了表之間的關(guān)聯(lián),?可根據(jù)不同的內(nèi)容進(jìn)行單表查詢,同時(shí)也并未降低各表間的關(guān)聯(lián)度。

4 結(jié)束語

本文從軟件發(fā)展的角度出發(fā),描述了SaaS的由來和發(fā)展歷史,對(duì)比分析了同傳統(tǒng)的軟件模式的區(qū)別。同時(shí)提出了基于SaaS的第三級(jí)成熟度模型的數(shù)據(jù)庫設(shè)計(jì)思想和實(shí)現(xiàn)方法。并對(duì)SaaS模式下的多租戶技術(shù),數(shù)據(jù)擴(kuò)展技術(shù)和數(shù)據(jù)配置技術(shù)進(jìn)行了分析和闡述。

[1]方東.SaaS與中國(guó)小企業(yè)信息化[J].科技信息:科學(xué)教研,2007,14(1):15-18.

FANG Dong.Saas and medium-sized enterprise informatization in China[J].Science and Technology Information:Scientific Research,2007,14(1):15-18.

[2]Chong F,Carraro G.Arehiteeture strategies for catehingthelong tail[R].USA,MierosoftCorPoration,2006.

[3]葉偉.互聯(lián)網(wǎng)時(shí)代的軟件革命SaaS架構(gòu)設(shè)計(jì) [M].北京:電子工業(yè)出版社,2009.

[4]李鵬.基于SaaS模式的客戶管理系統(tǒng)的研究[D].山東:山東大學(xué),2009.

[5]趙倪光.基于SaaS模式的數(shù)字版權(quán)交易網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2011.

[6]昌中作.基于SaaS模式的公共物流服務(wù)平臺(tái)關(guān)鍵技術(shù)的研究[D].北京:北京交通大學(xué),2007.

猜你喜歡
主鍵租戶數(shù)據(jù)表
基于Go 實(shí)現(xiàn)的分布式主鍵系統(tǒng)研究
湖北省新冠肺炎疫情數(shù)據(jù)表
黨員生活(2020年2期)2020-04-17 09:56:30
基于外鍵的E-R圖繪制方法研究
基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
基于MVC模式的多租戶portlet應(yīng)用研究*
圖表
租戶是大爺
特別文摘(2014年17期)2014-09-18 01:31:21
企業(yè)多租戶云存儲(chǔ)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
基于VSL的動(dòng)態(tài)數(shù)據(jù)表應(yīng)用研究
河南科技(2014年24期)2014-02-27 14:19:25
SaaS模式下多租戶數(shù)據(jù)比較存儲(chǔ)模式研究
如东县| 湘阴县| 和林格尔县| 揭西县| 贡觉县| 防城港市| 平江县| 阳曲县| 林州市| 来安县| 平武县| 盐山县| 永兴县| 宜君县| 彩票| 玉田县| 香港 | 天台县| 博乐市| 静乐县| 武穴市| 建始县| 望江县| 伊春市| 鄂温| 泸定县| 佛山市| 通州市| 西和县| 南乐县| 台东市| 汶川县| 祁门县| 湘阴县| 岗巴县| 河北省| 贵州省| 若尔盖县| 贡山| 西畴县| 郧西县|