In recent years, data broadcasting has become a promising technique in designing a mobile information system with power conservation, high scalability, and high bandwidth utilization. However, prior research topics in data broadcasting are mainly based on the assumption that the disseminated data items are of the same size. Motivated by the fact that various kinds of data objects may be disseminated in advanced information systems, 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 Dimension Reduction Partitioning (DRP) is employed to perform rough allocation to derive the satisfactory solutions, whereas mechanism Cost-Diminishing Movement Selection (CDMS) is used for fine allocation to achieve local optimum solutions. In addition to the two-phase architecture, 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 the conventional genetic algorithm GA, and the suboptimum that GA-CDMS achieves will be very close to the optimal solution. In order to validate the two-phase allocation algorithm DRP-CDMS, several experiments are conducted. In these experiments, we consider the important issues such as accuracy, scalability, diversity and 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.