Лучшие подходы к управлению запасами электронной коммерции - PullRequest
0 голосов
/ 09 декабря 2010

Каковы лучшие (или, возможно, наиболее часто используемые) подходы для согласования фактических запасов с указанным или предложенным для продажи с корзиной для покупок?

Заранее спасибо, Мэтт

1 Ответ

0 голосов
/ 09 декабря 2010

Ну, у вас есть несколько проблем.

На базовом уровне это "легко". Просто используйте классические методы транзакционной обработки, чтобы сохранить номера акций и строки ввода заказов относительно запасов. Если у вас есть 10 доступных, а кто-то заказывает 1, то зафиксируйте позицию с количеством 1, в то время как вы увеличиваете «зафиксированное» количество на предмете инвентаря. Когда вы отправляете предмет, удалите один из На складе, а другой из Совершенных. В наличии - совершено = доступно.

Итак:

          In Stock   Committed    Available
 Before:     10          0           10
Ordered:     10          1            9
Shipped:      9          0            9

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

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

Номер на складе может быть просто неверным. Это могло быть неправильно использовано, склад может быть поврежден, «усадка сотрудника» и т. Д. Все может пойти не так. Таким образом, любое обязательство перед клиентом, которое вы фактически отправите, то, что вы обещали, должно иметь этот маленький * рядом с ним в качестве отказа от ответственности.

Затем вы переходите ко всем вопросам обратного заказа, отмены и исполнения.

...