咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >一种分布式推荐召回引擎的设计与实现 收藏
一种分布式推荐召回引擎的设计与实现

一种分布式推荐召回引擎的设计与实现

作     者:谭若骐 

作者单位:南京大学 

学位级别:硕士

导师姓名:骆斌

授予年度:2019年

学科分类:081203[工学-计算机应用技术] 08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:推荐系统 召回 过滤 分布式引擎 Dubbo 

摘      要:随着信息技术和互联网的发展,互联网中的海量数据造成了严重的信息过载。为了解决信息过载问题,推荐系统应运而生,推荐系统的目的是根据用户意图引导用户发现他们感兴趣的产品或信息。目前,网易考拉的推荐系统架构已经无法应对数百万级别的商品数量增长,要从几百万商品中找到用户感兴趣的商品需要耗费很多时间。随着商品数量的增长,商品信息更新会越来越频繁。信息更新耗费大量系统资源,导致服务发生抖动的频率也越来越高。同时,随着业务的扩张,适用于推荐系统的业务场景也越来越多,开发人员对于每个场景都需要重新编写一套代码以满足业务需求,大量重复代码会降低开发效率。本文总结了推荐系统的相关概念和核心技术,分析了网易考拉推荐系统的业务需求,提出了一种全新的分布式召回引擎解决方案。本文设计的分布式系统包含四大核心模块,分别是分布式并行模块、召回过滤模块、场景配置模块和数据更新模块,使用主流技术解决了多场景推荐、大规模信息更新和服务稳定性问题。系统使用Dubbo和Akka构建了分布式并行模块,分布式模块使用集群解决了海量商品数据的存储和更新问题,提升了服务的稳定性和处理速度。同时,系统在召回过滤模块中使用了 Redis和Ehcache作为缓存中间件,进一步提升了业务流程的执行速度。在场景配置模块中,系统使用配置文件来管理所有业务场景,解决了多场景推荐的问题。在数据更新模块中,系统使用文件更新和Kafka更新两种方式保证了数据的实时性和有效性。目前,系统经过功能测试和性能测试后,在线上运行良好。集群内单台机器每秒能处理2000次请求,推荐系统的接口耗时和垃圾回收时间相比使用本系统前均减小了 50%。本系统能满足存在的几十种业务场景以及日后可能存在的扩展需求,并且随着商品数量的持续增长,系统能提供一套稳定的召回过滤服务。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分