新闻推荐系统-项目介绍(PRD)

新闻推荐系统


b站链接
制作不易,6月后开源全部代码以及数据,记得一键三联哦!
开源代码: github代码库
mysql:
链接:https://pan.baidu.com/s/1jLzfYbpsfHEjS4S17IyQnQ
提取码:1234

环境介绍

语言环境:
1.java1.8
2.scala2.1.1

IDE:
eclipse2015(java)
myeclipse2017(scala)

依赖环境:
maven3.6.3
sbt1.2.1

技术栈:
Java 1.8
springboot(web服务)
webmagic(爬虫)
seleinum(爬虫)
mysql(8.0)
linux shell(算法部署环境)
scala 2.1.1(使用jvm1.8)
spark2.0(计算框架)
spark mlib(机器学习库)
maven(java依赖管理)
sbt(scala依赖管理)
redis(消息队列)
jedis(redis-java api)
bt(宝塔-服务器管理面板)
jsch(linux shell -java api)
javax.mail(spring-email邮件管理)
在这里插入图片描述
架构草图

项目简介

项目意图为构建完整的新闻推荐系统 其中分为多个模块
推荐模块
一.冷启动模块
1.热度推荐
2.标签-自定义推荐
3.实时推荐
二.协同过滤模块
ALS隐语义模型-最小交叉二乘法 推荐模块
用户模块
一.用户模块
1.用户登录
2.用户注册
3.忘记密码
整个系统是帮学生写的毕设,但是尽量真实的实现现实中的业务场景.例如:新闻app中用户注册后自定义标签,和实时推荐新闻等功能.
同时又因为系统环境的限制,没有集群,只有一个性能有限的伪分布式服务器,带hdfs都费劲,不可能实现更多的实时功能.所以kafka(卡夫卡),spark-streaming,hbase这几个常用的高性能实时服务组件并没有用上(sparkstreaming虽然不是真正意义上的实时处理,但是微批次处理也够用了吧,不用fink那么高傲)

项目开发流程

一.算法部分
在这里插入图片描述

根据上面的逻辑开发每部分需要的算法,并记录rmse后开始下一步在这里插入图片描述

二.算法部署部分
1.sbt打包assembly
2.linux 部署
3.linux测试
三.web服务开发
1.确定需求
2.创建实体类
3.创建数据库表
4.管理映射(mvc) mapper,service,contollor等
5.前后端交互
四.全流程搭建链接测试
1.web部署
2.linux算法服务部署
3.redis部署
五.总结

注意事项

相似度笛卡尔积只有8000,电影id大于1万的时候无法推荐
mysql只能存储关系型数据,非关系型数据要用mongodb,这里太麻烦了,用mysql字符串拼接代替

报错(gc尚未解决)

6w行x50元素矩阵笛卡尔积相似度计算,一算算一天然后报错.emm
Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties
矩阵计算完成导入数据
Exception in thread “main” org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 9.0 failed 1 times, most recent failure: Lost task 2.0 in stage 9.0 (TID 74, localhost, executor driver): java.sql.SQLNonTransientConnectionException: Communications link failure during rollback(). Transaction resolution unknown.

  • 15
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
聚合支付-通道对账PRD(Product Requirement Document)是一种用于管理聚合支付系统的通道对账过程的规范性文件。 聚合支付系统是指通过整合多个支付渠道(例如银行卡、支付宝、微信支付等)提供全面支付服务的平台。通道对账是保证支付系统资金流动的重要环节,它涉及到对接各个支付通道的交易数据进行核对和对账对比。 聚合支付-通道对账PRD包含以下主要内容: 1. 对账目的和背景:明确对账的目的和对账的重要性,解释为什么需要对账以及对账的好处。 2. 功能需求:明确系统需要提供的核心功能,例如对接各个支付通道的数据导入、对账处理、异常处理等。 3. 数据要求:说明系统需要导入的数据类型和数据源,包括交易记录、商户信息、支付通道信息等。 4. 对账流程:详细描述整个对账过程,包括数据导入、数据核对、对账结果生成等步骤。 5. 异常处理:说明对账过程中可能出现的异常情况以及相应的处理方案,例如数据不匹配、缺失数据等。 6. 报表需求:明确系统需要生成的对账报表和统计分析报表,以便于监控和分析对账结果。 7. 安全要求:说明对账系统需要满足的安全要求,包括数据加密、用户权限管理等。 8. 性能要求:说明对账系统需要满足的性能要求,例如对大量数据的处理能力、并发处理能力等。 9. 用户界面需求:描述对账系统的用户界面设计,包括交互方式、界面布局等。 10. 需求优先级和时间计划:根据需求的紧急程度和重要程度设置优先级,并制定相应的项目时间计划。 通过聚合支付-通道对账PRD,可以明确对账系统的需求和功能,并提供项目实施的指导和依据,确保对账过程的准确性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值