更新数据的方法和控制装置制造方法及图纸

技术编号:6594866 阅读:213 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供了更新数据的方法和控制装置。该方法包括:当主资源管理器和从资源管理器的预执行操作成功时,在主资源管理器上记录事务日志;向从资源管理器发送提交命令,并确定从资源管理器是否都提交成功;如果从资源管理器存在任何一个没有提交成功,则保留所述事务日志,以根据事务日志和所述主资源管理器的数据,对与主资源管理器的数据不一致的从资源管理器的数据进行修正。基于本发明专利技术实施例提供的技术方案,由于在主资源管理器上记录有辅助修正的事务日志,可以基于事务日志和主资源管理器的数据来进行数据修正。这样,即便在提交过程中出现错误,从资源管理器的数据也可以恢复到与主资源管理器的数据相同的状态,从而保证数据的一致性。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据管理领域,并且更具体地,涉及数据管理领域中更新数据的方法和控制装置
技术介绍
随着计算机系统越来越复杂,为了提高数据的可靠性或者读取数据时的性能,常常将一份数据保存在多个设备上。例如,在现有的电信系统中,不仅需要将用户签约信息保存在计费系统中,还需要将其保存在呼叫控制系统中。即使在同一个系统,在容灾组网、负载均衡组网的情况下,也会把相同的数据存放在多个设备上。当把数据存放在多个设备上时,会面临数据一致性的问题。当需要在多个设备上同时更新数据时,需要该数据更新操作在这些设备上要么都成功、要么都失败,以保持数据的一致性。这种操作方式通常被称为分布式事务处理。在分布式事务处理中,目前主要是使用两阶段提交协议。在第一阶段中,事务管理器向所有设备发送预执行命令。在第二阶段中,事务管理器根据资源管理器对预执行操作的响应,向该事务中涉及的所有资源管理器发送相应命令。即,当任一资源管理器预执行操作失败而作出否定响应时,事务管理器向涉及的所有资源管理器发送回滚命令,返回到数据更新前的状态;当所有资源管理器预执行操作成功而作出肯定响应时,事务管理器命令涉及的所有资源管理器提交该事务,对数据进行更新。虽然两阶段提交协议能够降低由于数据结构、主键冲突等原因导致的部分失败而引起的数据不一致的几率,但是依旧存在数据不一致的可能。因为在第二阶段中,事务管理器向资源管理器发送提交命令时,可能出现网络异常或资源管理器异常,从而导致部分资源管理器提交失败。这样,虽然预执行都成功,但是提交错误,仍然不能保证数据的一致性。 特别是在网络质量比较低、所涉及的设备较多时,更容易造成数据不一致的问题。针对在提交过程中出现的数据不一致,目前很难自动发现这种错误的存在,也很难确定需要对哪些数据进行修正,并且在修复的情况下也只能通过手工修复而不能自动修复,从而使得修复过程繁琐。
技术实现思路
本专利技术实施例提供了更新数据的方法和控制装置,能够解决提交过程出现错误而导致的数据不一致的问题,使得可以在提交过程中容易地发现错误的存在,并使不一致的数据得以修复,从而保证多个设备上数据的一致性。一方面,本专利技术实施例提供了一种更新数据的方法,包括当主资源管理器和从资源管理器的预执行操作成功时,在主资源管理器上记录事务日志;向从资源管理器发送提交命令,并确定从资源管理器是否都提交成功;如果从资源管理器存在任何一个没有提交成功,则保留所述事务日志,以根据事务日志和所述主资源管理器的数据,对与主资源管理器的数据不一致的从资源管理器的数据进行修正。4另一方面,本专利技术实施例提供了一种用于更新数据的控制装置,包括记录模块, 用于当主资源管理器和从资源管理器的预执行操作成功时,在主资源管理器上记录事务日志;确定模块,用于向从资源管理器发送提交命令,并确定从资源管理器是否都提交成功; 第一保留模块,用于如果从资源管理器存在任何一个没有提交成功,则保留事务日志,以根据事务日志和主资源管理器的数据,对与主资源管理器的数据不一致的从资源管理器的数据进行修正。基于本专利技术实施例提供的上述技术方案,由于在主资源管理器上记录有辅助修正的事务日志,基于事务日志可以容易地发现提交过程中数据不一致的存在,并可以基于事务日志和主资源管理器的数据来进行数据修正。这样,与主资源管理器的数据不一致的从资源管理器的数据可以得以修正,使得即便在提交过程中出现错误,从资源管理器的数据也可以恢复到与主资源管理器的数据相同的状态,从而保证数据的一致性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的用于进行分布式事务处理的系统的结构示意图。图2是根据本专利技术实施例的更新数据的方法的流程图。图3是根据本专利技术实施例的更新数据的另一方法的流程图。图4是根据本专利技术实施例的包括更新事务日志的事务处理方法的流程图。图5是根据本专利技术实施例的正常执行提交操作时的例子的时序图。图6是根据本专利技术实施例的处理事务日志的方法的流程图。图7是根据本专利技术实施例的用于更新数据的控制装置的结构框图。图8是根据本专利技术实施例的用于更新数据的另一控制装置的结构框图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的所述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围。首先,结合图1描述根据本专利技术实施例的用于进行分布式事务处理的系统100。如图1所示,系统100包括控制装置110、多个资源管理器和事务发起者130。在多个资源管理器中存储有相同的数据,它们基于控制装置110的控制而执行同一事务的操作,即这些资源管理器是同一事务所涉及的资源管理器。当控制装置110需要对资源管理器中的数据进行诸如修改、添加、删除之类的更新时,这些资源管理器由于管理着相同的数据,需要同步进行相同的操作,以保持数据的一致性。可以将这些资源管理器划分为主资源管理器120和从资源管理器1至N(N是大于等于1的整数)。例如,当用户通过事务发起者130提供的用户接口输入操作数据时,可以将与事务发起者130所在的设备处于同一逻辑子网中的资源管理器设置为主资源管理器120,也可以将与事务发起者130所在的设备具有最近的物理距离的资源管理器设置为主资源管理器120,当然,还可以将其中任意一个资源管理器设置为主资源管理器120。主资源管理器120和从资源管理器1至N各自管理自己的数据库,对其中的数据进行添加、删除、插入、修改、替代等更新操作。另外,在主资源管理器120上,除了存储有数据之外,还存储有事务日志。可以通过事务日志来修正从资源管理器中的数据以实现数据的一致,这将在下文详细描述。控制装置110可以被进一步划分为事务管理器112和事务日志处理器114,其具体操作将结合图5和图6进行描述。在描述数据更新的方法时,仍以控制装置110作为主体进行描述,而不受控制装置110的功能划分的限制。事务发起者130负责业务处理,是事务的发起者。事务发起者130可以向用户提供用户接口 ;可以通过控制装置110中的事务管理器112将数据写到资源管理器中;可以把与事务有关的信息告诉事务管理器112,以命令主资源管理器120记录事务日志;还可以根据控制装置110中的事务日志管理器114从事务日志中提取的信息,来构造修正命令,再通过事务管理器112进行修正。下面,结合图1的系统,描述图2中示出的根据本专利技术实施例的更新数据的方法 200。方法200包括在S210中,当主资源管理器和从资源管理器的预执行操作成功时, 控制装置110命令在主资源管理器上记录事务日志;在S220中,控制装置110向从资源管理器发送提交命令,并确定从资源管理器是否都提交成功;在S230中,如果从资源管理器存在任何一个没有提交成功的,则保留事务日志,以根据事务日志和主资源管理器的数据, 对与主资源管理器的数据不一致的从资源管理器的数据进行修正。当主资源本文档来自技高网
...

