CN111930719B - 一种数据库访问方法、装置及系统 - Google Patents

一种数据库访问方法、装置及系统 Download PDF

Info

Publication number
CN111930719B
CN111930719B CN202010812643.1A CN202010812643A CN111930719B CN 111930719 B CN111930719 B CN 111930719B CN 202010812643 A CN202010812643 A CN 202010812643A CN 111930719 B CN111930719 B CN 111930719B
Authority
CN
China
Prior art keywords
database
access
service processing
request
specified
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
CN202010812643.1A
Other languages
English (en)
Other versions
CN111930719A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010812643.1A priority Critical patent/CN111930719B/zh
Publication of CN111930719A publication Critical patent/CN111930719A/zh
Application granted granted Critical
Publication of CN111930719B publication Critical patent/CN111930719B/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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书涉及大数据技术领域,具体公开了一种数据库访问方法、装置及系统,所述方法包括接收终端设备发送的业务处理请求;其中,所述业务处理请求包括类型标识;所述类型标识用于表示所述业务处理请求所对应的请求类型;在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,在第一指定时间长度内限制对所述数据库的访问;其中,所述同一请求类型的类型标识作为目标类型标识;间隔所述第一指定时间长度后,允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库;在确定所述指定业务处理请求执行成功时,解除对所述数据库的访问的限制。利用本说明书各个实施例,可以提高数据库的处理性能。

Description

