中心服务器和分区服务器的数据交互
来源:互联网 发布:扒一扒淘宝oem化妆品 编辑:程序博客网 时间:2024/05/17 00:13
要求: 目前有多台服务器,每个服务器上面都利用数据库存储了数据,当然很有可能数据库表有多个,但是数据库表的个数是有限的几个,现在需要使得每个服务器上面的数据库数据同步.每个服务器仅能对表中的一些数据进行修改.
例如:多台服务器共同完成数据库表 userTable(name,password)的同步工作.每台机器只能修改自己对应的name的password.
解决方法: 利用一台机器作为中心服务器,中心服务器上部属Web Services实例,
每日每台其他服务器对数据库表内容的操作(insert,delete,update)都形成XML文件日志(这里参考了《Web Services技术、架构和应用》的page 206的方法)
方法大致如下:
SELECT USERNAME, PASSWORD FROM TBL_USER
转换为=》
<dbtrans name=”selectUser” table=”TBL_USER” method=”select”>
<get>
<property name=”username” type=”string”/>
<property name=”password” type=”string”/>
</get>
</dbtrans>
各机器调用Web Services服务将自己的日志上传到中心服务器,中心服务器按照内部的权限核对这些操作的合法性,最后综合各地日志,形成总的数据库的操作日志XML文件.各个服务器调用Web Services服务下载总的数据库的操作日志XML文件.,到本机重新构造SQL事务,完成数据库的同步操作.
原因:很有可能各个数据库(MSSQL,Oracle等)不同,所以无法直接利用数据库系统中的同步功能, 另外,利用XML,可以实现跨越防火墙.
问题:
1)我仅实现两个服务接口,上传XML日志文件,下载XML日志文件,不知道如何用web services传送xml文件。soap传送的xml文件是根据接口自动生成的,俺怎么声明我的接口那?难道如下声明:
void upload ( string )
^^^^ < <--- 这里把整个数据库操作的日志文件都放到string里面,传入?
string download()
^^^^ < < <----这里把整个数据库操作的日志文件都放到string里面去,返回?
2)我的解决方案有不妥的地方么?因为涉及到几个具体的表,我把对这几个表的所有操作都用同样的schema描述,将表名,表的字段都封装到里面去了,这样是否适合那?是否应该将对这几个表的操作分开来完成,写多个接口程序,完成表的同步呢?
可能我这段说的不清楚,总之如果是您需要完成此任务,会有更好更适合的办法么?
例如:多台服务器共同完成数据库表 userTable(name,password)的同步工作.每台机器只能修改自己对应的name的password.
解决方法: 利用一台机器作为中心服务器,中心服务器上部属Web Services实例,
每日每台其他服务器对数据库表内容的操作(insert,delete,update)都形成XML文件日志(这里参考了《Web Services技术、架构和应用》的page 206的方法)
方法大致如下:
SELECT USERNAME, PASSWORD FROM TBL_USER
转换为=》
<dbtrans name=”selectUser” table=”TBL_USER” method=”select”>
<get>
<property name=”username” type=”string”/>
<property name=”password” type=”string”/>
</get>
</dbtrans>
各机器调用Web Services服务将自己的日志上传到中心服务器,中心服务器按照内部的权限核对这些操作的合法性,最后综合各地日志,形成总的数据库的操作日志XML文件.各个服务器调用Web Services服务下载总的数据库的操作日志XML文件.,到本机重新构造SQL事务,完成数据库的同步操作.
原因:很有可能各个数据库(MSSQL,Oracle等)不同,所以无法直接利用数据库系统中的同步功能, 另外,利用XML,可以实现跨越防火墙.
问题:
1)我仅实现两个服务接口,上传XML日志文件,下载XML日志文件,不知道如何用web services传送xml文件。soap传送的xml文件是根据接口自动生成的,俺怎么声明我的接口那?难道如下声明:
void upload ( string )
^^^^ < <--- 这里把整个数据库操作的日志文件都放到string里面,传入?
string download()
^^^^ < < <----这里把整个数据库操作的日志文件都放到string里面去,返回?
2)我的解决方案有不妥的地方么?因为涉及到几个具体的表,我把对这几个表的所有操作都用同样的schema描述,将表名,表的字段都封装到里面去了,这样是否适合那?是否应该将对这几个表的操作分开来完成,写多个接口程序,完成表的同步呢?
可能我这段说的不清楚,总之如果是您需要完成此任务,会有更好更适合的办法么?
- 中心服务器和分区服务器的数据交互
- 客户端和服务器数据交互
- CentOS服务器数据盘分区和格式化
- ssh配置客户端和服务器的交互json传递数据
- Android客户端和服务器数据交互
- 客户机与服务器的数据交互
- 客户机与服务器的数据交互
- Unity3d和服务器交互
- 关于服务器的分区
- 手机客户端和服务器的交互步骤
- Android和服务器servlet的简单交互
- 【ASP.net】浏览器和服务器的交互
- 浏览器和服务器之间的交互
- 实现服务器和客户机的交互
- 浏览器和服务器的交互简单原理
- 浏览器和服务器的交互过程
- 用idhttp post 方法发送数据到服务器上。实现数据和网页的交互。
- Android与服务器交互数据
- windows phone 7环境安装
- java中的值传递和引用传递
- int string之相互转换,java
- JVM调优总结(十二)-参考资料
- 如何通过CSS样式设置单元格显示内容的长度
- 中心服务器和分区服务器的数据交互
- 海量数据处理相关知识收集
- MVC框架设计思想与设计理念
- [Cocoa]深入浅出 Cocoa 之多线程 NSThread
- redis的简单使用和介绍 linux(centos 5.4) redis install
- JQuery中的html(),text(),val()区别
- Java深度历险(一)——Java字节代码的操纵
- 字符串换行显示
- Hadoop为海量数据BI带来希望