数据管理方法和系统的制作方法

文档序号:6465386阅读:137来源:国知局

专利名称::数据管理方法和系统的制作方法
技术领域
:本申请M列号为10/877584的美国专利申请的共同未决申请,上述美国专利申请是2004年6月25日提出的。本申请也要求临时专利申请号为60/643087的未决美国专利申请的优先权,上述专利申请是2005年l月7日提出的,该临时申请在此处被全部结合加以参考;该申请根据35U.S.C.pi9(e)要求临时申请日的利益。此处,本申请根据35U.S.C.§120要求较早申请日的利益。
背景技术
:现代数据处理系统,例如通用计算机系统,允许该系统的用户产生大量不同类型的数据文件。举例而言,数据处理系统的典型用户可以使用文字处理程序生成文本文件,可以使用图像处理程序生成图像文件,该文字处理程序例如微软公司的Word,该图像处理程序例如Adobe公司的Photosh叩。大量其他类型的文件能够被典型数据处理系统的一个或者多个用户所生成或者改变、编辑以及使用。生成的或者被改变的大量不同类型的文件给寻找生成的特定文件的典型用户提出挑战。现代数据处理系统通常包括文件管理系统,该文件管理系统允许用户将文件放在目录或者子目录(例如文件夹)中并且允许用户对文件命名。另外,该文件管理系统通常允许用户以搜索文件名、或者生成曰期、或者修改日期、或者文件类型的方式查找文件。该文件管理系统的一个示例是Macintosh计算机上使用的Finder程序,其由加利福尼亚州库珀蒂诺的苹果计算机公司制造。文件管理系统的另一个示例是在Windows操作系统上使用的WindowsExplorer禾呈4,^申4牵页少卄*一公司制造。Finder程序和WindowsExplorer程序都包括查找命令,该查找命令允许用户以多种标准查找文件,这些标准包括文件名或者生成曰期或者修改日期或者文件类型。然而,不论文件的类型如何,该查询能力在每一文件相同的信息中搜索。如此,举例而言,MicrosoftWord文件的搜索数据和AdobePhotoshop文件的搜索数据相同,并且典型地,该数据包括文件名、文件类型、生成日期、最后修改日期、文件大小和其他特定参数,这些参数可以由文件管理系统维护。现有的特定应用程序允许用户维持有关特定文件的数据。该有关特定文件的数据可以被认为是元数据,因为该数据是有关其他数据的数据。特定文件的元数据包括有关文件作者、文档综述和多种其他类型的信息的信息。当用户生成文件和用户添加附加数据或者通过在MicrosoftWord的菜单选择器中选择"属性表"编辑数据的时候,例如MicrosoftWord的程序可以自动生成一些该数据。MicrosoftWord的属性表允许用户生成特定文件或者文档的元数据。然而,在现有系统中,用户不能^f吏用来自用户的一条搜索请求在大量不同应用中搜索元数据。另外,现有系统能够执行数据文件的搜索,但是该搜索也不包括在该文件中搜索元数据。在先的现有系统或者基于用户请求或者基于预定时间执行用户文件的全文索引。
发明内容此处描述在数据处理系统和数椐管理系统中管理数据的方法。根据此处描述的本发明的一个方面,示例性方法包括通过索引软件组件接收数据存储装置上的现有文件已经被修改或者在数据存储装置上新文件被创建的通知,并且响应该通知,在现有文件或者新文件上执行索引操作。优选地,通知包括标识现有文件(或者新文件)的标识符。在另一个实施例中,通知并不仅仅基于时间或者用户输入。响应探测用户行为,索引操作可以被延迟或者被拖延或者具有降低的处理优先权。储器上。队列的改变会写入通知的交易日志中。根据此处描述的本发明的另一个方面,处理数据的示例性方法包括确定文件要被索引到索引数据库中还是要将元数据加入到元数据库中,将代表文件的条目添加到索引操作(或者元数据操作)列表中,以及将列表保存在非易失存储器上。该方法可以还包括在索引文件之后(或者在元数据操作之后)将条目从列表移除以生成更新列表,和将更新列表保存在非易失存储器上。该方法还包括将变化输入到交易日志的列表中。该通知可以来自操作系统组件,该组件提供通知以响应在存储装置相对于文件存储数据,该存储装置例如非易失存储器。根据本发明的另一个方面,一种示例性方法包括监测用户对于数据处理系统的使用并且响应监测自动调整索引操作和元数据处理操作。该索引操作是包括索引文件以生成添加到索引数据库的入口的典型操作,并且典型地,元数据操作涉及针对文件将元数据添加到元数据库。索引操作或者元数据操作可以被数据处理系统自动执行以响应通知,该通知可以是从操作系统组件传送到索引软件組件或者元数据软件组件。典型地,在用户对于数据处理系统的使用增长的时间,较少的索引操作得以执行。索引操作(或者元数据操作)的自动调整涉及改变索引软件(或者元数据软件)相对于数据处理系统执行的其他软件的处理优先权(例如Unix中的"Nice,,命令)。索引操作的优先权可以改变或者输入/输出(I/O)操作的优先权可以改变或者两种操作的优先权都可以改变。根据此处描述的本发明的另一个方面,处理数据的示例性方法包括确定索引数据库最后更新的时间,其中索引数据库包含来自存储在存储装置上的文件的内容,和确定存储在存储装置上的文件在索引数据库最后更新的时间之后是否被修改或者创建,和更新在索引数据库最后更新的时间之后被修改或者创建的文件的索引数据库。该更新可以自动发生无需用户介入。类似的方法可以被执行以确定是否要更新元数据库。根据此处描述的本发明的另一个方面,处理数椐的示例性方法包括装配存储装置并且自动响应装配,确定在存储装置上是否索引一个或者多个文件。确定是否索引一个或者多个文件包括将索引数据库的最后使用时间或者最后关闭时间与卸载时间或者存储装置的最后写入时间相比较,并且也可以包括在卸载时间之后将索引数据库的最早使用时间或者最后打开时间与存储装置的装配时间或者最早写入时间相比较。典型地,索引数据库存储在装配的存储装置上。类似方法可以,皮执行以确定是否自动响应存储装置的装配更新元数据库。根据此处描述的本发明的另一个方面,示例性方法包括装配存储装置和在装配之后评价是否在存储装置上自动索引一个或者多个文件,该评价通过评价自从存储装置上的文件的索引数据库上次被关闭或者写入之后,存储装置上的文件是否被修改或者新文件是否被添加来实现。根据此处描述的本发明的另一个方面,处理数据的示例性方法包括装配存储装置和自动响应该装配,无需检查在索引数据库中索引的每一文件的记录,确定是否索引存储装置上的一个或者多个文件。前述示例性方法也可以被执行以确定来自新文件或者^f务改的文件的元数据是否需要自动添加(例如引入)到元数据库中。举例而言,根据本发明的该方面的一个示例性方法包括装配存储装置和自动响应装配确定是否从存储装置上的一个或者多个文件引入元数据。处理数据的另一个示例性方法包括确定来自文件的元数据被引入还是被添加到元数据库;将代表文件的条目添加到引入或者添加元数据的列表中,该引入或者添加元数据是从文件引入或者添加到元数据库;和将列表保存到非易失存储器上。列表的变化可以输入到交易日志中,并且在将文件的元数据添加到元数据库之后,列表的条目可以从列表中移除。本发明将以示例的方式加以阐明,并且不局限于附图中的特征,在附图中相同的标号表示同一元件。图l是数据处理系统的示例性实施例,其可以是通用计算机系统并且其可以根据此处描述的各种方法中任一方法运行。图2显示了才艮据本发明一个方面的示例性方法的总体示例。图3A显示了特定类型文件的特定类型元数据的内容的示例。图3B显示了另一特定类型文件的特定类型元数据的内容的另一示例。图4显示了根据本发明一个示例性实施例的元数据管理的架构的示例。图5是显示本发明另一示例性方法的流程图。图6是显示了根据本发明示例性实施例,使用元数据的展开文件格式的存储格式示例。图7A-7E显示了示例性实施例提供的图形用户界面的次序,该图形用户界面用于实现数据处理系统中的元数椐和/或其他数据的搜索。图8A和8B显示了根据本发明示例性实施例,显示搜索结果的两个格式示例。图9显示了本发明用户接口的另一个示例。图IO显示了本发明用户接口的另一个示例。图11A-11D依次显示了本发明中的另一示例性用户接口。图12A-12D显示了本发明中的用户接口的替代性实施例。图13A和13B进一步显示了本发明中的用户接口的替代性实施例。图14A、14B、14C和14D进一步显示了本发明中的用户接口的替代性实施例。图15A、15B、15C和15D显示了本发明中的用户接口的另一替代性实施例。图16A和16B显示了本发明中的用户接口的实施例的特定方面。图17显示了本发明中的用户接口的特定实施例的一个方面。图18A和18B显示了本发明中的用户接口的特定实施例的另一个方面。图19A、19B、19C、19D和19E进一步显示了本发明中的用户接口的示例性实施例。图20是阐明本发明另一示例性方法的流程图。图21是显示本发明另一示例性方法的流程图。图22A、22B、22C和22D阐明显示装置的显示,在该显示装置上,图21所示的方法的一个实施例被执行。图23是流程图,该流程图阐明了本发明示例性实施例中的方法的结合。图24是流程图,该流程图阐明了作为索引过程一部分的文件过滤的示例性方法。图25是阐明文件过滤的示例性方法的流程图。图26是流程图,该流程图阐明了过滤文件以确定文件元数据是否要添加到元数据库的示例性方法。图27是流程图,该流程图阐明了在索引文件内容的过程中的另一个示例性方法;尤其是在附图27的方法中,索引的优先权基于多个文件的位置确定,从而与用户最为相关的文件和表现为与用户最为相关的文件首先被索引或者相对于其他文件具有较高的优先权。图28是流程图,该流程图阐明了本发明的另一个示例性方法,在该方法中更新元数据库的通知可以被结合。图29是流程图,该流程图阐明了本发明的另一个示例性方法,在该方法中通知被结合。图30代表另一个示例性方法,在该方法中通知被结合以将通知的第一数量降低到较小的通知数量。具体实施方式本发明将参考下述大量细节进行描述,并且附图会阐明本发明。下述描述和附图是本发明的阐释,并且不能被解释为本发明的限制。大量具体细节被加以描述从而提供本发明完整的理解。然而,在特定情况下,成不必要的模糊。该描述包括受到版权保护的材料,例如图形用户接口图像的阐释。此处,版权的权利人对这些材料保留权利,包括版权,该权利人包括本发明的代理人。因为专利文档或者专利公开内容显示在专利商标局的文件或者记录中,所以版权权利人不反对任何人对于专利文档或者专利公开内容的复制再现,但是其他无论什么都保留所有版权。苹果公司版权所有,2004。附图1显示了可以由本发明使用的典型计算机系统的示例。请注意附图1阐释了计算机系统的多个组件,并不意味着代表组件连接的任何特定架构和方式,因为该细节与本发明没有密切联系。还应当知道具有较少组件或者可能具有较多组件的网络计算机和其他数据处理系统也可以用于本发明。举例而言,附图1中所示的计算机系统可以是由苹果计算机公司制造的Macintosh计算机。如附图1所示,计算机系统101是数据处理系统的一种形式,其包括总线102,总线与微处理器103和ROM(只读存储器)107和易失性RAM105和非易失性存储器106。微处理器103可以是摩托罗拉公司制造的G3或者G4微处理器,或者是一个或者多个IBM制造的G5微处理器。总线102将多个组件连接在一起,并且也将组件103、107、105和106连接到显示控制器和显示装置104以及例如输入/输出(I/O)装置的外围装置上,该输入/输出(1/0)装置可以是鼠标、键盘、调制解调器、网,口、打印机以及本领域公知的其他装置。典型地,输入/输出装置109通过输入/输出控制器108与系统相连。典型地,易失性RAM(随机访问存储器)105由动态RAM(DRAM)实现,动态RAM需要持续供电以更新或者维持存储器中的数据。典型地,海量存储器106也可以是磁性硬盘驱动器或者磁性光学驱动器或者光驱动器或者DVDRAM或者存储器系统的其他类型,该系统甚至在系统切断电源之后还保持数据(例如大量数据)。典型地,尽管不必要,海量存储器106也可以是随机访问存储器。尽管附图1显示海量存储器106是与数据处理系统的其他组件直接连接的本地设备,应当知道本发明可以使用与系统距离较远的非易失性存储器,例如与数据处理系统通过网络接口相连的网络存储装置,该网络接口例如调制解调器或者以太网接口。总线102可以包括通过多个本领域公知的桥连接器、控制器和/或适配器,相互连接的一条或者多条总线。在实施例中1/0控制器108包括用于控制USB外围设备的USB(通用串行总线)适配器和用于IEEE1394外围设备的IEEE1394控制器。从该描述可以明显地得知,本发明的一些方面可以由软件实现,至少部分可以由软件实现。也就是说,该技术可以在计算机系统或者其他数据处理系统中实现,以响应例如微处理器的处理器,该技术执行包含在存储器中的指令序列,该存储器例如ROM107、RAM105、海量存储器106或者远程存储装置。在多个实施例中,硬连线电路可以与软件指令结合应用,以实现本发明。如此,该技术并不局限于硬件电路和软件的任何特定结合,也不局限于数据处理系统执行的任何特定指令源。另外,贯穿该描述,各种功能和操作被描述为由软件代码执行或者由软件代码引发以简化该描述。然而,本领域技术人员可以意识到该表达意味着该功能由例如微处理器103的处理器执行代码实现。在多个应用程序中元数据的获取和应用附图2显示了本发明一个实施例的一般示例。在该示例中,捕获的元数据对于搜索设备而言是有用的,例如,该搜索设备是操作系统的组件,其允许在所有捕捉到元数据的应用程序中同时搜索所有元数据(以及可选择地,在数据文件中的所有非元数据中搜索)。附图2中的方法可以开始于操作201,在该操作中从大量不同应用程序中捕捉到元数据。捕捉到的元数据接着在操作203中由搜索设备使用,该搜索设备例如用于搜索的文件管理系统软件。在步骤205中,该搜索设备允许元数据的搜索在具有捕捉到的元数据的所有应用程序中进行。在步骤207中,该方法也提供搜索引擎的用户接口和由搜索引擎得到的搜索结果。存在大量可能的附图2中的方法的实现方式。举例而言,附图5显示了附图2的方法的一个示例性实施例的具体实现。可替代的实现方式也可以被使用。举例而言,在可替代的实现方式中,元数据由每一应用程序提供到中心源中,该中心源存储搜索设备使用的元数据,并且该中心源由操作系统组件管理,该操作系统组件可能是元数据处理软件。操作207中提供的用户接口可以有多种不同格式,包括下述一些示例以及传统的现有的用户接口。元数据存储在数据库中,该数据库可以是多种格式中的任一种格式,该格式包括B树格式,或者如下所述,根据本发明一个实施例的展开文件格式。附图2中的方法可以由不存储或者提供元数据的程序实现。在这种情况下,操作系统的一部分实现从大量不同程序中捕捉元数据的功能,尽管该程序没有被设计以提供或者捕捉元数据。对于允许用户针对特定文档生成元数据的程序而言,本发明的特定实施例可以允许将捕捉到的元数据输出回应用程序的数据文件,该应用程序维护有关数据文件的元数据。附图2中的方法允许有关多种不同应用程序产生的多种不同文件的信息可由系统级搜索设备存取,该存取与现有技术中的Finder或者WindowsExplorer的版本在大量不同应用程序中搜索文件名、生成曰期等的方式相似。如此,用于由多个不同应用程序产生的多个不同文件的元数据可以由操作系统的扩展存取,并且该扩展的示例作为元数据处理软件显示在附图4中,该元数据处理软件与系统其他部件相互作用,并且在下面将详细描述。附图3A和3B显示两种不同数据文件类型下的两种不同元数据格式。请注意可以在所有的字段上没有重叠;换句话说,一种类型的元数据的字段和另一种类型的元数据的字段完全不同。元数据格式301可以用于例如JPEG图像文件的图像文件。该元数据可以包括一些信息,该信息例如图像宽度、图像长度、图像色彩空间、每象素的位数、ISO设置、闪光灯设置、照相机的F/光圏(F/stop)、拍照的照相机的商标、用户添加键盘和其他字段,其他字段例如可以唯一识别特定文件的字段,该识别在文件的修改中是永久性的。附图3B所示的元数据格式331可以用于例如MP3音乐文件的音乐文件。该元数据格式中的数据可以包括音乐家标识、音乐风格、唱片名、唱片中的歌曲名或者特定文件的歌曲名、歌曲播放时间或者特定歌曲的歌曲播放时间以及其它字段,其他字段例如标识特定MP3文件的永久性文件ID,在该特定MP3文件中元数据,皮捕捉到。其它字段类型也可以被使用。下述图表显示了多个字段的示例,该字段可以被用于各种类型文件的元数据中。<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table><table>tableseeoriginaldocumentpage19</column></row><table><table>tableseeoriginaldocumentpage20</column></row><table>在各种元数据类型中都有用的一个特定字段可以是包括插入标识符或者可以用于从数据文件捕获元数据和/或将元数据输出回生成应用的其他软件元素。各种不同软件架构可以用于实现此处描述的功能和操作。下面的讨论提供该架构的一个示例,但是应当知道替代性的架构也可以被使用从而达到相同或者相类似的结果。显示在附图4中的该软件架构是一个基于Macintosh操作系统的示例。架构400包括元数据处理软件401和操作系统(OS)内核403,该操作系统内核与元数据处理软件401连接操作用于下述的通知机制。元数据处理软件401也与其他软件程序相连接,该软件程序例如文件系统图形用户接口软件405(可以是Finder)、电子邮件软件407和其他应用409。这些应用通过客户才几应用程序接口411与元数据处理软件401相连接,该客户机应用程序接口提供在元数据处理软件401和软件405、407和409之间传送数据和命令的方法。该命令和数据可以包括用户指定的搜索参数以及来自用户的执行搜索的命令,该参数和命令通过接口411传送到元数据处理软件401。元数据处理软件401也与输入端413的集合相连接,该输入端从各种应用中提取数据。特别地,在一个示例性实施例中,文本输入端被用于从文字处理或者文本处理文件中提取文本和其他信息,该文字处理或者文本处理程序例如MicrosoftWord等。该提取的信息是特定文件的元数据。其他类型的输入端从其他类型的文件中提取元数据,该其他类型的文件例如图像文件或者音乐文件。在该特定实施例中,特定输入端基于由应用程序产生和修改的文件的类型被选择。举例而言,如果数据文件由PhotoShop创建,则针对PhotoShop的图像输入端被用于通过元数据处理软件401将元数据从PhotoShop数据文件输入到元数据库415。另一方面,如果数据文件是文字处理文档,则被设计用于从文字处理数据文档中提取元数据的输入端被访问,以通过元数据处理软件401从文字处理数据文件中提取元数据并且将其置于元数据库415中。典型地,需要许多不同输入端以处理应用于典型的计算机系统的许多不同应用程序。优选地,输入端413包括大量输出端,该输出端能够将用于特定类型数据文件的提取的元数据输出回由特定应用程序维护的属性表或者其他数据组件。举例而言,应用程序可以维护由程序创建的每一数据文件的一些元数据,但是该元数据只是从该类型数据文件的输出端提取的元数据的子集。在这种情况下,输出端可以将附加元数据输出回或者简单地将元数据插入到应用程序维护的元数据的空白字段中。软件架构400还包括元数据的文件系统目录417。该文件系统目录跟踪数据文件和他们的元数据之间的关系,并且跟踪每一输入端创建的元数据对象的位置(例如与数据文件对应的元数据文件,其在该数据文件中被提取)。在一个示例性实施例中,元数据库被维持为如下所述的展开文件格式,并且文件系统目录417维护该展开文件格式。展开文件格式的一个优点在于数据作为数据字符串被置于存储装置上,不论从一个元数据文件(对应特定数据文件)到另一个元数据文件(对应另一个数据文件)的字段。数据的这一安排经常会导致从元数据库415中较快地检索信息。附图4中的软件架构400还包括基于内容查找软件419,该软件在操作中与包括文件索引的数据库421相连接。文件索引代表存储装置中数据文件的至少一个子集,并且可以包括一个特定存储装置(一些存储装置)中的所有数据文件,该存储装置例如计算机系统的主硬盘驱动器。文件的索引可以是传统的每一文档的内容的索引表示。基于内容查找软件419在内容中查找词汇以察看特定词汇是否存在于任何索引的数据文件中,该查找通过查找数据库"1实现。基于内容查找软件的功能在元数据处理软件401中具有效用,该元数据处理软件对用户具有好处,该好处就是用户可以同时检索数据库421中的文件索引(针对文件中的内容)以及要检索的各种数据文件的元数据。显示在附图4中的该软件架构可以用于执行附图5中所示的方法,或者可替换的软件架构可以用于执行附图5中所示的方法。附图5中的方法始于操作501,在该操作中,接收到文件改变的通知。该通知来自于操作系统内核403,其通知元数据处理软件401文件已经改变。该通知可以来自监听软件元件,该元件监测新的或者改变的文件和文件的删除。该改变可以是新文件的创建或者现有文件的改变或者现有文件的删除。现有文件的删除引发附图5中的处理方法的一种特殊情况,并且没有显示在附图5中。在删除的情况下,元数据处理软件401通过使用文件系统目录417删除元数据库415中的元数据文件,该元数据文件与删除的文件对应。其他类型的操作,例如新文件的创建或者现有文件的改变,引起从操作501到操作503的处理过程,在该处理过程中作为通知目标的文件类型^皮确定。该文件可以是AcrobatPDF文件或者RTF文字处理文件或者JPEG图像文件等等。在任何情况下,文件类型在操作503中确定。其可以通过从操作系统内核403接收与通知一起的文件类型,或者元数据处理软件401可以从文件系统图形用户接口软件405或者类似软件要求文件类型的标识,该软件维护数据文件的信息,例如数据文件的生成应用或者父应用。应当知道在一个示例性实施例中,文件系统图形用户接口软件405是在Macintosh操作系统上运行的Finder程序。在可以替换的实施例中,文件系统图形用户接口系统可以是运行在微软公司的Windows操作系统上的WindowsExplorer。在操作503文件类型被确定之后,合适的捕获软件(例如输入端413之一)被启动以确定文件类型。输入端可以是特定应用的插件,其生成文件类型,有关该文件类型的通知在操作501中被接收。一旦被启动,输入端或者捕获软件将合适的元数据(针对特定文件类型)输入到元数据库中,例如操作507中所示的元数据库415。接着在操作509中,元数据被存储在数据库中。在示例性实施例中,其可以以展开文件的形式存储。接着在操作511中,元数据处理软件401接收搜索参数的输入并且执行元数据库的检索(并且较优地,还引发例如文件索引421的非元数据源的检索),并且使得检索结果显示在用户接口上。其可以通过下述方式得以执行,该方式就是在一种应用和元数据处理软件401之间通过接口411交换信息,该应用例如软件405或者软件407或者其他应用409。举例而言,文件系统软件405可以表现为图形用户接口,允许用户输入搜索参数并且允许用户启动要执行的搜索。该信息通过接口411传送到元数据处理软件401,该软件在元数据库415中引发搜索并且也可以在索引文件的数据库421中引发搜索从而在被索引的每一数据文件中搜索内容。该搜索的结果被元数据处理软件401提供给请求应用,在此处给出的示例中该请求应用是软件405,但是应当知道软件的其他组件,例如电子邮件软件407,可以用于接收搜索输入并且可以用于提供检索结果的显示。用于输入搜索请求以及用于显示搜索结果的用户接口的各种示例在此处得以描述,并且显示在附图中。应当知道如果在操作系统内核中完成,通知是全局的系统级的通知处理,从而任何文件的变化会引起通知发送到元数据处理软件。还应当知道,在替换的实施例中,每一应用程序可以自己生成必要的元数据并且将元数据直接提供给元数据库,而无需来自操作系统内核的通知要求或者来自例如输入端413的输入端的干涉。可替换地,不使用操作系统内核通知,实施例可以使用从任一应用到元数据处理软件的软件调用,该元数据处理软件接收该调用并且接着响应该调用从每一文件中输入元数据。如上所述,元数据库415可以以展开文件的形式存储,从而提高大多数情况下的信息检索速度。该展开文件格式可以认为是非-B树(non-Btree)、非哈希树(non-hashtree)格式,在该格式下,数据不是试图被组织为而是被存储为数据流。每一元数据对象或者元数据文件自身包含字段,例如附图3A和3B中显示的字段。然而,典型地,从一个元数据文件的一个字段到下一个原数据文件或者另一个同一文件类型的原数据文件的相应字段(或者另一字段)没有关系或者引用或者指向。附图6显示了元数据展开文件的布局的实施例。格式601包括许多元数据文件,该元数据文件针对相应的许多数据文件。如附图6所示,元数据文件603是来自应用A的文件l的元数据,并且可以被称为元数据文件Al。类似地,元数据文件605是来自应用B的文件l的元数据,并且可以被称为元数据文件B1。典型地,每一该元数据文件包括字段,该字段不链接到其他字段,并且该字段不会包含指向其他元数据文件的其他字段的引用或者指针。从附图6中可以看出,附图6中的元数据库包括来自许多不同应用(应用A、B和C)的元数据文件和由该应用创建的不同文件。元数据文件607、609、611和617是附图6中显示的应用A、B和C创建的附加元数据文件。软查询语言可以用于以与查询语言用于搜索其他数据库相同的方式搜索元数据库。如果愿意,每一元数据文件中的数据可以被打包甚至被压缩。如上所述,在特定实施例中,每一元数据文件包括永久性标识符,该标识符唯一表示相应的数据文件。甚至如果文件名改变或者文件被修改,该标识符仍保持相同。这是实现了特定数据文件和元数据的永久性关联。用户接口方面用于输入搜索参数和用于显示搜索结果的用户接口的各种不同示例在此处得以提供。应当知道特定实施例中的一些特征可以与其他实施例结合,从而这种结合产生了混合实施例。应当知道,特定特征可以从这些实施例中移除并且在许多情况下仍然提供充足的功能。附图7A显示了图形用户接口,该图形用户接口是显示在显示装置上的窗口,该显示装置与例如计算机系统的数据处理系统连接。窗口701包含侧边条,该侧边条具有两个区域703A和703B,区域703A是用户配置区域,区域703B是由数据处理系统所指定的。关于该侧边条形区域的更为详细的内容可以在共同提出的第_号美国专利申请中找到,该申请是2004年6月22日提出的,并且题目为"MethodsandApparatusesforoperatingaDataProcessingSystem",发明者是DonaldLindsay和BasOrding,代理摘要号为04860.P3306。窗口701也包括显示区域705,在这种情况下,该显示区域显示用户请求的搜索结果。窗口701还包括搜索参数菜单条707,该菜单条包括可配置的下拉菜单713、715和717。窗口701还包括文本输入区域709,该区域允许用户输入作为搜索查询或者搜索参数一部分的文本。按钮711可以是开始搜索按钮,用户可以启动该按钮以便于基于选择的搜索参数开始搜索。可替代地,系统一接收任何搜索参数输入或者来自用户的搜索查询就可以执行搜索,而不是等待开始搜索的命令。窗口701还可以包括标题栏729,该标题栏可以用于与光标控制装置一起在桌面上移动窗口,该移动以传统的方式实现,该桌面显示在显示装置上。窗口701还包括关闭按钮734、最小化按钮735和调整大小按钮736,这些按钮分别用于将窗口关闭或者将窗口最小化或者调整窗口大小。窗口701还包括调整大小控制器731,其允许用户改变显示装置上的窗口的大小。窗口701还包括后退按钮732和前进按钮733,该后退按钮和前进按钮以与网络浏览器上的后退按钮和前进按^L类似的方式工作,该网络浏览器例如因特网浏览器(InternetExplorer)或者Safari。窗口701还包括显示控制器,该控制器包括三个按钮,该按钮用于选择在显示区域705上的三种不同类型的内容显示方式。当搜索中查找到的内容超过了显示区域705的有效显示面积,滚动控制器,例如滚动控制器721、722和723显示在窗口701上。这些可以使用传统方式实现,例如通过使用传统的图形用户接口技术在滚动区域721A上拖拉滚动条721。文本输入区域709和搜索参数菜单条的结合允许用户具体化搜索查询或者搜索参数。当用户激活下拉菜单的时候,每一个可配置的下拉菜单展示给用户可以选择的选项列表。如附图7A所示,用户从可配置的下拉菜单713中已经做出选择以指明要搜索的位置,在这种情况下指明搜索将在计算机系统的本地磁盘发生。可配置的下拉菜单715还被用户用于指明要搜索的文档的类型,在这种情况下其是由可配置的下拉菜单715指明的图像文档,该菜单指明"图像(images)"是该菜单的选中配置,并且因此是其具体指明的搜索参数。如附图7A所示,可配置的下拉菜单717代表增加的搜索参数下拉菜单。该增加的搜索参数下拉菜单允许用户对搜索查询添加额外的标准,以进一步限制搜索结果。在附图7A显示的实施例中,搜索参数在逻辑上以布尔的形式被加入。因此,如附图7A所示的状态下,被用户指明的当前搜索参数在所有本地磁盘上搜索所有图像,并且用户处于选择另一个搜索标准的过程中间,其通过选择添加搜索标准下拉菜单717实现,导致下拉菜单719的显示,该下拉菜单具有许多可以由用户选择的选项。附图7B显示了在用户在下拉菜单719中选择时间选项之后的窗口701,因此导致子菜单719A的显示,该子菜单包括用户可以从中选择的可能的时间。因此看出用户希望将在所有本地磁盘对所有图像的搜索限制在一定时间期间之内,该时间期间通过在子菜单719A中进行选择被确定。附图7C显示了用户在子菜单719A中选择了特定选项(在该情况下是"上周(pastweek)")之后,数据处理系统显示器上的窗口701。如果用户接受该选择,接着附图7D中所示的显示导致哪一种可配置的下拉菜单718得以显示,其展示了最近被创建或者被修改的用户选择的部分搜索标准文件。从附图7D中可以看出,用户可以通过在附图7D中显示的下拉式菜单718A中选择另一时间期间的方式,改变从下拉菜单718选出的特定时间。请注意表示添加搜索参数菜单的可配置下拉菜单717现在移至可配置下拉菜单718的右側。用户可以通过点击或者激活搜索参数菜单栏707上的可配置下拉菜单717进一步添加搜索参数。如果用户决定经过的星期数是时间类的适当搜索标准,用户可以放弃下拉菜单718A以多种不同方式显示(例如用户可以释放鼠标按钮,该鼠标按钮被按下以保持下拉菜单718A的显示)。当释放或者否则解除下拉菜单718A,显示在附图7E上的作为结果的窗口701接着出现。附图7A-7E中显示的用户接口中具有一些值得注意的方面。搜索参数和搜索查询在与搜索结果的显示相同的窗口中被实现。这样允许用户观察单一位置或者窗口以理解搜索参数和搜索参数如何影响显示的搜索结果,并且使得用户改变或者提高搜索参数以获得一个或者多个文件更为容易。该可配置的下拉菜单例如添加搜索参数下拉菜单,包括分层下拉菜单。其的一个示例显示在附图7B中,在该附图中从下拉菜单717中选择的时间标准引发另一菜单的显示,在这种情况下是可由用户选择的子菜单719A的显示。这允许在保持初始复杂度(例如无需子菜单显示)位于较低水平的情况下多个搜索参数得以紧密显示。附图7A-7E中示出的用户接口的另一个有用的方面在于具有重新配置以前已经配置过的下拉菜单的能力。因此,举例而言,可配置下拉菜单713目前指明搜索位置(在该情况下为全部本地磁盘),然而其可以通过选择与可配置下拉菜单713相连的下拉区域得以改变,导致表明可替换的位置的选项菜单的显示,该位置可以由用户选择。其也可以在附图7D中看出,在该图中最近的选项由用户选出(由搜索参数菜单栏707中的"上周"表明),但是下拉菜单718A所显示的选项菜单允许用户将选择的时间从"上周,,变为其他时间标准。该用户接口的另一个有用方面是通过使用添加搜索标准下拉菜单717和选择新标准的方式添加各种搜索标准的能力。应当理解下拉菜单中的各种选项可以依赖于特定类型元数据文件中的字段。举例而言,要搜索的"图像"的选择可以导致图像类型文件的元数据中提出的各种字段显示在一个或者多个下拉菜单中,允许用户在一个或者多个该字段中搜索特定类型的文件。并不适用于"图像"类型文件淆。、P、、、厂",、本发明的另一个特征显示在附图7A-7E中。在特定的情况下,侧边条形区域703A包括代表着从特定搜索中获得的搜索结果的文件夹725的标识,该侧边条形区域是侧边条的用户可配置部分,搜索结果可以是静态的或者动态的,这是因为在特定情况下搜索被再次执行以基于系统中的当前文件获得结果。附图7A-7E中所示的示例中的文件夹75代表十,二月IO号完成的本地磁盘上针对所有图像的搜索。通过在侧边条形区域703A选择该文件夹,用户可以引发显示区域705上的搜索结果的显示。这样,通过将搜索结果保存在侧边条形区域703A的方式,用户可以自动检索搜索结果。使得搜索结果或者搜索查询保存在側边条形区域703A的机制是选择添加文件夹按钮727,该按钮显示在窗口701的底部。通过选择该按钮,当前的搜索结果或者搜索查询以文件列表和当前搜索结果中检索到的其他对象的形式得到保存。在搜索查询而不是搜索结果被保存用以以后使用的情况下,当前搜索查询被保存以便于以后再次使用从而找到在较晚的时间与搜索查询相匹配的文件。用户可以通过未示出的命令选择的方式在该两种功能(保存搜索结果或者保存搜索查询)之间选择。附图8A和8B显示了用户接口特征的另一个方面,其可以应用于本发明的特定实施例中。附图8A中的窗口801代表搜索结果的显示,该搜索结果可以作为使用本发明多个不同实施例中的一个实施例荻得的结果。在此情况下该标题再现时间期间,该搜索结果可以被分类,这些种类通过标题805、807、809和811分离。使用标题的该特定划分通过用户使用日期修改按钮803被选择,该选择通过用户使用位于窗口801顶部的日期修改按钮803来选择标题"修改日期(datamodified),,实现。通过选择附图8B所示的位于窗口801A顶部的按钮802,一个替代性的选择使得不同搜索结果格式现在按标题分类,该标题表明文件的类型,该文件在搜索中得到检索并且如附图8B所示被标题815、817、819和821分隔。搜索结果显示中这些标题的使用允许用户快速浏览搜索结果以找到文件。附图9显示了本发明的另一个方面,其作为窗口901的一部分在附图9中得到阐释。该窗口包括显示搜索结果的显示区域卯5,并且该窗口还包括两个侧边条形区域卯3A和卯3B,侧边条形区域卯3A是用户配置部分,并且侧边条形区域903B是系统控制部分。文件夹添加按钮927可以由用户加以选择从而使得搜索结果或者搜索查询的额外部分添加到侧边条的用户配置部分。窗口卯l还包括传统窗口控制器,例如标题栏或区域929以及观察选择按钮937还有分别为最大化按钮、最小化按钮和调整大小按钮934,935和936,该标题栏区域可以用于在显示屏上移动窗口。窗口901显示了特定风格,在该风格下基于文本搜索的结果得到显示。文本输入区域909用于输入要搜索的文本。该文本可以用于在元数据文件或者索引文件或者二者的结合中搜索。显示区域卯5显示文本搜索结果,并且至少包括两列917和919,这两列提供了找到的文件的名称和匹配标准。如列919所示,匹配标准可以是作者字段或者文件名或者关键字或者评论或者包含在已搜索的元数据中的其他数据字段。列921显示了找到的文本,该文本与键入到文本输入区域909的搜索参数匹配。另一列911相对于搜索结果提供附加信息。特别地,该列包括每一特定类型的种类或者字段的匹配数目,以及条目913所表明的总匹配数目。因此,举例而言,在评论字段找到的匹配总数只有1个,同时其他字段具有较高的匹配数目。附图IO显示了本发明具体实施方式的其他特定方面。窗口1001是另一个搜索结果窗口,该窗口包括各种字段和菜单用于由用户选择各种搜索参数或者形成搜索查询。窗口1001包括可用于显示搜索结果的显示区域1005和用户可配置侧边条形区域1003A和系统指定侧边条形区域1003B。另外,窗口1001包括例如控制器1021和1022和1021A的传统滚动控制器。窗口还包括例如标题栏1029和显示控制按钮1037和最大化、最小化和调整大小按钮1034、1035和1036的传统控制器,该标题栏可以用于移动窗口。开始搜索按钮1015与文本输入区域1009较近。第一搜索参数菜单栏1007与第二搜索参数栏1011临近显示。当第二搜索参数菜单栏1011的两个菜单下拉控制器允许用户使用下拉菜单1012指明文件类型并且允许用户使用菜单1013指明文件创建或者最后修改的时间的时候,第一搜索参数搜索栏1007允许用户指明特定搜索的位置。窗口1001包括在分析搜索结果的时候非常有用的额外特征。用户可以从显示区域1005中选择单个文件并且将其加入一个集合中。每一个文件可以使用特定命令(例如按下鼠标右键并且从显示在显示屏上的菜单中选捧命令,命令可以是"将选择添加到当前组(addselectiontocurrentgroup),,)或者类似命令单独标注。通过单独选择该文件或者通过一次选择文件组,用户可以将文件组与选中的组或者"标注的(marked)"组关联,而且该关联可以用于在组的所有文件中执行命令动作(例如打印每一文件或者在查看窗口查看每一文件或者将每一文件移至新的或者现有的文件夹,等等)。该标注组的标识作为文件夹显示在用户配置区域1003A。该文件夹的示例是显示在用户配置区域的文件夹1020。通过选择该文件夹(例如通过将光标定位于文件夹1020并且按下以及释放鼠标按键或者通过按下另一键),作为选择的结果用户会引发被分在一组或者被标注的文件在显示区域1005中显示。可替换地,独立窗口可以仅仅显示被标注或者被分组的项目。该关联或者分组可以仅仅是临时的(例如他们只是在搜索结果窗口显示的时候存在),或者可以通过保留分组文件名单并且通过在用户可配置侧边条(例如侧边条IO(BA)中保留文件夹1020或者其他分组标识的方式成为永久的。某些实施例可以允许同一时间存在多个不同的分组,这些分组或联合的每个可以仅仅是临时的(例如他们仅在搜索窗口被显示时存在),或者他们可以通过保留已经被分组在每个单独的组中的所有文件的列表而被永久保留。应当知道每一组中的文件可以被不同应用创建。如上所述,一个分组可以被选择并且接着用户选择在所选择的组的所有文件中执行共同的动作(例如打印或者查看或者移动或者删除)的命令。附图IIA、IIB、11C和11D显示了允许用户输入搜索查询或者搜索参数的可替代的用户接口。附图中所示的该用户接口显示在窗口1101中,该窗口具有用户可配置的侧边条区域1103A和系统指定侧边条区域1103B。窗口1101还包括传统窗口控制器,例如窗口调整大小控制器1131,该部件可以在传统的图形用户接口方式下被拖拽以调整窗体大小,并且该窗体还包括滚动控制器,例如控制器1121、1122和1123。举例而言,滚动控制器1121可以在滚动区域1121A中被拖拽,或者鼠标或其他输入装置上的滚轮可以用于引发显示区域1105内的滚动。进一步,传统窗口控制器包括标题栏1129,该标题栏可以用于在桌面上移动窗口,其显示在计算机系统的显示装置上。并且该窗口还包括查看按钮1137以及关闭、最小化和调整大小按钮1134、1135和1136。后退和前进按4丑,例如后退按钮1132,也被提供以允许用户向后移动和向前移动,该移动的方式与网页浏览器中的后退和前进命令类似。窗口1101包括搜索参数菜单栏llll,该搜索参数菜单栏包括"搜索(searchby)"下拉菜单1112和"排序(sortby),,下拉菜单1114。"搜索,,下拉菜单1112允许用户指明特定搜索参数,如图IIB所示,其通过从一旦被激活即显示在下拉菜单中的选项中选择的方式实现。特别地,下拉菜单1113显示了当"搜索"下拉菜单1112被激活的时候下拉菜单的示例。"排序"下拉菜单1114允许用户指明搜索结果如何显示在显示区域1105中。在附图11A-11D所示的示例中,用户使用"排序"下拉菜单1114选择"查看日期(dateviewed)"标准以基于此排序搜索结果。应当注意用户可以通过选择三个查看按钮1137之一改变搜索查询结果的查看类型。举例而言,用户可以选择图标查看在查看按钮1137中目前被选择的按钮,或者用户可以选择列表查看或者列查看。附图IIB显示了用户激活"搜索"下拉菜单1U2后的结果,其导致菜单1113的显示,菜单1113包含许多选项,用户可以从中选择执行搜索的依据。应当知道对于用户而言存在大量不同激活"搜索,,下拉菜单1112的方式。一种方式包括光标的使用,例如由光标控制装置控制的显示屏上的指针,该光标控制装置例如鼠标。光标位于与"搜索,,菜单标题关联的区域(其是包含"按...搜索的"的搜索参数菜单条llll中的部分)并且接着用户通过按压例如鼠标按键的按钮表明茱单标题的选择,从而导致下拉菜单出现,在这种情况下该下拉菜单即如附图11B所示的菜单1113。在这一点上,用户可以继续移动光标指向菜单中的特定选项,例如"时间(time),,选项。这会导致子菜单在菜单1113的左侧或者右侧显示。子菜单可以与子菜单719A或者附图12A中显示的菜单1214相类似。如果"类别(kind),,选项在菜单1113中被选择,子菜单可以包括不同种类文档的总体列表,例如图像、照片、电影、文本、音乐、PDF文档、电子邮件文档等等,或者列表可以包括特定程序名称的引用,该程序例如PhotoShop、Director,Excel、Word等等,或者其可以包括总体名称和特定名称的结合。附图IIC显示了用户从菜单1113中显示的"类别"选项的子菜单中选择PhotoShop类型文档的结果。这导致了附图IIC所示的搜索参数菜单栏1111A的显示,该菜单栏包括高亮度区域1111B,该高亮度区域表明要搜索的PhotoShop类型文档。该搜索参数菜单栏1111显示在如图11C所示的搜索参数菜单栏1111A的下面。用户接着通过再次使用"搜索,,下拉菜单1112或者通过向文本输入区域1109输入文本指明附加搜索参数。举例而言,从附图11C所示的窗口1101的状态,用户可以选择"搜索,,下拉菜单1112,使得包含许多选项的菜单得以显示,该选项例如菜单1113中所示的选项或者例如与PhotoShop文档相关的可替换的选项(例如PhotoShop类型文档的元数据的各种字段)。包含在PhotoShop类型文档的元数据中的这些字段的结合和其他类别的字段(例如时间、文件大小和其他参数)可以显示在菜单中,例如通过选择"搜索,,下拉菜单激活的菜单1113。用户可以接着选择另一个标准,例如时间标准。在这种情况下,窗口noi显示允许用户指明特定时间的新搜索参数菜单栏1115。用户可以在菜单栏1115上选择时间或者可以通过选择标题为"时间"的菜单激活下拉菜单,时间作为菜单标题1116加以显示。附图11D中显示的窗口1101的状态可以接着基于用户选择的特定时间期间,搜索最近30天或者7天或者2天或者当天或者任意时间创建的所有PhotoShop文档。附图12A、12B、12C和12D显示了用户接口的另一个实施例,该用户接口用于实现生成搜索元数据和其他数据的搜索查询,并且该用户接口用于显示使用搜索查询执行搜索的结果。附图12A-12D中所示的不同实现方式以列模式显示用户接口的表现;其可以通过说明列按钮的选择看出,列按钮是附图12A中所示的查看按钮1237中的最右侧的按钮。窗口1201具有两列1211和显示区域1205,同时附图12C中的窗口1251具有三列,这三列是列1257、1259和显示区域1255,并且窗口1271具有三列,这三列是列1277、1279和显示区域1275。附图12A和12B中所示的窗口1201包括显示搜索结果的显示区域1205;当用户输入搜索参数的时候该结果将动态显示,或者该结果只是在用户指令系统执行搜索(例如通过选择"执行搜索(performsearch),,命令)之后加以显示。窗口1201包括传统窗口控制器,例如调整大小控制器1231、滚动控制器1221、可以用于移动窗口的标题栏1229、窗口关闭按钮、窗口最小化按钮和各个窗口调整大小按钮1234、1235和1"6。窗口1201也包括用户可配置侧边条区域1203A和系统指定側边条区域1203B。从附图12A可以看出,通过在系统指定侧边条区域1203B中高亮度显示"浏览(browse)"图标1203C,表明浏览器模式被选择。窗口1201还包括文本输入区域1209,用户可以使用该区域输入要搜索的文本,并且窗口1201还包括查看选择按钮1237。窗口1201的列1211允许用户通过选择一个选项选择多种搜索参数,该选项依次引发与选择的选项相对应的子菜单的显示。在附图12A的情况下,用户选择了"类别,,选项1212并且接着使用子菜单1214从子菜单中选择"照片"选项,导致标识符1213(照片)显示在"类别"选项下面的列nil中,如附图UA所示。也可以看出用户以前在列1211中选择过"时间"选项,并且也可以看出当"时间"选项被选择为"上周,,的搜索参数的时候,从产生的子菜单中加以选择。当用户从所有列1112和显示的任何对应子菜单中选出多种选项和子选项之后,接着如附图12B所示的显示出现。请注意子菜单不再出现,用户完成各种选项和子选项的选择,这些选项和子选项使得搜索参数具体化。附图12B中的列1211提供给用户的反馈,该反馈表明搜索查询的精确特性(在这种情况下对所有照片的搜索追溯到上周),并且与搜索查询匹配的结果现实在显示区域1205上。附图12C和12D显示了替换的实施例,在该实施例中子菜单被附加列所代替,在附图12A和12B中的实施例中该子菜单显示在临时性基础之上,该附加列在选择做出之后不会消失。尤其是,窗口1251的列1259以与子菜单1214相同的方式运行,除了在选择做出之后(其中在用户从子菜单做出选择之后,子菜单1214被移除出窗口)该列保持在窗口1251之内。附图12D中的窗口1271的列1279与列1259类似。窗口1251包括侧边条,该侧边条具有用户可配置侧边条形区域1253A和系统定义侧边条形区域1253B。系统指定侧边条形区域1253B包括"浏览"选择区域1254,该区域具有清除按钮1258,用户可以选择该按钮清除当前的搜索查询。附图12D中的窗口1271提供清楚搜索查询的替代性接口。窗口1271还包括用户可配置侧边条形区域1273A和系统指定侧边条形区域1273B,但是清除按钮位于列1277的顶部,清除按钮不是与"搜索"区域1274在一起。用户可以通过选择附图12D所示的按钮l283清除当前搜索参数。附图13A显示了窗口1301的另一实施例,该窗口在显示区域1302中显示搜索结果。窗口1301是可以被关闭、可以最小化、可以调整大小并且可以被移动的窗口,具有调整大小控制器1310、用于移动窗体的标题栏1305、文本输入区域1306和用户配置部分1303、以及系统指定部分1304。窗口1301还包括选择各种查看方式的按钮,该查看方式包括图标查看、列表查看和列查看。目前,列表查看按钮1316被选择,导致搜索结果以列表查看的方式显示在显示区域1302中。可以看出文本("按钮(button),,)被输入到文本输入区域1306并且这使得系统能够响应展示在显示区域1302中的搜索结果。用户通过选择"随处(everywhere),,按钮nn指明搜索在所有位置进行。进一步,用户通过在下拉菜单1315中选择"种类(kind)"选项和在下拉菜单1319中选择"任意(any),,选项,搜索所有种类的文档。位置部分1307包括"+"按钮,该按钮可以用于进一步添加搜索参数,并且简单地说,部分1308包括用于分别添加或者删除搜索参数的"+,,和"-"按钮。部分1307还包括"保存(save),,按钮1309,该按钮使得当前搜索查询以文件夹的形式保存,该文件夹被添加到用户配置部分1303便于以后使用。这将在下面进一步描述并且可以被称为"智能文件夹(smartfolder)"。在特定实施例中,显示在附图13A和13B中的搜索输入用户接口可以在由图形用户接口文件管理系统控制的每一个窗口内有效,该图形用户接口文件管理系统例如在Macintosh上运行的Finder程序或者在微软Windows操作系统上运行的WindowsExplorer。该接口包括文本输入区域1306以及部分1307和1308。显示在附图13B中的窗口1301通过选择搜索按钮1323A显示了菜单的启动,导致具有两个输入部分1323和1325的菜单的显示。输入部分1323显示了最近执行的搜索从而用户可以仅仅通过选择先前搜索就能重新启动先前搜索,并且使得先前搜索再次运行。菜单选择1325允许用户清除菜单中最近搜索的列表。附图14A、14B和14C显示了图像用户接口文件系统中另一个窗口的示例,例如在Macintosh操作系统上运行的Finder程序。这些窗口显示特定搜索的结杲并且也显示了保存和使用智能文件夹的能力,该智能文件夹保存了先前搜索。附图14A示出的窗口1401包括显示区域1403、用户配置区域1405、智能文件夹1406、系统指定区域1407、图标查看按钮1409、列表查看按钮1410和列查看按钮1411。窗口1401还包括文本输入区域1415和位置部分1416,该位置部分可以用于指定搜索位置,该部分还包括保存按钮1417。在部分1416之下的附加部分使得用户可以进一步说明有关搜索的细节,在这种情况下指明文档的类型,该文档是最近一周查看过的图像。用户在这种情况下通过下述方式设定搜索参数,该方式就是从下拉菜单H19中选择"类别,,选项和从下拉菜单1420中选择"图像,,类型和从下拉菜单1418中选择"最近查看,,选项和从下拉菜单1422中选择"本周(thisweek)"。用户还通过选择按钮1421选择"随处,,从而搜索在与系统相连的所有磁盘和存储装置上执行。该结果显示在显示区域1403上。用户接着通过选择"保存"按钮1417存储搜索查询,并且可以命名该保存的搜索查询为"本周图像(thisweek'simages),,以生成智能文件夹1406,如用户配置部分1405所示。这^f吏得用户可以在较近的时间内仅仅通过选择智能文件夹1406即重复该搜索,该智能文件夹使得系统再次执行新搜索,并且与搜索标准匹配的所有数据将在显示区域1403中加以显示。因此,如果从通过选择智能文件夹1406执行下次搜索起的最近几周,显示在附图14A中的显示区域1403的文件中没有文件被查看,在几周之后,通过选择智能文件夹1406的搜索的重复将产生完全不同的列表。附图14B显示了一种方式,在该方式下用户可以在由保存的搜索确定的搜索结果中分类或者进一步搜索,该保存的搜索例如智能文件夹。在附图14B的情况下,用户选择了智能文件夹l糾6并且接着在文本输入区域1415中输入文字"jpg,,1425。这使得系统过滤或者进一步限制智能文件夹1406保存的搜索查询获得的搜索结果。因此,PhotoSh叩文件和例如TIF文件和GIF文件的其他文件排除在附图HB的显示区域l403中显示的搜索结果之外,因为用户通过添加额外的搜索标准排除了这些文件,该搜索标准由文本输入区域1415中的文本1425指明。可以看出"jpg,,文字输入与其他搜索参数进行逻辑与操作以获得在显示区域H03显示的搜索结果。还可以看出用户通过选择图标查看按钮"09选择图标查看。因此,用户可能保存搜索查询并且随后使用它,并且进一步限制搜索查询的结果,该限制通过在搜索查询的结果上执行搜索以进一步限制搜索结果实现。附图14C展现了窗口1401并且展现了显示在显示区域1403的搜索结果,在显示区域,结果基于由智能文件夹1406确定的保存的搜索。用户通过选择下拉区域1427A使得下拉菜单H27显示。下拉区域142*7包括用户可以选择的一些选项。这些选项包括隐藏搜索标准或者保存搜索(其与选择按钮"17类似)或者显示查看选项或者打开选择文件。举例而言,这使得用户可以隐藏搜索标准,因此使得部分1416和其他搜索参数从窗口1401中移除,该窗口是可移动的、可调整大小的、可最小化的并且可关闭的窗口。附图14D显示了用户接口的示例,该用户接口允许用户指定例如智能文件夹1406智能文件夹的外观。附图15A、15B、15C和15D显示了系统级搜索输入用户接口和搜索结果用户接口的示例。在一个特定的示例性实施例中,这些用户接口在整个系统中针对所有应用都是有效的,这些应用在系统和所有文件和元数据甚至地址簿程序中的地址簿实体上运行,例如个人信息管理程序,和曰历程序中的日历实体和电子邮件程序中的电子邮件等等。在一个示例性实施例中,系统开始执行搜索并且开始作为用户键入到文本输入区域的文本显示搜索结果,该文本输入区域例如文本输入区域1507。该搜索结果分类组织并且显示在较短的列表中,该列表被有意简化以仅提出选定数量的搜索查询的最为相关(评估较好的)的匹配项或者命中项。用户可以通过选择命令要求所有命中项的显示,该命令例如"全部显示(showall)"命令1509。附图15A展示了由数据处理系统控制的显示的一部分。该部分包括菜单栏1502,在菜单栏的远端具有搜索菜单命令1505。用户可以通过定位光标、使用鼠标或者通过其他方式启动或者选择命令,来选择搜索菜单命令,使用鼠标例如将鼠标置于搜索菜单命令1505之上。这引发文本输入区域1507的显示,用户可以向该区域中输入文本。在附图15A显示的示例中,该图是显示的一部分,用户输入文本"shakeit",引发搜索结果区域的显示,该区域直接低于"全部显示"命令区域1509,该命令区域本身直接低于文本输入区域1507。可以看出命中或者匹配被按种类("文档(documents),,和"PDF文档(PDFdocuments)")分组,该种类显示为搜索结果区域1503的种类1511和1513。附图15B显示了搜索的另一个示例。在这种情况下,获得了大量命中项(392项命中),其中只有少数显示在搜索结果区域1503中。另夕卜,命中项按照种类1511和1513加以组织。每一种类在显示结果区域1503上显示的项目数这一方面受到限制,以允许同时在搜索结果区域上可以显示更多的种类。举例而言,在文档类中命中项的数目会大大超过搜索结果区域1503中的有效显示空间,但是该种类的命中项被限制在类1511的搜索结果区域1503的预定的或者动态确定的实体数目以内。附加类,"命中最高项(tophit)"基于得分或者相关度使用本领域公知的技术被选出。用户可以选择"全部显示"命令1509引发窗口的显示,该窗口例如显示在附图16A中的窗口1601。附图15C显示本发明一个实施例的图形用户界面的显示,该界面包括菜单栏1502和在菜单栏1502上的搜索菜单命令1505。附图15D显示了搜索结果区域1503的另一个示例,该区域在术语"safari,,的搜索输入到文本输入区域1507之后显示。从附图15D中的搜索结果区域1503可以看出,搜索结果再次被分类组织。另一个搜索结果窗口1520也显示在附图15D中的用户接口。可以看出应用程序作为搜索结果的一部分得到检索,并且用户可以通过从搜索结果区域选择应用程序的方式加栽任一个该应用程序,从而致使程序加栽。附图16A和16B显示了搜索结果窗口的示例,通过在附图15A或者15B中选择"全部显示,,命令1509,使得该窗口得以显示。可替换地,该窗口作为用户选择"查找"命令或者其他一些表明该搜索是所期待的命令的结果显示。另外,附图16A和16B所示的窗口1601可以响应显示所有命令的选择或者响应查找命令的选择加以显示。窗口1601包括文本输入区域1603、分组菜单选择区域1605、分类菜单选择区域1607和地方菜单选择区域1609。分组选择区域1605允许用户指明在搜索结果之中项目被相应分组的方式。如附图16A所示的示例中,用户从分组菜单选择区域1605中选择"类别"选项,得到按照文档或者文件的类别或者类型分组的或者分类的搜索结果。如附图16A所示,可以看出文件类型包括"html"文件、图像文件、PDF文件、源代码文件和其他类型文件。通过在部分之内进行分组每一类型或者种类的文档与其他文档分离并且通过标题与其他部分分离。因此,标题16U、1613、1615、1617、1619、1621和1623指定每一分组并且将一个分组与其他分组分离。这使得用户可以将注意力聚集到根据文档类型评价搜索结果上。在每一组内部,例如文档组或者文件夹组,用户指明项目按照时间存储,因为用户在分类菜单选择区域1607中选择了日期选项。用户还通过在地方菜单选择区域1609中选择"随处"指明了所有的存储位置都被搜索。搜索结果列表中的每一项包括信息按钮1627,该按钮可以被选择以产生附加信息的显示,该信息可以从系统中获得。该附加信息的一个示例显示在附图17中,在该附图中用户从项目1635中选择信息按钮1627,导致与该项目相应的图像1636的显示以及附加信息1637的显示。类似地,用户从另一项目1630中选择了信息按钮以产生项目1631的图像以及附加信息1632的显示。用户可以通过选择关闭按钮1628将附加信息从显示中移除,该按钮引发项目1635的信息的显示从而恢复到附图16A中所示的项目的外观。用户可以通过选择附图16A中所示的折叠按钮1614,折叠全组以在该组中隐藏入口或者搜索结果,从而导致如附图16B所示的在该组中入口消失。如附图16B所示,用户可以通过选择展开按钮1614A使得该项目再次出现,从而恢复到附图16A所示的项目显示上。附图16A和16B所示的搜索结果用户接口只M示了该类中有限数量的匹配项或者命中项。在该附图的特定示例中,只有五个顶级(最为相关的或者排序最高的)命中项得到显示。这通过注意在该组每一列表底端的入口可以看出,该入口表明该组中还有多少命中项;可以通过选择该指示部分这些命中项可以被检查,该指示部分例如指示部分1612,其使得用于"按钮(button)"的搜索的文档种类或者类别中的所有项目得以显示,该"按钮"被输入到文本输入区域1603。该行为的进一步的示例在下面描述并且与附图18A和18B—起显示。应当知道窗口1601是可以关闭并且可以调整大小并且可以移动的窗口,并包括关闭按4丑和调整大小控制器1625A。附图18A和18B阐释了与窗口1601非常相似的另一个窗口1801。窗口1801包括文本输入区域1803、分组菜单选择区域1805、分类菜单选择区域1807和地方菜单选择区域1809,其中每一个区域分别与附图16A中的区域1605、1607和1609以相类似的方式发挥功能。在窗口1801中列表查看中,每一个项目包括信息按钮1827,该按钮允许用户获得超出窗口1801中所示的项目列表的附加信息。窗口1801还包括标题1811、1813、1815、1817、1819、1821和1823,其将每一个项目组与其他组分离,该项目组按照文档的类别或者种类分组,并且在每一个项目组中按照日期排序。折叠按钮1814对于每一个标题是有效的。在附图18A和18B中示出的实施例显示了在不同的查看信息的模式之间交换。举例而言,如附图18A所示,用户可以通过选择指示部分1812显示特定组中的所有命中项,该指示部分致使在区域1818A中在窗口1801中所有图像文件得以显示。该窗口是可以滚动的,因此允许用户可以滚动浏览所以图像。用户可以恢复到只显示五个最为相关的图像的列表的情形,其通过选择附图18B中所示的"显示前5个(showtop5),,按钮1832实现。另外,用户可以在附图18A和18B所示的图像部分的列表查看或者图标查看中做出选择。用户可以通过选择列表查看按钮1830选择列表查看,或者通过选择图标查看按钮1831选择图标查看。在附图16A中,图像组的列表查看被示出;并且在附图18A和18B中,图像组的图标查看被示出。可以看出在单个、可移动、可调整大小、可关闭的搜索结果窗口中,具有两种不同查看方式(例如列表查看和图标查看),该两种查看方式同时显示在窗口中。举例而言,在附图18A和18B中,标题1SW下的PDF文档以列表查看显示,同时标题1817下的图形以图表查看显示。从附图18A和18B中可以看出,每一图像以预览的方式显示,如发明人SteveJobs、SteveLemay、JessicaKahn、SarahWilkin、DavidHyatt、JensAlfke、WayneLoofbourrow和BertrandSerlet提出的题目为"现场内容调整大小(LiveContentResizing)"的专利申请中的描述,其能够现场调整大小,该专利申请的提交日与本申请相同,并且已经转让给了此处描述的本发明的受让人,并且该专利申请在此处被结合参考。附图19A显示了搜索结果窗口的另一个示例,该窗口与窗口1601类似。附图19A显示的窗口1901包括文本输入区域1卯3和分组菜单选择区域l卯5和分类菜单选择区域1907和地方菜单选择区域l卯8。另夕卜,窗口还包括关闭按钮1925和调整大小控制器1925A。文本被输入到文本输入区域19(B以产生窗口l卯l所示的搜索结果。搜索结果再次按用户选择的种类分组,在该情况下该种类是人员(people)选项1906。这使得标题1911、1913、1915和1917根据人员的姓名分别显示组。在每一组中,用户选择按照特定文件或者文档的日期排序。举例而言,附图19A所示的用户接口允许用户指明个体的姓名并且允许用户按照人员分组以查看两人之间的通信。附图19B显示了另一种方式,在该方式下用户以与附图19A所示的方式不同的方式将文本搜索("imran")分组。在附图19B所示的情况下,用户在菜单选择区域l卯5的组中选择展开列表(flatlist)并且从分类菜单选择区域1907中选择"人员,,。窗口1901A的结果显示不具有标题并且因此显示为展开文件。附图19C显示了另一个搜索结果窗口1930的用户接口,该窗口包括文本输入区域1903和选择区域1905、1907和1908以及滚动控制器1926。显示在窗口1930中的结果按照日期分组并且在每一分组中按照日期排序。因此,标题1932、1934、1936、1938和1940指明时间期间,该时间期间例如文档最后修改的时间(例如今天最后修改、或者昨天、或者上周)。在搜索结果窗口1930中的显示还有信息按钮1942,该按钮可以被选择用于揭示更多的信息,该信息例如在今天组下的条目中显示的图标1945和附加信息1946。该附加信息可以通过选择收缩按钮1944移除。附图19D显示了搜索结果窗口1950,在该窗口中针对文本字符串"te"的搜索被按照日期分組,但是该搜索被限制在菜单选择区域1908指明的"home"文件夹。如附图19D所示,时间特定标题1952、1954、1956和1958在组中将项目与其他组分离。附图19E显示了搜索结果窗口的替代性实施例。在该实施例下,窗口1970包括与窗口1901相似的元素;例如选择区域1905、1907,和滚动控制器1926以及关闭按钮1925和调整大小控制器1925A。搜索结果窗口1970还包括"何时(when)"菜单选择区域1972,该区域允许用户基于时间以及输入到文本输入区域1903的文本指明搜索参数。从附图19E所示的示例中可以看出,用户决定按类对搜索结果分组并且在每一组中按照日期排序。标题1973、1975、1977和1979的结果显示在附图19E中。附图20显示了操作系统级菜单以输入搜索查询的示例性方法,例如,如附图15A或者15B或者15C所示的可以通过选择搜索菜单命令1505使用的系统级菜单。在操作2001中,系统显示用于输入搜索查询的系统级菜单。这可以是搜索菜单命令1505。在操作2003中用户输入搜索,并且在搜索查询输入的时候,在用户输入完搜索查询之前,系统开始执行并且开始显示搜索结果。这样当用户输入信息之后,提供及时反馈和用户的输入。在操作2005中,系统在文件、文件的元数据、电子邮件程序中的电子邮件、地址簿程序中的地址簿项目、日历程序中的日历项目等等中执行搜索。在操作2007中,如果具有多于特定数目的命中项,系统接着显示命中项的缩减(例如不完整)列表。缩减列表的一个示例显示在附图15B中。该列表可以按照相关度排序并且被分隔成组,该组例如文档的种类或者类别。接着,在操作2009中系统接收来自用户的显示所有命中项的命令,并且在操作2011中系统显示搜索结果窗口,例如附图16A所示的窗口1601。该窗口具有在相同的可关闭、可调整大小和可移动的窗口中显示两种不同类型的查看的能力,例如图标查看和列表查看。应当知道当用户键入的时候执行的搜索和当用户键入的时候结果的显示可以包括元文件的搜索,该元文件由从文件中提取的元数据创建,该文件由许多不同类型的软件程序创建。在描述本发明的另一个方面的时候,附图21和22A、22B、22C和22D现在被提及。该方面涉及选择文件组的方法,例如独立数据文件组。在该方面的示例性方法中,数据处理系统接收许多项目的选择,该项目例如数据文件、文件夹(例如代表子目录的图形用户接口)、应用程序或者一个或者多个这些项目的结合。该选择可以由许多传统方法中的一种方法执行,该传统方法用于选择许多项目,该传统方法例如(a)将光标单独定位在每一项目上(例如通过鼠标的移动)并且例如单独通过按压和释放按钮表明选择,例如鼠标按键;(b)将光标指向列表中的第一项目并且表明第一项目的选择并且将光标指向项目表的最后一个项目并且表明在列表中从第一项目到最后一个项目的所有项目的选择;(c)通过拖拽光标的操作画出选择矩形,等等。因此附图21中所示的操作2101接收一个或者多个输入,该输入表明多个项目的选择。操作2103中系统接收命令,该命令即要求新的存储工具(例如文件夹)的创建,还要求具有新的存储工具的许多项目的附属操作。尽管操作2103在操作2101之后展示,但是在特定实施例中操作2103可以在操作2101之前。操作2103的附属操作可以是复制或者移动操作。举例而言,用户可以选择多个项目并且接着命令系统将这些项目从其存在的位置移动到新文件夹,该新文件夹在一个操作中作为移动和创建新文件夹命令的结果被创建。相应操作2103中接收的命令,系统使用预定目录路径名或者用户指定路径名创建新的存储工具,例如新文件夹,该系统进一步将选择的许多项目与新的存储工具关联。该关联可以是移动或者复制操作。典型地,复制操作包括对每一个选择的项目复制并且将项目存储在路径名下,其表现为项目存储在具有预定目录路径名或者用户指定目录路径名的新文件夹中。在移动操作之中项目被移动到新文件夹中,移动操作可以仅仅改变与每一个选择的项目关联的路径名(而不是复制该项目),改变的路径名将影响选择的项目的新文件系统的位置(例如在新文件夹的子目录中)。附图22A-22D显示了附图21中的方法的一个示例。显示装置上的桌面2201得以显示,该桌面包括许多窗口,也在桌面上包括图标2227。光标22U也显示在桌面上。窗口22(B、2205和2207每一个都包含许多显示为图标的项目。特别地,窗口2203包括由图标2215代表的数据文件,该数据文件在由图标2217代表的文件夹(例如文件存储系统中的子目录的图形表示)之中。窗口2205包括程序图标2223和文档图标2219和另一个文档图标2225和文件夹图标2221。窗口2207显示了包含"文件B(FileB),,的一些文件的列表查看。用户可以接着使用光标2211或者使用其他传统用户接口技术选择多个项目。这可以使用表明多个项目的选择的一个输入或者多个输入完成。附图22B显示了用户选择图标2215、2217、2223、2225、2227和窗口2207中"文件B(FileB)"的结果。可以看出光标2211在操作位置上与图标2225邻近。接着用户在选择许多项目之后,可以调用操作:21(B提及的命令。其的示例显示在附图22C中,该图表示了桌面2101的一部分,如附图22C所示该部分被指定为2201A。用户引发弹出菜单2230得以显示,该弹出菜单包括三项2231、2232和2233。选项2231允许用户将所有选择的项目移至回收站(例如删除它们),同时选项2232和2233与附图21中的操作2103中的命令相关。特别地,选项2232是可由用户选择以产生新文件夹的命令,并且在同样的操作下,移除已被选入新文件夹的项目。选项2233是在操作中允许用户生成新文件夹并且将选中的项目复制到新文件夹的命令。在附图22A-22D所示的示例中,用户选择选项2232,从而导致系统产生新的存储工具,例如具有预定路径名(例如"新文件夹(newfolder)")的新文件夹,或者可替代地,具有用户指定路径名的新文件夹。该结果显示在附图22D中,在该附图中桌面2201现在包括标题为新文件夹的新窗口,该窗口代表和显示新文件夹的内容,其也显示为文件夹2253,该文件夹2253是代表新文件夹的图形用户接口。应当知道该方法可以使用各种替代方案。举例而言,在命令选项2232或者2233被选择后窗口显示,并且该窗口询问新文件夹的名称。在用户没有输入新名称的情况下,窗口显示默认名称(例如"新文件夹")。可替代地,系统可以仅仅给新文件夹或者新存储工具默认路径名。另外,系统可以在不显示附图22D中的新窗口的情况下,仅仅创建新文件夹并且将项目移动或者复制到新文件夹中。经过计算来看,数据处理系统中的用户文件的全文内容索引是耗时的。举例而言,为了创建代表已被索引的文件全文的索引数据库的目的,用户文件的全文内容索引会花费可观的时间消耗以及在例如数据处理系统的硬盘的存储装置上读写数据会花费可观的存储输入/输出(I/O)时间。这会影响当系统自动索引用户文件的时候意图使用系统的用户。类似地,将来自用户文件的元数据引入到元数据库也会花费可观的时间消耗以及可观的存储输入/输出(I/O)时间。一些目录和文件是用户不感兴趣的,因此该目录和文件的索引或者引入经常可以避免。避免一个文件或者整个目录的文件的索引和/或引入可以在数据处理系统中潜在地节省可观的处理负担。进一步,一些具有引入或者索引需要的操作是多余的,并且因此可能避免这些操作的额外工作。此处描述的技术可以单独使用或者与技术结合。两项或者多项此处描述的技术的结合可以一起使用以降低执行用户文件索引所需的计算时间量和I/O时间量,并且一起使用以将元数据从用户文件添加(例如引入)到元数据库,上述技术的结合包括过滤、通过结合机制以及通过建立浏览顺序降低通知的数量,其可以参考"探测点(probepoints)"的使用。这些技术对于可换体尤其有用。可换体可以被认为是存储体,该存储体易于和第一数据处理系统(例如第一计算机)电连接,并且其在连接到第一数据处理系统的时候可以用于从存储体中读取数据和/或向存储体写入数据,并且接着可以容易地和第一数据处理系统电断开并且和第二数据处理系统电连接以在与第二数据处理系统电连接的时候也向存储体读取和写入数据。USB闪存驱动器和USB、总线源硬盘驱动器是可换体的示例。本发明的方法可以在非可换存储体(例如需要打开计算机系统机箱才能移除存储体的存储体)和可换存储体上都可以实现。附图23展示了结合使用探测点、通知的过滤和结合的方法的示例。应当知道数据处理系统的使用中通常有两个不同的方面;尤其是没有索引的或者需要重新索引的存储体(可以是可换存储体)需要相当多的行为,该行为包括浏览文件以索引和文件的索引。另一个方面涉及与用户对于现有文件的改变,该现有文件已经被索引或者被分别引入索引数据库或者元数据库。该改变将致使做出通知,用于引发元数据库中的元数据(针对已经改变的文件)更新,并且用于引发索引数据库的更新。应当知道附图23显示了操作的特定次序但是在替代性实施例中也可以利用其他次序。在操作2301,系统确定用于索引的文件浏览顺序。典型地,该顺序对与用户最为相关的位置赋予最高的优先权,例如用户的主文件夹或者所有用户的主文件夹,接着文档文件夹,并且接着桌面,并且接着是由一个或者多个用户创建的其他文件夹。典型地,最低优先权的位置是操作系统目录,例如文件夹,该目录一般情况下不会包括用户创建的数据或者对用户有用的数据。在文件中该顺序可以基于数据所表明的用户的兴趣,并且该顺序可以基于用户访问的频度和最近性,该顺序或者附加于位置或者作为使用位置的替代,该数据例如记录(例如通过记录路径名)用户查看或者以其他方式访问过的文件或者目录,正常地,用户不可见的系统文件不包含在该顺序中;不可见的文件或者目录被标注从而它们不会以正常的文件查看方式向用户显示,该方式例如Macintosh10.3的Finder。在正常的情况下,在操作2301中确定的该顺序会指明文件浏览的顺序从而确定是否有任何需要索引的文件。在浏览以发现需要索引的文件的过程中,规则被用于过滤文件以确定其是否需要索引。操作2303阐明了该规则用于确定文件是否需要索引。在特定示例性实施例中,回收站中的文件或者临时目录中的文件不被索引,因为用户对它们不感兴趣,该临时目录例如程序或者操作系统创建的用以存储临时文件的目录,该临时文件将被系统和这应用程序自动删除。另外,"不可见(invisible)"文件和操作系统文件不会正常索引。使用该规则的一项技术在于浏览文件的路径名以确定该文件是否为系统文件或者是否位于临时文件目录或者是否位于回收站。附图23提出的技术的结合还包括通知的结合,该通知用于引发元数据库和/或索引数据库的更新。典型的情况下,通知的结合涉及将第一集合的通知结合为较小集合的通知,该较小集合的通知可以是单独的复合的通知。这显示在操作2305上,在该操作中例如来在操作系统内核的通知的通知被结合为较小数量的通知。另外如操作2305所示,使用上述规则或者较优地使用分离规则,通知本身被过滤;该分离规则与用于过滤的规则不同以浏览和索引文件的全文。典型地,将一些通知结合为较小数目的通知,例如一条通知源自十条通知,将提高数据处理系统的性能。在通知被结合和过滤之后并且在根据特定顺序的文件浏览被执行之后,接着操作2307被执行,在该操作中过滤过的文件的全文内容索引被执行以生成或者添加到文件的索引数据库(代表文件的全文内容),并且来自文件的元数据从文件引入,其导致通知生成以更新数据库。应当理解其入元数据库。举例而言,如果可移除存储装置,例如可移除硬盘,首先连接到具有此处功能的数据处理装置,该数据处理装置可以浏览硬盘以确定没有索引的文件和来自文件的没有引入元数据库的元数据。因此,索引,以生成代表索引文件全文内容的索引数据库。应当知道在可替换实施例中,过滤、结合和确定浏览顺序的子集而不是操作的全集可以被使用。举例而言,可替换实施例可以使用过滤和结合而不使用探测点(其为用于确定浏览顺序的示例性实施例)。附图24显示了此处描述的本发明的一个方面的示例性实施例。该实施例使用过滤器以确定文件是否应该索引从而生成已被索引的文件内容的索引数据库。该特定方法可以独立于此处描述的其他方法执行,或者与一个或者多个其他方法结合执行,例如附图26中的通知的过滤。操作2401确定是否目录中的所有文件和/或目录中的特定文件应当被索引。存在许多技术可以被用于完成该项判断。举例而言,文件的路径名可以与预定路径名比较以确定文件是否存储在操作系统目录或者存储在临时目录或者回收站目录。如果在操作2401中确定文件应当被索引,接着确定文件被过滤"加入",其意味着在操作2403中文件将被索引并且在操作2405中索引的结果将被添加到索引数据库中。附图25是示例性方法,该方法提供有关过滤可能如何执行的更为具体的示例。基于存储体类型的默认的规则,以及任选的用户提供的规则被用于构建过滤机(其可以由软件实现)。用于引导存储体的默认规则与用于普通盘或者特定盘的默认规则不同,例如iPod装置。过滤器旨在从不同存储体中确定用户根目录的位置,从而正确的过滤被使用。过滤器甚至企图正确地映射别名和链接以在无法处理的磁盘上找到用户根目录,并且在那种情况下使用正确的过滤规则。过滤机可以被认为是字节码的一种形式,其由作为备选文件的评价的一部分的程序解释。备选文件以路径的形式被提出,并且在路径被浏览的时候字节码被解释,并且有关哪一个规则适合该路径的决定被做出。该路径被逐字检查直到整个路径匹配或者具有不匹配之处。结果将是最后与该路径完全匹配的元素定义的结果。如果结果没有定义为部分路径,结果将继承自该路径最近定义的结果。来自该过程的结果正常地^L过滤加入(指该文件应当被索引或者来自文件的元数据应当被引入)或者过滤排出,意^^未着该文件不应当被索引和/或来自文件的元数据不应当引入元数据库。可替代地,来自该过程的结果可以是过滤加入或者过滤排出的尝试性的决定,最终决定被延迟。在初始结果之后继续过滤执行。举例而言,如果确定路径式用户根目录,则被设计用于用户根目录的更为具体化的过滤机被用于在用户4艮目录过滤文件。附图25中示例性方法开始于操作2501,在该操作中包含不应当被索引的文件的路径名被确定。路径名的确定可以用于特定类型的存储体,例如用于引导存储体而不用于非引导存储体,因为两种存储体的路径名类型不同。举例而言,典型地,引导存储体包括操作系统文件,为了引导数据处理系统这些文件是需要的,而非引导存储体不包括这些文件。因此,根据存储体类型在操作2501中确定的路径名不同。在操作2501的示例中,不应当被索引的文件包括不可见文件、操作系统文件、回收站中的文件和由数据处理系统自动创建的临时文件夹中的文件。在操作2503中针对给定类型的存储体,规则接着被创建。这些规则被用于过滤以确定文件是否应当索引或者是否有元数据引入元数据库。规则的子集存在于特定目录中,例如上述用户根目录。在操作2505中该文件被使用规则加以浏览。优选地,浏览可以以由此处讨论的探测点指明的顺序进行。在操作2507中,基于规则确定文件是否要被索引和/或是否具有引入到元数据库中的元数据。如操作2507所示,如果文件^L索引,接着文件标识符被加入到存储在非易失存储器上的"将被索引(tobeindexed)"队列中,该文件标识符例如持久性的、唯一的标识号。优选地,交易曰志可以被用于非易失存储系统上以创建在非易失存储系统上将事项写入"将被索引,,队列的日志。在这种方式下,队列在日志的使用过程中得到保持,该日志保持将事项写入存储在非易失存储器上的队列的记录。典型地,非易失存储器是被索引的存储体,例如硬盘或者可移除硬盘。交易日志可以作为简单交易日志被实现,无需使用日志文件系统;或者交易日志可以作为日志文件系统中的日志记录被实现,该交易符合ACID(自动性、一致性、独立性和持久性)。附图M显示示例性方法,在该方法中过滤器祐:使用以确定来自文件的元数据是否要输入到元数据库。应当知道该方法可以相对于此处描述的其他方法独立执行并且与此处描述的其他方法分别执行或者可以与其他方法结合使用,该其他方法例如用于索引操作的文件过滤,其示例显示在附图24中。操作2601涉及接收文件通知,例如被修改的现存文件或者被创建的新文件。在操作2603中如何过滤通知被确定。特别地,过滤规则用于确定是要将文件过滤"加入"还是要将文件过滤"排出"。如果文件要被过滤加入,接着来自文件的元数据被引入元数据库,并且如果文件要被过滤排出,接着来自文件的元数据不会被引入元数据库。操作2605显示,如果过滤器确定文件的元数据要被引入,接着数据被引入到元数据库。在操作2603中用于过滤的规则可以与在操作2505中用于过滤的规则相类似。附图27显示了使用探测点的示例性方法,该探测点确定浏览位置的引入元数据库中的文件。附图27的方法可以独立于此处描述的其他方法执行,或者与一个或者多个其他方法结合执行。操作2701包括在存储装置的位置上设定优先权。该优先权指明浏览用于索引的文件或者用于从序。该位置的示例被描述并且^括用户根目录,用户在根目录和桌面之外创建文件夹。操作2703显示了系统根据顺序浏览位置以确定文件是否和引入的结合。在示例性实施例中,该顺序首先指明用户的主文件夹,并且接着指明用户在主文件夹之外创建的文件夹,并且接着指明桌面,并且接着指明其他位置,该其他位置例如其他用户创建的文件夹。附图27中的操作2705展示了当浏览揭示要索引的文件(或者要将其元数据引入元数据库中的文件)的时候,文件被加入到"即将"索引的序列(和/或元数据引入队列)中,该序列是先进先出的緩沖器(FIFObuffer)。典型地,附图27中所示的被称为"探测点"的使用包括最终探测点,在典型的情况下最终探测点是所有浏览和索引的捕获,其浏览和索引所有部分而不是从磁盘或者存储体的根目录开始。随着存储体剩余部分被浏览,最终探测点意图捕获没有被索引的部分。当浏览进行到被较早探测点覆盖的位置时,过滤操作可以告知浏览器该部分被过滤,并且因为其是较高优先权的探测点,可以知道无需对该位置重新浏览。应当知道此处描述的过滤技术也可以作为插件使用,其可以由另一个程序使用。尽管过滤提供一种降低索引或者将文件分别引入索引数据库或者元数据库的影响的方法,但是其他技术也可以被使用,该技术例如通知的结合。附图28、29和30涉及多个实施例,在这些实施例中通知被结合。由于有时具有一系列操作,该一系列操作中的操作单独需要从文件将元数据引入元数据库,结合是有用的。如果简单地完成,由于连续的操作从同一文件中重复引入元数据,将会导致大量的工作。当将索引文件加入到索引数据库的时候,通知的结合也可以被使用。附图28显示了根椐特定实施例的具体示例,在该示例中通知被结合。该总体示例涉及具有一个或者多个相关对象组的情况,该对象组例如文件包,典型地,文件包是作为一个单独文件展现给用户的文件的等级体系,例如为Macintosh10.3操作系统所写的应用程序。在操作2803中,下述操作被确定,即一组相关对象被存储到存储介质上,该对象例如文件包。举例而言,包被复制到存储介质上从而产生包的复数个复制本,潜在地位于不同位置而不是位于文件包的原始位置。在操作2805中,例如单个通知的一组通知被做出以引发元数据库的更新,并且作为响应,在操作2807中,在接收了通知组之后,元数据库被更新,该通知组可以使一个或者多个通知,但是低于如果没有通知结合的情况下通知的总数。典型的通知包括作为通知主题的文件的标识符和在文件和其他有关数据上操作的标识符,例如如果操作是重命名操作则在重命名之前的文件名和在重命名之后的文件名,或者如果操作是许可变化,变化之前和变化之后的信息指定许可。文件的标识符可以是文件的路径名和/或持久性、唯一文件标识数或者特征集合。附图29显示了当操作在一组相关对象上执行的时候,结合通知的更为详细的示例,该相关对象例如文件包(相关对象的其他示例包括有关复制文件整个体系或者基于索fI或者元数据队列中的事件的结合)。操作2901确定例如复制操作的操作在包上执行。举例而言,其可以通过使用软件组件而发生,该软件组件被称为LaunchServices,指明被复制的文件是文件包的一部分。来自操作系统有关第一文件的通知也可以包括该文件是包的一部分的标识,或者替代性地,作为元数据库一部分的软件结合单元需要LaunchServices识别文件是否是包的一部分。在操作2903中,来自包上操作的第一通知被添加到软件结合单元的緩存中。该緩存延迟将通知添加到引入队列,例如"将被引入"队列。结合单元的緩存单元可以在到达时记忆每一个通知,并且可以不管通知的数量而结合进程中的任意两个通知。在另一方面,在不同的实施例中,部分緩存仅仅记忆到达緩存的文件的有限子集,并且依靠该位置暂时的本地化在非常小的存储和计算的投入的情况下获得全緩存的最大利益。在操作2905中结合单元在包的操作中持续获得的进一步的通知(举例而言,当包中的每一个文件被复制的时候,结合单元获得另外的通知),并且结合单元放弃进一步的通知,因为他们是一些相同的包。一旦没有了获取包的通知成为可能,接着单独的通知(或者少于通知总数的一组通知)被推向输入端以使得元数据输入到元数据库。操作2907代表一种确定不再有通知到达的方式。在一段时间之后,如操作2907所示,第一通知被添加到"即将输入,,队列中。笫一通知表明包的全部内容,通过如操作2909—样处理通知的方式该包可以接着被引入以更新元数据库。时间期间可以是短期时间,例如不到一秒(afractionofasecond)。确定何时没有进一步的通知的替代性技术可能是当通知緩存没有溢出的时候。在这种情况下,该项目的最后通知从緩存中取出以为新的元素腾出空间,并且如果另一个通知没有到达,与该通知为列表中的第一个通知一样被处理。对于单独文件的通知的结合可以根据本发明的特定实施例执行,该文件不是包的一部分或者相关对象组。附图30演示对于单独文件执行通知的结合的示例性方法。总之,对于单独文件而言,第一通知之后继续通知的可能性相对较低,从而通知可以尽快被直接置于输入队列中。优选地,如附图30所示,其通过结合单元的緩存单元。如果在原始通知,皮从队列中取出并且输入之前类似的通知到达,接着结合单元宣布新的通知是多余的并且将其删除。其效果就是在原始通知被从队列中取出之前发生的所有通知被压缩到一个单独的通知中。可替代地,其可以压缩到通知的集合中,该通知的集合比原始通知组可能的情况小。如果通知已经从队列中取出,深层的通知以轻微不同的模式被结合,该模式被称为"书档模式(bookendmode)"。如果第一输入已经在第一文件中发生,接着继续通知到达太迟而不能与在先的通知结合。在书档模式下,最后的通知被保存,该通知跟随在从队列中取出的通知,然而所有该文件的进一步的通知被丢弃直到变得可能没有进一步的通知得以接收。这种情况下,最后的通知传送给元数据输入端,该通知是被接收或者最后被保存的通知。效果是将系列的通知书档化为通知的较小集合,例如开始一个单独的通知和最终一个单独的通知。附图30代表针对单独文件结合通知的示例性方法。该方法还可以用于结合通知以更新文件内容的索引数据库。在操作3001中,第一通知被接收,该第一通知是文件"ABC.txt"已被修改。较优地,在操作3003中该通知被加入到结合单元的緩存中,并且接着在操作3005中通知被加入到"即将引入"队列。在操作3007中第二通知被接收,该第二通知是文件ABC.txt已被修改。该通知可以响应用户在较短时间第二次选择"保存(save)"命令。举例而言,用户可以通过在第一时刻保存文件引发第一通知,并且接着在第一保存命令由用户引发的时刻起三秒钟内引发保存命令发生。响应接收第二通知,系统在操作3009中确定文件ABC.txt的第一通知是否已经从队列中取出并且引入。如果没有,接着第二通知被丟弃,并且否则处理进入操作3011。如果第一通知已经从队列中取出并且引入,接着第二通知被保存在队列中并且处理进入操作3011。操作3011旨在确定何时文件的下一个通知很可能是最后一个。当探测到创建文件的程序在退出或者保存发生的时候,或者通过等待一段时间,其可能发生。所有在最后的通知被丢弃之前到达的通知和最后的通知被添加到"即将引入"队列。接着在操作3013中,最后期望的通知被从队列中取出,该通知因此导致ABC.txt文件中的变化引入到元数据库中。在替代性实施例中,数据将从至少一些(或者全部)丢弃的通知中保留,并且该数据会被检查以确定是否索引该文件和何时索引该文件(或者文件组)。在前述的具体说明中,本发明参考其中的具体示例性实施例得以描述。明显地,在不脱离如下面的权利要求所提出的本发明的较宽的精神和范围的前提下,多种改变可以做出。因此,该具体说明和附图被认为是释义性的含义,而非限制性的含义。权利要求1、一种处理数据的机器实现方法,该方法包括在存储装置的逻辑位置间确定顺序,该顺序表明浏览在存储装置上被索引的文件的次序,或者表明浏览具有要加入到元数据库的元数据的文件的次序,该次序基于位于逻辑位置上的用户文档的相似度;在逻辑位置上浏览以确定文件是否需要被索引,或者确定文件是否具有要加入到元数据库的元数据。2、如权利要求l所述的方法,进一步包括索引要被索引的文件的全文内容。3、如权利要求2所述的方法,其中索引依顺序执行。4、如权利要求1所述的方法,其中该顺序指明了次序,该次序包括用户主文件夹和桌面,并且其中该次序至少部分是预定的。5、如权利要求1所述的方法,其中逻辑位置由文件目录中的路径名指明,并且其中系统记录用户访问的路径名以确定相似度。6、一种数据处理系统,包括在存储装置的逻辑位置间确定顺序的部件,该顺序表明浏览在存储装置上被索引的文件的次序,或者表明浏览具有要加入到元数据库的元数据的文件的次序,该次序基于位于逻辑位置上的用户文档的相似度;在逻辑位置上浏览以确定文件是否需要索引,或者确定文件是否具有要加入到元数据库的元数据的部件。7、如权利要求6所述的系统,进一步包括索引要被索引的文件的全文内容的部件。8、如权利要求7所述的系统,其中索引依顺序执行。9、如权利要求6所述的系统,其中该顺序指明了次序,该次序包括用户主文件夹和桌面,并且其中该次序至少部分是预定的。10、如权利要求6所述的系统,其中逻辑位置由文件目录中的路径名指明,并且其中系统记录用户访问的路径名以确定相似度。全文摘要数据管理的系统和方法,例如元数据或者文件内容索引。在示例性方法中,更新元数据库或者索引数据库的通知结合在组合通知中。根据另一方面,存储装置的逻辑位置顺序被确定以指明索引的文件的浏览的次序。根据另一个方面,该方法包括确定是否基于文件的路径名相对于许多预定路径名索引文件。文档编号G06F17/30GK101320391SQ20081012846公开日2008年12月10日申请日期2005年6月24日优先权日2004年6月25日发明者多米尼克·贾姆保罗,安德鲁·卡罗尔,杨·阿鲁耶申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1