Mechanism for ensuring SCM database consistency on multi-part operation boundaries
First Claim
1. A method for processing coherent files in a multi-part operation, comprising the steps of:
- maintaining a protected-files list of the names of files that are currently being processed;
creating a requested-files list of the names of files to be processed in an operation;
comparing the requested-files list to the protected-files list;
adding the requested-files list to the protected-files list using an atomic operation when none of the names of the requested files is in the protected-files list;
performing the multi-part operation; and
removing the names of the requested files from the protected-files list when the operation is complete.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism for guaranteeing a coherent repository, including a list of requested files that are to be committed to the repository or to be processed (e.g. read) by an operation, and a list of “protected” files that are currently being processed. Either all of or none of the requested files are committed or are processed. Therefore, if any one of the requested files is in the protected-files list, then the invention waits until none of the requested files is protected before committing the requested files to the repository or before processing the requested files. An abnormal operation may hold up the protected files in the protected-files list for an unreasonably-long period of time. The invention thus provides an alarm mechanism, which scans the protected-files list to detect whether an abnormal operation exists. If such an operation is found, then the invention alerts an alarm agent and replaces the inconsistent files caused by the abnormal operation. The invention uses an atomic operation to change the requested-files list to a prenatal-file list, then to the protected-files list, and finally to a deceased-files list.
-
Citations
47 Claims
-
1. A method for processing coherent files in a multi-part operation, comprising the steps of:
-
maintaining a protected-files list of the names of files that are currently being processed;
creating a requested-files list of the names of files to be processed in an operation;
comparing the requested-files list to the protected-files list;
adding the requested-files list to the protected-files list using an atomic operation when none of the names of the requested files is in the protected-files list;
performing the multi-part operation; and
removing the names of the requested files from the protected-files list when the operation is complete. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for reading coherent files in a multi-part operation, comprising the steps of:
-
maintaining a protected-files list of the names of files that are currently being processed;
renaming the protected-files list to a deceased-files list after the protected files are no longer processed;
creating a requested-files list of the names of files to be read from a repository;
comparing the requested-files list to the protected-files list until none of the names of the requested files is in the protected-files list; and
allowing the requested files to be read from the repository. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for detecting and recovering from a repository inconsistency, comprising the steps of:
-
scanning a protected-files list and thereby detecting an abnormal operation associated with files in the protected-files list;
alerting a system agent if the abnormal operation is found;
replacing any inconsistent files caused by the abnormal operation; and
removing a list of files that includes the any inconsistent files from the protected-files list. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A processing system for multi-part operations, comprising:
-
a protected-files list of names of files currently being processed;
a requested-files list of names of files that will be processed in an operation;
means for comparing the requested-files list with the protected-files list;
means for adding the requested-files list to the protected-files list in an atomic operation; and
means for removing the requested-files list from the protected-files list when the multi-part operation is complete. - View Dependent Claims (34, 35, 36, 37, 38, 39)
-
-
40. A computer-based storage medium storing code for causing a computer to perform the steps of:
-
receiving an operation request including a requested-files list of the names of requested files to be operated upon;
comparing the requested-files list to a protected-files list;
adding the requested-files list to the protected-files list when none of the requested files is in the protected-files list;
processing the operation; and
removing names of files from the protected-files list once the operation is complete. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47)
-
Specification