基于多终端多平台高速信息服务系统的实现

王海涛+程耕国+程骅+杨涛+吴建霞



摘 要: 为了向高速管理部门和车主提供多角度、全方位、方便快捷的高速信息服务,设计一种基于多终端多平台的高速信息服务系统。该系统采用LNMP网站架构,在现有智能交通系统提供的数据基础上,建立高效处理多源交通流数据模型,利用跨平台格式转换与数据交换机制,融合地图、天气、微信、信鸽推送等多种互联网开放平台技术,实现多终端、多平台的信息展示和查询,以及移动App的信息实时推送。
关键词: 智能交通; 高速信息服务; LNMP; 多终端; 多平台
中图分类号: TN915?34; TP311.52 文献标识码: A 文章编号: 1004?373X(2017)13?0030?04
Abstract: In order to provide the multi?angle, all?directional, convenient and efficient high?speed information service for the high?speed administration section and vehicle owners, a high?speed information service system based on multi?terminal and multi?platform was designed. The LNMP (Linux?Nginx?MySQL?PHP) website configuration is adopted in the system to establish the model to process the multi?source traffic flow data efficiently, which is based on available data provided by the intelligent transport system. The cross?platform format conversion and data exchange mechanism are used to fuse the map, weather, WeChart, homing pigeon push and other Internet open platform technologies to realize the multi?terminal and multi?platform information display and query, and information real?time push of mobile App.
Keywords: intelligent transportation; high?speed information service; LNMP; multi?terminal; multi?platform
0 引 言
近年来,高速路网不断发展,高速出行优惠政策不断升级,人们对高速出行信息服务品质的要求也不断提升。在高速信息的传统获取方式中,高速车主主要通过广播、电话、微博、网站等获取高速出行相关信息[1]。随着智能终端、移动网络、互联网等的迅猛发展和移动互联网开放平台技术的日趋完善和成熟,以及国家“互联网+”战略的大背景下,智能交通系统(ITS)驶入了发展的快车道,“互联网+便捷交通”是新媒体形势下交通出行信息服务的主要方向,“互联网+”与高速公路行业的结合已成为高速管理部门和一些互联网企业的重要研究领域[2]。
根据最新调研报告,微信和APP客户端已成为高速车主最希望获取信息服务的方式[3]。基于智能手机的“台北好行”App软件已在2011年上线,该软件汇集台北市多种交通信息,并方便、简洁、快速地提供给民众[4]。广州“出行易”和深圳“交通在手”通过融合利用现有各种系统获取的交通数据,建立面向公众出行交通信息服务的信息发布系统,开发了具有多维多态特征的城市交通信息服务移动App[5]。为了达到协同管理,智慧服务的目的和效果,省级高速运行服务平台也被提上日程,未来将逐步实现[6]。
“台北好行”、“易出行”和“交通在手”主要提供城市交通信息,面向城市交通出行用户,对高速出行信息服务有一定的参考价值。本文将这些成熟应用的思想和框架借鉴到高速信息服务领域,提出一种新的高速信息网络化模式,应用最新的互联网和计算机技术,提出一种基于“智能终端”+“电脑”+“多媒体展示屏”的多终端和“移动App”+“微信”的多平台高速信息服务系统。
1 系统框架
本文设计的高速信息服务系统框架总体设计如图1所示[7?8]。
该系统与路网平台之间的信息共享是通过路网平台数据共享中间数据库实现。从中间数据库获取所需的交通信息,包括:路段、收费站、服务区、交通事件、出行提示、道路施工、监控快拍、VMS发布信息等,以及从省气象部门数据接口获取的实时天气相关数据等[9],通过标注化处理后,存储于系统的交通信息数据库中。App、微信和网站用户的基础信息、爆料信息、反馈信息、投诉信息等,以及服务器运行信息和应用程序运行状态信息等也存储于该数据库,并实时共享。App、微信和网站各子系统根据业务需要,从该数据库中获取相应的数据,经过处理后展示给终端用户。也可通过用户界面提交报料、反馈意见、服务投诉等信息,系统根据预定义的数据格式存储于数据库中。
2 关键技术
本系统从数据采集和数据处理,到最终通过多终端、多平台发布数据,主要应用LNMP(Linux?Nginx? MySQL?PHP)的网站服务器技术、Mashup技术和互联网开放平台技术。
2.1 LNMP网站服务器
在本系统中,移动应用App和微信公众号采用LNMP架构,出行网采用基于MVC的LNMP架构,架构图如图2所示。
LNMP指的是Linux系统下Nginx(Web服务器)+MySQL(数据库软件)+PHP网站服务器架构,以上组件均是开源软件,是国际上成熟的架构框架,很多大型的互联网应用都采取这个架构[10]。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少,因此相比LAMP,LNMP具有高效、扩展性强等特点,是一款稳定的、支持关键任务的服务器。
MySQL是一个小型关系型数据库管理系统,具有轻量、免费和开源特征。通过MySQL可以获得一个非常强大的、适合运行大型复杂站点的数据库。在本系统中,所有相关数据信息都存放在这个数据库中,通过SQL语言可以很容易地查询这些信息。
PHP是一种脚本語言,一般嵌入HTML文档并在服务器端执行。通过相应PHP的代码可实现访问MySQL数据库中的数据和Linux提供的一些特性的动态内容。
2.2 Mashup技术
Mashup即糅合,是一种新的互联网技术,它的发展促进了互联网开源数据与企业私有化数据的融合。应用Mashup技术,将交通信息服务涉及到的如交通信息、地理信息、天气、语音、视频等多种数据糅合,为出行者提供更加丰富、个性化的信息服务。
2.3 互联网开放平台技术
互联网开放平台是一种新型的网络服务模式,为第三方应用提供基本接口服务,主要包括应用型和服务型两种类型的开发平台。快速发展的互联网开放平台,如微信公众平台、高德地图API、信鸽推送API等。
微信公众平台(WeChat)是移动互联网时代的一种全新的信息传播方式,借助智能终端已拥有庞大的用户量,其平台开发架构和技术已相对成熟。本系统通过在微信平台申请独立公众号,利用微信公众平台开发技术,设计开发高速服务公众号,为车主新增一种方便快捷的高速服务信息获取渠道。
高德地图开放平台将地图、定位、搜索、导航等以API和SDK等形式向开发者实现了开放,使得基于地理位置的服务应用更加广泛和精准。本系统大量使用高德地图四大基础服务,如定位获取位置信息,规划路线并导航,在地图上标记Marker清晰展示高速相关信息、服务和事件(服务区、收费站、景点、事故、施工等)。
信鸽推送(XG Push)是一款专业的移动App推送平台,支持百亿级的通知/消息推送,秒级触达移动用户,现已全面支持Android和IOS两大主流平台。开发者可以方便地通过嵌入SDK,通过API调用或者Web端可视化操作实现对特定用户推送,大幅提升用户活跃度,有效唤醒沉睡用户,并实时查看推送效果。本系统主要在Android和IOS两大平台上的高速路况、资讯、天气、车主报料以及用户收藏和关注等模块,应用此技术,将实时信息推送给移动终端和用户。
这些互联网开放平台技术的应用加速了信息的传递,提高了信息的共享度。互联网开放平台的发展为交通信息发布、传递、共享提供更为有效的渠道和手段。
3 功能设计
根据高速车主出行需求调研分析[1],本系统采用结构化模块方式,按层次划分,主要设置路况导航、路况资讯、高速快览、高速服务、车主爆料、交通气象等模块,如图3所示。
路况导航模块主要基于高德地图API,融合基础地图和基于地理信息服务的高速服务(高速公路、服务区、收费站、加油站、ETC网点、违法处理点、休闲旅游景点、餐饮、购物、公共服务等),点击相应Marker,可以跳转到对应的详情页面,基于高速服务和休闲旅游的具体位置信息可以实现导航。
路况资讯模块展示高速部门发布的最新出行提示、高速突发事件、施工信息和车友报料等出行相关的资讯,进一步可以查看位置、时间、详情等信息,也可以在地图上显示,使用户更直接的了解相关信息。
高速快览模块以梯形图的样式向用户展示高速收费站详情、事故、施工、监控快拍等,用户能够简单清晰地了解一条高速沿途的收费站、事故和施工信息。
当高速车主在出行途中遇到拥堵、事故、施工、管制等事件时,在车主爆料模块选择或输入事件类型、描述、现场图片、位置信息等,可以上传事件信息到交通信息数据库,实现信息实时共享。结合车主的地理位置信息,向沿途、附近或关注该高速的车主推送高速事件信息。
4 系统实现与应用
4.1 系统数据接口
本系统主要在Android,IOS和微信三大平台及移动智能终端(手机、平板等)、PC端、多媒体展示屏三大终端上运行。系统数据后台主要通过MySQL+PHP实现,后台数据接口程序结构如图4所示。
DBManager包是实现对MySQL数据的连接、查询、修改、增加等功能。DBConnect,GetData,DelData,UpdateData,InsertData分别是数据库连接接口、数据获取接口、数据删除接口、数据更新接口、数据类。BusinessLogical根据业务进行数据处理(DataHandling)。Interface主要针对某个业务需要提供的数据获取接口。HTML页面是微信客户展示。后台数据接口根据业务需求制定,返回标准格式的数据(JSON),移动App开发系统Android和IOS接收并通过FastJson数据解析工具进行解析,获取相关数据。出行网数据接口层次主要包括数据层(交通信息数据库)、数据访问层(操作数据库)、逻辑控制层(处理数据),处理后的数据通过展示层Web页面展示。
4.2 逻辑层与展示层实现
下面以Android平台为例,介绍高速信息服务系统在该平台上的实现。
4.2.1 权限配置
(1) 本系统很多服务均基于地图,地图服务所需基本权限配置主要代码如下,其中MapKey在高德地图官方网站申请获得:




