个人网站www.pixysoft.net设计系列: 数据库同步的思考

个人网站www.pixysoft.net设计系列: 数据库同步的思考

Introduction:
本网站使用WebService进行远程网站管理.因此有数据同步的问题

表结构设计

 



说明:
网站管理分为本地数据库(如上图设计)和网站数据库. 通过本地数据库管理网站数据库.
.SiteMapContent保存导航文件
.WebPageInfo保存本地文件的信息
.WebPageContent保存子网页内容
.网站同步以参考SVN的同步机制
.需要一个网站基本信息表维护数据同步

SVN同步情况分析:
 

子网页同步情况分析:
Pre-Condition:

Sync is based on the Primary Key of the data.

Flow:
本地A上传网站1条数据 LocalA: data1=V1; Web:data1=V1;
本地B管理网站:下载数据,数据一致。修改data1=V2.上传。LocalA: data1=V1; LocalB: data1=V2; Web:data1=V2;
本地A管理网站:本地修改数据data=V2。上传,发现网站上的也为V2.冲突。修改失败。

小结:
达到了数据同步目的。
但是每条数据都比较,效率很低,因此需要额外机制。

提高:
When local has change the data, it should mark it, and change the version.

When upload, the system just need to compare the marked data.

After upload, the system change back the mark.




 

posted @ 2006-11-09 13:20    阅读(445)  评论(0编辑  收藏  举报
IT民工