已经写好了同步规范文档,可惜这里无法贴图,就发一小段
发表于:2007-07-04来源:作者:点击数:
标签:
同步操作及相关数据 同步流程为先从客户端上传数据到服务器,再从服务器下载数据到客户端. 客户端上传至服务器 在客户端建立一张表记录客户端上的所有添加,更新,删除记录的操作,该表记录操作的对象记录所在表, 对象记录id和操作类型,操作时间.如下表所示: Tab
同步操作及相关数据
同步流程为先从客户端上传数据到服务器,再从服务器下载数据到客户端.
客户端上传至服务器
在客户端建立一张表记录客户端上的所有添加,更新,删除记录的操作,该表记录操作的对象记录所在表,
对象记录id和操作类型,操作时间.如下表所示:
Table SyncLog |
logid | tablename | recordid | operation | last_modify |
1 | Account | ACC9001 | insert | 16-四月 -2002 12:00:00 AM |
2 | Contact | CON8002 | delete | 18-四月 -2002 12:00:00 AM |
3 | Account | ACC9004 | update | 19-四月 -2002 12:00:00 AM |
Upload_Insert
记录表名,记录id,并根据表名和id去相应的表中查找相应记录,得到该记录每个字段的值.
Upload_Delete
只需记录表名,记录id
Upload_Update
记录表名,记录id,并根据表名和id去相应的表中查找相应记录,得到该记录每个字段的值.
客户端生成XML并发送
在进行下载操作的时候,先根据SyncLog表中的记录,提取相关数据,生成XML,再传送到服务器
<table name=”Account”>
<operation type=”delete”>
<record id=” ACC9001”/>
</operation>
<operation type=”update”>
<record id=”ACC9004”>
<field>
<name=”data1”/>
<type=”String”/>
<value=”hulala”/>
</record>
</operation>
</table>
服务器解析XML进行相应操作
服务器下载到客户端
是 否
比较最新下载时间和服务器上SyncLog表中的last_modify字段,看是否前者大于后者 |
是 否
在服务器建立一张表记录服务器上的所有添加,更新,删除记录的操作,该表记录操作的对象记录所在表,
对象记录id和操作类型,操作时间,Region.如下表所示:
Table SyncLog |
logid | tablename | recordid | operation | last_modify | region |
1 | Account | ACC9001 | delete | 16-四月 -2002 12:00:00 AM | user001 |
2 | Contact | CON8002 | insert | 18-四月 -2002 12:00:00 AM | user002 |
3 | Account | ACC9004 | update | 19-四月 -2002 12:00:00 AM | user001 |
Download_Insert
记录表名,记录id,region.并根据表名和id去相应的表中查找相应记录,得到该记录每个字段的值.
Download_Delete
只需记录表名,记录id
Download_Update
记录表名,记录id,region.并根据表名和id去相应的表中查找相应记录,得到该记录每个字段的值.
服务器生成XML并发送
在进行下载操作的时候,先根据SyncLog表中的记录,提取相关数据,生成XML,根据region进行过滤
再传送到相应的客户端.在生成XML的时候,取一次服务器上的当前时间戳,嵌入到XML中,记录最新
下载时间,下次进行同步的时候,用这个时间和服务器上SyncLog表中的last_modify字段进行比较,只去抓却那些last_modify中的时间大于最新下载时间的记录.
<datarow>
<table name=”Account”>
<operation type=”delete”>
<record id=” ACC9001”/>
</operation>
<operation type=”update”>
<record id=”ACC9004”>
<field>
<name=”data1”/>
<type=”String”/>
<value=”hulala”/>
</record>
</operation>
</table>
<time value=”18-四月 -2002 12:00:00 AM”/>
</datarow>
客户端解析XML进行相应操作
原文转自:http://www.ltesting.net