<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 297,  comments - 1618,  trackbacks - 0

    應用系統的SaaS化的方案討論

    /阿蜜果

    日期/2012-11-26

    1SaaS的概念

    SaaSSoftware-as-a-service軟件即服務)的簡稱。SaaS在業內的叫法是軟件運營,或稱軟營。是一種基于互聯網提供軟件服務的應用模式。一種隨著互聯網技術的發展和應用軟件的成熟,在21世紀開始興起的完全創新的軟件應用模式,是軟件科技發展的最新趨勢。

    企業根據實際需要,向SaaS提供商租賃軟件服務。 SaaS 是一種軟件布局模型,其應用專為網絡交付而設計,便于用戶通過互聯網托管、部署及接入。 SaaS 應用軟件的價格通常為全包費用,囊括了通常的應用軟件許可證費、軟件維護費以及技術支持費,將其統一為每個用戶的月度租用費。

    2、應用系統的SaaS

    2.1 概述

             近來有個應用系統需要實現SaaS化,而且時間進度要求很緊,于是乎,幾個同事一起想實現應用系統SaaS化的簡便方案,這個方案需要滿足以下兩個條件:

    1)實現每個租戶的業務數據信息的隔離(用戶表、業務信息表等);

    2)涉及到原系統的代碼改動盡可能的少。

    通過網上查詢資料以及討論,我想出使用第二種方式實現,但上司提出了第三種方式,提出來后,我汗顏了,雖然可能涉及到的代碼改動差不多,但在對表的管理上方便很多,看來跟他差得還不是一點半點呀!

    2.2 SaaS化的方案

    2.2.1 每個租戶一個獨立數據庫

    優點:不同租戶(一般指企業客戶)的數據物理分離,安全性很好。

    缺點:數據庫連接的利用效率不高,性能問題會很大。

             系統將借由元數據(Metadata)來記錄哪一個數據庫屬于哪一個特定客戶,與此同時也可以部署一定的數據庫訪問策略來確保即使系統處于異常狀況下,客戶數據也不會被其它客戶意外訪問到。但是,這種數據模型的最大問題是對應的部署和維護成本非常高,硬件資源的消耗將明顯高于其它兩種方案,一臺服務器將只能支持有限數量的客戶。

    2.2.2 租戶使用同一數據庫,但使用不同的表

             方案描述:應用系統的所有租戶使用相同的數據庫,但每個租戶的業務表是不同的,例如以唯一的租戶ID添加為表名前綴或后綴。

    在應用系統改造時,需要進行如下操作:

    1)在注冊租戶時,需要將所有與該租戶有關的表都建上,表名帶上租戶前綴或后綴;

    2)在對業務表進行操作的方法中,需要將租戶ID傳入,iBatisHibernate中都可以實現數據庫分表(動態表名映射),具體可參考iBatisHibernate數據庫分表(動態表名映射的實現方法,大家有興趣的話,可以按照這篇文章所說的,嘗試著實現一下。

    優點:相對比較容易實現,而且從數據擴展性而言,這種解決方案和獨立數據庫一樣,客戶可以相對自由地對其中的數據結構進行新增和修改。

    缺點:這種客戶獨立模式的方式比較適合應用在每個客戶擁有比較少的表數量的情況下,比如每個客戶只有100張表或更少。這種方式毫無疑問可以在每臺服務器上支持比獨立數據庫方式更多的客戶數量,減低了服務供應商的運營成本。

    2.2.3 租戶使用同一數據庫,有自己的數據庫用戶,各租戶表名相同,使用超級用戶訪問

    方案描述:應用系統的所有租戶使用相同的數據庫,但是使用數據庫超級管理員登錄,以前綴訪問不同的數據庫用戶的表,例如a.tbl_user_infob.tbl_user_info的表。

    在應用系統改造時,需要進行如下操作:

    1)在注冊租戶時,以數據庫超級管理員的身份創建數據庫用戶(例如ab等,并建立租戶與數據庫用戶之間的對應關系),并為該數據庫用戶建立所有與該租戶有關的表(例如tbl_user_infotbl_file_info等);

    2)在對業務表進行操作的方法中,需要將租戶ID傳入,iBatisHibernate中都可以實現數據庫分表(動態表名映射),具體可參考iBatisHibernate數據庫分表(動態表名映射的實現方法,這跟第2種方案是很相似的。

    這種方案的優缺點與第二種方案類似,但是卻多了一個很明顯的優點:表管理比較方便,使用租戶的數據庫用戶登錄時,只會看到與該租戶有關的表,所以該方案明顯好于第2種方式。

    路漫漫其修遠兮,吾將上下而求索。與想到第3種方案的同事差得還不是一點半點呢!

    3、參考文檔

    1SaaS模式_百度百科http://baike.baidu.com/view/2796435.htm

    2SaaS模式下數據擴展性的設計與實現

    http://cio.ccw.com.cn/hydt/htm2011/20110810_942292.shtml

    3iBatisHibernate數據庫分表(動態表名映射的實現方法

    http://lamblog.blog.163.com/blog/static/200724238201271383032932/

    posted on 2012-11-26 16:03 阿蜜果 閱讀(3766) 評論(0)  編輯  收藏 所屬分類: 解決方案
    <2012年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

          生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
          我的作品:
          玩轉Axure RP  (2015年12月出版)
          

          Power Designer系統分析與建模實戰  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關注blog

    積分與排名

    • 積分 - 2294296
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人精品日本亚洲专一区| 国产免费久久精品丫丫| 在线观看日本亚洲一区| 理论亚洲区美一区二区三区| 特级毛片爽www免费版| 黄色免费在线网站| 67194成是人免费无码| 内射无码专区久久亚洲| 久久久综合亚洲色一区二区三区| 亚洲大片免费观看| 特级毛片A级毛片免费播放| 国产高清不卡免费视频| 成在人线AV无码免费| AV在线播放日韩亚洲欧| 亚洲国色天香视频| 一级毛片a免费播放王色电影| 久久精品电影免费动漫| 国产乱子伦片免费观看中字| 亚洲av无码不卡一区二区三区| 亚洲av无码电影网| 成人A片产无码免费视频在线观看| 成年女人毛片免费播放人| 国产亚洲一区二区三区在线观看| 亚洲国产乱码最新视频| 久久久久久国产精品免费免费男同 | 亚洲AV天天做在线观看| 国产成人亚洲精品| 在线观看免费无码视频| 日韩免费毛片视频| 久久狠狠高潮亚洲精品| 一级毛片免费视频网站| 久久这里只有精品国产免费10| 亚洲中文字幕久久精品无码喷水| 中文字幕精品三区无码亚洲| 精品免费tv久久久久久久| 亚洲av麻豆aⅴ无码电影| 中文无码亚洲精品字幕| 亚洲免费观看在线视频| 亚洲高清国产拍精品26U| 一级毛片不卡免费看老司机| 男女交性永久免费视频播放|