This paper deals with the problem of allocating the multiple primary channels to the multiple secondary users in a sensing-based cognitive radio system. Traffic pattern deviation and SNR variation of the primary channels to each secondary user are exploited for the channel allocation. The sum-throughput of the secondary users is maximized by properly allocating the primary channels to the secondary users in a way of one-to-one mapping. The channel allocation can be realized via the sum-throughput maximization with interference constraint to the primary users. Numerical results show the throughput enhancement of the proposed channel allocation over the conventional one.