关于连锁店系统各分店间数据同步问题!各位大侠请进。(100分)

  • 主题发起人 主题发起人 cicn
  • 开始时间 开始时间
C

cicn

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在做一个商品销售的管理程序大概是这样的要求:
所有的进货都从总店进,下面各份店通过调拔方式把商品分发下去。 总店下面有很多个分
店,且分店与总店的距离很远(有在不同城市的)。每个分店都有一台电脑来管理这些商品,
一些基础数据据在各分店及总店都一样。如商品编码,用户也要统一管理,登录权限由总店设置
每月的汇总要求在总店进行。所有的调拨都从电脑上进行。
现在的问题是:我怎么同步各分店的数据(连网是不可能的)?不需要实时同步。
大家有什么好的建议提出来吧! 对做这种连锁店系统怎么处理好一些呢?
 
用电话线进行通讯不行吗?
什么时候用,什么时候进行数据传输。
 
我觉得你可以研究一下SQL SERVER的订阅与发布,设置好后是全部自动完成的,当然电话
线是肯定要的
 
但分店有独立的数据库,更新时只是把不同部分相互同步一下,
一般每天都要更新一次。
 
去看看速达的POS系统把
 
大型数据库都提供数据同步功能,你可以考虑一下。
如果自己做就需要做联机事务
 
速达的pos也不怎么好。 它也不是实时数据同步。 

你还是自己在后台写一个更新包, 然后前台自动读取这个更新包的内容,写到本机。

这样就确保数据的一致
 
以下是我的经验,系统运行快两年了。

数据库复制技术在Internet上的实现

1. 引言
在开发跨地域进销存管理系统时,如何实现不同地区的数据同步,如何保持数据的一
致性、及时性成为系统成败的关键。我们成功地解决了这个问题,现介绍如下。

系统环境
数据库系统:SQL Server 7.0
操作系统:WINDOWS NT 4.0,IIS4.0
网络:销售中心通过一条专线连接到Internet,各地区分销点通过modem拨号连接到
Internet。


2. 复制策略
综合考虑各种因素,如数据联系的紧密程度、网络的可靠性、费用等,我们选择分
散处理数据,定时同步数据的方式。为此,我们把数据分为两类:只需单向复制的数据
(例如系统的基础数据、一部分日常处理的数据? 、需双向复制的数据(一部分日常处
理的数据) 。 只需单向复制的数据又可分为:由销售中心维护,分发给各分销点的数
据;由各分销点维护,汇总到销售中心的数据。不同类型的数据需采用不同的复制策略。

由销售中心维护,分发给各分销点的数据
在销售中心的SQL Server上设定其自身作为出版服务器和分发服务器,定义好出版
物,采用事物复制模型和匿名订阅方式。在分销点的SQL Server上设定拉式订阅。
由各分销点维护,汇总到销售中心的数据
在分销点的SQL Server上设定其自身作为出版服务器和分发服务器,销售中心的SQL
Server作为订阅服务器。定义好出版物,采用事物复制模型。并设定推式订阅,将数据
复制到销售中心。
需双向复制的数据
在销售中心的SQL Server上设定其自身作为出版服务器和分发服务器,定义好出版
物,采用合并复制模型和匿名订阅方式。在分销点的SQL Server上设定拉式订阅。
为什么采用上述复制策略呢?这是因为销售中心的计算机上有固定IP,而分销点的
计算机上只有动态IP以及数据有不同的分类。

3. 应注意的问题
A. 在销售中心的SQL Server上用Client Network Utility正确设置网络连接。选择程序
组Microsoft SQL Server 7.0中的Client Network Utility菜单,在弹出的SQL Server
Client Network Utility对话框中点击Add按钮,在弹出的Edit Network Library
Configuration对话框中输入服务器别名centerdb,在Computer name文本框输入销售中
心计算机的IP地址,在Port number文本框中输入端口号,缺省是1433,在Network
librarys单选框中选择TCP/IP

B. 在销售中心的SQL Server上设置出版物允许通过FTP下载快照(snapshot) 。在
SQL Server Enterprise Manager中选择tools-Replication- Create and Manage
Publications,在Create and Manage publications对话框中创建出版物,出版物创建
后选择所创建的出版物,然后点击Properties&Subscriptios按钮,在出版物的Properties
对话框中的Subscription Options页框上选择Allow snapshot to be downloaded using
FTP(File Transfer Protocol)。

C. 在销售中心的Windows NT Server上设置FTP站点。选Microsoft Internet Information
Server-Internet Service Manager。点击FTP service设置FTP属性,设置FTP站点的IP地
址为销售中心计算机的IP地址,FTP站点的目录为/Mssql7/Repldata/Ftp。


D. 在分销点的SQL Server上设置拉式订阅, 在SQL Server Enterprise Manager中选择
tools-Replication-Pull Subscription to …按照向导创建拉式订阅,在创建过程中注
意选择Yes,use FTP to Copy the snapshot files。

好了,你现在对怎样在Internet上实现数据库复制应该有了清晰的思路。接下来就不
难完成设置的细节部分了。


 
可以使用Socket联接,把数据打包成insert or delete or update加快服务器的运行效率,
如果要取到服务器的数据,只要在连网的时候,想服务器要数据就可以了
 
有力出力,有錢出錢。

那我隻能出力了。 :P
 
若没有固定IP如何处理?
 
大家继续!这个问题很急!
 
online all day..
 
其实我也一直在考虑这样一个问题,我认为的解决方案用新的技术可能会比较完美一点。
WEB SERVICE 加客户端,所有的数据放一个数据库,然后通过WEB SERVICE 做客户端,
所有的处理做成 WEB SERVICE就行了。
也不一定要全部联机,需要处理时就联机就行了,服务器可得联上。
另外一种就是做成b/s结构,外加ACTIVEX就可以在本地打印了。
 
可以让分店每天拨号到总店,然后在程序中同时连接两个数据库,进行数据同步操作。。
 

Similar threads

D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部