Поделиться через


Распределение волн

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

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

Раньше было возможно только распределить одну волну на складе за один раз. Это ограничение было удалено и заменено новым ограничением, которое блокирует только номенклатуру и аналитики, расположенные выше в иерархии резервирования. Аналитики выше местоположения всегда включают в себя аналитики продукта. Например, если номенклатура настроена с использованием аналитики Цвет, то варианты Красный, Синей и Желтый могут быть обработаны параллельно.

Это означает, что если одна и та же номенклатура с теми же аналитиками выше расположения распределяется одной волной, другие волны должны подождать получения блокировки на эту же номенклатуру и аналитики. Если блокировку невозможно получить своевременно, произойдет ошибка, и произойдет сбой обработки волны.

Для использования параллельной обработки волна должна быть выполнена в пакете.

Улучшения производительности

Преимущества производительности при параллельной обработке делятся на две категории:

  • Повышенная пропускная способность — производительность волны обычно увеличивается даже в том случае, если параллельная обработка не настроена, особенно в тех случаях, когда номенклатуры в волнах не перекрываются.
  • Улучшение распределения для одной волны — проверка на данных клиентов показала повышение производительности около 50% после переключения на параллельное распределение. Параллельная обработка выполняется по номенклатурам и аналитикам выше местоположения, поэтому улучшения зависят от количества различных номенклатур, содержащихся в волне, доступной инфраструктуры и продолжительности распределения относительно продолжительности создания работы.

Настройка параллельного распределения

Параметры управления складом

Чтобы использовать параллельную обработку распределения, перейдите в раздел Управление складом > Настройка > Параметры управления складом, откройте вкладку Обработка волн и выполните следующие настройки:

  • Группа партий обработки волны — выберите группу пакетов, которую следует использовать при первоначальной обработке волн. Последующая обработка распределения может выполняться с использованием других пакетных групп.
  • Обрабатывать волны в партии — установите значение Да, чтобы использовать параллельную обработку.
  • Ожидание блокировки (мс) — введите время (в миллисекундах), в течение которого на данном этапе распределения будет ожидаться системный ресурс, заблокированный на другом этапе распределения. По истечении этого времени волна не будет обрабатываться, и отобразится сообщение об ошибке. Рекомендуется выделить по крайней мере несколько секунд, чтобы дождаться завершения распределения одной логической единицы.

Сведения об этих и других вариантах обработки параметров волны на странице Параметры управления складом см. в разделе Складские параметры для обработки волн.

Методы обработки волн

Чтобы настроить параллельную обработку:

  1. Перейдите в раздел Управление складом > Настройка > Волны > Методы обработки волн.
  2. Выберите метод allocateWave в сетке.
  3. В панели операций выберите Конфигурация задач.
  4. Откроется страница Конфигурация задачи метода разноски волны. В этой сетке перечислены все склады, для которых был настроен метод allocateWave. Параллельная обработка будет использоваться только для перечисленных складов. С помощью кнопок области действий можно добавлять или удалять склады из сетки по мере необходимости.
  5. Для каждого склада задайте следующие параметры:
    • Максимальное число пакетных задач — укажите количество пакетных задач, которые должны использоваться для распределения для выбранного склада. Оптимальное количество пакетных задач зависит от доступной инфраструктуры и от того, какие другие пакетные задания обрабатываются на сервере. Тесты, выполненные в четырех основных средах, которые были назначены для обработки волны, показали, что использование восьми задач дает хорошие результаты.
    • Группа партий обработки волны — определенные группы партий могут использоваться для различных складов, что позволяет выполнять масштабную обработку распределения для каждого склада.

