[Devel] Информация для DBServer'а
Pavel Vaynerman
vpashka на gmail.com
Чт Сен 16 20:32:55 MSD 2010
> Компромисс, при этом будет таким. По умолчанию, значение поля confirm
> равно NULL. DBServer при отправке в базу проверяет нет ли
> необходимости квитирования датчика по configure.xml (если это тяжёлая
> операция, то вовремя загрузки делаем std::map<ObjectID,bool>). Если
> квитирование требуется, то указываем время как -1. Далее UPDATE, если
> приходит сообщение от журнала, меняет значение confirm на время
> потдверждения по ключу датчик:время (нужно индексы в базе включить для
> быстрого доступа).
>
> Все записи в базе с confirm = -1 отражают по каким-либо причинам не
> заквитированные оператором сообщения.
---
Если вспомнишь наше обсуждение, то мой подход был немного в другом..
Должна быть сделана отедльная таблица с информацией о том, какие датчики-
значения требуют квитирования.. Это статическая информация, парсится из
configure, ровно так же как и Actions,Messages и т.п.
----
Если необходимо просмотреть все незаквитированные сообщения, то соответственно
идёт (типичный) щапрос к двум таблицам и вынимаются записи которые есть
в Confirm(Table) (key=value) и у которых при этом confirm=NULL.
----
При этом не нужно делать по умолчанию NULL, а потом менять на -1..
Зачем..
------
Смысл в всё в том же, чтобы DBServer не занимался никакими обработками
квитирования. Его задача проста - получил SensorMessage и сохранил в DB.
Никакой обработки или логики..
-------
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.etersoft.ru/pipermail/devel/attachments/20100916/013bf1ae/attachment.html>
Подробная информация о списке рассылки Devel