发明名称 基于SQLite的嵌入式数据库同步方法
摘要 本发明公开了一种基于SQLite的嵌入式数据库同步方法,包括系统初始化、系统启动以及增量同步三个阶段。本发明建立在设备的数据库上,整个过程不需要额外增加专门处理同步事务的设备,节约了成本,符合嵌入式系统的特点。同时,本发明使用的数据库为SQLite,占用资源少、性能良好且无管理成本,满足嵌入式设备成本控制的需求,并保证了同步的可靠性与稳定性;通过数据库操作日志的方式防止因为网络传输造成的数据丢失,同步的数据库表可根据实际的需要进行灵活配置。
申请公布号 CN106599061A 申请公布日期 2017.04.26
申请号 CN201611025714.3 申请日期 2016.11.16
申请人 成都九洲电子信息系统股份有限公司 发明人 邹杰;邹式论
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 成都宏顺专利代理事务所(普通合伙) 51227 代理人 周永宏
主权项 基于SQLite的嵌入式数据库同步方法,其特征在于,包括以下步骤:S1、配置用户自身设备在同步网络中的角色;在同步系统中,同步的设备被称为节点,系统中的节点分为master节点和slave节点两种,系统中只能有一个master节点,至少有一个slave节点;如果有多个slave节点,则通过配置节点号进行区别;S2、在同一个网段上为master节点和slave节点配置IP地址,并在master节点和slave节点上都建立FTP服务器;S3、master节点在本地建立一个soap服务器;S4、master节点和slave节点根据配置,在现有数据库结构的基础上,增加需要同步表的操作记录表,并在数据库中增加触发器,用于记录同步表中改变的主键ID以及该条记录的变动类型;S5、各个slave节点向master节点的soap服务器发送请求,请求获取master节点同步表的数据;S6、master节点依照先后顺序对各个请求作排队处理,并把master节点上的同步数据主动封装为slave节点能够识别的json日志文件,发送到当前处理到的slave节点的FTP服务器上;S7、收到json日志文件后,slave节点将其解析为SQL语句并执行,获得master节点上的同步数据;S8、master节点和slave节点判断同步表是否发生增加、删除或更新的操作,若是则进入步骤S9,否则进入步骤S10;S9、触发器在对应的操作记录表中记录下发生改动记录的ID和改变类型;S10、master节点和slave节点判断操作记录表中是否有内容,若有则进入步骤S11,否则进入步骤S13;S11、master节点和slave节点在封装的线程中进行处理,把记录封装为json日志,并删除操作记录表中触发器产生的对应记录;S12、master节点和slave节点检测到生成json日志后,发送线程向对方FTP服务器发送json日志;S13、master节点和slave节点检测FTP服务器上是否有接收到的json日志,若是则进入步骤S14,否则返回步骤S8;S14、解析线程解析json日志,开启数据库事务,生成对应的SQL语句并执行;S15、判断SQL语句是否执行成功,若是则进入步骤S16,否则进入步骤S17;S16、提交事务并删除对应的json文件,返回步骤S8进行循环;S17、事务回滚,返回步骤S8进行循环。
地址 610041 四川省成都市高新区天府大道中段765号天府软件园