Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Вниз"Удобное" хранение данных Найти похожие ветки
← →
Ozone © (2004-07-01 07:14) [0]Пишу так называемую систему видеонаблюдения (через Web-камеры). Т.е. есть куча (~70) клиентов (те у которых на компах стоит камера) и один сервер. Подключаются все, но транслировать могут сразу только четыре (не суть важно). По сети посылаю не видео на "фотографии", ИМХО так быстрее - и сохраняю их на диск у сервера. И соответственно делаю заметку в БД, что такой-то клиент в такое-то время положил фото со своей камеры в то-то место.
Задача:
Теперь нужно написать прогу для удобной работы с ентой самой БД. Т.е. как я себе это представляю - опять-таки слева список клиентов и при нажатии на нужном должен показаться не просто список всех его фоток, а список так называемых "сенсов связи", тыкая на который диспетчеру выводится что-то типа видео (ну т.е. картинки одна за одной).
Дык вот, как зделать выборку этих самых сеансов?
Сеансом я называю картинки от начала трансляции до ее конца.Т.е. диспетчер может включить одного клиента, посмотреть 5 минут и выключить - вот это есть один сеанс. Потом он может других посмотреть какое-то время, а потом опять вернуться к тому же клиенту и опять некоторое время посмотреть его. Это уже будет второй сеанс.
На крайний случай думаю добавть еще одно поле в таблицу с номером сеанса для каждого клиента, но с этим тоже есть свои заморочки.
В базе есть поля:
1. ID клиента
2. Путь к фото
3. Время
(то на одно время (чч.мм.сс) приходится ~6-8 фото для одного клиента)
Может у кого родилась какая-нить мудрая мысль на данную тему?
Межет я вообще что-то неправильно делаю?
← →
Наталия © (2004-07-01 08:12) [1]Если я правильно поняла, то диспетчер управляет этими сеансами. Тогда я бы завела ещё одну таблицу, куда бы записывала эти сеансы. Например,
id сеанса, id клиента, дата/время начала сеанса, дата/время окончания сеанса.
Выборку из таблицы с фото делала бы так:select f.* from table_foto f,table_session s
where f.id_client=s.id_client
and f.time between s.time_start and s.time_end
← →
Ozone © (2004-07-01 08:24) [2]Наталия © (01.07.04 08:12) [1]
Ну если уж юзать все-таки номера сеансов, то ИМХО никакой таблицы не надо, просто как я уже говорил - добавить новое поле (что-то типа SeansNumber) и делать выборку
select * from photos
where (ClientID = ...) and (SeansNumber = ...)
← →
Наталия © (2004-07-01 08:39) [3]Здесь смысл не в том, чтобы добавить суррогатный идентификатор, а в том, чтобы можно было идентифицировать сам сеанс. То есть главное в фиксации границ сеанса (будь то временной интервал начало/окончание либо суррогатный идентификатор).
← →
Ozone © (2004-07-01 08:47) [4]Наталия © (01.07.04 08:39) [3]
Просто я буду терять время в таком случае.
Вот, например, включили одного - добавили запись в новую таблицу с датой/временем начала сеанса. Смотрим... Решили отключить => нужно тратить время на обновление записи о сеансе (т.е. добавить время окончания)...
Ну а так, идея хорошая. Подумаю. Спасибо.
← →
Наталия © (2004-07-01 09:06) [5]Я бы добавляла полностью сформированную запись при окончании сеанса. Insert много времени не займет.
← →
Ozone © (2004-07-01 09:08) [6]Наталия © (01.07.04 09:06) [5]
Ну можно и так :-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c