In optical burst switching (OBS) networks, the data channel scheduling algorithm is one of the most important issues, which have a great impact on network performances. Currently, there are various data channel scheduling algorithms. Among them, the rescheduling algorithm is more attractive because it could adaptively reallocate the data channels even when they have been occupied by some data bursts (DB), and release some channel resource for the latter DB in most situations. However when the traffic load is heavy, it is not effective any more, and would worsen network performance. Therefore, this paper proposes a new rescheduling algorithm, namely VB-Rescheduling algorithm. According to the state of the data channels, it reschedules data blocks on demand by three granularities (i.e., virtual burst, child-burst cluster and normal burst). Compared with other rescheduling algorithms, it has some advantages as follows. Firstly, it could keep the same sequence of the arriving data bursts at a node as the corresponding control packets. Secondly, it is more flexible to reschedule data blocks. Finally, simulation results show that it can greatly improve OBS network performance in terms of the overall packet loss probability and the link utilization, compared with traditional OBS rescheduling algorithm (whose rescheduling granularity is normal burst) and the native virtual burst scheduling scheme.