CN110865918A - 数据库的监控方法、装置、计算机设备和存储介质 - Google Patents

数据库的监控方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110865918A
CN110865918A CN201910978787.1A CN201910978787A CN110865918A CN 110865918 A CN110865918 A CN 110865918A CN 201910978787 A CN201910978787 A CN 201910978787A CN 110865918 A CN110865918 A CN 110865918A
Authority
CN
China
Prior art keywords
data
database
service
monitoring
target database
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.)
Pending
Application number
CN201910978787.1A
Other languages
English (en)
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 Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201910978787.1A priority Critical patent/CN110865918A/zh
Publication of CN110865918A publication Critical patent/CN110865918A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及系统数据监控技术领域,尤其涉及一种数据库的监控方法、装置、计算机设备和存储介质,包括:接收监控方的数据请求,并根据所述数据请求调用原始数据库中对应的业务表;根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果;其中,所述查询结果为所述目标数据库中与所述业务数据对应的存储信息;将所述存储信息与所述业务数据进行比对,确定所述目标数据库中的异常数据;对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方;本方案中通过服务监控快速定位排查故障,避免目标数据库中的数据丢失后影响相关平台的正常运行。

Description

数据库的监控方法、装置、计算机设备和存储介质
技术领域
本申请涉及系统数据监控技术领域,尤其涉及一种数据库的监控方法、装置、计算机设备和存储介质。
背景技术
目前,系统的数据存储大都依赖于传统的内存数据库(Redis),内存数据库的所有数据都是保存在内存中,然后通过异步方式不定期地将数据保存到磁盘上。比如,金融行业中采用的收入测算系统就是利用内存数据库实现业务上的精准测算等。
但是,随着收入测算系统中业务量的不断增长,传统的内存数据库已无法满足收入测算系统的业务需求,因而引进了以内存为中心的分布式数据库,可以在PB级数据中,以内存级的速度进行事务性、分析性以及流式负载的处理;但分布式数据库在程序宕机或者出现故障时,往往存在数据丢失的现象,从而会导致系统无法正常运行。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中分布式数据库中数据丢失后会影响系统的正常运行的技术缺陷。
本申请提供一种数据库的监控方法,包括如下步骤:
接收监控方的数据请求,并根据所述数据请求调用原始数据库中对应的业务表;
根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果;其中,所述查询结果为所述目标数据库中与所述业务数据对应的存储信息;
将所述存储信息与所述业务数据进行比对,确定所述目标数据库中的异常数据;
对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方。
在一个实施例中,所述接收监控方的数据请求的步骤之前,还包括:
通过监控方对收入测算系统的操作状态进行监控,当所述收入测算系统需要调取目标数据库中的业务数据时,捕获所述调取操作,并根据所述调取操作生成数据请求。
在一个实施例中,根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果的步骤之前,还包括:
在应用服务器中设置预设阈值,并根据所述预设阈值确定所述业务表的业务数据量。
在一个实施例中,所述目标数据库为内存数据库;
根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果的步骤,包括:
当所述业务数据的数据量小于所述预设阈值时,将所述业务数据依次转换为java对象,并得到java对象数组;
遍历所述java对象数组,并根据所述遍历结果获取各个java对象数组中的java对象对应的索引值;
将所述索引值作为条件向内存数据库发送查询请求,并接收所述内存数据库返回的查询结果。
在一个实施例中,根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果的步骤,还包括:
当所述业务数据的数据量大于所述预设阈值时,拒绝接收所述业务数据,并通过所述原始数据库随机抽取所述业务数据后得到随机数据;
将所述随机数据依次转换为java对象数组。
在一个实施例中,将所述存储信息与所述业务数据进行比对的步骤,包括:
获取所述存储信息,其中,所述存储信息包括所述内存数据库返回的与所述索引值对应的java对象的哈希值;
将所述哈希值与所述索引值对应的java对象进行比对。
在一个实施例中,对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方的步骤,包括:
根据所述比对结果对所述异常数据添加标注,并将标注后的异常数据存入中间数据库中,其中,所述中间数据库为MongoDB;
通过所述中间数据库生成与所述异常数据对应的通知消息,并将所述通知消息发送至监控方。
本申请还提供了一种数据库的监控装置,其包括:
数据调用模块,用于接收监控方的数据请求,并根据所述数据请求调用原始数据库中对应的业务表;
数据查询模块,用于根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果;其中,所述查询结果为所述目标数据库中与所述业务数据对应的存储信息;
数据比对模块,用于将所述存储信息与所述业务数据进行比对,确定所述目标数据库中的异常数据;
异常处理模块,用于对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方。
本申请还提供了一种计算机设备,其特征在于:包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述实施例中任意一项所述数据库的监控方法中的步骤。
本申请还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述数据库的监控方法的步骤。
上述数据库的监控方法、装置、计算机设备和存储介质,首先接收监控方的数据请求,并根据所述数据请求调用原始数据库中对应的业务表;根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果;其中,所述查询结果为所述目标数据库中与所述业务数据对应的存储信息;将所述存储信息与所述业务数据进行比对,确定所述目标数据库中的异常数据;对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方。
本方案中利用监控方对相应平台进行监控,并接收监控方发送的该平台的数据请求,根据该数据请求调用原始数据库中的业务数据查询目标数据库中的数据,以便通过原始数据库与目标数据库之间的数据对账,确定目标数据库中的数据是否异常,当目标数据库中的数据出现异常时,对该异常数据进行标注并生成通知消息返回给监控方,该过程通过服务监控快速定位排查故障,避免目标数据库中的数据丢失后影响相关平台的正常运行。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例的数据库的监控方法的应用环境图;
图2是一个实施例的数据库的监控方法流程图;
图3为一个实施例的根据业务数据向目标数据库发送查询请求的方法流程图;
图4为一个实施例的数据库的监控装置结构示意图;
图5是一个实施例的计算机设备的内部结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参考图1所示,图1是本申请实施例的应用环境图;本实施例中,本申请的技术方案可以应用服务器130实现,如图1中,监控方120实时监控应用系统110的运行状态等,并发送应用系统110的数据请求,应用服务器130根据该数据请求实现相关功能;在本申请实施例中,应用服务器130接收到监控方120发送的数据请求后,根据该数据请求调用原始数据库140中的业务数据,并根据该业务数据获取目标数据库150中的目标数据,以实现数据对账、快速定位并排查故障的功能;这里的应用服务器130指的是能够实现各种后台功能的设备。
在一个实施例中,如图2所示,图2为一个实施例的数据库的监控方法流程图,本实施例中提出了一种数据库的监控方法,具体可以包括以下步骤:
S110:接收监控方120的数据请求,并根据所述数据请求调用原始数据库140中对应的业务表。
由于应用系统110更换了新的数据库,而应用系统110本身对于数据库的服务实时可用性以及响应效率上要求极高,因而本申请中,通过监控方120对应用系统110的数据库进行监控和运维,保证数据正确性,避免数据丢失。
应用服务器130接收监控方120发送的数据请求,该数据请求指的是监控方120根据应用系统110的操作状态等捕获到的数据请求,应用服务器130根据该数据请求获取原始数据库140中保存的该应用系统110中业务数据对应的业务表。
需要说明的是,这里的监控方120指的是监控应用系统110的运行状态、操作状态等的监控系统,该监控系统可以是第三方系统;这里的原始数据库140指的是存储有应用系统110中的业务数据的数据库,该原始数据库140可以是oracle数据库。
上述过程中,通过代码中的程序控制,应用服务器130可以连接到oracle数据库,并通过代码获取oracle数据库的相关信息以及数据量的提取,进一步地,当应用服务器130与oracle数据库对应的数据库服务器连接后,还可以通过oracle数据库中的统计函数获取到业务表的数据量,该数据量表示的是某张业务表存在的条数。
S120:根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果;其中,所述查询结果为所述目标数据库150中与所述业务数据对应的存储信息。
本步骤中,通过上述步骤S110中根据所述数据请求调用原始数据库140中对应的业务表后,可以根据该业务表中的业务数据向目标服务器发送查询请求,应用服务器130接收目标服务器返回的该查询请求对应的查询结果。
上述过程中,当调用原始数据库140中对应的业务表后,该业务表中存储有应用系统110中的业务数据,因而应用服务器130可以根据该业务数据向目标服务器发送查询请求,请求查询目标服务器中与该业务数据对应的存储信息。
需要说明的是,这里的目标服务器指的是分布式服务器,该分布式服务器可以满足应用系统110的业务需求;这里的存储信息指的是分布式服务器中存储的该应用系统110中的业务数据。
S130:将所述存储信息与所述业务数据进行比对,确定所述目标数据库150中的异常数据。
本步骤中,通过上述步骤S120中根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果后,将该查询结果中的目标服务器的存储信息与原始数据库140中调用的业务数据之间进行比对,以便根据该比对结果确定目标服务器中的异常数据。
上述过程中,当通过原始数据库140获取到与该应用系统110的数据请求对应的业务数据后,将该业务数据作为查询条件转入目标数据库150中,以便对目标数据库150中与该业务数据对应的存储信息进行查询,并将该存储信息与业务数据之间进行比对,以进一步查看目标数据库150中的存储信息是否存在数据丢失、数据保存错误等情况发生。
本方案中,采用分布式服务器作为目标服务器并对应用系统110中的业务数据进行存储后,由于该分布式服务器中的数据库为内存数据库,在程序宕机或者出现故障的时候,数据会存在丢失现象,如果数据不稳定,就会影响应用系统110的运行情况。
因此,需要通过原始数据库140获取到该应用系统110的业务数据后再与目标服务器中存储的存储信息之间进行比对,以便在第一时间内确认目标服务器中的数据是否出现异常。该异常现象包括数据丢失、数据保存错误等。
S140:对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方120。
本步骤中,当通过上述步骤S130确定目标数据库150中的异常数据后,立即对该异常数据进行逐一标注,并根据该异常数据生成与该异常数据对应的通知消息发送至监控方120,以便监控方120确认目标数据库150中的数据异常情况。
上述过程中,对异常数据进行逐一标注的目的是能够快速定位并排查故障原因,根据该异常数据生成与该异常数据对应的通知消息的目的是通过该通知消息可以有效地解决数据不稳定或者丢失的现象,另外,该通知消息可以通过邮件的形式发送给应用系统110的开发,业务,运维等,运维可以马上去执行数据同步过程,开发可以查看问题所在,以便第一时间解决问题。
上述数据库的监控方法,首先接收监控方120的数据请求,并根据所述数据请求调用原始数据库140中对应的业务表;根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果;其中,所述查询结果为所述目标数据库150中与所述业务数据对应的存储信息;将所述存储信息与所述业务数据进行比对,确定所述目标数据库150中的异常数据;对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方120。
本方案中利用监控方120对相应平台进行监控,并接收监控方120发送的该平台的数据请求,根据该数据请求调用原始数据库140中的业务数据查询目标数据库150中的数据,以便通过原始数据库140与目标数据库150之间的数据对账,确定目标数据库150中的数据是否异常,当目标数据库150中的数据出现异常时,对该异常数据进行标注并生成通知消息返回给监控方120,该过程通过服务监控快速定位排查故障,避免目标数据库150中的数据丢失后影响相关平台的正常运行。
在一个实施例中,步骤S120中根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果的步骤之前,还可以包括:在应用服务器130中设置预设阈值,并根据所述预设阈值确定所述业务表的业务数据量。
本实施例中,由上述步骤S120可知,当应用服务器130与oracle数据库对应的数据库服务器连接后,还可以通过oracle数据库中的统计函数获取到业务表的数据量,该数据量表示的是某张业务表存在的条数。
根据该业务表的数据量,应用服务器130可以控制监控方120对目标数据库150采用不同的监控方120式,因而,在应用服务器130中设置预设阈值,通过该预设阈值可以确定调用的原始数据库140中业务表的数据量。
比如,对于原始数据库140的业务表中数据量比较少时,可以采用全表监控,即将原始数据库140中每条记录转换成java对象类型,与目标数据库150中的对象在同一索引的情况进行对比;对于数据量比较大的情况,可以随机抽查,并在同一索引下进行对比。
上述实施例,通过在应用服务器130中设置预设阈值,并根据该预设阈值确定业务表的业务数据量,以便应用服务器130对目标服务器采用不同的监控方120是进行监控,更有利于提高数据监控的效率。
在一个实施例中,如图3所示,图3为一个实施例的根据业务数据向目标数据库150发送查询请求的方法流程图,所述目标数据库150为内存数据库;步骤S120中根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果的步骤,可以包括:
S121:当所述业务数据的数据量小于所述预设阈值时,将所述业务数据依次转换为java对象,并得到java对象数组;
S122:遍历所述java对象数组,并根据所述遍历结果获取各个java对象数组中的java对象对应的索引值;
S123:将所述索引值作为条件向内存数据库发送查询请求,并接收所述内存数据库返回的查询结果。
本实施例中,所述目标数据库150为内存数据库,该内存数据库可以为ignite数据库,所述原始数据库140可以是oracle数据库。
当从oracle数据库中查询到需要比对的数据,即根据数据请求调用的业务表中的业务数据后,根据预设阈值判断该业务数据的数据量大小,当业务数据的数据量小于预设阈值时,将其转换成java对象,数组;然后遍历该java对象数组,将java对象中的索引为条件传入ignite数据库中,并以此为条件查询ignite数据库。
将ignite数据库返回的查询结果与java对象进行对比,如果一样,代表该数据是无误的,如果不一样,则表示ignite数据库中的数据存在问题。
上述实施例中,根据原始数据库140的业务表中的业务数据向目标数据库150发送查询请求,并接收目标数据库150返回的查询结果,以此确保目标服务器中存储的数据的准确性,以及保证应用系统110可以正常运行。
在一个实施例中,如图3所示,图3为一个实施例的根据业务数据向目标数据库150发送查询请求的方法流程图,步骤S120中根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果的步骤,还可以包括:
S124:当所述业务数据的数据量大于所述预设阈值时,拒绝接收所述业务数据,并通过所述原始数据库140随机抽取所述业务数据后得到随机数据;
S125:将所述随机数据依次转换为java对象数组。
本实施例中,所述目标数据库150为内存数据库,该内存数据库可以为ignite数据库,所述原始数据库140可以是oracle数据库。
参见图3,当从oracle数据库中查询到需要比对的数据,即根据数据请求调用的业务表中的业务数据后,根据预设阈值判断该业务数据的数据量大小,当业务数据的数据量大于预设阈值时,拒绝接收该业务数据,并通过原始数据库140随机抽取该业务数据后得到随机数据,将该随机数据依次转换为java对象数组后,执行上述实施例中步骤S122和步骤S123中的内容。
上述实施例中,通过oracle数据库的hash散列随机得到一批数据,即得到随机数据,然后将其装换成java对象数组,再将java对象数组与ignite数据库中数据进行对比,以此确保目标服务器中存储的数据的准确性,以及保证应用系统110可以正常运行。
在一个实施例中,步骤S130中将所述存储信息与所述业务数据进行比对的步骤,可以包括:
S131:获取所述存储信息,其中,所述存储信息包括所述内存数据库返回的与所述索引值对应的java对象的哈希值;
S132:将所述哈希值与所述索引值对应的java对象进行比对。
本实施例中,通过步骤S120获取到目标数据库150返回的查询结果,该查询结果包括目标数据库150中存储的与原始数据库140中业务数据对应的该应用系统110的存储信息。
当获取到该存储信息后,可根据该存储信息中的与所述索引值对应的java对象的哈希值与该java对象进行比对,从而确定目标数据库150中的异常数据。
上述实施例中,从ignite数据库中得到的java对象的哈希值,与java对象进行对比,如果一样代表目标数据库150中存储的数据与原始数据库140中的业务数据是一样的,如果不一样,则表示目标数据库150中存储的数据存在问题,通过该方式可确定目标数据库150的数据是否存在异常。
在一个实施例中,在步骤S110的接收监控方120的数据请求的步骤之前,还可以包括:
通过监控方120对收入测算系统的操作状态进行监控,当所述收入测算系统需要调取目标数据库150中的业务数据时,捕获所述调取操作,并根据所述调取操作生成数据请求。
本实施例中,应用服务器130通过监控方120实施可用性监控、服务监控以及数据对账等措施,进而能够快速定位排查故障,恢复对应用系统110的服务。
其中,服务监控指的是针对应用服务器130的cpu、内存等健康状况进行的监控;可用性监控指的是对原始数据库140和目标数据库150的集群各节点配置、运行状况、数据量、存储空间等进行监控;数据对账指的是目标数据与原始数据库140之间的数据对账。
本实施例中的收入测算系统指的是应用系统110中的一种,其主要的功能有:实现外勤明晰收入、高效发展,助力内勤普法、组织发展面谈等工作,从而激发外勤发展意愿,开发收入智能测算系统,通过精准测算和场景应用,实现期望目标等。
收入测算系统的运行需要依赖数据库中的业务表,如果没有这些业务表以及业务表中的业务数据,收入测算是无法运行下去的,因而当收入测算系统需要调取目标数据库150中的业务数据时,应用服务器130通过监控方120捕获该调取操作,并根据该调取操作生成数据请求发送至应用服务器130,以便数据对账机制能够辅助排查数据问题,一旦发现,及时重新加载数据。
在一个实施例中,步骤S140中对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方120的步骤,可以包括:
S141:根据所述比对结果对所述异常数据添加标注,并将标注后的异常数据存入中间数据库中,其中,所述中间数据库为MongoDB;
S142:通过所述中间数据库生成与所述异常数据对应的通知消息,并将所述通知消息发送至监控方120。
本实施例中,当确定目标数据库150中的异常数据后,对该异常数据添加标注,并将标注后的异常数据存入中间数据库中。
这里对遗产该数据添加标注的方式可以是对异常数据进行分段编号,可根据该编号进行追踪;这里的中间数据库指的是存储异常数据的中转数据库,该数据库可以是MongoDB,MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
将标注后的异常数据存入中间数据库后,通过中间数据库生成与该异常数据对应的通知消息,并将该通知消息发送至监控方120,该通知消息可以通过邮件的形式发送给应用系统110的开发,业务,运维等,运维可以马上去执行数据同步过程,开发可以查看问题所在,以便第一时间解决问题。
在一个实施例中,如图4所示,图4为一个实施例的数据库的监控装置结构示意图,本实施例中提供了一种数据库的监控装置,其包括:数据调用模块210、数据查询模块220、数据比对模块230和异常处理模块240,其中:
数据调用模块210:用于接收监控方120的数据请求,并根据所述数据请求调用原始数据库140中对应的业务表。
由于应用系统110更换了新的数据库,而应用系统110本身对于数据库的服务实时可用性以及响应效率上要求极高,因而本申请中,通过监控方120对应用系统110的数据库进行监控和运维,保证数据正确性,避免数据丢失。
应用服务器130接收监控方120发送的数据请求,该数据请求指的是监控方120根据应用系统110的操作状态等捕获到的数据请求,应用服务器130根据该数据请求获取原始数据库140中保存的该应用系统110中业务数据对应的业务表。
需要说明的是,这里的监控方120指的是监控应用系统110的运行状态、操作状态等的监控系统,该监控系统可以是第三方系统;这里的原始数据库140指的是存储有应用系统110中的业务数据的数据库,该原始数据库140可以是oracle数据库。
上述过程中,通过代码中的程序控制,应用服务器130可以连接到oracle数据库,并通过代码获取oracle数据库的相关信息以及数据量的提取,进一步地,当应用服务器130与oracle数据库对应的数据库服务器连接后,还可以通过oracle数据库中的统计函数获取到业务表的数据量,该数据量表示的是某张业务表存在的条数。
数据查询模块220:用于根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果;其中,所述查询结果为所述目标数据库150中与所述业务数据对应的存储信息。
本模块中,通过上述数据调用模块210中根据所述数据请求调用原始数据库140中对应的业务表后,可以根据该业务表中的业务数据向目标服务器发送查询请求,应用服务器130接收目标服务器返回的该查询请求对应的查询结果。
上述过程中,当调用原始数据库140中对应的业务表后,该业务表中存储有应用系统110中的业务数据,因而应用服务器130可以根据该业务数据向目标服务器发送查询请求,请求查询目标服务器中与该业务数据对应的存储信息。
需要说明的是,这里的目标服务器指的是分布式服务器,该分布式服务器可以满足应用系统110的业务需求;这里的存储信息指的是分布式服务器中存储的该应用系统110中的业务数据。
数据比对模块230:用于将所述存储信息与所述业务数据进行比对,确定所述目标数据库150中的异常数据。
本模块中,通过上述数据查询模块220中根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果后,将该查询结果中的目标服务器的存储信息与原始数据库140中调用的业务数据之间进行比对,以便根据该比对结果确定目标服务器中的异常数据。
上述过程中,当通过原始数据库140获取到与该应用系统110的数据请求对应的业务数据后,将该业务数据作为查询条件转入目标数据库150中,以便对目标数据库150中与该业务数据对应的存储信息进行查询,并将该存储信息与业务数据之间进行比对,以进一步查看目标数据库150中的存储信息是否存在数据丢失、数据保存错误等情况发生。
本方案中,采用分布式服务器作为目标服务器并对应用系统110中的业务数据进行存储后,由于该分布式服务器中的数据库为内存数据库,在程序宕机或者出现故障的时候,数据会存在丢失现象,如果数据不稳定,就会影响应用系统110的运行情况。
因此,需要通过原始数据库140获取到该应用系统110的业务数据后再与目标服务器中存储的存储信息之间进行比对,以便在第一时间内确认目标服务器中的数据是否出现异常。该异常现象包括数据丢失、数据保存错误等。
异常处理模块240:用于对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方120。
本模块中,当通过上述数据比对模块230确定目标数据库150中的异常数据后,立即对该异常数据进行逐一标注,并根据该异常数据生成与该异常数据对应的通知消息发送至监控方120,以便监控方120确认目标数据库150中的数据异常情况。
上述过程中,对异常数据进行逐一标注的目的是能够快速定位并排查故障原因,根据该异常数据生成与该异常数据对应的通知消息的目的是通过该通知消息可以有效地解决数据不稳定或者丢失的现象,另外,该通知消息可以通过邮件的形式发送给应用系统110的开发,业务,运维等,运维可以马上去执行数据同步过程,开发可以查看问题所在,以便第一时间解决问题。
上述数据库的监控装置,首先接收监控方120的数据请求,并根据所述数据请求调用原始数据库140中对应的业务表;根据所述业务表中的业务数据向目标数据库150发送查询请求,并接收所述目标数据库150返回的查询结果;其中,所述查询结果为所述目标数据库150中与所述业务数据对应的存储信息;将所述存储信息与所述业务数据进行比对,确定所述目标数据库150中的异常数据;对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方120。
本方案中利用监控方120对相应平台进行监控,并接收监控方120发送的该平台的数据请求,根据该数据请求调用原始数据库140中的业务数据查询目标数据库150中的数据,以便通过原始数据库140与目标数据库150之间的数据对账,确定目标数据库150中的数据是否异常,当目标数据库150中的数据出现异常时,对该异常数据进行标注并生成通知消息返回给监控方120,该过程通过服务监控快速定位排查故障,避免目标数据库150中的数据丢失后影响相关平台的正常运行。
关于数据库的监控装置的具体限定可以参见上文中对于数据库的监控方法的限定,在此不再赘述。上述数据库的监控装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例的数据库的监控方法的步骤。
如图5所示,图5为一个实施例的计算机设备的内部结构示意图。该计算机设备310包括通过系统总线313连接的处理器314、非易失性存储介质315、存储器311和网络接口312。其中,该计算机设备310的非易失性存储介质315存储有操作系统317和计算机程序316,该计算机程序316被处理器314执行时,可使得处理器314实现数据库的监控方法。该计算机设备310的处理器314用于提供计算和控制能力,支撑整个计算机设备310的运行。该计算机设备310的存储器311中存储有计算机程序316,该计算机程序316被处理器314执行时,可使得处理器314执行数据库的监控方法。该计算机设备310的网络接口312用于与移动终端连接通信。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的数据库的监控方法的步骤。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种数据库的监控方法,其特征在于,包括如下步骤:
接收监控方的数据请求,并根据所述数据请求调用原始数据库中对应的业务表;
根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果;其中,所述查询结果为所述目标数据库中与所述业务数据对应的存储信息;
将所述存储信息与所述业务数据进行比对,确定所述目标数据库中的异常数据;
对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方。
2.根据权利要求1所述的数据库的监控方法,其特征在于,所述接收监控方的数据请求的步骤之前,还包括:
通过监控方对收入测算系统的操作状态进行监控,当所述收入测算系统需要调取目标数据库中的业务数据时,捕获所述调取操作,并根据所述调取操作生成数据请求。
3.根据权利要求2所述的数据库的监控方法,其特征在于,根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果的步骤之前,还包括:
在应用服务器中设置预设阈值,并根据所述预设阈值确定所述业务表的业务数据量。
4.根据权利要求3所述的数据库的监控方法,其特征在于,所述目标数据库为内存数据库;
根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果的步骤,包括:
当所述业务数据的数据量小于所述预设阈值时,将所述业务数据依次转换为java对象,并得到java对象数组;
遍历所述java对象数组,并根据所述遍历结果获取各个java对象数组中的java对象对应的索引值;
将所述索引值作为条件向内存数据库发送查询请求,并接收所述内存数据库返回的查询结果。
5.根据权利要求4所述的数据库的监控方法,其特征在于,根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果的步骤,还包括:
当所述业务数据的数据量大于所述预设阈值时,拒绝接收所述业务数据,并通过所述原始数据库随机抽取所述业务数据后得到随机数据;
将所述随机数据依次转换为java对象数组。
6.根据权利要求4所述的数据库的监控方法,其特征在于,将所述存储信息与所述业务数据进行比对的步骤,包括:
获取所述存储信息,其中,所述存储信息包括所述内存数据库返回的与所述索引值对应的java对象的哈希值;
将所述哈希值与所述索引值对应的java对象进行比对。
7.根据权利要求6所述的数据库的监控方法,其特征在于,对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方的步骤,包括:
根据所述比对结果对所述异常数据添加标注,并将标注后的异常数据存入中间数据库中,其中,所述中间数据库为MongoDB;
通过所述中间数据库生成与所述异常数据对应的通知消息,并将所述通知消息发送至监控方。
8.一种数据库的监控装置,其特征在于,包括:
数据调用模块,用于接收监控方的数据请求,并根据所述数据请求调用原始数据库中对应的业务表;
数据查询模块,用于根据所述业务表中的业务数据向目标数据库发送查询请求,并接收所述目标数据库返回的查询结果;其中,所述查询结果为所述目标数据库中与所述业务数据对应的存储信息;
数据比对模块,用于将所述存储信息与所述业务数据进行比对,确定所述目标数据库中的异常数据;
异常处理模块,用于对所述异常数据添加标注,并生成所述异常数据的通知消息发送至所述监控方。
9.一种计算机设备,其特征在于:包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的数据库的监控方法的步骤。
10.一种计算机存储介质,其特征在于:所述计算机存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述的数据库的监控方法的步骤。
CN201910978787.1A 2019-10-15 2019-10-15 数据库的监控方法、装置、计算机设备和存储介质 Pending CN110865918A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910978787.1A CN110865918A (zh) 2019-10-15 2019-10-15 数据库的监控方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910978787.1A CN110865918A (zh) 2019-10-15 2019-10-15 数据库的监控方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN110865918A true CN110865918A (zh) 2020-03-06

