CN101326519B - 用于将xml文档加载到存储器中的方法 - Google Patents

用于将xml文档加载到存储器中的方法 Download PDF

Info

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
Application number
CN2006800460901A
Other languages
English (en)
Other versions
CN101326519A (zh
Inventor
西瓦桑卡兰·钱德拉塞卡尔
尼普恩·阿加瓦尔
纳米特·贾殷
拉维·穆尔蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN101326519A publication Critical patent/CN101326519A/zh
Application granted granted Critical
Publication of CN101326519B publication Critical patent/CN101326519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, 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文档加载到存储器中的方法 
技术领域
本发明涉及数据库系统,且特定来说涉及用于将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类型的所述多个阵列元素加载到所述阵列的所述新分区中。
CN2006800460901A 2005-12-22 2006-11-29 用于将xml文档加载到存储器中的方法 Active CN101326519B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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