[发明专利]更新数据的方法和控制装置有效
申请号: | 201180000694.3 | 申请日: | 2011-05-03 |
公开(公告)号: | CN102203779A | 公开(公告)日: | 2011-09-28 |
发明(设计)人: | 陶建波 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 王君;肖鹂 |
地址: | 518129 中国广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 更新 数据 方法 控制 装置 | ||
技术领域
本发明涉及数据管理领域,并且更具体地,涉及数据管理领域中更新数据的方法和控制装置。
背景技术
随着计算机系统越来越复杂,为了提高数据的可靠性或者读取数据时的性能,常常将一份数据保存在多个设备上。例如,在现有的电信系统中,不仅需要将用户签约信息保存在计费系统中,还需要将其保存在呼叫控制系统中。即使在同一个系统,在容灾组网、负载均衡组网的情况下,也会把相同的数据存放在多个设备上。
当把数据存放在多个设备上时,会面临数据一致性的问题。当需要在多个设备上同时更新数据时,需要该数据更新操作在这些设备上要么都成功、要么都失败,以保持数据的一致性。这种操作方式通常被称为分布式事务处理。
在分布式事务处理中,目前主要是使用两阶段提交协议。在第一阶段中,事务管理器向所有设备发送预执行命令。在第二阶段中,事务管理器根据资源管理器对预执行操作的响应,向该事务中涉及的所有资源管理器发送相应命令。即,当任一资源管理器预执行操作失败而作出否定响应时,事务管理器向涉及的所有资源管理器发送回滚命令,返回到数据更新前的状态;当所有资源管理器预执行操作成功而作出肯定响应时,事务管理器命令涉及的所有资源管理器提交该事务,对数据进行更新。
虽然两阶段提交协议能够降低由于数据结构、主键冲突等原因导致的部分失败而引起的数据不一致的几率,但是依旧存在数据不一致的可能。因为在第二阶段中,事务管理器向资源管理器发送提交命令时,可能出现网络异常或资源管理器异常,从而导致部分资源管理器提交失败。这样,虽然预执行都成功,但是提交错误,仍然不能保证数据的一致性。特别是在网络质量比较低、所涉及的设备较多时,更容易造成数据不一致的问题。
针对在提交过程中出现的数据不一致,目前很难自动发现这种错误的存在,也很难确定需要对哪些数据进行修正,并且在修复的情况下也只能通过手工修复而不能自动修复,从而使得修复过程繁琐。
发明内容
本发明实施例提供了更新数据的方法和控制装置,能够解决提交过程出现错误而导致的数据不一致的问题,使得可以在提交过程中容易地发现错误的存在,并使不一致的数据得以修复,从而保证多个设备上数据的一致性。
一方面,本发明实施例提供了一种更新数据的方法,包括:当主资源管理器和从资源管理器的预执行操作成功时,在主资源管理器上记录事务日志;向从资源管理器发送提交命令,并确定从资源管理器是否都提交成功;如果从资源管理器存在任何一个没有提交成功,则保留所述事务日志,以根据事务日志和所述主资源管理器的数据,对与主资源管理器的数据不一致的从资源管理器的数据进行修正。
另一方面,本发明实施例提供了一种用于更新数据的控制装置,包括:记录模块,用于当主资源管理器和从资源管理器的预执行操作成功时,在主资源管理器上记录事务日志;确定模块,用于向从资源管理器发送提交命令,并确定从资源管理器是否都提交成功;第一保留模块,用于如果从资源管理器存在任何一个没有提交成功,则保留事务日志,以根据事务日志和主资源管理器的数据,对与主资源管理器的数据不一致的从资源管理器的数据进行修正。
基于本发明实施例提供的上述技术方案,由于在主资源管理器上记录有辅助修正的事务日志,基于事务日志可以容易地发现提交过程中数据不一致的存在,并可以基于事务日志和主资源管理器的数据来进行数据修正。这样,与主资源管理器的数据不一致的从资源管理器的数据可以得以修正,使得即便在提交过程中出现错误,从资源管理器的数据也可以恢复到与主资源管理器的数据相同的状态,从而保证数据的一致性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的用于进行分布式事务处理的系统的结构示意图。
图2是根据本发明实施例的更新数据的方法的流程图。
图3是根据本发明实施例的更新数据的另一方法的流程图。
图4是根据本发明实施例的包括更新事务日志的事务处理方法的流程图。
图5是根据本发明实施例的正常执行提交操作时的例子的时序图。
图6是根据本发明实施例的处理事务日志的方法的流程图。
图7是根据本发明实施例的用于更新数据的控制装置的结构框图。
图8是根据本发明实施例的用于更新数据的另一控制装置的结构框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180000694.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置