亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于全開源架構(gòu)的互聯(lián)網(wǎng)地圖設(shè)計與應(yīng)用

        2016-12-27 02:36:55張桂芬
        地理空間信息 2016年5期
        關(guān)鍵詞:引擎數(shù)據(jù)庫服務(wù)

        楊 珩,張桂芬

        (1.上海市測繪院,上海 200063)

        基于全開源架構(gòu)的互聯(lián)網(wǎng)地圖設(shè)計與應(yīng)用

        楊 珩1,張桂芬1

        (1.上海市測繪院,上海 200063)

        介紹了一種基于全開源架構(gòu)的互聯(lián)網(wǎng)地圖解決方案;詳細闡述了該架構(gòu)所使用的技術(shù)棧,包括非關(guān)系型數(shù)據(jù)庫、Web服務(wù)器、服務(wù)接口、前端架構(gòu)及地圖引擎等;并展示了全開源架構(gòu)在互聯(lián)網(wǎng)地圖中的實際應(yīng)用,總結(jié)了其優(yōu)勢和不足。

        開源;互聯(lián)網(wǎng)地圖;Web架構(gòu);非關(guān)系型數(shù)據(jù)庫

        互聯(lián)網(wǎng)地圖是指登載在互聯(lián)網(wǎng)上或通過互聯(lián)網(wǎng)發(fā)送的基于服務(wù)器地理信息數(shù)據(jù)庫形成的具有實時生成、交互控制、數(shù)據(jù)搜索、屬性標注等特性的電子地圖。隨著互聯(lián)網(wǎng)及移動互聯(lián)網(wǎng)的蓬勃發(fā)展,社會公眾及企事業(yè)單位對互聯(lián)網(wǎng)地圖的需求越來越大[1]。然而,在互聯(lián)網(wǎng)地圖的生產(chǎn)實踐中,出現(xiàn)了許多新的技術(shù)問題,如用戶網(wǎng)絡(luò)環(huán)境復(fù)雜、系統(tǒng)高并發(fā)訪問、運維與安全問題等。傳統(tǒng)的IT或GIS架構(gòu)在解決互聯(lián)網(wǎng)地圖的問題時存在瓶頸且過于笨重[2]。因此,需要設(shè)計新的適合互聯(lián)網(wǎng)環(huán)境的解決方案。目前全球有超過400萬軟件工程師不斷地為開源技術(shù)社區(qū)貢獻寶貴源代碼,積累了超過20萬個開源軟件產(chǎn)品,形成了一套成熟而完整的開源軟件技術(shù)體系。網(wǎng)站服務(wù)器、移動操作系統(tǒng)、云計算及大數(shù)據(jù)等領(lǐng)域都離不開開源技術(shù)的支持。本文提出了一種基于全開源架構(gòu)的互聯(lián)網(wǎng)地圖解決方案,它覆蓋了開發(fā)中涉及到的云端服務(wù)層、數(shù)據(jù)層及瀏覽器表現(xiàn)層,且在項目實踐中被證明是可行的。

        1 云端架構(gòu)

        云端服務(wù)器的軟件架構(gòu)如圖1所示,包括操作系統(tǒng)、數(shù)據(jù)庫、Web動態(tài)服務(wù)、Web服務(wù)器和API接口等。

        圖1 云端架構(gòu)圖

        操作系統(tǒng):Linux,常用版本有RHEL、CentOS、Ubuntu等,開發(fā)者可根據(jù)個人習(xí)慣選擇合適的發(fā)行版。

        數(shù)據(jù)庫:非關(guān)系型數(shù)據(jù)庫MongoDB。MongoDB是文檔型、無模式的,因此具有分布性和高度可拓展性。與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比,MongoDB能更好地應(yīng)對互聯(lián)網(wǎng)應(yīng)用的需求變更,遷移與備份也更加靈活[3]。同時,利用MongoDB的空間特性,可以實現(xiàn)點、線、面等空間數(shù)據(jù)的存儲及鄰近分析等空間查詢。利用MongoDB存儲空間數(shù)據(jù)時,一定要建立空間索引。由于MongoDB的查詢不是基于SQL語言,所以在進行多條件查詢時,有時無法直觀判斷利用哪個索引效率更高,此時應(yīng)借助Explain進行不同方案的比較。

        服務(wù)器端:異步I/O平臺Node.js,是一個基于Google V8引擎的JavaScript運行環(huán)境。它基于非阻塞的事件驅(qū)動機制,能輕松應(yīng)對互聯(lián)網(wǎng)應(yīng)用高并發(fā)的環(huán)境。與傳統(tǒng)的基于線程處理機制的Java/.NET等平臺相比,Node.js吞吐能力更強,內(nèi)存效率更高,單位時間內(nèi)可處理更多鏈接請求。Node.js的另一優(yōu)勢是社區(qū)非?;钴S,有大量的第三方庫支持,本文所述架構(gòu)利用Express框架快速搭建Web服務(wù)。當(dāng)然,Node.js并不是萬能的,它不適合CPU密集型計算,否則會導(dǎo)致請求無法響應(yīng);另外,它的異步機制在實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯時會產(chǎn)生回調(diào)函數(shù)多級嵌套的問題,難以維護,推薦使用Promise模式解決此問題。

        服務(wù)接口:RESTful。所有云端接口封裝為RESTful API,數(shù)據(jù)交換格式為json。RESTful的接口方式簡便、輕量級,且更加符合HTTP協(xié)議,在互聯(lián)網(wǎng)上被用來替代基于SOAP的服務(wù)方案。開發(fā)人員可輕松使用 Ajax 和 RESTful API創(chuàng)建豐富的界面。

        Web服務(wù)器:Nginx,是一個高性能的HTTP和反向代理服務(wù)器,相較于Apache、IIS具有占有內(nèi)存少、穩(wěn)定性高、并發(fā)服務(wù)能力強等優(yōu)勢。在Linux操作系統(tǒng)下,Nginx使用epoll事件模型,所以其效率非常高。本架構(gòu)使用Nginx發(fā)布靜態(tài)資源并建立緩存,對基于Node.js的動態(tài)服務(wù)進行反向代理,提高安全性。

        2 前端架構(gòu)

        前端架構(gòu)(圖2)基于SPA模式。SPA應(yīng)用于頁面初次加載時,獲取全部的HTML、JavaScript及CSS,將所有業(yè)務(wù)邏輯集中到一個頁面中完成,通過Ajax實現(xiàn)頁面局部交互和刷新。因此,它可提供一種接近桌面應(yīng)用程序的流暢用戶體驗。

        圖2 前端架構(gòu)圖

        本文使用AngularJS結(jié)合Bootstrap開發(fā)SPA應(yīng)用。AngularJS是一個由Google和AngularJS社區(qū)的開發(fā)人員維護的開源Web應(yīng)用框架,支持HTML模板、路由、組件重用、依賴注入等諸多特性,可實現(xiàn)DOM操作和業(yè)務(wù)邏輯的松耦合,且可方便地向服務(wù)器獲取RESTful請求。利用Bootstrap工具包可實現(xiàn)清爽風(fēng)格的界面以及良好的交互效果。

        在互聯(lián)網(wǎng)地圖應(yīng)用中,地圖渲染引擎是必不可少的,本文采用基于Openlayers構(gòu)建的引擎。Openlayers庫本身體積非常大,但得益于它的開源特性,可根據(jù)應(yīng)用的需求專門定制一個輕量級的地圖引擎庫,將不需要的功能庫剝離。另外,地圖引擎庫不應(yīng)破壞SPA應(yīng)用整體的MVVM架構(gòu)。本文的做法是將地圖引擎庫封裝為AngularJS的共享服務(wù),所有需要與地圖交互的DOM通過控制器以依賴注入的方式調(diào)用。

        3 應(yīng)用實現(xiàn)

        基于一系列從云端到客戶端的開源技術(shù)棧,目前已經(jīng)開發(fā)了多個互聯(lián)網(wǎng)地圖應(yīng)用。例如,《上海市黃浦區(qū)便民服務(wù)電子地圖》利用“天地圖·上?!碧峁┑幕A(chǔ)地理信息資源[4],輔助規(guī)土部門為社會公眾提供黃浦區(qū)的行政、醫(yī)療、文化、教育、公共服務(wù)等便民專題信息[5]。該應(yīng)用的主要功能包括地圖瀏覽、便民專題查詢、地名地址查詢、公交導(dǎo)航、周邊查詢、流量統(tǒng)計、運維日志監(jiān)控等。應(yīng)用界面如圖3、4所示。

        4 結(jié) 語

        本文介紹了實現(xiàn)互聯(lián)網(wǎng)地圖的一種可行有效的全開源技術(shù)架構(gòu)。實踐證明,該架構(gòu)具有以下優(yōu)勢:

        ①架構(gòu)中使用的全是輕量級解決方案,靈活、可擴展,能適應(yīng)互聯(lián)網(wǎng)地圖用戶需求及使用環(huán)境的快速變化。②在服務(wù)器端使用異步I/O模型提高了應(yīng)用在高并發(fā)環(huán)境下的吞吐能力,并通過Nginx反向代理的方式提升了安全性。③前端采用MVVM框架(AngularJS),節(jié)省了UI層DOM操作耗費的開發(fā)精力,且前后端使用相同的編程語言,縮短了開發(fā)周期,降低了后期維護難度。④整個架構(gòu)是全開源方案,大幅節(jié)省了軟件授權(quán)費用。

        圖3 應(yīng)用首頁界面

        圖4 應(yīng)用主界面

        在實踐中,可根據(jù)具體問題調(diào)整其中個別技術(shù)。當(dāng)然,該架構(gòu)也存在一些不足,如SPA模式在移動互聯(lián)網(wǎng)設(shè)備中表現(xiàn)不流暢,移動前端的相關(guān)技術(shù)方案還需優(yōu)化,這將是下一步研究的重點。

        [1] 周侗,龍毅.我國近期移動地圖與互聯(lián)網(wǎng)地圖發(fā)展綜述[J].地理與地理信息科學(xué),2012,28(5)∶1-5

        [2] 朱俊豐,趙俊三.基于開源平臺的中小型WebGIS應(yīng)用研究[J].地理空間信息,2008,6(1)∶92-94

        [3] 王光磊.MongoDB數(shù)據(jù)庫的應(yīng)用研究和方案優(yōu)化[J].中國科技信息,2011(20)∶93-96

        [4] 李志剛.創(chuàng)新地理信息服務(wù)模式,打造網(wǎng)絡(luò)地理信息服務(wù)民族優(yōu)秀品牌[J].地理信息世界,2011(4)∶7-9

        [5] 陳桂紅,史亞巍,王飛程,等.政府部門互聯(lián)網(wǎng)地圖服務(wù)的現(xiàn)狀與思考[J].地理信息世界,2014(3)∶18-22

        [6] 孫劍.GIS的開源夢想[J].軟件世界,2007(16)∶50-51

        [7] 龔健雅,杜道生,李清泉,等.當(dāng)代地理信息技術(shù)[M].北京∶科學(xué)出版社,2004

        P208

        B

        1672-4623(2016)05-0069-02

        10.3969/j.issn.1672-4623.2016.05.022

        楊珩,碩士,主要從事網(wǎng)絡(luò)地理信息系統(tǒng)的開發(fā)與應(yīng)用工作。

        2015-04-23。

        項目來源:現(xiàn)代工程測量國家測繪地理信息局重點實驗室開放基金資助項目(TJES1308)。

        猜你喜歡
        引擎數(shù)據(jù)庫服務(wù)
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        藍谷: “涉藍”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        招行30年:從“滿意服務(wù)”到“感動服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        無形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        国产av91在线播放| 日本女优中文字幕亚洲| 人妻少妇满足中文字幕| 美女下蹲露大唇无遮挡| 亚洲国产av玩弄放荡人妇| 少妇高潮惨叫久久久久久| 999国产精品视频| 久久99热精品免费观看麻豆| 91精品国产一区国产二区久久| 影音先锋男人av鲁色资源网| 欧美精品一区二区性色a+v| 国产内射视频在线播放| 熟女人妻在线中文字幕| 久久99精品久久久久久9蜜桃| 久久精品国产夜色| 日韩av在线不卡观看| 免费国产在线精品一区二区三区免| 无人区一码二码三码四码区| 久久精品亚洲牛牛影视| 五月婷婷激情六月开心| 开心五月婷婷激情综合网| 无码人妻aⅴ一区二区三区| 久久不见久久见中文字幕免费| 欧美另类视频在线| 亚洲高清一区二区三区视频| 午夜一区二区三区观看| 国产揄拍国产精品| 伊人久久一区二区三区无码| 日本一区二区三区在线观看视频| 国产高潮流白浆视频在线观看| 狠狠躁夜夜躁人人躁婷婷视频| 国产欧美日韩综合在线一区二区| 免费av在线视频播放| 中国免费看的片| 久久人人妻人人做人人爽| 成人综合久久精品色婷婷| 全亚洲高清视频在线观看| 亚洲精品美女久久久久久久| 中文字幕无码专区一VA亚洲V专| 极品少妇一区二区三区四区视频 | 91精品国产综合久久青草|