51CTO首页
AI.x社区
博客
学堂
精品班
直播训练营
企业培训
鸿蒙开发者社区
WOT技术大会
AIGC创新中国行
IT证书
公众号矩阵
移动端

All in ECP,转转一站式ES数据清洗解决方案

开发 架构
总的来说,ECP系统是一个基于Elasticsearch的数据传输链路计划管理平台,致力于为用户提供更加高效、便捷的数据清洗解决方案。我们会持续迭代系统的功能,以满足不断变化的业务需求和用户期望。

一、业务背景

  转转作为国内头部的循环经济产业公司,目前业务架构是中台模式。中台负责提供通用的交易能力,灵活快速响应业务需求,业务方负责前台探索创新,为用户提供有价值的服务。

  转转交易中台目前分为基础服务、订单、促销、天路、支付等方向,每个方向都拥有各自业务所需的ES索引,索引量级20+,数据量10亿+。

  随着转转业务的快速增长,目前研发对于ES类需求的手动支撑已无法满足业务的快速迭代诉求。目前不仅缺乏技术沉淀和数据积累,而且上手门槛高且效率低。为了解决痛点,ECP(Elasticsearch Chain Planning)系统应用而生。

图片

二、现状与问题

2.1 现状概述

根据历史经验,目前索引重建需要如下步骤:

  • 1、确定需求方使用的索引
  • 2、找到该索引最新一次使用的模板,编辑模板
  • 3、根据模板创建一个新的索引(indexName_vn),其中n代表版本号
  • 4、修改该索引的写逻辑handler
  • 5、上线索引写服务
  • 6、配置新老索引双写
  • 7、找到或编写导出ID数据的(Shell或Python)脚本,执行并导出存量ID源(沙箱已被限制MySQL命令)
  • 8、上传到清洗机上(沙箱或者线上),调用索引写服务的接口,触发数据清洗
  • 9、修改索引读服务配置,增加对新字段的查询配置
  • 10、切换索引别名,将流量指向新索引
  • 11、停止双写
  • 12、删除旧索引

2.2 存在的问题

  • 1、人工操作脚本(Shell或Python)导出所有待清洗ID数据;目前沙箱已禁用MySQL命令(出于安全考虑);文本比较大,经常遇到内存不足或磁盘不足的情况。
  • 2、重建索引成本高,步骤多且效率低,订单索引重建一次大概需要5~7天的时间(Bulk方式)。
  • 3、清洗进度无感知,无法预估完成时间。
  • 4、无法断点续刷,失败后需要人工介入找到临界点后手动触发,费时费力。
  • 5、索引存量清洗与增量清洗未隔离,可能会影响线上正常业务。正常渠道产生的增量数据和刷索引产生的存量会放置到同一个阻塞队列中,然后处理器读取该阻塞队列,进行数据处理,若处理失败,会将该条记录写入到Fail文件中,一分钟后读取该文件再次放置到阻塞队列中处理,如下图:

图片

三、 解决思路

图片

  • 抽象流程步骤,将索引刷新流程标准化&自动化&可视化,以提高效率和准确性。

  • 图片

  • 系统赋能,释放人力资源,提供完备的任务管理能力,包括中断恢复、进度可视化、QPS限流和心跳检测等功能。
  • 存量与增量隔离,利用架构部提供基于标签的流量路由能力,实现数据清洗存量数据与增量数据的环境隔离。
  • 权限控制与数据沉淀,接入公司统一权限管理系统,实现数据源与脚本管理、ES集群与索引管理(含模板管理)、任务管理,及操作日志记录等。

四、 实战揭秘

4.1 什么是ECP系统?

ECP(Elasticsearch Chain Planning)系统,即一个基于Elasticsearch的数据传输链路计划管理平台。在转转技术体系内,致力于协助研发运营人员高效管理ES的索引新建、数据清洗、索引重建等任务计划,并提供可靠的一站式任务流解决方案,提升ES类需求的响应效率。

图片

4.2 ECP系统有哪些功能?

4.2.1 任务管理

任务管理包含ES索引新建、数据清洗、索引重建等任务流。它提供了多个独立模块,包括索引新建删除、别名切换、数据清洗、索引预热、双写管理等,同时还拥有任务进度可视化、暂停和恢复、QPS限流、中断自动恢复等能力,此外还留存了任务过程数据,方便日后复盘和查看。

