[go: up one dir, main page]

CN103493043A - A hybrid binary xml storage model for efficient xml processing - Google Patents

A hybrid binary xml storage model for efficient xml processing Download PDF

Info

Publication number
CN103493043A
CN103493043A CN201180064212.0A CN201180064212A CN103493043A CN 103493043 A CN103493043 A CN 103493043A CN 201180064212 A CN201180064212 A CN 201180064212A CN 103493043 A CN103493043 A CN 103493043A
Authority
CN
China
Prior art keywords
node
storage
crossfire
xml
document
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.)
Granted
Application number
CN201180064212.0A
Other languages
Chinese (zh)
Other versions
CN103493043B (en
Inventor
S·伊蒂库拉
B·斯特哈尼卡姆
N·阿格尔沃
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 CN103493043A publication Critical patent/CN103493043A/en
Application granted granted Critical
Publication of CN103493043B publication Critical patent/CN103493043B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • 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
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • 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
    • G06F16/83Querying
    • G06F16/835Query processing
    • G06F16/8373Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/146Coding or compression of tree-structured data
    • 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/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format

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)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

A method for storing XML documents a hybrid navigation/streaming format is provided to allow efficient storage and processing of queries on the XML data that provides the benefits of both navigation and streaming and ameliorates the disadvantages of each. Each XML document to be stored is independently analyzed to determine a combination of navigable and streamable storage format that optimizes the processing of the data for anticipated access patterns.

Description

