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.