|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Есть сервер, который примерно каждые 5 получает скриншот с удаленного узла. Связь с удаленным узлом не очень хорошая, поэтому иногда на скриншот уходит 5 секунд, иногда минута-две, иногда скриншот не получается, а иногда связь с удаленным узлом вообще пропадает. Задание на получение скриншота делается по крону, каждые 5 минут. Если скриншот получить не удалось, сервер делает ещё одну попытку. Если и второй раз не удалось, сервер считает, что в данном временном слоте связи с удаленным узлом нет и до следующего запуска задания повторных попыток не производит. Успешные скриншоты нужно подогнать к равномерным интервалам. К примеру в кольцевых БД типа RRD это называется интерполяцией. При этом я хочу обойтись без баз данных. Есть каталог на каждый день, внутри каталога я сохраняю скриншоты, называя их по определенному шаблону, соответствующего каждому 5-минутному интервалу, и на этом я хочу ограничиться. Как можно обеспечить равномерность интервалов? Есть что-нибудь более правильное, чем int(timestamp/300)*300 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2019, 19:41 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Alibek B, что требуется получить, в итоге? Попробуйте сделать асинхронное получение, те агент сам готовит скриншоты в пределах этих 5 минут, а не по команде от сервера, а потом отдаёт те, которые попали в диапазон последний запрос плюс пять минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2019, 21:18 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Удаленный узел это IP-камера, агент на ней не разместить. Мне нужно получить равномерно распределенные скриншоты в течение дня, которые затем будут обрабатываться дополнительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2019, 21:22 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Alibek B.Удаленный узел это IP-камера, агент на ней не разместить. Мне нужно получить равномерно распределенные скриншоты в течение дня, которые затем будут обрабатываться дополнительно. Вариант снять статистику по качеству получения данных в пределах часа/дня/недели/месяца и уже на ее основе выбирать оптимальное время конекта. Я так понимаю там ещё и gsm-модем встроенный и соответственно нно качество обработки будет так-же зависеть от состояния сотовой сети в конкретный момент времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2019, 21:47 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Сомневаюсь, что будет какая-то зависимость. Все зависит от погоды на Марсе, предсказать заранее невозможно. Поэтому я и думаю получать скриншоты примерно каждые пять минут, подгоняя их к границам точных 5-минутных интервалов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2019, 22:51 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Как понял это я. Каждый день создаются каталог, а в нём 5-минутные п/каталоги. Они заполняются по крону кажные 5 мин (если повезёт, и если задержка не превысит 5 мин) Т..о, в конце дня имеется массив 5-мин каталогов, и массив фот. Некоторые каталоги заполнены фотами, нек-ые пустые. Если задержки короткие, то каждое фото попадает в свой каталог. А как хочется? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2019, 23:12 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Alibek B.подгоняя их к границам точных 5-минутных интервалов. Чисто любопытно как ты будешь подгонять изображение ко времени "за минуту до этого"? Если в 12:00 на стоянке взорвалась машина, а у тебя скриншот сделан в 12:01, будешь трассировать обломки чтобы собрать обратно изображение взрывающейся машины?.. Сдаётся мне, что к такой задаче ту не готов, поэтому тупо бери скриншот с отметкой времени, ближайшей к нужному. Надеюсь, на первом курсе института тебя учили программировать циклы нахождения минимального/максимального значения в массиве... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 13:42 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
exp98Каждый день создаются каталог, а в нём 5-минутные п/каталоги. Сейчас никак не сделано, скриншоты просто сохраняются в файлы с шаблоном yyyymmdd-hhnnss. И поскольку nnss у них нерегулярный, то с ними неудобно работать. Я планирую использовать подкаталог для каждого дня, а внутри него сохранять файлы, имя которых будет соответствовать округленному интервалу (приведенному к границам 5-минутного интервала). В сутки это получается 288 интервалов, поэтому в принципе имя файла даже может быть задано в виде ts-### (где ### принимает значение от 000 до 287), но тогда будет проблемой поменять длительность интервала (а я планирую перейти на минутные интервалы, если связь станет лучше). Dimitry SibiryakovНадеюсь, на первом курсе института тебя учили программировать циклы нахождения минимального/максимального значения в массиве... Если подумать головой, то станет ясно, что округление интервалов мне как раз и нужно для того, чтобы не перебирать циклы, а просто вычислить индекс нужного элемента. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 14:21 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Alibek B.Как можно обеспечить равномерность интервалов? Есть что-нибудь более правильное, чем int(timestamp/300)*300 ? Что такое равномерность? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 14:40 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Одинаковый временной интервал между разными скриншотами серии. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 15:48 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Alibek B., авторСейчас никак не сделано, скриншоты просто сохраняются в файлы с шаблоном yyyymmdd-hhnnss. И поскольку nnss у них нерегулярный, то с ними неудобно работать. Я планирую использовать подкаталог для каждого дня, а внутри него сохранять файлы, имя которых будет соответствовать округленному интервалу (приведенному к границам 5-минутного интервала). В сутки это получается 288 интервалов, поэтому в принципе имя файла даже может быть задано в виде ts-### (где ### принимает значение от 000 до 287), но тогда будет проблемой поменять длительность интервала (а я планирую перейти на минутные интервалы, если связь станет лучше). Те надо раскидать по интервалам исходный набор файлов используя название с закодированным timestamp? Тогда Такой алгоритм-пробегаемся в цикле от 0 до 288 с приращением 5 минут и фильтруем весь набор файлов, затем для каждой группы создаём папку с номером интервала и кидаем туда ссылку на исходные Файлы в группе. Пойдёт? Вообще по-идее и Файлы нет необходимости копировать, достаточно сделать файл-индекс с результатом группировки по фиксированным диапазонам ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 21:02 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Alibek B., я не знаю, какие трудности в обработке не равномерных интервалов, может инструмент такой убогий ... Но 1) отличный совет с индексацией 2) к названию файла можно добавить "000", чтобы потом меньше трудностей с меньшим периодом. 3) можно усечённое время в названии, а рядом текстовый файл и внутри него настоящее время (или наоборот), да мало ли как можно исхитряться ещё. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 21:34 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
L.OtujktdВообще по-идее и Файлы нет необходимости копировать, достаточно сделать файл-индекс с результатом группировки по фиксированным диапазонам Да, но это станет проблемой, если я вдруг решу изменить частоту опросов. Поэтому лучше изначально использовать прореженные индексы (в качестве индекса использовать timestamp или индекс 0...1439 в расчете на ежеминутные интервалы). exp98Alibek B., я не знаю, какие трудности в обработке не равномерных интервалов, может инструмент такой убогий Инструмент — шелл-скрипт. Поэтому базы данных нет и индексный текстовый файл тоже не слишком будет удобен. Лучше всего, чтобы имя файла являлось одновременно и индексов. Иначе нужно будет считывать содержимое каталога (список файлов), парсить их имена или отметки времени, сортировать, искать соседей и т.д., что в шелл-скриптах делать неудобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 22:09 |
|
Интерполяция равномерности опросов без БД
|
|||
---|---|---|---|
#18+
Alibek B.L.OtujktdВообще по-идее и Файлы нет необходимости копировать, достаточно сделать файл-индекс с результатом группировки по фиксированным диапазонам Да, но это станет проблемой, если я вдруг решу изменить частоту опросов. Поэтому лучше изначально использовать прореженные индексы (в качестве индекса использовать timestamp или индекс 0...1439 в расчете на ежеминутные интервалы). exp98Alibek B., я не знаю, какие трудности в обработке не равномерных интервалов, может инструмент такой убогий Инструмент — шелл-скрипт. Поэтому базы данных нет и индексный текстовый файл тоже не слишком будет удобен. Лучше всего, чтобы имя файла являлось одновременно и индексов. Иначе нужно будет считывать содержимое каталога (список файлов), парсить их имена или отметки времени, сортировать, искать соседей и т.д., что в шелл-скриптах делать неудобно. Хорошо, сначала генерите индексный файл, а потом делаете софтлинки на группы файлов из файла-индекса , если нужно просто чтение файлов из папок группы. Будет два скрипта и все. Просто и элегантно:) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2019, 22:53 |
|
|
start [/forum/topic.php?fid=16&fpage=9&tid=1339901]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 189ms |
0 / 0 |