US 12,111,854 B2
Storing and versioning hierarchical data in a binary format
Jack Randall Smiley, Flower Mound, TX (US); Byron Kevin McKenzie, Garland, TX (US); Anurag Garg, Cupertino, CA (US); and Randy Lee Haben, Georgetown, TX (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jun. 30, 2022, as Appl. No. 17/855,375.
Application 17/855,375 is a continuation of application No. 16/541,067, filed on Aug. 14, 2019, granted, now 11,423,060.
Claims priority of provisional application 62/741,396, filed on Oct. 4, 2018.
Prior Publication US 2022/0335071 A1, Oct. 20, 2022
Int. Cl. G06F 16/28 (2019.01); G06F 16/22 (2019.01); G06F 16/25 (2019.01)
CPC G06F 16/288 (2019.01) [G06F 16/2282 (2019.01); G06F 16/258 (2019.01); G06F 16/282 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:
identifying a data hierarchy to be stored in a database;
storing a first set of data corresponding to a first subset of nodes in the data hierarchy at least by:
determining a first set of characteristics of the first subset of nodes in a hierarchy of nodes corresponding to the data hierarchy, the first subset of nodes storing a first set of characteristic values corresponding to the first set of characteristics;
based at least on determining the first subset of nodes stores values for the first set of characteristics, selecting the first subset of nodes of the hierarchy of nodes to be included in a first database record in the database at least by:
determining that each node of the first subset of nodes is of a same first node type;
selecting the first subset of nodes to be included in the first database record based at least on the determination that each node of the first subset of nodes is of the same first node type,
wherein the first subset of nodes comprises a first node and a second node;
storing, in the first database record, information identifying each node of the first subset of nodes at least by generating a first value representing at least:
a first node identifier of the first node and a first characteristic value corresponding to a first characteristic for the first node, from among the first set of characteristics; and
a second node identifier of the second node and a second characteristic value corresponding to the first characteristic for the second node;
storing the first value in a first field of a first database record;
storing a second set of data corresponding to a second subset of nodes in the data hierarchy at least by:
determining the second subset of nodes in the hierarchy of nodes stores values for a second set of characteristics;
based at least on determining the second subset of nodes in the hierarchy of nodes stores values for the second set of characteristics: selecting the second subset of nodes of the hierarchy to be included in a second database record in the database,
wherein the second subset of nodes comprises a third node and a fourth node;
generating a second value representing at least both a third identity of the third node and a fourth identity of the fourth node; and
storing the second value in a second field in the second database record,
wherein selecting the second subset of nodes to be included in the second database record based at least on the characteristics of the second subset of nodes comprises:
determining that each node of the second subset of nodes is of a same second node type; and
selecting the second subset of nodes to be included in the same second database record based at least on the determination that each node of the second subset of nodes is of the same node type; and
storing, in the same second database record, information identifying each node of the second subset of nodes.