CN109739674B - 交易数据库的异常检测方法、装置及存储介质 - Google Patents

交易数据库的异常检测方法、装置及存储介质 Download PDF

Info

Publication number
CN109739674B
CN109739674B CN201811540962.0A CN201811540962A CN109739674B CN 109739674 B CN109739674 B CN 109739674B CN 201811540962 A CN201811540962 A CN 201811540962A CN 109739674 B CN109739674 B CN 109739674B
Authority
CN
China
Prior art keywords
transaction database
state
detection state
arbitration
detection
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
CN201811540962.0A
Other languages
English (en)
Other versions
CN109739674A (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.)
NetsUnion Clearing Corp
Original Assignee
NetsUnion Clearing Corp
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 NetsUnion Clearing Corp filed Critical NetsUnion Clearing Corp
Priority to CN201811540962.0A priority Critical patent/CN109739674B/zh
Publication of CN109739674A publication Critical patent/CN109739674A/zh
Application granted granted Critical
Publication of CN109739674B publication Critical patent/CN109739674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请提出一种交易数据库的异常检测方法、装置及存储介质,其中,方法包括:获取交易数据库的标识;根据所述标识,从本地状态信息表中获取所述交易数据库的应用自身检测状态和仲裁检测状态;若获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态中,至少一个为不可用状态,则确定所述交易数据库异常;若获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态均为可用状态,则将交易信息发送给所述交易数据库。通过本方法,能够提高交易数据库的异常检测速率,实现快速、准确地定位发生故障的交易数据库。

Description

