У меня есть доступ к серверу данных трафика, откуда я получаю XML-файлы с необходимой мне информацией. (Пример: точка А в точку В: время в пути 20 мин, расстояние 18 миль и т. Д.).XML для базы данных, какой маршрут следует использовать?
Загрузите XML-файл (который заархивирован), извлеките его, затем обработайте и храните в БД. Я разрешаю только загрузку XML-файла за запрос, но только если прошло 5 минут с последней загрузки. XML на сервере трафика обновляется каждые 30 секунд, возможно, 5 минут. В течение 5-минутного периода любой пользователь, запрашивающий веб-страницу, будет извлекать данные из БД (без обновления), поэтому ограничивает количество запросов, поступающих на сервер трафика.
Моя проблема с моим нынешним подходом заключается в том, что когда я получаю новый XML-файл, весь процесс занимает некоторое время (3-7 секунд), и это заставляет пользователя слишком долго ждать, прежде чем что-либо получить. Однако, когда загрузка XML не требуется, и все данные отображаются прямо из БД, процесс выполняется очень быстро. Архивированный XML составляет около 100-200 КБ, в то время как неархивированный - около 2 МБ. Файл XML содержит данные трафика из 3 или 4 состояний, тогда как мне нужны только данные для одного состояния. Вот почему я в настоящее время использую метод БД.
Этот подход хороший? Мне было интересно, нужно ли просто извлекать данные непосредственно из загруженного XML-файла для каждого запроса и каким-то образом ограничивать, как часто файл XML загружается с сервера трафика. Или, может ли кто-нибудь указать мне на лучший способ?
Образец XML файл
Вот как это выглядит на моем сайте
Определить «хорошо». Какая мера важна для вас? – duffymo
Я думал о маршруте работы CRON, но это означает, что независимо от того, будет ли пользователь запрашивать данные, он будет обновлен. Сейчас он обновляется только в том случае, если он запрашивается, и если прошло не более 5 минут с момента последнего обновления. Хорошо бы иметь более быстрый доступ, даже если запрашивается новый XML! – Cristian
Вы можете создать задание CRON, которое периодически обращается к XML-файлу, анализирует его и сохраняет данные в базе данных. Тогда пользователи будут получать доступ только к данным базы данных. Таким образом, не будет заметной задержки при доступе пользователей к данным. –