Software-defined networking (SDN) has the ability to flexibly configure the network and is widely used in various scenarios. In SDN, different applications require the controller to deploy corresponding flow entries to maintain the effectiveness of network. However, the matching field range covered by entries of different applications may overlap, and when actions specified by these overlapping entries are inconsistent, conflicts may occur. Such conflicts may cause the flow to match the wrong entry, thereby affecting the correct expression of application functions. The scheme we proposed in this paper will be able to detect and resolve conflicts between flow entries. Firstly, we discussed the causes of conflicts, and then classified various conflict situations. This classification will help us to adopt different ways of resolving different types of conflicts and make the resolution of conflicts more targeted. Next, we propose a conflict detection algorithm based on B+ tree. This algorithm can detect different types of conflicts. According to theoretical proof, the use of B+ tree compared with other similar structures better in the performance of the time and space complexity. Finally, for the detected conflicting entries, we propose a conflict resolution scheme based on the failure degree of the flow entry according to the characteristics of SDN services tending to be more detailed. Through experimental evaluation, our scheme can effectively detect and resolve conflicts with lower overhead.