The mixing binary XML memory model of processing for effective XML
Technical field
The present invention relates to storing X ML document to retrieve and navigation for effective.
Background technology
XML
Extend markup language (XML) is w3c (W3C) standard for meaning data.Many application are designed to export the data of XML document form.Can utilize various technology so that data are stored into relevant database from this XML document.
The XML packet is containing the structural data item that forms level.In XML, the data item that is called key element is delimited by starting label and end-tag.Key element also can be included in the attribute of stipulating in the beginning label of key element.Text between the label of key element can mean the data value such as any type of string, date or integer.Key element can have one or more child.With for discuss family tree aspect similar aspect the hierarchy obtained of XML formatted data is discussed.For example, can say that child's key element gets off from its father's key element or any key element of getting off from its father.Can say that father's key element is any child's key element of self or the ancestors' key element of in its offspring's key element.Key element is collectively referred to as tree or subtree together with its attribute and offspring.Node with father/child's relation is called as and has middle hierarchical relational, and reason is can have direct guidance path between them.
The XML data can be stored in relevant database by using the storage of object relationship type or binary XML BLOB storage or CLOB storage, and reason is these databases service datas very effectively.But, although can from father to child along object search relationship type storage or the binary XML storage effectively downwards of XML level,, these storage organizations are unsuitable for execution requirements and upwards travel through the hierarchical navigation of ancestors' link or compatriot's traversal along level.
Storage and inquiry system for XML
Use various types of storing mechanisms with storing X ML document.Can, by document being chopped into to each single key element and storing key element in each single row of form, XML document be stored in relevant database.In database server, XML document can be stored in the row of table, and, the node of storing X ML document in the independent row in can being expert at.
As an alternative, whole XML document can be used as large object (LOB) and is stored in the row of database table.But the large object of character (CLOB) that large object row store storage is text, or also can be stored as binary large object (BLOB).Binary object can comprise the token crossfire of XML data.This crossfire of the token for XML document alternatively is stored in volatile memory.
XML inquiry and XPATH
For the Database Systems of storing X ML data, can be very important by using the XML query language to carry out inquiry.XML query language (XQuery) and XML path language (XPath) are the major criterions of query language, and they can be combined with to express with SQL various useful inquiries.The XML Path Language(XPath that XPath here adds as a reference and can obtain when writing http://www.w3.org/TR/xpath), version1.0(W3C Recommendation16November1999) and here the XMP Path Language(XPath that adds as a reference and can obtain when writing http://www.w3.org/TR/xpath), 2.0(W3C Recommendation 23 January 2007), be described.The XQuery1.0:An XML Query Language(W3C Recommendation23January2007 that XQuery here adds as a reference and obtains when writing http://www.w3.org/TR/xquery) in, be described.And, have the XQuery script: http://www.w3.org/TR/xquery-sx-10/.
Path expression
Set up father-child's relation between the node of the structure of XML document in XML document.The a series of father of " path " of the node in XML document reflection from " root " node to specific node-child links.For example, in the example document shown in table 1, because " UnitPrice " be " Part " node child, " Part " node is the child of " LineItem " node and child and " LineItems " node that " LineItem " node is " LineItems " node are the children of " PurchaseOrder " node, therefore, the path to " UnitPrice " node is/PurchaseOrder/LineItems/LineItem/Part/UnitPrice.
The particular sections point assessment path expression that is called " linguistic context " about the starting point as navigation.By using the navigation of approach axes (". ", "/", " // " and " .. ") regulation.Each in these axles is selected one or more node, and then these nodes are further followed axle based on the test of what title or node test and be filtered.
Figure BDA00003465993700031
Table 1: example purchase order document
The subset of XPath axle and title/node test comprises:
/ Child's axle
// Offspring's axle
. Current axis
.. Father's axle
* The test of asterisk wildcard title
Syntax used herein is standard x Path syntax.But, should be appreciated that and can use any syntax that there is suitable semanteme with above axle.
Descend and be called as positive navigation from father to child in tree.Upwards rise and be called as reverse navigation along level from child to father.Another example of reverse navigation is the last compatriot of access.The path started with virgule ("/") starts evaluated at the root node place of level.
Navigation XML data
The action that the support of XPath/Query language can be carried out in the tree.But, store the efficient navigation that above-mentioned XML data and index data can not provide the tree traversal.In order to overcome this problem, can create DOM Document Object Model (DOM) in storer, and, can on DOM, carry out navigation action.A problem of the method is, even only need the several nodes in whole tree to express with assessment, before can carrying out the tree traversal, also must in storer, build whole dom tree.For large document, this expresses aspect needed amount of memory the problem that all has scalability at the time that builds tree and processing XPath.Build DOM in storer and may need 10 times of size of the XML document that means as the DOM spaces more than like that.Therefore, the document of 100MB may need the storer of gigabit to keep dom tree.
For fear of the problems referred to above that build DOM in volatile memory, can use other method with the navigation link of memory hierarchy for good and all together with the XML content.In other words, the XML data can be stored as tree on dish, make each node storage content and navigation link of level.Each node of level can comprise the link that random access is provided to other node in level.But this method may require to store alternately with the content of each node the navigation link of supporting access ancestors, compatriot and child.
Can effectively process larger document to set aligned storing X ML, here, each node in XML document is stored together with the pointer for its father, the first child and compatriot or one or more the combination in these pointers, reason be can be by following storage pointer directly along various XPath spindle guides boats and generally read and process the part of the much less of document.Because relevant pointer has been stored in dish above, therefore, create DOM also faster in storer.But, such memory requirement more for the treatment of storer and more for the disk space (causing thus higher I/O expense, particularly for less document) of storage.It also requires more storer and disposal cost in storing process.
Support each node in navigation request and the father who allows direct access node, the first child, the first compatriot and previous compatriot's document to store explicitly additional information.These pointers for other node allow effectively to process the pointer that uses ancestors' axle and express.But, because allowing the directly adjacent node of access, the pointer be associated with node with node, there is the node of direct layering relation, therefore, and need to be with any specific order memory node.By using the traversal of pointer XM, and the storage order of node is inessential.
Crossfire XML data
The permanent crossfire of XML document means it is the binary representation of XML document of the serial sequence to resolve the order storage token value that token is identical from document.Token value is the compact representation from the character order token of the text representation parsing of document.Here, be called as " document order " from the order of text document parsing token.The crossfire of storage that therefore, can be by reading document means to come the crossfire XML document.
The scale-of-two crossfire that creates XML document means it is highly effective, and reason is only need in storer, keep the sub-fraction of document within any given time.And the scale-of-two crossfire is the file layout of saving the compactness of disk space.Together with document data, do not store navigation hands.For being evaluated at simple XPath on little document and XQery and reading the most action of document and, when not needing ancestors to navigate, the XML memory model of the crossfire of the event based on the SAX class is effective for needs (document) order successively.
Mode treatment is to process with the document order example of whole XML document.The application of mode treatment comprises that the test XML document is for the accordance of its pattern and to the Database Systems enrollment mode.For mode treatment, key element in pattern and the order occurred in XML document be important.The order of the key element in document must mate the order of stipulating them in pattern.For this application, but the crossfire binary representation is useful, and reason is the order of the node in its reserving document.
When document becomes large, by whole document, read in storer and the event that scans in crossfire can form obvious expense aspect I/O and CPU time.When the XML data are stored as the binary XML such as SAX crossfire sequence of tokens, for navigation forward, must read successively token, until find the node of hope.In document, do not exist in the situation that do not read and skip the random access that the offspring of all fronts navigates directly to child nodes.
The XPath expression that assessment need to be stored as the ancestors' navigation on the XML document of scale-of-two crossfire can be expensive especially.Because father in sequence and ancestors occurred before present node, therefore, find father or ancestor node need to from sequence start process.Find node born of the same parents to depend on the compatriot occurs in sequence before or after present node.Although can identify ancestors and compatriot by following by this way forward chaining,, may need a plurality of rounds by document.Crossfire XPath evaluation engine can travel through whole document when the assessment inquiry.If the input XML document is large document, the processing that travels through so whole document is the height poor efficiency, thereby forms the large subtree that the XPath in matching inquiry not expresses.
Need to make I/O expense and storer use minimized more effective memory mechanism and to the convergent-divergent of large-sized document and more complicated inquiry.
The method of describing in this part is the method that can imagine, but may not be the method for front conception or imagination.Therefore, unless otherwise instructed, otherwise, should be not only by be contained in the method that supposition is described in this part in this part any be prior art.
The accompanying drawing explanation
In the accompanying drawings as an example rather than restriction the present invention is shown, in these accompanying drawings, similarly Reference numeral refers to similar key element, wherein,
Fig. 1 means the diagram of content of the node of the storage of can navigating according to an embodiment of the invention.
But Fig. 2 means according to an embodiment of the invention to mix the diagram of can navigate/stream format storage example XML document.
But Fig. 3 is according to an embodiment of the invention for the process flow diagram of the step that creates can navigate/crossfire of mixing storage.
Fig. 4 means the snapshot of the state in the structure of navigated storage of the example XML document introduced in Fig. 2 according to an embodiment of the invention.
Fig. 5 means according to an embodiment of the invention from the example XML document as mixing the table 1 that storage format provides.
Fig. 6 is for realizing the block diagram of computer system of the present invention.
Embodiment
In the following description, for illustrative purposes, set forth a large amount of specific details can understand up hill and dale the present invention.But, obviously, can be in the situation that do not have these specific details to implement the present invention.In other example, for fear of unnecessarily obscuring the present invention, with the form of block diagram, mean known structure and device.
General summary
For comprising the XPath expression that assessment need to be navigated and the various uses of processing whole document or fragment with the document order, need the common store system with storage and retrieval XML data.But provide to provide, can navigate or crossfire is stored both advantages and made each the minimized mixing storage means of shortcoming.
Content Management System can be managed the set of large XML document.With any single leaf node, compare, respectively more high-level node (approaching most the node of root node) can be accessed more continually.But, but in the crossfire of document means, for a large amount of contents, be stored in the document in leaf node, more the node of high-level can away from.Therefore, streaming method can require to read the node of more content with the frequent access of finding document.Provide from father to child and the tree-model of the direct navigation of node born of the same parents can increase the efficiency that finds these nodes.But, in order to create tree-model, all the elements in all leaf nodes may must be loaded in storer.
Some rather than whole nodes of method described herein storing X ML document in the storage of can navigating.In addition, but some and may be that whole nodes is stored in the storage of independent crossfire.In this linguistic context, but independent not meaning need to divide the space that is used in the crossfire memory paragraph from the identical memory section for the storage of can navigating, and, but do not require the crossfire memory paragraph with can the section of navigation adjacency.But differently mean the node with the storage format storage of can navigating with the node with the storage of crossfire storage format.In document, exist the node of the frequent access of many staggered contents to be placed in therebetween can to navigate in storage, but and not frequently the node of the fragment of the node of access and/or travel all over subtree may be stored as crossfire and mean.But can point to and only be stored in the node that crossfire means from the pointer of the node in tree representation.The text data that is stored as the part of crossfire points in tree-model, to avoid the repeated storage of text.For the content that is not stored as crossfire, create for this purpose independent text filed.
The method also comprises for each individual node in document to be determined and should mean with which storage a kind of mode of node.In addition, but once can navigate and the combination of crossfire storage in the node of storage document, the method comprises how using storage to mean to be evaluated at according to the inquiry on one group of XML document of describing method storage here.
But mean navigation nodes
Fig. 1 is the diagram that the node of the storage 100 of can navigating is shown.In the node that means to navigate in launching Figure 110 in a plurality of nodes of storage 120 one 124.Some in the content of the node that illustrating to navigate stores.Each navigation link can be pointer.For example, the father in node 124 links 130 sensing nodes 121, thereby means that node 121 is father's nodes of node 124.Similarly, the first child of node 124 links 132 sensing nodes 126, thereby means the first child nodes of node 126 memory nodes 124.Next link 134 born of the same parents and last compatriot's link 136 are respectively to link with next born of the same parents link with last compatriot of node 124.In an embodiment, but with in the crossfire node or with independent text chunk at the storage outside storage content of text that can navigate.Key element title or content 138 are pointed to content of text 180.
To mean XML document in hybrid navigation/stream format
But Fig. 2 means to mix the diagram of the example XML document of can navigate/stream format storage.In the present example, node level 200 means the diagram of the node level of document.For illustrative purposes, but but crossfire node 220 means the node (actual binary representation may not occur by this way) of the example document of stream formats.But the crossfire node is shown in the serialization of the level meaned in node level 200 to be meaned, makes node by the document order.
But navigation nodes 210 only comprises some node A, B and C with the form storage of can navigating fully.But remaining node D, E and F only are stored with stream format.In addition, for some node that not exclusively can navigate, in the memory paragraph that can navigate, create dummy node.Node occupies the space of the adjacency in the memory paragraph that can navigate, and, but each address of node can be with respect to the beginning of navigation nodes section.But navigation nodes can all have identical size fully, and dummy node can all have identical size, but but dummy node occupies the space fewer than complete navigation nodes.For example, but the node at address x and z place, address is not complete navigation nodes (they are dummy node), owing to storing minimum information (not storing navigation hands) about these nodes.
For illustration purposes, but Fig. 2 in several information of each navigation nodes of conceptive expression storage, (although information may not be expressed as in the drawings, be expressed.For example, label " F ", " P ", " C " etc. may not have as illustratedly word for word to be stored in node)." F " but mean that the indication present node is the mark that has the complete node of navigation hands fully or only point to the dummy node of the Nodes in the crossfire storage.No matter when fully but the first child of navigation nodes not exclusively can navigate, and the dummy node that means this first child all is provided.Child subsequently need to not meaned by dummy node.The identifier of the key element that " Id " indication is meaned by node.Identifier can be the title shown in example, or it can be to occupy the space fewer than title and be stored in explicitly the token--identifier such as the outside of the node in symbol table with title.As an alternative, Id can be the pointer that enters the text chunk of the title that comprises key element.
But the remaining entry in navigation nodes is pointer.Pointer is used to find the data that are stored in the position of pointer indication.Pointer can be offset address, but such as the byte or the word that start skew from navigation nodes 210.Pointer can be any other indication of the position in absolute bit addresses or storage." P " means father's pointer.The root node A of document does not have father, and its father's pointer is empty (null).Node B and C are the children of node A, and, because node A is positioned at u place, address, therefore, their father's pointer comprises address u." C " means the first child pointers.B is the first child of A, and therefore, because Node B is stored in w place, address, so the child pointers of node A comprises address w.The first child of Node B and C is not stored in the storage of can navigating fully, therefore, for them, distributes dummy node (node D and F).The first child of Node B is node D, and its first child pointers is pointed to the dummy node at x place, address.Similarly, the first child of node C is node F, and its first child pointers is pointed to the dummy node at z place, address." S " is next pointer born of the same parents.But Node B is the only navigation nodes in this example, but but should navigation nodes there is the compatriot who also is stored in complete navigation nodes.Next of Node B pointed born of the same parents address y, reason is that its node C born of the same parents is stored in y place, address." PS " means last compatriot.The pointer last born of the same parents of node C, with reference to address w,, is stored its last Node B born of the same parents here.
But but the content of text of navigation nodes is not stored in navigation nodes.If but same node point also is stored in crossfire storage, but but navigation nodes can comprise the pointer for the beginning of the content of text of the node in crossfire storage or text chunk so.This makes does not need the repeated storage content of text.But but content pointers 231~235 illustrates each navigation nodes in the storage of sensing crossfire.In an embodiment, if node does not have content of text, but content pointers can be pointed to the beginning of the crossfire node meaned in this simple example so.When in node, having content of text, content pointers can directly be pointed to text, and does not point to the beginning of node.
Except comprising the binary representation according to the document node of document order, but but crossfire mean to comprise the pointer that enters the storage of can navigating for each crossfire node, but be stored as fully navigation nodes according to the next node of document order with identification.For example, although Fig. 2 do not illustrate,, but the crossfire of Node B mean to comprise for the address y(as in the storage of can navigating comprise node C) pointer, but it is next navigation nodes fully in the Node B back according to the document order.But, if there is not more navigation nodes in document, pointer can be empty so, or pointer can not be prescribed.(but Fig. 5 means to get back to the pointer the storage of can navigating from the crossfire storage).
In the embodiment shown in Figure 2, only by also with some node of the form storage of can navigating with the whole document of storage in stream format.In an alternative embodiment, but as storing substituting of whole document in meaning with crossfire, but can only in the crossfire storage, store some node.In an embodiment, but the node in only having that not being stored in to navigate and meaning be stored in during crossfire means.In an alternative embodiment, can pass through two kinds of form memory nodes (such as node A, B and the C in this example).Having at least one node self with the child of the form storage of can navigating also should be stored with the form that can navigate.Therefore, with the leaf node of level, compare, the top node of document level more may be stored with the form that can navigate.
But determine which node in XML document with can navigate form and stream format storage can depend on the queried access pattern that shares, by relative processing and the I/O speed of the hardware platform of the content of the document stored and top operation storage system.Therefore, but determine that on the basis of each document and on the basis of each system which document node will be can navigate and stream format be stored.A document may not can be stored in the mode identical with another document, even these two documents meet common structure.Similarly, be stored in a document on storage system may be not with from be stored in another storage system with different processing and I/O velocity characteristic on the identical mode of identical document be expressed.
Determine the node that will be stored in the storage of can navigating
For each node of the example document shown in table 1, determine whether to support navigation (expression of can navigating) but the form crossfire mean or both memory nodes.The characteristic of each node of document is evaluated, to determine whether memory node in the storage of can navigating.In an embodiment, take the size of each node of tree subtree that is root evaluated.Can for example, about node counts and size of contents (space, occupied), measure the size of subtree on the dish of the size of content.Node counts is to process the indication of the amount of the needed processing of subtree, and size of contents is to read the indication of the I/O cost of subtree from dish.
Table 2 means to be respectively used to take node counts and the subtree size of each subtree that node is root.Mean the quantity of the character of subtree by counting in the text representation of XML document, determine the subtree size.The quantity of the character of content changes to the next one from a purchase order.Therefore, content-based size determines where memory node means, can make different storages for the different node instance of the identical XPath identification in the purchase order by different and determine.
Determine each node also processing speed based on host platform and the I/O speed of where storing.Processing speed is how soon to process the indication of subtree.I/O speed be can be how soon from the indication of permanent storage reading out data.Therefore, node counts that can be based on subtree and will store the processing power of system of document and the I/O speed of size of contents and system is calculated well-formedness tolerance.When the value of well-formedness tolerance surpasses threshold value, system determines this node of storage in the storage of can navigating.
Exemplary well-formedness tolerance can be calculated as:
Well-formedness tolerance=node counts * processing speed+size of contents * I/O speed
Here, processing speed and I/O speed are that the computer system institute of the conversion of top execution from the text to the binary representation is specific.In an embodiment, the processing speed number is measured with 1,000,000 thousands of instruction per seconds (kMIPS).In example, for the treatment of the processing speed of document, be 10kMIPS.In an embodiment, measure I/O speed with megabyte per second MB/s.In example, the speed of I/O system is 300MB/s.Therefore, the well-formedness tolerance of the example Purchase Order node in the table 2 with node counts 21 and subtree size 535 being calculated is calculated as:
21*10+535*300=160710
Figure BDA00003465993700121
The purchase order that table 2 is explained by the subtree size
For illustration purposes, example document is selected as less.In actual system, can be quite large by the document of storage, and, can with kilobyte (kB) or even megabyte (MB) measure the subtree size.But, for its proper property measure to determine whether node should be stored in threshold value in the storage of can navigating can be by convergent-divergent suitably.For this example, threshold value manually is chosen as 85000.The well-formedness of each in the node in table 3 expression example document is measured and whether is surpassed user's threshold value based on well-formedness tolerance and determines which node is stored in the storage of can navigating.
Figure BDA00003465993700131
Table 3 determines that the storage of each node means
All nodes that this processing is applied to the document shown in table 2 can cause selecting paths/PurchaseOrder and/node at PurchaseOrder/LineItems place, and in only having these nodes to be stored in can to navigate and storing.Therefore, for the amount of the storage that keeps navigation hands, for navigation, provide those nodes of minimum benefit to be minimized.
Determine the threshold value of well-formedness tolerance
Determine whether that memory node depends on the threshold value of foundation for the tolerance of the automatic calculating of access module, document node attribute and the system platform property calculation of its comparison based on expectation in the storage of can navigating fully.Select correct threshold value to can be used as exercise and leave the experience of system manager based on the keeper for.In other words, he can be tested and by revising threshold parameter and monitoring query performance adjusted.
But, can the build tool to be conducive to the intelligent selection of useful threshold value.For example, but automation tools analysis of history inquiry log to extract one group of XPath action, and assessed cost balance when the specific collected works (corpus) for document are carried out set.This instrument can be automatically lead to and from the frequency of the navigation action of this node and read and take the frequency of the subtree that this node is root for each document node assessment.By this information, can process and the I/O requirement for each node determination.Once require to be determined, just can compare they and system capability to determine optimal tradeoff.
But determine the node that will store in the crossfire storage
As mentioned above, in one embodiment, but store all document node in the crossfire storage.In another embodiment, but only have the node be not stored in the storage of can navigating to be stored as crossfire storage.In another embodiment, but independently and with this node whether be stored in the storage of can navigating independently for being contained in each node of assessment in crossfire storage with each other node, but in requiring each node at least to be stored in can to navigate storage or crossfire storage.
But can assess whether in the crossfire storage, comprise node by the similar mode of mode with for determining whether memory node description in the storage of can navigating.For example, can combine by the analysis of history operating load, and, if all the number percent of file retrievals, lower than certain threshold value, does not mean but have so node can be stored as crossfire.Can apply in the subtree level identical criterion, but to determine whether storing each individual node of document in the crossfire storage.The analysis of subtree level can consider to retrieve the frequency of complete subtree.But when not meeting the criterion of memory node in crossfire storage, from the text of node, can be placed in independent text chunk, and, but by the node storage pointer on the stack that points to text chunk rather than crossfire storage.
But structure can navigate and the crossfire storage
When storage system receives the XML document for storing, the text representation of document is resolved, and, but create concurrently, can navigate and crossfire storage expression.But Fig. 3 creates can to navigate and the process flow diagram of the processing of crossfire memory node.In step 310, from document, resolve next token.When the token of resolving is identified as the beginning of XML key element in step 312, mean that the stack frame of this key element is pulled on stack in step 314.But to the complete navigation nodes corresponding with this key element, allocation space in the memory paragraph that can navigate.Information about this node is stored in the stack frame, comprise that the pointer of new allocation space that sensing can navigate in storage is together with the value be associated with this node, such as any in the child of the size (being initialized as the size of node) of the quantity (being initialized as 1) of the node in subtree, subtree and instructs node, whether be arranged in the mark (being initialized as vacation) that can navigate and store.When resolving additional token, these values can be updated.When being placed on stack by nodal information, the child of node is also all not processed.
Resolve next token.If next token is child's key element of last node, above-mentioned processing occurs so.Allocation space in the storage of can navigating, and the node corresponding with this key element is pulled on stack, and has initialized value in new stack frame for new node.Value in the stack entry not only covers the pointer of the newly assigned storage of navigating, and the pointer entered in the navigated storage distributed for father is copied in father's pointer of child in the stack frame of child nodes.Usually, it will be understood by those skilled in the art that when creating node, follow the tracks of the navigation hands for the node in the storage of can navigating, and it is stored in stack.In addition, the node counts that is stored in the last key element in stack increases progressively, and the size of child nodes is added to the size of the subtree of last node (it is the father of current node).
In step 316, if next token is not closure element, so, in step 318, but copies in the crossfire node by token and resolve next token (step 310).When the end of next token indicative feature in step 316, determine whether this key element of storage in previous the navigated memory node distributed in step 320.Whether any in the child based on well-formedness tolerance described above and node is arranged in the storage of can navigating is determined.Well-formedness tolerance is used node counts in the stack frame that is stored in key element and the currency of subtree size.
If determine not memory node (that is, well-formedness tolerance is no more than the threshold value of setting up in advance) in the storage of can navigating, discharge so for the previous space of distributing of node.By deallocating the space that is not used to memory node in the storage of can navigating, limited the amount that builds the needed storer of storage that can navigate.Do not need to mean immediately whole document in storer.Even node is the first child of father's node, on this process points, does not also know whether father's node of node is arranged in the storage of can navigating, and therefore do not know whether need to create the dummy node in the storage of can navigating for this node.Data are stored in father's stack frame, but to indicate the first child nodes not to be stored in can to navigate in storage and to comprise the pointer for the first child's crossfire node.If father is stored in after a while as navigating fully, but but will create so illusory navigation nodes to point to the node of the first child in the crossfire storage.
If node will be stored in the memory node that can navigate fully in step 320, so, in step 326, suitable value is copied to the storage of can navigating to mean node from stack.The still father's node on stack of node is updated, and to indicate one in its child nodes, is arranged in the storage of can navigating.In step 328, if be stored in the first child of the information instructs node in node, be not stored in the storage of can navigating fully, so in step 330, for the first child nodes establishment dummy node of node.In step 324, for the stack frame of node, leave stack.
But flow process described above is supposed all nodes and is stored in the crossfire storage.In an alternative embodiment, but can assess whole document to determine whether storing the document in crossfire storage.If but in the crossfire storage, do not store document definite, so all nodes are stored as fully and can navigate, and content pointers is pointed to independent text chunk.In the present embodiment, step 318 can be by content replication to independent text chunk.Need to not distribute text chunk from the identical memory section for the storage of can navigating, and, do not require text chunk with can the section of navigation adjacency.In another embodiment, but can be independently for being contained in each node of assessment in the crossfire storage.But the node be stored in the storage of can navigating fully also can be stored in the crossfire storage, or, but navigation nodes can be pointed to the text chunk of its content.But the node be not stored in the crossfire storage must be stored as fully and can navigate.
But for the node that adds the crossfire storage to, but the pointer of the beginning of sensing crossfire node is stored in the content pointers of node in stack., if but node is not contained in the crossfire storage, the stack contents pointer is set in the interior position of text chunk of the content of node so.
In addition, but the crossfire node can comprise, get back to the pointer of memory paragraph that can navigate, but take, to be positioned on the document order be Next navigation nodes fully.But but exist dummy node the crossfire node retreat the end that pointer can point to illusory navigation nodes.But this will be next position of navigation nodes fully.Otherwise, but in all other crossfire nodes to retreat the pointed storage of can navigating as follows: if the last space of distribution is only temporarily distributed in the storage of can navigating, but the retreating pointer and can or end up being end with the beginning of pointing to this storage of crossfire node so.If be disengaged after a while distribution for can the navigate node of storage of its temporary transient distribution, retreat so pointer and will point to the beginning of storing.If used this storage by permanent the appointment after a while for can the navigate node of storage of its temporary transient distribution, retreat so pointer and will point to the temporarily end of the storage of distribution.But, if the last storage distributed in the storer that can navigate forever is assigned to node, but but so current crossfire node retreat the end that pointer will point to the navigation space of this permanent allocation.In one embodiment, until this pointer that retreats could be inserted in definite correct position.In an alternative embodiment, but but but crossfire node memory storage to next fully the pointer of navigation nodes can initially point to and then last distribution navigation nodes (being adjacent) but navigation nodes.If the space for father is disengaged distribution after a while, can again assign pointer to the beginning in the space deallocated so.In addition, if but there is no node to occupy to distribute to next space of navigation nodes fully, can remove so pointer or it is assigned as to sky.
The snapshot of state when Fig. 4 means to be structured in the navigated storage of the example XML document of introducing in Fig. 2.Below describe until the sequence of the event of the state shown in Fig. 4.The description of some steps is more detailed than other step, still, for each similar node, uses same group of step:
A is shifted onto on stack 490, and can navigate the storage 420 in allocation space.
B is shifted onto on stack 490, and can navigate the storage 420 in for the B distribution node.In the stack frame, storage is for the pointer 430 of the navigated storage of B.Father's link (pointer) of B is initialised, and child's link of A is updated.The size of the node of B is added to the subtree size of A, and the node counts of A increases progressively.Mark 480 is initialised to indicate the child who there is no B to be stored in can to navigate in storage.
D is shifted onto on stack 490, and upgrades the child pointers 450 of B, and, the size of node D is added to for B(472) and the subtree size of A, and, for B(474) and the node counts of A increase progressively.
When these steps finish, mean constructed state in Fig. 4.Step subsequently comprises:
The well-formedness tolerance of determining D is no more than threshold value: make D leave stack and deallocate the navigated storage of D.
With D processing node E in the same manner.
The well-formedness tolerance of determining B surpasses threshold value.The link value of B is copied to the node distributed the storage 420 of can navigating from the stack frame.The the first child D that notes B is not stored in the storage of can navigating, and, but but the illusory navigation nodes of the D of the crossfire memory node of establishment sensing D.
Make B leave stack
Set the child of mark with indication storage A in the storage of can navigating in A.
Now, the subtree of B is processed and the subtree of C is processed by the next one fully.Once the subtree of C is processed, just A is copied to for the navigated storage of its distribution and away from stack.
But mix and can navigate and crossfire storage assessment inquiry by use
But once parse documents and can navigate and the combination of crossfire storage organization in its node of storage, can use these structures for the assessment inquiry.Fig. 5 means as the example XML document of mixing the table 1 that storage format means.Below a series of step for assessment inquiry subsequently on the mixing binary representation shown in Fig. 5:
for?$t?in/PurchaseOrder/LineItems
where?$t/LineItem/Description=“The?Life?of?Brian”
return($t/../Reference)
PurchaseOrder is the root node of known as memory in node 530.LineItems is the node that the next one will find.Travel through the first child pointers 534 location dummy node, thereby indicate the first child (Reference) not to be stored in can to navigate in storage.Dotted line shade in Fig. 5 is used to show dummy node.The pointer of dummy node is traversed, but to find the crossfire node of storage Reference key element.The Reference node is scanned end, and, but pointer 572 points to next navigation nodes 550 that means LineItems.In order to assess " where " statement, the node that the next one will find is the LineItem as the child of LineItems.The first child pointers 554 is pointed to dummy node 560, thereby the first child of indication LineItems is not stored in the storage of can navigating.But the pointer 568 of dummy node 560 points to the beginning of the LineItem node in the crossfire storage.But the LineItem node in the crossfire storage is scanned to find the Description node as the child of LineItem.When finding the Description node, its value (" Robocop ") is compared with " The Life of Brian ", therefore, predicate (predicate) is not met by a LineItem.There is not pointer in end at a LineItem, thereby but means not exist more navigation nodes fully.As an alternative, can there is the pointer with null value.But, but there is another LineItem in crossfire node subsequently.Scan next LineItem node, find Description, and the content of Description is " the Life of Brian " that meets predicate.Owing in meeting one group of LineItems of predicate, finding LineItem, therefore, $ t is set to mean node 550(LineItems).
In order to assess $ t/../Reference, but the father's pointer 552 that uses the LineItems navigation nodes to find the father of LineItems, i.e. node 530(PurchaseOrder).Although be not stored in the storage of can navigating,, can link 534 with the access dummy node and travel through content pointers 548 to find Reference by traveling through the first child, but find at an easy rate the Reference node in the crossfire storage.
The hardware summary
According to an embodiment, by one or more specific use calculation element, realize technology described herein.The specific use calculation element can be by hardwire with execution technique, perhaps, can comprise digital electron device, such as being applied specific integrated circuit (ASIC) or field programmable gate array (FPGA) with one or more of execution technique by permanent programming, or can comprise one or more common hardware processor be programmed to according to the programmed instruction execution technique in firmware, storer, other storage or combination.This specific use calculation element also the programming of customization hardwired logic capable of being combined, ASIC or FPGA and customization to realize technology.The specific use calculation element can be desk side computer system, portable computer system, hand-held device, interconnection device or add hardwire and/or programmed logic to realize any other device of technology.
For example, Fig. 6 is the block diagram that the computer system 600 that can realize embodiments of the invention on it is shown.Computer system 600 comprises bus 602 or for transmitting other communication agency of information, and with the hardware processor 604 of bus 602 couplings for the treatment of information.Hardware processor 604 can be for example general purpose microprocessor.
Computer system 600 also comprises and the information that will be carried out by processor 604 for storage of bus 602 couplings and the primary memory 606 of instruction, such as random-access memory (ram) or other dynamic storage device.Primary memory 606 also can be used to be stored in temporary variable or other intermediate information in the implementation of the instruction that will be carried out by processor 604.These instructions are when being stored in can be in the nonvolatile storage medium of processor 604 access the time, making computer system 600 become the specific use machine that is customized to carry out the action of stipulating in instruction.
Computer system 600 also comprise with bus 602 coupling for storage for the treatment of the static information of device 604 and the ROM (read-only memory) of instruction (ROM) 608 or other static memory.For the memory storage 610 of storage information and instruction, such as disk or CD, be set up and be coupled with bus 602.
Computer system 600 can be coupled by bus 602 and the display such as cathode ray tube (CRT) 612 for show information to the computer user.For the input media that comprises alphanumeric and other key 614 to processor 604 transmission information and command selection and bus 602 couplings.The user input apparatus of another type is for to processor 604 direction of transfer information and command selection and for the cursor of controlling the cursor movement on display 612, controlling 616, such as mouse, trace ball or cursor direction key.This input media has i.e. the first (for example, x) He the second axle (for example, degree of freedom y), the position in this degree of freedom permission device predetermined surface of two axles usually.
Computer system 600 can realize technology described herein by using the hardwired logic, one or more ASIC or FPGA, firmware and/or the programmed logic that cause computer system 600 or it is programmed for to the customization of specific use machine with the computer system combination.According to an embodiment, answer processor 604 carry out one or more instruction of being contained in primary memory 606 one or more sequence, the technology of being carried out here by computer system 600.Can these instructions be read primary memory 606 from another storage medium such as memory storage 610.The instruction sequence that execution is contained in primary memory 606 causes processor 604 to carry out treatment step described herein.In an alternative embodiment, as software instruction substitute or with its combination, can use hard-wired circuitry.
Term used herein " storage medium " refer to the storage cause machine to move in a particular manner data and/or any nonvolatile medium of instruction.These storage mediums can comprise non-volatile media and/or Volatile media.Non-volatile media comprises for example CD or disk, such as memory storage 610.Volatile media comprises dynamic storage, such as primary memory 606.The common version of storage medium comprises for example floppy disk, flexible disk, hard disk, solid-state drive, tape or any other magnetic data storage media, CD-ROM, any other optical data carrier, any physical medium, RAM, PROM and EPROM with the pattern in hole, FLASH-EROM, NVRAM, any other memory chip or box.
Storage medium is different from transmission medium, but can be combined with it.The information that transmission medium participates between storage medium transmits.For example, transmission medium comprises concentric cable, copper cash and optical fiber, comprises the wire that comprises bus 602.Transmission medium also can be taked the form of sound wave or light wave, such as in radiowave and infrared data communication, produce those.
Be carried in the process of processor 604 for execution in one or more sequence by one or more instruction, can comprise various forms of media.For example, can be at first on the disk of remote computer or solid-state drive, carry instruction.Remote computer can be by instruction load in its dynamic storage and by using modulator-demodular unit to send instruction in phone line.The modulator-demodular unit of computer system 600 this locality can receive data on telephone wire, and uses infra-red transmitter so that data-switching is become to infrared signal.Infrared detector can be received in the data of carrying in infrared signal and suitable circuit can be placed in data on bus 602.Bus 602 is carried to primary memory 606 by data, from this primary memory 606, and processor 604 retrievals and execution instruction.The instruction received by primary memory 606 is optionally before being carried out by processor 604 or be stored in afterwards on memory storage 610.
Computer system 600 also comprises the communication interface 618 with bus 602 couplings.Communication interface 618 provides the bidirectional data communication coupling to the network linking 620 be connected with LAN 622.For example, communication interface 618 can be integrated services digital network network (ISDN) card, cable modem, satellite modem or the modulator-demodular unit that the data communication connection is provided for the telephone wire to corresponding type.As another example, communication interface 618 can be LAN (LAN) card that provides data communication to connect for the LAN to compatible.Also can realize wireless link.In any this realization, communication interface 618 sending and receiving carryings mean electric, the electromagnetic or optical signal of the digit data stream of various types of information.
Network linking 620 provides data communication by one or more network to other data set usually.For example, network linking 620 can be provided to host computer 624 or by the connection of the data equipment of ISP (ISP) 626 operation by LAN 622.ISP 626 provides data communication services by the world wide packet communication network that is commonly referred to as now " the Internet " 628 then.Both are all used electric, the electromagnetic or optical signal of carrying digit data stream LAN 622 and the Internet 628.By the signal of diverse network and on network linking 620 and the signal of the communication interface 618 by carrying the logical numerical data to and from computer system 600 are exemplary form of transmission medium.
Computer system 600 can send message and receive data by network, network linking 620 and communication interface 618, comprises program code.In the example of the Internet, server 630 can pass through the request code that the Internet 628, ISP 626, LAN 622 and communication interface 618 transmit for application program.
The code received can be carried out by processor 604 when received, and/or is stored in memory storage 610 or other non-volatile memories for carrying out after a while.
In above instructions, with reference to a large amount of specific detail that can change, embodiments of the invention have been described between realizing.Therefore, instructions and accompanying drawing should be regarded as explaining rather than limited significance.The scope of the present invention that the indication of proprietary scope of the present invention and applicant are intended to is word and the equivalency range from one group of claim of the application's book issue, and this scope is taked the specific form of these claim issues, comprises any correction subsequently.

Claims (20)

1. the method for the XML document of storing a plurality of documents comprises:
For XML document, but store can navigate comprising of described XML document, mean the expression meaned with crossfire in permanent warehouse;
Wherein, described XML document comprises the tree of the node of hierarchical relational, and at least one other node in each node of the tree of described node and the tree of described node has middle hierarchical relational;
Wherein, but described crossfire mean and can navigate to mean to comprise the node from the tree of described node;
Wherein, but described crossfire mean to comprise and be not contained in the described node navigated in meaning from the tree of described node;
Wherein, be contained in described each node that navigates the node in meaning and comprise the pointer that there is the node of middle hierarchical relational for described each node;
Wherein, but at least a portion of the node of described crossfire in meaning according to the document order;
Wherein, carry out these steps by one or more calculation element.
2. according to the process of claim 1 wherein, for one or more node, the described navigation means to comprise at least one in following pointer:
A) for the pointer of father's node, wherein, described father's node is contained in the described expression of navigating;
B), for the pointer of node born of the same parents, wherein, described node born of the same parents is contained in described navigation means; And
C) for the pointer of child nodes, wherein, described child nodes is contained in the described expression of navigating.
3. according to the process of claim 1 wherein, but described crossfire means to comprise all nodes in described XML document.
4. according to the process of claim 1 wherein, but exist, be not contained in described crossfire at least one node in meaning in described XML document.
5. according to the method for claim 1, wherein, for each node be contained in described one or more node navigated in meaning, the described navigation means to comprise the child pointers for child nodes, wherein, but the described child nodes that is used for described each node of described one or more node is contained in described crossfire and means, and described child nodes is not stored in the described expression of navigating.
6. according to the method for claim 1, wherein, for each node be contained in described one or more node navigated in meaning, the described navigation means to comprise the pointer born of the same parents for node born of the same parents, wherein, but the node described born of the same parents that is used for described each node of described one or more node is contained in described crossfire and means, and described node born of the same parents is not stored in the described expression of navigating.
7. according to the process of claim 1 wherein, but being contained in described the navigation, one or more node means and described crossfire means in both; And,
Wherein, for each node of described one or more node, but described the navigation means to comprise the pointer for being contained in described each node of described crossfire in meaning.
8. according to the process of claim 1 wherein, but one or more node be contained in described navigate mean in and be not contained in during described crossfire means; And,
For each node of described one or more node, the described navigation means to comprise for described the navigation, meaning to separate the pointer of the text chunk of storing.
9. according to the method for claim 1,
Wherein, described XML document is the second XML document that meets the first XML document of XML scheme and meet described XML scheme;
Wherein, for specific XPath, express, with at least one node of specific XPath expression matching in described the first XML document, be contained in the navigated expression of described the first XML document, and, in described the second XML document with at least one node specific XPath expression matching, be not contained in the navigated expression of described the second XML document.
10. according to the method for claim 1, also comprise the assessment path expression, wherein, but the assessment path expression comprises the pointer of described certain node in meaning to mean for described crossfire with retrieval that navigates of traversal, but but and use the pointer of certain node in meaning for described crossfire to visit the described node of described crossfire in meaning.
11. the method according to claim 10, wherein, the assessment path expression also comprises: but after certain node in the described crossfire of access means, but mean the pointer of retrieval for described another node meaning that navigates from described crossfire, use the described node navigated in meaning further to travel through the described expression of navigating.
12. the method meaned for the storage of the node in the XML document of determining a plurality of XML document comprises:
For each node in described node, at least based on take the characteristic of the subtree that described each node is root, determine that the storage of described each node means;
Wherein, the storage of determining described each node means also to comprise:
Determine whether take the characteristic of the subtree that described each node is root meets the first criterion;
Response determines that take the characteristic of the subtree that described each node is root meets the first criterion, determines described each node of storage in the storage of can navigating;
Wherein, carry out these steps of described method by one or more calculation element.
13., according to the method for claim 12, wherein, determine whether take the characteristic of the subtree that described each node is root meets the first criterion and also comprise determining whether surpass threshold value take on the subtree that described each node is root the well-formedness tolerance of assessing.
14., according to the method for claim 13, wherein, described well-formedness tolerance is the amount in the quantity based on being contained in the node in subtree and the space that occupied by the content of described subtree at least.
15., according to the method for claim 13, wherein, described well-formedness is measured in computer based processing speed at least or I/O speed.
16., according to the method for claim 13, wherein, described threshold value is based at least one in following aspect:
A) manual configuration; With
B) characteristic of the node of the set based on evaluation history queried access pattern and the document of accessing in described historical query access module determines automatically.
17. a method of for the navigation storage, adding node comprises:
The response analyzing XML file, receive the first token from the XML document of a plurality of XML document;
Determine that described the first token is the beginning of an XML key element;
Distribute the first amount of space for the first node that means a described XML key element in the storage of can navigating;
Receive the second token from described XML document;
Response determines that described the second token means the beginning of the 2nd XML key element, in the described storage of navigating, for Section Point, distributes the second space amount;
Response determines that described the second token means the end of a described XML key element, determines whether the described first node of storage in the storage of can navigating;
The not described first node of storage in the described storage of navigating is determined in response, from the described storage of navigating, deallocates described the first amount of space;
Wherein, carry out these steps of described method by one or more calculation element.
18. the method according to claim 17 also comprises:
Determine that the second token is the beginning of the second key element, and receive the 3rd token as the end of described the second key element;
Determine that described Section Point should be stored in the storage of can navigating.
19. according to the method for claim 17, also comprise the data of upgrading in described first node, with the size of the subtree of the counting of the quantity that comprises node and described Section Point.
20. a computer-readable recording medium of storing instruction, wherein, the method that described instruction is put down in writing in causing carrying out any one in claim 1~19 when being carried out by one or more processor.
CN201180064212.0A 2010-12-06 2011-12-05 A hybrid binary xml storage model for efficient xml processing Active CN103493043B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/961,394 2010-12-06
US12/961,394 US9165086B2 (en) 2010-01-20 2010-12-06 Hybrid binary XML storage model for efficient XML processing
PCT/US2011/063310 WO2012078518A2 (en) 2010-12-06 2011-12-05 A hybrid binary xml storage model for efficient xml processing