<meta?data
android:value="@string/MapKey" />

(2) 信鸽推送权限配置主要代码如下,其中XG_Access_id,XG_Access_key和XG_Secret_key在腾讯信鸽官方网站申请获得。





"com.tencent.android.tpush.service.XGPushService"
android:exported="true" android:persistent="true"
android:process=":xg_service_v2" />
<meta?data
android:value="******" />
<meta?data
android:value="******" />
<meta?data
android:value="******" />
4.2.2 第三方基础库
除了Android基础库以外,还用到高德地图、信鸽推送、FastJson数据解析等第三方库,依次为Android_Map,AMap_Location,AMap_Navi,MapApiService,FastJson,XG_SDK等,均在第三方平台官方网站下载获得。
4.2.3 功能模块实现
根据业务逻辑,将Android代码分为Activity,Fragment,Adapter,Dialog,Model,WebService等层次,其中Model主要定义一些相关的实体类,如高速、服务区、收费站等信息;WebService主要封装一些功能性数据接口;Dialog主要包括一些自定义的对话框。结合线性布局、相对布局、表格布局等布局管理器和ListView,ScrollView,ImageView,TextView,Button,EditText,GridView,Dialog等控件,应用组件通信服务Activity,Intent,Service,Broadcast实现设定的系统功能。其中服务区列表主要由ListView和Adapter适配器实现NearServiceActivity和NearServiceAdapter。其中实现服务区列表的主要代码如下所示,其中LoadMoreListView为自定义控件,实现下拉查看更多的功能,RoadPoiMDL为服务区实体类,包括服务区编号、名称、地理位置等信息。
NearServiceActivity主要代码如下:
listView=(LoadMoreListView) findViewById
(R.id.listView);
serviceMDLList = new ArrayList();
nearServiceAdapter = new NearServiceAdapter
(context, serviceMDLList);
listView.setAdapter(nearServiceAdapter);
nearServiceAdapter.notifyDataSetChanged();
















