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