Я бы использовал базу данных, потому что это в основном то, что вам нужно построить, чтобы достичь того, чего вы хотите. Зачем заново изобретать колесо?
Если полноценная СУБД слишком загружена, разделите файлы на две части и периодически синхронизируйте их. Доступность URL-адреса не похожа на то, что пользователь будет изменять, поэтому он не должен редактироваться им.
Во время процесса синхронизации (который должен был бы заблокировать монитор и пользователя, хотя это может быть подфункцией монитора), удалите записи в файле монитора, которые не заполнены пользователем. Также добавьте в файл монитора те, которые были добавлены в файл пользователя (и начните их мониторинг).
Но я бы выбрал метод базы данных со специальным интерфейсом для пользователя, поскольку в настоящее время вы можете получить относительно хорошие и легковесные базы данных.