2011-02-28 36 views
0

我需要帮助解决我的服务器应用程序问题。事情是: 我需要在例如一分钟内在我的网络服务器中统计“顶级网址”。如何获得它? 通过“热门网址”我的意思是前10名或东西排序算法问题

假设在一分钟内,我得到:

1 request with url 'http://localhost/10.jpg', 
2 requests with url 'http://localhost/1.jpg', and 'http://localhots/12.jpg' 
4 request with url 'http://localhost/2.jpg' and 'http://localhost/3.jpg' 
and 10 requestes for 'http://localhost/13.jpg' 

我应该都requestes添加到表,然后给定的时间之后,对它们进行排序,或者也许是antoher,更简单的方法来排序呢?

THX的所有帮助

+0

你正在写一个web服务器?要么 ... ?平台呢?为什么不使用任何现有的分析工具?你的请求如何存储? – tenfour 2011-02-28 13:10:17

+0

它是我自己的应用程序,用lua在linux中编写 – BorisTheBlade 2011-02-28 13:21:40

回答

0

如果要保持一个临时柜台命中为每个页面,你并不真的需要重新梳理。当你想开始跟踪时,将所有临时计数器重置为0,并初始化前十个页面列表。每获取一次页面,增加它的数量,然后检查前十名单中的值。如果计数大于列表中下一个更高的计数,请将其上移一位。