江 琳,王洪业,贾 佳,靳 超
(中国铁道科学研究院 电子计算技术研究所,北京 100081)
铁路信息技术
席位自动负载均衡在客票系统的研究和应用
江 琳,王洪业,贾 佳,靳 超
(中国铁道科学研究院 电子计算技术研究所,北京 100081)
席位自动负载均衡是一种对客票系统资源进行共享,对客票席位进行自动均衡分配的方法,将全路各个地区中心大量网络连接的服务器、存储、数据库等计算资源进行统一管理,形成一个庞大的资源为客票席位提供智能测算和动态调整的服务。本文主要介绍席位自动负载均衡的概念、特点、关键技术及其在客票系统中的研究与应用。
售票量测算;系统数据资源平衡;自动负载均衡;席位搬迁
铁路客票发售与预定系统(以下简称:客票系统)的席位数据是售票业务正常顺利开展的关键,全路席位量庞大,分别存放在18个铁路局的33个席位负载中心。不同阶段、不同中心和负载中心的繁忙程度不一样,为了确保旅客的正常购票速度,提升用户体验,充分利用好33个席位负载中心很有必要。
目前,客票系统席位已经在使用负载均衡技术,负载均衡方案很大程度上是根据经验得到。由于对客票新增席位存放在哪一个负载中心没有明确的测算办法,客运人员生成席位时都是按照以往的经验进行存放,无法评测出存放的合理位置中心。而对席位进行再负载均衡时,要通过手工搬迁席位,搬迁速度较慢,影响正常的业务生产。
为此,需要制定完善的席位负载方案、完善的席位搬迁方案和高效的即时搬迁手段。席位自动负载均衡旨在保证社会效益前提下获取最大的经济效益而采取的组织方法,对保障客票系统正常运行,提升用户满意度具有重要的意义,也是铁路挖潜提效的有效手段。
负载均衡又称负载分担,就是将负载工作任务进行平衡、分摊到多个操作单元上进行执行,从而共同完成工作任务。客票系统席位已经在使用负载均衡技术,客票系统席位负载均衡是通过把全路的各趟列车根据不同业务规则分担到不同的席位负载中心,以保证全路的席位负载中心达到资源共享、相对均衡状态,提高旅客的购票速度。席位自动负载均衡是由席位存放测算方案、席位自动负载均衡平台两部分构成,下面对这两部分进行详细的介绍。
1.1 席位存放测算方案
目前,列车席位按照始发铁路局进行存放,例如:上海铁路局有一个主中心服务器H1和负载服务器H2,H3共3个席位负载中心。D306上海-西安北的席位可存放在H1,H2,H3这3个席位负载中心中的一个。之前客运人员生成席位时都是按照以往的经验进行存放,对已存放的席位数据无法自动负载均衡。由于全路各负载中心性能各不相同,席位自动负载均衡首先需要完成的是席位存放的测算方案。席位存放测算方案如图1所示。
图1 席位存放测算方案图
通过各个席位负载中心主机和负载服务器的性能分析,根据各个铁路局的主中心和负载中心的未售席位数据量,结合售票历史数据,对各个铁路局的列车席位、火车站的起售时间等影响售票业务速度的因素进行权重计算得到席位存放测算方案。测算方案包括测算出各负载中心应当存放的席位百分比,公式如下:
P=(1/N) ☒ R,S=(1-P)/(N-1)
P:主中心应存放席位量所占的百分比。
N:主中心+负载中心的个数。
R:主中心受非席位因素影响的综合系数。指根据主中心所承担的数据维护、客票结账业务、票价计算等综合因素考虑,得到最优测评综合系数为0.65。
S:负载中心应存放席位量所占的百分比。
例如,武汉有N1,N2,N3三个席位负载中心,N1主中心应存放席位量所占的百分比=(1/3)×0.65=21.67%,N2负载中心应存放席位量所占的百分比=(1-0.2167)/(3-1)=39.1%,N3负载中心应存放席位量所占的百分比=(1-0.2167)/(3-1)=39.1%。
1.2 席位自动负载均衡平台
席位自动负载均衡平台根据席位存放方案预测得席位均衡的比例,用于指导客票系统席位资源的配置。
席位自动负载均衡平台如图2所示。该平台对于新增车次席位数据,通过席位存放方案预测得到每个席位负载忙闲情况和每个负载席位存放量情况,为客运人员提供选取最闲和存放量最小的席位负载中心进行存放,规避了之前需要依赖客运人员按照经验进行席位存放的风险。如图2所示,“客票系统负载资源”代表33个席位负载中心,“席位存放测算方案”是席位自动负载均衡的基本依据。对“新增列车席位”通过“席位自动负载均衡”得到“最优席位存放中心”。对“既有列车席位”,通过“席位自动负载均衡”可以灵活调整到相应的“最优席位存放中心”,即实现了根据各个席位负载中心的使用性能变化进行合理动态调整,通过前台界面输入搬迁列车和搬迁车次的搬迁日期,随时完成一趟列车、某个字头、某个字尾、某种类型多趟列车从一个繁忙的席位负载中心自动搬迁到另外一个相对空闲的席位负载中心,从而实现席位的动态调整和负载均衡,无需专人操作,风险可预控,前台和后台操作无缝对接。通过动态合理化的调整,充分利用了全路33个席位负载中心的资源。
图2 席位自动负载均衡平台
通过建立席位存放测算方案,通盘考虑全路资源,对全路数据库资源进行充分利用,完善的席位搬迁方案制定和高效的即时搬迁手段,对保障客票系统正常运行,提升客票系统的购票速度和用户满意度具有重要的意义。
席位存放测算方案以铁路客票发售与预订系统产生的实际业务生产数据为基础,通过各个地区中心主机和负载的席位存放量、各个车站起售时间、各席位负载中心的服务器和数据库性能等多种影响客票系统售票、取票速度的综合因素,采用基于业务和系统综合评估的测算方法而得到。席位存放测算方案用于指导新增加车次席位的存放指导和既有席位随时动态地调整席位存放中心。首次实现对客票系统席位数据的存放位置的灵活调整,目前已经在客票系统中得以实施应用。
2.1 席位存放测算方案应用
基于客票系统售票现状,席位数据存放测算充分利用了全路33个席位负载中心的网络、服务器、数据库资源,对各个影响售票速度的因素进行综合测算。
(1)进行系统数据资源平衡。席位负载服务器性能也是影响售票业务速度的关键因素,通过对各个主机和负载服务器CPU运行情况分析,测算席位均衡的比例是席位自动负载均衡的关键。以武汉中心的3个负载服务器的性能举例,如图3所示。由于N1、N2、N3负载中心性能各不相同,在不同阶段繁忙程度也不一样,之前对于客票新增席位存放在哪一个负载中心没有明确的测算办法。
根据图3对比,N1、N2、N3这3个席位负载中心在1个售票高峰日的CPU繁忙对比,CPU负载都没有超过70%,N3相对繁忙一些,对N3的新增加的车次和既有存放的席位需要进行自动负载均衡。
图3 武汉席位负载中心的3个负载服务器的性能
(2)进行售票量测算,即测算各个铁路局主中心和负载中心售票量情况。例如:某铁路局设置主中心和负载中心两个数据中心。需测算出主中心和负载存放席位占总席位量的百分比。以高峰时期和非高峰时期各个席位负载中心的历史售出席位售出量进行测算。此外,还需考虑主中心除了存放席位,还需负责客票系统铁路局中心的核心基础数据计算,如票价计算等情况。
(3)需考虑主中心和负载中心在高峰期和非高峰期的各种不同类型的列车席位发售的繁忙情况。例如:主中心存放直通列车,数据量占总席位量的30%,在售票高峰期,如果直通列车需求更为旺盛,列车沿途局需要到始发局取席位,尽管主中心存放的席位量低于负载中心,但主中心的系统负载压力仍要比负载中心的压力略大。以广州铁路局为例,如图4所示,广州铁路局有Q2、Q6,Q7和Q9这4个席位负载中心。Q2存放的广州东到深圳的广深线路席位,广州站的起售时间是11:30,深圳站的起售时间是9:30,因此Q9从预售起始日期开始可售席位量在9:30和11:30出现了两个高峰。
图4 广州铁路局席位负载中心席位量统计
经过综合以上影响因素进行按照席位存放方案进行计算,得到对新增列车席位应该存放的席位负载中心,以达到席位的合理的存放、高效的访问。
2.2 席位自动负载均衡平台
席位自动负载均衡平台根据席位存放测算方案指导新增列车席位和既有列车席位自动负载均衡。席位自动负载均衡平台设计原则是负载方案制定参考因素的全面性、高效性和方案制定影响因素,具有参数化和易扩展的特点,原来的手工搬迁席位速度较慢,只能在夜间天窗时间进行且影响正常的业务生产,而席位自动负载均衡在以下应用中实现随时无缝搬迁:
(1)对既有某趟车次席位的搬迁:通过席位自动负载均衡平台输入需要搬迁的某趟车次、需要搬迁的席位起始日期和需要搬迁到的席位负载中心,实现某趟列车席位在非天窗时间的自动搬迁。自动搬迁时,仅在搬迁时间内影响该车次的发售。
(2)对既有某种类型车次席位的搬迁:通过席位自动负载均衡平台输入需要搬迁的某种类型的车次、需要搬迁的席位起始日期和需要搬迁到的席位负载中心,实现某个字头、某个字尾、某个类型列车的席位在非天窗时间的自动搬迁。例如,可以搬迁T%,G%,D%等字头列车、可以搬迁%0,%5,%9等字尾列车、可以搬迁直通或管内列车、可以搬迁特快或动车组列车等等,当发现有问题时,可立即暂停数据迁移,进行回退操作,保证白天业务平稳度过后再做相应的处理。
(3)对新增车次可以根据席位存放测算方案在自动负载均衡平台得到最优的席位存放位置,把新增车次席位存放到最优席位负载中心。
通过自动负载均衡平台对既有席位随时无缝搬迁的自动调整负载方案,以及对新增席位的导航到相应综合利用率较低的负载中心的智能均衡方案。席位自动负载均衡的应用着眼于席位数据在主中心和负载中心中交易系统的平衡,通过交易量和交易繁忙程度在高峰和非高峰时段的预测,制定完善的负载均衡手段,提升负载均衡的安全性、高效性、实时性,在售票业务规则基础上进行基于交易量的席位数据自动负载均衡,数据负载中心对业务人员的操作是透明的,实现了数据的逻辑集中。该应用适用于现场各个铁路局,为保证高峰期售票的稳定将起到重要作用。
2.3 注意事项
客票席位自动负载均衡在客票系统中进行逐步应用和实现,为保证铁路客票系统发售与预订系统的正常平稳运行,在应用中需要注意一些问题。
(1)全面考虑席位负载均衡影响因素,客票系统席位数据的测算依赖于席位负载中心的服务器性能、历史的售票数据等多种因素,对于数据采样的合理性和有效性应该进一步核验,确保测算数据的科学性和参考性,这也是全路客票交易系统平衡的重要保障。
(2)由于席位数据影响现场的售票作业,席位自动搬迁的全流程对实时性和准确性有一定要求,要求提供完备的席位均衡故障处理方案和应急预案,以确保客票系统现场作业的正常稳定运行。
通过席位自动负载均衡的研究,对客票系统大型实时交易生产系统的席位数据进行分析,结合席位存放方案预测,得到基于席位量和售票量测算的系统数据资源平衡与分配方案,用于指导客票系统席位数据资源的配置。席位自动负载均衡在客票系统的应用综合考虑了客票系统全流程影响因素,做到随时生成负载均衡方案,随时完成席位无缝搬迁,无需专人操作,风险可预控。席位自动负载均衡是铁路挖潜提效的有效手段,对保障客票系统正常运行,提升用户满意度具有重要的意义。
[1]门伯里(英).实用负载均衡技术[M].北京:人民邮电出版社,2013.
[2]Craig S.Mullins.数据库管理实践与过程 [M]. 北京:电子工业出版社, 2013.
[3]朱建生.中国铁路客票发售和预订系统5.0版的研究与实现[J].中国铁道科学,2006,27(6).
责任编辑 方 圆
Seats of automatic load balancing in Railway Ticketing and Reservation System
JIANG Lin, WANG Hongye, JIA Jia, JIN Chao
( Institute of Computing Technologies, China Academy of Railway Sciences, Beijing 100081, China )
Seats of automatic load balancing was a kind of method to share and allocate the seats resource automatically in Railway Ticketing and Reservation System. It connected and managed lots of servers resource, storage resource, database resource in the railway system to form a huge resources system, provide services for intelligent prediction and dynamic adjustment of the seats. This paper mainly introduced the concept, characteristics, key technologies of automatic load balancing about the seats and analyzed the application in China Railway Ticketing and Reservation System.
prediction of ticketing; balance of system data resource; automatic load balancing; seats migration
U293.22∶TP39
A
1005-8451(2015)07-0021-04
2015-01-05
江 琳,副研究员;王洪业,副研究员。