Double-Layer Circular Queue for Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for accessing queue data face challenges with low memory utilization and access efficiency due to inefficient memory allocation and fragmentation in circular queues based on arrays and linked lists.

Innovation Solution

A double-layer circular queue structure is implemented, where inner-layer queues are established in an array manner and form an outer-layer queue in a linked list manner, with a management pointer for efficient data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory space is allocated in large size for circular queue based on array, then memory allocation frequency is reduced, but memory utilization efficiency is low

Engineering Contradiction:
Improveaccess performanceVSAvoidmemory utilization rate
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent divides the circular queue into multiple segments (first circular queue and second circular queue) with different memory allocation strategies. The first circular queue uses array-based segmentation with larger memory blocks for high-frequency operations, while the second uses linked-list-based segmentation for flexible memory management. This segmentation allows each segment to optimize for its specific access patterns without compromising overall system performance.

Inventive Principle:
Principle #1Segmentation

2Loss of substance

If memory space is allocated in small size for circular queue based on array, then memory utilization efficiency is improved, but number of allocation and copy operations is excessively large

Engineering Contradiction:
Improvememory utilization rateVSAvoidaccess performance
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The patent applies different memory allocation qualities to different parts of the circular queue system. The first circular queue uses large memory blocks optimized for bulk operations, while the second circular queue uses smaller, more flexible memory units for fine-grained operations. This local quality differentiation ensures that each part of the system operates at optimal efficiency for its specific requirements.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If circular queue is based on linked list, then flexibility is improved, but memory fragmentation is excessive resulting in low memory utilization rate

Engineering Contradiction:
Improvequeue flexibilityVSAvoidmemory utilization rate
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent merges the advantages of both array-based and linked-list-based circular queues into a unified dual-queue system. The array-based first circular queue provides efficient memory utilization and fast access for bulk operations, while the linked-list-based second circular queue provides flexibility for dynamic memory management. By combining these two approaches, the system achieves both high memory utilization and operational flexibility.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11385900B2Accessing queue data
Publication Date: 2022.07.12 HANGZHOU DPTECH TECH
  • US11385900B2 patent drawing
  • US11385900B2 patent drawing
  • US11385900B2 patent drawing

AI summary

A method and apparatus of accessing queue data is provided. According to the method, a double-layer circular queue is constructed, where the double-layer circular queue includes one or more inner-layer circular queues established based on an array, and the one or more inner-layer circular queues constitute an outer-layer circular queue of the double-layer circular queue based on a linked list. A management pointer of the outer-layer circular queue is set. Data accessing is performed on the inner-layer circular queues by using the management pointer.