我想设计一个流量交换脚本来计算传入流量,并尝试返回n:m(例如1in:2out)流量比率。在数据库中,我想拥有网站信息(SITE),然后按网站跟踪流量和ip(DAILY-HITS),然后我希望每小时或每天计算交易 - 还不确定(SITE-TOTAL-HITS )。我很乐意为设计一个设计精良的交通行业数据库而提出任何建议。
现在我担心跟踪传入的点击,后来担心返回。所以基本上我真正的问题是,如何设计一个可以有效用于返回完整流量的数据库,比如过去24小时。我遇到的问题是,在编程方面,我希望拥有设计最佳的数据库,以获取过去24小时的信息,并确保我保持在n:m定量范围内。以下是我为数据库设计的内容:
SITE(只是基本信息):
ID,
url,
标题,
描述
DAILY-HITS:
id,
site_id,
ip,
日期(包括时间 - 将按小时分解),
金额(计算此时此ip的点击次数)。
SITE-TOTAL-HITS(可能每小时通过脚本更新 - 稍后用于计算过去24小时):
id,
site_id,
年,
月,
天,
小时
任何提示,建议或指出我正确的方向将不胜感激。提前谢谢。
答案 0 :(得分:1)
以下是我对它的看法:
网站:
Same as what you have
流量:
id,
site_id,
ip,
request_DateTimeStamp <- this is a date and time for the url request
不计算在这里,只是记录在这里是为什么:
assume you do have a count column
- url is requested
- lock up a record in the database with the same date and hour and ip
- Found, update the account
- Not Found, Create a new record and set the count to 1
对于一个可能会大量更新的表来说,这是一个漫长的过程,在一小时内,来自同一个ip的多个请求将尝试更新相同的记录,他们将不得不等待彼此。
取出count列,您的过程只是通过始终创建新记录来记录传入流量。
就数据分析而言,您可以通过以下几种方式实现:
您可以尝试构建多维数据集:http://datacharmer.blogspot.com/2010/01/multi-dimensional-cubes-in-mysql.html
或者您可以创建像site_total_hits这样的信息聚合表,只需使用夜间作业更新它们,或者通常根据它们的准确程度来运行它们。
这些是我的2美分:D
答案 1 :(得分:0)
您可以使用HitLeap来执行此操作。
什么是HitLeap? HitLeap是一种流量交换,也称为自动服务我们帮助您提高网站点击率,排名(alexa,谷歌)等。我们的联盟计划提供高达50%的现金和流量佣金。它是如何工作的?注册后,您将提交要发送流量的所有网站。然后,您将通过查看其他人的网站获得免费流量。或者,您可以从我们这里购买交通包。