发明内容
本发明目的在于减轻现有技术中的某些不便。
更准确地,本发明允许通过所谓的MVFS(元数据-视图(view)文件系统)来优化根据元数据对文件系统中的文件的访问,其允许根据与这些文件相关的元数据访问文件系统的文件。
为了优化对此后称作‘数据文件系统’的文件系统中的文件的访问,本发明在数据库中内部存储用于MVFS‘私密’访问的索引数据和元数据,并且将内部存储的元数据向用户和/或应用程序‘公开’呈现为此后称作‘元数据文件系统’的元数据文件系统。为了帮助用户和/或应用程序浏览通过庞大量元数据的路线,元数据文件系统的结构反映其相关的文件系统的结构。此外,用户和/或应用程序使用常规文件系统访问方法可以访问元数据文件系统和元数据自身。为了进一步优化对数据文件系统中的文件的访问,用户和/或应用程序可以经由所谓的视图通过特定元数据组织数据文件系统中的数据。视图的示例是基于元数据属性‘type of file’的视图并且另外对元数据属性值‘file type=音乐文件’被细化。示例视图由此允许用户或应用程序列出数据文件系统中的所有音乐文件。为了节约存储空间并且还为了相关性的原因,视图不直接包括对应于该视图的文件,但是该视图仅仅包括指向这些文件的指针。可以用符号链接实现这些指针。使用指向文件的指针,不需要文件拷贝,并且此外,可以由多个视图指向同一文件而不重复文件。用户和/或应用程序可以根据元数据选择准则在视图配置中规定作为指向数据文件系统中的文件的指针的列表的视图内容。作为元数据文件系统的一部分而呈现给用户和/或应用程序的元数据的情形,在此后还称作‘视图文件系统’的视图文件系统中向用户和/或应用程序呈现视图和视图配置,由此通过‘常规’文件系统访问方法向用户和/或应用程序给出对视图和视图配置的访问。至于元数据,MVFS在数据库中内部存储视图配置用于‘私密’使用,并且对于每个内部存储的视图配置,存在用户和/或应用程序可以修改的‘公开’版本。
为了根据元数据优化对文件系统中的文件的访问,本发明提出根据与文件相关的元数据访问数据文件系统中的文件的方法,该方法由文件管理装置实现,该方法的特征在于,对至少一个客户端装置,将元数据表示为存储在元数据文件系统中,其中根据数据文件系统的结构来组织元数据文件系统,
数据文件系统中的至少一个第一文件表示为元数据文件系统中的至少一个第一目录,以及
与数据文件系统中的至少一个第一文件相关的至少一个元数据属性表示为元数据文件系统中的至少一个第二文件,以及
至少一个元数据属性的至少一个值表示为存储在至少一个第二文件中以及
视图文件系统根据与至少一个第二目录中的文件相关的元数据组织数据文件系统的文件,该目录包括作为内容的、指向数据文件系统的至少一个第一文件的至少一个指针,该内容根据至少一个元数据选择准则而确定,
该方法还包括以下步骤,使用元数据和视图文件系统访问数据文件系统的文件,利用用于访问数据文件系统的访问方法来访问元数据文件系统和视图文件系统以及元数据,以及在同一根目录文件系统级别安装数据文件系统、元数据文件系统以及视图文件系统。
根据该方法的变型,按照与这些文件相关的元数据访问数据文件系统的文件,至少一个客户端装置使用与访问数据文件系统所需的一组文件系统访问方法相同的一组文件系统访问方法可访问元数据文件系统(32)以及视图文件系统。
根据该方法的变型,按照与这些文件相关的元数据访问数据文件系统的文件,至少一个元数据选择准则被包括在其名称标识所述至少一个元数据选择准则的子目录中的、至少一个客户端装置可访问的所述视图文件系统中的至少一个配置文件中。
根据该方法的变型,按照与这些文件相关的元数据访问数据文件系统的文件,该至少一个配置文件包括由元数据属性和元数据属性值表示的元数据选择准则。
根据该方法的变型,按照与这些文件相关的元数据访问数据文件系统的文件,该至少一个配置文件包括由元数据属性表示的元数据分类准则。
本发明还提出一种根据与文件相关的元数据访问数据文件系统的文件的装置,该装置的特征在于,其对于至少一个客户端装置将元数据表示为被存储在元数据文件系统中,其中根据数据文件系统的结构组织元数据文件系统,该装置包括:
用于经由元数据文件系统给出对元数据的访问的部件,其中,
数据文件系统中的至少一个第一文件表示为元数据文件系统中的至少一个第一目录,以及其中
与数据文件系统中的至少一个第一文件相关的至少一个元数据属性表示为元数据文件系统中的至少一个第二文件,以及
至少一个元数据属性的至少一个值表示为存储在至少一个第二文件中,以及
用于经由视图文件系统给出对数据文件系统的文件的访问的部件,所述视图文件系统根据与至少一个第二目录中的文件相关的元数据来组织数据文件系统中的文件,该目录包括作为内容的、指向数据文件系统中的至少一个第一文件的至少一个指针,所述内容是根据至少一个元数据选择准则而确定的,
所述元数据文件系统和视图文件系统以及元数据是利用用于访问数据文件系统的访问方法而访问的,以及数据文件系统、元数据文件系统以及视图文件系统被安装在同一根目录文件系统级别。
根据该装置的变型,按照与文件相关的元数据访问数据文件系统的文件,该装置还包括数据库,该数据库包含部件用于对元数据进行访问使用的数据以及部件对视图文件系统进行访问使用的数据。
具体实施方式
图1示出连接到本地网络的装置根据相关元数据访问数据文件系统中的文件的现有技术方法的示例网络基础结构。
该基础结构包括:
-存储服务器10;
-存储装置11;
-第一装置13;
-第二装置14;以及
-局域网12。
装置13、14以及存储服务器10分别经由双向连接102、103和101连接到LAN 12。存储服务器10经由双向连接100连接到存储装置11。存储装置11包括在数据文件系统中组织的数据111以及提取的元数据+关于元数据的索引数据112和113。双向虚线箭头1001和1002分别指示从装置13到提取元数据+关于元数据的索引数据112以及相反方向的数据流和控制流、从装置14到索引数据113以及相反方向的数据流和控制流。
装置13和装置14每个在存储装置11的存储空间上具有它们自身的提取元数据和索引数据。元数据的提取和索引数据的生成由装置13在数据111上完成并且在存储空间112中存储。元数据的提取和索引数据的产生由装置14在数据111上完成并且在存储空间113中存储。装置13和装置14中的每一个没有共享提取的元数据和索引数据,这在存储空间方面尤其效率低,这是因为大部分信息被重复,这也降低数据111可用的存储空间。这在处理需要方面也尤其效率低。这是因为每个装置必须进行其自身的元数据提取和索引数据生成。然后,当对数据111做出改变时,这个改变要反映在每个元数据/索引数据中。这另外造成了如何能够将改变很快反映在每个元数据/索引数据中的同步问题。此外,单个改变创建对存储装置11的若干读取/写入访问,以更新每个元数据/索引数据。此外,在装置13和14之间不共享元数据/索引数据,装置13和14每个不能从装置13或14的另外一个已经完成的元数据提取和索引数据的生成中受益。
上面讨论的现有技术实现方式是示例性现有技术实现方式。其它现有技术实现方式是可能的,诸如与存储数据文件系统以及索引数据和元数据的存储装置集成的单个装置。
图2示出与本发明兼容的网络基础结构的本发明的示例性实施例。
该基础结构包括:
-网关20;
-存储装置21;
-第一装置23;
-第二装置24;
-局域网络12;以及
-外部网络15。
装置23、24以及网关20分别经由双向连接202、203和201连接到LAN12。装置20经由双向连接200连接到存储装置21。存储装置21包括数据211以及“MVFS数据”213指示的提取元数据+生成的索引数据+生成的视图。双向虚箭头2001和2002分别指示从客户端装置23到提取的元数据+索引数据+生成视图213以及相反方向的数据流和控制流、从客户端装置14到同一提取的元数据+生成索引数据+生成视图213以及相反方向的数据流和控制流。装置20还经由双向链路104连接到外部网络15,这向客户端装置23和24给出对连接到外部网络15的装置(未示出)提供的附加服务和/或存储的访问。
与图1的现有技术比较,图2的客户端装置23和24共享存储装置21上的存储空间213。
文件管理装置20完成提取元数据、从数据211生成索引数据、呈现元数据文件系统和视图文件系统,其具有‘一直接通的’装置的优点,其可以在其资源可用时的任何时间进行元数据提取和索引数据产生,例如在当客户端装置23和24没有或有很少活动时的夜间。
根据本发明的变型实施例,根据这些装置的资源的可用性,装置20、23或24中的一个一般地(indifferently)地完成元数据的提取和索引数据的生成。该变型实施例具有以下优点,根据每个装置20、23或24的资源的可用性,分配提取元数据以及生成索引数据必需的资源并且由此减少处理这些装置的每个的需要。
客户端装置23和24共享提取的元数据和生成的索引数据,这在存储空间方面特别效率高:不对每个客户端装置重复信息并且由此当与现有技术比较时对于数据211在存储装置21上有更多的可用空间,并且这在处理需要方面也效率高:当对数据211做出改变时,该改变被反映在仅仅一个元数据/索引数据存储213中,这避免同步问题并且限制更新在存储装置21上存储的元数据/索引数据所需的读取/写入访问的数量。此外,在客户端装置23和24之间共享元数据/索引数据,客户端装置23和24可以受益于文件管理装置20或者根据本发明的变型的客户端装置23和24中的一个已经完成的元数据的提取/索引数据的生成。
根据本发明的具体实施例,客户端装置23和24是用于接收数字电视和广播节目的数字机顶盒接收器,。
根据本发明的具体实施例,客户端装置23和24是呈现数字视频和/或音频内容的装置,诸如具有MP3音频播放器或H.264视频播放器能力的装置。
根据本发明的具体实施例,客户端装置23和24是经由无线连接连接到文件管理装置20的无线装置。
图3示出根据本发明的具体实施例,在文件系统32中怎样表示元数据。
竖条30表示数据文件系统31的根目录(root)。元数据文件系统32由来自内部存储的索引数据和元数据的MVFS构建并且向用户和/或应用程序被表示为安装在根目录上的文件系统。数据文件系统31可以例如存储在图2的存储装置21上并且由图2的装置20管理。
利用直接在文件系统根目录30下的目录‘a’311和目录‘a’311的子目录‘b’312以及子目录‘b’312的文件‘x.txt’313以分层级的方式组织数据文件系统31。文件x.txt还由314图示并且包括文本内容‘abcd’。
元数据文件系统32具有直接在文件系统根30下的目录‘meta’321。目录‘meta’具有子目录‘a’322并且子目录‘a’具有子目录‘b’323,子目录‘b’323又具有子目录‘x.txt’324。
因此根据数据文件系统31的结构组织元数据文件系统32,由此数据文件系统31的每个文件由元数据文件系统32中的目录表示,其中该目录的名称标识该文件。
元数据文件系统32的目录‘a’322对应数据文件系统31的目录‘a’311。元数据文件系统32的子目录‘b’对应数据文件系统31的子目录‘b’。元数据文件系统32的子目录‘x.txt’324对应数据文件系统31的文件‘x.txt’313。
在这个元数据文件系统32中,与数据文件系统中的文件相关的元数据属性表示为元数据文件系统的目录中的一个或多个文件。例如,数据文件系统31的文件‘x.txt’313具有相关的元数据‘filetype(文件类型)’,由此该元数据被表示为元数据文件系统32的目录‘x.txt’324中的文件‘filetype’325。因此,元数据文件系统32中的文件表示元数据属性。
在这个元数据文件系统32中,与数据文件系统31中的文件相关的元数据属性值表示为元数据文件中的值。例如,文件‘x.txt’313的元数据属性‘filetype’的元数据值是‘textfile(文本文件)’。因此,元数据属性‘filetype’的元数据值表示为图3的326图示的、元数据文件系统的目录‘x.txt’下的文件‘filetype’325的文本内容‘textfile’。
这样,元数据文件系统32对用户和/或应用程序表示为标准分层级文件系统,以及对于用户和/或应用程序访问元数据文件系统32不需要除访问数据文件系统31的访问方法的其它访问方法,诸如改变目录、列出目录内容以及读取文件内容。
根据本发明的具体实施例,向用户和/或应用程序给出不受限制的对元数据文件系统32的读取/写入访问。这对用户和/或应用程序允许关于元数据文件系统32的最大级别的表达能力。
根据另一变型实施例,对于每个用户和/或应用程序限制用户和/或应用程序的读取/写入访问,由此允许区分访问权,例如元数据文件系统的管理员可以具有不受限制的访问权,而普通用户具有被限制于与他拥有的数据文件系统31中的数据相关的附加元数据的访问。
图4示出根据本发明的具体实施例怎样在MVFS的视图文件系统40中创建、表示和维护视图以及如何将视图与数据文件系统31相关。
在图4的顶部图示来自图3的数据文件系统31。在文件系统根目录安装由来自内部存储的视图数据的MVFS构建的视图文件系统40。
这样,视图文件系统40向用户和/或应用程序表示为标准分层级文件系统,并且用户和/或应用程序访问视图文件系统40不需要除访问数据文件系统31的访问方法的其它的访问方法,诸如改变目录、列出目录的内容以及读取文件内容。
视图文件系统40的基本目录是目录‘view(视图)’401。目录‘view’401以下的是具有两个子目录(即,目录‘files-by-type’403和目录‘textfile’406)的目录‘config’。这两个目录具有文件‘cond.ini’和‘group.ini’,对于目录‘files-by-type’403分别是404和405以及对于目录‘textfile’406分别是407和408。
还直接在目录‘view’401以下的是具有子目录‘textfile’410的目录‘files-by-type’409。子目录‘type-text(类型文本)’410包括由虚箭头41图示的指向数据文件系统31的文件‘x.txt’313的符号链接‘a/b/x.txt’411。
此外,还直接在目录‘view’401下面的是目录‘textfile’412,其包括由虚箭头41图示的也指向文件系统31的文件‘x.txt’313的链接‘a/b/x.txt’。
视图文件系统40包括配置部分和视图部分。配置部分允许用户和/或应用程序规定视图的内容并且配置部分是由用户和/或应用程序可读取和可写入的。视图部分对于用户和/或应用程序是只读的。
在该具体实施例中,配置部分由目录‘.config’402和其子目录403和406,以及相应的文件404和405,407和408图示。视图文件系统40还包括视图部分,该视图部分分别由具有子目录410‘textfile’和链接411‘a/b/x.txt’的目录409‘files-by-type’以及目录412‘textfile’和链接413‘a/b/x.txt’图示。
当用户和/或应用程序想要其中根据元数据选择准则‘元数据属性=filetype’组织文件的数据文件系统31中的文件的视图时,用户和/或应用程序在视图文件系统40中创建目录‘/view/config/file-by-type’403。当创建该目录时,MVFS将在该目录中创建视图配置文件,诸如‘cond.ini’404和‘group.ini’405。对于用户和/或应用程序,视图配置文件404和405的内容是可写的,但是用户和/或应用程序不能删除这些文件。文件‘cond.ini’404允许用户和/或应用程序规定为了在视图中出现任何文件链接而满足的元数据选择准则。如果文件‘cond.ini’404为空,则没有文件链接将出现在视图中。文件‘group.ini’405允许用户和/或应用程序为出现在视图中的链接规定分组准则,据此将在视图的子目录中组织链接。如果为空,则将不完成分组。在已经创建/view/config/file-by-type目录403之后,用户和/或应用程序写入元数据选择准则‘file type=*’到文件‘cond.ini’404,意味着数据文件系统31的任何类型的文件要呈现在视图中。此外,如果用户和/或应用程序想要根据它们的文件类型来组织在视图中呈现的文件,则用户和/或应用程序向文件‘group.ini’405写入文本值‘type(类型)’。用户和/或应用程序的动作将具有以下结果,MVFS将创建用户和/或应用程序可读的目录‘files-by-type’409,其中在数据文件系统31中呈现按文件类型的子目录。根据在此给出的示例,仅仅有一种类型的文件呈现在数据文件系统31中,即类型‘textfile’。MVFS由此创建子目录‘textfile’410。在按文件类型的每个具体子目录中,MVFS然后创建到对应于特定文件类型的所有文件的链接。根据在此给出的示例,数据文件系统中仅仅有一个对应于文件类型‘textfile’的文件,即文件‘x.txt’313。MVFS因此在子目录‘textfile’410中创建链接‘a/b/x.txt’411。
现在MVFS如何在数据文件系统31中找到对应于元数据搜索准则的文件?使用上面的示例,MVFS因此需要在数据文件系统31中找到具有元数据属性‘filetype’的所有文件并且根据元数据属性值组织它们。为了这样做,MVFS使用内部存储的元数据和索引数据以在数据文件系统中找到与元数据搜索准则对应的文件。因此,MVFS针对所有元数据属性‘filetype’搜索元数据和索引数据。然后视图文件系统中的子目录表示发现的每个不同文件类型。然后对于所有发现的特定文件类型搜索元数据和索引数据,并且在与特定文件类型对应的子目录(诸如子目录‘textfile’410)中创建指向视图文件系统40的文件的指针。然后创建指向在具有特定文件类型(=具有特定值的元数据属性值)的元数据和索引数据库505中编排索引的每个文件的指针。该指针是依据存储在元数据和索引数据中的路径信息而创建的。
作为第二示例,假设用户和/或应用程序想要对数据文件系统31中的具有带有值“textfile”的元数据属性‘filetype’的所有文件创建数据文件系统31的视图。为了这个目的,用户和/或应用程序在视图文件系统40中创建目录‘/view/config/textfile’412,在其上MVFS自动创建文件‘condi.ini’407和‘group.ini’408。然后用户和/或应用程序向自动创建的‘cond.ini’文件407写入元数据搜索准则‘file type=textfile’。这造成MVFS自动创建指向文件‘x.txt’313的链接‘a/b/x.txt’413的目录‘textfile’412。
上面描述的实施例作为图示本发明的示例给出。
根据本发明的具体实施例,当用户和/或应用程序创建视图时,MVFS创建附加视图配置文件,诸如用以规定排序准则的视图配置文件,诸如上升或下降字母顺序,或者基于元数据属性或者元数据属性值的排序,诸如文件创建日期或者文件创建日期的特定值,或者文件创建日期的特定范围。
本文件的读者将理解已经为说明的目的选取了文件系统名称、文件目录名称和文件名称,而其它文件系统名称、文件目录名称和文件名称与本发明兼容。
对于元数据选择准则规范的其它类型语法是可能的并且与本发明兼容。根据具体实施例,XML(可扩展标记语言)的版本用于规定元数据搜索准则。根据具体实施例,XPath(XML路径)查询语言用于规定元数据选择准则。
根据具体实施例,为用户和/或应用程序提供中间硬件或者软件模块,这简化了用以创建视图的对于用户和/或应用程序的操作。这样的模块还具有隐藏视图文件系统的实现方式特征的优点。所述模块将用户和/或应用程序与视图文件系统连接并且使用标准文件系统访问方法来访问视图文件系统,同时对用户和/或应用程序隐藏视图创建和管理的任何复杂性。
关于图3和4,适合于以下。
根据本发明的具体实施例,在有关的数据库中存储内部存储的元数据和/或视图配置数据。
根据变型实施例,在哈希表中存储内部存储的元数据和索引数据和/或视图配置数据。哈希表是使用所谓的哈希函数以有效地将数据标识符(密钥(key))映射到数据值的数据结构。哈希函数用于将密钥变换为其中存储数据值的阵列元素的索引。哈希表提供以下优点,数据查找与表中存储的元素数量无关。
根据本发明的具体实施例,MVFS跟踪用户和/或应用程序对数据文件系统作出的修改。它更新内部存储的元数据和编排索引数据,其内部表示,作为元数据文件系统和视图文件系统,相应地使经由元数据和视图文件系统呈现的数据的外部呈现与内部存储的数据相关。同样地,MVFS跟踪用户和/或应用程序对元数据文件系统的修改,并且如果需要,更新编排索引数据和/或视图文件系统,这例如在用户和/或应用程序添加新的元数据时是需要的。
仅仅当被用户和/或应用程序访问时,元数据和/或视图文件系统表示为文件系统。因此,元数据文件系统和/或视图文件系统被认为是虚拟的。该虚拟化具有使得避免数据重复并因此避免数据没有条理(incoherency)的优点。元数据和/或视图文件系统因此仅仅是由内部存储的数据创建的虚拟表示。然后MVFS将用户和/或应用程序对元数据和/或视图文件系统进行的所有之前描述的操作转换为对内部存储的索引数据和元数据的读取/写入操作。
图5示出根据本发明的具体实施例实现本发明的装置,诸如图2的装置20。
装置20包括以下元件:
-路由器510;
-局域网接口504,用于将装置20连接到诸如图2的LAN 20之类的本地网络,以允许从诸如图2的装置23和24之类的装置接收数据和诸如访问三个上述文件系统之类的请求,以及向诸如图2的装置23和24之类的装置传送数据和诸如访问三个上述文件系统之类的请求;
-网络接口509,用于将装置20连接到诸如图2的网络15之类的外部网络;以及
-接口508,用于直接连接诸如图2的存储装置21之类的外部装置,用于存储来自数据库505的数据文件系统、元数据文件系统和视图文件系统以及索引数据和元数据。
-MVFS管理器,其处理来自与文件系统相关的装置的访问并且命令元件502-508运行;
-视图文件系统生成器(502),用于建立和维护视图文件系统;
-元数据文件系统生成器503,用于建立并且维护元数据文件系统;
-DBMS(数据库管理系统)505,用于存储索引数据、元数据和视图配置数据;
-索引数据提取器506,用于从数据文件系统中提取索引数据;以及
-元数据提取器507,用于从数据文件系统提取元数据。
图5的元件是如下相互连接的。
MVFS管理器501经由双向连接5001连接到视图文件系统生成器502,经由双向连接5005连接到元数据文件系统生成器503,经由双向连接5003连接到索引数据提取器506并且经由双向连接5002连接到元数据提取器507,以允许其向上述元件502、503、506和507发送数据和命令并且从上述元件502、503、506和507接收数据和命令确认。MVFS管理器501还经由双向连接5007连接到DBMS 505,并且允许其存储并且检索数据。DBMS经由双向连接5014连接到外部装置接口508,以允许其将来自外部存储装置21的数据库的数据存储在存储空间213中并且检索该数据。MVFS管理器501还经由双向连接5019连接到LAN网络接口504,以允许其与连接到LAN 12的装置23和24交换数据、命令和命令确认。
视图文件系统生成器502、元数据文件系统生成器503、索引数据提取器506和元数据提取器507分别经由双向连接5009、5008、5010和5011全部连接到DBMS 505,以允许这些元件存储并且检索数据。
视图文件系统生成器502和元数据文件系统生成器503还分别经由双向连接5006和5004连接到LAN网络接口504,以允许这些元件与连接到LAN12的装置23和24交换数据。
索引数据提取器506和元数据提取器507分别经由连接5015和5018连接到外部装置接口508,以允许它们访问在存储在外部存储装置21上的数据文件系统31中存储的数据。元数据提取器507和索引数据提取器506经由双向连接5012互连,以允许它们在提取元数据和索引数据的处理中通信。
用户和/或应用程序经由LAN网络接口504和外部装置接口508(其经由经由双向连接5020互连)对在外部存储装置21上存储的数据文件系统的读取/写入访问。
由于装置20还是用于在连接到LAN 12的装置23和/或24之间、在外部网络15以及LAN 12中的装置之间路由分组的路由器,所以装置20包括路由器元件510,该路由器元件510分别经由双向连接5013和5017将LAN网络接口504与外部网络接口509互连。
最后,装置20经由双向连接201连接到LAN,经由双向连接104连接到外部网络15,并且经由双向连接200连接到外部存储装置21。
这些元件如下一起工作来实现本发明。元数据提取器507和索引数据提取器506从它们经由外部装置接口508以及分别经由连接5018和5015访问的外部装置21上存储的数据文件系统中提取元数据和索引数据。它们提取的数据存储在DBMS 505中,要存储的数据分别经由连接5011、5010从元数据提取器507和索引数据提取器506转移到DBMS 505。DBMS 505根据从元数据提取器5011和从索引数据提取器5010接收的命令和数据存储新数据或者更新内部数据库现有的数据。DBMS管理存储装置21上数据库的存储,因此确保数据库中的数据被保护不受例如电力电涌引起的意外擦除。一旦DBMS存储了元数据和索引数据,元数据数据提取器507和索引提取器506分别经由连接5002和5003通知MVFS管理器501该完成。MVFS管理器501然后经由连接5005指示元数据文件系统生成器503基于在数据库中存储的信息建立元数据文件系统。为了这个目的,元数据文件系统生成器经由连接5008读取DBMS 505存储在数据库中的数据。当元数据文件系统生成器已经完成建立元数据文件系统(包括存储元数据文件系统的数据,如其在DBMS 505管理的数据库中建立的)时,元数据文件系统生成器503经由连接5005向MVFS管理器501传达元数据文件系统已经建立并且准备使用。装置20现在准备从与LAN 12连接的装置23和/或24接收与根据相关的元数据访问数据文件系统中的数据相关的指令和请求。装置23和/或24经由连接5004通过LAN网络接口504经由元数据文件系统生成器503直接访问元数据文件系统。
元数据和索引数据提取器507和508监视例如LAN 12的装置23和/或24完成的对元数据和对数据文件系统31的数据的修改,元数据和索引数据提取器507和508与DBMS 505通信以相应地更新其数据库。
当装置23和/或24向MVFS管理器501发送与视图的配置和访问相关的指令时,MVFS管理器501指示视图文件系统生成器根据接收的指令配置并且呈现视图。视图文件系统生成器502通过经由连接5009访问DBMS来将视图配置存储在数据库中。一旦配置了视图,视图文件系统生成器经由连接视图文件系统生成器502与LAN接口504的连接5006直接连接装置23和/或24以应答对视图的读取请求。
上面描述的运行是“从无到有”,也就是还没有提取元数据和索引数据,还没有填充数据库,并且还没有建立元数据文件系统。读者将理解,一旦进行这些动作,它们在装置20的每次通电时不需要重复,因为DBMS存储允许通过使用保存在外部存储装置21上的已经存储的数据来填充数据库而快速启动所需的信息。对于指定运行,即,当已经填充了DBMS 505管理的数据库时,MVFS管理器501仅仅需要更新现有数据并且向元件502-507发送正确的指令以执行该任务。可以对诸如提取元数和索引数据之类的耗时功能指定低优先级,使得执行这些功能不干扰装置20的其它功能。然后例如在空闲时间期间可以在处理后台执行这些低优先级任务,或者这些低优先级任务可以被编程为在夜间、或在备用状态、或者仅仅当修改关于元数据和索引数据的数据时、或者仅仅当修改一定量的数据时执行。
当然,图5的实施例是图示本发明的具体实施例的示例实施例。本文件的读者将理解本发明可以以各种不同的实施例实现。例如,装置20不必需是实现路由器和将装置23和/或24与外部网络连接的网关,而是实现本发明方法的LAN中的集中式服务器。同样,可以将本发明实现为具有用以将本发明的方法实现为在处理器上执行的算法的所需处理能力、或者配备用以实现本发明必需的专用硬件的LAN的任何装置,诸如图5中描述的某些元件或者所有元件。读者还将理解,本发明还可以如所描述地由连接到诸如LAN 12之类的有线网络的装置实现,而且本发明可以在任何类型的无线网络上实现。读者还将理解,实现本发明的装置不必需配备诸如2描绘的外部盘,以及其它变型实施例与本发明兼容,诸如具有非易失性类型的存储器的无盘实现方式,或者装置20中的集成盘存储体,或者直接与网络LAN 12连接的外部网络存储盘。
根据具体实施例,本发明整体在硬件中实现,例如作为专用部件(例如,ASIC、FPGA或VLSI)(分别是“专用集成电路”、“现场可编排程门阵列”以及“大规模集成电路”),或者作为集成在装置中或者以混合硬件和软件的形式的独特电子组件。
根据具体实施例,实现本发明的装置是配备或者没有配备专用硬件的个人计算机。
根据具体实施例,对于根据本发明的功能的实现方式所需的元件,诸如图5的具体实施例的元件,分布在网络中连接的若干装置上,诸如多个机顶盒或者多个网关或者这些的混合,这些装置的每个在网络上相互通信,以将本发明实现为一个虚拟装置。本发明这样的实施例对于通过使用现有设备的处理能力来避免使用集中式服务器或者网关可能是有用的。
图6示出根据本发明的具体实施例的例如图2的装置20实现的、根据相关元数据访问数据文件系统的文件的算法。
该算法以对于算法的执行所需的变量初始化步骤600开始。然后,在步骤601中,例如使用图5的元数据提取器507从数据文件系统31中提取元数据并且存储在例如数据库505的数据库中。在步骤602,例如使用索引数据提取器506从数据文件系统中提取索引数据,并且存储在例如数据库505的数据库中。在测试步骤603,验证用户和/或应用程序是否请求访问元数据文件系统32。如果请求访问,则执行步骤604,其中使用例如元数据文件系统生成器503对元数据文件系统32进行访问。然后,算法由箭头610图示地重复测试步骤603。如果没有请求访问元数据文件系统32,则执行测试步骤606,其中验证用户和/或应用程序是否请求访问视图文件系统40。如果请求访问,则执行步骤607,其中使用例如视图文件系统生成器502对视图文件系统40进行访问。然后,算法由箭头609图示地重复测试步骤603。如果没有请求访问视图文件系统,则算法由箭头608图示地再次返回测试步骤603。
根据本发明的具体实施例,以并行方式执行测试和对元数据文件系统进行访问的步骤603-604以及测试并且对视图文件系统进行访问的步骤606-607,以同时对元数据文件系统和视图文件系统进行访问。根据具体实施例,当在对元数据文件系统进行访问的步骤604中修改元数据时,执行提取元数据的步骤601,使得保持更新在数据库505中存储的元数据。