Publications (2)

Publication Number Publication Date
CN103493043A true CN103493043A (en) 2014-01-01
CN103493043B CN103493043B (en) 2017-02-08

Family

ID=45464086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180064212.0A Active CN103493043B (en) 2010-12-06 2011-12-05 A hybrid binary xml storage model for efficient xml processing

Country Status (4)

Country Link
US (3) US9165086B2 (en)
EP (1) EP2652643B1 (en)
CN (1) CN103493043B (en)
WO (1) WO2012078518A2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365193B2 (en) * 2003-08-14 2013-01-29 Oracle International Corporation Recoverable asynchronous message driven processing in a multi-node system
US9128895B2 (en) 2009-02-19 2015-09-08 Oracle International Corporation Intelligent flood control management
US8713426B2 (en) 2009-06-25 2014-04-29 Oracle International Corporation Technique for skipping irrelevant portions of documents during streaming XPath evaluation
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8346813B2 (en) 2010-01-20 2013-01-01 Oracle International Corporation Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments
US8566343B2 (en) 2010-06-02 2013-10-22 Oracle International Corporation Searching backward to speed up query
CN102651009B (en) * 2011-02-28 2014-09-24 国际商业机器公司 Method and device for retrieving data in a storage system
GB2510887A (en) 2013-02-18 2014-08-20 Ibm Markup language parser
WO2015058331A1 (en) * 2013-10-21 2015-04-30 Hewlett-Packard Development Company, L.P. Extract data from xml stream
US9588975B2 (en) 2014-06-11 2017-03-07 International Business Machines Corporation Processing large XML files by splitting and hierarchical ordering
US9678670B2 (en) 2014-06-29 2017-06-13 Plexistor Ltd. Method for compute element state replication
US9560136B2 (en) * 2014-08-07 2017-01-31 Sap Se High speed communication protocol
US10140029B2 (en) * 2014-12-10 2018-11-27 Netapp, Inc. Method and apparatus for adaptively managing data in a memory based file system
US9851919B2 (en) * 2014-12-31 2017-12-26 Netapp, Inc. Method for data placement in a memory based file system
US10187264B1 (en) * 2017-02-14 2019-01-22 Intuit Inc. Gateway path variable detection for metric collection
CN108509414B (en) * 2018-03-09 2021-09-03 黑龙江工程学院 Plagiarism detection text matching method based on sorting
US11748560B2 (en) * 2020-08-14 2023-09-05 Kyndryl, Inc. Converting between tabular and structured data formats

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1618066A (en) * 2001-11-23 2005-05-18 捷讯研究有限公司 System and method for processing extensible markup language (xml) documents
CN101010674A (en) * 2004-06-16 2007-08-01 甲骨文国际公司 Efficient extraction of XML content stored in a LOB
WO2008118537A1 (en) * 2007-03-26 2008-10-02 Oracle International Corporation Automatically determining a database representation for an abstract datatype
US7840590B2 (en) * 2006-12-18 2010-11-23 Oracle International Corporation Querying and fragment extraction within resources in a hierarchical repository

