公務員期刊網(wǎng) 論文中心 正文

多租戶網(wǎng)站實現(xiàn)方法研究和設計

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了多租戶網(wǎng)站實現(xiàn)方法研究和設計范文,希望能給你帶來靈感和參考,敬請閱讀。

多租戶網(wǎng)站實現(xiàn)方法研究和設計

摘要:本文根據(jù)J2EE多層架構的Web開發(fā)框架,同時結合多租戶SaaS原理以及元數(shù)據(jù)思想,構建了一個多租戶網(wǎng)站架構。其通過單一網(wǎng)站實例,利用簡單的配置,可以及時部署和資源再利用等相關優(yōu)勢,最終有效節(jié)約社會資源。

關鍵詞:多租戶網(wǎng)站;實現(xiàn)方法;Web開發(fā)

現(xiàn)如今,網(wǎng)站建設大部分采取B/S架構以及信息發(fā)布,特別是相同行業(yè)當中的網(wǎng)站,如,在教育系統(tǒng)里面的中小學網(wǎng)站當中,不管是相關技術需求或業(yè)務流程等方面伴有相對比較多相同的地方,大致上均是利用靜態(tài)網(wǎng)頁、動態(tài)網(wǎng)頁等相關組成,并且整個布局結構相似度相對較高,利用之前單個用戶制定的模式,可以重復利用性相對較差,造成這一系統(tǒng)建設需要加大投資力度,造成成本相對較高等相關問題。如果想要將多租戶共享網(wǎng)站架構給予妥善處理,本文筆者采取一種多租戶的網(wǎng)站框架予以實現(xiàn),其通過單一網(wǎng)站實例,利用簡單的配置,可以及時部署和資源再利用等相關優(yōu)勢,最終有效節(jié)約社會資源。

1多租戶網(wǎng)站結構

1.1系統(tǒng)架構

本文筆者所設計的是根據(jù)J2EE多層架構的Web開發(fā)框架,同時結合多租戶SaaS原理以及元數(shù)據(jù)思想,構建的一個多租戶網(wǎng)站架構。

1.2多租戶網(wǎng)站工作原理

這一框架主要是按照J2EE模型當中的分層思想,其中包括三個層次,能夠充分進行擴張。另外,應用服務器層一般為Web和EJB這兩種容器,前者主要是能夠返回到動態(tài)的頁面,其中包括JSP以及Struts兩個組件。后者可以將業(yè)務邏輯予以實現(xiàn),并且利用Bean完成整個映射(O/R),對多租戶當中的數(shù)據(jù)給予增加或者刪減,并且由于其主要是根據(jù)相關對象的想法,需要在操作方面進行簡單封裝,所以,其接口予以簡化,使這一系統(tǒng)具有靈活性以及擴展性。多租戶組合網(wǎng)站管理系統(tǒng)為了保證能夠有效區(qū)分不同類型組合的租戶數(shù)據(jù)庫就需要在多個數(shù)據(jù)庫列表當中同時增添id等字段,就需要與常規(guī)單一用戶網(wǎng)站有著較大的差異。除此之外,當租戶在需要重新進行網(wǎng)站修改以及需要構建一個網(wǎng)站的時候,如查閱網(wǎng)站文章以及需要添加網(wǎng)站欄目等均必須在網(wǎng)站有關的語句當中一并增加了ID這個唯一性的標識,進而將不同時期租戶當中的不同數(shù)據(jù)來源給予有效的隔離,以免發(fā)生泄漏。多媒體租戶服務網(wǎng)站當中的可配置性數(shù)據(jù)是通過利用具有結合統(tǒng)一數(shù)據(jù)模型以及結合元數(shù)據(jù)結構模型技術予以結合實現(xiàn),同時讓整個系統(tǒng)當中的基本應用數(shù)據(jù)以及其他個性化的擴展應用數(shù)據(jù)分別對其進行整合存儲,不但這樣可以充分滿足不同類型用戶的數(shù)據(jù)個性化需求,并且不會對系統(tǒng)數(shù)據(jù)資料表當中的數(shù)據(jù)結構造成任何的破壞。另外,因為必須要面對功能需求個性化以及大量的租戶。因此,系統(tǒng)需要可以支持租戶具有更多選擇性地自行定制自身所可能需要的網(wǎng)站功能。除此之外,本文當中的多租戶管理網(wǎng)站當今所需要支持的都是個性化功能配置,其中主要包含租戶頁面定制內(nèi)容、模板樣式選擇以及系統(tǒng)菜單等。

2關鍵技術

