Streaming Media Storage Queue for Data Dropping Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing streaming media data processing systems face instability and inefficiency due to added functions or special configurations, leading to poor video playback and user experience.

Innovation Solution

A method involving multiple threads for receiving, parsing, and storing streaming media data using a storage queue and message channel, with a target pull server determination for efficient data processing and storage, ensuring high-speed data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a dropping function is added in a cache server or a special file system is configured, then data dropping is realized, but stability of the streaming media data processing system is affected

Engineering Contradiction:
Improvedata storage and reading efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system is divided into multiple independent thread modules: a first thread for receiving and enqueuing streaming media data packets, a second thread for reading and parsing packets from the storage queue, and a third thread for publishing parsed packets. This segmentation isolates different processing functions, allowing data dropping to be implemented in the second thread without affecting the stability of other system components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A storage queue is introduced as an intermediary data structure between the first thread (data reception) and the second thread (data parsing). The storage queue buffers data packets and enables controlled data dropping through its enqueue and dequeue operations, thereby implementing efficient data storage and reading without directly modifying the cache server or file system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data dropping is implemented through cache server function addition, then storage efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The storage queue implements self-service through its inherent enqueue and dequeue operations. The second thread autonomously reads packets from the storage queue, parses them, and determines which packets to drop based on buffer status and playback requirements, without requiring complex external control mechanisms or modifications to the cache server.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes the parameters of data packet handling by adjusting the enqueue and dequeue rates of the storage queue. By controlling the rate at which packets are added to and removed from the queue, the system achieves efficient data storage and reading while maintaining simple system architecture through parameter adjustment rather than structural complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11457051B2Streaming media data processing method, processing system and storage server
Publication Date: 2022.09.27 BEIJING BOE TECH DEV CO LTD
  • US11457051B2 patent drawing
  • US11457051B2 patent drawing
  • US11457051B2 patent drawing

AI summary

The present application discloses a streaming media data processing method, including: receiving streaming media data, initializing a storage file and a storage queue according to a header data packet of the streaming media data, and starting a first thread to receive an enqueuing operation; starting a second thread and establishing a message channel to read a streaming media data packet from the storage queue for parsing, and adding the parsed streaming media data packet into the message channel in the form of a message; starting a third thread to read the message from the message channel and encapsulating the message according to preset requirements so as to store the message on a disk; determining a target pull server corresponding to the streaming media data and publishing the streaming media data to the target pull server.