一道金山软件的笔试题如下:
有一个日志文件,每行记录了一次调用信息,其中包括时间和来源IP。每天的记录数目大约10亿条左右。现在需要:1)获取日访问次数最高的1000个来源IP,按照访问量从高到低排序。2)获取连续一周内访问次数最高的1000个来源IP,按照访问量从高到低排序。请给出能得到精确(非近似)结果,并且效率尽可能高的计算方法,并给出主要部分伪代码。