IP Library Granted Patent US 8,364,723
Granted Patent B1
US 8,364,723 · App. 13/415,622 · Granted Jan 29, 2013

Apparatus and method for realizing big data into a big object and non-transitory tangible machine-readable medium thereof

Inventors: Wenwey Hseush (Taipei, TW); Shih-Chang Hsu (Taipei, TW); Yi-Cheng Huang (Taipei, TW); Michael Chih Huong Fong (Taipei, TW); Yi-Chen Hsu (Taipei, TW)
Assignee: eBizprise Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,364,723
App. No.
13/415,622
Granted
Jan 29, 2013
Kind
B1
Abstract

An apparatus and method for realizing big data into a Big Object and a non-transitory tangible machine-readable medium are provided. The apparatus comprises an interface and a processor. The interface is configured to access big data stored in a storage device. The processor is configured to create the Big Object from the big data using memory mapped files. The processor further lays out a content of the Big Object, wherein the content comprises a meta information section, a tree section, and a data section. The processor further lays out a content of the tree section by using LIS and describes a structure of the Big Object in the meta information section.

Claims (86)

1. An apparatus for realizing big data into a Big Object, comprising:

an interface, being configured to access big data stored in a storage device; and

a processor, being configured to perform the following operations:

creating the Big Object from the big data using memory mapped files,

laying out a content of the Big Object, the content comprising a meta information section, a tree section, and a data section,

laying out a content of the tree section by using Location Independent Structure (LIS), and

describing a structure of the Big Object in the meta information section;

wherein the tree section comprises a recursive LIS data structure of a tree, the recursive LIS data structure is arranged in a continuous memory space in the following way:

LIS( r )=| s 1 ,s 2 , . . . ,sn ,LIS( s 1),LIS( s 2), . . . ,LIS( sn )],

wherein the function LIS0 represents LIS, the variable r represents a root node of the tree, the variables s1, s2, . . . , to sn represent child nodes of the root node, each node includes a child pointer field, a field for the number of children, and a data pointer field, each child pointer is an offset relative to the current LIS, and each data pointer is an offset relative to the data section.

2. The apparatus of claim 1 , wherein the meta information section comprises a piece of data model description, a piece of tree hierarchy and structure description, a piece of data element description, and a time stamp and revision number.

3. The apparatus of claim 1 , wherein the Big Object comprise a smart pointer referring to an external Big Object.

4. The apparatus of claim 3 , wherein the smart pointer comprises a pointer field and a URL referring the external Big Object.

5. The apparatus of claim 4 , wherein the smart pointer is in the meta information section and the URL refers to a meta information section of the external Big Object.

6. The apparatus of claim 4 , wherein the smart pointer is in the tree section and the URL refers to a sub-tree of the external Big Object.

7. The apparatus of claim 4 , wherein the processor is further configured to open the external Big Object specified by the URL using memory mapped files, update the pointer field of the smart pointer with a memory address of the external Big Object, and access the external Big Object via the pointer field.

8. The apparatus of claim 1 , wherein the processor is further configured to receive a path condition described by XPath, traverse a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section, determine that at least one sibling node satisfies the path condition, and traverse next LISs corresponding to the at least one sibling node recursively.

9. The apparatus of claim 1 , wherein the processor is further configured to receive a memory address of a given node, traverse a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section, determines a sub-LIS whose memory rage contains the memory address of the given node, determines a current node corresponding to the sub-LIS, appends a name of the current node to a path name described by XPath and traverse the sub-LIS until the given node is found.

10. The apparatus of claim 1 , wherein the processor is further configured to generate another Big Object by applying a transform operation on the Big Object, the transform operation comprises the following operations:

traversing a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section,

enumerating every Xpath of the tree structure, and

creating the another Big Object with new hierarchies based on every enumerated XPath.

11. The apparatus of claim 1 , wherein the processor is further configured to perform a split operation on the Big Object, the split operation comprises the following operations:

receiving a path condition described by XPath,

locating a root node of at least one sub-tree that meets the path condition,

creating a split Big Object for each of the at least one sub-tree, and

updating the root node of each of the at least one sub-tree with a smart pointer containing a URL of the split Big Object.

12. The apparatus of claim 11 , wherein the processor is further configured to perform a join operation between the Big Object and each of the at least one split Big Object, the join operation comprises the following operations:

traversing a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section,

traversing each of the at least one split Big Object referred by the smart pointers in the tree section

enumerating every XPath of the tree structure, and

creating another Big Object based on every enumerated Xpath.

13. A method for realizing big data into a Big Object in a computer system, comprising the following steps of:

creating the Big Object from the big data using memory mapped files;

laying out a content of the Big Object, the content comprising a meta information section, a tree section, and a data section;