Рекомендуется настроить метод allocateWave так, чтобы он выполнялся параллельно для всех юридических лиц, так как это помогает повысить производительность обработки волн. Начиная с Supply Chain Management версии 10.0.17, функция Метод параллельной обработки для распределения волны включена по умолчанию для всех новых и обновленных установок и не может быть отключена снова. После включения этой функции происходит следующее:

  • Метод allocateWave обновлен для включения параметра конфигурации задачи, который позволяет использовать страницу Методы обработки волны для определения количества одновременно выполняемых задач, эквивалентный количеству параллельных процессов. В результате время, используемое на шаге распределения (обычно от 30% до 60% от общего времени обработки), уменьшается на коэффициент, примерно равный числу задач. Кроме того, можно выбрать, какой пакет будет назначен для выполнения этих задач. Важно отметить, что все ваши юридические лица будут настроены на обработку волн в пакете. Для складов, которые уже настроены для обработки волн в пакете, и для складов, уже настроенных для использования метода allocateWave параллельно, существующая конфигурация будет сохранена.
  • По умолчанию все новые юридические лица настроены для обработки волн в пакете. Все новые склады с включенным параметром Процессы управления складом будут иметь метод allocateWave, настроенный на работу в параллельном режиме по умолчанию.
  • На странице Параметры управления складом параметр Обрабатывать волны в партии имеет значение Да, а параметр Ожидание блокировки (мс) по умолчанию равен 15 с. Это означает, что все волны будут выполняться в партии. Когда выполняется волна, она получает блокировку номенклатуры и аналитик над местонахождением во время выполнения шага распределения. Когда другая задача обработки волны пытается получить такую же блокировку для идентичной записи, она блокируется до завершения текущей обработки. Параметры Ожидание блокировки (мс) устанавливают максимальное время, в течение которого система будет ожидать снятия блокировки.

Для параллельной обработки распределения необходимо, чтобы обработка волн выполнялось в партии. Таким образом, вы уменьшите производительность обработки волн, если отключите параметр Обрабатывать волны в партии, особенно если обработка волн выполняется с использованием параллельного процесса, как определено в конфигурации задачи для соответствующих методов волны.

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

  • Перейдите в раздел Управление складом > Настройка > Параметры управления складом. На вкладке Обработка волны примените предпочтительные значения для параметров Обрабатывать волны в партии и Ожидание блокировки (мс).
  • Перейдите в раздел Управление складом > Настройка > Волны > Методы обработки волн. Выберите метод allocateWave. В области действий выберите Конфигурация задачи, чтобы открыть страницу со списком всех складов, где этот метод настроен на выполнение параллельно. При необходимости измените или удалите число пакетных задач и назначенную группу волн для каждого перечисленного склада.

Устранение неполадок

Устранение неполадок при использовании Центра действий

Так как используется платформа пакетной обработки, ошибки, происходящие во время обработки волн, фиксируются сообщения Центра действий, которые генерируются каждым пакетным заданием. Для чтения пакетных заданий, связанных с волной:

  1. Перейдите в раздел Управление складом > Исходящие волны > Волны отгрузок > Все волны.
  2. Выберите волну, которую хотите проверить.
  3. В области действий откройте вкладку Волна и в группе Волна выберите Пакетные задания.

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

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

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

Ошибки пакетных задач также входят в журнал пакетных заданий. Как правило, наиболее важные сведения находятся в конце.

В редких случаях, например, если соединение с SQL-сервером завершено, возможно, что обработка волны заканчивается в несогласованном состоянии, когда пакетное задание выглядит работающим, но обработка остановлена. Волна не может обработать такие ошибки, поэтому попытка очистки невыполненных волн происходит при следующем запуске волны. Если текущая волна находится в несогласованном состоянии, можно также выполнить следующие действия:

  1. Перейдите в раздел Управление складом > Исходящие волны > Волны отгрузок > Все волны.
  2. Выберите волну, который необходимо очистить.
  3. В области действий откройте вкладку Волна и в группе Волна выберите Очистить данные волны.

Устранение неполадок с использованием журнала хода выполнения волны

Если параметр Создать журнал хода выполнения волны включен на странице Параметры управления складом, то запись журнала создается каждый раз, когда выделение для номенклатуры и ее аналитик начинается и завершается. Этот журнал следует включать только в том случае, если это необходимо, например при первоначальном тестировании или для устранения неполадок. Если этот параметр включен, можно просмотреть журнал, выполнив следующие шаги:

  1. Перейдите в раздел Управление складом > Исходящие волны > Волны отгрузок > Все волны.
  2. Выберите волну, которую хотите проверить.
  3. В области действий откройте вкладку Волна и в группе Волна выберите Ход выполнения.