一种数据库访问方法、装置及系统
技术领域
本说明书涉及大数据技术领域,特别地,涉及一种数据库访问方法、装置及系统。
背景技术
目前对数据库的操作请求,如果出现超时情况,通常是在多次尝试且均超时的基础上直接中断相应的操作请求,保持其他的数据库操作请求的正常处理。但采用该种方式无法有效检测以及恢复数据库的状态,易导致数据库出现较大的故障。同时,在业务处理高峰期,大量访问尝试,也会给数据库带来较大的压力,从而严重影响数据库的使用性能。因此,目前亟需一种可以进一步提高数据库使用性能的方法。
发明内容
本说明书实施例的目的在于提供一种数据库访问方法、装置及系统,可以进一步提高数据库的处理性能。
本说明书提供一种数据库访问方法、装置及系统是包括如下方式实现的:
一种数据库访问方法,应用于数据库服务器,所述方法包括:接收终端设备发送的业务处理请求;其中,所述业务处理请求包括类型标识;所述类型标识用于表示所述业务处理请求所对应的请求类型;在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,在第一指定时间长度内限制对所述数据库的访问;其中,所述同一请求类型的类型标识作为目标类型标识;间隔所述第一指定时间长度后,允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库;在确定所述指定业务处理请求执行成功时,解除对所述数据库的访问的限制。
本说明书提供的所述方法的另一些实施例中,所述同一请求类型的业务处理请求在所述第一指定时间长度内的请求次数大于第一指定次数阈值;所述第一指定次数阈值大于等于1。
本说明书提供的所述方法的另一些实施例中,在所述数据库响应同一请求类型的业务处理请求的连续失败次数达到第二指定次数阈值时,在第一指定时间长度内限制对所述数据库的访问。
本说明书提供的所述方法的另一些实施例中,在确定所述指定业务处理请求执行失败时,在第一指定时间长度内限制对所述数据库的访问;并在间隔第一指定时间长度后,重复允许访问步骤以及执行结果确定步骤;直至执行结果成功,则解除对所述数据库的访问的限制。
本说明书提供的所述方法的另一些实施例中,在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,向监控平台发送第一报警信息;所述第一报警信息包括第一错误码以及所述同一请求类型的业务处理请求的异常信息;所述第一错误码表征数据库进入限制访问状态。
本说明书提供的所述方法的另一些实施例中,在重复次数达到第三指定次数阈值时,向监控平台发送第二报警信息;所述第二报警信息包括第二错误码以及所述指定业务处理请求的异常信息;所述第二错误码表征数据库存在异常。
本说明书提供的所述方法的另一些实施例中,若未能在第二指定时间长度内接收到所述数据库对所述业务处理请求响应成功的反馈结果时,则确定所述数据库响应所述业务处理请求失败。
本说明书提供的所述方法的另一些实施例中,所述同一请求类型所对应的业务处理请求的请求频率大于指定频率阈值。
本说明书提供的所述方法的另一些实施例中,所述同一请求类型所对应的业务处理请求的请求频率大于指定频率阈值,且对应的数据库响应时间小于指定时间阈值的请求类型。
本说明书提供的所述方法的另一些实施例中,各请求类型所对应的第一指定时间长度以及第二指定次数阈值与相应的请求类型所对应的类型标识进行关联存储。
另一方面,本说明书实施例还提供一种数据库访问装置,应用于数据库服务器,所述装置包括:接收模块,用于接收终端设备发送的业务处理请求;其中,所述业务处理请求包括类型标识;所述类型标识用于表示所述业务处理请求所对应的请求类型;访问限制模块,用于在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,在第一指定时间长度内限制对所述数据库的访问;其中,所述同一请求类型的类型标识作为目标类型标识;数据库访问模块,用于间隔所述第一指定时间长度后,允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库;解除限制模块,用于在确定所述指定业务处理请求执行成功时,解除对所述数据库的访问的限制。
另一方面,本说明书实施例还提供一种数据库访问系统,应用于数据库服务器,所述系统包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括上述任意一个或者多个实施例所述方法的步骤。
本说明书一个或多个实施例提供的数据库访问方法、装置及系统,通过以同一请求类型的业务处理请求作为触发,在确定数据库对某一类型的业务处理请求的响应失败情况满足预设条件时,可以限制对数据库的访问操作,以便于数据库自恢复或者人工介入对数据库进行恢复。在间隔一段时间后,再以相应类型的业务处理请求作为触发,判断数据库是否恢复正常,如果是,则可以解除对数据库访问操作的限制。通过该种方式,可以在数据库出现短暂性问题或者小故障时,及时使数据库恢复正常状态,提高数据库的整体性能。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书提供的一种数据库访问方法实施例的流程示意图;
图2为本说明书提供的一种数据库访问装置的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是说明书一部分实施例,而不是全部的实施例。基于说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例方案保护的范围。
本说明书的一个应用场景示例中,所述数据库访问方法可以应用于数据库服务器。所述数据库服务器可以是指一个服务器,也可以是指多个服务器组成的服务器集群。所述终端设备如可以为用户的手机、电脑、可穿戴设备等,也可以为ATM、智能柜台等金融机构终端设备。所述数据库可以为分布式数据库的某一个或者多个数据库节点,也可以为整个分布式数据库。优选的,所述数据库采用某一个或者多个数据库节点。所述数据库节点可以为基于业务划分的数据库节点,也可以为基于地区划分的数据库节点,也可以为单个实体设备,可以根据需要自行配置,这里不做限定。
所述数据库服务器可以在业务处理请求中包含对数据库的处理时,向数据库发送相应的访问操作。如所述业务处理请求为账户余额查询时,所述数据库服务器可以在接收到所述业务处理请求后,向数据库发送余额读取请求,数据库向数据库服务器反馈所述业务处理请求所请求的账户标识的余额数据,数据库服务器再反馈给终端设备。相应的,所述余额读取请求即为相应的对数据库的访问操作。
或者,所述业务处理请求可以为资金转入请求,所述数据库服务器可以在接收到所述业务处理请求后,向数据库发送余额更新请求,数据库接收该请求后,对所述业务处理请求所请求的账户标识的余额数据进行更新处理。数据库反馈更新成功的处理结果。相应的,所述余额更新请求即为相应的对数据库的访问操作。
目前对数据库的操作请求,如果出现超时情况,通常是在多次尝试且均超时的基础上直接中断相应的操作请求,保持其他的数据库操作请求的正常处理。但采用该种方式在数据库出现问题时,无法进行有效处理,容易导致数据库出现更大的故障。相应的,本说明书实施例,通过以某一类业务处理请求作为触发,在确定数据库对某一类型的业务处理请求的响应失败情况满足预设条件时,可以限制对数据库的访问操作,以便于数据库自恢复或者人工介入对数据库进行恢复。在间隔一段时间后,再以相应类型的业务处理请求作为触发,判断数据库是否恢复正常,如果是,则可以解除对数据库访问操作的限制。通过该种方式,可以在数据库出现短暂性问题或者小故障时,及时使数据库恢复正常状态,提高数据库的整体性能。
图1是本说明书提供的所述数据库访问方法实施例流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。具体的一个实施例如图1所示,本说明书提供的数据库访问方法的一个实施例中,所述方法可以应用于数据库服务器。所述方法可以包括如下步骤:
S20:接收终端设备发送的业务处理请求;其中,所述业务处理请求包括类型标识;所述类型标识用于表示所述业务处理请求所对应的请求类型。
数据库服务器可以接收终端设备发送的业务处理请求。所述业务处理请求可以包括类型标识。所述类型标识可以用于表示所述业务处理请求所对应的请求类型。所述类型标识可以为一类业务处理请求的标识信息。如余额查询与资金转入属于不同的业务处理请求类型,则可以对应有不同的类型标识。
用户可以在手机等终端设备上的业务应用或者电脑的浏览器发起业务处理请求。相应的终端设备可以将该业务处理请求发送至数据库服务器。数据库服务器可以接收终端设备发送的业务处理请求。数据库服务器接收的终端设备发送的业务处理请求的类型这里不做限定。
S22:在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,在第一指定时间长度内限制对所述数据库的访问;其中,所述同一请求类型的类型标识作为目标类型标识。
数据库服务器可以对所述业务处理请求进行处理,访问所述数据库,对数据库内的数据执行数据查询、更新等操作。数据库服务器可以监控数据库的响应结果,如数据操作执行成功、执行失败或者长时间无反馈等。
一些实施例中,若未能在第二指定时间长度内接收到所述数据库对所述业务处理请求响应成功的反馈结果时,则确定所述数据库响应所述业务处理请求失败。所述第二指定时间长度可以根据请求类型的不同分别进行配置。各请求类型所对应的第二指定时间长度可以与相应的请求类型所对应的类型标识进行关联存储。通过基于超时判断机制以及处理结果联合判断是否执行成功,可以进一步提高执行结果确定的高效性以及准确性。当然,也可以根据数据库服务器已有的业务处理机制进行处理结果是否成功的判断。
数据库服务器在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,可以在第一指定时间长度内限制对所述数据库的访问。如可以变更数据库的访问状态为不可访问状态,以对各请求类型所对应的业务处理请求的数据库访问进行限制。例如,可以在各类型标识所对应的业务处理机制中配置数据库访问状态判断节点,以在业务处理中,判断是否可以访问数据库,如果确定数据库访问状态为不可访问,则输出业务处理失败的结果。所述第一指定时间长度可以根据实际应用场景需要配置。各请求类型所对应的第一指定时间长度可以不同。
一些实施例中,数据库服务器可以在所述数据库响应同一请求类型的业务处理请求的连续失败次数达到第二指定次数阈值时,在第一指定时间长度内限制对所述数据库的访问。当某一请求类型所对应业务处理请求的数据库访问连续失败的情况下,数据库存在出现故障的可能性较大,此时可以限制对数据库的访问操作,以便于数据库进行自恢复或者人工介入恢复,防止频繁的尝试对数据库整体性能造成更大的影响,导致数据库出现宕机等故障。
例如,数据库服务器可以以请求类型为维度进行请求执行失败次数的统计,如果某一请求类型所对应的业务处理请求连续执行失败次数大于第二指定次数阈值,则确定数据库进入访问限制状态,此时,数据库服务器可以变更数据库的访问状态为不可访问状态。第二指定次数阈值可以根据各请求类型所对应的业务处理请求的实际处理特征确定。
当然,也可以采用其他的访问限制条件,如一定时间内或者一定请求次数下的请求失败次数占比等。
一些实施方式中,数据库服务器可以根据请求类型的不同配置不同的访问限制条件。相应的,可以将各请求类型所对应的访问限制条件与相应请求类型所对应的类型标识进行关联存储。实际应用场景下,同一请求类型的业务处理请求的处理逻辑基本是相同的,出现异常的原因和表现特征也是相同或者相似的,通过基于请求类型进行数据库访问限制条件的配置,可以使得数据库访问限制处理更符合实际应用场景,进而在保证不影响实际业务处理的情况下,更加有效的保证数据库的整体处理性能。当然,根据实际应用场景,至少部分请求类型所对应的数据库访问限制条件也可以相同。
数据库服务器在确定所述业务处理请求执行失败的情况下,可以判断该业务处理请求所对应的类型标识下的失败情况,是否达到相应类型标识所对应的访问限制条件。如果是,则可以及时限制对数据库的访问,防止因异常而出现的高频请求重试对数据库造成数据压力,影响数据库的性能。
相应的,一些实施例中,各请求类型所对应的第一指定时间长度以及第二指定次数阈值可以与相应的请求类型所对应的类型标识进行关联存储。如可以配置在各类型标识所对应的访问限制条件配置文件中,数据库服务器可以通过调用相应的配置文件,确定各请求类型是否达到访问限制条件。
S24:间隔所述第一指定时间长度后,允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库。
在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,数据库服务器可以将所述同一请求类型的类型标识作为目标类型标识。在间隔所述第一指定时间长度后,数据库服务器可以配置允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库。
例如,可以在数据库服务器中预先配置如下处理机制,在间隔第一指定时间长度后,允许触发所述数据库的访问状态进入限制访问状态的请求类型的业务处理请求访问数据库。如在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,数据库服务器可以将所述同一请求类型的类型标识作为目标类型标识,并配置所述目标类型标识所对应的业务处理请求,在间隔第一指定时间长度后,可以访问所述数据库。
相应的,在间隔第一指定时间长度后,数据库服务器在接收到所述目标类型标识所对应的业务处理请求之外的业务处理请求时,确定数据库的状态为不可访问,输出相应的错误码。而数据库服务器在接收到所述目标类型标识所对应的业务处理请求时,则确定数据库的状态为可访问,则可以访问数据库。如果业务处理机制在处理完成后,执行成功。如在第二指定时间长度内接收到数据库反馈的成功处理结果,则确定所述指定业务处理请求执行成功。
所述第一指定间隔时间长度可以根据各请求类型的业务处理特征确定。各请求类型所对应的第一间隔时间长度可以相同,也可以不同。一些实施例中,可以设置所述同一请求类型的业务处理请求,在所述第一指定时间长度内的请求次数大于第一指定次数阈值。其中,所述第一指定次数阈值大于等于1。通过设置作为触发的业务处理请求在所述第一指定时间长度内的请求次数大于第一指定次数阈值,可以有效保证在第一指定时间长度结束后,及时有相应的业务处理请求触发尝试机制,从而及时恢复数据库的状态,降低对整体业务处理的影响。
S26:在确定所述指定业务处理请求执行成功时,解除对所述数据库的访问的限制。
数据库服务器在确定所述指定业务处理请求执行成功的情况下,可以解除对所述数据库的访问的限制。如可以恢复数据库的访问状态为可访问状态。相应的,数据库服务器再接收到业务处理请求后,可以调用业务处理机制,正常访问数据库,进行业务处理。
另一些实施例中,在确定所述指定业务处理请求执行失败时,从当前执行失败的时刻开始,在第一指定时间长度内限制对所述数据库的访问。并在间隔第一指定时间长度后,重复允许访问步骤以及执行结果确定步骤。直至执行结果成功,则解除对所述数据库的访问的限制。
如果在间隔第一指定时间长度后,数据库服务器确定数据库对所述指定业务处理请求的响应失败。如在第二指定时间长度内未接收到数据库反馈的处理结果或者反馈处理失败的结果,则确定数据库对所述指定业务处理请求的响应失败。在确定所述指定业务处理请求执行失败的情况下,数据库服务器可以继续对所述数据库的访问进行限制。从本次确定执行失败的时间点可以计时,在间隔第一指定时间长度后,重复所述目标类型标识所对应的业务处理请求的允许访问步骤以及执行结果确定步骤。如果执行成功,则恢复数据库的访问状态为可访问状态;如果失败,则继续重复上述步骤,直至执行成功。
上述实施例提供的方案,通过以数据库对同一请求类型所对应的业务处理请求的响应结果作为触发,判断数据库是否可能出现问题。在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,则可以在指定时间长度内限制对所述数据库的访问。然后,再以该请求类型所对应的业务处理请求作为触发,对数据库进行尝试访问。如果访问成功,则解除上述访问限制,恢复所述数据库的正常访问。如果尝试访问失败,则继续维持数据库的限制访问状态,并在间隔指定时间后,重复上述尝试机制,直至尝试访问成功,则解除上述访问限制,恢复所述数据库的正常访问。通过上述方案,可以降低数据库偶然出现小问题时,业务处理请求的频繁尝试导致的数据库故障,从而提高数据库的处理性能。
一些实施方式中,可以将请求较为频繁的请求类型所对应的业务处理请求作为数据库限制访问以及解除限制的触发。相应的,一些实施例中,可以设置数据库限制访问时,所述同一请求类型所对应的业务处理请求的请求频率大于指定频率阈值。
通过采用请求频率较高的业务处理请求作为上述限制访问处理的触发请求,可以在进入限制访问状态后,在一定时间间隔后,快速触发数据库是否异常判断机制,如果数据库仅仅是偶然性出现异常,则间隔较短时间后,数据库即可恢复正常,相应的业务处理请求成功执行,数据库服务器可以将数据库的访问状态恢复正常,从而在自动自检的同时,将数据库正常使用的影响降低到最小。如果数据库并非偶然性出现异常,则间隔较短时间后,相应的业务处理请求则大概率继续出现执行失败,数据库服务器可以继续维持数据库的访问限制状态,以预留时间给数据库自行恢复或者运维人员介入恢复。同时,数据库服务器仍然以相应的业务处理请求作为是否恢复的触发,间隔性的判断数据库是否恢复正常,则确定执行成功后,快速恢复数据库的正常使用。
例如,实际应用场景下,余额查询、资金转入属于金融机构业务系统请求频率比较高的业务处理请求类型,可以将余额查询、资金转入所对应的业务处理请求作为指定业务处理请求。
另一些实施例中,还可以设置作为触发的所述同一请求类型为请求频率大于指定频率阈值,且对应的数据库响应时间小于指定时间阈值的请求类型。将高频且处理速度快的业务请求作为触发,可以进一步提高访问限制判断以及访问限制解除判断的及时性。同时,此类业务处理请求在业务高峰期,此类业务处理量较大,在连续失败出现时,频繁的尝试也可能会造成数据库更大故障。通过在该类业务处理请求出现连续失败时,限制对数据库的访问预设时间间隔,以使数据库自恢复或者人工介入恢复。然后,再在间隔预设时间后,以相应的业务处理请求作为触发,可以快速判断数据库是否已经正常响应。从而可以更大程度的保证数据库的处理性能,降低对其他重要业务处理请求处理的影响。
另一些实施例中,在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,数据库服务器可以向监控平台发送第一报警信息。所述第一报警信息可以包括第一错误码以及所述同一请求类型的业务处理请求的异常信息;所述第一错误码可以为表征数据库进入访问限制的信息。通过向监控平台发送报警信息,可以使得运维人员根据错误码以及异常信息确定数据库的异常状态,以便于人工介入进行准确快速对数据库进行维护,降低数据库发生更大性能风险的可能性。
另一些实施例中,数据库服务器还可以在上述允许访问步骤以及执行结果确定步骤的重复次数达到第三指定次数阈值时,向监控平台发送第二报警信息。所述第二报警信息可以包括第二错误码以及所述指定业务处理请求的异常信息。所述第二错误码可以为表征数据库存在异常的信息。在重复尝试次数大于某一阈值的情况下,数据库发生较大风险性的可能性增加,通过进一步向监控平台发送报警信息,可以使得运维人员根据错误码以及异常信息确定数据库的异常状态,以便于人工介入进行准确快速对数据库进行维护,降低数据库发生更大性能风险的可能性。
一些实施方式中,所述数据库服务器中可以预先配置有业务处理机制,以对业务处理请求进行处理。可以在业务处理机制中配置所述数据库访问限制处理机制,以在业务处理过程中,基于数据库对业务处理请求的响应结果,确定是否对数据库的访问进行限制。从而在数据库可能出现故障时,及时限制对数据库的访问操作,便于数据库自恢复或者人工介入恢复,降低数据库可能出现宕机的风险性。并在间隔一段时间后,利用业务处理请求对数据库的状态进行检测,如果业务处理请求可以成功处理,则可以结束对数据库的访问限制,恢复数据库的正常访问。
一个场景示例中,所述请求处理机制如可以通过存储过程构件实现。所述存储过程构件可以是指在数据库服务器上读取输入参数,作为存储过程的入参,从而调用数据库执行存储过程方法,得到输出参数的数据包。存储过程是数据库服务器端布设的一种访问数据库的程序。其类型可以包括检索数据以及更新数据等。检索数据类存储过程可以从数据库中检索到需要的数据,并将检索到的数据以数据集等形式输出,或者输出状态结果等。更新数据类存储过程通常是执行一个动作,输出执行结果或者状态结果。所述执行结果如可以为执行成功或者未成功的结果等。所述状态结果可以为错误码等,错误码表示执行过程中出现错误的类型。还有些存储过程类型既可以检索数据又可以执行动作。
存储过程的输入参数的值可以从所述业务处理请求中读取。所述输出参数用于由存储过程向终端设备传递结果。输出参数是由存储过程赋值的,在执行了存储过程以后,服务器应用可以将输出参数的值反馈给终端设备。
可以将数据库访问限制处理机制配置在指定业务处理请求所对应的请求类型标识下的存储过程构件中。相应的,在利用存储过程构件对指定业务处理请求进行处理过程中,可以利用其中配置的数据库访问限制处理机制对指定业务处理请求进行相应的访问限制处理。
例如,存储过程构件在对指定业务处理请求处理过程中,如果未能在预设时间内调用存储过程执行并反馈成功的结果,则认为超时。计数器开始计数,该类型标识所对应的计数值由0变为1。如果某一类型标识所对应的存储过程构件连续出现超时结果时,计数器累积计数。如果存储过程构件确定某一类型标识所对应的累积计数值达到第二指定次数阈值,则存储过程构件输出第一错误码。数据库服务器可以将相应的数据库状态标记为限制访问状态。并将相应的类型标识作为目标类型标识。设置该目标类型标识所对应的业务处理请求,在第一指定时间长度后,允许访问数据库。
从标记为限制访问状态的时间点开始计时,在第一指定时间长度内,数据库服务器接收到业务处理请求时,各存储过程构件根据输入参数,确定数据库为限制访问状态,相应的,可以直接输出执行失败的结果。数据库服务器可以向终端设备反馈返回相应的错误码或者不可访问等信息。
在超过第一指定时间长度后,数据库服务器再接收到业务处理请求时,如果接收到附带有所述目标类型标识所对应的业务处理请求时,所述目标类型标识所对应的存储过程构件可以根据输入参数确定其可以访问数据库,并对数据库进行访问。如果此时存储过程执行成功,则数据库服务器可以将数据库状态修改为正常。数据库服务器再接收到业务处理请求时,各存储过程构件可以正常进行业务处理。
如果此时存储过程仍然未执行成功,则继续维持数据库的状态为限制访问状态。并以当前执行失败时刻开始,继续计时并计数,在超过第一指定时间长度后,数据库服务器再接收到业务处理请求时,如果还是执行不成功,则继续维持限制访问状态。直至所述目标类型标识所对应的存储过程构件可以成功执行,则数据库服务器可以解除上述限制访问,恢复正常访问。数据库服务器再接收到业务处理请求时,各存储过程构件可以正常进行业务处理。在数据库状态修改为正常后,计数器清零,重新按照类型标识维度开始重新计数。
上述指定次数阈值、指定时间长度可以根据请求类型的不同而不同,可以针对不同的请求类型分别配置其对应的指定次数阈值、指定时间长度,并配置在相应类型标识所对应的访问限制机制配置文件中。存储过程构件可以通过该配置文件确定其所对应的指定次数阈值、指定时间长度的具体数值。
通过针对请求较为频繁的业务处理请求类型,配置相应的数据库访问限制处理机制,在其连续出现超时现象时,暂停对数据库的访问。在间隔较短的时间后,可以对出现连续超时的业务处理请求类型的业务处理进行尝试,如果尝试成功,则结束访问限制,恢复数据库的正常访问。如果尝试失败,则继续维持访问限制,直至尝试成功。此过程中,还可以向监控终端发送告警信息,由运维人员介入进行一定的处理。在处理完成后,也可以实现业务处理的自动快速恢复。因此类业务处理的请求高频特征,将该类业务处理请求作为自动恢复的触发请求,可以有效降低此类业务的频繁尝试对数据库的压力,防止大量的频繁触发导致数据库宕机,有效保证数据库的处理性能。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书一个或多个实施例提供的数据库访问方法,通过以同一请求类型的业务处理请求作为触发,在确定数据库对某一类型的业务处理请求的响应失败情况满足预设条件时,可以限制对数据库的访问操作,以便于数据库自恢复或者人工介入对数据库进行恢复。在间隔一段时间后,再以相应类型的业务处理请求作为触发,判断数据库是否恢复正常,如果是,则可以解除对数据库访问操作的限制。通过该种方式,可以在数据库出现短暂性问题或者小故障时,及时使数据库恢复正常状态,提高数据库的整体性能。
基于上述所述的数据库访问方法,本说明书一个或多个实施例还提供一种数据库访问装置。所述的装置可以包括使用了本说明书实施例所述方法的系统、软件(应用)、模块、组件、服务器等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。具体的,图2表示说明书提供的一种数据库访问装置实施例的模块结构示意图,如图2所示,应用于数据库服务器,所述装置可以包括:
接收模块102,可以用于接收终端设备发送的业务处理请求;其中,所述业务处理请求包括类型标识;所述类型标识用于表示所述业务处理请求所对应的请求类型.
访问限制模块104,可以用于在所述数据库响应同一请求类型的业务处理请求的失败情况达到所述数据库的访问限制条件时,在第一指定时间长度内限制对所述数据库的访问;其中,所述同一请求类型的类型标识作为目标类型标识。
数据库访问模块106,可以用于间隔所述第一指定时间长度后,允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库。
解除限制模块108,可以用于在确定所述指定业务处理请求执行成功时,解除对所述数据库的访问的限制。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书一个或多个实施例提供的数据库访问装置,通过以同一请求类型的业务处理请求作为触发,在确定数据库对某一类型的业务处理请求的响应失败情况满足预设条件时,可以限制对数据库的访问操作,以便于数据库自恢复或者人工介入对数据库进行恢复。在间隔一段时间后,再以相应类型的业务处理请求作为触发,判断数据库是否恢复正常,如果是,则可以解除对数据库访问操作的限制。通过该种方式,可以在数据库出现短暂性问题或者小故障时,及时使数据库恢复正常状态,提高数据库的整体性能。
本说明书还提供一种数据库访问系统,所述系统可以应用于单独的数据库访问系统中,也可以应用在多种计算机数据处理系统中。所述的系统可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。一些实施例中,所述系统可以包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括上述任意一个或者多个实施例所述方法的步骤。
所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
需要说明的,上述所述的系统根据方法或者装置实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
上述实施例所述的数据库访问系统,通过以同一请求类型的业务处理请求作为触发,在确定数据库对某一类型的业务处理请求的响应失败情况满足预设条件时,可以限制对数据库的访问操作,以便于数据库自恢复或者人工介入对数据库进行恢复。在间隔一段时间后,再以相应类型的业务处理请求作为触发,判断数据库是否恢复正常,如果是,则可以解除对数据库访问操作的限制。通过该种方式,可以在数据库出现短暂性问题或者小故障时,及时使数据库恢复正常状态,提高数据库的整体性能。
本说明书实施例并不局限于必须是符合标准数据模型/模板或本说明书实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书的可选实施方案范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述并不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (12)

