分布式计算及其简单运用

维基百科对分布式计算的定义:分布式计算是一种把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,在上传运算结果后,将结果统一合并得出数据结论的科学。即:把一个需要计算的大问题分解成若干个小问题,分给多台计算机分别处理,然后再合并运算结果。

目前常见的分布式计算项目都是一些很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。在我们的工作中,虽然没有遇见如此庞大的问题,但是需要运行很长时间(单台计算机运行半天一天的问题是到处可见的),我们也可以利用其思想来减少运算时间或者减轻某台服务器的压力。

场景:

某网站有若干台服务器,专门用来收集PV日志信息,每台服务器的PV日志每10分钟1个文本文件,每个文本文件的大小六七十兆。PV日志包含信息:

Host--域名,通常一个大型的网站都有若干个子域名,如www.****.com;forum.****.com;news.****.com等

PageUrl--访问地址

UID:访问者ID

SessionID:会话ID

UserAccount--用户帐号,如果是登录用户,则为用户帐户,非登录用户则为空

以及其他一些信息。。。

现需要统计每天的访问信息(PV数,登录用户数,独立用户数等信息。。。)

传统的做法:

先将所有服务器的日志转移到一台服务器上,将数据导入到PV表中,以天为单位,一天一个表(数据量单位是:亿,具体数字不详),然后对PV表进行各方面的运算,如:PV数,登录用户PV数。

由于数据量太大,这样做的问题,每天需要花很长时间才能运算出昨天的数据,每增加一个应用都会加大运算时间,及给服务器带来很大的压力。

改进:

利用分布式计算的思想,先在那些日志服务器上用LogParser进行一些运算,得出中间结果,然后再汇总,流程图如下:

fenbushijisuan

需要注意的几个问题:

1.各服务器的服务运行是否成功的控制

2.数据同步的问题

转载于:https://www.cnblogs.com/MaoBisheng/archive/2010/05/22/1741354.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值