Я работаю над веб-сканером (пожалуйста, не предлагайте существующий, это не вариант).У меня все работает так, как ожидается.Моя единственная проблема заключается в том, что в настоящее время я использую своего рода модель сервера / клиента, где сервер выполняет сканирование и обработку данных, а затем помещает их в центральное расположение.
Это расположение является объектом созданияиз класса, который я написал.Внутренне класс поддерживает хэш-карту, определенную как HashMap<String, HashMap<String, String>>
. Я храню данные на карте, делая URL-адрес ключом (я сохраняю их уникальность), а значение hasmap хранит соответствующие поля данных для этого URL-адреса, такие как заголовок,значение и т. д.
Время от времени я сериализую используемые внутренние объекты, но паук многопоточный, и, как только я скажу, что 5 потоков, сканирующих память, возрастают в геометрической прогрессии.
До сих пор производительностьотлично справился с хэш-картой, сканируя 15K URL за 2.r минуты и занимая около 30 секунд процессорного времени, поэтому мне действительно не нужно указывать в направлении существующего паука, как предлагали большинство пользователей форума.
Кто-нибудь может предложить быстрое решение на основе диска, которое, вероятно, будет поддерживать одновременное чтение и запись?Структура данных не должна быть одинаковой, просто должна быть возможность хранить связанные значения метатегов вместе и т. Д.
заранее спасибо