Systems and methods for filter table optimization
    7.
    发明授权
    Systems and methods for filter table optimization 有权
    过滤器表优化的系统和方法

    公开(公告)号:US07644064B2

    公开(公告)日:2010-01-05

    申请号:US10782254

    申请日:2004-02-19

    IPC分类号: G07F17/30

    摘要: At least one implementation described herein relates to using multiple filter engines to optimize query processing. A filter engine comprises a general matcher and at least one optimized matcher, a matcher being a filter engine in its own right. When the filter engine receives an input, the input is analyzed to determine if it can be handled by the optimized matcher. While the general matcher is fully compliant with a query language, the optimized matcher only handles a subset of the query language. Therefore, inputs that can be processed in the optimized matcher are compared against fewer filters, making the filtering process more efficient. The filter engine may also process only a portion of an input in the optimized matcher and another portion of the input in the general matcher, which reduces processing overhead.

    摘要翻译: 本文所描述的至少一个实现涉及使用多个过滤器引擎来优化查询处理。 过滤引擎包括通用匹配器和至少一个优化的匹配器,匹配器本身就是过滤器引擎。 当过滤器引擎接收到输入时,分析输入以确定是否可以由优化的匹配器处理。 虽然通用匹配器完全符合查询语言,但是优化的匹配器仅处理查询语言的子集。 因此,可以在优化的匹配器中处理的输入与较少的过滤器进行比较,从而使过滤过程更有效率。 滤波器引擎还可以仅处理优化匹配器中的输入的一部分和通用匹配器中的输入的另一部分,这降低了处理开销。

    Evaluating queries against in-memory objects without serialization
    8.
    发明授权
    Evaluating queries against in-memory objects without serialization 失效
    评估针对内存中对象的查询而不进行序列化

    公开(公告)号:US07287035B2

    公开(公告)日:2007-10-23

    申请号:US10783599

    申请日:2004-02-20

    IPC分类号: G06F7/00 G06Q99/00

    摘要: At least one implementation described herein relates to evaluating queries structured according to a first format against one or more objects structured according to a second, different format without serializing the object. Typically, evaluating an XML (eXtensible Markup Language) query against a CLR (Common Language Runtime) object required serializing the CLR object and deriving an XML construct from the serialized data. The query is then be evaluated against the XML construct. In the described implementations, significant system resources are realized by creating an infoset model that maps properties of an object to an object infoset. The query is then evaluated using the infoset to locate object values and, thus, no serialization is required. Dynamically generated IL is used and re-used to efficiently perform subsequent evaluation steps on similar queries.

    摘要翻译: 本文所描述的至少一个实现涉及针对根据第二不同格式而构造的一个或多个对象,根据第一格式来结构化查询而不串行化该对象。 通常,针对CLR(公共语言运行时)对象评估XML(可扩展标记语言)查询需要序列化CLR对象并从序列化数据中导出XML构造。 然后根据XML构造来评估查询。 在所描述的实现中,通过创建将对象的属性映射到对象信息集的信息集模型来实现重要的系统资源。 然后使用信息集来评估查询以定位对象值,因此不需要序列化。 动态生成的IL被使用并重新用于有效执行类似查询的后续评估步骤。

    Evaluating queries against in-memory objects without serialization
    9.
    发明授权
    Evaluating queries against in-memory objects without serialization 失效
    评估针对内存中对象的查询而不进行序列化

    公开(公告)号:US07921129B2

    公开(公告)日:2011-04-05

    申请号:US11876564

    申请日:2007-10-22

    IPC分类号: G06F7/00 G06F17/30

    摘要: At least one implementation described herein relates to evaluating queries structured according to a first format against one or more objects structured according to a second, different format without serializing the object. Typically, evaluating an XML (eXtensible Markup Language) query against a CLR (Common Language Runtime) object required serializing the CLR object and deriving an XML construct from the serialized data. The query is then be evaluated against the XML construct. In the described implementations, significant system resources are realized by creating an infoset model that maps properties of an object to an object infoset. The query is then evaluated using the infoset to locate object values and, thus, no serialization is required. Dynamically generated IL is used and re-used to efficiently perform subsequent evaluation steps on similar queries.

    摘要翻译: 本文所描述的至少一个实现涉及针对根据第二不同格式而构造的一个或多个对象,根据第一格式来结构化查询而不串行化该对象。 通常,针对CLR(Common Language Runtime)对象评估XML(可扩展标记语言)查询需要序列化CLR对象并从序列化数据中导出XML构造。 然后根据XML构造来评估查询。 在所描述的实现中,通过创建将对象的属性映射到对象信息集的信息集模型来实现重要的系统资源。 然后使用信息集来评估查询以定位对象值,因此不需要序列化。 动态生成的IL被使用并重新用于有效执行类似查询的后续评估步骤。

    Inverse query engine systems with cache and methods for cache maintenance
    10.
    发明授权
    Inverse query engine systems with cache and methods for cache maintenance 有权
    具有缓存和缓存维护方法的反向查询引擎系统

    公开(公告)号:US07558917B2

    公开(公告)日:2009-07-07

    申请号:US10779328

    申请日:2004-02-13

    摘要: An inverse query engine system having a cache integrated therein and methods for maintaining the cache are described herein. Entities storing filters in the inverse query engine cache thus do not have to maintain an individual cache to maintain the filters. The inverse query engine system cache is maintained within a bounded size by removing expired filters from the cache and trimming the cache to an optimal size when the cache reaches a maximum size. In the event that filter size cannot be determined efficiently, weights may be associated with filters stored in the cache, each weight identifying an estimate of a filter size. The weights are used to determine cache size and to maintain the cache size within particular bounds.

    摘要翻译: 这里描述了具有集成在其中的高速缓存的逆查询引擎系统和用于维护高速缓存的方法。 因此,在逆查询引擎高速缓存中存储过滤器的实体不必维护单个缓存来维护过滤器。 反向查询引擎系统缓存通过从高速缓存中移除已过期的过滤器并在高速缓存达到最大大小时将高速缓存修剪到最佳大小来维护在有界大小内。 在无法有效地确定滤波器大小的情况下,权重可以与存储在高速缓存中的滤波器相关联,每个权重识别滤波器尺寸的估计。 权重用于确定高速缓存大小并将高速缓存大小保持在特定范围内。