图片

4.2.2 数据源和脚本管理

主要管理数据库基本信息和获取源数据的SQL脚本,供任务获取源数据使用。它具有数据库连接检测、SQL语法校验及格式化等辅助功能。

图片

4.2.3 集群和索引管理

主要管理索引的基本信息,如索引的名称、别名、磁盘占用、所属集群、分片数量、健康状态、部门归属等。

图片

4.2.4 索引模板管理

主要针对索引模板进行集中管理,避免散落丢失,索引模板通常用于索引新建操作。

图片

4.3 ECP系统解决了什么问题?

4.3.1 解决了ES索引重建数据清洗任务流程中的卡点和难点

例如原来刷ES索引需要从数据库手动导出一份ID文件,并传输至ES写服务的服务器上,然后远程RPC触发开始执行,过程中需要人工值守,中断手动重试。还有编写导ID的Shell或Python脚本、服务器之间文件上传下载、远程RPC端口转发、源索引模板缺失、进度不可见、中断无感知等重重难点。不但上手门槛高效率低,事倍功半;而且操作不规范,与公司日益规范化进程相悖。这次ECP解决了这些问题,使整个任务操作流程简单、顺畅、高效、规范。

4.3.2 解决ES索引数据清洗环境耦合及速率问题

原先ES索引存量数据清洗与线上增量数据共用同一队列,当清洗速率过大时,会影响线上正常数据的消费时效,影响用户体验,例如用户已经支付成功了,但是看到的仍是未支付等问题。本次ECP利用架构提供的基于标签的流量路由能力将存量与增量进行了机器隔离,彻底解决该痛点。理论上在下游服务承受范围内,只要增加ES写服务机器,即可提升存量数据清洗的速率。

图片

4.3.3 解决索引、模板、脚本分散导致的需求响应低效问题

原先的索引、模板、脚本散落在各个角落,每次需求过来需要翻找上次需求使用的脚本和模板,由于人员的流动,经常找不见旧的脚本或模板,而需要研发重新造轮子。这样不但耗费时间精力,需求响应慢,业务感知较差;而且没有技术和数据的沉淀,缺乏系统性的持续迭代,进而提高效率。本次ECP将这些收拢起来,便于日后持续提效。

4.4 名词解释

4.4.1 任务

任务指为了完成某个目标而建立的活动或工作。具有目标明确、时间限制、进度追踪等特性。ECP系统中的任务通常有存量ID清洗任务,存量文件清洗任务,索引构建任务等。

4.4.2 索引簇(cù)和索引

索引簇是索引的抽象,索引簇定义了索引的唯一标识、模板、属性等,但没有具体的实现,类似于Java中的接口或类;而索引是索引簇的实例。例如:在订单列表场景中,“我卖出的”订单列表索引簇(唯一标识是:order_list),实际索引实例为(order_list_v2),假设业务需要新增一个索引字段,那么我们会新建索引实例(order_list_v3),这里v2和v3索引都属于索引簇(order_list)的实例。

4.4.3 数据源

即数据的来源,在ECP中,分为ID源,文本源和MySQL源。

4.4.4 脚本

即MySQL源和SQL脚本的组合,可以从数据库中读取源数据。

4.5 整体设计

图片

4.6 系统演示

4.6.1 新建任务

图片

4.6.2 任务执行

图片

五、结语

5.1 总结

总的来说,ECP系统是一个基于Elasticsearch的数据传输链路计划管理平台,致力于为用户提供更加高效、便捷的数据清洗解决方案。我们会持续迭代系统的功能,以满足不断变化的业务需求和用户期望。

5.2 规划

目前ECP系统v1.0版本上线不久,仍处于团队内测阶段,索引刷新类需求提效已初露锋芒。接下来我们将持续完善和打磨,并计划在未来增加更多实用的功能。例如,清洗任务定时执行、reindex支持、别名切换回滚以及数据一致性校验等功能,这些功能将使日常的ES数据清洗工作更加高效便捷。

责任编辑:武晓燕 来源: 转转技术
相关推荐
Web应用安全一站解决方案
WEB安全无疑已经成为信息安全领域炙手可热的话题,一方面印证了互联网的蓬勃发展,一方面揭示了WEB安全问题严重影响到了互联网的发展。WEB技术应用几乎渗透到了每个领域的每个角落,最常见的莫过于门户建设。

