论文部分内容阅读
随着网络消费的爆炸式增长,用户对购物网站的依赖越来越重,但随着用户的增长,用户对网站内容的要求也越来越高,网站的运营活动也越来越丰富。我们推出了Data Operate System(DOS),一个商品信息推送系统,旨在帮助运营人员更高效的运营网站活动。DOS平台由不同的服务组成,对于商品推送的部分主要由三个服务构成:方案配置服务、请求处理服务、以及数据构建服务,采用数据驱动的方式实现商品信息的合理排序。首先实现了方案配置服务,通过对购物网站的页面结构进行抽象,将实际的页面抽象成树。将运营页面的结构布局用树的形式表示,进而将运营对WEB页面的规划转为对树的操作,从而实现了WEB页面结构的可配置化。然后实现了请求处理服务。采用链式的结构设计,对请求进行白名单校验和业务逻辑过滤,实现了业务上的可扩展。采用分层的缓存设计来提升系统性能。采用三层的缓存架构保证了服务的可靠性和可用性。对于热点数据带来的潜在风险,采用Least Recently Used(LRU)缓存来规避热点数据可能带来的问题。通过流量限制来保护系统的可用性。最后实现了数据构建这一核心服务,实现中采用了责任链的设计模式和观察者模式。针对数据构建流程,抽象出处理模板和方法,便于服务的扩展。对于依赖的数据服务采用消息监听机制来获取数据变化的通知,从而实现服务间的解耦,采用布隆过滤器优雅的实现消息的过滤处理。对于缓存数据的更新处理采用建立商品的倒排方式实现准确更新,利用分布式版本来解决倒排建立中的冲突问题。定义了数据构建过程中商品排序的两种指标,一种为GMV最大化指标,另一种为可能成交额最大化指标,并阐述了两个指标的意义和应用场景。根据活动的目标的不同,选取不同的排序指标。系统上线后满足了运营人员的实际需求,大大简化了其工作流程,极大的提高了其工作效率。由于输出商品的排序和商品表现相关,运营的活动页面成交额较之前有了成倍的增长。在双11活动中,系统经历了高并发的检验,成功的实现了零故障的稳定服务。