APP下载

一种车载设备通信系统的设计与实现

2018-04-18周鹏飞

计算机应用与软件 2018年3期
关键词:路由车载服务器

周鹏飞 乔 佳 李 良

1(北京亿华通科技股份有限公司 北京 100192) 2(国家信息中心 北京 100045)

0 引 言

汽车分时租赁是租车行业新兴的一种租车模式。它指以小时或分钟计算提供汽车的随取即用租赁服务,消费者可以按个人用车需求和用车时间预订租车的小时数,其收费将按小时或分钟来计算,这种形式给用户在用车方面带来了极大的方便[1,5]。给用户带来方便的同时,也给运营分时租赁的公司带来了极大的管理困难。因为分时租赁的车辆不像传统的租车公司,用户需要到公司的门店去办理取车、还车等相关操作,而分时租赁不可能像传统的租车公司那样去操作,分时租赁在用户用车和还车的过程中都是通过APP自助完成的,不需要跟任何运营公司的人员进行沟通交流。因此,分时租赁的车辆必须依靠先进和稳定的IT系统去管理在租的车辆,那么与车辆通信就成了分时租赁的整个业务环节中必不可少的一部分[2]。

1 现状和问题分析

目前的车载设备通信管理大致上是车载设备通过3G网络[6,8]将车辆的数据信息上报到服务器,然后服务器就能够识别和控制上报的车载设备与车辆进行通信,给相应的业务系统提供服务[7]。在整个通信的过程中存在一些问题如:

1) 由于设备是需要车载电源供电的,如果车辆长时间没有开动的情况下,可能导致设备掉线,也会引起车辆打火失败;

2) 如果服务器线路繁忙的时候,导致车载设备控制失败;

3) 单点的服务器压力很大。

为了解决上述问题,我们进行了如下改造:

1) 在车辆没有开动的时候,延长设备的上报信息周期,使设备尽可能少消耗电量;

2) 在设备检测到电瓶电量低的时候,实时上报设备低电压告警,推送给相应的车辆维护人员,通知他们开动车辆,给电瓶充电,以保证车辆的正常使用;

3) 车载设备采用1∶1的双通道保护策略,尽可能减少由于设备和服务器之间的链路问题导致的设备离线问题;

4) 服务器的部署采用分布式的部署方式,能够水平扩容,有效地降低服务器的单点压力。

2 系统整体结构

车载设备通信服务的大致结构如图1所示。

图1 车载设备系统整体结构

如图1所示,整个系统包括以下几个部分:

1) 车载设备:安装在分时租赁车辆上的电子设备,负责车辆跟上层服务器的通信。

2) IO控制器:负责接收车载设备上传的数据信息,然后解析上报给业务服务器,接收上层服务器的控制指令,下发给车载设备。

3) 路由控制器:负责记录每个车载设备的路由信息,保证上次业务系统到车载设备的通信通畅。

4) 业务控制器:负责具体的业务处理,如:数据的入库、告警的处理、跟其他业务系统的对接等。

5) 业务接口:负责对外部的业务系统提供接口,完成业务系统和车辆的对接。

6) 选择器:负责选择那个业务控制器跟IO控制器进行对接,实现负载的分配策略。

从图1可以看出,整个系统的所有模块都是独立存在,并且通信都是双链路的,当某个模块出现问题时,系统都能快速地切换到其他模块进行相应的业务处理,避免了系统的单点故障问题。另外,当系统的业务控制模块出现性能上的瓶颈时,我们可以通过水平扩展的方式,增加一个业务控制器来分担其他控制器的性能压力。

3 业务流程

业务控制流程大致如图2所示。

图2 业务控制流程

1) 首先是业务接口从其他业务系统接收到控制车辆的命令。

2) 使用选择器从当前可用的业务控制中选择(有多种选择的策略)一个可用的业务控制器。

3) 把车辆控制命令传送给业务控制器。

4) 业务控制器拿到相应的控制命令,对其做相应的编码,转换成具体的通信协议单元。

5) 使用路由控制器从路由表中获取相应车辆所对应的IO控制器。

6) 将转换后的协议单元发送给IO控制器。

7) IO控制器接收到相关的通信协议单元直接发送给相应的车载设备。

8) 车载设备接收到IO控制器发送的控制命令后,执行相应的操作,然后把操作结果返回给IO控制器。

9) IO控制器接收到结果后转发给相应的业务控制器,最终由业务接口模块返回给其他业务系统。

