国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于集群架構的公共自行車數據可視化系統(tǒng)*

2019-01-15 08:15:24劉汪洋馬曉婷
傳感器與微系統(tǒng) 2019年2期
關鍵詞:普通用戶站點集群

劉汪洋, 林 菲, 馬曉婷

(杭州電子科技大學 計算機學院 城市計算與大數據實驗室,浙江 杭州 310018)

0 引 言

公共自行車系統(tǒng)的用戶量較大,對系統(tǒng)的性能要求偏高,如何構建穩(wěn)定性強、可用性高的系統(tǒng)是當前公共自行車可視化分析系統(tǒng)面臨的一個挑戰(zhàn)。目前公共自行車可視化系統(tǒng)主要著眼于公共自行車數據的可視化分析[1,2],對公共自行車可視化系統(tǒng)的性能和可用性研究較少。

近年來隨著客戶機數量和密集性任務的增加,單個Web服務器受處理能力的限制,成為訪問的一個新瓶頸。為了解決這個問題,Web服務器集群采用負載均衡策略[3],將請求分配給集群中某臺服務器進行處理,通過數據冗余和軟件檢測等方法實現系統(tǒng)的高可用性[4]。負載均衡和讀寫分離以及緩存等技術有助于解決大型系統(tǒng)的性能瓶頸,在不同領域得到廣泛應用。周瑩蓮等人[5]對負載均衡的概念和常見算法進行了研究,并對負載均衡的發(fā)展進行了展望。讀寫分離可以極大提升數據的讀取性能以及整個系統(tǒng)的業(yè)務承載能力[5]。宋滸等人[6]將讀寫分離技術應用在運行支撐系統(tǒng)中,極大地提升了數據讀取性能以及整個系統(tǒng)的業(yè)務承載能力。李軍等人[7]利用負載均衡和MySQL主從復制讀寫分離等技術構建高可用的云盤系統(tǒng)。陳巖等人[8]采用模塊化設計思想和云平臺架構設計出城市綠地監(jiān)測系統(tǒng)。劉桂龍等人[9]設計了一種基于Android的跨移動端和電腦端的架構。

結合上述設計思想,本文設計出一種服務器集群架構以提高公共自行車可視化系統(tǒng)的性能和可用性。

1 系統(tǒng)設計

1.1 系統(tǒng)整體架構

如圖1,公共自行車可視化系統(tǒng)整體架構主要包括4個部分:數據層、算法層、業(yè)務邏輯層和表示層。數據層主要包括杭州公共自行車站點基本信息和公共自行車租還記錄。算法層綜合考慮地理位置和租還記錄構建距離矩陣,采用Affinity Propagation 算法[10]對站點進行區(qū)域劃分;采用新型遺傳模擬退火算法[11]對區(qū)域間調度站點的公共自行車進行調度;采用XGBoost回歸模型[12]對站點和區(qū)域的租還流量進行預測。業(yè)務邏輯層采用Spring MVC和Python將業(yè)務邏輯封裝成接口,提供給展示層調用。展示層由Web可視化端和普通用戶移動端APP兩部分構成,其中Web可視化端采用Echarts結合百度地圖API以及Bootstrap前端框架開發(fā),移動端采用React Native實現跨平臺開發(fā)。

圖1 公共自行車可視化系統(tǒng)整體架構

1.2 服務端架構

該系統(tǒng)的服務端架構由 Web服務器集群、數據庫集群、共享Session服務器和緩存服務器等部分構成,如圖2所示??蛻舳撕拓撦d均衡服務器之間交互,負載均衡服務器根據負載均衡策略,將大量請求有效地分發(fā)到不同的Web服務器上,增加了系統(tǒng)吞吐量,提高了系統(tǒng)的靈活性和可用性。由于本系統(tǒng)Web服務器的性能有差異,故本系統(tǒng)的負載均衡策略采用了經典的加權輪詢算法,給配置高、負載低的機器配置更高的權重,讓其處理更多的請求;給配置低、負載高的機器分配較低的權重,降低系統(tǒng)負載。并選取一臺具有較高性能服務器作為備份服務器,該服務器會在其他節(jié)點全部無法使用時自動啟用,實現服務器高可用性。

