Method and device for storage resource allocation for video cloud storage
First Claim
1. A method for allocating storage resource of video cloud storage, applicable to a management node in a storage cluster, the storage cluster comprising at least one management node and at least one storage node, the method comprising:
- receiving a video data storage request sent by a client based on an encoder, the video data storage request containing an identifier of a resource pool into which video data is to be written and an identifier of the encoder;
obtaining, from a plurality of storage nodes corresponding to the identifier of the resource pool, a queue of allocable storage nodes for the video data storage request, wherein, the correspondence between an identifier of a resource pool and a storage node is predefined;
determining whether the identifier_of the encoder is recorded in an encoder allocation tracing list;
if so, selecting from the queue of allocable storage nodes a target storage node allocable as a write node, according to the number of current writes of each of the storage nodes in pre-recorded node synchronization information and a stress estimation algorithm;
or otherwise, selecting, from the queue of allocable storage nodes, a target storage node allocable as the write node, according to the stress estimation algorithm;
wherein the encoder allocation tracing list records the correspondence between an identifier of an encoder that has been allocated a storage node and the allocated storage node, and wherein the stress estimation algorithm is an algorithm for estimating the stress on a storage node according to the node synchronization information; and
if a target storage node allocable as a write node is selected from the queue of allocable storage nodes, feeding back address information of the target storage node to the client based on the encoder to allow the client to write the video data corresponding to the video data storage request into the target storage node.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present disclosure provide a method and apparatus for allocating storage resource of video cloud storage, applicable to a management node in a storage cluster. The method comprising: receiving a video data storage request from a client; obtaining a queue of allocable storage nodes according to an encoder identifier contained in the request; determining if the request is sent for the first time according to the encoder identifier, if so, selecting from the queue of allocable storage nodes a target storage node allocable as a write node according to a stress estimation algorithm; or otherwise, selecting from the queue a target storage node allocable as a write node according to the number of current writes of each of the storage nodes in pre-recorded node synchronization information and the stress estimation algorithm; and feeding back address information of the target storage node to the client. Embodiments of the present disclosure allow storage loads of a cloud storage system to be balanced.
-
Citations
20 Claims
-
1. A method for allocating storage resource of video cloud storage, applicable to a management node in a storage cluster, the storage cluster comprising at least one management node and at least one storage node, the method comprising:
-
receiving a video data storage request sent by a client based on an encoder, the video data storage request containing an identifier of a resource pool into which video data is to be written and an identifier of the encoder; obtaining, from a plurality of storage nodes corresponding to the identifier of the resource pool, a queue of allocable storage nodes for the video data storage request, wherein, the correspondence between an identifier of a resource pool and a storage node is predefined; determining whether the identifier_of the encoder is recorded in an encoder allocation tracing list;
if so, selecting from the queue of allocable storage nodes a target storage node allocable as a write node, according to the number of current writes of each of the storage nodes in pre-recorded node synchronization information and a stress estimation algorithm;
or otherwise, selecting, from the queue of allocable storage nodes, a target storage node allocable as the write node, according to the stress estimation algorithm;
wherein the encoder allocation tracing list records the correspondence between an identifier of an encoder that has been allocated a storage node and the allocated storage node, and wherein the stress estimation algorithm is an algorithm for estimating the stress on a storage node according to the node synchronization information; andif a target storage node allocable as a write node is selected from the queue of allocable storage nodes, feeding back address information of the target storage node to the client based on the encoder to allow the client to write the video data corresponding to the video data storage request into the target storage node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for allocating storage resource of video cloud storage, applicable to a management node in a storage cluster, the storage cluster comprising at least one management node and at least one storage node, the apparatus comprising:
-
a video data storage request receiving module configured for receiving a video data storage request sent by a client based on an encoder, the video data storage request containing the identifier of a resource pool into which a video data is to be written and an identifier of the encoder; an allocable storage node queue obtaining module configured for obtaining, from a plurality of storage nodes corresponding to the identifier of the resource pool, a queue of allocable storage nodes for the video data storage request, wherein, the correspondence between an identifier of a resource pool and a storage node is predefined; a determining module configured for determining whether the identifier of the encoder is recorded in an encoder allocation tracing list;
if so, activating a first target storage node determining module, or otherwise, activating a second target storage node determining module, wherein the encoder allocation tracing list records the correspondence between an identifier of an encoder that has been allocated a storage node and the allocated storage node;the first target storage node determining module is configured for selecting from the queue of allocable storage nodes a target storage node allocable as a write node, according to the number of current writes of each of the storage nodes in pre-recorded node synchronization information and a stress estimation algorithm, wherein the stress estimation algorithm is an algorithm for estimating the stress on a storage node according to the node synchronization information; the second target storage node determining module is configured for selecting, from the queue of allocable storage node, a target storage node allocable as the write node, according to the stress estimation algorithm; and a first target storage node address information returning module configured for, if a target storage node allocable as a write node is selected from the queue of allocable storage nodes, feeding back the address information of the target storage node to the client based on the encoder to allow the client to write the video data corresponding to the video data storage request into the target storage node. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification