4681-java停車場管理系統(tǒng)源碼 springboot2+dubbo+vue
①本停車場系統(tǒng)兼容市面上主流的多家相機,理論上兼容所有硬件,可靈活擴展,②相機識別后數(shù)據(jù)自動上傳到云端并記錄,校驗相機唯一id和硬件序列號,防止非法數(shù)據(jù)錄入,③用戶手機查詢停車記錄詳情可自主繳費(支持微信,支付寶,銀行接口支付,支持每個停車場指定不同的商戶進行收款),支付后出場在免費時間內(nèi)會自動抬桿。④支持app上查詢附近停車場(導航,可用車位數(shù),停車場費用,優(yōu)惠券,評分,評論等),可預約車位。⑤斷電斷網(wǎng)支持崗亭人員使用app可接管硬件進行停車記錄的錄入。
【技術(shù)架構(gòu)】:
后端開發(fā)語言java,框架oauth2+springboot2+doubble2.7.3,數(shù)據(jù)庫mysql/mongodb/redis,即時通訊底層框架netty4,安卓和ios均為原生開發(fā),后臺管理模板vue-typescript-admin-template,文件服務(wù)fastDFS,短信目前僅集成阿里云短信服務(wù)。為千萬級數(shù)據(jù)而生,千萬級用戶無憂,目前真實用戶40w無壓力,大數(shù)據(jù)時代物聯(lián)網(wǎng)必備
架構(gòu)
一、技術(shù)構(gòu)成簡述 (一)編程語言與架構(gòu)簡述 1.開發(fā)語言 (1)服務(wù)端 服務(wù)端語言目前均采用java語言開發(fā),jdk版本要求1.8+。開發(fā)框架為springboot2+dubbo,鑒權(quán)采用oauth2,DB操作框架Mybaits,即時通訊底層框架與協(xié)議netty4
(2)客戶端 目前我們主要客戶端分為三個場景,分別為安卓,ios,微信公眾號。安卓與ios均為原生開發(fā),H5頁面web端框架為vue
(3)后臺管理 后臺管理前端框架采用的是主流的vue element admin(TypeScript版本),分層清晰,官方文檔完整,社區(qū)活躍
2.數(shù)據(jù)存儲 (1)重要數(shù)據(jù)存儲 重要數(shù)據(jù)均采用mysql進行存儲,支持部署主從,大部分數(shù)據(jù)盡可能進行事務(wù)處理,確保數(shù)據(jù)容災性
(2)一般數(shù)據(jù)存儲 非重要性數(shù)據(jù)例如聊天內(nèi)容,系統(tǒng)消息通知,廣告等數(shù)據(jù)均存儲于mongodb數(shù)據(jù)庫中
(3)緩存數(shù)據(jù)存儲 微小量緩存會存在mysql中,例如評論的前N條評論快照會超小量進行字段適當冗余,在提高存儲性價比情況下大大提高數(shù)據(jù)的查詢能力。其它大部分數(shù)據(jù)緩存均存儲于redis數(shù)據(jù)中
3.性能與安全 (1)性能解決方案 架構(gòu)與技術(shù)解決方案均為本團隊一線5年開發(fā)經(jīng)驗總結(jié),目前我們正在接觸的項目真實用戶40w+,毫無壓力,我們系統(tǒng)采用的架構(gòu)與技術(shù)均在仔細多方面綜合考慮后多次調(diào)整,采用更加合理,性能更佳的模式與解決方案
(2)安全解決方案 所有請求均需攜帶jwt串token進行訪問,每個接口服務(wù)和管理服務(wù)均需配置公鑰文件且具有jwt串token合法性校驗能力,用戶權(quán)限服務(wù)攜帶私鑰文件負責密鑰生成
4.架構(gòu)與生命力 (1)采用架構(gòu) 本系統(tǒng)采用阿里巴巴微服務(wù)框架dubbo來進行實現(xiàn)微服務(wù)提供能力,追求高性能,高可用,超細粒度獨立微服務(wù),相同服務(wù)可以動態(tài)靈活增加與減少,支持不停機發(fā)布新版本服務(wù)。每個服務(wù)之間均為獨立存在,互不影響。例如短信發(fā)送,支付,訂單,停車場系統(tǒng)接口,停車場后臺管理,停車場提供者服務(wù)等均為獨立的服務(wù)。
(2)架構(gòu)潛力 整個系統(tǒng)眾多服務(wù)分工明確,細粒度微服務(wù),實現(xiàn)真正的插拔服務(wù),功能的刪減或停用,新增等均可在不破壞和入侵原來系統(tǒng)的前提下滿足新的開發(fā)需求
5.二次開發(fā)說明 (1)適用客戶對象 ①本身有互聯(lián)網(wǎng)it編程技術(shù)和經(jīng)驗或者擁有技術(shù)團隊的。 ②不具備第一個條件但是費用預算比較充足,二次開發(fā)需求少或者愿意支付高額定制費的 (2)團隊要求 服務(wù)器運維,安卓與ios開發(fā)者,web前端開發(fā)者,java實際開發(fā)經(jīng)驗2年+開發(fā)者
(3)技術(shù)要求 過硬的java編程能力,網(wǎng)絡(luò)編程能力,數(shù)據(jù)庫設(shè)計與優(yōu)化能力,架構(gòu)設(shè)計能力,微服務(wù)思維能力,成熟的前端技術(shù)開發(fā)能力,中大型系統(tǒng)部署與運營能力
(4)硬件要求 Linux操作系統(tǒng),4核8G(最低)5M帶寬,可多臺服務(wù)器中的微服務(wù)指向統(tǒng)一微服務(wù)調(diào)度中心(本系統(tǒng)微服務(wù)調(diào)度中心管理平臺zookeeper)
(二)軟件與硬件數(shù)據(jù)交互簡述 1.硬件端 (1)目前解決方案 封裝工具類,兼容市場主流硬件設(shè)備,只負責各類硬件數(shù)據(jù)封裝為統(tǒng)一數(shù)據(jù)結(jié)構(gòu)。硬件發(fā)包目前多為http主動推送數(shù)據(jù),被動接受服務(wù)端返回指令
(2)未來解決方案 改造主流廠商硬件底層服務(wù)系統(tǒng),新增硬件規(guī)范的合法身份數(shù)據(jù),采用長連接進行數(shù)據(jù)交互,保證數(shù)據(jù)與指令的實時性與可靠性得到更好的保障
2.服務(wù)端 (1)被動處理硬件數(shù)據(jù) 中間件處理各類前端數(shù)據(jù),接收硬件推送數(shù)據(jù),解析,計算,做出相應(yīng)反饋
(2)主動通知硬件發(fā)生事件行為 長連接推送指令,例如開閘,實時動態(tài)配置硬件數(shù)據(jù)等,
二、常規(guī)功能簡述 (一)基礎(chǔ)功能 1.硬件管理 支持單個硬件管理與記錄,硬件在線狀態(tài),維修與進度記錄等。與指定停車場出入口進行綁定,均有記錄GPS位置
2.停車場管理 不同時段費用配置,每日封頂因素綜合參與動態(tài)計費,也支持靜態(tài)+每日上限計費。支持查詢附近停車場功能
3.停車記錄管理 詳細記錄產(chǎn)生時間,地點,進出口位置,進出時間,異常數(shù)據(jù)實時推送與快速處理
4.支付機構(gòu)管理 每個停車場的支付賬號均可以獨立配置,支持同一個停車場使用多家支付機構(gòu)進行支付,例如支付寶,微信,銀聯(lián)等。
5.支付與優(yōu)惠活動管理 支付寶與微信,銀聯(lián)都均支持免密支付(無感支付)。本系統(tǒng)自帶優(yōu)惠券功能,支持支持多種套餐自定義與用戶進行快捷手機上下單隨時購買
(二)特色功能 1.異常數(shù)據(jù)實時推送,匯報,及時處理,提前預知與通知 2.即時通訊功能(IM聊天溝通) 性能,架構(gòu),優(yōu)化等均參考微信聊天功能機制進行開發(fā)
3.行業(yè)好友與圈子 讓該應(yīng)用不止只能停車,還能交到志同道合的行業(yè)知音,讓應(yīng)用更有溫度
4.商城與營銷功能 此功能主要考慮到使用者有運營周邊的興趣和能力,在商城和廣告營銷上進行盈利