Issuing syncpoints during execution of a batch application to minimize or eliminate periods of record unavailability due to batch related record locking
First Claim
1. A data processing method comprising:
- executing a batch update of a batch application as a series of discrete update actions, each action comprising;
(A) reading at least one input from at least one data files,(B) performing updates to at least one record according to the input read from the at least one data file, wherein the records upon which the performing step performs updates is a unit set smaller than a batch set of records associated with the batch application, and records of the unit set are locked during the performing step, wherein after a successful completion of the performing step, the unit set of records are unlocked, and(C) issuing a syncpoint when said updates are completed, wherein the one syncpoint is used to recover records to a pre-performing step state when an error occurs during the performing step;
monitoring the inputs read from the at least one data file;
operating a predefined algorithm based upon the monitored inputs; and
periodically issuing a syncpoint during the execution of the batch application according to an output of the predefined algorithm, wherein one of the periodically issued syncpoints is associated with the unit set of records and wherein a next one of the periodically issued syncpoints is associated with a next unit set of records to be processed.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention discloses a solution that automatically decomposes a batch process into multiple units of work without changing code of a pre-existing batch application. In the solution, the batch application is first analyzed to identify a set of processing segments or units of work, where each unit of work is of a size that minimizes interference with other data accesses. Once each unit of work is defined, these units can execute one at a time. A syncpoint can be established for each unit before it is executed, which locks the records included in the unit. After the unit of work executes, the record lock can be released and a new syncpoint can be established for the next unit. If an execution problem occurs, execution for the unit of work can be terminated and chances can be restored to the syncpoint.
-
Citations
14 Claims
-
1. A data processing method comprising:
-
executing a batch update of a batch application as a series of discrete update actions, each action comprising; (A) reading at least one input from at least one data files, (B) performing updates to at least one record according to the input read from the at least one data file, wherein the records upon which the performing step performs updates is a unit set smaller than a batch set of records associated with the batch application, and records of the unit set are locked during the performing step, wherein after a successful completion of the performing step, the unit set of records are unlocked, and (C) issuing a syncpoint when said updates are completed, wherein the one syncpoint is used to recover records to a pre-performing step state when an error occurs during the performing step; monitoring the inputs read from the at least one data file; operating a predefined algorithm based upon the monitored inputs; and periodically issuing a syncpoint during the execution of the batch application according to an output of the predefined algorithm, wherein one of the periodically issued syncpoints is associated with the unit set of records and wherein a next one of the periodically issued syncpoints is associated with a next unit set of records to be processed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
- 8. A data processing system comprising a processing function arranged for executing a batch application, the executing comprising reading at least one input from at least one data file, performing updates on at least one record according to each input read from the at least one data file, wherein the performing step that performs updates is a unit set smaller than a batch set of records associated with the batch application, and records of the unit set are locked during the performing step, and issuing a syncpoint when said updates are completed, wherein the one syncpoint is used to recover records to a pre-performing step state when an error occurs during the performing step, the processing function arranged to monitor the inputs read from the at least one data file, to operate a predefined algorithm based upon the monitored inputs, and to periodically issue a syncpoint during the execution of the batch application according to an output of the predefined algorithm, wherein one of the periodically issued syncpoints is associated with the unit set of records, wherein after a successful completion of the performing step, the unit set of records are unlocked.
-
10. A method of increasing database record availability during a batch process execution comprising:
-
identifying a batch process of a batch application, wherein the batch process is associated with a batch set of database records, which are accessed by the batch process as the batch process executes; analyzing the batch process to determine a plurality of units-of-work, each unit-of-work associated with a unit set of the database records, wherein the unit set of the database records is a smaller subset of the batch set of database records; reading a configurable parameter, which determines at least one of a maximum time permitted for a set of records to be locked and a maximum size of a unit set of records, wherein the analyzing step constructs a plurality of units-of-work in accordance with the constraint established by the configurable parameter; determining a next one of the units-of-work; establishing a syncpoint for the determined unit-of-work; locking records in the unit set associated with the determined unit-of-work so that applications other than the batch application are unable to modify the records while locked; batch processing the records in the unit set of the database records in accordance with programmatic instructions of the batch application; upon success of the processing step, unlocking the records in the unit set of the database records; and repeating the determining, establishing, locking, processing, and unlocking steps until each said unit-of-work of the plurality of units-of-work are processed, wherein the batch application is an unmodified batch application, wherein in absence of performing the steps of;
identifying the batch process associated with the batch set of database records, accessing said database records by the batch process, analyzing to determine the plurality of unit-of work, determining the next one of the units-of-work, establishing the syncpoint, locking the associated unit set with the determined unit-of-work and unlocking the records in the unit set upon success of the processing step, the unmodified batch application locks the batch set of records when processed. - View Dependent Claims (11, 12, 13, 14)
-
Specification