CN101326519B - 用于将xml文档加载到存储器中的方法 - Google Patents
用于将xml文档加载到存储器中的方法 Download PDFInfo
- Publication number
- CN101326519B CN101326519B CN2006800460901A CN200680046090A CN101326519B CN 101326519 B CN101326519 B CN 101326519B CN 2006800460901 A CN2006800460901 A CN 2006800460901A CN 200680046090 A CN200680046090 A CN 200680046090A CN 101326519 B CN101326519 B CN 101326519B
- Authority
- CN
- China
- Prior art keywords
- subregion
- array
- xml
- data
- database
- 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.)
- Active
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/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
-
- 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/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (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)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种用于将XML文档加载到存储器中的方法和设备。客户端将一个或一个以上阵列元素加载到存储器中维持的阵列的第一分区中。每个阵列元素表示XML文档的一个XML元素。在确定所述第一分区中维持的数据量超过第一阈值时,所述客户端随后将阵列元素加载到所述阵列的新分区中。在确定所述客户端的所述存储器中维持的数据量超过第二阈值时,将新近最少使用的分区的阵列元素持久存储在数据库中而不持久存储所述整个XML文档。当将所述XML文档的最后XML元素加载到所述阵列的分区中时,将所述分区持久存储在所述数据库中,进而促使将所述整个XML文档存储在所述数据库中。
Description
技术领域
本发明涉及数据库系统,且特定来说涉及用于将XML文档加载到存储器中的技术。
背景技术
本部分中描述的方法是可以从事的方法,但不一定是先前已设想或从事的方法。因此,除非另外指示,否则不应假定本部分中描述的任何方法仅由于其包含在本部分中而成为现有技术。
结构化数据符合类型定义。举例来说,针对“人”类型的类型定义可定义例如“名字”、“生日”、“身高”、“体重”和“性别”等不同属性。特定类型的每个“实例”包括用于由特定类型定义的属性中的每一者的单独值。举例来说,“人”类型的实例可能包括例如“弗莱德布朗”、“1980年1月1日”、“72英寸”、“240磅”和“男”等值。每个属性也具有类型。举例来说,“名字”属性可能是“字符串”类型,“生日”属性可能是“日期”类型,且“性别”属性可能是“枚举”类型。结构化数据可能包括同一类型的多个不同实例。
可使用不同方法将结构化数据存储到数据库中。一种此类方法称为“基于语句的路径加载”。根据基于语句的路径加载方法,客户端应用程序解析包括一类型的一个或一个以上实例的结构化数据。结构化数据内的值对应于所述类型的属性。客户端应用程序产生结构化查询语言(SQL)语句,例如插入命令,其在由数据库服务器执行时促使数据库服务器将值插入到数据库表的相应列中。不幸的是,由于其繁重地使用SQL引擎,因此基于语句的路径加载常常在性能和存储器消耗方面出现问题。
用于将结构化数据存储到数据库中的另一方法称为“直接路径加载”。通过直接路径加载,将结构化数据内的值直接存储到数据库中而不促使SQL引擎加载每一行数据。通过咨询与结构化数据相关联的控制文件,客户端应用程序可确定结构化数据的实例的数据类型。如果对客户端应用程序定义所述类型的结构,那么基于所述结构,客户端应用程序可产生对应于所述类型的属性的阵列。客户端应用程序可用对应于所述属性的值来填充阵列。一旦阵列填满,那么客户端应用程序就可将阵列转换为符合数据库的数据块格式的数据流。客户端应用程序接着可将数据串流到数据库服务器,所述数据库服务器可将数据直接写入到数据库中的一个或一个以上数据块中。直接路径加载展现出的性 能优于基于语句的路径加载的性能。
由控制文件指示的一些类型可以是对客户端应用程序定义的标准类型,例如标量类型是标准类型的一个实例。然而,由控制文件指示的一些类型可能不在对客户端应用程序定义的类型中。未对客户端应用程序定义的类型称为相对于客户端应用程序的“不透明类型”,因为这些类型的内部结构对于客户端应用程序是模糊的或未知的。不透明类型的内部结构(包含不透明类型的属性的数目和类型)常常仅仅对实施不透明类型的程序定义。不透明类型实施程序可以在客户端应用程序和数据库服务器两者的外部。
不透明类型可以是XML类型。XML类型的一实例提供于第10/259,278号共同待决美国专利申请案中。XML方案是描述层级结构的元数据。XML方案的实例包括符合由XML方案描述的结构的数据。通过结构中表达的XML元素,XML方案定义一个或一个以上类型。
XML文档是含有一个或一个以上符合XML方案的XML元素的文档。不幸的是,维持表示XML文档的XML元素的阵列所需的存储器的量可能较大。此外,在存储器中维持XML文档的控制文件也需要大量的存储器,例如在一些情况下,维持XML文档的控制文件所需的存储器的量可能是用以在存储器中维持相应XML文档的存储器量的十倍。因此,客户端应用程序在将XML文档传送到持久存储装置时需要大量的存储器来将XML文档加载到存储器中。此外,以此方式将XML文档传送到持久存储装置对于客户端应用程序来说是CPU非常密集型的,这可能导致性能降级。
因此,一种避免上述问题的用于将XML文档加载到存储器中以用于将XML文档传送到持久存储装置的方法是有利的。
发明内容
无
附图说明
附图的图式中借助于实例而不是限制来说明本发明的实施例,且附图中相同参考标号指代类似元件,其中:
图1是说明根据本发明实施例可将XML文档加载到存储器中并传送到持久存储装置的系统的框图;
图2是说明根据本发明实施例产生和使用分区的功能步骤的流程图;以及
图3是说明可在上面实施本发明实施例的计算机系统的框图。
具体实施方式
在以下描述中,出于解释的目的,陈述许多特定细节以提供对本文论述的本发明实施例的详尽理解。然而将明了,可在没有这些特定细节的情况下实践本文论述的本发明实施例。在其它实例中,以框图形式展示众所周知的结构和装置,以免不必要地混淆本文论述的本发明实施例。
功能概述
提供一种用于将XML文档加载到存储器中的方法。根据本文论述的实施例,可将大XML文档的XML元素单独加载到客户端应用程序的存储器中的一个或一个以上单独逻辑单元(本文中个别地表示为分区)中,且随后可处理存储器中的分区(例如,可将分区持久存储在数据库中)而不处理整个XML文档。以此方式,客户端应用程序处理XML文档所需的存储器量可最小化,因为在任意一个时间仅一部分XML文档维持在存储器中。
在一实施例中,实施XML类型的实体用客户端应用程序注册一个或一个以上与XML类型相关联的例行程序。通过使用这些例行程序,客户端应用程序将一个或一个以上阵列元素(其每一者表示XML文档的一个XML元素)加载到维持在存储器中的阵列的第一分区中。分区是用于将数据从存储器传送到例如数据库的持久存储装置的逻辑单位。根据一实施例,分区可持有数据结构的一部分,例如阵列,且可维持识别出所述分区表示数据结构的哪一部分的信息。举例来说,特定分区可含有识别阵列中特定分区开始的第一位置的开始点识别符,以及识别阵列中特定分区结束的第二位置的结束点识别符。
一旦确定维持在分区中的数据量超过第一阈值,客户端应用程序就调用与XML类型相关联的例行程序来产生阵列中的新分区。随后,客户端应用程序将XML文档的XML元素加载到阵列的新分区的阵列元素中。
一旦确定维持在客户端应用程序的存储器中的数据量超过第二阈值,客户端应用程序就将维持在存储器中的分区(例如新近最少使用的分区)的阵列元素持久存储到数据库。除非已将整个XML文档加载到所述单一分区中,否则存储XML文档的一部分而不持久存储整个XML文档。客户端应用程序将以此方式继续处理XML文档的XML元素,直到最后的XML元素经处理为止。当XML文档的最后XML元素加载到阵列的分区中时,客户端应用程序将维持在存储器中的任何分区持久存储到数据库,因而促使将整个XML文档持久存储在数据库中。
描述了实施例的高级概数之后,下文将描述实施例的结构的概述。
结构概述
图1是说明根据本发明实施例可将XML文档加载到存储器中并传送到持久存储装置的系统100的框图。系统100包括客户端应用程序102、数据库服务器104、数据库106以及类型实施程序108A-N。客户端应用程序102、数据库服务器104以及类型实施程序108A-N彼此以通信方式耦合。数据库服务器104以通信方式耦合到数据库106。
客户端应用程序102读取或另外接收半结构化数据118作为输入。半结构化数据118是符合替代定义的结构而不是单一定义结构的数据。半结构化数据118包括一类型的实例。举例来说,半结构化数据118可包括符合XML方案(例如,XML文档)的一个或一个以上XML实例。半结构化数据118还包括类型的识别信息。举例来说,可将类型识别为XML类型。半结构化数据118不指示类型的结构。不对客户端应用程序102定义类型的结构。
客户端应用程序102在客户端应用程序地址空间114中产生阵列116A。客户端应用程序地址空间114包括经分配以供客户端应用程序102使用的存储器区段。客户端应用程序102通过将阵列元素添加到阵列来填充阵列116A。每个阵列元素可表示XML文档的一个XML元素。可每次填充阵列116A的一个分区,如下文进一步详细解释。用于填充阵列116A的值中的一些值可在半结构化数据118中指定,且其它值可从半结构化数据中指定的值中导出。
如加载不透明类型专利中所解释,类型实施程序108A-N可向客户端应用程序102注册例行程序,其在调用时执行涉及阵列116A的操作。举例来说,例行程序中的一者或一者以上可将值存储在阵列116A的特定分区中,或可产生新的分区。经调用的例行程序可向客户端应用程序102返回一个或一个以上指针,所述一个或一个以上指针指向客户端应用程序地址空间114内可找到阵列116A的分区的一个或一个以上填充元素的一个或一个以上地址。通过使用所述一个或一个以上指针,客户端应用程序102可定位并读取阵列116A的分区的填充行。以此方式,客户端应用程序102可确定加载到特定分区中的数据量。
类型的属性的一者或一者以上可为指示一个或一个以上其它属性的嵌套类型。举例来说,母体类型可能指示作为标量类型的第一属性,以及作为“购买订单”子类型的第二属性。“购买订单”类型也可能指示若干属性。在此情况下,与母体类型相关联的例行程序可调用与子类型相关联的例行程序。客户端应用程序102不需要知道或调用与子类型相关联的例行程序。当调用例行程序来描述母体类型的结构时,所述例行程序调用另一例行程序来描述子类型的结构。当调用例行程序来产生母体类型的阵列时,所述例行程序调用另一例行程序来产生子类型的阵列。当调用例行程序来填充母体类型的阵列 时,所述例行程序调用另一例行程序来填充子类型的阵列。所产生的每个阵列可能与一个或一个以上分区相关联,如下文所解释。为了保持母体类型的阵列与任何子类型的阵列之间的关系,产生将母体阵列的一行与子阵列的相应行链接的设定识别符并将其存储在母体阵列中。分区的阵列元素的设定识别符可存储在所述分区中。
阵列可彼此独立地填充,但在任何一个时间将仅填充任何一个阵列的单一分区,如下文所解释。可非同步且独立地加载和串流阵列。
基于分区的填充行,客户端应用程序102产生数据流。阵列的分区的数据流可独立于另一阵列的另一分区的数据流而产生。数据流符合数据库106内数据块的格式。因此,客户端应用程序102产生的数据流可直接写入到数据库106而不促使SQL引擎加载每一行数据。客户端应用程序102将数据串流到数据库服务器104。基于一个阵列产生的流可独立于基于另一阵列产生的流而发送到数据库服务器。数据库服务器104将从客户端应用程序102接收的数据直接写入到数据库106中的一个或一个以上数据块中。
数据块是存储数据库记录的原子存储单位。当数据库读取或写入来自数据库的记录时,从持久存储装置读取或写入到持久存储装置的最小数据单位是数据库块。通常,数据块存储在缓冲系统的缓冲器中的存储器中。数据块不仅可含有记录而且可含有用于处理数据块内的数据的控制信息。
关于如何将XML元素加载到维持在存储器中的阵列中的额外细节提供于加载不透明类型专利中。描述可实施一实施例的说明性结构之后,下文将进一步详细描述产生和使用分区的过程。
产生和使用分区
图2是说明根据本发明实施例产生和使用分区的功能步骤的流程图。通过执行图2的功能步骤,可通过建立特定阈值来减少将XML文档加载到存储器中的存储器要求,所述阈值在被超过时触发对维持在存储器中的分区的处理。可使用直接路径加载技术从存储器持久存储分区。因此,本文描述的技术提供用于将大XML文档加载到存储器中的较可缩放的方法。此外,由于存储器限制而先前无法加载到存储器中的某些XML文档可使用图2的技术加载到存储器中,因为在单一时间仅XML文档的若干部分被加载到存储器中。将参看图1解释图2的功能步骤。
在步骤210中,类型实施程序向客户端应用程序102注册一个或一个以上例行程序,如上文所描述。举例来说,类型实施程序108A可向客户端应用程序102A注册例行程序110AA-AN。例行程序110AA-AN中的一者或一者以上可执行以下功能:(a)在由客户端应用程序102维持在存储器中的阵列内产生新分区,以及(b)将表示XML文档的 XML元素的行填充到阵列的特定分区中。在向客户端应用程序102注册一个或一个以上例行程序之后,处理进行到步骤220。
在步骤220中,客户端应用程序102处理XML文档。在步骤220中,客户端应用程序102可通过将XML文档的XML元素加载到维持在存储器中的一个或一个以上分区中,并将分区从存储器持久存储到数据库106,来处理XML文档。可在将整个XML文档加载到存储器中之前从存储器持久存储分区,以使额外存储器可用于将XML文档的更多XML元素加载到存储器中的分区中。下文将进一步详细描述步骤220的执行。
在步骤222中,客户端应用程序102可通过如上所述调用与XML文档的XML类型相关联的例行程序在存储器中产生一个或一个以上阵列,来处理XML文档。可针对单一XML文档产生多个阵列。举例来说,当调用例行程序来产生针对具有子类型的母体类型的阵列时,所述例行程序调用另一例行程序来产生子类型的阵列。一旦在用于XML文档的存储器中产生阵列,客产端应用程序102就可通过如上所述调用与XML文档的XML类型相关联的例行程序来产生阵列的分区。客产端应用程序102将阵列元素每次仅加载到特定阵列的一个分区。
在存储器中产生分区和阵列之后,客户端应用程序102从XML文档读取XML元素。客户端应用程序102接着将XML元素加载到维持在存储器中的适当分区中。客户端应用程序102接着可执行步骤224和226。在执行步骤224和226之后,客户端应用程序102接着可重复执行(a)将XML元素从XML文档加载到存储器中的分区中,以及(b)执行步骤224和226,直到XML文档的所有XML元素都已加载到存储器中的分区中为止。或者,客户端应用程序102可在将两个或两个以上XML元素从XML文档读取到分区中之后执行步骤224和226中的一者或一者以上。
在步骤224中,客户端应用程序102确定阵列的特定分区(“完全分区”)中维持的数据量是否超过阈值(“分区大小阈值”)。如果客户端应用程序102确定阵列的完全分区中维持的数据量确实超过分区大小阈值,那么客户端应用程序102通过如上所述调用与XML文档的XML类型相关联的一个或一个以上例行程序来产生阵列的新分区。随后,当客户端应用程序将XML文档的XML元素加载到阵列中时,客户端应用程序102将XML元素加载到阵列的新分区中而不是阵列的完全分区中。
在一实施例中,客户端应用程序102可使用由客户端应用程序102调用的被例行程序返回以产生分区的指向分区的指针来确定是否已超过一特定分区的完全分区阈值。通过使用指向分区的指针,客户端应用程序102可定位并读取分区的行,以确定特定分区中维持的数据量是否超过分区大小阈值。
分区大小阈值可由用户配置,或者其可基于客户端应用程序102的总存储器量而动态确定。
可至少部分基于将被加载到数据库106内的分区或位置(被加载入所述分区的数据将最终存储在其中)中的数据类型来动态地确定(在步骤222或步骤224中)所产生的每个分区的大小。举例来说,分区的大小可基于XML文档内重复元素的存在。重复元素是XML文档内相同XML元素的多个实例。为了说明,如果XML文档对应于账单,那么账单的行式项目可为重复元素,因为行式项目是相同类型的数据(在此情况下为账单的项目)的多个实例。有利的做法是将对应于那些行式项目的XML元素存储在单一分区中以使数据库106内存储加载到分区中的数据所需的表格量最少。因此,可确定分区的大小以确保加载到分区中的XML数据将被存储在数据库106中的最少量的表格中。而且,可至少部分基于XML文档内的重复XML元素的数目来确定分区的大小,进而增加加载到分区中的所有XML元素将存储在同一表格中或以类似方式存储在数据库106中的可能性。
另外,当客户端应用程序102调用例行程序以将XML文档的XML元素添加到阵列的分区时,例行程序的逻辑可在确定如何将XML元素添加到阵列时考虑XML文档的XML方案。举例来说,如果将阵列的第一分区的阵列元素映射到第一表格,且请求将添加到阵列的XML元素映射到第二表格,那么例行程序的逻辑可产生新分区,且促使将XML元素添加到新分区。以此方式,例行程序可考虑XML方案的XML元素到数据库106内的表格之间的映射,以确定应将XML元素添加到阵列的现有分区还是应替代地产生新分区,其中当客户端应用程序102调用例行程序以将XML元素添加到阵列的分区时应添加XML元素。
在步骤226中,客户端应用程序102确定维持在客户端应用程序102的存储器中的数据量是否超过阈值(“存储器大小阈值”)。如果客户端应用程序102确定客户端应用程序102的存储器确实超过存储器大小阈值,那么客户端应用程序持久存储维持在存储器中的分区,例如,客户端应用程序102可将维持在存储器中的新近最少使用的分区持久存储到数据库106,但可使用其它算法来确定由客户端应用程序102维持在存储器中的哪一分区应持久存储到数据库106。在将单一分区的阵列元素持久存储在数据库106中时,客户端应用程序持久存储XML文档的一部分而不持久存储整个XML文档(除非整个XML文档可存储在单一分区内)。
在步骤226中,如果客户端应用程序102确定XML文档的最后XML元素已加载到存储器中分区的阵列元素中,那么客户端应用程序102可促使将维持在存储器中的所有 分区都持久存储在数据库106中。以此方式,在整个XML文档已经处理之后,存储器中的所有分区持久存储到数据库106以促使持久存储XML文档的当前未持久存储的任何部分。
当分区准备好被持久存储到数据库106时,客户端应用程序102可从经填充分区产生数据流。数据流符合数据库106内数据块的格式。因此,由客户端应用程序102产生的数据流可例如使用单一批次插入SQL操作直接写入到数据库106而不促使SQL引擎加载每一行数据。客户端应用程序102将数据串流到数据库服务器104。基于一个阵列产生的流可独立于基于另一阵列产生的流而发送到数据库服务器。数据库服务器104将从客户端应用程序102接收的数据直接写入到数据库106中的一个或一个以上数据块中。作为写入的结果,对应于数据库表中的隐藏列的阵列列中的值存储在相应的隐藏列中。
由分区维持的额外信息可连同阵列元素一起被转移到数据库106,所述额外信息例如(a)分区的开始点识别符,(b)分区的结束点识别符,以及(c)如果分区与母体阵列相关联,那么一个或一个以上设定识别符。以此方式,当XML元素持久存储在数据库106中时可维持XML文档的XML元素之间的关系。
在一实施例中,每个分区具有其自身的存储器单位。分区的所有阵列元素均使用来自分区的存储器单位的存储器。当构造新分区时,产生新的存储器单位。当分区转移到持久存储装置(例如数据库106)时,由所述分区占用的存储器可释放。此存储器可由后续分区使用,进而使对存储器中的XML文档执行操作所需的存储器量最少。
在一实施例中,替代于将整个控制文件加载到存储器中,可仅将控制文件的对应于当前由客户端应用程序102处理的XML元素的一部分加载到存储器中。客户端应用程序102可调用例行程序来确定应将控制文件的哪些部分加载到存储器中。
实施机制
在一实施例中,客户端应用程序102、数据库服务器104、数据库106以及类型实施程序108A-108N每一者可实施在计算机系统上。图3是说明上面可实施本发明实施例的计算机系统300的框图。计算机系统300包含用于传送信息的总线302或其它通信机制,以及用于处理信息的与总线302耦合的处理器304。计算机系统300还包含主存储器306,例如随机存取存储器(RAM)或其它动态存储装置,其耦合到总线302以用于存储将由处理器304执行的信息和指令。主存储器306还可用于在将由处理器304执行的指令的执行期间存储临时变量或其它中间信息。计算机系统300进一步包含耦合到总线302的用于为处理器304存储静态信息和指令的只读存储器(ROM)308或其它静态 存储装置。提供例如磁盘或光盘等存储装置310,且其耦合到总线302用于存储信息和指令。
计算机系统300可经由总线302耦合到显示器312(例如阴极射线管(CRT))以用于向计算机用户显示信息。包含字母数字和其它键的输入装置314耦合到总线302以用于将信息和命令选择传送到处理器304。另一类型的用户输入装置是光标控制316,例如鼠标、跟踪球或光标方向键,其用于将方向信息和命令选择传送到处理器304且用于控制显示器312上的光标移动。此输入装置通常具有在两个轴(第一轴(例如x)和第二轴(例如y))上的两个自由度,其允许装置指定平面中的位置。
本发明涉及使用计算机系统300来实施本文描述的技术。根据本发明的一个实施例,计算机系统300响应于处理器304执行维持在主存储器306中的一个或一个以上指令的一个或一个以上序列来执行所述技术。这些指令可从另一机器可读媒体(例如存储装置310)读取到主存储器306中。维持在主存储器306中的指令序列的执行促使处理器304执行本文描述的过程步骤。在替代实施例中,可代替软件指令或与软件指令组合来使用硬连线电路以实施本发明。因此,本发明的实施例不限于硬件电路与软件的任何特定组合。
本文使用的术语“机器可读媒体”指代参与提供促使机器以特定方式操作的数据的任何媒体。在使用计算机系统300实施的实施例中,涉及各种机器可读媒体以(例如)将指令提供到处理器304供执行。此媒体可采用许多形式,包含(但不限于)非易失性媒体、易失性媒体以及传输媒体。非易失性媒体包含(例如)光盘或磁盘,例如存储装置310。易失性媒体包含动态存储器,例如主存储器306。传输媒体包含同轴电缆、铜线以及光纤,包含包括总线302的电线。传输媒体也可采用声波或光波的形式,例如在无线电波和红外线数据通信期间产生的那些波。所有这些媒体必须确实地使得由媒体载运的指令能够由将指令读取到机器中的物理机制检测到。
机器可读媒体的常用形式包含(例如)软盘、柔性盘、硬盘、磁带或任何其它磁性媒体、CD-ROM、任何其它光学媒体、穿孔卡、纸带、任何其它具有孔图案的物理媒体、RAM、PROM和EPROM、快闪EPROM、任何其它存储器芯片或盒式磁盘、下文描述的载波,或计算机可从其中进行读取的任何其它媒体。
各种形式的机器可读媒体可参与将一个或一个以上指令的一个或一个以上序列载运到处理器304供执行。举例来说,指令可初始载运在远程计算机的磁盘上。远程计算机可将指令加载到其动态存储器中并使用调制解调器经由电话线发送指令。计算机系统300本地的调制解调器可接收电话线上的数据并使用红外发射器将数据转换为红外信 号。红外检测器可接收红外信号中载运的数据,且适当电路可将数据放置在总线302上。总线302将数据载运到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可视需要在由处理器304执行之前或之后存储在存储装置310上。
计算机系统300还包含耦合到总线302的通信接口318。通信接口318提供耦合到网络链路320的双向数据通信,网络链路320连接到本地网络322。举例来说,通信接口318可为综合服务数字网络(ISDN)卡或调制解调器以提供到达相应类型的电话线的数据通信连接。作为另一实例,通信接口318可为局域网(LAN)卡以提供到达兼容LAN的数据通信连接。也可实施无线链路。在任何此种实施方案中,通信接口318发送和接收电、电磁或光学信号,其载运表示各种类型的信息的数字数据流。
网络链路320通常提供通过一个或一个以上网络到其它数据装置的数据通信。举例来说,网络链路320可提供通过本地网络322到主机计算机324或到由因特网服务提供商(ISP)326操作的数据设备的连接。ISP 326又通过现在通常称为“因特网”328的全球分组数据通信网络提供数据通信服务。本地网络322和因特网328均使用载运数字数据流的电、电磁或光学信号。通过各种网络的信号以及网络链路320上和通过通信接口318的信号(其载运到达和来自计算机系统300的数字数据)是传送信息的载波的示范性形式。
计算机系统300可通过网络、网络链路320和通信接口318发送消息和接收数据(包含程序码)。在因特网实例中,服务器330可能通过因特网328、ISP 326、本地网络322和通信接口318传输所请求的应用程序码。
所接收的码当被接收时可由处理器304执行,和/或存储在存储装置310或其它非易失性存储装置中用于稍后执行。以此方式,计算机系统300可获得载波形式的应用程序码。
在以上说明书中,已参考可在实施方案之间变化的许多特定细节描述了本发明的实施例。因此,关于本发明的本质是什么以及本申请人期望本发明的本质是什么的唯一且专门指示是本申请案所发布的一组权利要求(以此类权利要求发布的特定形式),包含任何后续修正。本文针对此类权利要求中所含有的术语而明确陈述的任何定义将决定权利要求中所使用的此类术语的含义。因此,权利要求中未明确叙述的限制、元件、特性、特征、优点或属性均不应以任何方式限制此权利要求的范围。因此,应在说明性而非限制性的意义上看待说明书和附图。
Claims (8)
1.一种将XML文档加载到存储器的方法,其包括:
在客户端处,存储表示所述存储器中的阵列的第一分区中维持的至少一个XML元素的数据,所述至少一个XML元素仅对应于所述XML文档的一部分;
其中所述阵列由第一XML类型的阵列元素组成;
在确定所述客户端的所述存储器中维持的数据的第一量值超过存储器大小阈值时,向数据库服务器传输将所述第一分区中的数据存储在数据库中的请求;以及
在确定所述第一分区中维持的数据的第二量值超过分区大小阈值时,(a)产生所述阵列的新分区,所述新分区不同于所述第一分区,以及(b)随后将所述第一XML类型的所述阵列元素加载到所述阵列的所述新分区中。
2.根据权利要求1所述的方法,其进一步包括:
至少部分基于(a)所述客户端的可用存储器或(b)所述数据库中所述新分区的所述阵列元素将被存储的位置,来确定所述新分区的大小。
3.根据权利要求1所述的方法,其进一步包括:
至少部分基于所述XML文档内的重复XML元素的数目来确定所述新分区的大小。
4.根据权利要求1所述的方法,其中所述请求指定存储符合由所述数据库服务器来管理的数据库的数据块格式的数据流。
5.根据权利要求1所述的方法,其中向所述数据库服务器传输的将所述第一分区中的所述数据存储在所述数据库中的所述请求是使用单一批次INSERT SQL操作将所述第一分区的第二阵列元素存储在所述数据库中。
6.根据权利要求1所述的方法,其进一步包括确定所述第一分区是所述客户端的所述存储器中维持的分区集合中的新近最少使用的分区。
7.根据权利要求5所述的方法,其进一步包括:在将所述第一分区的第二阵列元素存储到所述数据库中之后,停止在所述客户端的所述存储器中维持所述第一分区。
8.一种将XML文档加载到存储器的方法,其包括:
在客户端处,将一个或多个第一阵列元素加载到所述存储器中维持的阵列的第一分区中,其中所述一个或多个第一阵列元素的每个阵列元素表示所述XML文档的一个XML元素;
其中所述阵列由第一XML类型的多个阵列元素组成;
在确定所述客户端的所述存储器中维持的数据的第一量值超过存储器大小阈值时,将所述第一分区的所述第一阵列元素持久存储在数据库中而不持久存储整个所述XML文档;以及
在确定所述第一分区中维持的数据的第二量值超过分区大小阈值时,(a)产生所述阵列的新分区,所述新分区不同于所述第一分区,以及(b)随后将所述第一XML类型的所述多个阵列元素加载到所述阵列的所述新分区中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/317,101 | 2005-12-22 | ||
US11/317,101 US7933928B2 (en) | 2005-12-22 | 2005-12-22 | Method and mechanism for loading XML documents into memory |
PCT/US2006/045700 WO2007078479A2 (en) | 2005-12-22 | 2006-11-29 | Method and mechanism for loading xml documents into memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101326519A CN101326519A (zh) | 2008-12-17 |
CN101326519B true CN101326519B (zh) | 2011-03-16 |
Family
ID=38051584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800460901A Active CN101326519B (zh) | 2005-12-22 | 2006-11-29 | 用于将xml文档加载到存储器中的方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7933928B2 (zh) |
EP (1) | EP1963994A2 (zh) |
JP (1) | JP5011311B2 (zh) |
CN (1) | CN101326519B (zh) |
AU (1) | AU2006333375B2 (zh) |
CA (1) | CA2626849C (zh) |
WO (1) | WO2007078479A2 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070219663A1 (en) * | 2006-01-03 | 2007-09-20 | Eddy Verstraeten | Tracking an Item on a Packaging Line |
US20080016023A1 (en) * | 2006-07-17 | 2008-01-17 | The Mathworks, Inc. | Storing and loading data in an array-based computing environment |
US8250062B2 (en) * | 2007-11-09 | 2012-08-21 | Oracle International Corporation | Optimized streaming evaluation of XML queries |
US8527867B2 (en) * | 2008-01-18 | 2013-09-03 | Oracle International Corporation | Enabling users to edit very large XML data |
US8429196B2 (en) * | 2008-06-06 | 2013-04-23 | Oracle International Corporation | Fast extraction of scalar values from binary encoded XML |
KR101574603B1 (ko) | 2008-10-31 | 2015-12-04 | 삼성전자주식회사 | 컨디셔널 프로세싱 방법 및 장치 |
US8473513B2 (en) * | 2010-01-31 | 2013-06-25 | International Business Machines Corporation | Efficient multiple tuple generation over streaming XML data |
US9922089B2 (en) | 2012-07-18 | 2018-03-20 | Software Ag Usa, Inc. | Systems and/or methods for caching XML information sets with delayed node instantiation |
US10515141B2 (en) * | 2012-07-18 | 2019-12-24 | Software Ag Usa, Inc. | Systems and/or methods for delayed encoding of XML information sets |
US9128912B2 (en) * | 2012-07-20 | 2015-09-08 | Fujitsu Limited | Efficient XML interchange schema document encoding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1241589A2 (en) * | 2001-03-01 | 2002-09-18 | Sun Microsystems, Inc. | Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache |
CN1466722A (zh) * | 2001-08-09 | 2004-01-07 | ���Ͽع�����˾ | 管理文档文本的工作流程系统及利用其的文档文本管理方法 |
CN1647071A (zh) * | 2001-10-24 | 2005-07-27 | Bea系统公司 | 数据同步 |
Family Cites Families (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700458B2 (en) | 1989-05-01 | 2014-04-15 | Catalina Marketing Corporation | System, method, and database for processing transactions |
US5257365A (en) | 1990-03-16 | 1993-10-26 | Powers Frederick A | Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records |
US5295261A (en) | 1990-07-27 | 1994-03-15 | Pacific Bell Corporation | Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure |
JPH0667951A (ja) | 1992-05-20 | 1994-03-11 | Nec Corp | データベース管理システム |
US5558910A (en) | 1992-12-22 | 1996-09-24 | Applied Materials, Inc. | Uniform tungsten silicide films produced by chemical vapor deposition |
US5467471A (en) | 1993-03-10 | 1995-11-14 | Bader; David A. | Maintaining databases by means of hierarchical genealogical table |
US5870590A (en) | 1993-07-29 | 1999-02-09 | Kita; Ronald Allen | Method and apparatus for generating an extended finite state machine architecture for a software specification |
US5956715A (en) | 1994-12-13 | 1999-09-21 | Microsoft Corporation | Method and system for controlling user access to a resource in a networked computing environment |
US5724577A (en) | 1995-06-07 | 1998-03-03 | Lockheed Martin Corporation | Method for operating a computer which searches a relational database organizer using a hierarchical database outline |
US5734887A (en) | 1995-09-29 | 1998-03-31 | International Business Machines Corporation | Method and apparatus for logical data access to a physical relational database |
US5893109A (en) | 1996-03-15 | 1999-04-06 | Inso Providence Corporation | Generation of chunks of a long document for an electronic book system |
US5893104A (en) | 1996-07-09 | 1999-04-06 | Oracle Corporation | Method and system for processing queries in a database system using index structures that are not native to the database system |
US6208993B1 (en) | 1996-07-26 | 2001-03-27 | Ori Software Development Ltd. | Method for organizing directories |
US5987506A (en) | 1996-11-22 | 1999-11-16 | Mangosoft Corporation | Remote access and geographically distributed computers in a globally addressable storage environment |
AU6313298A (en) | 1997-02-24 | 1998-09-22 | Rodney John Smith | Improvements relating to data compression |
US5878415A (en) | 1997-03-20 | 1999-03-02 | Novell, Inc. | Controlling access to objects in a hierarchical database |
US6115705A (en) * | 1997-05-19 | 2000-09-05 | Microsoft Corporation | Relational database system and method for query processing using early aggregation |
JP3777025B2 (ja) | 1997-08-20 | 2006-05-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | システム資源表示装置およびその方法 |
GB2329044B (en) | 1997-09-05 | 2002-10-09 | Ibm | Data retrieval system |
US6141655A (en) | 1997-09-23 | 2000-10-31 | At&T Corp | Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template |
US5974407A (en) | 1997-09-29 | 1999-10-26 | Sacks; Jerome E. | Method and apparatus for implementing a hierarchical database management system (HDBMS) using a relational database management system (RDBMS) as the implementing apparatus |
US6038563A (en) | 1997-10-31 | 2000-03-14 | Sun Microsystems, Inc. | System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects |
US6018747A (en) | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
US6003040A (en) | 1998-01-23 | 1999-12-14 | Mital; Vijay | Apparatus and method for storing, navigating among and adding links between data items in computer databases |
US6356920B1 (en) | 1998-03-09 | 2002-03-12 | X-Aware, Inc | Dynamic, hierarchical data exchange system |
JPH11296541A (ja) | 1998-04-14 | 1999-10-29 | Fujitsu Ltd | 構造化データ管理システム及び構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6915307B1 (en) * | 1998-04-15 | 2005-07-05 | Inktomi Corporation | High performance object cache |
US6539398B1 (en) | 1998-04-30 | 2003-03-25 | International Business Machines Corporation | Object-oriented programming model for accessing both relational and hierarchical databases from an objects framework |
US6772350B1 (en) | 1998-05-15 | 2004-08-03 | E.Piphany, Inc. | System and method for controlling access to resources in a distributed environment |
US6654761B2 (en) * | 1998-07-29 | 2003-11-25 | Inxight Software, Inc. | Controlling which part of data defining a node-link structure is in memory |
US6263332B1 (en) | 1998-08-14 | 2001-07-17 | Vignette Corporation | System and method for query processing of structured documents |
US6487546B1 (en) | 1998-08-27 | 2002-11-26 | Oracle Corporation | Apparatus and method for aggregate indexes |
US6330573B1 (en) | 1998-08-31 | 2001-12-11 | Xerox Corporation | Maintaining document identity across hierarchy and non-hierarchy file systems |
US6269380B1 (en) | 1998-08-31 | 2001-07-31 | Xerox Corporation | Property based mechanism for flexibility supporting front-end and back-end components having different communication protocols |
US6718322B1 (en) | 1998-10-02 | 2004-04-06 | Ncr Corporation | SQL-based analytic algorithm for rule induction |
US6366934B1 (en) | 1998-10-08 | 2002-04-02 | International Business Machines Corporation | Method and apparatus for querying structured documents using a database extender |
US6519597B1 (en) | 1998-10-08 | 2003-02-11 | International Business Machines Corporation | Method and apparatus for indexing structured documents with rich data types |
US6635088B1 (en) | 1998-11-20 | 2003-10-21 | International Business Machines Corporation | Structured document and document type definition compression |
US6279007B1 (en) | 1998-11-30 | 2001-08-21 | Microsoft Corporation | Architecture for managing query friendly hierarchical values |
US6704739B2 (en) | 1999-01-04 | 2004-03-09 | Adobe Systems Incorporated | Tagging data assets |
US6370537B1 (en) | 1999-01-14 | 2002-04-09 | Altoweb, Inc. | System and method for the manipulation and display of structured data |
US6154741A (en) | 1999-01-29 | 2000-11-28 | Feldman; Daniel J. | Entitlement management and access control system |
US6427123B1 (en) | 1999-02-18 | 2002-07-30 | Oracle Corporation | Hierarchical indexing for accessing hierarchically organized information in a relational system |
HK1020419A2 (en) | 1999-03-16 | 2000-03-17 | Shi Piu Joseph Fong | Frame model for universal database in database reengineering and integration |
US6343287B1 (en) | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
US6496842B1 (en) | 1999-05-28 | 2002-12-17 | Survol Interactive Technologies | Navigating heirarchically organized information |
US6470344B1 (en) | 1999-05-29 | 2002-10-22 | Oracle Corporation | Buffering a hierarchical index of multi-dimensional data |
US6523062B1 (en) | 1999-06-29 | 2003-02-18 | International Business Machines Corporation | Facilitating memory constrained client devices by employing deck reduction techniques |
US6199195B1 (en) | 1999-07-08 | 2001-03-06 | Science Application International Corporation | Automatically generated objects within extensible object frameworks and links to enterprise resources |
US6754661B1 (en) | 1999-07-13 | 2004-06-22 | Microsoft Corporation | Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems |
US7134072B1 (en) * | 1999-10-13 | 2006-11-07 | Microsoft Corporation | Methods and systems for processing XML documents |
US6360302B1 (en) * | 1999-11-05 | 2002-03-19 | International Business Machines Corporation | Method and system for dynamically changing page types in unified scalable shared-memory architectures |
US6826727B1 (en) | 1999-11-24 | 2004-11-30 | Bitstream Inc. | Apparatus, methods, programming for automatically laying out documents |
US6721727B2 (en) | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US20020116371A1 (en) | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
US6662342B1 (en) * | 1999-12-13 | 2003-12-09 | International Business Machines Corporation | Method, system, and program for providing access to objects in a document |
US6721723B1 (en) * | 1999-12-23 | 2004-04-13 | 1St Desk Systems, Inc. | Streaming metatree data structure for indexing information in a data base |
US6598055B1 (en) | 1999-12-23 | 2003-07-22 | International Business Machines Corporation | Generic code for manipulating data of a structured object |
US6510434B1 (en) * | 1999-12-29 | 2003-01-21 | Bellsouth Intellectual Property Corporation | System and method for retrieving information from a database using an index of XML tags and metafiles |
US7089239B1 (en) | 2000-01-21 | 2006-08-08 | International Business Machines Corporation | Method and system for preventing mutually exclusive content entities stored in a data repository to be included in the same compilation of content |
US7043488B1 (en) | 2000-01-21 | 2006-05-09 | International Business Machines Corporation | Method and system for storing hierarchical content objects in a data repository |
US6604100B1 (en) | 2000-02-09 | 2003-08-05 | At&T Corp. | Method for converting relational data into a structured document |
US6785673B1 (en) | 2000-02-09 | 2004-08-31 | At&T Corp. | Method for converting relational data into XML |
US20010049818A1 (en) * | 2000-02-09 | 2001-12-06 | Sanjeev Banerjia | Partitioned code cache organization to exploit program locallity |
US20010047372A1 (en) | 2000-02-11 | 2001-11-29 | Alexander Gorelik | Nested relational data model |
US7072896B2 (en) | 2000-02-16 | 2006-07-04 | Verizon Laboratories Inc. | System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor |
US7031956B1 (en) | 2000-02-16 | 2006-04-18 | Verizon Laboratories Inc. | System and method for synchronizing and/or updating an existing relational database with supplemental XML data |
US20020056025A1 (en) | 2000-11-07 | 2002-05-09 | Qiu Chaoxin C. | Systems and methods for management of memory |
GB2361332A (en) | 2000-04-13 | 2001-10-17 | Int Computers Ltd | Electronic content store |
US6697805B1 (en) | 2000-04-14 | 2004-02-24 | Microsoft Corporation | XML methods and systems for synchronizing multiple computing devices |
US6883137B1 (en) | 2000-04-17 | 2005-04-19 | International Business Machines Corporation | System and method for schema-driven compression of extensible mark-up language (XML) documents |
US6915304B2 (en) | 2000-05-23 | 2005-07-05 | Kenneth A. Krupa | System and method for converting an XML data structure into a relational database |
US6957237B1 (en) * | 2000-06-02 | 2005-10-18 | Sun Microsystems, Inc. | Database store for a virtual heap |
US6745206B2 (en) | 2000-06-05 | 2004-06-01 | International Business Machines Corporation | File system with access and retrieval of XML documents |
US6609121B1 (en) | 2000-07-17 | 2003-08-19 | International Business Machines Corporation | Lightweight directory access protocol interface to directory assistance systems |
US6708186B1 (en) | 2000-08-14 | 2004-03-16 | Oracle International Corporation | Aggregating and manipulating dictionary metadata in a database system |
US8443035B2 (en) | 2000-09-01 | 2013-05-14 | OP40 Holding, Inc. | System and method for collaboration using web browsers |
US7024425B2 (en) | 2000-09-07 | 2006-04-04 | Oracle International Corporation | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system |
US6801224B1 (en) | 2000-09-14 | 2004-10-05 | International Business Machines Corporation | Method, system, and program for generating a graphical user interface window for an application program |
WO2002046916A2 (en) | 2000-10-20 | 2002-06-13 | Polexis, Inc. | Extensible information system (xis) |
US6785718B2 (en) | 2000-10-23 | 2004-08-31 | Schneider Logistics, Inc. | Method and system for interfacing with a shipping service |
AUPR230700A0 (en) | 2000-12-22 | 2001-01-25 | Canon Kabushiki Kaisha | A method for facilitating access to multimedia content |
US20020087596A1 (en) * | 2000-12-29 | 2002-07-04 | Steve Lewontin | Compact tree representation of markup languages |
US7174534B2 (en) * | 2001-01-22 | 2007-02-06 | Symbol Technologies, Inc. | Efficient system and method for running and analyzing multi-channel, multi-modal applications |
JP3894280B2 (ja) | 2001-02-02 | 2007-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体 |
US7162467B2 (en) | 2001-02-22 | 2007-01-09 | Greenplum, Inc. | Systems and methods for managing distributed database resources |
US6804677B2 (en) | 2001-02-26 | 2004-10-12 | Ori Software Development Ltd. | Encoding semi-structured data for efficient search and browsing |
US7080318B2 (en) | 2001-02-28 | 2006-07-18 | Koninklijke Philips Electronics N.V. | Schema, syntactic analysis method and method of generating a bit stream based on a schema |
US6964025B2 (en) | 2001-03-20 | 2005-11-08 | Microsoft Corporation | Auto thumbnail gallery |
JP4529063B2 (ja) | 2001-03-30 | 2010-08-25 | ルネサスエレクトロニクス株式会社 | システムシミュレータ、シミュレーション方法及びシミュレーションプログラム |
US7089567B2 (en) | 2001-04-09 | 2006-08-08 | International Business Machines Corporation | Efficient RPC mechanism using XML |
US6968334B2 (en) | 2001-05-15 | 2005-11-22 | Nokia Corporation | Method and business process to maintain privacy in distributed recommendation systems |
EP1258812B1 (de) | 2001-05-17 | 2004-02-25 | Peter Pressmar | Virtuelle Datenbank heterogener Datenstrukturen |
US7117216B2 (en) | 2001-06-07 | 2006-10-03 | Sun Microsystems, Inc. | Method and apparatus for runtime merging of hierarchical trees |
JP3832807B2 (ja) | 2001-06-28 | 2006-10-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
WO2003003177A2 (en) | 2001-06-29 | 2003-01-09 | Bea Systems, Inc. | System for and methods of administration of access control to numerous resources and objects |
US7107521B2 (en) | 2001-07-03 | 2006-09-12 | International Business Machines Corporation | XSL dynamic inheritance |
US6725212B2 (en) | 2001-08-31 | 2004-04-20 | International Business Machines Corporation | Platform-independent method and system for graphically presenting the evaluation of a query in a database management system |
JP3984129B2 (ja) * | 2001-09-10 | 2007-10-03 | 富士通株式会社 | 構造化文書処理システム |
US7406522B2 (en) * | 2001-09-26 | 2008-07-29 | Packeteer, Inc. | Dynamic partitioning of network resources |
AU2002334721B2 (en) * | 2001-09-28 | 2008-10-23 | Oracle International Corporation | An index structure to access hierarchical data in a relational database system |
US20030069881A1 (en) | 2001-10-03 | 2003-04-10 | Nokia Corporation | Apparatus and method for dynamic partitioning of structured documents |
US6836857B2 (en) | 2001-10-18 | 2004-12-28 | Sun Microsystems, Inc. | Mechanism for debugging a computer process |
US6928449B2 (en) | 2001-10-18 | 2005-08-09 | Sun Microsystems, Inc. | Mechanism for facilitating backtracking |
US7487168B2 (en) | 2001-11-01 | 2009-02-03 | Microsoft Corporation | System and method for loading hierarchical data into relational database systems |
US20030093626A1 (en) | 2001-11-14 | 2003-05-15 | Fister James D.M. | Memory caching scheme in a distributed-memory network |
US20030115421A1 (en) * | 2001-12-13 | 2003-06-19 | Mchenry Stephen T. | Centralized bounded domain caching control system for network edge servers |
US7181489B2 (en) | 2002-01-10 | 2007-02-20 | International Business Machines Corporation | Method, apparatus, and program for distributing a document object model in a web server cluster |
US9374451B2 (en) | 2002-02-04 | 2016-06-21 | Nokia Technologies Oy | System and method for multimodal short-cuts to digital services |
US7127700B2 (en) | 2002-03-14 | 2006-10-24 | Openwave Systems Inc. | Method and apparatus for developing web services using standard logical interfaces to support multiple markup languages |
US7257645B2 (en) * | 2002-05-01 | 2007-08-14 | Bea Systems, Inc. | System and method for storing large messages |
KR100484138B1 (ko) | 2002-05-08 | 2005-04-18 | 삼성전자주식회사 | 관계형 데이터베이스에서 정규 경로식 질의를 처리하는xml 인덱싱 방법과 자료구조 |
US7457810B2 (en) | 2002-05-10 | 2008-11-25 | International Business Machines Corporation | Querying markup language data sources using a relational query processor |
EP1532542A1 (en) | 2002-05-14 | 2005-05-25 | Verity, Inc. | Apparatus and method for region sensitive dynamically configurable document relevance ranking |
EP2562663A3 (en) | 2002-06-13 | 2016-05-11 | MarkLogic Corporation. | Parent-child query indexing for XML databases |
US7162485B2 (en) | 2002-06-19 | 2007-01-09 | Georg Gottlob | Efficient processing of XPath queries |
US7251697B2 (en) * | 2002-06-20 | 2007-07-31 | Koninklijke Philips Electronics N.V. | Method and apparatus for structured streaming of an XML document |
US20040010752A1 (en) | 2002-07-09 | 2004-01-15 | Lucent Technologies Inc. | System and method for filtering XML documents with XPath expressions |
US7570943B2 (en) | 2002-08-29 | 2009-08-04 | Nokia Corporation | System and method for providing context sensitive recommendations to digital services |
US7120645B2 (en) | 2002-09-27 | 2006-10-10 | Oracle International Corporation | Techniques for rewriting XML queries directed to relational database constructs |
US7171407B2 (en) | 2002-10-03 | 2007-01-30 | International Business Machines Corporation | Method for streaming XPath processing with forward and backward axes |
JP4029711B2 (ja) * | 2002-10-04 | 2008-01-09 | 富士ゼロックス株式会社 | 画像形成装置 |
US7080094B2 (en) | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
GB2394800A (en) | 2002-10-30 | 2004-05-05 | Hewlett Packard Co | Storing hierarchical documents in a relational database |
US7308474B2 (en) * | 2002-11-06 | 2007-12-11 | Oracle International Corporation | Techniques for scalably accessing data in an arbitrarily large document by a device with limited resources |
WO2004043106A1 (en) | 2002-11-08 | 2004-05-21 | Nokia Corporation | Method, terminal device and system allowing for handling location services independently from a cellular communication system |
US6976340B2 (en) | 2002-12-05 | 2005-12-20 | Venturedyne Ltd. | Universal access port |
US7350199B2 (en) | 2003-01-17 | 2008-03-25 | Microsoft Corporation | Converting XML code to binary format |
US20040148278A1 (en) | 2003-01-22 | 2004-07-29 | Amir Milo | System and method for providing content warehouse |
US7062507B2 (en) | 2003-02-24 | 2006-06-13 | The Boeing Company | Indexing profile for efficient and scalable XML based publish and subscribe system |
CN100342377C (zh) * | 2003-04-16 | 2007-10-10 | 华为技术有限公司 | 一种提高数据处理效率的方法 |
JP3832830B2 (ja) | 2003-04-25 | 2006-10-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | XPath評価方法、これを用いたXPath評価装置及び情報処理装置 |
US6836778B2 (en) | 2003-05-01 | 2004-12-28 | Oracle International Corporation | Techniques for changing XML content in a relational database |
US7634480B2 (en) | 2003-05-08 | 2009-12-15 | Microsoft Corporation | Declarative rules for metadirectory |
US20040230667A1 (en) | 2003-05-12 | 2004-11-18 | Wookey Michael J. | Loosely coupled intellectual capital processing engine |
US7519577B2 (en) | 2003-06-23 | 2009-04-14 | Microsoft Corporation | Query intermediate language method and system |
US7383255B2 (en) | 2003-06-23 | 2008-06-03 | Microsoft Corporation | Common query runtime system and application programming interface |
US7113942B2 (en) | 2003-06-27 | 2006-09-26 | Microsoft Corporation | Scalable storage and processing of hierarchical documents |
US20050038688A1 (en) | 2003-08-15 | 2005-02-17 | Collins Albert E. | System and method for matching local buyers and sellers for the provision of community based services |
US7349913B2 (en) | 2003-08-21 | 2008-03-25 | Microsoft Corporation | Storage platform for organizing, searching, and sharing data |
US7814047B2 (en) | 2003-08-25 | 2010-10-12 | Oracle International Corporation | Direct loading of semistructured data |
US7747580B2 (en) | 2003-08-25 | 2010-06-29 | Oracle International Corporation | Direct loading of opaque types |
US7174328B2 (en) | 2003-09-02 | 2007-02-06 | International Business Machines Corp. | Selective path signatures for query processing over a hierarchical tagged data structure |
US7328403B2 (en) | 2003-10-22 | 2008-02-05 | Intel Corporation | Device for structured data transformation |
US7634498B2 (en) | 2003-10-24 | 2009-12-15 | Microsoft Corporation | Indexing XML datatype content system and method |
US7315852B2 (en) | 2003-10-31 | 2008-01-01 | International Business Machines Corporation | XPath containment for index and materialized view matching |
US7512615B2 (en) * | 2003-11-07 | 2009-03-31 | International Business Machines Corporation | Single pass workload directed clustering of XML documents |
JP2005141650A (ja) | 2003-11-10 | 2005-06-02 | Seiko Epson Corp | 構造化文書符号化装置及び構造化文書符号化方法ならびにそのプログラム |
US7216127B2 (en) | 2003-12-13 | 2007-05-08 | International Business Machines Corporation | Byte stream organization with improved random and keyed access to information structures |
JP2005234837A (ja) * | 2004-02-19 | 2005-09-02 | Fujitsu Ltd | 構造化文書処理方法、構造化文書処理システム及びそのプログラム |
US7877366B2 (en) | 2004-03-12 | 2011-01-25 | Oracle International Corporation | Streaming XML data retrieval using XPath |
US7499915B2 (en) | 2004-04-09 | 2009-03-03 | Oracle International Corporation | Index for accessing XML data |
US7398265B2 (en) | 2004-04-09 | 2008-07-08 | Oracle International Corporation | Efficient query processing of XML data using XML index |
US20050257201A1 (en) | 2004-05-17 | 2005-11-17 | International Business Machines Corporation | Optimization of XPath expressions for evaluation upon streaming XML data |
US7769904B2 (en) | 2004-06-09 | 2010-08-03 | L-3 Communications Integrated Systems L.P. | Extensible binary mark-up language for efficient XML-based data communications and related systems and methods |
US7260580B2 (en) | 2004-06-14 | 2007-08-21 | Sap Ag | Binary XML |
US7516121B2 (en) | 2004-06-23 | 2009-04-07 | Oracle International Corporation | Efficient evaluation of queries using translation |
US7512592B2 (en) | 2004-07-02 | 2009-03-31 | Tarari, Inc. | System and method of XML query processing |
US7421440B2 (en) * | 2004-08-24 | 2008-09-02 | Microsoft Corporation | Method and system for importing data |
US7921076B2 (en) | 2004-12-15 | 2011-04-05 | Oracle International Corporation | Performing an action in response to a file system event |
US7840895B2 (en) * | 2005-03-07 | 2010-11-23 | Computer Associates Think, Inc. | System and method for data manipulation |
US8346737B2 (en) | 2005-03-21 | 2013-01-01 | Oracle International Corporation | Encoding of hierarchically organized data for efficient storage and processing |
US8103880B2 (en) | 2005-06-03 | 2012-01-24 | Adobe Systems Incorporated | Method for communication between computing devices using coded values |
US7457910B2 (en) * | 2005-06-29 | 2008-11-25 | Sandisk Corproation | Method and system for managing partitions in a storage device |
US7359910B2 (en) * | 2005-06-30 | 2008-04-15 | Microsoft Corporation | Scalable transformation and tree based query language node—set selection |
US8572125B2 (en) * | 2005-08-22 | 2013-10-29 | International Business Machines Corporation | Scalable storage schemes for native XML column data of relational tables |
US20070113221A1 (en) | 2005-08-30 | 2007-05-17 | Erxiang Liu | XML compiler that generates an application specific XML parser at runtime and consumes multiple schemas |
US20070050704A1 (en) | 2005-08-30 | 2007-03-01 | Erxiang Liu | XML compiler that will generate an application specific XML parser |
US9460064B2 (en) | 2006-05-18 | 2016-10-04 | Oracle International Corporation | Efficient piece-wise updates of binary encoded XML data |
US20080082484A1 (en) | 2006-09-28 | 2008-04-03 | Ramot At Tel-Aviv University Ltd. | Fast processing of an XML data stream |
US7797310B2 (en) | 2006-10-16 | 2010-09-14 | Oracle International Corporation | Technique to estimate the cost of streaming evaluation of XPaths |
US7739251B2 (en) | 2006-10-20 | 2010-06-15 | Oracle International Corporation | Incremental maintenance of an XML index on binary XML data |
US7627566B2 (en) | 2006-10-20 | 2009-12-01 | Oracle International Corporation | Encoding insignificant whitespace of XML data |
US8010889B2 (en) | 2006-10-20 | 2011-08-30 | Oracle International Corporation | Techniques for efficient loading of binary XML data |
US9953103B2 (en) | 2006-11-16 | 2018-04-24 | Oracle International Corporation | Client processing for binary XML in a database system |
US7831540B2 (en) | 2007-10-25 | 2010-11-09 | Oracle International Corporation | Efficient update of binary XML content in a database system |
US8543898B2 (en) | 2007-11-09 | 2013-09-24 | Oracle International Corporation | Techniques for more efficient generation of XML events from XML data sources |
US8250062B2 (en) | 2007-11-09 | 2012-08-21 | Oracle International Corporation | Optimized streaming evaluation of XML queries |
US9842090B2 (en) | 2007-12-05 | 2017-12-12 | Oracle International Corporation | Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents |
US8429196B2 (en) | 2008-06-06 | 2013-04-23 | Oracle International Corporation | Fast extraction of scalar values from binary encoded XML |
-
2005
- 2005-12-22 US US11/317,101 patent/US7933928B2/en active Active
-
2006
- 2006-11-29 AU AU2006333375A patent/AU2006333375B2/en active Active
- 2006-11-29 CA CA2626849A patent/CA2626849C/en active Active
- 2006-11-29 JP JP2008549474A patent/JP5011311B2/ja active Active
- 2006-11-29 WO PCT/US2006/045700 patent/WO2007078479A2/en active Application Filing
- 2006-11-29 EP EP06844632A patent/EP1963994A2/en not_active Ceased
- 2006-11-29 CN CN2006800460901A patent/CN101326519B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1241589A2 (en) * | 2001-03-01 | 2002-09-18 | Sun Microsystems, Inc. | Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache |
CN1466722A (zh) * | 2001-08-09 | 2004-01-07 | ���Ͽع�����˾ | 管理文档文本的工作流程系统及利用其的文档文本管理方法 |
CN1647071A (zh) * | 2001-10-24 | 2005-07-27 | Bea系统公司 | 数据同步 |
Non-Patent Citations (1)
Title |
---|
CN 1466722 A,全文. |
Also Published As
Publication number | Publication date |
---|---|
CN101326519A (zh) | 2008-12-17 |
AU2006333375A1 (en) | 2007-07-12 |
CA2626849A1 (en) | 2007-07-12 |
JP5011311B2 (ja) | 2012-08-29 |
WO2007078479A3 (en) | 2007-09-13 |
WO2007078479A2 (en) | 2007-07-12 |
AU2006333375B2 (en) | 2011-06-23 |
EP1963994A2 (en) | 2008-09-03 |
US7933928B2 (en) | 2011-04-26 |
CA2626849C (en) | 2014-09-16 |
WO2007078479B1 (en) | 2007-10-25 |
JP2009521774A (ja) | 2009-06-04 |
US20070150432A1 (en) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101326519B (zh) | 用于将xml文档加载到存储器中的方法 | |
US11423457B2 (en) | User interface and geo-parsing data structure | |
CN101751457B (zh) | 信息处理设备、数据库系统、信息处理方法 | |
CN100367702C (zh) | 用于解析二进制数据的方法和系统 | |
CN104573115B (zh) | 支持多类型数据库操作的集成接口的实现方法及系统 | |
CN101313300B (zh) | 本地搜索 | |
US20050050092A1 (en) | Direct loading of semistructured data | |
US20060167900A1 (en) | Reducing memory used by metadata for duplicate user defined types | |
CN107463366B (zh) | 一种基于移动App的界面动态化方法 | |
US20090138500A1 (en) | Method of compact display combined with property-table-view for a complex relational data structure | |
US20040135705A1 (en) | Map data processing apparatus and center system | |
CN101192237A (zh) | 查询多方面信息的方法和系统 | |
US9275165B2 (en) | Method and apparatus for defining an application to allow polymorphic serialization | |
WO2017041595A1 (zh) | 一种显示数据的方法和装置 | |
CN105701112A (zh) | 一种数据处理方法、装置及系统 | |
CN105203121A (zh) | 在地理应用程序中动态地整合离线和在线建议 | |
CN111178965B (zh) | 一种资源投放方法及服务器 | |
CN114722036B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN101517572A (zh) | Xml文档的语义感知处理 | |
US8527478B1 (en) | Handling bulk and incremental updates while maintaining consistency | |
KR102407941B1 (ko) | Rpc에 기반하여 외부 장치의 함수 또는 프로시저를 호출하는 전자 장치가 사용자 인터페이스를 생성하는 방법, 그 컴퓨터 프로그램 및 그 전자 장치 | |
CN115550380A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN112052234B (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN111782834A (zh) | 图像检索的方法、装置、设备及计算机可读存储介质 | |
CN115842674B (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 |