Проектирование охранной системы - PullRequest
2 голосов
/ 26 апреля 2011

Меня попросили спроектировать систему сигнализации, которая позволила бы некоторым пользователям создавать тревоги, а другим - прослушивать эти тревоги и делать все, что им нужно. Пользователи, которые запускают сигналы тревоги, хотят иметь ярлык (их системы работают под управлением Windows XP), поэтому автоматически парни, которые прослушивают возможные сигналы тревоги, получают соответствующий сигнал.

То есть, если пользователь нажимает комбинацию клавиш, петиция подается автоматически сотрудникам службы безопасности.

Я думал о разработке этого путем создания базы данных, которая будет содержать информацию о местоположении всех пользователей в системе, а также иметь историю аварийных сигналов. Я думал о создании новой строки для каждой тревоги, которую запускает пользователь, а затем о том, чтобы сотрудники службы безопасности искали новые тревоги. Так что в основном что-то вроде:

  • В сценарии быстрого запуска, который создает новую строку в таблице ALARMS.
  • Крон или запланированное задание для охранников, постоянно проверяющих новые тревоги.

Я довольно новичок в разработке таких систем, и я подумал, что это хороший путь. Кроме того, я был бы признателен, если бы кто-нибудь знал, как назначить запуск сценария для ярлыка системы под Windows.

Благодарим вас за любую помощь и дайте мне знать, если потребуется дополнительная информация.

1 Ответ

1 голос
/ 26 апреля 2011

Я бы настоятельно рекомендовал использовать для этого очередь сообщений.Вы можете отправить новое сообщение в очередь с помощью простого консольного приложения (с ярлыком на рабочем столе или чем-то подобным).

«Слушающие» системы будут уведомлены немедленно, и вы выполните соответствующее действие в это время.

Встроенные очереди Microsoft прекрасно работают:

http://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.aspx

Или вы можете использовать RabbitMQ, который является более надежным, но труднее получить работу из коробки.

Это избавит вас от необходимости постоянно обновлять базу данных.

Редактировать:

И, конечно, вы также захотите записать все вызовы в базе данных., для учета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...