Techniques for efficient loading of binary XML data
First Claim
1. A method for encoding a particular text XML, comprising the computer-implemented steps of:
- receiving a request for a first specified amount of binary encoded XML, wherein the first specified amount is less than the entire amount that would be produced by encoding the entire particular text XML, and wherein the first specified amount is a numerical value that communicates a size that equates to a particular number of bytes;
in response to the request, encoding one or more nodes from the particular text XML on a per-node basis until a first amount of binary XML, which has been generated to satisfy the request, is equal to or greater than the first specified amount;
responding to the request with a second amount of binary XML, wherein the second amount of binary XML is not greater than the first specified amount;
once the request has been satisfied, ceasing to encode the particular text XML until receiving a subsequent request for binary encoded XML;
receiving the subsequent request for a second specified amount of binary encoded XML;
in response to the subsequent request, continuing to encode the particular text XML from a node that is subsequent to the one or more nodes that were used to generate the first amount of binary XML; and
responding to the subsequent request with a third amount of binary XML, wherein the third amount of binary XML is not greater than the second specified amount;
wherein the steps of the method are performed by one or more computer systems.
1 Assignment
0 Petitions
Accused Products
Abstract
Various techniques are described hereafter for improving the efficiency of binary XML encoding and loading operations. In particular, techniques are described for incrementally encoding XML in response to amount-based requests. After encoding enough binary XML to satisfy an amount-based request, the encoder stops encoding the XML until a subsequent request is received. The incremental encoding may take place on the client-side or the server-side. Techniques are also described for reducing the character set conversion operations by having a parser convert tokens in text XML into one character set while converting non-token text in the text XML into another character set. Techniques are also described for generating self-contained binary XML documents, and for improving remap operations by providing a binary XML document on a chunk-by-chunk basis.
77 Citations
12 Claims
-
1. A method for encoding a particular text XML, comprising the computer-implemented steps of:
-
receiving a request for a first specified amount of binary encoded XML, wherein the first specified amount is less than the entire amount that would be produced by encoding the entire particular text XML, and wherein the first specified amount is a numerical value that communicates a size that equates to a particular number of bytes; in response to the request, encoding one or more nodes from the particular text XML on a per-node basis until a first amount of binary XML, which has been generated to satisfy the request, is equal to or greater than the first specified amount; responding to the request with a second amount of binary XML, wherein the second amount of binary XML is not greater than the first specified amount; once the request has been satisfied, ceasing to encode the particular text XML until receiving a subsequent request for binary encoded XML; receiving the subsequent request for a second specified amount of binary encoded XML; in response to the subsequent request, continuing to encode the particular text XML from a node that is subsequent to the one or more nodes that were used to generate the first amount of binary XML; and responding to the subsequent request with a third amount of binary XML, wherein the third amount of binary XML is not greater than the second specified amount; wherein the steps of the method are performed by one or more computer systems. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform steps comprising:
-
receiving a request for a first specified amount of binary encoded XML, wherein the first specified amount is less than the entire amount that would be produced by encoding the entire particular text XML, and wherein the first specified amount is a numerical value that communicates a size that equates to a particular number of bytes; in response to the request, encoding one or more nodes from the particular text XML on a per-node basis until a first amount of binary XML, which has been generated to satisfy the request, is equal to or greater than the first specified amount; responding to the request with a second amount of binary XML, wherein the second amount of binary XML is not greater than the first specified amount; once the request has been satisfied, ceasing to encode the particular text XML until receiving a subsequent request for binary encoded XML; receiving the subsequent request for a second specified amount of binary encoded XML; in response to the subsequent request, continuing to encode the particular text XML from a node that is subsequent to the one or more nodes that were used to generate the first amount of binary XML; and responding to the subsequent request with a third amount of binary XML, wherein the third amount of binary XML is not greater than the second specified amount. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification