关于分销的库存同步问题------做电子商务的必进!

关于分销商的库存同步问题:

在此写这篇文章,是想和大家探讨一下解决方案。小弟不才,只想出三种解决方法,但是每种方法都不尽人意,希望做过类似东西的进来探讨一下。

现把三种方法分别列举如下:

第一种:写一个服务程序,让此程序在每隔一定时间(比如说10分钟)查询一次库存表,然后去更新分销商的库存。

  优点:如果做了数据库的读写分离,数据库服务器的压力应该是比较小的,如果没做分离,说明业务量不大,直接在数据库上查询,也不会耗费多长时间,对服务器的压力也影响不大。

  缺点: 1、库存变化后,不能及时更新到分销商,因为服务更新库存需要一定的时间间隔。

      2、按库房有4000件商品来计算的话,每一家分销商都需要更新4000次(如果分销了4000种商品的话),如果有N家分销商,则需要更新N*4000。则每次循环的时候,有很大一部分库存根本是没有变化的,等于是做了无用的操作,浪费了服务器资源。

第二种:在进销存系统中,当商品出库时,将有库存变化的商品信息及数量写入消息队列,然后用一个服务程序去更新分销商的库存。

    优点:各个分销商的库存都是及时更新,和本地库存完全同步,并且和第一种方法比的话,减少了库存没有变化的商品的更新。

    缺点:在进销存程序里边需要加入写消息队列的操作,是不是不属于进销存范围?会不会把进销存系统弄得臃肿了?关于分销商的商品库存不应该在本地的进销存处理吧。

  在这里我也有上一行的两个疑问,有人能帮我解答

第三种:写一个异步将商品信息,及库存写入消息队列的win32程序,用数据库的触发器来触发此win32程序,用服务来处理消息队列,更新分销商的库存。

    优点:和第二种方法相比,此方法和进销存无任务关系,算做是和进销存程序解偶吧。

    缺点:数据库的触发器比较消耗性能,出库比较频繁的话,数据库应该是吃不消的,虽然我没有统计过具体数字。触发器是个好东西,但在系统中还是少用或者不用为妙(我一直这么坚持的)。

 

我的三种方法已经写完了,我们现在采用的是第一种方法。

我个人对以上三种方法按优劣排序的话是:第二种,第一种,第三种

现在问题出来了。我的上级领导让使用第一种方法,他的理由就是第二种方法的缺点。

我虽然给这三种方法优劣排序,但我认为这三种方法都不太好,有没有一种方法,能把第一种和第二种方法的优点结合起来呢?

希望知道其它公司是怎么处理这样的问题的。

 

文章写得简单一点,能明白大概意思即可,节约大家宝贵时间。其中关于服务器架构,网络等因素都忽略。

 

 

 

posted on 2011-11-18 01:46  李国清  阅读(6553)  评论(23编辑  收藏  举报

导航