Mobile social networks are new infrastructures for people to share content, communicate and interact anywhere, anytime. It brings together social computing and mobile networking techniques, and thus yields a plethora of research problems in community detection, information dissemination, privacy preservation and so forth. In this paper, we summarize the characteristics of MSNs, and outline several requirements that should be taken into consideration during the design of MSNs. A functional reference architecture of MSNs is designed, and its building blocks are described. We classify the literatures falling under MSNs according to the building blocks of the architecture, and give a detailed survey for each. At last, a conclusion on the future development of MSNs is presented.