断网收银数据同步方案

最近做了个断网收银的项目,服务端使用SQL SERVER数据库,收银机使用ACCESS数据库。
做了个中间件来同步数据。

哪些数据需要同步?
新增的数据
修改过的数据
删除的数据(删除只是置删除标志位,可以视为修改过的数据进行处理)


需要同步的数据表统一预留俩个用于数据同步的字段:
字段名:CreateDate,数据类型:TDateTime,新增数据的时间戳;
字段名:ModifyDate,数据类型:TDateTime,修改过的数据的时间戳。

倘若需要同步的数据表内的数据小,可以不使用时间戳,而在每次同步数据之前,先删除表内的所有数据,然后再插入同步的数据。

如此编程最为简单,但必须是同步数据较小的情况下。

数据同步日志表结构:
表名,本地数据库最近同步的新增数据的时间戳,本地数据库最近同步的修改过的数据的时间戳

数据同步远程方法参数:
表名,本地数据库最近同步的新增数据的时间戳,本地数据库最近同步的修改过的数据的时间戳

数据同步算法:
根据远程方法的参数过滤数据,只获取大于参数里面的时间戳的数据。

 

 

 

 

posted @ 2013-01-30 11:17  delphi中间件  阅读(2183)  评论(1编辑  收藏  举报