时间:2022-12-05 02:30:01 | 来源:信息时代
时间:2022-12-05 02:30:01 来源:信息时代
移动数据复制 : 在服务器之间进行数据复制的技术。根据移动计算环境经常移动和网络频繁断接的特点,使得移动数据库一般采用某种特定的数据复制模式(上传、下载或混合方式)与服务器数据库进行映射,以满足人们在任意地点、任意时刻访问任意数据的需求。
1.数据复制
传统的数据复制技术主要是针对在服务器之间复制数据,它们都假定服务器之间的连接是固定且不间断的,而这与移动计算环境的移动和网络频繁断接的特点相矛盾。此外,传统的复制策略是静态的,即由系统管理员统一安排好复制布局后就固定不变了,如果用户访问的系统结构发生了变化就必须由系统管理员重新安排复制策略。显然,传统的数据复制技术不适用于移动数据库系统。
移动数据库的一个特色是移动终端之间以及与服务器之间的弱连接,即低带宽、长延迟、不稳定和经常性的断开。为了支持用户在弱环境下对数据库的操作,现在普遍采用乐观复制方法(optimistic replication或lazy replication)。它允许用户对本地缓存上的数据副本进行操作,待网络重新连接后再与数据库服务器或其他终端交换数据修改信息,并通过冲突检测和协调来恢复数据的一致性。复制技术包括快照的使用、双向复制技术、子查询子集复制、ROWID和主键复制等。
一个理想的移动复制机制应该达到以下四个目标:
(1)可用性和可伸缩性:通过数据复制提供高可用性和可伸缩性,同时保持系统稳定。
(2)移动性:允许移动结点在网络断连时进行数据库的读写。
(3)可串行性: 事务处理满足单副本可串行性。
(4)收敛性:提供一定的机制以保证系统收敛于一致性的状态。
这四个目标决定了理想的移动数据复制应该是一种异步复制,即系统允许移动主机在断连的情况下在本地副本上执行读写操作,从而造成系统短暂的不一致。重新连接时进行数据同步处理,使系统重新达到一致性的状态。在此过程中,必须正确地检测并有效地消除冲突,因为系统可能同时在多个副本上对同一数据对象执行了冲突操作。冲突处理是移动复制机制需要解决的关键问题。
2. 复制算法
迄今为止,人们提出了多种复制算法,如两级复制算法、虚拟主副本算法、多版本冲突解决算法、三级复制算法等。其中,两级数据复制技术比较适用于移动数据库,它把数据库视为数据对象的集合,每个数据对象有一个主版本和多个副本。主版本存储在基结点上,副本同时存放在基结点和移动结点。移动结点上的数据对象副本有两个版本,即移动主版本和暂态版本。移动主版本来自数据对象主版本所在的基结点,暂态版本是移动结点上被暂时更新的对象值,只有在对主版本更新后才能永久化。两级数据复制机制具有如下特点:
(1)移动结点可以在断接情况下对数据库做临时修改。
(2)在基结点上的并发事务是可串行化的。
(3)只有在基结点上的事务提交后,相关全局事务的结果才成为永久。
(4)在所有相连结点上的副本收敛于基结点系统的状态。
两级复制机制在很大程度上满足了理想的复制模式应达到的目标,即可用性、可扩展性、移动性、串行性和收敛性。