邱忠权 候雪莉 张德新
西南交通大学,交通运输与物流学院,成都 610031
基于AAn nd dr ro oi id d系统的列车移动信息服务平台设计与订餐系统的实现
邱忠权候雪莉张德新
西南交通大学,交通运输与物流学院,成都 610031
我国铁路经过6次大提速后,硬件设施水平得到了大幅提升,但与之配套的旅客信息服务体系却相对滞后。目前绝大多数铁路列车上的媒体终端是单向播发系统,研发适合铁路列车的车载移动信息服务平台已迫在眉睫。本文针对铁路旅客信息服务需求,运用系统分析法和功能分析法研发设计了集管理、服务、监控、娱乐四大功能于一体的列车车载移动信息服务平台,该平台的应用功能主要包括列车点餐、视频点播、音乐点播、电子书、新闻发布、广告发布、列车时刻表、整晚点信息发布、游戏、监控等。在车载信息服务平台的基础上,选择平台应用案例中点餐功能进行研究和开发,运用个案研究法实现了基于Android的列车订餐系统。
车载移动;信息服务平台;安卓系统;无线点餐
近年来,随着铁路部门职能的转变,各职能部门自身业务处理能力和效率得到提高,面向社会公众服务意识不断增强,客运部门在旅客日常客运服务方面有所改善,但还需要加强电子信息资源共享与下载、列车广告,乘客移动端点餐等特色旅客服务。
当前,我国手机网民用户已突破4.6亿大关,选择铁路运输方式的中长途旅客通常采用手机上网的方式消磨时光[1]。可是,铁路运输线多数途径偏远乡村或莽莽大山里,运行环境复杂,而且,网络在高速的列车或隧道中的信号时断时续,十分不稳定,导致旅客无法有效利用电子资源。另一方面,一般情况下商家只能在只有在列车读物上做相应的列车广告,效果不是很好,同时,对于铁路部门来讲,如果能做好全方位的列车广告,会带来很大一笔广告收入。
针对旅途中的客服水平相对较低的现状,特别是中长途旅客常常在旅途中感觉十分无聊,时间无法消磨,开发一套适合于具有交互式功能的路局列车车载移动信息服务平台迫在眉睫。
1.1硬件环境分析
信息的共享需要及时的网络,但高速列车上时断时续的2G或者3G网络,根本不能保证乘客有效利用电子资源,只有存在稳定的网络,乘客才能使用车载移动信息服务平台上的应用软件功能。因此,在列车上搭建稳定的无线局域网环境,提供更丰富的车内无线网络信息,进而可以吸引更多的乘客搭乘。以CRH1动车为研究对象,在车厢内搭建覆盖整列列车的无线网络环境,可以充分展示车厢信息化、网络化水平。具体做法如下:
(1)通过在列车上搭建无线网络覆盖到每一节车厢,通过无线路由的方式把各节车厢的无线信号进行互联,列车上共享一台服务器,为列车旅客提供相应的信息。
(2)通过车地宽带通信设备实现与车站信息服务平台的设备进行互联,实现数据的交互,实现列车相关管理信息交互到车站信息服务平台,车站信息服务平台把相关电子资源上传给车载信息服务平台。
(3)通过车外无线通信链路设备(多网合一无线汇聚路由)增强列车移动信号(移动、联通、电信),有利于列车旅客实现互联网的访问。
1.2功能需求分析
车载移动信息服务可分成四个系统,分别是:客运服务系统、客运主管部门管理系统、休闲娱乐管理系统以及平台管理系统。各个系统的使用用户及主要功能分析如下:
(1)客运服务系统需要实现对列车日常客运服务的管理,提高列车服务水平,可分为:日常客运服务管理子系统、铁路常识及新闻管理子系统、列车点餐子系统。
(2)休闲娱乐管理系统为旅客提供个性化服务,需要提供休闲娱乐,从而提高客运服务水平。包括为旅客提供影视娱乐节目、电子书籍阅读、列车交流讨论、旅客指南、酒店预订等功能。
(3)客运主管部门管理系统实现客运处、主管客运段对列车运行过程中的各种状态进行监控与管理,包括列车员的服务质量、乘务报告、车厢监控画面等。
1.3技术需求分析
列车移动信息服务平台开发的主要技术是:由服务器、无线汇聚路由器、无线通信单元、应用软件子系统等组成平台硬件框架;采用异构网的带宽汇聚技术、车载多级安全无线局域网技术、车站WIFI接入技术[2],在车厢内搭建覆盖整列列车的无线网络环境;通过车地之间搭建无线网络连接,与车站信息服务平台进行数据的传输与更新。
2.1平台软硬件设计
本文通过软硬件网络拓扑结构实现系统总体设计,车载信息服务平台软硬件网络拓扑图如图1所示。
图1 车载信息服务平台软硬件网络拓扑图Fig.1 Topologicaldiagram for the hard and soft wares of the informationservice platform
车载移动信息服务平台是集“管理、服务、监控、娱乐”四大功能于一体化的信息运营平台,如图1所示,本文把平台总体划分为三大模块:综合控制管理子系统、车载子系统、第三方服务系统。
2.2平台功能设计
平台各子系统功能设计要符合移动信息服务各子系统需求,根据平台功能模块开发相应的应用软件,车载移动信息服务平台软件架构如图2所示。随着整个平台的不断调整升级,结构会变得越来越庞大,功能的划分也会越来越细致,将会有更多的新产品需要研发。
2.3应用平台设计
采用多宫格设计,类似win8 metro风格,也可以切换为综合门户网站风格或PAD版按钮风格[3]。首页应当为“管理,信息,监控,娱乐”四个板块;但考虑到板块交叉内容重叠问题,首页应当包括三个区域,界面初步设计如图3所示。
图2 车载移动信息服务平台软件架构Fig.2 Soft fram of the conformationservice platform
图3 应用平台服务界面的初步设计图Fig.3 Application platform preliminary design of the informationserviceinterface
由于时间、精力的有限,本文只对客运服务系统的列车点餐子系统进行了研究和开发,其余功能模块的实现,可以该平台基础上外包给不同的开发人。
3.1订餐系统开发技术
Android + Javabean + Struts2 + Spring2.1 + Hi bernate3.2 + SQLServer2005技术层次架构,采用C/S模式分为两大部分(A、应用服务器端。B、Android手机终端),系统采用HTTP协议来进行数据传输。
应用服务器:主要是完成数据交互和数据逻辑处理,该系统应用服务器端提供订餐的有关行情信息、关键字的服务信息,包括关键字:日期、类型、当天价格、菜品信息等,通过IE访问该系统。
Android手机终端主要功能:利用Android手机界面,输入各种关键字、将关键字提交到App Server进行模糊查询,将查询的信息返回给手机终端,手机终端第一步将能查找到的条目以List View列于界面,第二步点击界面中所有的项目,进一步提交给App Server进行详细解释,将检索到的信息响应手机终端,显示在手机界面。
3.2订餐系统总体设计
列车订餐系统使用场景主要是:首先旅客使用Android手机终端下载平台上列车点餐APP,在进餐时间段内,旅客通过访问该系统进行订餐,并由餐车人员送至相应车厢并当时结账。一方面,手机客户端与用户进行交互,提供优秀的用户界面,另一方面与服务器端进行数据的交换,本系统的结构和运行流程如图4所示。
图4 系统的结构和运行流程Fig. 4 Structure and operation process of the system
该系统主要采用了JDK、Tomcat、SQLServer2005、My Eclipse、Eclipse、ADT等开发环境、工具及插件。
4.1客户端核心模块的代码设计实现
为了提高订餐系统的安全性,进入系统必须进行登录。
对点击登录按钮时的监听器事件,首先创建Http Client对象,利用用户名密码及用户地址生成登录的Login Uri封装成Http Post对象,使用execute方法发送Http Post请求,得到返回的Http Response对象http Response,如果返回的状态是找到资源或者接收到返回的信息,则返回数据有效,客户端接收响应并以JSON数据格式进行解析[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 () ; }
点菜功能是订餐系统中最为重要的一个功能,点菜的过程要将编号、菜品编号、送货地址、订购时间等信息保存到服务器数据库_ORDER表中,点餐时间取服务器当前时间同步程序自动完成,同时将编号、菜品编号、用户编号、订单编号等信息保存到服务器端的_ORDERITEM表中,方便管理员查询和管理。下单的过程是将点菜的信息保存到服务器数据库的_ORDERITEM表和_ORDER表中的过程。
(1)客户端代码分析: 对点击订购按钮时的监听器事件,流程类似登录模块
public void on Click(View v) {
if (result.equals(“succes”)) {
Toast.make Text(Cart Activity.this, “用户:”+ user.get User Name() + “已经订餐成功”,Toast.LENGTH_SHORT).show();}
(2)服务端代码分析:
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服务器端核心模块的代码设计实现
服务器端是系统管理员用来管理菜品的增删,订单的查询及其增删,留言公告的查看及其保存等。其界面设计实现如图5所示。
图5 基于Android列车订餐系统的服务端界面Fig.5 The train reservation system interface based on Android system
1)登录模块的代码设计
当管理员输入用户名和密码点击登录后,控制层、服务层、持久层活动如下:
(1)控制层Admin Action负责接收该请求,并按照该请求调用服务层Admin Service接口的实现类方法Admin Service Imp.login( ),同时做相关的日志。
(2)服务层Admin Service接收到被调用的请求后调用持久层Admin Dao接口的实现类admin Dao Imp.login( )方法。
(3)持久层拿到该请求后就会将数据拿到数据库里面去查询,并将查询结果返回给服务层,然后服务层就将接口返回给控制层。
(4)控制层就会将这个结果进行分析,如果数据库里面有管理员的信息就表示管理员登陆成功,控制层就将进入系统的界面返回给管理员,如果输出错误,数据库里面没有相关信息,控制层就会将登陆失败的界面返回给管理员。
这种编程方式主要是一种面向接口编程的思想,主要是在层与层之间,通过将一个接口的实现类的对象,赋给接口的一个引用,然后通过该引用调用相关方法,从而达到层与层之间的分离,当然一个接口可以有多个实现类。
2)登录模块的代码分析
(1)控制层管理员登录的关键代码:
public String admin Login() {
if (admin Service Imp.login(this.VoTo Admin()))
return "success";
由上可知控制层调用服务层的方法。服务层接收到被调用的请求后调用持久层的相应的方法。
(2)服务层的调用代码如下:
public abstract boolean login(Admin admin) throws Exception;
上面的代码是持久层的管理员登录的Admin Dao接口,该接口方法的一个实现的关键代码如下:
public boolean login(Admin admin) throws Exception {
if (admin Dao Imp.login(admin)) {
return true;
上面代码就是登录接口的实现方法,Admin Dao 接口的引用由该方法又去调用了持久层里面该接口实现类admin Dao Imp类的login()方法,
(3)下面是持久层(Dao)层的的接口以及相关的实现类方法。
public abstract boolean login(Admin admin) throws DataAccessException;
//持久层的接口
public boolean login(Admin admin) throws Data Access Exception {
//这是持久层的实现
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;
由以上代码可以得知,如果数据库里面有管理员的信息,控制层将进入系统的界面返回给管理员,否则,控制层返回登陆失败的界面给管理员,这样管理员就完成了一次登录操作。
4.3真机测试
虽然模拟器可以用来测试软件基本功能的实现,但也存在一定的局限性,例如模拟器实现的bug等。真机测试是将软件应用于产品,能够更好的发现解决问题。本课题选择Android2.3操作系统的智能手机。订餐登录、注册等的详情界面如图6,7所示。
图6 登录,注册界面,系统导航图Fig.6 Login, registerinterface and system navigation
图7 菜品详情,订餐的详情界面,公告信息Fig.7 Dish details, reservationinterface and information announcement
随着中国经济的快速增长,为了适应国民经济和社会发展的需求,各铁路运输企业和部门在积极提高自身业务能力和效率的同时,还要努力为旅客提供优质服务,提供丰富的旅途文化生活,创造和谐的乘车环境。因此,本次研究工作的主旨在于对车载移动信息服务平台的研究,对其中功能案例中的点餐系统进行开发,使乘客订餐只需在手机上点击一下就可以享用列车特色餐饮服务,让乘客享受到3G给我们带来的新的旅途体验。
[1] 苏力行,方旭明.高速列车无线接入技术的现状与发展[J].中国铁路,2009, (10):74-77.
[2] 李 丹.基于Android 平台的无线点餐系统的设计与实现[D].北京:北京邮电大学. 2012.
[3] 佚 名.让Win8 电脑界面更好看[J].电脑知识与技术:经验技巧,2013, (5):84-84.
[4] 黄瑨华.MySQL入门很简单[M].北京:清华大学出版社,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.
铁路总公司科技研究开发计划课题(2013X009-E)。
邱忠权(1974-),男,重庆巫溪县人,汉族,工学博士,西南交通大学交通运输与物流学院讲师,研究方向:物流规划与管理,物流信息系统。