建行报客户版
您所在的位置:首页 >> 今日建行 >> 建行报客户版

“应该可以更好”

----——访建行信息技术管理部北京数据中心孔令俊

发布时间:2013-01-16

    记者的话:孔令俊的工作生活状态是,手机永不关机,笔记本随身带。而且,在改进的道路上没有极限,永远都存在短板需要优化。所以,他自己的性格也有些被技术化了,时常做事不果断,总会抱着怀疑的态度去思考。听着他的讲述,你会深深感到一种投入和浸泡感。所以,跟孔令俊交谈关于计算机的专业和工作一点也不抽象,他总能打个比方,用一个日常化的事物描述他身后庞大复杂无形的数据。我知道,深入浅出的背后是精通。孔令俊的那些亲切的比喻,让我感受到了他对计算机以及这份职业的温情和归属。

    图片由受访者提供

 

 本报记者 刘静

    至今仍然酷爱福尔摩斯的孔令俊自己也像个侦探,但他查办的不是人,而是计算机。

    201010月的一天,E-TRADE系统交易突发异常。作为建行的电子商务平台,E-TRADE在电子交易中发挥着重要作用。此时,从系统、应用、数据库端都没有任何错误提示,更为严重的是,这个软件产品是外国公司开发,行里没有源码。这就相当于别人放了个程序在你这运行,结果出错了。知道错了,但没有任何现象,也没有日志可以查询错误点。孔令俊解释道。虽然连通了外国专家进行咨询,但是由于没有任何错误提示,外国专家也无从下手,更无法提供任何有价值的信息。

    孔令俊和他的同事们采用逆向思维方式,通过对数据库的数据操作进行反向跟踪,对业务处理环节进行推理。几个同事一起盯着一台电脑屏幕,对两万条数据进行了逐条分析,找到了发生问题的根源是由于一个空值导致业务逻辑出错。

    寻找空值花了孔令俊4个小时的时间,这已经非常不易。但实际上,在孔令俊的概念里,毫秒才是经常计量时间的单位。

    2011年,龙卡交易出现了200毫秒的性能下降,由于业务量巨大,导致交易发生堵塞。而龙卡网络系统承担着同银联间的跨行卡交易和贷记卡交易的转发、银联对账及资金清分的功能,是建行最重要的交易系统之一。大家从应用层面无法确定问题原因,只能通过对系统层面数据包进行跟踪,最终确认是操作系统上的底层实现上存在BUG计算机的基本状态无非三种:一种是BUG,也就是产生莫名其妙的状态;一种是宕机了,就是服务停止了;一种是阻塞,速度慢了。但产生这三种状态的原因就太多太多了。寻找关节点很复杂,确定问题之后解决问题很简单。这就好比在一面巨大的墙上找一个小点是困难的,但找到了擦掉是很容易的。所以,恢复是目的,方法放到次要,争取时间最关键。

    2007年调入北京数据中心后,孔令俊参与了40多次核心交易系统的故障紧急处理,100多次涉及全行系统数据库、中间件、系统的问题处理分析。能够参与到这些问题处理中来是技术人员很期待的一件事,但日常没那么多大事等着你去做,一个人也不可能一下子做出大事来。孔令俊觉得,经验是做出来的,平日会去探索可能改善的地方,哪怕是提高一毫秒的处理速度。我自己没事就会琢磨一些细节,比如这个地方把两步变一步行不行?手动换成自动的行不行?……如果一台机器放在那,等他坏了维修一下,工作就变得没有生命力。做这些事时并不是每个人都能知道,但自己能获得内心的一个赞许。搞计算机的人跟外界交互很少,很多成就来自于自己对系统的掌控和改善。

    孔令俊定义的运维工作有两大职责,一是维稳,也就是说不能坏;一是改进。银保系统承担了建行与保险公司的业务往来,是重要的创收系统。2010年,随着业务并发量的不断增加,业务高峰期交易处理缓慢,平均交易时间达到了5秒钟。曾经做过储蓄业务支持的孔令俊生出许多疑点:每个系统都有取凭证,为什么其他是1秒钟,这个要用五秒?它是怎么设计的,为什么跟别人不一样?一个存款动作在好几年前的要求就是七八十毫秒,客户体验不超过3秒,为什么这个系统慢了?有些事其实是想当然了,如果你爱想敢想,总会觉得应该可以更好。很多情况下,我会觉得不合理,就想再深入了解下去。孔令俊觉得,把课本上那些知识融入到现实中,把头脑里的想法通过机器设备得以实现,是一件非常得意的事。经过优化,系统平均交易时间降低到了1秒钟以下。

    “其实,200毫秒和两毫秒的区别一般人很难分辨出来,但后端的最终会传导到客户端。运维最终是为功能服务的,如果我们提出的目标是好的,大家就会尽力去促成。同时,不能为了自己的利益搞运维,我们运维想实现一个东西,如果需要应用那边的同事开发几万条代码,那就行不通。开发部门、维护部门、业务部门要多赢,改进才有意义。

 

附件下载:
2brw.jpg