号店搜索实时更新架构实践课件_第1页
号店搜索实时更新架构实践课件_第2页
号店搜索实时更新架构实践课件_第3页
号店搜索实时更新架构实践课件_第4页
号店搜索实时更新架构实践课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、搜索实时更新架构实践搜索架构H5搜索APP搜索PC搜索搜索服务SmartBox展示逻辑自动补全搜索历史Query规划(理解、意图识别、扩展)自动货架坑位合并多屏适配主题清单热词推荐类目提示相似查询属性提示数据融合(去重、重排序、精确控位)展示模板导购筛选转化率排序个性化关联商品搜索引擎(倒排)商品摘要(K-V)索引生成数据服务离线数据处理商品数据更新语言模型排序模型排序学习全量更新实时更新搜索日志分析数据导入框架数据更新搜索服务产品管理商家管理。卖家实时索引促销管理商家后台数据库HadoopSqoopHbase买家全量索引实时更新DatabusDataService更新处理消息解析更新验证消息

2、接收流程监控数据处理统计分析搜索服务产品管理商家管理。卖家实时索引促销管理商家后台数据库HadoopSqoopHbase买家全量索引实时更新DataBusWork QueueDB ScannerMsg ReceiverHbase StoreDataServiceProcessor PipelineMessage Queue搜索服务搜索引擎索引更新ZoieIndex SearcherMultiReaderSoftCommitHardCommit缓存LuceneFileIndexIndex Writer一致性:全量+实时实时更新流搜索服务实时更新全量更新持久存储全量索引构建时间全量数据抽取时间分发

3、前Sync开始时间切换前Sync开始时间数据更新全量数据抽取、处理索引构建索引分发实时更新定时分发前等待数据模型(1)将产品数据分割为有意义的列,抽象化。(2)数据按照列的粒度来操作、重用。(3)控制复杂度,数据可能有几百上千维,列保持在几十维。ProductColumn AColumn BColumn CColumn DProvince 1 : D1Province 2 : D2Province 3 : D3计算模型(1)定义输入和输出,将逻辑划分到Processor内Input Data AInput Data BInput Data CProcessorOutput Data(2)根据逻

4、辑复杂度,给Processor分配资源SEDA (Staged Event Driver Architecture)Stage 1EventStage 2EventProcessor 1Processor 2Processor 3Data AData BData CData AProcessor 4队列 1len = 100队列 2len = 50线程池 1Threads = 10线程池 2Threads = 50计算模型(3)根据数据的生成和使用关系,计算Processor间的依赖DataColumn/ProcessorMerchantInfoPriceStockPromotion覆盖省份价

5、格库存促销生成使用生成使用生成(4)根据依赖生成DAG,构建Processor PipelinePriceStockProcessorMerchantProcessorCoverProvincePromotionProcessor(5)全量更新,使用MR封装Processor Pipeline实时更新含义:某一个输入数据发生了改变(1)根据定义,找到使用这个数据的Processor(2)根据DAG,构建Processor PipelineInput Data AProcessor BProcessor CInput Data BInput Data CProcessor AProcessor

6、D(3)更新Pipeline中所有的输出数据数据更新索引数据 05-27 00:00全量更新(Hadoop)全量原始数据数据存储05-27 00:00产品数据促销数据价格库存05-26 17:30产品数据促销数据价格库存05-26 17:30产品更新促销更新产品数据05-26 17:3005-26 18:0005-26 17:3005-26 17:3005-26 18:00促销数据价格库存更新05-27 10:3005-26 17:30索引数据 05-27 10:45增量更新05-27 10:30价格库存05-26 17:30产品数据促销数据价格库存05-26 18:00促销更新05-27 1

7、0:3005-26 18:00实时更新监控指标:正确性,及时性。External SRCdataDataProviderAgent(1)与系统的集成Search-MonitorReceiverCollectorDataStoreCheck&AlertSchedulerAggregatorNotifierMetrics DataAnalyzerReportAPIRESTMonitorSystem(2)与人的集成EMAIL System人Monitor邮件短信可跟踪性设计DataChangeMessage消息接收Topic_ReceiveTime_Sequence_ReceiverIPProduc

8、tChange消息解析产品更新更新分发更新消费_ResolveTime_SequenceProductUpdateJob_ProcessTime_SequenceUpdateRequestIndexName_ReceiveTime_ReceiverIP_ProcessTime_SequenceIndexRequestShardId_IndexName_ReceiveTime_ReceiverIP监控Dashboard更新延迟更新延迟更新失败多源更新调度问题:各个消息源更新频率和数量不均,服务器的资源利用率不高。方案:使用加权公平队列(WFQ),按照有数据的消息源平均分配处理资源。效果:40秒完

9、成更新2万条促销消息,优化前需要20分钟。Fetch msg by fair queuepolicy when work queue has1/3 free sitLess than 250 productId.If mor than 250, split it.Waitting queue(topicNum: n)DataChange SchedulerWork Thread poolpmInfobrandcoreSize: 20*nmaxSize:20*nworkQueue:3*coreSizepromotionWait queuesize:Int.MaxSize:Int.MaxStatu

10、s.RESOLVED消息解析等待调度产品更新进行中的工作(1)代码一致性- 架构:业务逻辑 = 20:80- 业务逻辑代码100%复用- 降低代码开发和维护的成本- 缩短测试时间,使用实时更新做功能测试(2)降低全量构建的频率- 数据一致性检查,计算全量构建的收益全量更新倒排索引(online)正向索引(online)Index-ServerSharding FieldMappingHive(offline)Item Feature Repository品牌/类目/属性排序因子(销量、曝光等) 分词(标题、品牌、型号等)促销价格、库存Business Processor PipelinePro

11、motion Price StockCombine/SeriesRankSegmentData Source ProcessorGoraColumnizerJoinHBase 离线数据productpminfoattributeimpressionsalecover areaserialDumpMysqlOracleMongoHive实时更新倒排索引(online)正向索引(online)Index-ServerSharding FieldMappingItem Feature Repository品牌/类目/属性排序因子(销量、曝光等) 分词(标题、品牌、型号等)促销价格、库存Business Processor PipelinePromotion Price StockCombine/SeriesRankSegmentData Source ProcessoriBatis ColumnizerJoinDataService 内存数据impression salepro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论