当前位置:网站首页>基于DataWorks的时效仿真平台|得物技术
基于DataWorks的时效仿真平台|得物技术
2022-06-28 16:26:00 【得物技术】
原创| 得物技术-魏巍
一、背景
现货业务目前基于算法模型+运营配置得出订单预计履约时长,由于时效策略调整需求且现货订单数据回收周期较长,因此需要建设时效仿真平台能力,产品自行根据业务需要进行时效仿真实验并得到对应结果。
1.1 目标
缩短决策周期,分钟级获取时效仿真实验结果;
搭建自助时效仿真平台,节约开发人力;
固化时效仿真能力,提升时效预估模型优化效率;
1.2 难点
每次圈定的时效仿真订单数据超过百万,分钟级获取结果性能要求较高;
需要考虑多业务类型的扩展;
需要考虑预估模型的扩展;
1.3 拆解
算法预估模型解决问题的步骤一般可以拆解为数据采集、特征工程、模型训练、模型预估与评估函数。基于时效预估项目,现货订单履约时长预估能力已经搭建完成,详细内容会在另一篇blog中分享,这里不再赘述直接贴结果。

图1.1 现货算法模型
这里不需要完全理解图1.1的含义,只要了解因为特征因子的不同,现货履约流程会被拆解成为卖家到仓、仓内作业以及仓到买家三段分别进行特征分析与模型训练,最后根据聚合结果进行结果评估。
时效仿真平台需要固化建模过程,通过时效仿真任务对圈定的订单数据进行履约时效预估,并根据业务指标对预估结果进行统计输出。

图1.2 时效仿真平台模型
如图1.2所示,时效仿真平台能力可以拆解为:
- 对照组采集,满足根据任意时间与业务属性圈定实验数据的需求;
- 预估方式,支持算法模型与组线系统多种组合方式;
- 结果(后)处理,超时率差异表达以及大促、疫情加时策略;
- 结果统计,统一业务与技术关注的评估指标;
二、架构&流程
2.1 系统架构图

图2.1 系统架构图
从图2.1可以看出时效仿真平台核心功能都是基于DataWorks大数据开发平台开发的,感兴趣的同学可以了解一下阿里云DataWorks【1】。
使用DataWorks的原因主要有以下几点:
- 离线数仓,不会对生产数据产生影响;
- 分布式任务,分钟级处理千万级复杂SQL;
- 屏蔽资源层不同数据源的差异,统一从DataWorks中取数;
2.2 核心流程
2.2.1 时效仿真任务流程图

图2.2 时效仿真任务流程图
如图2.2所示,时效仿真任务执行时会根据任务模板拆解为运行节点,并通过预置实例节点、预置任务模板以及任务配置接口保证了时效仿真任务的扩展性。
2.2.2 现货时效仿真模板

图2.3 现货时效仿真模板
如图2.3所示,对照组采集节点可以根据订单支付时间、订单类型圈定实验数据,支持业务字段的扩展,包括卖家类型、卖家城市、买家城市等;
现货算法模型节点支持与对照组节点类似的模型训练数据圈定功能,考虑到模型的准确性与覆盖率每个履约段可以使用不同的特征组合进行训练;
结果处理节点可以根据业务需求对订单维度的预估结果执行等比、超时率映射与线路加时等处理策略;
结果统计节点会根据业务关心的指标对结果集进行统计。
节点经过转换后可以直接由DataWorks执行,执行流程如下图。

图2.4 现货节点DAG图
2.2.2.1 数据采集节点

图2.5 数据采集
输入:任务编号、支付时间范围、业务类型
输出:任务编号为分区的对照组数据
2.2.2.2 模型节点

图2.6 模型训练节点
输入:任务编号、支付事件范围、业务类型
输出:分区为任务编号的预估模型

图2.7 模型预估节点
输入:任务编号、对照组数据、预估模型
输出:分区为任务编号的预估结果
2.2.2.3 结果处理节点

图2.8 结果处理节点
输入:任务编号、预估结果、后处理类型
输出:分区为任务编号的后处理结果
2.2.2.4 结果统计节点

图2.9 结果统计节点
输入:任务编号、后处理结果
输出:分区为任务编号的统计结果
以上为现货时效仿真的所有工作节点,各节点之间通过唯一的任务编号生成分区,在分布式场景下保证多个任务之间互不干扰,下游节点依赖上游节点输出,最终输出时效仿真统计结果。
三、领域模型

图3.1 领域模型
模板节点,由DataWorks映射、模板参数组成的值对象。
任务模板,由模板ID、模板节点列表组成的实体。
时效仿真任务,由时效仿真任务ID、业务类型、任务模板、执行节点列表、执行状态、创建者组成的聚合根。
四、ER图

