Although the Device-to-Device (D2D) technology in cellular networks can improve the performance of cellular systems, it creates a large amount of interference in traditional communications. In this paper, the problem of resource allocation and control in a single-cell scene is studied. First, the concept of a restricted D2D communication area and a restricted D2D user-reusage area is put forward to reduce the complexity and interference intensity of resource allocation. Second, under the premise of satisfying the QoS (Quality of Service) demands of every system user, the resource allocation algorithm is improved, the optimal allocation of resources is carried out, and the algorithm’s processes are given in detail. Our simulated experiments show that the proposed method greatly improves the spectrum efficiency and the system fairness.