首张国产电子客票诞生记

中国计算机报 / 2018年11月27日 08:09

手机

马文方

如今,要来一场说走就走的旅行,抓起手机、打开电脑或者拨打电话,分分钟就能把机票搞定。但这事儿要是放在30多年前,即便是在北京,单是订票就麻烦大了。

这30多年,隐藏在电子客票背后的是其应用从主机平台到开放平台再到国产自主平台的跨越,是中国民航信息集团公司(以下简称航信)从无到有、从小到大的成长,更是航信技术团队技艺日臻成熟的修煉过程。

技术实力派修炼

上世纪80年代初,民航售票全部是手工作业,一手交钱一手交票。在北京,想买机票,要么去西单民航大厦,要么去位于公主坟的民航售票处,全北京仅此两个售票点。

始自1978年的改革开放,为中国民航事业带来前所未有的发展机遇。而民航售票系统这种手工作业的方式,已成为制约民航发展的瓶颈之一。

1979年底,作为“七五”国家电子振兴计划重点项目之一,中国民航组成机构,对建立民航计算机旅客服务系统等有关问题进行调研。1980年4月,民航计算机总站筹建领导小组和办公室成立。1984年初,民航计算机总站成立,隶属民航总局航行司通信处领导,开始就计算机订座系统(GDS的前身)的引进工作进行准备。

GDS是应用于民用航空运输和整个旅游业的大型计算机信息服务系统。它将全球的旅游销售机构与航空公司、旅馆、租车公司、旅游公司关联起来,为顾客提供快捷、便利、可靠的服务。当时国际上GDS设备供应商只有两家,即两个老牌的主机厂家IBM和优利(Unisys)。经过考察和论证,最终,中国民航选择了优利的系统。

起初,由于受巴统的出口限制,这套系统只能暂时放在香港国泰航空公司的机房。项目组成员只好以中航集团员工的名义去国泰航空的机房开发。几年之后,解禁后的系统搬回北京,放在与中国美术馆一街之隔的民航总局大厦。1986年7月,中国民航引进美国的民航旅客计算机订座系统,在广州投产使用。

“我一到公司,就做应用系统的研发。当时我们大概有50人,还有五六个外国专家做技术支持。公司从引进系统时就强调要消化这个系统,要有自己修改的能力。在大家的努力下,我们很快就具备了修改这套系统的能力,不仅能改应用系统,甚至底层操作系统都能改。黄总就是操作系统专家。在运行中我们发现操作系统有Bug(缺陷),就自己动手修改。一年下来,改过两三百处。”中国航信副总工程师、研发中心总工程师、核高基课题航信子课题负责人彭明田告诉本报记者。

彭明田说的黄总,就是中国航信监事会主席、工会主席、核高基课题负责人黄源昌。黄源昌1983年从南京工学院(现为东南大学)计算机系毕业后就来到航信。在航信的30多年中,黄源昌从技术尖子成长为独当一面的副总经理。

当时优利的这套航空综合业务解决方案已经包含了订座、离港、航班管理系统,但电子客票系统还没建起来。“开发过程中有些涉及底层代码,很难改动,我们就跟优利专家一起改,边改边学。后来,我们不仅掌握了整套系统,而且还具备了修改主机操作系统代码的能力。”彭明田说。

这个时候,航信开始根据中国民航的业务特点,对原有应用进行再创新。比如在客票管理上,国际上通行的做法是由航空公司总部集中管理,但中国的情况有所不同,有的航空公司客票管理由总部主控,但有些航线的客票管理由属地分控。航信在“主控+分控”管理模式上的创新,也支持了后来中国大规模的航空公司整合运营,如中国国际航空公司(以下简称国航)与中国西南航空公司(以下简称西南航空)合并后的顺利运营。国航在整合西南航空后,国航的客票仍在北京管理,原西南航空的客票则在成都管理。

2007年,历经七年的建设推广,中国民航在起步晚的情况下,后来居上,在世界上率先实现了100%的电子客票。

