IP Library › Granted Patent US 11,222,007
Granted Patent B2
US 11,222,007 · App. 15/970,727 · Granted Jan 11, 2022

Database snapshot checking

Inventors: Dirk Thomsen (Berlin, DE); Thorsten Glebe (Leimen, DE); Blaise Lengrand (Heidelberg, DE)
Assignee: SAP SE
G06F16/2365G06F11/1469G06F2201/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 11,222,007
App. No.
15/970,727
Granted
Jan 11, 2022
Kind
B2
Abstract

Checking of a database snapshot of an active database is initiated. Thereafter, an anchor page associated with a most recent snapshot that links to a restart page is read. Subsequently, the linked restart page is read. It is then initially determined, based on the reading of the anchor page and the restart page, whether the snapshot is accurate. If it is initially determined that the snapshot is not accurate, the anchor page and the restart page are re-read until a final determination is made that whether the snapshot is accurate. Alternatively, if not is initially determined that the snapshot is accurate, then data is provided (e.g., displayed, loaded into memory, transmitted to a remote computing system, stored in physical persistence, etc.) that indicates that the snapshot is accurate.

Claims (40)

1. A computer-implemented method comprising:

initiating checking of a database snapshot of an actively running database forming part of a distributed database system;

reading an anchor page associated with a most recent snapshot, wherein the anchor page links to a restart page;

subsequently reading the linked restart page;

initially determining, based on the reading of the anchor page and the restart page and savepoint versions of the anchor page and the restart page, that the snapshot is not accurate;

re-reading the anchor page and the restart page until a final determination is made that the snapshot is accurate; and

subsequently providing data indicating that the snapshot is accurate.

2. The method of claim 1 , wherein the database is an in-memory database.

3. The method of claim 1 , wherein the initial determining comprises determining whether the savepoint versions of the anchor page and the restart page match.

4. The method of claim 1 , wherein the snapshot comprises data characterizing a plurality of modified pages in the database since a most recent prior snapshot.

5. The method of claim 1 , wherein the snapshot is taken while the database is running.

6. The method of claim 1 , wherein the restart page comprises a snapshot directory pointing to respective restart pages for each of a plurality of pre-existing snapshots.

7. The method of claim 6 , wherein reading the linked restart page comprises reading the snapshot directory, and wherein the initial determining comprises determining, based on the reading of the snapshot directory, whether the snapshot associated with the anchor page is a most recent snapshot.

8. The method of claim 6 , wherein the final determining comprises reading the snapshot directory to determine whether the snapshot associated with the anchor page is a most recent snapshot.

9. The method of claim 1 further comprising determining that the snapshot is not accurate if the restart page does not include a snapshot directory.

10. The method of claim 1 , wherein providing data comprises: displaying the data, transmitting the data to a remote computing system, loading the data into memory, storing the data in physical persistence.

11. A system comprising:

at least one data processor; and

memory storing instructions which, when executed by the at least one data processor, result in operations comprising:

initiating checking of a database snapshot of an actively running database forming part of a distributed database system;

reading an anchor page associated with a most recent snapshot, wherein the anchor page links to a restart page;

subsequently reading the linked restart page;

initially determining, based on the reading of the anchor page and the restart page and savepoint versions of the anchor page and the restart page, that the snapshot is not accurate;

re-reading the anchor page and the restart page until a final determination is made that the snapshot is accurate; and

subsequently providing data indicating that the snapshot is accurate.

12. The system of claim 11 , wherein the database is an in-memory database.

13. The system of claim 11 , wherein the initial determining comprises determining whether the savepoint versions of the anchor page and the restart page match.

14. The system of claim 11 , wherein the snapshot comprises data characterizing a plurality of modified pages in the database since a most recent prior snapshot.

15. The system of claim 11 , wherein the snapshot is taken while the database is running.

16. The system of claim 11 , wherein the restart page comprises a snapshot directory pointing to respective restart pages for each of a plurality of pre-existing snapshots.

17. The system of claim 16 , wherein reading the linked restart page comprises reading the snapshot directory, and wherein the initial determining comprises determining, based on the reading of the snapshot directory, whether the snapshot associated with the anchor page is a most recent snapshot.

18. The system of claim 16 , wherein the final determining comprises reading the snapshot directory to see if the snapshot associated with the anchor page is a most recent snapshot.

19. The system of claim 11 , wherein the operations further comprise determining that the snapshot is not accurate if the restart page does not include a snapshot directory.

20. A non-transitory computer program product storing instructions which, when executed by at least one data processor, results in operations comprising:

initiating checking of a database snapshot of an actively running database forming part of a distributed database system;

reading an anchor page associated with a most recent snapshot, wherein the anchor page is linked to a restart page, the restart page comprising a snapshot directory pointing to each of a plurality of restart pages for each of a plurality of pre-existing snapshots;

subsequently reading the linked restart page;

initially determining, based on the reading of the snapshot directory and savepoint versions of the anchor page and the restart page, that the snapshot is not accurate;

re-reading the anchor page and the restart page until a final determination is made that the snapshot is accurate; and

subsequently providing data indicating that the snapshot is accurate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2018
From: THOMSEN, DIRK; GLEBE, THORSTEN; LENGRAND, BLAISE
To: SAP SE
Reel/Frame 045712/0229 →
Continuity (1)
Related Publication 20190340277A1 · Nov 7, 2019