如今,要来一场说走就走的旅行,抓起手机分分钟就能把机票搞定。但这事要是放在30多年前,买机票还得开证明,售票全是手工作业。这30多年,隐藏在电子客票背后的是中国民航信息集团公司(以下简称中航信)从无到有、从小到大的成长,是其应用从主机平台到开放平台再到国产自主平台的跨越,也是中国自主可控数据库技术从无到有,再到广泛应用的进阶。
从oracle到达梦 国产化替代启航
早在1986年,中航信就引进美国相关软件系统,采用引进、消化吸收、再创新方式逐步将民航信息系统建设起来。其中,电子客票系统作为中国民航的核心交易系统,是保障航空活动正常运行的重要支撑。客票系统操作虽然简单但由于其访问量、数据量庞杂,对于数据库系统性能要求非常之高。一直以来,国内的航空公司大多采用国外的巨头公司产品——Oracle数据库。而随着业务发展和旅客的增多,现有系统已经不堪重负。因此,中航信着手建设新一代的民航信息系统。
近年来,由于网络安全事件的频发,“去IOE”、“国产化替代”的呼声一浪高过一浪。从国家安全角度考虑,民航作为关系到民生和经济的重要领域,需要进行国产化系统替代的尝试工作。同时,相比于国外公司,国产数据库所具有的本地化运维的优势也可大幅缩短产品运维的周期和成本,性价比更高。
在这样的背景下,2014年,经科技部、工信部批准立项,中航信启动了基于国产安全可靠基础软件的民航客票交易系统项目。作为提供全流程的票务自动化处理的核心交易系统,此次着手建立的新一代电子客票系统是一个为航空公司、代理人、旅客提供全渠道销售的信息化系统,服务范围覆盖海内外,承载着全球第三的业务处理量,为国家重点监管的行业信息系统之一。该系统对安全性、可靠性、扩展性、性能及信息化成本控制等等都提出了高标准、高要求。
作为国产数据库领军企业的武汉达梦数据库有限公司进入中航信的视野,看国产数据库行不行,就看达梦。打破国外垄断,实现国产化数据库替代这个多年梦想的重任就落到了达梦的肩上。
面对应用之初中航信的疑虑,达梦公司选择从非核心业务系统进行试验,用实际结果证明自己。2014年1月,达梦数据库首先在中航信应用监控管理平台(TAM)历史库中投入应用,到2015年5月,中航信TAM在线库成功上线,至此TAM系统全部完成基于达梦数据库的上线。在TAM 系统中,达梦表现出了良好的兼容性,原程序无缝从原 PostgreSQL 数据库移植到达梦数据库,运行稳定。
经过达梦在TAM等非核心业务系统中的检验,中航信对达梦数据库的功能、性能以及稳定性建立了信心。从2015年开始,核心业务系统中的数据库替换开始紧锣密鼓的进行。从2015年5月初开始,到2015年9月,中航信在基于达梦数据库电子客票系统(ET)进行了一系列功能性、性能压力和稳定性测试,在此过程中,达梦数据库没有出现任何问题。在最为关键的性能测试中,达梦数据库在综合场景中的测试结果最高达到了800TPS的水平,远大于中航信40TPS的需求。达梦数据库在性能上已经可以比肩国际先进水平。
能不能用 好不好用 拷问产品
这个项目要把原来运行在Sun、惠普Unix服务器、甲骨文数据库上的电子客票应用,迁移到基于国产服务器、中标麒麟操作系统、航信TODE中间件和达梦数据库构成的软硬件平台。这意味着除了CPU之外,所有的软硬件都是国产的。
因为是迁移,所以现有的电子客票应用逻辑不用改,项目的挑战在于:电子客票这一核心应用能不能迁过来?迁移以后好不好用?能否确保核心关键应用所要求的7×24小时运行?电子客票系统是航空公司的核心应用,一旦有什么闪失,出不了票,就意味着航班无法起飞,这个责任谁扛得起?
能不能迁移是个兼容性问题,通过适配性测试就能发现问题。一旦发现不兼容,应用就要为了适应软硬件系统平台进行修改。比如说,甲骨文数据库有些指令,达梦数据库没有的话,那么,就要对电子客票应用进行修改,以适应新的数据库平台。
快速移植的需求归根到底是对数据库兼容性的考验,达梦数据库需要支持开发商在3个月内,完成涉及到约10万行数据库相关源码(对象定义、SQL、过程、触发器)从Oracle向DM的移植。为此,达梦数据库提供了对多种数据库的兼容。并且支持Oracle DBlink 功能,与 Oracle 数据库进行适配工作。不但可以在达梦数据库之间使用 DBLink 跨库访问,而且支持和 Oracle 异构数据库的跨库访问,从而在最大程度上满足快速移植的需要。好不好用的评估手段是压力测试。通过压力测试发现软硬件系统平台是否能提供足够的性能,满足电子客票应用的需要。
中航信副总工程师、研发中心总工程师、核高基课题航信子课题负责人彭明田介绍:“我们1998年引进甲骨文数据库时,刚开始也出现过系统处理能力急剧下降甚至宕机的情况。后来,请甲骨文公司的专家过来,系统经过调优后才满足需求,解决了交易量大带来的问题。甲骨文数据库也是因为交易量大才发现问题,这些问题解决后,才让甲骨文数据库有了今天的市场地位。对国产软件同样要有信心,只有更多的企业用户来用,才能发现更多的问题,才能让国产软件越来越好。”
正是这样的信念给了达梦数据库机会,针对于电子客票系统的特点,所应用的数据库应能从容应对节假日、重大活动等出行高峰期的机票查询、预定请求。为此,中航信针对达梦数据库进行了多次仿真业务测试,测试结果表明,在国航正常业务的10倍压力下,达梦被证明完全满足业务需求。在数据库性能上,达梦数据库已经与Oracle不遑多让。
圆满完成国产化替代
在数据库替换过程中,为了保证系统的平稳过度,达梦公司从系统工程角度出发,采取了逐步替换,从易到难的替换策略,从而最大限度的保证了客户应用的可用性。项目先后选择了在小型航空公司西藏航空和中型航空公司首都航空实施。在两家航空公司分别在2015年9月13日和2015年12月31日圆满成功投产并持续运营数月后,该项目才在国航上线。
2016年4月14日晚,位于北京奥林匹克公园国家会议中心内的航信研发中心灯火通明,中国民航信息集团公司总经理、党委书记崔志雄,副总经理荣刚,监事会主席、工会主席黄源昌等与国航信息部总经理李强、中国电子总工程师程春平、达梦数据库高级副总经理刘小平、杭州中软安人副总经理程德生等一同来到指挥室,科技部、工信部、民航局相关领导也莅临航信投产现场,共同见证这一历史时刻。
因为之前电子客票项目已经在西藏航空和首都航空成功上线和平稳运行,此次在国航的上线只是数据库规模的不同。因此,整个上线过程,无惊无险,顺利进行。
凌晨1时35分58秒,在国航北京的销售点,由新系统生成的首张电子客票成功出票。这标志着核高基项目中的国产基础软件示范工程项目圆满完成。
然而,对于电子客票联合项目组而言,这仅仅是应用的开始。2017年3月30日,东方航空电子客票系统上线成功;2017年4月27日,深圳航空、山东航空、澳门航空、海南航空、上海航空、中国联合航空、奥凯航空、四川航空、华夏航空,共计9家航空公司上线成功;2017年5月18日,大新华航空、天津航空、云南祥鹏航空、西部航空、香港航空、上海吉祥航空、厦门航空、昆明航空、成都航空、幸福航空、东北航空,共计11家航空公司上线成功。
至此,中航信旗下24家航空公司电子客票系统的数据库国产化替代全部完成。整个航信系统,从开始测试到完成核心系统的替换工作,达梦公司历时近4年,最终成功完成了中航信电子客票系统的国产化替代工程,在这场国内外数据库的大比拼中交上了一份令人满意的答卷。
电子客票系统具有365*24的不间断运行的特点,其数据库必须具备高可用性。达梦公司通过技术开发,攻克了高并发压力下持续稳定服务、同构数据库故障切换时间小于 60 秒、异构数据库故障转移这三大技术难题。从2015年达梦数据库首次在中航信系统下的航空公司上线以来,数据库运行稳定,无故障发生,完全满足了中航信“对于客票系统,可用性需要达到 99.99%”的要求。
乘客通过机票代理商或中航信电子客票系统购买的每一张机票,都将在开放的国产化平台上诞生。武汉达梦数据库有限公司也成为了唯一一家支撑于民航客票系统的的国产数据库企业。达梦数据库在中航信电子客票系统的成功应用也成为了第一个在航空核心系统采用国产化数据库替代的成功案例,为国产数据库进军航空领域打下了坚实的基础。同时也向世人证明,国产基础软件经过积累,已经完全能够满足市场上用户的大部分需求。而且,国产软件独有的安全可控的特性与进口软件相比更具优势。在大规模商业应用方面,国产软件正不断被用户接受,在关系国计民生的重大行业扮演着越来越重要的角色。