1

私は 4 つのウェブ電源スイッチを持っており、それぞれに 8 つのリモート制御可能な電源コンセントがあり、合計で 32 の電源コンセントがあります。各コンセントに接続された被試験デバイスがあります。テスト対象のこれらのデバイスはネットワーク化されており、SSH を備えています。2 分以内に起動するように設計されていますが、開発中のプロトタイプであるため、起動に最大 10 分かかる場合があります。また、ランダムにクラッシュしたり、フリーズしたり、応答しなくなったりする傾向があります。

デバイスを電源コンセントにマッピングする、信頼性が高く、効率的で、自動化された方法を探しています。私の現在の方法は信頼性が高く自動化されていますが、かなり遅いです:

turn off all outlets
for each outlet:
    turn outlet on
    wait ten minutes
    try to connect to all devices
    store all responsive devices in a list
    turn the outlet off
    try to connect to the devices in the responsive list
    if any are no longer responsive, map them to this outlet
turn on all outlets

計算すると、アウトレットごとに約 10 分かかり、10 分 x 32 は 320 分、つまり 5 時間以上かかります。もっといい方法があればいいのにと思うのですが、思いつきませんでした。

4

2 に答える 2

2

アウトレットには 0 から 31 までの番号が付けられていると仮定します。

最初の試行: 奇数番号のコンセントをすべてオンにし、どのデバイスが応答しているかを確認します

2 回目の試行: 番号のバイナリ表現で 2 番目に 1 があるすべてのアウトレット (つまり、2、3、6、7、10、11、...) をオンにします。

3 回目の試行: 番号の 2 進数表現 (つまり、4、5、6、7、12、13、14、15、...) の 3 番目に 1 があるすべてのコンセントをオンにします。

...

5 回目の試行: 番号が 16 以上のコンセントをすべてオンにする

これで、いくつかの試行ですべてのデバイスが応答しました。結果を 2 進数で書き直すと、アウトレットの番号が得られます。

たとえば、デバイスが try 5、3、2 でアクティブで、4 と 1 で非アクティブだった場合、10110 が得られます。これは 22 です。したがって、このデバイスはコンセント 22 に接続する必要があります。

于 2013-02-06T17:18:48.113 に答える
1

ノート:

  • これは楽観的なアプローチであり、デバイスの動作が改善されるほど、より速く、より適切に動作します。
  • I have a device under test connected to each outlet.アウトレットとデバイスの1:1のマッピングがあるという事実(あなたが述べているように)を使用しています

このシーケンスは基本的にあなたのシーケンスを逆にします。そのようにすると、サイクルごとに 10 分間 (最大) 1 回待つ必要があるためです。以下を参照してください。

turn on all outlets
wait for all devices to become active for up to ten minutes
   (but interrupt waiting once you see a number of devices corresponding 
    to the number of outlets turned on)
store responsive devices
for each outlet:
    turn outlet off
    try to connect to all devices remaining on the responsive list
    if any are no longer responsive, map them to this outlet

おそらく、まだマップされていないデバイスとアウトレットのリストが作成されることになるため、アウトレットがなくなるまで、または時間がなくなるまで、マップされていないアウトレットのみを使用してこのサイクルを繰り返すことができます。

したがって、最良の場合 (すべてのデバイスが正常に起動する場合)、テストは 2 分強で終了します。

于 2013-02-06T17:57:43.857 に答える