用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统的制作方法

文档序号:6655621阅读:247来源:国知局
专利名称:用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统的制作方法
本申请是序列号为10/877584的美国专利申请的共同未决申请,上述美国专利申请是2004年6月25日提出的。本申请也要求临时专利申请号为60/643087的未决美国专利申请的优先权,上述专利申请是2005年1月7日提出的,该临时申请在此处被全部结合加以参考;该申请根据35U.S.C.§119(e)要求临时申请日的利益。此处,本申请根据35U.S.C.§120要求较早申请日的利益。
背景技术
现代数据处理系统,例如通用计算机系统,允许该系统的用户产生大量不同类型的数据文件。举例而言,数据处理系统的典型用户可以使用文字处理程序生成文本文件,可以使用图像处理程序生成图像文件,该文字处理程序例如微软公司的Word,该图像处理程序例如Adobe公司的Photoshop。大量其他类型的文件能够被典型数据处理系统的一个或者多个用户所生成或者改变、编辑以及使用。生成的或者被改变的大量不同类型的文件给寻找生成的特定文件的典型用户提出挑战。
现代数据处理系统通常包括文件管理系统,该文件管理系统允许用户将文件放在目录或者子目录(例如文件夹)中并且允许用户对文件命名。另外,该文件管理系统通常允许用户以搜索文件名、或者生成日期、或者修改日期、或者文件类型的方式查找文件。该文件管理系统的一个示例是Macintosh计算机上使用的Finder程序,其由加利福尼亚州库珀蒂诺的苹果计算机公司制造。文件管理系统程序的另一个示例是在Windows操作系统上使用的Windows Explorer程序,其由华盛顿州雷蒙德的微软公司制造。Finder程序和Windows Explorer程序都包括查找命令,该查找命令允许用户以多种标准查找文件,这些标准包括文件名或者生成日期或者修改日期或者文件类型。然而,不论文件的类型如何,该查询能力对每一文件搜索相同的信息。如此,举例而言,MicrosoftWord文件的搜索数据和Adobe Photoshop文件的搜索数据相同,并且典型地,该数据包括文件名、文件类型、生成日期、最后修改日期、文件大小和其他特定参数,这些参数可以由文件管理系统维护。
现有的特定应用程序允许用户维持有关特定文件的数据。该有关特定文件的数据可以被认为是元数据,因为该数据是有关其他数据的数据。特定文件的元数据包括有关文件作者、文档综述和多种其他类型的信息的信息。当用户生成文件和用户添加附加数据或者通过在MicrosoftWord的菜单选择器中选择“属性表”编辑数据的时候,例如MicrosoftWord的程序可以自动生成一些该数据。Microsoft Word的属性表允许用户生成特定文件或者文档的元数据。然而,在现有系统中,用户不能使用来自用户的一条搜索请求在大量不同应用中搜索元数据。另外,现有系统能够执行数据文件的搜索,但是该搜索也不包括在该文件中搜索元数据。
现有系统响应设置、预定时间(例如由用户设置)、或者响应要求开始索引操作的即时用户请求执行索引操作。

发明内容
此处描述在数据处理系统和数据管理系统中管理数据的方法。
根据此处描述的本发明的一个方面,示例性方法包括通过索引软件组件接收数据存储装置上的现有文件已经被修改或者在数据存储装置上新文件被创建的通知,并且响应该通知,在现有文件或者新文件上执行索引操作。优选地,通知包括标识现有文件(或者新文件)的标识符。在另一个实施例中,通知并不仅仅基于时间或者用户输入。响应探测用户行为,索引操作可以被延迟或者被拖延或者具有降低的处理优先权。该通知可以被输入到索引操作的队列中并且该队列可以保存在非易失存储器上。队列的改变会写入通知的交易日志中。
根据此处描述的本发明的另一个方面,处理数据的示例性方法包括确定文件要被索引化到索引数据库中还是要将元数据加入到元数据库中,将代表文件的条目添加到索引操作(或者元数据操作)列表中,以及将列表保存在非易失存储器上。该方法可以还包括在索引化文件之后(或者在元数据操作之后)将条目从列表移除以生成更新列表,和将更新列表保存在非易失存储器上。该方法还包括将变化输入到交易日志的列表中。该通知可以来自操作系统组件,该组件提供通知以响应在存储装置相对于文件存储数据,该存储装置例如非易失存储器。
根据本发明的另一个方面,一种示例性方法包括监测用户对于数据处理系统的使用并且响应监测自动调整索引操作和元数据处理操作。该索引操作是包括索引文件以生成添加到索引数据库的入口的典型操作,并且典型地,元数据操作涉及针对文件将元数据添加到元数据库。索引操作或者元数据操作可以被数据处理系统自动执行以响应通知,该通知可以是从操作系统组件传送到索引软件组件或者元数据软件组件。典型地,在用户对于数据处理系统的使用增长的时间,较少的索引操作得以执行。索引操作(或者元数据操作)的自动调整涉及改变索引软件(或者元数据软件)相对于数据处理系统执行的其他软件的处理优先权(例如Unix中的“Nice”命令)。索引操作的优先权可以改变或者输入/输出(I/O)操作的优先权可以改变或者两种操作的优先权都可以改变。
根据此处描述的本发明的另一个方面,处理数据的示例性方法包括确定索引数据库最后更新的时间,其中索引数据库包含来自存储在存储装置上的文件的内容,和确定存储在存储装置上的文件在索引数据库最后更新的时间之后是否被修改或者创建,和更新在索引数据库最后更新的时间之后被修改或者创建的文件的索引数据库。该更新可以自动发生无需用户介入。类似的方法可以被执行以确定是否要更新元数据库。
根据此处描述的本发明的另一个方面,处理数据的示例性方法包括装配存储装置并且自动响应装配,确定在存储装置上是否索引一个或者多个文件。确定是否索引一个或者多个文件包括将索引数据库的最后使用时间或者最后关闭时间与卸载时间或者存储装置的最后写入时间相比较,并且也可以包括在卸载时间之后将索引数据库的最早使用时间或者最后打开时间与存储装置的装配时间或者最早写入时间相比较。典型地,索引数据库存储在装配的存储装置上。类似方法可以被执行以确定是否自动响应存储装置的装配更新元数据库。
根据此处描述的本发明的另一个方面,示例性方法包括装配存储装置和在装配之后评价是否在存储装置上自动索引一个或者多个文件,该评价通过评价自从存储装置上的文件的索引数据库上次被关闭或者写入之后,存储装置上的文件是否被修改或者新文件是否被添加来实现。
根据此处描述的本发明的另一个方面,处理数据的示例性方法包括装配存储装置和自动响应该装配,无需检查在索引数据库中索引化的每一文件的记录,确定是否索引存储装置上的一个或者多个文件。
前述示例性方法也可以被执行以确定来自新文件或者修改的文件的元数据是否需要自动添加(例如引入)到元数据库中。举例而言,根据本发明的该方面的一个示例性方法包括装配存储装置和自动响应装配确定是否从存储装置上的一个或者多个文件引入元数据。
处理数据的另一个示例性方法包括确定来自文件的元数据被引入还是被添加到元数据库;将代表文件的条目添加到引入或者添加元数据的列表中,该引入或者添加元数据是从文件引入或者添加到元数据库;和将列表保存到非易失存储器上。列表的变化可以输入到交易日志中,并且在将文件的元数据添加到元数据库之后,列表的条目可以从列表中移除。
根据此处描述的本发明的另一个方面,示例性方法包括监测数据处理系统用户的使用,并且响应该监测自动调整引入操作或者添加操作,该操作将元数据从文件添加到元数据库。典型地,元数据库包含来自许多不同类型文件的元数据,从而第一类型文件的元数据的信息类型与第二类型文件的元数据的信息类型不同。
本发明的其他方面包括各种执行这些方法的数据处理系统和执行此处描述的多种方法的一个或者多个方法的机器可读介质。


