大数(繁体:數)据分布式系统计算形式

2025-03-13 02:32:07Biological-SciencesScience

什么是分布式计算?什么是分布式计算分布式计算是一门计算机科学,主要研究分布式系统。一个分布式系统包括若干通过网络互联的计算机。这些计算机互相配合以完成一个共同的目标(我们将这个共同的目标称为“项目”)

什么是分布式计算?

什么是分布式计算

分布式计算是一门计算机科学,主要研究分布式系统。

一个分布式系统包括若干通过网络互联的计(jì)算机。这些计算机互相配合以完成一个共同的目标(我们将这个共【读:gòng】同的目标称为“项(繁:項)目”)。

具体的过程是[拼音:shì]:

将需要进行大量计算的项目数据分割成小块,由多台计算机分别计算,再上传运(繁体:運)算结果后统一合并得出数据jù 结论。在分布式系统上运行[拼音:xíng]的计算机程序称为分布式计算程序;分布式编程就是编写上述程序的过程。

分布式计算的工作方式

项目方把大的计算任务分割成小块(任务单元),通过互联网分发给志愿者进行计算,志愿者计算完成后再通过网络把各自的计算结果返回到项目方的服务器。

分布式计算架构由许多客户端组成具有非常轻量级软件代理的计算机,安装有一个或多[读:duō]个专用分布式计算管理服《练:fú》在客户端计算机上运行的代理程序通常会检测计算机何时处于空闲状态,并向管理服务器发送通知,指出计算机未在使用且可kě 用于处理作业。

然后代理请求应用程序包。当客户端计算机从管理服务器接(jiē)收此应用程序包进行处理时,它会在具有空闲 CPU c 时运行应用程序软件 ycles 并将结果发{pinyin:fā}送回管理服务器。当用户返回并再次需要资源时,管理服务器返回用于在用户不在时执行不同任务的资源。

其中,管理程序负责系统管理和配置、作业管理;并行组件库是基于消息的通信工具;本地操作系统为标准的通用 澳门博彩OS;并行应用程序就是并行执行的应用程序。计算机集群系统之间是同构[繁:構]的。主要采用集群计算。

分布式计算在日常生活中的使用

(1) 从一个gè 新闻门户网站案例引入

现在很多同学经常会看到澳门银河一些名词,比如分布式服务框架,分布式系统,分布式存储系(繁体:係)统,分布式消息系统。

亚博体育

但是有些经验尚浅的同学,可能都很容易被【练:bèi】这些名词给搞晕。所以这篇文章就对“分布式计算系统”这个概念做一个科普类的分析[读:xī]。

如果你要理解【读:jiě】啥是分布式计算,就(jiù)必须先得理解啥是分布式存储,现{pinyin:xiàn}在我们从一个小例子来引入。

比如说现《繁:現》在你有一个网站,咱们假设是一个新闻门户网站好了。每天是不是会有可能上千(繁:韆)万用户(繁体:戶)会涌入进来看你的新闻?

乐鱼体育

好的,那么他们会(繁体:會)怎么看新闻呢?

其实很简单,首先他们[繁:們]会点击(繁体:擊)一些(练:xiē)板块,比如“体育板块”,“娱乐板块”。

然后,点击一些新闻标题,比如“20年来最刺激的一场比赛即将拉开帷幕”,接着还可能会发表一些评论,或者点击对某个好的新闻进行收藏。

那么你[练:nǐ]的这些用户干的这些事儿有一个专业的名词,叫做“用户行为”。

因为在你的网站或者APP上【拼音:shàng】,用户一定会进行各《练:gè》种操作,点击各种按钮,发表一些(拼音:xiē)信息,这些都是各种行为,统称为“用户行为”。

好了,现在假如说新闻门户网站的boss说想要做一个功能,在网站里每天做一个排行榜,统计(jì)出来每天每个版块被bèi 点击的次数,包[读:bāo]括最热门的一些新闻。

然后呢,在网站后台系统里需要有一些报表,要让《繁体:讓》他看到不同的编辑产出的文章的点击量汇总,做一个编辑的绩{繁体:績}效排名,还有很多类似的事情[读:qíng]。

这些事情叫什么呢?你可以(yǐ)认为是基于用户行为数据进行分析和统计,产出各种各样的数据统计分析报表和结果guǒ ,供网站的用户、管理人员来查看。

开云体育

这也有一个专业的名(拼音:míng)词,叫做“用户行为分析”。