圖2 公共自行車可視化系統(tǒng)集群架構

Web服務器采用集群架構,就要考慮不同服務器之間的Session共享問題。系統(tǒng)采用高速緩存框架Memcache搭建共享Session服務,以實現Web服務器集群中不同服務器之間的Session一致性。本系統(tǒng)對公共自行車數據讀功能需求遠遠大于寫功能需求,因此,數據庫集群采用主從復制、讀/寫分離的方式減輕主庫的讀請求的壓力。選取一臺數據庫服務器作為主庫,其他三臺服務器作為從庫,主庫主要負責處理寫業(yè)務,從庫負責讀業(yè)務??紤]到Redis緩存架構讀/寫速度非??欤С重S富的數據類型、支持事務等特性,因此本系統(tǒng)選取Redis作為緩存框架,數據查詢時,如果緩存中有相關數據就可以優(yōu)先從緩存中讀取,提高查詢速度。本系統(tǒng)對Web前端性能也進行了優(yōu)化,對JavaScript和CSS文件的體積采用壓縮工具進行了壓縮,靜態(tài)資源采用CDN加速,公共自行車站點等部分短期不變的少量數據在localStorage中進行緩存,以此來提高前端頁面的加載速度。

2 可視化設計

2.1 工作流程

本系統(tǒng)主要設計目的是為公共自行車管理者提供站點和區(qū)域視角的可視化系統(tǒng);為普通用戶提供便捷的站點信息查詢和租還等功能。如圖3所示,本系統(tǒng)原始數據包括站點信息和用戶租還記錄。在數據預處理階段首先對原始數據進行數據清洗,然后對數據進行編碼。根據公共自行車管理員和普通用戶兩種視角,分別設計了針對公共自行車管理員的可視化系統(tǒng)和普通用戶的跨平臺APP。

圖3 公共自行車可視化系統(tǒng)工作流程

2.2 公共自行車管理者頁面視圖

圖3(a)展示了公共自行車站點分布情況。通過不同顏色的標注將公共自行車站點標記在地圖上。以紅色標注表示該站點無可借公共自行車;藍色標注表示該站點無可還車位;綠色標注表示該站點既可借車也可以還車;灰色標注表示該站點當前停止服務。當公共自行車管理者將鼠標停留在站點標注上時,顯示該站點的自行車樁位數、可借車數、可還車位數、可借車數和總樁位數比例等信息。當公共自行車管理者用鼠標點擊站點標注時,站點的短期和長期租還預測信息將通過折線圖直觀展現。

圖3(b)展示根據站點地理位置和租還記錄作為主要因素的公共自行車聚類結果。不同區(qū)域用不同顏色圖形進行標識。當公共自行車管理者將鼠標停留在區(qū)域上時,區(qū)域的基本信息和調度中心站點名稱和位置將通過信息窗顯示出來。當公共自行車管理者用鼠標點擊區(qū)域時,區(qū)域的短時和長時預測信息通過折線圖展示出來。

圖3(c), 系統(tǒng)通過動畫方式為公共自行車管理者提供可視化的調度方案。該視圖中調度結點為區(qū)域視圖中每個區(qū)域中的調度站點。當公共自行車管理者將鼠標停留在某段線路上,可以查看該段線路從前一個調度站點到下一個調度站點需要移入或者移除車輛數。

圖3(d),系統(tǒng)通過動畫方式根據區(qū)域間的公共自行車騎行狀況,為公共自行車管理者提供可視化信息展示功能。不同顏色表示跨區(qū)域騎行數量的不同,顏色越深表示跨區(qū)域騎行數量越大。公共自行車管理者可以實時掌握區(qū)域間公共自行車的用戶騎行的情況。

2.3 普通用戶APP視圖

