Главная страница
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.035 c
1-1089478690
Delphi5.01
2004-07-10 20:58
2004.07.25
Prostoi vopros po povodu FileStream, CopyFrom! :-)


14-1089103426
Somebody
2004-07-06 12:43
2004.07.25
FB глючит


3-1088678038
Lord
2004-07-01 14:33
2004.07.25
Delphi6-StringGrid


14-1089178875
Мазут Береговой
2004-07-07 09:41
2004.07.25
Расскажу я вам сказку...


11-1077962642
ALeX.B.
2004-02-28 13:04
2004.07.25
Вопрос по Меmo и RichEdit.