Family Cites Families (313)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4318182A (en) 1974-04-19 1982-03-02 Honeywell Information Systems Inc. Deadlock detection and prevention mechanism for a computer system
CA1337132C (en) 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
US5222217A (en) 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
US8700458B2 (en) 1989-05-01 2014-04-15 Catalina Marketing Corporation System, method, and database for processing transactions
US5113522A (en) 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US6044205A (en) 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
EP0444376B1 (en) 1990-02-27 1996-11-06 International Business Machines Corporation Mechanism for passing messages between several processors coupled through a shared intelligent memory
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
US5151987A (en) 1990-10-23 1992-09-29 International Business Machines Corporation Recovery objects in an object oriented computing environment
US5283856A (en) 1991-10-04 1994-02-01 Beyond, Inc. Event-driven rule-based messaging system
US5627764A (en) 1991-10-04 1997-05-06 Banyan Systems, Inc. Automatic electronic messaging system with feedback and work flow administration
GB2276737A (en) 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
GB2281644A (en) 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5649102A (en) 1993-11-26 1997-07-15 Hitachi, Ltd. Distributed shared data management system for controlling structured shared data and for serializing access to shared data
US5870599A (en) 1994-03-01 1999-02-09 Intel Corporation Computer system employing streaming buffer for instruction preetching
US6029205A (en) 1994-12-22 2000-02-22 Unisys Corporation System architecture for improved message passing and process synchronization between concurrently executing processes
US6515968B1 (en) 1995-03-17 2003-02-04 Worldcom, Inc. Integrated interface for real time web based viewing of telecommunications network call traffic
US5802278A (en) 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5774668A (en) 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5666486A (en) 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework
US7095871B2 (en) 1995-07-27 2006-08-22 Digimarc Corporation Digital asset management and linking media signals with related data using watermarks
US5754841A (en) 1995-10-20 1998-05-19 Ncr Corporation Method and apparatus for parallel execution of user-defined functions in an object-relational database management system
US5790807A (en) 1995-12-20 1998-08-04 Tandem Computers Incorporated Computer sysem data I/O by reference among CPUS and I/O devices
JP3935986B2 (en) 1995-12-26 2007-06-27 富士通株式会社 Network information resource monitoring system for notifying changes in information resources in a network
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5721825A (en) 1996-03-15 1998-02-24 Netvision, Inc. System and method for global event notification and delivery in a distributed computing environment
GB2311443A (en) 1996-03-23 1997-09-24 Ibm Data message transfer in batches with retransmission
US5995980A (en) 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
US6601083B1 (en) 1996-08-29 2003-07-29 Frederick John Reznak Multitasking data processing system and method of controlling allocation of a shared resource
US5870559A (en) * 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US6092168A (en) * 1996-10-25 2000-07-18 Hewlett-Packard Co. Data storage system and method for deallocating space by writing and detecting a predefined data pattern
US5852818A (en) 1996-12-23 1998-12-22 Oracle Corporation Non-recursive method for parameter evaluation within an information management system
US6222840B1 (en) 1996-12-30 2001-04-24 Compaq Computer Corporation Method and system for performing concurrent read and write cycles in network switch
US6035379A (en) 1997-01-09 2000-03-07 Microsoft Corporation Transaction processing for user data employing both logging and shadow copying
US6006274A (en) 1997-01-30 1999-12-21 3Com Corporation Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer
US6041357A (en) 1997-02-06 2000-03-21 Electric Classified, Inc. Common session token system and protocol
AU6440398A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions
US6067540A (en) 1997-02-28 2000-05-23 Oracle Corporation Bitmap segmentation
US5970439A (en) 1997-03-13 1999-10-19 International Business Machines Corporation Performance monitoring in a data processing system
US6026430A (en) 1997-03-24 2000-02-15 Butman; Ronald A. Dynamic client registry apparatus and method
US5870562A (en) 1997-03-24 1999-02-09 Pfn, Inc. Universal domain routing and publication control system
US5867665A (en) 1997-03-24 1999-02-02 Pfn, Inc Domain communications server
US5884035A (en) 1997-03-24 1999-03-16 Pfn, Inc. Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information
US5867667A (en) 1997-03-24 1999-02-02 Pfn, Inc. Publication network control system using domain and client side communications resource locator lists for managing information communications between the domain server and publication servers
US5940839A (en) 1997-04-04 1999-08-17 Hewlett-Packard Company Fault-tolerant system and method of managing transaction failures in hierarchies
US5890167A (en) 1997-05-08 1999-03-30 Oracle Corporation Pluggable tablespaces for database systems
US7031987B2 (en) 1997-05-30 2006-04-18 Oracle International Corporation Integrating tablespaces with different block sizes
US6088728A (en) 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6243751B1 (en) 1997-06-11 2001-06-05 Oracle Corporation Method and apparatus for coupling clients to servers
US6338074B1 (en) 1997-07-23 2002-01-08 Filenet Corporation System for enterprise-wide work flow automation
US5918059A (en) 1997-08-15 1999-06-29 Compaq Computer Corporation Method and apparatus for responding to actuation of a power supply switch for a computing system
US5999931A (en) 1997-10-17 1999-12-07 Lucent Technologies Inc. Concurrency control protocols for management of replicated data items in a distributed database system
US6334114B1 (en) 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6058389A (en) 1997-10-31 2000-05-02 Oracle Corporation Apparatus and method for message queuing in a database system
US6178529B1 (en) 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US6188699B1 (en) 1997-12-11 2001-02-13 Pmc-Sierra Ltd. Multi-channel encoder/decoder
US6490574B1 (en) 1997-12-17 2002-12-03 International Business Machines Corporation Method and system for managing rules and events in a multi-user intelligent agent environment
US6073129A (en) 1997-12-29 2000-06-06 Bull Hn Information Systems Inc. Method and apparatus for improving the performance of a database management system through a central cache mechanism
US6182086B1 (en) 1998-03-02 2001-01-30 Microsoft Corporation Client-server computer system with application recovery of server applications and client applications
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6560592B1 (en) 1998-03-19 2003-05-06 Micro Data Base Systems, Inc. Multi-model computer database storage system with integrated rule engine
US6247017B1 (en) 1998-03-20 2001-06-12 Sun Microsystems, Inc. Server-client communication over a network
US6529932B1 (en) 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US7756892B2 (en) 2000-05-02 2010-07-13 Digimarc Corporation Using embedded data with file sharing
US6304882B1 (en) 1998-05-05 2001-10-16 Informix Software, Inc. Data replication system and method
EP0959416A3 (en) 1998-05-08 2005-08-10 International Business Machines Corporation Using database query technology for message subscriptions in messaging systems
US6192378B1 (en) 1998-05-13 2001-02-20 International Business Machines Corporation Method and apparatus for combining undo and redo contexts in a distributed access environment
US6243501B1 (en) * 1998-05-20 2001-06-05 Canon Kabushiki Kaisha Adaptive recognition of documents using layout attributes
WO2000010084A2 (en) 1998-08-17 2000-02-24 Microsoft Corporation Object load balancing
US6327622B1 (en) 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6668291B1 (en) * 1998-09-09 2003-12-23 Microsoft Corporation Non-blocking concurrent queues with direct node access by threads
US6263433B1 (en) 1998-09-30 2001-07-17 Ncr Corporation Provision of continuous database service and scalable query performance using active redundant copies
US6421656B1 (en) 1998-10-08 2002-07-16 International Business Machines Corporation Method and apparatus for creating structure indexes for a data base extender
US6308315B1 (en) * 1998-10-14 2001-10-23 Sun Microsystems, Inc. System and method for automatically and selectively promoting object variables to method fields and variables in a digital computer system
JP3004008B1 (en) 1998-10-20 2000-01-31 三菱電機株式会社 Update history management device and update history management method
US6185555B1 (en) 1998-10-31 2001-02-06 M/A/R/C Inc. Method and apparatus for data management using an event transition network
US6728748B1 (en) 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6442568B1 (en) 1998-12-11 2002-08-27 Compaq Computer Corporation Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment
DE10003015A1 (en) 1999-02-06 2000-08-17 Ibm Computer-aided method for automatically transforming a process model
US6393423B1 (en) 1999-04-08 2002-05-21 James Francis Goedken Apparatus and methods for electronic information exchange
US6539381B1 (en) 1999-04-21 2003-03-25 Novell, Inc. System and method for synchronizing database information
US20020194081A1 (en) 1999-04-21 2002-12-19 Perkowski Thomas J. Internet-based consumer service brand marketing communication system which enables service-providers, retailers, and their respective agents and consumers to carry out service-related functions along the demand side of the retail chain in an integrated manner
US7167853B2 (en) 1999-05-20 2007-01-23 International Business Machines Corporation Matching and compensation tests for optimizing correlated subqueries within query using automatic summary tables
US6473794B1 (en) 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US6519571B1 (en) 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6721713B1 (en) 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US6536037B1 (en) 1999-05-27 2003-03-18 Accenture Llp Identification of redundancies and omissions among components of a web based architecture
US6556659B1 (en) 1999-06-02 2003-04-29 Accenture Llp Service level management in a hybrid network architecture
US7165252B1 (en) 1999-06-21 2007-01-16 Jia Xu Method of scheduling executions of processes with various types of timing properties and constraints
US6405191B1 (en) 1999-07-21 2002-06-11 Oracle Corporation Content based publish-and-subscribe system integrated in a relational database system
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US6549922B1 (en) * 1999-10-01 2003-04-15 Alok Srivastava System for collecting, transforming and managing media metadata
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
US6584581B1 (en) 1999-12-06 2003-06-24 Ab Initio Software Corporation Continuous flow checkpointing data processing
US6826182B1 (en) 1999-12-10 2004-11-30 Nortel Networks Limited And-or multi-cast message routing method for high performance fault-tolerant message replication
JP2001167087A (en) 1999-12-14 2001-06-22 Fujitsu Ltd Structured document search device, structured document search method, program recording medium for structured document search, and index creation method for structured document search
US7840986B2 (en) 1999-12-21 2010-11-23 Tivo Inc. Intelligent system and methods of recommending media content items based on user preferences
US6535970B1 (en) 2000-01-04 2003-03-18 International Business Machines Corporation Method and apparatus for enhanced performance caching for path names
US6587866B1 (en) 2000-01-10 2003-07-01 Sun Microsystems, Inc. Method for distributing packets to server nodes using network client affinity and packet distribution table
WO2001052056A2 (en) 2000-01-14 2001-07-19 Saba Software, Inc. Method and apparatus for a business applications management system platform
AU2001241510A1 (en) 2000-02-16 2001-08-27 Askit Systems Inc. Customer service system and method
US6728823B1 (en) 2000-02-18 2004-04-27 Hewlett-Packard Development Company, L.P. Cache connection with bypassing feature
US7117246B2 (en) 2000-02-22 2006-10-03 Sendmail, Inc. Electronic mail system with methodology providing distributed message store
US7080382B2 (en) 2000-02-25 2006-07-18 Oracle International Corporation Accessing shorter-duration instances of activatable objects based on object references stored in longer-duration memory
US20010052137A1 (en) 2000-03-01 2001-12-13 Trustees Of The University Of Pennsylvania Axin domain-like polypeptide inhibitors of glycogen synthase kinase 3 beta activity and activators of wnt signaling
US20020152305A1 (en) 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US6658596B1 (en) 2000-03-13 2003-12-02 International Business Machines Corporation Automated queue recovery using element- based journaling
US6601101B1 (en) 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US7627694B2 (en) 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US6647514B1 (en) 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US6427146B1 (en) 2000-03-31 2002-07-30 Wesley W. Chu Database event detection and notification system using type abstraction hierarchy (TAH)
US6687735B1 (en) 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
US20010032137A1 (en) 2000-04-14 2001-10-18 Shopsforme.Com Information distribution and redemption system
US20020144010A1 (en) 2000-05-09 2002-10-03 Honeywell International Inc. Communication handling in integrated modular avionics
US6769074B2 (en) 2000-05-25 2004-07-27 Lumigent Technologies, Inc. System and method for transaction-selective rollback reconstruction of database objects
KR100390853B1 (en) 2000-06-07 2003-07-10 차상균 A Logging Method and System for Highly Parallel Recovery Operation in Main-Memory Transaction Processing Systems
JP3851493B2 (en) 2000-06-12 2006-11-29 株式会社日立製作所 Database search method, database search system, and computer-readable recording medium recording database search program
JP2002007749A (en) 2000-06-27 2002-01-11 Hitachi Ltd Server distribution device, service providing system and service providing method
US6802003B1 (en) 2000-06-30 2004-10-05 Intel Corporation Method and apparatus for authenticating content
WO2002005116A2 (en) 2000-07-06 2002-01-17 Telefonaktiebolaget Lm Ericsson (Publ) Automatic database replication server and methods
JP4292693B2 (en) 2000-07-07 2009-07-08 株式会社日立製作所 Computer resource dividing apparatus and resource dividing method
KR100840960B1 (en) 2000-07-17 2008-06-24 갈랙틱 컴퓨팅 코포레이션 비브이아이/아이비씨 Method and system for providing dynamic hosted service management
US6925476B1 (en) 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US6816907B1 (en) 2000-08-24 2004-11-09 International Business Machines Corporation System and method for providing differentiated services on the web
US6728705B2 (en) 2000-09-01 2004-04-27 Disney Enterprises, Inc. System and method for selecting content for displaying over the internet based upon some user input
US7130885B2 (en) 2000-09-05 2006-10-31 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US7181492B2 (en) 2000-10-17 2007-02-20 Concerto Software, Inc. Transfer of an internet chat session between servers
US7336613B2 (en) 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
DE60113218T2 (en) 2000-11-08 2006-07-06 Infonet Services Corp., A California Corp., El Segundo Method and apparatus for automatic service level agreements
US6793625B2 (en) 2000-11-13 2004-09-21 Draeger Medical Systems, Inc. Method and apparatus for concurrently displaying respective images representing real-time data and non real-time data
US6704831B1 (en) 2000-11-16 2004-03-09 Sun Microsystems, Inc. Method and apparatus for converting address information between PCI bus protocol and a message-passing queue-oriented bus protocol
JP4774145B2 (en) 2000-11-24 2011-09-14 富士通株式会社 Structured document compression apparatus, structured document restoration apparatus, and structured document processing system
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US7844666B2 (en) 2000-12-12 2010-11-30 Microsoft Corporation Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system
JP2002183125A (en) * 2000-12-14 2002-06-28 Hitachi Ltd Method and device for document information management
US6621083B2 (en) 2000-12-29 2003-09-16 Honeywell International Inc. High-absorption wide-band pixel for bolometer arrays
US20020091685A1 (en) 2001-01-10 2002-07-11 Letmeknow Technology System and method for filtering data events
US6704886B1 (en) 2001-01-25 2004-03-09 Emc Corporation Data backup system having independent data restore execution
US7162467B2 (en) 2001-02-22 2007-01-09 Greenplum, Inc. Systems and methods for managing distributed database resources
US7177866B2 (en) 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US7103586B2 (en) 2001-03-16 2006-09-05 Gravic, Inc. Collision avoidance in database replication systems
US7703009B2 (en) 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
US7269157B2 (en) 2001-04-10 2007-09-11 Internap Network Services Corporation System and method to assure network service levels with intelligent routing
US7519546B2 (en) 2001-04-30 2009-04-14 General Electric Company Maintaining synchronization of information published to multiple subscribers
US6697791B2 (en) 2001-05-04 2004-02-24 International Business Machines Corporation System and method for systematic construction of correlation rules for event management
US6868413B1 (en) 2001-05-10 2005-03-15 Networks Associates Technology, Inc. System and method for customizing and processing business logic rules in a business process system
JP4953518B2 (en) 2001-05-14 2012-06-13 ケープレックス・インク Information sharing method and apparatus using object-oriented technology
US6651012B1 (en) 2001-05-24 2003-11-18 Simmonds Precision Products, Inc. Method and apparatus for trending and predicting the health of a component
US20020194015A1 (en) 2001-05-29 2002-12-19 Incepto Ltd. Distributed database clustering using asynchronous transactional replication
US6987765B2 (en) 2001-06-14 2006-01-17 Nortel Networks Limited Changing media sessions
US7734676B2 (en) 2001-06-27 2010-06-08 International Business Machines Corporation Method for controlling the number of servers in a hierarchical resource environment
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
US7174379B2 (en) 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
GB0119145D0 (en) 2001-08-06 2001-09-26 Nokia Corp Controlling processing networks
US7031994B2 (en) 2001-08-13 2006-04-18 Sun Microsystems, Inc. Matrix transposition in a computer system
US6745209B2 (en) 2001-08-15 2004-06-01 Iti, Inc. Synchronization of plural databases in a database replication system
US7099681B2 (en) 2001-08-16 2006-08-29 Qualcomm Incorporated Methods and apparatus for controlling IP applications during resource shortages
US7454446B2 (en) 2001-08-31 2008-11-18 Rocket Software, Inc. Techniques for storing data based upon storage policies
US7412492B1 (en) 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
US20030061260A1 (en) 2001-09-25 2003-03-27 Timesys Corporation Resource reservation and priority management
US7138376B2 (en) 2001-09-28 2006-11-21 Idenix Pharmaceuticals, Inc. Methods and compositions for treating hepatitis C virus using 4'-modified nucleosides
US6980988B1 (en) 2001-10-01 2005-12-27 Oracle International Corporation Method of applying changes to a standby database system
US7222190B2 (en) 2001-11-02 2007-05-22 Internap Network Services Corporation System and method to provide routing control of information over data networks
US7281206B2 (en) 2001-11-16 2007-10-09 Timebase Pty Limited Maintenance of a markup language document in a database
JP3898498B2 (en) 2001-12-06 2007-03-28 富士通株式会社 Server load balancing system
US7080083B2 (en) 2001-12-21 2006-07-18 Kim Hong J Extensible stylesheet designs in visual graphic environments
US7293105B2 (en) 2001-12-21 2007-11-06 Cisco Technology, Inc. Methods and apparatus for implementing a high availability fibre channel switch
US7058622B1 (en) 2001-12-26 2006-06-06 Tedesco Michael A Method, apparatus and system for screening database queries prior to submission to a database
JP4163870B2 (en) 2001-12-28 2008-10-08 富士通株式会社 Structured document converter
US20030135609A1 (en) 2002-01-16 2003-07-17 Sun Microsystems, Inc. Method, system, and program for determining a modification of a system resource configuration
US7266099B2 (en) 2002-01-23 2007-09-04 Hewlett-Packard Development Company, L.P. Method for hand-off of a data session
US7403996B2 (en) 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
US7178050B2 (en) 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7287075B2 (en) 2002-02-22 2007-10-23 Bea Systems, Inc. System for monitoring managed server health
JP2003248628A (en) 2002-02-25 2003-09-05 Hitachi Ltd Storage device and system
US6832219B2 (en) 2002-03-18 2004-12-14 International Business Machines Corporation Method and system for storing and querying of markup based documents in a relational database
US7325017B2 (en) * 2003-09-24 2008-01-29 Swsoft Holdings, Ltd. Method of implementation of data storage quota
US7089228B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Computer apparatus and method for caching results of a database query
US7496655B2 (en) 2002-05-01 2009-02-24 Satyam Computer Services Limited Of Mayfair Centre System and method for static and dynamic load analyses of communication network
US7127467B2 (en) 2002-05-10 2006-10-24 Oracle International Corporation Managing expressions in a database system
US20050239476A1 (en) 2002-05-31 2005-10-27 Arvind Betrabet Method and system for providing location information of a mobile station
GB0213073D0 (en) 2002-06-07 2002-07-17 Hewlett Packard Co Method of maintaining availability of requested network resources
US7162485B2 (en) 2002-06-19 2007-01-09 Georg Gottlob Efficient processing of XPath queries
US6691155B2 (en) 2002-06-20 2004-02-10 Linda Gottfried Multimedia system for sharing brand information keeps history of modifications of production information by consumers to allow recreating multimedia interface in its previous formats
US7058957B1 (en) 2002-07-12 2006-06-06 3Pardata, Inc. Cluster event notification system
US7203706B2 (en) 2002-08-01 2007-04-10 Oracle International Corporation Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue
US8374966B1 (en) 2002-08-01 2013-02-12 Oracle International Corporation In memory streaming with disk backup and recovery of messages captured from a database redo stream
US7031974B1 (en) 2002-08-01 2006-04-18 Oracle International Corporation Replicating DDL changes using streams
US7185033B2 (en) 2002-08-01 2007-02-27 Oracle International Corporation Buffered message queue architecture for database management systems with unlimited buffered message queue with limited shared memory
US20040024771A1 (en) 2002-08-01 2004-02-05 Oracle International Corporation Buffered message queue architecture for database management systems with transactional enqueue support
US7181482B2 (en) 2002-08-01 2007-02-20 Oracle International Corporation Buffered message queue architecture for database management systems
US7185034B2 (en) 2002-08-01 2007-02-27 Oracle International Corporation Buffered message queue architecture for database management systems with guaranteed at least once delivery
US7191298B2 (en) 2002-08-02 2007-03-13 International Business Machines Corporation Flexible system and method for mirroring data
US6917946B2 (en) 2002-08-12 2005-07-12 International Business Machines Corporation Method and system for partitioning filter rules for multi-search enforcement
US7200657B2 (en) 2002-10-01 2007-04-03 International Business Machines Corporation Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure
US7353538B2 (en) 2002-11-08 2008-04-01 Federal Network Systems Llc Server resource management, analysis, and intrusion negation
US8140677B2 (en) 2002-11-21 2012-03-20 International Business Machines Corporation Autonomic web services hosting service
US20040111506A1 (en) 2002-12-10 2004-06-10 International Business Machines Corporation System and method for managing web utility services
US7149738B2 (en) 2002-12-16 2006-12-12 International Business Machines Corporation Resource and data administration technologies for IT non-experts
US7340674B2 (en) 2002-12-16 2008-03-04 Xerox Corporation Method and apparatus for normalizing quoting styles in electronic mail messages
US7243351B2 (en) 2002-12-17 2007-07-10 International Business Machines Corporation System and method for task scheduling based upon the classification value and probability
JP4267336B2 (en) 2003-01-30 2009-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and program for generating structure pattern candidates
US20040172385A1 (en) 2003-02-27 2004-09-02 Vikram Dayal Database query and content transmission governor
US7194462B2 (en) * 2003-02-27 2007-03-20 Bea Systems, Inc. Systems and methods for implementing an XML query language
US7441046B2 (en) 2003-03-03 2008-10-21 Siemens Medical Solutions Usa, Inc. System enabling server progressive workload reduction to support server maintenance
US20040176996A1 (en) 2003-03-03 2004-09-09 Jason Powers Method for monitoring a managed system
US20040181476A1 (en) 2003-03-13 2004-09-16 Smith William R. Dynamic network resource brokering
JP4165747B2 (en) 2003-03-20 2008-10-15 株式会社日立製作所 Storage system, control device, and control device program
US7263590B1 (en) 2003-04-23 2007-08-28 Emc Corporation Method and apparatus for migrating data in a computer system
US7047337B2 (en) 2003-04-24 2006-05-16 International Business Machines Corporation Concurrent access of shared resources utilizing tracking of request reception and completion order
CA2472887A1 (en) 2003-06-30 2004-12-30 Gravic, Inc. Methods for ensuring referential integrity in multithreaded replication engines
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7289988B2 (en) 2003-07-08 2007-10-30 Hewlett-Packard Development Company, L.P. Method and system for managing events
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US20050033809A1 (en) 2003-08-08 2005-02-10 Teamon Systems, Inc. Communications system providing server load balancing based upon weighted health metrics and related methods
US7634498B2 (en) 2003-10-24 2009-12-15 Microsoft Corporation Indexing XML datatype content system and method
US7287023B2 (en) 2003-11-26 2007-10-23 International Business Machines Corporation Index structure for supporting structural XML queries
US7984021B2 (en) 2003-12-05 2011-07-19 International Business Machines Corporation Optimal use of triggers for detecting database events
US7506215B1 (en) 2003-12-09 2009-03-17 Unisys Corporation Method for health monitoring with predictive health service in a multiprocessor system
US7418456B2 (en) 2004-01-16 2008-08-26 International Business Machines Corporation Method for defining a metadata schema to facilitate passing data between an extensible markup language document and a hierarchical database
US8346909B2 (en) 2004-01-22 2013-01-01 International Business Machines Corporation Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements
US7340678B2 (en) 2004-02-12 2008-03-04 Fuji Xerox Co., Ltd. Systems and methods for creating an interactive 3D visualization of indexed media
US8688634B2 (en) 2004-02-27 2014-04-01 International Business Machines Corporation Asynchronous peer-to-peer data replication
US7877366B2 (en) 2004-03-12 2011-01-25 Oracle International Corporation Streaming XML data retrieval using XPath
US7533138B1 (en) 2004-04-07 2009-05-12 Sun Microsystems, Inc. Practical lock-free doubly-linked list
US7398265B2 (en) 2004-04-09 2008-07-08 Oracle International Corporation Efficient query processing of XML data using XML index
US7366735B2 (en) * 2004-04-09 2008-04-29 Oracle International Corporation Efficient extraction of XML content stored in a LOB
US7499915B2 (en) 2004-04-09 2009-03-03 Oracle International Corporation Index for accessing XML data
US7739418B2 (en) 2004-04-12 2010-06-15 Hewlett-Packard Development Company, L.P. Resource management system
US20050262205A1 (en) 2004-04-30 2005-11-24 Nikolov Radoslav I Delivering messages in an enterprise messaging system using message selector hierarchy
US20050267965A1 (en) 2004-05-13 2005-12-01 Ixi Mobile (R&D) Ltd. Mobile router graceful shutdown system and method
US20050289175A1 (en) * 2004-06-23 2005-12-29 Oracle International Corporation Providing XML node identity based operations in a value based SQL system
US7885980B2 (en) 2004-07-02 2011-02-08 Oracle International Corporation Mechanism for improving performance on XML over XML data using path subsetting
US7587400B2 (en) 2004-08-12 2009-09-08 Oracle International Corporation Suspending a result set and continuing from a suspended result set for transparent session migration
US7660719B1 (en) 2004-08-19 2010-02-09 Bevocal Llc Configurable information collection system, method and computer program product utilizing speech recognition
US20060047646A1 (en) 2004-09-01 2006-03-02 Maluf David A Query-based document composition
US7734582B2 (en) 2004-11-16 2010-06-08 International Business Machines Corporation Apparatus, system, and method for cache synchronization
US7203624B2 (en) 2004-11-23 2007-04-10 Dba Infopower, Inc. Real-time database performance and availability change root cause analysis method and system
US7617257B2 (en) 2004-12-03 2009-11-10 Oracle International Corporation System for persistent caching of LDAP metadata in a cluster LDAP server topology
WO2006076315A1 (en) 2005-01-14 2006-07-20 Delta Design, Inc. Heat sink pedestal with interface medium chamber
US7672958B2 (en) 2005-01-14 2010-03-02 Im2, Inc. Method and system to identify records that relate to a pre-defined context in a data set
US7370061B2 (en) 2005-01-27 2008-05-06 Siemens Corporate Research, Inc. Method for querying XML documents using a weighted navigational index
US20060173865A1 (en) * 2005-02-03 2006-08-03 Fong Joseph S System and method of translating a relational database into an XML document and vice versa
US8024353B2 (en) * 2005-02-11 2011-09-20 Fujitsu Limited Method and system for sequentially accessing compiled schema
US7685203B2 (en) 2005-03-21 2010-03-23 Oracle International Corporation Mechanism for multi-domain indexes on XML documents
US7734631B2 (en) 2005-04-25 2010-06-08 Microsoft Corporation Associating information with an electronic document
US7225103B2 (en) * 2005-06-30 2007-05-29 Oracle International Corporation Automatic determination of high significance alert thresholds for system performance metrics using an exponentially tailed model
US7359910B2 (en) * 2005-06-30 2008-04-15 Microsoft Corporation Scalable transformation and tree based query language node—set selection
US7496589B1 (en) 2005-07-09 2009-02-24 Google Inc. Highly compressed randomly accessed storage of large tables with arbitrary columns
US8762410B2 (en) 2005-07-18 2014-06-24 Oracle International Corporation Document level indexes for efficient processing in multiple tiers of a computer system
US20070016605A1 (en) 2005-07-18 2007-01-18 Ravi Murthy Mechanism for computing structural summaries of XML document collections in a database system
US7424396B2 (en) 2005-09-26 2008-09-09 Intel Corporation Method and apparatus to monitor stress conditions in a system
US7512610B1 (en) 2005-09-30 2009-03-31 Miosoft Corporation Processing data records
US8280867B2 (en) 2005-10-20 2012-10-02 Teradata Us, Inc. Identifying database request sources
US8117505B2 (en) 2005-11-07 2012-02-14 Microsoft Corporation Resource exhaustion prediction, detection, diagnosis and correction
US7904759B2 (en) 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
EP1974305A4 (en) * 2006-01-11 2011-11-09 Carmel Haifa University Economic Corp Ltd Uav decision and control system
US20070174309A1 (en) 2006-01-18 2007-07-26 Pettovello Primo M Mtreeini: intermediate nodes and indexes
US20070198479A1 (en) 2006-02-16 2007-08-23 International Business Machines Corporation Streaming XPath algorithm for XPath expressions with predicates
CN100418092C (en) * 2006-02-20 2008-09-10 南京联创科技股份有限公司 Grid and T-tree index method for rapid positioning in main memory database
US9367647B2 (en) 2006-02-21 2016-06-14 Hewlett Packard Enterprise Development Lp Method of providing system design
US8452981B1 (en) 2006-03-01 2013-05-28 Nvidia Corporation Method for author verification and software authorization
US7624130B2 (en) 2006-03-30 2009-11-24 Microsoft Corporation System and method for exploring a semantic file network
US20070234199A1 (en) 2006-03-31 2007-10-04 Astigeyevich Yevgeniy M Apparatus and method for compact representation of XML documents
US8555274B1 (en) 2006-03-31 2013-10-08 Vmware, Inc. Virtualized desktop allocation system using virtual infrastructure
US8156156B2 (en) 2006-04-06 2012-04-10 Universita Di Pisa Method of structuring and compressing labeled trees of arbitrary degree and shape
US8429526B2 (en) 2006-04-10 2013-04-23 Oracle International Corporation Efficient evaluation for diff of XML documents
CN101055578A (en) 2006-04-12 2007-10-17 龙搜(北京)科技有限公司 File content dredger based on rule
EP1847923A1 (en) 2006-04-21 2007-10-24 Microsoft Corporation Localising unstructured resources
US7870117B1 (en) 2006-06-01 2011-01-11 Monster Worldwide, Inc. Constructing a search query to execute a contextual personalized search of a knowledge base
US7680764B2 (en) 2006-06-21 2010-03-16 Oracle International Corporation Parallel population of an XML index
US7849069B2 (en) 2006-06-21 2010-12-07 International Business Machines Corporation Method and system for federated resource discovery service in distributed systems
JP4189416B2 (en) 2006-08-28 2008-12-03 株式会社東芝 Structured document management system and program
US8108765B2 (en) 2006-10-11 2012-01-31 International Business Machines Corporation Identifying and annotating shared hierarchical markup document trees
US7797310B2 (en) 2006-10-16 2010-09-14 Oracle International Corporation Technique to estimate the cost of streaming evaluation of XPaths
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US20080155641A1 (en) 2006-12-20 2008-06-26 International Business Machines Corporation Method and system managing a database system using a policy framework
US7552119B2 (en) 2006-12-20 2009-06-23 International Business Machines Corporation Apparatus and method for skipping XML index scans with common ancestors of a previously failed predicate
US8125950B2 (en) 2007-01-31 2012-02-28 Broadcom Corporation Apparatus for wirelessly managing resources
US7627618B2 (en) 2007-02-21 2009-12-01 At&T Knowledge Ventures, L.P. System for managing data collection processes
EP1965354A1 (en) * 2007-03-02 2008-09-03 Gemmo S.p.A. Service management system and method
US7917515B1 (en) 2007-03-26 2011-03-29 Lsi Corporation System and method of accelerating processing of streaming data
US8117182B2 (en) 2007-04-23 2012-02-14 International Business Machines Corporation Apparatus and method for optimizing descendant path evaluation in xpath/xquery
US20080301129A1 (en) 2007-06-04 2008-12-04 Milward David R Extracting and displaying compact and sorted results from queries over unstructured or semi-structured text
US7761411B2 (en) 2007-07-20 2010-07-20 Oracle International Corporation Delta operations on a large object in a database
US20090112809A1 (en) 2007-10-24 2009-04-30 Caterpillar Inc. Systems and methods for monitoring health of computing systems
US20090113350A1 (en) 2007-10-26 2009-04-30 Stacie Lynn Hibino System and method for visually summarizing and interactively browsing hierarchically structured digital objects
US8090731B2 (en) 2007-10-29 2012-01-03 Oracle International Corporation Document fidelity with binary XML storage
US8180791B2 (en) 2007-11-08 2012-05-15 Oracle International Corporation Combining streaming and navigation for evaluating 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
US7870124B2 (en) * 2007-12-13 2011-01-11 Oracle International Corporation Rewriting node reference-based XQuery using SQL/SML
JP4968117B2 (en) 2008-03-05 2012-07-04 富士通株式会社 Route calculation apparatus and route calculation system
US8230269B2 (en) 2008-06-17 2012-07-24 Microsoft Corporation Monitoring data categorization and module-based health correlations
AU2010276462B1 (en) 2010-12-27 2012-01-12 Limelight Networks, Inc. Partial object caching
US8527238B2 (en) 2008-09-30 2013-09-03 Microsoft Corporation Storage input/output utilization associated with a software application
US8244984B1 (en) 2008-12-08 2012-08-14 Nvidia Corporation System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy
US8762367B2 (en) 2008-12-08 2014-06-24 Teradata Us, Inc. Accurate and timely enforcement of system resource allocation rules
US8126932B2 (en) 2008-12-30 2012-02-28 Oracle International Corporation Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML
US9911212B2 (en) 2009-02-24 2018-03-06 International Business Machines Corporation Resetting of dynamically grown accelerated data structure
US8255394B2 (en) 2009-06-01 2012-08-28 International Business Machines Corporation Apparatus, system, and method for efficient content indexing of streaming XML document content
US8713426B2 (en) 2009-06-25 2014-04-29 Oracle International Corporation Technique for skipping irrelevant portions of documents during streaming XPath evaluation
US9292702B2 (en) * 2009-08-20 2016-03-22 International Business Machines Corporation Dynamic switching of security configurations
US8266151B2 (en) 2009-10-30 2012-09-11 Oracle International Corporationn Efficient XML tree indexing structure over XML content
US8832142B2 (en) 2010-08-30 2014-09-09 Oracle International Corporation Query and exadata support for hybrid columnar compressed data
US8756215B2 (en) * 2009-12-02 2014-06-17 International Business Machines Corporation Indexing documents
US9298846B2 (en) * 2009-12-23 2016-03-29 Citrix Systems, Inc. Systems and methods for efficient Xpath processing
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8346813B2 (en) 2010-01-20 2013-01-01 Oracle International Corporation Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments
US20110208730A1 (en) 2010-02-23 2011-08-25 Microsoft Corporation Context-aware searching
US20110289118A1 (en) 2010-05-20 2011-11-24 Microsoft Corporation Mapping documents to a relational database table with a document position column
US8953444B2 (en) * 2010-06-25 2015-02-10 Qualcomm Incorporated Load balancing
US8458530B2 (en) 2010-09-21 2013-06-04 Oracle International Corporation Continuous system health indicator for managing computer system alerts

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1618066A (en) * 2001-11-23 2005-05-18 捷讯研究有限公司 System and method for processing extensible markup language (xml) documents
CN101010674A (en) * 2004-06-16 2007-08-01 甲骨文国际公司 Efficient extraction of XML content stored in a LOB
US7840590B2 (en) * 2006-12-18 2010-11-23 Oracle International Corporation Querying and fragment extraction within resources in a hierarchical repository
WO2008118537A1 (en) * 2007-03-26 2008-10-02 Oracle International Corporation Automatically determining a database representation for an abstract datatype

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JAN-MARCO BREMER ET AL.: "Integrating document and data retrieval based on XML", 《THE VLDB JOURNAL》 *
SHANKAR PAL ET AL.: "Indexing XML data stored in a relational database", 《PROCEEDING VLDB 04 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES》 *

