利用映射网络驱动器文件共享实现分布式爬虫

之前在VS上面用Incredibuild进行分布式计算非常的爽,简单配置就可以利用局域网内空闲的CPU,在机房的环境中,半个小时的项目只要几分钟就可编译完成。

刚好最近需要做一个爬虫程序,一台机子太慢,所以想用分布式,利用另外一台机子的算力,找了一些python分布式的资料,都需要配置,心想这么简单的程序就不用牛刀了,便想用局域网内的共享文件夹来实现任务分发和产物收集。

以两台机子为例,一台是主机,负责任务分发和,处理,需要写两个程序,一个任务读取和分发,同时判断目前从机有几个任务没做,如果太多,就不给从机发,自己做;另一个程序负责检查产物文件夹,如果有,就按照顺序进行处理入库。我的爬虫程序是按照日期来的,所以分发程序就按照日期作为文件名,放在待处理文件夹中。

从机就很简单了,只要待处理文件夹有文件,就马上处理,并生成结果到产物文件夹中。共用文件夹放在客机上面,在主机以映射网络驱动器的方式,主机的程序加上盘符访问即可。这样,基于局域网共享文件的高速性能,就可以实现分布式计算了,并且逻辑都在自己的掌控之中,每个步骤和结果都可以控制。

ps:每个机子都用的是多进程,这样所有的CPU都可以跑起来。

最近在看IPV6,心想既然ipv6共享文件夹也好弄,是不是可以利用v6网络实现外网的多机器分布式计算呢。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值