【51CTO.com原创稿件】2018年5月18-19日,由51CTO主办的全球软件与运维技术峰会在北京召开。此次峰会围绕人工智能、大数据、物联网、区块链等12大核心热点,汇聚海内外60位一线专家,是一场高端的技术盛宴,也是顶级IT技术人才学习和人脉拓展不容错过的平台。
在“大数据处理技术”分会场,Mob开发者服务平台技术副总监林荣波带来了《数据工厂架构升级分享》的主题分享,会后,51CTO记者对林荣波进行了专访,就数据工厂架构进行了深入探讨。
林荣波,7年移动互联网从业经验,曾负责多家公司公共核心系统的架构设计与开发,擅长处理千万级的并发、TB级的数据处理以及系统治理。现任Mob开发者服务平台技术副总监,负责SDK业务整体架构设计实施以及人才管理及引进工作。
早在2012年,MobData前身掌淘科技就已经开始研发SDK产品。经历6年的发展和积累,相继推出的13款SDK产品,涵盖了第三方登录、分享、短信验证、消息推送、手游录像、用户系统、数据API等全方面的SDK需求,帮助开发者降低开发成本,提升集成效率,打造完善的数据统计后台,累计5年无重大事故。
有了品类丰富且多样化的SDK产品,也造就了MobData国际领先的数据实力,现今数据源已覆盖国内84亿的移动设备,产品服务于26万+的开发者,月活超过9.5亿,SDK下载量突破330万次。
Mob数据工厂架构
数据工厂包含数据采集、数据处理等功能,旨在对行业大数据进行一系列规范化处理,提供强大的数据管理、分析等能力。
Mob既是开发者服务平台,也是第三方全景数据服务平台。林荣波介绍说,Mob数据工厂的架构分为两大部分:数据采集和数据分析挖掘。
Mob 当前技术架构2.0
数据采集的主要责任是通过不同的产品获取数据。之后,数据通过Flume传到HDFS。在数据分析挖掘部分,自下而上依次是存储介质、计算框架、模型算法、应用层。
数据工厂架构三大难题
在数据采集、处理过程中,有三个比较大的难题:数据源、数据关系、商业化产品产出效能。
数据源包括地域和应用市场政策的问题,硬件和系统兼容的问题,SDK业务团队与商业化团队的碰撞问题。
数据关系的难题首先来自从数据源到成品的数据链杂乱,因为从数据的广度和数量都很庞大。对于一些新来的员工,学习成本很高。如果员工对数据的关系不太清晰,就会导致重复的计算或者对数据的使用不当。这样一来,数据关系越来越乱,维护成本也越来越高。
商业化产品产出效能的难点包括产品迭代快和新品产出效能低之间的矛盾、大数据开发和产品服务端耦合度高的矛盾、服务稳定性隔离性差。
三大解决之道
针对这三大难题,林荣波也给出了解决之道。
首先,在数据源问题上,Mob采用了公有云+私有云的方案,除了自建机房外,也对外采购了不少亚马逊和阿里云的服务器,采用智能DNS+本地服务干预来把控整个服务流量的分发。在遇到DDOS攻击的时候,基本上可以借助阿里云的平台去实现迭代,保证自己数据的正常。针对数据项的政策问题,Mob增加了服务器开关,让每一个服务、每一个数据项都有相应的开关。当流量大的时候,也可以通过服务的开关来控制流量。Mob还建立了一个通用组件团队,专门处理通信标准化、AOP、源数据监控等问题。
在数据关系问题上,林荣波表示,对于大数据来说,数据就是血液。数据与数据之间有血缘关系的特征。Mob开发了“血缘管理系统”,其实就是标准化任务脚本和头部定义。所有的任务需要按照规范定义这个任务本身的归属者是谁,提交给任务调拨系统的时候,系统本身就会检测这个任务是否合规范。随后,解析其头部,把相关的数据关系提取出来,放到数据库里,最终以图的形式展示整个数据源的关系。
之后,Mob开发了QC系统(监控数据流健康状态&容错处理),QC主要做两方面的工作,一是通用检测,另外一个是自定义的检测。自定义检测是针对一些特殊的需求,需要开发人员自己去写代码和脚本,按照规范去提交。
在商业化产品产出效能问题的解决上, Mob做了中间件的产品。中间件可以称为数据库客户端,包括三部分:商业系统、网关、过载保护。基于现有的框架,Mob从技术上也会更多地去考虑如何更高效地利用资源,提升数据处理效率。
数据量大、数据处理能力强,是Mob两个最大的优势,此外,Mob 7×24小时的服务也是一大亮点。谈到未来的发展方向,林荣波表示,一是提升继续Mob数据处理的能力,节省服务器资源。二是会考虑引进外部数据,充实自己的数据量。
以上内容是51CTO记者根据Mob林荣波在WOT2018全球软件与运维技术峰会的采访内容整理,更多关于WOT的内容请关注51cto.com。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】