1.一种数据库访问方法,其特征在于,应用于数据库服务器,包括:
接收终端设备发送的业务处理请求;其中,所述业务处理请求包括类型标识;所述类型标识用于表示所述业务处理请求所对应的请求类型;
在所述数据库响应同一请求类型的业务处理请求的失败次数达到所述数据库的访问限制条件时,在第一指定时间长度内限制对所述数据库的访问;其中,所述同一请求类型的类型标识作为目标类型标识;
间隔所述第一指定时间长度后,允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库;
在确定所述指定业务处理请求执行成功时,解除对所述数据库的访问的限制。
2.根据权利要求1所述的方法,其特征在于,所述同一请求类型的业务处理请求在所述第一指定时间长度内的请求次数大于第一指定次数阈值;所述第一指定次数阈值大于等于1。
3.根据权利要求1所述的方法,其特征在于,所述数据库响应同一请求类型的业务处理请求的失败次数达到所述数据库的访问限制条件,包括:
在所述数据库响应同一请求类型的业务处理请求的连续失败次数达到第二指定次数阈值时,在第一指定时间长度内限制对所述数据库的访问。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述指定业务处理请求执行失败时,在第一指定时间长度内限制对所述数据库的访问;
并在间隔第一指定时间长度后,重复允许访问步骤以及执行结果确定步骤;直至执行结果成功,则解除对所述数据库的访问的限制。
5.根据权利要求1所述的方法,其特征在于,在所述数据库响应同一请求类型的业务处理请求的失败次数达到所述数据库的访问限制条件时,向监控平台发送第一报警信息;所述第一报警信息包括第一错误码以及所述同一请求类型的业务处理请求的异常信息;所述第一错误码表征数据库进入限制访问状态。
6.根据权利要求4所述的方法,其特征在于,在重复次数达到第三指定次数阈值时,向监控平台发送第二报警信息;所述第二报警信息包括第二错误码以及所述指定业务处理请求的异常信息;所述第二错误码表征数据库存在异常。
7.根据权利要求1所述的方法,其特征在于,若未能在第二指定时间长度内接收到所述数据库对所述业务处理请求响应成功的反馈结果时,则确定所述数据库响应所述业务处理请求失败。
8.根据权利要求1所述的方法,其特征在于,所述同一请求类型所对应的业务处理请求的请求频率大于指定频率阈值。
9.根据权利要求1所述的方法,其特征在于,所述同一请求类型为请求频率大于指定频率阈值,且对应的数据库响应时间小于指定时间阈值的请求类型。
10.根据权利要求3所述的方法,其特征在于,各请求类型所对应的第一指定时间长度以及第二指定次数阈值与相应的请求类型所对应的类型标识进行关联存储。
11.一种数据库访问装置,其特征在于,应用于数据库服务器;所述装置包括:
接收模块,用于接收终端设备发送的业务处理请求;其中,所述业务处理请求包括类型标识;所述类型标识用于表示所述业务处理请求所对应的请求类型;
访问限制模块,用于在所述数据库响应同一请求类型的业务处理请求的失败次数达到所述数据库的访问限制条件时,在第一指定时间长度内限制对所述数据库的访问;其中,所述同一请求类型的类型标识作为目标类型标识;
数据库访问模块,用于间隔所述第一指定时间长度后,允许接收到的附带有所述目标类型标识的指定业务处理请求访问所述数据库;
解除限制模块,用于在确定所述指定业务处理请求执行成功时,解除对所述数据库的访问的限制。
12.一种数据库访问系统,其特征在于,应用于数据库服务器,所述系统包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括所述权利要求1-10任一项所述方法的步骤。
CN202010812643.1A 2020-08-13 2020-08-13 一种数据库访问方法、装置及系统 Active CN111930719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010812643.1A CN111930719B (zh) 2020-08-13 2020-08-13 一种数据库访问方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010812643.1A CN111930719B (zh) 2020-08-13 2020-08-13 一种数据库访问方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111930719A CN111930719A (zh) 2020-11-13
CN111930719B true CN111930719B (zh) 2023-09-19

