Skip to content

Commit 309dc0d

Browse files
committed
Update.
1 parent d9463f0 commit 309dc0d

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

service/singleton/traffic_manager.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,27 @@ func (tm *TrafficManager) UpdateTraffic(serverID uint64, inBytes, outBytes uint6
143143
tm.writeBatchToDatabase()
144144
}
145145

146-
// 强制更新服务器状态
146+
// 强制更新服务器状态 - 使用累计流量而不是原始流量
147147
if server, ok := ServerList[serverID]; ok {
148-
server.State.NetInTransfer = inBytes
149-
server.State.NetOutTransfer = outBytes
148+
// 保持累计流量,只更新网络速率
150149
server.State.NetInSpeed = stats.InSpeed
151150
server.State.NetOutSpeed = stats.OutSpeed
151+
152+
// 读取数据库中的累计流量作为基准
153+
var dbServer model.Server
154+
if err := DB.First(&dbServer, serverID); err == nil {
155+
// 使用数据库中的累计流量作为基础
156+
server.CumulativeNetInTransfer = dbServer.CumulativeNetInTransfer
157+
server.CumulativeNetOutTransfer = dbServer.CumulativeNetOutTransfer
158+
159+
// 计算增量并添加到累计流量
160+
server.State.NetInTransfer = inBytes + dbServer.CumulativeNetInTransfer
161+
server.State.NetOutTransfer = outBytes + dbServer.CumulativeNetOutTransfer
162+
163+
log.Printf("更新服务器 %d 流量: 原始入站=%d, 原始出站=%d, 累计入站=%d, 累计出站=%d",
164+
serverID, inBytes, outBytes, server.State.NetInTransfer, server.State.NetOutTransfer)
165+
}
166+
152167
UpdateServer(server)
153168
}
154169
}

0 commit comments

Comments
 (0)