Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1089638173
Alkmas
2004-07-12 17:16
2004.07.25
Как узнать о состоянии процесса ?


14-1089106366
infom
2004-07-06 13:32
2004.07.25
Как вы считаете должно проводится устройство на работу


3-1088680083
Zheka
2004-07-01 15:08
2004.07.25
база и проект


1-1089621067
denis24
2004-07-12 12:31
2004.07.25
Процедура генерации случ строки.


14-1089017648
Dmitriy O.
2004-07-05 12:54
2004.07.25
А как Вы закончили программировать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский