【发布时间】:2008-12-23 16:28:08
【问题描述】:
目前,我正在开展一个项目,以管理服务器等数据库上的维护窗口。基本上,我只需要精确到小时,但允许将它们设置为允许或禁止,一周中的每一天。
我对如何做到这一点有一些想法,但由于我自己工作,我不想在没有反馈的情况下承诺任何事情。
为了形象化,它类似于流动的“图表”
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
-------------------------------------------
5AM |allow|allow|allow|deny |deny |allow|allow|
-------------------------------------------
6AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
7AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
8AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
9AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
... etc...
有没有标准的方法或资源可以给我一些想法......
- 制作可以轻松保存和恢复的格式
- 使其可在数据库中搜索(例如,无需反序列化即可搜索时间)
[更新]
值得一提的是,即使不太可能,也可以将一天设置为“允许、拒绝、允许、拒绝……等等……”。不保证跨度是一整天的唯一跨度。
这也不是唯一的时间表,数百台设备每个都有自己的时间表,所以会很麻烦...哈哈??
Rob 询问是否需要每周跟踪 - 不需要。这是适用于全年的通用时间表(定期维护)
【问题讨论】:
-
您需要跟踪一年中的每一周,还是这只是一个通用一周的配置表?
-
在我看来,您需要旋转该表,因为如果您想获取某一天的所有小时数,则需要返回 24 行,而没有简单的方法可以将数据放在 WHERE 位置。在我看来,7 行 24 列更有意义,1 行可以为您提供给定一天的所有时间。
标签: database datetime data-structures timespan