使用自动列表的组合查询的制作方法

文档序号:6553807阅读:221来源:国知局
专利名称:使用自动列表的组合查询的制作方法
技术领域
本发明一般涉及计算机系统,尤其涉及计算机系统中的査询(querying)。更 具体地,本发明涉及使用自动列表作为与搜索规则相匹配的搜索范围的至少一部分 来查询计算机上的动态数据文件组。
背景技术
计算机用户常常需要在计算机或网络上査找存储在各种空间(location)中的 文件或文件夹。这些文件或文件夹可以基于用户指定的一组规则而被搜索。通常, 用户必须指定用户希望搜索的文件夹,即搜索范围。例如,用户想要查找满足指定 规则的所有文件,就必须指定要搜索的文件夹或计算机驱动器,例如,搜索C:drive, D:drive,或者C:Wsers、foo,等等。
搜索想要的文件的现有技术已经让计算机用户感到了麻烦和头疼。例如,这 些现有技术通常允许在指定范围内搜索文件。然而,在要搜索的文件的规模独立于 该范围改变的情况下,通过在指定范围内进行搜索的搜索就缺乏灵活性。由于在一 个搜索中的搜索查询不能用于在另一个搜索中搜索文件,因此现有的搜索文件技术 还不够灵活。于是,现有技术没有向用户提供通过合并其它査询定义来用查询定义 进行搜索的能力。同样地,现有的搜索文件技术也没有提供动态变更查询定义从而 使得合并了上述查询定义的第二搜索可以被动态更新的功能。相反地,用户必须重 复指定搜索规则或查询定义。
当用户继续搜索和识别数据文件时,数据文件就会变得越来多。数据文件按 照一定的模式或分类来存储(例如,目录结构)。当新的数据文件被识别时(即, 用新搜索),这些新数据文件就通常根据指定规则进行分组而被添加到现有的目录 结构或分类中。例如,指定规则可以与用于所识别的数据文件的搜索规则相对应。 如果用户改变对随后的搜索的期望规则或者是在其他方面变更上述搜索规则时,则 可以识别满足该新搜索规则的其它的数据文件。随着使用新搜索规则进行的新搜索 越来越多,识别的数据文件就会被持续添加到现有分类或目录结构中。然而,新的
数据文件仅仅通过把附加搜索标准添加到现有分类(例如,作为子文件夹)而非基 于经修改的搜索标准而动态更新现有分类才能够被包括。这就导致了与有可能过时 的搜索标准相对应的识别的数据文件的刚性组,因为识别的数据文件的分类或目录 结构不能轻易适应搜索规则的变化。
例如,计算机用户想要在计算机上的所有音频文件中查找其要收藏的(例如,
5星等级)80年代歌曲,就必须为每次搜索指定所有必要的过滤器,例如,80年 代的音乐和/或5星。如果增加了新文件或歌曲,就不得不重建并重复该搜索。由
于有新文件可能被定期增加或删除,因而计算机用户将不得不一直重复这种耗时的 过程来为文件的更新列表重建搜索标准。同样地,如果出现了用于识别想要文件的 查询定义的修改,用户将不能轻松并有效地把查询定义中的修改合并到包含该查询 定义的第二搜索中。相反地,用户必须再次输入搜索规则并且重复该搜索。同样地, 用户将不得不根据更新后的规则手工重组数量可能很大的数据文件。
类似地,计算机用户还不得不在用户指定的文件夹或巻中重新搜索同样的或 经修改的文件列表。这会让用户感到头疼,因为期望的文件可能位于被搜索文件夹 之外的某个文件夹中。如果出现了这种情况,搜索不同文件夹的计算机用户将不能 成功地定位所有文件。因此,所述文件实际上"丢失"而且即使仅仅由于所述文件 没有处于可定位状态也会使得计算机用户无法访问该文件。
于是本领域需要这样一种系统和方法,其中计算机用户能够通过定义或组合 査询,更为有效地在计算机上定位期望的文件。并且,在本领域中还需要通过一种 方法和系统来提高文件搜索的灵活性,上述方法和系统进一步使用査询或组合查 询、以及其它过滤器信息中的査询。本领域还需求一种用于构建与其它查询结果相 关的査询结构的系统和方法,以便来自于其它查询的其它查询定义能够流入查询结 构。
发明概述
下面提供了对本发明的简单描述,以便于对本发明的某些方面有个基本了解。 本概述不是对本发明的整体描述,也不旨在识别本发明的关键或重要元素或者描述 本发明范围。下列概述仅仅以简单的形式介绍本发明的一些概念,作为稍后介绍的 更为详细的描述的前序部分。
为了克服现有技术中的上述限制,以及从本说明书的阅读和理解中显而易见 的其它限制,在本发明的第一个示例性方面中,在至少部分由动态搜索规则组所定
义的范围内,搜索至少一个与所述搜索规则匹配的数据文件。所述数据文件可以是 任何计算机数据结构或文件,诸如而不限于,可执行程序、数据链接数据库、配置
文件、数据库、文档文件、图形图象、视频文件、二进制数据文件、文本数据文件、 对象文件、源代码文件、特定应用文件类型、任何其它文件、或其它原子数据单元, 诸如电子邮件、日程项、联系、任务、等。在该示例中,计算机可以接收定义了一 组数据文件的查询。该査询根据至少一个术语称为为"查询定义"的规则来定义该 组数据文件。查询定义(包括过滤器信息,用于过滤一组数据文件以便获得满足过 滤器信息中所列出的规则的数据文件)例如可以是期望的关键字或期望的规则,诸 如而不限于,文件的创建日期、文件最后被修改的日期、或关于数据文件的特征的 任何其它条件。
"自动列表(Autolist)"可以被用来识别或搜索期望的数据文件。在此使用 的自动列表指的是可以在任何指定时间被用来获得匹配的一组数据文件的持续保 存的查询定义。通过自动列表获得的数据文件组是动态的,因为满足相关联自动列 表或持续保存的查询定义的新数据文件会在对自动列表的调用时被自动返回。同样 地,不再满足自动列表的数据文件(例如,数据文件的修改导致数据文件不再满足 所述查询定义)导致数据文件被自动删除,以使得调用自动列表时不再自动返回所 述数据文件。
在一个实施例中,自动列表使得与对应的持续保存的査询定义相匹配的动态 数据文件组能被返回。例如,可以接收包含一组期望规则的查询定义。该查询定义 可以用来搜索数据文件以定位所有满足所述査询定义的数据文件。因此,可以使用 自动列表来定义查询定义,为此搜索可以返回满足上述查询定义的数据文件。
在本发明的又一个示例中,自动列表可用来定义用于数据文件的第二搜索的 范围。在该示例中,接收包括持续保存的查询定义的自动列表,并识别满足该自动 列表的数据文件。然而还可以接收第二自动列表,以便于除了识别满足第一自动列 表中所列出的查询定义的数据文件外,还识别满足第二自动列表中所列出的查询定 义的数据文件。满足第一自动列表或第二自动列表的数据文件还可以是动态的,因 为对数据文件的任何修改或增加新的文件都能被自动反映在第一或第二自动列表 中。因此,若要是满足第一自动列表中所列出的查询定义的数据文件被修改,以致 于数据文件不再满足所述第一自动列表,则不再满足第一自动列表的数据文件可以 被自动删除,以使得它们不再被第一自动列表返回。类似地,被修改以致于其不再 满足第二自动列表的数据文件,也会从第二自动列表中删除(即,不再被第二自动
列表返回)。
在本发明的有一个方面中,可以使用任何数量的自动列表,作为定义另一自 动列表的搜索范围。例如,每个都与上述相关联的持续保存的査询定义相关联的两 个或多个自动列表可以被组合以定义用于动态数据文件组的搜索范围。这种自动列 表的组合可以定义搜索范围,以便于接收新的自动列表并返回数据文件组,所返回 的数据文件组既满足定义搜索范围的自动列表也满足在新的自动列表中列出的所 有规则。
在本发明的又一个示例中,可以向自动列表中添加附加规则从而生成扩展的 持续保存的査询定义。例如,可以接收带有附加过滤器信息(即,搜索规则)的查 询定义,并且搜索范围可以由自动列表进行定义从而使得满足所述自动列表的査询 定义的数据文件以及附加的过滤器信息能够被找到并返回。在该示例中,如果数据 文件既不满足自动列表查询定义也不满足附加的过滤器信息,则所返回数据文件的 分组(group)中就不包括该数据文件。在使用新自动列表的随后搜索中,还可以 进一步包括所返回数据文件的分组。
在本发明的又一个方面中,修改一个自动列表并使得在另一个自动列表中自 动进行相应的修改。例如,第一自动列表可以定义第二自动列表的搜索范围。如果 第一自动列表被更新或修改,则第二自动列表的搜索范围对应于第一自动列表中的 变化而被自动更新。
本发明还可以被实现为存储在计算机存储器中的软件,可以在计算机操作系 统的控制下运行,可以被用来搜索满足用户定义的各种规则的文件。作为示例,本
发明提供了一种具有使用自动列表来搜索或査询数据文件的计算机可执行指令的 计算机可读介质。
附图简述


