这几天看了公司V8系统常用代码的时间戳技术实现方式。以常用代码为例进行总结。
后台数据库是实现如下:
常用代码的时间戳技术的实现,是基于常用代码表TBL_GENERAL_CODES、触发器ALTER_GENERAL_CODES、时间标记表TBL_DATE_RECORD两张表、一个触发器完成。
当我们对常用代码表进行变更时,启动触发器ALTER_GENERAL_CODES将修改常用代码表的最后时间记录在TBL_DATE_RECORD中。
前台程序实现:
在前台实现上有LOCAL_CONFIG.INI(记录本地更新LOCAL_CACHE.CDS最新时间)、LOCAL_CACHE.CDS(将常用代码表中的数据保存在此文件中)两个文件支持。
当系统启动时,如果数据库正常连接,则系统首先从时间标记表中读取最后一次更新常用代码表的时间DATETIME1,与LOCAL_CONFIG.INI中记录的时间DATETIME2比较,
如果DATETIME1晚于DATETIME2,则系统重新读取常用代码表,并将读到的数据保存在LOCAL_CACHE.CDS中,并将DATETIME1保存在LOCAL_CONFIG.INI中。
如果DATETIME1早于或者等于DATETIME2,则系统不重新读取常用代码表。