2010-05-06 16:02:26

惠普联手谷歌推出一站IT解决方案
两大科技巨头惠普和谷歌(微博)在当地时间周二宣布,双方将基于GoogleApps云计算办公套件开展一个合作项目,旨在为更多的中小企业用户提供“一站式IT解决方案”。目前,惠普已经是GoogleApps经销商,并在该公司旗下的PC、打印机和其他IT设备中捆绑管理工具进行销售。

2013-06-14 09:30:52

Moneta:所有移动支付的一站解决方案
Moneta提供了一个单一账号发给用户,来管理他们跨平台的交易行为,包括移动商务,移动钱包,叫做mPOS的移动支付,以及移动银行业务。为了获取信任和信用度,该软件获得了来自欧洲支付联盟(Europay),万事达卡和维萨卡全球安全证书(globalsecuritycertification)一级和二级的认证,这使得他们在全球的银行和金融机构之间都可以畅通无阻。

2013-12-12 15:34:00

Moneta 移动支付 一站式解决方案
腾讯云一站移动解决方案全面推出
近日腾讯云在京召开“最强应用,由你智造”为主题的移动应用沙龙。在此次活动中,腾讯云研发总监郑立峰宣布:腾讯云全面升级移动应用整体解决方案,并新增维纳斯、图片服务等重点功能。

2015-04-19 16:36:10

腾讯云
对话cocos作者: cocos一站解决方案深度挖掘
触控科技发布重磅消息,宣布正式推出cocos一站式解决方案,该解决方案整合了Cocos2dx、CocosStudio、CocosCodeIDE等框架及工具,为开发者提供了全套的游戏开发解决方案。此次产品的发布,也是对2014年秋季cocos开发者大会上宣布的cocos品牌的实现。51CTO记者在产品发布前夕采访了触控科技副总裁王哲及触控科技高级技术总监、CocosStudio作者张晓龙,为大家...

2015-02-02 11:06:21

cocos cocos一站式解决
京东云重磅发布一站混合云解决方案
京东云发布了全新的混合云解决方案,正式进军混合云市场。该方案实现了内网级互联,融合了安全与敏捷性方面的特性,是一站式的企业级混合云解决方案,可以兼具公有云和私有云的优势,为用户不同应用场景提供最佳支撑平台。

2017-11-28 13:53:18

打造一站数字营销 国双科技发布AdSuite解决方案
通过在数据分析和营销领域的10年积累以及对中国数字营销市场的深刻洞察,2014年7月3日国双科技在京正式对外发布自主创新的全流程数字营销解决方案AdSuite。国双将数字营销的整个过程进行一站式的整合优化服务,形成今天的AdSuite解决方案,包括技术、权威数据以及跟踪服务。

2014-07-04 11:44:00

数字营销 国双科技 AdSuite
戴尔联手英特尔推出一站数据整体解决方案
戴尔今日宣布,基于英特尔Hadoop发行版、戴尔PowerEdge云服务器及网络架构推出戴尔Hadoop解决方案,进一步加强其新一代计算解决方案,为客户提供一站式大数据整体解决方案。戴尔Hadoop解决之道为客户提供优化的软硬件配置建议,简单快捷的实施部署服务,以及整体的专业服务支持,确保企业Hadoop环境的高可用性和稳定性。此次戴尔与英特尔的联手推进了大数据时代的发展。

2013-03-26 09:57:05

戴尔
友盟发布四款新产品 推一站解决方案
10月22日,国内第三方移动互联网数据统计分析服务商友盟今日发布了“一站式”解决方案,友盟CEO蒋凡介绍,该方案由基础设施、开发环节和运营服务组成,除了原有的移动应用统计分析外,该方案还包含四个新产品:消息推送、社会化分享组件、游戏统计分析及云加速。

2013-10-23 10:58:07

友盟 解决方案
触控科技正式发布“游戏开发一站解决方案
2015年2月2日,触控科技正式对外发布Cocos游戏开发一站式解决方案!作为目前国内首款游戏开发一站式解决方案,Cocos引擎将为开发者们提供游戏开发所需的全套游戏引擎和工具,重新定义无缝的工作流,让游戏开发铁三角策划-美术-程序更好地协同工作,为游戏开发者提供了从立项到发布的闭环方案。Cocos引擎将满足不同规模的研发团队不同层次的需求,你只需...