路由控制流程如下:

1) 首先车载设备需要按照固定频率(频率会根据实际的运行情况自动调节)会上报心跳、位置等信息。

2) IO控制器接收到相应的数据报文后,会将设备和IO控制器的映射关系存储到路由表中,从而完成路由的映射工作。

3) 当业务控制器收到上层业务系统传过来的下发命令后,会根据命令中的车辆标识找到相应的IO控制器去完成路由寻路过程。

当车载设备从IO控制器断开后,又重连不上的情况下,车载设备会根据备用的IO控制器地址去连接备用的IO控制器,从而完成故障自动修复,具体过程如图3所示。

图3 故障修复流程

1) 车载设备持续的向IO控制器发送心跳命令。

2) 如果发现连续发送多次后,还没有得到成功的答复。

3) 车载设备根据备用IO控制器的地址,去主动连接备用IO控制器。

4) 当连接成功后,备用的IO控制器会将新的路由关系写入路由表。

5) 当新的业务从业务接口进来的时候,那么选择器就将根据新的路由关系选择到备用的IO控制器上,从而保证了业务的正常通信。

4 系统在实际中的应用

车载通信管理系统利用分布式网状的部署结构,可以将多个不同的业务处理过程分布到不同的处理模块中,提高了业务处理的效率[4]。另外,多备份的方式也避免了单节点失败而使整个系统不可用的风险,从稳定性、健壮性和可扩展性上都能够满足目前分时租赁的业务运营需求[3]。车载通信管理系统在整个分时租赁业务中的应用如图4所示。

图4 车载通信管理系统

作为唯一与车辆通信的通道,在整个分时租赁的业务系统中起到了至关重要的作用。

5 系统未来改进方向

虽然上述系统能够满足目前的业务需求,但是还存在很多可以优化的地方。如:系统的调用方式。目前系统底层虽然采用了异步IO的方式来实现通信,但是,从整个业务系统来看,还是一个大的同步调用系统,每个业务控制器必须记录自己所发送的请求,每个IO控制器接到车载设备的响应的时候,还必须要找到发送请求的业务控制器返回,这也加大了系统的实现复杂度,从而可能影响到整个系统的吞吐量。所以如果我们把系统对外的接口改成异步调用的,那么整个

系统内部都将是异步的调用方式,从底层的IO处理,到上层的业务处理都不需要关心请求从哪个具体的业务控制器过来,也不需要知道发往哪个业务控制器,那么就能够真正地做到每个业务控制器和IO控制器之前都是随机调用,无需再保留正在访问的请求,从而简化了系统的实现。

6 结 语

车载通信管理系统管理着所有业务系统跟车辆的通信,是业务系统跟车辆通信的唯一桥梁,也是整个分时租赁业务系统的根基,上层的业务系统再好,车载通信管理系统不稳定也会导致整个系统崩溃坍塌。因此,一个稳定和高性能的车载通信管理系统势必会对整个分时租赁的业务系统带来巨大的好处,是分时租赁系统的基石。

[1] 李明.分时租赁:汽车租赁的发展方向[J].上海汽车,2015(3):51-53.

[2] 张亦驰,邓嵘.浅析汽车分时租赁模式下的车载系统[J].科技与企业,2016(1):86-87.

[3] 葛五祥,陈志刚.基于三层B/S模式的分布式系统设计[J].计算机技术与自动化,2004(9):73-75.

[4] 毛莉,齐德昱.分布式系统的分层形式化描述方法[J].计算机应用研究,2014(8):2407-2410.

[5] 张小明.共享汽车——一种全新的消费模式[J].世界汽车,2001(7):21-22.

[6] 常新峰,沈连丰,胡静,等.一种智能公交车载系统的研制及性能分析[J].东南大学学报(自然科学版),2009,39(2):377-383.

[7] 梁松,孙剑光,陈继努.智能公交调度系统中“粘包”问题解决方案[J].广东通信技术,2007,27(7):55-58.

[8] 魏瑶,陈闳中.基于无线城域网的智能公交系统设计与实现[J].计算机应用研究,2010,27(2):603-605.

猜你喜欢

路由车载服务器
一种车载可折叠宿营住房
数据通信中路由策略的匹配模式
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
路由选择技术对比
OSPF外部路由引起的环路问题
PowerTCP Server Tool
BlackJumboDog
奔驰S级48V车载电气系统(下)
路由重分发时需要考虑的问题
2018年全球服务器市场将保持温和增长