一种容灾处理方法以及相关装置转让专利

申请号 : CN202010162182.8

文献号 : CN111404737B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭章龙

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开了一种容灾处理的方法以及相关装置,通过实时获取主存储设备的远程事务日志,当若容灾进程被触发时,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志,其中备份事务日志用于指示备存储设备中备份的主存储设备的事务信息;然后基于执行事务日志进行对应的事务操作。从而实现了容灾进程中主存储设备数据的异步备份过程,避免了网络波动对于容灾处理的影响,且由于远程事务日志和备份事务日志的核对可以得到备存储设备中的事务备份进程,可以很好的反映出事务的执行顺序,使得大流量的业务也可以正常的执行,提高了容灾处理的准确性。

权利要求 :

1.一种容灾处理的方法,其特征在于,应用于远距离容灾处理的场景,包括:实时获取主存储设备的远程事务日志,所述远程事务日志用于指示所述主存储设备当前事务操作的信息,所述远程事务日志记录于至少两个存储设备中,所述存储设备对应的归属地不同;

若容灾进程被触发,则确定所述远程事务日志指示的第一事务标识集合和备份事务日志指示的第二事务标识集合,所述备份事务日志用于指示备存储设备中备份的所述主存储设备的事务信息,所述备存储设备与所述主存储设备相关联;

核对所述第一事务标识集合和所述第二事务标识集合中的相同标识,以得到执行事务日志,所述执行事务日志中的事务为在所述远程事务日志和所述备份事务日志都出现的事务;

在所述第二事务标识集合中删除所述相同标识,以对所述远程事务日志进行更新;

基于所述执行事务日志进行对应的事务操作。

2.根据权利要求1所述的方法,其特征在于,所述远程事务日志包括关键事务标识,所述实时获取主存储设备的远程事务日志,包括:检测所述关键事务标识对应事务的主体状态,所述主体状态基于所述关键事务标识对应的用户信息确定;

若所述主体状态满足预设条件,则实时获取主存储设备的远程事务日志。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:核对所述远程事务日志和备份事务日志,以得到黑名单日志;

基于所述黑名单日志拦截对应的事务操作。

4.根据权利要求3所述的方法,其特征在于,所述核对所述远程事务日志和备份事务日志,以得到黑名单日志,包括:确定所述远程事务日志指示的第一事务标识集合和所述备份事务日志指示的第二事务标识集合;

核对所述第一事务标识集合和所述第二事务标识集合中的区别标识,以得到黑名单日志。

5.根据权利要求3所述的方法,其特征在于,所述基于所述黑名单日志拦截对应的事务操作之后,所述方法还包括:

基于所述黑名单日志核对所述主存储设备的数据,以得到恢复日志;

根据所述恢复日志在所述备存储设备中遍历对应的数据,以对所述主存储设备的数据进行更新。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:获取所述主存储设备与所述备存储设备的索引关系;

基于更新后的所述主存储设备的数据对所述索引关系进行更新,以修改所述主存储设备与所述备存储设备的从属关系。

7.根据权利要求1所述的方法,其特征在于,所述远程事务日志用于指示支付服务日志,所述备存储设备与所述主存储设备的归属地不同,所述远程事务日志来源于至少一个与所述主存储设备相关联的备存储设备。

8.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至7任一项所述的容灾处理的方法。

说明书 :

一种容灾处理方法以及相关装置

技术领域

[0001] 本申请涉及互联网技术领域,尤其涉及一种容灾处理的方法以及相关装置。

背景技术

[0002] 随着互联网的发展,信息安全变得越来越重要,无论是企业还是个人对信息安全的依赖程度都非常高。用户对互联网的使用是通过互联网数据中心来完成的,而如何避免
由于数据中心故障而影响网络服务成为难题。
[0003] 一般为了确保用户对互联网的正常使用,通常都会为数据中心设置容灾系统。容灾系统就是指建立两套或多套功能相同的网络系统,这两套或多套网络系统中会包括一个
主网络系统,至少一个备用网络系统,主网络系统工作时,会将数据定时备份到备用网络系
统,当主网络系统出现故障时,会切换到备用网络系统,即在数据层采取跨城强同步由备用
网络系统为用户提供正常的网络服务。
[0004] 但是,数据层采取跨城强同步的方案虽然可以保证主备数据之间的实时一致性,但是在一些远距离备份的场景中,存在延时的问题;并且随着并发数的加大,更新SQL数据
的增多,吞吐量如果继续增大,平均耗时会继续增大,可能对上层业务的响应延时造成影
响,会导致大流量的业务在高峰期时不可用,影响容灾处理的准确性。

