陳林
(宿遷學(xué)院 江蘇省宿遷市 223800)
Android 系統(tǒng)是免費(fèi)、開放的平臺,所以其受到了三星、華為、中興等諸多手機(jī)廠商的支持。根據(jù)凱度移動通信消費(fèi)者指數(shù)2015年 6月公布的智 能手機(jī)操作系統(tǒng)市場份額數(shù)據(jù),Android 系統(tǒng)在中國市場的占有率達(dá) 79%,是中國智能手機(jī)市場占有率最大的操作系統(tǒng)。Android 系統(tǒng)在中國市場占有率極高,成為多數(shù)手機(jī)用戶的系統(tǒng),因此,本文基于Android 手機(jī),設(shè)計(jì)城市實(shí)時(shí)公交查詢系統(tǒng)。
本文設(shè)計(jì)的城市公交實(shí)時(shí)查詢系統(tǒng)主要有三個(gè)板塊,分別為后臺服務(wù)器、車輛終端、手機(jī)客戶端,系統(tǒng)設(shè)計(jì)的期望功能為為使用者提供查詢車輛的位置、站臺信息、發(fā)車時(shí)刻以及道路交通狀況。
系統(tǒng)的主要模塊有三個(gè),分別為后臺服務(wù)器、車輛終端、手機(jī)客戶端,后臺模擬器的作用主要為定位車輛位置,實(shí)時(shí)更新車輛位置,并且更改道路交通狀況信息。車輛終端則負(fù)責(zé)實(shí)時(shí)反應(yīng)車輛位置,手機(jī)客戶端則可以用來查詢這些信息,系統(tǒng)后臺服務(wù)器是指一個(gè)運(yùn)行在電腦上的一個(gè)Java 應(yīng)用程序,該應(yīng)用后面維護(hù)著一 個(gè)數(shù)據(jù)庫,用來儲存公交運(yùn)行中的各種數(shù)據(jù);手機(jī)客戶端和模擬車輛終端都是運(yùn)行在Android 手機(jī)上的應(yīng)用程序。 三個(gè)模塊相結(jié)合,從而使該城市實(shí)時(shí)公交查詢系統(tǒng)數(shù)據(jù)更準(zhǔn)確、使用更便捷。
系統(tǒng)設(shè)計(jì)的期望功能為為使用者提供查詢車輛的位置、站臺信息、發(fā)車時(shí)刻以及道路交通狀況。系統(tǒng)的主要運(yùn)行方式是:手機(jī)客戶端和模擬車輛終端向后臺服務(wù)器發(fā)出的請求,后臺服務(wù)器實(shí)時(shí)更改數(shù)據(jù)庫中的數(shù)據(jù),并根據(jù)手機(jī)客戶端上的請求向手機(jī)客戶端反饋信息。
模擬后臺服務(wù)器為該城市公交實(shí)時(shí)查詢系統(tǒng)的核心,它存儲著所有信息,并擔(dān)任信息更新的工作,模擬車輛終端和模擬手機(jī)客戶端的信息都將存儲在這一數(shù)據(jù)庫中,由它實(shí)現(xiàn)信息的交互與更新。因此,模擬后臺服務(wù)器的設(shè)計(jì)至關(guān)重要。模擬后臺服務(wù)器的主界面為系統(tǒng)后臺界面,管理員登錄賬號后,通過點(diǎn)擊“添加路線”、“刪除路線”、“更改路線”等,即可使用相應(yīng)功能,添加或修改刪除公交線路。模擬后臺服務(wù)器是一個(gè)電腦上的一個(gè)Java 應(yīng)用程序,后面維護(hù)著一個(gè)大的總數(shù)據(jù)庫,而這一數(shù)據(jù)庫下是每一條公交線路的數(shù)據(jù),可以稱之為小數(shù)據(jù)庫,數(shù)據(jù)庫中的數(shù)據(jù)將根據(jù)車輛終端及手機(jī)客戶端所反應(yīng)的信息不斷進(jìn)行更新,從而實(shí)現(xiàn)系統(tǒng)的城市實(shí)時(shí)公交查詢功能。在應(yīng)用投入使用前期,城市實(shí)時(shí)公交查詢系統(tǒng)的管理員要盡可能完善地導(dǎo)入城市公交地線路信息,為用戶提供全面準(zhǔn)確地服務(wù)。
模擬后臺服務(wù)器的功能主要為:增加和刪除公交路線和行車線路;接收并發(fā)布用戶選定的線路上公交車傳來的站點(diǎn)擁堵信息;為用戶發(fā)布選定線路上距離最近站點(diǎn)的公交實(shí)時(shí)位置以及預(yù)計(jì)到達(dá)時(shí)間。這樣,用戶能夠根據(jù)城市實(shí)時(shí)公交查詢系統(tǒng)發(fā)布的公交實(shí)時(shí)位置以及預(yù)計(jì)到達(dá)時(shí)間,合理規(guī)劃自己的出行時(shí)間。
模擬后臺服務(wù)器連接著一個(gè) Access 數(shù)據(jù)庫,該數(shù)據(jù)庫命名為bus,用來存儲系統(tǒng)中所要用到的一些數(shù)據(jù)。Java 中有多種訪問數(shù)據(jù)庫的方法,而本城市公交實(shí)時(shí)查詢系統(tǒng)采用的是把JDBC 轉(zhuǎn)換成 ODBC 驅(qū)動器的方法,靠ODBC 和數(shù)據(jù)庫建立通信連接。根據(jù)該城市實(shí)時(shí)公交查詢系統(tǒng)所期望實(shí)現(xiàn)的功能,建立五張數(shù)據(jù)庫,分別為“公交線路(Bus lines)”、“公交站點(diǎn)(bus stop)”、“公交位置(Bus location)”、“道路狀況(Road conditions)”、“到達(dá)時(shí)間( arrival time)”。
模擬后臺服務(wù)器的運(yùn)行流程如圖1 所示。
圖1
如圖1 所示,模擬后臺服務(wù)器首先是一個(gè)“登錄界面( login interface)”,只有輸入進(jìn)正確的賬號密碼后,才能跳轉(zhuǎn)到后續(xù)的功能模塊界面。功能模塊界面主要有三個(gè)板塊,分別為“添加路線(Add route)”、“修改路線(Revision of route)”、“刪除路線(Delete route)”,點(diǎn)擊添加路線,即可輸入線路名稱以及各個(gè)站點(diǎn)的信息,點(diǎn)擊修改路線,即可修改線路站點(diǎn),點(diǎn)擊刪除路線,即可一鍵刪除整條路線。模擬后臺服務(wù)器的前期錄入工作是比較耗費(fèi)人力物力的,城市公交線路眾多,全部錄入需要耗費(fèi)一定的時(shí)間,但本文仍未找到更方便合適有效正確的錄入方式,只能選擇人工錄入。
以人工實(shí)時(shí)更新車輛位置的方式顯然耗費(fèi)巨大的人力物力,且效率較低,無法實(shí)現(xiàn)城市實(shí)時(shí)公交查詢系統(tǒng)中的實(shí)時(shí)二字,因此,建議在每一輛公交上防止定位系統(tǒng),每隔一段固定的時(shí)間反應(yīng)車輛的所屬位置。如,將定位系統(tǒng)的固定發(fā)送信息時(shí)間定為三分鐘,則每隔三分鐘時(shí)間,定位系統(tǒng)便將公交車所處位置的經(jīng)緯度發(fā)送給后臺服務(wù)器,后臺服務(wù)器便能夠?qū)崟r(shí)接受公交車輛位置并更新。時(shí)間設(shè)置的越短,則公交車的實(shí)時(shí)位置反應(yīng)的越準(zhǔn)確。但同時(shí),也要考慮到系統(tǒng)的運(yùn)行能力,并且公交車的行駛速度較慢,行駛的路線也已固定,無需設(shè)定非常短的時(shí)間,開發(fā)者可以根據(jù)城市實(shí)時(shí)公交查詢系統(tǒng)的使用情況和城市公交實(shí)際運(yùn)行狀態(tài)來更改這一固定時(shí)間,從而既緩解系統(tǒng)負(fù)擔(dān),又能較為準(zhǔn)確的反應(yīng)城市公交車實(shí)時(shí)位置。
為進(jìn)一步準(zhǔn)確定位車輛位置,避免一些意外狀況的發(fā)生,該城市實(shí)時(shí)公交查詢也可以人工更改車輛位置狀態(tài)。模擬車輛終端一共有四個(gè)板塊,分別為“登錄界面( login interface)”、“線路選擇(Line selection)”、“站點(diǎn)選擇(Site selection)”、“狀態(tài)選擇(State selection)”,車輛終端管理員正確輸入賬號密碼后即可登錄,點(diǎn)擊相應(yīng)按鈕后即可實(shí)現(xiàn)相應(yīng)的功能,顧名思義,線路選擇是選擇好要更改信息的信息,而后選擇公交車即將到達(dá)的站點(diǎn),并填寫相應(yīng)的道路交通狀況信息。道路交通狀況信息有四種狀態(tài),分別為“重度擁堵(State1)”、“中度擁堵(State2)”、“輕度擁堵(State3)”、“道路順暢(State4)”,點(diǎn)擊相應(yīng)的狀況后,后臺服務(wù)器就會將要更新的數(shù)據(jù)更新在數(shù)據(jù)庫中,從而實(shí)現(xiàn)實(shí)時(shí)更新公交位置及實(shí)時(shí)反應(yīng)道路交通狀況的功能。
模擬車輛終端功能:向服務(wù)器發(fā)送自身的運(yùn)行方向及所處的位置;實(shí)時(shí)地向服務(wù)器發(fā)送該車所在運(yùn)行區(qū)間的擁堵狀況。在發(fā)生意外情況時(shí),可以人工更改車輛信息。
模擬車輛終端運(yùn)行效果良好,比起其他城市實(shí)時(shí)公交查詢系統(tǒng)來說,它反應(yīng)的數(shù)據(jù)更及時(shí),更準(zhǔn)確、更全面,用戶能夠隨時(shí)查看公交車的位置變化,從而規(guī)劃出行路線及時(shí)間。但缺點(diǎn)也是有的,給每一輛公交車輛都安裝實(shí)時(shí)定位系統(tǒng)成本較高,且對系統(tǒng)的運(yùn)行造成了一定程度的負(fù)擔(dān),在實(shí)際的運(yùn)行過程中,公交車輛線路多樣,輛數(shù)眾多,系統(tǒng)可能會難以運(yùn)行,要優(yōu)化數(shù)據(jù)庫的設(shè)置,設(shè)計(jì)的更簡潔更節(jié)省數(shù)據(jù)空間。
模擬手機(jī)客戶端一共有四個(gè)功能板塊,分別為“登錄界面 (login interface)”、“線路選擇(Line selection)”、“站點(diǎn)選擇(Site selection)”、“狀態(tài)選擇(State selection)”,與模擬車輛終端所不同的是,用戶在選擇完線路和站點(diǎn)后,即可跳轉(zhuǎn)到地圖,地圖上顯示線路信息及車輛位置,系統(tǒng)將計(jì)算出最近的公交到達(dá)用戶所選站點(diǎn)的預(yù)估時(shí)間,并且顯示車輛終端及手機(jī)客戶端所發(fā)布的道路交通狀況,用戶即可按照預(yù)估時(shí)間及實(shí)時(shí)更新的車輛位置,確定自己出門乘坐公交的時(shí)間。而在手機(jī)客戶端的狀態(tài)選擇中,也有四個(gè)模塊,分別為“重度擁堵(State1)”、“中度擁堵(State2)”、“輕度擁堵(State3)”、“道路順暢(State4)”,與模擬車輛終端相同,點(diǎn)擊相應(yīng)的狀況后,后臺服務(wù)器就會將要更新的數(shù)據(jù)更新在數(shù)據(jù)庫中,從而實(shí)現(xiàn)實(shí)時(shí)更新公交位置及實(shí)時(shí)反應(yīng)道路交通狀況的功能。
模擬手機(jī)客戶端功能:按公交路線查詢行車線路(如輸入33,即可查看公交所有站點(diǎn),以起點(diǎn)站到終點(diǎn)站的順序排列);查詢所處站點(diǎn)的下一輛到達(dá)的公交車所處位置;從服務(wù)器上獲取在選定線路上的公交傳回的道路擁堵信息。
本論文中的模擬手機(jī)客戶端均是基于 Android 平臺開發(fā)的應(yīng)用程序。這一模擬手機(jī)客戶端是向用戶發(fā)布的公交查詢軟件,軟件的使用界面相當(dāng)簡潔,用戶通過該系統(tǒng)可以隨時(shí)隨地查看所等待公交線路的公交車輛實(shí)時(shí)位置信息和預(yù)估到達(dá)時(shí)間,便于用戶合理安排乘車時(shí)間,提高出行效率。該系統(tǒng)的設(shè)計(jì)和運(yùn)行解決了傳統(tǒng)城市公交實(shí)時(shí)查詢系統(tǒng)公交位置更新不及時(shí),無法反應(yīng)道路交通狀況等問題,通過車輛定位系統(tǒng),實(shí)時(shí)反應(yīng)車輛位置,通過車輛終端和手機(jī)客戶端兩者共同反應(yīng),顯示道路交通狀況,避免了盲目候車等問題,具有重要的實(shí)用價(jià)值。今后,還將對該系統(tǒng)的功能進(jìn)行擴(kuò)展,如反應(yīng)車內(nèi)乘客擁擠情況等功能,為城市公交數(shù)字化、智能化添磚加瓦。
模擬手機(jī)客戶端是向用戶發(fā)布的公交查詢軟件,本文設(shè)計(jì)的系統(tǒng)將人、車、服務(wù)器三者相結(jié)合,能較好的顯示車輛信息,實(shí)時(shí)反應(yīng)車輛位置,且具有一定的靈活機(jī)動性,在路況較差、交通擁堵等情況下,可以在后臺更改車輛位置,并標(biāo)明路況,解決了傳統(tǒng)實(shí)時(shí)公交查詢系統(tǒng)無法顯示道路狀況的問題,方便乘客實(shí)時(shí)查詢車輛位置和到達(dá)站點(diǎn)的預(yù)估時(shí)間,選擇合適的出行方案。
近年來,我國發(fā)展日新月異,城市化進(jìn)程不斷加快,城市交通問題日益嚴(yán)重。城市公交作為城市交通的重要部分,對于城市交通通暢和人們的出行便利具有非常重要的作用。實(shí)時(shí)公交系統(tǒng)近年來的應(yīng)用已越來越廣泛,通過城市實(shí)時(shí)公交查詢系統(tǒng),人們可以知曉車輛位置與發(fā)車時(shí)刻,從而更好的安排出行時(shí)間。