?

旅客智能行程推薦系統的設計與實現

2021-01-20 06:21何承達王初程馬睿祺馮芷菁武漢大學計算機學院
數碼世界 2020年12期
關鍵詞:路線目的地服務器

何承達 王初程 馬睿祺 馮芷菁 武漢大學計算機學院

1 引言

隨著信息時代的高速發展,人們的出行越來越便利,然而如何選擇合適的出行路線卻一直是個難題?,F有的導航與行程推薦APP都難以較好地支持本地交通與空鐵聯運的查詢,本系統旨在解決這一問題。通過民航航班、鐵路運輸、城市地鐵與城市公共交通等多種交通方式組合,考慮不同旅客需求,從時間最少、花費最少和換乘數最少三方面為旅客推薦合適的行程。本系統基于微信小程序開發,跨平臺、交互友好,為旅客的出行提供便利。

2 系統的設計

2.1 系統的基本架構

(1)系統用戶,系統面向的用戶可以對兩地之間的路線進行搜索,對用戶自身的歷史行程記錄進行查看、刪除,對所選擇的地點的相關文章進行搜索、收藏,發布與地點相關的包含文本、圖片的文章。

(2)系統安全性,系統通過調用微信小程序接口獲取臨時登錄憑證code,并回傳到服務器。通過憑證進而換取用戶登錄態信息,包括用戶的唯一標識openid及本次登錄的會話密鑰session_key等,用戶數據的加解密通訊需要依賴會話密鑰完成。之后服務器可以根據用戶標識來生成自定義登錄態,用于后續業務邏輯中前后端交互時識別用戶身份,從而提高網絡及用戶信息的安全性。

(3)系統數據儲存,系統的原始數據來源是騰訊地圖針對微信小程序的api,用戶信息數據存儲在后臺服務器,通過用戶的openid即可訪問用戶的歷史數據并上傳新的用戶數據。在微信小程序的一次使用過程中,搜索得到的路線數據將緩存在用戶設備中。

2.2 系統的數據結構及操作

(1)數據結構,系統通過分層,將功能劃分為domain,service,web,config,util等多個層,充分將各功能中的不同部分進行解耦,同時有效的對不同功能進行了功能劃分,基于各層封裝實現了良好的安全性并使用RESTful風格的接口與前端進行交互,達到完全前后端分離的效果。

(2)數據操作,系統用戶進行的操作包含登錄認證,路線查詢,歷史行程管理和查看文章和發表文章。

3 系統的組成

3.1 路線管理

(1)系統用戶管理 系統用戶可通過臨時登錄憑證code,在從服務器獲取到用戶的openid后可登錄本系統。

(2)路線搜索 系統用戶在登錄并授權相應權限后可進行路線搜索,系統用戶可輸入調整目的地,可從所調用的騰訊地圖api提供的位置信息以及路線中根據自身需求選擇路線,同時系統用戶還可收藏該路線。

(3)歷史路線管理 系統用戶可對歷史選擇的路線進行倒序查看以及刪除路線等操作。

3.2 文章管理

(1)查看目的地文章 系統用戶進入微信小程序目的地界面,選擇目的地城市后,可查看推薦目的地相關文章?;蜉斎胛恼玛P鍵詞,在目的地相關范圍內進行文章搜索。

(2)發布文章 系統用戶進入微信小程序目的地界面,點擊進入發布文章界面,發布的文章將以當前目的地界面所選定的城市為城市標簽,系統用戶可便攜文章標題、文章關鍵詞、上傳封面圖片、撰寫文章文本內容并添加圖片,點擊上傳。

4 系統的實現

4.1 實現技術

(1)采用SpringBoot框架實現后臺接口,實現RESTful接口對數據進行管理,并使用Redis實現并發處理。

(2)采用Spring Data JPA實現數據持久化,JPA基于非侵入式原則設計,因此可以很容易的和其它框架或者容器集成,且JPA擁有可媲美JDBC的查詢能力。

(3)MySql數據庫,MySQL是目前最主流的關系型數據庫管理系統之一。

4.2 實現方法

(1)A-Star算法 A-Star算法為一種啟發式路線規劃算法,基于此算法可為用戶推薦路線信息。

(2)文章推薦 為了使路線規劃相關的推薦結果能夠更直觀的展現出來,與路線相關的推薦文章見圖4-1所示。

圖4-1 文章推薦結果

5 結束語

本系統基于微信小程序,采用前后端分離方式,接口遵循RESTful風格,直觀可讀性強。同時系統采用性能優于常見的Dijkstra算法的啟發式路線規劃A-Star算法,為用戶出行需求推薦最優的行程。

猜你喜歡
路線目的地服務器
戀愛中的城市
迷宮彎彎繞
美食新路線
2018年全球服務器市場將保持溫和增長
聞雞起舞
動物可笑堂
找路線
用獨立服務器的站長注意了
定位中高端 惠普8路服務器重裝上陣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合