有些网站有这2个功能:您浏览过的新闻,浏览过此篇新闻的网友还浏览过哪些新闻
后者算法有些难度
java底层,静态页面发布,只能用cookie收集信息,计算量很大求教各位大大应该怎样做

解决方案 »

  1.   

    "静态页面发布,只能用cookie收集信息"??服务器端呢??还是需要保存数据吧?光用cookie是不够的。假定你服务器端用JSP实现:
    session跟踪+数据库计数。还有没有别的要求?比如:浏览过此篇新闻的网友还浏览过哪些新闻的次数排序(新闻关注度的排行)?数据保存时限?大概用户数量?用户是否登录?等等。我的思路是假设用户是无需登录的,只要用户进网就能直接看文章,记录session的动作,把浏览过的新闻URL进行访问次数计录,并存在数据库中备用就行了。同时在线用户数量多时容易给服务器造成压力。数据存放在数据库中比较灵活。
      

  2.   

    1、首先cookie。就是将数据信息放到客户端。没必要放到服务器上,如果大量的数据库信息 而且需要记录 最好放到客户端。
        比如:最近访客、最近所搜索的关键字、最近浏览的新闻、最近观看的影片 我记得阿里吧吧的搜索中,“最近搜索关键”是放在cookie中。
        所以这些数据对于用户来说并不是非常重要,即使cookie被清除也无妨。
    2、浏览过此篇新闻的网友还浏览过哪些新闻 
       这个可以放到服务器端。因为并不是把所有浏览过的新闻全部列出,而是列出几条访问人气最高的。打个比方吧,6度人脉听过没,就是无论你有多少个朋友,
       但最终都是在这6层关系中徘徊。换句话说,无论你访问过多少新闻,但最终逃避不了就那么几条新闻,当N多人访问的时候 就出现了 访问数量越高的新闻 一直 被关注。所以,这个算法实现起来问题不大。3、至于数据的存放 前者我建议写到cookie中,后者放到服务器中,如cache中。
      

  3.   

    用户A游览了页面:1 2 3
    用户B游览了页面:1 4 5
    用户C游览了页面:1 3 4
    用户D游览了页面:2 5 新用户在游览1的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 2 3 4 5
    新用户在游览2的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 1 3 5
    新用户在游览3的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 1 4 
    新用户在游览4的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 1 3 5用户非常多,所以session是不能用了,只能用cookie    但是如果检索所有用户的cookie的话   非常耗时     想问问有什么方法能快速的检索出需要的数据
      

  4.   


    用cookie是完成不了你说的任务的。Cookie是保存在客户端的,在服务器上怎么检索?难到所有用户都24小时挂线??用户能多到多少? 同时在线用户能达到多少? Web服务器前加分流(web load balancer),分流到几个不同的服务器上,同时在线几十万人也不成问题吧??
      

  5.   

    session跟踪