时效仿真模板节点与时效仿真执行节点的区别,执行节点类似于模板节点的实例。
4.1 时效仿真模板实例
4.1.1 时效仿真任务模板
{ "templateId":"xh_01", "bizType":"xh", "tempOps":[ { "node":"1003843531", "type":"SCOPE", "params":"orderPayTime,bizType" }, { "node":"1003864245", "type":"MODEL_SCOPE", "params":"orderPayTime,bizType" }, { "node":"1003864250", "type":"MODEL" }, { "node":"1003864248", "type":"MODEL" }, { "node":"1003864251", "type":"MODEL" }, { "node":"1003864249", "type":"MODEL" }, { "node":"1003864246", "type":"MODEL" }, { "node":"1003843532", "type":"ESTIMATE" }, { "node":"1003843533", "type":"AFTER_PROCESS", "params":"afterProcessType,afterProcessRatio" }, { "node":"1003843534", "type":"STATISTICS" } ]}4.1.2 时效仿真任务
使用2021年10月1日至12月30日的现货订单数据训练模型,预估2022年1月1日至2022年1月7日的履约时长,后处理类型为等比80%,统计覆盖率、超时率与准确率。
{ "emulateNo":"1000223101", "templateId":"xh_01", "bizType":"xh", "status":"RUNNING", "operator":[ { "node":"1003843531", "orderPayStartTime":"2022-01-01 00:00:00", "orderPayEndTime":"2022-01-07 23:59:59", "type":"SCOPE", "bizType":"1" }, { "node":"1003864245", "orderPayStartTime":"2021-10-01 00:00:00", "orderPayEndTime":"2022-12-30 00:00:00", "type":"MODEL_SCOPE", "bizType":"1" }, { "node":"1003864250", "type":"MODEL" }, { "node":"1003864248", "type":"MODEL" }, { "node":"1003864251", "type":"MODEL" }, { "node":"1003864249", "type":"MODEL" }, { "node":"1003864246", "type":"MODEL" }, { "node":"1003843532", "type":"ESTIMATE" }, { "node":"1003843533", "type":"AFTER_PROCESS", "afterProcessType":"1", "afterProcessRatio":"0.8" }, { "node":"1003843534", "type":"STATISTICS" } ], "creator":"[email protected]", "createTime":"2022-05-01 12:30:00"}4.1.3 时效仿真任务记录
时效仿真结果为总量xx现货订单,覆盖率xx.xx%、超时率xx.xx%、T±1准确率xx.xx%。
{ "emulateNo":"1000223101", "res":{ "total":"xxxxx", "hitRatio":"xx.xx%", "accuracyRatio":"xx.xx%", "overtimeRatio":"xx.xx%", "distribution":{ "2":"xxxx", "3":"xxxx", "4":"xxxx", "5":"xxxx", "6":"xxxx", "7":"xxxx", "8":"xxxx" } }, "executor":"[email protected]", "createTime":"2022-05-01 12:35:00"}五、展望
目前,供应链正在建设组网系统,通过班次时间、仓库鉴别能力、仓库产能、线路能力的咬合构建得物供应链履约网络。基于组线网络的能力,可以根据截单时间给出订单预估送达时间,由于组线数据来源于人工配置+数据清洗,因此同样需要时效仿真能力。

图5.1 组线模型预估模板
如图5.1所示,由于业务方没有发生改变,因此结果处理与结果统计节点不需要做调整。需要做的工作有以下几点:
- 接入组网数据
- 新增寄售模板
- 开发组线模型DataWorks实例节点
目前,a和c依赖DataWorks,b依赖Ark配置,因此无需发布系统就可以扩展组线时效仿真能力。
参考链接:
【1】阿里云DataWorks
https://www.aliyun.com/product/bigdata/ide
*文/魏巍
关注得物技术,每周一三五晚18:30更新技术干货
要是觉得文章对你有帮助的话,欢迎评论转发点赞~
边栏推荐
- WPF 视频硬解码渲染播放(无空域)(支持4K、8K、高帧率视频)
- 大型体育赛事与犯罪风险
- np tips: random 创建随机矩阵 sample = np.random.random([19, 64 , 64, 3])
- NOIP1998-2018 CSP-S2 2019 2021提高组解题报告与视频
- What you have to know under the digital collection boom
- 【Hot100】4. Find the median of two positive arrays
- 【力扣】35. 搜索插入位置
- From five capabilities to "1+5+n", Huawei makes the transformation of government and enterprises more stable
- 【Hot100】1. Sum of two numbers
- FS2K人脸素描属性识别
猜你喜欢

Super automation and the future of network security

CRM 全栈开发工具 WebClient UI Workbench 的设计细节介绍

MATLB|电力系统优化运行与市场化
![[tcapulusdb knowledge base] Introduction to tcapulusdb restrictions](/img/d3/27f09f7f5ab8e27d1ab87a35a9c0f3.png)
[tcapulusdb knowledge base] Introduction to tcapulusdb restrictions

Redmibook Pro 14 enhanced version cannot open delta software drastudio_ v1.00.07.52

Curve 替换 Ceph 在网易云音乐的实践

MATLB|可视化学习(plot和bar)

FS2K人脸素描属性识别

The first place on the list - brake by wire "new cycle", the market competitiveness of local suppliers is TOP10

【Hot100】4. Find the median of two positive arrays
随机推荐
Noip popularization group 2006-2018 preliminary round 2019 csp-j1 2020 csp-j1 improvement program
如何清除 WordPress 中的缓存
How to query all the data in a table in the database?
CODING DevOps 助力中化信息打造新一代研效平台,驱动“线上中化”新未来
天翼云Web应用防火墙(边缘云版)通过首批可信认证
软件快速交付真的需要以安全为代价吗?
Noip2011-2018 problem solving report of improvement group
大型体育赛事与犯罪风险
The new paradigm of AI landing is "hidden" in the next major upgrade of software infrastructure
使用 Open Connector 进行 HubSpot 和 SAP 系统的集成工作
LDD 知识整理
Cross cluster deployment of helm applications using karmada
Please ask me, the queries written in my database account for 99%. Is it better to use pay as you go mode or reservation mode?
Fs2k face sketch attribute recognition
The future of platform as code is kubernetes extension
WPF video hard decoding, rendering and playing (no airspace) (support 4K, 8K and high frame rate video)
【TcaplusDB知识库】TcaplusDB限制条件介绍
[208] API design based on accesstoken
你好,现在网上炒股开户买股票安全吗?
MySQL self connection query "suggestions collection"