An increasing number of applications in scientific and other domains have moved or are in active transition to clouds, and the demand for big data transfers between geographically distributed cloud-based data centers is rapidly growing. Many modern backbone networks leverage logically centralized controllers based on software-defined networking (SDN) to provide advance bandwidth reservation for data transfer requests. How to fully utilize the bandwidth resources of the links connecting data centers with guaranteed quality of service for each user request is an important problem for cloud service providers. Most existing work focuses on bandwidth scheduling for a single request for data transfer or multiple requests using the same service model. In this work, we construct rigorous cost models to quantify user satisfaction degree, and formulate a generic problem of bandwidth scheduling for multiple deadline-constrained data transfer requests of different types to maximize the request scheduling success ratio while minimizing the data transfer completion time of each request. We prove this problem to be not only NP-complete but also non-approximable, and hence design a heuristic algorithm. For performance evaluation, we establish a proof-of-concept emulated SDN testbed and also generate large-scale simulation networks. Both experimental and simulation results show that the proposed scheduling scheme significantly outperforms existing methods in terms of user satisfaction degree and scheduling success ratio.