Distributed Storage Node Allocation via Constructed Key Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional distributed storage systems using consistent hashing algorithms often result in uneven loading distribution among storage nodes due to random allocation based on data keys, leading to inefficiencies in storage and retrieval processes.

Innovation Solution

A method and apparatus that allocate storage nodes based on load conditions, generating a constructed key including the data key and node routing information to ensure balanced loading and efficient data storage and retrieval, allowing repeated use of data keys without conflicts and enabling additional data attributes to be included within the key.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If consistent hashing algorithm is used for storage space allocation based on data keys, then fast query and route storage are achieved, but uneven loading distribution among storage nodes occurs

Engineering Contradiction:
Improvedata query speedVSAvoidloading balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces a constructed key as an intermediary between the original data key and storage node selection. This constructed key includes both the data key and routing information, allowing the system to maintain fast query performance while enabling balanced load distribution across storage nodes through the routing component

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If storage nodes are randomly allocated based on data keys, then storage space allocation is simplified, but uneven loading and storage imbalance among nodes result

Engineering Contradiction:
Improvestorage allocation simplicityVSAvoidstorage balance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent changes the parameter structure by transforming the simple data key into a constructed key with multiple components. This constructed key includes the original data key plus routing information, allowing the system to maintain allocation simplicity while achieving balanced storage distribution through the additional routing parameter

Inventive Principle:
Principle #35Parameter changes

3Speed

If data keys are directly used for node selection, then routing efficiency is improved, but key uniqueness requirements increase system complexity

Engineering Contradiction:
Improverouting efficiencyVSAvoidkey management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the key function into two parts: the data key for identifying data and the routing information for locating storage nodes. This segmentation allows routing efficiency to be maintained through the routing component while reducing key management complexity by separating the identification and routing functions

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10212217B2Method and apparatus for data transmission in a distributed storage system
Publication Date: 2019.02.19 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US10212217B2 patent drawing
  • US10212217B2 patent drawing
  • US10212217B2 patent drawing

AI summary

A data transmission method and apparatus avoids uneven loading of stored data, supports allocation of storage spaces with load balancing, and supports fast access to data. The method may include receiving, by a distributed storage system, data and a corresponding data key sent by a client. Nodes are allocated to the data according to load conditions of nodes in the distributed storage system. The data is stored in the corresponding nodes. A constructed key is generated for the data, which includes the data key and node routing information corresponding to a location where the data is stored. The constructed key is returned to the client. The client uses the constructed key to acquire the stored data. The distributed storage system receives the constructed key, retrieves the stored data based on the routing information in the constructed key and sends the data to the client.