多租戶網(wǎng)站技術構建與之前網(wǎng)站之當中有非常大的差別,其中包括有以下幾點;(1)各個租戶共享一個應用實例,數(shù)據(jù)當中不但可以共享,同時可以進行隔離。應該怎樣的情況之下保證每一個租戶當中的數(shù)據(jù)給予安全隔離;(2)個性化配置問題;(3)多源數(shù)據(jù)庫訪問。

2.1數(shù)據(jù)隔離與數(shù)據(jù)庫訪問接口設計

其架構設計的關鍵就是對每一個租戶當中這些數(shù)據(jù)的安全隔離,為了我們能夠真正的實現(xiàn)每一個人對租戶當中的所有數(shù)據(jù)信息給予有效性的隔離,本文筆者主要利用在租戶表當中添加字符id值,進而有效隔離區(qū)分各個租戶當中的數(shù)據(jù)信息。除此之外,筆者利用這一種設計方法在租戶表當中重新增添了對租戶當中標識字段的隔離機制,進而將租戶數(shù)據(jù)進行有效分離。多租戶共享網(wǎng)站管理框架主要采取的關系型共享數(shù)據(jù)庫,對每個租戶當中的所有數(shù)據(jù)可以進行共享儲存,從三種儲存模式當中分別選取一種共享型的數(shù)據(jù)庫基礎架構,如表1所示。筆者主要考慮到也許我們會同時伴有多個不同的數(shù)據(jù)源,因此,需要設計一個不同數(shù)據(jù)源的訪問管理組件,被我們稱之為統(tǒng)一數(shù)據(jù)訪問層,在當中封裝以及抽象全部數(shù)據(jù)的增加和刪減改查,采取JDBC,降低每一次連接所需要消耗的時間,本文筆者通過EJB所提供的連接池方式,進而獲得這一效果,例如圖1所示。

2.2可配置性分析

在網(wǎng)站當中需要管理的配置包括有表、頁面以及原子功能等,目前暫時被定義為配置元。通過MDA對相關配置元給予抽象分析,進而將其分解成為常規(guī)數(shù)據(jù)以及元數(shù)據(jù)模型,其中前者顯示不同用戶之間相同的數(shù)據(jù)庫字段,然而后者顯示不同租戶可以改變的字段集合。除此之外,為了能夠真實體現(xiàn)這種可變性,本文筆者對當中的數(shù)據(jù)庫表結構給予相對應的改變,如圖2所示。元數(shù)據(jù)塊的區(qū)表當中,租戶對象信息能夠分配一個id字段作為當中的唯一租戶識別數(shù)據(jù)字段,通過這一識別系統(tǒng),我們能夠有效的區(qū)分不同租戶之間的一些數(shù)據(jù)相關信息。除此之外,這一字段據(jù)信息不僅能夠更改一個可變的元數(shù)據(jù)區(qū)的字段,同時能夠利用這一id來準確標識這一字段當中的租戶對象數(shù)據(jù)信息表。如,考慮存放同學信息的數(shù)據(jù)表—--student表,這個當中的表2所顯示的核心字段以及自定義字段,分別被學校A以及學校B所應用。從表2當中能夠看出學校Q自定義S-sex字段,然而學校B自定義為S-age字段,均能夠在系統(tǒng)處在生產(chǎn)環(huán)境。本文筆者假設這里存放的元數(shù)據(jù)模型當中的對象信息表,全部表的入口均是從m-object表開始,程序均會從這一個表當中開始取出相對應student表記錄自定義字段。元數(shù)據(jù)模型當中的租戶對象關聯(lián)表當中存放的數(shù)據(jù)為自定義分類,m-class表能夠作為其之間的中間關系表。元數(shù)據(jù)模型當中的字段信息表里面存在的數(shù)據(jù)為實際的字段名,能夠獲得相對應的某一個租戶當中均需要的自定義字段每一個自定義字段當中的值儲存在m-data表當中,例如,當中的student表當中的101與102的兩條數(shù)據(jù)。為了能夠獲得核心模型與元數(shù)據(jù)模型當中的數(shù)據(jù)集合,必須要利用共同查詢模式,其結果是包含student表當中的schlool-id為101的記錄。

3多租戶網(wǎng)站的運行實例

