全文共 17219 个字,建议阅读 5 分钟
导读
本文主要聚焦于京东零售在数据资产管理方面的升级与实践。在数字经济时代,数据资产已成为企业核心竞争力之一,京东零售作为国内领先的电商平台,积极探索并优化数据资产管理,旨在提升运营效率、优化用户体验。文章详细阐述了京东零售在数据资产能力升级过程中的关键举措,包括数据治理、数据挖掘、数据应用等方面的创新实践,为零售行业的数据资产管理提供了有益的借鉴和启示。通过阅读本文,读者可以深入了解京东零售在数据资产领域的探索成果,以及如何将这些成果应用于实际业务中,推动企业持续增长。
本文主要聚焦于京东零售在数据资产管理方面的升级与实践。在数字经济时代,数据资产已成为企业核心竞争力之一,京东零售作为国内领先的电商平台,积极探索并优化数据资产管理,旨在提升运营效率、优化用户体验。文章详细阐述了京东零售在数据资产能力升级过程中的关键举措,包括数据治理、数据挖掘、数据应用等方面的创新实践,为零售行业的数据资产管理提供了有益的借鉴和启示。通过阅读本文,读者可以深入了解京东零售在数据资产领域的探索成果,以及如何将这些成果应用于实际业务中,推动企业持续增长。
京东自营和商家自运营模式,以及伴随的多种运营视角、多种组合计算、多种销售属性等数据维度,相较于行业同等量级,数据处理的难度与复杂度都显著增加。如何从海量的数据模型与数据指标中提升检索数据的效率,降低数据存算的成本,提供更可信的数据内容和多种应用模式快速支撑业务的数据决策与分析,是数据团队去年聚焦解决的核心课题。
过程中基于RBO、HBO等多级加速引擎、基于代价与场景消费的智能物化策略、基于One Metric的异构融合服务、基于One Logic语义层的离近在线转换以及基于图形语法和多端一体的可视化工具,联合GPT技术的智能问答系统chatBI,显著提升业务数字化决策效率,过程中也沉淀了多篇软著与多项技术专利。对于多级加速引擎与智能物化策略,行业普遍采用cube预计算+缓存模式,京东创新性落地了基于主动元数据的口径定义以及基于数据消费场景与消费频次的正负反馈动态决策,确保整个数据链路的存算分配“当下最优”,同时相较于粗粒度的物化策略,模型生命周期参考存储代价配置,数据查询链路根据RT表现动态寻址,这样使得数据生产与数据消费形成交互反馈链路,决策依据更加丰富,决策粒度更加精准。
基于图形语法和多端一体的可视化能力打造层面,京东JMT数据可视化能力可以依托底层指标中台快速进行智能诊断与归因,相较于tableau等头部解决方案,融入了更多图形语法同时可灵活适配多端多场景。
结合AIGC技术的智能问答系统chatBI,基于业务知识与数据资产的Prompt工程,使用本地大模型SFT对实体进行embedding,通过指标统一DSL取代了行业普遍NL2SQL的解决方案,很好解决了人为意识到数据语言的转换难题,所消耗芯片规模也显著优于行业水平,在数据智能分析诊断系统里准确率大幅领先。
以上核心技术通过23年的打磨与应用,数据指标开发与共享效率大幅提升,分析看板搭建时间从天级别缩短到小时级别,且业务用户逐渐可以进行自交付,解决了集中式研发的人力瓶颈,日均指标消费频次从23年初的百万级增长到年末的数千万;在23年基础之上,我们未来还将在数据加速、智能物化、智能诊断、大模型应用等方面持续深耕,不断优化数据存算成本,提升数据应用的效率、体验。
依托于京东数据资产的完备性、数据能力的自动化与数据应用的智能化,结合业务场景真实遇到的痛点问题,我们积累了一些经验, 本文将通过如下几个章节进行分享交流:
数据资产篇—资产认证与治理
背景与挑战
数据统一语言
目标:如下图所示,拉齐资产建设者和资产消费者之间的沟通语言,提升找表效率、增强表的可解释性。
通过数据维度建模的三个阶段(概念模型、逻辑模型、物理模型),形成描述模型的标准定义。
概念模型
举例:交易的业务流程图:
逻辑模型
物理模型
资产认证
以用户反馈问题出发,完善和优化数据标准5W2H,使其确保数据资产清晰易理解的目标达成; 依据样板间的效果反馈,完善样板间的功能和内容,并推广到其他主题资产; 加强数据资产运营,扩展渠道,提升用户找数用数体验。
背景与挑战
1.全量的指标明细资产管控能力【指标、维度资产】
2.系统原生的拓扑能力【指标市场】
3.业务公式统一沉淀能力【规则引擎】
4.指标异常主动预警能力【指标巡检】
查询层 :统一查询语言,最佳查询策略、最优查询性能
{
"indicators": [
"ge_deal_standard_deal_ord_amt"
],
"attributes": [
"shop"
],
"criteria": {
"criterions": [
{
"propertyName": "main_brand",
"values": "8557",
"type": "string",
"op": "="
},
{
"propertyName": "dt",
"value": "2023-12-21",
"type": "string",
"op": "="
},
...
],
"orders": [
{
"ascending": false,
"propertyName": "ge_deal_standard_deal_ord_amt"
}
],
"maxResults": 5,
"firstResult": 0,
"group": [
"shop"
]
}
}
语义层:数据知识系统化,使资产放心好用、治理有依据
指标、维度体系化标准定义模型:
指标、维度数据安全保障模型:
指标消费应用管理模型:
第一道防线:前置避免故障发生:
第二道防线:巡检与监控,主动发现
在态势检测及预警上,结合调用情况对预计算、预热命中率等趋势预警,防止有些预计算未命中或者预热未覆盖到的情况;在数据SRE的体系建设上,对调用情况通过全链路的uuid进行串联,并进行可视化展示,提升数据可观测性,打破多系统监控数据孤岛,提升监控效率;巡检能力是通过日常的访问日志分析及梳理,以及各核心业务场景的输入,如上图所示,基于统一查询服务的巡检配置场景及对应告警规则,结合巡检自动化任务,可在任意时间按任意频次动态执行任务,防止数据空窗、跌0、异常波动等情况。先于用户无感的在系统层面发现问题;从发现、跟进、分析、解决、经验沉淀做到全流程自动化。在实战中巡检的问题主要分以下几类:
(1)对于实时数据异常的巡检,第一时间发现后马上进行数据流切换,用户完全无感知;
(2)BP的战报、日报通过巡检无需人工确认,自动将结果发送给对应业务,可以及时介入;
(3)大促期间有很多指标数据有“异常”大波动(以23年618期间为例,巡检发现16个线上异常情况),产品研发收到巡检结果后第一时间进行业务分析,从经营状态角度确保数据在预期之内。
第三道防线:应急预案
对于一些已发生的问题,一定要有应急预案才能真正做到临危不乱,服务化对于限流、熔断实现了精准靶向,可做到针对某一个页面的某个主题指标进行细粒度限流或者熔断处理,也可做到整体的看板或者集群粒度的处理,保证容灾的灵活性。同时对降级策略有更友好的设计,在降级后默认返回兜底0的基础上,通过缓存机制,可返回最后一次请求成功的结果,增加了系统灵活性及减少业务的损失。在应急预案上由于压力过大导致服务或容器出现异常时,会应急启动热备容器,让子弹飞一会儿,争取更多的修复及问题定位时间。
存算成本集约化治理:
指标体系开放,在生产、消费间进行系统化流转,基于指标体系及指标消费应用管理模型首次解决消费链路可追踪,结合指标的生产血缘,形成清晰的全链路血缘。
打通全链路血缘的必要性主要基于以下三大视角:
(1)用户视角:让用户从指标展示入口(标准化产品、数据工具)到口径与资产血缘清晰可见,知道数据从哪来、怎么来、怎么用。
(2)治理视角:通过数据标准消费端反向治理,可清晰的知道某些模型或者表在消费侧的使用情况如何,访问少或功能相似的看板做整合,关停并转,实现了从消费价值来反推资产ROI。
(3)监控视角:当大促期间发现某一数据任务延迟或者某一实时流积压时,可通过血缘关系快速确定应用上的影响范围,从而能快速介入进行分析并判断是否公告用户。
中间结果物化
大数据量预计算有着耗资源、易失败的特点,数据同步会因为网络抖动或集群异常造成同步失败,整个链路失败率高、重试成本高。用户在定义驱动生产只配置基于数仓做预计算,结果数据同步到目标数据源,中间过程并没有做配置。为提高任务稳定性,系统内置RBO判断为预计算任务会自动优化生产路径:首先生成预计算SQL,之后通过SQL做读时建模,在数仓中自动创建模型并将预计算结果数据写入到模型中,模型会继承逻辑表5W2H并写到元数据中,避免模型重复创建。最后基于模型生成数据同步任务。这样任务失败只需要重跑预计算或同步任务即可,无需全链路重跑,降低任务重试成本。更为关键的是,系统会给中间结果(包含系统创建模型)配置生命周期,让数据合理生产与消亡,如果不被下游依赖则会全部清理直至下次使用再创建,避免人工开发场景只生产不治理的情况。
双流场景,定义驱动生产内配置双流策略则会默认生成一个计算任务,中间结果物化到临时表并基于中间表数据生成两个同步主备集群的任务。
数据索引增强
多维分析场景中,经常使用Groupings Sets将多个维度组合进行计算,通常每个维度组合都对应唯一编码(命名为LVL code)供消费侧查询使用。之前人工开发大多数据研发和服务研发共同维护维度组合与LVL code映射表,在脚本和服务中通过硬编码方式实现双方联动,维护成本极高。定义驱动生产判断预计算目标源是ClickHouse则自动使用Groupings Sets生成轻聚合数据,生产侧通过调用生成LVL code函数获取维度组合对应的LVL code值,并自动将二者写入到"数据索引"表中,消费侧查询时同样通过"数据索引"表获取编码值生成SQL,生产、消费自动联动。
自动加速与引擎优选
除用户手动创建加速方式外,系统还支持基于代价与用户消费行为智能物化。用户申请指标填写QPS、TP99两个信息,用户可在加速策略模块选择高阶功能"智能物化",并可配置存储上限、构建频率、构建结束时间等信息。系统分析访问日志,会对指标+维度粒度TP99大于目标值进行自动生成加速策略,默认将数仓数据进行预计算并同步到HBase中,系统判断逻辑表配置了介质加速 如HIVE2ClickHouse,则会通过引擎优选功能判断基于数仓和ClickHouse哪个计算更快、更省资源,一般会优化为ClickHouse2HBase。
智能物化是整个系统的核心,解决业务敏捷与无序增长的困境,用户定义完虚拟数据模型的业务逻辑后,引擎不会直接将其物化,而是按消费端对模型字段的产出时间和查询速度的要求,分析全局数据的查询情况,选择性按全局最优的策略进行物化编排(通过物化视图实现),并持续HBO优化。
业务贡献和价值
在数据驱动业务运营的策略下,以高效灵活、场景化、智能化为目标,整合数据资产和工具,以可视化组件和低代码平台为核心,打造黄金眼、商智等标杆的数据应用,实现对不同业务场景的快速赋能。我们通过持续建设系统能力,赋能看板、报告、大屏、分析、提数等多个业务场景,同时从4大方向纵向拉通系统质量保障建设,提升系统稳定性,最终实现在复杂多变的业务场景下,通过功能插拔、动态配置,构建一站式的解决方案。
整体来看,数据分析可视化的能力建设,主要可以分为PC端能力建设和移动端能力建设两个方向,接下来将从PC端的分析可视化组件建设、低代码编排、数据推送,以及移动端能力建设和多端一体建设几个方向,详细介绍数据分析可视化的核心技术方案以及在业务中的应用。
详细设计展开
DATA:一组从数据集创建变量的数据操作 TRANS:变量转换(如排序) SCALE:度量(如对数) COORD:一个坐标系统(如极坐标) ELEMENT:图形及其艺术审美属性(如颜色) GUIDE:一个或多个辅助物(如轴线、图例)
和传统枚举图表相比,使用图形语法生成每一个图形的过程就是组合不同的基础图形语法。故而它的灵活和强大之处就在于,只需要改动其中某一步骤,就能得到完全不同的、全新的图表。
基于灵活的图形语法理论基础,沉淀了大量可视化分析能力,接下来将具体介绍几种特色能力。
杜邦分析
布局策略:设计12种布局方案,分为两大类:垂直方向(自顶向下、自底向上)、水平方向(自左向右、自右向左),通过d3-hierarchy对层次结构数据进行布局计算,实现node布局。 节点关系:node节点关系绘制(父子、兄弟)、node节点辅助信息绘制(提示、预警等),实现关系ICON位置计算、辅助信息位置计算。 交互:设计了收缩展开、缩放能力,支持大数量图表的交互,通过viewBox实现。 异动分析
指标卡:集成指标卡全部功能,并通过对异常指标的特殊标识来达到预警能力 流转线:反映指标间的转化关系 标题:业务流程的标识
主要的实现流程如下:
最终在商家异常全链路监测需求中使用网格指标卡组件,针对3个环节、7个模块、19类的核心指标与异常类型商家数量,让用户能够从商家经营整体环节通过预警功能进行风险监控和异常定位。
为解决复杂的数据分析场景,创建了一种基于React技术自研的交叉分析表格组件,将常见的表格操作与交叉数据分析的思路结合起来:在传统可下钻表格的基础上,创新地抽取分析动作层,能够类比数据分析中的切片、切块和下钻思路,进行数据分析,使用时允许用户在多个合法维度中选择,形成一条自定义下钻路径,成功地实现多种维度下,在表格中进行可下钻的交叉数据分析,满足了多元复杂的数据分析需求。
具体的实现原理是将表格的上卷下钻逻辑与交叉数据分析逻辑结合起来,这里面的重点处理在于对从调用参数中过滤条件、维度字段和指标字段的进行动态处理,从而实现交叉分析的数据获取查询。首先,对维度字段和指标字段分别进行遍历,能够获取到过滤条件、维度字段和指标字段这三种参数,对于同一个表格来说,数据查询的返回字段是一致的,于是在每一次遍历中,都可以在查询字段结果中增加一项,用于构建最终数据查询的结果集;接下来,从第一步触发下钻的的动作中,获取到父层级的维度信息和具体的值,设置为过滤条件,通过这一步,可以查询出当前父级条件下的数据;接下来,同理如果该维度是子级维度,那么就把该维度条作为聚合维度进行操作;最后,将上述封装好的操作条件,传递给后端进行查询,并将获取到的数据,根据父级指标的维度值,拼接到该项的子节点字段中,这样便语义化的可以了“在父级维度某个维值的过滤条件下,按子级维度聚合的”数据,再整体将最新的数据拼接到的表格数据中,至此便实现了交叉数据分析的分析动作。
同时,基于自动分析结果,还可以进一步通过多因素分析等可视化分析组件进行更深入的探查。基于表格组件,通过组件联动能力,组合多个表格形成联动下钻分析。
首先是自研了基于MVC模型的JMT状态管理框架,在redux的基础上,升级了状态的更新和变化响应机制,支持复杂异步状态管理,以一种通用状态模型支撑了数据产品逻辑的配置化。
其次是基于JMT组件库自研了可视化编排系统,一方面,通过多种灵活的布局组件,支持复杂页面布局的编排。另一方面,提供了灵活的组件配置面板,除常规样式的编排外,还充分发挥底层数据可视化能力,支持如杜邦分析等指标关系的编排。此外,通过对底层React框架的灵活使用,创新组件嵌套机制,支持可视化组件互相嵌入形成联动分析,如在杜邦分析中既展示GMV的拆解,也展示GMV的达成进度等。
第三是构建数据产品特有的数据集编排系统,支持对数据资产、EasyData等多种数据源,通过编排维度、指标、过滤构建数据分析模型,并基于图形语法技术将可视化组件和数据服务的olap能力做充分打通,实现数据驱动可视化。
第四是自研了一套代码生成和注入系统。可视化编排和逻辑编排使用一套标准Schema进行驱动,在页面发布时,会基于Schema,结合React和JMT状态管理,自动生成代码。此外,对于页面中的尚未被组件功能覆盖的个性化逻辑,可以通过代码注入,配合JMT函数库快速解决。在百亿补贴等紧急需求中,代码注入功能解决了大量个性化逻辑,在时间紧任务重的情况下,保质保量交付需求。
下图梳理出任务处理的关键流程:素材处理服务(Node)主要承担推送任务消费及提供获取素材的HTTP服务两大功能。在任务消费过程中,素材处理服务会模拟用户权限打开浏览器去做页面Canvas图像转换、看板截图、PDF生成等操作。如果触达方式为邮件,则会将所有素材填充生成为Email Html文本文件,通过回调返回给后端,推送给用户呈现的内容是数据看板。
在处理阶段,由于Canvas对象是Web API的一部分,只能在浏览器环境中使用。而常用的Node下操作Canvas的工具包几乎都依赖底层的图形库,例如Cairo或Skia等。这对于开发环境(MacOS)和部署环境(CentOS)不一致的研发来说,调试难度较大。为了解决这个问题,通过Node.js环境提供的Buffer对象承接Canvas对象的Data URL,配合JPEG图像编解码器处理。这样就无需考虑底层图形库的兼容性和安装问题,实现素材图片的顺利生成。
通过复用PC端的低代码编排能力,利用jmtm基础组件库和jmtm-charts图表库,能够快速搭建起移动端的数智化分析功能。
针对移动端看数场景,使用自研的主题配置工具:将组件字号、颜色、圆角、尺寸等样式变量化,从而可以根据具体需求进行灵活配置。其中色板变量的引入保证了组件库的底色充足,而公共变量的使用则提高了配置效率。另外我们还引入组件变量,实现个性化的定制需求。支持在线预览和一键发布等功能:用户可以通过在线预览功能,在配置过程中即时查看效果;一键发布功能则可以快速将配置好的主题应用到移动端低代码平台中。
展望未来,我们会持续打磨现有能力,并不断结合新的业务场景和行业调研,沉淀新的数据可视化分析能力。首先在智能化方向上,会基于图形语法的可视化理论,并整合AI等能力,建设增强分析能力,打造增强图表和自动化报表,实现自动洞察数据关联、异常及趋势等,将数据分析从描述性分析跃升到预测性分析和决策性分析;同时在质量体系建设方面,会从监控预警、代码质量等方向持续建设,在不断提升交付效率的同时持续提升交付质量:最终期望能够通过数据分析技术能力的综合运用,降低研发成本,提升研发效率,完善用户体验,高效推进人人都是分析师的战略落地。
对于京东复杂的业务和数据体系,大模型在数据服务领域的应用很有价值,同时也面临着挑战。当前的架构设计充分考虑了已具备的底层数据服务能力,结合LLM实体识别、上下文推理、决策辅助能力将用户查询与复杂数据集的相关指标匹配,实现快速准确的数据查询。通过NER识别将用户的筛选条件、查询指标、聚合方式抽取出来,利用Norm(归一化)把实体转换成标准数据服务的调用参数,并且构建索引将归一化依赖的数据资产进行存储,来实现自然语言查询准确数据的全链路,与此同时,建立完善的评估体系、利用本地模型优化等机制,不断提升应答准确率,为用户带来更优质的使用体验。
基于业务知识和数据知识的Prompt工程
目标确认:针对用户对数据的诉求,整理用户问题确定输入数据,基于不同任务目标确认不同输出格式,如实体识别输出标准格式的{实体类别:实体名称},指令生成输出标准格式的{分析能力:分析指令}等。 工程建设:确认目标后,从环境预设、指令描述、输出规范等角度生成规范Prompt,不断微调输入结合业务知识的个性化案例。并通过中英互译、预设负样本、增设输出校验和边际检验、动态Prompt生成等方案优化,兼顾时效性的同时,提高输出结果的稳定性和准确性。
精确匹配:入参类型、指标名称或id、用户权限多维度叠加判断得到精准结果; 相似性匹配:在精准匹配没有结果之后,使用大模型对实体进行embedding操作,从库里查询出相似度最高的结果; 建立索引:对实体建立别名层,满足用户个人习惯,如部门的简称、指标的别名,来提升识别准确率; 用户行为数据辅助:通过用户在数据产品、数据工具等系统的行为数据,生成用户对指标、筛选条件、聚合维度的偏好数据,辅助提升准确率。
样本设置:采用人工样本和大模型生成样本结合的方式,快速、多频次对不同句式、不同场景的问答(1000+)做评测,来保障样本的多样性和丰富度。 准确率测评:通过批量调用接口返回大模型结果,离线代码支持批量结果自动化比对,从而高效输出任务的准确率、时效性等指标,同时同一批样本会多次调用来评估任务的稳定性。 构建产品功能:用户可以在答案上点赞或点踩来反馈满意度,产品侧持续针对用户反馈问题进行阶段性优化。
基于LLM对prompt工程输入token数量的限制及数据隐私安全的考量,我们也选用本地大模型进行Fine-tuning。它涉及在一个预训练模型的基础上进行额外训练,以使其更好地适应特定的任务场景,实现准确率提升和影响时长降低,具有很好的效果。
按场景构建多样化问题库,如单/多指标查询、分维度查询、维度id和name查询、排序查询等 按查询因素构建变量知识库,建立时间、指标、维度、筛选条件知识库,方便后续新增场景的快速扩充
模型训练前后准确率对比提升明显
描述性分析,如销量达成情况、趋势分析、摘要总结 探索性分析,如维度拆解、相关性指标推荐、异常值识别等
数据查询提效:通过自然语言对话,完成快速数据指标查询,单次查询时效降至7.8秒,大大降低用户数据获取的时间,并且很好的支持了用户个性化需求的满足; 数据分析赋能:依托丰富指标维度数据,通过思维链实现自动化数据分析,并依据用户的习惯喜好等选择更贴合的数据路径,非“分析师”角色用户轻松实现多场景的快速智能分析 数据消费拓展:通过产品赋能,为每一个用户配置一个专属的AI数据分析师,可以扩大数据消费用户的规模,并且大幅提升数据消费的能力,支持业务应用数据驱动决策。
据统计,99%的数据大咖都关注了这个公众号
👇
3、
8
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...