<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

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久99九九国产免费看小说| 宅男666在线永久免费观看| 91在线老王精品免费播放| 日韩精品无码区免费专区| 精品亚洲一区二区三区在线播放| 亚洲视频在线观看网站| 真人无码作爱免费视频| 91短视频免费在线观看| 国产亚洲精品激情都市| 成年免费大片黄在线观看com| 可以免费看黄视频的网站| 亚洲国产成人精品青青草原| 人成免费在线视频| 久久亚洲2019中文字幕| 四虎影视无码永久免费| 全部免费毛片免费播放| 亚洲一级高清在线中文字幕| 天黑黑影院在线观看视频高清免费| JLZZJLZZ亚洲乱熟无码| 亚洲狠狠婷婷综合久久蜜芽| 91成人免费观看网站| 亚洲国产综合专区电影在线| 一级毛片高清免费播放| 国产福利免费观看| 亚洲一区二区三区写真| 四虎永久在线精品免费观看视频| 77777午夜亚洲| 久久久久久久久免费看无码| WWW亚洲色大成网络.COM| 四虎成人免费网站在线| 亚洲AV成人一区二区三区在线看 | 日韩欧毛片免费视频| 国产亚洲欧美日韩亚洲中文色| 亚洲日韩在线第一页| 最近中文字幕免费完整| 豆国产96在线|亚洲| 亚洲AV无码精品色午夜果冻不卡 | 亚洲AV无码精品色午夜果冻不卡| 国产成人免费网站| 亚洲一区二区三区无码国产 | 蜜桃视频在线观看免费视频网站WWW |