闲鱼商品理解数据分析平台——龙宫

引言

闲鱼是一个以C2C为主的平台,区别于B端的用户,C端卖家在发布商品时更倾向于图+描述的轻发布模式,对于补充商品的结构化信息往往执行力和专业程度都不高,这为我们的商品理解带来了很大的困难。为了能够在发布侧获得更多的商品结构化信息,我们开始尝试在原有图+文的极简发布模式中加入商品关键属性的补充选项,事实证明,适当的结构化属性选项并不会影响用户的发布体验,却能极大地提升我们对商品理解的能力。然而存在以下问题:
在设定结构化属性选项时,往往强依赖行业运营的经验,缺少实时的、多维度的数据分析手段。虽然离线产出的数据报表能够在一定程度上统计某些关键指标,但对于精细的、个性化的数据查询需求,离线报表扩展性和性能都不足。
基于上述问题,我们搭建了龙宫数据分析平台。

龙宫数据分析平台的定位与总体框架

区别于数据报表,我们在设计龙宫数据分析平台时主要考虑了以下方面:

  • 实时性要求,当运营上线新策略或因服务问题线上出现数据波动时,我们希望能够实时地分析出结构化类目属性在这段时间内的覆盖情况,以帮忙运营做进一步的决策。

  • 多维度要求,闲鱼目前拥有8000+的叶子类目,不同行业运营的侧重点各不相同,数据分析平台要能够满足个性化的数据分析需求。

  • 数据管理要求,闲鱼的类目属性、SPU数据、运营策略需要一个统一管理的地方。

我们希望以此实现结构化数据对运营的反哺,构成商品结构化数据生产与应用的闭环。

总体分层框架如下:

数据链路建设

构建数据分析平台的关键是数据链路的建设,在闲鱼,结构化数据主要分为在线数据(通过发布、编辑入口用户直接填写的数据)和离线数据(通过后置算法模型分析商品的图文获取的数据)。数据链路的建设存在以下关键难点:

•存储数据量大(全量20亿+),访问QPS高(1.5万+),服务稳定性要求高。

•数据来源多(10余种),各来源数据异构,存在重复、冲突的数据,数据实时性要求高(秒级延迟)。

•数据分析场景复杂(QPS小,但sql复杂度高),普通数据库查询难以支撑。

针对数据量大和QPS高的问题,我们选用tableStore作为存储商品结构化信息的数据库,它一种典型的列存储数据库,具有扩展性好、可用性高、单机可支撑QPS上万的特性,非常适合作为大数据的存储终端。其可用性可达99.99%,同时具有主备双库能力。
同时我们在线数据存储在mysql的商品表中,通过在java应用中监听表的变更将数据写入数据源表;离线数据通过ODPS+MQ的方式将数据传入算法模块,并通过blink将算法结果写入数据源表。由于在线离线的多来源数据可能存在重复、冲突的问题(同一商品算法A识别为iphone 12而算法B识别为iphone 11),所以在系统设计时我们使用源表来存储所有的原数据,使用终表来存储加工融合之后的数据,加工融合的策略是产品、运营可决策的。
分析数据我们使用的是分析型数据库ADB,ADB在存储容量、单机查询QPS方面都远不及tableStore,但它在复杂sql的运行、实时索引创建、冷热数据隔离等方面拥有其他数据库不及的性能,是数据分析库的较好选择。

离线异构数据源的接入

在闲鱼,结构化数据不仅仅来自于发布时的卖家填写,正如前面所说,闲鱼的C端卖家在填写结构化属性的专业程度和执行力都远远不及淘宝天猫的卖家,所以我们通过图文多模态的算法,在发布的后置链路中为商品补充很多结构化的属性(这部分cpv目前占大盘覆盖率的一半左右,不同类目情况不同)。接入这些离线数据具有以下难点:

•各个数据具有结构不同、产出时间不同、数据量级大的特征,难以复用相同模式,接入新数据源的成本高。

•数据同步任务分散,难以做统一监控。

针对这些难点我们设计了一套离线异构数据源统一接入的方案:

各个算法的离线数据存储在ODPS中,各个算法的数据格式不一样,数据的分区也不同,所以先通过一个ODPS的同步任务将各数据源数据统一到一张结构化标准标签表idle_kgraph_std_source中。表结构如下:

表中key为主键信息,因为不同场景的数据主键不一样,所以这里设计为开放式的主键,数据为json格式,key为主键列名,value为主键值。结构化标准表idle_kgraph_std_source通过一个Blink任务实时同步到tableStore的各个场景的数据表中。在Blink任务中,根据scene和source字段将数据进行分发,根据data中的key将数据路由到tableStore表中的不同列。同时为了提升效率,减少在Blink任务中写数据库的次数,拿到数据后,先对数据进行合并操作,将同种场景(例如结构化属性数据)的多来源数据合并成一条,再进行写操作。

