博客首页|TW首页| 同事录|业界社区

要建立完备的大数据系统,需要扎实完善、高处理效率、高安全性、高稳定性、易扩容、海量存储的技术架构。下面截取部分DMP系统的技术架构图(主要包括应用架构、数据架构、技术架构等)供大家参考,同样对于非技术的同学对此有个感性认识即可。也不做大篇幅的展开了。

应用架构

应用架构主要是从应用功能角度将各模块间关系及分工进行描绘的图纸,主要会从应用集成视图、功能视图这些角度来进行描绘。帮助大家能对系统有个直观的认识,并且帮助各模块协同开发,友好集成。

  • 集成视图:

该视图主要体现出各模块间关系,如图9-28所示,以线下DMP系统为例,大数据平台(BigData)会从各个不同的渠道交换或采集数据。如:通过数据采集网络采集线下扫描设备采集的用户扫描数据、WIFI上网服务Portal的用户登陆认证数据、上网数据、点击流数据等,从企业数据中的普通数据、连锁店、加盟店等线下场景获取扫描数据、认证数据、上网数据等。内部会对各种业务维度位置数据、消费数据、通讯数据等进行交换从而对用户行为进行精准的刻画。在这个例子中,大数据平台以服务线上广告业务作为主要业务运用方向,所以会把广告管理系统视为外部系统(大数据为本体域,业务运用为客体域),进行外部数据交换,打通用户线下ID及线上ID。将用户的线下行为结合线上行为结合起来分析并打上标签,用以指导线上的程序化广告投放。广告系统中会从媒体方、ADX、广告监测中收集各种线上用户行为数据,并将这些线上广告相关的查看、点击、竞价信息等数据灌入大数据系统,从大数据系统中得到人群画像、竞价决策等的数据支持。当然不同的业务运用目的,就会接不同的业务系统交互数据,并将大数据为不同的业务运用目的而服务。

图9‑28 DMP应用架构-集成视图示例

  • 功能视图:

该视图主要描绘DMP基础必备的技术功能,如图9-29所示,大数据平台基础必备的技术功能有数据采集、数据导出、数据分析、数据可视化等。数据采集主要职能是收集数据,主要包括扫描采集数据、校验数据有效性、处理清洗数据、上传数据、备份数据、加密解密、压缩解压缩、ID生成等功能模块。数据导出主要职能是为了服务内外部的数据导入导出需求,主要包括内部ID关联、内部ID及数据导出、外部ID匹配、外部ID及数据导入等功能模块。数据分析主要职能是结合业务运用方向的需求对数据进行分析整理,在该例中以广告为主包含广告投放数据分析、人群画像等功能模块。数据可视化是数据有效输出、为决策提供支持、数据展示价值的重要窗口,其主要包含运维需要的数据采集监控、数据管理需要的数据主体域可视化、数据运用需要的行为域可视化、数据查询等功能模块。

图9‑29 DMP应用架构-功能视图示例

数据架构

若我们要对数据进行清晰的梳理,就必须先画出数据架构,在数据架构中会依据既有数据内容及运用方向画出主题域,并通过对主题域视图的描绘,让大家对系统主要管理的数据维度及各数据之间的关系有一定的认识。这样能有效指导有方向有目的地去收集交换并运用数据。数据我们一般会分为不同的主题域来存储分析,不同的主题域中都有唯一的主域数据对象族,其他的数据都是围绕这个主域数据对象族的客体域数据。如图9-30所示,以人作为十分核心的本体域,包括个体特征、身份证号、群体特征、本体关系网络、标签、数据维度、类别等。作为人本体域存在很多描述的本像数据,如计算机网络中的应用层的QQ及微信、表示层的CookieID、网络层的IP地址、物理层MAC地址,以及电信网络中的手机号、IDFA、IMEI、AndroidID等。相对人本主体的是客体域,即与人关联的物或非本体的数据或行为等,其包含个体特征及群体特征等,对于该例中以广告为主要业务运用方向,以广告作为主要描述的客像数据,如计算及网络中的应用层的广告ID及行为语意表达等。人本体及网络广告及行为数据客体通过时空交互,这些关联关系的数据均记录在交互域中,如计算及网络中的应用层的邮件记录及上网记录及广告行为、网络层的DHCP上网IP自动获取记录、物理层客户端位置及设备位置,以及电信网络中的终端位置、通话记录、基站位置等。只有通过如此严谨且丰富的数据区隔,我们才能有效地分析数据,找出其中有价值的内容。

图9‑30 DMP数据架构-主题域视图示例

技术架构

技术架构往往是我们要开始系统工程开发及构建之前,从技术实现角度划分出不同技术开发组件及模块的重要工序,这样做才能确保开发分工的协同性及系统功能实现的完整性。其中十分重要的就是组件视图的描绘。一般技术开发中必然会划分出不同的技术组件,主要是为了在系统搭建中,提高组件的可复用性,提升重用率,提升系统代码质量,尽量减少“重复造轮子”的浪费。如图9-31所示,我们将DMP系统的技术组件划分为主要负责对资源的管理及操作交互的基础资源层(bd-res)、主要负责业务处理的业务层(bd-mod)、主要负责集成及输入输出接口的接口层(bd-port)、以及贯穿各层的公共工具(bd-util)。公共工具(bd-util)即各层技术开发时大家都会用到的公共工具,如异常处理、类管理、开发调试工具等。基础资源层主要负责对资源的管理及操作交互,如数据库处理(res-db)包含对hbase、jpa、redis等的交互模块,文件处理(res-file)包含对csv、excel、大数据文件dfs、文件系统fs等的交互模块,网络处理(res-net)包含对ftp、http、mail、rest等的交互模块,流处理(res-stream)包含对mns、ons等的交互模块,还有对缓存(res-cache)、大数据计算资源spark(res-spark)、大数据计算emr(MapReduce)资源(res-emr)、通用资源(res-common)等的交互模块。业务层负责业务处理,如基于spark的业务计算模块(包括聚集(gather)、学习(learn)、训练(trans)(训练中包含清洗(clean)、映射(map)、聚类(aggregate))、查询(query)(包含匹配(match)、导出(export)、检索(search))),基于流的业务计算模块(mod-stream),基于mr(MapReduce)的业务计算模块(mod-mr),基于共享内存的业务计算模块(mod-shm)等。接口层主要负责集成及输入输出,如集成接口模块(port-integration)、客户端接口模块(port-cli)、API接口模块(port-api)、WEB接口模块(port-web)等。

图9‑31 DMP技术架构-组件视图示例

(转载请注明出处:微信订阅号:ad_automation)

文字表现力有限,欢迎参加《5.28线下大课堂》面对面为您答疑解惑讲透您关心的问题。


上一篇: DMP核心流程-回归验证【技术类】
下一篇:DMP系统案例【业务类】

评论

Good.Be the first to comment on this entry.

发表评论