The invention discloses a method for downloading data fragments by a peer, a device and the peer. At the first, the data fragments starting from a current playing position are divided into more than one aggregate according to time sequence, and the data segments needing download are determined by sequential selection of a first aggregate which starts from the current playing position and is positioned at the time sequence, if the first aggregate has the data fragments, the data fragments are selected to meet a real-time requirement, otherwise, a current peer is proved to have all data fragments contained in the aggregate and be capable of meeting the real-time requirement, and then the data fragments needing download are determined in a next aggregate in a least-number priority manner so as to meet a shared data maximization requirement, and after the data fragments needing download are determined, request information of downloading the data fragments is sent to a neighbor terminal, thus meeting the real-time requirement while meeting the shared data maximization requirement, which enhances the experience of a user.