掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法及相关装置

文献发布时间:2024-04-18 19:59:31


数据处理方法及相关装置

技术领域

本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及相关装置。

背景技术

在部署主数据库集群和备份数据库集群的场景中,在通过数据同步机制保证主数据库集群和备份数据库集群的数据一致的前提下,在主数据库集群发生宕机的时候,备份数据库集群能够代替主数据库集群提供数据访问,但是如何确保主数据库集群和备份数据库集群之间的数据一致性成为关注的重点。

发明内容

第一方面,本申请实施例提供了一种数据处理方法,包括:

获取数据库访问请求;

根据数据库集群的访问状态与存储的目标数据至少一者确定所述数据库集群的状态标签,所述数据库集群包括第一数据库集群和第二数据库集群,所述状态标签包括所述第一数据库集群的第一状态标签和所述第二数据库集群的第二状态标签;

基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对所述目标集群进行数据同步;

在所述非目标集群进行所述数据库访问请求的访问操作处理。

可以看出,在本申请实施例中,获取到数据库访问请求的情况下,据数据库集群的访问状态与存储的目标数据至少一者确定数据库集群的状态标签,并基于状态标签包含的第一数据库集群的第一状态标签和第二数据库集群的第二状态标签,确定第一数据库集群与第二数据库集群中需要进行数据同步的目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步,以此通过数据同步来保证第一数据库集群与第二数据库集群二者之间的数据一致性,在确定第一数据库集群与第二数据库集群中需要被同步的目标集群的基础上,将第一数据库集群与第二数据库集群中目标集群之外的另一集群作为不进行数据同步的非目标集群,并在非目标集群进行数据库访问请求的访问操作处理。通过上述可见,本申请能够在处理访问请求的同时,完成两个数据库之间的数据同步,实现了在保证业务连续性的同时,也保证了两个数据库之间的数据一致性。

第二方面,本申请实施例提供了一种数据处理装置,包括:

获取模块,被配置为获取数据库访问请求;

确定模块,被配置为根据数据库集群的访问状态与存储的目标数据至少一者确定所述数据库集群的状态标签,所述数据库集群包括第一数据库集群和第二数据库集群,所述状态标签包括所述第一数据库集群的第一状态标签和所述第二数据库集群的第二状态标签;

同步模块,被配置为基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对所述目标集群进行数据同步;

处理模块,被配置为在所述非目标集群进行所述数据库访问请求的访问操作处理。

第三方面,本申请实施例提供了一种数据处理设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行第一方面所述的数据处理方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如第一方面所述的数据处理方法。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;

图1为本申请实施例提供的一种数据处理方法处理流程图;

图2为本申请实施例提供的一种应用于写数据场景的数据处理方法处理流程图;

图3为本申请实施例提供的一种应用于读数据场景的数据处理方法处理流程图;

图4为本申请实施例提供的一种数据处理装置示意图;

图5为本申请实施例提供的一种数据处理设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请的保护范围。

实际应用中,在部署主数据库集群和备份数据库集群的场景中,主数据库集群和备份数据库集群任意一者出现异常导致无法与另一者进行数据同步,如此就会导致主数据库集群和备份数据库集群二者的数据不同步,如果直接以此时的主数据库集群或者备份数据库集群提供数据访问,则可能会由于二者数据的不同步导致数据访问出现异常。

针对于此,本实施例提供的数据处理方法,获取到数据库访问请求的情况下,根据数据库集群的访问状态与存储的目标数据至少一者确定数据库集群的状态标签,并基于状态标签包含的第一数据库集群的第一状态标签和第二数据库集群的第二状态标签,确定第一数据库集群与第二数据库集群中需要进行数据同步的目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步,以此通过数据同步来保证第一数据库集群与第二数据库集群二者之间的数据一致性,在确定第一数据库集群与第二数据库集群中需要被同步的目标集群的基础上,将第一数据库集群与第二数据库集群中目标集群之外的另一者作为不进行数据同步的非目标集群,并在非目标集群进行数据库访问请求的访问操作处理,从而通过确保第一数据库集群和第二数据库集群二者之间数据一致性,来提升第一数据库集群和第二数据库集群的数据访问有效性。

