CN109086292A - 一种数据库的切换方法及系统 - Google Patents

一种数据库的切换方法及系统 Download PDF

Info

Publication number
CN109086292A
CN109086292A CN201810592810.9A CN201810592810A CN109086292A CN 109086292 A CN109086292 A CN 109086292A CN 201810592810 A CN201810592810 A CN 201810592810A CN 109086292 A CN109086292 A CN 109086292A
Authority
CN
China
Prior art keywords
terminal
group
storage
described group
external storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810592810.9A
Other languages
English (en)
Other versions
CN109086292B (zh
Inventor
林水明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810592810.9A priority Critical patent/CN109086292B/zh
Priority to PCT/CN2018/105554 priority patent/WO2019237543A1/zh
Publication of CN109086292A publication Critical patent/CN109086292A/zh
Application granted granted Critical
Publication of CN109086292B publication Critical patent/CN109086292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于互联网技术领域,提供了一种数据库的切换方法及系统,包括:监控终端接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别组内存储终端是否存在异常;若组内存储终端存在异常,则将存储于分区数据同步至组外存储终端;所述组外存储终端获取监控终端的通信地址,并确定通信地址与分区标识之间的对应关系;若生成的第二运行日志中包含分区标识,则根据对应关系将第二运行日志上传至监控终端。本发明当存储终端存储有其他终端切换的分区数据时,依然可以将关于该分区数据的运行日志反馈到对应的监控终端,进行运行状态的监控以及维护,从而保证了监控记录的连续性,从而能够提高数据库的稳定性以及异常监测的准确性。

Description

一种数据库的切换方法及系统
技术领域
本发明属于互联网技术领域,尤其涉及一种数据库的切换方法及系统。
背景技术
由于分布式存储具有较优的抗灾性以及稳定性,常常作为数据库的搭建框架,实现的方式为;将数据库划分为多个分区,通过分布式部署的方式将各个分区的数据存储于多个存储终端内,并为每个存储终端配置对应的监控终端,以监测该存储终端的完备性以及运行情况,当监测到某一分区的存储终端异常时,会将该分区的数据切换到另一存储终端,以保证数据库的完备性。
然而现有的数据库的切换方法,在分区数据从一个存储终端切换到另一个存储终端后,分区数据的运行日志也会在对应的监控终端之间进行转移,从而导致监控终端上的监控数据不连续,降低了异常监控的准确性以及稳定性。
发明内容
有鉴于此,本发明实施例提供了一种数据库的切换方法及系统,以解决解决现有的数据库的切换方法,监控数据不连续,降低了异常监控的准确性以及稳定性的问题。
本发明实施例的第一方面提供了一种数据库的切换方法,应用于分布式数据库,所述分布式数据库包括分布式部署的至少两组存储系统;每组所述存储系统包括存储终端以及监控终端;所述数据库的切换方法包括:
所述监控终端接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端是否存在异常;所述组内存储终端为与所述监控终端部署于同一存储系统的存储终端;
若所述组内存储终端存在异常,则所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端;所述分区数据包括分区标识;所述组外存储终端为所述分布式数据库中除所述监控终端所在存储系统外的其中一个存储系统的存储终端;
所述组外存储终端获取所述监控终端的通信地址,并确定所述通信地址与所述分区标识之间的对应关系;
若所述组外存储终端生成的第二运行日志中包含所述分区标识,则根据所述对应关系将所述第二运行日志上传至所述监控终端。
本发明实施例的第二方面提供了一种数据库的切换系统,应用于分布式数据库,所述分布式数据库包括分布式部署的至少两组存储系统;每组所述存储系统包括存储终端以及监控终端:
所述监控终端,用于接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端是否存在异常;所述组内存储终端为与所述监控终端部署于同一存储系统的存储终端;
所述监控终端将存储,用于若所述组内存储终端存在异常,则于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端;所述分区数据包括分区标识;所述组外存储终端为所述分布式数据库中除所述监控终端所在存储系统外的其中一个存储系统的存储终端;
所述组外存储终端,用于获取所述监控终端的通信地址,并确定所述通信地址与所述分区标识之间的对应关系;
若所述组外存储终端,用于生成的第二运行日志中包含所述分区标识,则根据所述对应关系将所述第二运行日志上传至所述监控终端。
实施本发明实施例提供的一种数据库的切换方法及系统具有以下有益效果:
本发明实施例中,监控终端接收组内存储终端上传的第一运行日志,继而判定组内存储终端是否存在异常情况;若该组内存储终端发生异常情况,则将该组内存储终端存储的分区数据同步到任一组外存储终端内,并在发送后标记该分区数据对应的分区标识;组外存储终端根据该分区标识以及监控终端的通信地址,构建上述两者之间的对应关系,以便在接收到该分区标识对应的第二运行日志时,能够上传至该分区标识对应的监控终端,以保证监控数据连续。与现有的数据库的切换技术相比,当存储终端存储有其他终端切换的分区数据时,依然可以根据该分区数据的分区标识,将关于该分区数据的运行日志反馈到对应的监控终端,进行运行状态的监控以及维护,从而保证了监控记录的连续性,从而能够提高数据库的稳定性以及异常监测的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种数据库的切换方法的交互流程图;
图2是本发明第二实施例提供的一种数据库的切换方法S102具体实现流程图;
图3是本发明第三实施例提供的一种数据库的切换方法S103具体实现流程图;
图4是本发明第四实施例提供的一种数据库的切换方法S101具体实现流程图;
图5是本发明第五实施例提供的一种数据库的切换方法具体实现流程图;
图6是本发明一实施例提供的一种数据库的切换系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,监控终端接收组内存储终端上传的第一运行日志,继而判定组内存储终端是否存在异常情况;若该组内存储终端发生异常情况,则将该组内存储终端存储的分区数据同步到任一组外存储终端内,并在发送后标记该分区数据对应的分区标识;组外存储终端根据该分区标识以及监控终端的通信地址,构建上述两者之间的对应关系,以便在接收到该分区标识对应的第二运行日志时,能够上传至该分区标识对应的监控终端,以保证监控数据连续,解决了现有的数据库的切换方法,监控数据不连续,降低了异常监控的准确性以及稳定性的问题。
在本发明实施例中,流程的执行主体为数据库的切换系统。该数据库的切换系统应用于分布式数据库,包括分布式部署的至少两组存储系统;每组存储系统包括至少一个存储终端以及一个监控终端,该监控终端用于检测各个存储终端的运行情况,以便在存储终端出现异常时能够进行数据切换,每个监控终端配置有一容灾实例,基于该容灾实例进行异常情况的识别。图1示出了本发明第一实施例提供的数据库的切换方法的交互流程图,详述如下:
在S101中,所述监控终端接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端是否存在异常;所述组内存储终端为与所述监控终端部署于同一存储系统的存储终端。
在本实施例中,组内存储终端当检测到当前时刻满足预设的上传条件时,则会生成一个第一运行日志,并发送给其存储系统内的监控终端。该第一运行日志用于表示存储终端当前的运行情况。举例性地,该第一运行日志可以包括有存储终端的存储占用率、处理模块的占用率、请求响应速率等。其中,该上传条件可以为一上传周期或预设的多个上传时间节点,当组内存储设备检测到当前时刻到达预设的上传周期或上传时间节点时,则向监控终端发送第一运行日志;或者,该上传条件可以为一上传触发事件,例如接收到的数据库的存储量到达预设阈值或响应某一存储请求后,存储终端则会自动向监控终端汇报关于当前运行状态的第一运行日志。
在本实施例中,监控终端在接收到组内存储终端上传的第一运行日志后,可以将该第一运行日志导入到预设的异常情况识别模型内,确定其组内存储终端是否存在异常情况,并在检测到异常情况时,进行分布式数据库的分区数据的切换操作,以保证分布式数据库的数据完整性。
可选地,在本实施例中,监控终端判断组内存储终端是否存在异常情况的方式可以为:接收到组内存储终端发送的第一运行日志后,会提取该第一运行日志中的特征参数,并与预设的额定参数范围进行比对,若第一运行日志中任一特征参数在该额定参数范围外,则识别该组内存储终端存在异常,并执行S102的相关操作;反之,若该第一运行日志内所有特征参数均在额定参数范围内,则识别该组内存储终端处于正常状态,继续对该分布式数据库的分区数据进行存储。
可选地,在本实施例中,同一存储系统中可以包含两个或以上的存储终端,上述两个存储终端之间对所属存储系统的数据库分区数据进行内同步,并共同响应存储系统内用户终端发起的存储请求,实现负载均衡。因此,上述两个存储终端均会生成第一运行日志,并将上述第一运行日志发送给监控终端,继而监控终端通过第一运行日志对系统内的所有组内存储终端进行异常检测。在该情况下,为了确定第一运行日志所属的组内存储终端,第一运行日志还携带有存储终端的终端标识。该终端标识可以为组内存储终端的组内编号,或者该组内存储终端的通信地址。
在S102中,若所述组内存储终端存在异常,则所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端;所述分区数据包括分区标识;所述组外存储终端为所述分布式数据库中除所述监控终端所在存储系统外的其中一个存储系统的存储终端。
在本实施例中,若第一运行日志表示组内存储终端存在异常,则监控终端会控制组内存储终端将其所存储的分布式数据库的分区数据切换另一存储系统的存储终端内。需要说明的是,分布式数据库内的各个存储终端均预留了一定的存储空间来存储其他存储终端切换过来的分区数据。
可选地,监控终端存储有数据切换对应关系表,该对应关系表中记录有组内存储终端的分区数据可切换的所有组外存储终端。基于该对应关系表中各个组外存储终端的切换次序,监控终端依次向各个组外存储终端发送切换请求指令,以确认该组外存储终端的预留存储空间是否已经被占用。若组外存储终端的预留存储空间并未被占用,则可以向监控终端返回一个切换确认指令,则监控终端将该组外存储终端识别为目标切换终端,并将组内存储终端的分区数据同步到该目标切换终端的预留存储空间内,实现数据切换的目的。
在本实施例中,监控终端会控制组内存储终端与组外存储终端建立一条用于对分区数据进行同步的长连接,并将该分布式数据库的分区数据同步发送到该组外存储终端的预留存储空间内,并为该预留的存储空间添加到分区标识。该分区标识用于表示该分区数据在分布式数据库内所对应的分区编号。由于组外存储终端还存储有自身所属存储系统内关于分布式数据库的分区数据,为了对两个分区数据进行区分,需要为预留存储块空间添加分区标识。
可选地,若在分区数据同步的过程中接收到用户终端发起的存储请求,则监控终端将存储请求的目标地址由组内存储终端替换为该进行同步操作的组外存储终端对应的通信地址,以通过该组外存储终端在同步完成后响应该存储请求。
在S103中,所述组外存储终端获取所述监控终端的通信地址,并确定所述通信地址与所述分区标识之间的对应关系。
在本实施例中,组外存储终端在接收完成切换的分区数据后,会向监控终端发送一个通信地址获取请求,监控终端会把自身的通信地址返回给该组外存储终端。组外存储终端获取了该监控各终端的通信地址后,则会建立分区标识与该通信地址之间的对应关系,以在生成关于该分区标识对应的第二运行数据时,返回给对应的监控终端。
可选地,在本实施例中,组外存储终端可以将该通信地址配置于网关接口处,并设置分区标识与通信地址的对应关系。即当该网关接口接收到一数据包时,若检测到该数据包携带有该分区标识,则会对该数据包进行重定向,将监控设备的通信地址添加到该数据包的帧头,以实现将第二运行记录发送给监控终端。
在S104中,若所述组外存储终端生成的第二运行日志中包含所述分区标识,则根据所述对应关系将所述第二运行日志上传至所述监控终端。
在本实施例中,组外存储终端除了存储自身所属系统的分区数据外,还存储有其他存储终端,即上述的组内存储终端的分区数据,而为了确保监控数据的连续性,不同分区数据的运行日志需要上传至对应的监控终端。基于此,组外存储终端在生成一个运行日志后,需要对该运行日志记录有的分区数据包含的分区标识进行识别,以判断是上传至本身所属存储系统的监控终端,抑或是上传至切换数据的存储系统的监控终端。
若组外存终端检测到生成的第二运行日志内包含所述组内存储终端对应的分区标识,则把该第二运行日志上传至组内存储终端对应的监控终端;反之,若该组外存储终端见到该第二运行日志包含的自身存储系统所属的分区标识,则将第二运行日志上传至自身所属存储系统的监控终端内,从而能够实现不同分区数据的运行日志上传到对应的监控终端的目的。
以上可以看出,本发明实施例提供的一种数据库的切换方法中,监控终端接收组内存储终端上传的第一运行日志,继而判定组内存储终端是否存在异常情况;若该组内存储终端发生异常情况,则将该组内存储终端存储的分区数据同步到任一组外存储终端内,并在发送后标记该分区数据对应的分区标识;组外存储终端根据该分区标识以及监控终端的通信地址,构建上述两者之间的对应关系,以便在接收到该分区标识对应的第二运行日志时,能够上传至该分区标识对应的监控终端,以保证监控数据连续。与现有的数据库的切换技术相比,当存储终端存储有其他终端切换的分区数据时,依然可以根据该分区数据的分区标识,将关于该分区数据的运行日志反馈到对应的监控终端,进行运行状态的监控以及维护,从而保证了监控记录的连续性,从而能够提高数据库的稳定性以及异常监测的准确性
图2示出了本发明第二实施例提供的一种数据库的切换方法S102的具体交互流程图。参见图2所示,相对于图1述实施例,本实施例提供的一种数据库的切换方法中S102包括:S1021~S1023,具体详述如下:
在S1021中,所述监控终端向所述分布式数据库内广播运行参数获取指令,以接收各个组外存储终端上传的运行参数。
在本实施例中,分布式数据库包含多个存储系统,因此当监控终端发现组内存储终端存在异常需要进行分区数据切换操作时,需要选取运行状态最后的一个组外存储终端作为目标存储终端。基于此,监控终端会通过分布式数据库的局域网络广播一个运行参数获取指令,以使分布式数据库内的所有存储系统能够接收到广播指令。需要说明的是,该广播指令可携带有监控终端的通信地址,在该情况下,各个存储系统在获取了自身的运行参数后,会基于该通信地址向监控设备发送该运行参数;当然,该广播指令中也可以不携带有监控终端的通信地址,在该情况下,各个存储系统可以将获取得到的运行参数通过分布式数据库的局域网进行广播发送,以使局域网内的所有设备均能够接收到该运存参数,监控终端监听到局域网内存在运存参数的广播信息,则会进行采集并存储于本地。
在本实施例中,分布式数据库内各个存储系统在接收到该运存参数获取指令后,组外的监控终端会获取其对应的存储终端当前时刻对应的运行参数,并生成一个运行参数反馈信息,并返回给该监控终端。其中,运行参数包括但不限于:可用存储空间、存储占用率、负载值、网络带宽以及信噪比等参数信息。
在S1022中,所述监控终端将各个所述组外存储终端的运行参数导入优先级计算模型,计算各个所述组外存储终端的切换优先级;所述优先级计算模型具体为:
其中,Priorityn(k)为第k个所述组外存储终端的所述切换优先级;riorityn-1(k)为第k个所述组外存储终端的历史优先级;Workik为第k个所述组外存储终端第i个运行参数;m为运行参数的总个数;α为预设系数,且0<<1;K为组外存储终端的总个数。
在本实施例中,监控设备获取得到多个组外存储终端返回的运行参数后,会分别计算各个组外存储终端所对应的切换优先级,并基于该切换优先级确定本次分区数据的切换操作的目标存储终端。首先,监控终端会基于不同运行参数的类型,对采集得到的各个组外存储终端的运行参数进行分类,划分为多个运行参数组,每一组用于存储一种类型的运行参数,并从每个运行参数组中选取参数值最大的一个运行参数,作为该运行参数组的特征运行参数,即上述的Max(Worki1,…,WorkiK)。
需要说明的是,每一次计算得到的组外存储终端的切换优先级均会存储于监控终端的存储空间内。由于反馈得到的运存参数只是某一时刻对应的参数值,而运行参数会存在波动的情况,因此为了提高切换优先级的准确性,监控终端还会考虑历史获取得到的切换优先级来判定当前的切换优先级。其中,Priorityn(k)为第n次,即当前对应的切换优先级;而Priorityn-1(k)为第n-1次,换而言之,则是上一次获取得到的组外监控终端的切换优先级,即上述的历史优先级。
在S1023中,所述监控终端选取所述切换优先级最高的组外存储终端作为目标存储终端,并将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至目标存储终端。
在本实施例中,监控终端在确定了各个组外存储终端的切换优先级后,会基于该切换优先级的大小对各个组外存储终端进行排序,并选取切换优先级最好的一个组外存储终端作为目标存储终端,继而将自身所述存储系统的分区数据同步至该目标存储终端内。
可选地,监控终端可以向该优先级最高的组外存储终端发送一个同步请求,若该组外存储终端返回同步确认指令,则进行分区数据同步操作;反之,若该优先级最高的组外存储终端并没有返回同步确认指令,则将该组外存储终端从切换优先级列表中删除,选取优先级次高的组外存储终端作为目标存储终端,并重复执行上述操作,直到接收到同步确认指令,再进行分区数据的同步操作。
在本发明实施例中,在组外存储终端存在多个的情况下,通过计算各个组外存储终端的切换优先级,选取优先级最高的一个组外存储终端作为目标存储终端,从而能够有效地保证分区数据切换后不会导致组外存储终端的业务压力过大而导致连锁异常情况的发生,提高了分布式数据库的稳定性。
图3示出了本发明第三实施例提供的一种数据库的切换方法S103的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种数据库的切换方法中S103包括S1031~S1032,具体详述如下:
在S1031中,所述组外存储终端向所述监控终端发送通信地址获取指令;所述通信地址获取指令包括存储系统编号。
在本实施例中,为了建立分区标识与监控终端之间的对应关系,组外存储终端在同步分区数据后获取了分区标识之后,仍然需要确定监控终端的通信地址。因此,组外存储终端会向监控终端发送一个通信地址获取指令。需要说明的是,由于进行同步的过程中,其传输数据的类型为分区数据,因此该通信链路并不一定能够兼容运行日志的上传操作,为了确定监控终端接收运行日志对应的网络地址以及对应的端口号,需要向监控终端发送一个通信地址获取指令。
可选地,组外存储终端可以向分布式数据库通过广播信号发送该通信地址获取指令,并且该广播信号携带有分区数据所属的分区标识。若监控终端检测到该广播信号中包含的分区标识与自身所属存储系统的分区标识一致,则会接收并向该监控终端返回自身的通信地址。
在本实施例中,由于存储系统中添加入新的存储终端时同样会向监控终端发送一个通信地址获取指令,因此为了识别该通信地址获取指令是同一系统内部发送的抑或是外部系统发送的,该通信地址获取指令将包含自身所述存储系统的编号。若该通信地址获取指令中包含的系统编号与监控终端所述的存储系统的编号相一致,则可以直接发送基于存储系统内部网络的通信地址给组内存储终端;反之,若该存储系统编号与监控终端所在的存储系统编号不一致,则执行S1032的相关操作。
在S1032中,若所述存储系统编号与所述监控终端所在的存储系统的编号不一致,则所述组外存储终端接收所述监控终端向所述组外存储终端返回的运行记录帧模板,所述运行记录帧模板中封装有所述通信地址与所述分区标识。
在本实施例中,若监控终端检测到存储系统编号与自身所在的存储系统编号不一致,则监控终端会表示该通信地址获取指令并非由内部系统的存储终端发送的,而是一组外存储终端发送的,因此会将运行记录帧模板发送给该组外运行终端,以便该组外运行终端通过该运行记录帧模板返回与该监控终端匹配的运行记录。
在本实施例中,该运行记录帧模板中固定封装有该监控终端的通信地址,即在该模板中该通信地址是一个只读的字段,无法进行修改,从而通过该运行记录帧模板生成的第二运行记录均能够定向发送给该监控终端,保证监控数据连续。
可选地,在本实施例中,当组外存储终端接收到该运行记录帧模板后,会存储于本地的存储单元内,在检测到包含该分区标识的运行记录生成时,会通过该运行记录帧模板对该运行记录进行封装。由于该运行记录帧模板中已经包含了分区标识以及通信地址之间的对应关系,因此生成的第二运行记录也能够发送给上述的监控终端,组外存储终端以及所在的网关设备无需在对该第二运行记录的目的地址进行修改。
在本发明实施例中,通过发送包含通信地址与分区标识对应的关系的运行记录帧模板,从而基于该运行记录帧模板所生成的第二运行记录均能定向发送给监控终端,保证监控数据连续。
图4示出了本发明第四实施例提供的一种数据库的切换方法S101的具体实现流程图。参见图4所示,相对于图1-图3所述实施例,本实施例提供的一种数据库的切换方法中S101包括:S1011~S1013,具体详述如下:
在S1011中,所述监控终端启动异常响应计时器,并在所述异常响应计时器启动后,以预设的上报周期向所述组内存储终端发送运行日志获取指令。
在本实施例中,监控终端在发送运行日志获取指令之前,会启动异常响应计时器,该异常响应计时器用于检测组内存储终端是否在预设的时间内能够返回第一运行日志,从而识别得到监控终端与组内存储终端之间的通信链路是否正常,以及组内存储终端是否处于宕机状态。
在本实施例中,监控终端为了确保组内存储设备的运行状态是否正常,会以预设的上报周期向组内存储终端发送日志获取指令,若组内存储终端接收到该日志获取指令后,会向监控终端返回第一运行日志。其中,在发送日志获取值后,异常响应计时器则会开始计时。
在S1012中,若接收到所述组内存储终端返回的所述第一运行日志且当前时刻所述异常响应计时器的计数值小于异常阈值,则所述监控终端重置所述异常响应计时器,并基于所述第一运行日志识别所述组内存储终端是否存在异常。
在本实施例中,若在异常响应计时器的计数值到达异常阈值之前接收到组内存储终端返回的第一运行日志,则识别监控终端与组内存储终端之间的通信链路并无异常,且组内存储终端可以正常应答监控终端的请求,并未处于宕机状态。基于此,监控终端会重置异常响应计时器的计数值,并在下一次发送运行日志获取指令时,再重新对开始异常响应计时。
在S1013中,若所述异常响应计时器的计数值大于或等于异常阈值,所述监控终端识别所述组内存储终端存在异常。
在本实施例中,当没有接收到组内存储终端返回的第一运行日志时,异常响应计时器会持续进行计时,并当异常响应计时器的计数值大于或等于预设的异常阈值时,监控终端则会识别该组内存储终端存在异常,可能是链路中断或组内存储终端处于宕机状态,因此会执行异常响应操作。
在本发明实施例中,通过设置异常响应计时器,来对组内存储终端的请求响应速度进行异常检测,从而能够快速确定组内存储终端是否存在异常情况,而无需对第一运行日志进行分析,提高了异常识别的效率。
图5示出了本发明第五实施例提供的一种数据库的切换方法的具体实现流程图。参见图5所示,相对于图1-图3所述实施例,本实施例提供的一种数据库的切换方法中在所述若所述组内存储终端存在异常,则所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端之后,还包括:S501以及S502,具体详述如下:
在S501中,若接收到所述组内存储终端发送的异常恢复指令,则所述监控终端将当前时刻组外存储终端存储的所述分区数据同步至组内存储终端。
在本实施例中,若组内存储终端的异常情况已被修复,则该组内存储终端会向监控高中段发送一个异常恢复指令。特别地,该组内存储终端在异常情况被修复后可以进行自检操作,即将自身终端的各个运行参数与额定的运行参数范围进行匹配,判断各个运行参数是否均落入额定运行参数范围内,若是,则识别异常修复成功;若任一运行参数落入到额定运行参数范围外,则识别为修复失败,需要重新进行修复操作。
在本实施例中,当监控终端接收到异常恢复指令后,会向组外存储终端发送一个分区数据同步指令,以使该组外存储终端将其当前时刻存储的分区数据同步至组内存储终端内。需要说明的是,本次同步操作是一个增量同步的过程,由于组内存储终端原本已经存储有分区数据,因此,本次同步中只需对分区数据中存在变更的内容进行同步,而无需全部数据重新进行发送,从而减少了同步所需的时间。
在S502中,所述组外存储终端删除所述分区数据以及所述对应关系。
在本实施例中,组外存储终端在对分区数据同步完成后,会将预留存储空间中的分区数据进行删除,从而能在后续出现异常情况时,通过预留存储空间存储所需切换的分区数据,并删除通信地址与分区标识的对应关系,从而保证组外存储终端后续生产的运行日志均上传至其所属存储系统的监控终端内。
在本发明实施例中,在组内存储终端的异常情况修复完毕后,进行分区数据同步,从而保证分布式数据库的存储结构保持稳定。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种数据库的切换系统的结构框图,该数据库的切换系统包括的各设备用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述数据库的切换系统应用于分布式数据库,所述分布式数据库包括分布式部署的至少两组存储系统61以及62;存储系统61包括:监控终端611以及组内存储终端612;存储系统62包括:监控终端621以及组外存储终端621
所述监控终端611,用于接收组内存储终端612上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端612是否存在异常;所述组内存储终端612为与所述监控终端611部署于同一存储系统61的存储终端;
所述监控终端611,用于若所述组内存储终端612存在异常,则将存储于所述组内存储终端612的关于所述分布式数据库的分区数据同步至组外存储终端622;所述分区数据包括分区标识;所述组外存储终端622为所述分布式数据库中除所述监控终端所在存储系统外的其中一个存储系统62的存储终端;
所述组外存储终端622,用于获取所述监控终端611的通信地址,并确定所述通信地址与所述分区标识之间的对应关系;
若所述组外存储终端622,用于生成的第二运行日志中包含所述分区标识,则根据所述对应关系将所述第二运行日志上传至所述监控终端611。
可选地,所述监控终端611,用于将存储于所述组内存储终端612的关于所述分布式数据库的分区数据同步至组外存储终端622,包括:
所述监控终端611,用于向所述分布式数据库内广播运行参数获取指令,以接收各个组外存储终端622上传的运行参数;
所述监控终端611,用于将各个所述组外存储终端622的运行参数导入优先级计算模型,计算各个所述组外存储终端622的切换优先级;所述优先级计算模型具体为:
其中,Priorityn(k)为第k个所述组外存储终端622的所述切换优先级;Priorityn-1(k)为第k个所述组外存储终端622的历史优先级;Workik为第k个所述组外存储终端622第i个运行参数;m为运行参数的总个数;α为预设系数,且0<α<1;K为组外存储终端622的总个数;
所述监控终端611,用于选取所述切换优先级最高的组外存储终端622作为目标存储终端,并将存储于所述组内存储终端612的关于所述分布式数据库的分区数据同步至目标存储终端。
可选地,所述组外存储终端622,用于获取所述监控终端611的通信地址,并确定所述通信地址与所述分区标识之间的对应关系,包括:
所述组外存储终端622,用于向所述监控终端611发送通信地址获取指令;所述通信地址获取指令包括存储系统编号;
所述组外存储终端622,用于若所述存储系统编号与所述监控终端611所在的存储系统的编号不一致,则接收所述监控终端向所述组外存储终端622返回的运行记录帧模板,所述运行记录帧模板中封装有所述通信地址与所述分区标识;
所述组外存储终端622,用于存储所述运行记录帧模板,以当检测到所述生成关于所述分区数据的运行记录时,通过所述运行记录帧模板生成所述第二运行记录。
可选地,所述监控终端611,用于接收组内存储终端612上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端612是否存在异常,包括:
所述监控终端611,用于启动异常响应计时器,并在所述异常响应计时器启动后,以预设的上报周期向所述组内存储终端612发送运行日志获取指令;
所述监控终端611,用于若接收到所述组内存储终端612返回的所述第一运行日志且当前时刻所述异常响应计时器的计数值小于异常阈值,则重置所述异常响应计时器,并基于所述第一运行日志识别所述组内存储终端612是否存在异常;
所述监控终端611,用于若所述异常响应计时器的计数值大于或等于异常阈值,识别所述组内存储终端612存在异常。
可选地,在所述若所述组内存储终端存在异常,则所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端之后,所述监控终端611以及所述组外存储终端622还用于:
所述监控终端611,用于若接收到所述组内存储终端612发送的异常恢复指令,则将当前时刻组外存储终端622存储的所述分区数据同步至组内存储终端612;
所述组外存储终端622,用于删除所述分区数据以及所述对应关系。
因此,本发明实施例提供的数据库的切换系统中,当存储终端存储有其他终端切换的分区数据时,依然可以根据该分区数据的分区标识,将关于该分区数据的运行日志反馈到对应的监控终端,进行运行状态的监控以及维护,从而保证了监控记录的连续性,从而能够提高数据库的稳定性以及异常监测的准确性。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据库的切换方法,应用于分布式数据库,其特征在于,所述分布式数据库包括分布式部署的至少两组存储系统;每组所述存储系统包括存储终端以及监控终端;所述数据库的切换方法包括:
所述监控终端接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端是否存在异常;所述组内存储终端为与所述监控终端部署于同一存储系统的存储终端;
若所述组内存储终端存在异常,则所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端;所述分区数据包括分区标识;所述组外存储终端为所述分布式数据库中除所述监控终端所在存储系统外的其中一个存储系统的存储终端;
所述组外存储终端获取所述监控终端的通信地址,并确定所述通信地址与所述分区标识之间的对应关系;
若所述组外存储终端生成的第二运行日志中包含所述分区标识,则根据所述对应关系将所述第二运行日志上传至所述监控终端。
2.根据权利要求1所述的切换方法,其特征在于,所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端,包括:
所述监控终端向所述分布式数据库内广播运行参数获取指令,以接收各个组外存储终端上传的运行参数;
所述监控终端将各个所述组外存储终端的运行参数导入优先级计算模型,计算各个所述组外存储终端的切换优先级;所述优先级计算模型具体为:
其中,Priorityn(k)为第k个所述组外存储终端的所述切换优先级;Priorityn-1(k)为第k个所述组外存储终端的历史优先级;Workik为第k个所述组外存储终端第i个运行参数;m为运行参数的总个数;α为预设系数,且0<α<1;K为组外存储终端的总个数;
所述监控终端选取所述切换优先级最高的组外存储终端作为目标存储终端,并将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至目标存储终端。
3.根据权利要求1所述的切换方法,其特征在于,所述组外存储终端获取所述监控终端的通信地址,并确定所述通信地址与所述分区标识之间的对应关系,包括:
所述组外存储终端向所述监控终端发送通信地址获取指令;所述通信地址获取指令包括所述组外存储终端对应的存储系统编号;
若所述存储系统编号与所述监控终端所在的存储系统的编号不一致,则所述组外存储终端接收所述监控终端向所述组外存储终端返回的运行记录帧模板,所述运行记录帧模板中封装有所述通信地址与所述分区标识。
4.根据权利要求1-3任一项所述的切换方法,其特征在于,所述监控终端接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端是否存在异常,包括:
所述监控终端启动异常响应计时器,并在所述异常响应计时器启动后,以预设的上报周期向所述组内存储终端发送运行日志获取指令;
若接收到所述组内存储终端返回的所述第一运行日志且当前时刻所述异常响应计时器的计数值小于异常阈值,则所述监控终端重置所述异常响应计时器,并基于所述第一运行日志识别所述组内存储终端是否存在异常;
若所述异常响应计时器的计数值大于或等于异常阈值,所述监控终端识别所述组内存储终端存在异常。
5.根据权利要求1-3任一项所述的切换方法,其特征在于,在所述若所述组内存储终端存在异常,则所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端之后,还包括:
若接收到所述组内存储终端发送的异常恢复指令,则所述监控终端将当前时刻组外存储终端存储的所述分区数据同步至组内存储终端;
所述组外存储终端删除所述分区数据以及所述对应关系。
6.一种数据库的切换系统,其特征在于,应用于分布式数据库,其特征在于,所述分布式数据库包括分布式部署的至少两组存储系统;每组所述存储系统包括存储终端以及监控终端:
所述监控终端,用于接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端是否存在异常;所述组内存储终端为与所述监控终端部署于同一存储系统的存储终端;
所述监控终端,用于若所述组内存储终端存在异常,则将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端;所述分区数据包括分区标识;所述组外存储终端为所述分布式数据库中除所述监控终端所在存储系统外的其中一个存储系统的存储终端;
所述组外存储终端,用于获取所述监控终端的通信地址,并确定所述通信地址与所述分区标识之间的对应关系;
若所述组外存储终端,用于生成的第二运行日志中包含所述分区标识,则根据所述对应关系将所述第二运行日志上传至所述监控终端。
7.根据权利要求6所述的切换系统,其特征在于,所述监控终端,用于将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端,包括:
所述监控终端,用于向所述分布式数据库内广播运行参数获取指令,以接收各个组外存储终端上传的运行参数;
所述监控终端,用于将各个所述组外存储终端的运行参数导入优先级计算模型,计算各个所述组外存储终端的切换优先级;所述优先级计算模型具体为:
其中,Priorityn(k)为第k个所述组外存储终端的所述切换优先级;Priorityn-1(k)为第k个所述组外存储终端的历史优先级;Workik为第k个所述组外存储终端第i个运行参数;m为运行参数的总个数;α为预设系数,且0<α<1;K为组外存储终端的总个数;
所述监控终端,用于选取所述切换优先级最高的组外存储终端作为目标存储终端,并将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至目标存储终端。
8.根据权利要求6所述的切换系统,其特征在于,所述组外存储终端,用于获取所述监控终端的通信地址,并确定所述通信地址与所述分区标识之间的对应关系,包括:
所述组外存储终端,用于向所述监控终端发送通信地址获取指令;所述通信地址获取指令包括存储系统编号;
所述组外存储终端,用于若所述存储系统编号与所述监控终端所在的存储系统的编号不一致,则接收所述监控终端向所述组外存储终端返回的运行记录帧模板,所述运行记录帧模板中封装有所述通信地址与所述分区标识。
9.根据权利要求6-8任一项所述的切换系统,其特征在于,所述监控终端,用于接收组内存储终端上传的第一运行日志,并基于所述第一运行日志识别所述组内存储终端是否存在异常,包括:
所述监控终端,用于启动异常响应计时器,并在所述异常响应计时器启动后,以预设的上报周期向所述组内存储终端发送运行日志获取指令;
所述监控终端,用于若接收到所述组内存储终端返回的所述第一运行日志且当前时刻所述异常响应计时器的计数值小于异常阈值,则重置所述异常响应计时器,并基于所述第一运行日志识别所述组内存储终端是否存在异常;
所述监控终端,用于若所述异常响应计时器的计数值大于或等于异常阈值,识别所述组内存储终端存在异常。
10.根据权利要求6-8任一项所述的切换系统,其特征在于,在所述若所述组内存储终端存在异常,则所述监控终端将存储于所述组内存储终端的关于所述分布式数据库的分区数据同步至组外存储终端之后,所述监控终端以及所述组外存储终端还用于:
所述监控终端,用于若接收到所述组内存储终端发送的异常恢复指令,则将当前时刻组外存储终端存储的所述分区数据同步至组内存储终端;
所述组外存储终端,用于删除所述分区数据以及所述对应关系。
CN201810592810.9A 2018-06-11 2018-06-11 一种数据库的切换方法及系统 Active CN109086292B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810592810.9A CN109086292B (zh) 2018-06-11 2018-06-11 一种数据库的切换方法及系统
PCT/CN2018/105554 WO2019237543A1 (zh) 2018-06-11 2018-09-13 一种数据库的切换方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810592810.9A CN109086292B (zh) 2018-06-11 2018-06-11 一种数据库的切换方法及系统

Publications (2)

Publication Number Publication Date
CN109086292A true CN109086292A (zh) 2018-12-25
CN109086292B CN109086292B (zh) 2023-11-28

Family

ID=64839851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810592810.9A Active CN109086292B (zh) 2018-06-11 2018-06-11 一种数据库的切换方法及系统

Country Status (2)

Country Link
CN (1) CN109086292B (zh)
WO (1) WO2019237543A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003622A (zh) * 2021-12-30 2022-02-01 天津南大通用数据技术股份有限公司 一种事务型数据库之间巨大事务增量同步方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656565A (zh) * 2009-10-26 2012-09-05 亚马逊技术股份有限公司 已复制数据的故障切换和恢复
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
CN103049355A (zh) * 2012-12-25 2013-04-17 华为技术有限公司 一种数据库系统恢复方法及设备
CN103902617A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 分布式数据库同步方法和系统
CN105516263A (zh) * 2015-11-28 2016-04-20 华为技术有限公司 存储系统中数据分发方法、装置、计算节点及存储系统
CN105577756A (zh) * 2015-12-12 2016-05-11 天津南大通用数据技术股份有限公司 采用交叉备份的分布式数据库日志收集与负载调节系统及其方法
WO2016173179A1 (zh) * 2015-04-29 2016-11-03 中兴通讯股份有限公司 一种数据库主备切换的方法及装置
CN106126652A (zh) * 2016-06-24 2016-11-16 武汉斗鱼网络科技有限公司 用于分布式数据库集群的故障数据库切换方法及系统
US9633051B1 (en) * 2013-09-20 2017-04-25 Amazon Technologies, Inc. Backup of partitioned database tables
CN107656980A (zh) * 2017-09-07 2018-02-02 北京神州绿盟信息安全科技股份有限公司 应用于分布式数据库系统中的方法及分布式数据库系统
CN107870829A (zh) * 2016-09-24 2018-04-03 华为技术有限公司 一种分布式数据恢复方法、服务器、相关设备及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572031B2 (en) * 2010-12-23 2013-10-29 Mongodb, Inc. Method and apparatus for maintaining replica sets
CN107885758B (zh) * 2016-09-30 2021-11-19 华为技术有限公司 一种虚拟节点的数据迁移方法和虚拟节点

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656565A (zh) * 2009-10-26 2012-09-05 亚马逊技术股份有限公司 已复制数据的故障切换和恢复
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
CN103049355A (zh) * 2012-12-25 2013-04-17 华为技术有限公司 一种数据库系统恢复方法及设备
CN103902617A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 分布式数据库同步方法和系统
US9633051B1 (en) * 2013-09-20 2017-04-25 Amazon Technologies, Inc. Backup of partitioned database tables
WO2016173179A1 (zh) * 2015-04-29 2016-11-03 中兴通讯股份有限公司 一种数据库主备切换的方法及装置
CN105516263A (zh) * 2015-11-28 2016-04-20 华为技术有限公司 存储系统中数据分发方法、装置、计算节点及存储系统
CN105577756A (zh) * 2015-12-12 2016-05-11 天津南大通用数据技术股份有限公司 采用交叉备份的分布式数据库日志收集与负载调节系统及其方法
CN106126652A (zh) * 2016-06-24 2016-11-16 武汉斗鱼网络科技有限公司 用于分布式数据库集群的故障数据库切换方法及系统
CN107870829A (zh) * 2016-09-24 2018-04-03 华为技术有限公司 一种分布式数据恢复方法、服务器、相关设备及系统
CN107656980A (zh) * 2017-09-07 2018-02-02 北京神州绿盟信息安全科技股份有限公司 应用于分布式数据库系统中的方法及分布式数据库系统

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BITERROR: ""GreenPlum:基于PostgreSQL的分布式关系型数据库"" *
GLACIER: ""分布式存储系统设计(4)"" *
TIANTIAN1980: ""分布式数据库_支持分布式事务的数据库"" *
网络安全研发随想: ""分布式存储--理解分布式文件系统、分布式块存储、分布式对 象存储、分布式数据库"" *
蓄势: ""数据库 大数据访问及分区分块优化方案"" *
邓丽贤;孙启民;胡莉丽;: "Oracle分区技术在C3无线接口监测系统中的应用", 铁路通信信号工程技术 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003622A (zh) * 2021-12-30 2022-02-01 天津南大通用数据技术股份有限公司 一种事务型数据库之间巨大事务增量同步方法
CN114003622B (zh) * 2021-12-30 2022-04-08 天津南大通用数据技术股份有限公司 一种事务型数据库之间巨大事务增量同步方法

Also Published As

Publication number Publication date
WO2019237543A1 (zh) 2019-12-19
CN109086292B (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
CN106713487A (zh) 数据的同步方法和装置
CN104040912B (zh) 支持基于多个网络的同时数据传输服务的设备和方法
CN103532753B (zh) 一种基于内存换页同步的双机热备方法
CN108847982A (zh) 一种分布式存储集群及其节点故障切换方法和装置
CN109194514A (zh) 一种双机监测方法、装置、服务器及存储介质
CN102291794A (zh) 一种mesh网络中的信道切换方法和设备
CN108696581A (zh) 分布式信息的缓存方法、装置、计算机设备以及存储介质
CN109660624B (zh) 内容分发网络资源的规划方法、服务器及存储介质
CN102594596A (zh) 识别集群网络中可用分区的方法、装置及集群网络系统
CN109669820A (zh) 基于Kettle的任务监管方法和装置
CN109002478A (zh) 分布式文件系统的故障处理方法及相关设备
CN110532096B (zh) 一种多节点分组并行部署的系统和方法
CN109086292A (zh) 一种数据库的切换方法及系统
CN109218232A (zh) 一种实现Mux机的方法、设备及系统
Zhang et al. Adaptive consistency strategy of multiple controllers in SDN
CN110324166A (zh) 一种在多个节点中同步目标信息的方法、装置及系统
CN105207825B (zh) 一种网元快速同步系统及网元快速同步方法
US9747142B2 (en) Method for centralizing events for a multilevel hierarchical computer management system
CN105450679B (zh) 进行数据云存储的方法及系统
CN104125079A (zh) 一种确定双机热备份配置信息的方法及装置
CN109274763B (zh) 一种信息同步方法及双机热备设备
CN103747034B (zh) 一种终端的状态机状态转换的方法及装置
CN102546313B (zh) 一种多激活检测方法和设备
CN106301898B (zh) 一种配置信息的同步方法及装置
CN103067273B (zh) 传输数据的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant