The Internet of Vehicles (IoV) is a convergence of the mobile Internet and the Internet of Things (IoT), where vehicles function as smart moving intelligent nodes or objects within the sensing network. This paper gives two contributions to the state-of-the-art for IoV technology research. First, we present a comprehensive review of the current and emerging IoV paradigms and communication models with an emphasis on deployment in smart cities. Currently, surveys from many authors have focused concentration on the IoV as only serving applications for intelligent transportation like driver safety, traffic efficiency, and infotainment. This paper presents a more inclusive review of the IoV for also serving the needs of smart cities for large-scale data sensing, collection, information processing, and storage. The second component of the paper presents a new universal architecture for the IoV which can be used for different communication models in smart cities to address the above challenges. It consists of seven layers: vehicle identification layer, object layer, inter-intra devices layer, communication layer, servers and cloud services layer, big data and multimedia computation layer, and application layer. The final part of this paper discusses various challenges and gives some experimental results and insights for future research direction such as the effects of a large and growing number of vehicles and the packet delivery success rate in the dynamic network structure in a smart city scenario.