图1示出了用于实施本发明的包括通用计算设备的一个系统示例。
图2根据本发明的示意性方面示出了举例说明自动列表之间关系的体系结构 纵览图。
图3A和3B示出了创建自动列表一个示例。
图4A和4B示出了创建自动列表的另 一个示例。
图5A-5C示出了用两个其它自动列表的组合替换一个自动列表的组合的示例 的一个方面。图6根据本发明的示意性方面示出了举例说明用于不同自动列表的不同源的 数据流程图。
图7A-7C示出了用于自动列表选择控制的格式的示例。
图8A-8C示出了揭示自动列表作为过滤规则的示例。
图9A-9B示出了对各独立自动列表源应用各规则的示例。
图IO是示出管理自动列表的重复数据文件的示例的体系结构纵览图。
图11是示出自动列表循环的体系结构纵览图。
图12A和2B示出了防止自动列表循环的示例。
图13是示出防止自动列表循环的另一个示例的数据流程图。
详细描述
在下面对各种实施例的描述中,对构成了描述的一部分并以举例示出在其中 可以实现本发明各实施例的附图作出了参考。应该明白,也可以使用其它实施例并 且可以对结构和功能进行修改而不脱离本发明的范围。
本发明的各方面均提供了一种使用自动列表来查询并搜索计算机上数据文件 的方法和系统。如上所述,自动列表是一种持续保存(persisted)查询定义,在任 意指定时间均可用来获得与改查询定义相匹配的一组文件。从自动列表获得的该组 数据文件是动态的,因为一旦调用自动列表,就会返回满足相关联自动列表或持续 保存査询定义的新数据文件。同样地,不再满足相关联自动列表的数据文件(例如, 对数据文件的修改致使所述数据文件不再满足查询定义)导致调用自动列表时不再 返回该数据文件。仍如上所述,自动列表可以用来定义搜索其它自动列表或持续保 存査询定义的范围。
在本发明一个实施例的另一示例中,自动列表能够返回位于不同存储空间
(memory location)中的数据文件,这些存储空间包括但不限于文件夹、巻、远程 机器或设备等。经由自动列表搜索数据文件可以基于所搜索的数据文件的特性,而 不是数据文件在存储器中的位置,因此可以横跨任何存储空间。此外,通过以一定 的数据结构存储自动列表的定义,就可以持续保存自动列表。
在本发明的又一方面中,自动列表査询可以被用来定义搜索范围,以便识别 用于其它自动列表的数据文件。该处理改善了数据文件或文档搜索的灵活性。在本 发明又一方面中,自动列表查询可以结合其它过滤器信息或规则。
图1示出了可以实施本发明的合适的计算系统环境100的示例。计算系统环
境100只是一个合适的计算系统环境的示例,并不是对本发明用法或功能的范围提 出的任何限制。计算环境100既不能被解释成对示例性操作环境100中所示出的部 件中的任意一个或其组合具有任何依赖性也不能被解释成对其有要求。
本发明可以使用很多其它的通用或专用计算系统环境或配置。适于本发明使 用的公知计算系统、环境、和/或配置的示例,包括但不限于,个人计算机、服务 器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、可编程家 用电器、网络PC、小型机、大型机、包括上述系统或装置中的任一种的分布式计 算环境等。
参考图1,用于实施本发明的示意性系统包括作为计算机110的通用计算装 置。计算机110的部件可以包括但不限于处理单元120、系统存储器130、以及系 统总线121,系统总线121连接各种系统部件,包括把系统存储器连接到处理单元 120。系统总线121可以是几种总线结构中的任意一种,包括存储器总线或存储器 控制器、外围总线、以及使用各种总线体系结构中的任一种的本地总线。作为示例 而非限制,这种体系结构包括工业标准体系结构(ISA)总线、微通道体系结构 (MCA)总线、扩展工业标准结构(EISA)总线、视频电子标准协会(VESA) 本地总线、以及也被叫做夹层(Mezzanine)总线的外围元件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质包括易失和非易 失介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计 算机存储介质以及通信介质,包括但不限于RAM, ROM, EEPROM,闪速存储器 或其它存储器技术;CD-ROM,数字视频盘(DVD)或其它光盘存储装置;磁带 盒,磁带,磁盘存储装置或其它磁性存储设备,或者可以用来存储想要的信息并能 被计算机110访问的任何其它介质。通信介质通常包含计算机可读指令、数据结构、 程序模块、或诸如载波、或其它传输机制的已调制数据信号中的其它数据,还包括 任何信息传输介质。术语"已调制数据信号"指的是,以在信号中对信息编码的方 式,设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如 有线网络或直接有线连接这样的有线介质,以及诸如声音、RF、红外这样的无线 介质以及其它无线介质。上述中的任意组合也应包括在计算机可读介质范围内。
系统存储器130包括易失和/或非易失存储器形式的计算机存储介质,诸如只 读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输入/输出系统133 (BIOS)包含基本例程,其用来诸如在启动期间帮助在计算机110的元件之间传 输信息并且通常存储在ROM 131中。RAM 132通常含有数据和/或程序模块,其
可被处理单元120立刻访问和/或当即操作。作为示例而非限制,图l示出了操作
系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还包括其它可移动/不可移动、易失/非易失计算机存储介质。仅仅 作为示例,图1示出了对不可移动、非易失磁性介质进行读或写的硬盘驱动器140, 对可移动、非易失磁盘进行读或写的磁盘驱动器151,以及对诸如CDROM或其 它光介质这样的可移动、非易失光盘156进行读或写的光盘驱动器155。其它可用 于示例性操作环境的可移动/不可移动、易失/非易失计算机存储介质,包括但不限 于,磁带盒,闪存卡、数字视频盘、数字视频磁带、固态RAM,固态ROM,等 等。硬盘驱动器141通常通过不可移动存储器接口诸如接口 140连至系统总线121, 磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口诸如接口 150连至系 统总线121。
上述在图1中示出的驱动器及其相连的计算机存储介质,用来存储用于计算 机110的计算机可读指令、数据结构、程序模块以及其它数据。在图1中,例如, 硬盘驱动器141被示出为存储操作系统144、应用程序145、其它程序模块146以 及程序数据147。注意这些部件可以与操作系统134、应用程序135、其它程序模 块136以及程序数据137相同也可以不相同。存储操作系统144、应用程序145、 其它程序模块146、以及程序数据147在此处均给出了不同的参考标号,以便至少 表示出他们是不同的复本。用户可以通过诸如键盘162和指示装置161 (通常涉及 鼠标、轨迹球或触摸板)之类的输入装置把命令和信息输入到计算机20中。其它 输入装置(未示出)可以包括麦克风、操纵杆、游戏手柄、卫星反射器、扫描仪等。 这些以及其它输入装置常常通过与系统总线耦合的用户输入接口 160连至处理单 元120,但也可以通过其它接口和系统结构来连接,例如并行端口、游戏端口或通 用串行总线(USB)。监视器191或其它类型的显示装置也经由诸如视频接口 190 的接口连至系统总线121。除了监视器,计算机还可以包括其它外设输出装置,诸 如扬声器197和打印机196,其可以经由输出外设接口 190来连接。
计算机110可以使用到一个或多个诸如远程计算机180这样的远程计算机的 逻辑连接,在联网环境中运行。远程计算机180可以是个人计算机、服务器、路由 器、网络PC、对等装置或其它普通网络节点,并且通常包括很多或所有上述关于 计算机IIO所描述的元件,尽管在图1中仅仅示出了存储器存储装置181。在图1 中所描述的逻辑连接包括局域网(LAN) 171和广域网(WAN) 173,但也可以包 括其它网络。这种联网环境在办公、大企业计算机网络、内部网以及因特网中是很
常见的。
当在LAN联网环境中使用时,计算机110经由网络接口或适配器170连至 LAN171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或 其它用于在诸如因特网这样的WAN 173上建立通信的装置。调制解调器172可以 是内部的或者外部的,可以经由用户输入接口 160或其它适当的机构连至系统总线 121。在联网环境中,关于计算机IIO描述的程序模块,或其一部分,可以存储在 远程存储装置上。通过举例而不是限制,图1示出了远程应用程序185驻留在存储 装置1S1。应该明白,所示出的网络连接是示例性的,还可以使用其它在计算机之 间建立通信链接的装置。
应该明白,所示出的网络连接是示例性的,还可以使用其它在计算机之间建 立通信链接的装置。假定存在各种公知协议,诸如TCP/IP、以太网、FTP、 HTTP 等中的任何一种,系统可以在客户机一服务器配置模式下运行以允许用户在基于 web (web-based)的服务器上检索网页。可以使用各种常规网络浏览器中的任意一 种来显示和操作网页上的数据。
本发明的一个方面涉及了在搜索、定位、或查找计算机上的数据文件或文档 中使用自动列表。还可以横跨多个存储空间和/或计算机来查找数据文件。例如, 计算机上的文件夹可以位于不同的存储空间,这样就要在不同的文件夹中查找期望 的数据文件。同样地,可以在不同的存储设备中查找数据文件,例如而不是局限于 连至计算机的不同存储装置、或完全不同的计算机。因此,计算机的存储装置或服 务器可以在各种存储空间中包含很多数据文件,或者数据文件可以存储在不同的文 件夹、驱动器、存储装置等中。
计算机用户可能希望访问或查找满足某种规则(即,查询定义)的所有文件,
包括位于多个不同存储空间中(例如,在其它文件夹或存储装置中)的满足查询定 义的文件。在本发明的一个方面中,从用户处接收含有査询定义的査询并根据该查 询定义搜索文件。査询定义提供了搜索文件的规则。例如,查询定义可以为搜索期 望的文件提供一个或多个关键字。查询定义可以在数据结构(即,自动列表)中持 续保存,用户可以根据需要重新使用这些数据结构,计算机操作系统可以用这些数 据结构来创建与上述自动列表相对应的可视文件夹。
本发明提供了一种在其中计算机用户通过应用一组查询定义(即,搜索规则) 来创建自动列表的方法和系统。查询定义可以包括对搜索范围的定义。创建自动列 表包括通过提供用于自动列表的査询定义来定义用于自动列表的搜索范围。可以用
任何数量的被应用自动列表来创建任何数量的自动列表。同样,当由另一自动列表 或自动列表组定义该自动列表的搜索范围时,也就完成了自动列表的组合工作。
图2示出了用于创建和/或组合自动列表以及基于自动列表进行查询的本发明 的一个方面。图2中的计算机包括存储文件的诸如服务器200这样的存储装置。在
该示例中,服务器200为记者存储杂志或报纸文章的文本文件。该示例中的用户可 以是多家期刊的记者,其中有两家期刊在图2中示出了 (例如,National Geographic (国家地理)和Wired (连线))。记者在服务器200上存储其已写的所有文章, 不管这些文章是为National Geographic还是为Wired杂志或者任何其它该记者可能 供稿的期刊所写的文章。本发明的这个示例提供了一种,能够有效访问并回调满足 查询定义的期望文章或一组文章的方法和系统。在图2示出的示例中,应用查询定 义创建第一 自动列表201 ,从而获得关于动物(animal)或旅行(travel)的与National Geographic的文章相关联的文章。该示例中的第一 自动列表201通过对持续保存查 询定义进行处理,例如搜索含有关键字"动物(Animal)"、"旅行(Travel)"、 或"National Geographic"的文章来返回文章。此外,自动列表还可以表示要进行 的搜索范围(即,要搜索的地方,例如服务器200)。因此,在该示例中,自动列 表210提供了相关的査询定义,用于搜索满足自动列表查询定义的位于服务器200 上的相应数据文件。
类似地,可以创建第二自动列表202,用来搜索服务器200上存储的并满足第 二查询定义的文章。在该示例中,第二自动列表提供了查询定义(即,搜索规则) 以便查找某些期望的Wired杂志的文章(例如,关于电话(phone)和配件(gadget) 的Wired杂志的文章)。在该示例中,在指定搜索范围内(例如,该示例中由自动 列表202所提供的服务器200)搜索关键字电话、配件、以及Wired (自动列表202 所提供的),从而定位服务器200上存储的所有关于电话和配件的Wired文章。
图3A和3B通过创建National Geographic自动列表201的举例说明二示出了 创建自动列表的示例。在图3A和3B中,图2示例中的用户通过输入相应的搜索 规则来选择关于动物和旅行的National Geographic的文章,从而获得该类型的文 档。在图3A中,用户使用期望的查询定义搜索National Geographic的文章,以便 获得满足在地址栏(也叫活页夹层级栏)301示出的该搜索规则的文章集合301。 用户还可以把查询定义保存为自动列表。在该示例中,如图3B中所示用户把所述 查询定义保存为标题为"National Geographic" 302的自动列表201。用这种方式, 用户可以在任何时候很容易地访问更新后的搜索。
类似地,图4A和4B通过为Wired杂志创建自动列表的举例说明而示出了创 建自动列表的过程,其上述自动列表中用户搜索关于电话和配件的Wired杂志文 章。在该示例中,用户使用地址栏401中示出的相关查询定义来获得关于电话和配 件的Wired的文章401 (图4A),并把所产生的查询定义保存为标题为"Wired" 402的自动列表202 (图4B)。
重新参考图2,自动列表还可以被用来定义与基于随后的后续查询定义相对应 的搜索的搜索范围。此外,在随后的搜索期间,通过把附加搜索规则添加到所述查 询定义中,可以扩展查询定义。通过用其它自动列表或自动列表组定义自动列表的 搜索范围也可以完成自动列表的组合工作。在组合自动列表的该示例中,用标题为 "已晚文章(Late Articles) " 203的第三自动列表来定义第三搜索的查询定义。第 三搜索的查询定义(即,"已晚文章"203自动列表)作为该査询定义的一部分只 是搜索范围是两个先前存在的自动列表即,National Geographic和Wired。附加搜 索规则被添加到已晚文章自动列表203的査询定义中。如图2所示,添加到该示例 中所用的自动列表203的查询定义中的新搜索规则,是"Assigned to二Nicholas(分 派给二Nicholas) " , Priority=l (优先级=1),并且Due Date > Last Month (到 期日>上个月)。因此,该示例中的已晚文章列表203能够搜索并识别从至少上个 月开始已经到期、具有较高优先级并分派给Nicholas的National Geographic自动列 表和Wired自动列表内所有的文章。
值得注意的是,如果定义搜索范围所使用的任何自动列表发生了变化,或者 定义搜索范围所使用的自动列表产生了不同的搜索结果,则会自动更新作为搜索范 围的一部分而并入之前修改的各自动列表的第三自动列表。在该示例中,如果关于 National Geographic或Wired的文章的查询定义发生了变化(例如,如果National Geographic被更新为除了动物和旅行之外还包括关于埃及人的文章,或者如果 Wired被更新为除了电话和配件之外还包括光纤),这些变化将会自动反映给己晚 文章自动列表查询。
图5A-5C示出了组合图2中所示出的已晚文章自动列表的一个示例。在该示 例中,用户(例如,记者)错过了向Wired杂志的编辑提交文章的最后期限并且想 要查找并识别所有过期的Wired杂志的文章。为了这样做,该示例中的用户/记者 可以输入查询定义来搜索所有满足过期规则的Wired的文章。生成的查询结果构成 了 "己晚文章"自动列表。用这种方法,来组合已晚文章自动列表以记录最后期限 以及有可能晚了的文章提交。
同样,该示例中的用户/记者还可以使用搜索规则来定位所有满足指定搜索规 则的数据文件。如图5A所示,用户/记者使用搜索规则(即,查询定义)来获得某 种优先权的文章以及指定给他的到期日。例如,基于查询定义的搜索,其根据已晚
文章自动列表,并导致返回了指定给"Nicholas"(即,用户)、优先权二l并且 到期日至少是上个月(即,到期日>上个月)的所有文章。
图5B示出了搜索范围的指定。在该示例中,用户己经创建了搜索并定位所有 关于National Geographic的文章的一个自动列表以及所有关于Wired的文章的另一 自动列表。并非是必须把这些规则输入到至少部分由关于National Geographic文章 的自动列表和关于Wired杂志的文章的自动列表定义的范围内的其它搜索(这将妨 碍搜索的灵活性),用户可以通过使用先前存在的自动列表(在该示例中,National Geographic和/或Wired自动列表)指定搜索范围来组合自动列表。而且,用户只 需要指定作为搜索范围的要使用的自动列表而不是必须重新输入先前存在的自动 列表所表示的全部期望的关键字和其它规则。对于用户而言,这样就节省了时间和 精力。图5B示出了自定义自动列表的组合过程,其中把所述范围设置为包括与 National Geographic自动列表和Wired自动列表相关联的持续保存的查询定义。定 义了新的查询定义的最新组合的自动列表保存在唯一的名字下,而上述新查询定义 包括对应于National Geographic和Wired自动列表的搜索范围的指示。在该示例中, 该新组合的自动列表被保存为"已晚文章"自动列表(图5C)。
图2还示出了使用自动列表来定义搜索范围的另一个示例。在图2中,用户/ 记者可能想要检索所有已经提交用于出版的文章。而且,还可能想要搜索特定个人 提交的所有文章和/或具有特定状态的所有文章。如图2所示,可以组合自动列表, 搜索并返回所有这种期望的文章。在该示例中,用户想要查找所有"准备审阅(即, 一特定状态)"并由Nicolas或Melissa所写的National Geographic的文章和Wired 的文章。接收对应于期望的规则的相应査询定义,并且搜索以及由文章提交自动列 表204返回由Nicolas或Melissa所写的文章。然而,由于搜索范围是查询定义的 一部分,并且在该示例中由National Geographic和Wired自动列表进行定义,文章 提交自动列表204只返回National Geographic和Wired的文章。
应该理解,由于自动列表可以采用很多形式,因而上述示例只是用来举例说 明的而不是用来限制本发明的。在另一个示例中,如图6中所示, 一个自动列表可 以定义搜索一个源或范围的查询定义,而另一个自动列表可以定义搜索不同源或范 围的查询定义。在该示例中,满足期望规则的National Geographic的文章(此处,
这些National Geographic文章有关于动物和旅行,并不早于1995年发表)被返回 到National Geographic自动列表603中。同样地,关于电话和配件并且不早于1999 年的Wired杂志文章被返回到Wired自动列表604中。不过,是在服务器1 601内 搜索National Geographic文章从而形成National Geographic自动列表603 ,而在服 务器2 602内搜索Wired杂志文章从而形成Wired自动列表604。因此,每个自动 列表都从不同的源或存储空间获得文章。在图6中,在National Geographic自动列 表603和Wired自动列表604的査询定义中提出的范围内搜索满足期望的查询定义 的文章,返回相应于图6中己晚文章列表605或文章提交自动列表606的文章。对 于己晚文章自动列表605来说,所返回的文章最近到期、优先权高并被分派给特定 记者(即,Nicholas)。对于文章提交自动列表606来说,检索到的文章属于Nicolas 或Melissa并且是"准备审阅"。根据National Geographic自动列表603和Wired 自动列表604各自持续保存的查询定义所定义的搜索范围,已晚文章自动列表605 和文章提交自动列表606两者都搜索National Geographic文章和Wired杂志文章, 即使National Geographic自动列表603在服务器1 601上搜索而Wired自动列表6(M 在服务器2602上搜索。在该示例中,已晚文章自动列表605和文章提交自动列表 606,都结合了在该范围内使用的每个自动列表所产生的结果(即,在该示例中为 National Geographic自动列表603和Wired自动列表604),并在其各自的査询定 义中使用其各自的附加搜索规则。因此,用来定义搜索范围的自动列表可以是不同 的或者甚至是有冲突的规则。
本发明并不局限于任何自动列表的格式,因为任何格式的自动列表都可以在 本发明范围内使用。图7A-7C示出了其它非限制性的示例,作为自动列表的编辑 者可以使用的备选的用户界面格式。在图7A中,给出了作为树型节点的自动列表。 每个自动列表都含有用于选择的检查框。例如每个National Geographic自动列表 801和Wired自动列表802都具有相应的检查框。
图7B示出了自动列表节点,作为高级节点(例如,本地磁盘C)内的子节点。 例如,National Geographic自动列表805和Wired自动列表806都被描述为在自动 列表子节点804之下,而该自动列表子节点804又被描述为在本地磁盘C节点之 下。
图7C把自动列表示出为自动列表807的单独列表,该列表与计算机中其它位 置相分隔。此外,自动列表中可以含有过滤器并在自动列表编辑器(未示出)中一 行式地示出。不过,可以使用反映过滤器的任何方法。例如,过滤器可以被表示为
悬停在光标(未示出)上的工具提示。
可选地,在创建另一自动列表的过程中,自动列表可以被暴露为查询定义内
的搜索规则。在图8A中,增加了 National Geographic自动列表作为搜索规则,以 便于National Geographic自动列表所返回的结果作为已晚文章自动列表的査询定 义的一部分而被合并。图8B示出了通过增加National Geographic自动列表作为过 滤器(即,搜索规则),使用National Geographic自动列表添加自动列表结果。在 该示例中,自动列表可以用下拉菜单来选择,当然也可以使用任何其它的方法。图 8C示出了包括在己晚文章自动列表范围内的National Geographic自动列表。
仍是在提供自动列表的备选方法的另一实施例中,自动列表可以显示多个规 则。例如,在图9A中,显示已晚文章自动列表的所有细节,包括作为其它规则而 被包括的自动列表。在该示例中,National Geographic自动列表作为附加规则而被 包括,以便查找分派给Nicolas的优先权较高并且到期日至少是上个月的文章。因 此,除了在"Patrick"和"Common (公共)"中搜索这种文章之外,已晚文章自 动列表还用National Geographic自动列表进行搜索。这些附加规则在自动列表编辑 器中显示。
图9B示出了提供具有多个规则的自动列表的又一个示例,其中用Wired自动 列表来查找有可能过期的Wired文章。例如,在图9B中,Wired自动列表作为其 它规则而被包括。在该示例中,还包括Wired自动列表,以便除了 National Geographic文章之外还査找分派给Nicolas的优先权较高并且到期日至少是上个月 的Wired文章。在该示例中,提供了作为规则被包括的所有自动列表的全部细节。
根据本发明的另一个示例性的方面,自动列表不会返回重复的结果。例如, 第一自动列表可以返回来自一组存储空间的数据文件,例如来自一组文件夹、磁盘 驱动器、存储器设备等的数据文件。第二自动列表可以返回来自第二组存储空间的 数据文件。第一自动列表和第二自动列表之间还可以有重叠的存储空间,以便由第 一自动列表搜索的至少一个存储空间可以与由第二自动列表搜索的存储空间相同。 如果第三自动列表结合了第一自动列表和第二自动列表两者,就可能返回重复的数 据文件。因此,由第三自动列表返回的数据文件并非每一个都是唯一的。这就导致 了会返回非唯一的重复数据文件的重复性的搜索结果。
图IO示出了一个在一组返回的数据文件中管理重复数据文件的自动列表的示 例。在图10中,用査询定义创建远东旅行自动列表1001,所述查询定义返回与关 于远东的度假照片的图像文件相对应的数据文件。在该示例中,远东旅行自动列表
1001返回描述日本、中国、韩国、或泰国地标的图像数据文件。还用查询定义创
建日本自动列表1002,而该査询定义返回的是与关于日本的图像和文档相应的数 据文件。用査询定义组合空闲自动列表1003,而该查询定义按引用合并了远东旅 行自动列表1001和日本自动列表1002。在该示例中,空闲自动列表1003合并了 远东旅行自动列表1001和日本自动列表1002作为搜索范围的定义。因此,在该示 例中的空闲自动列表1003返回与远东度假照片和与日本相关的图像和文档两者相 对应的数据文件。
不过,由于空闲自动列表1003合并了远东旅行自动列表1001和日本自动列 表1002两者作为搜索范围,如果任何数据文件满足了远东旅行自动列表1001和日 本自动列表1002两者的查询定义,这些数据文件就会在空闲自动列表1003中被返 回两次。如果返回的数据文件不是唯一的,那么得到的就是重复的结果,这就导致 了搜索结果的混淆。为了避免与多余搜索结果相关联的问题,自动列表可以进行过 滤并只返回唯一的数据文件。因此,在本发明的这一示例性方面,所述系统可以检 测重复的数据文件并只返回这种数据文件的一个实例(即,只返回唯一的数据文 件)。
在本发明一个方面的又一示例中,可以防止自动列表中非期望的循环 (cycling)。例如,如果第一自动列表被组合成在査询定义中合并了第二自动列表, 则如果第二自动列表也在查询定义中合并了第一自动列表的话,就会产生自动列表 之间相互引用的无限循环。类似地,如果通过其它自动列表引用而进行的一系列合 并中的自动列表又合并了上述其它自动列表中的一个,就会形成一个导致自动列表 失败的循环。图11示出了自动列表的循环的一个示例。在该示例中,我收藏的照 片自动列表1103,被组合以尝试返回用户(该示例中为Nicolas)的图像数据文件。 该示例中的我收藏的相片自动列表1103按引用合并了最近照片自动列表1101和度 假照片自动列表1102。因此,最近照片自动列表1101和度假照片自动列表1102 为我喜欢的照片自动列表1103提供了搜索范围。仍如图ll所示,最近照片自动列 表1101还合并了我喜欢的照片自动列表1103。合并了最近照片自动列表1101的 我喜欢的照片自动列表1103以及合并了我喜欢的照片自动列表1103的最近照片自 动列表1101在自动列表之间产生了引用循环,这会导致引用的无限循环。
在本发明的一个示例中,可以避免第一自动列表引用第二自动列表而第二自 动列表又引用第一自动列表的的这种非期望循环。同样地,如果第一自动列表合并 了第二自动列表,而该第二自动列表可能没有通过引用直接合并第一自动列表,而
是通过合并第三自动列表来合并第一自动列表,就可能发生循环。第三自动列表在 随后可以合并第一自动列表,构成一个循环并产生类似的非期望循环。在这种带有 任意数量介入自动列表的循环中可以包括任何数量的自动列表。
图12A和12B示出了在其中避免自动列表循环的本发明的一个示例。在该示 例中,如图ll所示,尝试组合并入最近照片自动列表1101的我收藏的照片自动列 表1103作为搜索范围。不过,最近照片自动列表1101已经合并了我收藏的照片自 动列表1103。因此,系统检测到了由于疏忽正在尝试自动列表的循环,并防止其 发生。如图12A所示,最近照片自动列表和度假照片自动列表都被创建以包括各 个的查询定义。图12B示出了尝试组合如图11所示的我收藏的照片自动列表1103。 不过,如图11所示,我收藏的照片自动列表合并最近照片自动列表IIO会产生不 允许的自动列表循环。因此,如图12B所示,所述系统提供信息以告知用户出现 了非法引用自动列表的尝试,并防止这种引用的发生。
图12A和12B示出了结合与例如使用用户界面的用户进行交互来避免自动列 表循环的示例,然而还有很多其它防止自动列表循环的示例。例如,还可以在处理 级别上防止循环。在该示例中,在处理自动列表时检测到产生自动列表的循环尝试, 并且自动终止该循环。用这种方法,不需与用户进行交互就能防止自动列表的循环。
图13是示出了在处理级别防止自动列表循环的另一个示例的数据流程图。在 该示例中,National Geographic自动列表1303通过搜索服务器1 1301上的数据文 件,返回所期望的National Geographic文章(即,关于动物和旅行的文章)。Wired 自动列表1304通过搜索服务器2 1302上的数据文件,返回期望的Wired文章(即, 关于电话和配件的文章)。不过,在该示例中,Wired自动列表1304尝试在Wired 自动列表1304的搜索范围内包括己晚文章自动列表1305。已晚文章自动列表1305 通过合并National Geographic自动列表1303和Wired自动列表1304作为搜索范围, 返回过期文章。不过,这是在试图产生自动列表循环,因为Wired自动列表1304 试图合并已晚文章自动列表1305,而同时已晚文章自动列表1305在试图合并Wired 自动列表1304。
在防止自动列表循环的上述示例中,不需用户界面就可以在处理级别上检测 到尝试的循环。系统检测到循环并自动删除该循环。例如,图13中所示出的Wired 自动列表1304通过在服务器2 1302中进行搜索,可以返回相关的Wired文章(即, 关于电话和配件的Wired文章)。由于检测到合并已晚文章自动列表1305是不允 许的循环,Wired自动列表1304就会从搜索范围中自动"修剪"己晚文章自动列
表1305。因此,如图13所示,通过合并National Geographic自动列表1303和Wired 自动列表1304,文章提交自动列表1306可以返回相关的提交的文章,而Wired自 动列表1304只在服务器1302中搜索相关的Wired文章(即,关于电话和配件的文 章)。Wired自动列表1304通过引用已晚文章自动列表1305而进行合并的行为被 自动"修剪"。如果需要的话,还可以向用户进一步提供告知或警告消息,以便通 知用户自动列表被修改。
自动列表可以按很多种格式作为代码存储。例如,自动列表可以按诸如XML 之类的标记语言的形式被存储。作为XML文件存储的自动列表的一个示例如下
< 認1 version=,'l. 0',?> <persistedQuery versi〇n="1. "〉
<viewInfo viewM〇de="Icons" ic〇nSize="128"> <stackljist〉
<stack viewField="micros〇ft/Author"/〉 </stack:List〉 </viewInfo>
<query〉
<sc〇pe>
<include saveLocati〇n=',true" knownFolder-,' { FDD3 9AD0-238F-4 6AF-ADB4-6C854 80369C7 } V〉
<inclucie knownF〇lder=" (ED4 824AF—DCE4 — 4 5A8 — 81E2 —FC7965083634 } ',/>
<include knownFolder="(B4BFCC3A-DB2C-4 24C-B02 9-7FE99A87C641}"/〉 </scope>
〈visiblelnList〉
<visibleln name-"Document"/〉 </visibleIn!jist〉 </query〉
<pr〇perties>
<visibleIn>Document AutoL丄st〈/vis丄ble工n〉 </properties〉 </persistedQuery〉
在上述示例中,自动列表提供了特定作者入栈的所有数据文件。
作为XML存储的自动列表的又一个示例如下
< xml version="l.0" 〉 <persistedQuery version="1.0"〉
<viewlnfo viewMode="Details" iconSize="16"〉 <soirtIjist:>
<s〇rt viewField二"microsoft/FileLastEditedTime" direction="descending"/〉 〈/so:rtljist〉 〈/view工nfo〉
<query:>
<scope〉
<include saveL〇cation='Ttrue" knownFolder-"(FDD39M)0-238F-4 6AF-ADB4-6C854 8 0369C7)"/〉
<include k:nownFolder-" {ED4 82 4AF-DCE4-4 5A8-81E2 —FC7 9650 8 3634 }"/>
<include knownFolde:r=" {B4BFCC3A-DB2C-4 2化-B029-7FE99A87C64 1} "/> </scope>
<visiblelnljist>
<visibleln name="Document"/> </visibleInList> </query>
<properties〉
<visibleIn>Document Auto!List〈/vis:Lbleln〉 </properties> </persistedQuery>
在该示例中,按最后编辑日期的降序返回所有数据文件。
应该明白,本发明的各个方面可以采用很多形式并具体实现。此处示出的实 施例用来说明而非限制本发明,应该明白可以做出改变而在不脱离本发明范围的精 神。尽管已经示出并描述了本发明的示例性实施例,但是很多修改、变化和替换都 可以用在前述说明中,并且在某些实例中可以使用本发明的某些特征,而不用使用 其它相应的特征。因此,应该以和本发明的范围相一致的方式较宽泛地解释所附的 权利要求书。
权利要求
1.一种用于搜索与用户定义的查询定义相匹配的至少一个数据文件的计算机实现方法,所述方法包括接收定义第一查询定义的第一用户输入;接收定义第二查询定义的第二用户输入,其中所述第二查询定义通过引用合并所述第一查询定义;以及搜索与所述第一查询定义和所述第二查询定义都匹配的数据文件。
2. 根据权利要求l的方法,其特征在于,所述第一查询定义包括第一范围。
3. 根据权利要求2的方法,其特征在于,所述第一查询定义还包括第一组一 个或多个规则。
4. 根据权利要求3的方法,其特征在于,所述第二查询定义包括第二范围, 所述第二范围包括所述第一查询定义的结果。
5. 根据权利要求3的方法,其特征在于,搜索数据文件的步骤包括在所述第 一查询定义的结果内搜索数据文件。
6. 根据权利要求4的方法,其特征在于,所述第二范围包括多个存储空间。
7. 根据权利要求4的方法,其特征在于,还包括响应于对所述第一查询定义 的修改而修改所述第二范围。
8. 根据权利要求l的方法,其特征在于,所述第二查询定义包括第二组一个 或多个规则,所述第二组一个或多个规则不同于包括在所述第一查询定义内的规 则。
9. 一种存储用于执行权利要求1所述方法的计算机可执行指令的计算机可读 介质。
10. —种用于搜索与用户定义的查询定义相匹配的至少一个数据文件的计算 机实现方法,所述方法包括接收第一査询,所述第一查询具有第一查询定义;基于所述第一查询定义来定义用于第二查询的搜索范围的至少一部分; 接收第二査询,所述第二查询提供了第二査询定义的搜索规则部分。
11. 根据权利要求10的方法,其特征在于,还包括在所述第二查询的所述搜 索范围内,搜索至少一个与所述第二查询定义相对应的数据文件。
12. 根据权利要求10的方法,其特征在于,所述第二查询定义包括一组一个 或多个规则。
13. —种具有执行下列步骤的计算机可执行指令的计算机可读介质,所述步骤包括接收定义第一査询定义的第一用户输入;接收定义第二査询定义的第二用户输入,其中所述第二查询定义包括一范围 和一组一个或多个搜索规则,并且其中第二用户输入通过引用在所述第二查询定义 的范围内合并所述第一查询定义;以及搜索与所述第二查询定义相匹配的数据文件。
14. 根据权利要求13的计算机可读介质,其特征在于,还包括用于执行接收 经修改的用户定义的第一查询的步骤的计算机可执行指令,其中基于所述通过引用 的合并,所述第二查询的搜索范围对应于所述对用户定义的第一査询的修改而被自 动修改。
15. 根据权利要求13的计算机可读介质,其特征在于,所述第一査询定义包括第一范围和第一组一个或多个规则。
16. 根据权利要求15的计算机可读介质,其特征在于,搜索数据文件的步骤 包括只在包括所述第一范围的搜索范围内搜索数据文件。
17. 根据权利要求16的计算机可读介质,其特征在于,所述搜索范围响应于 所述第一查询定义的相应修改而被修改。
18. 根据权利要求1的方法,其特征在于,还包括接收定义至少一个附加查 询定义的至少一个附加用户输入,其中所述第二查询定义还通过引用合并所述至少 一个附加查询定义。
19. 根据权利要求1的方法,其特征在于,还包括提供与所述第一和第二査 询定义都匹配的数据文件,其中提供的所述数据文件的每一个都是唯一的。
20. 根据权利要求1的方法,其特征在于,还包括在所述搜索步骤之前确定 搜索第一查询定义是否通过引用合并了所述第二査询定义,其中,所述搜索步骤只 有在所述第一查询定义没有通过引用合并所述第二查询定义的情况下才被执行。
全文摘要
一种创建自动列表并执行查询的计算机方法和系统。服务器(200)存储文本文件。创建第一自动列表(201)并提供相关的查询定义,用来在服务器(200)上搜索满足自动列表查询定义的相应的数据文件。可以创建第二自动列表(202),以便搜索服务器(200)上存储的并且满足第一查询定义的文本文件。基于对第一查询定义的修改的搜索范围修改被自动反映在第二查询定义的搜索范围中。
文档编号G06F17/30GK101189604SQ200580049730
公开日2008年5月28日 申请日期2005年7月29日 优先权日2005年5月10日
发明者B·A·贝茨, D·G·德沃切克, L·K·F·翁, T·P·麦克基 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1