Большой книжный XML (все книги OZON.ru)

OR
На сайте с 12.03.2008
Offline
123
4063

Уважаемые партнеры!

Если Вы используете XML, приглашаем Вас принять участие в интересном и полезном тестировании.

Сейчас мы выгружаем в книжные XML только товары, которые есть в наличии. Это 400 тысяч книг. Но всех книг, какие есть на OZON.ru, вдвое больше – 750 тысяч! Мы создали специальный книжный XML, куда выгружаются все книги, независимо от их наличия на складе. Пользователь - живой человек. Перейдя, он видит товары-аналоги, ссылки «с этим товаром покупают», ссылку на все книги автора... и выбирает что-то для покупки. Мы полагаем, что это приведет к значительному росту заработка партнеров, которые используют книжные XML.

Взять файл можно по ссылке:

http://www.ozon.ru/multimedia/zip/AllBooks.zip

размер архива - 222 MB (232 854 878 bytes)

внутри файл AllBooks.xml со всеми книгами

размер файла - 0,98 GB (1 061 543 043 bytes)

Товары с плохой доступностью помечены как:

Временно отсутствует

Принимаются заявки

цена на них не совсем адекватная (это цена на момент последнего наличия товара).

Пожалуйста, задавайте в этой ветке вопросы по большому книжному XML, рассказывайте о своем опыте, высказывайте Ваши пожелания.

Служба поддержки партнерской программы OZON.ru (http://www.ozon.ru/context/partner/) Регистрация партнера (http://www.ozon.ru/?context=partner_join), Обратная связь (http://www.ozon.ru/context/partner_feedback/)
sanitarn
На сайте с 20.08.2007
Offline
199
#1

Есть ли готовые скрипты магазинов, чтоб с моего сайта заказывали, а не по переходу?

финансовый ответ (https://finansanswer.ru) Займ для безработных (https://finansanswer.ru/mikrozajmy/bezrabotnym/)
OR
На сайте с 12.03.2008
Offline
123
#2

sanitarn, пока у нас нет готового партнерского магазина. Заказ делается строго на OZON.ru, а партнеры делают свои магазины с помощью XML-каталогов. Но уже сейчас мы предлагаем крупным проектам OZON API (в тестовом режиме). В ближайшем будущем на основе OZON API можно будет делать магазины с заказом на стороне партнера.

CChe
На сайте с 11.07.2008
Offline
83
#3

Файл очень большой, его можно как то разбить на несколько?

Тизерки №1 (http://t.co/H7IoMM5S), №2 (http://t.co/HNU7o1NF), №3 (http://t.co/ils9hF8w6B) адалт приемники вкладываем деньги под % ~ конвертим все (http://tinyurl.com/jqwqtcb) ~ зарабатываем с вебкам (http://tinyurl.com/hc7gtsa)
F0
На сайте с 13.09.2010
Offline
0
#4

Работаю с обработкой XML недавно, опыт небольшой. В начале загрузка XML осуществлялась с помощью переработанного парсера для OZON.ru. Позже выяснилось, что язык PHP крайне не эффективен для обработки такого рода данных. Компилятор PHP формирует невероятно большой код, который к тому же потребляет большие процессорные ресурсы, и обработка большого объема данных становится невозможной. Более того код получается нестабильным, возникают ошибки при обработке. Проблемы на хостинге начались уже при обработке файла размером 14 Мбайт, PHP обработчик уже не в лазил в ограничения хостинга и задача аварийно завершалась. Переходить на более мощный хостинг было бы неоправданным решением. Единственным узким местом был парсер XML написанный на PHP, который можно заменить парсеом на Си. И тогда можно сэкономить на стоимости хостинга и выжать с хостинга максимум.

Парсер на Си был написан, теперь проблем с загрузкой XML не возникает. Но из-за ограничений объема БД у меня нет возможности загрузить XML-файлы больших размеров.

Локально, на домашнем компе, парсер на Си порождает новую проблему, теперь вся нагрузка ложится уже на диск. При добовлении больших файлов, сервер MySQL генерирует большое количество операций с диском. Диск становится занятым на 96-99%, при 10-20% заруженности процессора.

OR
На сайте с 12.03.2008
Offline
123
#5

farac0m, спасибо за подробно описанный опыт! Да, работа с большим XML требует и ресурсов и технических знаний, - но зато на больших каталогах XML партнеры успешно зарабатывают. Возможно, Вам поможет - один из наших партнеров описывал у себя опыт разбора большого XML с помощью PHP - как раз на примере нашего XML.

F0
На сайте с 13.09.2010
Offline
0
#6

OZON.ru, спасибо за ссылку. Думаю, что решил обе проблемы, это проблема с нехваткой памяти и проблема с нехваткой выделенного времени для работы скрипта. Решение было приблизительно по такому же принципу, как и в статье, только вот язык не PHP, а Си. Обработка идет по потоковому принципу, из стандартного ввода посимвольно идет выборка интересующих тэгов. При совпадении, идет загрузка всего тэга в буфер, в котором уже происходит непосредственно обработка XML. После обработки формируется запрос SQL на запись результата в БД. Затем, буфер освобождается, и процесс поиска интересующих тэгов повторяется.

В памяти, при обработке, программа занимает около 900 кбайт, причем этот размер практически не зависит от объема файла XML.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий