/// <summary> /// 上报算力时。 /// 因为只有MinerData具有的成员发生了变化时才需要持久化所以该非法输出isMinerDataChanged参数以表示MinerData的成员是否发生了变化。 /// </summary> /// <param name="speedData"></param> /// <param name="minerIp"></param> /// <param name="isMinerDataChanged"></param> public void Update(ISpeedData speedData, string minerIp, out bool isMinerDataChanged) { Update(speedData, out isMinerDataChanged); if (!isMinerDataChanged && minerIp != this.MinerIp) { isMinerDataChanged = true; } this.MinerIp = minerIp; }
public static ClientData Create(ISpeedData speedData, string minerIp) { return(new ClientData() { Id = ObjectId.NewObjectId().ToString(), MinerName = string.Empty, MinerIp = minerIp, CreatedOn = DateTime.Now, ModifiedOn = DateTime.Now, GroupId = Guid.Empty, WorkId = Guid.Empty, WindowsLoginName = string.Empty, WindowsPassword = string.Empty, MACAddress = speedData.MACAddress, LocalIp = speedData.LocalIp, ClientId = speedData.ClientId, IsAutoBoot = speedData.IsAutoBoot, IsAutoStart = speedData.IsAutoStart, AutoStartDelaySeconds = speedData.AutoStartDelaySeconds, IsAutoRestartKernel = speedData.IsAutoRestartKernel, AutoRestartKernelTimes = speedData.AutoRestartKernelTimes, IsNoShareRestartKernel = speedData.IsNoShareRestartKernel, NoShareRestartKernelMinutes = speedData.NoShareRestartKernelMinutes, IsNoShareRestartComputer = speedData.IsNoShareRestartComputer, NoShareRestartComputerMinutes = speedData.NoShareRestartComputerMinutes, IsPeriodicRestartKernel = speedData.IsPeriodicRestartKernel, PeriodicRestartKernelHours = speedData.PeriodicRestartKernelHours, IsPeriodicRestartComputer = speedData.IsPeriodicRestartComputer, PeriodicRestartComputerHours = speedData.PeriodicRestartComputerHours, PeriodicRestartComputerMinutes = speedData.PeriodicRestartComputerMinutes, PeriodicRestartKernelMinutes = speedData.PeriodicRestartKernelMinutes, IsAutoStopByCpu = speedData.IsAutoStopByCpu, IsAutoStartByCpu = speedData.IsAutoStartByCpu, CpuStopTemperature = speedData.CpuStopTemperature, CpuStartTemperature = speedData.CpuStartTemperature, CpuLETemperatureSeconds = speedData.CpuLETemperatureSeconds, CpuGETemperatureSeconds = speedData.CpuGETemperatureSeconds, GpuDriver = speedData.GpuDriver, GpuType = speedData.GpuType, OSName = speedData.OSName, OSVirtualMemoryMb = speedData.OSVirtualMemoryMb, GpuInfo = speedData.GpuInfo, Version = speedData.Version, IsMining = speedData.IsMining, BootOn = speedData.BootOn, MineStartedOn = speedData.MineStartedOn, MainCoinCode = speedData.MainCoinCode, MainCoinTotalShare = speedData.MainCoinTotalShare, MainCoinRejectShare = speedData.MainCoinRejectShare, MainCoinSpeed = speedData.MainCoinSpeed, MainCoinPool = speedData.MainCoinPool, MainCoinWallet = speedData.MainCoinWallet, Kernel = speedData.Kernel, IsDualCoinEnabled = speedData.IsDualCoinEnabled, DualCoinPool = speedData.DualCoinPool, DualCoinWallet = speedData.DualCoinWallet, DualCoinCode = speedData.DualCoinCode, DualCoinTotalShare = speedData.DualCoinTotalShare, DualCoinRejectShare = speedData.DualCoinRejectShare, DualCoinSpeed = speedData.DualCoinSpeed, KernelCommandLine = speedData.KernelCommandLine, GpuTable = speedData.GpuTable, MineWorkId = speedData.MineWorkId, MineWorkName = speedData.MineWorkName, ClientName = speedData.MinerName, DiskSpace = speedData.DiskSpace, MainCoinPoolDelay = speedData.MainCoinPoolDelay, DualCoinPoolDelay = speedData.DualCoinPoolDelay, IsFoundOneGpuShare = speedData.IsFoundOneGpuShare, IsRejectOneGpuShare = speedData.IsRejectOneGpuShare, IsGotOneIncorrectGpuShare = speedData.IsGotOneIncorrectGpuShare, CpuTemperature = speedData.CpuTemperature, CpuPerformance = speedData.CpuPerformance, KernelSelfRestartCount = speedData.KernelSelfRestartCount, LocalServerMessageTimestamp = speedData.LocalServerMessageTimestamp, IsRaiseHighCpuEvent = speedData.IsRaiseHighCpuEvent, HighCpuPercent = speedData.HighCpuPercent, HighCpuSeconds = speedData.HighCpuSeconds }); }
public void Update(ISpeedData speedData) { if (speedData == null) { return; } _preUpdateOn = DateTime.Now; if (_preMainCoin != this.MainCoinCode) { _preMainCoinShare = 0; _preMainCoinRejectShare = 0; } else { _preMainCoinShare = this.MainCoinTotalShare; _preMainCoinRejectShare = this.MainCoinRejectShare; } _preMainCoin = this.MainCoinCode; if (_preDualCoin != this.DualCoinCode) { _preDualCoinShare = 0; _preDualCoinRejectShare = 0; } else { _preDualCoinShare = this.DualCoinTotalShare; _preDualCoinRejectShare = this.DualCoinRejectShare; } _preDualCoin = this.DualCoinCode; this.ClientId = speedData.ClientId; if (!string.IsNullOrEmpty(speedData.MACAddress)) { this.MACAddress = speedData.MACAddress; } if (!string.IsNullOrEmpty(speedData.LocalIp)) { this.LocalIp = speedData.LocalIp; } this.IsAutoBoot = speedData.IsAutoBoot; this.IsAutoStart = speedData.IsAutoStart; this.AutoStartDelaySeconds = speedData.AutoStartDelaySeconds; this.IsAutoRestartKernel = speedData.IsAutoRestartKernel; this.AutoRestartKernelTimes = speedData.AutoRestartKernelTimes; this.IsNoShareRestartKernel = speedData.IsNoShareRestartKernel; this.NoShareRestartKernelMinutes = speedData.NoShareRestartKernelMinutes; this.IsNoShareRestartComputer = speedData.IsNoShareRestartComputer; this.NoShareRestartComputerMinutes = speedData.NoShareRestartComputerMinutes; this.IsPeriodicRestartKernel = speedData.IsPeriodicRestartKernel; this.PeriodicRestartKernelHours = speedData.PeriodicRestartKernelHours; this.IsPeriodicRestartComputer = speedData.IsPeriodicRestartComputer; this.PeriodicRestartComputerHours = speedData.PeriodicRestartComputerHours; this.PeriodicRestartComputerMinutes = speedData.PeriodicRestartComputerMinutes; this.PeriodicRestartKernelMinutes = speedData.PeriodicRestartKernelMinutes; this.IsAutoStopByCpu = speedData.IsAutoStopByCpu; this.IsAutoStartByCpu = speedData.IsAutoStartByCpu; this.CpuStopTemperature = speedData.CpuStopTemperature; this.CpuStartTemperature = speedData.CpuStartTemperature; this.CpuLETemperatureSeconds = speedData.CpuLETemperatureSeconds; this.CpuGETemperatureSeconds = speedData.CpuGETemperatureSeconds; this.GpuDriver = speedData.GpuDriver; this.GpuType = speedData.GpuType; this.OSName = speedData.OSName; this.OSVirtualMemoryMb = speedData.OSVirtualMemoryMb; this.GpuInfo = speedData.GpuInfo; this.Version = speedData.Version; this.IsMining = speedData.IsMining; this.BootOn = speedData.BootOn; this.MineStartedOn = speedData.MineStartedOn; this.ClientName = speedData.MinerName; this.DiskSpace = speedData.DiskSpace; this.ModifiedOn = DateTime.Now; this.MainCoinCode = speedData.MainCoinCode; this.MainCoinTotalShare = speedData.MainCoinTotalShare; this.MainCoinRejectShare = speedData.MainCoinRejectShare; this.MainCoinSpeed = speedData.MainCoinSpeed; this.MainCoinPool = speedData.MainCoinPool; this.MainCoinWallet = speedData.MainCoinWallet; this.Kernel = speedData.Kernel; this.IsDualCoinEnabled = speedData.IsDualCoinEnabled; this.DualCoinPool = speedData.DualCoinPool; this.DualCoinWallet = speedData.DualCoinWallet; this.DualCoinCode = speedData.DualCoinCode; this.DualCoinTotalShare = speedData.DualCoinTotalShare; this.DualCoinRejectShare = speedData.DualCoinRejectShare; this.DualCoinSpeed = speedData.DualCoinSpeed; this.KernelCommandLine = speedData.KernelCommandLine; this.GpuTable = speedData.GpuTable; this.MainCoinPoolDelay = speedData.MainCoinPoolDelay; this.DualCoinPoolDelay = speedData.DualCoinPoolDelay; this.IsFoundOneGpuShare = speedData.IsFoundOneGpuShare; this.IsRejectOneGpuShare = speedData.IsRejectOneGpuShare; this.IsGotOneIncorrectGpuShare = speedData.IsGotOneIncorrectGpuShare; this.CpuPerformance = speedData.CpuPerformance; this.CpuTemperature = speedData.CpuTemperature; this.MineWorkId = speedData.MineWorkId; this.MineWorkName = speedData.MineWorkName; this.KernelSelfRestartCount = speedData.KernelSelfRestartCount; this.LocalServerMessageTimestamp = speedData.LocalServerMessageTimestamp; this.IsRaiseHighCpuEvent = speedData.IsRaiseHighCpuEvent; this.HighCpuPercent = speedData.HighCpuPercent; this.HighCpuSeconds = speedData.HighCpuSeconds; }
public void Update(ISpeedData speedData, string minerIp) { this.MinerIp = minerIp; Update(speedData); }
/// <summary> /// 上报算力时和拉取算力时。 /// 因为只有MinerData具有的成员发生了变化时才需要持久化所以该非法输出isMinerDataChanged参数以表示MinerData的成员是否发生了变化。 /// </summary> /// <param name="speedData"></param> /// <param name="isMinerDataChanged"></param> public void Update(ISpeedData speedData, out bool isMinerDataChanged) { isMinerDataChanged = false; if (speedData == null) { return; } _preUpdateOn = DateTime.Now; if (_preMainCoin != this.MainCoinCode) { _preMainCoinShare = 0; _preMainCoinRejectShare = 0; } else { _preMainCoinShare = this.MainCoinTotalShare; _preMainCoinRejectShare = this.MainCoinRejectShare; } _preMainCoin = this.MainCoinCode; if (_preDualCoin != this.DualCoinCode) { _preDualCoinShare = 0; _preDualCoinRejectShare = 0; } else { _preDualCoinShare = this.DualCoinTotalShare; _preDualCoinRejectShare = this.DualCoinRejectShare; } _preDualCoin = this.DualCoinCode; #region MinerData if (!isMinerDataChanged) { isMinerDataChanged = this.ClientId != speedData.ClientId; } this.ClientId = speedData.ClientId; if (!isMinerDataChanged) { isMinerDataChanged = this.MACAddress != speedData.MACAddress; } this.MACAddress = speedData.MACAddress; if (!isMinerDataChanged) { isMinerDataChanged = this.LocalIp != speedData.LocalIp; } this.LocalIp = speedData.LocalIp; if (!isMinerDataChanged) { isMinerDataChanged = this.MinerName != speedData.MinerName; } this.MinerName = speedData.MinerName; if (!isMinerDataChanged) { isMinerDataChanged = this.IsOuterUserEnabled != speedData.IsOuterUserEnabled; } this.IsOuterUserEnabled = speedData.IsOuterUserEnabled; #endregion this.MineContextId = speedData.MineContextId; this.IsAutoBoot = speedData.IsAutoBoot; this.IsAutoStart = speedData.IsAutoStart; this.AutoStartDelaySeconds = speedData.AutoStartDelaySeconds; this.IsAutoRestartKernel = speedData.IsAutoRestartKernel; this.AutoRestartKernelTimes = speedData.AutoRestartKernelTimes; this.IsNoShareRestartKernel = speedData.IsNoShareRestartKernel; this.NoShareRestartKernelMinutes = speedData.NoShareRestartKernelMinutes; this.IsNoShareRestartComputer = speedData.IsNoShareRestartComputer; this.NoShareRestartComputerMinutes = speedData.NoShareRestartComputerMinutes; this.IsPeriodicRestartKernel = speedData.IsPeriodicRestartKernel; this.PeriodicRestartKernelHours = speedData.PeriodicRestartKernelHours; this.IsPeriodicRestartComputer = speedData.IsPeriodicRestartComputer; this.PeriodicRestartComputerHours = speedData.PeriodicRestartComputerHours; this.PeriodicRestartComputerMinutes = speedData.PeriodicRestartComputerMinutes; this.PeriodicRestartKernelMinutes = speedData.PeriodicRestartKernelMinutes; this.IsAutoStopByCpu = speedData.IsAutoStopByCpu; this.IsAutoStartByCpu = speedData.IsAutoStartByCpu; this.CpuStopTemperature = speedData.CpuStopTemperature; this.CpuStartTemperature = speedData.CpuStartTemperature; this.CpuLETemperatureSeconds = speedData.CpuLETemperatureSeconds; this.CpuGETemperatureSeconds = speedData.CpuGETemperatureSeconds; this.CpuPerformance = speedData.CpuPerformance; this.CpuTemperature = speedData.CpuTemperature; this.IsRaiseHighCpuEvent = speedData.IsRaiseHighCpuEvent; this.HighCpuPercent = speedData.HighCpuPercent; this.HighCpuSeconds = speedData.HighCpuSeconds; this.GpuDriver = speedData.GpuDriver; this.GpuType = speedData.GpuType; this.OSName = speedData.OSName; this.OSVirtualMemoryMb = speedData.OSVirtualMemoryMb; this.GpuInfo = speedData.GpuInfo; this.Version = speedData.Version; this.IsMining = speedData.IsMining; this.BootOn = speedData.BootOn; this.MineStartedOn = speedData.MineStartedOn; this.DiskSpace = speedData.DiskSpace; this.MainCoinCode = speedData.MainCoinCode; this.MainCoinTotalShare = speedData.MainCoinTotalShare; this.MainCoinRejectShare = speedData.MainCoinRejectShare; this.MainCoinSpeed = speedData.MainCoinSpeed; this.MainCoinPool = speedData.MainCoinPool; this.MainCoinWallet = speedData.MainCoinWallet; this.Kernel = speedData.Kernel; this.IsDualCoinEnabled = speedData.IsDualCoinEnabled; this.DualCoinPool = speedData.DualCoinPool; this.DualCoinWallet = speedData.DualCoinWallet; this.DualCoinCode = speedData.DualCoinCode; this.DualCoinTotalShare = speedData.DualCoinTotalShare; this.DualCoinRejectShare = speedData.DualCoinRejectShare; this.DualCoinSpeed = speedData.DualCoinSpeed; this.KernelCommandLine = speedData.KernelCommandLine; this.MainCoinSpeedOn = speedData.MainCoinSpeedOn; this.DualCoinSpeedOn = speedData.DualCoinSpeedOn; this.GpuTable = speedData.GpuTable; this.MainCoinPoolDelay = speedData.MainCoinPoolDelay; this.DualCoinPoolDelay = speedData.DualCoinPoolDelay; this.IsFoundOneGpuShare = speedData.IsFoundOneGpuShare; this.IsRejectOneGpuShare = speedData.IsRejectOneGpuShare; this.IsGotOneIncorrectGpuShare = speedData.IsGotOneIncorrectGpuShare; this.MineWorkId = speedData.MineWorkId; this.MineWorkName = speedData.MineWorkName; this.KernelSelfRestartCount = speedData.KernelSelfRestartCount - 1;// 需要减1 this.LocalServerMessageTimestamp = speedData.LocalServerMessageTimestamp; this.TotalPhysicalMemoryMb = speedData.TotalPhysicalMemoryMb; this.MinerActiveOn = DateTime.Now;// 现在时间 this.IsAutoDisableWindowsFirewall = speedData.IsAutoDisableWindowsFirewall; this.IsDisableAntiSpyware = speedData.IsDisableAntiSpyware; this.IsDisableUAC = speedData.IsDisableUAC; this.IsDisableWAU = speedData.IsDisableWAU; }
/// <summary> /// 上报算力时和拉取算力时。 /// 因为只有MinerData具有的成员发生了变化时才需要持久化所以该非法输出isMinerDataChanged参数以表示MinerData的成员是否发生了变化。 /// </summary> /// <param name="speedDto"></param> /// <param name="isMinerDataChanged"></param> public void Update(ISpeedData speedData, out bool isMinerDataChanged) { this.Update((ISpeedDto)speedData, out isMinerDataChanged); this.MinerActiveOn = speedData.SpeedOn; }