cover_image

浅谈zto大数据计算与业务系统的融合

ocean.S 科技中通
2022年09月23日 08:00
图片
图片
前言
图片

随着中通快递业务量飞速发展,企业相关业务系统产生的业务数据体量也逐倍增长,中通生态系统日益丰富,业务系统数据多样化,业务部门常用数据存储oracle与mysql数据库已无法满足日常庞大数据体量的数据计算以及相关政策补贴费用计费统计,为了响应公司提出的“数字化”转型重要方针,我们数仓部门与业务系统部门展开了数据计算与业务系统相融合的探索和实践,那么,我们是如何进行数据计算方案选型和实施的呢?hadoop离线计算批处理还是实时消费消息flink流式计算?这让数据开发变得有趣起来。

图片

图:近五年中通业务量增势图

在与中通各业务部门合作过程中,我们总结沉淀出了一套大数据融合计算方案,核心计算系统目前由离线计算和乐高实时调用计算两部分组成,下面我们就一起来看下如何合理使用二者进行数据开发吧!

图片

图:传统业务系统计算vs大数据融合业务系统计算


一、离线调度计算介绍以及使用场景



离线调度系统是我们整个大数据体系的指挥中心,负责合理调配资源进行数据计算,中通离线计算调度系统,可以根根据时间,依赖,任务优先级,资源等条件调度任务;能处理任务的多种依赖关系,包括时间依赖,任务上下游依赖,自身依赖等;可以执行多种任务类型,如MapReduce,hive,presto,spark以及shell,python等;调度系统根据用户的配置信息完成复杂的 DAG 任务和定时任务。(包括数据数据抽取、转换和加载)。

图片

图:数据开发流程图

离线计算优点:1.计算资源消耗稳定可控;2.数据量大计算统一逻辑跑批效率高;缺点:1.无法满足业务配置调整实时反馈计算结果;2. 复杂配置进行逻辑转换计算不太友好。

目前,离线计算帮助我们解决了哪些问题呢?结合数仓知识理论,我们可以帮助公司解决很多数据计算问题,赋能公司业务系统,如下是我们数仓使用离线调度平台系统结合业务一些常规工作内容:

1.基础业务数据的入仓(解决数据孤岛问题,各业务系统产生数据可按需同步到数仓使用)

2.提炼可复用业务模型宽表进行数据分析挖掘(模型宽表可以提高计算和分析效率,减少冗余计算)

3.各业务域统计报表输出给领导层决策提供数据支撑(数据驾驶舱)

4.赋能业务系统进行复杂逻辑运算(复杂业务逻辑计算数据推送至业务系统辅助业务系统,助力公司更好系统运营)

5.数据质量相关治理(反馈上游业务系统数据问题进行整改)

图片

图:数据仓库架构
二、乐高平台计算介绍以及使用场景



乐高系统是中通大数据平台针对工作流任务编排调度的平台,支持对同一主题的任务进行项目化管理、各任务节点可通过血缘管理进行编排,乐高任务编排系统对同一主题的大数据调度任务进行了聚合,编排,提升了同主题任务管理的便捷性,通过对调度任务数据清洗,数据源,数据抽取,推送,计算等各阶段的参数化支持,提供了任务的可复用能力。

基于DAG算法的调度器可提供对同一层级任务的并发调度,提高了调度效率,有效降低工作流实例的运行时间。简单来讲,就是可以实现“计算器”的功能,当业务方某天修改一些配置后,想立马看到修改配置后重新计算的数据,这时候离线调度或许就不太友好了,需要人工触发去手动调起任务计算或者t+1离线调度自动跑批才能得到计算结果,而乐高平台此时可以触发实时计算,只需要把调整的配置通过参数形式传递到我们配置好的任务流内,即可把最新的配置同步过来,从而进行计算返回新的计算结果。那么乐高系统是如何做到的呢?

1.基础业务数据准备——dm宽表模型

