我使用 Django 1.10,Python 2.7,和 SQLite3 来构建一个跟踪对象状态及最后状态的Web应用程序改变。
例如,每24小时,用户将导入一个主机的开放端口列表(如下所示):
05/01/2017
==========
Host Open-Ports
123.45.67.89 22, 80, 443
... ...
一个端口(或多个端口)可能会关闭一天:
05/02/2017
==========
Host Open-Ports
123.45.67.89 443
... ...
我希望我的Django应用程序显示这些数据:
IPv4
123.45.67.89
Ports
22 [Closed on 05/02/2017]
80 [Closed on 05/02/2017]
443 [Open]
跟踪端口状态的最有效方法是什么?
目前,我有一个主机型号,其中包含以下字段:
我应该添加哪些新字段(及其类型)来实现此目标?
此信息将存储在 SQLite3 数据库中。
我的SQL表应该如何设置?我应该如何比较日期以了解何时关闭港口?我今天需要两张桌子存储信息吗?昨天还有吗?
可能有100,000多台主机,所以我需要尽可能优化这种方法。
谢谢!
澄清:
我需要保留关闭端口的日期。 所以,如果在第三天,我们有:
05/03/2017
==========
Host Open-Ports
123.45.67.89 22, 443
... ...
然后我们会看到:
IPv4
123.45.67.89
Ports
22 [Open]
80 [Closed on 05/02/2017]
443 [Open]
80号港口仍然表示已于2017年2月5日关闭。