Ruleset-Based Data Filtering for Flexible Comparison Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database management systems lack a flexible and efficient method for filtering data, relying on simple lists for positive and negative filtering, which are inflexible and require code changes for updates, failing to effectively manage complex nested objects in large archives.
Innovation Solution
A computer-based filtering method driven by a ruleset with ordered collections of rules, allowing for both positive and negative filtering, where each rule has a comparison operation and data element, and a default action, enabling efficient inclusion or exclusion of objects based on attribute comparisons.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If simple lists are used for positive and negative filtering, then the filtering method is simple to implement, but the flexibility is insufficient and code changes are required for updates
Solution Approach 1:
The filtering system transitions from static simple lists to dynamic rulesets where filtering criteria can be modified at runtime without code changes. The ruleset structure allows dynamic addition, removal, and modification of filtering rules through data-driven configurations, enabling the system to adapt to changing requirements while maintaining ease of implementation through a standardized framework.
Solution Approach 2:
The invention introduces configurable parameters within the ruleset structure, including comparison operators, data elements, and rule priorities. These parameters can be adjusted through data configurations rather than code modifications, allowing the filtering behavior to be customized for different scenarios while maintaining a consistent implementation approach.
2Adaptability or versatility
If hard coding of filtering data is used, then the flexibility is maximized, but code changes are required whenever updates are needed
Solution Approach 1:
The filtering system is segmented into distinct components: the ruleset structure, individual rules with specific criteria, comparison operations, and data elements. This segmentation allows each component to be independently configured and modified through data files rather than code changes, maintaining flexibility while improving maintainability. Updates can be made by modifying specific rule configurations without affecting the overall system structure.
Solution Approach 2:
The invention introduces an intermediary layer between the filtering logic and the actual filtering data. The ruleset structure acts as this intermediary, separating the executable filtering rules from the data configurations. This allows filtering criteria to be updated through data files without modifying the underlying code, achieving both flexibility and ease of maintenance.
3Reliability
If all rules in the ruleset are invoked, then complete filtering coverage is achieved, but the filtering process becomes less efficient
Solution Approach 1:
The ruleset structure includes preliminary elements such as default actions and optimized rule ordering that prepare the filtering process before actual execution. High-priority rules are positioned to execute first, and default actions are predefined to handle cases where no specific rules match. This preliminary structuring ensures comprehensive filtering coverage while minimizing the number of rules that need to be evaluated for each object.
Solution Approach 2:
The filtering system implements partial action by stopping the evaluation process after the first matching rule is found, rather than invoking all rules in the ruleset. This optimization maintains reliability by ensuring that the first matching rule provides sufficient filtering coverage, while significantly improving efficiency by avoiding unnecessary evaluations of subsequent rules.
Data Source
AI summary
A computer-based filtering method driven by a ruleset for positive and negative filtering with flexible comparison operations. Method first creates a ruleset as an ordered collection of rules which has a single ruleset default action. Each rule has a rule action, a comparison operation and at least one comparison data element. Filtering of an object from the ruleset result set is performed with the comparison operation on the object and the comparison data from the ruleset. Filtering step invokes each rule from the ruleset to compare the object with each comparison data element to determine whether or not the object is to be included or excluded from the result set. Filtering stops after the first matching rule is found and then the rule action is taken, or after invoking all rules without finding the matching rule and then the ruleset default action is taken.