2015-02-02 16:07:50

游戏开发
腾讯To B再发力:揭秘腾讯一站计费解决方案
5月21日至23日,首届腾讯全球数字生态大会在昆明举办。腾讯计费平台部孵化的技术产品——腾讯计费在会上亮相,这也是腾讯计费的首次线下展示。

2019-05-29 14:12:02

腾讯 To B 计费
Gateway ZX4930家庭娱乐一站解决方案
一体机越来越频繁的出现在消费者的视线当中,作为台式机细分的一个产品,一体机大大简化了各种线材的束缚,越来越符合现代人简单的生活节奏。GatewayZX4930就是这么一款细分下来的一体机,但是相比其他产品,ZX4930有多项过人之处,不得不让人为之瞩目。

2011-04-22 10:15:43

一体机 Gateway ZX4
华为将在GITEX展发布“一站”BYOD移动办公解决方案
信息与通信解决方案供应商华为宣布将在迪拜举行的2013年GITEX展会(海湾信息技术展)上发布其最新的”一站式”BYOD移动办公解决方案。

2013-10-18 15:07:07

华为BYOD 移动办公 华为
阿里云深度整合万网业务 提供一站解决方案
7月14日,主打云计算的阿里云官网与域名第一站万网网站合二为一,万网旗下的域名、云虚拟主机、企业邮箱和建站市场等业务深度整合到阿里云官网,至此,用户可以在aliyun.com完成网络创业的第一步。

2015-07-14 15:34:28

阿里云 万网
7效合的数字营销洞察:AdSuite一站解决方案
互联网是数字生态圈,是今天大数据最核心的组成部分。日前,国双科技将数字营销的整个过程进行一站式的整合优化服务,推出AdSuite自主创新的全流程数字营销解决方案。国双科技专注数据领域10年,积累了庞大的数据及行业经验,成为业界领先的数字营销领域技术公司。在AdSuite解决方案正式发布之前,已经有包括可口可乐、东风日产、中国人保等众多知名企业通...

2014-07-16 16:06:53

AdSuite 解决方案 数字营销洞察
前端一站异常监控捕获方案
在服务器开发中,我们常常使用日志来记录请求的错误和服务器异常问题,但是在客户端,前端应用直接部署运行在用户的浏览器中,如果发生错误,应该怎样去捕获并传送给服务器呢前端错误日志传送给服务器很简单,在异常发生时直接发请求就可以了,下面我们主要讨论下错误的捕获方案。

2017-05-04 21:30:32

前端 异常监控 捕获方案
锐捷推一站安全防御解决方案对抗网络威胁
现在网络安全已经升级为各国信息化建设中的头等大事,我国更于前不久举办了以“共建网络安全,共享网络文明”为主题的首届国家级网络安全宣传周活动。作为国内网络解决方案领导品牌锐捷网络,在信息安全领域也耕耘多年,并于此次网络安全宣传周上,展示了创新性“一站式安全体验、全景式安全防御”解决方案,为展会增添了一抹亮色。

2014-12-23 15:34:31

D-Link“4S”一站解决方案护航平安校园
全球领先的网络设备和解决方案提供商DLink,面向安防领域推出“4S”一站式解决方案和一站式服务,DLink“4S”即Surveillance(监控)、Switch(网络)、Storage(存储)、Software(软件)。

2010-04-19 21:01:54

校园安全 “4S”一站式 D-Link

聚圣源恐怖庄园的秘密ip加速器宋氏宝宝起名字大全赢勾固态电池概念股玫瑰海岸茱萸怎么读游戏起个名字起名大全免费大全红楼梦中5200小说网黑帮大佬和我的365天家教高级课程分期付款买手机香港风水大师灰心丧气一直免费的服务器通信地址怎么填起名字还是取名字寓意好的成语可起名字吗编者按怎么写聂姓男宝宝起名qq同学群名字炉石助手北京供暖时间2021黄起名字女孩好听顺口拆车公司起名女孩起名用添字好不好公司起名的三字精选腾讯天气淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化