本发明将以示例的方式加以阐明,并且不局限于附图中的特征,在附图中相同的标号表示同一元件。
图1是数据处理系统的示例性实施例,其可以是通用计算机系统并且其可以根据此处描述的各种方法中任一方法运行。
图2显示了根据本发明一个方面的示例性方法的总体示例。
图3A显示了特定类型文件的特定类型元数据的内容的示例。
图3B显示了另一特定类型文件的特定类型元数据的内容的另一示例。
图4显示了根据本发明一个示例性实施例的元数据管理的架构的示例。
图5是显示本发明另一示例性方法的流程图。
图6是显示了根据本发明示例性实施例,使用元数据的展开文件格式的存储格式示例。
图7A-7E显示了示例性实施例提供的图形用户界面的次序,该图形用户界面用于实现数据处理系统中的元数据和/或其他数据的搜索。
图8A和8B显示了根据本发明示例性实施例,显示搜索结果的两个格式示例。
图9显示了本发明用户接口的另一个示例。
图10显示了本发明用户接口的另一个示例。
图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是流程图,该流程图阐明了确定是否要更新数据库的示例性方法,该数据库例如索引数据库或者元数据库。
图28是流程图,该流程图阐明了确定是否要更新数据库的示例性方法,该数据库例如索引数据库或者元数据库。
具体实施例方式
本发明将参考下述大量细节进行描述,并且附图会阐明本发明。下述描述和附图是本发明的阐释,并且不能被解释为本发明的限制。大量具体细节被加以描述从而提供本发明完整的理解。然而,在特定情况下,公知的或者传统的细节没有被加以描述以便于不会对本发明在细节上造成不必要的模糊。
该描述包括受到版权保护的材料,例如图形用户接口图像的阐释。此处,版权的权利人对这些材料保留权利,包括版权,该权利人包括本发明的代理人。因为专利文档或者专利公开内容显示在专利商标局的文件或者记录中,所以版权权利人不反对任何人对于专利文档或者专利公开内容的复制再现,但是其他无论什么都保留所有版权。苹果公司版权所有,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)装置的外围装置上,该输入/输出(I/O)装置可以是鼠标、键盘、调制解调器、网络接口、打印机以及本领域公知的其他装置。典型地,输入/输出装置109通过输入/输出控制器108与系统相连。典型地,易失性RAM(随机访问存储器)105由动态RAM(DRAM)实现,动态RAM需要持续供电以更新或者维持存储器中的数据。典型地,海量存储器106也可以是磁性硬盘驱动器或者磁性光学驱动器或者光驱动器或者DVD RAM或者存储器系统的其他类型,该系统甚至在系统切断电源之后还保持数据(例如大量数据)。典型地,尽管不必要,海量存储器106也可以是随机访问存储器。尽管附图1显示海量存储器106是与数据处理系统的其他组件直接连接的本地设备,应当知道本发明可以使用与系统距离较远的非易失性存储器,例如与数据处理系统通过网络接口相连的网络存储装置,该网络接口例如调制解调器或者以太网接口。总线102可以包括通过多个本领域公知的桥连接器、控制器和/或适配器,相互连接的一条或者多条总线。在实施例中I/O控制器108包括用于控制USB外围设备的USB(通用串行总线)适配器和用于IEEE1394外围设备的IEEE1394控制器。
从该描述可以明显地得知,本发明的一些方面可以由软件实现,至少部分可以由软件实现。也就是说,该技术可以在计算机系统或者其他数据处理系统中实现,以响应例如微处理器的处理器,该技术执行包含在存储器中的指令序列,该存储器例如ROM107、RAM105、海量存储器106或者远程存储装置。在多个实施例中,硬连线电路可以与软件指令结合应用,以实现本发明。如此,该技术并不局限于硬件电路和软件的任何特定结合,也不局限于数据处理系统执行的任何特定指令源。另外,贯穿该描述,各种功能和操作被描述为由软件代码执行或者由软件代码引发以简化该描述。然而,本领域技术人员可以意识到该表达意味着该功能由例如微处理器103的处理器执行代码实现。
在多个应用程序中元数据的获取和应用附图2显示了本发明一个实施例的一般示例。在该示例中,捕获的元数据对于搜索设备而言是有用的,例如,该搜索设备是操作系统的组件,其允许在所有捕捉到元数据的应用程序中同时搜索所有元数据(以及可选择地,在数据文件中的所有非元数据中搜索)。附图2中的方法可以开始于操作201,在该操作中从大量不同应用程序中捕捉到元数据。捕捉到的元数据接着在操作203中由搜索设备使用,该搜索设备例如用于搜索的文件管理系统软件。在步骤205中,该搜索设备允许元数据的搜索在具有捕捉到的元数据的所有应用程序中进行。在步骤207中,该方法也提供搜索引擎的用户接口和由搜索引擎得到的搜索结果。存在大量可能的附图2中的方法的实现方式。举例而言,附图5显示了附图2的方法的一个示例性实施例的具体实现。可替代的实现方式也可以被使用。举例而言,在可替代的实现方式中,元数据由每一应用程序提供到中心源中,该中心源存储搜索设备使用的元数据,并且该中心源由操作系统组件管理,该操作系统组件可能是元数据处理软件。操作207中提供的用户接口可以有多种不同格式,包括下述一些示例以及传统的现有的用户接口。元数据存储在数据库中,该数据库可以是多种格式中的任一种格式,该格式包括B树格式,或者如下所述,根据本发明一个实施例的展开文件格式。
附图2中的方法可以由不存储或者提供元数据的程序实现。在这种情况下,操作系统的一部分实现从大量不同程序中捕捉元数据的功能,尽管该程序没有被设计以提供或者捕捉元数据。对于允许用户针对特定文档生成元数据的程序而言,本发明的特定实施例可以允许将捕捉到的元数据输出回应用程序的数据文件,该应用程序维护有关数据文件的元数据。
附图2中的方法允许有关多种不同应用程序产生的多种不同文件的信息可由系统级搜索设备存取,该存取与现有技术中的Finder或者Windows Explorer的版本在大量不同应用程序中搜索文件名、生成日期等的方式相似。如此,用于由多个不同应用程序产生的多个不同文件的元数据可以由操作系统的扩展存取,并且该扩展的示例作为元数据处理软件显示在附图4中,该元数据处理软件与系统其他部件相互作用,并且在下面将详细描述。
附图3A和3B显示两种不同数据文件类型下的两种不同元数据格式。请注意可以在所有的字段上没有重叠;换句话说,一种类型的元数据的字段和另一种类型的元数据的字段完全不同。元数据格式301可以用于例如JPEG图像文件的图像文件。该元数据可以包括一些信息,该信息例如图像宽度、图像长度、图像色彩空间、每象素的位数、ISO设置、闪光灯设置、照相机的F/光圈(F/stop)、拍照的照相机的商标、用户添加键盘和其他字段,其他字段例如可以唯一识别特定文件的字段,该识别在文件的修改中是永久性的。附图3B所示的元数据格式331可以用于例如MP3音乐文件的音乐文件。该元数据格式中的数据可以包括音乐家标识、音乐风格、唱片名、唱片中的歌曲名或者特定文件的歌曲名、歌曲播放时间或者特定歌曲的歌曲播放时间以及其它字段,其他字段例如标识特定MP3文件的永久性文件ID,在该特定MP3文件中元数据被捕捉到。其它字段类型也可以被使用。下述图表显示了多个字段的示例,该字段可以被用于各种类型文件的元数据中。