发明内容

[0005] 有鉴于此,本申请提供一种容灾处理的方法,可以有效避免由于远距离场景中网络波动带来的业务故障,提高容灾处理过程的准确性。
[0006] 本申请一方面提供一种容灾处理的方法,可以应用于终端设备中包含容灾处理功能的系统或程序中,具体包括:实时获取主存储设备的远程事务日志,所述远程事务日志用
于指示所述主存储设备当前事务操作的信息;
[0007] 若容灾进程被触发,则将所述远程事务日志和备份事务日志进行核对,以得到执行事务日志,所述备份事务日志用于指示备存储设备中备份的所述主存储设备的事务信
息,所述备存储设备与所述主存储设备相关联;
[0008] 基于所述执行事务日志进行对应的事务操作。
[0009] 可选的,在本申请一些可能的实现方式中,所述将所述远程事务日志和备份事务日志进行核对,以得到执行事务日志,包括:
[0010] 确定所述远程事务日志指示的第一事务标识集合和所述备份事务日志指示的第二事务标识集合;
[0011] 核对所述第一事务标识集合和所述第二事务标识集合中的相同标识,以得到执行事务日志。
[0012] 可选的,在本申请一些可能的实现方式中,所述核对所述第一事务标识集合和所述第二事务标识集合中的相同标识,以得到执行事务日志之后,所述方法还包括:
[0013] 在所述第二事务标识集合中删除所述相同标识,以对所述远程事务日志进行更新。
[0014] 可选的,在本申请一些可能的实现方式中,所述远程事务日志包括关键事务标识,所述实时获取主存储设备的远程事务日志,包括:
[0015] 检测所述关键事务标识对应事务的主体状态;
[0016] 若所述主体状态满足预设条件,则实时获取主存储设备的远程事务日志。
[0017] 可选的,在本申请一些可能的实现方式中,所述检测所述关键事务标识对应事务的主体状态,包括:
[0018] 检测所述关键事务标识对应的用户信息;
[0019] 根据所述用户信息确定所述主体状态。
[0020] 可选的,在本申请一些可能的实现方式中,所述方法还包括:
[0021] 核对所述远程事务日志和备份事务日志进行,以得到黑名单日志;
[0022] 基于所述黑名单日志拦截对应的事务操作。
[0023] 可选的,在本申请一些可能的实现方式中,所述核对所述远程事务日志和备份事务日志进行,以得到黑名单日志,包括:
[0024] 确定所述远程事务日志指示的第一事务标识集合和所述备份事务日志指示的第二事务标识集合;
[0025] 核对所述第一事务标识集合和所述第二事务标识集合中的区别标识,以得到黑名单日志。
[0026] 可选的,在本申请一些可能的实现方式中,所述基于所述黑名单日志拦截对应的事务操作之后,所述方法还包括:
[0027] 基于所述黑名单日志核对所述主存储设备的数据,以得到恢复日志;
[0028] 根据所述恢复日志在所述备存储设备中遍历对应的数据,以对所述主存储设备的数据进行更新。
[0029] 可选的,在本申请一些可能的实现方式中,所述方法还包括:
[0030] 获取所述主存储设备与所述备存储设备的索引关系;
[0031] 基于更新后的所述主存储设备的数据对所述索引关系进行更新,以修改所述主存储设备与所述备存储设备的从属关系。
[0032] 可选的,在本申请一些可能的实现方式中,所述远程事务日志来源于至少一个与所述主存储设备相关联的备存储设备。
[0033] 可选的,在本申请一些可能的实现方式中,所述远程事务日志用于指示支付服务,所述备存储设备与所述主存储设备的归属地不同。
[0034] 可选的,在本申请一些可能的实现方式中,所述容灾处理的方法应用于区块链设备,所述区块链设备为区块链中的节点设备。
[0035] 本申请一方面提供一种容灾处理的装置,包括:获取单元,用于实时获取主存储设备的远程事务日志,所述远程事务日志用于指示所述主存储设备当前事务操作的信息;
[0036] 核对单元,用于若容灾进程被触发,则将所述远程事务日志和备份事务日志进行核对,以得到执行事务日志,所述备份事务日志用于指示备存储设备中备份的所述主存储
设备的事务信息,所述备存储设备与所述主存储设备相关联;
[0037] 处理单元,用于基于所述执行事务日志进行对应的事务操作。
[0038] 可选的,在本申请一些可能的实现方式中,所述核对单元,具体用于确定所述远程事务日志指示的第一事务标识集合和所述备份事务日志指示的第二事务标识集合;
[0039] 所述核对单元,具体用于核对所述第一事务标识集合和所述第二事务标识集合中的相同标识,以得到执行事务日志。
[0040] 可选的,在本申请一些可能的实现方式中,所述核对单元,还用于在所述第二事务标识集合中删除所述相同标识,以对所述远程事务日志进行更新。
[0041] 可选的,在本申请一些可能的实现方式中,所述获取单元,具体用于检测所述关键事务标识对应事务的主体状态;
[0042] 所述获取单元,具体用于若所述主体状态满足预设条件,则实时获取主存储设备的远程事务日志。
[0043] 可选的,在本申请一些可能的实现方式中,所述获取单元,具体用于检测所述关键事务标识对应的用户信息;
[0044] 所述获取单元,具体用于根据所述用户信息确定所述主体状态。
[0045] 可选的,在本申请一些可能的实现方式中,所述核对单元,还用于核对所述远程事务日志和备份事务日志进行,以得到黑名单日志;
[0046] 所述处理单元,还用于基于所述黑名单日志拦截对应的事务操作。
[0047] 可选的,在本申请一些可能的实现方式中,所述核对单元,具体用于确定所述远程事务日志指示的第一事务标识集合和所述备份事务日志指示的第二事务标识集合;
[0048] 所述核对单元,具体用于核对所述第一事务标识集合和所述第二事务标识集合中的区别标识,以得到黑名单日志。
[0049] 可选的,在本申请一些可能的实现方式中,所述处理单元,还用于基于所述黑名单日志核对所述主存储设备的数据,以得到恢复日志;
[0050] 所述处理单元,还用于根据所述恢复日志在所述备存储设备中遍历对应的数据,以对所述主存储设备的数据进行更新。
[0051] 可选的,在本申请一些可能的实现方式中,所述处理单元,还用于获取所述主存储设备与所述备存储设备的索引关系;
[0052] 所述处理单元,还用于基于更新后的所述主存储设备的数据对所述索引关系进行更新,以修改所述主存储设备与所述备存储设备的从属关系。
[0053] 本申请一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述一方面中任
一项所述的容灾处理的方法。
[0054] 本申请一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述一方面任一项所述的容灾处理的方法。
[0055] 从以上技术方案可以看出,本申请实施例具有以下优点:
[0056] 通过实时获取主存储设备的远程事务日志,当若容灾进程被触发时,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志,其中备份事务日志用于指示备存
储设备中备份的主存储设备的事务信息;然后基于执行事务日志进行对应的事务操作。从
而实现了容灾进程中主存储设备数据的异步备份过程,避免了网络波动对于容灾处理的影
响,且由于远程事务日志和备份事务日志的核对可以得到备存储设备中的事务备份进程,
可以很好的反映出事务的执行顺序,使得大流量的业务也可以正常的执行,提高了容灾处
理的准确性。

