Parallel Billing Transaction Processing Cluster
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing transaction processing solutions, such as the Oracle Revenue Management and Billing (ORMB) system, are inefficient in processing high volumes of transactions in a timely manner, requiring significant time and resources, and are not scalable to reduce processing time, with issues like sequential batch operations and restarts due to exceptions.
Innovation Solution
A system utilizing a processing cluster with a driver and multiple executors for parallel processing, where billing transaction data is mapped to partitions, aggregated, and processed in parallel, generating billable charge information, and stored efficiently, ensuring no single executor processes transactions for the same account ID.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential batch operations are used to process billing transactions, then processing can be completed with simple system architecture, but processing time increases significantly and productivity decreases
Solution Approach 1:
The patent divides the billing transaction processing into multiple independent partitions, each handled by a separate executor. Transactions are segmented by account ID ranges, allowing parallel processing across multiple executors simultaneously, thereby dramatically reducing overall processing time while maintaining system simplicity
Solution Approach 2:
The patent combines multiple executors working in parallel to process different partitions of billing transactions simultaneously. By merging the capabilities of multiple executors and coordinating their work through a driver, the system achieves high throughput without the sequential bottlenecks of traditional batch processing
2Productivity
If parallel processing is implemented to reduce processing time, then productivity improves, but system complexity increases due to coordination requirements
Solution Approach 1:
The system segments billing transactions into partitions based on account ID ranges, assigning each partition to a specific executor. This segmentation strategy simplifies coordination by ensuring that each executor works independently on its assigned partition, reducing the complexity of inter-executor communication while enabling parallel processing
Solution Approach 2:
The driver acts as an intermediary that coordinates between the master controller and multiple executors. It receives transaction data, distributes it to appropriate executors based on partitioning rules, and aggregates results, thereby simplifying the overall system architecture by centralizing coordination logic in a single component
3Reliability
If exceptions occur during batch operation, then processing reliability is compromised, but restart procedures add significant time loss
Solution Approach 1:
By segmenting transactions into independent partitions processed by different executors, the system ensures that an exception in one partition does not affect other partitions. Each executor can continue processing its assigned partition independently, preventing system-wide failures and eliminating the need for complete restarts
Solution Approach 2:
The parallel processing architecture allows useful action to continue across multiple executors even when one encounters an exception. Other executors maintain continuous processing of their partitions, ensuring that the overall system remains operational and productive despite localized failures
4Productivity
If more resources are allocated to increase processing capacity, then productivity improves, but resource consumption and operational cost increase
Solution Approach 1:
The system segments the processing workload into multiple smaller partitions that can be handled by existing executors. This allows efficient utilization of current computational resources through parallel processing, achieving high productivity without requiring proportional increases in hardware resources or energy consumption
Data Source
AI summary
A method, system, and computer-readable medium are disclosed for executing high-speed transaction processing in a parallel processing environment. One embodiment is directed to a computer-implemented method for executing high-speed transaction processing in a processing cluster having a driver and a plurality of executors, each of the executors configured to process data in at least one respective partition. The driver may assign billing transaction data stored on a persistent datastore of a billing system to respective partitions of the plurality of executors for parallel processing. The driver and executors execute operations in which usage factors of the billing transactions are aggregated to generate billable charge information in a format for use by a billing system to generate billing invoices.


