Система сбора и обработки данных, Как лучше реализовать структуру |
Здравствуйте, гость ( Вход | Регистрация )
Система сбора и обработки данных, Как лучше реализовать структуру |
Litkevich Yuriy |
25.12.2008, 13:27
Сообщение
#1
|
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
с лета никак не определюсь как должна быть устроена система.
Итак, есть море оборудования, на них датчики. С датчиков собирается информация и акумулируется в БД (FireBird). На клиентских машинах (их может быть очень много) стоит прога (назовем её клиент). С клиента всю ситему можно настривать (какие датчики опрашивать, параметры оборудования задавать и т.п.), и получать отчеты о работе оборудования (т.е. история изменения параметров, история показаний датчиков). Отчеты в общем случае одинаковые, то есть почасовое состояние оборудования (например, сигналов с датчиков), но формулы расчета разные зависят от типа датчиков и оборудования. Текущая структура выглядит так: Хочется сделать так, чтобы пользователь мог в водить формулы расчета для заданного параметра. Но пока они жестко зашиты и вся обработка данных (разные расчеты, подготовка промежуточных результатов для отчетов) ведется в нутри БД с помощью тригеров, а при запросе с клиента еще и ХП'шки подключаются к этому процессу, досчитывая/выбирая необходимые данные. последний факт приводит к тормозам на стороне клиента. Собирать отчетные данные помере сбора данных годится только для данной конкретной обстановке (определяемой настройками оборудования). Вот я думаю заменить на этой схеме желтый квадратик либо на приложение, которое будет принимать события от БД (уведомления) заниматся расчетами и складывать в некую выходную таблицу, либо на UDF'ку, которая будет вызыватся тригером делать расчет, а тригер будет помещать результат в некую выходную таблицу. Т.е. вынести прикладную часть (т.н. бизнес логику) Может у кого есть мысли по этому поводу, а то и вовсе опыт создания подобных систем? |
|
|
||
kuler |
25.12.2008, 15:35
Сообщение
#2
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
да. Например для расчета потребления эл.энергии для заданной точки учета (далее Т.У.) из таблицы эл.счетчиков берется параметр счета (кол-во импульсов на кВт*ч) и считается кВт*ч. Для другого типа Т.У. свой расчет. ну это бизнес правила, если они простые то ничего страшного что они в ХП, если тяжелые то конечно нада вытаскивать. А ввод формулу расчета юзером - фактически это заставление юзера программить, ведь это получается чтото типа запроса. Нужно только если таких формул может быть неограниченное или очень большое число |
|
|
Текстовая версия | Сейчас: 15.1.2025, 14:37 |