Family

ID=73311306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010812643.1A Active CN111930719B (zh) 2020-08-13 2020-08-13 一种数据库访问方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111930719B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660277B (zh) * 2021-08-18 2023-01-06 广州优视云集科技有限公司 一种基于复用埋点信息的反爬虫方法及处理终端
CN115408242B (zh) * 2022-11-01 2023-03-24 云和恩墨(北京)信息技术有限公司 数据库监控方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157662A (ja) * 2007-12-26 2009-07-16 Nec Corp データベース管理装置、データベース管理方法、およびデータベース管理プログラム
CN108540533A (zh) * 2018-03-14 2018-09-14 聚好看科技股份有限公司 一种应答请求的方法和装置
CN109002373A (zh) * 2018-07-24 2018-12-14 阿里巴巴集团控股有限公司 数据库连接异常处理方法及装置
CN111026761A (zh) * 2019-12-11 2020-04-17 上海鲸骞金融信息服务有限公司 一种金融数据的存储系统、处理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157662A (ja) * 2007-12-26 2009-07-16 Nec Corp データベース管理装置、データベース管理方法、およびデータベース管理プログラム
CN108540533A (zh) * 2018-03-14 2018-09-14 聚好看科技股份有限公司 一种应答请求的方法和装置
CN109002373A (zh) * 2018-07-24 2018-12-14 阿里巴巴集团控股有限公司 数据库连接异常处理方法及装置
CN111026761A (zh) * 2019-12-11 2020-04-17 上海鲸骞金融信息服务有限公司 一种金融数据的存储系统、处理方法和装置

