?

基于云柜框架的智能共享冰箱平臺

2020-12-07 06:03訾帥帥俞家耀嚴昌鈺許紅梅王石
軟件工程 2020年11期
關鍵詞:共享

訾帥帥 俞家耀 嚴昌鈺 許紅梅 王石

摘? 要:為解決在校大學生對易變質、保存條件苛刻物品的存儲問題,本項目基于云柜框架的構想,采用主流的SSM(Spring SpringMVC MyBatis)框架結合MySQL(My Structured Query Language)數據庫和阿里云云服務器,設計了一個共享智能冰箱平臺,本平臺能夠精確地為用戶匹配閑置資源并動態分配存儲空間,從而滿足用戶的不同需求,有效地減少資源的浪費并實現閑置資源的合理利用。

關鍵詞:共享;匹配閑置資源;SSM;阿里云云服務器

中圖分類號:TP311? ? ?文獻標識碼:A

Abstract: To solve the problem of storage of perishable and harsh storage conditions for college students, this paper proposes a shared intelligent refrigerator space management platform based on the concept of cloud cabinet framework. Mainstream SSM (Spring SpringMVC MyBatis) framework is combined with MySQL (My Structured Query Language) database and Alibaba Cloud ECS (Elastic Compute Service) to design a shared intelligent refrigerator platform. This platform can accurately match idle resources for users and dynamically allocate storage space, so as to meet different needs of users, to effectively reduce the waste of resources and realize the rational use of idle resources.

Keywords: sharing; matching idle resources; SSM; Alibaba Cloud ECS

1? ?引言(Introduction)

近年來,食品的種類層出不窮,食物、藥物存儲條件愈發苛刻。冰箱應時而生,作為當下食物保鮮的主要方式,也成為人們日常生活的不可或缺的一部分。而在大學校園中,部分學校出于安全考慮,對宿舍用電存在一定限制,大學生在宿舍大規模使用冰箱難以實現。

隨著Uber[1]、Airbnb[2]等一系列實物共享平臺的出現,共享經濟[3]統一調配社會資源使其得到更加高效的利用,成為一種必然趨勢?;谶@一理念,搭建一個以云柜為框架的共享智能冰箱平臺。該平臺以共享冰箱作為客戶終端,以移動設備為媒介訪問后臺服務器獲取相關服務。共享冰箱由多個具備冷藏功能的獨立格子組成,將其投放在學生宿舍樓下或樓層等靠近生活區,用戶通過掃碼的方式登錄后臺服務器選擇租用冰箱。共享冰箱可以滿足用戶不同時長不同溫度的存取需求,這樣既方便了大學生的校內生活,也減少了資源的浪費。

2? ?總體設計(Overall design)

2.1? ?需求分析