宽表本身是数仓的核心组成成分之一,一般是存在于比较高维的数仓分层目录。从字面意义上来讲,宽表就是字段比较多的表,在大多数的场景下,宽表是将很多上一层级的事实表,维度表甚至是底层的dw基础表关联在一起的一张数据表,这里我们把属于某个业务主题的数据(指标)最好直接放在一起,做到高内聚低耦合,例如财金主题的中转费模型宽表,这里把运单整个生命周期在运单流转过程中产生的所有中转相关费用以及补贴费用整合到了一起。宽表模型在我们赋能业务系统有哪些优势呢?

a.提高数据开发效率

b.提高上游数据质量

c.统一数据指标口径

2.乐高平台任务流的构建

满足业务统计需求的细粒度的宽表完成后,下一步我们就可以根据需求逻辑构建乐高任务了,这里使用“$”占位符的方式,和需求方约定好我们计算所要传递的参数类型和参数名称,把需求方需要查询的数据配置通过传参交互的方式传递到我们准备好的代码中,这里和离线调度是一样的,同样可以对数据进行清洗,数据抽取,推送,可以把业务数据库最新产生的数据同步过来,然后通过sql计算得到报表数据,推送回业务库进行展示或者后续操作。目前乐高平台已支持hive,presto,spark计算。各任务节点需要通过任务依赖关系进行编排,基于Dag算法按照任务的层级,顺序关系进行调度。

乐高计算优点:1.交互灵活,支持传参,简化复杂sql逻辑;2. 实时同步配置数据计算,满足业务更改配置快速获取新的结果。缺点:批任务拆解调用频繁,集群计算资源消耗大。

图片

图:乐高任务流案例

图片

图:乐高任务血缘依赖图
三、大数据计算方案的技术选型与迭代



对比传统业务系统计算存在的问题,我们针对不同业务场景分别进行了大数据与业务融合的探索,最终开发了一套能满足各种复杂业务场景的数据计算方案。

前期,我们在与盘古合作进行面补政策补贴计算时,选用了完全乐高式方案开发,但是,由于政策的逐渐增多,功能丰富,能满足不同管区各种复杂的定制化的政策,所以网点逐渐把政策都迁移到乐高调用来进行补贴了,包括地方补贴,大客户补贴,超量补贴等。

当时乐高单日务总数峰值达到3994个,政策总数1500+个,于是就遇到计算时效和资源问题,计算资源池是固定的,随着政策数量的快速增加,最终会出现,无法在固定时间内完成所有的政策补贴计算,我们做了一些资源优化,丰富其计算引擎,错峰执行不同任务等等,但是还是无法从根本上解决计算机器以及资源紧缺的问题,于是我们做了另外的探索,做了另外一套方案,把复杂的政策配置,做成一系列配置表,然后通过离线计算进行统计汇总。如下图为计算消耗情况对比:

图片

图:乐高任务调用详情

图片

图:解析配置离线计算面补日结政策耗时

图片

图:乐高拆解单sql任务资源消耗

从上图可以发现,乐高对于资源的消耗会随任务数增加而不可控,如果任务数量增加,计算资源的消耗就倍数增多,这个是由于乐高任务在执行运单明细粒度宽表时,会进行全表扫描,任务数量多起来后,全表扫描频率也多了,此时对集群的压力就会很大,无法支撑同时对一个大宽表进行全表扫描。对比解析配置通过离线调度平台的计算,可以发现,计算资源和批处理的速度都得到了大提升,原乐高面补日结任务每天预计要2个小时的计算,而且计算资源消耗庞大,离线计算每天大约60+分钟就可以完成,大大节约了时间和资源利用。但是离线计算存在一个缺陷,就是无法满足业务实时调整补贴政策而快速重算反馈出计算结果,而乐高实时传参计算却能满足此种业务场景,最终,我们结合两种计算方式应用于政策系统,稳定政策执行的我们使用离线调度进行计算,账单重算部分我们进行乐高调用实时计算,结合二者优势完美解决了各自计算弊端。

图片

