高清免费视频|成都冻货格|我可以再往深处一点吗视频|舌头伸进去添的我好爽高潮欧美|性都花花世家|无人区卡一卡二卡三乱码网站|草莓看视频在线观看免费

樂思軟件

提交需求|聯系我們|請電400-603-8000

傳統軟件向SaaS軟件轉型方案的研究

    2 SaaS軟件的關鍵技術


    2.1 多租戶模式下的數據存儲


    SaaS軟件與傳統軟件相比,最大不同就是多租戶模式,多個租戶共享同一個軟件實例,租戶的數據既有隔離又有共享。根據多租戶模式的特點,在數據存儲上有3種被選的解決方案。


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


    方案2:共享數據庫。獨立架構,每個租戶共享同一個數據庫,但是對于每個租戶都有一個獨立的數據庫架構與之對應,這意味著各個租戶都有一套不同的數據表結構。當創建一個新租戶時,系統會相應地創建一套默認的表結構,同時與一個獨立的數據庫架構建立關聯關系。可在一個數據庫中存儲多個租戶的數據,與獨立數據庫相比,雖然數據庫的搭建費用降低了,還有一定的數據隔離,但是存在故障時恢復數據困難和數據統計難度。


    方案3:共享數據庫。共享架構,即所有的租戶共享一個數據庫,共用同一套數據表結構。一個數據表存儲了所有租戶的數據信息,通過一個TenantID字段來區分各個租戶的數據。這種方案是共享程度最高,隔離級別最低的數據存儲方式。這種方案又是硬件維護和購買成本最低的,每臺數據庫服務器支持的租戶最多。這種方式非常適用于大規模的中小企業的租戶。因此下面將詳細研究這種方案下的關鍵技術。


    2.2 共享數據庫共享架構的多租戶模式


    (1) 多租戶技術


    多租戶技術是SaaS服務模式區別于傳統模式最本質的區別,達到SaaS模式的成熟度模型的必要條件是解決數據的隔離性,實現多租戶模式。在SaaS模式下建立多租戶,必須在業務表增加一個TenantID字段用來區別每個不同的租戶,保證每個租戶數據的安全。如表1所示。

     多租戶業務表結構

    表1 多租戶業務表結構


    通過TenantID字段來獲得對應租戶的業務數據。當系統用到租戶的業務數據時,需要在每條SQL語句中增加‘TenantID = ?’ 條件進行業務數據操作。


    (2) 數據擴展技術


    為了滿足不同租戶的不同需求,SaaS軟件必須能夠保證對數據可擴展。多租戶模式滿足大規模租戶對數據的個性化需要,最常見的解決方案就是實現擴展數據的可配置。實現數據的可配置有以下3種常見方案。


    方案1:定制字段,就是根據租戶的需要在各租戶共有的數據表上添加相應的定制字段來保存擴展數據。這種方案數據擴展非常簡單但是其擴展性非常有限,當租戶量達到一定數量,表中添加的字段就會非常多,而且每個租戶添加的字段對另外租戶是沒有任何意義的,嚴重破壞了表的結構,有些擴展字段可能為空,浪費了表空間。


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

    預分配字段方案表結構

 

    表2 預分配字段方案表結構

集成系統網絡情報信息數據庫

CIO頻道人物視窗
CIO頻道方案案例庫
大數據建設方案案例庫
電子政務建設方案案例庫
互聯集成系統構建方案案例庫
商務智能建設方案案例庫
系統集成類軟件信息研發企業名錄