|
|
|
Хранение дат для планировщика заданий
|
|||
|---|---|---|---|
|
#18+
Есть задача создать планировщик заданий. Существуют периодические и непериодические задания. Периоды могут быть различными, от часов до месяцев. Так же должны учитываться рабочие и праздничные дни. Заданий будет не много, планируется порядка 600-800 заданий в год. Думал как можно решить эту задачу: первый вариант: самый простой это хранение строки в определенном формате, далее программно разбивать строку... второй вариант: хранение периодических дат и непереодических в различных таблицах. Правда я пока не совсем представляю как унифицировать периодические даты с различным периодом. Так же не знаю как тогда создавать отношения в таблицах. С одной стороны можно события хранить вместе с периодами в отдельных таблицах, а с другой стороны можно события хранить в одной таблице а периоды вдругой. Наверняка многие сталкивались с подобной проблемой, подскажите варианты решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 08:13 |
|
||
|
Хранение дат для планировщика заданий
|
|||
|---|---|---|---|
|
#18+
crazybarsЕсть задача создать планировщик заданий. Существуют периодические и непериодические задания. Периоды могут быть различными, от часов до месяцев. Так же должны учитываться рабочие и праздничные дни. Заданий будет не много, планируется порядка 600-800 заданий в год. Думал как можно решить эту задачу: первый вариант: самый простой это хранение строки в определенном формате, далее программно разбивать строку... второй вариант: хранение периодических дат и непереодических в различных таблицах. Правда я пока не совсем представляю как унифицировать периодические даты с различным периодом. Так же не знаю как тогда создавать отношения в таблицах. С одной стороны можно события хранить вместе с периодами в отдельных таблицах, а с другой стороны можно события хранить в одной таблице а периоды вдругой. Наверняка многие сталкивались с подобной проблемой, подскажите варианты решения Выскажу свое ИМХО: 1. Должен быть базовый период. Все остальные периоды должны через него выражаться при помощи коэффициентов. Например: базовый период = 1 минута. Тогда период = 1 час будет 60 периодов по 1 минуте (коэффициент = 60). 2. Отличие задания периодического от непериодического можно сделать при помощи задания значения в специальном поле в таблице получаем примерно следующую схему БД: Задания(ID, дата/время начала, Описание, признак Периодического задания, ID периода, количество периодов до повторения задания) Периоды(ID, наименование,признак базового периода,коэффициент) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 08:35 |
|
||
|
Хранение дат для планировщика заданий
|
|||
|---|---|---|---|
|
#18+
Станислав С...кий получаем примерно следующую схему БД: Задания(ID, дата/время начала, Описание, признак Периодического задания, ID периода, количество периодов до повторения задания) Периоды(ID, наименование,признак базового периода,коэффициент) А можно сделать так (более нормализованные таблицы): Все_Задания(ID, дата/время начала, Описание, признак Периодичности задания) Периоды(ID, наименование,признак базового периода,коэффициент) Периодические_Задания(ID задания, ID периода, количество периодов до повторения задания) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 08:39 |
|
||
|
Хранение дат для планировщика заданий
|
|||
|---|---|---|---|
|
#18+
crazybarsНаверняка многие сталкивались с подобной проблемой, подскажите варианты решения1. Создавать отдельную таблицу для периодических и непереодических - не стоит. 2. Посмотрите как устроены планировщики в разных ОС и БД. Я бы ориентировался на их опыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 12:04 |
|
||
|
Хранение дат для планировщика заданий
|
|||
|---|---|---|---|
|
#18+
Этот вопрос уже обсуждался на одном из форумов. Посмотри как реализованы таблицы для планировщика заданий в SQL Servere. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 12:46 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=98&tid=1543660]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 393ms |

| 0 / 0 |
