2011/08/02

電気アラート(続)

電気アラートに関する続きです。

[追記] 新しい情報はSourceForge.jpのプロジェクトサイトにまとめています。

1. 電力会社の更新タイミング


電力会社(東京電力、東北電力、関西電力、九州電力)は5分ごとの使用量データを5分に1回更新していますが、タイムラグを短くしようとすると、この更新をどう追いかけるかが問題になります。

単純に力技でいいなら、より短い間隔でアクセスし続ければ更新を引っ掛けやすくなるわけですが、それはあまりうまくないと思うので、アクセスも5分に1回とすると、そのタイミングが重要になります。

ということで、電気アラートの動作検証と平行して、また自作ソフトで電力会社の更新タイミングを調べた結果が以下です。7/28~8/2の5日間、3秒間隔で更新をチェックしたものですが、ソフトの開発で中断していた時間も長いので、網羅的なものではありません(更新回数は1000回強)。

見てのとおり、東北電力と関西電力は鋭い山が1つだけで、更新タイミングはほぼ固定されています。

九州電力は3つの山ができていて、3つのタイミングがあることが分かります。ただ、どの順番でどのタイミングになるかという法則性は、元の更新時刻を見てもよく分かりませんでした。

で、東京電力は前半に低い山並みができてますが、これには理由があります。例として、7/31の19:00~21:00の更新時刻を挙げます。
東京電力の更新時刻(7/31 19:00~21:00)
CSVファイルが
更新された時刻
(日付 時:分:秒)
5分刻みの
時刻との差
(秒)
UPDATEに
記載された時刻
(日付 時:分)
新しく追加された
データの時刻
(日付 時:分)
2011/7/31 19:01:00602011/7/31 18:552011/7/31,18:55
2011/7/31 19:06:35952011/7/31 19:002011/7/31,19:00
2011/7/31 19:12:061262011/7/31 19:052011/7/31,19:05
2011/7/31 19:17:011212011/7/31 19:102011/7/31,19:10
2011/7/31 19:22:201402011/7/31 19:152011/7/31,19:15
2011/7/31 19:25:21212011/7/31 19:202011/7/31,19:20
2011/7/31 19:30:37372011/7/31 19:252011/7/31,19:25
2011/7/31 19:36:26862011/7/31 19:302011/7/31,19:30
2011/7/31 19:41:36962011/7/31 19:352011/7/31,19:35
2011/7/31 19:47:131332011/7/31 19:402011/7/31,19:40
2011/7/31 19:52:301502011/7/31 19:452011/7/31,19:45
2011/7/31 19:55:18182011/7/31 19:502011/7/31,19:45
2011/7/31 20:00:40402011/7/31 19:552011/7/31,19:55
2011/7/31 20:06:05652011/7/31 20:002011/7/31,20:00
2011/7/31 20:11:37972011/7/31 20:052011/7/31,20:05
2011/7/31 20:17:051252011/7/31 20:102011/7/31,20:10
2011/7/31 20:22:301502011/7/31 20:152011/7/31,20:15
2011/7/31 20:25:19192011/7/31 20:202011/7/31,20:20
2011/7/31 20:30:32322011/7/31 20:252011/7/31,20:25
2011/7/31 20:36:18782011/7/31 20:302011/7/31,20:30
2011/7/31 20:41:37972011/7/31 20:352011/7/31,20:35
2011/7/31 20:46:531132011/7/31 20:402011/7/31,20:40
2011/7/31 20:52:211412011/7/31 20:452011/7/31,20:45
2011/7/31 20:55:13132011/7/31 20:502011/7/31,20:50

更新タイミングは早い時刻から始まって、1回の更新ごとに20~30秒遅れていき、これを5~6回繰り返した後に元に戻るというパターンになっています。かつ、それぞればらつきが大きいので、集計してみると低い山の連続になるというわけです。

また、東北電力、関西電力、九州電力のそれぞれの山の中に谷がありますが、これも理由があって、大まかに休日と平日の差によるものです。

以下は電気アラートのコマンドラインオプションを使って「内部時刻」と「更新状況」を表示させたものです。この「更新状況」は上で使ったソフトのサブセットで、30分間、3秒間隔で更新をチェックします。

これは7/31のものですが、更新タイミング(表中の「差」の列)は大体124秒です。これが8/2になると、

更新タイミングは大体140秒になります。つまり平日は休日より遅くなるわけで、同じ傾向は関西電力、九州電力にも見られ、平日は10~20秒遅くなります。

2. 電気アラートでの対応


以上を考慮して、電気アラートではアップデートのためにアクセスするタイミングを、電力会社ごとのプリセット値として持っています(Ver.0.8.0)。

東北電力の例では、上の7/31の時点では140秒=2分20秒としていて、これは「内部時刻」の「アップデート」の「次回」時刻に反映されています。が、平日は遅くなることが分かったので、下の8/2の時点では150秒=2分30秒に変更しています。

この場合、23:07:17に更新されたデータを23:07:30にアクセスして見に行こうとしている直前で、データの時刻から電気アラートに反映されるまでのタイムラグは2分30秒ということになります。まあ、これほどタイムラグを短くできるのは、データが出てくるのが速く、更新タイミングが安定している東北電力ならではですが。

一方、この更新タイミングがずっと同じかは不明なので、タイムラグがどうも長い……というときは、「更新状況」で更新タイミングを確かめた上で(その間のアクセスが増えるのは目を瞑ってもらうとして)、コマンドラインオプションでアップデートのタイミングを指定することで調整できます。

0 コメント :