本发明专利技术实施例公开了一种检测数据库数据一致性的方法、装置及数据库系统,能够提高数据库系统处理数据库倒换的效率、减小数据库系统对资源的消耗。该方法包括:所述数据库系统更新每个应用程序访问的所述主数据库的数据表的第一更新标识和第二更新标识;在所述主数据库和备用数据库进行倒换后,所述数据库系统将每个所述数据表的第一更新标识和第二更新标识进行比较,获得第一更新标识和第二更新标识不一致的第一数据表;所述数据库系统对所述备用数据库和缓存中的与所述第一数据表对应的数据表进行一致性处理,以使得所述备用数据库和缓存中的数据同步。本发明专利技术适用于计算机应用领域。
【技术实现步骤摘要】
本专利技术涉及计算机应用领域,尤其涉及一种检测数据库数据一致性的方法、装置及数据库系统。
技术介绍
对于大型且可靠性要求高的数据库系统,为了保证系统的正常运行,数据库系统采用建立主、备两套数据库的方式。同时,为了保证数据库访问的效率,数据库系统会缓存数据库中的数据以实现数据的快速访问,并且缓存数据与数据库实时保持一致。在数据库系统运行过程中,主数据库和备用数据库进行周期或者实时的数据同步,但是,由于网络不稳定或者延时等原因,难以保证主数据库和备用数据库的一致性。当主数据库失效,由备用数据库接管数据提供数据服务,但是,由于主数据库和备用数据库的不一致性,使得数据库系统不能正常运行。现有技术中,为了保证数据库系统的正常运行,数据库系统的每个应用程序独立检测主数据库和备用数据库的倒换,并在每个应用程序检测到主数据库和备用数据库倒换后,每个应用程序都将该应用程序对应的内存中的多份缓存数据与备用数据库中对应的数据进行比较,并将不一致的数据持久化到备份数据库中。这样的处理方式,没有统一的检测主数据库和备用数据库倒换的方法,同时,每个应用程序将该应用程序对应的所有缓存数据与备用数据库中对应的数据进行比较,使得数据库系统处理数据库倒换耗时长、效率低, 并且对资源的消耗较大。
技术实现思路
本专利技术的实施例提供一种检测数据库数据一致性的方法、装置及数据库系统,可以提高数据库系统处理数据库倒换的效率、减少数据库系统对资源的消耗。为达到上述目的,本专利技术的实施例采用如下技术方案—方面,提供了一种检测数据库数据一致性的方法,该方法应用于数据库系统,该数据库系统至少包括一个主数据库和与所述主数据库对应的备用数据库,所述数据库被至少一个应用程序访问,该方法包括所述数据库系统更新每个应用程序访问的所述主数据库的数据表的第一更新标识和第二更新标识,所述第一更新标识指示与所述数据表对应的缓存中的数据表的更新状态,所述第二更新标识指示与所述数据表对应的备用数据库中的数据表的更新状态;在所述主数据库与备用数据库进行倒换后,将每个所述数据表的第一更新标识和第二更新标识进行比较,获得第一更新标识和第二更新标识不一致的第一数据表;对所述备用数据库和缓存中的与所述第一数据表对应的数据表进行一致性处理,以使得所述备用数据库和缓存中的数据同步。第二方面,本专利技术实施例提供了一种检测数据库数据一致性的装置,该装置包括更新单元、获取单元和处理单元;所述更新单元,用于更新每个应用程序访问的所述主数据库的数据表的第一更新标识和第二更新标识,所述第一更新标识指示与所述数据表对应的缓存中的数据表的更新状态,所述第二更新标识指示与所述数据表对应的备用数据库中的数据表的更新状态;所述获取单元,用于在所述主数据库与备用数据库进行倒换后,将每个所述数据表的第一更新标识和第二更新标识进行比较,获得第一更新标识和第二更新标识不一致的第一数据表;所述处理单元,用于对所述备用数据库和缓存中的与所述第一数据表对应的数据表进行一致性处理,以使得所述备用数据库和缓存中的数据同步。第三方面,本专利技术实施例提供了一种数据库系统,所述数据库系统包括至少一个主数据库、与所述主数据库对应的备用数据库、数据库访问装置、倒换监控装置和检测数据库数据一致性的装置;所述主数据库,用于存储应用程序需要访问的数据;所述备用数据库,用于当所述主数据库失效时,由所述备用数据库为所述应用程序提供数据;所述数据库访问装置,用于接收所述应用程序对所述主数据库或所述备用数据库的访问请求,根据所述访问请求从所述主数据库或所述备用数据库中获取对应的数据;所述倒换监控装置,用于监控所述主数据库与备用数据库是否倒换,并在所述主数据库与备用数据库倒换后,通知所述检测数据库数据一致性的装置进行数据一致性处理;所述检测数据库数据一致性的装置,用于更新每个应用程序访问的所述主数据库的数据表的第一更新标识和第二更新标识,所述第一更新标识指示与所述数据表对应的缓存中的数据表的更新状态,所述第二更新标识指示与所述数据表对应的备用数据库中的数据表的更新状态;所述检测数据库数据一致性的装置,还用于在所述倒换监控装置监控到所述主数据库与备用数据库进行倒换后,将每个所述数据表的第一更新标识和第二更新标识进行比较,获得第一更新标识和第二更新标识不一致的第一数据表;所述检测数据库数据一致性的装置,还用于对所述备用数据库和缓存中的与所述第一数据表对应的数据表进行一致性处理,以使得所述备用数据库和缓存中的数据同步。可见,本专利技术实施例提供一种检测数据库一致性的方法、装置及数据库系统,该方法具体包括所述数据库系统更新每个应用程序访问的所述主数据库的数据表的第一更新标识和第二更新标识,在所述主数据库与备用数据库进行倒换后,所述数据库系统将每个所述数据表的第一更新标识和第二更新标识进行比较,获得第一更新标识和第二更新标识不一致的第一数据表,并对所述备用数据库和缓存中的与所述第一数据表对应的数据表进行一致性处理,以使得所述备用数据库和缓存中的数据同步。在主数据库和备用数据库倒换后,由于该数据库系统只对应用程序访问的数据的第一更新标识和第二更新标识进行比较检测,而不需要对数据库中的所有数据依次进行比较,从而,提高了数据库系统处理数据库倒换的效率、减小了数据库系统对资源的消耗。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本专利技术实施例提供的一种检测数据库数据一致性的方法流程示意图2为本专利技术实施例提供的另一种检测数据库数据一致性的方法流程示意图3为本专利技术实施例提供的另一种检测数据库数据一致性的方法流程示意图4为本专利技术实施例提供的一种检测数据库数据一致性的装置结构示意图5为本专利技术实施例提供的另一种检测数据库数据一致性的装置结构示意图6为本专利技术实施例提供的一种数据库系统的结构示意图7为本专利技术实施例提供的一种数据库系统检测数据库数据一致性的交互示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一、本专利技术实施例提供一种检测数据库数据一致性的方法,该方法应用于数据库系统,该数据库系统的数据库至少包括一个主数据库和所述主数据库对应的备用数据库,所述数据库被至少一个应用程序访问。所述每个应用程序在运行时需要访问主数据库中数据表,为了提高应用程序的处理速度,所述应用程序通常将要访问主数据库中的数据表预先缓存在运行所述应用程序的装置的缓存中。为了保证系统正常运行,所述数据库中的数据应当与所述缓存数据保持实时一致。例如,在主数据库和备用数据库未倒换时,缓存中的数据实时的与主数据库数据保持一致。所述主数据库也会周期或实时的将主数据库的数据发送给备用数据库,以使得主数据库与备用数据库的数据进行同步,但是由于网络不稳定或延迟不能保证主数据库和备本文档来自技高网...
【技术保护点】
一种检测数据库数据一致性的方法,该方法应用于数据库系统,该数据库系统至少包括一个主数据库和与所述主数据库对应的备用数据库,所述数据库被至少一个应用程序访问,其特征在于,该方法包括:更新每个应用程序访问的所述主数据库的数据表的第一更新标识和第二更新标识,所述第一更新标识指示与所述数据表对应的缓存中的数据表的更新状态,所述第二更新标识指示与所述数据表对应的备用数据库中的数据表的更新状态;在所述主数据库与备用数据库进行倒换后,将每个所述数据表的第一更新标识和第二更新标识进行比较,获得第一更新标识和第二更新标识不一致的第一数据表;对所述备用数据库和缓存中的与所述第一数据表对应的数据表进行一致性处理,以使得所述备用数据库和缓存中的数据同步。
【技术特征摘要】
【专利技术属性】
技术研发人员:彭正元,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。