摘要:
以前在做项目的时候简单的研究过一致性hash,后来看Dynamo的实现原理时,对里面的虚拟节点不是很理解,也一直没有找到好的资料解释这个问题,昨天在光谷书城偶然看到一本讲网络爬虫的书上分析了这个问题,今天再在网上找了些资料,加深了对这个问题的认识。 一致性hash原理:http://blog.csdn.net/sparkliang/archive/2010/02/02/5279393.aspx
... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(620)
评论(0)
推荐(0)
摘要:
最近几天看了些搜索引擎方面的书,主要阅读了《自己动手写搜索引擎》、《自己动手写网络爬虫》、《搜索引擎技术实践》、《搜索模式》、《瞬间之美》等书,都很不错,也学到了不少知识,本文谈一下我对构建搜索引擎的认识。 要构建一个搜索引擎,首先要确定搜索源,也即被搜索的对象。被搜索的对象可以是一堆文档,用户需要确定包含某关键字的文档集合;可以是一系列网页,用户需要确定跟关键字内容相关的网页;或是一系列的图片... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(935)
评论(0)
推荐(0)
摘要:
腾讯的纯真IP数据库收集了包括中国电信、中国移动、中国联通、长城宽带、聚友宽带等 ISP 的最新准确 IP 地址数据,包含了IP地址与国家/地区的对应关系,其信息保存在QQWry.dat文件中。 IP数据库应用的场合较为广泛,下面举几个常见的例子:
1.根据客户的IP地址确定客户来源,为后期的客户行为分析提供基础,例如需要统计学生群体的访问特点,这时我们就是通过分析来自教育网的IP地址的那些请... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(568)
评论(0)
推荐(0)
摘要:
FAT文件系统分为三个部分:保留区、FAT区和数据区,如下所示:
|--- 保留区 ---|--- FAT1 ---|---FAT2---|---数据区 ---| 1. 保留区中包含文件系统的一些总体信息,类似于unix文件系统里的超级块信息。
2. FAT区包含文件的分配表链。
3. 数据区存放实际的文件数据(目录的数据为目录项列表)。 本人电脑C盘的空间约为40G,簇大小为32k(簇类似... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(1658)
评论(0)
推荐(0)
摘要:
为了使问题简单化,在根目录下创建文件dnfs-server.conf,由于根目录的inode节点为2(ls –i –l –d /),且第一个块组的inode table起始块号为483),查看根目录的索引节点信息。
(参考http://blog168.chinaunix.net/space.phpuid=20196318&do=blog&id=31362)
hexdump /dev/sda1 -... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(396)
评论(0)
推荐(0)
摘要:
/dev/sda1为ext3格式的分区,使用dumpe2fs /dev/sda1可查看文件系统的总体信息。
#dumpe2fs /dev/sda1 Filesystem OS type: Linux
Inode count: 491520
Block count: 1965402
Reserved block count: 98270
Free blocks: 1020744
Free ino... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(292)
评论(0)
推荐(0)
摘要:
递归是指函数在执行的过程中调用到自身已完成需要的功能,用递归能解决的问题通常能将问题不断缩小为性质相同但规模更小的问题(递归情况),直到问题足够小能够直接解决(基本情况),如下面简单的例子:
#include<stdio.h>
void f(int n)
{ printf("Level %d:n location %p\n",n,&n); /* 语句1 */ if(n < 3) f(n+1)... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(312)
评论(0)
推荐(0)
摘要:
1. 内核与普通进程获取内存时有何不同?
内核是操作系统中优先级最高的成分,如果某个内核函数请求动态内存,则其必定有正当的理由发出那个请求,内核的内存请求应该立即被满足;内核信任自己,所有的内核函数都被假定是没有错误的,内核函数不必考虑编程错误的保护措施。
而当用户态进程请求分配内存时,进程对动态内存的请求被认为是不紧迫的,当进程的可执行文件被装入时,进程并不一定立即对所有的代码页进行访问,同样的... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(292)
评论(0)
推荐(0)
摘要:
同一硬件高速缓存行可以映射RAM中多个不同的块,相同大小的对象倾向于存放在高速缓存内相同的偏移量处。在不同slab内具有相同偏移量的对象最终很可能映射到同一高速缓存行中。而使用slab分配器的对象通常是频繁使用的小对象,高速缓存的硬件可能因此而花费内存周期在同一高速缓存行与RAM内存单元之间来来往往的传送两个对象。 如下例:假设cache行为32Bytes,CPU包含512个cache行(缓存大... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(1055)
评论(0)
推荐(1)
摘要:
1. linux的内存管理的单位?
linux操作系统使用分页内存管理的机制,将内存空间划分成多个页面(页框,大小通常为4K),内核使用struct page结构的页描述符来保存一个页框的状态信息,所有的页描述符存放在全局的mem_map的数组中,每个page结构体大小为32B,故mem_map所占的空间小于整个内存空间的1%(页面大小按4K计算)。 2. 如何标识一个页面是否空闲?
页描述符中... 阅读全文
posted @ 2013-04-19 14:08
ydzhang
阅读(258)
评论(0)
推荐(0)
浙公网安备 33010602011771号