/// <summary>填充在线节点信息</summary> /// <param name="inf"></param> private void Fill(PingInfo inf) { var olt = this; if (inf.AvailableMemory > 0) { olt.AvailableMemory = (Int32)(inf.AvailableMemory / 1024 / 1024); } if (inf.AvailableFreeSpace > 0) { olt.AvailableFreeSpace = (Int32)(inf.AvailableFreeSpace / 1024 / 1024); } if (inf.CpuRate > 0) { olt.CpuRate = inf.CpuRate; } if (inf.Temperature > 0) { olt.Temperature = inf.Temperature; } if (inf.ProcessCount > 0) { olt.ProcessCount = inf.ProcessCount; } if (inf.TcpConnections > 0) { olt.TcpConnections = inf.TcpConnections; } if (inf.TcpTimeWait > 0) { olt.TcpTimeWait = inf.TcpTimeWait; } if (inf.TcpCloseWait > 0) { olt.TcpCloseWait = inf.TcpCloseWait; } if (inf.Uptime > 0) { olt.Uptime = inf.Uptime; } if (inf.Delay > 0) { olt.Delay = inf.Delay; } var dt = inf.Time.ToDateTime().ToLocalTime(); if (dt.Year > 2000) { olt.LocalTime = dt; olt.Offset = (Int32)Math.Round((dt - DateTime.Now).TotalSeconds); } if (!inf.Processes.IsNullOrEmpty()) { olt.Processes = inf.Processes; } if (!inf.Macs.IsNullOrEmpty()) { olt.MACs = inf.Macs; } //if (!inf.COMs.IsNullOrEmpty()) olt.COMs = inf.COMs; // 插入节点数据 var data = new NodeData { NodeID = olt.NodeID, Name = olt.Name, AvailableMemory = olt.AvailableMemory, AvailableFreeSpace = olt.AvailableFreeSpace, CpuRate = inf.CpuRate, Temperature = inf.Temperature, ProcessCount = inf.ProcessCount, TcpConnections = inf.TcpConnections, TcpTimeWait = inf.TcpTimeWait, TcpCloseWait = inf.TcpCloseWait, Uptime = inf.Uptime, Delay = inf.Delay, LocalTime = dt, Offset = olt.Offset, Data = inf.ToJson(), Creator = Environment.MachineName, }; data.SaveAsync(); }