基于大数据的能力开放平台解决方案 | ||||||||||||||||
1 摘要 运营商经过多年的系统建设和演进,内部系统间存在一些壁垒,通过在运营商的各个内部系统,如经分、VGOP、大数据平台、集团集市等中构建基于ESB 的能力开放平台,解决了系统间调度、封闭式开发、数据孤岛等系统问题,使得运营商营销能力和效率大大提高。 2 问题分析 2.1 背景分析 随着市场发展,传统的开发模式已经无法满足业务开发敏捷性的要求。2014 年以来,某省运营商经营分析需求量激增,开发时限要求缩短,业务迭代优化需求频繁,原有的“工单-开发”模式平均开发周期为4.5 天,支撑负荷已达到极限。能力开放使业务人员可以更便捷的接触和使用到数据,释放业务部门的开发能力。 由于历史原因,业务支撑系统存在经分、VGOP、大数据平台、集团集市等多套独立的运维系统,缺乏统一的运维管理,造成系统与系统之间的数据交付复杂,无法最大化的利用系统资源。统一调度的出现能够充分整合现有调度系统,减少运维工作量,提升维护质量。 驱动力一:程序调度管理混乱,系统资源使用不充分经分、大数据平台、GOP、集团集市平台各自拥有独立的调度管理,平台内程序基本是串行执行,以经分日处理为例,每日运行时间为20 个小时,已经严重影响到了指标的汇总展示。 驱动力二:传统开发模式响应慢,不能满足敏捷开发需求 大数据平台已成为一个数据宝库,已有趋势表明,只依赖集成商与业务支撑人员的传统开发模式已经无法快速响应业务部门需求,提升数据价值。 驱动力三:大数据平台丰富了经分的数据源,业务部门急待数据开放某省运营商建立了面向企业内部所有部门的大数据平台,大数据平台整合了接入B域、O 域、互联网域数据,近100 余个数据接口,共计820T 的数据逐步投入生产。大数据平台增强了传统经分的数据处理的能力,成为公司重要的资产,但是传统经分数据仓库的用户主要面向业支内部人员,限制了数据的使用人员范围和数据的使用频度,已经无法满足公司日益发展的业务需求,数据的开放迫在眉睫。 2.2 问题详解 基于背景情况分析,我们认为主要问题有三个: 1、 缺乏统一的调度管理,维护效率低下 目前经分系统的日处理一般是使用SHELL 脚本开发的,按照串行调度的思路执行。进行能力开放后,目前的系统架构无法满足开发者提交的大量程序执行调度的运维需求。如果采用统一调度的设计思路则基于任务的数据表依赖进行任务解耦及调度,将大大简化调度配置工作和提高系统的并发度; 2、 需求周期长,导致开发周期长 现行的开发模式是由业务部门提出需求,业务支撑中心进行需求分析,然后再转派给开发厂商。厂商除了需要与业支沟通需求以外,有时候还需要与业务部门进行二次沟通,最终才能明确需求,开发周期比较长; 3、 数据管理分散,存在数据冗余,营销效果欠佳经分系统对外提供数据,目前采用的是传统的文件接口形式,这样会造成经分和外围系统存在至少2 份的数据,随着经分的按天支撑模式,造成传统的营销效果欠佳,外围系统的存储浪费。 3 解决方案介绍 3.1 业务目标 将大数据平台及经分数据仓库平台的数据和系统处理能力进行标准化封装,按需进行开放,满足各业务部门数据使用的需求,并在经验成熟的情况下逐渐开放给外部众多的合作伙伴使用。 统一调度:作为大数据开放基础平台,通过消息总线将大数据平台、经分、集市、VGOP、业务部门的应用进行统一的系统调度管控,提供跨平台调度、分发、解析等基础功能,实现大数据平台、经分数据仓库等多类型底层平台的能力互补,形成融合平台的协作效应;通过多租户技术,解决生产任务与数据开放能力争用的问题,实现系统资源对生产任务与临时任务的合理分配及高效调度。 统一开发:集成图形化的开发界面,通过统一封装的函数库提供类SQL 的开发语言,以屏蔽底层平台差异,降低业务人员的开发门槛,实现快速的业务开发及数据测试。通过元数据的数据模型抽象,逐步将Hadoop、DB2 的后台数据资源高、安全并可控可管的开放给前端进行访问。 数据共享:大数据平台将用户标签、营销目标、用户套餐剩余量等信息通过统一的数据服务方式开放给其他系统或者在线使用,确保数据的唯一性和数据响应的及时性。 3.2 方案内容及亮点 图为基于大数据的能力开放体系架构,我们在原有大数据平台上进行整合,使得大数据的成果能够有效的被外部系统调用,并具备标准的服务能力供后续的系统对接。 能力开放平台由统一调度、统一开发、数据共享三大平台组成: 统一调度平台将原大数据平台、经分数据仓库、VGOP 平台等关联度高的独立应用系统的任务进行统一管理、执行调度及监控,提升整体的执行效率并简化运维。 统一开发平台搭建于统一调度的基础之上,开发者可以通过IDE 使用封装后的函数,以SQL 脚本进行图形化的数据处理程序设计及开发。通过多租户的方式,对开发者分配独立的大数据平台及数据仓库的存储、计算资源,确保开发者在共享数据、系统能力的同时,不影响生产系统的正常运行。 数据共享平台提供标准API 封装,提供给外部系统进行数据查询和调用,实现经分系统对外数据服务标准化,同时保障数据安全性并降低外部系统数据存储压力。 3.2.1 统一调度 统一调度由控制中心和AGENT 两部分组成,如下图所示: (1)控制中心: 控制中心接收来自内部的消息,通过规则引擎判断任务是否满足触发条件并分发给Agent 进行处理,并对任务执行情况进行监控及消息生成。消息接收:支持各种事件触发消息,如文件到达、接口装载、表生成; 规则引擎:根据人工定义、系统资源情况、租户定义等设置制定任务的执行条件及前后依赖关系;任务触发:根据消息总线传递的消息,判断任务是否具备执行条件,并将满足触发条件的任务分发至各平台Agent 端执行;
|