📜  分布式系统中的文件模型

📅  最后修改于: 2022-05-13 01:57:01.882000             🧑  作者: Mango

分布式系统中的文件模型

在本文中,我们将介绍分布式系统中文件模型的概念。在分布式文件系统 (DFS) 中,使用多台机器来提供文件系统的功能。不同的文件系统通常采用不同的概念模型。基于结构和移动性的模型通常用于文件的建模。

分布式系统中的文件模型

有两种类型的文件模型:

  • 非结构化和结构化文件
  • 可变和不可变文件

根据结构标准,文件模型有两种类型:

1. 非结构化文件:是最简单、最常用的模型。文件是非结构化模型中非结构化数据序列的集合。没有与之关联的子结构。文件系统中可用的每个文件的数据和结构是一个未解释的字节序列,因为它依赖于 UNIX 或 DOS 等使用的应用程序。大多数现代操作系统更喜欢使用非结构化文件模型而不是结构化文件模型,因为不同应用程序共享文件。它不遵循任何结构,因此不同的应用程序可以以不同的方式进行解释。

2. 结构化文件:现在很少使用的文件模型是结构化文件模型。在结构化文件模型中,文件系统看到一个文件,该文件由按顺序排列的一系列记录组成。文件表现出不同的类型、不同的大小和不同的属性。属于同一文件系统的不同文件的记录也可能具有不同的大小。尽管文件属于同一个文件系统,但它们具有不同的属性。可以检索的最小数据单位称为记录。对一组记录执行读取或写入操作。在结构化文件系统中,有各种可用的“文件属性”来描述文件。每个属性都由一个名称及其值组成。文件属性依赖于使用的文件系统。它包含有关文件、文件大小、文件所有者、最后修改日期、文件创建日期、访问权限和最后访问日期的信息。由于访问权限不同,目录服务工具用于维护文件属性。

结构化文件进一步包括两种类型:

  • 具有非索引记录的文件:在具有非索引记录的文件中,记录的检索是针对文件中的位置执行的。例如从开始的第三条记录,从最后/结束的第三条记录。
  • 具有索引记录的文件:在具有索引记录的文件中,每条记录中存在一个或多个关键字段,每个字段都可以通过提供其值来解决。为了快速定位记录,文件被维护为 B 树或其他等效数据结构或哈希表。

基于可修改性标准,文件模型有两种类型:

3. 可变文件:现有操作系统使用可变文件模型。文件更新后,文件的现有内容会被新内容覆盖。由于同一文件在写入新内容后一次又一次地更新,因此文件被描述为单个记录序列。

4. 不可变文件: Cedar 文件系统使用不可变文件模型。在不可变文件模型中,文件一旦创建就不能更改。该文件只能在创建后删除。为了实现文件更新,需要为同一个文件创建多个版本。每次更新文件时都会创建文件的新版本。由于仅共享不可变文件,因此在此文件模型中存在一致共享。分布式系统支持缓存和复制方案,因此克服了保持多个副本一致性的限制。使用不可变文件模型的缺点 - 增加空间利用率和增加磁盘分配活动。 CFS 使用“保持”参数来保持编号。文件的当前版本。当参数的值为 1 时,它会导致创建一个新的文件版本。现有版本被删除,磁盘空间被另一个重新使用。当参数的值大于 1 时,表示一个文件存在多个版本。可以通过提及其全名来访问文件的特定版本。如果未提及版本号,则 CFS 使用最低版本号执行“删除”操作等操作,并使用最高版本号执行“打开”操作等其他操作。