您的位置:首页 > 其它

违规商品扫描

2020-07-14 06:02 77 查看

需求

商品标题及商品描述会出现违规单词,这种商品是不允许上架的,所以急需做一个违规商品扫描功能。

难点

  • 商品数据量很大(400万),商品查询加上业务处理时长,整体处理时间会很长。
  • limit分页加载商品数据,越往后翻页,查询时间越长
  • 商品被分128张表,该如何扫描,分页查询怎么运用在分表场景
  • 规格词的匹配及其消耗cup资源
  • 定时任务在分布式系统,如何调度

设计

多线程处理,开启32个线程每个线程处理4张商品表;分页查询只针对单表;因为总数据量400万,那么每张表,数据不到4万,用limit做分页查询,查询时间还是可以接受的;匹配词库很耗cpu资源,所以拆出来一个关键词匹配系统,可以横向扩展,已增加整体处理速度,而且也不会影响原商品系统;定时任务只在一台机器开启,并在晚上用户操作最少的时候执行。 设计图如下:

优化点

  • 词库匹配优化,如:多线程匹配
  • 将定时任务拆成单系统,避免影响其他业务
  • 使用分布式任务
  • 扫描商品是否可去掉定时任务,改为商品上架时,去扫描该商品是否有违规次
  • 商品数据的全量扫描,从基于库实现改为基于缓存实现

转载于:https://my.oschina.net/u/3057539/blog/3081381

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: