Система сбора и обработки данных, Как лучше реализовать структуру |
Здравствуйте, гость ( Вход | Регистрация )
Система сбора и обработки данных, Как лучше реализовать структуру |
Litkevich Yuriy |
25.12.2008, 19:46
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Tonal |
25.12.2008, 20:01
Сообщение
#12
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Немного непонятно, результаты расчётов нужно хранить или только в отчётах показывать/печатать?
Если хранить, то что делать при изменении формул? Если только показывать/печатать, то зачем сервер напрягать? Ну и для языка я бы в любом случае посоветовал бы что-нибудь высокоуровневое - Python например. У него и библиотек много (есть оптимизированные для научных расчётов) и изучение быстрое. Можно JavaScript подцепить - но он тормознее выйдет, и с библиотеками придётся повозится... |
|
|
Litkevich Yuriy |
25.12.2008, 20:12
Сообщение
#13
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Немного непонятно, результаты расчётов нужно хранить или только в отчётах показывать/печатать? расчеты только для отчетов.Если только показывать/печатать, то зачем сервер напрягать? чтобы отчет махом показывался пользователюЕсли хранить, то что делать при изменении формул? я над этим тоже пока голову ломаю. Дело в том что формулы содержат параметры, а они могут менятся. Например кол-во импульсов на кВт*ч для эл.счетчика. однако счетчики иногда выходят из строя и надо ставить новый. Тогда нужно забить новое начальное показание счетчика и его коэффициент. я это дело думаю в историю записывать. А пока делаю так:значения (целочисленный счетчик) пишу в таблицу с данными и штам времени. Затем с помощью ХП беру коэффициент счетчика из таблицы параметров оборудования считаю кВт*ч и пишу полученное значение в доптаблицу+ID данных которым это значение соответствует. |
|
|
Tonal |
26.12.2008, 8:29
Сообщение
#14
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Мне кажется, ты таки зря всё это в сервер пихаешь.
Напиши себе наследника TableModel, который эти преобразования делает налету и будет тебе щастье. Даже если для преобразования будешь использовать какой-нибудь скриптовый движёк тормоза будут заметны только на довольно больших объёмах данных. Кстати, какие предполагаются объёмы отчётов? Какое количество инфы будешь показывать? П.С У меня знакомый делал прогу на VB для обработки и графического отображения некоторых данных. Данные были табличные, в простом текстовом формате по 15мб на файлик. Перед отображением данные обрабатывались пользовательскими скриптами на VBS - скриптовый движёк встроенный в винду. Задержек в отображении не было, хотя масштаб можно было выбирать. Прога разрабатывалась 10-13 лет назад для стандартных на те времена машин. Сообщение отредактировал Tonal - 26.12.2008, 8:29 |
|
|
Litkevich Yuriy |
26.12.2008, 11:01
Сообщение
#15
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Кстати, какие предполагаются объёмы отчётов? Какое количество инфы будешь показывать? сейчас самая потребная форма отчета такая:
т.е. для каждой Т.У. таблица по-часовой статистики за месяц. каждая строка отрачает одини сутки и итог по суткам Напиши себе наследника TableModel, который эти преобразования делает налету и будет тебе щастье. была немного другая мысль, сделать прокси модель и вней всю химию делать, а к ней прицепить представление. Сейчас у меня представление к SQL-модели прицеплено, а сама модель процедуру завёт.
|
|
|
Tonal |
26.12.2008, 11:15
Сообщение
#16
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Т.е для месяца <800 значений. Нужно очень постараться, чтобы на таких объёмах отчёты тормозили.
Хотя, конечно нет предела совершенству Ну а про модель - можно и проксёй, особенно, если нужно отображать и исходные данные и просчитанные. Если только просчитанные, то я бы напрямую из запроса/хп тягал. Хотя, я бы всё равно сделал уровень данных над базой а уж из него отображал модельками простенькими. |
|
|
kuler |
26.12.2008, 11:16
Сообщение
#17
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
ли ты имеешь в виду, что запустить можно на некой соседней машине? в том числе, но и проц может быть многоядерным я над этим тоже пока голову ломаю. Дело в том что формулы содержат параметры, а они могут менятся. Например кол-во импульсов на кВт*ч для эл.счетчика. однако счетчики иногда выходят из строя и надо ставить новый. Тогда нужно забить новое начальное показание счетчика и его коэффициент. этож просто параметры |
|
|
Litkevich Yuriy |
26.12.2008, 11:20
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
уровень данных над базой что значит над базой?Нужно очень постараться, чтобы на таких объёмах отчёты тормозили. я использую вариант который привел в теме FireBird: как преобразовать строки в столбцы?этож просто параметры ну и что, их можно рассматривать как теже оперативные данные, только меняются с другой скоростью (не синхронно)
|
|
|
AD |
26.12.2008, 11:21
Сообщение
#19
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
Tonal |
26.12.2008, 15:06
Сообщение
#20
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Это значит некоторый свой, по возможности, независимый от Qt набор классов и контейнеров для нужных тебе данных и преобразований над ними. Делается GUI, который всё это добро отображает. Далее, делается связь этого добра с базой и/или непосредственно с прибором, чтобы можно было загружать данные. Т.е. ты в GUI ничего не знаешь о том откуда пришли эти данные и знать не хочешь. А при работе с базой тебе поровну что, как и где там будет отображаться. Т.е замена базы или её структуры не затронет GUI. Кроме того, можно вместо гуя делать какие-то другие штуки - например какой-нибудь анализ и кластеризацию без учёта того как устроена база и есть ли она вообще. П.С. Кстати, этот слой и называют "слоем прикладной логики" или "бизнес логики". Сообщение отредактировал Tonal - 27.12.2008, 7:36 |
|
|
Текстовая версия | Сейчас: 15.1.2025, 14:55 |