IP Library Granted Patent US 11,132,266
Granted Patent B2
US 11,132,266 · App. 16/863,496 · Granted Sep 28, 2021

Method, device, and computer program product for managing application system

Inventors: Li Ke (Chengdu, CN); Gang Wang (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F3/064G06F3/067G06F3/0619G06F3/0685G06F11/1451G06F11/1461G06F11/1464
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,132,266
App. No.
16/863,496
Granted
Sep 28, 2021
Kind
B2
Abstract

The present disclosure relates to a method, device and computer program product for managing an application system. In the method, a backup copy is obtained for a group of data objects. A parent address of a parent backup block corresponding to the parent data object in the backup copy, a first address of a first backup block corresponding to the first data object in the backup copy, and a second address of a second backup block corresponding to the second data object in the backup copy are determined. A parent index entry, a first index entry and a second index entry are generated based the aforementioned addresses. An index for the backup copy is determined based on the parent index entry, the first index entry and the second index entry, the first index entry and the second index entry being continuous in the index.

Claims (79)

1. A method for managing an application system, the application system comprising a group of data objects, the group of data objects comprising a parent data object, a first data object and a second data object, the parent data object being a parent of the first data object and the second data object in a hierarchical structure of the application system, the method comprising:

obtaining a backup copy for the group of data objects;

determining a parent address of a parent backup block corresponding to the parent data object in the backup copy, a first address of a first backup block corresponding to the first data object in the backup copy, and a second address of a second backup block corresponding to the second data object in the backup copy, respectively;

generating a parent index entry, a first index entry and a second index entry based on the parent address, the first address and the second address, respectively; and

determining an index for the backup copy based on the parent index entry, the first index entry and the second index entry, wherein the first index entry and the second index entry are continuous in the index.

2. The method of claim 1 , wherein the first data object is a first child of the parent data object, the second data object being a next sibling of the first data object, and wherein determining the index for the backup copy comprises:

appending the parent index entry to the index;

appending the first index entry to the parent index entry; and

appending the second index entry to the first index entry.

3. The method of claim 2 , further comprising:

determining a first location of the first index entry in the index; and

updating the parent index entry based on the first location so that the updated parent index entry comprises the first location.

4. The method of claim 2 , wherein the group of data objects further comprises a third data object, wherein the third data object is a next sibling of the second data object in the hierarchical structure of the application system, the method further comprising:

determining a third address of a third backup block corresponding to the third data object in the backup copy;

generating a third index entry based on the third address; and

appending the third index entry to the second index entry.

5. The method of claim 1 , wherein the parent index entry comprises:

an index flag for indicating whether the parent data object is a last child in the hierarchical structure;

a first child index for indicating a first location of the first index entry in the index; and

an object index for indicating the parent address of the parent backup block corresponding to the parent data object in the backup copy.

6. The method of claim 1 , further comprising:

obtaining the parent data object by traversing the group of data objects in the hierarchical structure according to a depth-first rule;

pushing the parent index entry into a stack and appending the parent index entry to the index; and

processing all children of the parent data object recursively.

7. The method of claim 1 , wherein processing all the children of the parent data object recursively comprises:

pushing the first index entry into the stack, and appending the first index entry to the index.

8. The method of claim 6 , further comprising:

popping up an index entry at a top of the stack in accordance with determining that all the children of the parent data object have been processed.

9. The method of claim 1 , further comprising:

in response to receiving a first recovery request for recovering the first data object from the backup copy,

reading a page that comprises the first index entry from the index based on a predetermined page size associated with reading the index; and

obtaining the first backup block based on the first address in the first index entry.

10. The method of claim 1 , further comprising:

in response to receiving a recovery request for recovering a target data object from the backup copy,

searching for a target index entry corresponding to the target data object in the page; and

based on a determination that the target index entry exists in the page, obtaining a target backup block corresponding to the target data object based on a target address in the target index entry.

11. The method of claim 10 , further comprising:

based on a determination that the target index entry does not exist in the page,

reading a second page that comprises the target index entry from the index based on the predetermined page size; and

obtaining the target backup block corresponding to the target data object based on the target address in the target index entry.

12. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the device to perform a method for managing an application system, the application system comprising a group of data objects, the group of data objects comprising a parent data object, a first data object and a second data object, the parent data object being a parent of the first data object and the second data object in a hierarchical structure of the application system, the method comprising:

obtaining a backup copy for the group of data objects;

determining a parent address of a parent backup block corresponding to the parent data object in the backup copy, a first address of a first backup block corresponding to the first data object in the backup copy, and a second address of a second backup block corresponding to the second data object in the backup copy, respectively;

generating a parent index entry, a first index entry and a second index entry based on the parent address, the first address and the second address, respectively; and

determining an index for the backup copy based on the parent index entry, the first index entry and the second index entry, wherein the first index entry and the second index entry are continuous in the index.

13. The electronic device of claim 12 , wherein the first data object is a first child of the parent data object, the second data object being a next sibling of the first data object, and wherein determining the index for the backup copy comprises:

appending the parent index entry to the index;

appending the first index entry to the parent index entry; and

appending the second index entry to the first index entry.

14. The electronic device of claim 13 , wherein the method further comprises:

determining a first location of the first index entry in the index; and

updating the parent index entry based on the first location so that the updated parent index entry comprises the first location.

15. The electronic device of claim 14 , wherein the group of data objects further comprises a third data object, wherein the third data object is a next sibling of the second data object in the hierarchical structure of the application system, the method further comprising:

determining a third address of a third backup block corresponding to the third data object in the backup copy;

generating a third index entry based on the third address; and

appending the third index entry to the second index entry.

16. The electronic device of claim 12 , wherein the parent index entry comprises:

an index flag for indicating whether the parent data object is a last child in the hierarchical structure;

a first child index for indicating a first location of the first index entry in the index; and

an object index for indicating the parent address of the parent backup block corresponding to the parent data object in the backup copy.

17. The electronic device of claim 12 , wherein the method further comprises:

obtaining the parent data object by traversing the group of data objects in the hierarchical structure according to a depth-first rule;

pushing the parent index entry into a stack and appending the parent index entry to the index; and

processing all children of the parent data object recursively.

18. The electronic device of claim 12 , wherein the method further comprises:

in response to receiving a first recovery request for recovering the first data object from the backup copy,

reading a page that comprises the first index entry from the index based on a predetermined page size associated with reading the index; and

obtaining the first backup block based on the first address in the first index entry.

19. The electronic device of claim 18 , wherein the method further comprises:

in response to receiving a recovery request for recovering a target data object from the backup copy,

searching for a target index entry corresponding to the target data object in the page; and

based on a determination that the target index entry exists in the page, obtaining a target backup block corresponding to the target data object based on a target address in the target index entry.

20. A computer program product, tangibly stored on a non-transitory computer-readable medium and comprising machine-executable instructions, which are used to perform a method for managing an application system, the application system comprising a group of data objects, the group of data objects comprising a parent data object, a first data object and a second data object, the parent data object being a parent of the first data object and the second data object in a hierarchical structure of the application system, the method comprising:

obtaining a backup copy for the group of data objects;

determining a parent address of a parent backup block corresponding to the parent data object in the backup copy, a first address of a first backup block corresponding to the first data object in the backup copy, and a second address of a second backup block corresponding to the second data object in the backup copy, respectively;

generating a parent index entry, a first index entry and a second index entry based on the parent address, the first address and the second address, respectively; and

determining an index for the backup copy based on the parent index entry, the first index entry and the second index entry, wherein the first index entry and the second index entry are continuous in the index.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: KE, LI; WANG, GANG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052542/0769 →