Systems and methods for processing data objects
First Claim
Patent Images
1. A computer system for processing a data object comprising:
- a storage device containing a database for storing a plurality of data objects;
a user interface module configured to present data to a user via a graphical user interface on a screen;
a fast data provider module configured to statelessly read upon request from the user interface module the data object from the database by treating the request as an independent transaction and provide the data object to the user interface module without retaining any session state information and without locking the data object;
a transaction provider module configured to read the data object from the user interface module, to lock the data object while reading from and writing to the database, the locking preserving consistency and atomicity, and to perform a consistency check between the data object read from the user interface module and the database;
wherein the user interface module is further configured to;
initially read the data object from the fast data provider module, incorporate data initially read from the fast data provider module into the graphical user interface,receive a user interaction indicating that data in the graphical user interface has changed and,on response of said indication,compare the data object in the fast data provider module to the data in the graphical user interface to identify whether the graphical user interface data incorporated from the data object has changed;
if the graphical user interface data incorporated from the data object has changed;
create a buffer in memory instantiating the transaction provider module;
send a request to the transaction provider to lock and transactionally read said data object from the database causing the transaction provider to store the transactionally read data object in the buffer;
compare the transactionally read data object stored in the buffer to the data object in the fast data provider module to identify whether the data object stored in the buffer is identical to that in the fast data provider module;
if the data object stored in the buffer is not identical to that in the fast data provider module, send a request to the transaction provider module to release the lock, otherwise,merge the changed data in the graphical user interface relating to the data object into the data object stored in the buffer; and
send a request to the transaction provider to store the merged data object in the database and release the lock.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for processing data objects is provided. The system and method may comprise a user interface module, a fast data provider module, and a transaction provider module, which modules are configured to exchange data and which may be distributed over a plurality of interconnected servers. Data objects may be statelessly read from a database by the fast data provider module and, after an amendment of the data via the user interface module, statefully saved by the transaction provider module.
-
Citations
12 Claims
-
1. A computer system for processing a data object comprising:
-
a storage device containing a database for storing a plurality of data objects; a user interface module configured to present data to a user via a graphical user interface on a screen; a fast data provider module configured to statelessly read upon request from the user interface module the data object from the database by treating the request as an independent transaction and provide the data object to the user interface module without retaining any session state information and without locking the data object; a transaction provider module configured to read the data object from the user interface module, to lock the data object while reading from and writing to the database, the locking preserving consistency and atomicity, and to perform a consistency check between the data object read from the user interface module and the database; wherein the user interface module is further configured to; initially read the data object from the fast data provider module, incorporate data initially read from the fast data provider module into the graphical user interface, receive a user interaction indicating that data in the graphical user interface has changed and, on response of said indication, compare the data object in the fast data provider module to the data in the graphical user interface to identify whether the graphical user interface data incorporated from the data object has changed; if the graphical user interface data incorporated from the data object has changed; create a buffer in memory instantiating the transaction provider module; send a request to the transaction provider to lock and transactionally read said data object from the database causing the transaction provider to store the transactionally read data object in the buffer; compare the transactionally read data object stored in the buffer to the data object in the fast data provider module to identify whether the data object stored in the buffer is identical to that in the fast data provider module; if the data object stored in the buffer is not identical to that in the fast data provider module, send a request to the transaction provider module to release the lock, otherwise, merge the changed data in the graphical user interface relating to the data object into the data object stored in the buffer; and send a request to the transaction provider to store the merged data object in the database and release the lock. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computerized method for updating a data object in a database comprising:
-
receiving, via a graphical user interface and a user interface module, a request to display data from the data object; sending, via the user interface module, a request for said data object to a fast data provider module; statelessly reading, by means of the fast data provider module, the data object from the database by treating the request as an independent transaction without retaining any session state information and without locking the data object in the database; displaying data from said data object via the graphical user interface; receiving an indication that the displayed data has been changed; and
,responsive to said received user interaction; comparing the data object read by means of the fast data provider module to the data in the graphical user interface to identify whether the graphical user interface data incorporated from the data object has changed; if the graphical user interface data incorporated from the data object has changed; creating a buffer in memory instantiating the transaction provider module; requesting, via the user interface module, the transaction provider to lock and transactionally read said data object from the database causing the transaction provider to store the transactionally read data object in the buffer while preserving consistency and atomicity of said data object; comparing the transactionally read data object stored in the buffer to the data object in the fast data provider module to identify whether the data object stored in the buffer is identical to that in the fast data provider module; if the data object stored in the buffer is not identical to that in the fast data provider module, send a request to the transaction provider module to release the lock, otherwise, merging the changed data in the graphical user interface relating to the data object into the data object stored in the buffer; and send a request to the transaction provider to store the merged data object in the database and release the lock. - View Dependent Claims (9, 10, 11, 12)
-
Specification