图:业务系统融合计算方案
四、大数据与业务系统融合之中通乐高平台实现案例分享



盘古系统简介:盘古系统是中通核心费用计费中心,针对各种费用(中转费,操作费,签收派费,地磅费,包月费,各类政策补贴,增值服务费)的计算,计算完成后,推送给财务系统进行费用结算。

图片

图:古系统功能图

慧眼系统简介:慧眼系统是一款面向中通网络管理打造的全流程线上办公系统(工作台),侧重赋能中通的业务发展、政策管理、网点经营和公司新业态拓展,通过线上无偏差任务、政策的上传下达,促进 “加盟体制直营化管理“的目标实现。

图片

图:慧眼系统

1.中转费测算-报价线上自动化(盘古-大数据)

背景:之前系统报价变更由管区测算后提报至网管,网管审批后流程转到系统支持部,由系统支持部同事对政策进行解读转化成系统公式后进行维护,存在以下问题:

1)管区测算结果与实际系统内扣费结果有偏差;

2) 网管决策者无法得到从系统层面得到的测算结果;

3)报价维护工作量大,耗费人工(特别双十一期间政策变动频繁);

4)缩短报价周期时间长,影响政策落地时间。

痛点:中转计费历史数据体量大,统计逻辑复杂,计算时效响应要迅速,能满足业务配置新报价后能及时反馈历史报价和新报对比,目前盘古系统传统数据库计算无法满足。

解决方案:借助乐高平台方式实现中转费测算流程线上自动化。

1)整合盘古中转费运单明细,基础业务数据轻度汇总,丰富其维度指标提炼为dm业务宽表模型,t-1基础明细数据。

2)乐高任务流构建,a.报价测算配置表同步设计,根据测算批次号建分区表;b.根据中转费计费逻辑编写sql代码进行数据测算,前后测算结果差异数据存入st_fin表;c.结果数据推送业务库。

3)业务人员配置测算网点,目的地,交件中心,重量段等配置信息,上传到数据库,通过传参形式传递到乐高平台,接受发起消息后,调起任务进行实时计算,业务系统接受任务测算完成消息,进行页面展示和汇总,最终判断政策是否调整。

项目价值:1)报价全流程线上化,实时更改配置,动态响应反馈测算对比结果,提供合理性报价建议;2)大大降低了人工计算时间,加速旺季政策落地。

图片

图:中转费测算线上自动化技术方案设计

2.量本利政策补贴线上化(慧眼-盘古-大数据)

背景:此前由于政策复杂性,中通业务量日益增长,数据量也翻倍增长,政策补贴一直都是由政策专员进行线下手工帐统计和补贴,或者直接oa申请,无法精准做到按照业务量,金额等因素进行合理补贴,为响应公司量本利战略,打通网络政策全流程线上化管理,实现量本利成本收入数据自动化,统一网管政策的维护、管理、审批、查阅流程,提升全网政策系统的用户体验,同时加强总部成本利润管控及政策调控能力,政策补贴线上化的项目应运而生。为满足业务需要,我们大数据与业务系统再次进行了合作。

痛点:由于各地方政策的多样性,无法做到政策统一,政策复杂度和地方定制化逻辑使线上化难度翻倍,需要通过解析不同政策进行数据汇总,运单粒度的数据汇总需要耗费大量资源,业务系统传统数据库计算无法满足。

解决方案:

1)根据政策补贴需求,分别从中转费计费明细和签收派费明细表抽象出运单模型,分别打上各种剔除因子标签和产品类型等标签,形成底层dm宽表,每天t-1计算出结果。

2)构建乐高任务流,代码中预留政策剔除因子以及政策对象等参数,根据业务逻辑编写满足所有政策的计算框架,即我们乐高中使用任务依赖关系形成上下游计算任务,满足政策汇总数据计算。

3)慧眼端配置政策数据落地数据库,盘古解析政策,通过http请求与乐高交互传递政策相关配置参数,发起乐高调用,乐高任务流开始实时计算,算出该政策内所有网点的汇总结果,然后推送到盘古tidb结算库进行补贴或者补收计费操作,慧眼页面展示结账单和对账单。

