程序网络版的问题
现在我在尝试做一个我跟朋友开的干洗店的管理软件.
情况是这样:
我们在同一个城市,开了三家干洗店,一家总店,里面有洗衣设备,负责洗衣等.其它两个网点,只负责收送衣服并登记系统里,衣服都拿来总店洗.所以需要数据共享.
目前,按照我自己的能力,第一个版本选择了最简单的办法:
我在电信拖管了一台服务器,上面安装了SqlServer2005作为数据库服务器,总店和网点都都过WinForm程序直接连上网远程连接服务器,实时操作同一个数据库.实现各店铺数据共享.当然,我自己都认为这样的办法,不是最好办法,万一一台连网很卡或是断网就出现问题.现在临时的解决办法是,我都在本地客户端记录一些重要的数据操作,发生问题,就去查记录,然后修复数据库.
但我想这不是最好的办法,因为能力有限,都只是自学,井底之蛙.所以想请教大家
1-如果是正规的软件开发商们会怎么处理这种情况?.
2-根据查找互联网资料,我能想到的办法是网点和服务器都安装数据库,这样单机也能用.然后利用数据库本身的复制功能同步?但又没操作过,网上的资料也只是说可以复制,但没有说一方掉线很久,连网后会不会也能复制同步?然后这种同步技术有什么缺点,可靠吗?我都不明白.
3-是不是这样的程序,根本不应该这样设计,那又是该怎么设计为好?能告诉大致的思路吗?告诉我关键的思路就行,我可以搜索相关的技术.当然越详细越好
------解决方案--------------------批量复制数据,你可以通过VS2008的business intelligence development来定制方案(支持跨数据库)
整个通讯可以基于WCF/Socket
客户端每新增一批/条数据,就主动发送给服务端(带上分店ID和批次/明细ID),根据服务端那边返回的(存储成功/失败)标记再保存至客户端数据库
补发:客户端中每5-10秒,看有无待发送或发送失败的纪录,有则发送
服务端那边插入纪录时根据分店ID和批次ID判断纪录是否已存在再插入,并返回是否成功
------解决方案--------------------如果数据实时性要求不强的话,你的方案问题不大。为了防止断网,可以允许用户使用本地的数据库,每个分店的数据有自己的标识,连线同步一下。
------解决方案--------------------可以使用wcf web service实现一个applcation layer在你的major server上。
分店可以使用local database保存一些数据。