雨润心灵,哲思天下

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
    在较大型的博客、新闻系统中,常常要做一些统计,如日访问量,48小时访问量,周访问量等等,这些访问数据是实时统计出来的吗?还有拿日访问量来说,按照规则,如每天晚上12点,是不是应该全体清零呢?如果有一百万条记录待清零,集体操作吗?操作进行的时候,用户访问的排行榜什么的所得到的数据便会出现误差(如排靠前的几条记录清零了,而靠后的数据还没有清零),这无疑不是个好的解决办法,另外的一个办法就是记录下每次访问日志,排行数据实时的统计出来,这样的好处是实时了,但是需要一个巨大的日志表支持,计算所耗费的时间也会导致得不偿失。有更好的办法吗?这里提供一种设计思路,不敢说更好,但可以解决实时统计和避免大数据表支持和批量更新的问题,设计如下:
    例如在某个系统的文章表中,要做日排行和周排行,我们可以设计一个integer类型的当日访问量字段和当周访问量字段,一个xmltype类型用来记录每日访问量以及日期,另外一个重要的设置是设定一个date类型的最近访问时间字段,这个字段有重要的用途,它可以用来和当前日期进行比较,当某个用户访问某条记录的时候,如果最近访问时间不是今天了,那么就要针对该记录做一系列的更新操作:将日访问量数据存入每日访问量表,由最近访问时间可以得出存的到底是哪天的日访问量,同时根据每日访问量中的数据更新当周访问量数据,然后将日访问量清零+1表示今天的访问量为1,最近访问时间更新到当前日期,这样就ok了(当天访问该记录的第一个人就辛苦点),对于当天访问的其他人,只需要更新日访问量和周访问量就行了。
    这样做最大的好处还在于统计排行的方便,如对日访问量做排行时,所选取的记录只是那些最近访问日期位于当前日期的记录,而不会遇到批量更新操作时所造成的一系列数据不一致的问题。对于周访问量的统计同样如此。这个设计思路还只是在设计阶段提出来的,还有待实际应用的检验吧。
    另外一点想说的就是在应用isqlplus做一点操作如备份时,要求输入服务器操作系统的用户名和密码,但是输入正确的情况下也提示密码错误,心想应该是基于web方式的访问权限的问题吧,上网查了下,果真如此,需要为系统用户增加一个批量更新的权限,操作如下:
开始-》管理工具-》本地安全策略-》本地策略-》用户权限分配-》作为批处理作业登录-》双击添加登录操作系统的用户(administrator)
其实这也是在博客园某篇文章上看到的,园子里资源真是丰富啊。

posted on 2007-08-08 11:27  雨哲  阅读(2552)  评论(2)    收藏  举报