项目价值:

1)统一网管政策的维护、管理、审批、查阅流程,提升全网政策系统的用户体验;2)打通网络管理政策全流程线上化管理,实现量本利数据自动化,同时加强总部成本利润管控及政策调控能力;3)大大减少了整体结算流程业务人员工作成本,每月近10亿政策补贴费用线上化,可支持追溯和复盘合理性。

图片

图:政策补贴线上化技术方案设计

3.其他方向探索-安全部配合公安订单信息调用破案(安全部-大数据)

背景:犯罪分子在违法乱纪行为中,有时候警方需要通过快递物品类型或者快递的地址等相关信息去破案,这时需要调用我们中通快递的订单信息去解析犯罪动机或者进行线索排查,此时我们与安全部进行了合作,开发了一套可以实时调取某手机用户历史订单信息的接口。

痛点:历史订单数据业务系统会定期清理,业务库查询不能满足,需要人为定期查询推送结果,耗费人力物力。

解决方案:乐高任务流构建查询订单信息任务,公安部通过传递用户手机号码和时间范围这个参数,调用我们乐高任务,进行实时数据拉取,或者这个手机号用户该时间段内的所有中通快递订单信息。

4.其他方向探索-客户画像(大数据)

背景:通过对业务员(收件人),网点(发件人),客服(投诉),总部等各个方面建立收件人,发件人标签体系,打通中通各生态客户,建立统一客户标签体系;节约成本,增加收入,为涉及到客户数据的业务场景、应用开发、标签深度开发等提供基础数据服务。

痛点:需要满足不同业务需求实时获取不同的画像标签。

解决方案:

1)大数据数仓从订单,云呼,在线客服,掌中通,工单,财经,增值服务等业务领域获取收件人和发件人的基本属性数据沉淀画像标签宽表。

2)通过乐高平台构建查询收件人或者发件人等标签的数据计算架构,把标签数据推送至相关的业务系统,赋能业务员或者客服。例如:为业务员处理投诉工单时提供关键参考信息,对客户的投诉情况有清晰了解,辅助业务员处理投诉工单,辅助业务员发展粉丝、协议客户。

图片

图:赋能客服业务流程

图片

图:赋能业务员业务流程

五、未来展望



接下来我们会更多考虑如何运用大数据计算去解决更多领域业务问题,怎样将数据智能落地到更多的业务系统,赋能业务,产生更多的技术价值。如何真正能做到探索发现数据模型、验证优化数据模型、解释加固数据模型,让数据智能赋能业务,更好的服务中通快递,创造更多人的幸福生活。我们会从以下几点出发:

1.优化丰富现有的宽表模型,探索与业务系统融合更多的优化方案,赋能业务,推动业务发展。

2.针对各业务域以及主题沉淀更多维度丰富的、多指标、可重复、可跨领域使用的宽表模型,为统一数据口径和优化计算效率打下牢固的基石。

3.推广数仓宽表的使用,与业务系统建立联系,创造更多价值。

4.业务系统数据治理方向探索研究,发现并推动改进目前业务上已存在或者有数据问题隐患的数据链路,降低公司成本。

最后,欢迎其他业务部门能与大数据部门开展更多的融合技术交流,实现更多业务系统计算与大数据计算融合更好的技术方案,合作双赢,帮助公司解决更多技术难题,更好的赋能业务,加速中通实现“数字化”到“数智化”转型。


图片

RECOMMEND

往期干货
中通科技代码覆盖率应用实践(三)

•中通IM测试实践

用户体验设计师如何做设计驱动?

•中通数据架构治理

欢迎各位技术大佬向本公众号积极投稿,提升经验分享、信息互通的技术交流氛围,共同解决技术难题、共同进步!(投稿咨询请联系科技与信息中心品牌管理部 徐蕊)

图片

继续滑动看下一个
科技中通
向上滑动看下一个