一天有10W以上IP 访问我的网站;每个IP我都操作XML文件;(这里暂不讨论时候该用数据库来记录访问信息);
请给出相应处理代码,或者解决办法;
XML结构如下:
<?xml version="1.0" encoding="utf-8" ?>
<data>
<item id="1" ip="117.65.119.212" url="http://www.jyss.net/MediaAD/PLD/PLD.aspx?AID=1&MEDCOD=00004" btime="2010-4-17 0:03:36" etime="2010-4-17 0:03:36" scroll="0" ADID="1" mediaID="4" mediaName="开屏" doOrder="0" />
<item id="2" ip="189.78.147.178" url="http://www.jyss.net/MediaAD/PLD/PLD.aspx?AID=1&MEDCOD=00004" btime="2010-4-17 0:04:56" etime="2010-4-17 0:04:56" scroll="0" ADID="1" mediaID="4" mediaName="开屏" doOrder="0" />
<item id="3" ip="119.62.4.67" url="http://www.jyss.net/MediaAD/PLD/PLD.aspx?AID=1&MEDCOD=00004" btime="2010-4-17 0:05:38" etime="2010-4-17 0:05:38" scroll="0" ADID="1" mediaID="4" mediaName="开屏" doOrder="0" />
<data>
请给出相应处理代码,或者解决办法;
XML结构如下:
<?xml version="1.0" encoding="utf-8" ?>
<data>
<item id="1" ip="117.65.119.212" url="http://www.jyss.net/MediaAD/PLD/PLD.aspx?AID=1&MEDCOD=00004" btime="2010-4-17 0:03:36" etime="2010-4-17 0:03:36" scroll="0" ADID="1" mediaID="4" mediaName="开屏" doOrder="0" />
<item id="2" ip="189.78.147.178" url="http://www.jyss.net/MediaAD/PLD/PLD.aspx?AID=1&MEDCOD=00004" btime="2010-4-17 0:04:56" etime="2010-4-17 0:04:56" scroll="0" ADID="1" mediaID="4" mediaName="开屏" doOrder="0" />
<item id="3" ip="119.62.4.67" url="http://www.jyss.net/MediaAD/PLD/PLD.aspx?AID=1&MEDCOD=00004" btime="2010-4-17 0:05:38" etime="2010-4-17 0:05:38" scroll="0" ADID="1" mediaID="4" mediaName="开屏" doOrder="0" />
<data>
哥们 别搞得太深奥 太复杂了。。我既然发帖在 ASP.NET板块 在没有指明用的其他数据库的情况下 默认就是SQL SERVER 数据库。我其实要的答案 很简单 不知道就我上面那种格式的文件操作,能否有办法解决我的这种高访问量实现。
如果真的不能用这种文件的形式来存储,那用SQL SERVER能解决吗?(我觉得这么高的访问量用读写数据库的操作也是很要命的操作!
ReaderWriterLock
多个执行线程,分割文件
如果我的问题是这样:
我要记录网站每天5万左右IP访问的信息,用SQL SERVER 和文件形式哪种好?
是不是大家告诉我的答案是用:SQL SERVER来处理?
或者利用异步,比如MSMQ,进行统一更新
我从来不用SQL Server。我只使用开源数据库,并且性能远远高于SQL Server,或者虽然性能并不比SQL Server高多少但是远远比它好用的数据库。
我知道SQL 不是最好的 ,但是我只能找我熟悉的来用。。
这样可以不?
在Application里设置计数器,并添加多个DataSet对象,每个用户访问时,根据计数器当前值和预先分好的计数段决定向哪个ds对象里添加记录,定时将ds对象合并并按访问时间排序。并写入文件。
1、sp1234说的:使用同一时间只允许一个客户端修改数据的数据库都是错误的选择,更何况使用文件呢。
xml只适合1W以下的数据处理,大了的话没有数据库好用。
2、微软的pet4已经给了很明确的解决办法,队列,如果你的服务器好,是不会让你的客户感觉到延迟的。
3、如果有经济基础,可以为你的网站配备单独的服务器,经常玩游戏的人深有体会。
4、从设计角度考虑,是否网站的设计架构可以用其他解决办法实现。