主机系统是一个非常封闭的系统,整个主机的硬件、操作系统乃至应用都由主机厂商提供,因此主机应用很难迁移到其他系统平台上。但是,航信技术团队凭借着多年来在优利主机上开发电子客票系统时的摸爬滚打,不仅透彻地掌握了主机系统技术,而且对应用系统的开发也信心满满。正是这种源自对技术和应用透彻理解的底气,航信才能在日后相继将客票系统从优利的主机迁移到甲骨文数据库平台上,继而再迁移到国产达梦数据库平台上。

向开放平台迁移

在客票管理上,尽管各航空公司对“主控+分控”模式的创新尝试反映都很好,但是航信在开发过程中逐渐体会到,主机系统比较封闭,主机硬件系统、操作系统、数据库和应用都捆绑在一起,由一家提供,开放性比较差。加之优利系统使用的是比较老的FORTRAN语言,整个应用改起来比较困难,能改这个系统的人越来越少。而且封闭性对创新的制约,航信在开发代理人销售系统(CRS)项目上深有体会。

“1995年,我刚参加工作时,我们的CRS开发团队只有五六十人,到了2000年左右,已经有200多人了,但还是不够,因为中国民航事业发展非常快,业务发展需求越来越多。” 彭明田说,“那时,我们已经是优利主机系统全球最大的客户,但我们现有系统的处理能力总是不够。因为容量不够,我们每两年就要对优利主机升档。”

单台主机性能实在难以满足要求。到了2005年,航信建议优利采用多台主机做集群。鉴于主机市场日渐衰退,优利相关负责人面露难色。于是,航信与优利联手,最终在2007年底完成了4个主机耦合集群架构的研发,从而圆满地完成了2008年北京奥运会相关的保障任务。

由于主机集群的使用,解决了原有的主机性能瓶颈问题。但随之而来的是优利改变了收费模式。“原来是买了硬件后随便用。上了集群之后,容量用不完,优利就改为卖MIPS(每秒百万次指令)。”彭明田说,“虽然当时主机的硬件比小型机贵,但还能接受。但计费方式改变之后,成本很高,压力很大。”

与此同时,以Unix服务器和Java语言、C语言为代表的新一代软硬件开放平台和开发工具,以其应用组合的灵活性和应用开发的高效率,强烈冲击着主机市场。

深感主机封闭系统带来的诸多不便,航信从2000年就开始了将主机应用迁移到Sun和惠普的Unix服务器,以及甲骨文数据库平台的开发工作。

当时,数据库与操作系统之间大都使用的是BEA公司提供的面向交易的中间件TUXEDO,但是TUXEDO价格昂贵。于是,为了降低成本,航信在2005年启动了替代TUXEDO的基础平台开发,项目立项时目標就很明确,要做一个面向通用交易系统的平台,而不是仅仅用于民航领域。

经过多年的实战,航信已经对复杂的业务逻辑有了透彻的理解,同时也打造出一支能啃敢啃硬骨头的技术队伍。“到2008年,我们已经有信心将应用从主机系统迁移到开放平台上,毕竟主机的成本高,开发人员也不好找。”彭明田表示。

从降低成本到强化自主

航信是2001年在香港上市的国企,上市公司降低成本、追求利润是天经地义的。系统成本的高低、系统配置与开发的灵活程度、技术团队建设的难易,成为驱动航信将应用从主机迁移到Unix服务器的主要因素,而2011年开始将应用从Unix服务器迁移到PC服务器上的决策,有进一步降低成本的考虑,但更多的是基于国产化和自主可控的考量。

早在1999年,时任副总经理的黄源昌,就倡导引入华为的路由器。“原来航信用的清一色都是思科网络产品。但是,真正聪明的客户,应该善于让供应商竞争起来。”黄源昌说。

当初,航信选择优利就是“让供应商竞争起来”的经典案例。那还是在2000年左右,外国同行问他,为什么全球的GDS都选用IBM,唯独中国选择了优利?

