陈斌,毛明荣
(南京师范大学 信息化建设管理处,江苏 南京 210023)
摘要:针对云计算环境的复杂性造成的传统集中式动态路线指引系统渐渐对处理快速增长的大规模交通数据失去效用的问题,以及消费者对实时机动车路线服务的需求与日俱增的情况,提出了基于TCP/IP标准的分布式机动车行车路线服务系统(SMDRS),其目的在于减缓交通拥堵的压力,增进运输服务的质量。实验系统在Hadoop大数据中采用了MapReduce方法从而可以并行执行任务分配,使用了ZooKeeper技术以在子任务处理器之间建立协调机制,并且应用了卡尔曼滤波器算法以进行短周期交通流的预测。实验结果证明,SMDRS系统能够提供实时的机动车路线综合服务,从而获得更有效的交通信息,提供更有质量的推荐路线,进行更准确的行程时间的预测,以及功能更加齐备的服务通知推送。
关键词:行车路线服务; 云计算; TCP/IP;实时预测; 卡尔曼滤波器
0引言
南京师范大学数字校园建设研究项目(2013JSJG069)交通信息系统已经进入了大数据的时代,集中式的交通指引系统由于对集中式超级计算机的高计算能力的需求和依赖,已经很难再应用到现实的环境中[1]。因此,更多依附于无线通信技术的工作转到分布式交通指引系统上来,即通过车载终端设备计算优化路线取代。
本文引入了一个分布式机动车行车路线服务系统SMDRS。该系统采用了一个基于Hadoop的轻量级MapReduce方法之上的分布式计算方法来完成任务的分配[2]。
1系统框架
1.1系统架构和组件
SMDRS是一个基于实际城市交通环境的机动车行车路线服务系统,其目的在于减轻由于快速的城市化所带来的交通负载压力[3]。该系统架构如图1所示,这里有三种类型的组件:交通管理中心、机动车代理以及道路交叉路口代理。
交通管理中心是交通控制服务中心SMDRS的中枢,它提供了管理机动车服务数据的功能,这些数据包括注册的机动车信息、它们各自的服务请求状态以及路况环境的状态等。
通常来说,交通管理中心可以分配离机动车代理最近的道路交叉路口代理以发送指引请求消息。一旦启动的和终止的道路交叉路口代理状态已经确定,终止的道路交叉路口代理可以通知所有中枢道路交叉路口代理在启动的代理和其本身之间的所有路径中计算得到最优化路径[4]。
1.2基于TCP/IP的系统协议
基于TCP/IP的系统协议如下:
(1)在审视端到端模式时,采取基于连接的网络协议[5]。一旦启动和终止的道路交叉路口代理状态被确定,图1SMDRS的系统架构
优化推荐路线将更加容易被获取。
(2)假设每一个道路交叉路口代理都拥有自己的数据库,因此所有道路交叉路口代理都由一个分布式数据库系统组成。
(3)每一个道路交叉路口代理都会向其邻居节点广播包括上一过程提到的所有信息。
(4)基于TCP/IP通信模式,在推荐信息发出之后,SMDRS将向机动车代理发送确认信息,接着就会等待机动车代理的响应,以确认是否机动车顺利到达了目标[6]。
(5)当接收到响应信息时,机动车已经到达了它们的目的地,机动车路线服务也就完成了。
2SMDRS的运作机制
在SMDRS架构中,采用了基于持续和动态变化的优化条件的顺序优化机制。如图2所示。
2.1分布式调节系统的建立
SMDRS中数据库都是分布式的。SMDRS是作为基于ZooKeeper模型的服务端集群环境来进行建模的[7]。通常来说,在系统开始运作时,交通管理中心自动选择一个服务单元作为主服务单元。如果主服务单元在运作过程中出现意外而终止并且消亡,系统则会从余下的服务单元中选择一个来接替其工作,成为新的主服务单元,从而保证分布式环境的数据持续性。
2.2最优路线的查找
在SMDRS架构中,按照上述基于TCP/IP的观点,在寻找最优路线过程中主要采纳了下列3种算法:TCP拥塞控制算法、IP路由算法和交换路径转发算法。
2.3交通预测机制与算法
从上述系统模型中可以看出,交通流到达道路交叉路口代理是以不同的时序持续发生的[8]。卡尔曼滤波器是一个能有效解决时间序列预测问题的重要手段[9]。在SMDRS架构中引入卡尔曼滤波器算法,该算法按照预测和更新[10]两个步骤运作。
在SMDRS系统中,设置yh∈Km作为系统状态,它代表了机动车代理从道路交叉路口代理启动到终止的理论上的运行时间;xh∈Km作为测量结果,表示机动车代理从道路交叉路口代理启动到终止的真实的运行时间;vh为机动车代理从第h个道路交叉口过渡到第h+1个道路交叉路口代理的运行时间。因此,卡尔曼滤波器模型可按如下方程序列表示:
yh=Mhyh-1+Hhvh-1+eh-1(1)
xh=Nhyh+uh(2)
其中:Mh表示变量转换矩阵的状态,它将之前步骤的时序状态与当前步骤的时序状态联系起来;Hh是输入变量系数矩阵,它将可选控制输入v∈Kp与状态y建立联系;Nh表示观测矩阵,它建立了当前状态与观测结果xh之间的关系。值得注意的是,在实验中Mh与Nh存在着随时间序列或观测推进而变动的可能性,但在本实验中以其二者保持恒定不变为假设。简而言之, 本文设置Mh、Hh和Nh作为恒等矩阵。此外,随机变量eh和uh分别表示了处理和测量过程中的噪声系数,它们基本符合以下表达式范围:
卡尔曼滤波器算法估算过程可以按如下表示:
预测步骤:定义y^-h∈Km作为一个估算道路交叉路口代理从启动到终止的运行时间yh的优先状态,同时y^h∈Km作为一个较晚的由测量结果xh给出的符合yh的评估状态。并且定义一个前置和后置的评估错误如下(分别由f-h和fh表示):
相应的前置和后置评估错误协方差定义为:
基于上述信息,预测的优先状态评估及其协方差yh可以按照下列程式获取:
更新步骤:在SMDRS架构中,实际运行时间为xh,其预测值为Nhy^-h。为了提升预测的准确度,使用了基于xh和Nh y^-h差值的系数以修正前置估算结果y^-h ,而差值(xh -Nhy^-h)是通过系数Uh复合构成的。其方程可以表示为:
这里Uh为收益矩阵,符合limq-h→0Uh=0以及limWh→0Uh=N-1h。
继而,更新的后继状态评估协方差yh可以表示为:
总而言之,可以使用改良的回归方案对每一个道路交叉路口代理的机动车到达时间进行精准的预测。在图3中清晰地给出了卡尔曼滤波器算法的处理过程。
3结论
在本文中,采用了基于MapReduce和TCP/IP的分布式计算技术来实现计算优化机动车路线的任务。在这种模式下,通过在云计算环境中采用ZooKeeper方法,建立分布式卡尔曼滤波器算法的协作系统,即对未来短期内的交通流的预测系统。根据离散原则,该系统可以获取全部分布式存储数据并进行分析,因此它可以有效减少综合处理时间和待计算总量,以及计算所需的所有处理器的数量。
参考文献
[1] 梁东莺. 云计算及其应用[J]. 计算机测量与控制,2011,19(8):19581959.
[2] 张文金, 许爱军. 基于云计算的混合并行遗传算法求解最短路径[J].电子技术应用,2015,41(3):123129.
[3] 姚远,左晓栋. 云计算安全国家标准研究[J].电子技术应用,2014,40(8):49.
[4] 张秋明. 基于改进蚁群算法的云计算任务调度[J].电子技术应用,2015,41(2):121126.
[5] 周显明,李建军,王莉华,等. 基于云计算的测试公共服务平台设计技术[J].微型机与应用,2015,34(4):14-16.
[6] 王庆波,何乐,赵阳,等. 虚拟化与云计算[M]. 北京:电子工业出版社,2009.
[7] 徐忠胜,沈苏彬. 一种云计算资源的多目标优化的调度方法[J].微型机与应用,2015,34(12):1720.
[8] 邓自立. 云计算中的网络拓扑设计和Hadoop平台研究[J]. 中国科学技术大学学报, 2009,11(2):126137.
[9] 胡光永. 基于云计算的数据安全存储策略研究[J]. 计算机测量与控制,2011,19(10):25392541.
[10] 陈斌,张蕾. 基于安全性能接口的调度和管理模型研究[J]. 计算机应用研究,2014,31(3):908-911.