C++面向对象编程分享12----系统设计02---跟踪用户行为

来源:互联网 发布:鲁南制药知乎 编辑:程序博客网 时间:2024/05/01 21:29

系统设计涉及到,大数据基础,也就是Hadoop,谷歌公开的的论文有四篇,核心有MapReduce,BigTable,GFS三篇Paper。

大数据方面还有Spark。这些想成为数据库工程师的可以深入了解额。


举个系统设计分析的例子:

我们需要在网站上跟着用户的活动信息。例如当跟踪搜索时,我们可能需要知道哪些用户进行了搜索,搜索时发生的时间,他们搜索了什么,显示的结果和各种排名信息.

 

可以用到NDC和MDC的工作机制,在Web应用中记录用户在网站上的全部行为和操作过程。首先,问题的困难点,在一个高访问量的Web应用中,同一时刻需要处理大量的用户请求。服务器会为每一个请求分配一个线程,每一个线程会向日志系统输入信息,线程是交替的,而且人士很难挑出这些交替顺序的。

这样,所有用户的处理信息会交错在一起,另一方面,网站可能会使用负载均衡系统平衡网络流量,由此,一个用户的操作记录可能会分部在多个Web服务器上

 

这时,我们需要想到一个办法标示一条记录是哪个用户产生的。

 

首先,需要记录器,对日志信息进行分类筛选。可以指定优先级,高优先级的日志被输出。

其次,输出源。布局方面,可以有HTML。

最后,可以有一个filter简化程序,它能截取用户从客户端提交的请求,并在请求没有到达真正要访问的资源前指定一个类。开发人员只需要在这些类当中附加信息。而如何标识客户呢,可以通过客户机的ID。

现在在网路中也有比如Webtrekk的网站提供全面、专业的跟踪用户信息的服务。

通过这样的系统分析设计,可以了解到用户的搜索注意力。

 

1 0
原创粉丝点击