交易数据库的异常检测方法、装置及存储介质
技术领域
本申请涉及故障检测技术领域,尤其涉及一种交易数据库的异常检测方法、装置及存储介质。
背景技术
自2018年6月30日起,支付机构受理的涉及银行账户的网络支付业务全部通过清算平台处理,这大大增加了清算平台的交易量。
随着清算平台交易量的逐步增大,当交易数据库出现异常时,如何快速感知并精准定位发生故障的交易数据库,以确保交易的正常进行,缩小交易受影响的范围,成为亟待解决的技术问题。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种交易数据库的异常检测方法,通过获取交易数据库的应用自身检测状态和仲裁检测状态,当两者中至少一个为不可用状态时,确定交易数据库异常,以提高交易数据库的异常检测速率,实现快速、准确地定位发生故障的交易数据库。
本申请的第二个目的在于提出一种交易数据库的异常检测装置。
本申请的第三个目的在于提出一种计算机设备。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
本申请的第五个目的在于提出一种计算机程序产品。
为达上述目的,本申请第一方面实施例提出了一种交易数据库的异常检测方法,包括:
获取交易数据库的标识;
根据所述标识,从本地状态信息表中获取所述交易数据库的应用自身检测状态和仲裁检测状态;
若获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态中,至少一个为不可用状态,则确定所述交易数据库异常;
若获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态均为可用状态,则将交易信息发送给所述交易数据库。
在本申请实施例一种可能的实现方式中,在所述将交易信息发送给所述交易数据库之后,还包括:
若在预设时间内未获取到所述交易数据库返回的响应信息,则确定所述交易数据库的应用自身检测状态为不可用状态;
将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为不可用状态。
在本申请实施例一种可能的实现方式中,在所述确定所述交易数据库的应用自身检测状态为不可用状态之前,还包括:
确定连续未获取到所述响应信息的次数达到预设的阈值。
在本申请实施例一种可能的实现方式中,在所述获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态中,至少一个为不可用状态之后,还包括:
若获知所述交易数据库的应用自身检测状态为不可用状态,且所述交易数据库的仲裁检测状态为可用状态,则按照预设的时间间隔向所述交易数据库发送检测信息;
若获取到所述检测信息的反馈消息,则将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为可用状态。
在本申请实施例一种可能的实现方式中,所述方法还包括:
按照预设的时间周期,从管理数据库中获取每个交易数据库的仲裁检测状态;
判断从所述管理数据库中获取的所述每个交易数据库的仲裁检测状态,是否与所述本地状态信息表中记录的同一交易数据库的仲裁检测状态一致;
若不一致,则将所述本地状态信息表中记录的交易数据库的仲裁检测状态,更新为从所述管理数据库中获取的仲裁检测状态。
本申请实施例的交易数据库的异常检测方法,通过获取交易数据库的标识,根据该标识,从本地状态信息表中获取交易数据库的应用自身检测状态和仲裁检测状态,在获知该交易数据库的应用自身检测状态和仲裁检测状态中至少一个为不可用状态时,确定该交易数据库异常,在获知交易数据库的应用自身检测状态和仲裁检测状态均为可用状态时,将交易信息发送给该交易数据库。由于应用自身检测状态由应用服务器和交易数据库能否进行交互确定,应用服务器能够快速感知到交易数据库的异常,从而通过获取交易数据库的应用自身检测状态和仲裁检测状态,当两者中至少一个为不可用状态时,确定交易数据库异常,提高了交易数据库的异常检测速率,实现了快速、准确地定位发生故障的交易数据库,确保了交易的正常进行,缩小了因交易数据库故障导致交易受影响的范围。
为达上述目的,本申请第二方面实施例提出了一种交易数据库的异常检测装置,包括:
第一获取模块,用于获取交易数据库的标识;
第二获取模块,用于根据所述标识,从本地状态信息表中获取所述交易数据库的应用自身检测状态和仲裁检测状态;
异常确定模块,用于在获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态中,至少一个为不可用状态时,确定所述交易数据库异常;
交易模块,用于在获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态均为可用状态时,将交易信息发送给所述交易数据库。
在本申请实施例一种可能的实现方式中,所述装置还包括:
状态确定模块,用于若在预设时间内未获取到所述交易数据库返回的响应信息,则确定所述交易数据库的应用自身检测状态为不可用状态;
第一更新模块,用于将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为不可用状态。
在本申请实施例一种可能的实现方式中,所述装置还包括:
检测模块,用于在获知所述交易数据库的应用自身检测状态为不可用状态,且所述交易数据库的仲裁检测状态为可用状态时,按照预设的时间间隔向所述交易数据库发送检测信息;
第二更新模块,用于在获取到所述检测信息的反馈消息时,将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为可用状态。
本申请实施例的交易数据库的异常检测装置,通过获取交易数据库的标识,根据该标识,从本地状态信息表中获取交易数据库的应用自身检测状态和仲裁检测状态,在获知该交易数据库的应用自身检测状态和仲裁检测状态中至少一个为不可用状态时,确定该交易数据库异常,在获知交易数据库的应用自身检测状态和仲裁检测状态均为可用状态时,将交易信息发送给该交易数据库。由于应用自身检测状态由应用服务器和交易数据库能否进行交互确定,应用服务器能够快速感知到交易数据库的异常,从而通过获取交易数据库的应用自身检测状态和仲裁检测状态,当两者中至少一个为不可用状态时,确定交易数据库异常,提高了交易数据库的异常检测速率,实现了快速、准确地定位发生故障的交易数据库,确保了交易的正常进行,缩小了因交易数据库故障导致交易受影响的范围。
为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时,实现如第一方面实施例所述的交易数据库的异常检测方法。
为达上述目的,本申请第四方面实施例提出一种临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的交易数据库的异常检测方法。
为达上述目的,本申请第五方面实施例提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如第一方面实施例所述的交易数据库的异常检测方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一实施例提出的交易数据库的异常检测方法的流程示意图;
图2为本申请另一实施例提出的交易数据库的异常检测方法的流程示意图;
图3为本申请又一实施例提出的交易数据库的异常检测方法的流程示意图;
图4为本申请再一实施例提出的交易数据库的异常检测方法的流程示意图;
图5为本申请一实施例提出的交易数据库的异常检测装置的结构示意图;
图6为本申请另一实施例提出的交易数据库的异常检测装置的结构示意图;
图7为本申请又一实施例提出的交易数据库的异常检测装置的结构示意图;
图8为本申请再一实施例提出的交易数据库的异常检测装置的结构示意图;
图9为本申请一实施例提出的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的交易数据库的异常检测方法、装置及存储介质。
目前,清算平台通过仲裁服务器来检测交易数据库是否异常,仲裁服务器定时向交易数据库发送更新操作,以进行心跳保活。当仲裁服务器与交易数据库交互时连续发生异常的次数达到预设阈值时,仲裁服务器将交易数据库不可用的状态记录在指定的管理数据库中,应用服务定时从管理数据库中获取交易数据库的状态信息。
现有技术中,仲裁服务器检测到交易数据库异常需要连续检测数次,当交易数据库与仲裁服务器交互失败的次数达到预设阈值时,才认为交易数据库异常,耗时较长。另外,应用服务器定时从管理数据库获取交易数据库的状态信息,从仲裁服务器确认交易数据库异常到应用服务获取到交易数据库不可用,这需要较长的时间;并且当管理数据库故障时,应用服务器无法获取到交易数据库的最新状态信息,从而可能导致交易无法正常进行。
针对上述问题,本申请提出了一种交易数据库的异常检测方法,通过获取交易数据库的应用自身检测状态和仲裁检测状态,当两者中至少一个为不可用状态时,确定交易数据库异常,以提高交易数据库的异常检测速率,实现快速、准确地定位发生故障的交易数据库。
图1为本申请一实施例提出的交易数据库的异常检测方法的流程示意图,该方法可以应用于应用服务器中,其中,应用服务器与交易数据库之间执行持续的交互,用于将待执行的交易信息发送给交易数据库,通过与交易数据库交互,完成对交易信息的处理。
如图1所示,该交易数据库的异常检测方法包括以下步骤:
步骤101,获取交易数据库的标识。
清算平台上每天都进行着大量的交易,为保证交易的处理速度,降低每笔交易的等待时长,清算平台通过数据库集群来处理交易信息,其中,数据库集群中包括多个交易数据库,应用服务器每次下发待处理的交易信息时,从多个交易数据库中选择一个交易数据库进行交互,将待处理的交易信息发送给该交易数据库。
应用服务器中可以预先存储每个交易数据库的标识,比如,可以将每个交易数据库的标识记录在交易数据库列表中,并将交易数据库列表存储在应用服务器的存储器中。其中,标识可以是交易数据库的编号或者交易数据库的序列号,标识能够唯一表示对应的交易数据库。
本实施例中,应用服务器下发待处理的交易信息之前,先从数据库集群中选择一个与之进行交互的交易数据库。比如,应用服务器可以从交易数据库列表中,随机获取一个交易数据库的标识,将该标识对应的交易数据库作为与之进行交互的候选交易数据库。
步骤102,根据标识,从本地状态信息表中获取交易数据库的应用自身检测状态和仲裁检测状态。
本实施例中,数据库集群中的每个交易数据库包括两个状态:仲裁检测状态和应用自身检测状态。其中,仲裁检测状态由仲裁服务器与交易数据库的交互结果确定,当仲裁服务器与交易数据库连续交互失败的次数达到预设的失败次数时,仲裁服务器确定交易数据库的仲裁检测状态确定为不可用状态;当仲裁服务器与交易数据库成功交互时,仲裁服务器确定交易数据库的仲裁检测状态确定为可用状态。仲裁服务器将交易数据库的标识以及该交易数据库的仲裁检测状态记录在管理数据库中,应用服务器可以从管理数据库中获取交易数据库的仲裁检测状态。应用自身检测状态由应用服务器与交易数据库的交互结果确定,当应用服务器与交易数据库之间交互失败时,应用服务器确定交易数据库的应用自身检测状态为不可用状态,否则,应用服务器确定交易数据库的应用自身检测状态为可用状态。
应用服务器的本地存储器中存储有本地状态信息表,用于记录数据库集群中每个交易数据库的应用自身检测状态和仲裁检测状态。根据交易数据库的应用自身检测状态和仲裁检测状态,应用服务器可以确定对应的交易数据库是否可用。
作为一种示例,本地状态信息表如表1所示。
表1
交易数据库的标识 仲裁检测状态 应用自身检测状态
标识1 可用 可用
标识2 可用 不可用
标识3 不可用 可用
如表1所示,在本地状态信息表中,利用不同的标识来表示不同的交易数据库,其中,每个标识对应唯一的一个交易数据库,根据与标识对应的仲裁检测状态和应用自身检测状态,可以确定该标识对应的交易数据库是否异常。
本实施例中,应用服务器获取了交易数据库的标识之后,根据获取的交易数据库的标识,应用服务器可以从本地状态信息表中,获取该标识对应的交易数据库的应用自身检测状态和仲裁检测状态,以根据当前记录的与标识对应的交易数据库的应用自身检测状态和仲裁检测状态,判断该标识对应的交易数据库是否可用。
步骤103,若获知交易数据库的应用自身检测状态和仲裁检测状态中,至少一个为不可用状态,则确定交易数据库异常。
例如,获取的交易数据库的标识为标识2,则通过查询表1,应用服务器获知标识2对应的交易数据库的仲裁检测状态为可用状态,应用自身检测状态为不可用状态,则应用服务器确定标识2对应的交易数据库异常。
步骤104,若获知交易数据库的应用自身检测状态和仲裁检测状态均为可用状态,则将交易信息发送给交易数据库。
例如,假设获取的交易数据库的标识为标识1,则通过查询表1,应用服务器获知标识1对应的交易数据库的仲裁检测状态和应用自身检测状态均为可用状态,则应用服务器确定标识1对应的交易数据库可用,并将交易信息发送给标识1对应的交易数据库。
本实施例的交易数据库的异常检测方法,通过获取交易数据库的标识,根据该标识,从本地状态信息表中获取交易数据库的应用自身检测状态和仲裁检测状态,在获知该交易数据库的应用自身检测状态和仲裁检测状态中至少一个为不可用状态时,确定该交易数据库异常,在获知交易数据库的应用自身检测状态和仲裁检测状态均为可用状态时,将交易信息发送给该交易数据库。由于应用自身检测状态由应用服务器和交易数据库能否进行交互确定,应用服务器能够快速感知到交易数据库的异常,从而通过获取交易数据库的应用自身检测状态和仲裁检测状态,当两者中至少一个为不可用状态时,确定交易数据库异常,提高了交易数据库的异常检测速率,实现了快速、准确地定位发生故障的交易数据库,确保了交易的正常进行,缩小了因交易数据库故障导致交易受影响的范围。
由于交易数据库的应用自身检测状态根据应用服务器与交易数据库的交互结果确定,两者能交互时确定应用自身检测状态为可用状态,否则认为应用自身检测状态为不可用状态。若应用服务器未与某个交易数据库进行交互,则本地状态信息表中记录的该交易数据库的应用自身检测状态是根据最近一次的交互结果确定的,这将导致本地状态信息表中记录的交易数据库的应用自身检测状态与其当前的状态不一致。比如,交易数据库的状态信息表中记录的某个交易数据库的应用自身检测状态为可用状态,而实际上该交易数据库发生故障,即当前的应用自身检测状态为不可用状态,但应用服务器无法获知当前的情况,仍会向该交易数据库发送交易信息,此时,可以根据当前的交互结果,对本地状态信息表中该交易数据库的应用自身检测状态进行更新,以避免在该交易数据库的应用自身检测状态恢复为可用状态之前,应用服务器再次向该交易数据库下发交易信息,从而导致交易处理失败,耽误交易信息的处理时间。从而,在本申请实施例一种可能的实现方式中,如图 2所示,步骤104之后,还包括以下步骤:
步骤201,若在预设时间内未获取到交易数据库返回的响应信息,则确定交易数据库的应用自身检测状态为不可用状态。
其中,预设时间可以预先设定,比如设置预设时间为5秒、10秒等。
应用服务器将交易信息发送给交易数据库之后,等待交易数据库返回匹配的响应信息。如果在发送交易信息预设时间后,应用服务器未获取到交易数据库返回的响应信息,则应用服务器确定交易数据库的应用自身检测状态为不可用状态。
由于网络状态的不稳定性,数据传输存在一定的延时,当网络状况不佳时,应用服务器与交易数据库之间完成一次交互可能需要较长的时间,根据一次应用服务器在预设时间内未获取到交易数据库返回的响应信息的交互结果,便认为交易数据库的应用自身检测状态为不可用状态,这可能不够准确。为了进一步提高确定应用自身检测状态的准确性,进而提高交易数据库异常检测的准确性,在本申请实施例一种可能的实现方式中,可以根据应用服务器与交易数据库进行多次交互的结果来判断交易数据库的应用自身检测状态。当应用服务器在预设时间内未获取到交易数据库返回的响应信息时,应用服务器可以再次向该交易数据库发送交易信息,并获取对应的响应信息。若应用服务器连续未获取到响应信息的次数达到预设的阈值,则确定交易数据库的应用自身检测状态为不可用状态。其中,阈值比如可以设置为5次、7次等。
在本申请实施例一种可能的实现方式中,应用服务器确定交易数据库的应用自身检测状态为不可用状态之后,判定该交易数据库异常,应用服务器将待处理的交易信息下发给其他交易数据库进行处理,以保证该交易信息被成功处理。
步骤202,将本地状态信息表中,交易数据库的应用自身检测状态更新为不可用状态。
本实施例中,确定交易数据库的应用自身检测状态为不可用状态之后,应用服务器将本地状态信息表中,该交易数据库的应用自身检测状态更新为不可用状态。
作为一种示例,应用服务器可以根据该交易数据库的标识,从本地状态信息表中查找到该标识,随后将该标识对应的应用自身检测状态更新为不可用状态。比如,以表1为例,假设交易数据库的标识为标识1,应用服务器通过与该交易数据库进行交互,确定该交易数据库的应用自身检测状态为不可用状态,则应用服务器从表1中查找到标识1,将表1中标识1对应的应用自身检测状态从可用状态更新为不可用状态。
本实施例的交易数据库的异常检测方法,通过在预设时间内未获取到交易数据库返回的响应信息时,确定交易数据库的应用自身检测状态为不可用状态,并将本地状态信息表中交易数据库的应用自身检测状态更新为不可用状态。由此,通过当在预设时间内未获取到交易信息对应的响应信息时,确定交易数据库异常,提高了交易数据库的异常检测速率,实现了快速、准确地定位发生故障的交易数据库。
对于交易数据库的仲裁检测状态为可用状态,而应用自身检测状态为不可用状态的情况,可能是由于网络不佳使得应用服务器与交易数据库交互失败导致的应用自身检测状态判断错误,针对这种情况,本申请提供了对应的恢复机制。下面结合附图3进行详细说明。
图3为本申请又一实施例提出的交易数据库的异常检测方法的流程示意图。如图3所示,在如图1所示实施例的基础上,步骤103之后,还可以包括以下步骤:
步骤301,若获知交易数据库的应用自身检测状态为不可用状态,且交易数据库的仲裁检测状态为可用状态,则按照预设的时间间隔向交易数据库发送检测信息。
其中,预设的时间间隔可以预先设定,比如设置时间间隔为5秒。
本实施例中,应用服务器根据交易数据库的标识,获取该交易数据库的应用自身检测状态和仲裁检测状态,当获取该交易数据库的应用自身检测状态为不可用状态而仲裁检测状态为可用状态时,触发预先设置的恢复机制,应用服务器按照预设的时间间隔向该交易数据库发送检测信息,以检测交易数据库的应用自身检测状态是否恢复为可用状态。
其中,检测信息可以是应用服务器自定义的指令。
步骤302,若获取到检测信息的反馈消息,则将本地状态信息表中,交易数据库的应用自身检测状态更新为可用状态。
本实施例中,当恢复机制被触发时,应用服务器按照预设的时间间隔向交易数据库发送检测信息,比如,应用服务器可以每隔5秒发送一次检测信息。应用服务器发送检测信息后,等待交易数据库返回的与检测信息对应的反馈消息。
其中,反馈消息与检测信息对应设置,比如,检测信息可以设置为获取交易数据库的标识,反馈消息设置为交易数据库的标识。当应用服务器向交易数据库发送检测信息时,交易数据库接收到检测信息后,将自身的标识反馈给应用服务器。
当应用服务器获取到与检测信息匹配的反馈消息时,应用服务器将本地状态信息表中交易数据库的应用自身检测状态更新为可用状态。
作为一种示例,应用服务器获取到反馈消息后,可以将获取的反馈消息与本地存储的与检测信息匹配的反馈消息进行比较,若两者一致,则应用服务器将交易数据库的应用自身检测状态,由不可用状态更新为可用状态,并停止发送检测信息;若两者不一致,或者应用服务器在预设时间内未获取到反馈消息,则应用服务器再次发送检测信息,直至发送检测信息的次数达到预设的检测次数。
本实施例的交易数据库的异常检测方法,通过在获知交易数据库的应用自身检测状态为不可用状态,且交易数据库的仲裁检测状态为可用状态时,按照预设的时间间隔向交易数据库发送检测信息,并在获取到检测信息的反馈消息时,将本地状态信息表中交易数据库的应用自身检测状态更新为可用状态,实现了在交易数据库的仲裁检测状态为可用状态时,对状态为不可用的应用自身检测状态进行自动恢复,避免了因应用自身检测状态出错导致交易数据库不可用的情况发生,提高了异常检测的准确性。
在本申请实施例一种可能的实现方式中,如图4所示,在前述实施例的基础上,本申请实施例的交易数据库的异常方法,还可以包括以下步骤:
步骤401,按照预设的时间周期,从管理数据库中获取每个交易数据库的仲裁检测状态。
仲裁服务器定时向交易数据库发送更新操作,以根据与交易数据库的交互结果来判断交易数据库是否异常,获取交易数据库的仲裁检测状态,并将获取的仲裁检测状态记录在管理数据库中。其中,管理数据库中记录有数据库集群中每个交易数据库的仲裁检测状态。
作为一种示例,管理服务器中记录有每个服务器的标识以及与每个标识对应的交易数据库最新的仲裁检测状态,以使应用服务器从管理数据库中获取到每个交易数据库最新的仲裁检测状态。
本实施例中,应用服务器可以按照预设的时间周期(比如1天),定时从管理数据库获取每个交易数据库的标识以及与标识对应的仲裁检测状态。
步骤402,判断从管理数据库中获取的每个交易数据库的仲裁检测状态,是否与本地状态信息表中记录的同一交易数据库的仲裁检测状态一致。
步骤403,若不一致,则将本地状态信息表中记录的交易数据库的仲裁检测状态,更新为从管理数据库中获取的仲裁检测状态。
本实施例中,应用服务器从管理数据库获取了每个交易数据库的标识及对应的仲裁检测状态之后,针对每一个交易数据库,根据交易数据库的标识,从本地状态信息表中获取与该标识对应的仲裁检测状态,并将从本地状态信息表中获取的仲裁检测状态与从管理数据库中获取的该交易数据库的仲裁检测状态进行比较,判断两者是否一致,若两者一致,则保持本地状态信息表中该交易数据库的仲裁检测状态不变,若两者不一致,则将本地状态信息表中记录的该交易数据库的仲裁检测状态,更新为从管理数据库中获取的该交易数据库的仲裁检测状态。
举例而言,假设应用服务器的本地状态信息表中,当前记录的标识A和标识B对应的交易数据库的仲裁检测状态均为可用状态,而应用服务器从管理数据库中获取的标识A对应的交易数据库的仲裁检测状态为可用状态,从管理数据库中获取的标识B对应的交易数据库的仲裁检测状态为不可用状态。应用服务器从管理数据库获取了标识A和标识B分别对应的交易数据库的仲裁检测状态之后,将从管理数据库中获取的交易数据库的仲裁检测状态与本地状态信息表中记录的同一交易数据库的仲裁检测状态进行比较。对于标识A对应的交易数据库,经比较获知从管理数据库中获取的标识A对应的交易数据库的仲裁检测状态与本地状态信息表中记录的标识A对应的交易数据库的仲裁检测状态一致,则保持本地状态信息表中标识A对应的交易数据库的仲裁检测状态不变。对于标识B对应的交易数据库,经比较获知从管理数据库中获取的标识B对应的交易数据库的仲裁检测状态与本地状态信息表中记录的标识B对应的交易数据库的仲裁检测状态不一致,则应用服务器将本地状态信息表中标识B对应的交易数据库的仲裁检测状态,由可用状态更新为不可用状态。
本实施例的交易数据库的异常检测方法,通过按照预设的时间周期从管理数据库中获取每个交易数据库的仲裁检测状态,并判断从管理数据库中获取的每个交易数据库的仲裁检测状态是否与本地状态信息表中记录的同一交易数据库的仲裁检测状态一致,在不一致时,将本地状态信息表中记录的交易数据库的仲裁检测状态,更新为从管理数据库中获取的仲裁检测状态,实现了交易数据库的仲裁检测状态的定期更新,有利于及时获取交易数据库的状态变化,提高交易数据库异常检测的准确性。
为了实现上述实施例,本申请还提出一种交易数据库的异常检测装置。
图5为本申请一实施例提出的交易数据库的异常检测装置的结构示意图。
如图5所示,该交易数据库的异常检测装置30包括:第一获取模块310、第二获取模块320、异常确定模块330,以及交易模块340。其中,
第一获取模块310,用于获取交易数据库的标识。
第二获取模块320,用于根据标识,从本地状态信息表中获取交易数据库的应用自身检测状态和仲裁检测状态。
异常确定模块330,用于在获知交易数据库的应用自身检测状态和仲裁检测状态中,至少一个为不可用状态时,确定交易数据库异常。
交易模块340,用于在获知交易数据库的应用自身检测状态和仲裁检测状态均为可用状态时,将交易信息发送给交易数据库。
在本申请实施例一种可能的实现方式中,如图6所示,在如图5所示实施例的基础上,该交易数据库的异常检测装置30还包括:
状态确定模块350,用于若在预设时间内未获取到交易数据库返回的响应信息,则确定交易数据库的应用自身检测状态为不可用状态。
在本申请实施例一种可能的实现方式中,状态确定模块350还用于在确定交易数据库的应用自身检测状态为不可用状态之前,确定连续未获取到响应信息的次数达到预设的阈值。
第一更新模块360,用于将本地状态信息表中,交易数据库的应用自身检测状态更新为不可用状态。
通过当在预设时间内未获取到交易信息对应的响应信息时,确定交易数据库异常,提高了交易数据库的异常检测速率,实现了快速、准确地定位发生故障的交易数据库。
在本申请实施例一种可能的实现方式中,如图7所示,在如图5所示实施例的基础上,该交易数据库的异常检测装置30还包括:
检测模块370,用于在获知交易数据库的应用自身检测状态为不可用状态,且交易数据库的仲裁检测状态为可用状态时,按照预设的时间间隔向交易数据库发送检测信息。
第二更新模块380,用于在获取到检测信息的反馈消息时,将本地状态信息表中,交易数据库的应用自身检测状态更新为可用状态。
通过在获知交易数据库的应用自身检测状态为不可用状态,且交易数据库的仲裁检测状态为可用状态时,按照预设的时间间隔向交易数据库发送检测信息,并在获取到检测信息的反馈消息时,将本地状态信息表中交易数据库的应用自身检测状态更新为可用状态,实现了在交易数据库的仲裁检测状态为可用状态时,对状态为不可用的应用自身检测状态进行自动恢复,避免了因应用自身检测状态出错导致交易数据库不可用的情况发生,提高了异常检测的准确性。
在本申请实施例一种可能的实现方式中,如图8所示,在如图5所示实施例的基础上,该交易数据库的异常检测装置30还包括:
第三获取模块390,用于按照预设的时间周期,从管理数据库中获取每个交易数据库的仲裁检测状态。
判断模块3100,用于判断从管理数据库中获取的每个交易数据库的仲裁检测状态,是否与本地状态信息表中记录的同一交易数据库的仲裁检测状态一致。
第三更新模块3110,用于在从管理数据库中获取的某个交易数据库的仲裁检测状态与本地状态信息表中记录的同一交易数据库的仲裁检测状态不一致时,将本地状态信息表中记录的该交易数据库的仲裁检测状态,更新为从管理数据库中获取的仲裁检测状态。
通过按照预设的时间周期从管理数据库中获取每个交易数据库的仲裁检测状态,并判断从管理数据库中获取的每个交易数据库的仲裁检测状态是否与本地状态信息表中记录的同一交易数据库的仲裁检测状态一致,在不一致时,将本地状态信息表中记录的交易数据库的仲裁检测状态,更新为从管理数据库中获取的仲裁检测状态,实现了交易数据库的仲裁检测状态的定期更新,有利于及时获取交易数据库的状态变化,提高交易数据库异常检测的准确性。
需要说明的是,前述对交易数据库的异常检测方法实施例的解释说明也适用于本实施例的交易数据库的异常检测装置,其实现原理类似,此处不再赘述。
本申请实施例的交易数据库的异常检测装置,通过获取交易数据库的标识,根据该标识,从本地状态信息表中获取交易数据库的应用自身检测状态和仲裁检测状态,在获知该交易数据库的应用自身检测状态和仲裁检测状态中至少一个为不可用状态时,确定该交易数据库异常,在获知交易数据库的应用自身检测状态和仲裁检测状态均为可用状态时,将交易信息发送给该交易数据库。由于应用自身检测状态由应用服务器和交易数据库能否进行交互确定,应用服务器能够快速感知到交易数据库的异常,从而通过获取交易数据库的应用自身检测状态和仲裁检测状态,当两者中至少一个为不可用状态时,确定交易数据库异常,提高了交易数据库的异常检测速率,实现了快速、准确地定位发生故障的交易数据库,确保了交易的正常进行,缩小了因交易数据库故障导致交易受影响的范围。
为了实现上述实施例,本申请还提出一种计算机设备。
图9为本申请一实施例提出的计算机设备的结构示意图。如图9所示,该计算机设备50包括:存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序503,其中,处理器502执行计算机程序503时,实现如前述实施例所述的交易数据库的异常检测方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施例所述的交易数据库的异常检测方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如前述实施例所述的交易数据库的异常检测方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种交易数据库的异常检测方法,其特征在于,包括以下步骤:
获取交易数据库的标识;
根据所述标识,从本地状态信息表中获取所述交易数据库的应用自身检测状态和仲裁检测状态,其中,所述本地状态信息表存储在应用服务器中,用于记录交易数据库的标识、仲裁检测状态和应用自身检测状态的对应关系,所述应用自身检测状态由应用服务器与所述交易数据库的交互结果确定,所述仲裁检测状态从仲裁服务器的管理数据库中获取,所述管理数据库用于记录交易数据库的标识和仲裁检测状态,所述仲裁检测状态由仲裁服务器与所述交易数据库的交互结果确定;
若获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态中,至少一个为不可用状态,则确定所述交易数据库异常;
若获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态均为可用状态,则将交易信息发送给所述交易数据库。
2.根据权利要求1所述的方法,其特征在于,在所述将交易信息发送给所述交易数据库之后,还包括:
若在预设时间内未获取到所述交易数据库返回的响应信息,则确定所述交易数据库的应用自身检测状态为不可用状态;
将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为不可用状态。
3.根据权利要求2所述的方法,其特征在于,在所述确定所述交易数据库的应用自身检测状态为不可用状态之前,还包括:
确定连续未获取到所述响应信息的次数达到预设的阈值。
4.根据权利要求1所述的方法,其特征在于,在所述获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态中,至少一个为不可用状态之后,还包括:
若获知所述交易数据库的应用自身检测状态为不可用状态,且所述交易数据库的仲裁检测状态为可用状态,则按照预设的时间间隔向所述交易数据库发送检测信息;
若获取到所述检测信息的反馈消息,则将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为可用状态。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
按照预设的时间周期,从管理数据库中获取每个交易数据库的仲裁检测状态;
判断从所述管理数据库中获取的所述每个交易数据库的仲裁检测状态,是否与所述本地状态信息表中记录的同一交易数据库的仲裁检测状态一致;
若不一致,则将所述本地状态信息表中记录的交易数据库的仲裁检测状态,更新为从所述管理数据库中获取的仲裁检测状态。
6.一种交易数据库的异常检测装置,其特征在于,包括:
第一获取模块,用于获取交易数据库的标识;
第二获取模块,用于根据所述标识,从本地状态信息表中获取所述交易数据库的应用自身检测状态和仲裁检测状态,其中,所述本地状态信息表存储在应用服务器中,用于记录交易数据库的标识、仲裁检测状态和应用自身检测状态的对应关系,所述应用自身检测状态由应用服务器与所述交易数据库的交互结果确定,所述仲裁检测状态从仲裁服务器的管理数据库中获取,所述管理数据库用于记录交易数据库的标识和仲裁检测状态,所述仲裁检测状态由仲裁服务器与所述交易数据库的交互结果确定;
异常确定模块,用于在获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态中,至少一个为不可用状态时,确定所述交易数据库异常;
交易模块,用于在获知所述交易数据库的所述应用自身检测状态和所述仲裁检测状态均为可用状态时,将交易信息发送给所述交易数据库。
7.根据权利要求6所述的装置,其特征在于,还包括:
状态确定模块,用于若在预设时间内未获取到所述交易数据库返回的响应信息,则确定所述交易数据库的应用自身检测状态为不可用状态;
第一更新模块,用于将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为不可用状态。
8.根据权利要求6所述的装置,其特征在于,还包括:
检测模块,用于在获知所述交易数据库的应用自身检测状态为不可用状态,且所述交易数据库的仲裁检测状态为可用状态时,按照预设的时间间隔向所述交易数据库发送检测信息;
第二更新模块,用于在获取到所述检测信息的反馈消息时,将所述本地状态信息表中,所述交易数据库的应用自身检测状态更新为可用状态。
9.一种计算机设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时,实现如权利要求1-5中任一项所述的交易数据库的异常检测方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的交易数据库的异常检测方法。
CN201811540962.0A 2018-12-17 2018-12-17 交易数据库的异常检测方法、装置及存储介质 Active CN109739674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811540962.0A CN109739674B (zh) 2018-12-17 2018-12-17 交易数据库的异常检测方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811540962.0A CN109739674B (zh) 2018-12-17 2018-12-17 交易数据库的异常检测方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109739674A CN109739674A (zh) 2019-05-10
CN109739674B true CN109739674B (zh) 2021-06-25

