Context dependent transaction processing engine
A contextual processing engine architecture. The architecture utilizes data objects retrieved from a database to form a new transactional item data structure as input into a contextual processing engine. The transactional data structure includes a prior context pointer to point to historical context. The historical context can be null for new transactions or one or more basis transaction item data structures for contextual transactions. The processing engine processes the input using process functions lists and aggregates the results for output.
1 . A method, comprising:
retrieving a first data object stored in a database of a database system implemented using a server system;
retrieving a second data object stored in the database;
generating, using one or more processors, a transaction data structure using the first and second data objects, wherein the transaction data structure includes a prior context pointer, the prior context pointer being configured to point to a linked list of two or more basis transaction items that provide a historical context chain, wherein a next pointer in a first basis transaction item in the linked list points to a second basis transaction item, based on the second data object;
loading the transaction data structure into a processing engine;
outputting a current line item process based on the transaction data structure and a graphical representation of an ordered processing function list applicable for the current line item process, the ordered processing function list being generated based on the transaction data structure and a processing transaction type, the processing engine being configured to use the prior context pointer to apply only required processing functions of the ordered processing function list to the current line item process; and
generating a processing plan that specifies an order of calculation for a plurality of transaction items within a transaction; wherein during execution of the processing plan, the processing engine dynamically updates the processing plan upon identifying a new transaction item dependency when a processing function for a first transaction item performs a lookup to a second transaction item.
2 . The method of claim 1 , wherein the first data object corresponds to a product model type field.
3 . The method of claim 1 , wherein the first data object corresponds to a processing transaction type field.
4 . The method of claim 1 , wherein the prior context pointer points to a null item if the second data object contains a new transaction value.
5 . The method of claim 1 , wherein each basis transaction item comprises a separate data structure or a linked list of data structures corresponding to prior processed transactions.
6 . The method of claim 4 , wherein a location of the prior context pointer depends on the new transaction value in the second data object.
7 . The method of claim 1 , wherein the processing engine is configured to process multiple line item transactions and then aggregate results for output.
8 . A database system implemented using a server system, the database system configurable to cause:
retrieving a first data object stored in a database of a database system implemented using a server system;
retrieving a second data object stored in the database;
generating, using one or more processors, a transaction data structure using the first and second data objects, wherein the transaction data structure includes a prior context pointer, the prior context pointer being configured to point to a linked list of two or more basis transaction items that provide a historical context chain, wherein a next pointer in a first basis transaction item in the linked list points to a second basis transaction item, based on the second data object;
loading the transaction data structure into a processing engine;
outputting a current line item process based on the transaction data structure and a graphical representation of an ordered processing function list applicable for the current line item process, the ordered processing function list being generated based on the transaction data structure and a processing transaction type, the processing engine being configured to use the prior context pointer to apply only required processing functions of the ordered processing function list to the current line item process; and
generating a processing plan that specifies an order of calculation for a plurality of transaction items within a transaction; wherein during execution of the processing plan, the processing engine dynamically updates the processing plan upon identifying a new transaction item dependency when a processing function for a first transaction item performs a lookup to a second transaction item.
9 . The database system of claim 8 , wherein the first data object corresponds to a product model type field.
10 . The database system of claim 8 , wherein the first data object corresponds to a processing transaction type field.
11 . The database system of claim 8 , wherein the prior context pointer points to a null item if the second data object contains a new transaction value.
12 . The database system of claim 8 , wherein each basis transaction item comprises a separate data structure or a linked list of data structures corresponding to prior processed transactions.
13 . The database system of claim 11 , wherein a location of prior context pointer depends on the new transaction value in the second data object.
14 . The database system of claim 8 , wherein the processing engine is configured to process multiple line item transactions and then aggregate results for output.
15 . A computer program product comprising computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause:
retrieving a first data object stored in a database of a database system implemented using a server system;
retrieving a second data object stored in the database;
generating, using one or more processors, a transaction data structure using the first and second data objects, wherein the transaction data structure includes a prior context pointer, the prior context pointer being configured to point to a linked list of two or more basis transaction items that provide a historical context chain, wherein a next pointer in a first basis transaction item in the linked list points to a second basis transaction item, based on the second data object;
loading the transaction data structure into a processing engine;
outputting a current line item process based on the transaction data structure and a graphical representation of an ordered processing function list applicable for the current line item process, the ordered processing function list being generated based on the transaction data structure and a processing transaction type, the processing engine being configured to use the prior context pointer to apply only required processing functions of the ordered processing function list to the current line item process; and
generating a processing plan that specifies an order of calculation for a plurality of transaction items within a transaction; wherein during execution of the processing plan, the processing engine dynamically updates the processing plan upon identifying a new transaction item dependency when a processing function for a first transaction item performs a lookup to a second transaction item.
16 . The method of claim 1 , wherein the graphical representation of the ordered processing function list is a process waterfall, and the processing engine is configured to apply each processing function in the process waterfall in a sequential manner to calculate the current line item process.
17 . The method of claim 16 , wherein the process waterfall includes multiple process points, each process point representing a boundary between two consecutive processing functions in the ordered processing function list, and the processing engine is configured to adjust the current line item process at each process point based on the prior context pointer and the transaction data structure.
18 . The method of claim 17 , wherein the processing engine is configured to dynamically generate the process waterfall based on the transaction data structure and the processing transaction type, and the process waterfall includes a visualization of the ordered processing function list, allowing a user to view and modify processing functions applied to the current line item process.
19 . The method of claim 1 , wherein the processing engine is configured to store intermediate process calculations from the ordered processing function list in a cache using a transaction identifier, and wherein the processing engine uses the stored intermediate process calculations to perform an incremental process calculation for a subsequent processing request associated with the same transaction identifier.