Я пишу приложение сервера клиентов Java/JEE. У меня было требование, чтобы файлы, присутствующие на сервере, соответствовали файлам, присутствующим на клиенте. Я только пытаюсь проверить, есть ли точное совпадение с именами файлов и количеством файлов в определенном каталоге.Сравнение, если два списка строк равны с использованием hashcode?
Пример того, что требуется:
Server
DirectoryA
FileA
FileB
FileC
Client
DirectoryA
FileA
FileB
FileC
Что будет наиболее эффективным способом для сервера, чтобы убедиться, что все клиенты имеют одни и те же файлы, предполагая, что я могу иметь более 100 клиентов, и что я не хотите, чтобы моя связь клиент/сервер была слишком чатной.
Вот мой текущий подход использует REST API и клиент REST:
Сервер:
- Найти список файлов в целевом каталоге
- Создать контрольную сумму для каталога по используя хэш-код, полученный по именам файлов, и суммируя его с номером 31.
Клиентов:
- При получении запроса для проверки целостности целевого каталога, клиент берет контрольную сумму, предоставленный сервером и работает один и тот же алгоритм для генерации контрольной суммы на локальном каталоге. `
- Если контрольная сумма соответствует клиенту, он отвечает за успех сервера.
Правильно ли этот подход?
Рассчитайте md5sum или аналогичный, сравните их. – yshavit