日期:2014-05-18  浏览次数:20486 次

高分跪求在线用户解决方案
最近做一个影视网站,需要做一个在线用户的方案
要求:由于用户类型的不同,可能区别用户的连接数,比如A用户只能同时一人观看,B用户可以同时观看2人,这个可以在数据库中实现。


方案一、
用数据库 进行记录在线用户信息,用AJAX每隔N秒向服务器提交一次最后更新的时间。
定期删除超时的用户。
缺点:用户并发高时数据库压力太大,日志文件产生庞大。。。

方案二、
用Cache记录在线用户列表,用AJAX每隔N秒向服务器提交一次最后更新的时间。
缺点:并发高时,难免会出现同时对Cache进行操作导致出错,应用程序回收时会导致在线用户丢失


求解有更好的方案??

高分跪求啊。。。

如果有人接触过创智数码科技的影视系统,可以参考下,他们的在线方案做得很好,不知道是用什么实现的。

也是用ASP.NET开发。

------解决方案--------------------
你可以将两者结合,统一往数据库里更新,而不是每个请求都更新一次
------解决方案--------------------
为什么搞得这么复杂.直接搞个登陆系统不就得了.B级用户可以同时不同IP登陆两次.A级用户只可以用一个IP登陆.然后让session的过期时间为5分钟,让ajax来刷新session.


有道理...
不过非法关浏览器的话...那用户就5分钟不能登陆了,,,


不过这个技术原理同 "单点登陆" 一样 上网查一查吧
------解决方案--------------------
并发高时,难免会出现同时对Cache进行操作导致出错,应用程序回收时会导致在线用户丢失 

这个有没有测试过?确实有发生过吗.

每隔n秒向服务器统一更新一次,应该可以了吧.