NearServiceAdapter主要代码如下:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate
(R.layout.view_item_service, null);
holder = new ViewHolder();
holder.ivIcon = (ImageView) convertView.
findViewById(R.id.ivIcon);
holder.tvName = (TextView) convertView.
findViewById(R.id.tvName);
……
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();}
RoadPoiMDL item = serviceMDLList.get(position);
holder.tvName.setText(item.getName());
holder.tv_hwName.setText(item.getRoadname());
……
} return convertView;
4.3 应用实例
该系统目前已在多个省份得到推广和应用,如浙江“智慧高速”,湖北“湖北高速通”,山东“齐鲁通”等。其中移动App活跃用户总量突破百万,微信公众号关注总量突破百万,多媒体展示屏基本遍布所有的服务区,出行网访问量也逐渐增多,高速管理部门和高速出行车主使用反馈良好,该系统运行稳定、功能完整、方便快捷。
5 结 语
本文在“互联网+”、移动互联网和智能终端高速发展的背景下,应用多种计算机技术和互联网开放平台技术,实现基于多平台和多终端的高速服务系统,为高速管理部门和高速车主提供即时、准确、方便、快捷、全方位的高速信息。高速车主出发前可通过PC端和移动智能终端提前查询高速路况,规划出行计划。在出行途中也可通过智能手机和服务区多媒体展示屏查询相关信息,可以更好地把握出行计划,确保出行安全。未来高速出行必将成为人们日常出行越来越重要的组成部分,在互联网技术的发展和高速公路基础设施完善的基础上,推广、应用和完善本系统对于未来全国高速信息服务系统的整合具有一定的借鉴意义,对“四个交通”的发展也有一定的促进和推动作用。
参考文献
[1] 罗颖.基于移动设备的高速公路信息服务系统设计[J].中国交通信息化,2012(7):127?128.
[2] 陈钊正.“互联网+”与高速公路应用结合探讨[J].中国交通信息化,2015(7):21?23.
[3] 车春江,郝盛,朱明慧,等.“互联网+便捷交通”公路出行服务思考[J].中国交通信息化,2016(5):18?22.
[4] 周崇华,高作刚,徐琛,等.基于智能手机App的交通信息服务系统规划研究[J].交通与运输,2012(12):76?79.
[5] 李日涵,徐广宁,徐建闽,等.基于APP的公众出行交通信息服务系统研究[C]//第八届中国智能交通年会论文集.安徽:中国智能交通协会,2013:461?465.
[6] 王玉姣.智慧高速平台的设计与实现[J].北方交通,2014(12):112?116.
[7] 赵俊钰,刘芳玉,黄剑琪,等.智慧交通顶层架构研究[J].邮电设计技术,2013(6):14?18.
[8] 左麟,王磊,李永亮.浙江省智慧高速营运数据管理系统设计方案[J].中国交通信息化,2013(z1):18?21.
[9] 李建,马琰钢.浙江省“智慧高速”气象数据交互网络设计与实现[J].浙江氣象,2013,34(3):18?19.
[10] 艾勇,谭成予,帖军,等.基于LNMP架构的教学互动平台的设计[J].科教文汇,2013(25):83?84.