本实施例提供的数据处理方法可由数据处理设备执行,数据处理设备可以是终端或者服务器,其中,终端可以包括手机、笔记本电脑、智能交互设备等,服务器可以包括独立的物理服务器、由多个服务器组成的服务器集群或者能够进行云计算的云服务器。

参照图1,本实施例提供的数据处理方法,具体包括步骤S102至步骤S108。

步骤S102,获取数据库访问请求。

本实施例所述数据库访问请求,是指向数据库集群进行数据访问的访问请求。该访问请求可以是向数据库集群进行写操作的写操作请求,还可以是从数据库集群进行读操作的读操作请求。

本实施例获取的数据库访问请求,具体是针对数据库集群的数据库访问请求。数据库集群包括第一数据库集群和第二数据库集群,为提升第一数据库集群与第二数据库集群二者提供数据访问的稳定性,第一数据库集群与第二数据库集群,可以是互为主备数据库集群的两个数据库集群;在其中一者发生宕机无法提供数据访问的情况下,另一者能够代替发生宕机的一者提供数据访问。

具体的,第一数据库集群与第二数据库集群,可以是基于同一架构构建的两个数据库集群,比如第一数据库集群为Redis集群、第二数据库集群也为Redis集群;或者,第一数据库集群为MySQL集群、第二数据库集群也为MySQL集群。此外,第一数据库集群与第二数据库集群还可以是基于不同架构构建的两个数据库集群,比如第一数据库集群为Redis集群,第二数据库集群为Mysql集群;或者,第一数据库集群为MySQL集群,第二数据库集群为Hbase集群。

步骤S104,根据数据库集群的访问状态与存储的目标数据至少一者确定数据库集群的状态标签。

本实施例所述数据库集群的访问状态,用于表征数据库集群能否提供数据访问,该访问状态具体包括可用状态和不可用状态。若第一数据库集群的访问状态为可用状态,则表明第一数据库集群可以提供数据访问;若第一数据库集群的访问状态为不可用状态,则表明第一数据库集群无法提供数据访问。类似的,若第二数据库集群的访问状态为可用状态,则表明第二数据库集群可以提供数据访问;若第二数据库集群的访问状态为不可用状态,则表明第二数据库集群无法提供数据访问。

第一数据库集群存储的目标数据,是指第一数据库集群存储的对应于数据库访问请求的数据,比如获取到的数据库访问请求为写操作请求时,目标数据是指数据写入过程中第一数据库集群原先存储的被当前数据写入更新的存储数据;再比如获取到的数据库访问请求为读操作请求时,目标数据是指数据读取过程中第一数据库集群原先存储的被读取的存储数据。与第一数据库集群存储的目标数据类似,第二数据库集群存储的目标数据,是指第二数据库集群存储的对应于数据库访问请求的数据。

所述数据库集群的状态标签包括第一数据库集群的第一状态标签和第二数据库集群的第二状态标签。其中,第一数据库集群的第一状态标签,包括针对第一数据库集群配置的本地变量的变量值,可通过第一状态标签来表征第一数据库集群的访问状态或者相应的数据状态。类似的,第二数据库集群的第二状态标签,包括针对第二数据库集群配置的本地变量的变量值,可通过第二状态标签来表征第二数据库集群的访问状态或者相应的数据状态。

本实施例提供的一种可选实施方式中,根据数据库集群的访问状态与存储的目标数据至少一者确定数据库集群的状态标签,包括:

若检测到数据库集群的访问状态为可用状态,则读取数据库集群中存储的目标数据作为状态标签;

若检测到数据库集群的访问状态为不可用状态,则将不可用状态确定为状态标签。

具体的,在第一数据库集群的访问状态为不可用状态的情况下,可通过第一状态标签来表征第一数据库集群的访问状态,即:在第一数据库集群的访问状态为不可用状态的情况下,可将第一数据库集群的不可用状态作为第一状态标签;例如,在第一数据库集群宕机、访问状态为不可用状态的情况下,针对第一数据库集群配置的第一状态标签设置为“不可用状态”;

