嵌入式系统中,移动嵌入式数据库系统作为数据存储管理访问的引擎,是一个有着广泛应用的软件。主流的数据库厂商都有针对该类应用的解决方案,在这些方案中,嵌入式数据库同步系统是其中一个重要组成部分。开源软件以其开放代码,成本低的特点在嵌入式系统的软件解决方案中占有一定的市场份额,但嵌入式数据库同步系统却没有对应的开源方案。
本文分析了移动嵌入式数据库同步系统的应用场景,工作流程,组成模块,需要解决的问题及其解决方案的分析和选择,开发了一个针对开源嵌入式数据库SQLite的数据库同步系统。对于移动嵌入式数据库同步系统,本文主要分析了系统同步的四种可能的方式,可选的网络传输协议,数据串行化,同步服务器的数据库连接方式等关键问题并选择和实现了解决方案。本文完成了同步客户端和同步服务器的设计开发,同步客户端以C语言实现,运行于嵌入式设备上,负责记录数据修改记录,存储管理元数据,串行化同步数据并通过网络发送到同步服务器以及接收更新数据并应用到本地数据库中;同步服务器使用Java开发,运行于服务器上,负责接收解包同步终端发送的同步数据,并将数据转为SQL语句执行到中心数据库以应用同步更新。系统选择比较了多种技术方案来解决遇到的问题,文中主要提出以下几种解决方案:UUID替代整形数据格式作为数据表示、设计表来存储同步信息元数据、采用HTTP协议传输数据和解决安全认证及加密传输、使用JSON格式作为数据在网络上传输的串行化格式、使用J2EE平台处理系统并发。系统实现了嵌入式数据库同步的功能,同时具备认证安全和可选择加密传输,网络传输效率较高,配置实用简单等特点,对于选择开源软件构建嵌入式系统的开发人员提供了一个很好的选择。