00:00
欢迎大家继续收看上硅谷的Linux云圈视频。大家好,我是汪洋老师。这张呢,我们去学习我们的MFC的真删改毒便利操作文件的这么一个过程。他要经历哪些步骤,以及组件之间应该怎样去协同配合,达到这么一个功能。好,我们一个一句看,我们先看第一个对吧。先看我们的基础环境。在这里呢,我们会采用一个客户端的机制和一个master服务器,一个窗两个窗口服务器去给大家演示,那当然这里还会存在一个备份服务器。这就是我们整个发射集群的一个基础环境。相信学习过上阶功能以后,我们应该对这几个组件之间的。呃,功能或者他的角色充当的角色应该都没什么问题了,对吧,如果有问题的话,请到上一章对吧,好好的学习一下,还。这是非常重要的,我们这是一环套一环的,好,我们接下来先看第一个叫读和便利。
01:03
便利是怎样一个概念呢?比如is。那相当于就是便利了,根下有哪些内容?那如果对于这个操作来说,我们应该做怎样的过程呢?首先。客户端。需要去向。Master服务器发起请求说,我要便利的是我们当前挂载目录下的A目录下的所有内容。那master会检索自己内存中的数据信息。检索完成以后,把对应的元素信息直接发送给端,完成这次便利过程。也就是我们在便利的时候,其实没有接触到真实数据,看的只是它的语言数据信息。对吧。好,这里给大家说明一下,我在这里呢,就直接通过口述的方式,以及我们的鼠标点击的方式,给大家演示一下它的流程。具体的详细的说明文档我会在后期整理为专门的文档,放在大家的共享里。
02:04
那大家可以通过。后期的我们的文档去详细的重温一下我们整个流程。那这个呢,就是我们第一个便利过程。第二个呢,是我们的读,读一个文件,比如cut根下的1.tt文件。这个流程在我们的MFS里是怎样去展开的呢?首先客户端把这个请求。首先客户端把这个请求。首先客户端把这个请求发送至我们的M。FS的MAS服务器。马斯特夫妻在接受到这个查看的1.tt文件的请求以后,他会在自己的内存中检索这个文件到底在哪里。什么叫到底在哪里啊?因为后面是不是有很多台创客服务器,我要知道创客serve服务器的IP地址吧,我要知道它的端口号吧。
03:03
我要知道对应它在哪一个块中吧,也就是创设的ID号对吧。什么叫ID号?我一个创作,生活中可能有很多个子目录。那到底是在哪个子目录中存储这个文件的呢?对吧?这就是我们所谓的窗开ID,需要大家理解一下。那既然我都知道这些信息了以后,我就会把这些元素信息发送给我们的客南端,我告诉你啊,这个怎么连啊,在哪台服务器的哪个ID号,哪个端口啊。那这样的话,客户端的接收以后,就会连接到对应的窗生服务器的对应的窗客ID上的,对应啊对应的端口的对应的窗口ID上。那是不是就已经获取到这个数据了呢?获取完整以后。那相当于把这个数据返回给客户端了,对吧,那客户端是不是完成此次操作。我已经看到文件了。对吧,这个就是我们第一个流程,也就是读和便利。还是比较简单的,对吧。
04:02
我们看下一个。删除。删除文件,应该这个操作我们都不陌生,对吧,每天都需要删除大量的文件。那首先呢,如果是删除一个文件的话,客户端,客户端会向我们的master普及发起请求,说我要删除的是当前目录下来一个叫1.tt的文件。Master服务器会解锁到底有没有这个文件,如果有的话,会删除这个文件在master服务器里的原数据信息。删除完成以后,还要把这个删除删除增值服务器的信息,把它加到我们的异步队列里。什么叫异步对联?我现在不做。等多少多少多少秒以后,我把这个文件真实删除,什么叫真实删除啊?真实文件是不是传在传上的,这个真实数据还没有被删除呢?为什么会有这么一个机制呢?这个机制原因就是相当于是一个垃圾箱的机制。
05:01
对吧,垃圾箱的机制。当你觉得这个文件我被误删除以后,我会通过一定的方法把这个文件找回给客户端。需要大家注意一下,也就意味着重新梳理一下,对吧?当我去想删除一个文件的时候,客户端会把这个请求发送给master服务器。马斯特服务器会把这个文件的原数据原数据信息删了。真实数据并没有删除。删除真实数据的这个步骤会被添加到异步队列里。当你设定的时间,比如是64000秒。超过这个时间以后,我才会把这个文件真实删除。也就意味着,换句话说,只要是在这个时间内,我都能把这个文件恢复回来。当然前提是你要知道这个文件叫什么,对吧,不然的话你怎么恢复啊这么多文件。没问题吧,这是删除操作。稍微复杂点了对吧,好,我们看下一个。改。
06:00
修改文件。这个可能是我们所有所有文件中操作里面可能是最复杂的一种。因为修改文件可能会涉及到我修改完了以后,这个文件还没有。里面的内容还没有进行更改,或者修改完以后,它里面的内容确实跟原文件不一样了,这是有不同方案的,对吧。好,我们一个一个看。那想修改一个文件,等同于我们做的操作就是VI打开一个更下了1.tt文件,能理解吧?首先,客户端发送请求至M服务器。M服务器返回这个1.tt的。数据的地方地址或者它的路径对吧,就我们刚才说过的什么IP啊,Port啦,以及ID对吧,可以绝对定位到我们对应的文件所在了。客户端连接这个这个文件。直接打开文件,这样对吗?其实是不对的。原因是什么?如果你真的直接打开这个文件以后,那别人过来访问的话,你是不是就看不到这个文件了,所以应该怎么办?
07:05
怎么办?类似于我们Linux操作系统里面去做的,我们VM打开一个文件以后,你是不是会发现,诶,它会出一个点swap的文件。对吧,这个点swap的文件相当于就是我们这个用户打开的文件。这样说呢,大家能理解吗?如果这个应该是在我们之前我们的文件存储里应该学习到了,对吧。好,那也就意味它会经历这么样一个过程,首先客户端告诉我们的MFS服务器,我要打开一个文件。MS服务器会到这个创客收货上,比如这是原门店,它会拷贝一个新款。这个新的是由旧的这个文件拷贝过来,也就意味着这两个文件是一样一模一样的。这个文件拷贝完成以后,创客售后会把这个。这个新的地址信息告诉给M服务器,也就master服务器。Master服务器把这个新快的。
08:00
相关信息告诉给客户端,客户端再去打开这个新款。连接这个新款进行修改。这样很好理解吧,我修改的这个新款,如果有人过来,比如查看对吧,查看这个文件,他是不是直接把这个老快的内容返回给他,互不干扰,类似于我们unix操作系统的这么一个步骤。那当我操作完这个文件以后,我会。告诉他,我会告诉M服务器,我说诶,我要离开这个文件了,我要关闭这个文件了。那MF服务器呢,会去对比这两个文件之间有没有区别,有没有区别。如果有区别的话。如果有区别。他会创建一个新的款。把这个文件的内容再拷贝过来。听,骂我一声吗?三级拷贝。然后再把老文件和新文件都给删了。更新这个文件的元素信息和这个新最新块的这么一个对应关系。
09:01
以后如果有再来过来访问的话,访问的是这个最新的款。如果无内容无修改,那会没有这个新新最新款的参与,对吧,不会有它出现了,只会把这个新款给删除。还是用老快的地址,并且更新这个老块原数据信息里面的最终修改时间。这是我们的更改的过程。稍微有点复杂对吧,好好的吸收一下,理解一下。那下一个增加内容,增加新文件。增加新闻件怎么做呢?首先客户端告诉我们的M是说。哎,我要套起,在我们的挂载目录下套取一个一点天地文件。套取这个文件的时候,我们客户端会向我们的master服务器。传递它的元素信息,比如这个文件叫什么,以及它可能的大小。MFS呢,会选择一个创业社会上去创建一个快。
10:01
去上创客车,我创建一个快创设,我把这个快创建完成以后,会告诉MFS,我创建的新快的,它的对应的路径在哪里,也就是我们所谓的IP pod以及ID号。那MFS呢,会把这个空块的内容。路径发送给客户端。客户端连接到这个空外上去。写入数据。写入完成以后,客户端告诉他,哎,这个文件我已经写完了,你可以把它给关闭了。然后MFS会去查询这个文件的最后的最终大小,以及保存它的数者以及元素信息对应上。这就是我们增加一个新文件的时候,他应该做的事情。好,那这个呢,就是我们在进行日常的操作文件的时候,它需要去涉及到的几个不同的功能或者步骤。我们已经把所有的文件操作基本上都已经讲全了,像我们的什么千金帽呢,等同于我们的什么?
11:02
读文件对吧,就是修改原著性信息嘛。像改名啊,是不是就类似于我们的读啊,直接在我们的master服务器去修改即可。那这呢,就是我们这章的内容需要大家好好的吸收一下,尤其是我们刚才说的这么一个修改文件的内容还是比较复杂的。那这节课呢,我们就先讲到这里。下节课再见。
我来说两句