摘要 |
A topology aware distributed storage system includes a plurality of storage nodes, at least one client node, and a storage manager and metadata store. A user-defined storage policy specifies where data is stored within a topological hierarchy of nodes within the network. A hierarchical ring topology including a hierarchical structure of rings representing an organizational structure of nodes is computed and flattened into a single global ring divided into segments corresponding to a unique range of integers and associated with a replica set responsible for storing a key corresponding to one of the integers. A hash function is performed on a user key received from the client node, and the hashed key is looked up on the flattened global ring stored on each storage node to identify the replica set responsible for storing data corresponding to the hashed key. |