Input Data Sampling via Execution Path Recording
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In streaming processing applications, debugging is hindered by the slow speed of operation modules in debugging mode and reliance on manual analysis, making it difficult to test without affecting the entire application or requiring extensive expertise.
Innovation Solution
A method and system for sampling input data based on execution paths, allowing for automated formation of test suites that can be used for debugging without stopping the online application, by buffering input data, recording execution paths, and sampling data accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the operation module runs in debugging mode, then debugging can be performed, but the running speed becomes much lower than in on-line execution mode
Solution Approach 1:
The patent segments the data processing flow by introducing a separate buffering mechanism that captures input data independently of the operation module's execution mode. This allows the operation module to run in debugging mode with buffered data while the buffering component continues to operate at full speed, effectively separating the debugging function from the execution speed constraint.
Solution Approach 2:
The patent introduces a buffering mechanism as an intermediary component between the data source and the operation module. This buffer acts as a mediator that stores input data and supplies it to the operation module during debugging, allowing the operation module to run slower without affecting the overall system throughput and enabling debugging capability to be maintained independently of execution speed.
2Ease of manufacture
If manual analysis and experience are used to design test cases, then test cases can be created, but the effectiveness depends heavily on the capability and experience level of manual analysis
Solution Approach 1:
The patent implements self-service by enabling the system to automatically generate test cases through execution path recording and analysis. Instead of relying on manual analysis and human expertise, the system autonomously captures actual execution paths from the buffering data and uses them to create test cases, making the test case creation process independent of human capability and experience levels.
Solution Approach 2:
The patent employs feedback by recording actual execution paths from buffered input data and using this information to automatically generate test cases. The system continuously monitors and captures real execution behavior, feeds this information back into the test case generation process, and thereby creates test cases that reflect actual system behavior rather than relying on manual estimation or experience.
3Reliability
If debugging is performed on a streaming application, then errors can be detected, but the whole streaming application must be stopped
Solution Approach 1:
The patent applies preliminary action by buffering input data before it reaches the operation module. This pre-capture of data allows the system to prepare test data in advance, enabling debugging to be performed on buffered data without interrupting the live streaming application. The buffering action is performed preliminarily, separating the debugging process from the application execution flow.
Solution Approach 2:
The patent segments the system into distinct components: a buffering mechanism that operates independently, an operation module that can be debugged, and a live streaming application that continues to run. This segmentation allows debugging to be performed on the operation module using buffered data while the streaming application maintains its execution, enabling error detection without stopping the entire application.
Data Source
AI summary
A method and system for sampling input data. The method includes: buffering input data; recording an execution path of the buffered input data in an online operation module; determining whether the buffered input data passes through a desired execution path, and responsive to the buffered input data passing through the desired execution path, sampling the buffered input data to a data set. The system includes: buffering means for buffering input data; recording means for recording an execution path; sampling means for determining whether the buffered input data passes through a desired execution path.


