[发明专利]一种移动数据库的关联事务处理方法无效
申请号: | 200710178568.2 | 申请日: | 2007-11-30 |
公开(公告)号: | CN101184106A | 公开(公告)日: | 2008-05-21 |
发明(设计)人: | 牛建伟;张晓丹 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/56 |
代理公司: | 北京永创新实专利事务所 | 代理人: | 周长琪 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 移动 数据库 关联 事务处理 方法 | ||
技术领域
本发明属于移动计算领域,涉及一种事务处理方法,具体涉及一种移动数据库中关联事务冲突处理方法。
背景技术
无线网络技术和便携式设备的发展,以及这两种技术的结合,产生了一个新的计算领域,称为移动计算(Mobile Computing)。在移动计算环境中,无论处于什么物理位置或者处于什么运动状态,携带便携式信息设备的用户都可以通过共享的基础网络设施来访问所需的信息服务。
由移动客户机发出的事务叫做移动事务。移动事务实际上是一种分布事务,其中一部分计算工作放在客户机上完成,而其它部分则交给固定结点(服务器)完成。移动事务是在移动主机位置经常变化、自身所带能源和数据资源有限、并通过不可靠的无线网络与静态支持站点连接的环境中执行的。
目前提出的各种移动事务处理模型中,大多数都将移动事务看作由一组子事务组成,每个子事务都支持灵活的数据一致性和提交操作。移动事务的管理可集中于移动客户机或者数据库服务器,也可以在移动客户机移动的同时从一个基站转移到下一个基站上。移动客户机的断接操作引入了移动事务处理中的一些特殊要求。一方面,客户机断开网络连接不能简单的视为事务失败。如果移动客户机操作的数据或方法必须执行完才能保证正确性,那么断接后操作必须能够继续执行。另一方面,鉴于移动事务的长事务特性,同时移动客户机也可能需要进行一些数据操作。因此,为了保证在断接状态下的系统工作效率,移动终端也必须有一定的事务管理功能。所以,移动数据库系统中要求更强的自治性。
把移动节点上的移动事务的结果集传递到同步服务器,并由同步服务器将结果集直接合并到主数据库中是一种较为直观的同步方法,也是目前大多数移动数据库系统所采用的方法,例如Sybase Ultralite和Mobilink、IBM DB2Everyplace等。移动节点在和网络断开连接时,对数据的存取直接在本地数据副本上进行,当移动节点再次和网络连接时,由移动用户启动同步过程把移动事务在本地数据副本上执行的结果集发送给同步服务器,同步服务器负责把这个结果集合并到主数据库中。在合并过程中,由于多个移动用户可能对同一个数据对象进行了修改,因此一个移动节点的同步过程可能会和其他移动节点产生冲突,系统需要通过某种方式来检测和处理这种冲突。
整个同步过程可以分为两个步骤,分别为数据上载过程和数据下载过程。结果集数据流从移动设备到同步服务器、再从同步服务器到主数据库的过程为数据上载过程,这个过程中要进行冲突的检测和处理。通过数据上载,将移动设备上数据副本的更新反映到主数据库中。相对应的,主数据库中的最新数据通过同步服务器再到移动设备,以刷新移动设备上数据副本的过程为数据下载过程。
结果集传递直接合并的方法避免了移动事务在主数据库上重复执行的过程,在一定程度上减轻了主数据库服务器的负荷;而且这类方法的同步粒度可以细到以元组为同步单位,能提交全局提交率,因此具有较好的系统性能。
同步粒度是移动数据库数据同步的基本单位。根据目前的研究情况可以将同步粒度分为三类:元组,操作,事务。不同的同步粒度有各自的优点和缺点。选择元组作为同步粒度是大多数商用移动数据库的做法。这种方法快速简单,移动终端甚至不需要自己维护事务执行,但是这种方法依赖于语义,并且以数据为同步粒度破坏了事务的原子性。以单个数据库操作作为同步粒度,移动终端需要保存执行的SQL语句,不需要在固定主机重新生成,减轻了同步服务器的负载。但是在冲突处理过程中,由于一个SQL语句可能涉及到多个元组,增加冲突检测的难度。最后一种同步粒度是事务,选择事务为同步粒度要求移动终端的冲突处理能力增强。这种同步粒度满足原子性,但是回滚次数较多,影响系统执行效率。
以移动事务的结果集为同步粒度是一种较为合适的同步机制。在进行同步处理时,每个移动事务的结果集作为一个同步单元进行同步,这样既保证了移动事务的原子性,不会破坏数据一致性,而且不会因为同步某个移动事务的结果集产生的冲突而导致其他所有移动事务的结果也被撤销。下面对关联事务和相关定义进行简单介绍。
定义1(事务读集)事务T的读集ReadSet(T)为其读过的数据对象的集合。
定义2(事务写集)事务T的写集WriteSet(T)为其修改过的数据对象的集合。
定义3(事务结果集)事务T的结果集ResultSet(T)为T写集中各数据元素对应的值的集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710178568.2/2.html,转载请声明来源钻瓜专利网。