Family

ID=69652257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910978787.1A Pending CN110865918A (zh) 2019-10-15 2019-10-15 数据库的监控方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110865918A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949402A (zh) * 2020-08-05 2020-11-17 中国建设银行股份有限公司 数据库请求处理方法、装置、计算机设备及存储介质
CN112035472A (zh) * 2020-08-28 2020-12-04 中国平安财产保险股份有限公司 数据处理方法、装置、计算机设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949402A (zh) * 2020-08-05 2020-11-17 中国建设银行股份有限公司 数据库请求处理方法、装置、计算机设备及存储介质
CN112035472A (zh) * 2020-08-28 2020-12-04 中国平安财产保险股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN112035472B (zh) * 2020-08-28 2023-11-07 中国平安财产保险股份有限公司 数据处理方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
EP3386150B1 (en) Terminal failure processing method, device and system
US20210036907A1 (en) Methods and apparatuses for pushing a message
CN110740103A (zh) 业务请求处理方法、装置、计算机设备和存储介质
CN114500690B (zh) 接口数据处理方法、装置、电子设备及存储介质
CN112737800B (zh) 服务节点故障定位方法、调用链生成方法及服务器
CN110865918A (zh) 数据库的监控方法、装置、计算机设备和存储介质
CN108418859B (zh) 写数据的方法和装置
CN117291583B (zh) 物联网数据管理方法及系统
CN115378841B (zh) 设备接入云平台状态的检测方法及装置、存储介质、终端
CN110717130B (zh) 打点方法、装置、终端及存储介质
CN115981956A (zh) Spdk服务进程监控方法、装置、设备、存储介质和程序产品
CN112131180B (zh) 数据上报方法、装置以及存储介质
CN115033927A (zh) 一种检测数据完整性的方法、装置、设备及介质
CN113872814A (zh) 内容分发网络的信息处理方法、装置和系统
CN112910683B (zh) 一种获取重点数据状态的方法及终端
CN113094233A (zh) 一种服务资源识别与处理的方法
CN109992572A (zh) 一种自适应均衡日志存储请求的方法
US20210014145A1 (en) Method and first node for managing transmission of probe messages
CN116170514B (zh) 一种用于中台业务的服务策略调用实现方法及系统
CN114265739A (zh) 数据处理方法、装置、设备及存储介质
CN115002000B (zh) 异常接口容错方法、装置、设备及存储介质
US20240187904A1 (en) Load Query Processing Method and Apparatus, Storage Medium and Electronic Apparatus
CN116578548B (zh) 数据库管理方法、系统、电子设备及存储介质
CN116821798A (zh) 一种故障预警的服务器、方法及计算机程序产品
CN116860359A (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