Family

ID=66360306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811540962.0A Active CN109739674B (zh) 2018-12-17 2018-12-17 交易数据库的异常检测方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN109739674B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298666B (zh) * 2019-06-21 2022-08-30 网联清算有限公司 交易处理过程中的异常处理方法及装置
CN110888776A (zh) * 2019-11-13 2020-03-17 网联清算有限公司 数据库健康状态检测方法、装置及设备
CN114691640A (zh) * 2020-12-28 2022-07-01 网联清算有限公司 一种数据库探活方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408059A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种故障处理的方法及装置
CN104539713A (zh) * 2014-12-31 2015-04-22 北京奇虎科技有限公司 业务请求处理方法和装置
CN106126652A (zh) * 2016-06-24 2016-11-16 武汉斗鱼网络科技有限公司 用于分布式数据库集群的故障数据库切换方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794138B (zh) * 2014-01-22 2018-08-24 深圳市沃信科技有限公司 一种数据库交易结果确认方法、装置及系统
US10425274B2 (en) * 2017-05-11 2019-09-24 Salesforce.Com, Inc. Techniques and architectures for recovering from a service disruption in a multi-server environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408059A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种故障处理的方法及装置
CN104539713A (zh) * 2014-12-31 2015-04-22 北京奇虎科技有限公司 业务请求处理方法和装置
CN106126652A (zh) * 2016-06-24 2016-11-16 武汉斗鱼网络科技有限公司 用于分布式数据库集群的故障数据库切换方法及系统

