<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

    1、SaaS的概念

    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)在注冊租戶時,以數據庫超級管理員的身份創建數據庫用戶(例如a、b等,并建立租戶與數據庫用戶之間的對應關系),并為該數據庫用戶建立所有與該租戶有關的表(例如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

    積分與排名

    • 積分 - 2294512
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级一黄在线观看视频免费| 久久免费视频观看| 国产精品亚洲片在线| 十八禁无码免费网站| 久久精品国产亚洲av品善| 亚洲国产精品无码久久SM| 成人免费黄色网址| 一区二区三区免费电影| 亚洲AV成人噜噜无码网站| 亚洲精品视频在线观看你懂的| 最近免费中文字幕高清大全| 99亚洲精品卡2卡三卡4卡2卡| 亚洲AV无码一区二区二三区入口| 嫩草视频在线免费观看| 四虎影视无码永久免费| 亚洲成a人片在线不卡一二三区| 亚洲精品国产美女久久久| 免费毛片网站在线观看| 免费A级毛片av无码| 色老头综合免费视频| 亚洲无吗在线视频| 久久久久久亚洲精品| jjzz亚洲亚洲女人| 成人网站免费观看| 亚洲精品视频在线免费| 精品一区二区三区免费视频| 亚洲成AV人片在WWW| 亚洲精品中文字幕无乱码| 久久亚洲国产成人精品无码区| 在线观看特色大片免费视频 | 又黄又大的激情视频在线观看免费视频社区在线 | A国产一区二区免费入口| 亚洲 欧洲 视频 伦小说| 亚洲AV日韩AV天堂一区二区三区| 亚洲av再在线观看| 在线精品免费视频| 韩国免费一级成人毛片| 51在线视频免费观看视频| 久久久精品免费国产四虎| yellow免费网站| 一边摸一边桶一边脱免费视频|