在第一数据库集群的访问状态为可用状态的情况下,可通过第一状态标签来表征第一数据库集群中存储的目标数据,即:在第一数据库集群的访问状态为可用状态的情况下,可将第一数据库集群存储的目标数据作为第一状态标签。例如,在第一数据库集群访问状态为可用状态的情况下,根据当前访问第一数据库集群的写操作请求对应的订单数据的订单状态“已预定”,将针对第一数据库集群配置第一状态标签的值设置为“已预定”。

与第一数据库集群的第一状态标签类似,在第二数据库集群的访问状态为不可用状态的情况下,可将第二数据库集群的不可用状态作为第二状态标签;在第二数据库集群的访问状态为可用状态的情况下,可将第二数据库集群存储的目标数据作为第二状态标签。

实际应用中,还可能存在第一数据库集群的访问状态为可用状态、第二数据库集群的访问状态为不可用状态,切换为第一数据库集群的访问状态为不可用状态、第二数据库集群的访问状态为可用状态的情况,这种情况下,第一数据库集群和第二数据库集群可能无法正常提供数据访问,或者提供的数据访问可能会存在异常,针对于此,为了避免数据库集群的访问异常,本实施例在记录数据库集群的历史访问状态的基础上,通过检测数据库集群当前实时的状态标签与历史状态标签是否相同,来检测数据库集群的访问状态是否发生变化。

具体的,本实施例提供的一种可选实施方式中,读取数据库集群的历史访问状态;历史访问状态包括第一数据库集群的第一历史访问状态和第二数据库集群的第二历史访问状态;

检测数据库集群的访问状态与历史访问状态是否相同;

若第一数据库集群的访问状态与第一历史访问状态不相同,且第二数据库集群的访问状态与第二历史访问状态不相同,表明出现第一数据库集群和第二数据库集群中一者的访问状态从可用状态切换为不可用状态,且另一者的访问状态从不可用状态切换为可用状态的情况,则输出异常提醒指令。

若第一数据库集群的访问状态与第一历史访问状态相同,或者,第二数据库集群的访问状态与第二历史访问状态相同,则执行下述步骤S106,基于第一状态标签和第二状态标签,从第一数据库集群与第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步。

步骤S106,基于第一状态标签和第二状态标签,从第一数据库集群与第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步。

具体实施时,基于第一状态标签和第二状态标签从第一数据库集群与第二数据库集群中确定待被同步的目标集群,是为了在数据同步条件达成的情况下对目标集群进行数据同步,以及,基于第一状态标签和第二状态标签从第一数据库集群与第二数据库集群中确定不同步的非目标集群,是为数据库访问请求的处理做准备,具体是将非目标集群作为进行数据库访问请求的访问操作处理的数据库集群。

所述目标集群,是指第一数据库集群与第二数据库集群中需要进行数据同步的数据库集群;所述非目标集群是指第一数据库集群与第二数据库集群中不需要进行数据同步的数据库集群。

所述数据同步条件,是对目标集群进行数据同步的条件。其中,若目标集群为对应不可用状态的状态标签的数据库集群,则数据同步条件为目标集群的访问状态从不可用状态变更为可用状态;若目标集群为对应可用状态的状态标签的数据库集群,则数据同步条件为目标集群的状态标签为可用状态,或者数据同步条件为空,在这种情况下,只要目标集群为对应可用状态的状态标签的数据库集群,数据同步条件都会达成。

具体的,根据第一数据库集群和第二数据库集群的访问状态的不同情况,分为以下三种情况从第一数据库集群与第二数据库集群中确定目标集群:

(1)第一数据库集群和第二数据库集群一者的访问状态为可用状态,即:第一数据库集群与第二数据库集群中一者的状态标签为不可用状态、另一者的状态标签为目标数据;

(2)第一数据库集群和第二数据库集群的访问状态均为可用状态,即:第一数据库集群与第二数据库集群二者的状态标签均为目标数据;

(3)第一数据库集群与第二数据库集群二者的访问状态均为不可用状态。

