IP Library › Granted Patent US 10,528,440
Granted Patent B2
US 10,528,440 · App. 15/362,701 · Granted Jan 7, 2020

Metadata cataloging framework

Inventors: Joo Yeon Lee (Seoul, KR); Eunsang Kim (Seoul, KR); Sunghoon Lee (Seoul, KR); Hanggjun Cho (Seoul, KR); Kyungyul Park (Seoul, KR)
Assignee: SAP SE
G06F11/2094G06F2201/84
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 10,528,440
App. No.
15/362,701
Granted
Jan 7, 2020
Kind
B2
Abstract

Systems and methods for generating a platform-independent metadata catalog framework of a database system are disclosed. These include receiving, at the database system, a metadata object, and determining a version of the received metadata object. Responsive to determining that a metadata catalog, which has catalog entries associated with unique versions of metadata objects, does not include a catalog entry associated with the version of the received metadata object, a catalog entry in the metadata catalog is created. The created catalog entry is then associated with the version of the received metadata object. Furthermore, a version number based on the version of the received metadata is generated, which is associated with the created catalog entry. Related apparatus, systems, techniques and articles are also described.

Claims (49)

1. A computer-implemented method for generating a platform-independent metadata catalog framework of a first database system, the method comprising:

receiving, at the first database system, a metadata object;

determining a version of the received metadata object;

responsive to determining that a metadata catalog, having catalog entries associated with unique versions of metadata objects, does not include a catalog entry associated with the version of the received metadata object:

creating a catalog entry in the metadata catalog, the created catalog entry being associated with the version of the received metadata object, and

generating a version number based on the version of the received metadata, the generated version number being associated with the created catalog entry;

determining a change to the metadata object based on the created catalog entry;

generating, based on the change, a data exchange element that includes a JavaScript Object Notation (JSON) string;

updating a metadata log to include the data exchange element and a command associated with the data exchange element, wherein the command corresponds to the change to the metadata object; and

transmitting the metadata log to a second database system for replaying the metadata log at the second database system such that the command is executed when the second database system enters a recovery mode, the second database system having a different database version from that of the first database system.

2. The method of claim 1 , further comprising outputting the version number associated with the created catalog entry.

3. The method of claim 1 , further comprising responsive to determining that the metadata catalog includes a catalog entry associated with the version of the received metadata object, outputting the catalog entry associated with the version of the received metadata object.

4. The method of claim 1 , further comprising responsive to determining that the metadata catalog includes one or more catalog entries associated with previous versions of the received metadata object, changing the version number associated with the created catalog entry to a value that is indicative of a version that is later than the one or more catalog entries associated with the previous version of the received metadata object.

5. The method of claim 1 , further comprising identifying a set of fields included in the received metadata object, each field comprising a definition of data included in the first database system, wherein the creating a catalog entry in the metadata catalog is based on the identified set of fields included in received metadata object.

6. The method of claim 5 , wherein the determining that the metadata catalog includes one or more catalog entries associated with previous versions of the received metadata object comprises comparing the definition of data of each field of the received metadata object with the definition of data of each field of the unique metadata object associated with each catalog entry included in the metadata catalog.

7. The method of claim 5 , wherein each catalog entry comprises a version number that is indicative of the unique version of the metadata object.

8. The method of claim 7 , wherein the assigned value to the version number of the created catalog entry is larger than the version numbers of the one or more catalog entries associated with the previous version of the received metadata object.

9. The method of claim 5 , wherein a field in the received metadata object comprises a type and size.

10. The method of claim 9 , wherein the size of the received metadata object is based on the sizes of each field in the identified set.

11. The method of claim 9 , wherein the position of a field in the received metadata object is based on the sizes of each prior field in the identified set.

12. The method of claim 1 , further comprising outputting one of the catalog entries in the metadata catalog in a platform-independent format, and outputting the version number of the outputted catalog entry.

13. The method of claim 12 , wherein the platform-independent format includes JSON, XML, YAML, REBOL, Gellish, Atom, HOCON, CVS, or any combination thereof.

14. A non-transitory computer-readable storage medium including instructions to perform operations comprising:

receiving, at a first database system, a metadata object;

determining a version of the received metadata object;

responsive to determining that a metadata catalog, having catalog entries associated with unique versions of metadata objects, does not include a catalog entry associated with the version of the received metadata object:

creating a catalog entry in the metadata catalog, the created catalog entry being associated with the version of the received metadata object, and

generating a version number based on the version of the received metadata, the generated version number being associated with the created catalog entry;

determining a change to the metadata object based on the created catalog entry;

generating, based on the change, a data exchange element that includes a JavaScript Object Notation (JSON) string;

updating a metadata log to include the data exchange element and a command associated with the data exchange element, wherein the command corresponds to the change to the metadata object; and

transmitting the metadata log to a second database system for replaying the metadata log at the second database system such that the command is executed when the second database system enters a recovery mode, the second database system having a different database version from that of the first database system.

15. A computer-implemented database recovery system, the system comprising:

one or more data processors; and

a computer-readable storage medium encoded with instructions for commanding the one or more data processors to perform operations comprising:

receiving, at a first database system, a metadata object;

determining a version of the received metadata object;

responsive to determining that a metadata catalog, having catalog entries associated with unique versions of metadata objects, does not include a catalog entry associated with the version of the received metadata object:

creating a catalog entry in the metadata catalog, the created catalog entry being associated with the version of the received metadata object, and

generating a version number based on the version of the received metadata, the generated version number being associated with the created catalog entry;

determining a change to the metadata object based on the created catalog entry;

generating, based on the change, a data exchange element that includes a JavaScript Object Notation (JSON) string;

updating a metadata log to include the data exchange element and a command associated with the data exchange element, wherein the command corresponds to the change to the metadata object; and

transmitting the metadata log to a second database system for replaying the metadata log at the second database system such that the command is executed when the second database system enters a recovery mode, the second database system having a different database version from that of the first database system.

16. The system of claim 15 , the operations further comprising identifying a set of fields included in the received metadata object, each field comprising a definition of data included in the first database system, wherein the creating a catalog entry in the metadata catalog is based on the identified set of fields included in received metadata object.

17. The system of claim 16 , wherein each catalog entry comprises a version number that is indicative of the unique version of the metadata object.

18. The system of claim 17 , wherein the assigned value to the version number of the created catalog entry is larger than the version numbers of the one or more catalog entries associated with the previous version of the received metadata object.

19. The system of claim 16 , wherein a field in the received metadata object comprises a type and size.

20. The system of claim 19 , wherein the size of the received metadata object is based on the sizes of each field in the identified set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2016
From: LEE, JOO YEON; KIM, EUNSANG; LEE, SUNGHOON; CHO, HANGGJUN; PARK, KYUNGYUL
To: SAP SE
Reel/Frame 040696/0750 →
Continuity (1)
Related Publication 20180150362A1 · May 31, 2018