通过这套方案,我们成功解决了多数据源接入中数据难以收口,难以统一监控的问题,同时,数据标准表中开放式数据格式的设计使得新数据源能够快速接入,极大地降低了重复开发的成本。

数据加工融合

在获取到多来源数据之后,我们需要对数据进行加工融合,融合的策略是由产品和运营共同决定的,在变更策略时,存量的商品数据也需要重新进行加工融合,所以数据加工融合链路必须具备增量处理稳定,全量处理快速的特点。

在进行全量处理数据时,利用分布式任务调度系统,主任务节点通过数据库的分片将全量数据划分成多份,并将数据索引下发给各个子任务节点,由子任务进行数据拉取,使数据拉取与处理不受数据库的物理分区与通道限制,大大提升性能,目前6亿全量数据处理仅需40min。任务的分发策略如下:

总的来说,主要解决以下问题:

  • 分布式任务分发,分布式完成全量任务。

  • 操作幂等,操作可以重复,但不影响最终结果。

  • 全量增量彼此隔离,不影响在线服务

数据分析模块设计

在数据分析的场景中,大量涉及到正逆排序、按某指标过滤的频繁查询,如果对每一次数据分析请求都做一次完整的数据查询,对数据库会造成较大压力。

所以设计数据分析模块时,我们将请求的分析条件分为两类:

  • 维度分析条件:根据不同的维度,需要运行不同的查询逻辑。会通过一个Distributor将分析请求路由到不同的processor中执行。

  • 筛选排序条件:这些条件不影响查询的逻辑,只会在查询的结果中进行排序或过滤,针对这种情况我们会优先从缓存获取结果,并在内存中进行排序过滤,以提升分析性能。


基于上述的方案,可有效降低数据分析查询的成本,使查询平均效率提升50%以上。

效果

目前龙宫平台已推广至行业运营、闲鱼搜索、闲鱼首页推荐等场景,取得了阶段性效果:

•为行业运营提供8000+叶子类目属性维度的数据分析,助力运营决策结构化选项在闲鱼主发中的透出,帮忙其为闲鱼结构化大盘贡献8成类目覆盖,一半核心cpv覆盖。

•为搜索、推荐等场景提供快捷的查询手段,帮助开发、算法同学实时定位线上问题,实现秒级延迟。大大提升了badcase归因定位效率。

展望

我们致力于将龙宫打造成一个全面、灵活、准确的商品理解数据平台,接下来我们将主要针对以下方面继续优化:

•与商品发布、成交大盘对接,接入商品诊断能力,提供更多维度的数据分析能力,推广场景覆盖,助力更多的产品、运营快速决策。

•增加更多、更直观的数据表现形式,优化界面与UI设计。

•增加用户维度的数据分析能力,与算法对接,将数据分析的结果反哺算法,使得算法模型能预测出准确、个性化的类目属性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/56327.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

闲鱼API接口,如何获取原生数据