下述分别对这三种情况下基于第一状态标签和第二状态标签,从第一数据库集群与第二数据库集群中确定待被同步的目标集群的过程进行具体说明。

(1)在第一数据库集群和第二数据库集群一者的访问状态为可用状态的情况下,本实施例提供的一种可选实施方式中,基于第一状态标签和第二状态标签,从第一数据库集群与第二数据库集群中确定目标集群,包括:将第一状态标签和第二状态标签中,属于不可用状态的状态标签对应的数据库集群确定为目标集群。

上述在基于第一状态标签和第二状态标签从第一数据库集群与第二数据库集群中确定目标集群后,可将第一数据库集群与第二数据库集群中的未被确定为目标集群的另一者确定为非目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步。

其中,在数据同步条件达成的情况下对目标集群进行数据同步,包括:在检测到目标集群的访问状态变更为可用状态的情况下,确定目标集群从宕机中恢复,并将目标集群存储的目标数据更新为非目标集群的状态标签。

例如,在第一数据库集群的访问状态为可用状态、第二数据库集群的访问状态为不可用状态的情况下,第一数据库集群的第一状态标签为目标数据、第二数据库集群的第二状态标签为不可用状态,将不可用状态的状态标签对应的第二数据库集群确定为目标集群,并将第一数据库集群确定为非目标集群;

在此基础上,还可创建将第二数据库集群的数据同步任务,通过执行数据同步任务将第二数据库集群存储的目标数据更新为第一数据库集群存储的目标数据的数据同步任务。其中数据同步任务可添加至第二数据库集群的任务队列中,在检测到第二数据库集群的访问状态变更为可用状态的情况下,执行任务队列中的数据同步任务,以此,通过数据同步任务的执行来使第二数据库集群保持与第一数据库集群的数据一致。

(2)在第一数据库集群和第二数据库集群的访问状态均为可用状态的情况下,本实施例提供的一种可选实施方式中,基于第一状态标签和第二状态标签,从第一数据库集群与第二数据库集群中确定目标集群,包括:

在第一数据库集群和第二数据库集群中,将业务时序在先的状态标签对应的数据库集群作为目标集群;

其中,若第一状态标签的业务时序处于第二状态标签的业务时序之前,将第一数据库集群作为目标集群;反之,若第二状态标签的业务时序处于第一状态标签的业务时序之前,将第二数据库集群作为目标集群。

相应的,对目标集群进行数据同步,包括:将目标集群存储的目标数据更新为业务时序在后的状态标签。需要说明的是,这种情况下对目标集群进行的数据同步的处理过程,可以在下述在非目标集群进行数据库访问请求的访问操作处理之前进行,也可以在下述在非目标集群进行数据库访问请求的访问操作处理之后进行,还可以采用并行处理的方式,与下述在非目标集群进行数据库访问请求的访问操作处理并行处理。

(3)在第一数据库集群与第二数据库集群二者的访问状态均为不可用状态的情况下,由于第一数据库集群与第二数据库集群均无法进行数据访问,因此不再进行数据同步和数据库访问请求的处理,输出异常提醒指令即可。

步骤S108,在非目标集群进行数据库访问请求的访问操作处理。

本实施例提供的一种可选实施方式中,在非目标集群进行数据库访问请求的访问操作处理,包括:在非目标集群中进行数据库访问请求的写操作处理,或者,在非目标集群中进行数据库访问请求的读操作处理。

本实施例为了保证数据库集群中第一数据库集群和第二数据库集群的数据一致性,在对数据库集群进行数据访问的过程中,从数据库集群自身的访问状态以及存储的目标数据出发,根据二者中至少一者确定数据库集群的状态标签,这其中,第一数据库集群的第一状态标签和第二数据库集群的第二状态标签中二者中有一者的状态标签为不可用状态,可能的情况是第一数据库集群和第二数据库集群二者中有一者处于宕机状态,则从第一状态标签与第二状态标签出发,确定第一数据库集群和第二数据库集群中处于宕机状态需要进行数据同步的目标集群,以及确定处于正常访问状态不需要进行数据同步的非目标集群,通过在数据同步条件达成的情况下对目标集群进行数据同步,来确保第一数据库集群和第二数据库集群的数据一致性,在非目标集群中进行数据库访问请求对应的访问操作处理,以此在确保第一数据库集群和第二数据库集群数据一致性的前提下进行数据访问,有助于提升数据库集群的数据访问有效性。