(2)推算一下你(读:nǐ)需要分析多少条数据?

好,咱么继续。如果你要{练:yào}对用户{练:hù}行为进行分析,那你是不是首先需要收集这些用户行为的数据?

比如说{练:shuō}有个哥儿们现在点了一下“体育”板块,你需要在网页前端或者是APP上立马发送一条日{练:rì}志到后台,记录清楚“id为117的用户点击了一下id位003的板块”。

同样,这个东西也有一个专业的名词[繁:詞],叫做“用户行为日志”。

那你可以来《繁:來》计算一下,这些用户行为如果采用日志的方式收集,每天大概会产生多少{练:shǎo}条数据?

假设每天1000万人访问你的新闻【pinyin:wén】网站,平均每个人做出30个(繁:個)点击、评论以及收藏等行为,那么就是3亿条用户行为日志。

假设每条用户行为日志的大小是100个字节,因为可能包含了很多很{读:hěn}多的字段,比如他是在网页点击的,还是在手机APP上点击的,手机APP是用的什么(繁:麼)操作系统,android还是IOS,类似这样的字段是很多的。

那么你就有每天大(拼音:dà)概28GB左右的数据,这里一共包含3亿条。

假如对这3亿条数据,你就自己写个Java程序,从一个超大的28GB的大日志文件里,一条一条读取日志来统计分析和计算,一直到把3亿条数据都《练:dōu》计算完毕《繁:畢》,你觉得会花费【pinyin:fèi】多少时间?

不可【读:kě】想象,根据你的计《繁体:計》算逻(繁体:邏)辑复杂度来说,搞不好要花费几十个小时的时间。

极速赛车/北京赛车

所以你《练:nǐ》觉得这种大数据场景下的分析,这么玩儿靠谱么?不靠谱。

(3)黄金搭档:分{pinyin:fēn}布式存储 分布式计算

所以这个[拼音:gè]时候,你就可以首先采用分布式存储的方式,把那3亿条数据分【读:fēn】散存放在比如[练:rú]30台机器上,每台机器大概就放1000万条数据,大概就1GB的数据量。

大家[繁:傢]看看下面的图:

接着你就可以yǐ 上分{练:fēn}布式计算了,你可以把统计分析数据的计算任务,拆分成30个计算任务[拼音:wù],每个计算任务都分发到一台机器上去运行。

也就是说,就专{练:zhuān}门针{pinyin:zhēn}对机器本地的1GB数据,那1000万条《繁体:條》数据进行分析和计算。

这(zhè)样的好处就是可以依托30台机器的资源并(繁体:並)行的进行数据的统计和分析,这也就是所谓的分布式计算了。

每台机器的计算结果出来之后,就世界杯可以进行综合性的汇总,然后[繁:後]就可以拿到最终的一个分析结果,大家看下图。

假设之[练:zhī]前你的3亿条数据都在一个30GB的大文件里,然后你一个Java程序一条一条慢慢读慢慢计算,需要耗费30小时[繁体:時]。

那么现在把计算任务并行到了30台机器上去,就可以提{练:tí}升30倍的计算速度,是不【拼音:bù】是就只需要1小时就可以完成计算了?

澳门永利

所以这个就是所谓[拼音:wèi]的分布式计(拼音:jì)算,他一般是针对超大数据集,也就是现在很《练:hěn》流行的大数据进行计算的。

首先需要[pinyin:yào]将超大数据集拆分成很多数据块分散在多台机器上,然后把计算任务分发到各个机器上去,利用多台机[繁体:機]器的CPU、内存等计算资源来进行计算。

这种分布式计算的方式,对于超大数据集的计算可以【拼音:yǐ】提升几十倍甚至几百倍的效率,其实这个理论和概念,也是大(练:dà)数据技术的基础。

比如现在最流(liú)行的大数据技术栈里,Hadoop HDFS就是用做【pinyin:zuò】分布式存储的,他可以把一个超【pinyin:chāo】大文件拆分为很多小的数据块放在很多机器上。

而像Spark就是分布式计算系统,他可皇冠体育以把计[繁体:計]算任务分发到各个机器上,对各个数据块进行并行计算。

相信大家看了之后,对分布式极速赛车/北京赛车计(繁体:計)算系统,应该有一个初步的认识了。

本文链接:http://10.21taiyang.com/Biological-SciencesScience/20930489.html
大数(繁体:數)据分布式系统计算形式转载请注明出处来源