Меню
Каталог Лицензии 1С Опыт и отзывы Услуги Компания Статьи Контакты

Выгрузка и загрузка данных с автоматической разбивкой на части для обработки “Универсальный обмен в формате XML”

Основатель и руководитель компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, основатель компании MoscowSoft  21.06.2024 Актуальность проверена: 23.06.2024
Подобрать перенос данных 1С

Специализируемся на переносах данных 1С с 2015г.

Подобрать перенос данных 1С >>

Интеграция 1С с маркетплейсами

Специализируемся на интеграциях 1С с маркетплейсами с 2021г.

Изучить продукты >>

В комплекты поставки всех наших переносов данных включены улучшенные версии обработок Универсальный обмен в формате XML, но многие наши заказчики не знают или не пользуются и десятью процентами тех возможностей, которые мы добавили в эту обработку.

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

Возможность автоматически разбивать данные на части есть в версии обработки для обычных и для управляемых форм: Снимок экрана №1. Возможность автоматически разбивать данные на части есть в версии обработки для обычных и для управляемых форм

Как возникла идея написать данную статью?

Около года назад к нам обратился потенциальный заказчик, которому нужно было перенести все документы и справочники из ERP в ЗУП 3 за пять с лишним лет. Возможно, вы даже не представляете, насколько это тяжело и сколько головной боли может создать такая задача. Полная, параллельная выгрузка и загрузка частями занимала ДВЕ недели… При том, что наш сервер и его производительность максимально адаптированы именно для выполнения переносов, в течение всего этого срока постоянно было задействовано около 50 ГБ оперативной памяти. Суммарный объем всех файлов на момент окончания выгрузки составлял около 700 ГБ. В процессе работы над замечаниями по переносу данных было сделано около 100 повторных выгрузок и загрузок (благо не полных (◕‿◕)). Проект мы выполнили примерно за 4 месяца, если знаете хоть кого-то, кто справился бы лучше или делал похожие проекты, обязательно расскажите, (task@moscowsoft.com) было бы очень интересно узнать про ваш опыт.

Видеодемонстрация

Рекомендуется в настройках видео внизу справа сразу включить максимальное качество - 1080р, иначе подробности будет видно нечетко.

В этом видео показываем, как выполнять перенос данных из одной базы 1С в другую с автоматической разбивкой на части.

Зачем выгружать и загружать частями?

На самом деле есть только одна возможная ситуация, когда данная настройка выгрузки может быть излишней. Только при небольших выгрузках, например, всех документов за один день. Выгрузка делится на части по каждому ПВД первого или второго уровня и после завершения выгрузки одной части, правила каждый раз читаются из файла правил конвертации данных с диска заново, обычно от 15 секунд до 3 минут, а теперь представьте, что у нас 100 ПВД первого уровня! Выгрузка по одному ПВД документов за один день идет 5 секунд, а правила каждый раз читаются 3 минут. То есть выгрузка в один файл у нас бы длилась 500 секунд или около 8 минут, а выгрузка в 100 частей уже будет длиться 308 минут.

Так выглядят настройки выгрузки частями на вкладке Настройки MoscowSoft в версии обработки обмена для управляемых форм: Снимок экрана №2. Так выглядят настройки выгрузки частями на вкладке Настройки MoscowSoft в версии обработки обмена для управляемых форм

Но в чем же тогда преимущество?

А в том что 1С и ресурсы нашей системы будут обрабатывать не один большой файл (а с большими xml-файлами 1С плохо справляется) , а несколько маленьких, что снизит нагрузку на процессор, оперативную память, и если по какой-то причине выгрузка или загрузка прервется, мы сможем продолжить ее с последней незагруженной части. То есть у нас появляется возможность докачки данных. Также мы сможем отслеживать процесс выполнения выгрузки по дате создания появляющихся в каталоге файлов.

Снимок экрана №3. Показан процесс выполнения выгрузки по дате создания появляющихся в каталоге файлов

Также вы сможете параллельно запустить и выгрузку и загрузку! То есть они будут выполняться одновременно.

А процесс загрузки можно отслеживать через журнал регистрации в конфигураторе базы 1С приемника данных: Снимок экрана №4. Процесс загрузки можно отслеживать через журнал регистрации в конфигураторе базы 1С приемника данных

Как правильно выгружать и загружать частями?

Небольшой нюанс

Загрузка всегда идет дольше выгрузки, поэтому загрузку необходимо запускать после того, как у вас выгрузится первый большой файл. В противном случае выгрузка может перегнать загрузку и прерваться. Нормальной скоростью загрузки считается ситуация, когда файл размером 1 ГБ загружается примерно 1 час. Стоит иметь в виду, что эта скорость указана средняя в некой модельной ситуации. У вас она может быть в реальности быстрее или медленнее.

MoscowSoft логотип

Возврат к списку