请问:用axis做不同地理位置服务器间的数据同步问题

peihexian 2004-06-10 10:23:57
1。要同步的表有五个,其中有一个大表中有150个字段,如果用axis写一个有150个参数的web service是否不科学?

2。这些表中有一些数据库是二进制的,如人员的指纹数据,用axis开发的web service能传二进制数据吗?是不是也要先转成string,再用base64去做一下编解码?

3。这五个表其实是主从表关系,一个主表加四个从表,在调用web service如果保证DB事务正确?

先问这么多,谢谢!
...全文
88 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilddonkey 2004-06-12
  • 打赏
  • 举报
回复
xiao xi
usabcd 2004-06-10
  • 打赏
  • 举报
回复
提醒一下楼主,可以先不要考虑这么具体的问题。
以我个人的经验觉得这种后期同步整个数据库的做法不是好的做法,开发繁琐,维护困难,同步时系统负荷比较重。有一个环节出了问题就全完了。最好把负荷分散,比如动态更新其他的数据库,这时用Web Service是比较合适的做法。就是主数据库每次更新数据时实时通知其他数据库更新。这样效率比较高,不容易出错。即使少量出错也不会有大问题。如果你确定非要一次同步整个数据库,可能也不适合使用Web Service,因为Web Service不是为这种大负荷的数据转移设计的。可以使用底层Socket传递经过压缩后的数据文件。
peihexian 2004-06-10
  • 打赏
  • 举报
回复
谢谢uasbcd,我的指纹数据不算太大,确实在30K以内,不过还有人员照片要传,回头我先试一下,有问题我再请教您。
usabcd 2004-06-10
  • 打赏
  • 举报
回复
放那么多参数显然不雅观,也不便维护。如果你两边都用java
将所有字段封装到一个map中即可。
直接在Web Service的RPC方法中以这个Map作为参数。
2进制数据转为字节数组即可。传递时axis自己会编码发送的。
编码过程对于你都是透明的,不需要你再关心了。
用Web Service传2进制数据最好不要太大,因为编码后数据变大
会引起效率损失的。我估计你的指纹数据应该不是很大在30k以内吧。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