А.А. Пестряев, Л.И. Воронова, В.И. Воронов
ПРОЕКТИРОВАНИЕ
мультиагентной системы для сбора текстовой информации
ИЗ СЕТИ
В статье рассматривается проектирование мультиагентной системы МАС «Стоп-ТСН», которая занимается сбором ссылок из Интернета. Система разработана для поиска запрещенных слов и выражений на страницах социальных сетевых сервисов. Онтология содержит слова и выражения о суициде, наркотиках и терроризме.
Проведено проектирование агентов системы, баз данных, механизмов доступа в глобальную сеть, выбраны средства реализации проекта, осуществлена реализация МАССТИС «Стоп-ТСН». Проведено тестирование. На момент написания статьи система собрала более 10 000 ссылок на страницы, содержащие «опасную» информацию.
Проектируемая МАС учитывает многоядерность архитектуры компьютера, анализируя размер КЭШ-памяти и распределяя работу агентов на разные ядра процессора.
Работа выполнена с использованием комплекса современных информационных технологий, таких как «Qt Creator v. 4.7.4», «MSSQL Server 2012», «Boost C++ Libraries v.1.53».
Преимущества разработанной системы по сравнению с существующими рассмотрены на конкретных примерах.
Ключевые слова: мультиагентная система, вредоносная информация, КЭШ-память, многоядерность компьютера, суицид, терроризм, наркотики.
Введение
Сравнительно недавно, 20 лет назад, в жизни человека появился Интернет и за этот короткий промежуток времени занял в ней значимое место. Данные опроса фонда «ФОМнибус»1 в 2013 г. показывают, что люди используют Интернет на 80% для общения в социальных сетевых сервисах2.
© Пестряев А.А., Воронова Л.И., Воронов В.И., 2015
За последние десять лет в обществе широко распространились социальные сетевые сервисы, и интерес к ним только растет. В связи с большим объемом вовлеченных пользователей социальные сетевые сервисы стали достаточно мощным инструментом воздействия на общество в целом и на отдельного индивидуума. Результатом роста социальных сетевых сервисов стали как позитивные следствия, связанные с решением актуальных проблем современного общества, так и негативные тенденции, характерные для общества сетевого типа, в частности манипулирование поведением больших групп социума, обсуждение антиобщественных мероприятий, разжигание межнациональной розни, пропаганда насилия и т. д. Примеры такого рода сайтов приведены на рис. 1 (а, б).
а)
Каждый для, себя решает сам эту дилемму Колоться или не колоться? Или по другрму.
Колоть наркотик »ли не колоть в вену?
Казалось бы, н'егр'не хватает, взяд'пузырь, залудил стакан, другой и-балдей Нет, надо острь^рщущений, каких то |й^ни'й. Начинается как обычно с травы, с таб;¡е ток. То есть ящщри- нар.кщдаов_.
б)
Рис. 1. Страницы социальной сети «ВКонтакте» а) содержат группу о подрыве школы, б) содержат информацию об использовании наркотиков
Поиском и удалением такой информации из социальных сервисов занимаются, как правило, администраторы системы, что требует довольно много времени. В связи с этим научные исследования и технологические разработки в области систем сетевого
семантического анализа высказываний крайне востребованы. Существует ряд разработок как зарубежных, так и отечественных, автоматизирующих эту деятельность, например: «Kaspersky Internet Security»3, «ChildWebGuardian PRO»4 и т. п. Разработанные системы не учитывают особенности архитектуры компьютера во время работы, в частности КЭШ-память5, многоядерность системы6 и возможности распределения вычислений7.
Постановка задачи
Авторами статьи разработана мультиагентная система для сбора текстовой информации в сети МАС «Стоп-ТСН» (стоп - терроризм, суицид, наркотики), которая занимается сбором ссылок на страницы в Интернете, содержащие слова и выражения о наркотиках, суициде и терроризме. Разработанная система поможет родителям оградить детей от вредоносной информации, а также укажет спецслужбам на людей, угрожающих безопасности страны.
МАС «Стоп-ТСН» учитывает архитектуру компьютера, анализируя размер КЭШ-памяти и распределяя работу агентов на разные ядра процессора.
Для достижения поставленной цели был решен ряд взаимосвязанных задач в соответствии с жизненным циклом разработки ИС. Проведен анализ прикладной области, в том числе исследованы социальные сети, блоги, форумы, средства разработки мульти-агентных систем и продукты-аналоги8,9,10,11; разработаны требования к МАС, проведено проектирование, реализация и отладка МАС «Стоп-ТСН»12. В данный момент прототип системы находится в стадии тестирования.
Проектирование архитектуры МАС и функциональности агентов
На рис. 2 приведена архитектура МАС «Стоп-ТСН», которая состоит из пяти агентов с разной функциональностью, двух баз данных, базы знаний и Центра обработки сообщений (ЦОС). В системе присутствуют механизмы для обмена информацией между агентами - очереди (queue)13.
Рис. 2. Архитектура МАССТИС «Стоп-ТСН»
Агент -исследоизтель.
Агент — собиратель.
Анализ, компьютера. Если ядер на компьютере от 1 до 4, та агент-побйрнтель и эгент-
иоспвдоватепь работают в 4 потока. Если ядер на компьютере от 5 дп 6, та агент--::оонрятель и атент-
исотеяоват&ль работают в 6 потоков, Если ядер на компьютере от 7 до 8, то агент-собиратель и агент-
иссмейозатопь работают £ Э потоков, Еспя на компьютере более го агент-собиратель и агент-исслеасоэтель работают в Ю потоков.
Цэнтр Обработки Сообщении
Рис. 3. Возможное количество потоков для агентов
ЦОС - единый центр, который занимается запуском и остановкой системы, вычисляет возможности компьютера, в частности размер КЭШ-памяти и количество ядер. Зная возможности компьютера, ЦОС указывает агенту-собирателю и агенту-исследователю количество потоков, которое они должны использовать для своей работы (рис. 3). Также ЦОС загружает начальный список опасных ссылок в «Очередь для запросов в Интернет» для первого запуска системы.
Рис. 4. Архитектура агента-загрузчика
Агент-загрузчик (рис. 4) переходит по ссылкам из «Очереди для запросов в Интернет» и загружает текст для каждого агента. Очередь для запросов в Интернет состоит из двух атрибутов. Первый - это ссылка, которую необходимо исследовать, а второй - это число, которое указывает, от какого агента пришла данная ссылка. Если 1, то собиратель, если 2, то исследователь, если 3, то диагностик. По второму атрибуту загрузчик определяет, в какую очередь
ему положить полученный текст из Интернета. Если 1, то в очередь для собирателя, если 2, то в очередь для исследователя, если 3, то в очередь для диагностика.
Агент-собиратель (рис. 5) из «Очереди с текстом для собирателя» получает новую порцию данных, которая содержит текст интернет-страницы. В полученном тексте агент ищет новые ссылки на страницы. Найденные ссылки агент сохраняет во временную базу данных и загружает в «Очередь для запросов в Интернет» для агента-загрузчика. Ссылки, сохраненные во «Временной БД», будут использованы агентом-исследователем и агентом-очистителем.
Рис. 5. Архитектура агента-собирателя
Рис. 6. Архитектура агента-исследователя
Агент-исследователь (рис. 6) из «Очереди с текстом для исследователя» получает новую порцию данных, которая содержит ссылку на страницу и текст со страницы. В полученном тексте агент ищет запрещенные слова и выражения из «Базы знаний». Если слова или выражения найдены, то он сохраняет ссылку на страницу в «Конечную базу данных». Также агент-исследователь загружает ссылки из «Временной БД» в «Очередь для запросов в Интернет» с целью получения текста со страницы.
Агент-диагностик проверяет работоспособность ссылок из «Конечной базы данных». Если ссылка не работает, то он ее удаляет.
Агент-очиститель удаляет ссылки, прочитанные агентом-исследователем из «Временной базы данных».
Временная база данных - это база, в которой хранятся ссылки, найденные агентом-собирателем в полученном тексте от агента-загрузчика и подлежащие дальнейшей обработке агентом-исследователем. Временная база данных состоит из 676 таблиц, причина выбора данного значения рассмотрена ниже. Каждая таблица имеет два атрибута (рис. 7):
• первый атрибут - это ссылка на исследуемый сайт;
• второй атрибут отвечает за прочтение ссылки агентом-исследователем. Если значение «1», то ссылка прочитана, «0» - нет.
паrcoforum.com/t5963-muzhparerbrat-narkoman-vam- .. 1
narcoforum.eom/post247855.html#p247855 1
па rcoforu m com/post247856. htmS#p247856 1
narcoforum.eom/post247857.html#p247857 1
narcoforum.com/post247858. htm!#p247858 1
na rcoforu m. com/post247859. htm!#p247859 1
narcoforum.com/post247860. htm!#p247860 1
narcoforum.com/post247861 htm!#p247861 1
na rcoforum. com/post247862. htm!#p247862 1
na rcoforu m. com/post247863. htm!#p247863 1
Рис. 7. Фрагмент таблицы временной базы данных
База знаний - это база, которая содержит словари запрещенных слов и выражений о суициде, наркотиках и терроризме (рис. 8).
База знаний содержит простейшую онтологию для проверки работоспособности МАС.
Рис. 8. Словари базы знаний о суициде, терроризме и наркотиках
Конечная база данных - это база, которая содержит ссылки на страницы, на которых найдены слова или выражения из базы знаний (рис. 9). Конечная база данных состоит из трех таблиц:
• ссылки о суициде;
• ссылки о наркотиках;
• ссылки о терроризме.
Каждая таблица имеет два атрибута:
• ссылка на запрещенный сайт;
• запрещенное слово или выражение, найденное на странице.
http://n ews. revda .su/a utonews/2 831/#com merits ФСБ
http:// news, revd a .su/econom ics/232 7/ ФСБ
http://n ews. revda.su/econom ics/2827/#com merits ФСБ
http://amt.allergist.ru/product/viktoza.html ЦРУ
http://freemadbad.chat.ru/boom.htm взорвать
Рис. 9. Фрагмент содержимого таблицы конечной базы данных
Исследование способов повышения производительности МАС
Для повышения быстродействия МАС «Стоп-ТСН» на этапе проектирования разработчиками было принято решение о распределении работы агентов на разные ядра процессора, а также учет размера КЭШ-памяти второго уровня. Существующие продукты-аналоги не используют многоядерность компьютера, поэтому время отображения страницы может быть увеличено от несколь-
ких миллисекунд до десятков секунд, что заставит пользователя отказаться от использования данного продукта.
Процессор сначала обращается к КЭШ-памяти в поисках информации для обработки, и если она не найдена, то через Системную Шину, как видно на рис. 10, обращается к оперативной памяти, что замедляет работу системы.
Рис. 10. Схема взаимодействия процессора с памятью
Учитывая размер КЭШ-памяти, можно ускорить работу программы в несколько раз. Существующие продукты-аналоги для первоначальной обработки информации используют одну большую базу данных, которая не сможет вся поместиться в КЭШ-памяти за один раз, как следствие, будут потери в производительности.
Разработчиками МАС «Стоп-ТСН» предложен другой подход, рассмотренный ниже. Известно, что КЭШ-память второго уровня напрямую влияет на производительность процессора. На современных компьютерах размер КЭШ-памяти второго уровня составляет 512 КБ (килобайт). У каждого ядра процессора своя КЭШ-память второго уровня. Создав вместо одной таблицы 676 таблиц по 1000 записей, можно добиться значительного прироста производительности. Учитывая количество ядер процессора, можно в несколько раз ускорить работу системы.
Временная база данных состоит из 676 таблиц - это 26*26. В английском алфавите 26 букв. Агент-собиратель анализирует первые две буквы ссылки и вносит ссылку в соответствующую таблицу (рис. 11).
Рис. 11. Сохранение ссылки во временную базу данных
Тестирование производительности МАС с учетом КЭШ-памяти второго уровня
Для подтверждения высказанных предположений были проведены тесты производительности системы при разных размерах и количестве таблиц во временной БД.
Проведенное тестирование демонстрирует, что если в 100 таблиц по 1000 записей вносить изменения в несколько потоков с учетом КЭШ-памяти, то это окажется намного быстрее, чем работа с одной таблицей на 100 000 записей.
Тест 1.
Агент-собиратель работает в одном потоке и производит обработку и запись данных в БД с одной таблицей на 100 тыс. записей (рис. 12). Размер строки 55 символов, так как это средний размер ссылки в Интернете. Средний размер ссылки вычислен с помощью программы, написанной авторами статьи, которая исследовала 10 тыс. сайтов и вычислила средний размер ссылки.
Временная БД
Рис. 12. Взаимодействие агента-собирателя с временной БД
Работа агента-собирателя завершается сообщением о времени, затраченном на запись (в сек.) (рис. 13). При этом на рис. 14 показана степень загруженности процессора (в %).
'; Затрачено время на работу с бд о секу.,, |" | 78 Секунд
ОК
Рис. 13. Время, затраченное на запись
Хронология загрузки ЦП
Рис. 14. Загрузка процессора
Из полученных данных следует, что только одно ядро процессора загружено на 45%, что явно недостаточно. Время, затраченное на работу с БД, 78 секунд. Возможности процессора позволяют выполнять больше операций.
Тест 2.
Во втором тесте исследована ситуация, при которой в БД создано 100 таблиц по 1000 записей. Как подтверждают результаты исследований, такая конфигурация работает намного эффективнее, так как есть возможность запустить несколько потоков и каждая таблица может быть загружена в КЭШ-память за один раз. На рис. 15 показана схема взаимодействия агента-собирателя с временной БД, в которой агент-собиратель имеет 6 потоков для взаимодействия с БД.
Полученные результаты тестирования представлены на рис. 16 и 17. Загрузка процессора во время работы на всех ядрах составляет 90%, что указывает на правильное использование ресурсов компьютера.
Агент-собиратель Имеет шесть потоков для записи в БД
Временная БД
Рис. 15. Взаимодействие агента-собирателя с временной БД
!■ .'] Затрачено время на работу с бд в секу,., 17 Секунд
ОК
Рис. 16. Время, затраченное на запись в БД
Хронология загрузки ЦП
Рис. 17. Загрузка процессора
Из рис. 13 и 16 видна разница в скорости выполнения записи, в 4,5 раза быстрее происходит запись в «малые» таблицы, чем в одну большую, что обусловлено 90-процентной загрузкой всех трех ядер (рис. 17), по сравнению с 45-процентной загрузкой единственного ядра процессора (тест 1), что говорит об оптимальном выборе количества потоков и размере таблиц для данного многоядерного компьютера.
Выводы
Разработана мультиагентная система для сбора текстовой информации в сети «Стоп-ТСН», которая занимается сбором ссылок
на «опасные / вредоносные» страницы в Интернете, содержащие информацию, связанную с терроризмом, суицидом и наркотиками.
Проведено проектирование архитектуры МАС, агентов системы, баз данных, механизмов доступа в глобальную сеть, выбраны средства реализации проекта, осуществлена реализация МАССТИС «Стоп-ТСН».
Проектируемая МАС учитывает многоядерность архитектуры компьютера, анализируя размер КЭШ-памяти и распределяя работу агентов на разные ядра процессора, что позволяет в разы ускорить работу программы. Преимущества разработанной системы по сравнению с существующими рассмотрены на конкретных примерах.
Разработанная система поможет родителям оградить детей от такой информации, а также укажет спецслужбам на людей, угрожающих безопасности страны.
Примечания
Для чего люди используют интернет? [Электронный ресурс] // Фонд «Общественное мнение». URL: http://fom.ru/SMI-i-internet/11088 (дата обращения: 23.11.2014).
Социальные сетевые сервисы [Электронный ресурс] // Академик. URL: http://dic.academic.ru/dic.nsf/ruwiki/1334827 (дата обращения: 23.11.2014). Kaspersky Internet Security [Электронный ресурс] // Wikipedia. URL: https://ru.wikipedia.org/wiki/Kaspersky_Internet_Security (дата обращения: 23.11.2014).
Интернет фильтр «ChildWebGuardian Pro» [Электронный ресурс]. URL: http://www.childwebguardian.ru (дата обращения: 23.11.2014). Антес Г. Кэш-память (Computerworld Россия. 2000. № 15) [Электронный ресурс] // Открытые системы. URL: http://www.osp.ru/cw/2000/15/4418/ (дата обращения: 23.11.2014).
Сравнение многоядерных процессоров [Электронный ресурс] // HardwareGuide.ru. URL: http://hardwareguide.ru/%D0%BF%D1%80%D0% BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80/mnogojadernie-processori/ (дата обращения: 23.11.2014).
Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003. 877 с.: ил.
Пестряев А.А., Воронова Л.И. Анализ поисковых роботов и выбор функций для своего робота // Мат-лы V Междунар. студенч. электрон. науч. конф. «Студенческий научный форум» [Электронный ресурс]. URL: http://www. scienceforum.ru/2013/183/2549 (дата обращения: 23.11.2014).
3
4
5
6
I
10
9 Лукоянов И.А., Охапкина Е.П., Воронов В.И., Воронова Л.И. Разработка и внедрение поискового робота для анализа интересов клиентов // Современные наукоемкие технологии. 2014. № 5-2. С. 210-212.
Авхадеев Б.Р., Воронова Л.И., Охапкина Е.П. Разработка рекомендательной системы на основе данных из профиля социальной сети «ВКОНТАКТЕ» // Вестник Нижневартовского государственного университета. 2014. № 3. С. 68-76.
Охапкина Е.П., Воронова Л.И. Разработка фрагмента онтологии для много-агентной системы модерации сообщений пользователей // Там же. С. 60-67. Пестряев АА., Воронова Л.И. Мультиагентная система. Взаимодействие агента-собирателя с базой данных // Современные наукоемкие технологии. 2014. № 5-2. С. 214-217.
Хомутова Е.В., Воронова Л.И. Автоматизация ранжирования типов визуализации в DATA MINING для нереляционных баз данных // Там же. С. 219-221.