Data Flow Processing Language for Exploding Data Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current big data processing systems, such as Hadoop, are batch-based and struggle with real-time processing of exploding data streams, limiting their ability to handle high-speed, massive data generated in ubiquitous computing environments.
Innovation Solution
A method and apparatus for processing data streams using a data flow processing language that interprets and optimizes big data real-time processing services into a directed acyclic graph (DAG)-based distributed stream processing service, deployable in a cluster system with multiple nodes, supporting real-time processing through a high-level interface.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If batch-based processing systems like Hadoop MapReduce are used, then scalability and distributed processing capability are improved, but real-time processing capability deteriorates
Solution Approach 1:
The system dynamically adapts between batch and stream processing modes. The processing engine can switch between batch-based Hadoop MapReduce operations and real-time stream processing operations based on the nature of the data and processing requirements, enabling both high scalability and real-time capability
Solution Approach 2:
The processing system is segmented into separate batch processing components and stream processing components. This allows independent optimization of each segment - batch processing for large-scale data analysis and stream processing for real-time data flow handling - while working together in a unified architecture
2Ease of operation
If high-level data flow language interfaces are provided, then ease of operation and productivity are improved, but system complexity increases
Solution Approach 1:
A compilation system acts as an intermediary between the high-level data flow language and the underlying distributed processing framework. The compiler translates the abstract data flow language into executable tasks that can be run on Hadoop infrastructure, shielding users from system complexity while maintaining ease of operation
Solution Approach 2:
The system creates an abstract representation of data processing logic through data flow language scripts. These scripts are then compiled and copied into executable forms that run on the distributed system, allowing users to work with simple language constructs while the complex execution logic is handled by the compilation and deployment process
3Productivity
If distributed deployment across multiple nodes is implemented, then scalability and fault tolerance are improved, but coordination overhead and system complexity increase
Solution Approach 1:
The system employs a universal task management framework that handles both batch and stream processing tasks across distributed nodes. This multi-functional framework manages resource allocation, task scheduling, and coordination uniformly, reducing the complexity that would otherwise arise from managing different deployment scenarios
Data Source
AI summary
Provided are a method and apparatus for processing a data stream capable of providing a data flow processing language to support real-time processing of an exploding data stream and providing an environment for executing the data flow processing language in a cluster system. The data flow-based exploding data stream processing method includes receiving a big data real-time processing service described in a real-time data flow language, interpreting the big data real-time processing service to generate a distributed stream processing service, and distributively deploying the distributed stream processing service in a cluster system including multiple nodes and configuring an execution environment for executing the distributed stream processing service in each node.


