CN102077183B - 可移动存储设备上的外部文件系统元数据的维护 - Google Patents

可移动存储设备上的外部文件系统元数据的维护 Download PDF

Info

Publication number
CN102077183B
CN102077183B CN2009801247992A CN200980124799A CN102077183B CN 102077183 B CN102077183 B CN 102077183B CN 2009801247992 A CN2009801247992 A CN 2009801247992A CN 200980124799 A CN200980124799 A CN 200980124799A CN 102077183 B CN102077183 B CN 102077183B
Authority
CN
China
Prior art keywords
metadata database
tsd
main process
process equipment
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009801247992A
Other languages
English (en)
Other versions
CN102077183A (zh
Inventor
J·博韦
V·萨多夫斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102077183A publication Critical patent/CN102077183A/zh
Application granted granted Critical
Publication of CN102077183B publication Critical patent/CN102077183B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

主机计算设备(114)/暂时存储设备(102)(TSD)接口消除了对TSD上的存储卷进行全目录爬行以维护元数据数据库(112)的需求。在TSD(102)与高性能主机(114)每次连接时,该元数据数据库(112)是被增量式地更新的,而非被完全地重新生成。因此,主机设备(114)更高效地跟踪和维护外部文件系统元数据(120)。主机设备(114、122)发现和使用该新的TSD功能以高效地更新该元数据数据库(112)。主机设备(114、122)向该TSD(102)提供了管控该TSD(102)的操作的参数。该TSD(102)协作地将与对存储卷(110)上的数据做出改变的存储位置相对应的地址记入日志,并且在发现该主机设备(114)的更新该元数据数据库(112)的能力时,该TSD(102)将该发现提供给该主机设备(114)。

Description

可移动存储设备上的外部文件系统元数据的维护
背景
暂时存储设备(TSD)近年来普遍用于便携式计算机数据存储。TSD可以采用通用串行总线(USB)或电气和电子工程师协会(“IEEE”)1394标准(火线)、可移动硬盘驱动器、闪存驱动器和用于移动电话、数字照相机、个人数字助理、数字音乐播放器(例如MP3播放器)和其它便携式设备的存储卡和“棒”。
只要TSD连接到主机设备上,维护关于包含在TSD上的文件的外部文件系统通常需要完全列举整个文件目录树。这确保可靠地检测到可能在从当前主机断开TSD时发生的对在TSD上维护的数据文件的所有改变。例如,当TSD连接到运行Windows Shell Autoplay(“Autoplay”)的主机设备上时,Autoplay走查TSD上的整个文件系统树分层结构以确定TSD上存在哪些内容类型。Autoplay使用该信息来为所发现的内容类型构造适当的处理程序的列表。
问题可以被概括到包括需要TSD的文件系统自身不能以高效的形式提供的聚集的存储卷元数据的应用程序。这种应用程序必须在每次连接TSD时,枚举该设备的整体内容并且冗余地重新生成元数据索引。这种冗余不仅是对时间的浪费,就功耗而言它也是低效的。不幸的是,随着TSD的存储容量的增加,需要不断增加的输入/输出(I/O)数据传输和时间量来创建索引,而导致对用户体验的负面影响。为了精确地跟踪整个TSD的元数据要支付过高的代价,尤其是在存储卷改变地很少或完全没有改变的情况下。
概述
此处公开的过程以在主机计算设备和暂时存储设备(TSD)之间的接口的形式提供了消除对TSD上的存储卷进行完全目录爬行以维护元数据数据库的需求的附加功能。元数据数据库是增量式地更新的,而非在TSD和高性能主机之间的每次连接时完全地重新生成元数据数据库。该功能帮助主机设备更高效地跟踪和维护外部文件(exo-file)系统元数据。精确地执行对外部文件系统元数据的该维护而同时考虑TSD可能与之连接的主机系统的多样性需要在TSD和能够使用该新接口功能的主机之间的协调。主机设备被分配到发现并使用该新的TSD功能以及使用该功能来高效地更新元数据数据库的任务。主机设备还可以向TSD提供管控TSD的操作的参数。TSD协作地将与对存储卷上的数据做出的改变的存储位置相对应的地址记入日志,并且在发现主机设备更新元数据数据库的能力时,TSD将与元数据数据库的可用性以及地址的日志有关的发现提供给主机设备。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。从以下更具体撰写的各实施例的详细描述以及在附图中进一步示出并且在所附权利要求中限定的实现,所要求保护的主题的其他特征、细节、实用程序和优点将变得显而易见。
附图简述
图1是共同维护存储在暂时存储设备上的数据文件的外部文件系统元数据数据库的高性能主机设备以及作为替换的较低性能的主机设备的每一个和暂时存储设备之间的接口的示意图。
图2是当与主机设备连接以管理外部文件系统元数据数据库时暂时存储设备执行的示例性过程的流程图。
图3是当与暂时存储设备连接以管理外部文件系统元数据数据库时高性能主机设备执行的示例性过程的流程图。
图4是当与暂时存储设备连接以管理外部文件系统元数据数据库时较低新性能的主机设备执行的示例性过程的流程图。
图5是可以用作连接到暂时存储设备的主机设备的通用计算机系统的示意图。
详细描述
暂时存储设备(TSD)一般以标准目录树的形式维护存储在主存储卷内的所有数据文件的文件系统。这些数据文件可以是任何类型的,例如一般保存在存储设备上的文字处理或电子表格文档、音乐文件、视频文件、图像或图片文件或任何其他类型的数据。外部文件系统元数据可以在TSD上以与存储卷上主文件系统中的文件有关的信息的数据库的形式来实现。外部文件系统元数据可以单独地维护并且远离主文件系统。外部文件系统元数据数据库帮助任何连接主机设备更快速地将关于存储在TSD上的数据的信息提供给该主机设备的用户,而无需扫描或解析存储在该TSD的存储卷中的所有实际数据文件。该功能的一个示例可以在数字音乐播放器(例如MP3播放器)的上下文中理解,它通过使用元数据数据库可以更快速地将关于存储在该设备上的歌曲的信息提供给用户。
外部文件系统元数据数据库的高效管理的基础是例如作为固件的一部分由TSD维护的写入数据块地址的日志。在连接的主机设备请求时,TSD可以激活或停用该日志,或过滤特定的地址范围以防止它们出现在日志中。例如,数字相框可能只对于对存储在TSD上的图像数据文件的改变感兴趣。日志中的主机维护的元数据数据库没有解决的每个块条目表示主机设备必须以从文件系统的对应于该块的文件中提取相关元数据并接着使用该提取的元数据更新元数据数据库的形式执行的工作。一旦主机设备完成了对元数据数据库的更新,该主机设备就可以发出使TSD部分地或全部地从日志清除条目的请求。
有多种方式可以使TSD长久地保存日志,每种方式具有其自身的一组折衷。两种示例性方式中的第一种是对日志的地址范围进行行程编码(RLE)。RLE方式的优点是块是可变长度的并且可以用诸如频率等附加数据进行扩展。RLE也利用文件系统喜欢邻接的块地址的事实。第二种示例性方式是使用位图编码来写日志。位图编码的优点是块是固定长度的并且该格式每块仅消耗1位。位图编码的缺点是不可扩展。为了进一步促进日志中的大小效率,主机设备可以建议TSD写最小的分配单元和/或排除特定的地址区。
出于以下讨论的目的,可以将主机分成两种类型:高性能(HC)和较低性能(LC)。HC主机(例如台式计算机、膝上型计算机和服务器计算机)资源相对丰富,具有大且快速的处理器能力并且能够容易地解析大量文件系统数据并生成外部文件系统元数据数据库。相反,LC主机(例如视频游戏系统、汽车立体声、便携式媒体播放器、数字相框等)具有有限的资源,具有较慢、较小容量的处理器并且不能够在可容忍的时间段内从TSD的文件系统生成这样的元数据数据库。由此,生成和更新数据库的责任和数据库读取能力一起落到HC主机的身上。LC主机主要关心对元数据数据库的读取,如果还会的话。当然对于该分类可能存在例外,但是它一般适用。
对于HC主机遇到的每个TSD,生成和更新外部文件系统元数据的数据库。表示TSD的整体内容的该元数据数据库被长久地保留在TSD上并且与TSD自身一起传播,该元数据数据库在文件系统内作为文件或在文件系统外作为从存储卷传递主要数据文件的数据流之外的独立字节流来访问。如果当TSD从主机(例如定期地创建和存储数据文件(例如联系人信息)并且也用作MP3播放器的个人数字助理或智能电话)断开连接时,可以独立地操作TSD,则元数据数据库可以由当前连接的主机设备、其他将来连接的主机设备或甚至由TSD自身来消费。
在示例性实现中,当HC主机设备第一次与TSD连接时,HC主机设备上的更新器应用程序可以首先确定该TSD是否被配置成维护元数据数据库。如果TSD确实具有元数据数据库,则主机设备接着确定该TSD是否支持块地址日志记录。如果是,则主机设备检查日志以获取自上一次更新元数据数据库以来被写入到TSD中的块。如果主机设备指示TSD在更新元数据数据库时主动地清除日志条目,则可以确保日志仅包含自上次更新以来的条目。对于TSD上的日志中每个改变的数据块,主机设备定位文件系统中与改变的块相对应的数据文件的地址并且处理该数据文件以添加、移除或更新外部文件系统元数据数据库中的元数据。一旦更新了元数据数据库,主机设备指示TSD从日志中清除对应的一个或多个块条目。可以用事务性的方式执行这些操作以保持元数据数据库和块地址日志的完整性。
当TSD保持连接到当前的主机设备上时,可以随着各种应用程序和系统组建修改TSD的内容而找机会更新元数据数据库。块地址记录还有助于在元数据数据库更新期间从主机设备“意外地移除”TSD(即在没有确保对TSD的读取/写入操作已完成且它是出于非活动状态的情况下移除)的情况下保护其免于丢失完整性。只要适当地处理块地址日志条目移除和元数据数据库更新(以及交互元数据(inter-metadata)数据库更新),则在元数据数据库更新期间对TSD的任何意外移除在最坏的情况下只会导致尚待添加某些元数据数据库记录的暂时状态。然而,将TSD重新连接到同一或另一HC主机会从它被意外移除而打断的同一位置继续元数据数据库的更新任务。
HC主机可以被配置成在其自己内部的固定存储中维护元数据数据库的附加备份副本。元数据数据库的该副本可以被用作离线参考,或它可以用作TSD同步机制的整合组件。用于TSD的唯一序列号(要求符合许多存储设备规范)有助于维护备份元数据数据库副本和由该元数据数据库索引的TSD之间的一一对应关系。作为对元数据数据库的无意或恶意破坏的预防,它也可以由更新元数据数据库的HC主机设备签署,这样使得元数据数据库内的数据的任何消费者在使用该数据之前可以首先经由互相信任的根来验证由元数据数据库更新器执行的更新的真实性。
作为对理解该技术的帮助,在图1中结合HC主机114和LC主机112描述了暂时存储设备102,即TSD。TSD 102还包括在嵌入固件106的控制下运作的执行数据传递、主机-设备互相认证以及TSD 102的其他功能的处理器104。每个TSD 102可以具有至少一个且可能更多的存储卷110。TSD在固件106内维护块地址日志108以确保日志的持续性并且在它是标准文件系统中的文件的情况下防止可能的盖写。块地址日志108记录对存储卷110上的标准文件系统中的数据文件的所有改变的位置,而不管TSD 102连接到哪个主机设备或者甚至在TSD 102自身能够对存储卷做出改变的情况下。TSD还与存储卷110分开地维护存储卷110上的数据文件的元数据数据库112。
如图1中所示,可以是个人计算机的HC主机114具有相对高速且高性能的中央处理器116以及能够询问TSD 102上的存储卷110以生成元数据数据库112的足够量的工作存储器。然而,如果HC主机116上的中央处理器无需在每次TSD 102连接到HC主机114上时解析整个存储卷110以更新元数据数据库112,则用户体验可能更快。当与TSD 102连接时,HC主机114还实例化元数据更新器程序118,元数据更新器程序118可以被理解为结合TSD 102运作以维护TSD 102上的元数据数据库112的应用程序协议接口。HC主机设备114还可以主存元数据更新器118写入到HC主机114上的元数据数据库镜像120。元数据数据库镜像120是元数据数据库112的副本,并且可以由HC主机设备114用于向HC主机设备114的用户提供对TSD 102的元数据的更快速的访问或者在HC主机设备114从TSD 102断开时向该用户提供对TSD 102的元数据的访问。
当HC主机设备114与TSD 102连接时,元数据更新器118实例化并询问TSD 102以确定TSD 102是否维护块地址日志108,并且如果是,则标识自上一次更新元数据数据库112以来对存储卷110的任何改变。由此,可以可以由带有元数据更新器118的任何高性能主机在连接到TSD 102时执行对元数据数据库112的更新。这确保正在进行的更新仅是增量的并且无需在每次TSD 102连接到主机设备上时解析整个存储卷。
元数据更新器118指示TSD解析存储卷110上与记录在日志108中的块改变相关联的数据文件并且返回与所添加的、修改的或删除的文件有关的元数据136和块地址。例如,存储卷110可以包含各种数据文件,包括文档128、音乐文件130、视频文件132和图片文件134。此外,假定日志108指示在特定的块地址处更新了音乐文件130。元数据更新器118指示TSD 102提取并合成与该特定音乐文件相关联的任何相关元数据136,例如歌曲标题、艺术家、专辑名称和歌曲的长度。该元数据136接着可以被直接复制到元数据数据库112或HC主机设备114上以用于其他处理,并接着写回到TSD 102上的元数据数据库112中。
如果HC主机设备114如图1所示地维护元数据数据库镜像120,则元数据更新器118将需要从TSD 102将整个元数据数据库112复制到HC主机设备114上,以确保将另一主机设备做出的改变反应在元数据数据库镜像120中。或者,元数据更新器118的协议可以维护所有主机设备可以咨询以确定需要在任何镜像数据库上更新什么元数据的对元数据数据库112的所有改变的记录。
相反,当LC主机设备122与TSD 102连接时,LC主机122的处理器124不够强大而不能及时管理生成元数据数据库112的元数据136所必需的数据解析和传递功能。由此,LC主机设备122不运行元数据更新器程序。然而,LC主机设备122可以利用由较高性能的主机准备的元数据数据库112来提供有关LC主机设备122与TSD 102交换的数据文件的信息。例如,如图1中所示,LC主机设备122可以是具有有限的处理能力数码相框设备。相框的固件可能在功能上限于从TSD 102上的存储卷110传递图片文件130的副本以及删除先前存储在LC主机设备122上的图片文件。也可以与LC主机设备122共享元数据数据库112的子集126。在图1的示例中,仅在数码相框上维护与图片文件相关的元数据。相框可能具有或可能没有对存储卷110上的数据文件造成改变的能力。在LC主机设备122能够修改TSD 102的存储卷110上的任何数据文件的情况下,TSD 102的固件106将以把存储块改变条目记录到块地址日志108中的形式捕捉这种改变。
图2中描述了TSD在与装备元数据更新器模块的HC主机设备连接时执行的示例性过程200。最初,当TSD在物理上与主机设备连接时,在建立操作202中建立通信连接。TSD接着在发现操作204中执行发现功能,以确定主机设备是高性能设备还是较低性能的设备。这种类型的发现通知TSD关于将需要将什么类型的信息提供给主机设备,例如主机设备是否期望块地址日志改变或没有元数据更新能力。此外,TSD执行认证例程以确定主机设备是否被授权访问存储卷上的数据文件和/或元数据数据库,如在认证操作206中所示。认证可以使用证书、口令或者从主机设备接收的其他形式的认证来执行,以便与TSD持有的证书作比较。
一旦向TSD认证了主机设备并且假定确定主机设备是高性能设备,则TSD在输出操作208中将在日志中发现的任何块地址改变提供给主机设备中的元数据更新器应用程序。或者,在元数据更新器的指示下,TSD可以过滤或限制它提供给主机设备上的元数据更新器程序的来自日志的改变信息。例如,如果主机设备是仅想要与TSD上的音乐文件相关的更新信息的有限功能的设备(例如数字音乐播放器)时,可以做出对有限的日志信息的请求。
在第一提供操作210中,在将日志传递给主机设备之后并且在元数据更新器的指示下,TSD访问在日志中标识的块地址处的数据文件并且主机设备从经修改的数据文件提取相关的元数据信息以用于创建和更新元数据数据库。TSD接着在第二提供操作212中通过执行由元数据更新器指示的任何读取/修改/写入命令来向主机设备提供对元数据数据库的访问。元数据更新器由此能够仅用对存储卷上的数据文件的改变来更新存储在TSD上的元数据数据库,并由此极大地减少先前构建元数据数据库所需的时间和处理能力。
一旦更新了元数据数据库,则元数据更新器应用程序可以指示TSD更新日志,TSD在更新操作214中执行该更新。如果日志中指示的所有改变都反应在对元数据数据库的更新中,则TSD会清除在日志中反应的所有块地址改变。然而,如果仅有某些块地址改变反应在元数据数据库中,例如在以上示例中仅与音乐文件相关的那些改变,则TSD会只从日志中移除在元数据数据库中反应的那些地址块。在更新了日志之后,可以将TSD从主机设备断开,如在断开操作216中所示。
图3中描绘了装备元数据更新器模块的HC主机设备在与TSD连接时执行的示例性过程300。最初,当HC主机设备在物理上与TSD连接时,在建立操作302中建立通信连接。接着在发现操作304中执行发现功能,其中HC主机设备通知TSD它是高性能的。作为该操作的互补部分,HC主机可以获悉TSD是否提供元数据数据库以及进一步地TSD是否支持块地址记录。这种类型的发现向主机设备通知主机设备是否能够更新元数据数据库、是否必须通过解析TSD上的整个存储卷来执行更新或者TSD是否支持允许对元数据数据库做出基于改变的更新的块地址日志。此外,HC主机设备对TSD执行认证例程以确定主机设备是否被授权访问存储卷上的数据文件和/或元数据数据库,如在认证操作306中所示。认证可以使用证书、口令或者主机设备提供的其他形式的认证来执行,以便与TSD持有的证书或其他挑战信息作比较。
在读取/检查操作308中,一旦TSD确认了主机设备的认证,则HC主机设备可以访问TSD上的日志以便向主机设备中的元数据更新器应用程序标识在日志中发现的任何块地址改变。一旦接收到日志数据,元数据更新器应用程序仅读取存储卷上新的或经修改的数据文件以便为每个新的或经改变的文件提取并合成元数据,如在提取和合成操作310中指示的。在写入操作312中,在创建元数据时,元数据更新器将新的元数据写入到元数据数据库中,并且在适当时修改其中的现有元数据。一旦更新了元数据数据库,则元数据更新器可指示TSD上的固件转储清除日志,以使得只有对存储卷上的数据文件的新的改变才会受到将来的更新。
在更新了元数据数据库之后,作为正常操作的一部分,HC主机设备可以访问元数据数据库中的信息,以便将元数据提供给主机设备的用户,如查询操作316中所示。由于仅执行自上一次更新以来发生的HC主机设备对元数据的改变,因此向用户提供完全最新元数据信息的响应时间非常地快;取决于改变的数量,在大多数情况下,更新操作所需的时间对用户而言可能会是不明显的。当主机设备与TSD连接时,HC主机设备还可以将数据写入存储区域或从其中读出数据,如在读取/写入操作318中所示。为了维护当前的元数据数据库,过程300可以循环回到操作308中的读取和检查日志文件,以便记录在元数据数据库的当前会话期间由HC主机设备做出的改变。一旦在元数据数据库中反应了对数据文件的所有改变,HC设备会在断开操作320中从TSD断开。
图4中示出了LC主机设备在与TSD连接时执行的替换的示例性过程400。最初,当LC主机设备在物理上与TSD连接时,在建立操作402中建立通信连接。接着在发现操作404中执行发现功能,其中LC主机设备通知TSD它是较低性能的设备。作为该操作的互补部分,LC主机可以获悉TSD是否提供元数据数据库以及进一步地TSD是否支持块地址记录。此外,LC主机设备可以对TSD执行认证例程以确定主机设备是否被授权访问存储卷上的数据文件和/或元数据数据库,如在认证操作406中所示。认证可以使用证书、口令或者主机设备提供的其他形式的认证来执行,以便与TSD持有的证书或其他挑战信息作比较。可选地,如果LC主机设备还未成功地执行对TSD的认证例程,则TSD可允许对数据文件和/或元数据数据库的只读访问。
一旦向TSD认证了主机设备,则作为正常操作的一部分,LC主机设备可以访问元数据数据库中的信息以便向主机设备的用户提供元数据,如在查询操作408中所示。当主机设备与TSD连接时,LC主机设备还可以将数据写入存储区域或从其中读出数据,如在读取/写入操作410中所示。由于LC主机设备没有解析日志或者写入或修改元数据数据库的能力,因此由LC主机设备对TSD的存储卷上的数据文件做出的改变的位置将被记录在块地址日志中。这样,下次TSD与HC主机设备连接时,由LC主机设备做出的对数据文件的所有先前的改变会被捕捉并且被包括在HC主机设备对元数据数据库的将来的修改中。一旦LC主机设备做出了对数据文件的所有期望的改变,LC主机设备可以在断开操作412中从TSD断开。
图5中示出了对于TSD可以作为主计算机设备运作的通用计算设备500的示意图。用于主机计算设备的示例性硬件和操作环境可以包括处理单元502、系统存储器504和操作上将包括系统存储器504的各种系统组件耦合到处理单元502的系统总线518。可以有一个或多个处理单元502,这样使得计算机500的处理器包括单个中央处理器(CPU)或多个处理单元,通常称为并行处理环境。计算机500可以是常规的计算机、分布式计算机或任何其他类型的计算机。
系统总线518可以是若干种总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、交换光纤、点对点连接和使用各种总线体系结构中的任何一种的局部总线。系统存储器504可以被简称为存储器,并且包括只读存储器(ROM)506和随机存取存储器(RAM)505。基本输入/输出系统(BIOS)508可以被存储在ROM 506中,它包含有助于例如在启动期间在计算机500内的各个元件之间传送信息的基本例程。计算机500还可包括用于对硬盘536(未示出)进行读写的硬盘驱动器530,用于对可移动磁盘536进行读写的磁盘驱动器532,以及用于对诸如CD ROM或其它光介质等可移动光盘538进行读写的光盘驱动器534。
硬盘驱动器530、磁盘驱动器532和光盘驱动器534分别通过硬盘驱动器接口520、磁盘驱动器接口522和光驱接口524连接到系统总线518。驱动器及其相关联的计算机可读介质为计算机500提供计算机可执行指令、数据结构、程序模块和其他数据的非易失性存储。本领域的技术人员应该理解可以存储可由计算机访问的数据的任何类型的计算机可读介质,例如磁带盒、闪存卡、数字视频盘、RAM和ROM,都可以用于该示例性操作环境中。
多个程序模块可以被存储在硬盘530、磁盘532、光盘534、ROM 506或RAM 505上,包括操作系统510、一个或多个应用程序512、其他程序模块514和程序数据516。在示例性实现中,可以包含包括元数据更新器应用程序在内的用于与TSD进行通信和数据传递的程序来作为操作系统510的一部分(例如作为应用协议接口(API)的一部分)、分立的应用程序512或其他程序模块514。
用户可以通过诸如键盘540、定点设备542(例如鼠标)的输入设备将命令和信息输入到个人计算机500中。其他输入设备(未示出)可以包括例如话筒、操纵杆、游戏垫、平板、触摸屏设备、圆盘式卫星天线、扫描仪、传真机和摄像机。这些和其他输入设备通常可以通过耦合到系统总线518的串行端口接口526连接到处理单元502,但是可以用诸如并行端口、游戏端口或通用串行总线(USB)的其他接口连接。
监视器544或其他类型的显示设备也经由诸如视频适配器546等接口连接到系统总线518。除了监视器544之外,计算机通常包括其他外围输出设备,诸如打印机558和扬声器(未示出)。这些和其他输出设备通常通过耦合到系统总线518的串行端口接口526连接到处理单元502,但是也可以由诸如并行端口、游戏端口或通用串行总线(USB)等其他接口连接。媒体调谐器模块506也可以连接到系统总线518以调谐音频和视频节目(例如TV节目)以供通过视频适配器546或其他呈现输出模块输出。
计算机500可使用到一个或多个远程计算机,诸如远程计算机554的逻辑连接在网络化环境中操作。这些逻辑连接可以用与计算机500耦合或集成的通信设备实现;本发明不限于特定类型的通信设备。远程计算机554可以是另一计算机、服务器、路由器、网络个人计算机、客户机、对等设备或其它常见的网络节点,并且通常包括以上相对于计算机500描述的许多或所有元件,但在图5中仅示出了存储器存储设备556。图5中所描绘的逻辑连接包括到局域网(LAN)550和广域网(WAN)552。这种联网环境常见于办公室网络和公司范围的计算机网络、内联网和因特网等所有类型的网络。
当在LAN 550网络环境中使用时,计算机500通过网络接口或适配器528,例如以太网或其他通信接口连接到局域网550。当在WAN 552网络环境中使用时,计算机500通常包括调制解调器548、网络适配器、或用于通过广域网552建立通信的任何其他类型的通信设备。或为内置或为外置的调制解调器548经由串行端口接口526连接到系统总线518。在网络化环境中,相对于个人计算机500所描述的程序模块或其部分可以存储在远程存储器存储设备中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段和通信设备。
本文中描述的技术可以被实现为一个或多个系统中的逻辑操作和/或模块。逻辑操作可以被实现为在一个或多个计算机系统中执行的一系列处理器实现的步骤,并且被实现为一个或多个计算机系统内的互连的机器或电路模块。同样地,可以按照由模块执行或实现的操作来提供对各种组件模块的描述。所得的实现是取决于实现所描述的技术的基础系统的性能要求来选择的。因此,组成本文所描述的技术的实施例的逻辑操作被不同地称为操作、步骤、对象或模块。此外,应该理解,除非以其他方式明确地要求保护或权利要求语言固有地需要一特定的次序,否则任何操作可以按任何次序来执行。
在一些实现中,制品是作为计算机程序产品来提供的。在一个实现中,计算机程序产品是作为存储计算机系统可执行的经编码的计算机程序指令的计算机可读介质提供的。计算机程序产品的另一实现在由计算机系统包含在载波中并且编码计算机程序的计算机数据信号中提供。本文也描述和叙述了其他实现。
以上说明、示例和数据提供了对本发明的示例性实施例的结构和使用的完整的描述。虽然以上带有一定程度的特殊性或参考一个或多个个别的实施例描述了本发明的各实施例,但是本领域的技术人员可以对所公开的实施例做出许多改变,而不背离本发明的精神或范围。具体地,应该理解可以独立于个人计算机采用所描述的技术。因此构想了其他实施例。包含在以上描述中和在附图中示出的所有问题都旨在被解释为仅仅是对特定实施例的说明而非限制。可以做出对细节或结构的改变而不背离在所附权利要求中定义的本发明的基本元素。

Claims (13)

1.一种在存储设备(102)上用于维护与存储在所述存储设备(102)的存储卷(110)上的数据有关的信息的外部文件系统元数据数据库(112)的方法,所述方法包括:
建立与高性能主机设备的连接(202);
发现所述主机设备的更新所述元数据数据库的能力(204);
将与对所述存储卷上的数据做出的改变的存储位置相对应的地址记入日志(208);
将与所述元数据数据库的可用性以及与对所述存储卷上的数据做出的改变的存储位置相对应的地址的日志有关的发现提供给所述主机设备(212);
基于所述地址的日志从所述主机设备接收对所述元数据数据库的改变;以及
根据接收到的改变来读取、写入和修改所述元数据数据库。
2.如权利要求1所述的方法,其特征在于,还包括认证所述主机设备以授权对所述存储卷和所述元数据数据库的更新。
3.如权利要求1所述的方法,其特征在于,还包括在完成所述读取、写入和修改操作之后清除所述地址的日志。
4.如权利要求1所述的方法,其特征在于,
所述提供发现操作还包括根据所述主机设备的指示提供所述地址的日志的子集;以及
所述方法还包括在完成所述读取、写入和修改操作之后清除所述地址的日志的子集。
5.一种在存储设备上用于维护与存储在所述存储设备的存储卷上的数据有关的信息的外部文件系统元数据数据库的系统,所述系统包括:
用于建立与高性能主机设备的连接的装置;
用于发现所述主机设备的更新所述元数据数据库的能力的装置;
用于将与对所述存储卷上的数据做出的改变的存储位置相对应的地址记入日志的装置;
用于将与所述元数据数据库的可用性以及与对所述存储卷上的数据做出的改变的存储位置相对应的地址的日志有关的发现提供给所述主机设备的装置;
用于基于所述地址的日志从所述主机设备接收对所述元数据数据库的改变的装置;以及
用于根据接收到的改变来读取、写入和修改所述元数据数据库的装置。
6.一种在与存储设备(102)连接的高性能主计算机设备(112)上用于维护与存储在所述存储设备(102)的存储卷(110)上的数据有关的信息的外部文件系统元数据数据库(120)的方法,所述方法包括:
建立与存储设备的连接(302);
将与更新所述元数据数据库的能力有关的发现提供给所述存储设备(304);
从所述存储设备接收与所述元数据数据库的可用性和与对所述存储卷上的数据做出的改变的存储位置相对应的地址的日志有关的发现(304);
读取所述地址的日志以标识所述存储卷上的经改变的数据的存储位置(308);
从在所标识的存储位置处发现的经改变的数据中提取元数据(310);以及
指示所述存储设备用所提取的元数据更新所述元数据数据库(312)。
7.如权利要求6所述的方法,其特征在于,还包括从所述存储设备接收授权对所述元数据数据库的更新的认证确认。
8.如权利要求6所述的方法,其特征在于,还包括在完成更新所述元数据数据库之后,指示所述存储设备清除所述地址的日志。
9.如权利要求6所述的方法,其特征在于,
所述读取操作还包括过滤所述地址的日志以标识所述经改变的数据的存储位置的子集;以及
所述提取操作还包括从与所述存储位置的子集相对应的经改变的数据的子集提取元数据。
10.如权利要求9所述的方法,其特征在于,还包括在所述存储设备完成更新所述元数据数据库之后,指示所述存储设备清除与所述存储位置的子集相对应的所述地址的日志的子集。
11.如权利要求6所述的方法,其特征在于,还包括
从所述存储设备复制所述元数据数据库;以及
将所复制的元数据数据库存储在所述主计算机设备上。
12.如权利要求6所述的方法,其特征在于,还包括指示所述存储设备将改变写入到所述存储卷上的数据上。
13.一种在与存储设备连接的高性能主计算机设备上用于维护与存储在所述存储设备的存储卷上的数据有关的信息的外部文件系统元数据数据库的系统,所述系统包括:
用于建立与存储设备的连接的装置;
用于将与更新所述元数据数据库的能力有关的发现提供给所述存储设备的装置;
用于从所述存储设备接收与所述元数据数据库的可用性和与对所述存储卷上的数据做出的改变的存储位置相对应的地址的日志有关的发现的装置;
用于读取所述地址的日志以标识所述存储卷上的经改变的数据的存储位置的装置;
用于从在所标识的存储位置处发现的经改变的数据中提取元数据的装置;以及
用于指示所述存储设备用所提取的元数据更新所述元数据数据库的装置。
CN2009801247992A 2008-06-25 2009-05-20 可移动存储设备上的外部文件系统元数据的维护 Expired - Fee Related CN102077183B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/146,024 2008-06-25
US12/146,024 US20090327295A1 (en) 2008-06-25 2008-06-25 Maintenance of exo-file system metadata on removable storage device
PCT/US2009/044678 WO2009158084A2 (en) 2008-06-25 2009-05-20 Maintenance of exo-file system metadata on removable storage device

Publications (2)

Publication Number Publication Date
CN102077183A CN102077183A (zh) 2011-05-25
CN102077183B true CN102077183B (zh) 2013-12-18

Family

ID=41445165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801247992A Expired - Fee Related CN102077183B (zh) 2008-06-25 2009-05-20 可移动存储设备上的外部文件系统元数据的维护

Country Status (4)

Country Link
US (1) US20090327295A1 (zh)
EP (1) EP2291748A2 (zh)
CN (1) CN102077183B (zh)
WO (1) WO2009158084A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011085035A1 (en) * 2010-01-07 2011-07-14 Divx, Llc Systems and methods for accessing content using an internet content guide
CN102290091B (zh) * 2011-09-02 2013-11-20 南京博同科技有限公司 一种移动硬盘日志文件的完整保护方法
US8990263B2 (en) * 2012-03-15 2015-03-24 International Business Machines Corporation Policy-based management of storage functions in data replication environments
US9075758B2 (en) * 2012-03-19 2015-07-07 Samsung Electronics Co., Ltd. Removable storage device with transactional operation support and system including same
CN102867044A (zh) * 2012-09-05 2013-01-09 深圳市网卓信息科技有限公司 移动终端同步pc端文件的方法
CN103226592A (zh) * 2013-04-15 2013-07-31 浪潮(北京)电子信息产业有限公司 一种基于数据库的文件系统及文件存储方法
CN105205053A (zh) * 2014-05-30 2015-12-30 阿里巴巴集团控股有限公司 一种数据库增量日志解析方法及系统
CN104104731B (zh) * 2014-07-28 2018-02-02 浪潮(北京)电子信息产业有限公司 一种维护数据一致性的方法及装置
WO2018090249A1 (en) 2016-11-16 2018-05-24 Huawei Technologies Co., Ltd. Log-structured storage method and server
CN108646986B (zh) * 2018-05-17 2021-09-17 广州视源电子科技股份有限公司 一种用于Linux系统电视终端挂载可移除存储设备的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257690B1 (en) * 2004-10-15 2007-08-14 Veritas Operating Corporation Log-structured temporal shadow store

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010144B1 (en) * 1994-10-21 2006-03-07 Digimarc Corporation Associating data with images in imaging systems
US5832496A (en) * 1995-10-12 1998-11-03 Ncr Corporation System and method for performing intelligent analysis of a computer database
US5870746A (en) * 1995-10-12 1999-02-09 Ncr Corporation System and method for segmenting a database based upon data attributes
US5974238A (en) * 1996-08-07 1999-10-26 Compaq Computer Corporation Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
AU5365998A (en) * 1996-11-27 1998-06-22 1 Vision Software, L.L.C. File directory and file navigation system
US6493720B1 (en) * 1998-01-26 2002-12-10 International Business Machines Corporation Method and system for synchronization of metadata in an information catalog
US6018742A (en) * 1998-07-07 2000-01-25 Perigis Corporation Constructing a bifurcated database of context-dependent and context-independent data items
US6931397B1 (en) * 2000-02-11 2005-08-16 International Business Machines Corporation System and method for automatic generation of dynamic search abstracts contain metadata by crawler
US20030037020A1 (en) * 2000-02-22 2003-02-20 Lars Novak Method and apparatus for synchronizing databases of portable devices without change logs
US6760721B1 (en) * 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data
US6981116B2 (en) * 2002-03-06 2005-12-27 Microsoft Corporation System and method for information control block tracking streams for universal disk format file systems
US7117201B2 (en) * 2002-03-20 2006-10-03 Hewlett-Packard Development Company, L.P. Resource searching
US7469306B2 (en) * 2002-06-28 2008-12-23 Nxp B.V. Method for communicating with first and second device that includes reference to metadata wherein third device modifies the metadata based on specific operations by first device
US20040093592A1 (en) * 2002-11-13 2004-05-13 Rao Bindu Rama Firmware update in electronic devices employing SIM card for saving metadata information
US7093101B2 (en) * 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7181480B1 (en) * 2003-06-30 2007-02-20 Microsoft Corporation System and method for managing internet storage
US20130097302A9 (en) * 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US7162571B2 (en) * 2003-12-09 2007-01-09 Emc Corporation Methods and apparatus for parsing a content address to facilitate selection of a physical storage location in a data storage system
US7565661B2 (en) * 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
TWI255426B (en) * 2004-05-18 2006-05-21 Carry Computer Eng Co Ltd Storage control apparatus capable of analyzing volume information and the control method thereof
WO2006012328A2 (en) * 2004-06-25 2006-02-02 Media Matters Llc Method and system for automated migration of media archives
US8131674B2 (en) * 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US20060004699A1 (en) * 2004-06-30 2006-01-05 Nokia Corporation Method and system for managing metadata
US20080201299A1 (en) * 2004-06-30 2008-08-21 Nokia Corporation Method and System for Managing Metadata
US7644107B2 (en) * 2004-09-30 2010-01-05 Microsoft Corporation System and method for batched indexing of network documents
US8429131B2 (en) * 2004-11-17 2013-04-23 Autonomy, Inc. Systems and methods for preventing digital asset restoration
US10204338B2 (en) * 2004-11-24 2019-02-12 Microsoft Technology Licensing, Llc Synchronizing contents of removable storage devices with a multimedia network
US20060117048A1 (en) * 2004-11-30 2006-06-01 Microsoft Corporation Method and system of synchronizing filter metadata after a restore
US7483585B2 (en) * 2004-12-01 2009-01-27 Ati Technologies Ulc Image compression using variable bit size run length encoding
US8239544B2 (en) * 2005-06-17 2012-08-07 Microsoft Corporation Removable storage content transfer
US7734590B2 (en) * 2005-09-30 2010-06-08 Rockwell Automation Technologies, Inc. Incremental association of metadata to production data
US7613739B2 (en) * 2005-11-17 2009-11-03 Research In Motion Limited Method and apparatus for synchronizing databases connected by wireless interface
US8930496B2 (en) * 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20070162516A1 (en) * 2005-12-30 2007-07-12 Microsoft Corporation Computing asynchronous transaction log replication progress based on file change notifications
US7693864B1 (en) * 2006-01-03 2010-04-06 Netapp, Inc. System and method for quickly determining changed metadata using persistent consistency point image differencing
US20070208780A1 (en) * 2006-03-02 2007-09-06 Anglin Matthew J Apparatus, system, and method for maintaining metadata for offline repositories in online databases for efficient access
US20080016312A1 (en) * 2006-07-12 2008-01-17 Tyler Thorp Method for Managing Data on Removable Storage Devices in an Electronic Library
US7996380B2 (en) * 2006-08-04 2011-08-09 Apple Inc. Method and apparatus for processing metadata
US20080301172A1 (en) * 2007-05-31 2008-12-04 Marc Demarest Systems and methods in electronic evidence management for autonomic metadata scaling
US8230317B2 (en) * 2008-04-09 2012-07-24 International Business Machines Corporation Data protection method for variable length records by utilizing high performance block storage metadata

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257690B1 (en) * 2004-10-15 2007-08-14 Veritas Operating Corporation Log-structured temporal shadow store

Also Published As

Publication number Publication date
WO2009158084A3 (en) 2010-02-25
CN102077183A (zh) 2011-05-25
US20090327295A1 (en) 2009-12-31
EP2291748A2 (en) 2011-03-09
WO2009158084A2 (en) 2009-12-30

Similar Documents

Publication Publication Date Title
CN102077183B (zh) 可移动存储设备上的外部文件系统元数据的维护
CN100504873C (zh) 管理归档文件系统的方法和装置
KR101352515B1 (ko) 권리객체 매핑 테이블 설치 장치 및 방법
CN1822004B (zh) 使用文件系统将文件自动备份为世代文件的系统和方法
CN101809566B (zh) 高效的文件散列标识符计算
US8341363B2 (en) Efficient cloud network attached storage
CN100414521C (zh) 计算机控制便携式个人设备的方法及其该设备的操作方法
US20160048429A1 (en) Back-Up Storage For Home Network
US7831644B2 (en) Electronic apparatus and content data providing method
CN104731691A (zh) 动态调整分布式文件系统内文件副本数目的方法和系统
CN102685194B (zh) 存储设备迁移和重定向的方法和系统
AU2012255716A1 (en) Providing access to mainframe data objects in a heterogeneous computing environment
CN107241444B (zh) 一种分布式缓存数据管理系统、方法及装置
CN103078898A (zh) 文件系统、接口服务装置和数据存储服务提供方法
CN102332016A (zh) 目录机会锁
CN101211367A (zh) 信息处理设备、信息处理方法和程序
CN103731489A (zh) 一种数据存储方法、系统和设备
CN1326008C (zh) 许可创建装置、许可创建方法和计算机程序
CN102323930A (zh) 对数据库系统中的数据变更进行镜像
TW202018506A (zh) 一種網路交換機執行自動備份資料之系統與方法
CN101216794A (zh) 改进的Server-Less备份方法、存储设备及备份服务器
CN102142010A (zh) 嵌入式设备上的多媒体服务数据库录入数据的方法和设备
US20090150332A1 (en) Virtual file managing system and method for building system configuration and accessing file thereof
CN104903871A (zh) 虚拟磁带库系统
US20120059986A1 (en) Disk apparatus, data replicating method onto disk apparatus and program recording medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131218

Termination date: 20190520

CF01 Termination of patent right due to non-payment of annual fee