黄源昌先是反问同行,为什么国外的航空公司每订一张机票要向GDS缴纳几美元,而航信只收国内航空公司几元人民币,并且航信的利润比国外同行还要高?最后,黄源昌给出答案:如果航信也选择IBM,就失去了议价能力。但是航信选择的是优利,从而降低了成本,加之又是自主研发,成本更低了。

“2007年,航信内部做了新一代旅客服务系统的规划,建设原则就是‘开放、自主、渐进。”曾分管航信研发工作的副总经理黄源昌对航信的发展如数家珍。

黄源昌介绍说,“开放”的第一层含义是要始终跟上国际的发展潮流,紧跟国际需求;第二层含义是从传统主机平台转到开放平台上。“自主”就是要在研发过程中全部做到自主可控。原来想引进国外同行的先进产品,但对方基本上都不愿意给源代码。现在客户需求变化特别多,没有源代码,改不了程序,就无法满足客户需要,所以当时航信就把自主可控作为重点。而“渐进”强调的是新一代系统的建设是个长期、持续的过程。

2008年,航信董事会通过了预算为18.52亿元的新一代旅客服务系统建设的规划。“董事会批准启动新一代系统时,航信现任总经理崔志雄时任航信党委书记,也是执行董事之一,他提倡我们要大量使用国产设备,提高自主可控能力。”黄源昌回忆道。

按照规划,从2008年到2011年,用3年的时间预研,并开展基础平台的大规模验证。从2011年开始,正式启动新一代系统开发。

从2012年开始,航信就软硬件平台的选型进行了一系列的测试。因为Unix服务器价格较贵,航信就买来浪潮、曙光等厂家的PC服务器,经过全面测试评估后认为可行。紧接着又开始对包括中标麒麟、红旗等Linux操作系统进行测试。同年,航信还参与了核高基《申报指南》的编写。

首次申报失利

2012年,航信第一次参加核高基项目申报。但这一次申请却没有成功。“第一次申报我们没经验,选题有点偏。当时我们申报的是处理系统,评审专家说你们选偏了,应该申报交易系统,劝我们第二年再来。”彭明田说。

第一次申请失利后,航信反倒加大了在国产化上探索和评估的力度,他们购买了中国电子信息产业集团旗下达梦数据库有限公司的数据库产品,对其进行测试,准备应用于航信的内部监控系统。

刚开始,航信运营部门对使用国产数据库还是比较担忧的,毕竟民航的信息化应用大都是关键应用,容不得半点闪失。

但黄源昌认为:“从国家战略来说,必须有自己的基础软件产业,航信要担当起国家信息安全相应的责任。从航信自身看,航信将来要走向国际化,在国际市场上单打独斗是赢不了对手的。因此,我们走出去也需要国内的长期战略合作伙伴的支持。”

“航信作为国企走在信息化建设的前列,也有责任带一带国内的弱势产业。这对国家有利,对航信有利,对每个参与者也有利。这‘三个有利的原则对于航信项目的成功起着重要作用。”黄源昌表示。

黄源昌反复跟运营部门讲述为什么要使用国产数据库的道理:“只有善于为企业创造价值,个人的价值才能得到提升。因为怕国产数据库不安全而不用,航信每年要在数据库上多花几千万元。用国产数据库是有点风险,但可以为企业每年节省几千万元,而且未来随着国产数据库产品用量越来越大,节省的会更多,这就是你的价值。再有,你从只会用一个数据库,到既懂国际上最流行的数据库又懂国产数据库,你的竞争力就提升了。干任何事情,如果不能实现‘三个有利,往往很难成功。”

对于自主可控,黄源昌辩证地说:“我们讲自主可控,支持民族产业,但绝对不是闭关自守。国外厂家的先进产品也要用,这让我们具有国际视野,使我们产品研发的水平始终跟上国际的发展趋势。同时,我们要扶持国内的伙伴,扶持起来后就可以一起跟国外企业适度竞争,使得我们具有竞价的能力。”

