算法:创建中断表

时间:2014-08-05 07:03:06

标签: algorithm date datetime

我创建了这个设备,它向我的网络服务器发送一个点。我的Web服务器存储一个Point实例,该实例具有属性created_at以反映该点的创建时间。我的设备始终以180秒的间隔向我的服务器发送请求。

现在我想查看设备在过去7天内出现停机的时间段。

举个例子,让我们假装它是8月3日(08/03)。我可以查询我的Points表,查找按created_at

排序的最近3天的点数
Points = [ point(name=p1, created_at="08/01 00:00:00"), 
           point(name=p2, created_at="08/01 00:03:00"), 
           point(name=p3, created_at="08/01 00:06:00"),
           point(name=p4, created_at="08/01 00:20:00"), 
           point(name=p5, created_at="08/03 00:01:00"),
     ... ] 

我想写一个可以列出以下中断的算法:

outages = { 
  "08/01": [ "00:06:00-00:20:00", "00:20:00-23:59:59" ], 
  "08/02": [ "00:00:00-23:59:59" ],
  "08/03": [ "00:00:00-00:01:00" ],
}

有优雅的方法吗?

0 个答案:

没有答案