请选择 进入手机版 | 继续访问电脑版

默认
发表评论 12
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
IM后端开发,每天推荐20个同城异性好友的功能怎么做?
        求助下:在下刚刚接手这个IM聊天软件的项目,目前C端是IOS,安卓。我刚接手后端程序。通信这块用的是网易云信,不用我操心。
        现在需要做的是:推荐好友功能
        将所有用户进行排列,
        根据不同的条件(异性、同城)推荐好友。会员无论喜欢还是不喜欢
都不能重复推荐。每天推荐20个。

      谢谢啊~~


即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:求教IM聊天好友功能-黑名单实现疑问下一篇:开发一款类似或仿YY.QT这种IM多人语音软件希望个人可以现实见面的接单!
推荐方案
评论 12
你好像还没有找到感觉。

你的疑问是不知道怎么实现推荐算法呢,还是说你能搞的到数据,但是不知道怎么把数据推给手机端?
我觉得你这个要从两方面考虑,首先这个推荐数据怎么计算出来的,把数据准备好后,再考虑怎么给手机端(推送或拉取)。你说的什么不能重复这些逻辑,我认为这都是算在数据的准备这个环节。
你肯定有用户列表撒,看你描述的话,又没有要求随机,那你在用户记录里面记录个推荐好友ID偏移量,按照用户记录顺序依次推荐上去,取到某个节点后,记录下当前的偏移量,下次就按照这个偏移量继续向下查看,然后再加上你的其他限制条件,比如同城和异性之类的,
引用:jsondo 发表于 2018-06-01 16:30
你肯定有用户列表撒,看你描述的话,又没有要求随机,那你在用户记录里面记录个推荐好友ID偏移量,按照用户 ...

这种算法,因为是针对每个用户的个性化推荐,我觉得估计得有一个后台服务,定时启动并为每一个用户计算好,用户上来的时候直接拉取。就像网易云音乐一样,每天只有一次哥单推荐。这样计算量也不算频繁,也能实现对每个用户的个性化分析,用户上线的时候才等服务器马上去一个一个计算,肯定不是最佳方案
引用:JackJiang 发表于 2018-06-01 16:37
这种算法,因为是针对每个用户的个性化推荐,我觉得估计得有一个后台服务,定时启动并为每一个用户计算好 ...

如果涉及推荐算法的话,基于用户历史的某个时间节点之前的行为分析计算出的推荐用户的话,那就需要提前存储在那里了,上来就直接读取
引用:jsondo 发表于 2018-06-01 16:43
如果涉及推荐算法的话,基于用户历史的某个时间节点之前的行为分析计算出的推荐用户的话,那就需要提前存 ...

是的,我觉这种实现是最简单合理的了,处理逻辑都不复杂
引用:JackJiang 发表于 2018-06-01 16:27
你好像还没有找到感觉。

你的疑问是不知道怎么实现推荐算法呢,还是说你能搞的到数据,但是不知道怎么把 ...

刚接手代码,完全没感觉~~对IM业务技术实现不太熟悉。
以后多向各位大神学习!
引用:JackJiang 发表于 2018-06-01 16:27
你好像还没有找到感觉。

你的疑问是不知道怎么实现推荐算法呢,还是说你能搞的到数据,但是不知道怎么把 ...

是啊,刚拿到代码,完全没感觉。以前不是做IM这块的。
引用:弱鸡哥 发表于 2018-06-01 16:30
我觉得你这个要从两方面考虑,首先这个推荐数据怎么计算出来的,把数据准备好后,再考虑怎么给手机端(推送 ...

弱鸡哥,不考虑推荐算法。技术上怎么实现?不重复推荐
是用MQ吗?还是blockqueue?
推荐肯定不是分页查询。

引用:chs 发表于 2018-06-02 10:05
弱鸡哥,不考虑推荐算法。技术上怎么实现?不重复推荐
是用MQ吗?还是blockqueue?
推荐肯定不是分页查 ...

既然是im,那方法有两个:1是服务器通过长连接主动向客户端“推”、2是让客户端在登陆的时候通过http短连接来“拉”,这两上方法中“拉”是最简单经济的。
还有,你都在开发im了,别头脑里都是那些信息系统里用的插删改查套路啊
引用:弱鸡哥 发表于 2018-06-02 10:42
既然是im,那方法有两个:1是服务器通过长连接主动向客户端“推”、2是让客户端在登陆的时候通过http短连 ...

晕,看来如果我做IM这行,还有很长的路要走。
公司是用的网易云信来做通信的。
引用:chs 发表于 2018-06-02 10:56
晕,看来如果我做IM这行,还有很长的路要走。
公司是用的网易云信来做通信的。

弱鸡哥,可以用MQ来做吗?kafka,或者activemq?
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部