A software upgrade method, applied to a system, wherein the system comprises a system manager, a traffic decider, a first service server, and a second service server, and the first service server and the second service server are installed with service software of a first version; and the method comprises: controlling, by the system manager, the second service server to upgrade the installed service software from the first version to a second version, controlling the traffic decider to set a service flow identifier comprised in a service data flow of a user equipment on the first service server to indicating the second service server, and controlling the first service server to transfer, to the second service server, the service data flow that comprises the service flow identifier and that is on the first service server, wherein the service flow identifier indicates whether the service data flow is to be forwarded to the first service server or the upgraded second service server; receiving, by the traffic decider, a service request sent by the user equipment, wherein the user equipment is user equipment connected to the system for the first time, and forwarding the service request to the second service server; allocating, by the second service server, the service flow identifier for the service request from the user equipment; receiving, by the traffic decider, the service data flow from the user equipment, and forwarding the service data flow to the second service server based on the service flow identifier in the service data flow; and after the second service server becomes stable, controlling, by the system manager, the first service server to upgrade the installed service software from the first version to the second version. controlling, by the system manager, the second service server to upgrade the installed service software from the first version to a second version, controlling the traffic decider to set a service flow identifier comprised in a service data flow of a user equipment on the first service server to indicating the second service server, and controlling the first service server to transfer, to the second service server, the service data flow that comprises the service flow identifier and that is on the first service server, wherein the service flow identifier indicates whether the service data flow is to be forwarded to the first service server or the upgraded second service server; receiving, by the traffic decider, a service request sent by the user equipment, wherein the user equipment is user equipment connected to the system for the first time, and forwarding the service request to the second service server; allocating, by the second service server, the service flow identifier for the service request from the user equipment; receiving, by the traffic decider, the service data flow from the user equipment, and forwarding the service data flow to the second service server based on the service flow identifier in the service data flow; and after the second service server becomes stable, controlling, by the system manager, the first service server to upgrade the installed service software from the first version to the second version.