2013年申报时,除了原有的中标麒麟操作系统提供商中软之外,航信又联合了达梦数据库、负责整体协调的中软安人和作为最终用户的国航,组成了由纯国产基础软件构成的申报方案。

精诚所至

“我们在2013年申报过程中总被质疑,‘电子客票系统国产化是真的吗?‘民航信息系统这么重要,电子客票又是核心系统,怎么就敢把核心业务拿出来国产化?” 彭明田回忆说,“的确,国产数据库和操作系统与国际领先厂商之间存在差距。因此有人甚至认为这是不是想骗国家经费。”

然而,航信人不忘初心,坚定地走国产化的路。这种决心来自2008年制定的新一代旅客服务系统建设规划提出的“开放、自主、渐进”建设原则。而对基础软件国产化的信心则来自从2011年开始,对多款国产基础软件进行的测试和试用。

“当时我们航信的肖殷洪总经理,亲自去核高基重大专项实施管理办公室,做了课题申报的汇报。”彭明田说,“当被问到你們为什么要做时,肖总表示,‘说实在的,航信并不缺钱,而且利润还很高。在被问到是想要‘名吗?肖总回答说‘航信在乎的一是成本,二是自主可控。因为甲骨文数据库、红帽Linux操作系统,还有TUXEDO中间件这些国外软件的使用和维护成本很贵。”

经过多次陈述和答辩,航信申报的项目终于批下来了。仿佛是为了考验航信的决心,课题经费减半后,航信被询问还愿不愿意继续干。航信表示,申报项目是为了把国产化做起来,而不是为了钱。

等到答辩通过后,航信、国航和中软安人又被通知,经费又被减半为3000万元,问大家还愿意干不干。“3000万元我们也干,我们不是为了钱,我们就想通过核高基这个国家平台,让国产软件厂商更好地支持我们做国产化这件事。”彭明田介绍说。

刚好从2014年开始,核高基的每个项目都要写承诺书。航信申请的这个项目,不仅要盖航信公司的印章,还要航信的3位执行董事在承诺函上签字。而且,不仅航信要写承诺函,作为用户单位的国航也要写承诺函。

与航信相比,国航更不差钱。电子客票系统是航空公司的核心应用,一旦有什么闪失,出不了票,就意味着航班无法起飞,这个责任谁扛得起?

出乎外人的预料,国航还真的写了承诺函。这种信任源自多年来国航与航信在信息化应用上的合作,一定程度上也是基于对黄源昌率领的航信研发团队的信任。

记者在采访时问他:“做决策时你的压力应该最大吧?毕竟国产软件特别是数据库不够成熟。”

“当时真没想那么多,就想到了对企业有好处。每次我完成别人看来完不成的任务,都是上面领导直接派给我的,然后我想方设法完成。挑战越大,可能出的成果越大。”黄源昌回答说。

“敢打硬仗,勇于担当”是技术牛人的共性之一。上世纪90年代中期,民航的“自动出票项目”是用计算机将民航售票处、机票代理点的信息整合在一起。这个项目实施数年总共才安装了不到50台。民航局决定要大规模推广,黄源昌带着技术团队,只用了一年半的时间,在内地所有城市完成了自动出票项目的部署。

“只要是行业和国家需要的事,责任大点儿没事。最终,各方面都会支持你,担起这种责任没有什么好怕的。但在具体实施时,要讲究科学,定目标胆子要大一些,但具体干要讲究方法。”黄源昌说。

最终,在申报核高基项目中国产基础软件示范工程的13家单位中,航信以电子客票项目答辩第一的成绩,成为3家入选者之一。

缜密实施

2014年1月,项目终于批复下来。

按照申报内容,这个项目是把原来运行在Sun和惠普Unix服务器和甲骨文数据库上的电子客票应用,迁移到基于国产服务器、中标麒麟操作系统、航信TODE中间件和达梦数据库构成的软硬件平台。这意味着除了CPU之外,所有的软硬件都是国产的。

因为是迁移,所以现有的电子客票应用逻辑不用改,项目的挑战在于:电子客票这一核心应用能不能迁过来?迁移以后好不好用?能否确保核心关键应用所要求的7×24小时运行?

