A software update method, applied to an electronic system, wherein the electronic system comprises a plurality of electronic control units ECUs, a plurality of slave update control nodes, a master update control node, and at least two candidate control nodes, each of the plurality of slave update control nodes corresponds to at least one ECU, each slave update control node is configured to control software update of a corresponding ECU, the master update control node is configured to control the slave update control nodes, and the method comprises: sending (step 1), by a first candidate control node, at least one piece of first voting information, wherein each piece of first voting information comprises an identifier of one candidate control node; receiving (step 2), by the first candidate control node, at least one piece of second voting information, wherein each piece of second voting information comprises an identifier of one candidate control node, each of a plurality of pieces of voting information that comprises the first voting information and the second voting information is used to request a candidate control node indicated by an identifier comprised in the voting information to replace the master update control node to control the slave update control nodes; and determining (step 3), by the first candidate control node based on the identifier that is of the candidate control node and that is comprised in the second voting information, the candidate control node that replaces the master update control node to control the slave update control nodes; wherein the receiving, by the first candidate control node, at least one piece of second voting information comprises: receiving, by the first candidate control node, the second voting information from a fourth candidate control node, wherein the second voting information comprises an identifier of the fourth candidate control node and information about an available resource of the fourth candidate control node; and the sending, by a first candidate control node, first voting information comprises: sending, by the first candidate control node, the first voting information to the fourth candidate control node, wherein an identifier comprised in the first voting information is determined based on a value relationship between a third value and a fourth value, the third value is a value of an available resource of the first candidate control node, and the fourth value is a value of an available resource of the fourth candidate control node. sending (step 1), by a first candidate control node, at least one piece of first voting information, wherein each piece of first voting information comprises an identifier of one candidate control node; receiving (step 2), by the first candidate control node, at least one piece of second voting information, wherein each piece of second voting information comprises an identifier of one candidate control node, each of a plurality of pieces of voting information that comprises the first voting information and the second voting information is used to request a candidate control node indicated by an identifier comprised in the voting information to replace the master update control node to control the slave update control nodes; and determining (step 3), by the first candidate control node based on the identifier that is of the candidate control node and that is comprised in the second voting information, the candidate control node that replaces the master update control node to control the slave update control nodes; wherein the receiving, by the first candidate control node, at least one piece of second voting information comprises: receiving, by the first candidate control node, the second voting information from a fourth candidate control node, wherein the second voting information comprises an identifier of the fourth candidate control node and information about an available resource of the fourth candidate control node; and the sending, by a first candidate control node, first voting information comprises: sending, by the first candidate control node, the first voting information to the fourth candidate control node, wherein an identifier comprised in the first voting information is determined based on a value relationship between a third value and a fourth value, the third value is a value of an available resource of the first candidate control node, and the fourth value is a value of an available resource of the fourth candidate control node. receiving, by the first candidate control node, the second voting information from a fourth candidate control node, wherein the second voting information comprises an identifier of the fourth candidate control node and information about an available resource of the fourth candidate control node; and the sending, by a first candidate control node, first voting information comprises: sending, by the first candidate control node, the first voting information to the fourth candidate control node, wherein an identifier comprised in the first voting information is determined based on a value relationship between a third value and a fourth value, the third value is a value of an available resource of the first candidate control node, and the fourth value is a value of an available resource of the fourth candidate control node.