• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    SAAS 模 式 WebGIS 關(guān) 鍵 技 術(shù)

    2020-01-13 09:48:36
    實(shí)驗(yàn)室研究與探索 2019年12期
    關(guān)鍵詞:租戶服務(wù)器端瀏覽器

    何 洪 磊

    (連云港職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,江蘇 連云港 222006)

    0 引 言

    WebGIS(互聯(lián)網(wǎng)地理信息系統(tǒng))在當(dāng)前有著廣泛的應(yīng)用,例如天氣預(yù)報(bào)、調(diào)查統(tǒng)計(jì)、國(guó)土管理、公共設(shè)施管理、城市規(guī)劃、環(huán)境評(píng)估、災(zāi)害預(yù)測(cè)、軍事公安、農(nóng)林牧業(yè)、水利電力、資源調(diào)查、郵電通訊、商業(yè)金融、交通運(yùn)輸、宣傳展示等幾乎所有領(lǐng)域。

    因此,有眾多的用戶需要搭建滿足自己需求的WebGIS系統(tǒng)。目前,搭建系統(tǒng)的方式通常是使用專業(yè)軟件(例如ARCGIS、mapinfo、超圖),聘請(qǐng)專業(yè)人員開發(fā)完成。這樣的搭建方式就需要較高的費(fèi)用成本,對(duì)于大部分用戶來(lái)說(shuō)構(gòu)成負(fù)擔(dān),尤其是一些非核心業(yè)務(wù),不頻繁使用的用戶。而且,在眾多的WebGIS系統(tǒng)應(yīng)用中,有許多是相同或者是相近的,重復(fù)搭建也是是一種資源的浪費(fèi)。

    為了解決這種問(wèn)題,本文提出了一種SAAS模式的WebGIS系統(tǒng):用戶可以通過(guò)在線定制的方式搭建符合自己需求的WebGIS系統(tǒng);用戶自己制作的系統(tǒng)可以作為模板共享給其他用戶;有著相似應(yīng)用需求的用戶,可以使用某種WebGIS系統(tǒng)模板,修改參數(shù)就可以完成自己系統(tǒng)的定制。

    1 SAAS模式WebGIS系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

    當(dāng)前最主流的WebGIS系統(tǒng)是分層式瓦片地圖,它將系統(tǒng)功能分解為瀏覽器端模塊和服務(wù)器端模塊組合實(shí)現(xiàn)[1-2],如圖1所示。瀏覽器端的JavaScript引擎運(yùn)行地圖模塊,從服務(wù)器端獲取地圖瓦片并組織成為地圖,同時(shí)還能夠響應(yīng)用戶的縮放、拖動(dòng)、標(biāo)記等各種操作。服務(wù)器端提供WMS(Web地圖服務(wù))、WTS(Web瓦片服務(wù))、WFS(Web要素服務(wù))以及各種應(yīng)用服務(wù)。這樣的好處是降低了服務(wù)器端的負(fù)載,提高了對(duì)瀏覽器的兼容性。

    圖1 WebGIS系統(tǒng)結(jié)構(gòu)

    SAAS模式WebGIS系統(tǒng)設(shè)計(jì)采用了這種主流的分層式瓦片地圖結(jié)構(gòu),同時(shí)又要考慮到SAAS系統(tǒng)用戶眾多,用戶的各種不同需求,就需要實(shí)現(xiàn)系統(tǒng)的可定制性。為了滿足眾多租戶的各種需求,在進(jìn)行系統(tǒng)設(shè)計(jì)之前,首先對(duì)租戶的需求進(jìn)行分析,也就是在眾多的租戶需求中統(tǒng)計(jì)分解出共同的需求和差異化的需求。對(duì)于差異化的需求,在系統(tǒng)設(shè)計(jì)時(shí),要考慮到可以允許租戶自己定制,并且不同的用戶之間不會(huì)互相影響[3-4],如圖2所示。

    圖2 差異化需求的定制

    假設(shè)共性需求為D0,可選的差異化需求為Δi(Δ1,Δ2,…,Δk),那么系統(tǒng)的總需求集是D=D0+Δ1+Δ2+…+Δk。不同用戶的需求集可以表示為:

    (1)

    系統(tǒng)提供服務(wù)集,每個(gè)服務(wù)對(duì)應(yīng)解決一個(gè)需求。例如對(duì)應(yīng)解決需求Δi的服務(wù)為Si,則系統(tǒng)的總服務(wù)集:

    S=S0+S1+S2+…+SK

    不同用戶的服務(wù)集可以表示為

    (2)

    考慮到用戶眾多,差異化需求會(huì)非常多,如果這些需求對(duì)應(yīng)的服務(wù)都在服務(wù)器端運(yùn)行,會(huì)極大地增加服務(wù)器的負(fù)載,降低系統(tǒng)的運(yùn)行性能。為了降低服務(wù)器負(fù)載,將對(duì)應(yīng)共性需求D0的服務(wù)S0在服務(wù)器端實(shí)現(xiàn),對(duì)應(yīng)差異化需求Δi的服務(wù)Si在瀏覽器端實(shí)現(xiàn)。

    系統(tǒng)的一個(gè)關(guān)鍵技術(shù)就是可定制性,用戶可以根據(jù)自己的需要,對(duì)業(yè)務(wù)邏輯、用戶界面、數(shù)據(jù)結(jié)構(gòu)進(jìn)行定制[5]。根據(jù)該原則結(jié)合WebGIS特點(diǎn)設(shè)計(jì)了SAAS模式WebGIS系統(tǒng)的結(jié)構(gòu),如圖3所示。

    圖3 SAAS模式WebGIS系統(tǒng)結(jié)構(gòu)

    數(shù)據(jù)層在服務(wù)器端,包括地圖瓦片數(shù)據(jù)、地理信息數(shù)據(jù)、元數(shù)據(jù)、應(yīng)用數(shù)據(jù)、WMS、WFS、WCS等。用戶對(duì)數(shù)據(jù)結(jié)構(gòu)的定制通過(guò)元數(shù)據(jù)實(shí)現(xiàn),同時(shí)元數(shù)據(jù)也是用來(lái)保存用戶定制的業(yè)務(wù)邏輯和界面信息。

    業(yè)務(wù)邏輯層包括服務(wù)器端Web服務(wù)和瀏覽器端業(yè)務(wù)邏輯層兩部分,服務(wù)器端提供多種Web服務(wù),主要是實(shí)現(xiàn)用戶共性需求的功能。瀏覽器端業(yè)務(wù)邏輯層包括地圖模塊、服務(wù)模塊、配置模塊、控制模塊。地圖模塊實(shí)現(xiàn)地圖常用功能;服務(wù)模塊實(shí)現(xiàn)差異化需求的功能,提供各種服務(wù)模塊供用戶選擇;配置模塊是提供用戶定制界面、定制服務(wù)、定制業(yè)務(wù)邏輯功能;控制模塊是用戶定制內(nèi)容的實(shí)現(xiàn),控制系統(tǒng)按照用戶定制的業(yè)務(wù)邏輯運(yùn)行。

    表示層就是瀏覽器端提供的用戶界面,可以由用戶在配置模塊中定制。然后將配置信息存放到服務(wù)器端元數(shù)據(jù)表中。用戶使用系統(tǒng)時(shí),按照元數(shù)據(jù)表中的信息顯示用戶界面。

    2 SAAS模式WebGIS關(guān)鍵技術(shù)

    SAAS模式WebGIS系統(tǒng)既要能滿足用戶定制需求,同時(shí)又要保證服務(wù)器的性能。本文設(shè)計(jì)的解決方案是:采用SOA方式,將系統(tǒng)服務(wù)功能分解并模塊化,供用戶自由配置,然后將負(fù)載合理分配到服務(wù)器端和客戶端。

    所以SAAS模式WebGIS系統(tǒng)的關(guān)鍵技術(shù)包括:

    (1) SOA和負(fù)載均衡。將用戶共性需求和差異性需求對(duì)應(yīng)的功能分別由多個(gè)服務(wù)實(shí)現(xiàn),并合理分布在服務(wù)器端和瀏覽器端。當(dāng)多個(gè)用戶定制的不同實(shí)例同時(shí)運(yùn)行時(shí),降低服務(wù)器壓力。

    (2) 系統(tǒng)可配置性。系統(tǒng)可由用戶定制性,包括用戶界面、業(yè)務(wù)邏輯、數(shù)據(jù)結(jié)構(gòu)等。

    (3) 控制引擎。系統(tǒng)能夠監(jiān)聽(tīng)用戶活動(dòng)和服務(wù)模塊的返回值,按照用戶定制的參數(shù)運(yùn)行。

    (4) 系統(tǒng)的易用性。用戶可以將定制的系統(tǒng)作為模板,共享給其他用戶使用。

    2.1 SOA和負(fù)載均衡

    建立SOA架構(gòu),首先分析共性需求和差異性需求,然后構(gòu)建對(duì)應(yīng)的服務(wù)模塊解決。通過(guò)分析,常用的WebGIS系統(tǒng)需求包括:用戶管理、地理信息管理、地圖管理、類型切換、制圖、定時(shí)器、數(shù)據(jù)搜索、數(shù)據(jù)定制等[6-10]。對(duì)應(yīng)的服務(wù)模塊如下:

    (1) 地圖服務(wù)。地圖服務(wù)通過(guò)瀏覽器端的JavaScript API和服務(wù)器對(duì)應(yīng)的服務(wù)實(shí)現(xiàn)??梢酝ㄟ^(guò)設(shè)置各種參數(shù),包括地圖的ID、對(duì)齊方式、地圖瓦片、中心坐標(biāo)、寬度、高度等來(lái)確定具體的屬性。

    (2) 地理信息管理。地理信息服務(wù)包括地理信息的類別管理和地理信息的添加、刪除、修改等。

    (3) 用戶管理。用戶管理包括用戶的注冊(cè)、登錄、類別、權(quán)限等。

    (4) 制圖服務(wù)。制圖服務(wù)是指根據(jù)地理信息在地圖指定的圖層中繪制圖表。例如在地圖上繪制各城市的GDP三維直方圖、繪制農(nóng)田病蟲害的散點(diǎn)圖、繪制河流濕地的生態(tài)圖等。

    (5) 語(yǔ)音視頻通信服務(wù)。語(yǔ)音視頻通信服務(wù)是指提供和地圖上的某信息點(diǎn)視頻通信的服務(wù)。例如遠(yuǎn)程在線監(jiān)控、語(yǔ)音視頻通話。

    (6) 定時(shí)器。設(shè)置定時(shí)器,每隔一個(gè)指定時(shí)間,執(zhí)行設(shè)定的操作。例如,每隔5 min刷新氣象圖。

    (7) 數(shù)據(jù)搜索。數(shù)據(jù)搜索服務(wù)包括搜索目標(biāo)和返回結(jié)果顯示方式兩個(gè)部分,搜索目標(biāo)是指定要搜索的數(shù)據(jù)庫(kù),SQL語(yǔ)句。返回結(jié)果顯示方式是指返回結(jié)果顯示區(qū)的寬度、高度等樣式和顯示區(qū)界面中的數(shù)據(jù)集的字段。

    其中一些服務(wù)對(duì)應(yīng)的類如圖4所示:GMap是通過(guò)GMAP接口實(shí)現(xiàn)的地圖對(duì)象;GIcon是圖標(biāo);GPoint是坐標(biāo);GPolyline是折線;GMark是標(biāo)注;GDiv是在地圖對(duì)象指定圖層寫入內(nèi)容的類;Plot是在地圖繪制圖表的類;Search是實(shí)現(xiàn)搜索功能的類;Vedio_comm是實(shí)現(xiàn)地理位置實(shí)時(shí)通信的類;Web_commu是在WebRTC接口實(shí)現(xiàn)的瀏覽器端語(yǔ)音視頻通信類。

    圖4 服務(wù)模塊類圖

    系統(tǒng)將用戶管理、地理信息管理等用戶共同的需求,由服務(wù)器端實(shí)現(xiàn)。其他的差異化需求由于數(shù)量眾多,而且用戶數(shù)量龐大,如果這些需求對(duì)應(yīng)的服務(wù)放在服務(wù)器端同時(shí)運(yùn)行將會(huì)對(duì)服務(wù)器構(gòu)成非常大的壓力[11]。所以,將對(duì)應(yīng)的差異化需求解決方案由JavaScript模塊完成,將這些模塊組成解決方案庫(kù)。用戶定制時(shí),選擇相應(yīng)的JavaScript模塊,下載到客戶端瀏覽器運(yùn)行即可。這些瀏覽器端的運(yùn)行的服務(wù)模塊,如果需要訪問(wèn)服務(wù)器端的數(shù)據(jù)庫(kù),只需要調(diào)用在服務(wù)器端的一個(gè)數(shù)據(jù)庫(kù)操作的Web服務(wù)即可,如圖5所示。

    圖5 服務(wù)模塊的負(fù)載均衡

    2.2 系統(tǒng)的可配置

    系統(tǒng)的可配置包括用戶界面、業(yè)務(wù)邏輯的定制。用戶界面就是HTML文檔,所以界面自制就用戶編輯HTML文檔或者DOM對(duì)象樹。而業(yè)務(wù)邏輯包括是服務(wù)模塊選擇和業(yè)務(wù)規(guī)則文件的制作。各種服務(wù)模塊本身也需要配合用戶界面,例如地圖服務(wù)就是Gmap對(duì)象實(shí)例綁定一個(gè)DIV。通常是在HTML文檔包含要調(diào)用服務(wù)的JS庫(kù),然后綁定DOM對(duì)象并實(shí)例化。所以,用戶界面定制和服務(wù)模塊的選擇可以一起完成的。

    當(dāng)前瀏覽器都支持編輯模式,所以主要開啟瀏覽器編輯模式,可以在線編輯HTML文檔。流程圖如圖6所示。

    圖6 配置流程圖

    工作過(guò)程如下:

    (1) 首先生成一個(gè)iframe對(duì)象,將該iframe的中的document設(shè)置成編輯狀態(tài)(document.designMode="on"),這樣,就可以在這個(gè)空白文檔中實(shí)現(xiàn)在線編輯了。然后在用戶界面編輯區(qū)上方設(shè)置一個(gè)工具條,用于編輯用戶界面和服務(wù)模塊。

    (2) 鼠標(biāo)光標(biāo)在編輯區(qū)內(nèi)拖動(dòng)選擇編輯范圍,也可以單擊鼠標(biāo)確定坐標(biāo)。

    (3) 編輯器會(huì)自動(dòng)識(shí)別選擇范圍內(nèi)的對(duì)象和其父對(duì)象的DOM結(jié)構(gòu),例如document.table.img,用戶如果選擇了要編輯的對(duì)象,編輯器就會(huì)打開一個(gè)屬性對(duì)話框供用戶編輯。

    (4) 如果用戶并未選擇編輯對(duì)象,而是單擊工具欄命令按鈕,編輯器就會(huì)執(zhí)行對(duì)應(yīng)的命令。這個(gè)命令如果是需要用戶設(shè)置參數(shù)的(例如服務(wù)模塊、表格、表單等),編輯器就會(huì)打開一個(gè)屬性對(duì)話框供用戶編輯,并且每個(gè)對(duì)象會(huì)被設(shè)置一個(gè)對(duì)應(yīng)的ID(例如,插入的第N個(gè)地圖模塊的ID設(shè)置為Map_N)。如果不是,就直接執(zhí)行。

    (5) 編輯器將對(duì)應(yīng)命令執(zhí)行后的HTML代碼寫入編輯區(qū),編輯區(qū)顯示用戶編輯的結(jié)果,最后把HTML文檔和對(duì)應(yīng)的DOM樹保存到服務(wù)器端。

    在上一個(gè)步驟中選擇了要加入的服務(wù)模塊,然后制作業(yè)務(wù)規(guī)則文件來(lái)組合這些服務(wù)。業(yè)務(wù)邏輯定制過(guò)程如圖7所示。

    圖7 業(yè)務(wù)邏輯定制過(guò)程

    一個(gè)業(yè)務(wù)規(guī)則文件包含多條業(yè)務(wù)規(guī)則,每條業(yè)務(wù)規(guī)則包含3個(gè)要素:源對(duì)象、事件、動(dòng)作[12]。當(dāng)源對(duì)象發(fā)生了某事件,就會(huì)觸發(fā)指定的動(dòng)作。例如當(dāng)搜索服務(wù)“search_1”完成搜索,結(jié)果返回之后,觸發(fā)執(zhí)行繪圖服務(wù)“Plot_1”,在地圖服務(wù)“Map_1”上繪制散點(diǎn)圖。業(yè)務(wù)規(guī)則以XML文件的格式保存。

    〈rules〉

    〈rule〉

    〈sobj〉search_1〈/sobj〉

    〈event〉complete〈/event〉

    〈action〉Plot_1(Map_1, search_1.Data. coordinate, Scatter)〈/action〉

    〈/rule〉

    〈/rules〉

    2.3 系統(tǒng)控制引擎

    系統(tǒng)控制引擎負(fù)責(zé)按照用戶定制的參數(shù)運(yùn)行系統(tǒng),包括用戶界面和業(yè)務(wù)邏輯。用戶界面數(shù)據(jù)(HTML文件)保存在用戶的元數(shù)據(jù)表中,因此,系統(tǒng)初始化的時(shí)候載入即可,而業(yè)務(wù)邏輯控制是控制模塊的核心??紤]到降低服務(wù)器負(fù)載便于和用戶的交互,控制引擎設(shè)計(jì)在瀏覽器端運(yùn)行,由JavaScript程序完成??刂埔媸紫雀鶕?jù)用戶添加的服務(wù)模塊載入對(duì)應(yīng)的JavaScript庫(kù)。然后綁定對(duì)應(yīng)的DOM對(duì)象并初始化。接著根據(jù)業(yè)務(wù)規(guī)則文件按順序調(diào)用相關(guān)服務(wù)模塊,并監(jiān)聽(tīng)用戶的活動(dòng),按照業(yè)務(wù)規(guī)則文件設(shè)定的條件對(duì)用戶活動(dòng)作出響應(yīng)[13-16],如圖8所示。

    圖8 控制引擎結(jié)構(gòu)

    對(duì)用戶活動(dòng)的監(jiān)聽(tīng)是指對(duì)業(yè)務(wù)規(guī)則中指定DOM對(duì)象的監(jiān)聽(tīng)。為了防止監(jiān)聽(tīng)瀏覽器DOM對(duì)象的混淆,使用DOM level2事件的監(jiān)聽(tīng)方法[17-18]:object.addEventListener("event",eventFunction,boolean);object即是業(yè)務(wù)規(guī)則中指定DOM對(duì)象,用getElementById(DOM_ID)獲取。DOM_ID是指定DOM對(duì)象的ID。為了防止事件冒泡,boolean設(shè)置為false。

    業(yè)務(wù)邏輯處理可以看做是一個(gè)中央流程,單線程的異步模式運(yùn)行。根據(jù)制定的條件確定調(diào)用不同的服務(wù)模塊, 這些條件可以是用戶活動(dòng)或者是上一次調(diào)用的服務(wù)的返回值。業(yè)務(wù)邏輯處理根據(jù)條件構(gòu)造循環(huán)、聲明變量、復(fù)制和賦予值、定義故障處理等操作。

    考慮到JavaScript必須在一個(gè)頁(yè)面運(yùn)行,更換頁(yè)面后不能持續(xù)運(yùn)行。所以必須保持一個(gè)主頁(yè)面運(yùn)行控制引擎,其他的可變活動(dòng),放在iframe內(nèi)運(yùn)行。另外,考慮到瀏覽器意外關(guān)閉。將控制引擎的執(zhí)行過(guò)程記錄到cookie本地?cái)?shù)據(jù)中。如果出現(xiàn)意外關(guān)閉瀏覽器等情況,可以從斷點(diǎn)處繼續(xù)執(zhí)行。

    3 實(shí) 例

    3.1 可定制性驗(yàn)證

    為了驗(yàn)證開發(fā)的SAAS模式WebGIS平臺(tái)能否在運(yùn)行時(shí)支持多個(gè)租戶執(zhí)行不同業(yè)務(wù)流程實(shí)例,不同流程實(shí)例之間能否隔離。在客戶端模擬2個(gè)租戶,租戶分別設(shè)置配置方案,然后將這些配置方案存為不同的用戶配置文件,實(shí)驗(yàn)環(huán)境配置如表1所示。

    表1 實(shí)驗(yàn)環(huán)境配置

    其中, 租戶A需要一個(gè)園區(qū)規(guī)劃的WebGIS平臺(tái),將園區(qū)三維地圖瓦片上傳到服務(wù)器端,調(diào)用地圖瓦片,使用折線工具和標(biāo)注工具繪制規(guī)劃圖,租戶A的配置文件如表2所示,運(yùn)行結(jié)果如圖9所示。

    圖9 園區(qū)規(guī)劃

    租戶B需要戶外運(yùn)動(dòng)管理的WebGIS平臺(tái)。由于人員眾多,每次活動(dòng)將參與人員分成幾組,每組有個(gè)編號(hào),由一個(gè)組長(zhǎng)管理。每個(gè)組長(zhǎng)的手機(jī)在系統(tǒng)注冊(cè)并登錄,這樣系統(tǒng)可以隨時(shí)獲得組長(zhǎng)的GPS位置。當(dāng)租戶B需要查找各個(gè)小組的當(dāng)前位置并查看情況時(shí)。在搜索框內(nèi)輸入地理坐標(biāo)的范圍,就可以搜索范圍內(nèi)所有小組,并在地圖上用標(biāo)注顯示。單擊某個(gè)標(biāo)注,調(diào)用語(yǔ)音視頻通信服務(wù),可以和組長(zhǎng)視頻通信,查看當(dāng)前狀況。租戶B的配置文件如表3所示,運(yùn)行結(jié)果如圖10所示。

    表2 租戶A的配置文件

    表3 租戶B的配置文件

    圖10 戶外管理

    實(shí)驗(yàn)結(jié)果表明,開發(fā)的SAAS模式WebGIS平臺(tái)能夠根據(jù)租戶配置文件派生出不同的流程實(shí)例,而且各個(gè)流程實(shí)例的執(zhí)行是相互隔離的、互不影響。

    3.2 系統(tǒng)性能評(píng)估

    為了進(jìn)一步評(píng)估SAAS模式WebGIS平臺(tái)的服務(wù)性能,將傳統(tǒng)SAAS模式和本文提出的模式做一個(gè)對(duì)比。

    傳統(tǒng)模式下,所有服務(wù)實(shí)例都是運(yùn)行在服務(wù)器端(見(jiàn)圖11),本文提出的模式下,只有通用服務(wù)S0(初始化和數(shù)據(jù)訪問(wèn))實(shí)例在服務(wù)器端運(yùn)行,其他差異化服務(wù)實(shí)例在客戶端運(yùn)行,見(jiàn)圖12。

    圖11 傳統(tǒng)SAAS模式

    圖12 負(fù)載均衡SAAS模式

    下面討論兩種模式下各個(gè)實(shí)例的響應(yīng)時(shí)間的對(duì)比。

    定義1服務(wù)器有P個(gè),第j個(gè)服務(wù)器表示為Vj,它的計(jì)算機(jī)能力表示為Fvjj∈P。

    定義2客戶端有Q個(gè),第i個(gè)客戶端表示為ci它的計(jì)算機(jī)能力表示為Ecii∈Q。

    為了簡(jiǎn)化計(jì)算,假設(shè)所有實(shí)例內(nèi)的服務(wù)都是順序執(zhí)行。實(shí)例αb的服務(wù)集的工作量為

    (1) 傳統(tǒng)SAAS模式下,所有服務(wù)部署在服務(wù)器端。單位時(shí)間內(nèi)到達(dá)的服務(wù)請(qǐng)求工作量

    (3)

    服務(wù)器平均處理速度=PF/G。

    假設(shè)在未超負(fù)荷運(yùn)行的情況下,根據(jù)排隊(duì)論的Erlang C結(jié)論:

    其中,Ec是Erlang C公式,表達(dá)式

    (4)

    所以,對(duì)于客戶實(shí)例i總體的服務(wù)響應(yīng)時(shí)間

    (5)

    1≤mi≤ni≤k

    (2) 本文提出的SAAS模式,初始化服務(wù)S0部署在服務(wù)器端,其他服務(wù)部署在客戶端。

    單位時(shí)間內(nèi)到達(dá)服務(wù)器的服務(wù)請(qǐng)求工作量

    (6)

    根據(jù)式(5),服務(wù)器端處理時(shí)間:

    所以總體的響應(yīng)時(shí)間

    (1≤mi≤ni≤k;i∈Q)

    (7)

    使用Matlab 2014b進(jìn)行模擬評(píng)估,為了簡(jiǎn)化計(jì)算,假設(shè)服務(wù)器數(shù)量P=2個(gè),每個(gè)服務(wù)器的計(jì)算能力Fvj=100(工作量/s),每個(gè)客戶端的計(jì)算能力Eci=20(工作量/s),每個(gè)實(shí)例包含的服務(wù)數(shù)量K=5個(gè),每個(gè)服務(wù)Sk的工作量都=1,所有客戶端i請(qǐng)求速率R=1(次/s)。

    表4 兩種SAAS模式的響應(yīng)時(shí)間

    圖13 兩種SAAS模式的響應(yīng)時(shí)間對(duì)比

    由圖13可知,當(dāng)客戶端較少時(shí),傳統(tǒng)的SAAS模式響應(yīng)時(shí)間較快,隨著用戶端數(shù)量的增加,傳統(tǒng)SAAS模式的響應(yīng)時(shí)間會(huì)迅速增加,遠(yuǎn)遠(yuǎn)高于本文提出的SAAS模式響應(yīng)時(shí)間。而本文提出的SAAS模式的響應(yīng)時(shí)間非常平穩(wěn),基本不會(huì)隨客戶端數(shù)量發(fā)生變化。

    4 結(jié) 語(yǔ)

    采用面向服務(wù)架構(gòu),將用戶常用功能分解并模塊化,用戶可以自由配置系統(tǒng),將負(fù)載合理分配到服務(wù)器端和客戶端執(zhí)行,用戶系統(tǒng)實(shí)例運(yùn)行由流程控制引擎來(lái)控制。所以SAAS模式WebGIS系統(tǒng)的關(guān)鍵技術(shù)包括:SOA和負(fù)載均衡、系統(tǒng)可配置性、流程控制引擎、易用性。通過(guò)兩個(gè)實(shí)例的建立,驗(yàn)證了系統(tǒng)關(guān)鍵技術(shù)的解決方案是有效的。

    另外,由于WebGIS系統(tǒng)的需求繁多,系統(tǒng)開發(fā)人員不可能開發(fā)滿足所有應(yīng)用的服務(wù)模塊,考慮以后提供系統(tǒng)接口,用戶自己開發(fā)服務(wù)模塊,并分享給其他用戶使用。

    猜你喜歡
    租戶服務(wù)器端瀏覽器
    反瀏覽器指紋追蹤
    電子制作(2019年10期)2019-06-17 11:45:14
    淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
    成功(2018年10期)2018-03-26 02:56:14
    基于MVC模式的多租戶portlet應(yīng)用研究*
    環(huán)球?yàn)g覽器
    再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
    在Windows中安裝OpenVPN
    租戶是大爺
    特別文摘(2014年17期)2014-09-18 01:31:21
    企業(yè)多租戶云存儲(chǔ)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
    SaaS模式下多租戶數(shù)據(jù)比較存儲(chǔ)模式研究
    網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
    梓潼县| 临猗县| 乐陵市| 唐海县| 寿光市| 慈溪市| 玉山县| 安图县| 界首市| 泾阳县| 富川| 南和县| 蚌埠市| 绥江县| 祁连县| 罗源县| 河池市| 遵义市| 阜新| 湖南省| 会同县| 利辛县| 满洲里市| 江山市| 大城县| 璧山县| 祁阳县| 杭锦后旗| 安义县| 霍州市| 安国市| 财经| 南安市| 威远县| 马关县| 加查县| 重庆市| 怀远县| 依安县| 山西省| 工布江达县|