Also Published As

Publication number Publication date
CN103493043B (en) 2017-02-08
EP2652643A2 (en) 2013-10-23
US10055128B2 (en) 2018-08-21
US20120143919A1 (en) 2012-06-07
US20160042086A1 (en) 2016-02-11
EP2652643B1 (en) 2018-03-07
US9165086B2 (en) 2015-10-20
WO2012078518A3 (en) 2013-09-26
US20160041763A1 (en) 2016-02-11
WO2012078518A2 (en) 2012-06-14
US10191656B2 (en) 2019-01-29

Similar Documents

Publication Publication Date Title
CN103493043A (en) A hybrid binary xml storage model for efficient xml processing
US20210109967A1 (en) Evaluating XML Full Text Search
US7353222B2 (en) System and method for the storage, indexing and retrieval of XML documents using relational databases
CN105849726B (en) For efficiently supporting the general index of the extemporaneous inquiry by demixing marking data
Luk et al. A survey in indexing and searching XML documents
US7305414B2 (en) Techniques for efficient integration of text searching with queries over XML data
US8346813B2 (en) Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments
US7499915B2 (en) Index for accessing XML data
US7290012B2 (en) Apparatus, system, and method for passing data between an extensible markup language document and a hierarchical database
US7644066B2 (en) Techniques of efficient XML meta-data query using XML table index
US7668806B2 (en) Processing queries against one or more markup language sources
US9330124B2 (en) Efficiently registering a relational schema
US8566343B2 (en) Searching backward to speed up query
US20110106811A1 (en) Efficient XML Tree Indexing Structure Over XML Content
US20040073541A1 (en) Parent-child query indexing for XML databases
US20040103105A1 (en) Subtree-structured XML database
CA2485554A1 (en) Searching structured, semi-structured, and unstructured content
US20140067819A1 (en) Efficient xml tree indexing structure over xml content
CN101025748A (en) Apparatus and method for structured document management
CN103026631A (en) A method and system for compressing xml documents
Dyreson et al. Capturing and querying multiple aspects of semistructured data
CA2561734C (en) Index for accessing xml data
Yang et al. Efficient mining of frequent XML query patterns with repeating-siblings
US20080147615A1 (en) Xpath based evaluation for content stored in a hierarchical database repository using xmlindex

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