基于iOS平臺車位共享系統(tǒng)設(shè)計與實現(xiàn)
掃描二維碼
隨時隨地手機(jī)看文章
引 言
近年來,隨著經(jīng)濟(jì)發(fā)展,我國機(jī)動車保有量迅速增長。但與此同時,城市化加速發(fā)展,城市停車位數(shù)量增長卻嚴(yán)重滯后,城市的停車供需矛盾日益突出[1,2]。城市停車難的問題固然有停車位絕對數(shù)量不能滿足日益增長的停車需求的原因,但車位信息不對等,資源利用率低等因素,在一定程度上加劇了城市停車難的問題 [3]。人流較為集中的公共場所在工作日時停車位非常緊張,而與此同時,在相鄰的住宅區(qū),可能因為業(yè)主上班或者出門辦事,會有大量的剩余車位空閑。如果能通過智能平臺將碎片化的車位資源整合分享,無疑能在很大程度上緩解停車位緊張的問題 [4,5]。
隨著互聯(lián)網(wǎng)的飛速發(fā)展,特別是近年來隨著社交網(wǎng)絡(luò)、物聯(lián)網(wǎng)、云計算以及多種傳感器的廣泛應(yīng)用,以數(shù)量龐大, 種類眾多,時效性強(qiáng)為特征的數(shù)據(jù)不斷涌現(xiàn),人與人之間通過網(wǎng)絡(luò)的聯(lián)系愈發(fā)緊密 [6]。利用移動互聯(lián)網(wǎng)技術(shù),將每一個車主作為信息源,將車位空閑時間等信息發(fā)布到手機(jī)平臺,有需求的車主可以按照自己的需求自行搶單,完成空閑車位使用, 通過這樣的方式,空閑車位可以被分割成一個個小的時段,讓不同的車主分時共享,而車主也可以通過出讓空閑車位來獲取等效的車位時間,以免費(fèi)使用其他車主的空閑車位。通過時間互換的方式使得出讓車位與使用空閑車位的人得到利益平衡。這種時間交換的方式摒棄了通過金錢交易的手段,使得用戶不會為了經(jīng)濟(jì)利益最大化而長期占用空閑車位,最大程度的提高車位使用效率,緩解城市停車難的問題。
1 相關(guān)工作
國內(nèi)外曾經(jīng)出現(xiàn)過幾種利用移動網(wǎng)絡(luò)終端來共享空閑車位,提高空閑車位使用率的軟件。這些軟件雖然在一定程度上能夠緩解車位緊張的壓力,但由于應(yīng)用策略的設(shè)計上存在一些問題,在推廣應(yīng)用方面并不成功[7,8]。
MonkeyParking 是美國的一家初創(chuàng)型公司,用戶將自己占用的停車位信息發(fā)送到網(wǎng)絡(luò)平臺上,通過拍賣的形式出售給下一位用戶,誰出價更高就歸誰使用。這種方式雖然能在一定程度上提高車位的利用效率,但其運(yùn)營方式體現(xiàn)出極為明顯的盈利目的,用戶使用該產(chǎn)品的積極性很低,該應(yīng)用最終在舊金山遭禁,也表明該公司采用的共享經(jīng)濟(jì)模型仍不成熟,理想需求和用戶錯位是其最大軟肋[9]。
Sweetch 創(chuàng)業(yè)公司為用戶提供 掏點小錢就能解決停車難題 的服務(wù)。他們開發(fā)了一款名為 Sweetch 的停車位共享App:假設(shè)A 在尋找停車位,而 B 要離開自己的停車位,同時使用一次停車位需繳納 5 美元的費(fèi)用。B 將自己所處停車位的信息上傳至Sweetch,A 隨即認(rèn)領(lǐng)B 的停車位,那么B 將得到系統(tǒng)返還的 4 美元。Sweetch 希望通過減少車主尋找停車位的時間來緩解交通擁堵造成的壓力。然而在實際使用過程中,似乎有錢人更容易找到停車位。
國內(nèi)的 丁丁停車 App 則是用戶將自己車位的空閑時間出租,來獲得對外分享費(fèi)用,以此方式抵消停車位的價格 [10]。去年 丁丁停車 App 獲得了數(shù)千萬元的天使投資,但該 App 采用的車位租賃方式不符合我國用戶使用App 的習(xí)慣,目前尚未呈現(xiàn)快速發(fā)展的趨勢。此前包括北京、廣州等多地都有小區(qū)推出了車位共享、錯時停車的車位解決辦法,但最終都沒能得到很好的使用和推廣。
2 車位共享系統(tǒng)設(shè)計
2.1 系統(tǒng)操作流程
車位共享系統(tǒng)為:車主 a 在A 地居住,在B 地工作,車主b 在B 地工作,在 A 地居住,兩人在各自居住地均有停車位, 因此在工作時間,a、b 兩人可以通過平臺獲取車位空閑時間信息,交換使用車位,在不增加兩人經(jīng)濟(jì)成本的同時提高了車位使用率。在實際使用過程中,用戶提供車位信息與時段,采用置換時間的方式,通過提供車位時間來換取本人免費(fèi)的時間。不同于按次收費(fèi)的方式,采用等時間置換的方式或根據(jù)車位位置設(shè)置時間權(quán)重,高優(yōu)先級的車位可以換取相對多的停車時間。
用戶使用該平臺的基本操作流程 :注冊賬號,填寫車位相關(guān)(位置、類型、歸屬狀況等)信息 ;在平臺上發(fā)布車位空閑時間;平臺將根據(jù)車位需求情況進(jìn)行優(yōu)化配置,選擇合適的車位使用用戶;在車位使用后將車位使用時間計入本用戶可置換時間。對于車位使用用戶可以通過注冊的賬號登錄,實時查詢空閑車位信息,選擇預(yù)定相關(guān)車位的使用時段,并用自己積累的車位時間進(jìn)行支付。
2.2 系統(tǒng)架構(gòu)
車位共享系統(tǒng)基于 iOS 平臺,采用服務(wù)器 / 客戶端架構(gòu), 服務(wù)器端基于MySQL 完成用戶、車位信息的存儲、管理與查詢功能;客戶端基于 iOS 平臺實現(xiàn)用戶登錄、發(fā)布、查詢、預(yù)定車位等功能。系統(tǒng)結(jié)構(gòu)如圖 1 所示。
2.3 客戶端設(shè)計
客戶端基于用戶手持 iOS 設(shè)備,完成用戶注冊,登錄,發(fā)布、 查詢車位信息,車位預(yù)定、時間支付等功能,客戶端分為 5 個 模塊,其結(jié)構(gòu)如圖 2 所示。
(1)用戶注冊模塊為首次使用該系統(tǒng)的用戶創(chuàng)建 ID,設(shè) 置用戶名、密碼,用戶利用該模塊填寫車位位置、可用時間等 相關(guān)信息,其中車位位置可通過 iOS 平臺提供的定位功能確定, 相應(yīng)信息將計入服務(wù)器端的數(shù)據(jù)庫,用于用戶信息管理及查詢;
(2)用戶登錄模塊。根據(jù)輸入的用戶名、密碼判斷是否 為合法用戶,為合法用戶完成登錄操作 ;
(3)車位信息發(fā)布模塊。獲取用戶更新的車位空閑時間, 服務(wù)器端根據(jù)相應(yīng)信息更新數(shù)據(jù)庫 ;
(4)車位信息查詢模塊。將用戶輸入的查詢關(guān)鍵字傳到 服務(wù)器,根據(jù)數(shù)據(jù)庫返回的信息為用戶提供可用的車位信息 ;
(5)車位預(yù)定、支付模塊。根據(jù)用戶選擇的車位,完成 車位排他性預(yù)定,用戶用自己積累的車位時間進(jìn)行支付。
2.4 服務(wù)器設(shè)計
服務(wù)器端建立并維護(hù)用戶和車位信息,響應(yīng)用戶查詢、預(yù)定、支付等操作。服務(wù)器端分為消息響應(yīng)模塊和數(shù)據(jù)庫模塊, 其結(jié)構(gòu)圖如圖 3 所示。
數(shù)據(jù)庫模塊記錄存儲用戶、車位可用時間等實時信息以及車位使用記錄等歷史信息。需要建立并維護(hù)數(shù)據(jù)表,記錄每個用戶的ID,車位位置,車位可用時間,累計出讓車位時間, 累計使用車位時間等相關(guān)信息。
消息響應(yīng)模塊響應(yīng)用戶操作。完成用戶的注冊,填寫、修改車位信息,獲取用戶發(fā)布的車位空閑時間,根據(jù)這些信息更新數(shù)據(jù)庫,完成數(shù)據(jù)插入、刪除、修改等操作。根據(jù)用戶提交的查詢請求來查詢數(shù)據(jù)庫,返回相應(yīng)信息。包括查詢個人信息,根據(jù)輸入的時間、地點查詢合適的車位等。根據(jù)用戶 選擇的車位完成車位預(yù)定以及時間支付等功能,并更新數(shù)據(jù) 庫相應(yīng)數(shù)據(jù)。
3 車位共享系統(tǒng)實現(xiàn)
車位共享系統(tǒng)基于 iOS 平臺實現(xiàn), 客戶端界面采用 Xcode 開發(fā)環(huán)境的 InterfaceBuilder 實現(xiàn), 開發(fā)環(huán)境為MacBook Pro,測試環(huán)境為Iphone simulator,后臺數(shù)據(jù)庫基于MySQL 實現(xiàn)。
3.1 用戶登錄模塊
在用戶啟動軟件后,首先進(jìn)入登錄頁面,判斷用戶是否為合法用戶。進(jìn)入登錄頁面后,判斷本機(jī)是否保存了自動登錄信息,并判斷是否已注冊,如果未注冊,則進(jìn)入注冊頁面;如果用戶已注冊,則提示用戶輸入用戶名、密碼,查詢、判斷該用戶是否合法。如果不合法,則提示登錄失敗;如果用戶合法, 則登錄成功,進(jìn)入用戶操作界面。
系統(tǒng)采用 NSURLConnection 向服務(wù)器端發(fā)送查詢信息的方式查詢用戶是否合法,NSURL 為請求查詢地址,在NSURLRequest 中封裝要發(fā)送的請求,包括用戶名、密碼、地址等查詢信息。通過NSURLConnection發(fā)送請求,建立客戶端與服務(wù)器的鏈接,將建立的數(shù)據(jù)包發(fā)送給服務(wù)器,接收服務(wù)器的響應(yīng)數(shù)據(jù)。根據(jù)查詢返回結(jié)果判斷用戶狀態(tài),將登錄成功用戶名不存在或密碼不正確等信息顯示在界面上, 提示用戶的登錄狀態(tài)。
3.1 信息發(fā)布查詢模塊
車位信息的發(fā)布和查詢是系統(tǒng)的重要環(huán)節(jié)。服務(wù)器端根據(jù)用戶發(fā)布的信息更新數(shù)據(jù)庫,根據(jù)用戶的查詢條件返回相應(yīng)的結(jié)果。當(dāng)服務(wù)器收到客戶端發(fā)布的信息后,采用insert、delete、update 等語句完成數(shù)據(jù)庫中信息的插入、刪除、更新等操作。當(dāng)獲取用戶查詢消息時,需要對數(shù)據(jù)庫進(jìn)行查詢,查詢的處理流程如圖 4 所示。
通常用戶的查詢條件包括地點、時間等。需要對數(shù)據(jù)庫 中的車位信息按距離查詢、排序。首先進(jìn)行搜索,在數(shù)據(jù)庫中 搜索出距離用戶提供的查詢地點一定范圍內(nèi)的車位,通常用戶 通過iOS定位功能提供查詢和車位位置,該位置以經(jīng)緯度給出, 可通過比較經(jīng)緯度簡單判斷出查詢點和車位之間的距離;遍歷 搜索出來的結(jié)果,用時間和距離再次過濾,得到精確的查詢 結(jié)果 ;最后根據(jù)距離由近及遠(yuǎn)進(jìn)行排序,返回查詢結(jié)果。
4 未來工作
車位共享系統(tǒng)在實際應(yīng)用過程中,其安全性也是用戶應(yīng)該考慮的重要問題,將自己的車位授權(quán)給他人使用是否會帶來安全隱患,是否存在潛在糾紛。為此,車位共享系統(tǒng)的安全問題需要在應(yīng)用中深入討論。如對使用系統(tǒng)的用戶進(jìn)行實名認(rèn)證,可以通過綁定手機(jī)號和車牌號的方式來確定使用人員的身份;采用手機(jī)驗證碼的方式來獲取小區(qū)門禁權(quán)限 ;對于違規(guī)使用的用戶,采取一定的懲罰措施等。
5 結(jié) 語
車位共享系統(tǒng)通過車位信息發(fā)布,具有車位共享等功能, 可實現(xiàn)空余車位的精細(xì)化管理,使有車位的用戶在空間上實現(xiàn)資源共享,充分利用車位資源,有效緩解停車難問題。該平臺可進(jìn)行大規(guī)模應(yīng)用推廣。