能不能迁移是个兼容性问题,通过适配性测试就能发现问题。一旦发现不兼容,应用就要为了适应软硬件系统平台进行修改。比如说,甲骨文数据库有些指令,达梦数据库没有的话,那么,就要对电子客票应用进行修改,以适应新的数据库平台。

好不好用的评估手段是压力测试。通过压力测试发现软硬件系统平台是否能提供足够的性能,满足电子客票应用的需要,改动和改进的工作主要集中在软硬件系统平台,特别是数据库上。

而高可用性需求的满足,除了对软硬件系统的要求之外,系统的冗余备份至关重要。

按照核高基项目的管理要求,航信与国航、杭州中软成立了联合项目组。杭州中软负责对国产中标麒麟操作系统、航信TODE中间件和达梦数据库,以及浪潮和曙光的服务器进行适配性测试。而航信与国航一道负责对电子客票系统进行改造。

尽管在此之前,航信其他应用已经采用了达梦数据库,而且航信也对达梦数据库做过评估和测试。但是,在向达梦数据库平台迁移时,挑战还是出乎彭明田的意料。

“主要是4个方面:一是架构调整,保证各航空公司之间不会互相影响;二是适配改造;三是达梦数据库性能调优;四是大量的流程改造。”彭明田介绍说。

数据库调优就是针对特定的应用进行优化,从而显著提升性能。“当初,我们把电子客票系统从主机迁移到开放平台时,在甲骨文数据库上运行的性能也很差,最后,甲骨文将数据库调优后,性能就提升了。”彭明田说,“达梦数据库也是这样,刚开始时感觉性能不太好。我们不仅帮助厂商发现了很多问题,而且一起解决这些问题。”

由于达梦数据库此前是为查询应用而非交易应用设计的,因此在基于交易的性能测试过程中,先后发现了100多项需要改进的问题。此时,难免有些质疑的声音。彭明田则认为:“我们1998年引进甲骨文数据库时,刚开始也出现过系统处理能力急剧下降甚至宕机的情况。后来,请甲骨文公司的专家过来,系统经过调优后才满足需求,解决了交易量大带来的问题。甲骨文数据库也是因为交易量大才发现问题,这些问题解决后,才让甲骨文数据库有了今天的市场地位。对国产软件同样要有信心,只有更多的企业用户来用,才能发现更多的问题,才能把国产软件打磨好。”

虽说航信不做数据库,但却拥有国内顶尖的数据库专家崔华。在甲骨文官网上,Oracle ACE认证名单中只有15位来自中国大陆,他就是其中之一。

“崔华和我们的技术团队与达梦的数据库专家一起讨论解决方案,对比甲骨文数据库的性能,提出改进意见和建设,从而让达梦数据库发展得更好。可以说,我们对推动国产数据库的进步做了贡献。”彭明田说。

在电子客票这个核高基项目中,航信投入了大量的技术资源。“整个公司有1000多名研发人员和五六百名运行人员,将近1/3的人先后参与这个项目。”彭明田说,“研发过程中,研发中心十几个部门中,有一半的部门参与其中,而且国航的技术团队也和我们并肩工作。”

电子客票这个项目的研发还有一个特点,那就是运维团队从项目开始就进入项目组。他们不仅从运维的角度提出需求,而且整个系统的测试都是由运维团队负责的。这样做的好处是项目始终是在“用户环境”下研发和测试的,最大限度接近真实的运营环境。参与项目组的还有运行中心的测试部、运行部、网络部和客服部。

为了确保电子客票应用的高可用性,“我们在应用层和数据库层都做了集群,应用层服务器出现问题可以随时替换,而达梦数据库有自己的高可用技术,而且还用主机系统作为备份,而且这种切换是自动切换。”彭明田介绍说。

波澜不惊的上线

