In distributed data storage, a particular dataset can reside at multiple locations in order to get high availability .Thus, the dataset can be downloaded in parallel from multiple nodes.Throughput between server and client changes dynamically, so the downloading speed can vary unpredictably. A dynamic parallel downloading algorithm based on measurement of bandwidth and bandwidth prediction is produced in this paper and server caching is adopted in order to improve downloading speed. The algorithm dynamically adjusts downloading of the last block to make parallel downloading from multiple servers end almost simultaneously. With this approach, the download time is reduced and the robustness of the downloading system is improved. Besides, the algorithm not only avoids complicated server selecting mechanism, but also improves load balance of the servers.