1 编写目的
1.1术语与定义
(资料图片仅供参考)
1.2引用标准和规范
1.3参考资料
2系统总体框架
2.1设计目标
2.2总体技术路线
2.3架构概览
2.3.1架构总览图
2.3.2功能一览图
3功能展示
1.1编写目的
体验APP通讯,实现聊天功能以及聊天项目的设计思路,选用高性能传输非阻塞的netty框架进行开发,秒级响应
接入websocket技术应用聊天消息的已读未读,还有聊天消息的测试与联调
Netty心跳检测机制
云服务器构建项目,引入CICD,以及Devops构建,接入监控体系,一秒钟定位异常
针对登陆不同场景,结合桥接模式进行项目改造,代码review
1.2 术语与定义
Netty:Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
NLP:自然语言处理(NLP,Natural Language Processing) 是研究人与计算机交互的语言问题的一门学科。按照技术实现难度的不同,这类系统可以分成简单匹配式、模糊匹配式和段落理解式三种类型。
推荐系统:帮助用户找到想要的商品
1.3 引用标准和规范
1.阿里巴巴开发规范
2.接口使用规范
3.开发过程规范
4.异常管理规范
1.4参考资料
《阿里巴巴开发规范》--阿里官方Java代码规范标准
Netty实战
2系统总体框架
2.1设计目标
目标:旨在模拟微信APP体验实时通讯理念,秒级响应用户请求,由前后端统一处理消息,模拟从登陆/注册->用户个人信息维护->交友聊天等主流程。
玩转云服务器,从容面对IM聊天业务,延伸场景:自住回复机器人等。
技术扩展
1.登陆:用户登陆保存用户信息到缓存,以便用户第二次打开app可实现不输入密码登陆,并对密码进行MD5加密。
2.登陆时生成全局唯一id,根据id的调用谷歌的com.google.zxing.BarcodeFormat生成个人二维码并进行保存,当加好友,扫一扫时可进行唯一id判断来添加维护好友关系。
3.登陆后可进行个人信息维护,角色管理,查看数据,页面配置,黑名单管理等,朋友圈既是一个社区型评论功能化系统,可进行功能复用。
4.站在业务角度分析一次聊天事件的流程
5.当出现用户群后,根据DSSM模型分析用户行为。
6.Netty源码解读
7.云服务项目部署
2.2总体技术路线
2.3系统架构
1、以业务分析为输入,以总体的企业应用架构为原则,按着不同区域划分,由于本次基础以聊天业务为入口,侧重点不同,在此不做分析。
2、业务可配置性实时变化,引入apollo
3、定位用户ip,上传用户真实ip定位用户位置,引入iP2region,举例说明:即为了用户的隐私安全,定位用户的位置,第一时间定位报警用户行为的位置。
4、随着公司的业务的不断发展,当基础的系统逐步成型以后。业务运营就需要开始做⽤户的拉新和促活,从⽽保障 DUA 的增速以及最终 ROI 转换
3.功能展示
4.延伸问题:DSSM(Deep Structured Semantic Models)
也叫深度语义匹配模型,最早是微软发表的一篇应用于NLP领域中计算语义相似度任务的文章。深度语义匹配模型当用户量达到一定群体,分析用户行为,精准推送用户广告,喜好分析等成了我们不可或缺的一个话题。通过打标签,关联分组,给不同数据源的关联,这里涉及到两种建模:一种是自然兴趣建模,根据用户操作终端行为获得user-item关联,给不同的数据源打标获得item-tag关联,最后将上面两种关联进行join操作得到user-tag的关联实现给用户打上兴趣标签,这里相当于是从标签维度为广告主推荐人群;另一种就是商业兴趣建模,在自然兴趣建模的基础上,从广告维度为广告主推荐人群,那么就需要目前大火的DSSM双塔模型了。
那么平时最多的用户喜好数据来源哪里?
1.输入法
输入搜素引擎:根据用户的每日输入词都可推算你的历史组词,当然可分析此行为找出关联性最多的词组进行特征分析,将用户标签、用户属性、项目属性、用户操作行为、聚类算法、基于用户、基于项目、基于内容等混合推荐。
2.点击日志
短视频平台/海量曝光日志,根据用户多次点击的同tag类视频进行爱好分析,比如滑雪视频,你点击一次,首页就会出现多篇推荐,然后在产生一次点击,就会源源不断的进行推荐
其实第一次看这篇论文的时候,有点云里雾里,我不得不再次进行阅读,但结合推荐系统来看更容理解,推荐算法大致可以分为以下几类
基于流行度的算法
协同过滤算法
基于内容的算法
基于模型的算法
混合算法
在次就不展开讨论,只个人结合资料查阅,而DSSM更像是在基于模型的基础上,完成推荐任务,跟分治算法,回溯算法等不谋而合
5.朋友圈设计:点赞+评论
结合社区内容设计,将朋友圈视为新的一个tab展示,并将社区属性的评论与点赞进行集成展示。
对于点赞和评论的博文可参考个人公众号文章
点赞功能设计
https://mp.weixin.qq.com/s?__biz=Mzg2ODA3NjA1MA==&mid=2247484981&idx=1&sn=569bc3d748026dd8c2814e33a3e916d0&chksm=ceb09948f9c7105e203e09e4bb1d30de17bba55a68f7d4df71ccb55c8e34871e2b02b7a1f9ed&token=889485161&lang=zh_CN#rd
本次着重介绍评论系统
1.使用递归开发评论功能,并改造为极简循环调用,防止递归层次太深
大多数的评论功能可
1、单一消息体:分为主评论,然后层级下逐一排列回复,消息体之间一对多
2、嵌套消息体:即分为主评论,层级以下可互相回复评论,但展示层级是在同为第二层(着重解释)
3、套娃消息体:即可对每条评论进行回复,除主消息体外,都视为第二层,且可对第二层消息体进行回复,每次回复视为一层,消息体为一对多中的多又是一对多~
单一消息体
数据库设计:
CREATE TABLE `comment_msg` ( `id` varchar(64) NOT NULL, `send_user_id` varchar(64) NOT NULL, `accept_user_id` varchar(64) NOT NULL, `msg` varchar(255) NOT NULL, `sign_flag` int(1) NOT NULL COMMENT "消息是否签收状态\r\n1:签收\r\n0:未签收\r\n", `create_time` datetime NOT NULL COMMENT "发送请求的事件", PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
即展示所有主题评论下的所有评论即可
select * from comment_msg where send_user_id=#{send_user_id}
嵌套消息体
待续...
-
环球讯息:Springboot+Netty仿微信实战设计文档体验APP通讯,实现聊天功能以及聊天项目的设计思路,选用高性能传输非阻塞的netty框架进行开发,秒级响应
-
2023城镇居民社会养老保险怎么交?2023城镇居民社会养老保险退休可以领多少?_今日关注退休可以领多少养老金并不确定,要以实际的参保情况为准。接下来跟社保网小编一起来看看城镇居民社会养老保险怎么交?城镇居民社会养老保险退
-
简洁的文明礼仪手抄报内容-速看简洁的文明礼仪手抄报内容在平平淡淡的日常中,大家对手抄报都再熟悉不过了吧,借助手抄报可以培养我们的创新意识和创造能力。手
-
全球今日报丨那些年,你信过这些不靠谱的避孕方法吗?那些年,你信过这些不靠谱的避孕方法吗?
-
青龙镇_关于青龙镇的介绍1、青龙镇地处滇中南部,华宁县北部,位于东经102°53′9″至103°6′42″、北纬24°19′02″至24°34′
-
全球快资讯:新车报讯:上汽大众途观X将于9月7日晚亮相定位于中型轿跑SUV汽车现在已经越来越普及,基本上都快实现每家每户都有汽车了,那么汽车这么多的情况之下,我们在用车的过程当中肯定也就会遇到各
-
洛克王国不敬斩技能石怎么得_洛克王国不敬斩1、上古龙王免疫异常状态,阳光护盾和水之护盾可以挡几下不敬斩,如果没有武斗酷猫或圣水守护。2、那就只能用立方人减魔抗,雪
-
佳片有约 | 一部磅礴震撼的南非电影《超越河流》|焦点热讯1905电影网专稿本周佳片是一部来自南非的电影《超越河流》,讲述了一个发生在南非的真实事迹,灵感源于一场非洲大陆上最磅礴的赛事——杜西...
-
什么叫国家德比|环球聚焦什么叫国家德比,国家德比指的是一个国家里两家最负盛名,历史渊源最长,相互为竞争对手的足球俱乐部之间的比赛。最有名的国家德比是意大利的
-
天天快讯:给妈妈送什么礼物合适给妈妈送什么礼物合适(送这些礼物给妈妈合适)给妈妈送礼物,最重要的是自己的心意,因为只要是能够让她感受到你的心意,送一
-
韩国有几个省韩国有几个省,2011年,韩国行政区划分为1个特别市,6个广域市以及9个道。相当于16个省级行政单位。世宗特别自治市2012年7月2日正式成立,与首
-
丢三落四是患病前兆吗?1招自测、4招预防了解一下→近日,一则“19岁男孩患阿尔茨海默病”的消息引发网友关注不少人由此意识到阿尔茨海默病似乎不是老年人的“专利”年轻人也要进一步认知该病...
-
【世界时快讯】给老人送什么花合适可以百合,代表长寿、祝愿、吉祥如意、福、高贵、大利、高贵等,这样的花都适合送老人,以免整束花都是可以的。康乃馨花语是热
-
美团联合创始人冲向ChatGPT风口,带资5000万美元组团队|速读“老王动真格了。”2月13日上午,看到王慧文发文组队“中国OpenAI”的动态,一位美团内部人士对第一财经记者说。有美团
-
环球热推荐:雷诺和日产计划投资6亿美元扩大印度市场周一,雷诺汽车(RNLSY US)和日产汽车(NSANY US)公布了自上周宣布重组汽车制造联盟以来的首个合作项目。两家公司在一份联合声明中表示,他们将在印度投
-
环球视点!1月外储规模扩大,黄金储备持续增加|高频看宏观1月外储规模扩大,黄金储备持续增加|高频看宏观
-
世界百事通!打造战略科学家队伍 服务高水平科技自立自强党的二十大报告指出,加快建设国家战略人才力量,努力培养造就更多大师、战略科学家、一流科技领军人才和创新团队、青年科技人才、卓越工程师
-
全球快看:紫百合总监:尤文就是靠球星个人能力打反击 我们的表现不该输球紫百合总监:尤文就是靠球星个人能力打反击我们的表现不该输球,拉齐奥,普拉德,紫百合,佛罗伦萨,尤文图斯队
-
叶延滨:文艺评论不要“造就大师”丨聚焦川观文学奖 焦点关注聚焦川观文学奖
-
快资讯:百年宿命的终结——JOJO的奇妙冒险石之海在天气预报的乱拳中恩里克·普奇也因此死亡,就此乔斯达家族和迪奥布兰度的百年宿命就此终结,徐伦和承太郎虽然战死,但是在新世界的他们已...
-
当前快报:皇马到底拿了99冠还是百冠?这取决于伊比利亚美洲杯是否算数今天凌晨,皇马在世俱杯决赛5-3轻取利雅得新月,捧起队史第五座世俱杯。不过在皇马夺得队史第五座世俱杯后,对于皇马目前所获得的的奖杯数量,
-
山东_山影作者想必现在有很多小伙伴对于山影,作者方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于山影,作者方面的知识分
-
环球观点:spf和pa+++是什么意思_spf和pa是什么意思1、PA表示产品防护长波紫外线的能力,也就是防止皮肤晒黑的能力。2、PA后的+号越多,代表产品防晒黑的能力越强。3、SP
-
最新:卡拉格:我认为纽卡本赛季能进前四;他们的表现令人不可思议近日,卡拉格接受采访谈到了纽卡斯尔联的争四情况,他表示无论是哪支球队在赛季过半的时候只输了一场英超比赛,这都是不可思议的。他看好纽卡
-
当前信息:东方红魔乡的音乐文件怎么提取_东方红魔乡操作1、首先,建议新手只是选择容易的难度,大部分新手可能连简单的难度都过不去。2、接下来,选择角色。有两个角色可以选择。第一
-
天天快讯:李斌想不通为什么现在还有人买油车,我却怀念JDM的汽油味记得小时候看过《速度与激情》系列第三部《东京漂移》,那时对剧情并不感兴趣,纯粹只是为了看车。拥有华丽改装套件的日系车驰骋在东京街头,
-
北京明天再迎雨雪!气温下降,能见度较低北京市气象台首席预报员翟亮介绍,预计本市明天白天有一次降水天气过程,存在雨雪转换,并伴有气温下降,能见度较低
-
热痱子用什么药好使_起热痱子用什么药好1、治疗痱子的药物主要是外用药,如薄荷脑洗剂或炉甘石洗剂,具有清热、收敛、燥湿、止痒的作用。2、同时也可以局部撒上痱子粉
-
吉鲁进球,米兰一个月以来首次在比赛中取得领先_天天速递直播吧2月11日讯北京时间2月11日凌晨,本赛季意甲第22轮,AC米兰主场对阵都灵,吉鲁在第62分钟时攻入一球,这是AC米兰一个月以来首次在比赛中
-
收敛水可以收缩毛孔吗 收敛水的功效和作用-世界资讯收敛水是属于化妆水的一种,它里面有少量的保湿成分,在使用收敛水护肤的时候有没有收缩毛孔的作用?收敛水有什么样的作用和功效?收敛水可以