由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Joke版 - 脸家系统设计,web crawler, 机器之间不能通信。 (转载)
相关主题
遭遇高智商老鼠,笑看鼠夹与鼠胶 (转载)百度云是什么原理,上传这么快 (转载)
蜗牛美容术 得有耐心哟! (转载)俺记得山大教授不是吧MD5,SHA-1这样的加密算法都破解了么
残疾男被迫自行爬出Delta航班现在网站密码都跟风强制要特殊字符是不是很傻?
看过《沉默的羔羊》的请进,问个问题Sha-1撞了!
Re: OM可以买了。。。 (转载)妈蛋!拼死累死也无法融入美国!如此吃苦遭罪 (转载)
昨天在mall里看到的一个不错的背包。脸家的offer,感觉太低了,要接吗? (转载)
【图】秀一秀上班路上的麦当劳drive-thru (转载)2010经典语录
系统临时维护通知Evolution of a programmer
相关话题的讨论汇总
话题: 机器话题: crawler话题: url话题: hash话题: 余数
进入Joke版参与讨论
1 (共1页)
c******n
发帖数: 16666
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: ravichouhan (ravi!), 信区: JobHunting
标 题: 脸家系统设计,web crawler, 机器之间不能通信。
发信站: BBS 未名空间站 (Thu Jun 29 02:17:19 2017, 美东)
被问了这个crawler的问题,大概就是给你10K个机器,每个机器有seed url,然
后要爬1B的url,机器之间不能通信,问你怎么样每个机器才能平均的分任务。同时保
证每个网站只能被crawler一次。
奇怪的设计题,完全没有master,就是很多事情都不好做了
纠缠了十几分钟后突然意识到这完全是个brain teaser式的system design,然后想到
了类似UUID hashing,对拿到的url做hash,事先规定好每台机器都只做那些hash
value的job,如果hash的值跟当前机器的预定值不一样就skip,一样才继续crawl
算是蒙混过关,又问了两个follow up问题,第二个没想好时间就到了
1. 如何判断crawling结束
2. 如果一半机器比另一半快怎样分配
请问大家什么思路?
c******n
发帖数: 16666
2
这题的follow up怎么做啊
怎么都想不出来 尤其是第二个,
机器快没鸟用 如果分配给快的都是土豆服务器上的链接,你本身再快也没用啊
没一个挥鞭子的 互相又不能交流 这效率肯定很低啊
y****i
发帖数: 12114
3
为啥要设定“机器之间不能通信”这个条件?
V********n
发帖数: 3061
4
把url编码然后加总得一数字,把这个数字除以crawler数量得到余数,一号crawler爬
余数为1的url,二号crawer爬余数为2的....
c******n
发帖数: 16666
5
你这个只解决了 最开始分配的问题
之后的才是麻烦的

【在 V********n 的大作中提到】
: 把url编码然后加总得一数字,把这个数字除以crawler数量得到余数,一号crawler爬
: 余数为1的url,二号crawer爬余数为2的....

c******n
发帖数: 16666
6
我也奇怪这点 不是知道是不是原lz转述时候的问题

【在 y****i 的大作中提到】
: 为啥要设定“机器之间不能通信”这个条件?
s**********d
发帖数: 36899
7
按快慢加权不就好了。
编号后除以总速度,每个机器余数区间按速度比例。

【在 c******n 的大作中提到】
: 你这个只解决了 最开始分配的问题
: 之后的才是麻烦的

o****p
发帖数: 9785
8
雪特,这第一题小脑也知道hash一下了,居然想十多分钟…
第二题不懂

【在 c******n 的大作中提到】
: 我也奇怪这点 不是知道是不是原lz转述时候的问题
c******n
发帖数: 16666
9
嗯 第一题没啥好说的 hash了均分了拉到 各种优化都容易有坑
而且本身crawler,分开点弄还不怕被封IP
但是第二个这个完全不知道怎么搞

【在 o****p 的大作中提到】
: 雪特,这第一题小脑也知道hash一下了,居然想十多分钟…
: 第二题不懂

V********n
发帖数: 3061
10
如果按照余数分配,基本上是非常均匀的,怎么可能出现follow up的问题二呢?如果
知道总url数,follow up的问题一也就不存在了吧
V********n
发帖数: 3061
11
如果是crawler本身机器快慢或者crawler的算法不同引起的,那应该管用,如果是url
的内容引起的,这样不好使吧


: 按快慢加权不就好了。

: 编号后除以总速度,每个机器余数区间按速度比例。



【在 s**********d 的大作中提到】
: 按快慢加权不就好了。
: 编号后除以总速度,每个机器余数区间按速度比例。

w*********m
发帖数: 4740
12
hash也有问题,因为1b url不是事先知道的,要用dfs去网上crawl下来去发现新的url
但是如果发现一个URL不在自己的hash范围内,就不去crawl,那就没法去接着发现新的
属于自己的url。很多机器很快就得stop
他还要求每个url只能被crawl一遍,更麻烦。

【在 c******n 的大作中提到】
: 嗯 第一题没啥好说的 hash了均分了拉到 各种优化都容易有坑
: 而且本身crawler,分开点弄还不怕被封IP
: 但是第二个这个完全不知道怎么搞

a***e
发帖数: 27968
13
尼玛1B,iPV4都遍历了
大家按ip分就是了,快慢机加个权,就是设个单位速度v
每台机器是nv,mv,求和总速度m+n,ip直接求余,然后按m,n分割
麻烦的是网页的密度的处理速度这种有动态的,还有循环的会不会爬死?
不过可以再加个层数?

【在 c******n 的大作中提到】
: 这题的follow up怎么做啊
: 怎么都想不出来 尤其是第二个,
: 机器快没鸟用 如果分配给快的都是土豆服务器上的链接,你本身再快也没用啊
: 没一个挥鞭子的 互相又不能交流 这效率肯定很低啊

1 (共1页)
进入Joke版参与讨论
相关主题
Evolution of a programmerRe: OM可以买了。。。 (转载)
叶问和互联网。。。(转载)昨天在mall里看到的一个不错的背包。
7岁的小女儿解答出这道题目,而考入大学的大哥还在苦思冥想;【图】秀一秀上班路上的麦当劳drive-thru (转载)
今天卖瓶子36元 (转载)系统临时维护通知
遭遇高智商老鼠,笑看鼠夹与鼠胶 (转载)百度云是什么原理,上传这么快 (转载)
蜗牛美容术 得有耐心哟! (转载)俺记得山大教授不是吧MD5,SHA-1这样的加密算法都破解了么
残疾男被迫自行爬出Delta航班现在网站密码都跟风强制要特殊字符是不是很傻?
看过《沉默的羔羊》的请进,问个问题Sha-1撞了!
相关话题的讨论汇总
话题: 机器话题: crawler话题: url话题: hash话题: 余数