在各种元数据类型中都有用的一个特定字段可以是包括插入标识符或者可以用于从数据文件捕获元数据和/或将元数据输出回生成应用的其他软件元素。
各种不同软件架构可以用于实现此处描述的功能和操作。下面的讨论提供该架构的一个示例,但是应当知道替代性的架构也可以被使用从而达到相同或者相类似的结果。显示在附图4中的该软件架构是一个基于Macintosh操作系统的示例。架构400包括元数据处理软件401和操作系统(OS)内核403,该操作系统内核与元数据处理软件401连接操作用于下述的通知机制。元数据处理软件401也与其他软件程序相连接,该软件程序例如文件系统图形用户接口软件405(可以是Finder)、电子邮件软件407和其他应用409。这些应用通过客户机应用程序接口411与元数据处理软件401相连接,该客户机应用程序接口提供在元数据处理软件401和软件405、407和409之间传送数据和命令的方法。该命令和数据可以包括用户指定的搜索参数以及来自用户的执行搜索的命令,该参数和命令通过接口411传送到元数据处理软件401。元数据处理软件401也与输入端413的集合相连接,该输入端从各种应用中提取数据。特别地,在一个示例性实施例中,文本输入端被用于从文字处理或者文本处理文件中提取文本和其他信息,该文字处理或者文本处理程序例如Microsoft Word等。该提取的信息是特定文件的元数据。其他类型的输入端从其他类型的文件中提取元数据,该其他类型的文件例如图像文件或者音乐文件。在该特定实施例中,特定输入端基于由应用程序产生和修改的文件的类型被选择。举例而言,如果数据文件由PhotoShop创建,则针对PhotoShop的图像输入端被用于通过元数据处理软件401将元数据从PhotoShop数据文件输入到元数据库415。另一方面,如果数据文件是文字处理文档,则被设计用于从文字处理数据文档中提取元数据的输入端被访问,以通过元数据处理软件401从文字处理数据文件中提取元数据并且将其置于元数据库415中。典型地,需要许多不同输入端以处理应用于典型的计算机系统的许多不同应用程序。优选地,输入端413包括大量输出端,该输出端能够将用于特定类型数据文件的提取的元数据输出回由特定应用程序维护的属性表或者其他数据组件。举例而言,应用程序可以维护由程序创建的每一数据文件的一些元数据,但是该元数据只是从该类型数据文件的输出端提取的元数据的子集。在这种情况下,输出端可以将附加元数据输出回或者简单地将元数据插入到应用程序维护的元数据的空白字段中。
软件架构400还包括元数据的文件系统目录417。该文件系统目录跟踪数据文件和他们的元数据之间的关系,并且跟踪每一输入端创建的元数据对象的位置(例如与数据文件对应的元数据文件,其在该数据文件中被提取)。在一个示例性实施例中,元数据库被维持为如下所述的展开文件格式,并且文件系统目录417维护该展开文件格式。展开文件格式的一个优点在于数据作为数据字符串被置于存储装置上,不论从一个元数据文件(对应特定数据文件)到另一个元数据文件(对应另一个数据文件)的字段。数据的这一安排经常会导致从元数据库415中较快地检索信息。
附图4中的软件架构400还包括基于内容查找软件419,该软件在操作中与包括文件索引的数据库421相连接。文件索引代表存储装置中数据文件的至少一个子集,并且可以包括一个特定存储装置(一些存储装置)中的所有数据文件,该存储装置例如计算机系统的主硬盘驱动器。文件的索引可以是传统的每一文档的内容的索引化表示。基于内容查找软件419在内容中查找词汇以察看特定词汇是否存在于任何索引化的数据文件中,该查找通过查找数据库421实现。基于内容查找软件的功能在元数据处理软件401中具有效用,该元数据处理软件对用户具有好处,该好处就是用户可以同时检索数据库421中的文件索引(针对文件中的内容)以及要检索的各种数据文件的元数据。显示在附图4中的该软件架构可以用于执行附图5中所示的方法,或者可替换的软件架构可以用于执行附图5中所示的方法。
附图5中的方法始于操作501,在该操作中,接收到文件改变的通知。该通知来自于操作系统内核403,其通知元数据处理软件401文件已经改变。该通知可以来自监听软件元件,该元件监测新的或者改变的文件和文件的删除。该改变可以是新文件的创建或者现有文件的改变或者现有文件的删除。现有文件的删除引发附图5中的处理方法的一种特殊情况,并且没有显示在附图5中。在删除的情况下,元数据处理软件401通过使用文件系统目录417删除元数据库415中的元数据文件,该元数据文件与删除的文件对应。其他类型的操作,例如新文件的创建或者现有文件的改变,引起从操作501到操作503的处理过程,在该处理过程中作为通知目标的文件类型被确定。该文件可以是Acrobat PDF文件或者RTF文字处理文件或者JPEG图像文件等等。在任何情况下,文件类型在操作503中确定。其可以通过从操作系统内核403接收与通知一起的文件类型,或者元数据处理软件401可以从文件系统图形用户接口软件405或者类似软件要求文件类型的标识,该软件维护数据文件的信息,例如数据文件的生成应用或者父应用。应当知道在一个示例性实施例中,文件系统图形用户接口软件405是在Macintosh操作系统上运行的Finder程序。在可以替换的实施例中,文件系统图形用户接口系统可以是运行在微软公司的Windows操作系统上的Windows Explorer。在操作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-B tree)、非哈希树(non-hash tree)格式,在该格式下,数据不是试图被组织为而是被存储为数据流。每一元数据对象或者元数据文件自身包含字段,例如附图3A和3B中显示的字段。然而,典型地,从一个元数据文件的一个字段到下一个原数据文件或者另一个同一文件类型的原数据文件的相应字段(或者另一字段)没有关系或者引用或者指向。附图6显示了元数据展开文件的布局的实施例。格式601包括许多元数据文件,该元数据文件针对相应的许多数据文件。如附图6所示,元数据文件603是来自应用A的文件1的元数据,并且可以被称为元数据文件A1。类似地,元数据文件605是来自应用B的文件1的元数据,并且可以被称为元数据文件B1。典型地,每一该元数据文件包括字段,该字段不链接到其他字段,并且该字段不会包含指向其他元数据文件的其他字段的引用或者指针。从附图6中可以看出,附图6中的元数据库包括来自许多不同应用(应用A、B和C)的元数据文件和由该应用创建的不同文件。元数据文件607、609、611和617是附图6中显示的应用A、B和C创建的附加元数据文件。
软查询语言可以用于以与查询语言用于搜索其他数据库相同的方式搜索元数据库。如果愿意,每一元数据文件中的数据可以被打包甚至被压缩。如上所述,在特定实施例中,每一元数据文件包括永久性标识符,该标识符唯一表示相应的数据文件。甚至如果文件名改变或者文件被修改,该标识符仍保持相同。这是实现了特定数据文件和元数据的永久性关联。
用户接口方面用于输入搜索参数和用于显示搜索结果的用户接口的各种不同示例在此处得以提供。应当知道特定实施例中的一些特征可以与其他实施例结合,从而这种结合产生了混合实施例。应当知道,特定特征可以从这些实施例中移除并且在许多情况下仍然提供充足的功能。
附图7A显示了图形用户接口,该图形用户接口是显示在显示装置上的窗口,该显示装置与例如计算机系统的数据处理系统连接。窗口701包含侧边条,该侧边条具有两个区域703A和703B,区域703A是用户配置区域,区域703B是由数据处理系统所指定的。关于该侧边条形区域的更为详细的内容可以在共同提出的第__号美国专利申请中找到,该申请是2004年6月22日提出的,并且题目为“Methods and Apparatusesfor operating a Data Processing System”,发明者是Donald Lindsay和Bas Ording,代理摘要号为04860.P3306。窗口701也包括显示区域705,在这种情况下,该显示区域显示用户请求的搜索结果。窗口701还包括搜索参数菜单条707,该菜单条包括可配置的下拉菜单713、715和717。窗口701还包括文本输入区域709,该区域允许用户输入作为搜索查询或者搜索参数一部分的文本。按钮711可以是开始搜索按钮,用户可以启动该按钮以便于基于选择的搜索参数开始搜索。可替代地,系统一接收任何搜索参数输入或者来自用户的搜索查询就可以执行搜索,而不是等待开始搜索的命令。窗口701还可以包括标题栏729,该标题栏可以用于与光标控制装置一起在桌面上移动窗口,该移动以传统的方式实现,该桌面显示在显示装置上。窗口701还包括关闭按钮734、最小化按钮735和调整大小按钮736,这些按钮分别用于将窗口关闭或者将窗口最小化或者调整窗口大小。窗口701还包括调整大小控制器731,其允许用户改变显示装置上的窗口的大小。窗口701还包括后退按钮732和前进按钮733,该后退按钮和前进按钮以与网络浏览器上的后退按钮和前进按钮类似的方式工作,该网络浏览器例如因特网浏览器(Internet Explorer)或者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中选择了特定选项(在该情况下是“上周(past week)”)之后,数据处理系统显示器上的窗口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和选择新标准的方式添加各种搜索标准的能力。
应当理解下拉菜单中的各种选项可以依赖于特定类型元数据文件中的字段。举例而言,要搜索的“图像”的选择可以导致图像类型文件的元数据中提出的各种字段显示在一个或者多个下拉菜单中,允许用户在一个或者多个该字段中搜索特定类型的文件。并不适用于“图像”类型文件的其他字段可以不显示在该菜单中以减少菜单的复杂度并且防止用户混淆。
本发明的另一个特征显示在附图7A-7E中。在特定的情况下,侧边条形区域703A包括代表着从特定搜索中获得的搜索结果的文件夹725的标识,该侧边条形区域是侧边条的用户可配置部分,搜索结果可以是静态的或者动态的,这是因为在特定情况下搜索被再次执行以基于系统中的当前文件获得结果。附图7A-7E中所示的示例中的文件夹725代表十二月10号完成的本地磁盘上针对所有图像的搜索。通过在侧边条形区域703A选择该文件夹,用户可以引发显示区域705上的搜索结果的显示。这样,通过将搜索结果保存在侧边条形区域703A的方式,用户可以自动检索搜索结果。使得搜索结果或者搜索查询保存在侧边条形区域703A的机制是选择添加文件夹按钮727,该按钮显示在窗口701的底部。通过选择该按钮,当前的搜索结果或者搜索查询以文件列表和当前搜索结果中检索到的其他对象的形式得到保存。在搜索查询而不是搜索结果被保存用以以后使用的情况下,当前搜索查询被保存以便于以后再次使用从而找到在较晚的时间与搜索查询相匹配的文件。用户可以通过未示出的命令选择的方式在该两种功能(保存搜索结果或者保存搜索查询)之间选择。
附图8A和8B显示了用户接口特征的另一个方面,其可以应用于本发明的特定实施例中。附图8A中的窗口801代表搜索结果的显示,该搜索结果可以作为使用本发明多个不同实施例中的一个实施例获得的结果。在此情况下该标题再现时间期间,该搜索结果可以被分类,这些种类通过标题805、807、809和811分离。使用标题的该特定划分通过用户使用日期修改按钮803被选择,该选择通过用户使用位于窗口801顶部的日期修改按钮803来选择标题“修改日期(data modified)”实现。通过选择附图8B所示的位于窗口801A顶部的按钮802,一个替代性的选择使得不同搜索结果格式现在按标题分类,该标题表明文件的类型,该文件在搜索中得到检索并且如附图8B所示被标题815、817、819和821分隔。搜索结果显示中这些标题的使用允许用户快速浏览搜索结果以找到文件。
附图9显示了本发明的另一个方面,其作为窗口901的一部分在附图9中得到阐释。该窗口包括显示搜索结果的显示区域905,并且该窗口还包括两个侧边条形区域903A和903B,侧边条形区域903A是用户配置部分,并且侧边条形区域903B是系统控制部分。文件夹添加按钮927可以由用户加以选择从而使得搜索结果或者搜索查询的额外部分添加到侧边条的用户配置部分。窗口901还包括传统窗口控制器,例如标题栏或区域929以及观察选择按钮937还有分别为最大化按钮、最小化按钮和调整大小按钮934,935和936,该标题栏区域可以用于在显示屏上移动窗口。窗口901显示了特定风格,在该风格下基于文本搜索的结果得到显示。文本输入区域909用于输入要搜索的文本。该文本可以用于在元数据文件或者索引文件或者二者的结合中搜索。显示区域905显示文本搜索结果,并且至少包括两列917和919,这两列提供了找到的文件的名称和匹配标准。如列919所示,匹配标准可以是作者字段或者文件名或者关键字或者评论或者包含在已搜索的元数据中的其他数据字段。列921显示了找到的文本,该文本与键入到文本输入区域909的搜索参数匹配。另一列911相对于搜索结果提供附加信息。特别地,该列包括每一特定类型的种类或者字段的匹配数目,以及条目913所表明的总匹配数目。因此,举例而言,在评论字段找到的匹配总数只有1个,同时其他字段具有较高的匹配数目。
附图10显示了本发明具体实施方式
的其他特定方面。窗口1001是另一个搜索结果窗口,该窗口包括各种字段和菜单用于由用户选择各种搜索参数或者形成搜索查询。窗口1001包括可用于显示搜索结果的显示区域1005和用户可配置侧边条形区域1003A和系统指定侧边条形区域1003B。另外,窗口1001包括例如控制器1021和1022和1021A的传统滚动控制器。窗口还包括例如标题栏1029和显示控制按钮1037和最大化、最小化和调整大小按钮1034、1035和1036的传统控制器,该标题栏可以用于移动窗口。开始搜索按钮1015与文本输入区域1009较近。第一搜索参数菜单栏1007与第二搜索参数栏1011临近显示。当第二搜索参数菜单栏1011的两个菜单下拉控制器允许用户使用下拉菜单1012指明文件类型并且允许用户使用菜单1013指明文件创建或者最后修改的时间的时候,第一搜索参数搜索栏1007允许用户指明特定搜索的位置。
窗口1001包括在分析搜索结果的时候非常有用的额外特征。用户可以从显示区域1005中选择单个文件并且将其加入一个集合中。每一个文件可以使用特定命令(例如按下鼠标右键并且从显示在显示屏上的菜单中选择命令,命令可以是“将选择添加到当前组(add selection to currentgroup)”)或者类似命令单独标注。通过单独选择该文件或者通过一次选择文件组,用户可以将文件组与选中的组或者“标注的(marked)”组关联,而且该关联可以用于在组的所有文件中执行命令动作(例如打印每一文件或者在查看窗口查看每一文件或者将每一文件移至新的或者现有的文件夹,等等)。该标注组的标识作为文件夹显示在用户配置区域1003A。该文件夹的示例是显示在用户配置区域的文件夹1020。通过选择该文件夹(例如通过将光标定位于文件夹1020并且按下以及释放鼠标按键或者通过按下另一键),作为选择的结果用户会引发被分在一组或者被标注的文件在显示区域1005中显示。可替换地,独立窗口可以仅仅显示被标注或者被分组的项目。该关联或者分组可以仅仅是临时的(例如他们只是在搜索结果窗口显示的时候存在),或者可以通过保留分组文件名单并且通过在用户可配置侧边条(例如侧边条1003A)中保留文件夹1020或者其他分组标识的方式成为永久的。某些实施例可以允许同一时间存在多个不同的分组,这些分组或联合的每个可以仅仅是临时的(例如他们仅在搜索窗口被显示时存在),或者他们可以通过保留已经被分组在每个单独的组中的所有文件的列表而被永久保留。应当知道每一组中的文件可以被不同应用创建。如上所述,一个分组可以被选择并且接着用户选择在所选择的组的所有文件中执行共同的动作(例如打印或者查看或者移动或者删除)的命令。
附图11A、11B、11C和11D显示了允许用户输入搜索查询或者搜索参数的可替代的用户接口。附图中所示的该用户接口显示在窗口1101中,该窗口具有用户可配置的侧边条区域1103A和系统指定侧边条区域1103B。窗口1101还包括传统窗口控制器,例如窗口调整大小控制器1131,该部件可以在传统的图形用户接口方式下被拖拽以调整窗体大小,并且该窗体还包括滚动控制器,例如控制器1121、1122和1123。举例而言,滚动控制器1121可以在滚动区域1121A中被拖拽,或者鼠标或其他输入装置上的滚轮可以用于引发显示区域1105内的滚动。进一步,传统窗口控制器包括标题栏1129,该标题栏可以用于在桌面上移动窗口,其显示在计算机系统的显示装置上。并且该窗口还包括查看按钮1137以及关闭、最小化和调整大小按钮1134、1135和1136。后退和前进按钮,例如后退按钮1132,也被提供以允许用户向后移动和向前移动,该移动的方式与网页浏览器中的后退和前进命令类似。窗口1101包括搜索参数菜单栏1111,该搜索参数菜单栏包括“搜索(search by)”下拉菜单1112和“排序(sort by)”下拉菜单1114。“搜索”下拉菜单1112允许用户指明特定搜索参数,如图11B所示,其通过从一旦被激活即显示在下拉菜单中的选项中选择的方式实现。特别地,下拉菜单1113显示了当“搜索”下拉菜单1112被激活的时候下拉菜单的示例。“排序”下拉菜单1114允许用户指明搜索结果如何显示在显示区域1105中。在附图11A-11D所示的示例中,用户使用“排序”下拉菜单1114选择“查看日期(date viewed)”标准以基于此排序搜索结果。应当注意用户可以通过选择三个查看按钮1137之一改变搜索查询结果的查看类型。举例而言,用户可以选择图标查看在查看按钮1137中目前被选择的按钮,或者用户可以选择列表查看或者列查看。
附图11B显示了用户激活“搜索”下拉菜单1112后的结果,其导致菜单1113的显示,菜单1113包含许多选项,用户可以从中选择执行搜索的依据。应当知道对于用户而言存在大量不同激活“搜索”下拉菜单1112的方式。一种方式包括光标的使用,例如由光标控制装置控制的显示屏上的指针,该光标控制装置例如鼠标。光标位于与“搜索”菜单标题关联的区域(其是包含“按…搜索的”的搜索参数菜单条1111中的部分)并且接着用户通过按压例如鼠标按键的按钮表明菜单标题的选择,从而导致下拉菜单出现,在这种情况下该下拉菜单即如附图11B所示的菜单1113。在这一点上,用户可以继续移动光标指向菜单中的特定选项,例如“时间(time)”选项。这会导致子菜单在菜单1113的左侧或者右侧显示。子菜单可以与子菜单719A或者附图12A中显示的菜单1214相类似。如果“类别(kind)”选项在菜单1113中被选择,子菜单可以包括不同种类文档的总体列表,例如图像、照片、电影、文本、音乐、PDF文档、电子邮件文档等等,或者列表可以包括特定程序名称的引用,该程序例如PhotoShop、Director、Excel、Word等等,或者其可以包括总体名称和特定名称的结合。附图11C显示了用户从菜单1113中显示的“类别”选项的子菜单中选择PhotoShop类型文档的结果。这导致了附图11C所示的搜索参数菜单栏1111A的显示,该菜单栏包括高亮度区域1111B,该高亮度区域表明要搜索的PhotoShop类型文档。该搜索参数菜单栏1111显示在如图11C所示的搜索参数菜单栏1111A的下面。用户接着通过再次使用“搜索”下拉菜单1112或者通过向文本输入区域1109输入文本指明附加搜索参数。举例而言,从附图11C所示的窗口1101的状态,用户可以选择“搜索”下拉菜单1112,使得包含许多选项的菜单得以显示,该选项例如菜单1113中所示的选项或者例如与PhotoShop文档相关的可替换的选项(例如PhotoShop类型文档的元数据的各种字段)。包含在PhotoShop类型文档的元数据中的这些字段的结合和其他类别的字段(例如时间、文件大小和其他参数)可以显示在菜单中,例如通过选择“搜索”下拉菜单激活的菜单1113。用户可以接着选择另一个标准,例如时间标准。在这种情况下,窗口1101显示允许用户指明特定时间的新搜索参数菜单栏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;当用户输入搜索参数的时候该结果将动态显示,或者该结果只是在用户指令系统执行搜索(例如通过选择“执行搜索(perform search)”命令)之后加以显示。窗口1201包括传统窗口控制器,例如调整大小控制器1231、滚动控制器1221、可以用于移动窗口的标题栏1229、窗口关闭按钮、窗口最小化按钮和各个窗口调整大小按钮1234、1235和1236。窗口1201也包括用户可配置侧边条区域1203A和系统指定侧边条区域1203B。从附图12A可以看出,通过在系统指定侧边条区域1203B中高亮度显示“浏览(browse)”图标1203C,表明浏览器模式被选择。窗口1201还包括文本输入区域1209,用户可以使用该区域输入要搜索的文本,并且窗口1201还包括查看选择按钮1237。
窗口1201的列1211允许用户通过选择一个选项选择多种搜索参数,该选项依次引发与选择的选项相对应的子菜单的显示。在附图12A的情况下,用户选择了“类别”选项1212并且接着使用子菜单1214从子菜单中选择“照片”选项,导致标识符1213(照片)显示在“类别”选项下面的列1211中,如附图12A所示。也可以看出用户以前在列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所示的按钮1283清除当前搜索参数。
附图13A显示了窗口1301的另一实施例,该窗口在显示区域1302中显示搜索结果。窗口1301是可以被关闭、可以最小化、可以调整大小并且可以被移动的窗口,具有调整大小控制器1310、用于移动窗体的标题栏1305、文本输入区域1306和用户配置部分1303、以及系统指定部分1304。窗口1301还包括选择各种查看方式的按钮,该查看方式包括图标查看、列表查看和列查看。目前,列表查看按钮1316被选择,导致搜索结果以列表查看的方式显示在显示区域1302中。可以看出文本(“按钮(button)”)被输入到文本输入区域1306并且这使得系统能够响应展示在显示区域1302中的搜索结果。用户通过选择“随处(everywhere)”按钮1317指明搜索在所有位置进行。进一步,用户通过在下拉菜单1315中选择“种类(kind)”选项和在下拉菜单1319中选择“任意(any)”选项,搜索所有种类的文档。位置部分1307包括“+”按钮,该按钮可以用于进一步添加搜索参数,并且简单地说,部分1308包括用于分别添加或者删除搜索参数的“+”和“-”按钮。部分1307还包括“保存(save)”按钮1309,该按钮使得当前搜索查询以文件夹的形式保存,该文件夹被添加到用户配置部分1303便于以后使用。这将在下面进一步描述并且可以被称为“智能文件夹(smart folder)”。在特定实施例中,显示在附图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之下的附加部分使得用户可以进一步说明有关搜索的细节,在这种情况下指明文档的类型,该文档是最近一周查看过的图像。用户在这种情况下通过下述方式设定搜索参数,该方式就是从下拉菜单1419中选择“类别”选项和从下拉菜单1420中选择“图像”类型和从下拉菜单1418中选择“最近查看”选项和从下拉菜单1422中选择“本周(this week)”。用户还通过选择按钮1421选择“随处”从而搜索在与系统相连的所有磁盘和存储装置上执行。该结果显示在显示区域1403上。用户接着通过选择“保存”按钮1417存储搜索查询,并且可以命名该保存的搜索查询为“本周图像(this week’s images)”以生成智能文件夹1406,如用户配置部分1405所示。这使得用户可以在较近的时间内仅仅通过选择智能文件夹1406即重复该搜索,该智能文件夹使得系统再次执行新搜索,并且与搜索标准匹配的所有数据将在显示区域1403中加以显示。因此,如果从通过选择智能文件夹1406执行下次搜索起的最近几周,显示在附图14A中的显示区域1403的文件中没有文件被查看,在几周之后,通过选择智能文件夹1406的搜索的重复将产生完全不同的列表。
附图14B显示了一种方式,在该方式下用户可以在由保存的搜索确定的搜索结果中分类或者进一步搜索,该保存的搜索例如智能文件夹。在附图14B的情况下,用户选择了智能文件夹1406并且接着在文本输入区域1415中输入文字“jpg”1425。这使得系统过滤或者进一步限制智能文件夹1406保存的搜索查询获得的搜索结果。因此,PhotoShop文件和例如TIF文件和GIF文件的其他文件排除在附图14B的显示区域1403中显示的搜索结果之外,因为用户通过添加额外的搜索标准排除了这些文件,该搜索标准由文本输入区域1415中的文本1425指明。可以看出“jpg”文字输入与其他搜索参数进行逻辑与操作以获得在显示区域1403显示的搜索结果。还可以看出用户通过选择图标查看按钮1409选择图标查看。因此,用户可能保存搜索查询并且随后使用它,并且进一步限制搜索查询的结果,该限制通过在搜索查询的结果上执行搜索以进一步限制搜索结果实现。
附图14C展现了窗口1401并且展现了显示在显示区域1403的搜索结果,在显示区域,结果基于由智能文件夹1406确定的保存的搜索。用户通过选择下拉区域1427A使得下拉菜单1427显示。下拉区域1427包括用户可以选择的一些选项。这些选项包括隐藏搜索标准或者保存搜索(其与选择按钮1417类似)或者显示查看选项或者打开选择文件。举例而言,这使得用户可以隐藏搜索标准,因此使得部分1416和其他搜索参数从窗口1401中移除,该窗口是可移动的、可调整大小的、可最小化的并且可关闭的窗口。
附图14D显示了用户接口的示例,该用户接口允许用户指定例如智能文件夹1406智能文件夹的外观。
附图15A、15B、15C和15D显示了系统级搜索输入用户接口和搜索结果用户接口的示例。在一个特定的示例性实施例中,这些用户接口在整个系统中针对所有应用都是有效的,这些应用在系统和所有文件和元数据甚至地址簿程序中的地址簿实体上运行,例如个人信息管理程序,和日历程序中的日历实体和电子邮件程序中的电子邮件等等。在一个示例性实施例中,系统开始执行搜索并且开始作为用户键入到文本输入区域的文本显示搜索结果,该文本输入区域例如文本输入区域1507。该搜索结果分类组织并且显示在较短的列表中,该列表被有意简化以仅提出选定数量的搜索查询的最为相关(评估较好的)的匹配项或者命中项。用户可以通过选择命令要求所有命中项的显示,该命令例如“全部显示(show all)”命令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的预定的或者动态确定的实体数目以内。附加类,“命中最高项(top hit)”基于得分或者相关度使用本领域公知的技术被选出。用户可以选择“全部显示”命令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文件、源代码文件和其他类型文件。通过在部分之内进行分组每一类型或者种类的文档与其他文档分离并且通过标题与其他部分分离。因此,标题1611、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所示的搜索结果用户接口只是展示了该类中有限数量的匹配项或者命中项。在该附图的特定示例中,只有五个顶级(最为相关的或者排序最高的)命中项得到显示。这通过注意在该组每一列表底端的入口可以看出,该入口表明该组中还有多少命中项;可以通过选择该指示部分这些命中项可以被检查,该指示部分例如指示部分1612,其使得用于“按钮(button)”的搜索的文档种类或者类别中的所有项目得以显示,该“按钮”被输入到文本输入区域1603。该行为的进一步的示例在下面描述并且与附图18A和18B一起显示。应当知道窗口1601是可以关闭并且可以调整大小并且可以移动的窗口,并包括关闭按钮和调整大小控制器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个(show top 5)”按钮1832实现。另外,用户可以在附图18A和18B所示的图像部分的列表查看或者图标查看中做出选择。用户可以通过选择列表查看按钮1830选择列表查看,或者通过选择图标查看按钮1831选择图标查看。在附图16A中,图像组的列表查看被示出;并且在附图18A和18B中,图像组的图标查看被示出。可以看出在单个、可移动、可调整大小、可关闭的搜索结果窗口中,具有两种不同查看方式(例如列表查看和图标查看),该两种查看方式同时显示在窗口中。举例而言,在附图18A和18B中,标题1819下的PDF文档以列表查看显示,同时标题1817下的图形以图表查看显示。从附图18A和18B中可以看出,每一图像以预览的方式显示,如发明人SteveJobs、Steve Lemay、Jessica Kahn、Sarah Wilkin、David Hyatt、Jens Alfke、Wayne Loofbourrow和Bertrand Serlet提出的题目为“现场内容调整大小(Live Content Resizing)”的专利申请中的描述,其能够现场调整大小,该专利申请的提交日与本申请相同,并且已经转让给了此处描述的本发明的受让人,并且该专利申请在此处被结合参考。
附图19A显示了搜索结果窗口的另一个示例,该窗口与窗口1601类似。附图19A显示的窗口1901包括文本输入区域1903和分组菜单选择区域1905和分类菜单选择区域1907和地方菜单选择区域1908。另外,窗口还包括关闭按钮1925和调整大小控制器1925A。文本被输入到文本输入区域1903以产生窗口1901所示的搜索结果。搜索结果再次按用户选择的种类分组,在该情况下该种类是人员(people)选项1906。这使得标题1911、1913、1915和1917根据人员的姓名分别显示组。在每一组中,用户选择按照特定文件或者文档的日期排序。举例而言,附图19A所示的用户接口允许用户指明个体的姓名并且允许用户按照人员分组以查看两人之间的通信。附图19B显示了另一种方式,在该方式下用户以与附图19A所示的方式不同的方式将文本搜索(“imran”)分组。在附图19B所示的情况下,用户在菜单选择区域1905的组中选择展开列表(flat list)并且从分类菜单选择区域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。光标2211也显示在桌面上。窗口2203、2205和2207每一个都包含许多显示为图标的项目。特别地,窗口2203包括由图标2215代表的数据文件,该数据文件在由图标2217代表的文件夹(例如文件存储系统中的子目录的图形表示)之中。窗口2205包括程序图标2223和文档图标2219和另一个文档图标2225和文件夹图标2221。窗口2207显示了包含“文件B(File B)”的一些文件的列表查看。用户可以接着使用光标2211或者使用其他传统用户接口技术选择多个项目。这可以使用表明多个项目的选择的一个输入或者多个输入完成。附图22B显示了用户选择图标2215、2217、2223、2225、2227和窗口2207中“文件B(File B)”的结果。可以看出光标2211在操作位置上与图标2225邻近。接着用户在选择许多项目之后,可以调用操作2103提及的命令。其的示例显示在附图22C中,该图表示了桌面2101的一部分,如附图22C所示该部分被指定为2201A。用户引发弹出菜单2230得以显示,该弹出菜单包括三项2231、2232和2233。选项2231允许用户将所有选择的项目移至回收站(例如删除它们),同时选项2232和2233与附图21中的操作2103中的命令相关。特别地,选项2232是可由用户选择以产生新文件夹的命令,并且在同样的操作下,移除已被选入新文件夹的项目。选项2233是在操作中允许用户生成新文件夹并且将选中的项目复制到新文件夹的命令。在附图22A-22D所示的示例中,用户选择选项2232,从而导致系统产生新的存储工具,例如具有预定路径名(例如“新文件夹(new folder)”)的新文件夹,或者可替代地,具有用户指定路径名的新文件夹。该结果显示在附图22D中,在该附图中桌面2201现在包括标题为新文件夹的新窗口,该窗口代表和显示新文件夹的内容,其也显示为文件夹2253,该文件夹2253是代表新文件夹的图形用户接口。
应当知道该方法可以使用各种替代方案。举例而言,在命令选项2232或者2233被选择后窗口显示,并且该窗口询问新文件夹的名称。在用户没有输入新名称的情况下,窗口显示默认名称(例如“新文件夹”)。可替代地,系统可以仅仅给新文件夹或者新存储工具默认路径名。另外,系统可以在不显示附图22D中的新窗口的情况下,仅仅创建新文件夹并且将项目移动或者复制到新文件夹中。
附图23涉及信息处理的一个方面,其目的在于更新一个或者多个数据库,例如索引数据库或者元数据库。响应用户在数据处理系统上的行为,一个或者多个数据库的更新被执行和控制。典型地,用户使用频度较高的使用将使得系统自动调整索引数据库或者元数据库更新的数量,从而用户的行为和数据处理系统的使用不会受到一个或者多个数据库上的更新操作的不利的影响。应当知道,在具体实施例中,只有一种类型的更新,而不是所有类型的更新响应用户行为受到控制;举例而言,因为索引通常需要较高的计算机资源,索引可以被控制响应用户行为,但是元数据库的操作则不是。操作2301涉及数据处理系统的用户使用的监测。其可以依赖数据处理系统通过多种不同方式完成。举例而言,典型地,使用基于UNIX操作系统的数据处理系统包括提供使用的程序的数量的指示的设备,该程序相对于由数据处理系统控制或者所有的程序“属于”用户,该用户可以被称为“根”用户。用户行为的一个或者多个阈值可以被用于确定数据处理系统上的用户的使用或者行为处于较高层次或者较低层次。举例而言,如果用户没有输入数据或者定位光标,并且用户所有的程序没有执行计算或者数据处理,接着典型地,用户行为被认为较低。在另一方面,如果用户输入数据或者使得数据得以输入或者引发一个用户程序执行复杂的计算集合,接着数据处理系统通常会确定系统的用户使用较高。操作2303显示在示例性实施例中,当用户的使用处于较高层次的时候,系统如何响应。在这种情况下,数据处理系统或者停止元数据的索引和/或输入操作,或者将索引和/或元数据软件设置为较低优先级(例如,Nice命令被改变),例如对一个或者所有索引软件和元数据软件设置较低的处理优先权。这使得系统对于用户的程序提供更多的处理时间,并且对于索引软件和/或元数据软件提供较少的处理时间。该控制类型在提供抢先式多任务的操作系统中有用。典型地,如附图23所示,数据处理系统呈环路操作,在该环路中在调整处理优先权之后,其继续监测用户的使用。如果系统确定用户的使用低于阙值,接着系统给予索引和/或元数据软件较高的处理优先权,如操作2305所示,并且返回操作2301的用户使用监测中。
附图24显示了根据此处描述的本发明的另一个方面的方法。在该方法中,通知用于自动引发索引数据库的更新。优选地,该通知可以输入到索引队列(例如,“即将索引化”序列),并且典型地,该通知不仅仅基于时间或者仅仅基于用户输入。在操作2403中,通知被自动生成以响应对现有文件的改变或保存新创新的文件。例如,操作系统的内核可以自动地产生通知以响应用户或者系统启动的保存,例如将文件写入硬盘。系统自动执行该保存(例如,特定文字处理程序和其他软件允许用户将自动保存操作设置为在预定时间期间经过之后发生)。被自动生成的通知被引入索引软件组件,其在操作2405中接收通知。优选地,该通知被输入索引队列中,该索引队列将与附图25结合进一步讨论。在操作2407中,索引软件执行文件的索引化并且将索引数据存入到索引数据库中。该索引响应通知,而不是响应指定时间的发生或者用户执行索引的命令。进一步,通知通过标识符指明文件。
附图25显示了特定示例性方法,该方法使用通知执行索引并且还将通知输入保存到非易失存储装置上,例如数据处理系统的硬盘的队列(如索引队列)。进一步,该方法显示有关队列变化的信息可以被输入到交易日志中。包含文本建的索引化内容和索引队列和日志的文件和索引数据库可以全部存储在同一个非易失存储装置上。附图25的该方法也可以对于通知加以执行以更新元数据库中的元数据;特定地,在元数据库中添加元数据或者改变元数据的通知可以被加入到队列中以更新元数据,并且该队列(例如“元数据队列”)可以被存储在非易失存储器上,并且有关该队列变化的信息可以被输入到交易日志中。包含文件多元数据的文件和元数据库和元数据队列和日志可以都存储在相同的非易失存储装置上。典型地,在队列变化存储在非易失存储器上之前,包括有关队列变化信息的日志被保存在非易失存储器上。
附图25的方法可以开始于操作2501,在该操作中来自操作系统内核的通知得以接收。该通知表明现有文件被改变或者新文件得以创建。该通知通常包括指明文件的标识符(例如通过永久的唯一的文件ID号)。在操作2503中,文件标识符被输入到索引队列中并且该队列被存储在例如硬盘的非易失存储器上。进一步有关队列变化的信息被输入到交易日志中,该日志由索引软件或者元数据库软件维护。该日志被设计用以在系统崩溃时保持数据处理系统的状态。实现日志的现有技术可以被使用从而保持有关队列的信息。该日志可以以简单日志的方式实现,或者实现为一种日志,该日志由符合“ACID”(自动性、一致性、独立性和持久性)的记录加以维护,该记录与记录文件系统维持的记录相似。接着,在操作2505中,索引化针对在索引队列中列出的文件加以执行。因为索引软件完成文件的索引操作,这使得在步骤2507中,文件标识符从来自索引队列的文件中移除,并且引发在更新队列存储到非易失存储器上,也引发有关队列变化的信息输入到交易日志中。
附图25显示具体实施例的深入方面。特别地,其显示了通过索引队列和/或元数据队列的使用,系统如何实现响应增长的用户行为的元数据索引或更新的中断。其显示在操作2509和2511中,该操作响应增长的用户使用实现用户的中断,并且接着响应降低的用户使用实现索引或者元数据处理的恢复。在用户积极使用数据处理系统的同时无需执行元数据的索引和引入的前提下,该索引队列和元数据队列允许系统跟踪文件的变化,并且输入标识索引队列和元数据队列中的文件的信息。
附图26、27和28有关此处描述的本发明的另一个方面。该方面涉及意图在并非必然需要在索引数据库中索引化的或者添加到元数据库中的每一个记录或者文件的检查的情况下,确定是否更新索引数据库或者元数据库。
附图26显示了确定是否要更新数据库的示例性方法,该数据库例如索引数据库或者元数据库。该方法在存储装置可换并且可从数据处理系统移动到数据处理系统,该数据处理系统例如USB硬盘驱动器或者USB闪存驱动器或者其他类型的可移除存储装置或者存储体。举例而言,可移除存储文件在第一数据处理系统上被索引化,并且接着可移除存储装置从第一数据处理系统中移除,并且接到第二数据处理系统上,该第二数据处理系统并不自动执行文件内容的索引或者将元数据从文件添加到(例如引入)元数据库中。在没有更新索引数据库或者元数据库的情况下存储体连接到第二数据处理系统上的时候,用户可以改变存储体上的文件。另外,当存储体连接到第二数据处理系统上的时候,用户可以创建新文件并且将其存储在可移除存储装置上。在没有将该新文件的内容添加到索引数据库并且没有将该新文件的元数据添加到元数据库的情况下,这也会发生。接着,可移除存储装置可以从第二处理系统中拆卸,并且再次连接到第一数据处理系统。第一数据处理系统上的索引软件和元数据软件旨在判断存储在可移除存储装置上的索引数据库和/或元数据库需要更新。在不可移除的存储装置的情况下类似的需要也会出现。举例而言,用户可以通过一些行为创建和/或改变文件,该行为防止数据处理系统获得必要的处理时间以索引新的或者改变的文件并且将元数据从新的或者改变的文件中引入。在用户的行为之后,用户指示系统关闭或者指示系统电源切断(例如,该系统由电池供电,例如笔记本计算机并且电池上留有不足电量,需要笔记本计算机尽快关闭)。
附图26中的方法开始于操作2601,在该操作中,何时文件系统的索引数据库为了特定存储体被最终更新被确定。在操作2603中,在索引数据库的最后更新时间之后,是否有文件被更新或者创建被确定。优选地,不是使用索引数据库的最后更新时间,而是,早于最后更新时间一段时间,例如一个小时被使用,以补偿一个数据处理系统与另一个数据处理系统之间的系统时钟差异。接着在操作2605中,数据处理系统更新索引数据库,该更新针对在索引数据库最后更新时间之后被更新或者创建的所有文件,或者在早于最后更新时间一段时间被使用的情况下,该一段时间例如一个小时,索引数据库将针对所有在早于索引数据库最后更新时间一个小时之后被更新或者创建的任何文件,加以更新。附图26所示的技术允许根据基于时间的比较判断是否要更新数据库,该比较无需检查在索引数据库中被索引化的每一文件的记录。附图26所示的方法的技术也可以被用于确定是否需要更新元数据库以从文件添加元数据,该文件是在元数据库被最后一次更新的时间之后被更新或者创建的(或者一段时间之后,比如说一个小时,早于最后时间)。
附图27所示的方法演示了一个具体示例,该示例有关如何确定是否更新索引数据库或者元数据库。附图27中的方法可以使用时间比较总体得以执行,或者使用附图28中所示的特定时间比较得以执行。附图27和28中的方法可以用于确定是否更新保存在存储体中的索引数据库或者元数据库或者两种数据库。应当知道,至少在特定实施例中,被索引化的文件和存储在元数据库中的该文件的元数据被存储在相同的装置上,该装置也存储特定索引数据库和元数据库。也就是说,典型地(在这些实施例中),索引数据库与被索引化到索引数据库中的文件没有分离,并且类似地,典型地(在这些实施例中),包含元数据的文件和元数据库与该文件之间没有分离。在替代性实施例中,数据库,例如索引数据库或者元数据库可以被存储在与文件分离的存储介质或者存储装置上,从该文件中数据库的数据得以获得。
附图27所示的方法可以始于操作2701,在该操作中数据处理系统完成索引化,并且关闭索引数据库和索引队列,并且卸下由第一数据处理系统索引化(至少部分索引化)的存储体。优选地,第一数据处理系统可以在存储体切断或者装配中执行附图28所示的操作2801。该操作包括三个值,该值是索引数据库被关闭的时间,存储体上的文件系统被卸载的时间和在切断或者卸载时存储体的写计数。在操作2703中存储体可以接着用于另一个数据处理系统,并且在没有更新索引数据库和/或元数据库的前提下该文件可能被改变。在数据处理系统上没有必要的索引软件和/或元数据软件的数据库可以被改变。在操作2705中,存储体再次被装配到第一数据处理系统上。优选地,在这一时间点,第一数据处理系统可以执行操作2803,该操作包括收集三个值,这三个值是存储体的最后装配时间、数据库打开时间和当前的写计数。其可以从附图28中看出。接着在操作2707中,第一数据处理系统确定在索引数据库被最后关闭之后和/或在元数据库被最后关闭之后存储体上是否有文件被改变。附图28中的操作2805显示了如何确定是否要更新数据库的一个示例。在操作2805中,是否两个时间值TFS和TDS之间的差值小于较小时间延迟被确定,并且类似地,是否两个其他时间值TD0和TFM之间的差值小于另一个较小时间延迟(该时间延迟可以与另一个时间延迟在时间上相同或者不同)被确定。另外,两个写计数被加以比较以确定它们之间的差值是否小于一个较小的数字。如附图28中的操作2805所示,如果三个插值小于特定值,则可以确定索引数据库(和/或元数据库)不需要更新。如果在操作2805中这些比较中的任一比较失败,接着可以确定数据库,例如索引数据库或者元数据库,需要更新。甚至当存储体不可移除的时候,附图27中的方法仍然有用。数据处理系统在例如一个小时或者更短时间的短时间内被反复打开和关闭通常是事实。浏览文件以确定是否要索引新文件是计算资源的浪费。因此附图27中的方法意图在无需检查数据库中每一文件的记录的情况下,确定数据库是否需要更新。附图28中的特定方法意图验证在索引数据库关闭之后没有文件得到改变,并且通过比较一些时间值而不是比较每一文件的时间值或者通过按照时间排序文件的方式完成这些。
在前述的具体说明中,本发明参考其中的具体示例性实施例得以描述。明显地,在不脱离如下面的权利要求所提出的本发明的较宽的精神和范围的前提下,多种改变可以做出。因此,该具体说明和附图被认为是释义性的含义,而非限制性的含义。
权利要求
1.一种处理数据的机器实现方法,该方法包括装配存储装置;自动响应装配,确定在存储装置上是否索引一个或者多个文件或者将一个或者多个文件的元数据添加到元数据库。
2.如权利要求1所述的方法,其中所述确定步骤包括将索引数据库的最后使用时间或者最后关闭时间与卸载时间或者存储装置的最后写入时间相比较,并且还包括在卸载时间之后将索引数据库的最早使用时间或者最后打开时间与存储装置的装配时间或者最早写入时间相比较。
3.如权利要求1所述的方法,其中所述确定步骤包括评价自从文件的索引数据库最后被关闭之后,存储装置上的文件是否被修改过。
4.如权利要求3所述的方法,其中所述评价步骤包括在不检查在索引数据库中索引化的每个文件的记录的情况下,执行基于时间的比较。
5.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括装配存储装置;自动响应装配,确定在存储装置上是否索引一个或者多个文件或者将一个或者多个文件的元数据添加到元数据库。
6.如权利要求5所述的介质,其中所述确定步骤包括将索引数据库的最后使用时间或者最后关闭时间与卸载时间或者存储装置的最后写入时间相比较,并且还包括在卸载时间之后将索引数据库的最早使用时间或者最后打开时间与存储装置的装配时间或者最早写入时间相比较。
7.如权利要求5所述的介质,其中所述确定步骤包括评价自从文件的索引数据库最后被关闭之后,存储装置上的文件是否被修改过。
8.如权利要求7所述的介质,其中所述评价步骤包括在不检查在索引数据库中索引化的每个文件的记录的情况下,执行基于时间的比较。
9.一种数据处理系统,包括用于装配存储装置的部件;用于自动响应装配,确定在存储装置上是否索引一个或者多个文件或者将一个或者多个文件的元数据添加到元数据库的部件。
10.如权利要求9所述的系统,其中所述确定步骤包括将索引数据库的最后使用时间或者最后关闭时间与卸载时间或者存储装置的最后写入时间相比较,并且还包括在卸载时间之后将索引数据库的最早使用时间或者最后打开时间与存储装置的装配时间或者最早写入时间相比较。
11.如权利要求9所述的系统,其中所述确定步骤包括评价自从文件的索引数据库最后被关闭之后,存储装置上的文件是否被修改过。
12.如权利要求11所述的系统,其中所述评价步骤包括在不检查在索引数据库中索引化的每个文件的记录的情况下,执行基于时间的比较。
13.一种处理数据的机器实现方法,该方法包括装配存储装置;在装配之后评价是否在存储装置上针对一个或者多个文件自动索引或者更新元数据库,该评价通过评价自从存储装置上的文件的数据库上次被关闭或者写入之后,存储装置上的文件是否被修改或者新文件是否被添加来实现。
14.如权利要求13所述的方法,其中所述评价步骤包括在不检查在数据库中索引化或者更新的每一个文件的记录的情况下,执行至少一次基于时间的比较。
15.如权利要求14所述的方法,其中评价还包括写计数的比较。
16.如权利要求13所述的方法,其中存储装置是可移除存储装置,其在系统中是便携式的。
17.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括装配存储装置;在装配之后评价是否在存储装置上针对一个或者多个文件自动索引或者更新元数据库,该评价通过评价自从存储装置上的文件的数据库上次被关闭或者写入之后,存储装置上的文件是否被修改或者新文件是否被添加来实现。
18.如权利要求17所述的介质,其中所述评价步骤包括在不检查在数据库中索引化或者更新的每一个文件的记录的情况下,执行至少一次基于时间的比较。
19.如权利要求18所述的介质,其中评价还包括写计数的比较。
20.如权利要求17所述的介质,其中存储装置是可移除存储装置,其在系统中是便携式的。
21.一种数据处理系统,包括用于装配存储装置的部件;用于在装配之后评价是否在存储装置上针对一个或者多个文件自动索引或者更新元数据库的部件,该评价通过评价自从存储装置上的文件的数据库上次被关闭或者写入之后,存储装置上的文件是否被修改或者新文件是否被添加来实现。
22.如权利要求21所述的系统,其中所述评价步骤包括在不检查在数据库中索引化或者更新的每一个文件的记录的情况下,执行至少一次基于时间的比较。
23.如权利要求22所述的系统,其中评价还包括写计数的比较。
24.如权利要求21所述的系统,其中存储装置是可移除存储装置,其在系统中是便携式的。
25.一种处理数据的机器实现方法,该方法包括装配存储装置;自动响应装配,无需检查在索引数据库中被索引化的每一文件或者在元数据库中具有元数据的每一文件的记录,确定在存储装置上是否针对一个或者多个文件索引或者更新元数据库。
26.如权利要求25所述的方法,其中所述确定步骤包括在卸载中执行至少一个基于时间的操作比较,该卸载早于装载和与装载同时或者晚于装载的操作。
27.如权利要求25所述的方法,其中所述确定步骤包括写计数的比较。
28.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括装配存储装置;自动响应装配,无需检查在索引数据库中被索引化的每一文件或者在元数据库中具有元数据的每一文件的记录,确定在存储装置上是否针对一个或者多个文件索引或者更新元数据库。
29.如权利要求28所述的介质,其中所述确定步骤包括在卸载中执行至少一个基于时间的操作比较,该卸载早于装载和与装载同时或者晚于装载的操作。
30.如权利要求28所述的介质,其中所述确定步骤包括写计数的比较。
31.一种数据处理包括用于装配存储装置的部件;部件,该部件用于自动响应装配,无需检查在索引数据库中被索引化的每一文件或者在元数据库中具有元数据的每一文件的记录,确定在存储装置上是否针对一个或者多个文件索引或者更新元数据库。
32.如权利要求31所述的系统,其中所述确定步骤包括在卸载中执行至少一个基于时间的操作比较,该卸载早于装载和与装载同时或者晚于装载的操作。
33.如权利要求31所述的系统,其中所述确定步骤包括写计数的比较。
34.一种处理数据的机器实现方法,该方法包括由索引软件组件接收通知,该通知是数据存储装置上的现有文件已经被改变或者在数据存储装置上新文件被创建;在现有文件或者新文件上执行索引操作以响应通知,其中通知包括标识现有文件或者新文件的标识符。
35.如权利要求34所述的方法,还包括由操作系统生成通知。
36.如权利要求34所述的方法,其中通知使得代表现有文件或者新文件的入口被添加到用于索引操作的队列中,并且该队列保存在非易失存储器中。
37.如权利要求36所述的方法,其中队列的变化被输入到日志中,并且在队列变化保存到非易失存储器上之前,具有变化的该日志保存在非易失存储器上。
38.如权利要求34所述的方法,其中索引操作被延迟或者被拖延以响应探测用户行为。
39.如权利要求34所述的方法,其中索引操作的处理优先权被降低以响应探测用户行为。
40.如权利要求35所述的方法,其中操作系统包括用于管理处理线程或者任务的内核,用于生成图形的图形生成组件,用于显示窗口的窗口组件,用于维持存储在数据存储装置上的文件目录的文件管理系统。
41.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括由索引软件组件接收通知,该通知是数据存储装置上的现有文件已经被改变或者在数据存储装置上新文件被创建;在现有文件或者新文件上执行索引操作以响应通知,其中通知包括标识现有文件或者新文件的标识符。
42.如权利要求41所述的介质,该方法还包括由操作系统生成通知。
43.如权利要求41所述的介质,其中通知使得代表现有文件或者新文件的入口被添加到用于索引操作的队列中,并且该队列保存在非易失存储器中。
44.如权利要求43所述的介质,其中队列的变化被输入到日志中,并且在队列变化保存到非易失存储器上之前,具有变化的该日志保存在非易失存储器上。
45.如权利要求41所述的介质,其中索引操作被延迟或者被拖延以响应探测用户行为。
46.如权利要求41所述的介质,索引操作的处理优先权被降低以响应探测用户行为。
47.如权利要求42所述的介质,其中操作系统包括用于管理处理线程或者任务的内核,用于生成图形的图形生成组件,用于显示窗口的窗口组件,用于维持存储在数据存储装置上的文件目录的文件管理系统。
48.一种数据处理系统,包括用于由索引软件组件接收通知的部件,该通知是数据存储装置上的现有文件已经被改变或者在数据存储装置上新文件被创建;用于在现有文件或者新文件上执行索引操作以响应通知的部件,其中通知包括标识现有文件或者新文件的标识符。
49.如权利要求48所述的系统,还包括由操作系统生成通知的部件。
50.如权利要求48所述的系统,其中通知使得代表现有文件或者新文件的入口被添加到用于索引操作的队列中,并且该队列保存在非易失存储器中。
51.如权利要求50所述的系统,其中队列的变化被输入到日志中,并且在队列变化保存到非易失存储器上之前,具有变化的该日志保存在非易失存储器上。
52.如权利要求48所述的系统,其中索引操作被延迟或者被拖延以响应探测用户行为。
53.如权利要求48所述的系统,其中索引操作的处理优先权被降低以响应探测用户行为。
54.如权利要求49所述的系统,其中操作系统包括用于管理处理线程或者任务的内核,用于生成图形的图形生成组件,用于显示窗口的窗口组件,用于维持存储在数据存储装置上的文件目录的文件管理系统。
55.一种处理数据的机器实现方法,该方法包括由索引软件组件接收通知,该通知是数据存储装置上的现有文件已经被改变或者在数据存储装置上新文件被创建;在现有文件或者新文件上执行索引操作以响应通知,其中通知并不仅仅基于时间或者用户输入。
56.如权利要求55所述的方法,还包括由操作系统生成通知。
57.如权利要求56所述的方法,其中通知使得代表现有文件的入口被添加到用于索引操作的队列中,并且该队列保存在非易失存储器中。
58.如权利要求57所述的方法,其中队列的变化被输入到日志中,并且在队列变化保存到非易失存储器上之前,具有变化的该日志保存在非易失存储器上。
59.如权利要求55所述的方法,其中索引操作被延迟或者被拖延以响应探测用户行为。
60.如权利要求57所述的方法,其中操作系统包括用于管理处理线程或者任务的内核,用于生成图形的图形生成组件,用于显示窗口的窗口组件,用于维持存储在数据存储装置上的文件目录的文件管理系统。
61.如权利要求55所述的方法,其中索引操作的处理优先权被降低以响应探测用户行为。
62.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括由索引软件组件接收通知,该通知是数据存储装置上的现有文件已经被改变或者在数据存储装置上新文件被创建;在现有文件或者新文件上执行索引操作以响应通知,其中通知不仅仅基于时间或者用户输入。
63.如权利要求62所述的介质,该方法还包括由操作系统生成通知。
64.如权利要求63所述的介质,其中通知使得代表现有文件或者新文件的入口被添加到用于索引操作的队列中,并且该队列保存在非易失存储器中。
65.如权利要求64所述的介质,其中队列的变化被输入到日志中,并且在队列变化保存到非易失存储器上之前,具有变化的该日志保存在非易失存储器上。
66.如权利要求62所述的介质,其中索引操作被延迟或者被拖延以响应探测用户行为。
67.如权利要求64所述的介质,其中操作系统包括用于管理处理线程或者任务的内核,用于生成图形的图形生成组件,用于显示窗口的窗口组件,用于维持存储在数据存储装置上的文件目录的文件管理系统。
68.如权利要求62所述的介质,索引操作的处理优先权被降低以响应探测用户行为。
69.一种数据处理系统,包括用于由索引软件组件接收通知的部件,该通知是数据存储装置上的现有文件已经被改变或者在数据存储装置上新文件被创建;用于在现有文件或者新文件上执行索引操作以响应通知的部件,其中通知不仅仅基于时间或者用户输入。
70.如权利要求69所述的系统,还包括由操作系统生成通知的部件。
71.如权利要求70所述的系统,其中通知使得代表现有文件或者新文件的入口被添加到用于索引操作的队列中,并且该队列保存在非易失存储器中。
72.如权利要求71所述的系统,其中队列的变化被输入到日志中,并且在队列变化保存到非易失存储器上之前,具有变化的该日志保存在非易失存储器上。
73.如权利要求69所述的系统,其中索引操作被延迟或者被拖延以响应探测用户行为。
74.如权利要求71所述的系统,其中操作系统包括用于管理处理线程或者任务的内核,用于生成图形的图形生成组件,用于显示窗口的窗口组件,用于维持存储在数据存储装置上的文件目录的文件管理系统。
75.如权利要求69所述的系统,其中索引操作的处理优先权被降低以响应探测用户行为。
76.一种处理数据的机器实现方法,该方法包括确定文件要被索引化到索引数据库中;将代表文件的入口添加到索引操作列表中;将列表保存到非易失存储器上。
77.如权利要求76所述的机器实现方法,还包括在索引文件之后将入口从列表高效移除,以创建更新列表;将更新列表存储在非易失存储器上。
78.如权利要求77所述的方法,其中所述确定步骤包括接收文件要被索引化的通知,通知从操作系统组件传送到索引组件。
79.如权利要求78所述的方法,其中通知并不仅仅基于时间或者用户输入,并且交易日志显示列表变化。
80.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括确定文件要被索引化到索引数据库中;将代表文件的入口添加到索引操作列表中;将列表保存到非易失存储器上。
81.如权利要求80所述的介质,该方法还包括在索引文件之后将入口从列表高效移除,以创建更新列表;将更新列表存储在非易失存储器上。
82.如权利要求81所述的介质,其中所述确定步骤包括接收文件要被索引化的通知,通知从操作系统组件传送到索引组件。
83.如权利要求82所述的介质,其中通知并不仅仅基于时间或者用户输入,并且交易日志显示列表变化。
84.一种数据处理系统,包括用于确定文件要被索引化到索引数据库中的部件;用于将代表文件的入口添加到索引操作列表中的部件;用于将列表保存到非易失存储器上的部件。
85.如权利要求84所述的系统,还包括用于在索引文件之后将入口从列表高效移除,以创建更新列表的部件;用于将更新列表存储在非易失存储器上的部件。
86.如权利要求85所述的系统,其中所述确定步骤包括接收文件要被索引化的通知,通知从操作系统组件传送到索引组件。
87.如权利要求86所述的系统,其中通知并不仅仅基于时间或者用户输入,并且交易日志显示列表变化。
88.一种处理数据的机器实现方法,该方法包括监测数据处理系统的用户使用;响应该监测,自动调整索引操作。
89.如权利要求88所述的方法,其中索引操作由数据处理系统自动执行以响应通知,该通知从操作系统组件传送到文件需要索引化或者重新索引化的索引组件。
90.如权利要求88所述的方法,其中由于数据处理系统的用户使用增长,在一定时间内较少的索引操作被执行。
91.如权利要求88所述的方法,其中所述监测步骤包括确定应用程序是否使用显示装置上的所有有效显示区域。
92.如权利要求88所述的方法,其中所述调整步骤包括改变索引软件相对于数据处理系统上的其他软件的处理优先权。
93.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括监测数据处理系统的用户使用;响应该监测,自动调整索引操作。
94.如权利要求93所述的介质,其中索引操作由数据处理系统自动执行以响应通知,该通知从操作系统组件传送到文件需要索引化或者重新索引化的索引组件。
95.如权利要求93所述的介质,其中由于数据处理系统的用户使用增长,在一定时间内较少的索引操作被执行。
96.如权利要求93所述的介质,其中所述监测步骤包括确定应用程序是否使用显示装置上的所有有效显示区域。
97.如权利要求93所述的介质,其中所述调整步骤包括改变索引软件相对于数据处理系统上的其他软件的处理优先权。
98.一种数据处理系统,包括用于监测数据处理系统的用户使用的部件;用于响应该监测,自动调整索引操作的部件。
99.如权利要求98所述的系统,其中索引操作由数据处理系统自动执行以响应通知,该通知从操作系统组件传送到文件需要索引化或者重新索引化的索引组件。
100.如权利要求98所述的系统,其中由于数据处理系统的用户使用增长,在一定时间内较少的索引操作被执行。
101.如权利要求98所述的系统,其中所述监测步骤包括确定应用程序是否使用显示装置上的所有有效显示区域。
102.如权利要求98所述的系统,其中所述调整步骤包括改变索引软件相对于数据处理系统上的其他软件的处理优先权。
103.一种处理数据的机器实现方法,该方法包括确定索引数据库最后更新的时间,索引数据库包含来自存储在存储装置上的文件的内容;确定存储在存储装置上的文件在索引数据库最后更新的时间之后是否被修改或者创建;更新该时间之后被修改或者创建的文件的索引数据库。
104.如权利要求103所述的方法,其中更新自动发生无需用户介入。
105.如权利要求104所述的方法,其中确定存储在存储装置上的文件在一定时间后是否被修改或者创建,还包括确定文件在该时间之前的预定时间期间之后是否被修改或者创建。
106.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括确定索引数据库最后更新的时间,索引数据库包含来自存储在存储装置上的文件的内容;确定存储在存储装置上的文件在索引数据库最后更新的时间之后是否被修改或者创建;更新该时间之后被修改或者创建的文件的索引数据库。
107.如权利要求106所述的介质,其中更新自动发生无需用户介入。
108.如权利要求107所述的介质,其中确定存储在存储装置上的文件在一定时间后是否被修改或者创建,还包括确定文件在该时间之前的预定时间期间之后是否被修改或者创建。
109.一种数据处理系统,包括用于确定索引数据库最后更新的时间的部件,索引数据库包含来自存储在存储装置上的文件的内容;用于确定存储在存储装置上的文件在索引数据库最后更新的时间之后是否被修改或者创建的部件;用于更新该时间之后被修改或者创建的文件的索引数据库的部件。
110.如权利要求109所述的系统,其中更新自动发生无需用户介入。
111.如权利要求110所述的系统,其中确定存储在存储装置上的文件在一定时间后是否被修改或者创建,还包括确定文件在该时间之前的预定时间期间之后是否被修改或者创建。
112.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括确定文件具有针对文件的元数据,该元数据要被添加到元数据库中;将代表文件的入口添加到元数据处理操作列表中;将列表保存在非易失存储器上。
113.如权利要求112所述的介质,该方法还包括在将针对文件的元数据添加到元数据库之后将入口从列表高效移除,以生成更新列表;将更新列表保存到非易失存储器上。
114.如权利要求113所述的介质,其中所述确定步骤包括接收通知,该通知有关文件是新的还是修改的,该通知从操作系统组件传送到元数据软件组件。
115.如权利要求114所述的介质,其中通知并不仅仅基于时间或者用户输入,并且交易日志显示列表变化。
116.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括监测数据处理系统用户的使用;响应该监测自动调整元数据处理操作。
117.如权利要求116所述的介质,其中处理操作由数据处理系统自动执行以响应通知,该通知可以是从操作系统组件传送到元数据软件组件,文件需要元数据软件组件将其元数据添加到元数据库中。
118.如权利要求116所述的介质,其中随着数据处理系统的用户使用增加,在一段时间内较少的元数据处理操作被执行。
119.如权利要求116所述的介质,其中所述监测步骤包括确定应用程序是否使用显示装置上的所有有效显示区域。
120.如权利要求116所述的介质,其中所述调整步骤包括改变元数据处理软件相对于数据处理系统上的其他软件的处理优先权。
121.一种机器可读介质,其提供指令,当数据处理系统执行该指令时,使得数据处理系统执行数据处理方法,该方法包括确定元数据库最后更新的时间,元数据库包含来自存储在存储装置上的文件的元数据;确定存储在存储装置上的文件在元数据库最后更新的时间之后是否被修改或者创建;更新该时间之后被修改或者创建的文件的元数据库。
122.如权利要求121所述的介质,其中更新自动发生无需用户介入。
123.如权利要求122所述的介质,其中所述确定存储在存储装置上的文件在一定时间后是否被修改或者创建的步骤,还包括确定文件在该时间之前的预定时间期间之后是否被修改或者创建。
全文摘要
数据管理的系统和方法,例如元数据或者索引数据库。在示例性方法中,现有文件被修改或者新文件被创建的通知被索引软件组件接收,其接着响应通知执行索引操作,其中通知或者并非仅仅基于时间或用户输入,或者通知包括标识文件的标识符。数据处理系统的其他方法和机器可读介质也被描述。
文档编号G06F17/30GK1961313SQ200580012889
公开日2007年5月9日 申请日期2005年6月24日 优先权日2004年6月25日
发明者杨·阿鲁耶, 多米尼克·贾姆保罗, 安德鲁·卡罗尔, 史蒂夫·泽勒斯 申请人:苹果电脑有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1