下述以本实施例提供的一种数据处理方法在写数据场景的应用为例,结合图2对本实施例提供的应用于写数据场景的数据处理方法进行进一步说明,参见图2,应用于写数据场景的数据处理方法,具体包括如下步骤。

步骤S202,获取针对第一数据库集群和第二数据库集群的写操作请求。

步骤S204,读取第一数据库集群的访问状态和第二数据库集群的访问状态。

步骤S206,若第一数据库集群的访问状态为可用状态、第二数据库集群的访问状态为不可用状态,则读取第一数据库集群中存储的目标数据作为第一数据库集群的第一状态标签,将第二数据库集群的不可用状态确定为第二数据库集群的第二状态标签。

步骤S208,判断第一状态标签和第二状态标签是否均为不可用状态;

若是,执行步骤S210,生成访问失败提醒以响应写操作请求;

若否,执行步骤S212和步骤S214。

步骤S212,基于第一状态标签和第二状态标签,确定第二数据库集群为待被同步的目标集群,第一数据库集群为不同步的非目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步。

步骤S214,在非目标集群中进行写操作请求的写操作处理。

下述以本实施例提供的一种数据处理方法在读数据场景的应用为例,结合图3对本实施例提供的应用于读数据场景的数据处理方法进行进一步说明,参见图3,应用于读数据场景的数据处理方法,具体包括如下步骤。

步骤S302,获取针对第一数据库集群和第二数据库集群的读操作请求。

步骤S304,读取第一数据库集群的访问状态和第二数据库集群的访问状态。

步骤S306,若第一数据库集群的访问状态和第二数据库集群的访问状态均为可用状态,则读取第一数据库集群中存储的目标数据作为第一数据库集群的第一状态标签,读取第二数据库集群中存储的目标数据作为第二数据库集群的第二状态标签。

步骤S308,若第一状态标签的业务时序处于第二状态标签之后,则确定第二数据库集群为待被同步的目标集群,第一数据库集群为不同步的非目标集群,以对目标集群进行数据同步。

步骤S310,将目标集群中存储的目标数据更新为第一状态标签。

步骤S312,在非目标集群进行读操作请求的读操作处理。

本说明书提供的一种数据处理装置实施例如下:

在上述的实施例中,提供了一种数据处理方法,与之相对应的,还提供了一种数据处理装置,下面结合附图进行说明。

参照图4,其示出了本实施例提供的一种数据处理装置示意图。

由于装置实施例对应于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例提供一种数据处理装置,包括:

获取模块402,被配置为获取数据库访问请求;

确定模块404,被配置为根据数据库集群的访问状态与存储的目标数据至少一者确定所述数据库集群的状态标签,所述数据库集群包括第一数据库集群和第二数据库集群,所述状态标签包括所述第一数据库集群的第一状态标签和所述第二数据库集群的第二状态标签;

同步模块406,被配置为基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对所述目标集群进行数据同步;

处理模块408,被配置为在所述非目标集群进行所述数据库访问请求的访问操作处理。

在一个实施例中,所述确定模块402在根据数据库集群的访问状态与存储的目标数据至少一者确定所述数据库集群的状态标签时,执行如下步骤:

若检测到所述数据库集群的访问状态为可用状态,则读取所述数据库集群中存储的目标数据作为所述状态标签;

若检测到所述数据库集群的访问状态为不可用状态,则将所述不可用状态确定为所述状态标签。

在一个实施例中,若所述第一数据库集群和所述第二数据库集群一者的访问状态为可用状态,所述同步模块406在基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群时,执行如下步骤:

将所述第一状态标签和所述第二状态标签中,属于不可用状态的状态标签对应的数据库集群确定为所述目标集群;

