With the increase of the number of electric vehicles (EVs), it is of vital importance to develop the efficient and effective charging scheduling schemes for all the EVs. In this paper, we aim to maximize the social welfare of all the EVs, charging stations (CSs) and power plant (PP), by taking into account the changing demand of each EV, the changing price, the capacity and the congestion balance between different CSs. To this end, two efficient scheduling algorithms, i.e., Centralized Charging Strategy (CCS) and Distributed Charging Strategy (DCS) are proposed. CCS has a slightly better performance than the DCS, as it takes all the information and make the decision in the central control unit. On the other hand, DCS dose not require the private information from EVs and can make decentralized decision. Extensive simulation are conducted to verify the effectiveness of the proposed algorithms, in terms of the performance, congestion balance and computing complexity.