关于总店与分店之间的数据交换

来源:互联网 发布:linux route add net 编辑:程序博客网 时间:2024/04/29 22:18
我有一个客户是开超市的,有两家分店,和一家总店,客户要求这三家店要数据连起
来(这三家店用到电信宽带上网,分店拨vpn到总店服务器的方式进行连接),可以在任
何地方
都可以查看数据。
      我的第一个解决方法,在总店里安装一台双CPU至强8核,可超线程达到16核的5520的
cpu,12G的内
存,服务器主板,双硬盘,两家分店一共有15台pos机,用vpn拨号到服务器
里,直接pos开单。由于超市
的商品比较多,我这个客户的超市的商品就超过了4万种单品,
所以用vpn直接连服务器开pos单时,就觉
得很慢了,因此客户一直让我用其它方法来改进速
度。
      第二种解决方法,用远程桌面来解决,这种方法是在服务器利用远程桌面技术,在POS机
里,先拨
vpn,然后单击客户端的xp系统的远程桌面连接,直接连到服务器上,在服务上开
pos单,这样就可以解
决开单的速度,开单速度基本等同于单机操作的速度了。但是出现另外
一个问题,在远程桌面技术,根
本不能实现顾客显示屏和弹钱箱的功能。有时候连POS打印机
都无法打印,按道理讲,在服务器端安装了
POS打印机的驱动程序,在客户端也安装同样的
POS打印机的驱动程序,那通过远程桌面计术是应该可以
打印出来的,就是奇怪的是不是每一
次都行。但是用lq300k、lq1600k针式打印机、激光打印机、喷墨打印机就不会出现这种问
题的。
      第三种解决方法,用下载数据和上传数据的方式,在每一个POS机都有xml数据库,每天
上班,用户
连vpn到服务器,然后下载了商品资料、分店价格体系、电子称的信息、用户权限
等等下载到本地的xml
数据库里,POS开单也是连接本地的xml数据库进行开单。到了换班的
时间,连接vpn,把pos的销售数据
上传数据到服务器里,上传完毕后,删除本地xml的pos销
售数据。这种方式,即解决POS打印机、弹钱箱
、顾客显示屏的问题,也解决了速度的问题,
因这样开POS销售单的速度已经是单机操作的速度了,速度
当然是快好多了。但是也存在着另
外一个问题,就是xml数据库容易破坏,只要pos机稍微出现死机,不
正常关机的情况下,
xml数据库就非常容易破坏,我的客户在用这种方式时,一个星期至少有一到两台
pos机出现
xml破坏,并且pos的销售数据全部丢失。
      第四种解决方法,也是用下载数据和上传数据的方式,不过,这次数据库改成sql2008
了。在每一
个分店里,都有一台服务器,我称之为前端服务器,这台前端服务器的配制要求i3
的cpu和4G内就可以了
。所有分店的pos机都连接到前端服务器里,我就利用了sql2008的分
布式数据库的方式,实现从中心服
务器下载基础数据,如商品资料、分店的价格、会员资料、
电子称信息、用户的权限密码等等,在局域
网开完单后,利用sql2008的代理服务的作业自动
上传数据到中心服务器(中心服务器也是安装sql2008数据库的),上传完毕后,把前端服务器
的数据全部删除掉。我当时用了msdtc、服务器之间的信任、上传数据用到远程事务,这样保
证了数据完整性,不会出现数据的丢失,我做了一个自动上传和下载的功能,每天晚上22点
自动上传数据,22点30分自动下载基础数据,这样用户在第二天早上上班就不需要再下载基
础数据了。这种方法是彻底解决的方案,既解决了pos打印、弹钱箱、顾客显示屏、pos开单
的速度,也解决类似xml数据容易破坏,由于上传完pos销售数据,并且把前端的pos销售数
据全部删除,也保证数据不留在前端服务器上。当然在下载和上传的数据时,做了好多机制限
定,比如上传数据时,是否会出现重复上传,比如上传的过程中实然断线,上传了一半,数据
如何处理,还有就是下载时,下载一半时,突然断线,又如何处理等等问题,都做了限制。
       用第四种方法,还有另外一个好处,就是在网络环境不佳的情况下是一非常好的选择方
式,对网络要求就降低了很多。用第二种方法,除非客户不太要求弹钱箱和顾客显示屏的时
候,而且在网络非常稳定的时候,也是不错的选择。其实最好的解决方案是在POS零售开单时用
第四种方案,后台的进仓、调拨、一般的销售、各种数据的查询就用第二种方案,两种方案相
结合,效率会提高很多,其实在我的超市客户里,只要是用到总店与分店形式,都采用第四种和第
二种方案相结合。
原创粉丝点击