|
|
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть задача: множество телевизионных каналов, для каждого нужно хранить все отрезки времени, в которые он вещает. Т.е. например в зимний сезон он работает с 06:00 до 23:30 с вс по чт и с 08:00 до 03:00 в пятницу и субботу. А летом совсем другое расписание. А в праздники - третье. А вот такого-то числа профилактика и вообще с 12 до 18 не работает канал. А тут послание президента в прямом эфире и канал срочно изменил расписание и выключился не в 23:30, а когда закончилось послание. Никто наперёд не знал, когда это будет. Как организовать хранение такого расписания в БД наиболее оптимально? Чтобы было удобно задавать, хранить, менять? И чтобы удобно было анализировать в работе потом и кэшировать. Как вариант - конфигурировать поудобнее, а в БД потом хранить все итоговые промежутки работы канала. Т.е. таблица с двумя полями - начало, конец. И для каждого дня запись. Конфигурируем красиво и удобно, потом размножаем по всем дням и правим, в случае необходимости. Подскажите хорошие варианты. Всем заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 16:38 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
junixar Подскажите хорошие варианты. . регистрировать только изменения состояний tblChangeChanellState ChangeStateID - PK ChanellCode - FT к таблице каналов ChangeDateTime - Дата и время изменения состояния ChanellState - состояние - тип изменения "включился"/"выключился" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 17:44 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
Так расписание задаётся наперёд, а не просто регистрирует то, что уже случилось. Оно может быть задано на несколько месяцев вперёд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 17:48 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
junixarТак расписание задаётся наперёд, а не просто регистрирует то, что уже случилось. Оно может быть задано на несколько месяцев вперёд. во первых - это утверждение не делает предложенную схему неприменимой, во вторых - требование планировать наперед противоречит условиям в первом ТЗ (типа канал срочно поменял сетку под выступления президента или ушел на профилактику) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 17:51 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
proposed amendmentjunixarТак расписание задаётся наперёд, а не просто регистрирует то, что уже случилось. Оно может быть задано на несколько месяцев вперёд. во первых - это утверждение не делает предложенную схему неприменимой, во вторых - требование планировать наперед противоречит условиям в первом ТЗ (типа канал срочно поменял сетку под выступления президента или ушел на профилактику) Полностью согласен, описанный подход применим. Но удобен ли он потом в работе? Как будет выглядеть анализ работы канала в заданное время? Найти максимально приближенную строку с меньшим временем и определить, что канал был в этой строке включен? А как продлить ранее запланированную работу? Сделать ещё одну запись после окончания работы о возобновлении и потом снова об окончании? Условия не противоречивые: есть планирование вперёд, есть возможность и в последний момент изменить время работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 19:57 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
junixarА как продлить ранее запланированную работу? Сделать ещё одну запись после окончания работы. за стыдливым оксюмороном "продлить ранее запланированную работу" скрывается не самая тривиальная задача работы с расписанием... если это курсовик - перечтите внимательнее методичку и посоветуйтесь с преподом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 20:06 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
junixarСделать ещё одну запись после окончания работы о возобновлении и потом снова об окончании? не совсем - тут есть свои тонкости при работе с интервалами. но именно работая с соотояниями On|Off их будет проще обойти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 20:37 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
Не очень понимаю, почему общение идёт в духе провинившийся ученик против всезнающего профессора. Если нет желания подсказать - не надо. Это не курсовик, а реальный проект. Подсказки в духе - "не совсем так, там есть свои тонкости..." (которые я полагаю надо искать в вашей методичке, профессор) - мало полезны. Спасибо за старание, господин профессор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 00:49 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
junixarНе очень понимаю, почему общение идёт в духе провинившийся ученик против всезнающего профессора. Если нет желания подсказать - не надо. Это не курсовик, а реальный проект. Подсказки в духе - "не совсем так, там есть свои тонкости..." (которые я полагаю надо искать в вашей методичке, профессор) - мало полезны. Спасибо за старание, господин профессор. Отвечу за профессора. :-) Вы хотите, чтобы за Вас сделали всю работу. Хочу, чтобы все было за.. хорошо! Тогда платите! Сколько Вы готовы предложить? Хотите, чтобы Вам помогли - выложите свой вариант, получите конструктивную критику. Или задайте конкретный вопрос. ЗЫ Сорри за офф. :-) ЗЗЫ Не офф. Погуглите "расписание". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 08:25 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
Да, конечно. Пока вижу такой вариант: изначально пользователь задаёт расписание в следующем мастере: период работы канала по данному расписанию - время и дата начала периода - время и дата окончания периода; точное время работы канала на каждый день недели в этой периоде. Если время работы в каждый день одно и тоже, то интерфейс предусматривает возможность указать это и задать время один раз, без copy/paste на 7 дней; кроме того предусмотрена возможность указать, что канал круглосуточный и не задавать никаких времён; далее, пользователь может явно задать промежутки, в которые канал не работает, типа профилактики. Всё, после этого пользователь нажимает ОК и в БД всё сохраняется в следующем виде: родительская таблица канал, у неё дочерняя таблица - расписание, в которой хранится отрезок времени, в который будет действовать данное расписание с указанием типа - круглосуточный, ежедневный и т.п. И таблица, дочерняя для канала, в которой явно забиты все промежутки работы канала. Если канал круглосуточный - то один промежуток, на весь период действия расписания, если дневной, то промежутки на каждый день. Промежутки не должны пересекаться. Всё. В работе определение того, работает канал или нет - делается через единственную третью таблицу. Если нужно изменить в последний момент расписание на день, продлив работу канала, то изменяется только одна запись. Если нужно добавить перерыв в вещание - то добавляется одна запись и одна запись меняется. Вторая таблица нужна, чтобы потом редактировать расписание и видеть, как его задавали изначально. Буду благодарен за критику и советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 09:46 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
junixarБуду благодарен за критику и советы. коллега, я никак не хотел демонстрировать модель дискуссии ученик-профессор. уверяю. касательно вашей задачи, совет мой будет таков. не начинайте работу над этим проектом в части физической реализации до тех пор пока не поймете точно и ясно математические и логические алгоритмы работы с интервалами... обратите внимание на пример на картинке внизу - дано четыре графика (графики условные и телетрансляции не относятся - вообще-то это частотный выход микроконтроллера) Однако предположим что нижний это сутки - интервал между срезами 12 часов второй снизу это прайм-там – интервал 4 часа, приходящийся на самое «лучшее время» второй сверху это сетка рекламных блоков – регулярно в течение суток верхний это сетка сериала «моя прекрасная няня» попробуйте описать математическую (логическую) модель, которая изменит сетку вещания и поставит в сетку детскую передачу так, чтобы: Код: plaintext 1. 2. 3. работа с интервалами и диапазонами требует другой степени понимания, чем вы продемонстрировали... ну а уж когда разберетесь с моделью – тогда и приступайте к ее реализации на уровне с которгого вы сейчас начали: junixar изначально пользователь задаёт расписание в следующем мастере: сейчас вы просто тратите время впустую и задаете слишком общие вопросы на которые либо невозможно точно ответить либо слишком долго придется объяснять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 11:41 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
> когда разберетесь с моделью В данном случае модель будет определяться областью применения базы данных. Если нужно верстать ТВ-программу - это один вариант реализации, если мониторить рекламу - другой, если планировать сетку вещания - третий и т. д. Причем, в любом случае интервалы абсолютно естественны, важны их границы, группировка и классификация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 13:12 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
Всем спасибо большое за ответы. В задаче, которую я решаю, не нужно знать, что конкретно когда вещается. Система отслеживает только параметры вещания сигнала, физические параметры. Поэтому нужно знать только когда канал что-то вещает и когда вещания не ведётся в принципе. Ничего более. Может конечно я не правильно понимаю, но вроде в таком случае задача упрощается. Ещё вариант, который мне предложили: конфигурировать периоды невещания канала по дням недели и более приоритетные периоды невещания, которые могут быть в праздники, при профилактике и т.п. Заранее огромное всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 14:06 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
junixar Может конечно я не правильно понимаю, но вроде в таком случае задача упрощается. да. упрощается. кстати - мониторить работу канала можно в режиме реального времени - по характеру сигнала. и можно сразу писать изменения в таблицы, сравнивать с назначенными заданиями, давать алармы и т.п. в общем случае ваша задача легко ложится в MS Project - диаграмма Ганнта, попробуйте. чего велосипеды-то изобретать. попробуете поработать в рамках существующих парадигм - реализованных в шедулерах потом можете построить свои инструменты, если требуется что-то особенное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 14:13 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
> Система отслеживает только параметры вещания сигнала, физические параметры Для какой цели тогда Вы упоминали об изменении сетки вещания? Передатчику как бы фиолетово, что транслировать. ;) У Вашей задачи простое решение. Видимо, понадобится регистрировать параметры лицензии на вещание и фактический график работы передатчика. Профилактические работы, насколько я знаю, тоже регламентированы. Почему я сказал об области применения: Вы вряд ли получите, скажем, график тех же профилактических работ, если не имеете отношения к каналу или техническим службам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 14:18 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
guest_20040621В данном случае модель будет определяться областью применения базы данных. если под областью применения подразумевается (по логике фразы with OR) верстать мониторить планировать то это не совсем область применения - наверняка в большинстве областей применения приходится делать все перечисленное одновременно (with AND) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 14:24 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
> если под областью применения Меня не нужно поправлять. Нужно стараться понять, почему я сформулировал проблему так, а не иначе. Подумав, Вы придете к аналогичному выводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 14:33 |
|
||
|
Как лучше хранить расписание (начало-конец) работы ТВ канала?
|
|||
|---|---|---|---|
|
#18+
guest_20040621Меня не нужно поправлять. я и не поправлял - я сделал ремарку, причем выделил ее серым... не нужно взбракивать попусту. я пришел к выводу, что проблему вы сфорулировали таким образом потому, что вам просто захотелось ее так сформулировать... угадал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 16:02 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=90&tid=1543316]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
130ms |
get topic data: |
8ms |
get forum data: |
4ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 464ms |

| 0 / 0 |
