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

        ?

        基于SpringBoot+Spark+Vue的旅游大數(shù)據(jù)分析平臺的設(shè)計與實現(xiàn)

        2024-05-30 09:27:56陳金龍羅德明趙仲達
        無線互聯(lián)科技 2024年7期
        關(guān)鍵詞:數(shù)據(jù)庫分析

        寧 毅,陳金龍,羅德明,趙仲達

        (桂林電子科技大學(xué) 計算機與信息安全學(xué)院,廣西 桂林 541004)

        0 引言

        據(jù)統(tǒng)計,桂林市的GDP中,旅游業(yè)占比超過30%,并且每年接待數(shù)百萬國內(nèi)外游客,為當(dāng)?shù)貛砜捎^的經(jīng)濟效益??梢?旅游業(yè)已成為桂林經(jīng)濟的重要成分。旅游業(yè)不但繁榮桂林的經(jīng)濟,而且還緩解了城市就業(yè)的壓力,擴大了對外開放,搞活市場流通,帶動了第三產(chǎn)業(yè)乃至整個國民經(jīng)濟的發(fā)展[1]。

        如今,互聯(lián)網(wǎng)發(fā)展已經(jīng)相當(dāng)成熟,旅游業(yè)也逐漸向數(shù)字化、智能化方向轉(zhuǎn)型,景區(qū)的服務(wù)創(chuàng)新水平隨著時間而動態(tài)變化[2]。旅游數(shù)據(jù)的規(guī)模不斷擴大,包括酒店入住數(shù)據(jù)、景點游客流量數(shù)據(jù)、航班購票數(shù)據(jù)等。這些數(shù)據(jù)蘊含著豐富的信息,可以幫助旅游從業(yè)者更好地了解市場需求、優(yōu)化產(chǎn)品設(shè)計、提高客戶滿意度等。然而,由于數(shù)據(jù)來源分散、格式多樣、數(shù)量龐大,單靠人工分析已經(jīng)很難滿足實際需求,加之市面上也沒有針對桂林A級景區(qū)做數(shù)據(jù)分析的應(yīng)用平臺,因此,本文針對桂林市的景區(qū)構(gòu)建一個初步、相對簡易的游客數(shù)據(jù)、景區(qū)數(shù)據(jù)分析平臺。

        1 平臺設(shè)計

        1.1 總體架構(gòu)設(shè)計

        前端技術(shù)涉及Vue、Vuex、Echarts、Axios。將平臺各個數(shù)據(jù)指標通過地圖、折線圖、條形圖、雷達圖、表格等形式可視化,便于用戶了解景區(qū)大體情況[3]。

        后端使用Maven倉庫,整合SpringBoot、MyBatis-Plus用以快速搭建開發(fā)腳手架,數(shù)據(jù)庫則使用HBase和MySQL。HBase用來存儲使用Python爬蟲技術(shù)采集的大數(shù)據(jù)集,包括游客Vlog數(shù)據(jù)、遷入桂林指數(shù)、景區(qū)攻略數(shù)等信息;MySQL則用以存儲無需分析的和分析后的數(shù)據(jù);數(shù)據(jù)處理分析使用Scala語言讀取HBase數(shù)據(jù),經(jīng)過Spark處理分析,將結(jié)果保存于MySQL。采用上述作為平臺整體的技術(shù)架構(gòu)是因為Spark 適用于各種各樣原先需要多種不同的分布式平臺的場景,包括批處理、迭代算法、交互式查詢、流處理[4]。另外,HBase集群具有線性伸縮、自動容災(zāi)和負載均衡的優(yōu)勢,可以很容易地增加或者替換集群節(jié)點以擴展集群的存儲和計算能力[5]。具體如圖1所示。

        圖1 系統(tǒng)架構(gòu)

        1.2 功能結(jié)構(gòu)設(shè)計

        面向桂林市A級景區(qū)客流大數(shù)據(jù)分析平臺的功能模塊劃分為景區(qū)信息管理、輿情分析、客流統(tǒng)計、客源分析4個模塊,如圖2所示。

        圖2 系統(tǒng)功能結(jié)構(gòu)

        1.3 數(shù)據(jù)庫設(shè)計

        在細化平臺功能之后再將數(shù)據(jù)庫設(shè)計精化到具體的實體表、字段及實體之間的關(guān)聯(lián)關(guān)系表[6]。通過ER圖描繪各個表或表之間的聯(lián)系,如圖3所示。

        圖3 景區(qū)、客流、微博簽到、指數(shù)、詞條關(guān)系

        參考各數(shù)據(jù)集來源于不同的網(wǎng)絡(luò)平臺,實際設(shè)計表時無法做到完全符合三范式的要求,具體的數(shù)據(jù)庫如表1所示。

        表1 數(shù)據(jù)庫關(guān)系模型

        1.4 用戶界面設(shè)計

        平臺在UI設(shè)計方面,使用Vue、Vuex、Axios技術(shù)可以基于組件化開發(fā)美觀的界面,配合ECharts技術(shù)可以快速引入各種圖表以滿足自身平臺的功能需求。由于不同的用戶設(shè)備的屏幕尺寸、分辨率不一,本平臺雖然沒有對移動端瀏覽器做出適配,一套代碼想同時適應(yīng)PC和手機幾乎不可能,但是在前端頁面開發(fā)時考慮瀏覽器、設(shè)備屏幕適配問題,因此采用Flex布局、百分比布局的響應(yīng)式界面設(shè)計,便于適配不同的設(shè)備屏幕[7]。

        2 系統(tǒng)實現(xiàn)

        面向桂林A級景區(qū)客流大數(shù)據(jù)分析平臺具體實現(xiàn)由數(shù)據(jù)采集、數(shù)據(jù)存儲、Spark數(shù)據(jù)分析、后端業(yè)務(wù)處理和UI設(shè)計5個功能模塊組成,各模塊關(guān)系如圖4所示。下面將介紹各模塊的實現(xiàn)。

        圖4 平臺模塊關(guān)系

        2.1 數(shù)據(jù)采集模塊

        使用Python爬蟲技術(shù)作為第三方庫收集與初步過濾分析桂林A級景區(qū)游客數(shù)量、行為和趨勢等方面數(shù)據(jù)的工具[8]。將采集到的數(shù)據(jù)保存到HBase、MySQL數(shù)據(jù)庫中,以便進行進一步的分析處理。

        2.2 數(shù)據(jù)存儲模塊

        數(shù)據(jù)存儲模塊使用關(guān)系型MySQL和非關(guān)系型HBase數(shù)據(jù)庫,其中MySQL存儲與平臺直接相關(guān)的數(shù)據(jù),數(shù)據(jù)采集爬取的大多數(shù)據(jù)可直接保存到MySQL里面供業(yè)務(wù)處理模塊操作,數(shù)據(jù)庫設(shè)計方面也會根據(jù)平臺的需求,對經(jīng)常使用到的字段建立索引,提高查詢效率。HBase則存儲冗余性大、數(shù)據(jù)量大、待處理分析的數(shù)據(jù),如線路評論及其指標、全國來桂客流信息、游客信息等[9]。

        2.3 Spark數(shù)據(jù)分析模塊

        2.3.1 客源分析實現(xiàn)過程

        首先,建立遠程HBase數(shù)據(jù)庫連接,過濾空值、無用數(shù)據(jù)值(例如來源地為未知、游客數(shù)量為0等數(shù)據(jù)集),將初步處理的數(shù)據(jù)保存到HBase數(shù)據(jù)庫表,此步處理具體實現(xiàn)如圖5所示。

        圖5 數(shù)據(jù)初步處理流程

        其次,基于Scala的Spark數(shù)據(jù)處理分析,讀取并處理passenger_flow的數(shù)據(jù)得到初始RDD。flatmap將原始RDD數(shù)據(jù)進行扁平化處理得到的元組格式如((“2018-08-30”,“世外桃源”),4)的RDD算子,進一步對“世外桃源”和業(yè)務(wù)相關(guān)的MySQL數(shù)據(jù)庫景區(qū)表進行ID映射,最終的RDD的元組形式為((“2018-08-30”,景區(qū)的ID),4),將數(shù)據(jù)保存到MySQL里面。

        2.3.2 來源地分析實現(xiàn)

        area_distribution表的數(shù)據(jù)簡單但是數(shù)據(jù)量非常多,所以處理起來就非常簡易。只需簡單的一兩個RDD算子即可得到本文想要的數(shù)據(jù)格式,其格式轉(zhuǎn)變?nèi)鐖D6所示。

        圖6 省份來桂人數(shù)處理RDD轉(zhuǎn)換

        2.3.3 游客畫像實現(xiàn)

        游客信息表則是生成簡單的游客畫像,如游客年齡、性別。具體RDD算子數(shù)據(jù)格式轉(zhuǎn)變?nèi)鐖D7所示。

        圖7 游客信息RDD數(shù)據(jù)格式轉(zhuǎn)變

        2.3.4 A級景區(qū)線路指標分析實現(xiàn)

        此功能對數(shù)據(jù)采集模塊存儲到HBase數(shù)據(jù)庫的route_comment表數(shù)據(jù)進行處理分析。Scala編碼連接HBase數(shù)據(jù)庫后將RDD轉(zhuǎn)換生成DataFrame。SparkSQL編碼獲取指標Jason字符串,由Jason字符串生成Scala實例,多分支判斷游客給線路的線程安排、住宿體驗、交通體驗、商家服務(wù)等指標的評分,最后各指標得分取均值和評論總數(shù)保存于MySQL數(shù)據(jù)庫[10]。其代碼實現(xiàn)流程如圖8所示。

        圖8 線路指標分析流程

        2.4 業(yè)務(wù)處理模塊

        該模塊遵循后端開發(fā)dao層、service層、controller層的編程規(guī)范,每一層有各自的職責(zé),降低耦合度[11]。該模塊的各個包圖關(guān)系如圖9所示。

        圖9 系統(tǒng)包圖

        entity包對應(yīng)數(shù)據(jù)庫表的實體類,如景區(qū)表對應(yīng)scenic類,包含字段信息、日期格式化和主鍵自增等約束。pojo包衍生于該包下的類,返回符合前端要求的格式數(shù)據(jù)。

        mapper包對數(shù)據(jù)庫進行常規(guī)的CRUD操作,結(jié)合數(shù)據(jù)庫表索引情況編寫適當(dāng)?shù)牟樵冏侄魏蜅l件,對于沒必要的字段值就無需查詢,減少網(wǎng)絡(luò)傳輸開銷。

        service包出于controller與mapper之間,主要負責(zé)系統(tǒng)的業(yè)務(wù)邏輯,將用戶傳遞的參數(shù)傳遞到service方法中,在mapper 包的基礎(chǔ)上進行邏輯查詢、封裝數(shù)據(jù)格式返回controller層。

        controller層是MVC(Model-View-Controller)設(shè)計模式中的一部分,用于處理應(yīng)用程序的用戶請求并根據(jù)請求選擇合適的操作進行處理。在Web應(yīng)用程序中,controller通常充當(dāng)路由和請求處理的角色。它接收來自用戶的HTTP請求,并將其路由到相應(yīng)的業(yè)務(wù)邏輯處理代碼中[12]。通過HTTP請求將數(shù)據(jù)返回給用戶,生成響應(yīng)格式的數(shù)據(jù)。

        utils、config、advice包則是存放工具類、配置類和全局異常處理類,utils將系統(tǒng)用到的通用方法統(tǒng)一封裝,例如實例判空、字符轉(zhuǎn)日期、日期是否在2個時間之間等功能,降低耦合度。config用于解決SpringMVC跨域、配置MyBatis分頁攔截器、配置MySQL連接等。advice則用作對controller層的補充,避免返回給用戶異常信息,在controller異常處理不足的接口做統(tǒng)一的異常攔截返回前端提示信息。

        2.5 平臺UI實現(xiàn)模塊

        由于平臺多是數(shù)據(jù)看板,因此,UI將多以地圖、條形圖、折線圖和雷達圖等圖表形式進行設(shè)計與實現(xiàn),下面給出具有代表性的頁面并展開描述。

        (1)首頁展示桂林市景區(qū)的分布地圖、接待總客流量和詞云圖等。其中,來源地分析指出各省來桂林游玩的人數(shù),景區(qū)發(fā)布圖標記出客流量數(shù)、搜索指數(shù)、評論數(shù)和攻略數(shù)。詞云圖則是對所有A級景區(qū)的評論做出的詞云分析,將游客情緒分為3個等級給出各個等級的數(shù)量,還畫出景區(qū)好評率Top10排名等,如圖10所示。

        圖10 平臺首頁

        (2)項目列表則是桂林A級景區(qū)的列表,通過表格信息展現(xiàn),內(nèi)容包含景區(qū)名、地址、好評率、中評率、差評率、簽到數(shù)、搜索指數(shù)等情況。景區(qū)指標信息如圖11所示。

        圖11 景區(qū)指標信息

        (3)針對每一個景區(qū)監(jiān)控其每個月的客流情況,如圖12所示。

        圖12 景區(qū)客流情況

        3 測試與驗證

        對平臺進行單元模塊測試更注重在數(shù)據(jù)處理分析這一模塊,對該模塊的方法、函數(shù)進行單元測試,隨機截取原數(shù)據(jù)集進行測試比對,通過黑盒測試的方法驗證方法的正確性[13]。在完成了數(shù)據(jù)處理分析之后,也對平臺接口進行了集成測試,驗證了數(shù)據(jù)及其接口的正確性。在平臺完成之際對已部署到云服務(wù)器的平臺接口使用JMeter進行了壓力測試,用以鑒別是否能完成預(yù)期的相應(yīng)時間和在該相應(yīng)時間內(nèi)的異常率[14]。

        (1)模擬對A級景區(qū)信息列表接口在2 s內(nèi)完成100個請求。其中,吞吐量為9.1/sec,實現(xiàn)了0%異常。

        (2)對某個具體景區(qū)的游客情緒接口進行測試,同樣是2 s內(nèi)完成100個請求。此接口不像景區(qū)信息列表接口有那么多的聯(lián)表查詢,吞吐量達到了36.2/sec,異常為0%。

        由于平臺面向的用戶并非大群體,系統(tǒng)吞吐量足以滿足用戶的性能需求,平均每次請求響應(yīng)時間為200 ms,滿足了平臺單個請求響應(yīng)時間為100 ms~300 ms的要求,且在此響應(yīng)時間內(nèi)沒有丟棄請求的情況出現(xiàn)。

        4 結(jié)語

        面向桂林A級景區(qū)客流大數(shù)據(jù)分析平臺提供了輿情分析、景區(qū)指標和客流情況等功能,可以給景區(qū)統(tǒng)籌管理者作為重要的參考依據(jù),改善景區(qū)的設(shè)施環(huán)境,提高景區(qū)的服務(wù)質(zhì)量,對景區(qū)的后續(xù)發(fā)展起到重要作用。然縱使該軟件平臺給決策者提供了景區(qū)服務(wù)游客反映情況,便于對景區(qū)服務(wù)做出改進,但是由于數(shù)據(jù)的有限性和自身技術(shù)的不足,不能對現(xiàn)有數(shù)據(jù)挖掘出更加有效的價值,平臺的數(shù)據(jù)處理分析也是簡單進行過濾、數(shù)據(jù)扁平化、映射本系統(tǒng)數(shù)據(jù),基于自身能力并沒有對數(shù)據(jù)太多的深度挖掘分析。本平臺也是初版,待繼續(xù)改進實現(xiàn)更加豐富、更加深入研究的功能,為景區(qū)管理提供更有價值的參考依據(jù)。

        猜你喜歡
        數(shù)據(jù)庫分析
        隱蔽失效適航要求符合性驗證分析
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        電力系統(tǒng)及其自動化發(fā)展趨勢分析
        數(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
        中西醫(yī)結(jié)合治療抑郁癥100例分析
        在線教育與MOOC的比較分析
        日韩av激情在线观看| 一二区视频免费在线观看| 亚洲av专区一区二区| 在线观看人成视频免费| 人妻无码αv中文字幕久久琪琪布| 国产免费资源高清小视频在线观看 | 国产精品成人免费视频网站京东 | 国产精品国三级国产a| 国产激情综合在线观看| 亚洲人成无码网www| 丝袜人妻无码中文字幕综合网 | 四川少妇大战4黑人| 99久久超碰中文字幕伊人| 少妇隔壁人妻中文字幕| 变态调教一区二区三区女同| 国产精品一区二区在线观看| 最新精品亚洲成a人在线观看| 国产三级在线观看性色av| 午夜av天堂精品一区| 一进一出一爽又粗又大| 国产精品刺激好大好爽视频| 久久99精品免费国产| 日本一区二区三区高清在线视频 | 国产日韩欧美亚洲精品中字 | 日韩av中文字幕波多野九色| 中文字幕亚洲欧美在线不卡| 女人夜夜春高潮爽a∨片传媒| 亚洲AV日韩AV高潮喷潮无码| 久久蜜桃资源一区二区| 亚洲av日韩av在线观看| 狠狠久久精品中文字幕无码| 日本一曲二曲三曲在线| 亚洲精品一区二区三区麻豆| 乱子伦视频在线看| 国产极品美女到高潮视频| 最新中文字幕日韩精品| 消息称老熟妇乱视频一区二区| 亚洲两性视频一三区| 日本在线免费不卡一区二区三区 | 熟妇的荡欲色综合亚洲| 国产一区二区欧美丝袜|