论文部分内容阅读
移动数据库系统包括运行在移动设备上的移动客户端、大型中心数据库以及同步服务器三部分。移动客户端和大型中心数据库通过无线网络进行连接,用户把所需要的数据从中心数据库端复制到移动客户端,这样使得用户在网络断连的情况下,可以对移动客户端保存的数据复本进行访问和更新。由于移动数据库系统环境的复杂性,与固定网络相比,带宽窄,易受干扰,容易发生比较频繁的网络断接,如何在网络恢复之后保证数据的一致性,这是同步复制的任务。
然而,现有的移动数据库系统,一般都采用基于Socket直接连接的同步复制技术,在网络连接不稳定或无法保证长时间稳定连接的应用场景下,这种同步复制技术受到很大局限,尤其在基于事务级同步复制的系统中,极易因网络频繁断接导致同步事务多次重传。
本文对基于消息中间件的同步复制技术进行了研究,提出了基于消息中间件的同步复制协议,采用改进事务性消息的方法,将需要同步的数据进行合理的打包,通过消息中间件发送给同步服务器,同步服务器按照协议以同步事务为单位正确装配、还原分段接收到的数据,解决了网络频繁断接情况下的同步事务多次重传的问题,提高了数据传输的可靠性,从而提高同步事务执行的成功率。
在协议中,针对企业级移动应用中大量移动客户端并发提出同步请求所带来的数据更新冲突等异常问题,采用数据更新检测机制,解决了同步过程中的异常问题,保证了数据一致性;针对无线网络带宽较低的问题,采用基于发布订阅模式的增量传输机制,在同步时只传输真正变化的数据,减轻了网络的负担,提高同步效率;针对同步复制时面临的安全威胁,利用身份认证、传输加密、访问控制、实时监控等方法,保障了同步复制过程中的安全。从而较好解决了移动计算环境下基于消息中间件的同步复制问题。
在上述工作的基础上,结合东南大学数据库实验室自主研发的SwiftDBPlus移动数据库系统,完成了基于消息中间件的同步复制机制的设计和实现,并对基于Socket直接连接和消息中间件两种通讯方式的选择进行了探讨和研究,使得系统充分利用两种通讯方式的优点,根据实际应用中网络连接的当前状况,自适应地选择合适的通讯方式实现数据同步,提高运行效率并减轻了用户负担。