Also Published As

Publication number Publication date
CN111930719A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111930719B (zh) 一种数据库访问方法、装置及系统
CN110661659A (zh) 一种告警方法、装置、系统及电子设备
CN110830283B (zh) 故障检测方法、装置、设备和系统
CN112631820A (zh) 软件系统的故障恢复方法及装置
CN108243031B (zh) 一种双机热备的实现方法及装置
CN112783792A (zh) 分布式数据库系统的故障检测方法、装置及电子设备
JP7387469B2 (ja) 通信装置、監視サーバ及びログ収集方法
CN109474470A (zh) 一种自监控方法和装置
US11930292B2 (en) Device state monitoring method and apparatus
CN110674149B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN114168071B (zh) 一种分布式集群扩容方法、分布式集群扩容装置及介质
CN114675998A (zh) 一种监控定时快照任务的方法、装置、设备及介质
CN109510730B (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
US20230359514A1 (en) Operation-based event suppression
CN108964992B (zh) 一种节点故障检测方法、装置和计算机可读存储介质
WO2017080362A1 (zh) 数据管理方法及装置
CN110837428B (zh) 存储设备管理方法及装置
CN111124785A (zh) 一种硬盘故障检查的方法、装置、设备及存储介质
JP2007028118A (ja) ノード装置の故障判断方法
WO2014040470A1 (zh) 告警消息的处理方法及装置
CN114416522A (zh) 区块链系统测试方法、装置、设备及存储介质
CN114610560A (zh) 系统异常监控方法、装置和存储介质
CN108897645B (zh) 一种基于备用心跳磁盘的数据库集群容灾方法和系统
CN112134760A (zh) 链路状态监控方法、装置、设备及计算机可读存储介质
CN111935180A (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