隨著計(jì)算機(jī)三維動(dòng)畫圖形技術(shù)的不斷發(fā)展,三維網(wǎng)絡(luò)技術(shù)受到越來(lái)越多的重視,F(xiàn)實(shí)世界是三維的,采用三維技術(shù)表達(dá)信息更加直接,尤其適合那些尚未實(shí)現(xiàn)或準(zhǔn)備實(shí)施的立體創(chuàng)意,借助三維網(wǎng)絡(luò)技術(shù)可使用戶提前領(lǐng)略到最終的實(shí)施效果。正因?yàn)槿S動(dòng)畫比平面圖更直觀,并能給觀賞者身臨其境的感覺(jué),從而創(chuàng)造全新的人機(jī)交互體驗(yàn)。三維技術(shù)已經(jīng)應(yīng)用于軍事、航天、醫(yī)療和娛樂(lè)領(lǐng)域,并在遠(yuǎn)程教育、工程設(shè)計(jì)與制造、網(wǎng)絡(luò)仿真和電子商務(wù)等方面顯示出了良好的應(yīng)用前景。
當(dāng)前,大部分三維網(wǎng)絡(luò)應(yīng)用都采用客戶端—服務(wù)器(C/S)(或?yàn)g覽器-服務(wù)器(B/S)模式)?蛻魴C(jī)/服務(wù)器系統(tǒng)是兩層架構(gòu),但隨著三維服務(wù)器軟件系統(tǒng)規(guī)模越來(lái)越大,功能越來(lái)越多,應(yīng)用業(yè)務(wù)邏輯復(fù)雜并且易變,這樣做會(huì)有很多缺點(diǎn),例如冗余代碼,不利于重用,不利于分工等。為解決這些問(wèn)題,通過(guò)區(qū)分表示層、應(yīng)用邏輯層和數(shù)據(jù)訪問(wèn)層,服務(wù)器模型進(jìn)一步演化為多層服務(wù)器架構(gòu),這樣能簡(jiǎn)化三維軟件的開(kāi)發(fā),但集中式的服務(wù)器的訪問(wèn)仍然是系統(tǒng)的性能瓶頸,常常無(wú)法滿足大規(guī)模三維網(wǎng)絡(luò)應(yīng)用中用戶對(duì)響應(yīng)延遲、下載延遲等要求。
針對(duì)該問(wèn)題,本文提出了一種面向三維數(shù)據(jù)密集應(yīng)用的可伸縮服務(wù)器架構(gòu),它通過(guò)區(qū)分連接和應(yīng)用的各個(gè)功能,并采用核心通信服務(wù)器統(tǒng)一管理服務(wù)器系統(tǒng),從而以一種對(duì)用戶透明的方式,改善三維應(yīng)用的整體性能。該系統(tǒng)服務(wù)架構(gòu)由多個(gè)部分組成,除了核心通信服務(wù)器,其他服務(wù)功能在安裝的同時(shí),向核心通信服務(wù)器進(jìn)行自動(dòng)注冊(cè),從而根據(jù)服務(wù)類型對(duì)帶寬和存儲(chǔ)的需求差異,服務(wù)提供商具有可以自由地、透明地?cái)U(kuò)展系統(tǒng)的能力;谒岢龅姆⻊(wù)框架,用戶只需知道用戶連接服務(wù)器的地址,就可以透明地訪問(wèn)系統(tǒng)的所有服務(wù),從而在提高服務(wù)器性能的同時(shí),實(shí)現(xiàn)對(duì)用戶的透明性。
1 網(wǎng)絡(luò)服務(wù)模型演化
回顧IT產(chǎn)業(yè)的發(fā)展歷程,計(jì)算服務(wù)經(jīng)歷了從大型機(jī)架構(gòu),到客戶端-服務(wù)器架構(gòu)(C/S),最后到多層服務(wù)架構(gòu)的演化歷程,如圖1所示。20世紀(jì)80年代以后,傳統(tǒng)的集中式處理和主機(jī)/終端模式越來(lái)越不能適應(yīng)人們的需要,特別是隨著微軟微機(jī)操作系統(tǒng)的出現(xiàn),PC進(jìn)入千家萬(wàn)戶,網(wǎng)絡(luò)互聯(lián)逐漸成為主流。20世紀(jì)90年代后,Internet高速發(fā)展,大部分網(wǎng)絡(luò)服務(wù)(如WWW、FTP等)采用客戶端—服務(wù)器(C/S)或?yàn)g覽器-服務(wù)器(B/S)模式,并進(jìn)一步演化為多層服務(wù)器架構(gòu)。
圖1 網(wǎng)絡(luò)服務(wù)模型演化
客戶/服務(wù)器架構(gòu)(C/S)實(shí)質(zhì)就是將數(shù)據(jù)存取和應(yīng)用程序分離開(kāi)來(lái)[3],用數(shù)據(jù)服務(wù)器執(zhí)行數(shù)據(jù)操作,客戶機(jī)來(lái)執(zhí)行應(yīng)用程序,用戶在客戶端通過(guò)網(wǎng)絡(luò)同服務(wù)器打交道?蛻舳擞职ㄓ脩艚缑婧推髽I(yè)邏輯,網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)主要是客戶端向服務(wù)器發(fā)出的請(qǐng)求以及服務(wù)器發(fā)給客戶端的響應(yīng)結(jié)果或出錯(cuò)信息。
當(dāng)前,客戶服務(wù)器模式仍然是市場(chǎng)的主流軟件模式,但傳統(tǒng)的客戶服務(wù)器模式優(yōu)點(diǎn)和缺點(diǎn)并存。
(1)提高了可伸縮性。通過(guò)客戶端分擔(dān)服務(wù)器端功能,降低服務(wù)器端計(jì)算開(kāi)銷和通信開(kāi)銷,提高了服務(wù)器端支持的客戶端數(shù)目,因而可伸縮性得到提高。
(2)不利于軟件維護(hù)。需要在客戶端和服務(wù)器端同時(shí)安裝并維護(hù)軟件功能,如果軟件需要更新,常常需要客戶端和服務(wù)器端分別更新軟件,由于通常有大量的客戶端,安裝麻煩,且易出錯(cuò),一致性不易保證。
(3)不利于代碼重用。隨著軟件系統(tǒng)規(guī)模越來(lái)越大,功能越來(lái)越多,應(yīng)用業(yè)務(wù)邏輯復(fù)雜并且易變時(shí),簡(jiǎn)單的服務(wù)器設(shè)計(jì),導(dǎo)致冗余代碼,不利于重用,不利于分工。
(4)存在性能瓶頸。大量的客戶端依賴單一的服務(wù)器功能,服務(wù)器端常常是性能瓶頸。如果服務(wù)器失效,則整個(gè)系統(tǒng)軟件失敗,由于傳統(tǒng)的TCP/IP通信機(jī)制是一種盡力傳輸?shù)臋C(jī)制,不能保證QoS可靠性,因而也導(dǎo)致穩(wěn)定性難以保障。
針對(duì)客戶端/服務(wù)器端架構(gòu)存在的缺點(diǎn),人們提出了許多改進(jìn)方法,其中一種思路是,針對(duì)簡(jiǎn)單的服務(wù)器端設(shè)計(jì)不利于重用和不利于分工的缺點(diǎn),提出了多層服務(wù)器架構(gòu)。隨著面向?qū)ο蟮木幊趟枷肓餍校藗儾捎妙愃萍?xì)分的方法將傳統(tǒng)的客戶機(jī)/服務(wù)器兩層架構(gòu)擴(kuò)展到3層,甚至更多層。3層架構(gòu)包括表現(xiàn)層、中間層和數(shù)據(jù)源層。表現(xiàn)層實(shí)現(xiàn)用戶界面,中間層實(shí)現(xiàn)業(yè)務(wù)邏輯,在數(shù)據(jù)源層存取數(shù)據(jù)。這種方式可以將復(fù)雜的領(lǐng)域邏輯從界面中抽離出來(lái),用對(duì)象加以建模和組織。由于三維網(wǎng)絡(luò)應(yīng)用的特殊性,它通常涉及大量的數(shù)據(jù)交互,導(dǎo)致服務(wù)器的訪問(wèn)仍然是系統(tǒng)的性能瓶頸。
2 可伸縮云服務(wù)器系統(tǒng)框架
在典型的三維應(yīng)用實(shí)踐中,模型下載常常占用大量帶寬,當(dāng)用戶增多時(shí),常常導(dǎo)致服務(wù)器反應(yīng)延遲顯著增加,用戶體驗(yàn)較差。簡(jiǎn)單地增加服務(wù)器,能夠改進(jìn)延遲性能,但導(dǎo)致每個(gè)客戶端都需要分別為多個(gè)服務(wù)器進(jìn)行特殊配置,安裝和維護(hù)費(fèi)用激增。調(diào)查用戶需求表明,用戶希望服務(wù)器端的變更對(duì)客戶端是透明的,簡(jiǎn)化客戶端的安裝和維護(hù)難度。通過(guò)分析用戶訪問(wèn)服務(wù)器的過(guò)程發(fā)現(xiàn),用戶客戶端訪問(wèn)三維服務(wù)時(shí),通常要經(jīng)歷登錄、模型定位和模型下載等過(guò)程,當(dāng)用戶規(guī)模大時(shí),用戶的模型下載過(guò)程常常導(dǎo)致其他用戶無(wú)法正常登錄。為了改善用戶訪問(wèn)性能,特別是訪問(wèn)延遲,并保持用戶訪問(wèn)的透明性,本文提出了一種具有云計(jì)算特點(diǎn)的可伸縮的服務(wù)器架構(gòu),通過(guò)將連接資源虛擬化,區(qū)分連接和其他功能需求,以支持三維計(jì)算的透明訪問(wèn)需求。
多層可伸縮的服務(wù)器框架結(jié)構(gòu)圖如圖2所示,服務(wù)器端包括用戶連接服務(wù)器(UCS)、核心通信服務(wù)器(KCS)、認(rèn)證計(jì)費(fèi)服務(wù)器(CAS)、認(rèn)證計(jì)費(fèi)服務(wù)器(CAS)、內(nèi)容服務(wù)器(CS)、消息服務(wù)器(MS)、應(yīng)用服務(wù)器(AS)和中繼服務(wù)器(PS)。
圖2 多層可伸縮的服務(wù)圖器框架結(jié)構(gòu)
2.1 用戶連接服務(wù)器(UCS)
用戶連接服務(wù)器的主要功能是接收客戶端首次連接,并提供客戶端對(duì)其他服務(wù)器的地址查詢。為了使客戶端總知道如何訪問(wèn)服務(wù)器,UCS采用公開(kāi)地址。當(dāng)有多種類型的用戶終端接入時(shí),如3G或Wi-Fi,則通常可以部署兩個(gè)服務(wù)器,分別具有相應(yīng)的物理通信接口。
2.2 核心通信服務(wù)器(KCS)
整個(gè)系統(tǒng)里只允許有一個(gè)核心通信服務(wù)器,它是系統(tǒng)的根服務(wù)器,其主要功能是負(fù)責(zé)其他所有服務(wù)器之間的協(xié)調(diào)。其他服務(wù)器都需要向KCS進(jìn)行注冊(cè),離開(kāi)或失效時(shí),則由KCS進(jìn)行注銷。KCS維護(hù)服務(wù)器系統(tǒng)目錄,并按照預(yù)定策略將客戶端請(qǐng)求重定向到特定服務(wù)器。為了安全目的,也可以為系統(tǒng)增加備份的KCS服務(wù)器,這是可選的。
2.3 認(rèn)證計(jì)費(fèi)服務(wù)器(CAS)
CAS的主要功能是管理用戶權(quán)限,支持VIP認(rèn)證。如果用戶訪問(wèn)的是收費(fèi)服務(wù),則對(duì)用戶的訪問(wèn)和流量進(jìn)行計(jì)費(fèi),并支持對(duì)其他服務(wù)器的用戶認(rèn)證查詢功能。
2.4 內(nèi)容服務(wù)器(CS)
CS的主要功能是負(fù)責(zé)內(nèi)容管理,所有與服務(wù)內(nèi)容相關(guān)的數(shù)據(jù)信息都存儲(chǔ)在CS上,并允許客戶端進(jìn)行下載或?qū)?nèi)容信息進(jìn)行更新?蛻舳藢(duì)CS的任何訪問(wèn)都必須得到CAS的認(rèn)證,以決定是否提供相應(yīng)服務(wù)。
2.5 消息服務(wù)器(MS)
MS的主要功能是處理各種系統(tǒng)消息,包括:場(chǎng)景同步消息、內(nèi)容更新消息、認(rèn)證通知消息、服務(wù)器自動(dòng)切換和故障通知等。用戶登錄時(shí),如需要提升權(quán)限(如VIP認(rèn)證),也需要通過(guò)MS進(jìn)行消息管理。
2.6 應(yīng)用服務(wù)器(AS)
AS的主要功能是提供與應(yīng)用相關(guān)的服務(wù),如系統(tǒng)需求配置、公告發(fā)布和新功能部署等。
2.7 中繼服務(wù)器(PS)
為了支持服務(wù)器間的負(fù)載均衡,管理用戶在不同服務(wù)器間切換,中繼服務(wù)器負(fù)責(zé)重定向連接請(qǐng)求和資源定位。
3 服務(wù)器工作流程
從功能上看,所有服務(wù)器功能可以安裝在同一臺(tái)服務(wù)器設(shè)備上,但為了獲得最佳性能,每個(gè)服務(wù)器可以安裝在不同設(shè)備上,通過(guò)KCS管理,確保對(duì)客戶端的透明性。每個(gè)服務(wù)器安裝后自動(dòng)向KCS注冊(cè),不需要單獨(dú)配置?梢钥闯,借助本項(xiàng)目的多層易擴(kuò)展服務(wù)架構(gòu),極大地減少了服務(wù)器集群的配置工作,并能根據(jù)系統(tǒng)負(fù)荷容易的增加服務(wù)器設(shè)備,擴(kuò)充系統(tǒng)容量。
同樣,借助多層易擴(kuò)展服務(wù)架構(gòu),客戶端訪問(wèn)服務(wù)器端的流程也非常直接?蛻舳说牡卿浟鞒倘缦拢
(1)用戶通過(guò)UCS向KCS查詢得到一個(gè)CS和一個(gè)MS的地址;
(2)用戶向MS登錄(發(fā)送VIP認(rèn)證信息),MS向CAS注冊(cè)用戶成功,為用戶分配通行證ID,并將ID返回給用戶;
(3)用戶使用ID向CS請(qǐng)求訪問(wèn)資源,CS向CAS認(rèn)證用戶ID,并報(bào)告資源使用狀況,CAS對(duì)用戶進(jìn)行計(jì)費(fèi),若無(wú)需計(jì)費(fèi),則進(jìn)行日志記錄(Log)。
可以看出,整個(gè)系統(tǒng)的部署非常簡(jiǎn)單,考慮了未來(lái)業(yè)務(wù)發(fā)展和容量擴(kuò)展需求,且便于負(fù)載均衡,功能非常靈活。多個(gè)客戶端之間可以通過(guò)MS進(jìn)行交互。用戶也可以通過(guò)AS方便地發(fā)布新的應(yīng)用。
4 系統(tǒng)性能測(cè)試
本文提出的多層可伸縮的服務(wù)器架構(gòu)尤其適合數(shù)據(jù)密集型應(yīng)用。為驗(yàn)證本文所提服務(wù)框架的可行性及性能,在一個(gè)三維虛擬現(xiàn)實(shí)原型系統(tǒng)里對(duì)所提方法進(jìn)行驗(yàn)證。
初步演示效果如圖3所示,所需管理的服務(wù)內(nèi)容以三維內(nèi)容為主,特別是模型數(shù)據(jù)和紋理材質(zhì)數(shù)據(jù),占用存儲(chǔ)和帶寬最大(包括人物及場(chǎng)景,約4 MB),因而在小規(guī)模測(cè)試階段,系統(tǒng)配置了數(shù)臺(tái)內(nèi)容服務(wù)器CS,其他所有服務(wù)內(nèi)容運(yùn)行于同一臺(tái)服務(wù)器上。
圖3 三維虛擬現(xiàn)實(shí)場(chǎng)景初步演示截圖
為測(cè)試系統(tǒng)的可擴(kuò)展性能,本文保持系統(tǒng)其他條件不變,改變CS的個(gè)數(shù)。系統(tǒng)日志(Log)記錄每個(gè)客戶端對(duì)服務(wù)器的各種訪問(wèn)操作(連接請(qǐng)求、下載完成等)及其時(shí)間戳。
用到的性能指標(biāo)有登錄延遲(Login Latency)、定位延遲(Shapebox Latency)及下載延遲(Download Latency)3個(gè)。登錄延遲指從初次連接請(qǐng)求發(fā)起時(shí)刻到成功登錄之間的時(shí)間長(zhǎng)度。由于三維虛擬現(xiàn)實(shí)應(yīng)用中通常都采用模型的外包(即Shapebox)確定模型的位置,因此在下載模型前,必須知道模型的外包,以判斷模型是否在視野內(nèi),是否需要下載。有了外包信息,客戶端顯示過(guò)程中不需要下載所有三維模型數(shù)據(jù),而只需要下載當(dāng)前視野附近的模型即可。模型外包相關(guān)的信息成為定位信息,下載定位信息所需的時(shí)間長(zhǎng)度稱為定位延遲。下載延遲則指需要下載的模型從下載請(qǐng)求發(fā)出時(shí)刻到下載完成之間的時(shí)間長(zhǎng)度。
圖4和圖5顯示了各個(gè)參數(shù)指標(biāo)與CS個(gè)數(shù)之間的關(guān)系,圖中顯示10次客戶端訪問(wèn)的平均值,置信度為90%。結(jié)果表明,隨著CS個(gè)數(shù)增加,登錄延遲幾乎沒(méi)有變化,這是由于登錄過(guò)程與CS無(wú)關(guān)。定位延遲及下載延遲都逐漸減少,這是由于增加的CS分擔(dān)了已有CS的下載壓力,因而總體延遲下降。此外,測(cè)試過(guò)程還表明,CS的增加過(guò)程或減少過(guò)程無(wú)需重啟服務(wù)端,而且不會(huì)中斷客戶端的下載,驗(yàn)證了所提服務(wù)框架的靈活性和高效性。
圖4 登錄延遲和定位延遲
圖5 三維模型信息下載延遲
本文針對(duì)數(shù)據(jù)密集型應(yīng)用的服務(wù)需求,提出了一種具有云計(jì)算特點(diǎn)的服務(wù)架構(gòu),能夠以對(duì)客戶端透明的方式支持各種服務(wù)類型對(duì)帶寬和存儲(chǔ)要求的巨大差異。系統(tǒng)服務(wù)架構(gòu)由多個(gè)部分組成,除了核心通信服務(wù)器,其他服務(wù)功能在安裝的同時(shí),向核心通信服務(wù)器進(jìn)行自動(dòng)注冊(cè),從而根據(jù)服務(wù)類型對(duì)帶寬和存儲(chǔ)的需求差異,服務(wù)提供商具有可以自由、透明地?cái)U(kuò)展系統(tǒng)的能力。
基于所提出的服務(wù)框架,用戶只需知道核心連接服務(wù)器的地址,就可以透明地訪問(wèn)系統(tǒng)的所有服務(wù),從而實(shí)現(xiàn)了云計(jì)算的最重要特點(diǎn)——透明性。未來(lái)進(jìn)一步的工作是研究服務(wù)資源的自動(dòng)負(fù)載均衡機(jī)制,以更智能的方式支持更廣泛的服務(wù)類型需求。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:面向數(shù)據(jù)密集應(yīng)用的云計(jì)算服務(wù)架構(gòu)
本文網(wǎng)址:http://www.oesoe.com/html/consultation/1083979475.html