久久亚洲视频-成人av免费在线-亚洲免费大片-www.国产精品.com-又黄又爽又色的视频-精品乱子伦一区二区-无码人妻精品一区二区三区66-欧美一级做-国产在线国偷精品免费看-欧美性极品少妇-精品无码久久久久久久久久

樂思軟件

傳統(tǒng)軟件向SaaS軟件轉(zhuǎn)型方案的研究

    2 SaaS軟件的關(guān)鍵技術(shù)


    2.1 多租戶模式下的數(shù)據(jù)存儲(chǔ)


    SaaS軟件與傳統(tǒng)軟件相比,最大不同就是多租戶模式,多個(gè)租戶共享同一個(gè)軟件實(shí)例,租戶的數(shù)據(jù)既有隔離又有共享。根據(jù)多租戶模式的特點(diǎn),在數(shù)據(jù)存儲(chǔ)上有3種被選的解決方案。


    方案1:獨(dú)立數(shù)據(jù)庫。這種數(shù)據(jù)存儲(chǔ)方案將每個(gè)租戶的數(shù)據(jù)信息單獨(dú)存儲(chǔ)在獨(dú)立的數(shù)據(jù)庫中,是實(shí)現(xiàn)SaaS數(shù)據(jù)隔離最便捷的方式,而且對(duì)一個(gè)租戶數(shù)據(jù)模型的更改不會(huì)影響其他租戶的數(shù)據(jù),安全性好。但是這種方案大大增加了數(shù)據(jù)庫的安裝費(fèi)用,有多少個(gè)租戶就需要搭建多少個(gè)數(shù)據(jù)庫。這種數(shù)據(jù)存儲(chǔ)方案適用于像銀行、醫(yī)院等安全性要求較高的企業(yè),但明顯不適合資金缺乏的中小企業(yè)的使用。


    方案2:共享數(shù)據(jù)庫。獨(dú)立架構(gòu),每個(gè)租戶共享同一個(gè)數(shù)據(jù)庫,但是對(duì)于每個(gè)租戶都有一個(gè)獨(dú)立的數(shù)據(jù)庫架構(gòu)與之對(duì)應(yīng),這意味著各個(gè)租戶都有一套不同的數(shù)據(jù)表結(jié)構(gòu)。當(dāng)創(chuàng)建一個(gè)新租戶時(shí),系統(tǒng)會(huì)相應(yīng)地創(chuàng)建一套默認(rèn)的表結(jié)構(gòu),同時(shí)與一個(gè)獨(dú)立的數(shù)據(jù)庫架構(gòu)建立關(guān)聯(lián)關(guān)系。可在一個(gè)數(shù)據(jù)庫中存儲(chǔ)多個(gè)租戶的數(shù)據(jù),與獨(dú)立數(shù)據(jù)庫相比,雖然數(shù)據(jù)庫的搭建費(fèi)用降低了,還有一定的數(shù)據(jù)隔離,但是存在故障時(shí)恢復(fù)數(shù)據(jù)困難和數(shù)據(jù)統(tǒng)計(jì)難度。


    方案3:共享數(shù)據(jù)庫。共享架構(gòu),即所有的租戶共享一個(gè)數(shù)據(jù)庫,共用同一套數(shù)據(jù)表結(jié)構(gòu)。一個(gè)數(shù)據(jù)表存儲(chǔ)了所有租戶的數(shù)據(jù)信息,通過一個(gè)TenantID字段來區(qū)分各個(gè)租戶的數(shù)據(jù)。這種方案是共享程度最高,隔離級(jí)別最低的數(shù)據(jù)存儲(chǔ)方式。這種方案又是硬件維護(hù)和購買成本最低的,每臺(tái)數(shù)據(jù)庫服務(wù)器支持的租戶最多。這種方式非常適用于大規(guī)模的中小企業(yè)的租戶。因此下面將詳細(xì)研究這種方案下的關(guān)鍵技術(shù)。


    2.2 共享數(shù)據(jù)庫共享架構(gòu)的多租戶模式


    (1) 多租戶技術(shù)


    多租戶技術(shù)是SaaS服務(wù)模式區(qū)別于傳統(tǒng)模式最本質(zhì)的區(qū)別,達(dá)到SaaS模式的成熟度模型的必要條件是解決數(shù)據(jù)的隔離性,實(shí)現(xiàn)多租戶模式。在SaaS模式下建立多租戶,必須在業(yè)務(wù)表增加一個(gè)TenantID字段用來區(qū)別每個(gè)不同的租戶,保證每個(gè)租戶數(shù)據(jù)的安全。如表1所示。

     多租戶業(yè)務(wù)表結(jié)構(gòu)

    表1 多租戶業(yè)務(wù)表結(jié)構(gòu)


    通過TenantID字段來獲得對(duì)應(yīng)租戶的業(yè)務(wù)數(shù)據(jù)。當(dāng)系統(tǒng)用到租戶的業(yè)務(wù)數(shù)據(jù)時(shí),需要在每條SQL語句中增加‘TenantID = ?’ 條件進(jìn)行業(yè)務(wù)數(shù)據(jù)操作。


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


    為了滿足不同租戶的不同需求,SaaS軟件必須能夠保證對(duì)數(shù)據(jù)可擴(kuò)展。多租戶模式滿足大規(guī)模租戶對(duì)數(shù)據(jù)的個(gè)性化需要,最常見的解決方案就是實(shí)現(xiàn)擴(kuò)展數(shù)據(jù)的可配置。實(shí)現(xiàn)數(shù)據(jù)的可配置有以下3種常見方案。


    方案1:定制字段,就是根據(jù)租戶的需要在各租戶共有的數(shù)據(jù)表上添加相應(yīng)的定制字段來保存擴(kuò)展數(shù)據(jù)。這種方案數(shù)據(jù)擴(kuò)展非常簡單但是其擴(kuò)展性非常有限,當(dāng)租戶量達(dá)到一定數(shù)量,表中添加的字段就會(huì)非常多,而且每個(gè)租戶添加的字段對(duì)另外租戶是沒有任何意義的,嚴(yán)重破壞了表的結(jié)構(gòu),有些擴(kuò)展字段可能為空,浪費(fèi)了表空間。


    方案2:預(yù)分配字段,該方法在表格中提供一定數(shù)量的預(yù)設(shè)字段,當(dāng)租戶要擴(kuò)展數(shù)據(jù)時(shí),從表中選取適當(dāng)?shù)念A(yù)設(shè)字段進(jìn)行擴(kuò)展,但是不同租戶選取同一個(gè)預(yù)設(shè)字段的含義可能也不一樣。如表2中TenantID字段區(qū)分每個(gè)租戶,除了一些固定的字段外,還提供了一些預(yù)分配字段,Ext1、Ext2、Ext3就是預(yù)分配的字段,預(yù)分配字段的使用由租戶自己預(yù)定,一般初始為字符串類型,其真實(shí)類型可以采用元數(shù)據(jù)表來進(jìn)行跟蹤。

    預(yù)分配字段方案表結(jié)構(gòu)

 

    表2 預(yù)分配字段方案表結(jié)構(gòu)

集成系統(tǒng)網(wǎng)絡(luò)情報(bào)信息數(shù)據(jù)庫

CIO頻道人物視窗
CIO頻道方案案例庫
大數(shù)據(jù)建設(shè)方案案例庫
電子政務(wù)建設(shè)方案案例庫
互聯(lián)集成系統(tǒng)構(gòu)建方案案例庫
商務(wù)智能建設(shè)方案案例庫
系統(tǒng)集成類軟件信息研發(fā)企業(yè)名錄