[Devel] Информация для DBServer'а

Pavel Vaynerman vpashka на gmail.com
Вт Сен 14 21:37:17 MSD 2010


Вторник 14 сентября 2010, Ilya Shpigor написал:
> Единственное решение, которое вижу - это сделать специальный виджет,
И какой смысл, если этот виджет и есть журнал..?!
Вообщем см. ниже..
> который бы пересылал DBServer'у необходимую информацию обо всех
> сработавших датчиках и квитировании.
Вообще-то раньше механизм зенесения информации о квитировании был такой:

1. DBServer пишет в базу все изменения по датчикам (и знать не должен ни о 
каком квитировании.. т.к. это не его дело.)
2. При этом по этим же изменениям (SensorMessage) журнал формирует сообщения 
на экране (т.е. у него так же информация id,время и т.п.)
3. О квитировании знает только журнал, т.к. только в нём известно
какое именно сейчас сообщение требует квитирования 
(т.е. какое именно сейчас читает оператор).
Поэтому он посылал специальное сообщение ConfirmMessage DBServer-у,
в котором передавалась информация (id, время срабатывания, тип сообщения и 
т.п.), того датчика который квитируем..
По этой информации DBServer делал
UPDATE confirm_time='confirm.time'... WHERE id=confirm.id AND 
time=confirm.time AND time_msec=confirm.time_msec AND type=confirm.type
Это конечно "псевдокод" запроса, но смысл в том, что, что для внесения 
информации о квитировании (UPDATE) не обязательно знать id-записи.. Запись 
можно найти по другим полям.
--------

Так что мне не совсем понятно, почему вы хотите "утежялить" DBServer, чтобы он 
ещё и квитирование обрабатывал.. (а он должен быть "лёгким", чтобы не 
"захлебнуться" в обработке ВСЕХ изменений..). Т.е. максимально быстро 
обрабатывать сообщения, собственно по этому я и делал его очень простым,
разобрал SensorMеssage и сохранил в БД (никако логики)..

P.S. Ты всё-таки разговаривал с sin@? 
(мы всё это с ним уже обсуждали, и я ему эти аргументы приводил)..

----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.etersoft.ru/pipermail/devel/attachments/20100914/176c6228/attachment.html>


Подробная информация о списке рассылки Devel