laying out a content of the tree section by using LIS; and

describing a structure of the Big Object in the meta information section;

wherein the tree section comprises a recursive LIS data structure of a tree, the recursive LIS data structure is arranged in a continuous memory space in the following way:

LIS( r )=[ s 1 ,s 2 , . . . ,sn ,LIS( s 1),LIS( s 2), . . . ,LIS( sn )],

wherein the function LIS( ) represents LIS, the variable r represents a root node of the tree, the variables s1, s2, . . . , to sn represent child nodes of the root node, each node includes a child pointer field, a field for the number of children, and a data pointer field, each child pointer is an offset relative to the current LIS, and each data pointer is an offset relative to the data section.

14. The method of claim 13 , wherein the meta information section comprises a piece of data model description, a piece of tree hierarchy and structure description, a piece of data element description, and a time stamp and revision number.

15. The method of claim 13 , wherein the Big Object comprise a smart pointer referring to an external Big Object.

16. The method of claim 15 , wherein the smart pointer comprises a pointer field and a URL referring the external Big Object.

17. The method of claim 16 , wherein the smart pointer is in the meta information section and the URL refers to a meta information section of the external Big Object.

18. The method of claim 16 , wherein the smart pointer is in the tree section and the URL refers to a sub-tree of the external Big Object.

19. The method of claim 16 , further comprising the following steps of:

opening the external Big Object specified by the URL using memory mapped files;

updating the pointer field of the smart pointer with a memory address of the external Big Object; and

accessing the external Big Object via the pointer field.

20. The method of claim 13 , further comprising the following steps of:

receiving a path condition described by XPath;

traversing a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section;

determining that at least one sibling node satisfies the path condition; and

traversing next LISs corresponding to the at least one sibling node recursively.

21. The method of claim 13 , further comprising the following steps of:

receiving a memory address of a given node;

traversing a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section;

determining a sub-LIS whose memory rage contains the memory address of the given node;

determining a current node corresponding to the sub-LIS;

appending a name of the current node to a path name described by XPath; and

traversing the sub-LIS until the given node is found.

22. The method of claim 13 , further comprising the following steps of:

generating another Big Object by applying a transform operation on the Big Object, comprising the following steps of:

traversing a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section;

enumerating every Xpath of the tree structure; and

creating the another Big Object with new hierarchies based on every enumerated XPath.

23. The method of claim 13 , further comprising the following steps of:

performing a split operation on the Big Object, comprising the following steps of:

receiving a path condition described by XPath;

locating a root node of at least one sub-tree that meets the path condition;

creating a split Big Object for each of the at least one sub-tree; and

updating the root node of each of the at least one sub-tree with a smart pointer containing a URL of the split Big Object.

24. The method of claim 23 , further comprising the following steps of:

performing a join operation between the Big Object and each of the at least one split Big Object, comprising the following steps of:

traversing a tree structure of the Big Object by starting from a root of the recursive LIS data structure in the tree section;

traversing each of the at least one split Big Object referred by the smart pointers in the tree section;

enumerating every XPath of the tree structure; and

creating another Big Object based on every enumerated Xpath.

25. A non-transitory tangible machine-readable medium, being stored with a computer program, the computer program comprising a plurality of codes, the codes being able to execute a method for realizing big data into a Big Object when the computer program is loaded into an electronic apparatus, the codes comprising:

code A for creating the Big Object from the big data using memory mapped files;

code B for laying out a content of the Big Object, the content comprising a meta information section, a tree section, and a data section;

code C for laying out a content of the tree section by using LIS; and

code D for describing a structure of the Big Object in the meta information section;

wherein the tree section comprises a recursive LIS data structure of a tree, the recursive LIS data structure is arranged in a continuous memory space in the following way:

LIS( r )=[ s 1 ,s 2 , . . . ,sn ,LIS( s 1),LIS( s 2), . . . ,LIS( sn )],

wherein the function LIS( ) represents LIS, the variable r represents a root node of the tree, the variables s1, s2, . . . , to sn represent child nodes of the root node, each node includes a child pointer field, a field for the number of children, and a data pointer field, each child pointer is an offset relative to the current LIS, and each data pointer is an offset relative to the data section.

Assignments (3)
CHANGE OF NAME Recorded Mar 2, 2016
From: MACRODATA, INC.
To: BIGOBJECT, INC.
Reel/Frame 037976/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2014
From: EBIZPRISE, INC.
To: MACRODATA, INC.
Reel/Frame 034183/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2012
From: HSEUSH, WENWEY; HSU, SHIH-CHANG; HUANG, YI-CHENG; FONG, MICHAEL CHIH HUONG; HSU, YI-CHEN
To: EBIZPRISE INC.
Reel/Frame 027829/0890 →