2014-11-04 78 views
2

我希望問題不要太具體,否則討論就好。如果是這樣,請關閉並評論我可以問的地方。谷歌文件系統如何處理文件寫入(和閱讀)?

所以我開始閱讀gfs文件,但由於我的背景並不是非常面向操作系統,所以我很好奇它是如何處理文件的。

的問題是: 是否接收數據(文件),軟件部分採用的處理文件(如http://www.cprogramming.com/tutorial/cfileio.html)正常的方式,或者採用不同的方式?怎麼運行的?

回答

0

類似的概念,在谷歌文件系統在傳統的文件系統中的文件句柄是大塊的句柄。 Google文件系統中的每個文件都由多個塊組成,每個塊由64位塊處理。

傳統文件系統中的文件句柄在機器的內存空間中是唯一的。另一方面,Google文件系統是Linux文件系統的附加層,Google文件系統中的塊句柄在所有塊服務器中是全局唯一的。

當執行讀取操作時,應用程序發送到GFS主服務器的請求,以獲得大塊的元數據,然後再發送塊的元數據到主服務器,以獲得一塊手柄和位置。現在應用程序知道塊位於哪裏,然後將塊元數據發送到塊服務器以獲取塊內容。

當執行寫操作時,應用程序需要向主服務器在哪裏放置塊,然後把塊的內容到指定的服務器塊。其餘的操作是相似的。