如圖3(e)所示,將地圖和可視化圖形結合在一起。市場調研發(fā)現當前公共自行車系統(tǒng)普通用戶APP主要提供公共自行車站點自行車和樁位情況的實時查詢功能。本系統(tǒng)不僅為普通用戶提供站點的實時信息查詢和路線推薦等功能,且提供了站點公共自行車的短期和的長期預測的功能。普通用戶可以通過此APP查看待租和待還車公共自行車站點的短期和長期預測信息。該功能能夠避免公共自行車用戶到達公共自行車站點時,該站點無公共自行車可借或無樁位可還的狀況。

3 系統(tǒng)性能

本系統(tǒng)主要采用Java和Python兩種編程語言編寫。軟件環(huán)境為:服務端為Linux衍生版本Ubuntu 4.04版本,客戶端為Windows 10系統(tǒng),Google瀏覽器。硬件環(huán)境客戶端 Lenovo ThinkPad x201i, 服務端 阿里云服務器11臺,其中6臺配置為2核/1 GB/1 Mbps,5臺服務器(包括共享Session服務器、Redis緩存服務器和數據庫主庫)為2核/2 GB/2 Mbps。網絡環(huán)境為100 MHz寬帶。

通過阿里性能測試服務對系統(tǒng)性能進行了測試,并根據測試數據生成測試結果。本系統(tǒng)采用加權輪詢算法,由圖4可知,并發(fā)量優(yōu)于其他幾種負載均衡算法。

圖4 不同負載均衡算法并發(fā)數對比

從圖5性能對比可以看出:采用服務器集群架構的公共自行車可視化系統(tǒng)的系統(tǒng)性能重要指標:TPS、并發(fā)數和請求成功率均更優(yōu),服務器平均中央處理器(central processing unit,CPU)占用率由96 %降低到75 %,平均響應時間也由812 ms降低為459 ms。充分說明負載均衡和讀/寫分離等技術的運用提高了TPS、并發(fā)數以及平均請求成功率。前端頁面性能優(yōu)化和服務端緩存技術的運用,縮小了平均頁面加載時間,使得系統(tǒng)運行更加流暢。

圖5 性能對比

4 結束語

本文將集群架構運用到公共自行車可視化系統(tǒng)中,通過負載均衡、讀/寫分離和緩存機制提高了系統(tǒng)的響應速度、穩(wěn)定性和可用性。但系統(tǒng)可視化組件不夠豐富,系統(tǒng)也存在一定局限性。后續(xù)將為系統(tǒng)增加更豐富的可視化組件和圖形,探究公共自行車數據背后的規(guī)律,為公共自行車系統(tǒng)管理者提供更科學的參考方案。

猜你喜歡
普通用戶站點集群
海上小型無人機集群的反制裝備需求與應對之策研究
基于Web站點的SQL注入分析與防范
電子制作(2019年14期)2019-08-20 05:43:42
2017~2018年冬季西北地區(qū)某站點流感流行特征分析
即使是普通用戶也需要備一張家庭影院入門攻略:影音調校工具篇1
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設計
電子制作(2018年11期)2018-08-04 03:25:40
Python與Spark集群在收費數據分析中的應用
首屆歐洲自行車共享站點協商會召開
中國自行車(2017年1期)2017-04-16 02:53:52
勤快又呆萌的集群機器人
怕被人認出
故事會(2016年21期)2016-11-10 21:15:15
Numerical Analysis of Refueling Drogue Oscillation During Refueling Docking
清苑县| 宁远县| 麟游县| 邯郸市| 额尔古纳市| 九江市| 行唐县| 平度市| 长治县| 浏阳市| 乌兰县| 安乡县| 陵水| 泸溪县| 新疆| 洛宁县| 安仁县| 巴南区| 张家川| 东港市| 政和县| 沛县| 林州市| 南川市| 湖口县| 奇台县| 西畴县| 德保县| 宜昌市| 新郑市| 盘山县| 望谟县| 五大连池市| 五台县| 湘潭市| 湟中县| 黄石市| 楚雄市| 新邵县| 竹溪县| 密山市|