CN101443766B - 对二进制编码的xml数据的高效分段更新 - Google Patents
对二进制编码的xml数据的高效分段更新 Download PDFInfo
- Publication number
- CN101443766B CN101443766B CN2007800176539A CN200780017653A CN101443766B CN 101443766 B CN101443766 B CN 101443766B CN 2007800176539 A CN2007800176539 A CN 2007800176539A CN 200780017653 A CN200780017653 A CN 200780017653A CN 101443766 B CN101443766 B CN 101443766B
- Authority
- CN
- China
- Prior art keywords
- xml document
- binary form
- coding
- parameter
- modification
- 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
- 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]
-
- 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/166—Editing, e.g. inserting or deleting
-
- 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/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- 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
-
- 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/151—Transformation
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)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
XML文档可以按紧凑二进制形式被表示,该紧凑二进制形式以可使用形式维持XML数据的所有特征。响应于对以紧凑二进制形式存储的XML文档进行修改(例如,插入、删除或更新节点)的请求,所请求的修改的某个表示被计算,以便直接应用到XML文档的二进制形式。因而,所请求的修改被直接应用到持续存储的二进制形式,而无需构造对象树或将XML文档构造或具体化为相应的文本形式。考虑到用来编码文档的二进制形式的性质,识别实际需要改变的字节,其中包括识别在二进制表示中何处需要进行相应的实际改变。
Description
技术领域
本发明一般地涉及数据管理,更具体而言涉及在关系数据库管理系统(RDBMS)中以分段方式对紧凑二进制编码XML数据进行高效更新的技术。
背景技术
可扩展标记语言(XML)的使用已经成为一种流行且有用的技术,用于表示并交换任何种类的信息,例如在计算机程序应用和服务之间交换信息。因此,对XML数据的有效且高效的存储和操纵也同样成为有用并且必要的。因而,一些数据库已被增强,以支持对XML数据的存储和操纵以及访问。使用XML作为其数据模型的应用的主要要求之一是模式(schema)灵活性。但是,在传统上,用于存储XML数据的数据库并未针对模式灵活性而被优化。虽然这种数据库可以在提供了模式并且该模式不易改变的场景中高效工作,但是当模式易于改变或者模式的结构松散时,这些数据库缺乏对XML的恰当支持。
XML数据是自描述性的(即,它包含与数据一起的标签),但是标准的XML序列化格式是基于文本的,包括数字和日期。这导致XML文档的大小与其他用于捕捉同样数据的专属格式相比大大增加。XML文档的大小增加导致由于有限的网络带宽引起的传输期间的开销成本,以及由于有限的盘I/O带宽引起的存储和检索操作的更缓慢性能。因此,引入了XML数据的二进制编码形式,该形式尝试在仍然提供存储和查询益处的同时使模式灵活性最大化。这种二进制编码形式在Ravi Murthy等人提交的题为“Encoding of Hierarchically Organized Data for Efficient Storage andProcessing”的美国专利申请No.11/182,997(“Murthy申请”)中有所描述,该申请的全部内容通过引用被全部被并入在此用于所有用途,就好像在这里完全公开了一样。
利用Murthy申请中描述的编码格式,XML数据是以紧凑二进制形式存储的,该形式以可使用的形式维持XML数据的所有特征,例如数据下面的层级结构(例如,数据模型或信息集)、元素和属性的概念,等等。该紧凑二进制格式显著地最小化了由于XML标签引起的开销。因此,经编码的XML比相应的文本字符表示的二进制表示更紧凑。与解析相比,该二进制格式可被更高效地处理,因为数据被有效地预解析。
数据库中的XML文档可通过插入节点并且改变或删除现有节点而被修改,所有这些在这里都被总称为更新操作。取决于操纵XML数据的应用的性质,这些类型的操作相对而言可以是共通的。但是,现有的XML数据存储系统不提供更新二进制编码的XML文档的高效手段。这种系统一般以对象树(例如,DOM)的形式将整个XML文档加载到本地存储器(例如,RAM)中,改变存储器中的数据,并且将更新后的DOM树转换回二进制形式以便存储。该过程一般来说是低效的,并且导致可缩放性和性能问题,因为由于一个原因,整个XML文档需要在本地存储器中被具体化。此外,一些现有的XML数据存储系统在有非常具体的XML模式可用时可提供优化的用于更新XML数据的技术。但是,这些系统不能恰当地应对XML方案非常不受约束的场景或者没有XML方案可用的场景。
因此,基于以上原因,需要一种用于对持续存储在数据库中的XML数据进行高效更新的技术。
本部分中描述的方法是可以被实行的方法,但不一定是先前已设想或实行过的方法。因此,除非另有指明,否则不应当假定本部分中描述的方法仅因为被包括在本部分中就能成为现有技术。
附图说明
在附图中以示例方式而非限制方式示出了本发明,附图中相似的标号指代类似的元件,其中:
图1是示出根据本发明一个实施例用于生成与所请求的对以紧凑二进制形式持续存储在数据库中的XML文档的修改相对应的改变元组(change tuple)的过程的流程图;
图2是示出根据本发明一个实施例如何在相应改变元组中表达对紧凑二进制编码XML数据的更新的示例的图;并且
图3是示出本发明实施例可在其上实现的计算机系统的框图。
具体实施方式
在以下描述中,出于说明目的,阐述了许多具体细节以帮助全面理解本发明。但是,很明显,没有这些具体细节也能实现本发明。在其他情况下,以框图形式示出公知的结构和设备,以避免不必要地模糊本发明。
实施例的功能概述
这里描述了用于对存储在数据库中的XML数据进行更新的技术。基于现有技术,XML文档可以按紧凑二进制形式被表示和解释,该紧凑二进制形式以可使用形式维持XML数据的所有特征。XML的该紧凑二进制表示进而可作为大对象(例如,二进制大对象,或者BLOB)被持续存储(例如,存储在盘上)。响应于对以紧凑二进制形式存储的XML文档进行修改(例如,插入、删除或更新节点)的请求,所请求的修改的某个表示被计算,以便直接应用到XML文档的二进制形式。因而,所请求的修改可被直接应用到持续存储的二进制形式,而无需构造XML文档的对象树(例如,DOM)和/或将XML文档构造或具体化为相应的文本形式。
XML文档的实际需要被改变的(一个或多个)节点被识别。识别受影响的(一个或多个)节点包括识别在二进制表示中的何处需要进行相应的实际改变,例如实际改变开始于哪个字节处。因而,实际改变开始于哪个字节处作为“目的地偏移量”参数被包括在所请求的修改的表示中。但是,如果将优选紧凑二进制形式用于XML数据,则识别实际改变开始于二进制表示中的何处就不是像简单地识别表示受影响的一个或多个节点的字节的一个或多个范围那么简单直接了。这是因为优选的二进制形式利用了各个XML文档中的已知结构属性和约束,例如通过相应XML模式赋予文档的那些,以便一般经由对标签的令牌化和操作码的使用来压缩XML文档。例如,如果同一标签被重复多次,或者如果XML模式约束元素的顺序,那么利用优选二进制形式则可避免相应的令牌ID。因而,对二进制表示中需要进行相应实际改变的位置的计算可考虑用来编码XML文档的紧凑二进制形式的性质。关于编码XML数据的紧凑二进制形式的优选非限制性示例的更多细节,参考Murthy申请。
除了目的地偏移量参数之外,足够的令牌被包括在所请求的修改的表示中,以便能够将实际改变直接插入到XML文档的二进制形式中。例如,与各个被更新的节点相对应的某些组的字节可被改变、添加或删除,而无需覆写整个XML文档。
操作环境-存储系统
数据库系统一般包括一个或多个客户端,该一个或多个客户端通信地耦合到数据库服务器,该数据库服务器耦合到共享的数据库。“数据库服务器”可以总地指服务器实例和实例在其上运行的机器的集群。一般来说,服务器是集成软件组件和计算资源的分配的组合,所述计算资源例如是存储器、节点和节点上的用于在处理器上执行集成软件组件的进程,其中软件和计算资源的组合专用于代表服务器的客户端提供特定类型的功能。
在数据库管理的其他功能中,数据库服务器管理和辅助对特定数据库的访问,处理客户端访问数据库的请求。为了使得客户端能与服务器交互,为该客户端建立会话。会话(例如数据库会话)是从客户端到服务器(例如数据库服务器)建立的特定连接。通过会话,客户端可以向数据库服务器发出一系列请求(例如,对数据和/或元数据的请求)。
数据库包括存储在诸如一组硬盘之类的持续存储器机制上的元数据和数据。这种数据和元数据可以例如根据关系和/或对象-关系数据库构造而在逻辑上存储在数据库中。数据库应用通过向数据库服务器提交使得数据库服务器对存储在数据库中的数据执行操作的命令来与数据库服务器交互。从数据库应用发送到数据库服务器的数据库命令包含数据库命令的原始语句。为了使得数据库服务器能处理命令,该命令必须符合数据库服务器所支持的数据库语言。许多数据库服务器所支持的一种非限制性数据库语言被称为结构化查询语言(SQL)。
一般来说,数据被存储在数据库中的一个或多个数据容器(container)中,每个容器包含记录,并且每个记录内的数据被组织成一个或多个字段。在关系数据库系统中,数据容器一般被称为表,记录被称为行,并且字段被称为列。在面向对象的数据库中,数据容器一般被称为对象类,记录被称为对象,并且字段被称为属性。其他数据库体系结构可使用其他术语。实现本发明的系统并不限于任何特定类型的数据容器或数据库体系结构。但是,出于说明目的,这里使用的示例和术语将一般是与关系数据库相关联的。因而,术语“表”、“行”和“列”在这里将用于分别指数据容器、记录和字段。
关系数据库系统可被扩展,以提供对特定类型的数据的存储、管理和查询的本地支持(从而充当用于该特定类型的数据的仓库)。例如,可利用下述特征和技术来增强传统的关系数据库系统:这些特征和技术使得能够直接将XML文档存储在数据库中,并且能够以XML中心方式(例如,利用XPath和XQuery查询语言)或者关系中心方式(例如,利用SQL查询语言)来对这种XML数据进行访问。这种仓库有时被称为XML仓库或XML数据库(即,“XDB”)。
更新XML文档
通过在XML文档中插入、更新和/或删除XML节点,可以更新XML文档。对修改XML文档的请求可通过以下方式来表达:识别该XML文档、利用XPath或其他路径名称表达来识别要改变的(一个或多个)节点,并且提供新的值(如果有的话)。可以请求的那组操作如下。
(1)添加新节点:用户可以利用XPath或其他路径名称表达来识别目标节点或父节点,并且指定要插入的子节点的值。例如,通过识别在其前插入新节点的目标节点(例如,insertChild()命令)或者通过识别父节点并且提供要插入的子节点来作为所识别的父节点的最后的孩子(例如,appendChild()命令),可以识别在XML文档内插入新节点的位置。
(2)更新现有节点:用户可以利用XPath或其他路径名称表达来识别目标节点,并且指定要更新的目标节点的新值。
(3)删除节点:用户可以利用XPath或路径名称表达来识别要删除的目标节点。
如上所述,传统的XML存储系统一般将整个XML文档加载到本地存储器中以执行所请求的操作。但是,这是一种导致缓慢性能的低效过程。因此,根据一个实施例,基于XML数据修改请求,直接更新存储的XML文档的紧凑二进制表示。换言之,可直接在持续存储装置(即,非易失性存储器,例如盘)上更新XML文档,而无需将文档加载到本地易失性存储器中。或者,XML文档可按紧凑二进制表示而不是作为对象树被加载到本地易失性存储器中以便更新,其中紧凑二进制表示比起简单地以二进制格式表示文本XML来更为紧凑(例如,参见Murthy申请)。
对存储在数据库中的XML文档进行更新的高效过程
如上所述,对XML文档的改变的某种表示被计算,以便直接应用到XML文档的紧凑二进制形式。根据一个实施例,这种改变是由一组参数值来表示的,该组参数值在这里被称为“改变元组”。一般地,图1是示出用于生成改变元组的过程的流程图。
图1是示出根据本发明一个实施例用于生成与所请求的对以紧凑二进制形式持续存储在数据库中的XML文档的修改相对应的改变元组的过程的流程图。图1所示的方法可通过例如在计算机系统(例如,图3的计算机系统)内由一个或多个处理器执行一个或多个指令序列来执行。
在块102,在以紧凑二进制形式存储在数据库中的XML文档的上下文中,接收对XML文档进行修改的请求。例如,在支持对XML数据的存储和管理的数据库系统中的数据库服务器处接收SQL或SQL/XML语句。这种语句一般标识:(a)要更新的XML文档;(b)所标识的XML文档内去往被更新的节点的一个或多个路径名称(例如,XPath);以及(c)被更新的相应节点的新值。
在块104,基于修改请求来识别XML文档中被请求修改的一个或多个节点。用于定位存储在数据库中的XML数据的各种方法可用于基于修改请求中指定的路径名称来识别受影响的节点。定位存储在数据库中的XML数据的方法的非限制性示例包括使用XML索引、流式XPath评估(例如,非确定性有限状态自动控制,或者说NFA),等等。另外,用来在持续存储装置中存储XML文档的紧凑二进制形式最终可是二进制大对象(BLOB)。在这种场景中,块104可包括识别BLOB内以序列化二进制形式表示一个或多个受影响的节点的确切位置。
在块106,计算所请求的修改如何影响一个或多个节点的紧凑二进制形式。例如,如果节点值被从“1”改变到“1000”,则计算如何以紧凑二进制形式表示“1000”。又例如,如果节点值被从整数型“1”改变到浮点型“1000”,则计算如何以紧凑二进制形式表示浮点数“1000”,因为紧凑二进制形式可能按值的原始数据类型来存储值,这在Murthy申请中有所描述。根据一个实施例,例如在块110,以紧凑二进制形式表示的一个或多个节点的“新值”被计算并表示为所请求的对XML文档的修改的某个表示(例如,改变元组)中的参数。根据一个实施例,新值考虑了所请求的修改对紧凑二进制形式的任何影响,这些影响不限于所请求的修改对所识别的一个或多个节点的直接影响,这将在下文中更详细描述。因此,新值表示被插入到紧凑二进制形式的字节串中以替换旧值的新的一组字节。
另外,“1000”的表示有可能将要求比“1”的表示更多的字节,因而,作为块106的一部分,“新值长度”可被计算。根据一个实施例,例如在块110,一个或多个节点的新值长度被计算并表示为与所请求的对XML文档的修改相对应的改变元组中的参数。根据一个实施例,新值长度考虑了所请求的修改对紧凑二进制形式的任何影响,这些影响不限于所请求的修改对所识别的一个或多个节点的直接影响,这将在下文中更详细描述。
对于以紧凑二进制形式存储的XML文档(即,不是基于字符的XML内容的简单二进制表示),对一个节点的改变对紧凑二进制形式的影响可能不限于对该一个节点的直接影响。例如,Murthy申请描述了一种被称为“阵列模式优化”(array mode optimization)的技术,从而如果同一标签被重复多次,那么相应的令牌ID不被重复。因而,节点的添加或删除可能影响标签序列,因此影响紧凑二进制编码方案的阵列模式优化组件。又例如,Murthy申请描述了一种被称为“模式顺序优化”(schemasequential optimization)的技术,从而如果与结构有关的元数据(例如,XML模式)将元素的顺序约束为特定的顺序,那么由于利用了XML数据模型,在编码中则可以避免令牌ID。因而,对XML模式的改变(例如,经由DDL操作)可引起对XML文档的相应改变,以便仍然符合该模式。对XML模式的这个改变和所导致的对相应XML文档的改变最终可能影响文档内元素的顺序,因此,影响紧凑二进制编码方案的模式顺序优化组件。
因此,在块108,计算所请求的修改在其对一个或多个所识别的节点的影响之外如何影响XML文档的紧凑二进制形式。根据一个实施例,特定的所请求的修改对紧凑二进制形式的该整体净影响被表示为用于插入到紧凑二进制形式中的“新值”。因此,例如在块110,特定的所请求的修改对紧凑二进制形式的整体影响的新值被计算并表示为与所请求的修改相对应的改变元组中的参数。类似地,例如在块110,对紧凑二进制形式的该整体影响被表示在与所请求的修改相对应的改变元组中的相应“新值长度”参数中。换句话说,所请求的修改对紧凑二进制形式的直接影响和间接影响(如果有的话)被计算并作为相应参数“新值和新值长度”一起表示在相应改变元组中。
表达所请求的修改的影响
在块110,表示所请求的修改对XML文档的紧凑二进制形式的实际影响的参数被计算并表示在例如相应的改变元组中。进而,该改变元组可被应用到持续地存储在数据库中或者本地地存储在非易失性存储器中的XML文档的紧凑二进制形式。根据一个实施例,所请求的修改对XML文档的紧凑二进制形式的影响是以以下改变元组的形式来表达的:<destOffset,changedLen,newValue,newValueLen>。对于不同的实现方式,用于指称以上改变元组参数的名称可能不同。因此,改变元组的成分不限于以上参数名称。
注意,对于不同的实现方式,BLOB的性质可能不同。因而,可以在存储XML文档的紧凑二进制表示的某些类型的BLOB中进行插入和删除,而在其他类型的BLOB中则不能。换言之,一些BLOB允许在BLOB内的任何位置插入或删除一组连续的字节,而无需改写剩余字节直到末尾。与之不同,一些BLOB不允许在没有覆写起始插入/删除点之后的整个BLOB的情况下插入或删除一组连续的字节。不论BLOB的性质如何,这里描述的技术在计算改变元组参数时都可考虑BLOB的特性。
图2是示出根据本发明一个实施例如何在相应改变元组中表达对紧凑二进制编码XML数据的更新的示例的图。
参数“destOffset”(目的地偏移量)用于表达紧凑二进制形式中所请求的修改的影响开始的点。因而,目的地偏移量至少对于经由所请求的修改来更新的第一原子节点(以二进制形式出现)标识紧凑二进制形式内所请求的修改开始的偏移位置。根据一个实施例,目的地偏移量被表示为从紧凑二进制形式的开头起的若干个字节。如上所述,目的地偏移量可能不是所请求的修改直接影响的所标识节点的实际起始位置。更确切地说,目的地偏移量在考虑到紧凑二进制形式的性质的情况下标识对紧凑二进制形式的实际改变的起始位置。例如,所请求的修改对二进制形式的实际影响可能开始于二进制形式中的节点值的位置之前的位置处。
对于图2所示的示例,假定只有一个节点被更新并且该节点的旧值是利用16个字节以紧凑二进制形式来表示的,即,是以字节227-243来表示的。还假定被更新的节点的标签名称被改变,从而导致紧凑二进制编码方案的相关联的阵列模式优化组件的改变,例如,通过将第五个<lineItem>标签改变成相应XML层级中的同一位置处的某个其他标签,一系列的5个接连的<lineItem>标签被中断。因此,对该节点的改变对紧凑二进制形式具有不仅限于被改变的节点的影响,即节点之前的一些字节需要被改变以反映阵列模式优化的改变。因为对其他字节的这个影响,对二进制形式的净影响实际开始于字节222,而不是字节227。因而,该更新的目的地偏移量是222,这表明对二进制形式的改变开始于字节串的字节222。
参数“changedLen”(被改变长度)用于表达紧凑二进制形式的被更新节点的被改变的值或者说旧值的长度。以上提到在此示例中该节点的旧值是利用16个字节以紧凑二进制形式表示的。因此,此更新的被改变长度是16个字节。
参数“newValue”(新值)用于表达由于节点更新而对紧凑二进制形式的整个改变的新值,其中新值是以其相应的紧凑二进制形式来表达的,并且包括对二进制形式的不限于被更新节点的任何影响。参数“newValueLen”(新值长度)用于表达由于节点更新而对紧凑二进制形式进行的整个改变的新值的以字节为单位的长度,其中新值是以其相应的紧凑二进制形式来表达的。因而,此更新的新值长度为21个字节,即从目的地偏移量字节222到字节243处节点的末尾。在此示例中,利用16字节表达的表示旧节点值的字节串被替换为表示新节点值以及该节点值对二进制形式的其余部分的影响的21字节的新串。
基于修改请求中XPath所标识的节点的数目,单次用户更新操作可能导致多个改变元组。根据一个实施例,这些组的改变元组被表示在XML改变文档中,XML改变文档在这里被称为“atom-diff-XML”,其中“atom”在这里指的是本原改变操作(primitive change operation)。如上所述,表示由于修改请求而导致的对紧凑二进制形式的改变的atom-diff-XML可基于相应存储能力被应用到基本存储装置。例如,如果存储装置支持分段更新,那么atom-diff-XML中表示的本原改变操作被直接转化成下层基本存储构造。如果存储装置只支持覆写能力(而没有增大/减小长度的能力),那么atom-diff-XML中表示的整体所请求改变通过覆写第一改变(基于文档顺序)之后的所有内容而被应用到下层基本存储构造。
除了节点更新操作之外,与参考图2描述的示例一样,节点可被插入或删除。插入新节点到XML文档中会向紧凑二进制形式添加字节。在考虑到新节点对周围节点的影响(如果有的话)以及周围节点的相应二进制表示的情况下,目的地偏移量标识新节点被插入在字节串中的何处。类似地,与节点插入操作相对应的新值和新值长度考虑了新节点和新节点对紧凑二进制形式的整体影响。即使新节点被添加,也可能存在被改变长度参数(“老”长度)的相应值,因为新节点可能影响周围节点的紧凑二进制表示。因而,在这种场景中的被改变长度参数将表示受新节点插入影响的任何周围节点(如果有的话)的旧表示。同样,从XML文档中删除节点可能将x个字节替换为y个字节,因为对节点的删除可能对其二进制表示将由该y个字节构成的其他节点的二进制表示有影响。总之,不论是对XML文档进行节点更新、删除还是添加,改变元组的值都反映了对节点的改变以及节点改变对其他节点的紧凑二进制表示的影响(如果有的话)。
因此,描述了用于在无需在存储器中以DOM树形式将整个目标XML文档具体化的情况下应用用户更新语句的技术,从而与其他技术相比改进了性能和可缩放性。
硬件概述
图3是示出本发明的实施例可在其上实现的计算机系统300的框图。计算机系统300包括用于传输信息的总线302或其他通信机构以及与总线302相耦合用于处理信息的处理器304。计算机系统300还包括诸如随机访问存储器(RAM)或其他动态存储设备之类的主存储器306,其耦合到总线302,用于存储信息和处理器304要执行的指令。主存储器306还可用于存储在处理器304执行指令期间的临时变量或其他中间信息。计算机系统300还包括只读存储器(ROM)308或其他静态存储设备,其耦合到总线302,用于存储静态信息和处理器304的指令。提供了诸如磁盘或光盘之类的存储设备310,其耦合到总线302,用于存储信息和指令。
计算机系统300可以经由总线302耦合到显示器312,例如阴极射线管(CRT),用于向计算机用户显示信息。包括字母数字和其他键的输入设备313被耦合到总线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、FLASH-EPROM、任何其他存储器芯片或卡盘,下文中描述的载波,或者计算机可以读取的任何其他介质。
各种形式的机器可读介质可用于将一条或多条指令的一个或多个序列传送到处理器304以供执行。例如,指令可以首先承载在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并利用调制解调器经由电话线发送指令。计算机系统300本地的调制解调器可以接收电话线上的数据,并使用红外发送器来将数据转换为红外信号。红外检测器可以接收在红外信号中携带的数据,并且适当的电路可以将数据置于总线302上。总线302将数据传送到主存储器306,处理器304从主存储器306取得指令并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储设备310上。
计算机系统300还包括耦合到总线302的通信接口318。通信接口318提供到与本地网络322相连接的网络链路320的双向数据通信耦合。例如,通信接口318可以是综合业务数字网络(ISDN)卡或调制解调器,以提供与相应类型电话线的数字通信连接。又例如,通信接口318可以是局域网(LAN)卡,以提供与兼容LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,通信接口318发送并接收电的、电磁的或光信号,这些信号携带了表示各种类型信息的数字数据流。
网络链路320一般通过一个或多个网络提供到其他数据设备的数据通信。例如,网络链路320可以通过本地网络322提供与主机计算机323或由因特网服务供应商(ISP)326操作的数据设备的连接。ISP326进而通过全球分组数据通信网络(现在通常称为“因特网”)328提供数据通信服务。本地网络322和因特网328都使用携带数字数据流的电的、电磁的或光信号。经过各种网络的信号和在网络链路320上并经过通信接口318的信号(这些信号携带去往和来自计算机系统300的数字数据)是传输信息的载波的示例性形式。
计算机系统300可以通过(一个或多个)网络、网络链路320和通信接口318发送消息并接收数据,其中包括程序代码。在因特网示例中,服务器330可以通过因特网328、ISP326、本地网络322和通信接口318发送针对应用程序的请求代码。
接收到的代码可以在接收时被处理器304执行,和/或被存储在存储设备310或其他非易失性存储介质中以供以后执行。以这种方式,计算机系统300可以获得载波形式的应用代码。
在以上说明书中,已参考对于不同实现方式可能不同的许多具体细节描述了本发明的实施例。因而,关于本发明是什么以及申请人希望本发明是什么的唯一和排他指示是根据本申请授权的那套采取其授权时的特定形式的权利要求,包括任何后续的更正。这里针对这种权利要求中包含的术语明确阐述的任何限定都应当决定这种术语在权利要求中使用时的含义。因此,在权利要求中没有明确记载的限定、要素、性质、特征、优点或属性都不应当以任何方式限制这种权利要求的范围。因此,说明书和附图被认为是说明性的而不是限制性的。
Claims (9)
1.一种由计算机实现的方法,包括:
接收对以紧凑二进制形式的编码存储在数据库中的XML文档进行修改的请求;
基于所述请求,
识别所述XML文档的被请求修改的一个或多个节点,
根据所请求的修改生成在所述紧凑二进制形式的编码中代表所述一个或多个节点的一个或多个编码的值,
确定所述紧凑二进制形式的编码中的与所述一个或多个节点相对应的位置;
基于所述一个或多个编码的值和所述位置,计算表征对所述XML文档的紧凑二进制形式的编码的改变的参数;以及
在不将所述XML文档的紧凑二进制形式的编码重新具体化的情况下,基于所述参数来对所述XML文档的紧凑二进制形式的编码进行所请求的修改。
2.如权利要求1所述的方法,其中计算所述参数包括识别所述紧凑二进制形式的编码内要应用第一改变的起始位置。
3.如权利要求2所述的方法,其中计算所述参数包括计算:
表示所述起始位置的目的地偏移量参数,其中所述起始位置被识别为从所述XML文档的紧凑二进制形式的编码的开头起的字节数目偏移量。
4.如权利要求2所述的方法,其中计算所述参数包括生成表征对所述一个或多个节点中的全部节点的修改的单个XML文档。
5.如权利要求2所述的方法,其中对所述XML文档的修改包括至少一个节点更新操作,并且计算所述参数包括:
目的地偏移量参数,该目的地偏移量参数指定所述起始位置,其中所述起始位置被识别为从所述XML文档的紧凑二进制形式的编码的开头起的字节数目偏移量;
被改变长度参数,该被改变长度参数指定所述XML文档的紧凑二进制形式的编码的用于表示与经历所述节点更新操作的节点相关联的旧二进制值的字节的数目,其中所述旧二进制值是由于所述节点更新操作而被替换的值;
新值参数,该新值参数表示由于所述节点更新操作而得到的新二进制值,其中所述新二进制值是在所述XML文档的紧凑二进制形式的编码中替换所述旧二进制值的值;以及
新值长度参数,该新值长度参数指定用于表示所述新二进制值的字节的数目。
6.如权利要求5所述的方法,其中对所述XML文档的紧凑二进制形式的编码进行改变包括:
从所述起始位置处开始,用所述新二进制值来替换所述旧二进制值。
7.如权利要求1所述的方法,其中计算所述参数包括:
除了所请求的修改对下述字节的影响之外,还计算所请求的修改对所述XML文档的紧凑二进制形式的编码的其他影响,所述字节表示所述XML文档的、基于所述请求中的路径名称表达而识别以便更新的一个或多个节点。
8.如权利要求1所述的方法,其中对所述XML文档的紧凑二进制形式的编码进行所请求的修改包括直接对存储在持久存储装置上的紧凑二进制形式的编码进行所请求的修改。
9.如权利要求8所述的方法,其中对所述XML文档的紧凑二进制形式的编码进行所请求的修改不构造所述XML文档的对象树。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/437,512 | 2006-05-18 | ||
US11/437,512 US9460064B2 (en) | 2006-05-18 | 2006-05-18 | Efficient piece-wise updates of binary encoded XML data |
PCT/US2007/010163 WO2007136507A1 (en) | 2006-05-18 | 2007-04-24 | Efficient piece-wise updates of binary encoded xml data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101443766A CN101443766A (zh) | 2009-05-27 |
CN101443766B true CN101443766B (zh) | 2013-05-01 |
Family
ID=38529632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800176539A Active CN101443766B (zh) | 2006-05-18 | 2007-04-24 | 对二进制编码的xml数据的高效分段更新 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9460064B2 (zh) |
EP (1) | EP2021957B1 (zh) |
JP (2) | JP5407043B2 (zh) |
CN (1) | CN101443766B (zh) |
AU (1) | AU2007254441C1 (zh) |
CA (1) | CA2651637C (zh) |
WO (1) | WO2007136507A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7930277B2 (en) | 2004-04-21 | 2011-04-19 | Oracle International Corporation | Cost-based optimizer for an XML data repository within a database |
US8073841B2 (en) | 2005-10-07 | 2011-12-06 | Oracle International Corporation | Optimizing correlated XML extracts |
US7933928B2 (en) | 2005-12-22 | 2011-04-26 | Oracle International Corporation | Method and mechanism for loading XML documents into memory |
US8255790B2 (en) * | 2006-09-08 | 2012-08-28 | Microsoft Corporation | XML based form modification with import/export capability |
US7797310B2 (en) | 2006-10-16 | 2010-09-14 | Oracle International Corporation | Technique to estimate the cost of streaming evaluation of XPaths |
US7933935B2 (en) | 2006-10-16 | 2011-04-26 | Oracle International Corporation | Efficient partitioning technique while managing large XML documents |
US8010889B2 (en) * | 2006-10-20 | 2011-08-30 | Oracle International Corporation | Techniques for efficient loading of binary XML data |
US7739251B2 (en) * | 2006-10-20 | 2010-06-15 | Oracle International Corporation | Incremental maintenance of an XML index on binary XML data |
US9953103B2 (en) * | 2006-11-16 | 2018-04-24 | Oracle International Corporation | Client processing for binary XML in a database system |
US7886223B2 (en) * | 2006-11-17 | 2011-02-08 | International Business Machines Corporation | Generating a statistical tree for encoding/decoding an XML document |
US7974993B2 (en) * | 2006-12-04 | 2011-07-05 | Microsoft Corporation | Application loader for support of version management |
US8499238B2 (en) * | 2007-07-11 | 2013-07-30 | International Business Machines Corporation | Manipulating design models by editing generated reports |
US20090037386A1 (en) * | 2007-08-03 | 2009-02-05 | Dietmar Theobald | Computer file processing |
US8260770B2 (en) * | 2007-09-21 | 2012-09-04 | Universities Space Research Association | Systems and methods for an extensible business application framework |
US7831540B2 (en) * | 2007-10-25 | 2010-11-09 | Oracle International Corporation | Efficient update of binary XML content in a database system |
US8145794B2 (en) * | 2008-03-14 | 2012-03-27 | Microsoft Corporation | Encoding/decoding while allowing varying message formats per message |
US8868482B2 (en) * | 2008-03-20 | 2014-10-21 | Oracle International Corporation | Inferring schemas from XML document collections |
US8595263B2 (en) * | 2008-06-02 | 2013-11-26 | Microsoft Corporation | Processing identity constraints in a data store |
US7925643B2 (en) * | 2008-06-08 | 2011-04-12 | International Business Machines Corporation | Encoding and decoding of XML document using statistical tree representing XSD defining XML document |
US20100030727A1 (en) * | 2008-07-29 | 2010-02-04 | Sivasankaran Chandrasekar | Technique For Using Occurrence Constraints To Optimize XML Index Access |
US8650182B2 (en) * | 2009-02-24 | 2014-02-11 | Oracle International Corporation | Mechanism for efficiently searching XML document collections |
US9965453B2 (en) * | 2009-10-15 | 2018-05-08 | Microsoft Technology Licensing, Llc | Document transformation |
US8255372B2 (en) | 2010-01-18 | 2012-08-28 | Oracle International Corporation | Efficient validation of binary XML data |
CA2702137A1 (en) | 2010-05-14 | 2010-07-28 | Ibm Canada Limited - Ibm Canada Limitee | Update and serialization of xml documents |
US10756759B2 (en) | 2011-09-02 | 2020-08-25 | Oracle International Corporation | Column domain dictionary compression |
US9294307B2 (en) | 2011-10-07 | 2016-03-22 | Microsoft Technology Licensing, Llc | Synchronization of conversation data |
US8812523B2 (en) | 2012-09-28 | 2014-08-19 | Oracle International Corporation | Predicate result cache |
CA2815156C (en) * | 2013-05-06 | 2020-05-05 | Ibm Canada Limited - Ibm Canada Limitee | Document order management via relaxed node indexing |
KR101974341B1 (ko) * | 2014-01-23 | 2019-05-02 | 한화정밀기계 주식회사 | 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체 |
CN104063488B (zh) * | 2014-07-07 | 2017-09-01 | 成都安恒信息技术有限公司 | 一种半自动化学习式的表单特征提取方法 |
US9626336B2 (en) | 2014-08-22 | 2017-04-18 | Microsoft Technology Licensing, Llc | Remote management of a graphical user interface |
CN106886566B (zh) * | 2017-01-12 | 2019-11-15 | 北京航空航天大学 | 压缩文件的修改方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040060006A1 (en) * | 2002-06-13 | 2004-03-25 | Cerisent Corporation | XML-DB transactional update scheme |
WO2006005646A1 (de) * | 2004-07-14 | 2006-01-19 | Siemens Aktiengesellschaft | Verfahren zum codieren eines xml-dokuments, sowie verfahren zum decodieren, verfahren zum codieren und decodieren, codiervorrichtung, decodiervorrichtung und vorrichtung zum codieren und decodieren |
US20060021246A1 (en) * | 2002-12-05 | 2006-02-02 | Schulze James M | Universal access port |
Family Cites Families (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061697A (en) * | 1996-09-11 | 2000-05-09 | Fujitsu Limited | SGML type document managing apparatus and managing method |
US6414610B1 (en) * | 1997-02-24 | 2002-07-02 | Rodney J Smith | Data compression |
US6018747A (en) * | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
US6674924B2 (en) * | 1997-12-30 | 2004-01-06 | Steven F. Wright | Apparatus and method for dynamically routing documents using dynamic control documents and data streams |
US6671853B1 (en) * | 1999-07-15 | 2003-12-30 | International Business Machines Corporation | Method and system for selectively streaming markup language documents |
US6721727B2 (en) * | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US6598055B1 (en) * | 1999-12-23 | 2003-07-22 | International Business Machines Corporation | Generic code for manipulating data of a structured object |
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 |
US6675355B1 (en) * | 2000-03-16 | 2004-01-06 | Autodesk, Inc. | Redline extensible markup language (XML) schema |
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 |
US6898761B2 (en) * | 2000-05-01 | 2005-05-24 | Raytheon Company | Extensible markup language genetic algorithm |
US6941510B1 (en) * | 2000-06-06 | 2005-09-06 | Groove Networks, Inc. | Method and apparatus for efficient management of XML documents |
AU2000260103A1 (en) * | 2000-08-02 | 2002-02-13 | Philipp Kutter | Xml-robot |
EP1223759A1 (en) * | 2001-01-08 | 2002-07-17 | Robert Bosch Gmbh | Method for providing an extension code for a binary description for multimedia data |
WO2002057926A1 (en) * | 2001-01-19 | 2002-07-25 | Orderware Solutions Limited | Data transfer and/or transformation system and method |
JP3894280B2 (ja) * | 2001-02-02 | 2007-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体 |
AU2002253002B2 (en) * | 2001-02-05 | 2005-03-17 | Expway | Method and system for compressing structured descriptions of documents |
US6804677B2 (en) * | 2001-02-26 | 2004-10-12 | Ori Software Development Ltd. | Encoding semi-structured data for efficient search and browsing |
US7500017B2 (en) * | 2001-04-19 | 2009-03-03 | Microsoft Corporation | Method and system for providing an XML binary format |
JP3832807B2 (ja) * | 2001-06-28 | 2006-10-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
US6865599B2 (en) * | 2001-09-04 | 2005-03-08 | Chenglin Zhang | Browser-to-browser, dom-based, peer-to-peer communication with delta synchronization |
US20030069881A1 (en) * | 2001-10-03 | 2003-04-10 | Nokia Corporation | Apparatus and method for dynamic partitioning of structured documents |
US6879986B1 (en) | 2001-10-19 | 2005-04-12 | Neon Enterprise Software, Inc. | Space management of an IMS database |
US20030093626A1 (en) * | 2001-11-14 | 2003-05-15 | Fister James D.M. | Memory caching scheme in a distributed-memory network |
US7143343B2 (en) * | 2002-04-11 | 2006-11-28 | International Business Machines Corporation | Dynamic creation of an application's XML document type definition (DTD) |
US7454760B2 (en) * | 2002-04-22 | 2008-11-18 | Rosebud Lms, Inc. | Method and software for enabling n-way collaborative work over a network of computers |
US7434163B2 (en) | 2002-05-31 | 2008-10-07 | Sap Aktiengesellschaft | Document structures for delta handling in server pages |
US6996571B2 (en) * | 2002-06-28 | 2006-02-07 | Microsoft Corporation | XML storage solution and data interchange file format structure |
EP1686499B1 (en) * | 2002-06-28 | 2010-06-30 | Nippon Telegraph and Telephone Corporation | Selection and extraction of information from structured documents |
US7340673B2 (en) * | 2002-08-29 | 2008-03-04 | Vistaprint Technologies Limited | System and method for browser document editing |
US7080094B2 (en) * | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
KR100636909B1 (ko) * | 2002-11-14 | 2006-10-19 | 엘지전자 주식회사 | 확장성 표기 언어 기반의 전자문서 버전 매김 및 버전을이용한 갱신 문서 제공 방법 |
US7090318B2 (en) * | 2002-11-26 | 2006-08-15 | Tci Supply, Inc. | System for a sliding door with a camber |
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 |
US6843423B2 (en) * | 2003-03-13 | 2005-01-18 | Stmicroelectronics, Inc. | Smart card that can be configured for debugging and software development using secondary communication port |
US6836778B2 (en) * | 2003-05-01 | 2004-12-28 | Oracle International Corporation | Techniques for changing XML content in a relational database |
JP2004342029A (ja) * | 2003-05-19 | 2004-12-02 | Hitachi Ltd | 構造化文書圧縮方法及び装置 |
US7366729B2 (en) * | 2003-06-11 | 2008-04-29 | Wtviii, Inc. | Schema framework and a method and apparatus for normalizing schema |
US7519577B2 (en) * | 2003-06-23 | 2009-04-14 | Microsoft Corporation | Query intermediate language method and system |
US7219330B2 (en) * | 2003-06-26 | 2007-05-15 | Microsoft Corporation | Extensible metadata |
US7113942B2 (en) * | 2003-06-27 | 2006-09-26 | Microsoft Corporation | Scalable storage and processing of hierarchical documents |
US7302489B2 (en) * | 2003-08-01 | 2007-11-27 | Sap Ag | Systems and methods for synchronizing data objects among participating systems via asynchronous exchange of messages |
JP2005056363A (ja) * | 2003-08-07 | 2005-03-03 | Media Fusion Co Ltd | Xml情報送信装置 |
US7349913B2 (en) * | 2003-08-21 | 2008-03-25 | Microsoft Corporation | Storage platform for organizing, searching, and sharing data |
US8150818B2 (en) * | 2003-08-25 | 2012-04-03 | International Business Machines Corporation | Method and system for storing structured documents in their native format in a database |
US7571391B2 (en) * | 2003-10-17 | 2009-08-04 | Sap Ag | Selective rendering of user interface of computer program |
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 |
US7165063B2 (en) * | 2003-11-19 | 2007-01-16 | International Business Machines Corporation | Context quantifier transformation in XML query rewrite |
US7991786B2 (en) * | 2003-11-25 | 2011-08-02 | International Business Machines Corporation | Using intra-document indices to improve XQuery processing over XML streams |
US7318063B2 (en) * | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US7366735B2 (en) * | 2004-04-09 | 2008-04-29 | Oracle International Corporation | Efficient extraction of XML content stored in a LOB |
US7493305B2 (en) * | 2004-04-09 | 2009-02-17 | Oracle International Corporation | Efficient queribility and manageability of an XML index with path subsetting |
US7440954B2 (en) * | 2004-04-09 | 2008-10-21 | Oracle International Corporation | Index maintenance for operations involving indexed XML data |
CA2561734C (en) * | 2004-04-09 | 2013-08-13 | Oracle International Corporation | Index for accessing xml data |
US7877356B1 (en) * | 2004-05-24 | 2011-01-25 | Apple Inc. | Retaining intermediate states of shared groups of objects and notification of changes to shared groups of objects |
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 |
US7627589B2 (en) * | 2004-08-10 | 2009-12-01 | Palo Alto Research Center Incorporated | High performance XML storage retrieval system and method |
US7403940B2 (en) | 2004-08-31 | 2008-07-22 | Yahoo! Inc. | Optimal storage and retrieval of XML data |
US7310648B2 (en) * | 2004-09-15 | 2007-12-18 | Hewlett-Packard Development Company, L.P. | System for compression of physiological signals |
US7464082B2 (en) * | 2004-11-29 | 2008-12-09 | International Business Machines Corporation | Methods for de-serializing data objects on demand |
WO2010049742A1 (en) * | 2004-12-01 | 2010-05-06 | Computer Associates Think, Inc. | Managing elements residing on legacy systems |
US20060136508A1 (en) * | 2004-12-16 | 2006-06-22 | Sam Idicula | Techniques for providing locks for file operations in a database management system |
US7586839B2 (en) * | 2004-12-16 | 2009-09-08 | Lenovo Singapore Pte. Ltd. | Peer to peer backup and recovery |
US7945590B2 (en) * | 2005-01-06 | 2011-05-17 | Microsoft Corporation | Programmability for binding data |
US20060167912A1 (en) * | 2005-01-25 | 2006-07-27 | Microsoft Corporation | Method and system for use of subsets in serialized documents |
US7441185B2 (en) * | 2005-01-25 | 2008-10-21 | Microsoft Corporation | Method and system for binary serialization of documents |
US8346737B2 (en) * | 2005-03-21 | 2013-01-01 | Oracle International Corporation | Encoding of hierarchically organized data for efficient storage and processing |
US7730399B2 (en) * | 2005-04-22 | 2010-06-01 | Microsoft Corporation | Journal file reader |
US8103880B2 (en) * | 2005-06-03 | 2012-01-24 | Adobe Systems Incorporated | Method for communication between computing devices using coded values |
US7739586B2 (en) * | 2005-08-19 | 2010-06-15 | Microsoft Corporation | Encoding of markup language data |
US20070067461A1 (en) * | 2005-09-21 | 2007-03-22 | Savchenko Vladimir S | Token streaming process for processing web services message body information |
US20070079234A1 (en) * | 2005-09-30 | 2007-04-05 | Microsoft Corporation | Modeling XML from binary data |
US8073841B2 (en) * | 2005-10-07 | 2011-12-06 | Oracle International Corporation | Optimizing correlated XML extracts |
US7774321B2 (en) * | 2005-11-07 | 2010-08-10 | Microsoft Corporation | Partial XML validation |
US20080077606A1 (en) * | 2006-09-26 | 2008-03-27 | Motorola, Inc. | Method and apparatus for facilitating efficient processing of extensible markup language documents |
US7844632B2 (en) * | 2006-10-18 | 2010-11-30 | Oracle International Corporation | Scalable DOM implementation |
US8010889B2 (en) * | 2006-10-20 | 2011-08-30 | Oracle International Corporation | Techniques for efficient loading of binary XML data |
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 |
US8965864B2 (en) * | 2006-10-31 | 2015-02-24 | Sap Se | Method and system for efficient execution and rendering of client/server interactive applications |
US8032499B2 (en) * | 2007-05-21 | 2011-10-04 | Sap Ag | Compression of tables based on occurrence of values |
US7769729B2 (en) * | 2007-05-21 | 2010-08-03 | Sap Ag | Block compression of tables with repeated values |
EP2040180B1 (en) | 2007-09-24 | 2019-01-16 | Hasso-Plattner-Institut für Digital Engineering gGmbH | ETL-less zero-redundancy system and method for reporting OLTP data |
EP2043313B1 (en) * | 2007-09-28 | 2013-08-14 | Alcatel Lucent | Circuit emulation service method and telecommunication system for implementing the method |
US7836037B2 (en) * | 2007-10-04 | 2010-11-16 | Sap Ag | Selection of rows and values from indexes with updates |
US7831540B2 (en) * | 2007-10-25 | 2010-11-09 | Oracle International Corporation | Efficient update of binary XML content in a database system |
US7840554B2 (en) * | 2008-03-27 | 2010-11-23 | International Business Machines Corporation | Method for evaluating a conjunction of equity and range predicates using a constant number of operations |
US8108361B2 (en) * | 2008-07-31 | 2012-01-31 | Microsoft Corporation | Efficient column based data encoding for large-scale data storage |
US20100088309A1 (en) | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale joining for querying of column based data encoded structures |
US8521705B2 (en) | 2011-07-11 | 2013-08-27 | Dell Products L.P. | Accelerated deduplication |
US10756759B2 (en) * | 2011-09-02 | 2020-08-25 | Oracle International Corporation | Column domain dictionary compression |
-
2006
- 2006-05-18 US US11/437,512 patent/US9460064B2/en active Active
-
2007
- 2007-04-24 WO PCT/US2007/010163 patent/WO2007136507A1/en active Application Filing
- 2007-04-24 JP JP2009510957A patent/JP5407043B2/ja active Active
- 2007-04-24 CN CN2007800176539A patent/CN101443766B/zh active Active
- 2007-04-24 AU AU2007254441A patent/AU2007254441C1/en active Active
- 2007-04-24 EP EP07756078.7A patent/EP2021957B1/en active Active
- 2007-04-24 CA CA2651637A patent/CA2651637C/en active Active
-
2013
- 2013-07-19 JP JP2013150500A patent/JP5699381B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040060006A1 (en) * | 2002-06-13 | 2004-03-25 | Cerisent Corporation | XML-DB transactional update scheme |
US20060021246A1 (en) * | 2002-12-05 | 2006-02-02 | Schulze James M | Universal access port |
WO2006005646A1 (de) * | 2004-07-14 | 2006-01-19 | Siemens Aktiengesellschaft | Verfahren zum codieren eines xml-dokuments, sowie verfahren zum decodieren, verfahren zum codieren und decodieren, codiervorrichtung, decodiervorrichtung und vorrichtung zum codieren und decodieren |
Also Published As
Publication number | Publication date |
---|---|
WO2007136507A1 (en) | 2007-11-29 |
AU2007254441B2 (en) | 2011-02-03 |
JP2009537895A (ja) | 2009-10-29 |
AU2007254441C1 (en) | 2011-06-16 |
AU2007254441A1 (en) | 2007-11-29 |
JP5407043B2 (ja) | 2014-02-05 |
EP2021957B1 (en) | 2015-01-21 |
CA2651637A1 (en) | 2007-11-29 |
US20070271305A1 (en) | 2007-11-22 |
JP5699381B2 (ja) | 2015-04-08 |
CN101443766A (zh) | 2009-05-27 |
CA2651637C (en) | 2015-08-11 |
EP2021957A1 (en) | 2009-02-11 |
US9460064B2 (en) | 2016-10-04 |
JP2014002757A (ja) | 2014-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101443766B (zh) | 对二进制编码的xml数据的高效分段更新 | |
US6810429B1 (en) | Enterprise integration system | |
US6785685B2 (en) | Approach for transforming XML document to and from data objects in an object oriented framework for content management applications | |
CN100468396C (zh) | 用于任意数据模型的映射体系结构 | |
US7599948B2 (en) | Object relational mapping layer | |
US8417714B2 (en) | Techniques for fast and scalable XML generation and aggregation over binary XML | |
CN101256650B (zh) | 一种基于业务实体的企业数据提取方法与系统 | |
CN101697166B (zh) | 一种加速异构平台数据整合的方法 | |
CN105849726A (zh) | 用于高效地支持通过分层标记数据的即席查询的通用索引 | |
US20020032775A1 (en) | System and method for transmitting and retrieving data via a distributed persistence framework | |
US20030135825A1 (en) | Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources | |
US20020138517A1 (en) | Binary format for MPEG-7 instances | |
CN101410830A (zh) | 在数据库存储中存储和检索被封装为对象的xml数据的系统和方法 | |
CN102646039A (zh) | 基于XML Schema的软件界面生成系统及方法 | |
CN104881450A (zh) | 管理存储在仓库内的资源之间的关系 | |
CN100498771C (zh) | 用于管理结构化文件的系统和方法 | |
CN100397397C (zh) | 基于关系数据库的xml数据存储与访问方法 | |
CN102546798A (zh) | 列车车载终端数据传输方法、系统以及服务器和车载终端 | |
US8255372B2 (en) | Efficient validation of binary XML data | |
US7054851B2 (en) | Communication data format for use in data storage and retrieval | |
CN105528424A (zh) | 大数据环境下实现数据持久化的系统及方法 | |
CN100429654C (zh) | 用于管理来自单个接口的多层次数据的技术 | |
CN1692355B (zh) | 基于可扩展标记语言的电子文档请求/提供方法 | |
Gergic et al. | An Approach to lightweight deployment of web services | |
CN115168303A (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 |