从P805批次的测试阶段开始,报表是另一块难啃的骨头,一张报表的数据来自多个系统,每一系统都需要进行数据核对,耗时耗力。P805批次的报表是由一个单独的团队开发的,他们要负责数据的对接、展现以及数据的准确性。这种方法自然效率很低,由于报表在所有项目中都是最后完成的,前期很难识别出这个贯穿整个项目交付过程的风险点。直到最终决定自己开发质检系统,软件架构师张翼虎指出了这一报表开发流程的不合理。
张翼虎是资深软件架构师,全栈开发高手,加入易谷网络前在开发界工作多年,从事过企业软件、互联网软件等多种形态的软件开发工作,以资深开发顾问身份加入易谷网络,后加入中国银行项目组。在决定进行智能质检系统开发时,Peter指定其为开发与产品总负责人,要求不仅实现产品功能,而且要作为一个未来通用的产品,可以独立销售与部署。质检系统需要与几乎所有的系统进行数据的相互传递与调用,这点和报表的数据采集系统是完全一致的。张翼虎发现,报表的数据采集用的是向其他系统去获取数据,然后进行计算与展现的方式。这样的数据传递模式在系统简单的情况下是没有问题的,但是如果需要对接很多系统的话,复杂度指数就呈增加趋势,于是,他率先在公司提出了“数据中台”的概念。
数据传递图
数据中台将存取智能服务与营销系统的所有数据,每个系统都通过事先定义好的数据网关与数据中台进行数据存取。按照这个新的架构,报表团队就不再需要和每个团队单独进行数据的获取与校验,直接从数据中台中获取就可以了,对于数据中台没有的数据,通知数据网关进行采集即可,这样就通过系统架构解决了协同的问题。
数据中台的数据准确性核对也是一个大工程,如果各子系统只负责存取数据的话,报表系统的准确性同样难以保证。于是,项目组要求每个子系统有专人对数据的准确性负责,后来这项工作的负责人由整个系统的总架构师万海荣负责。(www.xing528.com)
万海荣接手后,又提出了一个“中间表”概念。所谓中间表,就是根据报表的数据要求,先进行数据整理,整理后的中间表可以直接供报表数据使用,或经过简单的运算后,成为报表数据的一部分。
数据中台图
用数据中台和中间表去代替传统的基表与直接的报表展现,表面上看改变不大,但对系统架构来说是革命性的。在以前的大型项目中,数据传递要靠系统之间的约定与对接来完成,每增加一个子系统就要和其他系统重新完成一次对接工作。而数据中台,是通过数据网关这一产品化的架构来完成所有数据的对接工作,在这种情况下,增加一个新的子系统,只需要增加一个新的数据网关即可,而且对其他数据的读取接口已经固化到了新的网关上,数据的准确性以及读取效率都已经得到了充分的验证。中间表,则是将复杂的报表计算过程中间化,是对报表数据的一个预处理过程,可以大大提高报表的运算效率以及报表数据的准确度。后来,在中银香港、成都银行等几个项目交付的过程中这两个概念从一开始就采用,对交付效率的提高起到了显著的效果。
尽管报表的交付还有很长的路要走,还有很多未知的困难,但是通过架构的整理以及合理的分工基本走上了正轨。至此,团队稳定,进度可控,最难的问题也找到了解决办法。随着P902批次上线,试点运行,全国推广工作也在有条不紊地进行,等待项目组最大的考验是P904批次,在这个批次必须实现前期的承诺,就是完成项目的整体功能。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。