CN101563670A - 对查询输入进行基于模式的过滤 - Google Patents
对查询输入进行基于模式的过滤 Download PDFInfo
- Publication number
- CN101563670A CN101563670A CNA2007800400587A CN200780040058A CN101563670A CN 101563670 A CN101563670 A CN 101563670A CN A2007800400587 A CNA2007800400587 A CN A2007800400587A CN 200780040058 A CN200780040058 A CN 200780040058A CN 101563670 A CN101563670 A CN 101563670A
- Authority
- CN
- China
- Prior art keywords
- query parameter
- pattern
- type
- result
- parameter values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
此处描述了利用计算设备来接收搜索请求的方法、设备以及产品,所述搜索请求指定结果类型以及一个或更多个候选查询参数值。计算设备还可以通过考虑到与结果类型相关联的多个模式来对候选查询参数值进行过滤,以选择候选查询参数值当中的一些或全部,从而便于以所选择的查询参数值来查询数据库。
Description
相关申请
本申请要求于2007年10月24日提交的标题为“Pattern-BasedFiltering of Query Input,”的序列号为11/923,580的美国非临时申请、于2006年10月25日提交的标题为“Pattern Matching Engine,”的美国临时申请60/862,966、以及于2006年10月25日提交的标题为“DeviceIdentification Using Pattern Matching Engine”的美国临时申请60/862,960的优先权,除了与本说明书不一致的部分(如果有的话)之外,这些申请的全部说明书一并在此引入作为参考。
技术领域
本发明涉及数据处理领域,具体涉及对候选查询参数值进行基于模式的过滤(pattern based-filtering)。
背景技术
通常,系统使用数据库管理系统(DBMS)来根据一个或更多个关键字值(key value)来进行高效的查询,其中包括关键字的属性是提前已知的并且被定义到数据库的结构中。当系统需要根据复杂的可变模式来执行查找时,大多数解决方案采用查找中的嵌入式逻辑(规则)或用于将来自多个查找的数据相组合的公式。基于逻辑的和基于公式的解决方案通常要求在需要定义或增加(augment)模式时代码发生改变。此外,这些解决方案还要求在计算机上执行更多指令,并由于相关数据在系统上的分布的原因而需要读取更多的数据。
发明内容
附图说明
将结合附图并以示例实施例的方式而并非限制的方式来描述本发明,附图中相似的参考标记代表相似的要素,其中:
图1示出了本发明不同实施例的概图;
图2示出了根据不同实施例的所选操作的流程图;
图3示出了根据不同实施例的模式匹配操作的文氏图(Venndiagram)表示;以及
图4是示出了根据不同实施例的、适用于实现本发明的示例计算机系统的框图。
具体实施方式
本发明的示例实施例包括但不限于用于利用计算设备来接收搜索请求的方法和设备,所述搜索请求指定结果(outcome)类型以及一个或更多个候选查询参数值。计算设备还可以通过考虑到与结果类型相关联的多个模式对候选查询参数值进行过滤,以选择候选查询参数值当中的一些或全部,从而便于以所选择的查询参数值来查询数据库。
将使用本领域技术人员一般采用的术语来描述示意性实施例的不同方面,以将其工作的原理传达给其他本领域技术人员。然而,本领域技术人员将清楚,可以仅采用所述方面当中的一些方面来实现可选实施例。出于说明目的,提出特定的数字、材料、以及配置,以提供对示意性实施例的彻底理解。然而,本领域技术人员将清楚,可以实现可选实施例而无需这些特定细节。在其他示例中,为了不使本发明变得晦涩,省略或简化了公知的特征。
此外,将以最有助于理解示意性实施例的方式把不同操作描述为多个不连续的操作;然而,不应将描述的顺序理解为意指这些操作是必然依赖于顺序的。具体地,不需要按照所示的顺序来执行这些操作。
重复地使用短语“在一个实施例中”。该短语一般不指同一实施例;然而,其可以指的是同一实施例。除非内容另有指示,否则术语“包括”、“具有”、以及“包含”是同义的。短语“A/B”是指“A或B”。短语“A和/或B”是指“(A)、(B)、或(A和B)”。短语“A、B和C当中的至少一个”是指“(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)”。短语“(A)B”是指“(B)或(AB)”,即,A是可选的。
图1示出了本发明不同实施例的概图。如所示的,服务器104可以接收来自请求器(requestor)102的请求,该请求标识了所寻找的(sought)结果类型以及潜在地与结果类型有关的、由请求器选择的一个或更多个候选查询参数值。当接收到请求时,服务器104可以调用模式匹配和搜索/查询逻辑106(下文中称作“逻辑106”)。逻辑106可以通过考虑到与结果类型相关联的多个模式而对候选查询参数值进行过滤,来选择候选查询参数值当中的一个或更多个。在一些实施例中,逻辑106然后可以以所选择的查询参数值以及它们的相关类型来查询数据库108,以确定与结果类型相关联的一个或更多个结果。服务器104然后可以向请求器102提供一个或更多个结果或其子集。
如所示的,除了逻辑106之外,请求器102和/或服务器104各自可以是本领域已知的任何种类的计算设备以及适于执行此处更全面描述的操作的其他逻辑中的一个或更多个。请求器102和/或服务器104各自可以是个人计算机(PC)、工作站、服务器、路由器、主机(mainframe)、刀片服务器(blade server)或高密度服务器内的模块化计算机(modularcomputer)、个人数字助理(PDA)、娱乐中心、机顶盒或移动设备。此外,除了逻辑106之外,请求器102和/或服务器104各自可以是本领域已知的任何单一或多处理器或处理器核心中央处理单元(CPU)计算系统,以及适于执行此处更详细描述的操作的其他逻辑。图4示出了示例单一/多处理器或处理器核心请求器102和/或服务器104,这里将对它们进行更详细的描述。
如前述的,请求器102可以针对特定结果类型向服务器104发出搜索请求。例如,请求器102可以寻找计算设备的标识。这样的请求器102可以将“设备标识符”指定为所寻找的结果类型。
请求器102还可以在请求中包含一个或更多个候选查询参数值。在一些实施例中,请求器102可以包含候选查询参数值及其相关类型作为名称/值对的集合。例如,寻找设备标识符的请求器102可以包括与以下查询参数类型相对应的一个或更多个候选查询参数值:权标(token)、媒体存取控制地址(MACA)、WIND、WPID、HDID、IEID、帐户标识符(account identifier)(ACCT)、服务提供商标识符(ISP)、城市、区域、国家、或时区。这些类型中,MACA、WIND、WPID、HDID、IEID是本领域已知的。诸如ACCT或ISP之类的类型可以与其标识被寻找的计算设备的服务预定(service subscription)相关联。诸如城市、区域、国家、或时区之类的类型可以与其标识被寻找的计算设备的位置相关联。权标类型可以是设备标识符,该设备标识符在一个时间点唯一地标识了其标识被寻找的计算设备。在于2007年10月24日提交的标题为“Creating and Verifying Globally UniqueDevice-Specifc Identifiers”美国专利申请No.11/xxx,xxx中更详细地描述了这样的权标。
在一些实施例中,请求器102还可以在请求中包含最小权重阈值以及最大结果数目。如此处将更详细描述的,每个结果可以与权重相关联,请求器102可以指定阈值以缩减(narrow)从服务器104接收的结果的数目和/或质量。请求器102还可以指定最大结果数目以缩减所接收的结果的数目。在不同实施例中,请求器102可以是同步或异步进程(process),并且当发出请求时可以或不可以等待来自服务器104的响应。在发出请求之后的某一时间点,请求器102可以从服务器104接收由结果(以及在一个实施例中它们的相关权重)组成的数组。
在不同实施例中,请求器102可以是服务器104所提供的服务的订户,并且请求器102自身可以与其他末端用户计算设备交互。在一个实施例中,请求器102可以寻找这些末端用户设备之一的标识,将感兴趣的计算设备的设备标识符标识为结果类型,以及提供计算设备的多个描述符作为查询参数值。
在一些实施例中,请求器102和服务器104实际上可以存在于同一计算设备上,并且可以是所述设备的服务器或客户端进程。在其他实施例中,如出于说明目的而全面描述的,请求器102和服务器104可以是分开的、远程布置的计算设备。在请求器102被布置为远离服务器104的不同实施例中,请求器102和服务器104可以彼此通信连接。在一些实施例中,可以通过联网结构(networking fabric)(未示出)来连接请求器102和服务器104。如本领域已知的,这样的联网结构可以包括LAN、WAN、以及互联网当中的一个或更多个。
如所示出的,如前述的,服务器104可以包括逻辑106,所述逻辑106用于产生模式、用于根据这些模式进行过滤以选择查询参数值、用于以所选择的值来查询数据库108、以及用于接收来自查询的结果。服务器104还可以包括一个或更多个计算设备,如前述的,在一个实施例中,逻辑106可以是分散在服务器104的多个计算设备上的分布式进程。在一些实施例中,服务器104还可以包括数据库108。在其他实施例中,数据库108可以位于另一远程布置的计算设备(如数据库服务器)上。
在不同实施例中,逻辑106可以是全部或部分位于服务器104上的任何单线程(single-threaded)或多线程(multi-threaded)进程。首先,可以响应于服务器104接收到来自请求器102的搜索请求,由服务器104经由例如函数调用(function call)来调用逻辑106。先前以及非常详细地描述了示例搜索请求的内容。当被调用时,逻辑106可以首先例如通过对请求进行解析(parse)来确定包含在请求中的结果类型。一旦确定了结果类型,逻辑106就可以产生与结果类型相关联的模式,或检索(retrieve)先前产生的与结果类型相关联的模式。
在一些实施例中,逻辑106可以通过考虑到对结果类型与查询参数类型的组合当中的查询参数类型之间的关联进行证实的历史数据,在统计上使结果类型与所述查询参数类型的组合相关,从而产生多个模式。在一个实施例中,多个模式当中的每个模式可以包括一个或更多个查询参数类型。可以由逻辑106根据查询参数类型之间的某种逻辑相关性来形成查询参数类型的组合。例如,描述位置的所有参数类型可以形成一个组合。一旦形成了组合,就可以考虑到历史数据使这些组合与结果类型统计上相关。可以由逻辑106从数据库108或从对结果类型与查询参数类型的组合之间的关联的描述加以存储的一些其他远程或本地源检索历史数据。例如,相关性可以包括选择以下所有组合作为模式:所述组合预先确定了具有超过预定阈值的权重值的结果类型的结果。这只不过是众多产生模式的方法当中的一个方法。可以另外地或取代地使用许多其他方法,如机器学习工具或基于模式(schemabased)的分析。在一个实施例中,多个所产生的模式可以包括第一模式、第二模式、第三模式、第四模式或第五模式当中的至少一个,所述第一模式包括权标,所述第二模式包括MACA和WIND,所述第三模式包括WIND、WPID、HDID以及IEID,所述第四模式包括帐户标识符以及服务提供商标识符,所述第五模式包括城市、国家、区域、以及时区。
在不同实施例中,当产生或检索模式时,逻辑106可以使用模式从包含在请求中的一个或更多个候选查询参数值当中进行选择或过滤。逻辑106可以首先对请求进行解析,以确定该请求是包括参数类型和作为名称/值对的值两者,还是仅包括候选查询参数值。如果仅包括值,则逻辑106可以对值进行分析以确定这些值可能与哪些类型相关联。一旦可以检索或确定与候选查询参数值相关联的查询参数类型,则逻辑106可以考虑到模式来对查询参数类型进行过滤,所述过滤包括:使候选查询参数值的查询参数类型与模式的查询参数类型相交(intersect),以确定查询参数类型的集合,所述查询参数类型的集合与交集(intersection)相对应,并且对于该查询参数类型的集合,发现模式的所有查询参数类型都与候选查询参数值的查询参数类型相交。图3示出了相交(intersecting)和集合确定(set-determining)的文氏图,此处将对其进行更详细的描述。如图3所示,如果查询参数类型属于模式,且针对该模式在请求中发现该模式的每个类型,则可以将这些查询参数类型确定为集合的一部分。在一些实施例中,不与任何模式相交的请求的查询参数类型可能不包含在集合中。一旦逻辑106确定了查询参数类型的集合,则逻辑106就可以形成由这些类型及其相关联的候选查询参数值组成的名称/值对(下文中将所形成的名称值对称作“签名(signature)”)。
在一些实施例中,当确定/选择签名时,逻辑106可以产生包括签名和结果类型的查询。然后逻辑106可以查询数据库108。逻辑106可以查询数据库108以将签名的名称/值对与通过数据库108与结果相关联的名称/值对进行精确匹配,这些结果包括查询结果。在一个实施例中,每个结果的权重值也可以是结果。在不同实现中,可以利用逻辑106使用Oracle DBMS执行计划来执行查询,其中所述Oracle DBMS执行计划可以在单个最优化查询中进行查找,而不是针对签名的每个名称/值对来进行一系列的查找。为了完成这个任务,逻辑106可以采用预先设置的字典统计学(dictionary statistics)将签名存储在全局临时表中,并且可以使用采用NO HASH提示(hint)的查询来得到在性能上等同于直接查找的执行计划。在不同实施例中,可以使用本领域已知的任何查询语言如SQL来形成查询。在其他实施例中,不同于通过逻辑106产生查询自身,服务器104还可以向另一计算设备提供签名以将查询公式化。
在将数据库108布置为远离服务器104的一个实施例中,服务器104与数据库108可以彼此通信连接。在一些实施例中,可以通过联网结构(未示出)来连接服务器104与数据库108。如本领域已知的,这样的联网结构可以包括LAN、WAN以及互联网当中的一个或更多个。
如所示的,在进行查询之后的某一时间点,逻辑106可以从数据库108接收多个结果作为查询结果。如前述的,查询结果还可以包括针对每个结果的权重值。如果包含了针对结果的权重值,则逻辑106可以确定是否有结果是相同的。对于相同的结果,如具有权重值8的第一结果设备1和具有权重值24的第二结果设备1,逻辑106可以对权重值进行累加/合计,达到具有合计权重值的一个组合结果,如具有权重值32的组合结果设备1。在一个实施例中,累加/合计可以包括将权重值相加,合计权重值可以包括总计的权重值。
然后逻辑106可以检查搜索请求以确定该请求是否指定了权重阈值或指定了最大结果数目。在一些实施例中,如果没有指定阈值也没有指定最大数目,则逻辑106可以简单地为请求器102提供在查询结果中接收到的所有结果(及其权重值,如果包含在结果中的话)。在其他实施例中,逻辑106可以使用缺省阈值和缺省最大结果数目,并且可以采用与搜索请求已经指定了该阈值和最大数目的情况下一样的方式来进行操作。
在不同实施例中,逻辑106可以进行将结果/组合结果的权重值/合计权重值与缺省指定或提供的权重阈值相比较。在第一实施例中,在搜索结果中可以不包含权重值小于阈值的任何结果。在第二实施例中,在搜索结果中可以不包含权重值大于阈值的任何结果。例如,如果阈值是12,则在第一实施例中可以包含具有权重值32的前述组合结果。然后逻辑106可以确定剩余结果的数目是否超过了缺省指定或提供的最大数目。如果超过了最大数目,则在一个实施例中逻辑106可以不在搜索结果中包含具有最低权重值的一定数目的结果,这些结果的数目等于剩余结果的数目与最大数目之差,其中所谓的“最低”是依据不同实施例而不同的。在另一实施例中,可以不包含具有最高权重值的一定数目的结果,其中所谓的“最高”是依据不同实施例而不同的。在根据阈值和/或最大数目而减少结果之后,逻辑106可以如前述地提供剩余结果及其权重值,作为由结果/权重值对组成的数组。
如所示的,除了内部结构(例如,表)和数据之外,数据库108可以是本领域已知的任何种类的数据库。数据库108可以是关系数据库(relational database)、标准化数据库(normalized database)、非标准化数据库(de-normalized database)、或文件。在不同实施例中,数据库108可以存储针对多个结果类型的多个结果。数据库108还可以包括使结果与查询参数值相关联的一个或更多个表,其中结果位于由结果类型规定的列中,而查询参数值位于由查询参数类型规定的列中。数据库108还可以包括多个其他表,所述表包含对便于逻辑106的前述操作而言必要的数据,可以针对由逻辑106公式化的查询提供结果。在一个实施例中,数据库108还可以存储前述历史数据,以便于逻辑106产生多个模式。
图2示出了根据不同实施例的所选择的操作的流程图。如所示出的,诸如搜索服务器104之类的计算设备可以接收搜索请求(块202),所述搜索请求指定结果类型以及一个或更多个候选查询参数值。在一些实施例中,计算设备然后可以(或在之前的某个时间,如前述的):通过考虑到对结果类型与查询参数类型的组合当中的查询参数类型之间的关键进行证实的历史数据,而使结果类型与所述查询参数类型的组合统计上相关,以产生多个模式(块204)。在一个实施例中,多个模式当中的每个模式可以包括一个或更更多个查询参数类型。所述多个模式可以包括第一模式、第二模式、第三模式、第四模式或第五模式当中的至少一个,所述第一模式包括权标,所述第二模式包括MACA和WIND,所述第三模式包括WIND、WPID、HDID以及IEID,所述第四模式包括帐户标识符和服务提供商标识符,所述第五模式包括城市、国家、区域以及时区。
在不同实施例中,计算设备然后可以通过考虑到与结果类型相关联的多个模式对候选查询参数值进行过滤,来选择候选查询参数值当中的一些或全部(块206),以便于以所选择的查询参数值来查询数据库。在一些实施例中,所述过滤可以包括:使候选查询参数值的查询参数类型与模式的查询参数类型相交,以确定查询参数类型的集合,所述查询参数类型的集合与交集相对应,并且对于所述查询参数类型的集合,模式的所有查询参数类型与候选查询参数值的查询参数类型相交;以及所述选择可以包括:选择与所确定的集合的查询参数类型相对应的候选查询参数值。
如所示的,计算设备然后可以以所选择的查询参数值及其相关联的类型来查询数据库(块208),以确定与结果类型相关联的一个或更多个结果。作为响应,计算设备可以接收针对每个所选择的查询参数值的结果以及针对每个结果的相关联权重(块210),并且可以合计相同结果的权重值(块212)。在一些实施例中,计算设备然后可以提供对搜索请求的响应(块214),所述响应包括至多最大数目的结果,并且仅包括其权重值在量值(magnitude)上大于预定阈值的结果,在搜索请求中指定了所述最大数目以及预定阈值。
图3示出了根据不同实施例的模式匹配操作的文氏图表示。如所示的,多个模式可以与接收到的搜索请求中所提供的和候选值相关联的查询参数类型相交。在图中,搜索请求由最大的圆来表示,每个模式均由其他圆之一来表示。每个模式包括一个或更多个查询参数类型。例如,所示模式包括第一模式、第二模式、第三模式、第四模式或第五模式,所述第一模式包括权标,所述第二模式包括MACA和WIND,所述第三模式包括WIND、WPID、HDID和IEID,所述第四模式包括帐户标识符(ACCT)和服务提供商标识符(ISP),所述第五模式包括城市和DWZL。例如,所示搜索请求包括与请求的候选值相对应的以下查询参数类型:权标、MACA、WIND、WPID、HDID、IEID、ISP、区域、以及WMPL。如前述的,服务器104可以使模式与查询参数类型相交,以确定查询参数类型的集合,所述查询参数类型的集合与交集相对应,并且对于所述查询参数类型的集合,模式的所有查询参数与候选值的查询参数类型相交。在图3中,例如所述集合包括:权标、MACA、WIND、WPID、HDID以及IDID类型。尽管ISP类型确实与模式的某个查询参数类型相交,然而该模式的其他类型(ACCT)并不与同该搜索请求相关联的查询参数类型相交。因此,ISP类型并不包含在该集合中。如前述的,然后服务器104可以使用与所确定的集合的查询参数类型相关联的候选查询参数值来查询数据库108。
图4是示出了根据不同实施例的、适用于实现本发明的示例计算机系统的框图。如所示的,计算系统400包括一个或更多个处理器或处理器核心402以及系统存储器404。对于包含权利要求在内的本申请,除非上下文明确提出另有不同,否则认为术语“处理器”和“处理器核心”是同义的。此外,计算系统400包括:大容量存储设备406(如,软盘、硬盘、光盘只读存储器(CDROM)等等),输入/结果设备408(如,键盘、光标控制(cursor control)等等),以及通信接口410(如,网络接口卡、调制解调器等等)。这些元件经由系统总线412彼此耦合,所述系统总线412表示一条或更多条总线。在多条总线的情况下,利用一个或更多个总线桥(bus bridge)(未示出)来桥接这些元件。
这些元件当中的每个元件执行它自己的、本领域中已知的传统功能。具体地,可以采用系统存储器404和大容量存储设备406来存储实现所有或一部分前述功能的程序指令(programming instruction)的工作时副本(working copy)和永久性副本(permanent copy)(这里总体上表示为422)。指令422可以是处理器402所支持的汇编指令或可以是从高级语言(例如C)编译的指令。
例如,可以通过诸如光盘(CD)之类的分布介质(未示出)或通过通信接口410(来自分布服务器(未示出)),在工厂(factory)中或在现场中将程序指令的永久性副本置于永久性存储设备406中。即,可以采用具有指令422的一个或更多个分布介质来分发指令422并对不同计算设备进行编程。
这些元件402-412的构成是已知的,从而将不对其进行进一步描述。
在本发明的实施例(未示出)中,可以采用制品(article ofmanufacture)来实现这里所公开的一个或更多个方法。例如,在示例实施例中,制品可以包括存储介质以及存储在所述存储介质中的多个程序指令,这些程序指令适于对设备进行编程以使设备可以接收搜索请求,所述搜索请求指定了结果类型以及一个或更多个候选查询参数值。在这些实施例当中的不同实施例中,程序指令可以适于通过考虑到与结果类型相关联的多个模式来对一个或更多个候选查询参数值进行过滤,以选择查询参数值。在不同实施例中,程序指令可以适于以所选择的查询参数值来查询数据库,以确定一个或更多个结果。
尽管此处说明并描述了特定的实施例,然而本领域技术人员将意识到,在不脱离本发明的范围的前提下,有各种各样的备选方案和/或等效实现可以替换所示出并描述的这些特定实施例。本领域技术人员将容易意识到,可以在各种各样的实施例及其扩展中实现本发明。本申请旨在覆盖此处所述实施例的任何调整或变化。因此,本申请显然意指本发明仅受权利要求及其等同物的限制。
Claims (20)
1、一种方法,包括:
利用计算设备接收搜索请求,所述搜索请求指定结果类型以及一个或更多个候选查询参数值;
利用所述计算设备,通过考虑到与结果类型相关联的多个模式,对候选查询参数值进行过滤,来选择候选查询参数值当中的一些或全部,从而便于以所选择的查询参数值来查询数据库。
2、根据权利要求1所述的方法,其中,所述多个模式中的每个模式包括一个或更多个查询参数类型。
3、根据权利要求2所述的方法,其中,所述多个模式包括第一模式、第二模式、第三模式、第四模式或第五模式当中的至少一个,所述第一模式包括权标,所述第二模式包括MACA和WIND,所述第三模式包括WIND、WPID、HDID以及IEID,所述第四模式包括帐户标识符和服务提供商标识符,所述第五模式包括城市、国家、区域以及时区。
4、根据权利要求2所述的方法,其中,所述过滤包括:使候选查询参数值的查询参数类型与模式的查询参数类型相交,以确定查询参数类型的集合,所述查询参数类型的集合与交集相对应,并且对于所述查询参数类型的集合来说,模式的所有查询参数类型与候选查询参数值的查询参数类型相交;以及所述选择包括:选择与所确定的集合的查询参数类型相关联的候选查询参数值。
5、根据权利要求2所述的方法,还包括:利用所述计算设备,通过考虑到对结果类型与查询参数类型的组合中的查询参数类型之间的关联进行证实的历史数据,在统计上使结果类型与所述查询参数类型的组合相关,来产生所述多个模式。
6、根据权利要求1所述的方法,还包括:利用所述计算设备,以所选择的查询参数值及其相关联的类型来查询数据库,以确定与结果类型相关联的一个或更多个结果。
7、根据权利要求6所述的方法,还包括:
利用所述计算设备,接收针对每个所选择的查询参数值的结果以及针对每个结果的相关联权重值,以及
利用所述计算设备,合计相同结果的权重值。
8、根据权利要求7所述的方法,还包括:利用所述计算设备提供对搜索请求的响应,所述响应包括至多最大数目的结果,并且仅包括其权重值在量值上大于预定阈值的结果,所述最大数目和所述预定阈值是已在所述搜索请求中规定的。
9、一种设备,包括:
处理器;以及
由所述处理器操作的逻辑,该逻辑用于:
接收搜索请求,所述搜索请求指定结果类型以及一个或更多个候选查询参数值,
通过考虑到与结果类型相关联的多个模式,对一个或更多个候选查询参数值进行过滤,来选择查询参数值,
以所选择的查询参数值来查询数据库,从而确定一个或更多个结果。
10、根据权利要求9所述的设备,其中,所述多个模式中的每个模式包括一个或更多个查询参数类型。
11、根据权利要求10所述的设备,其中,所述多个模式包括第一模式、第二模式、第三模式、第四模式或第五模式当中的至少一个,所述第一模式包括权标,所述第二模式包括MACA和WIND,所述第三模式包括WIND、WPID、HDID以及IEID,所述第四模式包括帐户标识符和服务提供商标识符,所述第五模式包括城市、国家、区域以及时区。
12、根据权利要求10所述的设备,其中,所述逻辑用于:
所述过滤,所述过滤还包括:使候选查询参数值的查询参数类型与模式的查询参数类型相交,以确定查询参数类型的集合,所述查询参数类型的集合与交集相对应,并且对于所述查询参数的集合来说,模式的所有查询参数类型与候选查询参数值的查询参数类型相交,以及
所述选择,所述选择还包括:选择与所确定的集合的查询参数类型相关联的候选查询参数值。
13、根据权利要求10所述的设备,其中,所述逻辑还用于:通过考虑到对结果类型与查询参数类型的组合中的查询参数类型之间的关联进行证实的历史数据,在统计上使结果类型与所述查询参数类型的组合相关,来产生所述多个模式。
14、根据权利要求9所述的设备,其中,所述逻辑用于所述查询,所述查询包括:以所选择的查询参数值及其相关联的类型来查询数据库,以确定一个或更多个结果,所述结果与结果类型相关联。
15、根据权利要求14所述的设备,其中,所述逻辑还用于:
接收针对每个所选择的查询参数值的结果以及针对每个结果的相关联权重值,以及
合计相同结果的权重值。
16、根据权利要求15所述的设备,其中,所述逻辑还用于提供对搜索请求的响应,所述响应包括至多最大数目的结果,并且仅包括其权重值在量值上大于预定阈值的结果,所述最大数目和所述预定阈值是已在所述搜索请求中规定的。
17、一种制品,包括:
存储介质;以及
存储在所述存储介质上的多个程序指令,被配置为使设备能够进行如下操作:
接收搜索请求,所述搜索请求指定结果类型以及一个或更多个候选查询参数值,
考虑到与结果类型相关联的多个模式,对一个或更多个候选查询参数值进行过滤,来选择查询参数值,
以所选择的查询参数值查询数据库,从而确定一个或更多个结果。
18、根据权利要求17所述的制品,其中,所述多个模式中的每个模式包括一个或更多个查询参数类型。
19、根据权利要求18所述的制品,其中,所述多个模式包括第一模式、第二模式、第三模式、第四模式或第五模式当中的至少一个,所述第一模式包括权标,所述第二模式包括MACA和WIND,所述第三模式包括WIND、WPID、HDID以及IEID,所述第四模式包括帐户标识符和服务提供商标识符,所述第五模式包括城市、国家、区域以及时区。
20、根据权利要求18所述的制品,其中,所述程序指令还被配置为使所述设备能够进行如下操作:
所述过滤,所述过滤还包括:使候选查询参数值的查询参数类型与模式的查询参数类型相交以确定查询参数类型的集合,所述查询参数类型的集合与交集相对应,并且对于所述查询参数类型的集合来说,模式的所有查询参数类型与候选查询参数值的查询参数类型相交,以及
所述选择,所述选择还包括:选择与所确定的集合的查询参数类型相关联的候选查询参数值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86296006P | 2006-10-25 | 2006-10-25 | |
US60/862,966 | 2006-10-25 | ||
US60/862,960 | 2006-10-25 | ||
US11/923,580 | 2007-10-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101563670A true CN101563670A (zh) | 2009-10-21 |
Family
ID=41221582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800400587A Pending CN101563670A (zh) | 2006-10-25 | 2007-10-25 | 对查询输入进行基于模式的过滤 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101563670A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968454A (zh) * | 2012-10-26 | 2013-03-13 | 北京百度网讯科技有限公司 | 一种用于获取推广对象搜索结果的方法和设备 |
CN102968413A (zh) * | 2011-08-31 | 2013-03-13 | 北京百度网讯科技有限公司 | 一种用于提供搜索结果的方法与设备 |
CN107291418A (zh) * | 2016-03-31 | 2017-10-24 | 雲大江 | 无缝度量逻辑运算系统及其运算方法 |
-
2007
- 2007-10-25 CN CNA2007800400587A patent/CN101563670A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968413A (zh) * | 2011-08-31 | 2013-03-13 | 北京百度网讯科技有限公司 | 一种用于提供搜索结果的方法与设备 |
CN102968413B (zh) * | 2011-08-31 | 2017-12-26 | 北京百度网讯科技有限公司 | 一种用于提供搜索结果的方法与设备 |
CN102968454A (zh) * | 2012-10-26 | 2013-03-13 | 北京百度网讯科技有限公司 | 一种用于获取推广对象搜索结果的方法和设备 |
CN102968454B (zh) * | 2012-10-26 | 2016-08-03 | 北京百度网讯科技有限公司 | 一种用于获取推广对象搜索结果的方法和设备 |
CN107291418A (zh) * | 2016-03-31 | 2017-10-24 | 雲大江 | 无缝度量逻辑运算系统及其运算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wylot et al. | RDF data storage and query processing schemes: A survey | |
EP1738290B1 (en) | Partial query caching | |
Motro et al. | Fusionplex: resolution of data inconsistencies in the integration of heterogeneous information sources | |
CN102799644B (zh) | 基于元数据的数据库动态查询系统和数据库动态查询方法 | |
US7873627B2 (en) | Relational database scalar subquery optimization | |
US8423569B2 (en) | Decomposed query conditions | |
US20080104070A1 (en) | Pattern-based filtering of query input | |
Yin et al. | Robust query optimization methods with respect to estimation errors: A survey | |
KR20060043011A (ko) | 암시 술어를 이용하는 개선된 쿼리 최적화기 | |
US11449477B2 (en) | Systems and methods for context-independent database search paths | |
EP2819030A1 (en) | Database hierarchy-independent data drilling | |
Domshlak et al. | Rank aggregation for automatic schema matching | |
Ambite et al. | Flexible and scalable cost-based query planning in mediators: A transformational approach | |
Araujo et al. | SERIMI: class-based matching for instance matching across heterogeneous datasets | |
Efthymiou et al. | Benchmarking blocking algorithms for web entities | |
CN102541631A (zh) | 以多线程不同驱动源执行计划处理查询的方法和系统 | |
CN106156171A (zh) | 一种面向虚拟资产数据的查询优化方法 | |
Cedeno et al. | R2DF framework for ranked path queries over weighted RDF graphs | |
Ahamed et al. | An Efficient Mechanism for Deep Web Data Extraction Based on Tree‐Structured Web Pattern Matching | |
CN101563670A (zh) | 对查询输入进行基于模式的过滤 | |
Ge et al. | A cost-driven top-K queries optimization approach on federated RDF systems | |
Zhang et al. | Selecting the optimal groups: Efficiently computing skyline k-cliques | |
Nagendra et al. | Efficient processing of skyline-join queries over multiple data sources | |
Campi et al. | Designing service marts for engineering search computing applications | |
Zlamaniec et al. | A framework for workload-aware views materialisation of semantic databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091021 |