Transaction Data Validation Using Server-Side Rule Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to ensuring data quality in large and complex databases are inadequate, particularly in managing interdependencies between data elements, and require inflexible and costly bespoke validation code to address complex validation needs.
Innovation Solution
A method for validating data changes within a transaction using a rules database, where affected data entities are identified and validated based on predefined rules, allowing for flexible and configurable validation, and ensuring database integrity by committing or rolling back transactions accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional data entry checking is performed at user interface, then simple data entry errors can be caught, but complex interdependency validation cannot be detected
Solution Approach 1:
The validation system is segmented into two distinct layers: a simple user interface layer for data entry and a separate server-side rule engine layer for complex validation. This segmentation allows the UI to remain simple while the server handles sophisticated interdependency validation through configurable rules, resolving the contradiction between validation accuracy and system complexity.
Solution Approach 2:
A server-side rule engine acts as an intermediary between the user interface and the database. This intermediary receives data changes, applies configurable validation rules to detect interdependencies, and only commits changes if validation succeeds. This mediator enables complex validation without increasing UI complexity.
2Reliability
If the entire database is validated repeatedly to catch interdependency problems, then data quality is ensured, but system performance deteriorates
Solution Approach 1:
The validation logic is extracted from the database system itself and placed in a separate server-side rule engine. This extraction allows validation to be performed independently of database operations, enabling efficient processing of only the specific data elements affected by changes rather than validating the entire database repeatedly.
Solution Approach 2:
Instead of validating the entire database, the system performs partial validation only on the specific data elements and their interdependencies that are affected by the current transaction. This partial action approach maintains data quality for affected regions while preserving overall system performance.
3Adaptability or versatility
If bespoke validation code is added to the application, then complex validation requirements are met, but development cost increases
Solution Approach 1:
The server-side rule engine provides a universal validation platform that can handle multiple validation scenarios through configurable rules rather than requiring custom code for each case. This multi-functional system adapts to different validation requirements by loading appropriate rules, eliminating the need for separate bespoke validation code for each application.
Solution Approach 2:
The validation system is dynamic and configurable, allowing validation rules to be modified and adapted to changing user requirements without requiring application code changes. Rules can be added, removed, or modified on the server side, providing adaptability while maintaining a stable, reusable codebase.
4Reliability
If validation is performed during transaction commit, then database integrity is ensured, but transaction processing time increases
Solution Approach 1:
Validation rules are pre-configured and prepared on the server side before transactions occur. When a transaction commits, the pre-configured rules are applied to the affected data elements rather than compiling or interpreting validation logic during the commit process. This preliminary preparation reduces the time overhead during actual transaction processing.
Data Source
AI summary
A method for validating data changes made to a database is disclosed. The changes are made in the context of a transaction, and validation is performed using a rules database storing a plurality of rules. The method includes identifying a set of data entities affected by one or more data changes made in the context of the transaction. In response to an instruction to commit the transaction, data entities in the set of affected data entities are validated using rules from the rules database. The transaction is committed in dependence on the outcome of the validation.


