王红爱,祝红光,贾新茹
(中国铁道科学研究院电子计算技术研究所,100081)
铁路客票发送和预定系统(简称客票系统)自1996年应用以来,已经建成了铁道部、地区中心、车站三级分布式结构。系统拥有以市场需求为导向的客票销售体系,满足旅客的不同需求。本系统每日与海量数据进行交互,这些数据是客票系统发展的基础,从应用的角度来说,分为基础数据和业务数据。基础数据一般包括站名字典、线路字典、票价基础价率等相对稳定的数据,由铁道部全表复制到各中心和各车站,而业务数据一般包括存根、席位、财收等动态数据,根据统计的要求由车站级或中心级向上级单位逐级传输。基础数据的一致性要求非常强,需要严格一致,关键数据的丢失会影响售票业务的正常进行。而业务数据的丢失会造成铁路局、铁道部报表的统计数据不完整,对分析运营结果和制定运营策略产生不利影响。云计算的Paxos算法可以解决分布式系统中的一致性问题。本文分析了客票系统的数据架构,介绍了目前客票系统保证数据一致性的技术,建立了基于Paxos算法的数据一致性模型,可以有效解决客票系统数据的一致性和完整性问题。
Paxos算法[1~2]是由Leslie Lamport最先提出的一种基于消息传递(Messages Passing)的一致性算法。用来解决一个分布式系统如何就某个值(决议)达成一致的问题。
一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。……