Also Published As

Publication number Publication date
CN109739674A (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN109739674B (zh) 交易数据库的异常检测方法、装置及存储介质
US10491671B2 (en) Method and apparatus for switching between servers in server cluster
CN108833184B (zh) 服务故障定位方法、装置、计算机设备及存储介质
CN110798375B (zh) 一种增强容器集群高可用性的监控方法、系统及终端设备
US20180067795A1 (en) Systems and methods for automatic replacement and repair of communications network devices
WO2019062807A1 (zh) 一种内容分发网络故障定位方法和装置及其计算机可读存储介质和计算机设备
US20140379302A1 (en) Apparatus and method for controlling water quality sensor faults
US8448025B2 (en) Fault analysis apparatus, fault analysis method, and recording medium
US9606880B2 (en) Information processing apparatus, information processing system, and control method therefor
US9355005B2 (en) Detection apparatus and detection method
JP7508703B2 (ja) 車両におけるecuの管理方法、ecuおよび可読記憶媒体
CN110865835A (zh) 配置文件更新方法、装置、计算机设备和存储介质
CN106911494A (zh) 一种故障解决方法及装置
US11613215B2 (en) Apparatus and method for detecting a battery discharging cause for a vehicle
CN111090658B (zh) 异常事务处理方法、系统及其设备
US20050234919A1 (en) Cluster system and an error recovery method thereof
CN109189854B (zh) 提供持续业务的方法及节点设备
CN110888776A (zh) 数据库健康状态检测方法、装置及设备
CN113678107B (zh) 检测和定位采集系统中故障的方法和计算装置
CN1893339B (zh) 连续中值故障控制系统和方法
US20210328861A1 (en) Diagnostic apparatus
CN109741153B (zh) 超时交易处理方法、装置、计算机设备及存储介质
CN110716826A (zh) 一种云盘升级、调度方法及云主机、调度装置和系统
KR102319386B1 (ko) 고장 강도 산출 장치 및 방법
CN114265741A (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