CN110737545B - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents

一种数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110737545B
CN110737545B CN201910903236.9A CN201910903236A CN110737545B CN 110737545 B CN110737545 B CN 110737545B CN 201910903236 A CN201910903236 A CN 201910903236A CN 110737545 B CN110737545 B CN 110737545B
Authority
CN
China
Prior art keywords
data record
target
data
database
server
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.)
Active
Application number
CN201910903236.9A
Other languages
English (en)
Other versions
CN110737545A (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.)
Fusionskye Beijing Software Co ltd
Original Assignee
Fusionskye Beijing Software 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 Fusionskye Beijing Software Co ltd filed Critical Fusionskye Beijing Software Co ltd
Priority to CN201910903236.9A priority Critical patent/CN110737545B/zh
Publication of CN110737545A publication Critical patent/CN110737545A/zh
Application granted granted Critical
Publication of CN110737545B publication Critical patent/CN110737545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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/21Design, administration or maintenance of databases
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据处理方法、装置、电子设备及存储介质,其中,该数据处理方法包括:在监测到主数据库故障时,获取备数据库中第一最近预设时间段内的第一数据记录,以及服务器中第二最近预设时间段内的第二数据记录;其中,第二最近预设时间段大于或者等于第一最近预设时间段;第二数据记录是服务器根据主数据库同步的数据记录生成的;从第二数据记录中选取除匹配第一数据记录之外的目标第二数据记录;将选取的目标第二数据记录发送给备数据库,以使备数据库基于目标第二数据记录切换为临时主数据库,并响应除匹配目标第二数据记录之外的服务请求。本申请能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,增加了系统的可靠性。

Description

一种数据处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的普遍使用,大多数企业都通过线上的业务系统进行业务数据处理。其中,不同的企业对业务系统可靠性要求不同,比如,银行等企业对业务系统可靠性要求极高。基于此,目前采用主备数据库的方式进行处理,以保证业务系统的可靠性。
目前,当主数据库发生故障时,需要对主数据库中的业务数据进行恢复,基于主数据库中恢复的业务数据排查备数据库中是否有数据丢失,若确定备数据库中没有数据丢失,则启动备数据库继续进行业务数据处理。
但是,在上述通过对备数据库进行数据完整性核实以启用备数据库的方式中,通常主数据库恢复业务时间较长,这就使得主备数据库的切换时间较长,进而导致用户的业务中断,响应效率低,系统可靠性较差,无法满足用户需求。
发明内容
有鉴于此,本申请实施例的目的在于提供一种数据处理方法、装置、电子设备及存储介质,通过确定备数据库中的丢失的数据记录,使备数据库响应除匹配丢失的数据记录之外的服务请求的方式,能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
第一方面,本申请实施例提供了一种数据处理方法,应用于服务器,所述服务器分别与主数据库和备数据库连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理方法包括:
在监测到所述主数据库故障时,获取所述备数据库中第一最近预设时间段内的第一数据记录,以及所述服务器中第二最近预设时间段内的第二数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录;
将选取的所述目标第二数据记录发送给所述备数据库,以使所述备数据库基于所述目标第二数据记录切换为临时主数据库,并响应除匹配所述目标第二数据记录之外的服务请求。
在一种可选的实施方式中,通过以下方法监测所述主数据库故障:
获取所述主数据库在当前监控周期内数据记录的个数;若检测到所述数据记录的个数小于第一预设阈值,则确定所述主数据库故障;
或者,
获取所述主数据库针对当前服务请求的响应时间;若检测到所述响应时间大于第二预设阈值,则确定所述主数据库故障。
在一种可选的实施方式中,通过以下方法生成所述第二数据记录:
获取每个存储周期内所述主数据库生成的数据记录;
从所述数据记录中查找目标数据记录对应的目标数据记录字段,并获取所述目标数据记录字段对应的目标编码数据;
对所述目标数据记录字段对应的目标编码数据进行解码处理,得到第二数据记录。
在一种可选的实施方式中,所述从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录,包括:
提取所述第一数据记录中的第一数据记录标识和所述第二数据记录中的第二数据记录标识;
根据所述第一数据记录标识和所述第二数据记录标识,选取包括在所述第二数据记录中但未包括在所述第一数据记录中的目标第二数据记录标识;
基于所述目标第二数据记录标识对应的第二数据记录,生成所述目标第二数据记录。
在一种可选的实施方式中,所述基于所述目标第二数据记录标识对应的第二数据记录,生成所述目标第二数据记录,包括:
获取所述第二数据记录中所述目标第二数据记录标识对应的用户身份识别码;
从所述用户身份识别码中选取目标用户身份识别码;其中,选取的目标用户身份识别码之间互不相同;
将所述目标用户身份识别码确定为所述目标第二数据记录。
在一种可选的实施方式中,在将选取的所述目标第二数据记录发送给所述备数据库之后,所述数据处理方法还包括:
若检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录,则向所述备数据库发送携带有所述目标第一数据记录的通知消息;其中,所述通知消息用于通知所述备数据库响应匹配所述目标第一数据记录的服务请求。
第二方面,本申请实施例提供了一种数据处理方法,应用于备数据库,所述备数据库分别与主数据库和服务器连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理方法包括:
在接收到所述服务器发送的目标第二数据记录后,基于所述目标第二数据记录切换为临时主数据库;其中,所述目标第二数据记录为包括在第二数据记录中但未包括在第一数据记录中的数据记录;所述第二数据记录为所述服务器中所述主数据库故障之前第二最近预设时间段内的数据记录;所述第一数据记录为所述备数据库中所述主数据库故障之前第一最近预设时间段内的数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
在接收到服务请求后,若该服务请求与所述目标第二数据记录不相匹配,则响应该服务请求。
在一种可选的实施方式中,所述数据处理方法还包括:
若接收到所述服务器发送的携带有该目标第一数据记录的通知消息,则响应匹配该目标第一数据记录的服务请求;其中,所述通知消息是所述服务器在检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录后生成的。
第三方面,本申请实施例提供了一种数据处理装置,驻留于服务器,所述服务器分别与主数据库和备数据库连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理装置包括:
第一获取模块,用于在监测到所述主数据库故障时,获取所述备数据库中第一最近预设时间段内的第一数据记录,以及所述服务器中第二最近预设时间段内的第二数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
选取模块,用于从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录;
第一发送模块,用于将选取的所述目标第二数据记录发送给所述备数据库,以使所述备数据库基于所述目标第二数据记录切换为临时主数据库,并响应除匹配所述目标第二数据记录之外的服务请求。
第四方面,本申请实施例提供了一种数据处理装置,驻留于备数据库,所述备数据库分别与主数据库和服务器连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理装置包括:
切换模块,用于在接收到所述服务器发送的目标第二数据记录后,基于所述目标第二数据记录切换为临时主数据库;其中,所述目标第二数据记录为包括在第二数据记录中但未包括在第一数据记录中的数据记录;所述第二数据记录为所述服务器中所述主数据库故障之前第二最近预设时间段内的数据记录;所述第一数据记录为所述备数据库中所述主数据库故障之前第一最近预设时间段内的数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
响应模块,用于在接收到服务请求后,若该服务请求与所述目标第二数据记录不相匹配,则响应该服务请求。
第五方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一项所述的数据处理方法的步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的数据处理方法的步骤。
第七方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第二方面任一项所述的数据处理方法的步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第二方面任一项所述的数据处理方法的步骤。
本申请实施例提供的数据处理方法、数据处理装置、电子设备及存储介质,通过确定备数据库中的丢失的数据记录,使备数据库响应除匹配丢失的数据记录之外的服务请求的方式,能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
进一步,本申请实施例提供的数据处理方法、数据处理装置、电子设备及存储介质,在监测到丢失的数据记录已经恢复后,向备数据库发送携带有丢失的数据记录的通知消息,以使备数据库响应匹配丢失的数据记录的服务请求,及时恢复所有用户业务。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种数据处理方法的流程图;
图2示出了本申请实施例所提供的一种数据处理方法中,生成第二数据记录的方法的流程图;
图3示出了本申请实施例所提供的一种数据处理方法中,获取目标第二数据记录的方法的流程图;
图4示出了本申请实施例所提供的一种数据处理方法中,选取目标用户身份识别码的方法的流程图;
图5示出了本申请实施例所提供的一种数据处理装置的示意图;
图6示出了本申请实施例所提供的另一种数据处理装置的示意图;
图7示出了本申请实施例所提供的一种电子设备的示意图;
图8示出了本申请实施例所提供的另一种电子设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,当主数据库发生故障时,需要对主数据库中的业务数据进行恢复,并基于主数据库中恢复的业务数据排查并恢复备数据库中丢失的数据。
但是,通常主数据库恢复业务时间较长,这就使得主备数据库的切换时间较长,进而导致用户的业务中断,响应效率低,系统可靠性较差,无法满足用户需求。
基于上述问题,本申请提供了一种数据处理方法、装置、电子设备及存储介质,通过确定备数据库中的丢失的数据记录,使备数据库响应除匹配丢失的数据记录之外的服务请求的方式,能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请针对上述问题所提出的解决方案,都应该是发明人在本申请过程中对本申请做出的贡献。
下面将结合本申请中附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种数据处理方法、装置、电子设备及存储介质进行详细介绍。
参见图1所示,为本申请一实施例提供的数据处理方法的流程图,应用于服务器,所述服务器分别与主数据库和备数据库连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理方法包括以下步骤:
S101、在监测到所述主数据库故障时,获取所述备数据库中第一最近预设时间段内的第一数据记录,以及所述服务器中第二最近预设时间段内的第二数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的。
在本申请实施例中,主数据库按照第一时间间隔向备数据库同步数据记录,主数据库按照第二时间间隔向服务器同步数据记录。这里,上述第一时间间隔大于上述第二时间间隔,目的是使数据记录尽可能全面地同步到服务器中,使服务器存储的数据记录更丰富,以便基于服务器中的数据记录确定备数据库中丢失的数据记录。
在本申请实施例中,服务器周期性地对主数据库进行监测,在监测到主数据库故障时,通过将服务器中存储的数据记录与备数据库中存储的数据记录进行比较,以确定备数据库中的丢失的数据记录。
其中,上述第一最近预设时间段可以为以主数据库故障的时间点为一个端点,以主数据库故障之前的任一时间点(比如称为第一时间点)作为另一个端点,这两个端点对应的第一时间范围为上述第一最近预设时间段。为了提高备数据库切换为临时主数据库的切换效率,上述第一时间点应该在合理的时间范围内选取。
作为一种可选的实施方式,基于上述第一时间间隔确定上述第一时间范围,使上述第一时间范围大于等于第一时间间隔,基于该第一时间范围确定第一时间点。举例来讲,主数据库故障的时间点为11点10分10秒,主数据库向备数据库同步数据记录的第一时间间隔为5分钟,为了更加准确地确定备数据库中丢失的数据记录,确定第一时间范围为6分钟,相应的确定第一时间点为11点4分10秒。
作为另一种可选的实施方式,基于主数据库响应服务请求的最大响应时间选取上述时间范围,即上述第一时间点与主数据库故障的时间点对应的时间范围大于等于上述最大响应时间。举例来讲,主数据库故障的时间点为11点10分10秒,主数据库响应服务请求的最大响应时间为5分钟12秒,为了更加准确地确定备数据库中丢失的数据记录,确定第一时间范围为6分钟,相应的,确定第一时间点为11点4分10秒。
同理,上述第二最近预设时间段可以为以主数据库故障的时间点为一个端点,以主数据库故障之前的任一时间点(比如称为第二时间点)作为另一个端点,这两个端点对应的时间范围为上述第二最近预设时间段。为了更加准确地确定备数据库中丢失的数据记录,上述第二最近预设时间段大于等于上述第一最近预设时间段。
举例来讲,主数据库故障的时间点为11点10分10秒,选取的第一时间点为11点4分10秒,即第一最近预设时间段为6分钟;基于选取的第一最近预设时间段,确定第二最近预设时间段为7分钟,相应的,将第二时间点确定为11点3分10秒。
其中,第一数据记录是备数据库基于对主数据库同步的数据记录进行解码后生成的;第二数据记录是服务器基于对主数据库同步的数据记录进行处理并解码后生成的;且第二数据记录的字段个数小于或者等于主数据库生成并同步给备数据库和服务器的数据记录的字段个数。
S102、从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录。
本申请实施例中,第一数据记录中的字段个数与服务器同步给备数据库的字段个数相同,比如为:数据记录标识、用户身份识别码、数据记录时间、服务类型(比如转账、存款、取款)等字段。第二数据记录中字段个数小于或者等于第一数据记录的字段个数,比如为:用户身份识别码、数据记录标识、数据记录时间。
在本申请实施例中,服务器将第一数据记录与第二数据记录相比较;将包括在第二数据记录中未包括在第一数据记录中的数据记录确定为目标第二数据记录。
举例来讲,第一数据记录中包括:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒、(转账)1000元;(数据记录标识)12346、(用户身份识别码)用户2、(数据记录时间)2019年9月16日10点05分06秒、(存款)2000元;(数据记录标识)12347、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点09分32秒、(转账)5000元;(数据记录标识)12348、(用户身份识别码)用户3、(数据记录时间)2019年9月16日10点12分03秒、(取款)1000元;第二数据记录中包括:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒;(数据记录标识)12346、(用户身份识别码)用户2、(数据记录时间)2019年9月16日10点05分06秒;(数据记录标识)12347、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点09分32秒;(数据记录标识)12348、(用户身份识别码)用户3、(数据记录时间)2019年9月16日10点12分03秒;(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒。将第一数据记录与第二数据记录进行比较,将第二数据记录中的(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒确定为目标第二数据记录。上述目标第二数据记录未包括在第一数据记录中,备数据库未对上述目标第二数据记录以及该目标第二数据记录相关的数据记录进行备份。
S103、将选取的所述目标第二数据记录发送给所述备数据库,以使所述备数据库在基于所述目标第二数据记录切换为临时主数据库后,响应除匹配所述目标第二数据记录之外的服务请求。
在本申请实施例中,备数据库在接收到上述目标第二数据记录之后切换为临时主数据库,处理接收到的服务请求。针对接收到的每一个服务请求,将服务请求与目标第二数据记录对比,若服务请求携带的信息与目标第二数据记录中包括的任一数据记录不相同,则响应该服务请求;若服务请求携带的信息与目标第二数据记录中包括的任一数据记录相同,则暂停响应该服务请求。
作为一种可选的实施方式,备数据库切换为临时主数据库后,针对接收到的每一个服务请求,提取该服务请求对应的用户身份识别码,将提取出的用户身份识别码与目标第二数据记录中包括的用户身份识别码对比,若第二数据记录中不包括上述服务请求对应的用户身份识别码,则备数据库响应上述服务请求;若第二数据记录中包括上述服务请求对应的用户身份识别码,则备数据库暂停响应上述服务请求。
本申请实施例提供的数据处理方法中,当主数据库故障时,基于服务器同步的第二数据记录,确定备数据库中丢失的数据记录,能够缩短备数据库切换为临时主数据库的时间,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
本申请实施例中,为了及时发现主数据库故障,服务器周期性的对主数据库进行监测;作为一种可选的实施方式,服务器通过监测相邻监控周期内主数据库中的增量数据记录个数,确定主数据库是否发生故障;作为另一种可选的实施方式,服务器通过监测主数据库对接收到的服务请求的响应时间,确定主数据库是否发生故障。下面分别针对上述两种情况对监测主数据库故障的方法进行说明:
第一,获取所述主数据库在当前监控周期内数据记录的个数;若检测到所述数据记录的个数小于第一预设阈值,则确定所述主数据库故障。
在本申请实施例中,为了能够及时发现主数据库故障,监控周期可以设定为秒级或分钟级的时间段;基于预设的监控周期,每到该监控周期的截止时间点,获取主数据库在该监控周期内响应服务请求生成的数据记录的个数。
举例来讲,主数据库在10点00分00秒开始响应服务请求,预设监控周期为30秒,第1个监控周期的开始时间点为10点00分00秒,第1个监控周期的截止时间点为10点00分30秒,获取10点00分00秒到10点00分30秒这一时间段内的数据记录的个数。
在本申请实施例中,将获取的数据记录的个数与预设的第一预设阈值比较,若数据记录的个数大于等于第一预设阈值,则确定该主数据库运行正常;若数据记录的个数小于第一预设阈值,则确定该主数据库故障。
第二,获取所述主数据库针对当前服务请求的响应时间;若检测到所述响应时间大于第二预设阈值,则确定所述主数据库故障。
在本申请实施例中,主数据库对接收到的服务请求进行处理,经过一段响应时间,生成该服务请求对应的数据记录,若主数据库对接收到的服务请求无法生成数据记录,则确定主数据库故障;服务器通过检测主数据库响应每一个服务请求的响应时间判断是否主数据库故障,若服务器检测到主数据库针对当前服务请求的响应时间大于第二预设阈值,则确定主数据库故障;若服务器检测到主数据库针对当前服务请求的响应时间小于等于第二预设阈值,则确定主数据库正常;其中第二预设阈值为预设的最大响应时间。
本申请实施例中,第二数据记录中的字段个数小于主数据库生成并同步给服务器(或者备数据库)的数据记录的字段个数,以减少占用服务器的存储空间,提高了服务器存储空间的利用率以及服务器的处理效率。主数据库同步给备数据库和服务器的数据记录包括所有的业务字段,比如为:用户身份识别码、数据记录标识、数据记录时间、服务类型(比如转账、存款、取款)等字段。服务器在获取了上述数据记录后,对上述数据记录进行处理,保留目标业务字段作为第二数据记录的字段,比如为:用户身份识别码、数据记录标识、数据记录时间。
本申请实施例中,第二数据记录是服务器根据主数据库同步的数据记录生成的,如图2所示,生成第二数据记录的方法包括以下步骤:
S201、获取每个存储周期内所述主数据库生成的数据记录。
在本申请实施例中,服务器周期性地获取主数据库中生成的数据记录,每到一个存储周期的截止时间点,获取该存储周期内服务器生成的数据记录。这里,存储周期根据需要进行设置,其可以与监控周期相同,也可以与监控周期不同,本申请实施例对存储周期不进行限制。
举例来讲,假设存储周期为5秒,主数据库在10点00分00秒开始响应服务请求,第一个存储周期为:10点00分00秒到10点00分05秒,在到达10点00分05秒时,获取主数据库在该第一存储周期内生成的数据记录:56682378038513467、41674687441354647。第二个存储周期为:10点00分05秒到10点00分10秒,在到达10点00分10秒时,获取主数据库在该第二存储周期内生成的数据记录:58452369524851236、15448568464341634。
S202、从所述数据记录中查找目标数据记录对应的目标数据记录字段,并获取所述目标数据记录字段对应的目标编码数据。
在本申请实施例中,第二数据记录的作用是在主数据库故障时通过与备数据库中存储的第一数据记录进行比较,确定备数据库中丢失的数据记录。这里,服务器中定义的查找规则,该查找规则包括字段与位置的对应关系,根据字段与位置的对应关系,查找目标数据记录字段对应的目标位置,并从该目标位置获取目标数据记录字段对应的目标编码数据。
举例来讲,比如目标数据记录字段为用户身份识别码;预设的规则包括:位置1-用户身份识别码;其中,每个位置可以占用一位或多位数字,这里以每一个位置占用四位数字为例,当数据记录为58452369524851236、15448568464341634时,服务器查找用户身份识别码对应的位置1(对应5845和1544的位置),从位置1处获取的目标编码数据为5845、1544。本申请实施例中,不对每一个位置对应的数字个数进行限定。
S203、对所述目标数据记录字段对应的目标编码数据进行解码处理,得到第二数据记录。
在本申请实施例中,基于预设的解码规则表,将目标数据记录字段对应的目标编码数据进行解码处理,得到相应的目标数据,该目标数据即第二数据记录;上述解码规则表中包括目标编码数据、目标数据。
举例来讲,预设的解码规则表为:5845-(用户身份识别码)用户1,1544-(用户身份识别码)用户2,5668-(用户身份识别码)用户3,4167-(用户身份识别码)用户4;相应的,上述5845和1544解码后对应的目标数据分别为:(用户身份识别码)用户1、(用户身份识别码)用户2。
作为一种可选的实施方式,服务器通过一个接口接收并存储主数据库同步的数据记录,并基于上述数据记录生成第二数据记录;作为另一种可选的实施方式,服务器可以通过多个接口并行接收并存储主数据库同步的数据记录,并基于上述数据记录生成第二数据记录,通过多个接口能够提高服务器生成第二数据记录的效率。
本申请实施例中,通过对主数据库同步的数据记录进行处理,使第二数据记录中的字段个数小于上述数据记录的字段个数,减少占用服务器的存储空间,提高了服务器存储空间的利用率以及服务器的处理效率。
本申请实施例中,当服务器监测到主数据库故障时,将备数据库存储的第一数据记录与服务器存储的第二数据记录对比,生成目标第二数据记录,并将该目标第二数据记录确定为备数据库丢失的数据记录,如图3所示,获取目标第二数据记录的方法包括以下步骤:
S301、提取所述第一数据记录中的第一数据记录标识和所述第二数据记录中的第二数据记录标识。
在本申请实施例中,将第一最近预设时间段内主数据库响应服务请求生成的数据记录确定为第一数据记录,上述第一数据记录中包括对应于上述任一服务请求的第一数据记录标识;基于第二最近预设时间段内主数据库响应服务请求生成的数据记录生成第二数据记录,上述第二数据记录中包括对应于上述任一服务请求的第二数据记录标识;提取第一数据记录中的第一数据记录标识,上述第一数据记录标识用于确定第一数据记录对应的服务请求;提取第二数据记录中的第二数据记录标识,上述第二数据记录标识用于确定第二数据记录对应的服务请求。
举例来讲,在第一最近预设时间段内主数据库响应了服务请求1、服务请求2、服务请求3、服务请求4,同步给备数据库的第一数据记录包括:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒、(转账)1000元;(数据记录标识)12346、(用户身份识别码)用户2、(数据记录时间)2019年9月16日10点05分06秒、(存款)2000元;(数据记录标识)12347、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点09分32秒、(转账)5000元;(数据记录标识)12348、(用户身份识别码)用户3、(数据记录时间)2019年9月16日10点12分03秒、(取款)1000元;其中,(数据记录标识)12345、(数据记录标识)12346、(数据记录标识)12347、(数据记录标识)12348为上述第一数据记录包括的第一数据记录标识,用于确定备数据库中同步的数据记录对应于服务请求1、服务请求2、服务请求3、服务请求4;在第二最近预设时间段内主数据库响应了服务请求1、服务请求2、服务请求3、服务请求4、服务请求5、服务请求6,同步给服务器的第二数据记录包括:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒;(数据记录标识)12346、(用户身份识别码)用户2、(数据记录时间)2019年9月16日10点05分06秒;(数据记录标识)12347、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点09分32秒;(数据记录标识)12348、(用户身份识别码)用户3、(数据记录时间)2019年9月16日10点12分03秒;(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒;其中,(数据记录标识)12345、(数据记录标识)12346、(数据记录标识)12347、(数据记录标识)12348、(数据记录标识)12349、(数据记录标识)12350为上述第二数据记录包括的第二数据记录标识,用于确定服务器中同步的数据记录对应于服务请求1、服务请求2、服务请求3、服务请求4、服务请求5、服务请求6。
S302、根据所述第一数据记录标识和所述第二数据记录标识,选取包括在所述第二数据记录中但未包括在所述第一数据记录中的目标第二数据记录标识。
在本申请实施例中,将提取出的第一数据记录标识与第二数据记录标识进行比较,由于主数据库向服务器同步数据记录的第二时间间隔小于主数据库向备数据库同步数据记录的第一时间间隔,因此,第二数据记录标识的个数大于第一数据记录标识的个数,从第二数据记录中,找出与第一数据记录标识不同的目标第二数据记录标识。
举例来讲,从第一数据记录中提取出的对应于服务请求1、服务请求2、服务请求3、服务请求4的第一数据记录标识为:(数据记录标识)12345、(数据记录标识)12346、(数据记录标识)12347、(数据记录标识)12348;从第二数据记录中提取出的对应于服务请求1、服务请求2、服务请求3、服务请求4、服务请求5、服务请求6的第二数据记录标识为:(数据记录标识)12345、(数据记录标识)12346、(数据记录标识)12347、(数据记录标识)12348、(数据记录标识)12349、(数据记录标识)12350;将第一数据记录标识与第二数据记录标识进行比较,从第二数据记录中,找出与第一数据记录标识不同的目标第二数据记录标识为:(数据记录标识)12349、(数据记录标识)12350。
S303、基于所述目标第二数据记录标识对应的第二数据记录,生成所述目标第二数据记录。
在本申请实施例中,目标第二数据记录标识对应的第二数据记录为备数据库丢失的数据记录;将主数据库同步给服务器的数据记录中的特定数据记录字段对应的数据记录定义为目标第二数据记录;从目标第二数据记录标识对应的第二数据记录中选取上述目标第二数据记录。
举例来讲,若目标第二数据记录标识为:(数据记录标识)12349、(数据记录标识)12350,第二数据记录包括:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒;(数据记录标识)12346、(用户身份识别码)用户2、(数据记录时间)2019年9月16日10点05分06秒;(数据记录标识)12347、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点09分32秒;(数据记录标识)12348、(用户身份识别码)用户3、(数据记录时间)2019年9月16日10点12分03秒;(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒;则目标第二数据记录标识对应的第二数据记录为(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒。
作为一种可选的实施方式,将数据记录标识字段、用户身份识别码字段和数据记录时间字段对应的数据记录定义为目标第二数据记录,则(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒为目标第二数据记录。
作为另一种可选的实施方式,将用户身份识别码字段对应的数据记录定义为目标第二数据记录,则从(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒中选取用户身份识别码:(用户身份识别码)用户4、(用户身份识别码)用户5,将选取出的用户身份识别码作为目标第二数据记录。
本申请实施例提供的基于数据记录标识选取第一数据记录与第二数据记录差值的方法,能够快速地选取出备数据库丢失的数据记录,提高了备数据库的切换效率。
本申请实施例中,以第二数据记录中包括的用户身份识别码作为目标第二数据记录,如图4所示,为基于目标第二数据记录标识从第二数据记录中选取目标用户身份识别码的方法流程图,选取目标用户身份识别码的方法包括以下步骤:
S401、获取所述第二数据记录中所述目标第二数据记录标识对应的用户身份识别码。
在本申请实施例中,服务器基于主数据库响应服务请求生成的数据记录生成第二数据记录,第二数据记录中包括对应于每个服务请求的第二数据记录标识以及对应于每个服务请求的用户身份识别码,基于目标第二数据记录标识可以在第二数据记录中选取与该目标第二数据记录标识对应的服务请求相关的数据记录,并且从上述服务请求相关的数据记录中选取对应的用户身份识别码。
举例来讲,第二数据记录包括:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒;(数据记录标识)12346、(用户身份识别码)用户2、(数据记录时间)2019年9月16日10点05分06秒;(数据记录标识)12347、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点09分32秒;(数据记录标识)12348、(用户身份识别码)用户3、(数据记录时间)2019年9月16日10点12分03秒;(数据记录标识)12349、(用户身份识别码)用户4、(数据记录时间)2019年9月16日10点13分05秒;(数据记录标识)12350、(用户身份识别码)用户5、(数据记录时间)2019年9月16日10点13分17秒;目标第二数据记录标识为:(数据记录标识)12345、(数据记录标识)12346、(数据记录标识)12347;基于上述目标第二数据记录标识从上述第二数据记录中选取数据记录:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒;(数据记录标识)12346、(用户身份识别码)用户2、(数据记录时间)2019年9月16日10点05分06秒;(数据记录标识)12347、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点09分32秒;从上述数据记录中选取用户身份识别码:(用户身份识别码)用户1、(用户身份识别码)用户2、(用户身份识别码)用户1。
S402、从所述用户身份识别码中选取目标用户身份识别码;其中,选取的目标用户身份识别码之间互不相同。
在本申请实施例中,第二数据记录中包括的数据记录与主数据库响应的服务请求是对应的,每一个数据记录标识对应唯一的服务请求,不同的目标第二数据记录标识对应不同的服务请求;而同一个用户可以发起多个服务请求,每一个用户身份识别码可以对应不同的服务请求;基于目标第二数据记录标识从第二数据记录中选取出的用户身份识别码中可能存在重复的用户身份识别码。
作为一种可选的实施方式,基于目标第二数据记录标识从第二数据记录中逐个选取用户身份识别码,选取第一个目标第二数据记录标识对应的用户身份识别码作为已选的目标用户身份识别码;之后,再选取出一个用户身份识别码,将该用户身份识别码与已选的目标用户身份识别码进行对比,若该用户身份识别码与已选的目标用户身份识别码相同,则丢弃该用户身份识别码;若该用户身份识别码与已选的目标用户身份识别码不同,则选取该用户身份识别码为目标用户身份识别码;重复上述再选取出一个用户身份识别码的步骤,直至当前不存在用户身份识别。这样,选取出的目标用户身份识别码互相之间不相同。
举例来讲,第二数据记录包括:(数据记录标识)12345、(用户身份识别码)用户1、(数据记录时间)2019年9月16日10点00分00秒;12346、用户2、2019年9月16日10点05分06秒;12347、用户1、2019年9月16日10点09分32秒;12348、用户3、2019年9月16日10点12分03秒;12349、用户4、2019年9月16日10点13分05秒;12350、(用户5、2019年9月16日10点13分17秒;目标第二数据记录标识为:12345、12346、12347;基于目标第二数据记录标识12345从第二数据记录中选取12345对应的用户身份识别码用户1,并将用户1确定为目标用户身份识别码;基于目标第二数据记录标识12346从第二数据记录中选取12346对应的用户身份识别码用户2,将选取出的用户2与目标用户身份识别码用户1对比,确定用户2与用户1不同,将用户2确定为目标用户身份识别码;基于目标第二数据记录标识12347从第二数据记录中选取12347对应的用户身份识别码用户1,将选取出的用户1与目标用户身份识别码用户1、用户2对比,用户1与用户1相同,将该选取出的用户1丢弃。
作为另一种可选的实施方式,统计各个目标第二数据记录标识对应的各个用户身份识别码的个数,将各个不同的用户身份识别码确定为目标用户身份识别码,即当用户身份识别码为多个时,选取一个作为目标用户身份识别码即可。
举例来讲,基于目标第二数据记录标识(数据记录标识)12345、12346、12347从第二数据记录中选取用户身份识别码用户1-2个、用户2-1个、将用户1和用户2确定为目标用户身份识别码。
S403、将所述目标用户身份识别码确定为所述目标第二数据记录。
在本申请实施例中,将选取出的互不相同的目标用户身份识别码确定为目标第二数据记录。
本申请实施例中,将与目标第二数据记录相关的目标第一数据记录恢复后,备数据库可以响应接收到的任一服务请求,备数据库恢复响应与目标第一数据记录匹配的服务请求的方法包括:
若检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录,则向所述备数据库发送携带有所述目标第一数据记录的通知消息;其中,所述通知消息用于通知所述备数据库响应匹配所述目标第一数据记录的服务请求。
在本申请实施例中,目标第一数据记录是基于目标第二数据记录生成的,将生成的目标第一数据记录存储在第一数据记录中;服务器检测第一数据记录中数据记录的变化情况,当服务器检测到第一数据记录中包括与目标第二数据记录对应的目标第一数据记录,则将该目标第一数据记录发送给备数据库,以使备数据库响应与该目标第一数据记录匹配的服务请求,即备数据库可以响应接收到的任一服务请求。
作为一种可选的实施方式,目标第二数据记录是目标第一数据记录的部分数据记录,当服务器检测到第一数据记录中包括与目标第二数据记录重合的目标第一数据记录,服务器向备数据库发送该目标第一数据记录。
作为另一种可选的实施方式,目标第二数据记录与目标第一数据记录相同,当服务器检测到第一数据记录中包括与目标第二数据记录相同的目标第一数据记录,服务器向备数据库发送该目标第一数据记录。
本申请实施例提供的数据处理方法,当主数据库故障时,服务器基于主数据库在第二最近预设时间段内同步的第二数据记录以及主数据库在第一最近预设时间段内同步给备数据库的第一数据记录,确定备数据库中丢失的数据记录,将丢失的数据记录发送给备数据库,以使备数据库基于丢失的数据记录切换为临时主数据库,并响应除匹配丢失的数据记录之外的服务请求。通过上述方式,能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
进一步,本申请实施例提供的数据处理方法,在检测备数据库丢失的数据记录恢复后,及时向备数据库发送携带有恢复后的丢失的数据记录的通知消息,使备数据库响应匹配恢复后的丢失的数据记录的服务请求,恢复运行丢失的用户业务。
基于同一发明构思,本申请实施例中还提供了与上述应用于服务器的数据处理方法对应的应用于备数据库的数据处理方法,由于本申请实施例中的应用于备数据库的数据处理方法解决问题的原理与本申请实施例上述应用于服务器的数据处理方法相似,因此本申请实施例中的应用于备数据库的数据处理方法的实施可以参见上述应用于服务器的数据处理方法的实施,重复之处不再赘述。
本申请实施例提供的数据处理方法,应用于备数据库,所述备数据库分别与主数据库和服务器连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理方法包括:
在接收到所述服务器发送的目标第二数据记录后,基于所述目标第二数据记录切换为临时主数据库;其中,所述目标第二数据记录为包括在第二数据记录中但未包括在第一数据记录中的数据记录;所述第二数据记录为所述服务器中所述主数据库故障之前第二预设时间段内所述主数据库同步的数据记录;所述第一数据记录为所述备数据库中所述主数据库故障之前第一预设时间段内所述主数据库同步的数据记录;其中,所述第二预设时间段大于或者等于所述第一预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
在接收到服务请求后,若该服务请求与所述目标第二数据记录不相匹配,则响应该服务请求。
本申请实施方法中,备数据库恢复响应匹配目标第二数据记录的服务请求的方法,包括:
若接收到所述服务器发送的携带有该目标第一数据记录的通知消息,则响应匹配该目标第一数据记录的服务请求;其中,所述通知消息是所述服务器在检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录后生成的。
本申请实施例提供的数据处理方法,通过确定备数据库中的丢失的数据记录,使备数据库响应除匹配丢失的数据记录之外的服务请求的方式,能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
基于同一发明构思,本申请实施例中还提供了与上述应用于服务器的数据处理方法对应的应用于服务器的数据处理装置,由于本申请实施例中的应用于服务器的数据处理装置解决问题的原理与本申请实施例上述应用于服务器的数据处理方法相似,因此本申请实施例中的应用于服务器的数据处理装置的实施可以参见上述应用于服务器的数据处理方法的实施,重复之处不再赘述。
参见图5所示,为本申请一实施例提供的一种数据处理装置的示意图,该数据处理装置500驻留于服务器,所述服务器分别与主数据库和备数据库连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;该数据处理装置500包括:第一获取模块501、选取模块502和第一发送模块503。
第一获取模块501,用于在监测到所述主数据库故障时,获取所述备数据库中第一最近预设时间段内的第一数据记录,以及所述服务器中第二最近预设时间段内的第二数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
选取模块502,用于从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录;
第一发送模块503,用于将选取的所述目标第二数据记录发送给所述备数据库,以使所述备数据库基于所述目标第二数据记录切换为临时主数据库,并响应除匹配所述目标第二数据记录之外的服务请求。
在一种可选的实施方式中,第一获取模块501通过以下方法监测所述主数据库故障:
获取所述主数据库在当前监控周期内数据记录的个数;若检测到所述数据记录的个数小于第一预设阈值,则确定所述主数据库故障;
或者,
获取所述主数据库针对当前服务请求的响应时间;若检测到所述响应时间大于第二预设阈值,则确定所述主数据库故障。
在一种可选的实施方式中,上述数据处理装置还包括:
第二获取模块,用于获取每个存储周期内所述主数据库生成的数据记录;
提取模块,用于从所述数据记录中查找目标数据记录对应的目标数据记录字段;
第三获取模块,用于并获取所述目标数据记录字段对应的目标编码数据;
解码模块,用于对所述目标数据记录字段对应的目标编码数据进行解码处理,得到第二数据记录。
在一种可选的实施方式中,选取模块502,在从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录时,包括:
提取所述第一数据记录中的第一数据记录标识和所述第二数据记录中的第二数据记录标识;
根据所述第一数据记录标识和所述第二数据记录标识,选取包括在所述第二数据记录中但未包括在所述第一数据记录中的目标第二数据记录标识;
基于所述目标第二数据记录标识对应的第二数据记录,生成所述目标第二数据记录。
在一种可选的实施方式中,选取模块502,在基于所述目标第二数据记录标识对应的第二数据记录,生成所述目标第二数据记录时,包括:
获取所述第二数据记录中所述目标第二数据记录标识对应的用户身份识别码;
从所述用户身份识别码中选取目标用户身份识别码;其中,选取的目标用户身份识别码之间互不相同;
将所述目标用户身份识别码确定为所述目标第二数据记录。
在一种可选的实施方式中,上述数据处理装置还包括:
第二发送模块,用于若检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录,则向所述备数据库发送携带有所述目标第一数据记录的通知消息;其中,所述通知消息用于通知所述备数据库响应匹配所述目标第一数据记录的服务请求。
本申请实施例提供的数据处理装置,通过确定备数据库中的丢失的数据记录,使备数据库响应除匹配丢失的数据记录之外的服务请求的方式,能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
基于同一发明构思,本申请实施例中还提供了与上述应用于备数据库的数据处理方法对应的应用于备数据库的数据处理装置,由于本申请实施例中的应用于备数据库的数据处理装置解决问题的原理与本申请实施例上述应用于备数据库的数据处理方法相似,因此本申请实施例中的应用于备数据库的数据处理装置的实施可以参见上述应用于备数据库的数据处理方法的实施,重复之处不再赘述。
参见图6所示,为本申请一实施例提供的一种数据处理装置的示意图,该数据处理装置600应用于备数据库,所述备数据库分别与主数据库和服务器连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;该数据处理装置600包括:切换模块601和响应模块602。
切换模块601,用于在接收到所述服务器发送的目标第二数据记录后,基于所述目标第二数据记录切换为临时主数据库;其中,所述目标第二数据记录为包括在第二数据记录中但未包括在第一数据记录中的数据记录;所述第二数据记录为所述服务器中所述主数据库故障之前第二最近预设时间段内的数据记录;所述第一数据记录为所述备数据库中所述主数据库故障之前第一最近预设时间段内的数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
响应模块602,用于用于在接收到服务请求后,若该服务请求与所述目标第二数据记录不相匹配,则响应该服务请求。
在一种可选的实施方式中,所述数据处理装置还包括:
若接收到所述服务器发送的携带有该目标第一数据记录的通知消息,则响应匹配该目标第一数据记录的服务请求;其中,所述通知消息是所述服务器在检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录后生成的。
本申请实施例提供的数据处理装置,通过确定备数据库中的丢失的数据记录,使备数据库响应除匹配丢失的数据记录之外的服务请求的方式,能够实现备数据库与主数据库的及时切换,保证了用户业务不中断,提高了响应效率,增加了系统的可靠性。
如图7所示,本申请实施例提供的一种电子设备700,包括:处理器701、存储器702和总线,所述存储器702存储有所述处理器701可执行的机器可读指令,当电子设备运行时,所述处理器701与所述存储器702之间通过总线通信,所述处理器701执行所述机器可读指令,以执行如上述应用于服务器中的数据处理方法的步骤。
具体地,上述存储器702和处理器701能够为通用的存储器和处理器,这里不做具体限定,当处理器701运行存储器702存储的计算机程序时,能够执行上述应用于服务器中的数据处理方法。
对应于上述应用于服务器中的数据处理方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述应用于服务器中的数据处理方法的步骤。
如图8所示,本申请实施例提供的一种电子设备800,包括:处理器801、存储器802和总线,所述存储器802存储有所述处理器801可执行的机器可读指令,当电子设备运行时,所述处理器801与所述存储器802之间通过总线通信,所述处理器801执行所述机器可读指令,以执行如上述应用于备数据库中的数据处理方法的步骤。
具体地,上述存储器802和处理器801能够为通用的存储器和处理器,这里不做具体限定,当处理器801运行存储器802存储的计算机程序时,能够执行上述应用于备数据库中的数据处理方法。
对应于上述应用于备数据库中的数据处理方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述应用于备数据库中的数据处理方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种数据处理方法,其特征在于,应用于服务器,所述服务器分别与主数据库和备数据库连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理方法包括:
在监测到所述主数据库故障时,获取所述备数据库中第一最近预设时间段内的第一数据记录,以及所述服务器中第二最近预设时间段内的第二数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录;
将选取的所述目标第二数据记录发送给所述备数据库,以使所述备数据库基于所述目标第二数据记录切换为临时主数据库,并响应除匹配所述目标第二数据记录之外的服务请求。
2.根据权利要求1所述的数据处理方法,其特征在于,通过以下方法监测所述主数据库故障:
获取所述主数据库在当前监控周期内数据记录的个数;若检测到所述数据记录的个数小于第一预设阈值,则确定所述主数据库故障;
或者,
获取所述主数据库针对当前服务请求的响应时间;若检测到所述响应时间大于第二预设阈值,则确定所述主数据库故障。
3.根据权利要求1所述的数据处理方法,其特征在于,通过以下方法生成所述第二数据记录:
获取每个存储周期内所述主数据库生成的数据记录;
从所述数据记录中查找目标数据记录对应的目标数据记录字段,并获取所述目标数据记录字段对应的目标编码数据;
对所述目标数据记录字段对应的目标编码数据进行解码处理,得到第二数据记录。
4.根据权利要求1所述的数据处理方法,其特征在于,所述从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录,包括:
提取所述第一数据记录中的第一数据记录标识和所述第二数据记录中的第二数据记录标识;
根据所述第一数据记录标识和所述第二数据记录标识,选取包括在所述第二数据记录中但未包括在所述第一数据记录中的目标第二数据记录标识;
基于所述目标第二数据记录标识对应的第二数据记录,生成所述目标第二数据记录。
5.根据权利要求4所述的数据处理方法,其特征在于,所述基于所述目标第二数据记录标识对应的第二数据记录,生成所述目标第二数据记录,包括:
获取所述第二数据记录中所述目标第二数据记录标识对应的用户身份识别码;
从所述用户身份识别码中选取目标用户身份识别码;其中,选取的目标用户身份识别码之间互不相同;
将所述目标用户身份识别码确定为所述目标第二数据记录。
6.根据权利要求1所述的数据处理方法,其特征在于,在将选取的所述目标第二数据记录发送给所述备数据库之后,所述数据处理方法还包括:
若检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录,则向所述备数据库发送携带有所述目标第一数据记录的通知消息;其中,所述通知消息用于通知所述备数据库响应匹配所述目标第一数据记录的服务请求。
7.一种数据处理方法,其特征在于,应用于备数据库,所述备数据库分别与主数据库和服务器连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理方法包括:
在接收到所述服务器发送的目标第二数据记录后,基于所述目标第二数据记录切换为临时主数据库;其中,所述目标第二数据记录为包括在第二数据记录中但未包括在第一数据记录中的数据记录;所述第二数据记录为所述服务器中所述主数据库故障之前第二最近预设时间段内的数据记录;所述第一数据记录为所述备数据库中所述主数据库故障之前第一最近预设时间段内的数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
在接收到服务请求后,若该服务请求与所述目标第二数据记录不相匹配,则响应该服务请求。
8.根据权利要求7所述的数据处理方法,其特征在于,所述数据处理方法还包括:
若接收到所述服务器发送的携带有目标第一数据记录的通知消息,则响应匹配该目标第一数据记录的服务请求;其中,所述通知消息是所述服务器在检测到所述第一数据记录中存在与所述目标第二数据记录相同的目标第一数据记录后生成的。
9.一种数据处理装置,其特征在于,驻留于服务器,所述服务器分别与主数据库和备数据库连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理装置包括:
第一获取模块,用于在监测到所述主数据库故障时,获取所述备数据库中第一最近预设时间段内的第一数据记录,以及所述服务器中第二最近预设时间段内的第二数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
选取模块,用于从所述第二数据记录中选取除匹配所述第一数据记录之外的目标第二数据记录;
第一发送模块,用于将选取的所述目标第二数据记录发送给所述备数据库,以使所述备数据库基于所述目标第二数据记录切换为临时主数据库,并响应除匹配所述目标第二数据记录之外的服务请求。
10.一种数据处理装置,其特征在于,驻留于备数据库,所述备数据库分别与主数据库和服务器连接,所述主数据库在启动后响应服务请求,并将得到的数据记录按照不同的时间间隔同步给所述备数据库和所述服务器;所述服务器对应的时间间隔小于所述备数据库对应的时间间隔;所述数据处理装置包括:
切换模块,用于在接收到所述服务器发送的目标第二数据记录后,基于所述目标第二数据记录切换为临时主数据库;其中,所述目标第二数据记录为包括在第二数据记录中但未包括在第一数据记录中的数据记录;所述第二数据记录为所述服务器中所述主数据库故障之前第二最近预设时间段内的数据记录;所述第一数据记录为所述备数据库中所述主数据库故障之前第一最近预设时间段内的数据记录;其中,所述第二最近预设时间段大于或者等于所述第一最近预设时间段;所述第二数据记录是所述服务器根据所述主数据库同步的数据记录生成的;
响应模块,用于在接收到服务请求后,若该服务请求与所述目标第二数据记录不相匹配,则响应该服务请求。
11.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的数据处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任意一项所述的数据处理方法的步骤。
CN201910903236.9A 2019-09-24 2019-09-24 一种数据处理方法、装置、电子设备及存储介质 Active CN110737545B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910903236.9A CN110737545B (zh) 2019-09-24 2019-09-24 一种数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910903236.9A CN110737545B (zh) 2019-09-24 2019-09-24 一种数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110737545A CN110737545A (zh) 2020-01-31
CN110737545B true CN110737545B (zh) 2021-12-17

Family

ID=69269544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910903236.9A Active CN110737545B (zh) 2019-09-24 2019-09-24 一种数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110737545B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352749B (zh) * 2020-03-02 2021-02-26 珠海必要工业科技股份有限公司 一种数据同步方法、装置、设备及存储介质
CN112363865A (zh) * 2020-10-19 2021-02-12 深圳云天励飞技术股份有限公司 数据库故障恢复方法、装置及人脸图像搜索系统
CN113778744B (zh) * 2021-01-05 2024-06-18 北京沃东天骏信息技术有限公司 任务处理方法、设备、系统以及存储介质
CN114997981A (zh) * 2021-03-01 2022-09-02 网联清算有限公司 一种计费方法及系统
CN115544147B (zh) * 2022-10-18 2023-12-08 山东水发紫光大数据有限责任公司 机房数据读取方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015885A (zh) * 2016-07-12 2017-08-04 阿里巴巴集团控股有限公司 主备用数据库切换时的服务提供方法、系统和配置中心
CN107181834A (zh) * 2017-06-13 2017-09-19 聚好看科技股份有限公司 一种redis管理虚拟IP地址的方法、装置及redis系统
CN108509323A (zh) * 2018-01-30 2018-09-07 深圳壹账通智能科技有限公司 基于日志分析的业务处理方法、装置及计算机设备
CN109582733A (zh) * 2018-10-26 2019-04-05 平安科技(深圳)有限公司 数据同步方法、装置、计算机设备及存储介质
CN110263095A (zh) * 2019-05-31 2019-09-20 众安在线财产保险股份有限公司 数据备份与恢复方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7540016B2 (en) * 2004-07-21 2009-05-26 Beachhead Solutions, Inc. System and method for lost data destruction of electronic data stored on a portable electronic device which communicates with servers that are inside of and outside of a firewall

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015885A (zh) * 2016-07-12 2017-08-04 阿里巴巴集团控股有限公司 主备用数据库切换时的服务提供方法、系统和配置中心
CN107181834A (zh) * 2017-06-13 2017-09-19 聚好看科技股份有限公司 一种redis管理虚拟IP地址的方法、装置及redis系统
CN108509323A (zh) * 2018-01-30 2018-09-07 深圳壹账通智能科技有限公司 基于日志分析的业务处理方法、装置及计算机设备
CN109582733A (zh) * 2018-10-26 2019-04-05 平安科技(深圳)有限公司 数据同步方法、装置、计算机设备及存储介质
CN110263095A (zh) * 2019-05-31 2019-09-20 众安在线财产保险股份有限公司 数据备份与恢复方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多服务器热备份机制的设计和实现;冯玉才等;《华中科技大学学报(自然科学版)》;20030228;第31卷(第2期);全文 *

Also Published As

Publication number Publication date
CN110737545A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN110737545B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN106878473B (zh) 一种消息处理方法、服务器集群及系统
EP3832578A1 (en) Electronic invoice identifier allocation method, and electronic ticket generating method, device and system
EP3754514A1 (en) Distributed database cluster system, data synchronization method and storage medium
US10826817B2 (en) Routing table synchronization method, apparatus, and system
CN111770350B (zh) 直播间消息拉取的方法、装置、计算机设备和存储介质
CN108023746B (zh) 一种视频数据处理方法、装置及系统
CN105069152B (zh) 数据处理方法及装置
CN107870982B (zh) 数据处理方法、系统和计算机可读存储介质
CN108600284B (zh) 一种基于Ceph的虚拟机高可用实现方法及系统
CN106201772A (zh) 一种基于数据中心的操作系统备份、恢复方法及装置
CN109960602B (zh) 信息管理方法、装置、设备及介质
CN108509296B (zh) 一种处理设备故障的方法和系统
CN108009045B (zh) 一种主备数据库故障处理方法及装置
CN111404737B (zh) 一种容灾处理方法以及相关装置
CN109542338B (zh) 一种实现分布式存储系统中节点信息一致性方法及装置
CN108415951B (zh) 一种数据库控制方法和系统
CN113064768B (zh) 在区块链系统中切换分片节点的方法和装置
CN113064950B (zh) 一种数据同步方法、装置、设备及存储介质
CN115205046A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113760519B (zh) 分布式事务处理方法、装置、系统和电子设备
CN116737764A (zh) 数据同步的方法和装置、电子设备和存储介质
CN109254880A (zh) 一种处理数据库宕机的方法及装置
CN117851244B (zh) 数据库故障检测方法和装置、电子设备及存储介质
CN112667449B (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