crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Система сбора и обработки данных, Как лучше реализовать структуру
Litkevich Yuriy
  опции профиля:
сообщение 25.12.2008, 13:27
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


с лета никак не определюсь как должна быть устроена система.
Итак, есть море оборудования, на них датчики. С датчиков собирается информация и акумулируется в БД (FireBird). На клиентских машинах (их может быть очень много) стоит прога (назовем её клиент). С клиента всю ситему можно настривать (какие датчики опрашивать, параметры оборудования задавать и т.п.), и получать отчеты о работе оборудования (т.е. история изменения параметров, история показаний датчиков).
Отчеты в общем случае одинаковые, то есть почасовое состояние оборудования (например, сигналов с датчиков), но формулы расчета разные зависят от типа датчиков и оборудования.

Текущая структура выглядит так:
Прикрепленное изображение

Хочется сделать так, чтобы пользователь мог в водить формулы расчета для заданного параметра. Но пока они жестко зашиты и вся обработка данных (разные расчеты, подготовка промежуточных результатов для отчетов) ведется в нутри БД с помощью тригеров, а при запросе с клиента еще и ХП'шки подключаются к этому процессу, досчитывая/выбирая необходимые данные. последний факт приводит к тормозам на стороне клиента.
Собирать отчетные данные помере сбора данных годится только для данной конкретной обстановке (определяемой настройками оборудования).

Вот я думаю заменить на этой схеме желтый квадратик
либо на приложение, которое будет принимать события от БД (уведомления) заниматся расчетами и складывать в некую выходную таблицу,
либо на UDF'ку, которая будет вызыватся тригером делать расчет, а тригер будет помещать результат в некую выходную таблицу.
Т.е. вынести прикладную часть (т.н. бизнес логику)

Может у кого есть мысли по этому поводу, а то и вовсе опыт создания подобных систем?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 25.12.2008, 15:52
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kuler @ 25.12.2008, 18:35) *
А ввод формулу расчета юзером - фактически это заставление юзера программить, ведь это получается чтото типа запроса
несовсем так. Положим в вели еще Т.У. подключили физически. Юзер, в данном случае инженер заказчика, в водит формулу типа:
физТУ = К1ТУ*счетчикТУ

где:
физТУ - физическое значение Т.У.
счетчикТУ - значение счетчика данной Т.У. принятое из оборудования
К1ТУ - некий параметр пересчета который берется из сво-ств Т.У.

и далее пользователи (уже не только инженер) видят понятные для них цифры (литры, килограммы, кВт*ч и т.п.).
пока оперируем только примитивными расчетами и внутри БД. Но будут нужны и более серьезные, в том числе интегрирование и диференцирование.

Мне хочется понять 2 вещи
1) писать ли UDF, которая и распарсит формулу и посчитает, и использовать ее в нутри БД
или собственное приложение, которое будет работать по событиям из БД.
2) проводить расчет помере поступления данных и складывать в доптаблицу (при этом в базе появляются дополнительные данные) или
проводит расчет по запросу пользователя (т.е. формировать отчет ).

Есть такой нюанс. Данные нужно хранить 5 лет. Т.е. их будет много. Наша старая система №1 (Железо + ПК с Paradox'ом) обслуживает свыше 700 Т.У. Ситсема №2 (Железо + ПК с FireBird'ом) около 80 Т.У. И первая задача заместить старую систему №1, затем №2 (т.е. они буду единым целым), а затем наращивать кол-во Т.У. (~ до 2500 Т.У.)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Litkevich Yuriy   Система сбора и обработки данных   25.12.2008, 13:27
- - kuler   возможно такая вещь называется трехзвенная система...   25.12.2008, 14:07
- - AD   Собственно говоря, система анализа послеполетной и...   25.12.2008, 14:08
- - Litkevich Yuriy   Цитата(kuler @ 25.12.2008, 17:07) зашиты ...   25.12.2008, 14:25
|- - AD   Лучше все промежуточные расчеты вынести из СУБД в ...   25.12.2008, 14:44
- - kuler   Цитата(Litkevich Yuriy @ 25.12.2008, 14:2...   25.12.2008, 15:35
- - Litkevich Yuriy   Цитата(kuler @ 25.12.2008, 18:35) А ввод ...   25.12.2008, 15:52
- - kuler   Цитата(Litkevich Yuriy @ 25.12.2008, 15:5...   25.12.2008, 18:37
- - Litkevich Yuriy   Цитата(kuler @ 25.12.2008, 21:37) с какой...   25.12.2008, 19:11
- - kuler   Цитата(Litkevich Yuriy @ 25.12.2008, 19:1...   25.12.2008, 19:41
- - Litkevich Yuriy   Цитата(kuler @ 25.12.2008, 22:41) дык он ...   25.12.2008, 19:46
- - Tonal   Немного непонятно, результаты расчётов нужно храни...   25.12.2008, 20:01
- - Litkevich Yuriy   Цитата(Tonal @ 25.12.2008, 23:01) Немного...   25.12.2008, 20:12
- - Tonal   Мне кажется, ты таки зря всё это в сервер пихаешь....   26.12.2008, 8:29
- - Litkevich Yuriy   Цитата(Tonal @ 26.12.2008, 11:29) Кстати,...   26.12.2008, 11:01
- - Tonal   Т.е для месяца <800 значений. Нужно очень поста...   26.12.2008, 11:15
- - kuler   Цитата(Litkevich Yuriy @ 25.12.2008, 19:4...   26.12.2008, 11:16
- - Litkevich Yuriy   Цитата(Tonal @ 26.12.2008, 14:15) уровень...   26.12.2008, 11:20
- - AD   Цитата(Litkevich Yuriy @ 26.12.2008, 11:2...   26.12.2008, 11:21
- - Tonal   Цитата(Litkevich Yuriy @ 26.12.2008, 14:2...   26.12.2008, 15:06


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 14:52