We explore in this paper the problem of generating broadcast programs in a heterogeneous data broadcasting environment, in which disseminated data items can be of different sizes. Given the broadcast database and the number of channels, we first derive the analytical model of the heterogeneous data broadcasting to obtain the average waiting time of mobile users, and prove the allocation problem as an NP-complete problem. In order to solve such problem, we propose a two-phase architecture to perform channel allocation. Algorithm DRP (Dimension Reduction Partitioning) is employed to perform rough allocation to derive the satisfactory solutions, whereas mechanism CDMS (Cost-Diminishing Movement Selection) is used for fine allocation to achieve local optimum solutions. In addition, we also propose algorithm GA-CDMS according to the concept of hybrid genetic algorithm for comparison purposes. GA-CDMS can perform global search more accurately and efficiently than conventional genetic algorithm GA and the suboptimum that GA-CDMS achieves will be very close to the optimal solution. In the experiments, we consider the important issues such as accuracy, scalability, diversity and the efficiency. From the experimental results, we show that the proposed two-phase channel allocation is very practical in performing an effective channel allocation with high efficiency in a heterogeneous broadcasting environment.