為進一步確定共享冰箱平臺的實際需求,針對本地大學生以網上問卷調查的形式展開了關于共享冰箱的數據采集。此次調查歷時一周,共收集了76份數據,其中有效數據74份,數據的克隆巴赫系數(Cronbach's alpha)為0.9228,可作為有效數據參考;主要統計了用戶需求、使用頻率、使用時長及存儲物品類型等方面的數據,如圖1所示。

根據調研數據分析,了解到大部分大學生未曾聽說過共享冰箱但又存在對于藥物食品等物品冷藏的實際需求。共享冰箱應運而生,面向大學生群體提供定時定溫的臨時存儲功能。

2.2? ?框架設計

2.2.1? ?整體框架

云柜是一種聯網的智能儲物系統,利用云計算、互聯網、物聯網等信息技術,將傳統快遞投遞模式轉為信息系統管理。將快遞公司、收件人、管理方等相關各方無縫對接,實現集中、指定地點存取等功能,快遞信息得到保護,存取快遞更加安全、便捷。本項目正是基于云柜框架搭建的實現過程,進行分析與創新,研發制造新型智能共享冰箱平臺。

在平臺的開發過程中,主要使用Tomcat[4]實現后臺服務器的開發與調試,Mybatis[5]作為后臺數據庫存儲數據。本平臺主要采用B/S架構模式,不僅減輕了系統維護與升級的成本和工作量,由于瀏覽器的交互特性使得用戶行為的可繼承性非常強,用戶通過微信小程序[6]訪問服務器并獲取服務器的交互式服務,使用起來會更加簡便。平臺系統結構如圖2所示。

2.2.2? ?云服務器

由集群服務器虛擬出的阿里云服務器穩定可靠,可滿足不同需求,性價比較高。使用云服務器可提供平臺程序運行所需要的環境,極大程度地減少因網絡及硬件維護所帶來的問題,并且可存儲平臺的少量數據,彈性較大,增加或減少資源的速度較快,可確保多用戶即時操作。

2.2.3? ?后臺服務器

使用應用廣泛且簡單易理解的Java語言和高穩定性的Linux系統[8]作為后臺服務的開發與調試環境,基于SSM[ ]框架選取性能穩定、速度快、擴展性好的Tomcat服務器作為后臺服務器的開發工具。最后通過相關接口連接后臺控制系統實現對冰柜的控制、管理、運營,實現用戶與服務器的交互式服務。

2.2.4? ?數據庫設計

采用安全性高易維護的Mybatis數據庫作為數據的本地持久化工具,用來保存用戶信息、訂單內容及柜體信息等數據,即用戶信息、柜體信息、當前訂單及歷史訂單數據庫四個數據庫實體,各實體數據庫關系如圖3所示。

2.3? ?系統設計

基于以上的框架,平臺的主要運營流程如下:用戶通過微信小程序登錄服務器;查詢,選擇查詢空閑冰箱狀態、查詢當前用戶訂單信息、查詢個人信息(信譽分、剩余押金等個人信息);租賃,選擇冰柜位置、時長、溫度,確認訂單信息,付費(一旦提交訂單,該冰箱存在開啟或關閉狀態,用戶將獲取冰箱的狀態操作權,可隨時進行操作,當用戶選擇功能后,門鎖模塊根據命令對冰箱門進行操作,冰箱待選狀態也會發生改變);訂單完成時,小程序會通知用戶取件或續租,若用戶未選擇取件或續租,平臺將會按照原有付費標準扣除用戶押金繼續存儲,若押金耗盡仍未取回,冰柜不再提供冷藏并扣除用戶一定的信譽積分;用戶也可以選擇提前結束訂單,平臺會按照未使用時間退還租金,如圖4所示。

3? ?模塊實現(Module implementation)

通過擁有大量用戶且提供便捷的支付接口的微信平臺為依托創建微信小程序作為流量入口,為用戶提供便利、安全的訪問服務器通道,同時也便于交易訂單的處理和前期平臺的宣傳推廣。

3.1? ?用戶登錄模塊的實現

通過微信小程序內置的wx.login()(用戶微信小程序的一種接口)來獲取用戶此次登錄的臨時登錄憑證Code,然后通過該Code和小程序的Appid、Appsecret向https://api.weixin.qq.com/sns/jsCode2session?appid=APPID&secret=SECRET&js_Code=JSCode&grant_type=authorization_Code請求用戶的Openid(用戶唯一標識),并將該結果返回到后臺,后臺驗證該用戶是否存在,若不存在則存儲該Openid并為其分配一個后臺標識Userid,若已存在則讀取該用戶的信息。

3.2? ?冰箱租借模塊的實現

當用戶進入租借界面時,小程序首先會請求對用戶的定位,然后顯示用戶周圍最近冰柜租借點。當用戶選定一臺冰箱時,小程序會向后臺請求該冰柜空余的冰箱Id集合,并返回到用戶的選擇菜單中。當用戶選定冰柜、冰箱編號、使用時長和制冷溫度后,會向后臺發送該條訂單數據,后臺會再次驗證該冰箱是否已被使用,若驗證通過,則將該訂單存入待支付訂單數據庫,待用戶完成支付后,將該訂單轉存入當前訂單數據庫。

3.3? ?訂單查詢模塊

當用戶進入訂單頁面時,小程序會通過用戶的Userid向后臺發起請求,獲取該用戶的待支付訂單、當前訂單、超時訂單和歷史訂單等數據。

3.4? ?用戶存取模塊

當用戶完成租借后,可以在當前訂單頁面選擇正在租用的冰箱進入該冰箱的控制頁面,對該冰箱進行開門控制。當用戶進行該冰箱的開門請求時,小程序會將該用戶的Userid和冰箱編號發送給后臺,后臺驗證通過后即對該冰箱進行開門操作,當用戶關閉冰箱時,后臺自動將冰箱的狀態改為關閉。

3.5? ?消息通知模塊

本模塊通過中國網建短信通和其相應的Java api完成。主要完成即將到期的冰箱租借業務對用戶進行提醒及超時業務對用戶進行通知。

3.6? ?訂單結束模塊

(1)當用戶在租用時間內主動進行冰箱退租操作時,用戶可以選擇根據剩余時間退款或者是將剩余時間保留到下一次繼續使用,并且平臺將該訂單會被轉存入歷史訂單數據庫。

(2)后臺會以秒為單位間隔對當前訂單數據庫進行查詢,若當前時間離訂單預計結束時間小于三十分鐘時,后臺會通過調用消息模塊對用戶進行提醒,若當前時間大于訂單預計結束時間時該訂單會被轉入超時訂單數據庫,并對用戶進行通知。當用戶主動結束訂單并付清超時費用時,會將該訂單轉入歷史訂單數據庫。

4? ?結論(Conclusion)

本平臺主要采用B/S服務架構,基于微信程序,實現用戶與阿里云Linux的交互式服務[9]。用戶和冰箱的狀態信息存儲于Mybatis數據庫中。微信小程序原生框架可以提供唯一用戶標識,前端利用Web服務器連接數據庫,從而關聯用戶與冰箱信息。平臺的租費支付主要是通過使用微信支付的API嵌入來完成模塊的設計,系統可對冰箱進行控制與管理功能,利用SSM框架接口,實現選擇使用時長,調整溫度,用戶反饋等功能。模塊化設計可使后期的維護和擴展更便捷高效。

參考文獻(References)

[1] 王超.UBRE是什么[M].北京:中國商業出版社,2015.

[2] 劉歆玥.從Airbnb淺析共享經濟以及在中國的適應性研究[J].現代商業,2016,19(08):1.

[3] 羅賓·蔡斯.共享經濟:重構未來商業新模式[M].浙江:浙江人民出版社,2015.

[4] 劉增輝.MyBatis從入門到精通[M].北京:電子商業出版社,2017.

[5] 孫衛琴.Tomcat與Java We開發技術詳解[M].北京:電子商業出版社,2019.

[6] 熊普江,謝宇華.小程序,巧應用[M].北京:機械工業出版社,2017.

[7] 柳青.Linux應用教程[M].北京:清華大學出版社,2008.

[8] Arief Ginanjar, Mokhamad Hendayun. Spring Framework Reliability Investigation Against Database Bridging Layer Using Java Platform[J]. Procedia Computer Science, 2019,1(101):4-8.

[9] 鄧勝利.基于用戶體驗的交互式信息服務[M].武漢:武漢大學出版社,2008.

猜你喜歡
共享
正確認識五大發展理念的內涵和要求
對應用大數據完善檢驗監管的思考
招商引資檔案管理與信息資源共享探析
“互聯網+教育”視閾下的教育共享初探
談云計算與信息資源共享管理
褪色的“共享”
掛羊頭賣狗肉的“共享”營銷
圖書館與出版企業數字資源共享的環境因素分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合