作者erttyy8821 (侠)
看板java
标题[问题] 同步资料
时间Thu Aug 13 15:24:33 2015
(更新描述
想问问版上的先进关於"值"同步的问题
远端Server的DB A Table 有a,b,c三个栏位
在本地端的DB B Table 有 b,c 两个栏位
彼此用http get透过JSON沟通
我想问有没有保持DB里面的b,c的"值"持续相同的方法
就是A可能新增,删除,修改
我的本地端 get到server的值之後 要保持双方资料一样
目前有用过两种方法
1.
下载完资料後
用两个for回圈来捞出本地和远端的资料互相比较
如果本地有远端没有就砍掉,反之就新增,相同的话就看需不需要更新
2.
资料更新後有一个Timestamp去记录
比对本地与远端的Timestamp来决定要不要砍掉资料重写
或者像1一样开始比较
其实我想知道有没有其他的做法
总觉得这样不够聪明
不然这样做比对其实也可以解决问题
有Google过,但也不知道有什麽关键字查询比较好
先谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.64.226.149
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1439450675.A.D02.html
1F:推 ckvir: git 可以吧 08/13 16:28
2F:→ erttyy8821: 我是指java中的资料 不是指版本控管啦 哈 08/13 16:31
3F:推 ckvir: 你的db是什麽? 08/13 16:34
4F:→ erttyy8821: 远端server有database 本地端程式有database 08/13 16:37
5F:→ erttyy8821: 要同步彼此的资料内容 08/13 16:37
6F:→ erttyy8821: 透过API做资料的交换 08/13 16:38
7F:→ ckvir: 我是说 db 是用 mysql 还是你用文字档,有很多种 db 08/13 16:39
8F:→ ckvir: 文字档的确可用 git 同步,mysql 可以查 replication 08/13 16:40
9F:推 darrenlu: 还有需要考虑同步的频率 08/13 16:50
10F:→ erttyy8821: 主要是mqsql 感谢你我会去查 08/13 17:19
11F:→ erttyy8821: 频率我有解决了 这点倒还好 08/13 17:19
12F:→ erttyy8821: 不过我其实倾向的还是演算法或者api/lib可以解决 哈 08/13 17:21
13F:→ erttyy8821: 类似json 有gson比较方便调用的方法 08/13 17:21
14F:→ erttyy8821: 因为我比较需要的是资料 而不是整个db 栏位可能不同 08/13 17:23
15F:→ luoqr: 要先问目的是什麽会决定用什麽策略解决这个问题 XD 08/13 19:20
已经更新了描述 不好意思!
※ 编辑: erttyy8821 (1.174.240.153), 08/13/2015 20:52:01
16F:推 yyc1217: 用timestamp要考虑两边时钟准不准的问题 08/13 22:25
17F:→ erttyy8821: 感谢提醒 08/14 09:47
18F:→ KekeMonster: 感觉你一次都会拿到一份完整的资料 08/14 16:17
19F:→ KekeMonster: 可考虑用 bulkload 到一个暂时资料表再 rename 取代? 08/14 16:17
20F:→ flowwinds: 变动时, 变动那方发http request通知另一方? 08/20 02:31