2014-11-04 19 views
2

我希望问题不要太具体,否则讨论就好。如果是这样,请关闭并评论我可以问的地方。谷歌文件系统如何处理文件写入(和阅读)?

所以我开始阅读gfs文件,但由于我的背景并不是非常面向操作系统,所以我很好奇它是如何处理文件的。

的问题是: 是否接收数据(文件),软件部分采用的处理文件(如http://www.cprogramming.com/tutorial/cfileio.html)正常的方式,或者采用不同的方式?怎么运行的?

回答

0

类似的概念,在谷歌文件系统在传统的文件系统中的文件句柄是大块的句柄。 Google文件系统中的每个文件都由多个块组成,每个块由64位块处理。

传统文件系统中的文件句柄在机器的内存空间中是唯一的。另一方面,Google文件系统是Linux文件系统的附加层,Google文件系统中的块句柄在所有块服务器中是全局唯一的。

当执行读取操作时,应用程序发送到GFS主服务器的请求,以获得大块的元数据,然后再发送块的元数据到主服务器,以获得一块手柄和位置。现在应用程序知道块位于哪里,然后将块元数据发送到块服务器以获取块内容。

当执行写操作时,应用程序需要向主服务器在哪里放置块,然后把块的内容到指定的服务器块。其余的操作是相似的。