An energy storage system, wherein the energy storage system comprises at least one energy storage container , and the energy storage container has a battery management system and m battery clusters ; each battery cluster comprises n battery packs connected in series, and the battery management system comprises a first controller , m second controllers , and m*n third controllers , wherein m and n are integers greater than 1; each second controller is connected to third controllers corresponding to the n battery packs in the corresponding battery cluster through a controller area network, CAN, bus, and the third controllers corresponding to the n battery packs in each battery cluster are connected in series through the CAN bus; the first controller is configured to manage the energy storage container , each second controller is configured to manage one corresponding battery cluster, and each third controller is configured to manage one corresponding battery pack; and the third controllers corresponding to the n battery packs in each battery cluster are configured to determine a physical position of a first third controller connected in series, characterized in that an i th third controller in the third controllers corresponding to the n battery packs in each battery cluster is configured to determine a physical position of the i th third controller based on a position signal sent by an (i-1) th third controller, wherein i=2, 3, ..., or n, wherein the first controller is connected to the m second controllers through an Ethernet ring network; and the first controller is specifically configured to determine physical positions of remaining second controllers according to a rapid spanning tree protocol, RSTP, and a known physical position of a second controller. each battery cluster comprises n battery packs connected in series, and the battery management system comprises a first controller , m second controllers , and m*n third controllers , wherein m and n are integers greater than 1; each second controller is connected to third controllers corresponding to the n battery packs in the corresponding battery cluster through a controller area network, CAN, bus, and the third controllers corresponding to the n battery packs in each battery cluster are connected in series through the CAN bus; the first controller is configured to manage the energy storage container , each second controller is configured to manage one corresponding battery cluster, and each third controller is configured to manage one corresponding battery pack; and the third controllers corresponding to the n battery packs in each battery cluster are configured to determine a physical position of a first third controller connected in series, characterized in that an i th third controller in the third controllers corresponding to the n battery packs in each battery cluster is configured to determine a physical position of the i th third controller based on a position signal sent by an (i-1) th third controller, wherein i=2, 3, ..., or n, wherein the first controller is connected to the m second controllers through an Ethernet ring network; and the first controller is specifically configured to determine physical positions of remaining second controllers according to a rapid spanning tree protocol, RSTP, and a known physical position of a second controller. <EOS>