我想通知用户时,服务下降和上升,这是我现在的设计(只是为了演示)。
service
{
id,
name,
isActive
}
history
{
id,
serviceId,
upTime,
downTime
}当服务关闭时,我将使用downTime和upTime为NULL向历史添加记录。在服务完成之前,我将找到使用相对serviceId的最后一个历史记录,并更新upTime。我不知道这是不是一个正确的设计。也许两张唱片是分开的?
发布于 2016-05-03 04:00:14
我宁愿把这两张唱片分开。我想添加注释字段,它将解释服务为何关闭或如何修复以恢复服务的问题。
模式将类似于
Table History
HistoryID int,
ServiceID int,
Status varchar(4),
StatusTime datetime2(3),
Comment varchar(50)然后,数据就会像
HistoryID ServiceID Status StatusTime Comment
1 1 Down 2016-05-03 00:00:00 Problem happens because xxx
2 1 Up 2016-05-04 00:00:00 Restart the service*如果您想显示如下内容,请编辑:
ServiceID: 1下载时间:2016/05/03正常运行时间:2016/05/04。
您可以使用架构来简化select语句。但是,我仍然建议使用注释来让您知道是什么导致服务下降,以及如何修复它。这将使它更好地维持你的服务。并且您可以为每个Down状态插入一个新行,并为Up状态更新最后一行。例如:
HistoryID ServiceID DownTime UpTime DownComment UpComment
1 1 xxx xxx xxx xxx
2 1 xxx NULL xxx NULL第一行意味着服务已经修复,并在xxx时间上升。第二行意味着服务再次中断,但没有被修复。
https://stackoverflow.com/questions/36995013
复制相似问题