关于数据交换 数据同步 有详细说明 20fredrickhu]

发布时间:2017-2-23 8:23:47 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"关于数据交换 数据同步 有详细说明 20fredrickhu]",主要涉及到关于数据交换 数据同步 有详细说明 20fredrickhu]方面的内容,对于关于数据交换 数据同步 有详细说明 20fredrickhu]感兴趣的同学可以参考一下。

具体描述如下:                客户要求做一个c/s 结构的应用系统,这个系统要求先在分公司部署一套系统,总部也部署一套一模一样的系统,然后分公司把业务数据实时的交换到总部服务器的数据库(总部要实时监管),请问用什么样的数据交换同步方式最好?说明一下,客户的总部和分公司之间没有专线连接, 只能通过一般internet连接。 大概的需求就是这样,看看大家有什么好的方法没有?    我现在有两个方案: 1、通过每一个表建一个交换状态字段,然后根据交换状态选取未交换的数据,通过webservice把数据传输到服务器端,然后更新到总部数据库(整个过程写在一个事物里面,如果有异常就回滚)。 2、建一个日志表,把分公司数据库的每一次数据库操作的sql语句全部记录下来,实时的传输到总部,总部把客户端的数据库操作语句全部重新执行一遍,(有点相当于数据库的日志文件用来恢复数据库操作一样)   大家分析下那种好? 或者给出更好的方案

个人认为, 采用第二种要好一点,    第一种只靠一个字段可能根本不足以表示数据的变化,  第二种也可以用webserices来传执行语句

总部直接连接分公司数据进行监管,反正总部和分公司之间要建立连接的

引用楼主 gongdaiming 的帖子:1、通过每一个表建一个交换状态字段,然后根据交换状态选取未交换的数据,通过webservice把数据传输到服务器端,然后更新到总部数据库(整个过程写在一个事物里面,如果有异常就回滚)。 2、建一个日志表,把分公司数据库的每一次数据库操作的sql语句全部记录下来,实时的传输到总部,总部把客户端的数据库操作语句全部重新执行一遍,(有点相当于数据库的日志文件用来恢复数据库操作一样)在项目实施过程中,通常同时采用楼主的1和2方法。 分公司每次操作的SQL语句全部记录下来,不可能实时发生,通常在相应表中还是会有交换状态。 所以满足交换状态时的数据都可以在某时间点同步至总部,是个较好的方式。但是在项目上线后,要观察是否有数据漏的情况发生。

使用复制不行吗?

如果总部需要的只是监管,不合分公司发生数据交换,用发布订阅就可以了。

学习中..顶了.

个人认为1,2都不是好办法:    首先: 1,只一个发布状态标记字段是不够的,过于简单,实际中问题会远比这多;            比如:如何体现删除,更新的记录;如果数据总库被恢复到之前某个版本状态,你的状态如何区分;            再者,你如何真的能把这一系列操作动作,保证为一个真正的事务.          方法2: 如果总部就是分库的复制版本,且你的业务应用程序还正在开发或者还没开发,也许可以.            但,如果,以后,公司再有一个分公司,怎么办? 且如果应用开发已经完成,或者即使没完成,这个方法能保证同样的SQL 在两个数据库是等价的么?且增加的工作量也不小.与应用程序过于紧偶合,潜在风险过多,适用性也太窄.           

本人有过类似案例,有兴趣,可以交流:  QQ:16258699

MARK

学习中......强烈顶!

正碰到这个问题呢, 求觖

引用 5 楼 orochi_gao 的回复:如果总部需要的只是监管,不合分公司发生数据交换,用发布订阅就可以了。 发布应该是个不错的选择...

应用发布订阅是不错的

关注

进来学习了

期待更多的讨论.

革命不是请客吃饭,不是做文章

关注!!学习!!

应该用发布订阅就行了。 既然数据库本身有的功能,为何不用呢?

  用sql的复制功能可以很好解决

关注~

MARK

发布当然最好,但是问题是企业无法达到专网的要求,只是采用普通的互联网拨号连接

关注~~

上一篇:一个XMLA的问题问了两天没人回答,现在问个简单的:有哪个达人用的是英文版的SQLServer2005 Analysis Services,真心的感谢你! 100vicvin]
下一篇:SSIS错误处理 100you_tube]

相关文章

相关评论