闲鱼平台API,item_app 获得闲鱼原生数据 num_iid:闲鱼商品ID 点击获取key和secret* 当你有了账号时候点到测试页面,下面是我测试的结果 返回参数 Result Object: --------------------------------------- {"item": {"all_result&q…

闲鱼榜单数据

昨天有个客户给我看了这个页面,感觉挺有意思的:闲鱼榜单。 系统集成了各个行业,还推荐了用户可能感兴趣的行业的关键词,然后将行业内的卖家做一个排行。 比如潮玩行业的排名就是这样的: 然后就临时做了个接口&#xff…

闲鱼消息发展回顾

引言 闲鱼消息系统经过几代开发的建设,目前稳定的支撑亿级消息体量。在消息系统建设过程中,我们经历了从简单到复杂,从困扰到破局,每一次的技术改变都是为了更好的解决当下业务面临的问题。“忆昔午桥桥上饮,坐中多是豪…

电商搜索里都有啥?详解闲鱼搜索系统(长文)

搜索是电商平台的核心流量入口,承载着平台主要的成交引导、意图收敛、活动投放。一个稳定、高效、可扩展的搜索系统是电商平台得以生存发展的基石。本文探讨如何构建完善的商品搜索系统, 并根据闲鱼二手交易的差异化特性介绍闲鱼搜索系统的时效性优化。 …

闲鱼关键词,实现闲鱼APP的特定关键字商品检索

最近碰上个需求 需要根据关键词检索出所有商品,可以指定价格范围,地点,和最新排序,去发现有某位大佬的一个项目刚好符合这个需求。放到这里分享一下给大家。因为系统不便公开需要的可以找我 任务设置页面 可以设置关键词&#xf…

闲鱼商品选投实时性优化

马赫是闲鱼的选品和投放系统,闲鱼业务中多数商品都是孤品即单库存商品,所以商品的实时变更需要即刻反馈到选品和投放链路中,为了满足业务诉求马赫设计之初就把实时性作为最重要的技术目标,随着系统的运行数据的膨胀实时性也遇到了…

闲鱼已售商品信息查询系统。手搓市场定价/行情查询利器

前段时间自己手搓出来一个闲鱼已售商品查询接口,最近有时间,就把接口搞成了软件。 软件作用: 可以方便地查询闲鱼已经成交的商品信息,包括成交价格、成交时间、挂单后多少天成交(成交效率)、以及商品信息&a…

产品优化策略,有效提升产品自身竞争力,我赌你一定没用过

新媒体时代自移动互联网诞生之日便处于不断变化的事态之中,为了迎合时代发展要求,大数据、云计算等移动互联网技术获得了迅猛发展,智能手机也已经成为人们生活、工作中不可或缺的元素。在智能手机中,各种类型的APP占据了智能手机很…

2022届计算机毕业论文(设计)学生选题参考合集推荐收藏

大四的同学马上要开始毕业设计啦,大家做好准备了没! 给大家详细整理了计算机毕设最新选题,对选题有任何疑问,都可以问我哟~ 1基于JavaEE的问卷调查系统的设计与实现2基于SSM的山西工商学院校园跑腿代取系统的设计与实现3基于Web的…

计算机毕业论文选题推荐|软件工程|信息管理|数据分析|系列一

文章目录 导文题目导文 计算机毕业论文选题推荐|软件工程|信息管理 (***语言)==使用其他任何编程语言 例如:基于(***语言)门窗账务管理系统的设计与实现 得到:基于JAVA门窗账务管理系统的设计与实现 基于vue门窗账务管理系统的设计与实现 等等 题目 基于requests多线程…

湖北专升本数据结构

绪论 1.线性结构:是一一对应的关系。 2.集合结构:相当于一个班级,一个圈里面有很多。 3.“树”的数据结构:一对多的关系。 4.“图”的数据结构:多对多的关系。 名词解释 数据:是客观事实的符号表示,是所有能输入到计算机的符号的名称。 数据元素:…

英语四六级过了专升本可以加分吗?天津专升本英语四级加分取消

2021-2022年天津专升本考试中,全国大学英语四六级过了,那么天津专升本考试可以加分吗?天津专升本英语四级加分是不是与2020年取消了? 全国大学英语四、六级考试成绩的话题,又双叒叕登上了微博热搜 每到查分时&#xff…

专升本英语6套学习笔记和三套模拟试卷

第一部分 词汇背诵 1. literature [lit(ə)rətʃə] n. 文学;文献 I love literature since I was young. 从小我就热爱文学。 There is now a vast literature on the subject. 现在有关这个学科的文献特别多。 2. garment [gɑ:m(ə)nt] n. 衣服 The garm…

江苏专转本英语提分技巧

说专转本得英语者得天下,英语是所有专转本专业类别的必考科目,也是拉分科目。之前有转本人问老师,基础不好,短时间怎么把分数提上去?综合来看,“阅读理解”是最好提分的一个题型。“阅读理解”是很多省份英…

河南省专升本考试技巧与选择题

标题解释: 我并未涉及过任何大数据项目的开发,题目叫做大数据分析,是为了做seo。 如果我把标题写成数据统计,的确更贴合我这篇文章的意思 那大概这篇文章就石沉大海了。 我对大数据的理解只有很浅薄的一层,但是对于做…

C语言案例(安徽专升本常考)

案例目录 数学类程序完数(完全数)求亲密数水仙花数(阿姆斯特朗数)求自守数求勾股数求三角形面积最大公约数小公倍数一元二次方程求根素数(质数、哥德巴赫猜想)猴子吃桃斐波那契数列(兔子生崽&am…

专升本C语言

程序设计题 两个月的坚持,终不负所望,希望我自己写的题库能为你们寻求一些帮助(针对湖北专升本C语言),希望你们也能不负所托。题的 排名不分先后 文章目录 程序设计题判断是否是质数(素数)最大…

重庆专升本历年考试真题+答案解析,长期更新

重庆专升本历年真题 数学篇 2005年重庆专升本《高等数学》真题及答案解析 2006年重庆专升本《高等数学》真题及答案解析 2007年重庆专升本《高等数学》真题及答案解析 2008年重庆专升本《高等数学》真题及答案解析 2009年重庆专升本《高等数学》真题及答案解析 2010年重…

2022年9月各大学网络教育统考大学英语B考试复习题库

2022年起,网考办不再组织全国统一考试,网络教育统考将由各高校自行组织;2022年9月部分高校已经下发了统考通知,2022年9月份统考的部分院校有:2022年9月电子科技大学网络教育统考、2022年9月江南大学网络教育统考 、202…