【技术保护点】
1.一种更新数据的方法,其特征在于,包括:当主资源管理器和从资源管理器的预执行操作成功时,在所述主资源管理器上记录事务日志;向所述从资源管理器发送提交命令,并确定所述从资源管理器是否都提交成功;如果所述从资源管理器存在任何一个没有提交成功,则保留所述事务日志,以根据所述事务日志和所述主资源管理器的数据,对与所述主资源管理器的数据不一致的从资源管理器的数据进行修正。

【技术特征摘要】
【国外来华专利技术】1.一种更新数据的方法,其特征在于,包括当主资源管理器和从资源管理器的预执行操作成功时,在所述主资源管理器上记录事务日志;向所述从资源管理器发送提交命令,并确定所述从资源管理器是否都提交成功;如果所述从资源管理器存在任何一个没有提交成功,则保留所述事务日志,以根据所述事务日志和所述主资源管理器的数据,对与所述主资源管理器的数据不一致的从资源管理器的数据进行修正。2.根据权利要求1所述的方法,其特征在于,所述在所述主资源管理器上记录事务日志包括在所述主资源管理器上将当前事务的数据类型和数据标识信息记录为事务日志。3.根据权利要求1和2所述的方法,其特征在于,所述保留所述事务日志之后,还包括向所述主资源管理器发送回滚命令。4.根据权利要求1至3所述的方法,其特征在于,所述对与所述主资源管理器的数据不一致的从资源管理器的数据进行修正之后,还包括如果修正成功,则删除所述事务日志;如果修正不成功,则保留所述事务日志。5.根据权利要求1至4所述的方法,其特征在于,还包括如果所述从资源管理器都提交成功,则向所述主资源管理器发送提交命令;在所述主资源管理器提交成功时删除所述事务日志。6.根据权利要求1至5所述的方法,其特征在于,还包括周期性检查是否存在事务日志;如果存在事务日志,则根据该事务日志和所述主资源管理器的数据,对与所述主资源管理器的数据不一致的从资源管理器的数据进行修正。7.一种用于更新数据的控制装置,其特征在于,包括记录模块,用于...

【专利技术属性】
技术研发人员:陶建波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1