王新穎
?
基于云計(jì)算的Web系統(tǒng)架構(gòu)設(shè)計(jì)
王新穎
(湖北文理學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,湖北 襄陽(yáng) 441053)
針對(duì)傳統(tǒng)Web系統(tǒng)架構(gòu)存在的問(wèn)題,結(jié)合湖北文理學(xué)院的云計(jì)算平臺(tái)優(yōu)勢(shì),提出了一個(gè)基于云計(jì)算的Web系統(tǒng)架構(gòu). 該架構(gòu)具有可伸縮優(yōu)點(diǎn),支持一云多屏顯示和離線應(yīng)用機(jī)制. 借助多租戶思想,該架構(gòu)可向用戶提供個(gè)性化和多樣化的規(guī)?;ㄖ?
云計(jì)算;Web系統(tǒng);多租戶
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,每個(gè)企事業(yè)單位均建有自己的Web系統(tǒng),以適應(yīng)現(xiàn)今的信息化需要. 然而,搭建傳統(tǒng)的Web系統(tǒng)架構(gòu),企事業(yè)單位在購(gòu)買Web軟件產(chǎn)品的同時(shí),還需要購(gòu)買服務(wù)器設(shè)備,并且對(duì)其維護(hù)成本高昂. 這對(duì)于中小企事業(yè)單位來(lái)說(shuō),是不可承受的[1]. 首先,在建立Web系統(tǒng)初期,需要一次性的支付軟件產(chǎn)品費(fèi)用和服務(wù)器設(shè)備費(fèi)用,對(duì)于中小企事業(yè)單位來(lái)說(shuō)是個(gè)不小的經(jīng)濟(jì)壓力. 其次,在Web系統(tǒng)運(yùn)行過(guò)程中,要安排一名專職計(jì)算機(jī)維護(hù)人員對(duì)系統(tǒng)進(jìn)行日常維護(hù),增加了企事業(yè)單位的信息化成本. 并且對(duì)于軟件開(kāi)發(fā)者來(lái)說(shuō),按照?qǐng)D1所示的傳統(tǒng)Web系統(tǒng)架構(gòu)開(kāi)發(fā)軟件產(chǎn)品,由于不能批量化生產(chǎn),開(kāi)發(fā)成本和維護(hù)成本巨大,盈利空間越來(lái)越小.
圖1 傳統(tǒng)的Web系統(tǒng)架構(gòu)
針對(duì)上述問(wèn)題,結(jié)合湖北文理學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院建立的云計(jì)算平臺(tái)優(yōu)勢(shì),筆者在本文中探討設(shè)計(jì)基于云計(jì)算的Web系統(tǒng)架構(gòu). 并借助多租戶思想為用戶提供個(gè)性化和多元化的規(guī)?;ㄖ?
基于云計(jì)算的Web系統(tǒng)架構(gòu)包括IaaS平臺(tái)、PaaS平臺(tái)和SaaS平臺(tái)三個(gè)組成部分,如圖2所示. IaaS平臺(tái)提供存儲(chǔ)和計(jì)算等硬件資源,PaaS平臺(tái)提供資源管理、設(shè)備管理、監(jiān)控管理、安全管理以及計(jì)費(fèi)管理等平臺(tái)服務(wù),SaaS平臺(tái)對(duì)外提供Web應(yīng)用程序服務(wù). 用戶可以利用PC、便攜電腦、智能手機(jī)和PDA等終端訪問(wèn)SaaS平臺(tái)的Web系統(tǒng),從而實(shí)現(xiàn)了提供軟件產(chǎn)品向提供軟件服務(wù)的轉(zhuǎn)變. 本文主要基于云計(jì)算的SaaS平臺(tái)的Web系統(tǒng)應(yīng)用架構(gòu)設(shè)計(jì)探討.
Web系統(tǒng)在SaaS平臺(tái)上構(gòu)建,支持多租戶模式,只需運(yùn)行一個(gè)應(yīng)用系統(tǒng)實(shí)例,就可以滿足不同單位的不同用戶,做到一次開(kāi)發(fā),多次使用,大大節(jié)約了開(kāi)發(fā)成本和維護(hù)費(fèi)用,如圖3所示. 本架構(gòu)基于多租戶模式[2],可向用戶提供個(gè)性化和多樣化的定制服務(wù)[3];隨著用戶量的動(dòng)態(tài)變化,本架構(gòu)具備自動(dòng)伸縮的能力[4];由于多租戶共享一個(gè)應(yīng)用實(shí)例,安全性顯得尤為重要;為了讓用戶具有好的應(yīng)用體驗(yàn),本架構(gòu)支持離線應(yīng)用和一云多屏顯示. 以下就多租戶設(shè)計(jì)、個(gè)性化和多元化定制、可伸縮機(jī)制、安全機(jī)制、離線應(yīng)用和一云多屏等方面展開(kāi)討論.
多租戶實(shí)現(xiàn)有三種模式:“獨(dú)立數(shù)據(jù)庫(kù)”模式、“共享數(shù)據(jù)庫(kù)隔離數(shù)據(jù)架構(gòu)”模式、“共享數(shù)據(jù)庫(kù)共享數(shù)據(jù)架構(gòu)”模式. 基于維護(hù)和設(shè)備購(gòu)置成本的考慮,本架構(gòu)采用“共享數(shù)據(jù)庫(kù)共享數(shù)據(jù)架構(gòu)”模式. 實(shí)現(xiàn)多租戶的具體方法是:首先建立一個(gè)租戶表(Tenant),租戶數(shù)據(jù)表如表1所示;再在其它與租戶有關(guān)的數(shù)據(jù)表中增加TenantID字段,比如在用戶表中添加TenantID字段. 用戶數(shù)據(jù)表如表2所示.
圖2 基于云計(jì)算的Web系統(tǒng)架構(gòu)
表1 租戶數(shù)據(jù)表
表2 用戶數(shù)據(jù)表
在網(wǎng)絡(luò)化和服務(wù)化背景下,軟件生產(chǎn)的目標(biāo)是滿足個(gè)性化和多元化的大眾需求的規(guī)?;ㄖ? 對(duì)于Web系統(tǒng),不同的單位組織在使用過(guò)程中,從數(shù)據(jù)、功能和界面等方面都存在一定的差異. 因此,各個(gè)租戶可以根據(jù)自身的特點(diǎn),從如下三個(gè)方面進(jìn)行個(gè)性化定制:1)數(shù)據(jù)定制. Web系統(tǒng)在提供Web服務(wù)過(guò)程中,只運(yùn)行一個(gè)實(shí)例,不同的租戶共享這個(gè)實(shí)例. 不同的租戶根據(jù)自己的工作特點(diǎn),往往需要保存特有的數(shù)據(jù). 本架構(gòu)采用預(yù)分配定制字段方式,允許用戶進(jìn)行數(shù)據(jù)定制操作,從而實(shí)現(xiàn)了不同租戶在數(shù)據(jù)上的個(gè)性化定制. 2)功能定制. SaaS軟件面對(duì)的是大多數(shù)租戶,功能強(qiáng)大. 不同的租戶可以根據(jù)自己的實(shí)際情況定制不同的功能包,按需定制,按需付費(fèi),這正充分體現(xiàn)了網(wǎng)絡(luò)化軟件的特征. 3)界面定制.不同的租戶希望界面展現(xiàn)自己?jiǎn)挝坏娘L(fēng)格特點(diǎn),因此,租戶可以在系統(tǒng)上從菜單和頁(yè)面元素兩方面進(jìn)行個(gè)性化定制.
基于云計(jì)算的Web系統(tǒng)架構(gòu)提供了可伸縮能力,隨著用戶量的動(dòng)態(tài)變化,系統(tǒng)可以自動(dòng)實(shí)現(xiàn)應(yīng)用服務(wù)器的快速擴(kuò)展. 用戶量在5000個(gè)以下時(shí),只需要一臺(tái)應(yīng)用服務(wù)器即可滿足訪問(wèn)需求. 如果在某一個(gè)時(shí)間點(diǎn)用戶的訪問(wèn)量急劇增加,負(fù)載均衡機(jī)制會(huì)快速啟動(dòng)更多的應(yīng)用服務(wù)器以滿足用戶需求. 相反,如果用戶的訪問(wèn)量變小,負(fù)載均衡機(jī)制會(huì)關(guān)閉部分應(yīng)用服務(wù)器以降低消耗.
身份認(rèn)證 身份認(rèn)證是系統(tǒng)安全的基礎(chǔ),是對(duì)客戶身份的識(shí)別和認(rèn)證. 通過(guò)身份認(rèn)證,能夠阻止非法用戶使用系統(tǒng)或冒充他人登錄系統(tǒng). 在Web系統(tǒng)中,采用“非集中式認(rèn)證”方式,實(shí)現(xiàn)了用戶的“單點(diǎn)登錄”,一次登錄可以全網(wǎng)漫游,增強(qiáng)了系統(tǒng)的友好性.
權(quán)限管理 權(quán)限管理就是控制用戶是否有權(quán)限使用系統(tǒng)的功能,確保有權(quán)限的用戶正常使用系統(tǒng),沒(méi)有權(quán)限的用戶不能使用系統(tǒng). 在基于云平臺(tái)的Web系統(tǒng)架構(gòu)中的權(quán)限管理,要為用戶分配權(quán)限. 具體方法是管理員為租戶授予權(quán)限分配能力,租戶為用戶分配系統(tǒng)的使用權(quán)限. 當(dāng)用戶訪問(wèn)Web系統(tǒng)時(shí),系統(tǒng)判斷租戶是否定制了該功能包,如果租戶沒(méi)有定制該功能包,就無(wú)需判斷用戶是否具有使用權(quán)限;如果租戶定制了該功能包,再判斷用戶是否被授予了使用權(quán)限.
日志記錄 日志記錄是記下用戶的操作過(guò)程,包括行為日志記錄和數(shù)據(jù)日志記錄. 行為日志會(huì)記下用戶訪問(wèn)的頁(yè)面和訪問(wèn)時(shí)間,以及在訪問(wèn)頁(yè)面執(zhí)行的操作和操作時(shí)間. 數(shù)據(jù)日志記錄用戶對(duì)數(shù)據(jù)執(zhí)行了哪些操作,以及執(zhí)行操作的時(shí)間. 通過(guò)日志記錄,系統(tǒng)可以提供用戶的操作歷史,增強(qiáng)了系統(tǒng)的可信性.
數(shù)據(jù)加密 由于基于云平臺(tái)的Web系統(tǒng)是基于多租戶的,因此,數(shù)據(jù)的安全性尤為重要,需要采取加密措施來(lái)保護(hù)用戶的數(shù)據(jù)安全. 對(duì)用戶來(lái)說(shuō),密碼至關(guān)重要. 在本W(wǎng)eb系統(tǒng)架構(gòu)中,采用MD5加密算法對(duì)存儲(chǔ)密碼進(jìn)行加密[5],以保證信息數(shù)據(jù)的安全. 由于MD5不可逆,因此,他人即使獲得了MD5碼,也無(wú)法知道用戶密碼. 比如用戶的密碼為“zhongyuan”,經(jīng)MD5加密后得到MD5(129F1B9ED6264093E9BD 4F04A32CE7EF),根據(jù)MD5加密算法的不可逆特性,他人無(wú)法根據(jù)MD5碼獲得用戶的密碼. 對(duì)于用戶的關(guān)鍵數(shù)據(jù),租戶是需要還原使用的,因此,本系統(tǒng)采用AES加密機(jī)制保證其安全性.
為解決網(wǎng)絡(luò)不穩(wěn)定給用戶帶來(lái)的影響,在Web系統(tǒng)架構(gòu)中引入離線應(yīng)用機(jī)制. 當(dāng)用戶在使用本系統(tǒng)時(shí),系統(tǒng)首先檢查網(wǎng)絡(luò)的連接狀態(tài),并根據(jù)網(wǎng)絡(luò)的狀態(tài)來(lái)決定采用本地策略還是服務(wù)器策略. 在本地應(yīng)用中,數(shù)據(jù)在本地存儲(chǔ),在網(wǎng)絡(luò)連通后本地存儲(chǔ)的數(shù)據(jù)會(huì)和服務(wù)器執(zhí)行數(shù)據(jù)同步操作.
隨著Android/IOS的普及,智能手機(jī)、PDA等智能終端大量涌現(xiàn),人們上網(wǎng)的方式不僅僅局限于電腦上網(wǎng). 在該系統(tǒng)架構(gòu)中,采用一云多屏技術(shù),將云計(jì)算的結(jié)果可以通過(guò)多種方法顯示出來(lái),比如通過(guò)計(jì)算機(jī)、手機(jī)、PDA等.
基于云計(jì)算的Web系統(tǒng)架構(gòu),設(shè)計(jì)開(kāi)發(fā)客戶關(guān)系管理系統(tǒng),具體設(shè)計(jì)過(guò)程如下:1)在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中,參照表1建立租戶數(shù)據(jù)表,參照表2在其它與租戶有關(guān)的數(shù)據(jù)表中增加TenantID字段,實(shí)現(xiàn)多租戶設(shè)計(jì). 2)采用預(yù)分配定制字段的方式,實(shí)現(xiàn)不同租戶在數(shù)據(jù)上的個(gè)性化定制. 設(shè)計(jì)了訂單管理、產(chǎn)品功能、基礎(chǔ)管理、客戶管理、客服人員管理、記錄管理、行程管理等7個(gè)功能包,實(shí)現(xiàn)功能包定制. 提供了界面定制接口,實(shí)現(xiàn)界面定制. 3)參照?qǐng)D3的負(fù)載均衡機(jī)制實(shí)現(xiàn)系統(tǒng)的可伸縮能力. 4)采用“非集中式認(rèn)證”方式實(shí)現(xiàn)系統(tǒng)的身份認(rèn)證;在傳統(tǒng)權(quán)限管理的基礎(chǔ)上,增加了租戶管理;通過(guò)日志記錄,增強(qiáng)了系統(tǒng)的可信性;采用MD5加密機(jī)制實(shí)現(xiàn)用戶的密碼安全,采用AES加密機(jī)制實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)的安全性. 5)采用離線應(yīng)用機(jī)制實(shí)現(xiàn)本地?cái)?shù)據(jù)和服務(wù)器數(shù)據(jù)的同步;采用一云多屏技術(shù)實(shí)現(xiàn)了云計(jì)算結(jié)果的多重方法顯示.
基于多租戶模式,該客戶關(guān)系管理系統(tǒng)在云計(jì)算平臺(tái)上運(yùn)行一個(gè)實(shí)例,就可以供多個(gè)單位同時(shí)使用. 每個(gè)單位在使用此系統(tǒng)時(shí),可根據(jù)單位自身的實(shí)際需求和資金情況,訂購(gòu)不同的功能包. 依據(jù)上述論述,湖北文理學(xué)院設(shè)計(jì)開(kāi)發(fā)了客戶關(guān)系管理系統(tǒng),已經(jīng)成功運(yùn)行5個(gè)月時(shí)間,現(xiàn)擁有20個(gè)租戶(即20家單位正在使用),且租戶數(shù)量正在進(jìn)一步增長(zhǎng)中. 實(shí)踐表明,基于云計(jì)算的Web系統(tǒng)架構(gòu)可行. 它與基于服務(wù)器的Web系統(tǒng)架構(gòu)相比,可實(shí)現(xiàn)個(gè)性化和多元化的規(guī)模化定制,具有很大優(yōu)勢(shì),如表3所示.
表3 兩種Web系統(tǒng)架構(gòu)比較分析表
在湖北文理學(xué)院建立的云計(jì)算平臺(tái)的基礎(chǔ)上,設(shè)計(jì)了基于云計(jì)算的Web系統(tǒng)架構(gòu). 該架構(gòu)的設(shè)計(jì),對(duì)企事業(yè)單位來(lái)說(shuō),軟件應(yīng)用實(shí)現(xiàn)了從“為我所有”向“我所用”的轉(zhuǎn)變,用戶不再購(gòu)買軟件產(chǎn)品本身,而是購(gòu)買軟件提供的服務(wù),大大節(jié)約了信息化成本;對(duì)軟件開(kāi)發(fā)者來(lái)說(shuō),軟件實(shí)現(xiàn)了規(guī)?;ㄖ频纳a(chǎn)方式,可節(jié)約開(kāi)發(fā)成本和維護(hù)費(fèi)用.
[1] 馬于濤, 何克清, 李 兵, 等. 網(wǎng)絡(luò)化軟件的復(fù)雜網(wǎng)絡(luò)特性實(shí)證[J]. 軟件學(xué)報(bào), 2011, 22(3): 381-407.
[2] 陳 全, 鄧倩妮. 云計(jì)算及其關(guān)鍵技術(shù)[J]. 計(jì)算機(jī)應(yīng)用, 2009, 29(9): 2562-2567.
[3] 張建勛, 古志民, 鄭 超. 云計(jì)算研究進(jìn)展綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2010, 27(2): 429-433.
[4] 謝桂園, 魏文國(guó), 何克晶. 可伸縮并行Web服務(wù)器體系結(jié)構(gòu)的設(shè)計(jì)與研究[J]. 海南大學(xué)學(xué)報(bào): 自然科學(xué)版, 2009, 27(1): 69-72.
[5] 張浩華, 齊維毅, 趙子夫, 等. 基于JAVA技術(shù)的MD5加密算法的設(shè)計(jì)與實(shí)現(xiàn)[J]. 沈陽(yáng)師范大學(xué)學(xué)報(bào): 自然科學(xué)版, 2009, 27(1): 75-77.
Design of Architecture for Web Systems Based on Cloud Computing
WANG Xinying
(School of Mathematical and Computer Sciences, Hubei University of Arts and Science, Xiangyang 441053, China)
Aiming at the problems existing in the architecture of traditional web system, a web system architecture based on cloud computing is proposed, combined with cloud computing platform’s advantages of Hubei University of Arts and Science. This architecture has the advantage of scalable, supports multi screen display of one cloud and offline application mechanism. With the help of a thought on multi-tenant, the architecture can provide users with personalized and diversified large-scale customization.
Cloud computing; Web system; Multi-tenant
2013-10-08;
2013-12-30
湖北省教育廳科學(xué)技術(shù)研究基金資助項(xiàng)目(B2013102)
王新穎(1976— ), 男, 河南平頂山人, 湖北文理學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院講師.
TP399
A
2095-4476(2014)02-0016-04
(責(zé)任編輯:陳 丹)