CPC G06F 16/24556 (2019.01) [G06F 16/21 (2019.01); G06F 16/2365 (2019.01)] | 10 Claims |
1. A system comprising:
an entity identifier (EID) assignment engine;
a primary EID selection engine coupled to the EID assignment engine;
a survivorship engine coupled to the primary EID selection engine;
a lineage EID promotion engine coupled to the survivorship engine;
wherein, in operation:
the EID assignment engine assigns an EID to a first object stored in a datastore of a multitenant EID lineage-persistent relational database management system (RDBMS), wherein the datastore has an n-tier architecture, wherein the datastore includes an industry-agnostic datastore in a Layer 1 (L1) datastore of the n-tier architecture, wherein the datastore includes an industry-focused datastore in a Layer 2 (L2) datastore of the n-tier architecture, wherein the datastore includes a tenant datastore in Layer (L3) datastores of the n-tier architecture, and wherein L3 inherits objects from L2;
the primary EID selection engine, for a first set of EIDs that reference a common real world entity with which the first object is associated, selects a primary EID from a first set of EIDs of the first object;
the survivorship engine, when the first object is merged with a second object to produce a third object, maintains the first set of EIDs as a first set of persistent lineage EIDs in association with first attributes of the first object, maintains a second set of EIDs as a second set of persistent lineage EIDs in association with second attributes of the second object, and maintains the first set of persistent lineage EIDs and the second set of persistent lineage EIDs in association with the third object;
the lineage EID promotion engine, when the first object is unmerged from the second object, the third object, or a fourth object that is a child or grandchild of the third object, selects a lineage EID of the first set of persistent lineage EIDs to serve as a primary EID of the now-unmerged first object;
wherein a first tenant object is stored in a first tenant datastore of the L3 datastores and a second tenant object is stored in a second tenant datastore of the L3 datastores, comprising a cross-tenant matching engine that matches the first tenant object with the second tenant object.
|