数据同步方案求解!请大家一起讨论!

leosee 2001-08-14 12:35:24
最近在做一个项目:
项目中要求客户A网上的数据库部分数据和客户B的数据库(两套系统都在internet网上)进行单向同步,即 A数据库部分数据单向同步到B数据库 。

客户A
linux+mysql
客户B
winnt+oracle

考虑过多种方式比如通过socket通讯等方式。考虑到即要跨平台,而且数据库又不同。所以想到是否可以通过XML的方式来进行数据通讯
比如我们公司将部分数据生成XMl放在web目录,由客户公司通过http协议的读取XMl文档再导入到数据库中
不知这种方式是否可行,安全性如何或者有其他更好的同步方式
...全文
376 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
VictorYu 2001-09-11
我们以前对实时的要求比较高,我们又是一个企业内部的应用。你可以看一下我们的方法对你是否有用。
A-》B
前提是A数据的修改是可以被处理的,如INSERT,UPDATE,DELETE是通过自己写的程度进行处理。在这前提下写一个通用的JAVA程度,将每一条数据的改变封装成XML文档,用RMI方式发到NT
端的SOCKET SERVER上;再使用XML Parser将数据解出放进B数据库。
回复
qinglinmeng 2001-08-21

longbow74() 提到的客户重要数据是个问题。好在我们有SSL专门解决这个问题。不过时间就长多了。平均成本可能要提高50倍。
回复
qinglinmeng 2001-08-21
1)动态的脚本比较容易进行安全验证,但安全性不高。
如果你的脚本编写水平够,应该非常高。具体的措施非常多,我就不罗嗦了。另外,可以将这个脚本所在的目录设置为禁止匿名访问,要求使用者必须输入一个账号才能使用(nt下没有问题,linux不太清楚了)。这个通过编程和手工都比较容易。详细见关于api帮助。

2)断了线我可就没有办法了。数据同步不管采取那种办法,线路载一段时间内一定要通畅的。就像ftp,中间断了线,也没办法。
因为只是增量同步,数据量应该不会很大。用adsl很快就应该结束。
如果线路实在不好,可以把一个工作分成几个来完成。每次一个或几个表。完成一个表做一个记录。断线后接着开始就行了。

amenglai(amenglai) 能不能讲一下SOAP/XML-RPC的事情,我在这个方面不是很熟。请指教。

回复
raindays 2001-08-21
用jms实现可以异步更新吧。
回复
longbow74 2001-08-20
我对这个方案很感兴趣,不知楼上的是否实现了。
另外1.动态的脚本比较容易进行安全验证,但安全性不高。(我觉得,不知有什么好的做法,有一些数据,如客户信息之类被偷走了可是损失惨重)
2.如果数据大些,中途网络掉线了怎么办?
回复
amenglai 2001-08-20
数据是同步的,如果你采用ftp方式,怎么叫同步?
想问一下,你是不是要修改原来的应用持续?
比如,原来的程序只是向A数据库中添加、修改、删除记录,现在你要修改这个程序,
把对应的记录写到XML文件中?
如果是这个样子就比较好办!SOAP/XML-RPC都能够解决你的问题,
不会有吊线的烦恼,也可以加密!
回复
qinglinmeng 2001-08-18
也许过程可以自动化一点:
首先,数据备份只能是增量备份。全部数据库生成一个xml会压垮你的系统。这可能意味着你要对数据库结构做一些改动,增加“是否脏”字段。然后写触发器,对insert, update 都设置为脏。删除的有点麻烦,需要一个临时表,存储删除的ID。
(这个方法很老土,你们如果有更好的方法,请告诉我,十分感谢。)
其次,XML完成这个任务是非常合适的。一个xml文件并不需要物理的生成,而是on-the-fly。就是说,每次客户端需要一个xml进行同步数据时,它都会访问服务器端的一个动态脚本,cgi,asp,jsp,php,这个动态脚本负责并不是生成一个html文件,而是一个xml文件。这就跟我们通过动态脚本生成客浏览的页面的原理是一样的。这种方式下,服务器端只需要一个脚本就可以了,非常简单,客户端因为需要对数据处理,可以制作成可执行文件,模拟浏览器进行http请求的发送(也不麻烦)。客户端分离出这个xml后,就可以方便的用dom得到数据。
进行数据同步的工作可以选择在深夜,制作一个计划任务,自动执行这个可执行文件。
最后,安全性问题。动态的脚本比较容易进行安全验证,可以自己写。如果数据十分重要,使用https取代http,防止在途中被截获。
这种动态的方案优于生成一个静态的xml文件的方法,一是节约空间,而是提高安全性,三是自动化。
回复
harezgq 2001-08-17
我也要解决相同的问题,可以考虑将XML文档放到FTP目录,客户公司通过FTP下载的方法得到XML文档,可以利用FTP功能本身的安全性.
你现在有什么好方法?能否一起探讨?
我的QQ:2237125
mail:harezgq@163.net
回复
相关推荐
发帖
XML/XSL
创建于2007-09-28

8824

社区成员

XML/XSL相关问题讨论专区
申请成为版主
帖子事件
创建了帖子
2001-08-14 12:35
社区公告
暂无公告