当项目开发完毕,接下来就是上线。航信研发中心的系统运行与维护部负责电子客票应用层的运维,这次由他们牵头做应用的后续投产评审。参加评审的有运行中心运行部,他们主要是负责系统层面的运维,还有负责包括信息安全在内的安全生产与质量管理部(以下简称安质部)。

在提交上线评审材料之前,这个项目还要进行研发内部的测试,通过后再交给运维中心的测试部进行最后把关测试。

“航信之所以敢申请核高基项目,除了技术能力和创新能力之外,还具备比较成熟和完善的运维体系。成熟软件还出问题呢,如果运维能力不强,再遇到不太成熟的软件,那运维部门岂不整天忙着救火?” 航信研发中心新一代航空公司分销系统研发部副经理杜建国表示。

杜建国介绍说,材料提交之后,投产管理组会召集由运行、研发、安质方面专家组成的评审团队,对项目进行投产方案评审。评审通过后,还要经过安质部的上线流程评审,通过后才能投产上线。因为这个项目属于重大项目,所以还必须进行管理评审,以确保运行时管理和相关部門的协调能够到位。

尽管这个项目的目标用户是国航,但为了稳妥起见,航信先后选择了在小型航空公司西藏航空和中型航空公司首都航空实施。在两家航空公司圆满成功投产并持续运营数月后,该项目才在国航上线。

2016年4月14日晚,位于北京奥林匹克公园国家会议中心内的航信研发中心灯火通明,中国民航信息集团公司总经理、党委书记崔志雄,副总经理荣刚,监事会主席、工会主席黄源昌等与国航信息部总经理李强、中国电子总工程师程春平、达梦数据库总经理刘小平、杭州中软安人副总经理程德生等一同来到指挥室,科技部、工信部、民航局相关领导也莅临航信投产现场,共同见证这一历史时刻。

20∶00,核高基课题负责人黄源昌宣布,国产电子客票项目上线流程正式启动。

运维大厅里,20多位研发与运维人员,有条不紊地按照既定的上线流程,在电脑上操作着。

上线过程中最耗时的就是数据导入。因为订票周期长达1年,所以客票的存量数据必须保留13个月,而按照要求,历史数据还要保留18个月。历史数据因为极少被查询,又不可能进行交易,先期已经从甲骨文数据库中导入到达梦数据库。上线时实际导入的是存量数据。

“13个月的存量数据大概有几百万条,上百个GB,数据量本身不算太大,但条数多,又需要逐条解析,所以,入库就花了2个小时,之后还要进行比对。”彭明田说。

因为之前电子客票项目已经在西藏航空和首都航空成功上线和平稳运行,此次在国航的上线只是数据库规模的不同。因此,整个上线过程,无惊无险,顺利进行。

凌晨1时35分58秒,在国航北京的销售点,由新系统生成的首张电子客票成功出票。这标志着航信、杭州中软和国航率先圆满完成核高基项目中的国产基础软件示范工程项目。

新的起点

从科研的角度看,上线成功意味着项目的完成。事实上,国内有些科研课题都是在结题之日被束之高阁。而对于电子客票联合项目组而言,这仅仅是应用的开始。

“现在国航、首都航空和西藏航空加在一起,也就每秒100次交易,就算是把南航、东航等国内其他航空公司都转过来,也不过每秒300次交易。我们曾经用国航10倍的压力测试,实际上这套系统可以支持每秒1000次交易。”彭明田表示。换言之,电子客票项目在研发之时,就为其应用预留了足够的发展空间。

作为航信监事会主席的黄源昌,在回应未来发展时非常谨慎:“航信这么多年一直都在尝试做新的业务、开拓新的市场。民航这块我们基础打得最牢,无论如何,我们都要把这一块做深、做透、做精,这样才能始终立于不败之地。对于新的东西,企业做大做强必须两条腿走路。一条腿是自己实干,另一条腿是投资资本市场,利用资本市场的资金快速提升我们的能力,这也是必须要走的。很多事全靠自己发展太慢,要整合全球资源。”

一个经过国航核心关键业务验证过的高可用交易型系统,其应用范围和市场前景给人们留下了充分的想象空间。

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。