附图说明

[0057] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
[0058] 图1为容灾处理系统运行的网络架构图;
[0059] 图2为本申请实施例提供的一种容灾处理的流程架构图;
[0060] 图3为本申请实施例提供的一种容灾处理的方法的流程图;
[0061] 图4为本申请实施例提供的另一种容灾处理的流程架构图;
[0062] 图5为本申请实施例提供的另一种容灾处理的方法的流程图;
[0063] 图6为本申请实施例提供的另一种容灾处理的方法的场景示意图;
[0064] 图7为本申请实施例提供的一种容灾处理装置的结构示意图;
[0065] 图8为本申请实施例提供的一种计算机设备的结构示意图;
[0066] 图9A为本申请实施例提供的一种数据共享系统;
[0067] 图9B为本申请实施例提供的一种区块链的组成;
[0068] 图9C为本申请实施例提供的一种区块链节点的输入信息示意图。

具体实施方式

[0069] 本申请实施例提供了一种容灾处理的方法以及相关装置,可以应用于终端设备中包含容灾处理功能的系统或程序中,通过实时获取主存储设备的远程事务日志,当若容灾
进程被触发时,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志,其中备
份事务日志用于指示备存储设备中备份的主存储设备的事务信息;然后基于执行事务日志
进行对应的事务操作。从而实现了容灾进程中主存储设备数据的异步备份过程,避免了网
络波动对于容灾处理的影响,且由于远程事务日志和备份事务日志的核对可以得到备存储
设备中的事务备份进程,可以很好的反映出事务的执行顺序,使得大流量的业务也可以正
常的执行,提高了容灾处理的准确性。
[0070] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任
何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、
产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于
这些过程、方法、产品或设备固有的其它步骤或单元。
[0071] 首先,对本申请实施例中可能出现的一些名词进行解释。
[0072] 容灾:在相隔较远的异地,建立两套或多套功能相同的服务系统,互相之间可以进行运行状态监视和功能切换,当一处系统因意外停止工作时,整个应用系统可以切换到另
一处,使得该系统功能可以继续正常工作,例如数据备份等。
[0073] 结构化查询语言(Structured Query Language,SQL):一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
[0074] 应理解,本申请提供的容灾处理方法可以应用于终端设备中包含容灾处理功能的系统或程序中,例如支付系统中的数据备份平台,具体的,容灾处理系统可以运行于如图1
所示的网络架构中,如图1所示,是容灾处理系统运行的网络架构图,如图可知,该网络架构
包括界面层、应用层和数据层;其中,界面层又称表现层UI,与用户直接接触,主要是B/S信
息系统中的Web浏览页面。作为Web浏览页面,表示层的主要功能是实现系统数据的传入与
输出,在此过程中不需要借助逻辑判断操作就可以将数据传送到BLL系统中进行数据处理,
处理后会将处理结果反馈到表示层中。即表示层用于实现用户界面功能,将用户的需求传
达和反馈,并进行调试,保证用户体验。
[0075] 应用层的功能是对具体问题进行逻辑判断与执行操作,接收到界面层的用户指令后,会连接数据层,访问层在三层构架中位于表示层与数据层中间位置,同时也是表示层与
数据层的桥梁,实现三层之间的数据连接和指令传达,可以对接收数据进行逻辑处理,实现
数据的修改、获取、删除等功能,并将处理结果反馈到界面层中,实现相关业务进程。
[0076] 数据层是数据库的主要操控系统,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到应用层。在实际运行的过程中,数据层没有逻辑判断能力,为了实现代码编
写的严谨性,提高代码阅读程度。
[0077] 本实施例提供的容灾处理系统即是对于数据层的操控过程,使得多个数据库中的数据可以实现准确的容灾备份,以保证相关业务的顺利进行。应当注意的是,图1中示出了3
个存储设备,而在实际场景中,可以是更多或更少数量的存储设备,具体数量因实际场景而
定。
[0078] 可以理解的是,上述容灾处理系统可以运行于存储设备,例如:容灾处理应用,也可以运行于服务器,还可以作为运行于第三方设备以提供容灾处理,以得到信息源的容灾
处理处理结果;具体的容灾处理系统可以是以一种程序的形式在上述设备中运行,也可以
作为上述设备中的系统部件进行运行,还可以作为云端服务程序的一种,具体运作模式因
实际场景而定,此处不做限定。
[0079] 随着互联网的发展,信息安全变得越来越重要,无论是企业还是个人对信息安全的依赖程度都非常高。用户对互联网的使用是通过互联网数据中心来完成的,而如何避免
由于数据中心故障而影响网络服务成为难题。
[0080] 一般为了确保用户对互联网的正常使用,通常都会为数据中心设置容灾系统。容灾系统就是指建立两套或多套功能相同的网络系统,这两套或多套网络系统中会包括一个
主网络系统,至少一个备用网络系统,主网络系统工作时,会将数据定时备份到备用网络系
统,当主网络系统出现故障时,会切换到备用网络系统,即在数据层采取跨城强同步由备用
网络系统为用户提供正常的网络服务。
[0081] 但是,数据层采取跨城强同步的方案虽然可以保证主备数据之间的实时一致性,但是由于距离较远,如1000公里以上,根据光速可以推算出来仅网络通信就需要花费至少
30ms,并且随着并发数的加大,更新SQL数据的增多,吞吐量如果继续增大,平均耗时会增大
的非常明显,这对上层业务的响应延时势必造成较大的影响,很大概率导致导致有一定流
量的业务在高峰期时不可用,影响容灾处理的准确性。
[0082] 为了解决上述问题,本申请提出了一种容灾处理的方法,该方法应用于图2所示的容灾处理的流程框架中,如图2所示,为本申请实施例提供的一种容灾处理的流程架构图,
即在主存储设备进行相关业务时,将对应的事务以远程事务日志的形式发送至备存储设
备,以与备存储设备中已记录的备份事务日志进行核对,然后基于核对的结果指示容灾处
理的结果,即切换至备存储设备为业务请求方提供服务。
[0083] 可以理解的是,本申请所提供的方法可以为一种程序的写入,以作为硬件系统中的一种处理逻辑,也可以作为一种容灾处理装置,采用集成或外接的方式实现上述处理逻
辑。作为一种实现方式,该容灾处理装置通过实时获取主存储设备的远程事务日志,当若容
灾进程被触发时,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志,其中
备份事务日志用于指示备存储设备中备份的主存储设备的事务信息;然后基于执行事务日
志进行对应的事务操作。从而实现了容灾进程中主存储设备数据的异步备份过程,避免了
网络波动对于容灾处理的影响,且由于远程事务日志和备份事务日志的核对可以得到备存
储设备中的事务备份进程,可以很好的反映出事务的执行顺序,使得大流量的业务也可以
正常的执行,提高了容灾处理的准确性。
[0084] 结合上述流程架构,下面将对本申请中容灾处理的方法进行介绍,请参阅图3,图3为本申请实施例提供的一种容灾处理的方法的流程图,本申请实施例至少包括以下步骤:
[0085] 301、计算机设备实时获取主存储设备的远程事务日志。
[0086] 本实施例中,远程事务日志用于指示主存储设备当前事务操作的信息,例如主存储设备当前正在进行交易业务,则远程事务日志则可以包括交易业务对应的用户信息、交
易内容、交易密钥等内容。
[0087] 可以理解的是,远程事务日志可以记录在第三方存储设备,该第三方存储设备与备存储设备存在对应关系;远程事务日志也可以记录在执行容灾处理进程的计算机设备
中,具体的方式因实际场景而定。
[0088] 可选的,为了防止记录远程事务日志存储设备与主存储设备间网络抖动而造成远程事务日志写失败,可以采取双写在另外两个或多个存储设备中,当任一存储设备记录成
功即可,从而保证了远程事务日志的正常记录,提高了容灾处理过程的稳定性。
[0089] 在一种可能的场景中,远程事务日志中还标记了关键事务标识,即对于该事务的关键主体标识;此时可以检测关键事务标识对应事务的主体状态;当主体状态满足预设条
件时,则实时获取主存储设备的远程事务日志,例如每次业务操作都需要检查主体状态是
否正常的ID,如商品系统的商品skuid,交易系统的用户ID等。
[0090] 可以理解的是,上述关键事务仅为示例,具体的关键事务的标记方式可以是人为的标记,也可以是计算机设备根据历史记录自动生成,例如对于支付事务,则检测关键事务
标识对应的用户信息,然后根据用户信息确定主体状态。
[0091] 302、计算机设备若容灾进程被触发,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志。
[0092] 本实施例中,容灾进程的出发可以是由于主存储设备发生了故障,或者主存储设备检测到本地的网络不稳定,为保证业务的正常进行采取的主动切换过程。
[0093] 另外,备份事务日志用于指示备存储设备中备份的主存储设备的事务信息,备存储设备与主存储设备相关联,即备存储设备与主存储设备存在数据备份的关系,本实施例
提供的容灾处理的方法相当于对于该数据备份过程的改进,即将现有的同步备份的方法改
为异步备份的方法,具体通过远程事务日志和备份事务日志进行核对得到执行日志名单。
[0094] 具体的,核对过程可以是对比远程事务日志和备份事务日志的标识集合,例如事务ID,通过比较不同事务ID在远程事务日志和备份事务日志中的出现情况判断该事务是否
备份完成,即在远程事务日志和备份事务日志都出现的事务。例如对于事务A出现在远程事
务日志中,也在备份事务日志中,则说明事务A已经成功备份。
[0095] 可选的,为了减少远程事务日志中的数据量,对于已经标记为成功备份的事务可以进行记录删除,此时,在再次进行核对时,若该事件再次出现,则说明该事件在备份事务
日志中未备份。
[0096] 可以理解的是,经过上述对于已备份的事务记录删除后,对于执行事务日志的判断过程则是判断事务是否出现在更新后的远程事务日志中,若未出现,则说明该事务已经
备份,为执行事务日志中的事务,从而简化了执行事务的判断效率。
[0097] 303、计算机设备基于执行事务日志进行对应的事务操作。
[0098] 本实施例中,通过上述步骤中得到的执行事务日志进行备存储设备与业务请求方的事务操作交互过程,从而保证了容灾过程的顺利进行。
[0099] 可以理解的是,在进行正常的事务操作后,备存储设备相当于作为当前的主存储设备,而主存储设备相当于当前的备存储设备;待主存储设备故障维护完成后,可以切换回
原有的从属关系,但考虑到切换过程的效率,也可以保持现有的从属关系以为业务请求方
提供服务。
[0100] 结合上述实施例可知,通过实时获取主存储设备的远程事务日志,当若容灾进程被触发时,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志,其中备份事
务日志用于指示备存储设备中备份的主存储设备的事务信息;然后基于执行事务日志进行
对应的事务操作。从而实现了容灾进程中主存储设备数据的异步备份过程,避免了网络波
动对于容灾处理的影响,且由于远程事务日志和备份事务日志的核对可以得到备存储设备
中的事务备份进程,可以很好的反映出事务的执行顺序,使得大流量的业务也可以正常的
执行,提高了容灾处理的准确性。
[0101] 上述实施例介绍了容灾处理的过程,下面,结合跨地域远距离的容灾切换作为具体场景进行介绍,请参阅图4,为本申请实施例提供的另一种容灾处理的流程架构图,图中
示出在主存储设备进行相关业务时,将对应的事务以远程事务日志的形式发送至两个不同
归属地进行记录,以与备存储设备中已记录的备份事务日志进行核对,其中,两个不同归属
地的记录只需满足其中任一记录成功既可以进行后续的核对过程,从而减少了由于不同归
属地之间的网络波动影响;然后基于核对的结果指示容灾处理的结果,即切换至备存储设
备为业务请求方提供服务。
[0102] 可以理解的是,归属地可以是城市,也可以是省份,还可以是人为规定的地区范围,此处不做限定。
[0103] 下面,基于图4所示的流程架构对容灾处理的方法进行说明,请参阅图5,图5为本申请实施例提供的另一种容灾处理的方法的流程图,本申请实施例至少包括以下步骤:
[0104] 501、计算机设备实时获取主存储设备的远程事务日志。
[0105] 本实施例中,步骤501与图3所述实施例的步骤301相似,相关特征描述可以进行参考,此处不做赘述。
[0106] 502、计算机设备若容灾进程被触发,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志和黑名单日志。
[0107] 本实施例中,将远程事务日志和备份事务日志进行核对得到执行事务日志的过程与图3所述实施例的步骤302相似,相关特征描述可以进行参考,此处不做赘述。
[0108] 可以理解的是,对于黑名单日志,即为远程事务日志和备份事务日志进行核对过程中的区别事务,例如:事务B在远程事务日志中出现,而在备份事务日志中未出现,则说明
该事务未在备存储设备中备份,需要加入黑名单日志中。
[0109] 可选的,对于远程事务日志和备份事务日志进行核对的过程也可以是在容灾进程之前,即实时进行的过程。此时,将远程事务日志和备份事务日志中均出现的事务加入执行
事务日志中,并在远程事务日志删除,则在后续的黑名单日志事务的判断过程中,若事务出
现在更新后的远程事务日志中,则说明该事务未被删除,划为黑名单日志中的事务,从而提
高了黑名单日志的生成效率。
[0110] 503、计算机设备基于执行事务日志进行对应的事务操作。
[0111] 本实施例中,步骤503与图3所述实施例的步骤303相似,相关特征描述可以进行参考,此处不做赘述。
[0112] 504、计算机设备基于黑名单日志进行对应的事务拦截。
[0113] 本实施例中,由于黑名单日志中的事务未在备存储设备中备份,可以影响容灾的进程,需要先进行事务拦截,即暂时停止该事务的执行,从而保证已备份事务的正常容灾切
换。
[0114] 505、计算机设备基于远程事务日志对主存储设备中的数据进行恢复。
[0115] 本实施例中,基于远程事务日志对主存储设备中的数据进行恢复的过程可以是在主存储设备故障解除后,此时远程事务日志中记录的事务相当于黑名单日志中的事务。此
时将远程事务日志与主存储设备的数据进行核对,以确认故障发生时刻备存储设备上丢失
的数据,并将丢失的数据的数据对应的事务日志在备存储设备中进行回放,从而进行数据
恢复。
[0116] 具体的远程事务日志与主存储设备的数据进行核对过程如图6所示,图6为本申请实施例提供的一种容灾处理的方法的场景示意图,图中示出远程事务日志中记录的事务ID
在数据已同步的备存储设备或者确认是主存储设备上未提交的事务时,则清理掉黑名单日
志的记录;对于未同步的事务ID将会在容灾切换后启动拦截,然后在原故障主存储设备恢
复后,经过三方核对后由业务进行所需要的事务日志的回放来恢复数据,即图中事务4对应
的数据,从而保证了备存储设备中的数据完整性。
[0117] 506、计算机设备更新主存储设备与备存储设备的索引关系。
[0118] 本实施例中,由于备存储设备进行与业务请求方的事务操作,此时可以将备存储设备的从属关系修改为主设备,将主存储设备的从属关系修改为备设备。
[0119] 进一步的,对于后续的事务处理过程相关的事务,从备存储设备中备份至主存储设备,即对主存储设备与备存储设备的索引关系进行更新。从而继续上述实施例中的容灾
处理的过程,保证了数据系统的正常运行。
[0120] 结合上述实施例可见,通过记录远程事务日志的方式实现跨归属地切换拦截数据不一致关键业务ID的操作(如用户)以及通过远程事务日志回放的方式补齐备存储设备可
能缺失的少量数据以此达到数据最终一致;本实施例为远距离跨归属地的快速容灾切换提
供了一种可行的方案,对金融、支付等对可用性要求极高业务,需要多地部署保证一城故障
后容灾切换的能力,提供了一种即满足高吞吐量,又满足可以快速容灾切换保证业务连续
可用的过程。
[0121] 为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图7,图7为本申请实施例提供的一种容灾处理装置的结构示意图,容灾处理装
置700包括:
[0122] 获取单元701,用于实时获取主存储设备的远程事务日志,所述远程事务日志用于指示所述主存储设备当前事务操作的信息;
[0123] 核对单元702,用于若容灾进程被触发,则将所述远程事务日志和备份事务日志进行核对,以得到执行事务日志,所述备份事务日志用于指示备存储设备中备份的所述主存
储设备的事务信息,所述备存储设备与所述主存储设备相关联;
[0124] 处理单元703,用于基于所述执行事务日志进行对应的事务操作。
[0125] 可选的,在本申请一些可能的实现方式中,所述核对单元702,具体用于确定所述远程事务日志指示的第一事务标识集合和所述备份事务日志指示的第二事务标识集合;
[0126] 所述核对单元702,具体用于核对所述第一事务标识集合和所述第二事务标识集合中的相同标识,以得到执行事务日志。
[0127] 可选的,在本申请一些可能的实现方式中,所述核对单元702,还用于在所述第二事务标识集合中删除所述相同标识,以对所述远程事务日志进行更新。
[0128] 可选的,在本申请一些可能的实现方式中,所述获取单元701,具体用于检测所述关键事务标识对应事务的主体状态;
[0129] 所述获取单元701,具体用于若所述主体状态满足预设条件,则实时获取主存储设备的远程事务日志。
[0130] 可选的,在本申请一些可能的实现方式中,所述获取单元701,具体用于检测所述关键事务标识对应的用户信息;
[0131] 所述获取单元701,具体用于根据所述用户信息确定所述主体状态。
[0132] 可选的,在本申请一些可能的实现方式中,所述核对单元702,还用于核对所述远程事务日志和备份事务日志进行,以得到黑名单日志;
[0133] 所述处理单元703,还用于基于所述黑名单日志拦截对应的事务操作。
[0134] 可选的,在本申请一些可能的实现方式中,所述核对单元702,具体用于确定所述远程事务日志指示的第一事务标识集合和所述备份事务日志指示的第二事务标识集合;
[0135] 所述核对单元702,具体用于核对所述第一事务标识集合和所述第二事务标识集合中的区别标识,以得到黑名单日志。
[0136] 可选的,在本申请一些可能的实现方式中,所述处理单元703,还用于基于所述黑名单日志核对所述主存储设备的数据,以得到恢复日志;
[0137] 所述处理单元703,还用于根据所述恢复日志在所述备存储设备中遍历对应的数据,以对所述主存储设备的数据进行更新。
[0138] 可选的,在本申请一些可能的实现方式中,所述处理单元703,还用于获取所述主存储设备与所述备存储设备的索引关系;
[0139] 所述处理单元703,还用于基于更新后的所述主存储设备的数据对所述索引关系进行更新,以修改所述主存储设备与所述备存储设备的从属关系。
[0140] 通过实时获取主存储设备的远程事务日志,当若容灾进程被触发时,则将远程事务日志和备份事务日志进行核对,以得到执行事务日志,其中备份事务日志用于指示备存
储设备中备份的主存储设备的事务信息;然后基于执行事务日志进行对应的事务操作。从
而实现了容灾进程中主存储设备数据的异步备份过程,避免了网络波动对于容灾处理的影
响,且由于远程事务日志和备份事务日志的核对可以得到备存储设备中的事务备份进程,
可以很好的反映出事务的执行顺序,使得大流量的业务也可以正常的执行,提高了容灾处
理的准确性。
[0141] 本申请实施例还提供了一种计算机设备,请参阅图8,图8是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备800可因配置或性能不同而产生比较大的差
异,可以包括一个或一个以上中央处理器(central processing units,CPU)822(例如,一
个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介
质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存
储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每
个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与
存储介质830通信,在计算机设备800上执行存储介质830中的一系列指令操作。
[0142] 计算机设备800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例
TM TM TM TM
如Windows Server ,Mac OS X ,Unix ,LinuxTM,FreeBSD 等等。
[0143] 上述实施例中由图像渲染装置所执行的步骤可以基于该图8所示的计算机设备结构。
[0144] 本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有容灾处理指令,当其在计算机上运行时,使得计算机执行如前述图2至图6所示实施例描
述的方法中容灾处理装置所执行的步骤。
[0145] 本申请实施例中还提供一种包括容灾处理指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图2至图6所示实施例描述的方法中容灾处理装置所执行
的步骤。
[0146] 本申请实施例还提供了一种容灾处理系统,所述容灾处理系统可以包含图7所描述实施例中的容灾处理装置,或者图8所描述的计算机设备。
[0147] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0148] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
[0149] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0150] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0151] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,容灾处理装置,或者网络设备等)执行本申请各个实施例所述方
法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read‑only 
memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存
储程序代码的介质。
[0152] 在一种可能的场景中,本申请中的容灾切换的方法应用于区块链设备中,且该区块链设备为区块链中的节点,下面结合附图进行说明;参见图9A所示的数据共享系统,数据
共享系统900是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括
多个节点901,多个节点901可以是指数据共享系统中各个客户端。每个节点901在进行正常
工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。
为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连
接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接
收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入
信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一
致。
[0153] 对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节
点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个
如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,
节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用
于标识该节点的信息,表1中仅以IP地址为例进行说明。
[0154] 表1节点名称与节点标识的对应关系
[0155]节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
… …
节点N 119.123.789.258
[0156] 数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图9B,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入
信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以
创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输
入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链
中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入
信息的安全性。
[0157] 在生成区块链中的各个区块时,参见图9C,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输
入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机
数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
[0158] SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
[0159] 其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输
入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定
值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值
可以根据nbits确定得到。
[0160] 这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标
识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生
成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
[0161] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些
修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。