Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

"Удобное" хранение данных   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-1089723117
RedLord
2004-07-13 16:51
2004.07.25
установка RX Library 2.75 для Delphi 7


3-1088579887
YurikGL
2004-06-30 11:18
2004.07.25
Транзакции в IB


14-1089103498
PVOzerski
2004-07-06 12:44
2004.07.25
MySQL + Apache - Аппаратные требования к компу.


1-1089357876
cvg
2004-07-09 11:24
2004.07.25
почему нет STEP в цикле FOR???


14-1088752863
МТС-ник
2004-07-02 11:21
2004.07.25
unlimited GPRS