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