Измерение статистики в симуляции Java
У меня есть группа узлов, которые отправляют измерения на сервер начальной загрузки. В конце я хочу, чтобы сервер начальной загрузки суммировал все измерения и записал их в файл. Одним из способов сделать это является перезапись данных в файл каждый раз, когда принимается сообщение об измерении (после суммирования текущих измерений). Но это было бы очень неэффективно. Я хочу сохранить данные измерений и записать их в файл только один раз после завершения моделирования.
Но проблема в том, что код симулятора, который я использую, не находится под моим контролем, это библиотека, которую я использую. Таким образом, я не могу сказать, когда именно заканчивается симуляция (и, следовательно, я не могу сказать, какое сообщение измерения будет последним).
Я наивно пытался сохранить данные измерений в статическом классе, но эти данные не доступны, когда моделирование завершается. Есть ли другой способ, которым я могу сделать это?
Спасибо,
2 ответа
Я бы нашел последнее сообщение, используя тайм-аут.
Запишите на диск, если у вас есть новые данные, но вы ничего не получили какое-то время, например, секунду.
Если вы не можете сохранить нужные данные в процессе (что, по-видимому, невозможно, так как статический класс вышел из строя), вам нужно сохранить данные другим способом. Для файла на диске это один вариант, а другой распространенный вариант - для базы данных.