ОБРАБОТКА ПОТОКА С ИСПОЛЬЗОВАНИЕМ ВИРТУАЛЬНЫХ АГЕНТОВ ОБРАБОТКИ

1. Реализуемый компьютером способ для доставки событий агентам обработки, при этом способ, содержит этапы, на которых:
принимают (302) публикацию события;
идентифицируют (308) агент обработки для приема информации, ассоциированной с событием, на основании, по меньшей мере, частично установок и конфигураций агента обработки, которые содержат одно или более из действий, которые должны быть выполнены агентом обработки, ввода агента обработки, вывода агента обработки, или статуса агента обработки, при этом агент обработки явным образом не подписывается на прием события;
определяют, активирован ли агент обработки;
в ответ на определение, что агент обработки не активирован, активируют агент обработки;
доставляют информацию, ассоциированную с событием, агенту обработки;
принимают (312) подписку на одно или более события от агента обработки; и
доставляют (316, 322) одно или более события агенту обработки.
2. Способ по п. 1, дополнительно содержащий этапы, на которых:
определяют (314), указывает ли подписка одно или более прошедших событий, которые должны быть доставлены; и
в ответ на определение, что подписка указывает одно или более прошедших событий, которые должны быть доставлены, доставляют (316) одно или более прошедших событий агенту обработки.
3. Способ по п. 1, в котором этап, на котором принимают публикацию события, содержит этапы, на которых:
принимают запрос (110), чтобы опубликовать событие в очереди (106);
активируют виртуальный поток (204), соответствующий событию; и
публикуют событие в очереди (106) посредством виртуального потока (204).
4. Способ по п. 1, в котором подписка (114) на одно или более событий (112) определяет виртуальный поток (206), и подписка (114) является подпиской на виртуальный поток (206), соответствующий одному или более событий (112).
5. Способ по п. 4, в котором этап, на котором активируют агент обработки, содержит этап, на котором распределяют ресурсы системы агенту обработки, и при этом подписка (114) на виртуальный поток (206) активирует виртуальный поток (206) и предписывает, чтобы ресурсы системы были распределены виртуальному потоку (206).
6. Способ по п. 5, дополнительно содержащий этапы, на которых:
деактивируют виртуальный поток (206), когда события не принимаются в виртуальном потоке в течение некоторого периода времени, посредством требования назад ресурсов системы, распределенных виртуальному потоку (206); и
деактивируют агент обработки, когда агент обработки становится незанятым в течение заданного периода времени, посредством требования обратно ресурсов системы, распределенных агенту обработки.
7. Система, содержащая одно или более вычислительных устройств, исполняющих среду выполнения, которая выполнена с возможностью:
диспетчеризации очереди (106) для приема и оставления публикаций событий;
приема (302) публикации события в первом виртуальном потоке (204) и переадресации публикации события в очередь (106);
идентификации (308) агента обработки для доставки информации события для события на основании, по меньшей мере, частично установок или конфигураций агента обработки, которые содержат одно или более из действий, которые должны быть выполнены агентом обработки, ввода агента обработки, вывода агента обработки, или статуса агента обработки, при этом агент обработки явным образом не подписан на прием события и является адресуемым для доставки информации события независимо от того, является ли агент обработки активированным или не активированным;
определения, активирован ли агент обработки;
в ответ на определение, что агент обработки не активирован, активации агента обработки;
доставки информации события агенту обработки;
приема (312) явной подписки на события во втором виртуальном потоке (206) от агента обработки после того, как информация события доставляется агенту обработки;
определения (314), указывает ли явная подписка прошедшие события, опубликованные в очереди до того, как принимается явная подписка;
в ответ на определение (314), что явная подписка указывает прошедшие события, извлечения прошедшего события из прошедших событий, опубликованных в очереди, и проталкивания прошедших событий во вторые виртуальные потоки (206), и
доставки (316, 322) событий во втором виртуальном потоке (206) агенту обработки.
8. Система по п. 7, в которой активация агента обработки содержит распределение ресурсов системы агенту обработки, и при этом подписка на второй виртуальный поток (206) активирует второй виртуальный поток (206) и предписывает, чтобы ресурсы системы были распределены второму виртуальному потоку (206).
9. Система по п. 7, дополнительно содержащая множество серверов, исполняющих один или более агентов обработки, при этом среда выполнения дополнительно выполнена с возможностью восстановления агента обработки после сбоя одного сервера, на котором был активирован агент обработки, посредством повторной активации агента обработки на другом сервере.
10. Система по п. 7, в которой конфигурация агента обработки получается программным путем или определяется из декларативного определения агента обработки.