07 2013 档案
hadoop–JobTracker 相关
摘要:JobTracker 内部使用三层表示: JobInProgress: 跟踪和监控作业运行状态的对象。每个Job分成了多个Task。并为每个Task创建一个TaskInProgress跟踪和监控其运行状态。 而Task在运行过程中由于多种原因,比如软件Bug,硬件故障、推测机制等,每个Task可能尝试运行多次,直到运行成功或者超过尝试次数而失败。 每次的尝试为TaskAttemp。 作业使... 阅读全文
posted @ 2013-07-28 17:56 @且听风吟@ 阅读(378) 评论(0) 推荐(0)
爬虫那些事儿--站点压力控制相关
摘要:经过前面的介绍,我们大致了解了站点压力控制对于爬虫的重要性。但是站点压力控制对于爬虫来说,是一个比较Open的话题。即到目前为止也没有一个很准确的压力控制方法。 主要的问题由于以下几点: 不同站点对于爬虫的压力允许程度不同。 即由于站点的规模不同、站点的服务器配置不同等。不同的站点能承受的压力是不同的。同时不同的站点对于爬虫的友好程度不同。有些站点允许爬虫爬去其数据,而有些站点不希望... 阅读全文
posted @ 2013-07-21 12:51 @且听风吟@ 阅读(741) 评论(0) 推荐(0)
将博客搬至CSDN
摘要:如题 2013-07-21 阅读全文
posted @ 2013-07-21 10:44 @且听风吟@ 阅读(148) 评论(0) 推荐(0)
c++ stl set
摘要:虽然经常使用c++的stl,set也是经常使用的一个容器,但是发现对于set的理解还是比较浅显。今天使用时无意就撞入了一个坑里。 stl中set和map都是用红黑树实现的。set是key和value相同的结构。 代码如下: 1: #include 2: #include 3: #include 4: #... 阅读全文
posted @ 2013-07-21 08:45 @且听风吟@ 阅读(698) 评论(0) 推荐(0)
tcmalloc jemalloc 和ptmalloc 对比
摘要:ptmalloc 是glibc的内存分配管理 tcmalloc 是google的内存分配管理模块 jemalloc 是BSD的提供的内存分配管理 三者的性能对比参考从网上的一个图如下: 自己测试了一下: 代码如下: 1: #include ... 阅读全文
posted @ 2013-07-19 09:23 @且听风吟@ 阅读(10074) 评论(2) 推荐(0)
爬虫那些事儿--页面变化检测策略
摘要:由于爬虫爬取的数据是为搜索引擎服务的。而搜索引擎是为互联网的数据做整合分类以便用户进行检索查看的。因此需要能感知互联网的数据的变化。即对于爬虫已经爬取的数据还需要定期去重新抓取,以检测页面是否变化。 页面的变化我们将其划分为两类: 一: 页面仍存在,但是页面的内容改变了。我们称之为内容更新。由于搜索引擎是基于爬虫爬取的网页的内容建立索引提供用户检索的。如果在爬虫爬去之后网页的内容改变了。则可能会产生用户检索一个query,搜索引擎基于旧的内容判断网页适合用户query高度相关并返回该页面的url给用户。而更新后的页面可能和用户的query是完全不相关的。这就会影响用户的体验。 另外更新后的内. 阅读全文
posted @ 2013-07-14 22:07 @且听风吟@ 阅读(1814) 评论(0) 推荐(0)
爬虫那些事儿---爬虫选择策略
摘要:爬虫选取策略主要解决抓取什么样的url,什么样的url不需要抓取。筛选主要关注的有两点。一是选择优质的url进行抓取。二是避免重复的抓取以节约抓取。下面介绍下相关的策略。 Pagerank Pagerank(http://baike.baidu.com/view/844648.htm?fromId=1518) 是Google的专有算法,是用来衡量特定网页相对于搜索引擎中的其他网页的重要... 阅读全文
posted @ 2013-07-14 20:52 @且听风吟@ 阅读(515) 评论(0) 推荐(0)
爬虫那些事儿--Http返回码
摘要:由于爬虫的抓取也是使用http协议交互。因此需要了解Http的各种返回码所代表的意义,才能判断爬虫的执行结果。返回码如下:100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)200 OK 一切正常,对GET和POST请求的应答文档跟在后面。201 Created 服务器已经创建了文档,Location头给出了它的URL。202 Accepted 已经接受请求,但处理尚未完成。203 Non-Authoritative Informatio 阅读全文
posted @ 2013-07-14 20:40 @且听风吟@ 阅读(4062) 评论(0) 推荐(0)
爬虫那些事儿-- 简介
摘要:从事爬虫相关的工作已经两年多了。简要做下总结。爬虫(Crawler),有些也叫蜘蛛(Spider),用来从互联网下载网页。是搜索引擎的重要组成。爬虫是搜索引擎的数据来源,是数据的入口。爬虫的基本思想是认为整个互联网类似于一个交错的蜘蛛网。在互联网中每个网页都可以通过url访问。任何一个网页都会被互联网中的其他一些网页所指向(即其他页面中包含该页面的url链接)。而几乎每个网页都存在一些指向其他网页的链接。我们可以通过初始的若干URL开始,获取这些URL,并从这些URL对应的网页中发现新的URL,然后获取新的URL对应的页面,通过不断的执行该过程,可以遍历整个互联网(即发现互联网上所有的URL. 阅读全文
posted @ 2013-07-14 20:14 @且听风吟@ 阅读(408) 评论(0) 推荐(0)
一致性 hash 算法( consistent hashing )
摘要:为什么需要一致性hash 传统hash算法常用方式为:hash(object)%N N为一个固定值。 N设置较小时容易产生冲突碰撞问题。而N设置较大时则带来开销问题。 对于我们常用的单机程序时是内存开销变大。而用在分布式环境时,该N值和机器数目相关,则是需要的机器数增加。因此,N值应该是一个随着 业务不断变大,而逐步提升的值。而该传统的hash算法带来的问题是N值改变,比如最初N为... 阅读全文
posted @ 2013-07-11 09:55 @且听风吟@ 阅读(402) 评论(0) 推荐(0)
thrift 的一些相关知识
摘要:thrift是一个很好用的跨语言的rpc框架。 但是其也有一些需要注意的问题: 第一: 发现其对于类型检查没有那么严格: 最近工作中发现是可以把一个int类型直接付给string,而没有任何warning 第二: 其提供了一个DebugProtocolToDebugSring 可以用来作为debug的结构输出。还挺方便您的 阅读全文
posted @ 2013-07-09 18:04 @且听风吟@ 阅读(189) 评论(0) 推荐(0)
B 树 B+树
摘要:拜读了 http://blog.csdn.net/v_july_v/article/details/6530142, 自己总结下: B树的出发点是为了解决磁盘IO慢的问题,尽量再一个磁盘块中提供更多的索引信息。 B+树是在B树的基础上进一步提升。所有的内部节点只有关键字,没有其他信息。降低内部节点的存储开销。是的一个磁盘块可以存储更多的内部节点。 而在叶子节点保存关键字对应的有效内... 阅读全文
posted @ 2013-07-05 09:23 @且听风吟@ 阅读(254) 评论(0) 推荐(0)