所述在数据同步条件达成的情况下对所述目标集群进行数据同步,包括:

在检测到所述目标集群的访问状态变更为可用状态的情况下,确定数据同步条件达成,并将所述目标集群存储的目标数据更新为所述非目标集群的状态标签。

在一个实施例中,若所述第一数据库集群和所述第二数据库集群的访问状态均为可用状态,则所述同步模块406在基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群时,执行如下步骤:

在所述第一数据库集群和所述第二数据库集群中,将业务时序在先的状态标签对应的数据库集群作为所述目标集群。

在一个实施例中,所述处理模块408在所述非目标集群进行所述数据库访问请求的访问操作处理时,执行如下步骤:

在所述非目标集群中进行所述数据库访问请求的写操作处理,或者,在所述非目标集群中进行所述数据库访问请求的读操作处理。

在一个实施例中,所述数据处理装置还用于执行:

读取所述数据库集群的历史访问状态;所述历史访问状态包括所述第一数据库集群的第一历史访问状态和所述第二数据库集群的第二历史访问状态;

检测所述数据库集群的访问状态与所述历史访问状态是否相同;

若所述第一数据库集群的访问状态与所述第一历史访问状态不相同,且所述第二数据库集群的访问状态与所述第二历史访问状态不相同,则输出异常提醒指令。

若所述第一数据库集群的访问状态与所述第一历史访问状态相同,或者,所述第二数据库集群的访问状态与所述第二历史访问状态相同,则执行所述基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对所述目标集群进行数据同步的步骤。

在本申请实施例中,获取到数据库访问请求的情况下,据数据库集群的访问状态与存储的目标数据至少一者确定数据库集群的状态标签,并基于状态标签包含的第一数据库集群的第一状态标签和第二数据库集群的第二状态标签,确定第一数据库集群与第二数据库集群中需要进行数据同步的目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步,以此通过数据同步来保证第一数据库集群与第二数据库集群二者之间的数据一致性,在确定第一数据库集群与第二数据库集群中需要被同步的目标集群的基础上,将第一数据库集群与第二数据库集群中目标集群之外的另一集群作为不进行数据同步的非目标集群,并在非目标集群进行数据库访问请求的访问操作处理。通过上述可见,本申请能够在处理访问请求的同时,完成两个数据库之间的数据同步,实现了在保证业务连续性的同时,也保证了两个数据库之间的数据一致性。

本说明书提供的一种数据处理设备实施例如下:

对应上述描述的一种数据处理方法,基于相同的技术构思,本申请实施例还提供一种数据处理设备,该数据处理设备用于执行上述提供的数据处理方法,图5为本申请实施例提供的一种数据处理设备的结构示意图。

本实施例提供的一种数据处理设备,包括:

如图5所示,数据处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器501和存储器502,存储器502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器502可以是短暂存储或持久存储。存储在存储器502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括数据处理设备中的一系列计算机可执行指令。更进一步地,处理器501可以设置为与存储器502通信,在数据处理设备上执行存储器502中的一系列计算机可执行指令。数据处理设备还可以包括一个或一个以上电源503,一个或一个以上有线或无线网络接口504,一个或一个以上输入/输出接口505,一个或一个以上键盘506等。

在一个具体的实施例中,数据处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

获取数据库访问请求;

根据数据库集群的访问状态与存储的目标数据至少一者确定所述数据库集群的状态标签,所述数据库集群包括第一数据库集群和第二数据库集群,所述状态标签包括所述第一数据库集群的第一状态标签和所述第二数据库集群的第二状态标签;

基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对所述目标集群进行数据同步;

在所述非目标集群进行所述数据库访问请求的访问操作处理。

在一个实施例中,所述处理器在根据数据库集群的访问状态与存储的目标数据至少一者确定所述数据库集群的状态标签时,执行如下步骤:

若检测到所述数据库集群的访问状态为可用状态,则读取所述数据库集群中存储的目标数据作为所述状态标签;

若检测到所述数据库集群的访问状态为不可用状态,则将所述不可用状态确定为所述状态标签。

