邱忠權(quán) 候雪莉 張德新
西南交通大學(xué),交通運(yùn)輸與物流學(xué)院,成都 610031
基于AAn nd dr ro oi id d系統(tǒng)的列車移動(dòng)信息服務(wù)平臺(tái)設(shè)計(jì)與訂餐系統(tǒng)的實(shí)現(xiàn)
邱忠權(quán)候雪莉張德新
西南交通大學(xué),交通運(yùn)輸與物流學(xué)院,成都 610031
我國(guó)鐵路經(jīng)過(guò)6次大提速后,硬件設(shè)施水平得到了大幅提升,但與之配套的旅客信息服務(wù)體系卻相對(duì)滯后。目前絕大多數(shù)鐵路列車上的媒體終端是單向播發(fā)系統(tǒng),研發(fā)適合鐵路列車的車載移動(dòng)信息服務(wù)平臺(tái)已迫在眉睫。本文針對(duì)鐵路旅客信息服務(wù)需求,運(yùn)用系統(tǒng)分析法和功能分析法研發(fā)設(shè)計(jì)了集管理、服務(wù)、監(jiān)控、娛樂(lè)四大功能于一體的列車車載移動(dòng)信息服務(wù)平臺(tái),該平臺(tái)的應(yīng)用功能主要包括列車點(diǎn)餐、視頻點(diǎn)播、音樂(lè)點(diǎn)播、電子書、新聞發(fā)布、廣告發(fā)布、列車時(shí)刻表、整晚點(diǎn)信息發(fā)布、游戲、監(jiān)控等。在車載信息服務(wù)平臺(tái)的基礎(chǔ)上,選擇平臺(tái)應(yīng)用案例中點(diǎn)餐功能進(jìn)行研究和開(kāi)發(fā),運(yùn)用個(gè)案研究法實(shí)現(xiàn)了基于Android的列車訂餐系統(tǒng)。
車載移動(dòng);信息服務(wù)平臺(tái);安卓系統(tǒng);無(wú)線點(diǎn)餐
近年來(lái),隨著鐵路部門職能的轉(zhuǎn)變,各職能部門自身業(yè)務(wù)處理能力和效率得到提高,面向社會(huì)公眾服務(wù)意識(shí)不斷增強(qiáng),客運(yùn)部門在旅客日??瓦\(yùn)服務(wù)方面有所改善,但還需要加強(qiáng)電子信息資源共享與下載、列車廣告,乘客移動(dòng)端點(diǎn)餐等特色旅客服務(wù)。
當(dāng)前,我國(guó)手機(jī)網(wǎng)民用戶已突破4.6億大關(guān),選擇鐵路運(yùn)輸方式的中長(zhǎng)途旅客通常采用手機(jī)上網(wǎng)的方式消磨時(shí)光[1]??墒?,鐵路運(yùn)輸線多數(shù)途徑偏遠(yuǎn)鄉(xiāng)村或莽莽大山里,運(yùn)行環(huán)境復(fù)雜,而且,網(wǎng)絡(luò)在高速的列車或隧道中的信號(hào)時(shí)斷時(shí)續(xù),十分不穩(wěn)定,導(dǎo)致旅客無(wú)法有效利用電子資源。另一方面,一般情況下商家只能在只有在列車讀物上做相應(yīng)的列車廣告,效果不是很好,同時(shí),對(duì)于鐵路部門來(lái)講,如果能做好全方位的列車廣告,會(huì)帶來(lái)很大一筆廣告收入。
針對(duì)旅途中的客服水平相對(duì)較低的現(xiàn)狀,特別是中長(zhǎng)途旅客常常在旅途中感覺(jué)十分無(wú)聊,時(shí)間無(wú)法消磨,開(kāi)發(fā)一套適合于具有交互式功能的路局列車車載移動(dòng)信息服務(wù)平臺(tái)迫在眉睫。
1.1硬件環(huán)境分析
信息的共享需要及時(shí)的網(wǎng)絡(luò),但高速列車上時(shí)斷時(shí)續(xù)的2G或者3G網(wǎng)絡(luò),根本不能保證乘客有效利用電子資源,只有存在穩(wěn)定的網(wǎng)絡(luò),乘客才能使用車載移動(dòng)信息服務(wù)平臺(tái)上的應(yīng)用軟件功能。因此,在列車上搭建穩(wěn)定的無(wú)線局域網(wǎng)環(huán)境,提供更豐富的車內(nèi)無(wú)線網(wǎng)絡(luò)信息,進(jìn)而可以吸引更多的乘客搭乘。以CRH1動(dòng)車為研究對(duì)象,在車廂內(nèi)搭建覆蓋整列列車的無(wú)線網(wǎng)絡(luò)環(huán)境,可以充分展示車廂信息化、網(wǎng)絡(luò)化水平。具體做法如下:
(1)通過(guò)在列車上搭建無(wú)線網(wǎng)絡(luò)覆蓋到每一節(jié)車廂,通過(guò)無(wú)線路由的方式把各節(jié)車廂的無(wú)線信號(hào)進(jìn)行互聯(lián),列車上共享一臺(tái)服務(wù)器,為列車旅客提供相應(yīng)的信息。
(2)通過(guò)車地寬帶通信設(shè)備實(shí)現(xiàn)與車站信息服務(wù)平臺(tái)的設(shè)備進(jìn)行互聯(lián),實(shí)現(xiàn)數(shù)據(jù)的交互,實(shí)現(xiàn)列車相關(guān)管理信息交互到車站信息服務(wù)平臺(tái),車站信息服務(wù)平臺(tái)把相關(guān)電子資源上傳給車載信息服務(wù)平臺(tái)。
(3)通過(guò)車外無(wú)線通信鏈路設(shè)備(多網(wǎng)合一無(wú)線匯聚路由)增強(qiáng)列車移動(dòng)信號(hào)(移動(dòng)、聯(lián)通、電信),有利于列車旅客實(shí)現(xiàn)互聯(lián)網(wǎng)的訪問(wèn)。
1.2功能需求分析
車載移動(dòng)信息服務(wù)可分成四個(gè)系統(tǒng),分別是:客運(yùn)服務(wù)系統(tǒng)、客運(yùn)主管部門管理系統(tǒng)、休閑娛樂(lè)管理系統(tǒng)以及平臺(tái)管理系統(tǒng)。各個(gè)系統(tǒng)的使用用戶及主要功能分析如下:
(1)客運(yùn)服務(wù)系統(tǒng)需要實(shí)現(xiàn)對(duì)列車日??瓦\(yùn)服務(wù)的管理,提高列車服務(wù)水平,可分為:日常客運(yùn)服務(wù)管理子系統(tǒng)、鐵路常識(shí)及新聞管理子系統(tǒng)、列車點(diǎn)餐子系統(tǒng)。
(2)休閑娛樂(lè)管理系統(tǒng)為旅客提供個(gè)性化服務(wù),需要提供休閑娛樂(lè),從而提高客運(yùn)服務(wù)水平。包括為旅客提供影視娛樂(lè)節(jié)目、電子書籍閱讀、列車交流討論、旅客指南、酒店預(yù)訂等功能。
(3)客運(yùn)主管部門管理系統(tǒng)實(shí)現(xiàn)客運(yùn)處、主管客運(yùn)段對(duì)列車運(yùn)行過(guò)程中的各種狀態(tài)進(jìn)行監(jiān)控與管理,包括列車員的服務(wù)質(zhì)量、乘務(wù)報(bào)告、車廂監(jiān)控畫面等。
1.3技術(shù)需求分析
列車移動(dòng)信息服務(wù)平臺(tái)開(kāi)發(fā)的主要技術(shù)是:由服務(wù)器、無(wú)線匯聚路由器、無(wú)線通信單元、應(yīng)用軟件子系統(tǒng)等組成平臺(tái)硬件框架;采用異構(gòu)網(wǎng)的帶寬匯聚技術(shù)、車載多級(jí)安全無(wú)線局域網(wǎng)技術(shù)、車站W(wǎng)IFI接入技術(shù)[2],在車廂內(nèi)搭建覆蓋整列列車的無(wú)線網(wǎng)絡(luò)環(huán)境;通過(guò)車地之間搭建無(wú)線網(wǎng)絡(luò)連接,與車站信息服務(wù)平臺(tái)進(jìn)行數(shù)據(jù)的傳輸與更新。
2.1平臺(tái)軟硬件設(shè)計(jì)
本文通過(guò)軟硬件網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)系統(tǒng)總體設(shè)計(jì),車載信息服務(wù)平臺(tái)軟硬件網(wǎng)絡(luò)拓?fù)鋱D如圖1所示。
圖1 車載信息服務(wù)平臺(tái)軟硬件網(wǎng)絡(luò)拓?fù)鋱DFig.1 Topologicaldiagram for the hard and soft wares of the informationservice platform
車載移動(dòng)信息服務(wù)平臺(tái)是集“管理、服務(wù)、監(jiān)控、娛樂(lè)”四大功能于一體化的信息運(yùn)營(yíng)平臺(tái),如圖1所示,本文把平臺(tái)總體劃分為三大模塊:綜合控制管理子系統(tǒng)、車載子系統(tǒng)、第三方服務(wù)系統(tǒng)。
2.2平臺(tái)功能設(shè)計(jì)
平臺(tái)各子系統(tǒng)功能設(shè)計(jì)要符合移動(dòng)信息服務(wù)各子系統(tǒng)需求,根據(jù)平臺(tái)功能模塊開(kāi)發(fā)相應(yīng)的應(yīng)用軟件,車載移動(dòng)信息服務(wù)平臺(tái)軟件架構(gòu)如圖2所示。隨著整個(gè)平臺(tái)的不斷調(diào)整升級(jí),結(jié)構(gòu)會(huì)變得越來(lái)越龐大,功能的劃分也會(huì)越來(lái)越細(xì)致,將會(huì)有更多的新產(chǎn)品需要研發(fā)。
2.3應(yīng)用平臺(tái)設(shè)計(jì)
采用多宮格設(shè)計(jì),類似win8 metro風(fēng)格,也可以切換為綜合門戶網(wǎng)站風(fēng)格或PAD版按鈕風(fēng)格[3]。首頁(yè)應(yīng)當(dāng)為“管理,信息,監(jiān)控,娛樂(lè)”四個(gè)板塊;但考慮到板塊交叉內(nèi)容重疊問(wèn)題,首頁(yè)應(yīng)當(dāng)包括三個(gè)區(qū)域,界面初步設(shè)計(jì)如圖3所示。
圖2 車載移動(dòng)信息服務(wù)平臺(tái)軟件架構(gòu)Fig.2 Soft fram of the conformationservice platform
圖3 應(yīng)用平臺(tái)服務(wù)界面的初步設(shè)計(jì)圖Fig.3 Application platform preliminary design of the informationserviceinterface
由于時(shí)間、精力的有限,本文只對(duì)客運(yùn)服務(wù)系統(tǒng)的列車點(diǎn)餐子系統(tǒng)進(jìn)行了研究和開(kāi)發(fā),其余功能模塊的實(shí)現(xiàn),可以該平臺(tái)基礎(chǔ)上外包給不同的開(kāi)發(fā)人。
3.1訂餐系統(tǒng)開(kāi)發(fā)技術(shù)
Android + Javabean + Struts2 + Spring2.1 + Hi bernate3.2 + SQLServer2005技術(shù)層次架構(gòu),采用C/S模式分為兩大部分(A、應(yīng)用服務(wù)器端。B、Android手機(jī)終端),系統(tǒng)采用HTTP協(xié)議來(lái)進(jìn)行數(shù)據(jù)傳輸。
應(yīng)用服務(wù)器:主要是完成數(shù)據(jù)交互和數(shù)據(jù)邏輯處理,該系統(tǒng)應(yīng)用服務(wù)器端提供訂餐的有關(guān)行情信息、關(guān)鍵字的服務(wù)信息,包括關(guān)鍵字:日期、類型、當(dāng)天價(jià)格、菜品信息等,通過(guò)IE訪問(wèn)該系統(tǒng)。
Android手機(jī)終端主要功能:利用Android手機(jī)界面,輸入各種關(guān)鍵字、將關(guān)鍵字提交到App Server進(jìn)行模糊查詢,將查詢的信息返回給手機(jī)終端,手機(jī)終端第一步將能查找到的條目以List View列于界面,第二步點(diǎn)擊界面中所有的項(xiàng)目,進(jìn)一步提交給App Server進(jìn)行詳細(xì)解釋,將檢索到的信息響應(yīng)手機(jī)終端,顯示在手機(jī)界面。
3.2訂餐系統(tǒng)總體設(shè)計(jì)
列車訂餐系統(tǒng)使用場(chǎng)景主要是:首先旅客使用Android手機(jī)終端下載平臺(tái)上列車點(diǎn)餐APP,在進(jìn)餐時(shí)間段內(nèi),旅客通過(guò)訪問(wèn)該系統(tǒng)進(jìn)行訂餐,并由餐車人員送至相應(yīng)車廂并當(dāng)時(shí)結(jié)賬。一方面,手機(jī)客戶端與用戶進(jìn)行交互,提供優(yōu)秀的用戶界面,另一方面與服務(wù)器端進(jìn)行數(shù)據(jù)的交換,本系統(tǒng)的結(jié)構(gòu)和運(yùn)行流程如圖4所示。
圖4 系統(tǒng)的結(jié)構(gòu)和運(yùn)行流程Fig. 4 Structure and operation process of the system
該系統(tǒng)主要采用了JDK、Tomcat、SQLServer2005、My Eclipse、Eclipse、ADT等開(kāi)發(fā)環(huán)境、工具及插件。
4.1客戶端核心模塊的代碼設(shè)計(jì)實(shí)現(xiàn)
為了提高訂餐系統(tǒng)的安全性,進(jìn)入系統(tǒng)必須進(jìn)行登錄。
對(duì)點(diǎn)擊登錄按鈕時(shí)的監(jiān)聽(tīng)器事件,首先創(chuàng)建Http Client對(duì)象,利用用戶名密碼及用戶地址生成登錄的Login Uri封裝成Http Post對(duì)象,使用execute方法發(fā)送Http Post請(qǐng)求,得到返回的Http Response對(duì)象http Response,如果返回的狀態(tài)是找到資源或者接收到返回的信息,則返回?cái)?shù)據(jù)有效,客戶端接收響應(yīng)并以JSON數(shù)據(jù)格式進(jìn)行解析[4]。
final User user = new Login Service().login(Online Uri. Login Uri, prams);
public Input Stream http ( String url, List < Name Value Pair > params ){
httppost.setEntity (new Url Encoded Form Entity ( params, HTTP.UTF_8 ) ) ;
http Response = http client.execute (httppost) ;
return http Response.get Entity ().get Content () ; }
點(diǎn)菜功能是訂餐系統(tǒng)中最為重要的一個(gè)功能,點(diǎn)菜的過(guò)程要將編號(hào)、菜品編號(hào)、送貨地址、訂購(gòu)時(shí)間等信息保存到服務(wù)器數(shù)據(jù)庫(kù)_ORDER表中,點(diǎn)餐時(shí)間取服務(wù)器當(dāng)前時(shí)間同步程序自動(dòng)完成,同時(shí)將編號(hào)、菜品編號(hào)、用戶編號(hào)、訂單編號(hào)等信息保存到服務(wù)器端的_ORDERITEM表中,方便管理員查詢和管理。下單的過(guò)程是將點(diǎn)菜的信息保存到服務(wù)器數(shù)據(jù)庫(kù)的_ORDERITEM表和_ORDER表中的過(guò)程。
(1)客戶端代碼分析: 對(duì)點(diǎn)擊訂購(gòu)按鈕時(shí)的監(jiān)聽(tīng)器事件,流程類似登錄模塊
public void on Click(View v) {
if (result.equals(“succes”)) {
Toast.make Text(Cart Activity.this, “用戶:”+ user.get User Name() + “已經(jīng)訂餐成功”,Toast.LENGTH_SHORT).show();}
(2)服務(wù)端代碼分析:
public String save Order() {
Order Service Imp.save(order);
return “success”;
其中,在structs.xml配置,保存成功,返回order Save.jsp:
method=“save Order”> /android/order Save.jsp
4.2服務(wù)器端核心模塊的代碼設(shè)計(jì)實(shí)現(xiàn)
服務(wù)器端是系統(tǒng)管理員用來(lái)管理菜品的增刪,訂單的查詢及其增刪,留言公告的查看及其保存等。其界面設(shè)計(jì)實(shí)現(xiàn)如圖5所示。
圖5 基于Android列車訂餐系統(tǒng)的服務(wù)端界面Fig.5 The train reservation system interface based on Android system
1)登錄模塊的代碼設(shè)計(jì)
當(dāng)管理員輸入用戶名和密碼點(diǎn)擊登錄后,控制層、服務(wù)層、持久層活動(dòng)如下:
(1)控制層Admin Action負(fù)責(zé)接收該請(qǐng)求,并按照該請(qǐng)求調(diào)用服務(wù)層Admin Service接口的實(shí)現(xiàn)類方法Admin Service Imp.login( ),同時(shí)做相關(guān)的日志。
(2)服務(wù)層Admin Service接收到被調(diào)用的請(qǐng)求后調(diào)用持久層Admin Dao接口的實(shí)現(xiàn)類admin Dao Imp.login( )方法。
(3)持久層拿到該請(qǐng)求后就會(huì)將數(shù)據(jù)拿到數(shù)據(jù)庫(kù)里面去查詢,并將查詢結(jié)果返回給服務(wù)層,然后服務(wù)層就將接口返回給控制層。
(4)控制層就會(huì)將這個(gè)結(jié)果進(jìn)行分析,如果數(shù)據(jù)庫(kù)里面有管理員的信息就表示管理員登陸成功,控制層就將進(jìn)入系統(tǒng)的界面返回給管理員,如果輸出錯(cuò)誤,數(shù)據(jù)庫(kù)里面沒(méi)有相關(guān)信息,控制層就會(huì)將登陸失敗的界面返回給管理員。
這種編程方式主要是一種面向接口編程的思想,主要是在層與層之間,通過(guò)將一個(gè)接口的實(shí)現(xiàn)類的對(duì)象,賦給接口的一個(gè)引用,然后通過(guò)該引用調(diào)用相關(guān)方法,從而達(dá)到層與層之間的分離,當(dāng)然一個(gè)接口可以有多個(gè)實(shí)現(xiàn)類。
2)登錄模塊的代碼分析
(1)控制層管理員登錄的關(guān)鍵代碼:
public String admin Login() {
if (admin Service Imp.login(this.VoTo Admin()))
return "success";
由上可知控制層調(diào)用服務(wù)層的方法。服務(wù)層接收到被調(diào)用的請(qǐng)求后調(diào)用持久層的相應(yīng)的方法。
(2)服務(wù)層的調(diào)用代碼如下:
public abstract boolean login(Admin admin) throws Exception;
上面的代碼是持久層的管理員登錄的Admin Dao接口,該接口方法的一個(gè)實(shí)現(xiàn)的關(guān)鍵代碼如下:
public boolean login(Admin admin) throws Exception {
if (admin Dao Imp.login(admin)) {
return true;
上面代碼就是登錄接口的實(shí)現(xiàn)方法,Admin Dao 接口的引用由該方法又去調(diào)用了持久層里面該接口實(shí)現(xiàn)類admin Dao Imp類的login()方法,
(3)下面是持久層(Dao)層的的接口以及相關(guān)的實(shí)現(xiàn)類方法。
public abstract boolean login(Admin admin) throws DataAccessException;
//持久層的接口
public boolean login(Admin admin) throws Data Access Exception {
//這是持久層的實(shí)現(xiàn)
HQL = "from Admin as admin where admin.user Name = ? and admin.user Pw=?";
Object[] values = { admin.get User Name(), admin.get User Pw() };
if (hibernate Template.find(HQL, values).size() > 0) {
return true;
由以上代碼可以得知,如果數(shù)據(jù)庫(kù)里面有管理員的信息,控制層將進(jìn)入系統(tǒng)的界面返回給管理員,否則,控制層返回登陸失敗的界面給管理員,這樣管理員就完成了一次登錄操作。
4.3真機(jī)測(cè)試
雖然模擬器可以用來(lái)測(cè)試軟件基本功能的實(shí)現(xiàn),但也存在一定的局限性,例如模擬器實(shí)現(xiàn)的bug等。真機(jī)測(cè)試是將軟件應(yīng)用于產(chǎn)品,能夠更好的發(fā)現(xiàn)解決問(wèn)題。本課題選擇Android2.3操作系統(tǒng)的智能手機(jī)。訂餐登錄、注冊(cè)等的詳情界面如圖6,7所示。
圖6 登錄,注冊(cè)界面,系統(tǒng)導(dǎo)航圖Fig.6 Login, registerinterface and system navigation
圖7 菜品詳情,訂餐的詳情界面,公告信息Fig.7 Dish details, reservationinterface and information announcement
隨著中國(guó)經(jīng)濟(jì)的快速增長(zhǎng),為了適應(yīng)國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展的需求,各鐵路運(yùn)輸企業(yè)和部門在積極提高自身業(yè)務(wù)能力和效率的同時(shí),還要努力為旅客提供優(yōu)質(zhì)服務(wù),提供豐富的旅途文化生活,創(chuàng)造和諧的乘車環(huán)境。因此,本次研究工作的主旨在于對(duì)車載移動(dòng)信息服務(wù)平臺(tái)的研究,對(duì)其中功能案例中的點(diǎn)餐系統(tǒng)進(jìn)行開(kāi)發(fā),使乘客訂餐只需在手機(jī)上點(diǎn)擊一下就可以享用列車特色餐飲服務(wù),讓乘客享受到3G給我們帶來(lái)的新的旅途體驗(yàn)。
[1] 蘇力行,方旭明.高速列車無(wú)線接入技術(shù)的現(xiàn)狀與發(fā)展[J].中國(guó)鐵路,2009, (10):74-77.
[2] 李 丹.基于Android 平臺(tái)的無(wú)線點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué). 2012.
[3] 佚 名.讓W(xué)in8 電腦界面更好看[J].電腦知識(shí)與技術(shù):經(jīng)驗(yàn)技巧,2013, (5):84-84.
[4] 黃瑨華.MySQL入門很簡(jiǎn)單[M].北京:清華大學(xué)出版社,2011.
(中文編輯:吳繼屏)
Design of Train Information Service Platform and Realization of the Reservation System Based on Android System
QIU Zhong-quan HOU Xue-li ZHANG De-xin
Scholl of Transportation and Logistics,Southwest Jiaotong University, Chengdu 610031, China
After six big speed increases of China railway, the level of hardware facilities has been significantly improved, but the matching passenger information service system is relatively lagging behind. Currently, most media terminals on railway train are unidirectional broadcast systems, and developing a vehicle-mounted mobile information service platform with interactive features and fitness is urgent. Based on the requirements of railway passenger information services, a train vehicle-mounted mobile informationservice platform was designed with the system analysis and functional analysis methods,which included the functions of managing, servicing, monitoring and entertaining. And its application functions mainly included the train reservation, video and music on demand,e-books, press releasing, advertising releasing, train schedules, punctual and delaying information releasing, games, monitoring, etc. Based on the platform, a vehicle-mounted mobile information service platform was developed. Meanwhile, the case study method was used to realize the train reservation system with Android system.
Vehicle-mounted mobile,information service platform,Android system,wireless ordering system.
U293.3
A
1672-4747(2015)01-0018-08
10.3969/j.issn.1672-4747.2015.01.004
2014-06-16.
鐵路總公司科技研究開(kāi)發(fā)計(jì)劃課題(2013X009-E)。
邱忠權(quán)(1974-),男,重慶巫溪縣人,漢族,工學(xué)博士,西南交通大學(xué)交通運(yùn)輸與物流學(xué)院講師,研究方向:物流規(guī)劃與管理,物流信息系統(tǒng)。