用户行为日志的采集
来源:互联网 发布:iphone网络共享在哪里 编辑:程序博客网 时间:2024/06/04 17:52
用户的行为日志,在现今以数据说话时代的重要性已经凸显地越来越明显.笔者从事相关一线工作(主要是数据处理及模型设计,离线及实时平台)三年,分享一些工作中的一些思考,这部分的内容比较偏向业务,希望不会写的太技术。
首先,我们要先来看一下这个东东到底有啥重要的,为啥每个有点规模的公司都需要花费一定人力来搞这个东西呢?有的时候甚至只是一份日志真的能养活这么多人?
想解释这个问题,必须回到一些基本运营的问题上来?
1.公司靠客户转化来增加收入,没错吧?
2.哪个公司都有产品经理吧?怎么知道他/她设计的这产品效果明显呢?万一正好搞啥活动或者公关的好,他这产品上线了,谁扯的清呢?
3.公司运营除了增加收入外还得减少开支吧,每个月投baidu、360、各种网盟的钱有点割肉的感觉吧?我们期待啥?用最少的钱打最合算的广告!
4.那些说什么老板拿这些数据做最后的决策,部分有点扯淡,不排除现在一些老大还是拍脑袋下决策,但是有一点一定是对的,就是你得知道自己公司一段时间的数据吧,不能闷头过日子啊。
5...
以上问题都是可以在用户数据中拿到对应的内容来说明。
好了,在我们确定了这个东西的确是有价值、值得花人力去做之后,我们来聊聊怎么做?
在这里需要细分一下目前用户访问的平台,根据目前以及短期内技术发展,可以分为三种APP|PC|WAP,其中PC/WAP可以算一种,都是传统web交互方式,APP(说的是Native APP,iOS、Android etc)
- PC/WEB上实现一般有三种:
1.web service记录
2.js嵌入收集
3.包嗅探器
Web日志JavaScript标记包嗅探器优点・比较容易获取数据源
・方便对历史数据再处理
・可以记录搜索引擎爬虫的访问记录
・记录文件下载状况・数据收集灵活,可定制性强
・可以记录缓存、代理服务器访问
・对访问者行动追踪更为准确・对跨域访问的监测比较方便
・取得实时数据比较方便缺点・无法记录缓存、代理服务器访问
・无法捕获自定义的业务信息
・对访问者的定位过于模糊
・对跨域访问的监测比较麻烦・用户端的JS设置会影响数据收集
・记录下载和重定向数据比较困难
・会增加网站的JS脚本负荷・初期导入费用较高
・无法记录缓存、代理服务器访问
・对用户数据隐私有安全隐患目前第二种是最流行的收集方式。
・方便对历史数据再处理
・可以记录搜索引擎爬虫的访问记录
・记录文件下载状况・数据收集灵活,可定制性强
・可以记录缓存、代理服务器访问
・对访问者行动追踪更为准确・对跨域访问的监测比较方便
・取得实时数据比较方便缺点・无法记录缓存、代理服务器访问
・无法捕获自定义的业务信息
・对访问者的定位过于模糊
・对跨域访问的监测比较麻烦・用户端的JS设置会影响数据收集
・记录下载和重定向数据比较困难
・会增加网站的JS脚本负荷・初期导入费用较高
・无法记录缓存、代理服务器访问
・对用户数据隐私有安全隐患目前第二种是最流行的收集方式。
通过使用JS收集客户端的cookie信息,浏览器等,发送到后台一组服务器,找了几个网站查看他们的收集数据,请求格式譬如:
- 移动端的实现
对移动开发不熟悉,了解到的是一般通过手动埋点,触发Event来实现,如友盟的自定义事件埋点:
MobclickAgent.onEvent(
this
, Event.Start);
可以下载具体的SDK文档看看,后续一样还是将query发到服务器,由服务器进行解析,存储
http://www.umeng.com/analytics
http://mtj.baidu.com/web/welcome/sdk
http://wdm.taobao.com/index.htm
https://talkingdata.net/index.jsp
下面我们将讨论如何将这些日志传输到我们的存储系统以便于后续处理分析,会结合离线以及实时两条线来探讨。
目前我们采取的方案是这样的:
这样架构的考虑点:
1.先说离线,从日志传输和容错方面而言,rsync无疑是最好的方案,它基于日志的内容做增量传输,快速稳定而且高效
2.实时的这条路,前面的Flume和Kafka可替代的开源工具(如Scribe/RMQ)还是有的,但是考虑集成和性能,MQ还是用了Kafka,而传输则采用了Flume
3.离线和实时分开两条路
了解了其他公司的做法,有的是将日志都走实时,然后schedule transfer到HDFS,这样看起来好像是省了点事,但是细想想有诸多不便:
1.对于日志类数据量比较大的,在Flume这块一般都是使用memory channel,而不是FileChannel,这样就有可能因为应用本身或者网络而出现丢数据问题,如此设计的话,数据是无法补救的;
2.需要维护每次schedule consumer的offset,对于后面更为复杂的BI/ETL需求更为麻烦。
但是如果现有的架构要放到和RDBMS一起的整个Databus(离线和在线),觉得接入方面还是相对较难,期待看到更多的设计,也多多学习!
转自:http://blog.csdn.net/tonylee0329/article/details/43705065
0 0
- 用户行为日志的采集
- 用户行为日志的采集
- 用户行为日志的采集
- 日志采集与用户行为链路跟踪
- 采集网站用户行为的免费工具
- 免费的用户行为跟踪采集
- 免费的用户行为跟踪采集
- 用户实时行为数据采集
- 用户实时行为数据采集
- 用户行为分析之数据采集【怎么在不影响网站访问效率的基础上,记录用户的历史行为】
- 互联网用户行为采集淘宝方案
- 移动端用户行为数据采集
- 用户行为分析研究之数据采集
- 用户行为采集从想法到实现
- Hive基于搜狗搜索的用户日志行为分析
- GrowingIO 如何做到不必埋点即可采集到齐全的用户行为点击流数据?
- 一文读懂「用户行为数据」的采集、分析和应用
- 采集用户的图像
- z-index和top、left偏移量属性
- MongoDB自动增长id实现、自定义函数调用、与Spring集成
- iOS<咸鱼APP>新特性界面-视频动画
- 在字符串中查找一个特定的字符第一次出现的位置,并返回字符所在位置;如果没有则返回NULL。
- code vs 1711 棋盘分割 (dp)
- 用户行为日志的采集
- Thinking in Java 第七章------复用类(1)
- volatile和const放在一起
- STM32将常量数组定义到FLASH固定地址
- 使用自动化测试专项性能----对不同时长视频导出不同规格的耗时数据统计
- 洛谷 P1074 靶形数独
- 设计模式-工厂模式
- [译]MongoDB 在语法上的 5 大缺陷
- 我在MongoDB使用中遇到的几个问题