CN100428227C - 管理数据库系统中的表达式 - Google Patents
管理数据库系统中的表达式 Download PDFInfo
- Publication number
- CN100428227C CN100428227C CNB038105705A CN03810570A CN100428227C CN 100428227 C CN100428227 C CN 100428227C CN B038105705 A CNB038105705 A CN B038105705A CN 03810570 A CN03810570 A CN 03810570A CN 100428227 C CN100428227 C CN 100428227C
- Authority
- CN
- China
- Prior art keywords
- expression formula
- data
- expression
- judgement
- inquiry
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/961—Associative
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种管理表达式的方法,其包括接收包括条件表达式的第一查询。然后该表达式被表示为表中一列的数据。第二查询被接收到,其规定标准的第一集合,且执行第二查询以至少基于该列中的表达式是否满足标准的第一集合选择数据。在一个实施例中,第二查询进一步规定标准的第二集合,其中执行第二查询包括基于多个列中数据而非表达式是否满足第二标准。定义特殊索引以有效过滤大表达式集合,该索引可以在存储表达式的列上创建。一种为作为数据存储在表中的表达式取值的方法,其将每个表达式中的判定分类,并基于该判定分类过滤表达式集合。
Description
相关申请的交叉引用
本申请涉及2002年5月10日申请的美国临时专利申请No.60/378018,并要求其优先权,该临时申请的名称为“ManagingExpressions In A Database System”,该临时专利申请的全部内容结合于此作为参考。
技术领域
本发明一般涉及数据库管理系统,更具体地说,涉及管理数据库系统中条件表达式的技术。
背景技术
在基于事件和内容的订阅系统的情景中,事件定义为,遇到它时,触发一个动作。例如,订阅者可以定义包括事件的规则,这些事件定义内容的一种状态,遇到时,触发将内容发送给用户。将一种数据库管理系统作为基于内容的订阅系统的底层引擎(underlyingengine),用户可以在系统中登记查询,这些查询基于事件内容表达为条件表达式。在这样的订阅或具有类似功能的系统中,潜在极其庞大的查询的集合,或者说是基于内容的表达式集合,被注册来管理所需的内容数据的发布。当有一个给定数据项时,过滤这些条件表达式以找到与之匹配的表达式。
过滤表达式集合的一种简单但效率低下的方法是,对于每一个数据项,检验给定集合中所有的表达式。但这种方法对于大的表达式的集合或者高频率的事件的情况都是无法实现的。所以,大多数商业系统预处理这些表达式(expression)集合并且建立存储器内(in-memory)匹配网络(即专用的数据结构),它将表达式集合中的匹配的判定(predicates)分组并且通过多重表达式分担处理费用。
匹配网络是决策树,其中每个节点代表给定表达式集合中的一个判定组。仅在对于代表母节点的判定的数据被求值为真时,数据从母节点流向子节点。从决策树的根节点到叶节点的一条路径代表了表达式中所有与(conjunctions)。决策树中的叶节点被标记有表达式标识符,如果数据项通过叶节点上的判定测试,就数据项而言,相应的表达式认为是真。许多匹配网络的派生形式(像RETE,TREAT和Gator网络)适用于现有系统中。
现有系统中,任何需要过滤表达式和相关信息的操作都需要相当数量的顾客编码而降低了工作性能。而且,表达式数目的大小是有限制的,因为相应匹配网络必须匹配主储存器,表达式的改变是费用昂贵的,并且,用户不能调整表达式与相关数据的结构与用途方面的过滤策略。
如上所述,很明显有必要提供一种改进的机制来管理表达式,例如与订阅系统关联的表达式。并且,还更特别需求这样的机制,这种机制提供了能够与其他关联信息的过滤器联合起来过滤表达式的能力。
附图说明
本发明通过附图中的例子来进行说明,附图中的例子不是限定,图中相似的参考数字代表类似的元素,其中:
图1是示例表,其用于支持本文中描述的过程或步骤的实例;
图2是流程图,其说明用于管理数据库中表达式的过程;
图3A是流程图,其说明对以数据形式存储在表中一列中的表达式集合进行求值的过程;
图3B是流程图,其说明根据判定分类过滤表达式的步骤;以及
图4是框图,其说明本发明的实施例可以在其上执行的计算机系统。
具体实施方式
本发明涉及一种用于管理数据库系统中的表达式的方法和系统。而且,更具体地讲,涉及一种用于管理基于事件和内容的信息订阅系统关联的条件表达式的方法与系统。
在下面的说明中,为了解释的目的,阐述了许多具体的细节,以提供对本发明的完整的理解。但是,很明显,本发明没有这些具体细节也可实施。其他情形中,众所周知的结构和设备以框图形式示出以避免无谓的模糊本发明的特征。
概述
条件表达式,通常呈标准的数据库查询形式,表示成表的一列中的数据。这些表达式举例来说可能表示用于过滤信息订阅系统中的数据的数据过滤器。另一个标准的数据库查询指定标准,然后可以在此列上执行,以确定此列中的表达式是否满足指定的标准。这些标准举例来说可表示输入订阅系统的数据。
因此,通过将表达式视为可以与其他由用户指定的相关数据一起查询的数据,而将这里说明的表达式处理机制与数据库技术结合在一起。例如,发行者可以在查询中包括其他的与其订阅者相关的过滤标准。
在一种具体实施例中,接收包含第一条件表达式的第一查询。例如,第一查询可能通过插入(INSERT)或数据库载入操作被接收。第一表达式于是可以表示成表的一列中的数据。接收指定第一标准集合的第二查询,并且至少根据此列中的表达式是否满足第一标准集合来执行第二查询以选择数据。例如,可能从数据库应用程序的一个用户接收第二查询。
在一个具体实施例中,第二查询进一步指定第二标准集合,其中执行第二查询包括根据与此列不同的其他列中的数据是否满足第二标准来选择数据。
其他具体实施例包括订阅服务或系统从订阅者收到第一查询,其中第一表达式指定数据必须满足的标准,以使该数据是用户所感兴趣的;从与订约系统有关的发行者收到第二查询,其中第二查询指定数据必须满足的标准,相对于订阅者,因为数据是发行给用户的。于是数据被用户和发行者互相过滤。
根据本发明的一个方面,一种特殊的索引定义在将表达式作为数据存储的列上,以有效地过滤庞大的表达式集合。
一个具体实施例中,表达式中的判定根据它们左手边的同一性,也就是与第一表达式标准关联的共同标识进行分组。这些分组被永久存储在数据库中。进一步,与判定关联的算符和常量存储在与相应的判定分组关联的判定表中,并且根据这些算符与常量创建例如并置位图索引等索引。
管理数据库系统中的表达式
一般而言,在基于事件和内容的订阅系统中,为事件结构或背景(context)定义表达式或规则(例如,事件-条件-动作(ECA)规则)的集合,且事件的结构决定了可以在表达式中使用的基本属性。在这里,术语“事件”用在背景中是指给表达式或“条件”求值的数据项。例如,在股票交易的情景中,事件可能是获得一定价格的公开交易的股票,其被表示为数据项。因此,与这个事件关联的表达式的基本属性可能包括,例如,符号(SYMBOL),价格(PRICE)和变化(CHANGE)。ECA规则处于休眠状态直到被一件事件的发生激活。
为事件结构或背景的表达式定义的集合称为表达式集合。例如,订阅者A可能对表示成SYMBOL=ORCL、PRICE>30、CHANGE>5的事件感兴趣;订阅者B可能对表示成SYMBOL=CSCO、PRICE>25的事件感兴趣;订阅者C可能对表示成SYMBOL=INTC、CHANGE/PRICE>0.1的事件感兴趣。
基于规则的典型系统中,例如基于内容的订阅系统中,有效地过滤条件表达式庞大集合对于系统的可扩缩性至关重要。与典型的数据库设计不同,其中少量的查询执行于表中多个行中,基于规则的系统具有操作于一个数据项上的大量表达式(像查询中的WHERE从句)。
为一种应用定义的表达式相对稳定,且对这些表达式处理的新数据的速率很高。所以,根据一个方面,执行表达式的预处理以建立专用数据结构和数据存取机制(例如索引等),以容许快速地过滤新数据项。
表达式集合的预处理
假定系统中有大量的条件表达式,这些表达式倾向于在初级判定级别上具有相似性。也就是说,两个表达式,每一个都有一个或更多通过“与”连接的基本判定,可以有共同的判定。于是,表达式求值的费用(evaluation cost)在多个表达式之间分担,从而利用前面叙述的相似性。在一个实施例中,函数库,表达式类型库支持表达式集合的预处理。
表达式类型库提供了建立表达式匹配网络所需要的基本功能。这种库是作为Java类的集合供给的,其能够将表达式串转换为含初级判定的表达式树,且通过“与”和“或”结合。这种库可以在对这些表达式作增加修改时被任何索引方案用来预处理表达式集合中的表达式。
这种库如下分解和处理表达式:
(1)举例来说通过重组表达式中的判定并将之改写为析取规范形式(DNF),也就是,AND子从句的OR列表(list),标准化表达式。例如下面形式的表达式
SYMBOL=“GE”和(PRICE<25或PRICE>35)
经DNF转换后改写如下
(SYMBOL=“GE”和PRICE<25)或(SYMBOL=“GE”和PRICE>35)。
(2)通过改写表达式中每个判定以便其右边部分是纯常量,标准化判定。例如,如下形式的判定
PRICE>27+CHANGE
被重写成
PRICE-CHANGE>27
(3)通过如下分解解码判定:
左边部分(LHS):一个或多个属性的表达式或函数(例如,判定PRICE-CHANGE>27中的PRICE-CHANGE);
右边部分(RHS):一个常量(例如,判定PRICE-CHANGE>27中的“27”);
关系算符:关系算符连接LHS与RHS(例如,判定PRICE-CHANGE>27中的“>”)。
判定的左边部分,例如,属性SYMBOL,也称为复杂属性。它也可能是涉及一个或多个初级属性或用户定义的函数的次级表达式(sub-expression),例如,变化/价格。判定的算符被映射到预定整数值,但是,实施例并不局限于这种映射。被映射的算符和关联的判定常量(RHS)被存储在一种判定表中,下面会对它予以详细说明。执行时,涉及到IN列表,次级查询等结构的判定不用其他判定分组。
属性集合
根据本发明的一个方面,创建捕获事件结构或背景的属性集合。属性集合有一列在表达式集合中使用的基本属性及它们的数据类型。在其最简单的形式中,属性集合类似于数据库中的抽象类型定义。例如,用在表达式集合中的初级属性的集合构成了它的属性集。
一种非限定性的用于创建属性集合的技术可用如下命令表达:
EXECUTE dbms_expeng.create_attribute_set(
attr_set=>’TICK’);
EXECUTE dbms_expeng.add_elementary_attribute(
attr_set=>’TICK’,
attr_name=>’SYMBOL’,
attr_type=>’VARCHAR2(6)’);
EXECUTE dbms_expeng.add_elementary_attribute(
attr_set=>’TICK’,
attr_name=>’PRICE’,
attr_type=>’NUMBER’);
EXECUTE dbms_expeng.add_elementary_attribute(
attr_set=>’TICK’,
attr_name=>’CHANGE’,
attr_type=>’NUMBER’);
藉此创建属性集合“TICK”,其具有基本属性“SYMBOL”,“PRICE”,和“CHANGE”。
值得注意的是,属性集合被存储在表的一列中。例如表达式可以存储在一种数据库表的VARCHAR2或CLOB列中。例如,将一些表达式集合的元数据和该列关联,这样的列可视为表达式数据类型列。而且,存储表达式集合的列与为表达式集合创建的属性集合关联。一种非限定性的用于关联属性集合和表达式集合的技术用下列命令表达:
EXECUTE dbms_expeng.assign_attribute_set(
attr_set=>’TICK’,
tab_name=>’TRADER’,
exp_column=>’INTERST’);
藉此属性集合“TICK”与存储在表“TRADER”的“INTEREST”列中的表达式集合关联。
与属性集合关联的VARCHAR2或CLOB列组成表达式列。存储在表达式列中的值被视为表达式,并且,起初它们应该遵守可包含XPATH表达式的SQL-WHERE从句格式。这些表达式可以使用所有的定义在属性集合中的属性以及任何系统变量和用户环境中有效的用户定义函数,例如,
UPPER(symbol)=‘INTC’AND change/price>0.1。
表达式过滤器
根据一个实施例,表达式过滤器是PL/SQL包和API的集合,用来管理用户表中的表达式和过滤给定数据项的表达式,也就是说,使用标准SQL或其他查询语言使表达式中的标准与给定数据项进行匹配。在一个发布系统中,表达式指定数据必须满足的标准以使订阅者对该数据感兴趣。表达式过滤器包括两部分:求值算符(下面就要讲到)和表达式过滤器索引类型(在“创建表达式集合的索引”部分予以说明)。
求值算符(EVALUATE OPERATOR)
引入一种用于处理存储在表达式列中的表达式集合的新算符。这种算符可以用在标准SQL或DML的WHERE从句中,为数据项过滤表达式。使用新算符EVALUATE对表达式集合的判定可与表上的任何其他判定结合。求值算符接收存储表达式列的名称,例如INTEREST,和作为变量的给定数据项。求值算符在内部使用表达式集合元数据来对输入的数据项的表达式求值。
使用求值算符查询的例子如下:
SELECT*FROM traders
WHERE EVALUATE(traders.exp,
‘symbol=intc”,price=>32,change=>3.3’)=1
AND traders.city=’New York’.
如果对于给定的数据项的值查询取值为真,此表达式视为真。
表达式存储于其中的表的查询可以扩展到包括多表连接(joins)和任何其他的使用GROUP BY从句,ORDER BY从句,HAVING等从句的数据库查询操作。而且,可想到,通过连接表达式存储于其中的表和存储数据项的表,而为一批数据项过滤表达式集合。这样的查询的例子如下:
SELECT distinct(dataitems.symbol),count(*)FROM traders,detaitems
WHERE EVALUATE(traders.exp,
tick.getVarchar(dataitems.symbol,
dataitems.price,
dataitems.change))=1
AND traders.city=’New York’
GROUP BY dataitems.symbol;
其中,TICK是为表达式集合定义的属性集合名,TRADERS是存储表达式集合的表(例子见图1),DATAITEMS是存储被处理(即和表达式集合作比较)的数据项的表。
为表达式集合创建索引
为数据项验证每一个表达式是线性时域解(time solution)。当定义一个庞大的表达式集合时,对于大量的数据项而言,这种方法是无法实现的。所以,在一个实施例中,一种新的索引机制被用来有效地对一个庞大的集合中的表达式求值,以便加快用于给定数据项或数据串的表达式集合的求值。这种索引可以定义在表达式列上,于是,一种查询优化器可以根据索引使用费用来确定对于表达式集合求值的索引的使用。在一个实施例中,创建永久数据库对象,以保持用于表达式集合的索引,其中索引创建之时预处理表达式集合填充(populates)这些数据库对象。而且,储存在这些对象中的信息被保存,以对存储表达式的表使用DML操作来反映表达式集合的任何变化。
表达式过滤索引类型
在一个实施例中,索引方案被执行为一种新的索引类型,表达式过滤器,其使用可扩展的索引框架(framework)。在一个实施例中,索引方案被执行为一种新的索引类型,表达式过滤器,其使用Oracle可扩展索引框架。表达式过滤器索引类型可用来在任何存储在类型为VARCHAR2、CLOB、或BFILE的数据库列的表达式集合上创建索引。但是,可想到,也可使用不同于上述的可用在存储为数值类型的表达式上的另一种索引类型,因而也在本发明的实施例的范围之内。
表达式过滤器索引类型的执行分析集合中的表达式组,并将表达式中的判定分组为和左边部分匹配的拆散的集合。用来将表达式集合中的判定分组的数据结构本质上是关联的。在永久数据库对象用于表达式过滤器索引数据结构的实施例中,这样的数据库对象的例子如下:
判定表:存储出现在表达式中的判定的关系表;
位图索引:判定表上的一个或多个位图索引;以及
存取函数:为数据项过滤表达式而查询判定表的函数
基于等式和范围判定,这些对象共同地提供表达式的有效过滤。而且,由于索引结构对象永久地存储在数据库中,和现有方法(其中通常广泛使用主存储器)中表达式集合的大小关联的存储器限制不适用于本实施例。相反,使用本实施例的操作可以根据需要将必要的数据库单元存储在数据库高速缓冲存储器。
如上所述,给定表达式集合中的表达式指具有固定数据类型的基本属性的集合。而且,这些属性的有效值的集合构成一个数据项,其参照这些表达式取值。所以,为了以过滤器索引类型索引表达式集合,所有用在表达式集合中的基本属性都应该与存储表达式的数据库的列关联。这些基本属性与一些可选的复杂属性组成存储在一个或多个数据字典表中的表达式集合的属性集合。一种非限制性的如上所述的创建表达式过滤器索引的方法可用下列命令表达,这些命令在存储表达式的表TRADER的INTEREST列上创建索引TRADERFILTER。另外,通过在这些属性上定义位图索引,将该索引配置为用于有效地过滤涉及SYMBOL和PRICE属性的判定。
CREATE INDEX traderfilter ON trader(interest)
INDEXTYPE IS EXPRIL.EXPFILTER
PARAMETERS(‘STOREATTRS(symbol,price,change)
INDEXATTRS(symbol,price)’).
传递给CREATE INDEX语句的参数决定了用于表达式过滤器索引的对象的结构(判定表、位图索引、和存取函数),因而影响过滤器的性能。CREATE INDEX语句中的PARAMETERS从句是可选的,没有这个从句时,属性集合中的所有基本属性(有自然类型(native type))被存储和索引。
在一个实施例中,为常用的左边部分在判定表的算符列上和右边常量列上创建级联的位图索引。例如,左边部分的属性SYMBOL在涉及股票报价的表达式中经常使用,所以在与判定关联的算符和常量列上创建一个位图索引,该判定包括SYMBOL属性,并组合成级联的位图索引。在表达式集合求值时这些位图索引用作多维索引。
一般而言,这里叙述的索引方案的利用,作为一种新的索引类型(即,表达式过滤器索引类型)执行并应用到将表达式存储为数据的列上,其通过容许新的求值算符使用表达式过滤器索引,而提供一种有效的对庞大表达式集合求值的方法。
判定求值
在一个实施例中,在分析判定中,将表达式集合中的判定分为三个集合:
(1)用索引属性判定:为属于这个集合的判定分组创建位图索引,例如,常见判定,例如包括SYMBOL标识符的判定;
(2)用存储属性判定:属于这个集合的判定分组被分析和存储在没有在<算符,右边部分常量>列上定义索引的判定表中;以及
(3)稀疏判定:属于这个集合的判定以其原始形式存储。如果对于一个表达式有一个以上的稀疏判定存在,则它们被组合成“与”。注意,对于不能于其他判定归于同一组的判定增加新的列集合到判定表并不非总是有效。所以,根据一个实施例,分开的VARCHAR2列,PARTIAL_CONDITION,被定义在判定表中以保留用于稀疏判定的条件表达式。与表达式表中其他列不同,这一列并没有被索引,且其可以联合的形式保留一个或多个判定定义。
依赖于计算它的左边部分的费用和其左边部分在表达式集合中的出现频率,判定落入上面的集合之一。判定求值的费用依赖于它所属的集合。
对于上面叙述的分类,判定求值涉及的步骤如下。
(1)索引属性:复杂属性(即,判定分组的左边部分)的一次计算,使用计算出的值在位图索引上作一次或多次范围扫描;
(2)存储属性:复杂属性的一次计算,并将计算值与该组中所有判定的右端部分比较;以及
(3)稀疏判定:分析代表稀疏判定的子表达式,并通过数据值的置换求子表达式的值。
在对表达式集合求值时,根据一个实施例,表达式分三个阶段过滤,叙述如下。
第一阶段:属于有索引属性集合中的判定通过对在其上定义的位图索引执行若干范围扫描来验证。组合这些扫描结果(位图和操作)以获得表达式集合,对于这些集合来说,这些判定对于给定的数据项都是真。
该阶段的总费用定义如下
I*C11+N1*C12*log(E1)+C13*E2;
其中
I是用于过滤的位图索引的数目;
E1是待过滤的表达式数目;
C11是每个索引的平均位图索引处理费用;
C12*log(E1)是一次索引查找的平均费用;
C13是使用行标识符从判定表中取出一列的费用;
E2是在阶段1取值为真的表达式的数目;以及
N1是每一位图索引平均查找数目。
阶段1的结果是由属于有索引属性集合的所有判定取值为真的表达式的集合。
阶段2:对于所有在阶段1取值为真的表达式,验证属于存储属性集合的判定。
这一阶段的总费用定义如下
S*C2*E2;
其中
S是每个表达式的存储属性的平均数目;
C2是一次比较的平均费用;
E2是阶段1取值为真的表达式的总数目。一般而言,在阶段1工作集合(working set)显著缩小,且E2<<E1。
阶段2的结果是由属于索引或存储属性集合的判定取值为真的表达式集合。
阶段3:对于阶段2后所有为真的表达式,对这些表达式的稀疏判定(如果有的话)取值。
本阶段的所有费用定义如下
P*C3*E3;
其中
P是对表达式稀疏判定的概率;
C3是分析稀疏判定并对其求值的平均费用;以及
E3是过滤阶段2后为真的表达式的总数目。
阶段3的结果是对于给定数据项取值为真的表达式集合。注意可使用不同于上述基于索引的取值方法的替换存取方案。
考虑如图1所示的数据库表TRADERS,其将股票商人及其贸易利润的信息存储为条件表达式。为了找到30岁以下的住在纽约并且对数据项(SYMBOL=‘OROL’,PRICE=31,CHANGE=5.2)感兴趣的所有商人,如下的查询是一个可在TRADERS表上发出的查询例子。
SELECT name,phone FROM traders,
WHERE EVALUATE(interest,
‘SYMBOL=’ORCL’,PRICE=>31,CHANGE=>5.2’)=1AND
city=’New York’AND age<30;
实际上,这种查询可以利用判定表和判定表上的位图索引来过滤表达式。表达式过滤器索引返回对于给定数据项取值为真的所有表达式的行内部地址(rowids)。SELECT语句中的其余判定对相应的行取值以答复查询。除了INTEREST列上的表达式过滤索引之外,如果TRADERS表有定义在CITY和AGE列上固有的或扩展的索引,则优化器程序可以根据存取费用,选择这些索引的一个或多个来答复上面的查询。
当有一新行插入TRADERS表或某些现有表达式被更新时,表达式过滤器索引自动保持以反映这些变化。
如上面的查询例子所示,这里叙述的技术将表达式过滤操作集成到数据库操作中。在一个信息订阅-发布系统的环境下,作为将表达式和过滤机制集成到数据库系统中的结果,可从订阅者和发行者执行互相过滤,并且通过使用标准SQL语句而有效地执行互相过滤。所以,通过连接表和给查询增加判定来促进表达式过滤,多值域查询(multi-domain)是可能的。而且,对于给定的数据集合,通过连接储存表达式的表和存储数据项的表,成批给表达式集合求值是可能的。
现有方法将系统用户或客户的特征(例如名字,电话号码,住址)与他们各自对数据的兴趣分割开来,这一点在订阅表达式中表现出来。许多实际应用可以从这种兴趣与个人特征结合中获益。例如,可以执行一个查询来返回“纽约的对价格超过Y的股票X感兴趣的所有商人”或“住在离我的商店10英里以内对车辆Z感兴趣的所有顾客。”值得注意的是,本实施例基于其背景促进表达式的最佳过滤。例如,在股票交易的情况下,由于大多数用户对某一种股票符号代表的特定股票感兴趣,所以通过将判定根据符号属性分组,并建立与包含SYMBOL属性的判定关联的算符与常量的索引,这种情形导致数据的有效过滤。
管理数据库中的表达式的过程
图2是说明管理数据库中的表达式的过程的流程图。图2的叙述还参考图1中的表。
在框202,接收包含第一条件表达式的第一查询。例如,第一查询可能通过INSERT或数据库载入操作接收。在一个实施例中,希望条件表达式是SQL WHERE从句的形式。进一步,任何SQL的WHERE从句都可以视为一个表达式。在可替换的实施例中,也可想到不同于SQL查询形式的条件表达式和不同于任何类型的查询形式的条件表达式。例如,一个用户可能通过简单的文本输入指定感兴趣的数据,其中文本输入直接转化为一种合适的数据格式,例如VARCHAR2或CLOB等,用于存储表中的列。
在一个实施例中,第一查询从用户传到信息订阅系统,或其他的基于事件或内容的信息发布系统,其中表达式指定数据必须满足的标准,以便该数据是特定的用户感兴趣的数据。因此,第一查询可以作为对系统数据第一层过滤的机制,主要是处理数据,以分发或公布给合适的订阅者。
在框204,第一查询的第一条件表达式表达成表中一列中的数据,就像上面叙述的和图1中的列106描述的那样。例如,一个或多个判定构成表达式,其被编码为数据形式,SQL或其他查询语言可以在其上操作。注意,图1的表中的INTEREST列106中的表达式的表示是为了解释的目的,并没有采取描写的形式。相反,在其中存储有表达式表达的INTEREST列或任何相似列中存储的表达式实际上习惯被编码为合适的数据格式。
在可选框206,在表的一列上创建索引,其中,条件表达式在框204被存储为数据。在这个实施例中,如上所述创建索引。
创建索引的步骤包括根据与第一标准集合的各个标准关联的判定标识符将表达式集合中的判定分组。继续上面的例子,判定分组标识符可能包含SYMBOL、PRICE、和CHANGE。判定算符和常量的集合被存储在与各个判定标识符关联的判定表中。例如,对SYMBOL的判定分组可在代表算符和常量组合的集合的判定表中有条目(entry),例如算符是“等于”,且常量是“ORCL”,对PRICE的判定分组可能在包含例如“大于或等于”和“31”等算符和常量组合的判定表中有条目。这些算符和常量的集合可以适合于其目的的任何传统方式编码。其次,根据与特定判定标识符关联的判定算符和常量的集合创建一种级联位图索引或另一种形式的索引。例如,作为数据过滤过程的一部分,对于判定标识符SYMBOL,为了快速而有效地对判定,因此对表达式求值,为判定表中各个列表示的算符和常量组合的集合创建索引。
在框208,接收指定包含一个或多个标准的第一集合的第二查询。下面的查询是第二查询的一个例子。
SELECT name,phone FROM traders
WHERE EVALUATE(interest,
‘SYMBOL=’ORCL’,PRICE>=31,CHANGE=>5.2)=1
AND
city=’New York’AND age<30;
所述查询指定标准:SYMBOL等于“ORCL”,PRICE大于或等于31,且PRICE中的CHANGE大于或等于5.2。举例来说可能收到来自数据库应用程序的用户的第二查询。
在一个实施例中,从信息订阅系统或其他基于事件或内容的信息发布系统的发布者收到第二查询,其中,表达式为待发布给特殊用户的数据指定数据必须满足的标准集合。于是,第二查询可以作为一种机制对系统数据进行第二层过滤,主要是处理数据以分发或公布给合适的用户。
在框210中,至少根据106列中的条件表达式是否满足第一标准集合,执行第二查询以选择数据。例如,除了其他的功能外,第二查询的执行确定特定数据项是否满足以数据列106中存储的表达式表示的条件或条件集合。换句话说,在订阅系统的环境中,通过表达式中指定的条件或判定,确定是否有订阅者对满足查询中WHERE从句的第一部分(在“与”连接之前)指定的标准的数据感兴趣。
在一个实施例中,第二查询还指定第二标准集合,其中,在方框210中执行第二查询包括根据与表达式列不同的一列或多个列(例如列102、104)中的数据是否满足第二标准选择数据。例如,WHERE从句的第二部分(在“与(AND)”连接之后)指定其他列,城市和年龄将被考虑以决定被处理的给定数据项是否还满足标准:城市CITY(104列)等于纽约(New York)和年龄AGE(102列)小于30。在框206中创建的索引是可选的,但是,在创建索引的情形中,执行第二查询可以利用这个索引来有效地对条件表达式取值。
实际上,对一层以上或一维以上的过滤,第二查询可以做为互相过滤机制执行。例如,上面的第二查询同时考虑订阅者和发行者的数据过滤兴趣。值得注意的是,所述的过程可以在信息安全的执行中操作,此时,第二标准集合表示特定信息发布给或提供给谁的标准的安全或授权。
作为数据存储在数据库表的列中的表达式取值过程
图3A是流程图,其说明用于存储为数据库表的列中数据的表达式集合的取值过程的流程图。
在框302中,形成表达式集合中的每个表达式的每个判定都分类为索引的属性判定、存储的属性判定、和稀疏判定中的一种。索引的属性判定是被选作索引的判定,如上所述,其中索引建立在算符和常量属性集合的基础上,算符和常量属性集合存储在与各个判定标识符关联的判定表中各个列上。
存储的属性判定是一种判定,对于这种判定,它的算符和常量属性存储在与各个标识符关联的判定表中各个列上,但没有创建索引。例如,存储的属性判定可能没有创建索引,因为它们的标识符在表达式集合中并不经常使用,或者可能它们是复杂判定,其包括具有基本属性(例如,CHANGE/PRICE)的操作。
如上所述,稀疏判定是这样一个判定,其中与其关联的判定标识符在表达式集合中是不常见的。例如,一个稀疏判定可能从具有一个BETWEEN算符,在同一属性上有多个算符的,有函数的,有一个LIKE算符的判定得到。一个稀疏判定和与它关联的算符和常量以数据存储在判定表中。
在框304中,根据在方框302中执行的判定分类,过滤表达式集合。图3B是说明基于判定分类过滤表达式的步骤的流程图,方框304。
在框304A中,第一,过滤索引属性判定以得到包含一个或多个表达式的第一表达式集合,对于这些表达式,它们索引属性判定对于给定的数据项为真。第二,在框304B中,过滤第一表达式集合的存储属性判定以得到包含一个或多个表达式的第二表达式集合,对于这些表达式,其所有存储的属性对于给定的数据项为真。第三,在框304C中,如果有的话,过滤第二表达式集合的稀疏判定以得到包含一个或多个表达式的第三表达式集合,对于这些表达式,其所有判定对于给定的数据项为真。因此,数据项满足表达式中指定的标准。
硬件概述
图4的方框图说明了一个实现本发明实施例的计算机系统400。计算机系统400包括总线402或用于信息通信的其它通信装置,以及处理器404与总线402相连用于信息处理。计算系统400还包括主存储器406,例如随机存取存储器(RAM)或其它动态存储装置,与总线402相连用于储存将被处理器404执行的信息和指令。在处理器404进行指令执行过程中,主存储器406还可以被用于存储临时变量或其它中间信息。计算机系统400还包括与总线402相连的只读存储器(ROM)408或其它静态存储装置,用于存储处理器404的静态信息和指令。存储装置410,例如磁盘或光盘,与总线402相连,用于存储信息和指令。
计算机系统400还可通过总线402与显示器412相连,例如阴极射线管(CRT),用来显示信息给计算机用户。输入装置414,包括文字数字以及其它按键,与总线402相连用来传达信息和命令给处理器404。另一种类型用户输入装置是光标控制器416,例如鼠标、轨迹球或光标方向键,用来传达方向信息和命令选择给处理器404以及用来控制显示器412上的光标移动。这个输入装置典型地具有两个自由度在两个轴上,第一个轴(例如x)和第二个轴(例如y),使得该装置在一个平面上确定位置。
本发明涉及计算机系统400的使用以实现这里描述的技术。根据本发明的一个实施例,这些技术通过计算机系统400响应处理器404执行主存储器406中的一组或更多组的单一或多个指令来完成。这样的指令可从另一个计算机可读介质中,例如存储装置410,读取到主存储器406中。在主存储器406内指令的执行导致处理器404完成这里所描述的处理步骤。在一个可供选择的实施例中,硬线电路可被用来代替软件指令或与软件指令相结合来实现本发明。因此,本发明的实施例并不局限于任何特殊的硬件电路和软件组合。
这里使用的术语“计算机可读介质”指任何参与提供指令给处理器404执行的介质。这样一个介质可以有许多种形式,包括但不局限于非易失性介质、易失性介质和传输介质。非易失性介质包括,例如光盘和磁盘,如存储装置410。易失性介质包括动态存储器,如主存储器406。传输介质包括同轴电缆、铜线和光纤,包括组成总线402的导线。传输介质还可以是声波和光波,例如那些在无线电波和红外数据通信时产生的波。
普通形式的计算机可读介质包括,例如软盘、软碟、硬盘、磁带或任何其它磁性介质,CD-ROM、任何其它光学介质,打孔卡片、打孔纸带、任何其它具有孔状图案的物理介质,RAM、PROM以及EPROM、FLASH-EPROM,任何其它存储芯片内存盒,载波如下文所描述的,或其它任何计算机可读的介质。
不同形式的计算机可读介质可用来传送一组或更多组的单一或多个指令到处理器404执行。例如,指令可能初始在一台远程计算机的磁盘上。该远程计算机可把指令装入到动态内存中然后利用调制解调器将指令送入电话线。计算机系统400的本地调制解调器可以接收到电话线上的数据,然后使用红外发射机将数据变成红外信号。红外探测器可接收红外信号上携带的数据,并且适当的电路可将数据放到总线402上。总线402传送数据给主存储器406,处理器404从那儿获取并执行指令。这些从主存储器406收到的指令在被处理器404执行前或执行后选择性地被存储在存储装置410上。
计算机系统400还包括通信接口418,其连接在总线402上。通信接口418提供双向数据通信,与连接在本地网络422上的网络链路420相连。例如,通信接口418可以是综合数据业务网(ISDN)网卡,或调制解调器用来提供数据通信连接到相应类型的电话线上。如另一个例子,通信接口418可以是局域网(LAN)网卡以提供数据通信连接到兼容的局域网上。无线连接也可以实现。在任一这样的实现方式中,通信接口418传送和接收电信号、电磁信号或光信号,它们都携带代表不同类型信息的数字数据流。
网络链路420通常通过一个或更多网络提供数据通信到其它数据服务器。例如,网络链路420可提供连接经由本地网络422到一个主机424上或到互联网服务供应商(ISP)426操作的数据设备上。接着ISP 426通过广域数据包通信网络,现在通常被称作为“互联网”428,提供数据通信服务。本地网络422和互联网428都使用电信号、电磁信号或光信号传送数字数据流。经过不同网络传送的信号、网络链路420上的信号和经过通信接口418的信号携带着数字数据到达通信系统400或离开通信系统400,这些信号只是传送信息的示范性载波。
通信系统400可通过网络、网络链路420和通信接口418发出和接收数据,包括程序代码。例如在互联网中,服务器430可从应用程序经过互联网428、网络服务供应商426、本地网络422和通信接口418传送请求代码。
收到的代码可由处理器404执行,和/或存储在存储装置410上,或其它非易失性存储器用来以后执行。按这种方式,计算机系统400可获得载波形式的应用程序代码。
扩展和可替换的方案
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。例如,提出了其中使用SQL的实施例;但是,此处所述的技术并不局限于使用SQL,也可使用其它的数据查询语言。另外一个例子,实施例在订阅者/发布者的情景中给出;但是,本发明的实施例的优势和用途并不局限于这种情景。还有例子,提出这样的实施例,其中级联的位图索引创建于判定表的列上。但是,实施例并不局限于这种索引,对于其他适合在数据表的多个列上创建索引的索引类型,也可以应用。所以,本发明的说明书和附图应视为说明性的,而不是限制性的。
此外,本说明书中,一些过程的步骤按某种特定的顺序陈述,字母和字母数字的标号被用来标记某些步骤。除非在说明中特别声明,本发明的实施例并非必须局限于执行这些步骤的任何特定顺序。特别是,这些标号仅仅是为了方便的识别步骤,而不是特意的规定或要求执行这些步骤的特定顺序。
Claims (11)
1.一种用于管理数据库中的表达式的计算机可执行的方法,包括以下步骤:
接收包含表达式的第一查询,所述表达式用于定义涉及第一属性的第一条件;
将所述第一条件表示为在表的行的列中的数据;
存储与所述数据相关的第一值,其中,所述第一值涉及第二属性;
接收第二查询,所述第二查询用于指定与所述第一属性相关的第二值和涉及所述第二属性的第二条件;以及
执行所述第二查询,其中,执行所述第二查询包括从所述行的所述列读取表示所述第一条件的所述数据;
确定所述第二值是否满足所述第一条件;
读取与所述数据相关的所述第一值;
确定所述第一值是否满足所述第二条件;以及
至少根据所述第二值是否满足所述第一条件以及所述第一值是否满足所述第二条件来选择数据,以回答所述第二查询。
2.根据权利要求1所述的方法,其中,所述表达式定义涉及多个属性的多个条件,并且其中,所述表的所述行的所述列存储所述多个条件的表示。
3.根据权利要求1所述的方法,其中,所述接收第一查询的步骤包括:接收来自数据库应用程序的第一用户的所述第一查询,并且其中,所述表达式定义特定数据必须满足的一个或多个条件,以使所述用户对所述特定数据感兴趣。
4.根据权利要求3所述的方法,其中,所述接收第二查询的步骤包括:接收来自数据库应用程序的第二用户的所述第二查询,其中,特定数据必须满足所述第二条件,以使所述第一用户可以使用所述特定数据,从而使所述第一用户和所述第二用户能够相互过滤数据。
5.根据权利要求1所述的方法,其中,所述接收第一查询的步骤包括:接收来自信息订阅系统的订阅者所述第一查询,并且其中,所述表达式定义特定数据必须满足的一个或多个条件,以使所述订阅者对所述特定数据感兴趣。
6.根据权利要求5所述的方法,其中,所述接收第二查询的步骤包括:接收来自订阅系统中的发布者的所述第二查询,并且其中,特定数据必须满足所述第二条件,以将所述特定数据发布给所述订阅者。
7.根据权利要求1所述的方法,其中,所述接收第二查询的步骤包括:接收来自信息订阅系统的发布者的第二查询,并且其中,特定数据必须满足所述第二条件,以将所述特定数据发布给所述订阅系统的订阅者。
8.根据权利要求1所述的方法,其中,将所述第一条件表示为在列中的数据的步骤包括:将来自多个第一查询的条件集合表示为在所述列中的数据,所述方法进一步包括以下步骤:
通过根据判定标识符对来自所述条件集合的判定进行分组来在所述表的所述列上创建索引,其中,所述判定标识符用于从所述条件集合所根据的属性集合识别相应的属性;
将与相应的判定标识符相关的判定算符和常量的集合存储在判定表中;
根据与特定判定标识符相关的判定算符和常量的集合创建级联的位图索引。
9.一种计算机可执行的方法,用于对作为数据存储在表的列中的表达式集合求值,包括以下步骤:
将来自所述表达式集合的每个表达式的每个判定分类为以下之一,
索引属性判定,其中,根据算符和常量属性的集合创建位图索引,所述算符和常量属性存储在与相应的判定标识符相关的判定表的相应的列中;
存储属性判定,其中,算符和常量属性的集合存储在与相应的判定标识符相关的判定表的相应的列中,并且其中,在所述算符和常量属性的集合上没有创建索引;
稀疏判定,其中,与稀疏判定相关的判定标识符在所述表达式集合中不常见,并且其中,稀疏判定作为数据存储在所述判定表中;以及
根据对来自所述表达式集合的判定的分类,过滤所述表达式集合。
10.根据权利要求9所述的方法,其中,所述过滤所述表达式集合的步骤包括以下步骤:
第一,过滤所述索引属性判定,以获得包括一个或多个表达式的第一表达式集合,其中,所述一个或多个表达式的所有索引属性判定对给定的数据项均为真;
第二,过滤所述第一表达式集合的存储的属性判定,以获得包括一个或多个表达式的第二表达式集合,其中,所述一个或多个表达式的所有存储的属性对所述给定的数据项均为真;
以及
第三,如果有,则过滤所述第二达式集合表的所述稀疏判定,以获得包括一个或多个表达式的第三表达式集合,其中,所述一个或多个表达式的所有判定对所述给定的数据项均为真。
11.根据权利要求10所述的方法,进一步包括以下步骤:
发布所述给定数据项到信息订阅系统的订阅者,所述订阅者已表达了对满足所述第三表达式集合中的表达式表示的标准的数据的兴趣。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37801802P | 2002-05-10 | 2002-05-10 | |
US60/378,018 | 2002-05-10 | ||
US10/254,383 US7127467B2 (en) | 2002-05-10 | 2002-09-24 | Managing expressions in a database system |
US10/254,383 | 2002-09-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1653452A CN1653452A (zh) | 2005-08-10 |
CN100428227C true CN100428227C (zh) | 2008-10-22 |
Family
ID=29406453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038105705A Expired - Lifetime CN100428227C (zh) | 2002-05-10 | 2003-05-08 | 管理数据库系统中的表达式 |
Country Status (7)
Country | Link |
---|---|
US (4) | US7127467B2 (zh) |
EP (1) | EP1504380A2 (zh) |
JP (1) | JP2005525657A (zh) |
CN (1) | CN100428227C (zh) |
AU (1) | AU2003249632B2 (zh) |
CA (1) | CA2484009C (zh) |
WO (1) | WO2003098479A2 (zh) |
Families Citing this family (229)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7127467B2 (en) * | 2002-05-10 | 2006-10-24 | Oracle International Corporation | Managing expressions in a database system |
US7565379B2 (en) | 2002-08-01 | 2009-07-21 | Edwina Lu | Preventing change cycling using rules and redo tags in a redo log |
US7185034B2 (en) | 2002-08-01 | 2007-02-27 | Oracle International Corporation | Buffered message queue architecture for database management systems with guaranteed at least once delivery |
US8005802B2 (en) * | 2002-08-01 | 2011-08-23 | Oracle International Corporation | Partial evaluation of rule sets |
US7185033B2 (en) | 2002-08-01 | 2007-02-27 | Oracle International Corporation | Buffered message queue architecture for database management systems with unlimited buffered message queue with limited shared memory |
US6889231B1 (en) * | 2002-08-01 | 2005-05-03 | Oracle International Corporation | Asynchronous information sharing system |
US7613741B2 (en) | 2002-08-01 | 2009-11-03 | Oracle International Corporation | Utilizing rules in a distributed information sharing system |
US7181482B2 (en) * | 2002-08-01 | 2007-02-20 | Oracle International Corporation | Buffered message queue architecture for database management systems |
US20040024771A1 (en) * | 2002-08-01 | 2004-02-05 | Oracle International Corporation | Buffered message queue architecture for database management systems with transactional enqueue support |
US7031974B1 (en) | 2002-08-01 | 2006-04-18 | Oracle International Corporation | Replicating DDL changes using streams |
US7203706B2 (en) * | 2002-08-01 | 2007-04-10 | Oracle International Corporation | Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue |
JP4036718B2 (ja) * | 2002-10-02 | 2008-01-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文書検索システム、文書検索方法、文書検索を実行するためのプログラム |
US7133857B1 (en) * | 2002-10-15 | 2006-11-07 | Ximpleware, Inc. | Processing structured data |
US7761459B1 (en) * | 2002-10-15 | 2010-07-20 | Ximpleware, Inc. | Processing structured data |
US6999968B1 (en) * | 2002-11-27 | 2006-02-14 | Microsoft Corporation | Fast merge into large ordered sets |
US7263102B2 (en) * | 2002-11-27 | 2007-08-28 | At&T Intellectual Property, Inc. | Multi-path gateway communications device |
US7379464B2 (en) * | 2002-11-27 | 2008-05-27 | At&T Bls Intellectual Property, Inc. | Personal digital gateway |
US7224698B2 (en) * | 2002-11-27 | 2007-05-29 | Bellsouth Intellectual Property Corporation | Edge side assembler |
US20040177315A1 (en) * | 2003-03-03 | 2004-09-09 | International Business Machines Corporation | Structured document bounding language |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7275216B2 (en) * | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7668902B2 (en) * | 2003-05-30 | 2010-02-23 | Microsoft Corporation | Application programming interface for implementing directory service access using directory service markup language |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US8365193B2 (en) | 2003-08-14 | 2013-01-29 | Oracle International Corporation | Recoverable asynchronous message driven processing in a multi-node system |
US7814047B2 (en) * | 2003-08-25 | 2010-10-12 | Oracle International Corporation | Direct loading of semistructured data |
US8001156B2 (en) * | 2003-08-29 | 2011-08-16 | Cybertrust Ireland Limited | Processing XML node sets |
US8694510B2 (en) * | 2003-09-04 | 2014-04-08 | Oracle International Corporation | Indexing XML documents efficiently |
US7315852B2 (en) * | 2003-10-31 | 2008-01-01 | International Business Machines Corporation | XPath containment for index and materialized view matching |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7430711B2 (en) * | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US20050216518A1 (en) * | 2004-03-26 | 2005-09-29 | Oracle International Corporation | Database management system with persistent, user-accessible bitmap values |
US20050222996A1 (en) * | 2004-03-30 | 2005-10-06 | Oracle International Corporation | Managing event-condition-action rules in a database system |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US8762381B2 (en) * | 2004-05-21 | 2014-06-24 | Ca, Inc. | Storing multipart XML documents |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7108433B2 (en) * | 2004-06-24 | 2006-09-19 | Eastman Kodak Company | Thermal processor employing varying roller spacing |
US8000452B2 (en) * | 2004-07-26 | 2011-08-16 | General Motors Llc | Method and system for predictive interactive voice recognition |
US9767146B2 (en) * | 2004-08-31 | 2017-09-19 | International Business Machines Corporation | Use of generated SQL for evaluation of decision point rules in a workflow system |
US9171100B2 (en) | 2004-09-22 | 2015-10-27 | Primo M. Pettovello | MTree an XPath multi-axis structure threaded index |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7792274B2 (en) | 2004-11-04 | 2010-09-07 | Oracle International Corporation | Techniques for performing multi-media call center functionality in a database management system |
US8185518B2 (en) * | 2004-11-12 | 2012-05-22 | International Business Machines Corporation | Method, system and program product for rewriting structured query language (SQL) statements |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7818386B2 (en) * | 2004-12-30 | 2010-10-19 | Oracle International Corporation | Repeatable message streams for message queues in distributed systems |
US7779418B2 (en) * | 2004-12-30 | 2010-08-17 | Oracle International Corporation | Publisher flow control and bounded guaranteed delivery for message queues |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US20060190461A1 (en) * | 2005-02-18 | 2006-08-24 | Schaefer Brian M | Apparatus, system, and method for managing objects in a database according to a dynamic predicate representation of an explicit relationship between objects |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US7567975B2 (en) | 2005-03-16 | 2009-07-28 | Oracle International Corporation | Incremental evaluation of complex event-condition-action rules in a database system |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
EP1872276A4 (en) * | 2005-04-18 | 2008-07-02 | Research In Motion Ltd | METHOD AND DEVICE FOR SEARCHING, FILTERING AND SORTING DATA IN A WIRELESS DEVICE |
US7836027B2 (en) * | 2005-06-22 | 2010-11-16 | Statware, Inc. | Method and apparatus for communicating list orders |
CA2510661A1 (en) * | 2005-06-23 | 2006-12-23 | Cognos Incorporated | Filter manager system and method of managing filter expressions |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7480649B2 (en) * | 2005-07-06 | 2009-01-20 | International Business Machines Corporation | Method for efficient evaluation of index screening predicates |
US20070130206A1 (en) * | 2005-08-05 | 2007-06-07 | Siemens Corporate Research Inc | System and Method For Integrating Heterogeneous Biomedical Information |
US20070050364A1 (en) * | 2005-09-01 | 2007-03-01 | Cummins Fred A | System, method, and software for implementing business rules in an entity |
US20070083807A1 (en) * | 2005-10-06 | 2007-04-12 | Microsoft Corporation | Evaluating multiple data filtering expressions in parallel |
US7680793B2 (en) * | 2005-10-07 | 2010-03-16 | Oracle International Corporation | Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers |
US8196150B2 (en) * | 2005-10-07 | 2012-06-05 | Oracle International Corporation | Event locality using queue services |
US7664742B2 (en) | 2005-11-14 | 2010-02-16 | Pettovello Primo M | Index data structure for a peer-to-peer network |
US7966315B2 (en) * | 2005-11-15 | 2011-06-21 | Vmware, Inc. | Multi-query optimization |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7941515B2 (en) * | 2006-01-13 | 2011-05-10 | Cisco Technology, Inc. | Applying a filter set to information provided to a subscribing client |
US7779343B2 (en) * | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
US20070260976A1 (en) * | 2006-05-02 | 2007-11-08 | Slein Judith A | Rule Engines and Methods of Using Same |
US7801856B2 (en) * | 2006-08-09 | 2010-09-21 | Oracle International Corporation | Using XML for flexible replication of complex types |
US7979453B2 (en) * | 2006-08-23 | 2011-07-12 | Innovative Solutions, Inc. | Efficient search result update mechanism |
US8694524B1 (en) * | 2006-08-28 | 2014-04-08 | Teradata Us, Inc. | Parsing a query |
US20080104042A1 (en) * | 2006-10-25 | 2008-05-01 | Microsoft Corporation | Personalized Search Using Macros |
US20080104092A1 (en) * | 2006-10-27 | 2008-05-01 | Electronic Data Systems Corporation | Integrating Business Rules into Automated Business Processes |
US20080147615A1 (en) * | 2006-12-18 | 2008-06-19 | Oracle International Corporation | Xpath based evaluation for content stored in a hierarchical database repository using xmlindex |
US20080147710A1 (en) * | 2006-12-19 | 2008-06-19 | Microsoft Corporation | Generating web pages utilizing user-defined search parameters |
US7552119B2 (en) * | 2006-12-20 | 2009-06-23 | International Business Machines Corporation | Apparatus and method for skipping XML index scans with common ancestors of a previously failed predicate |
US7716210B2 (en) | 2006-12-20 | 2010-05-11 | International Business Machines Corporation | Method and apparatus for XML query evaluation using early-outs and multiple passes |
US20080228801A1 (en) * | 2007-03-13 | 2008-09-18 | Champion Technologies, Inc. | Context-variable data framework for hierarchical data warehousing |
US20080244380A1 (en) * | 2007-03-27 | 2008-10-02 | Canon Kabushiki Kaisha | Method and device for evaluating an expression on elements of a structured document |
US9027025B2 (en) | 2007-04-17 | 2015-05-05 | Oracle International Corporation | Real-time database exception monitoring tool using instance eviction data |
US7596584B2 (en) * | 2007-04-25 | 2009-09-29 | Microsoft Corporation | Predicate based group management |
US8108399B2 (en) * | 2007-05-18 | 2012-01-31 | Microsoft Corporation | Filtering of multi attribute data via on-demand indexing |
US20080320031A1 (en) * | 2007-06-19 | 2008-12-25 | C/O Canon Kabushiki Kaisha | Method and device for analyzing an expression to evaluate |
US8086597B2 (en) * | 2007-06-28 | 2011-12-27 | International Business Machines Corporation | Between matching |
US7895189B2 (en) * | 2007-06-28 | 2011-02-22 | International Business Machines Corporation | Index exploitation |
US9009292B2 (en) * | 2007-07-30 | 2015-04-14 | Sybase, Inc. | Context-based data pre-fetching and notification for mobile applications |
US7840609B2 (en) * | 2007-07-31 | 2010-11-23 | Oracle International Corporation | Using sibling-count in XML indexes to optimize single-path queries |
US7752165B2 (en) * | 2007-08-01 | 2010-07-06 | Sybase, Inc. | Persistent query system for automatic on-demand data subscriptions from mobile devices |
US8204870B2 (en) * | 2007-08-03 | 2012-06-19 | Sybase, Inc. | Unwired enterprise platform |
US7725448B2 (en) * | 2007-08-31 | 2010-05-25 | International Business Machines Corporation | Method and system for disjunctive single index access |
US8810190B2 (en) * | 2007-09-14 | 2014-08-19 | The Powerwise Group, Inc. | Motor controller system and method for maximizing energy savings |
US9171282B2 (en) * | 2007-10-22 | 2015-10-27 | Oracle International Corporation | Interactive complex event pattern builder and visualizer |
US8862619B1 (en) | 2008-01-07 | 2014-10-14 | Amdocs Software Systems Limited | System, method, and computer program product for filtering a data stream utilizing a plurality of contexts |
US7962490B1 (en) * | 2008-01-07 | 2011-06-14 | Amdocs Software Systems Limited | System, method, and computer program product for analyzing and decomposing a plurality of rules into a plurality of contexts |
US20090182689A1 (en) * | 2008-01-15 | 2009-07-16 | Microsoft Corporation | Rule-based dynamic operation evaluation |
US8145641B2 (en) * | 2008-01-18 | 2012-03-27 | Oracle International Corporation | Managing feature data based on spatial collections |
US8290950B2 (en) * | 2008-01-31 | 2012-10-16 | SAP France S.A. | Identifying locale-specific data based on a total ordering of supported locales |
US8566909B2 (en) * | 2008-02-01 | 2013-10-22 | Oracle International Corporation | Row-level security with expression data type |
US8706820B2 (en) * | 2008-02-08 | 2014-04-22 | Microsoft Corporation | Rules extensibility engine |
US7996444B2 (en) * | 2008-02-18 | 2011-08-09 | International Business Machines Corporation | Creation of pre-filters for more efficient X-path processing |
US8606757B2 (en) * | 2008-03-31 | 2013-12-10 | Intel Corporation | Storage and retrieval of concurrent query language execution results |
US7865502B2 (en) * | 2008-04-10 | 2011-01-04 | International Business Machines Corporation | Optimization of extensible markup language path language (XPATH) expressions in a database management system configured to accept extensible markup language (XML) queries |
US8131729B2 (en) * | 2008-06-12 | 2012-03-06 | International Business Machines Corporation | System and method for best-fit lookup of multi-field key |
US8533606B2 (en) * | 2008-06-13 | 2013-09-10 | At&T Intellectual Property I, L.P. | System and method for personalized hold |
US8364750B2 (en) | 2008-06-24 | 2013-01-29 | Microsoft Corporation | Automated translation of service invocations for batch processing |
US8375044B2 (en) * | 2008-06-24 | 2013-02-12 | Microsoft Corporation | Query processing pipelines with single-item and multiple-item query operators |
US8713048B2 (en) * | 2008-06-24 | 2014-04-29 | Microsoft Corporation | Query processing with specialized query operators |
US8819046B2 (en) * | 2008-06-24 | 2014-08-26 | Microsoft Corporation | Data query translating into mixed language data queries |
US8364751B2 (en) * | 2008-06-25 | 2013-01-29 | Microsoft Corporation | Automated client/server operation partitioning |
US20100050153A1 (en) * | 2008-08-21 | 2010-02-25 | Clevest Solutions Inc. | Method and system of editing workflow logic and screens with a gui tool |
US20100049568A1 (en) * | 2008-08-21 | 2010-02-25 | Clevest Solutions Inc. | System and Method for an Extensible Workflow Management |
US9348499B2 (en) | 2008-09-15 | 2016-05-24 | Palantir Technologies, Inc. | Sharing objects that rely on local resources with outside servers |
US8336021B2 (en) * | 2008-12-15 | 2012-12-18 | Microsoft Corporation | Managing set membership |
US9128895B2 (en) | 2009-02-19 | 2015-09-08 | Oracle International Corporation | Intelligent flood control management |
US8468113B2 (en) | 2009-05-18 | 2013-06-18 | Tufin Software Technologies Ltd. | Method and system for management of security rule set |
US8458766B2 (en) | 2009-05-18 | 2013-06-04 | Tufin Software Technologies Ltd. | Method and system for management of security rule set |
US8676808B2 (en) | 2009-07-09 | 2014-03-18 | Dillon Software Services, Llc | Data store interface that facilitates distribution of application functionality across a multi-tier client-server architecture |
US8631028B1 (en) | 2009-10-29 | 2014-01-14 | Primo M. Pettovello | XPath query processing improvements |
US9424365B2 (en) * | 2009-10-30 | 2016-08-23 | Oracle International Corporation | XPath-based creation of relational indexes and constraints over XML data stored in relational tables |
US9165086B2 (en) | 2010-01-20 | 2015-10-20 | Oracle International Corporation | Hybrid binary XML storage model for efficient XML processing |
US8918388B1 (en) * | 2010-02-26 | 2014-12-23 | Turn Inc. | Custom data warehouse on top of mapreduce |
US20120047223A1 (en) * | 2010-08-20 | 2012-02-23 | Nokia Corporation | Method and apparatus for distributed storage |
US8392466B2 (en) * | 2010-08-27 | 2013-03-05 | International Business Machines Corporation | Method and apparatus for automated processing of a data stream |
US20120072824A1 (en) * | 2010-09-20 | 2012-03-22 | Research In Motion Limited | Content acquisition documents, methods, and systems |
US8566702B2 (en) * | 2010-09-20 | 2013-10-22 | Blackberry Limited | Methods and systems of outputting content of interest |
US8458530B2 (en) | 2010-09-21 | 2013-06-04 | Oracle International Corporation | Continuous system health indicator for managing computer system alerts |
US8914841B2 (en) | 2010-11-24 | 2014-12-16 | Tufin Software Technologies Ltd. | Method and system for mapping between connectivity requests and a security rule set |
US8839132B2 (en) * | 2010-12-02 | 2014-09-16 | Tecsys, Inc. | Method and system for providing visual instructions to warehouse operators |
US9253156B2 (en) * | 2011-06-09 | 2016-02-02 | International Business Machines Corporation | Dynamically defining network access rules |
CN102831121B (zh) * | 2011-06-15 | 2015-07-08 | 阿里巴巴集团控股有限公司 | 一种网页信息抽取的方法和系统 |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
US8756509B2 (en) | 2011-07-27 | 2014-06-17 | International Business Machines Corporation | Visually representing and managing access control of resources |
US8732574B2 (en) | 2011-08-25 | 2014-05-20 | Palantir Technologies, Inc. | System and method for parameterizing documents for automatic workflow generation |
US8504542B2 (en) | 2011-09-02 | 2013-08-06 | Palantir Technologies, Inc. | Multi-row transactions |
US10534606B2 (en) | 2011-12-08 | 2020-01-14 | Oracle International Corporation | Run-length encoding decompression |
US9378526B2 (en) | 2012-03-02 | 2016-06-28 | Palantir Technologies, Inc. | System and method for accessing data objects via remote references |
CN103377252B (zh) * | 2012-04-28 | 2018-03-27 | 国际商业机器公司 | 在物联网中进行数据过滤的方法和装置 |
US9043309B2 (en) * | 2012-06-05 | 2015-05-26 | Oracle International Corporation | SQL transformation-based optimization techniques for enforcement of data access control |
US9176999B2 (en) | 2012-09-13 | 2015-11-03 | International Business Machines Corporation | Multiplication-based method for stitching results of predicate evaluation in column stores |
IL221975A (en) | 2012-09-19 | 2015-02-26 | Tufin Software Technologies Ltd | A method and device for managing connectivity between resources in a computer network |
US10915549B2 (en) | 2012-09-28 | 2021-02-09 | Oracle International Corporation | Techniques for keeping a copy of a pluggable database up to date with its source pluggable database in read-write mode |
US10430391B2 (en) * | 2012-09-28 | 2019-10-01 | Oracle International Corporation | Techniques for activity tracking, data classification, and in database archiving |
US10635674B2 (en) | 2012-09-28 | 2020-04-28 | Oracle International Corporation | Migrating a pluggable database between database server instances with minimal impact to performance |
US9471370B2 (en) * | 2012-10-22 | 2016-10-18 | Palantir Technologies, Inc. | System and method for stack-based batch evaluation of program instructions |
US9348677B2 (en) | 2012-10-22 | 2016-05-24 | Palantir Technologies Inc. | System and method for batch evaluation programs |
US9367463B2 (en) | 2013-03-14 | 2016-06-14 | Palantir Technologies, Inc. | System and method utilizing a shared cache to provide zero copy memory mapped database |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
US8868486B2 (en) | 2013-03-15 | 2014-10-21 | Palantir Technologies Inc. | Time-sensitive cube |
US10248962B2 (en) * | 2013-04-08 | 2019-04-02 | Oracle International Corporation | Profitability simulator |
US9965512B2 (en) * | 2013-06-25 | 2018-05-08 | Sap Se | Operators for constants in aggregated formulas |
US11113054B2 (en) | 2013-09-10 | 2021-09-07 | Oracle International Corporation | Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression |
US9348888B1 (en) * | 2013-09-24 | 2016-05-24 | Emc Corporation | Iterative filter expression processing for filtering embedded data objects |
US9105000B1 (en) | 2013-12-10 | 2015-08-11 | Palantir Technologies Inc. | Aggregating data from a plurality of data sources |
US9495444B2 (en) | 2014-02-07 | 2016-11-15 | Quixey, Inc. | Rules-based generation of search results |
US20150261860A1 (en) * | 2014-03-12 | 2015-09-17 | Kaushal MITTAL | Predicate execution in shared distributed computing environment |
US8935201B1 (en) | 2014-03-18 | 2015-01-13 | Palantir Technologies Inc. | Determining and extracting changed data from a data source |
CN104102689B (zh) * | 2014-05-12 | 2018-01-12 | 华迪计算机集团有限公司 | 基于数据模型对媒体数据进行检索的方法和装置 |
US20160026923A1 (en) | 2014-07-22 | 2016-01-28 | Palantir Technologies Inc. | System and method for determining a propensity of entity to take a specified action |
CN105447032A (zh) * | 2014-08-29 | 2016-03-30 | 国际商业机器公司 | 用于处理消息与订阅信息方法和系统 |
US9785725B2 (en) | 2014-09-26 | 2017-10-10 | Oracle International Corporation | Method and system for visualizing relational data as RDF graphs with interactive response time |
US10425341B2 (en) | 2015-01-23 | 2019-09-24 | Ebay Inc. | Processing high volume network data |
KR102082355B1 (ko) | 2015-01-23 | 2020-02-27 | 이베이 인크. | 대용량 네트워크 데이터의 처리 기법 |
CN105989060A (zh) * | 2015-02-09 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 数据管理方法、装置 |
US10073885B2 (en) | 2015-05-29 | 2018-09-11 | Oracle International Corporation | Optimizer statistics and cost model for in-memory tables |
US9591489B2 (en) | 2015-07-09 | 2017-03-07 | International Business Machines Corporation | Controlling application access to applications and resources via graphical representation and manipulation |
US10067954B2 (en) | 2015-07-22 | 2018-09-04 | Oracle International Corporation | Use of dynamic dictionary encoding with an associated hash table to support many-to-many joins and aggregations |
US10366083B2 (en) | 2015-07-29 | 2019-07-30 | Oracle International Corporation | Materializing internal computations in-memory to improve query performance |
US10204135B2 (en) * | 2015-07-29 | 2019-02-12 | Oracle International Corporation | Materializing expressions within in-memory virtual column units to accelerate analytic queries |
US10558339B1 (en) | 2015-09-11 | 2020-02-11 | Palantir Technologies Inc. | System and method for analyzing electronic communications and a collaborative electronic communications user interface |
US10789131B2 (en) | 2015-10-23 | 2020-09-29 | Oracle International Corporation | Transportable backups for pluggable database relocation |
US10289980B2 (en) * | 2015-11-24 | 2019-05-14 | Ariba, Inc. | In-memory index for evaluating a complex expression |
US9798787B1 (en) | 2015-12-10 | 2017-10-24 | Palantir Technologies Inc. | System and user interfaces for searching resources and related documents using data structures |
US10706368B2 (en) | 2015-12-30 | 2020-07-07 | Veritas Technologies Llc | Systems and methods for efficiently classifying data objects |
US10055358B2 (en) | 2016-03-18 | 2018-08-21 | Oracle International Corporation | Run length encoding aware direct memory access filtering engine for scratchpad enabled multicore processors |
US10402425B2 (en) | 2016-03-18 | 2019-09-03 | Oracle International Corporation | Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors |
US10061832B2 (en) | 2016-11-28 | 2018-08-28 | Oracle International Corporation | Database tuple-encoding-aware data partitioning in a direct memory access engine |
US10061714B2 (en) | 2016-03-18 | 2018-08-28 | Oracle International Corporation | Tuple encoding aware direct memory access engine for scratchpad enabled multicore processors |
CN107231283B (zh) * | 2016-03-23 | 2020-12-18 | 阿里巴巴集团控股有限公司 | 消息管理方法及装置、消息预读方法及装置 |
US10554516B1 (en) | 2016-06-09 | 2020-02-04 | Palantir Technologies Inc. | System to collect and visualize software usage metrics |
US10552531B2 (en) | 2016-08-11 | 2020-02-04 | Palantir Technologies Inc. | Collaborative spreadsheet data validation and integration |
US10373078B1 (en) | 2016-08-15 | 2019-08-06 | Palantir Technologies Inc. | Vector generation for distributed data sets |
US10303894B2 (en) | 2016-08-31 | 2019-05-28 | Oracle International Corporation | Fine-grained access control for data manipulation language (DML) operations on relational data |
US10540217B2 (en) | 2016-09-16 | 2020-01-21 | Oracle International Corporation | Message cache sizing |
US10650086B1 (en) | 2016-09-27 | 2020-05-12 | Palantir Technologies Inc. | Systems, methods, and framework for associating supporting data in word processing |
US10152306B2 (en) | 2016-11-07 | 2018-12-11 | Palantir Technologies Inc. | Framework for developing and deploying applications |
US10459859B2 (en) | 2016-11-28 | 2019-10-29 | Oracle International Corporation | Multicast copy ring for database direct memory access filtering engine |
US10725947B2 (en) | 2016-11-29 | 2020-07-28 | Oracle International Corporation | Bit vector gather row count calculation and handling in direct memory access engine |
US10261763B2 (en) | 2016-12-13 | 2019-04-16 | Palantir Technologies Inc. | Extensible data transformation authoring and validation system |
FR3061337A1 (fr) | 2016-12-23 | 2018-06-29 | Dhatim | Moteur de regles universel et optimise pour le traitement de documents de gestion |
US10509844B1 (en) | 2017-01-19 | 2019-12-17 | Palantir Technologies Inc. | Network graph parser |
US10180934B2 (en) | 2017-03-02 | 2019-01-15 | Palantir Technologies Inc. | Automatic translation of spreadsheets into scripts |
US10572576B1 (en) | 2017-04-06 | 2020-02-25 | Palantir Technologies Inc. | Systems and methods for facilitating data object extraction from unstructured documents |
US10824604B1 (en) | 2017-05-17 | 2020-11-03 | Palantir Technologies Inc. | Systems and methods for data entry |
US10534595B1 (en) | 2017-06-30 | 2020-01-14 | Palantir Technologies Inc. | Techniques for configuring and validating a data pipeline deployment |
US10204119B1 (en) | 2017-07-20 | 2019-02-12 | Palantir Technologies, Inc. | Inferring a dataset schema from input files |
US10754820B2 (en) | 2017-08-14 | 2020-08-25 | Palantir Technologies Inc. | Customizable pipeline for integrating data |
US11016936B1 (en) | 2017-09-05 | 2021-05-25 | Palantir Technologies Inc. | Validating data for integration |
US11386058B2 (en) * | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
US11327932B2 (en) | 2017-09-30 | 2022-05-10 | Oracle International Corporation | Autonomous multitenant database cloud service framework |
CN107729496B (zh) * | 2017-10-19 | 2018-08-28 | 珠海图思科软件有限公司 | 基于甲骨文In-Memory的SQL语句调优方法 |
US11379525B1 (en) | 2017-11-22 | 2022-07-05 | Palantir Technologies Inc. | Continuous builds of derived datasets in response to other dataset updates |
US10552524B1 (en) | 2017-12-07 | 2020-02-04 | Palantir Technolgies Inc. | Systems and methods for in-line document tagging and object based data synchronization |
US10360252B1 (en) | 2017-12-08 | 2019-07-23 | Palantir Technologies Inc. | Detection and enrichment of missing data or metadata for large data sets |
US11176116B2 (en) | 2017-12-13 | 2021-11-16 | Palantir Technologies Inc. | Systems and methods for annotating datasets |
US10853352B1 (en) | 2017-12-21 | 2020-12-01 | Palantir Technologies Inc. | Structured data collection, presentation, validation and workflow management |
US10866963B2 (en) | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
GB201800595D0 (en) | 2018-01-15 | 2018-02-28 | Palantir Technologies Inc | Management of software bugs in a data processing system |
US10599762B1 (en) | 2018-01-16 | 2020-03-24 | Palantir Technologies Inc. | Systems and methods for creating a dynamic electronic form |
US10885021B1 (en) | 2018-05-02 | 2021-01-05 | Palantir Technologies Inc. | Interactive interpreter and graphical user interface |
US11263263B2 (en) | 2018-05-30 | 2022-03-01 | Palantir Technologies Inc. | Data propagation and mapping system |
US10795909B1 (en) | 2018-06-14 | 2020-10-06 | Palantir Technologies Inc. | Minimized and collapsed resource dependency path |
US11226955B2 (en) | 2018-06-28 | 2022-01-18 | Oracle International Corporation | Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing |
CN109145013A (zh) * | 2018-08-10 | 2019-01-04 | 上海达梦数据库有限公司 | 一种表达式转换方法、装置、设备及存储介质 |
CN110109957B (zh) * | 2019-03-29 | 2021-10-01 | 奇安信科技集团股份有限公司 | 流式事件关联匹配方法及装置 |
US11636124B1 (en) * | 2020-11-25 | 2023-04-25 | Amazon Technologies, Inc. | Integrating query optimization with machine learning model prediction |
KR102490281B1 (ko) * | 2020-12-21 | 2023-01-19 | 부산대학교 산학협력단 | 제품 불량 원인 분석 방법 및 장치 |
US11983151B2 (en) | 2021-05-28 | 2024-05-14 | Oracle International Corporation | Resilience based database placement in clustered environment |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5072405A (en) * | 1988-10-31 | 1991-12-10 | Digital Equipment Corporation | RETE network with provisional satisfaction of node conditions |
EP0959416A2 (en) * | 1998-05-08 | 1999-11-24 | International Business Machines Corporation | Using database query technology for message subscriptions in messaging systems |
US6067540A (en) * | 1997-02-28 | 2000-05-23 | Oracle Corporation | Bitmap segmentation |
WO2001008048A1 (en) * | 1999-07-21 | 2001-02-01 | Oracle Corporation | Content based publish-and-subscribe system integrated in a relational database system |
GB2354848A (en) * | 1999-09-28 | 2001-04-04 | Ibm | Publish/subscribe data processing with subscriber requested messageflow for customised message processing |
GB2354847A (en) * | 1999-09-28 | 2001-04-04 | Ibm | Publish/subscribe data processing with subscription points for customised message processing |
WO2001088795A1 (fr) * | 2000-05-18 | 2001-11-22 | Kabushiki Kaisha Daiwa Shoken Group Honsha | Procede et systeme permettant de transmettre des informations relatives aux cours de bourse, base de donnees d'informations a cet effet, serveur de detection de conditions et terminal de client |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US46421A (en) * | 1865-02-14 | Improved machine for | ||
US47270A (en) * | 1865-04-18 | Improvement in feed-bags for horses | ||
US152149A (en) * | 1874-06-16 | Improvement in distributing apparatus for derricks | ||
US120642A (en) * | 1871-11-07 | Improvement in cutting up and punching sole-leather | ||
US181543A (en) * | 1876-08-29 | Improvement in dumb-waiters | ||
US236834A (en) * | 1881-01-18 | Magazine fire-arm | ||
US193575A (en) * | 1877-07-24 | Improvement in names | ||
US32475A (en) * | 1861-06-04 | Clothes-wringer | ||
US4815030A (en) | 1986-09-03 | 1989-03-21 | Wang Laboratories, Inc. | Multitask subscription data retrieval system |
US8700458B2 (en) * | 1989-05-01 | 2014-04-15 | Catalina Marketing Corporation | System, method, and database for processing transactions |
US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5466885A (en) * | 1990-09-27 | 1995-11-14 | Furukawa Denki Kogyo Kabushiki Kaisha | Magnetically shielding structure |
JP2929042B2 (ja) | 1991-09-30 | 1999-08-03 | 国際電気株式会社 | 携帯型金融情報通報システムおよびその制御装置 |
US5627764A (en) | 1991-10-04 | 1997-05-06 | Banyan Systems, Inc. | Automatic electronic messaging system with feedback and work flow administration |
US5283856A (en) | 1991-10-04 | 1994-02-01 | Beyond, Inc. | Event-driven rule-based messaging system |
US5446885A (en) | 1992-05-15 | 1995-08-29 | International Business Machines Corporation | Event driven management information system with rule-based applications structure stored in a relational database |
US5530855A (en) * | 1992-10-13 | 1996-06-25 | International Business Machines Corporation | Replicating a database by the sequential application of hierarchically sorted log records |
GB2274182B (en) | 1993-01-09 | 1996-09-25 | Digital Equipment Int | Database co-processor |
JPH06319024A (ja) | 1993-05-07 | 1994-11-15 | Nippon Rojisuteikusu Kk | ファクシミリサーバシステム |
JPH0816378A (ja) | 1994-06-30 | 1996-01-19 | Fujitsu Ltd | プログラム・リバース解析方法および装置 |
US5870552A (en) | 1995-03-28 | 1999-02-09 | America Online, Inc. | Method and apparatus for publishing hypermedia documents over wide area networks |
US5564047A (en) | 1995-04-11 | 1996-10-08 | International Business Machines Corporation | Trigger generation in an active database management system |
US5692125A (en) * | 1995-05-09 | 1997-11-25 | International Business Machines Corporation | System and method for scheduling linked events with fixed and dynamic conditions |
CA2176164A1 (en) | 1995-05-19 | 1996-11-20 | Hosagrahar Visvesvaraya Jagadish | Method for managing rule conflicts in active rule-based systems |
US5870605A (en) | 1996-01-18 | 1999-02-09 | Sun Microsystems, Inc. | Middleware for enterprise information distribution |
US5873084A (en) | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
US5999946A (en) | 1996-04-10 | 1999-12-07 | Harris Corporation | Databases in telecommunications |
US5864871A (en) | 1996-06-04 | 1999-01-26 | Multex Systems | Information delivery system and method including on-line entitlements |
US5870747A (en) * | 1996-07-09 | 1999-02-09 | Informix Software, Inc. | Generalized key indexes |
US5995980A (en) * | 1996-07-23 | 1999-11-30 | Olson; Jack E. | System and method for database update replication |
US5852818A (en) * | 1996-12-23 | 1998-12-22 | Oracle Corporation | Non-recursive method for parameter evaluation within an information management system |
US5984786A (en) * | 1997-01-03 | 1999-11-16 | 2 Am Inc. | Run-time environment for simulations and games |
JPH10222493A (ja) * | 1997-02-06 | 1998-08-21 | Kokusai Denshin Denwa Co Ltd <Kdd> | 相互因果関係解析システム |
AU6440398A (en) * | 1997-02-26 | 1998-09-18 | Siebel Systems, Inc. | Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions |
US5940839A (en) | 1997-04-04 | 1999-08-17 | Hewlett-Packard Company | Fault-tolerant system and method of managing transaction failures in hierarchies |
US5873075A (en) | 1997-06-30 | 1999-02-16 | International Business Machines Corporation | Synchronization of SQL actions in a relational database system |
US6038601A (en) | 1997-07-21 | 2000-03-14 | Tibco, Inc. | Method and apparatus for storing and delivering documents on the internet |
US5999931A (en) * | 1997-10-17 | 1999-12-07 | Lucent Technologies Inc. | Concurrency control protocols for management of replicated data items in a distributed database system |
US6490574B1 (en) * | 1997-12-17 | 2002-12-03 | International Business Machines Corporation | Method and system for managing rules and events in a multi-user intelligent agent environment |
US6122639A (en) | 1997-12-23 | 2000-09-19 | Cisco Technology, Inc. | Network device information collection and change detection |
US6073129A (en) * | 1997-12-29 | 2000-06-06 | Bull Hn Information Systems Inc. | Method and apparatus for improving the performance of a database management system through a central cache mechanism |
US6182086B1 (en) * | 1998-03-02 | 2001-01-30 | Microsoft Corporation | Client-server computer system with application recovery of server applications and client applications |
US6560592B1 (en) * | 1998-03-19 | 2003-05-06 | Micro Data Base Systems, Inc. | Multi-model computer database storage system with integrated rule engine |
US6247017B1 (en) * | 1998-03-20 | 2001-06-12 | Sun Microsystems, Inc. | Server-client communication over a network |
US6304882B1 (en) * | 1998-05-05 | 2001-10-16 | Informix Software, Inc. | Data replication system and method |
JP3004008B1 (ja) * | 1998-10-20 | 2000-01-31 | 三菱電機株式会社 | 更新履歴管理装置及び更新履歴管理方法 |
US6185555B1 (en) * | 1998-10-31 | 2001-02-06 | M/A/R/C Inc. | Method and apparatus for data management using an event transition network |
US6285997B1 (en) | 1998-11-16 | 2001-09-04 | International Business Machines Corporation | Query optimization with deferred update and autonomous sources |
US6738975B1 (en) * | 1998-11-18 | 2004-05-18 | Software Ag, Inc. | Extensible distributed enterprise application integration system |
US6442568B1 (en) | 1998-12-11 | 2002-08-27 | Compaq Computer Corporation | Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment |
US6473772B1 (en) * | 1998-12-17 | 2002-10-29 | International Business Machines Corporation | Apparatus and methods for dynamic simulation event triggering |
DE10003015A1 (de) * | 1999-02-06 | 2000-08-17 | Ibm | Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen |
US6233537B1 (en) * | 1999-03-26 | 2001-05-15 | E.Piphany, Inc. | Workflow modeling language |
US6539381B1 (en) * | 1999-04-21 | 2003-03-25 | Novell, Inc. | System and method for synchronizing database information |
US6728879B1 (en) * | 1999-06-02 | 2004-04-27 | Microsoft Corporation | Transactional log with multi-sector log block validation |
US6801915B1 (en) * | 1999-07-28 | 2004-10-05 | Robert Mack | Paired keys for data structures |
US6604093B1 (en) | 1999-12-27 | 2003-08-05 | International Business Machines Corporation | Situation awareness system |
US7016910B2 (en) | 1999-12-30 | 2006-03-21 | Decode Genetics Ehf. | Indexing, rewriting and efficient querying of relations referencing semistructured data |
AU2001227857A1 (en) | 2000-01-14 | 2001-07-24 | Saba Software, Inc. | Method and apparatus for a business applications management system platform |
US6604100B1 (en) | 2000-02-09 | 2003-08-05 | At&T Corp. | Method for converting relational data into a structured document |
WO2001061565A1 (en) | 2000-02-16 | 2001-08-23 | Askit Systems Inc. | Customer service system and method |
US7080382B2 (en) * | 2000-02-25 | 2006-07-18 | Oracle International Corporation | Accessing shorter-duration instances of activatable objects based on object references stored in longer-duration memory |
US6427146B1 (en) | 2000-03-31 | 2002-07-30 | Wesley W. Chu | Database event detection and notification system using type abstraction hierarchy (TAH) |
US6681383B1 (en) | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
US6925476B1 (en) * | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US7130885B2 (en) | 2000-09-05 | 2006-10-31 | Zaplet, Inc. | Methods and apparatus providing electronic messages that are linked and aggregated |
US20020069157A1 (en) * | 2000-09-15 | 2002-06-06 | Jordan Michael S. | Exchange fusion |
US20030061061A1 (en) * | 2000-10-27 | 2003-03-27 | Cox Earl D. | Uniform data model |
US6493701B2 (en) * | 2000-11-22 | 2002-12-10 | Sybase, Inc. | Database system with methodogy providing faster N-ary nested loop joins |
US7844666B2 (en) | 2000-12-12 | 2010-11-30 | Microsoft Corporation | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US6931644B2 (en) * | 2000-12-21 | 2005-08-16 | International Business Machines Corporation | Hierarchical connected graph model for implementation of event management design |
US20020091685A1 (en) * | 2001-01-10 | 2002-07-11 | Letmeknow Technology | System and method for filtering data events |
US7162467B2 (en) * | 2001-02-22 | 2007-01-09 | Greenplum, Inc. | Systems and methods for managing distributed database resources |
US7103586B2 (en) * | 2001-03-16 | 2006-09-05 | Gravic, Inc. | Collision avoidance in database replication systems |
US7177866B2 (en) * | 2001-03-16 | 2007-02-13 | Gravic, Inc. | Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only |
US6697791B2 (en) * | 2001-05-04 | 2004-02-24 | International Business Machines Corporation | System and method for systematic construction of correlation rules for event management |
US6868413B1 (en) * | 2001-05-10 | 2005-03-15 | Networks Associates Technology, Inc. | System and method for customizing and processing business logic rules in a business process system |
US6918107B2 (en) * | 2001-07-02 | 2005-07-12 | Bea Systems, Inc. | Programming language extensions for processing data representation language objects and related applications |
US6745209B2 (en) * | 2001-08-15 | 2004-06-01 | Iti, Inc. | Synchronization of plural databases in a database replication system |
US6901410B2 (en) | 2001-09-10 | 2005-05-31 | Marron Pedro Jose | LDAP-based distributed cache technology for XML |
US7089228B2 (en) * | 2002-04-18 | 2006-08-08 | International Business Machines Corporation | Computer apparatus and method for caching results of a database query |
US7127467B2 (en) | 2002-05-10 | 2006-10-24 | Oracle International Corporation | Managing expressions in a database system |
US6691155B2 (en) | 2002-06-20 | 2004-02-10 | Linda Gottfried | Multimedia system for sharing brand information keeps history of modifications of production information by consumers to allow recreating multimedia interface in its previous formats |
US6917946B2 (en) | 2002-08-12 | 2005-07-12 | International Business Machines Corporation | Method and system for partitioning filter rules for multi-search enforcement |
US7149738B2 (en) * | 2002-12-16 | 2006-12-12 | International Business Machines Corporation | Resource and data administration technologies for IT non-experts |
US7644361B2 (en) | 2002-12-23 | 2010-01-05 | Canon Kabushiki Kaisha | Method of using recommendations to visually create new views of data across heterogeneous sources |
US20040193575A1 (en) | 2003-03-25 | 2004-09-30 | Chia-Hsun Chen | Path expressions and SQL select statement in object oriented language |
US7801851B2 (en) * | 2003-06-30 | 2010-09-21 | Gravic, Inc. | Method for ensuring referential integrity in multi-threaded replication engines |
US7289988B2 (en) * | 2003-07-08 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | Method and system for managing events |
US7984021B2 (en) * | 2003-12-05 | 2011-07-19 | International Business Machines Corporation | Optimal use of triggers for detecting database events |
US8688634B2 (en) * | 2004-02-27 | 2014-04-01 | International Business Machines Corporation | Asynchronous peer-to-peer data replication |
US7406477B2 (en) * | 2004-03-12 | 2008-07-29 | Sybase, Inc. | Database system with methodology for automated determination and selection of optimal indexes |
US20050222996A1 (en) * | 2004-03-30 | 2005-10-06 | Oracle International Corporation | Managing event-condition-action rules in a database system |
US7945569B2 (en) * | 2004-03-31 | 2011-05-17 | Hewlett-Packard Development Company, L.P. | Method and apparatus for querying spatial data |
-
2002
- 2002-09-24 US US10/254,383 patent/US7127467B2/en not_active Expired - Lifetime
-
2003
- 2003-02-12 US US10/365,771 patent/US7107282B1/en not_active Expired - Lifetime
- 2003-04-17 US US10/418,882 patent/US7366713B2/en not_active Expired - Lifetime
- 2003-05-08 JP JP2004505912A patent/JP2005525657A/ja active Pending
- 2003-05-08 EP EP03753016A patent/EP1504380A2/en not_active Ceased
- 2003-05-08 AU AU2003249632A patent/AU2003249632B2/en not_active Expired
- 2003-05-08 CN CNB038105705A patent/CN100428227C/zh not_active Expired - Lifetime
- 2003-05-08 WO PCT/US2003/014892 patent/WO2003098479A2/en not_active Application Discontinuation
- 2003-05-08 CA CA2484009A patent/CA2484009C/en not_active Expired - Lifetime
-
2006
- 2006-05-26 US US11/441,622 patent/US7590650B2/en not_active Expired - Lifetime
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5072405A (en) * | 1988-10-31 | 1991-12-10 | Digital Equipment Corporation | RETE network with provisional satisfaction of node conditions |
US6067540A (en) * | 1997-02-28 | 2000-05-23 | Oracle Corporation | Bitmap segmentation |
EP0959416A2 (en) * | 1998-05-08 | 1999-11-24 | International Business Machines Corporation | Using database query technology for message subscriptions in messaging systems |
WO2001008048A1 (en) * | 1999-07-21 | 2001-02-01 | Oracle Corporation | Content based publish-and-subscribe system integrated in a relational database system |
GB2354848A (en) * | 1999-09-28 | 2001-04-04 | Ibm | Publish/subscribe data processing with subscriber requested messageflow for customised message processing |
GB2354847A (en) * | 1999-09-28 | 2001-04-04 | Ibm | Publish/subscribe data processing with subscription points for customised message processing |
WO2001088795A1 (fr) * | 2000-05-18 | 2001-11-22 | Kabushiki Kaisha Daiwa Shoken Group Honsha | Procede et systeme permettant de transmettre des informations relatives aux cours de bourse, base de donnees d'informations a cet effet, serveur de detection de conditions et terminal de client |
Non-Patent Citations (2)
Title |
---|
IMPROVED RETE ALGORITHM - HASHINGTECHNIQUES APPLIED TO PARTIAL MATCH MEMORIES. IBM TECHNICAL DISCLOSURE BULLETIN,Vol.35 No.3. 1992 |
IMPROVED RETE ALGORITHM - HASHINGTECHNIQUES APPLIED TO PARTIAL MATCH MEMORIES. IBM TECHNICAL DISCLOSURE BULLETIN,Vol.35 No.3. 1992 * |
Also Published As
Publication number | Publication date |
---|---|
EP1504380A2 (en) | 2005-02-09 |
US7590650B2 (en) | 2009-09-15 |
CN1653452A (zh) | 2005-08-10 |
WO2003098479A2 (en) | 2003-11-27 |
AU2003249632A1 (en) | 2003-12-02 |
WO2003098479A3 (en) | 2004-04-08 |
CA2484009A1 (en) | 2003-11-27 |
US20060218194A1 (en) | 2006-09-28 |
US7127467B2 (en) | 2006-10-24 |
US20030212670A1 (en) | 2003-11-13 |
AU2003249632B2 (en) | 2008-07-10 |
CA2484009C (en) | 2012-12-11 |
US7107282B1 (en) | 2006-09-12 |
JP2005525657A (ja) | 2005-08-25 |
US7366713B2 (en) | 2008-04-29 |
US20030212657A1 (en) | 2003-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100428227C (zh) | 管理数据库系统中的表达式 | |
US7636712B2 (en) | Batching document identifiers for result trimming | |
US8019752B2 (en) | System and method for information retrieval from object collections with complex interrelationships | |
CN100437558C (zh) | 从一个集合的图象对象识别相互关联的图象对象的子集的方法和设备 | |
CN100590617C (zh) | 信息检索系统中基于短语的索引编制方法和系统 | |
US20040148278A1 (en) | System and method for providing content warehouse | |
CN100517318C (zh) | 用于存取xml数据的索引 | |
US20090164387A1 (en) | Systems and methods for providing semantically enhanced financial information | |
US20050131935A1 (en) | Sector content mining system using a modular knowledge base | |
US20050120021A1 (en) | Metadata driven intelligent data navigation | |
US6772137B1 (en) | Centralized maintenance and management of objects in a reporting system | |
CN100390790C (zh) | 存储和访问数据,以及提高数据库查询语言语句性能的方法和机制 | |
JP2003518296A (ja) | トークンを使用したデータ・リンキング・システムおよび方法 | |
JP2003500748A (ja) | データウェアハウスの集合体レベル及びクロス乗積レベルを選択するための方法及び装置 | |
CN102708130A (zh) | 计算用户微细分以用于要约匹配的可扩展引擎 | |
CN101866347A (zh) | 对结构化数据进行搜索的方法、系统以及使数据项结构化及可搜索的方法、系统 | |
CN101606152A (zh) | 通过分类而自动匹配主体到客户的内容的机制 | |
CN102057376B (zh) | 用于进行分布式搜索的方法 | |
CN108959580A (zh) | 一种标签数据的优化方法及系统 | |
Sadath | Data mining in E-commerce: a CRM platform | |
Gao et al. | Semi-structured data extraction from heterogeneous sources | |
US9400814B2 (en) | Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node | |
Rudenko et al. | A Preference-based Stream Analyzer. | |
CN100429654C (zh) | 用于管理来自单个接口的多层次数据的技术 | |
CN1952936A (zh) | 一种信息关联系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20081022 |