在一个实施例中,若所述第一数据库集群和所述第二数据库集群一者的访问状态为可用状态,则所述处理器在基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群时,执行如下步骤:

将所述第一状态标签和所述第二状态标签中,属于不可用状态的状态标签对应的数据库集群确定为所述目标集群;

所述在数据同步条件达成的情况下对所述目标集群进行数据同步,包括:

在检测到所述目标集群的访问状态变更为可用状态的情况下,确定数据同步条件达成,并将所述目标集群存储的目标数据更新为所述非目标集群的状态标签。

在一个实施例中,若所述第一数据库集群和所述第二数据库集群的访问状态均为可用状态,则所述处理器在基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群时,执行如下步骤:

在所述第一数据库集群和所述第二数据库集群中,将业务时序在先的状态标签对应的数据库集群作为所述目标集群。

在一个实施例中,所述处理器在所述非目标集群进行所述数据库访问请求的访问操作处理时,执行如下步骤:

在所述非目标集群中进行所述数据库访问请求的写操作处理,或者,在所述非目标集群中进行所述数据库访问请求的读操作处理。

在一个实施例中,所述处理器还用于:

读取所述数据库集群的历史访问状态;所述历史访问状态包括所述第一数据库集群的第一历史访问状态和所述第二数据库集群的第二历史访问状态;

检测所述数据库集群的访问状态与所述历史访问状态是否相同;

若所述第一数据库集群的访问状态与所述第一历史访问状态不相同,且所述第二数据库集群的访问状态与所述第二历史访问状态不相同,则输出异常提醒指令。

在一个实施例中,所述处理器还用于:

若所述第一数据库集群的访问状态与所述第一历史访问状态相同,或者,所述第二数据库集群的访问状态与所述第二历史访问状态相同,则执行所述基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对所述目标集群进行数据同步的步骤。

在本申请实施例中,获取到数据库访问请求的情况下,据数据库集群的访问状态与存储的目标数据至少一者确定数据库集群的状态标签,并基于状态标签包含的第一数据库集群的第一状态标签和第二数据库集群的第二状态标签,确定第一数据库集群与第二数据库集群中需要进行数据同步的目标集群,以在数据同步条件达成的情况下对目标集群进行数据同步,以此通过数据同步来保证第一数据库集群与第二数据库集群二者之间的数据一致性,在确定第一数据库集群与第二数据库集群中需要被同步的目标集群的基础上,将第一数据库集群与第二数据库集群中目标集群之外的另一集群作为不进行数据同步的非目标集群,并在非目标集群进行数据库访问请求的访问操作处理。通过上述可见,本申请能够在处理访问请求的同时,完成两个数据库之间的数据同步,实现了在保证业务连续性的同时,也保证了两个数据库之间的数据一致性。

本说明书提供的一种计算机可读存储介质实施例如下:

对应上述描述的一种数据处理方法,基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质。

本实施例提供的计算机可读存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:

获取数据库访问请求;

根据数据库集群的访问状态与存储的目标数据至少一者确定所述数据库集群的状态标签,所述数据库集群包括第一数据库集群和第二数据库集群,所述状态标签包括所述第一数据库集群的第一状态标签和所述第二数据库集群的第二状态标签;

基于所述第一状态标签和所述第二状态标签,从所述第一数据库集群与所述第二数据库集群中确定待被同步的目标集群和不同步的非目标集群,以在数据同步条件达成的情况下对所述目标集群进行数据同步;

在所述非目标集群进行所述数据库访问请求的访问操作处理。

需要说明的是,本说明书中关于一种计算机可读存储介质的实施例与本说明书中关于一种数据处理方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应方法的实施,重复之处不再赘述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域内的技术人员应明白,本申请实施例可提供为方法、系统或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程测试设备的处理器以产生一个机器,使得通过计算机或其他可编程测试设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程测试设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程测试设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本申请实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。

相关技术
  • 一种适用于核电站取样系统管道的特氟龙喷涂装置
  • 用于鞋类的喷涂系统
  • 鞋类物品、用于使用回收塑料形成鞋类的制造系统和工艺
技术分类

06120116516657