租戶必須按需要到系統(tǒng)后臺,將系統(tǒng)前臺所提供需要的元素對其進行組合構造。除此之外,現(xiàn)如今,平臺當中所需要提供的包括文章內(nèi)容管理、用戶體驗管理、前臺模板網(wǎng)頁設計模板以及后臺欄目管理等,與此同時,不同的系統(tǒng)租戶平臺能夠按照所提供需要的元素給予前臺模板以及后臺功能等多方面進行選擇。選擇成功以后,當中的租戶可以連接到租戶的網(wǎng)站服務后臺,對網(wǎng)站前臺進行管理,后天維護管理當中的租戶不僅能夠為網(wǎng)站前臺欄目進行添加,例如,jave技術等網(wǎng)站相關欄目,同時租戶能夠為網(wǎng)站前臺進行添加相對應的相關文章。網(wǎng)站后天在構建以后,租戶便能夠?qū)⑶芭_予以開放,并且供瀏覽者應用,瀏覽人員采取租戶所提供的瀏覽網(wǎng)址,在這里就能夠看到網(wǎng)站后天當中添加的欄目和里面的文章等。

4總結

多租戶系統(tǒng)技術就是屬于一種軟件架構設計技術,其目的是在通過探討與設計實現(xiàn)系統(tǒng)應該如何進行應用,并在多用戶的軟件環(huán)境之下可以共享租戶系統(tǒng)或者應用程序中的組件,同時仍然可以能夠真正保證每個不同用戶之間具有數(shù)據(jù)的完全隔離性。通過多租戶系統(tǒng)技術不僅能夠真正保證實現(xiàn)多個不同租戶當中的個人共享系統(tǒng)應用實例,并且還可以真正保證實現(xiàn)每個租戶的共享系統(tǒng)應用實例的完全個性化和可定制。另外,利用多租戶系統(tǒng)技術后還能夠保證整個租戶系統(tǒng)具有共性的部分就是可以單獨進行數(shù)據(jù)共享,個性化的部分則是需要被單獨進行隔離。通過在多個不同租戶當中的成本資源重復組合利用,可以將其中的成本資源給予有效節(jié)省,同時在每個不同租戶當中可以共享應用程序的單個系統(tǒng)實例,一旦遇到需要系統(tǒng)升級的重要時候,多個租戶都會在同一時間重新進行系統(tǒng)升級。除此之外,由于多個租戶同時享有一個系統(tǒng)當中的核心系統(tǒng)代碼,所以,一旦進行系統(tǒng)升級,僅需要將當中的一個核心系統(tǒng)代碼重新進行系統(tǒng)升級處理即可。因為網(wǎng)站缺乏多租戶協(xié)同運行系統(tǒng)架構和網(wǎng)站個性化資源配置管理能力等功能,以往用于面向承租租戶的各種B/S大型網(wǎng)站管理框架系統(tǒng)開發(fā)技術并不完全適用。以往的技術主要采取ASP模式,每一個用戶對應一個運行實例,這一方式開發(fā)相對較為簡單,然而會導致多次開發(fā),可重復使用性較差。然而通過利用j2ee以及saas多租戶等多種相關信息技術可以構建多租戶的網(wǎng)站架構,從而讓廣大用戶更加方便于快捷應用系統(tǒng)中的功能。

作者:季露 單位:南京高等職業(yè)技術學校

主站蜘蛛池模板: 中文字幕第一页国产| 国产aⅴ激情无码久久久无码| 亚洲成a人片毛片在线| 999久久久国产精品| 波多野结衣视频全集| 夜夜躁日日躁狠狠久久| 伊人久久大香线蕉综合热线| 一区二区三区免费高清视频| 精品一区精品二区制服| 男男高h粗暴黄车文| 好爽好紧好大的免费视频国产| 免费看美女吃男生私人部位| 一本一道久久a久久精品综合| 精品一久久香蕉国产二月| 好男人好视频手机在线| 人人鲁免费播放视频人人香蕉| avtt香蕉久久| 欧美成年黄网站色视频| 国产精品久久一区二区三区 | 在线视频亚洲一区| 亚洲毛片免费看| 窝窝午夜色视频国产精品东北| 极品一线天馒头lj| 国产免费av一区二区三区| 中文无码精品一区二区三区| 精品精品国产欧美在线观看| 女神捕电影高清在线观看| 亚洲色四在线视频观看| 最新69堂国产成人精品视频| 最近2018免费中文字幕视频| 国产人妖乱国产精品人妖| 中文字幕亚洲乱码熟女一区二区| 精品久久久久久无码专区不卡| 天堂网www在线资源中文| 亚洲国产精品专区| 韩国电影中文字幕| 成人亚洲欧美日韩在线| 人久热欧美在线观看量量| 思思99re热| 无码国产成人av在线播放 | 麻豆视频免费观看|