CN110502581B - 分布式数据库***监测方法及装置 - Google Patents

分布式数据库***监测方法及装置 Download PDF

Info

Publication number
CN110502581B
CN110502581B CN201910794629.0A CN201910794629A CN110502581B CN 110502581 B CN110502581 B CN 110502581B CN 201910794629 A CN201910794629 A CN 201910794629A CN 110502581 B CN110502581 B CN 110502581B
Authority
CN
China
Prior art keywords
database
access
distributed database
database system
monitoring
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
CN201910794629.0A
Other languages
English (en)
Other versions
CN110502581A (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201910794629.0A priority Critical patent/CN110502581B/zh
Publication of CN110502581A publication Critical patent/CN110502581A/zh
Application granted granted Critical
Publication of CN110502581B publication Critical patent/CN110502581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/23Updating
    • 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)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种分布式数据库***监测方法及装置,该方法包括:根据分布式数据库***中各数据库对应数据库访问请求,分别生成各数据库对应的数据库访问日志。根据各数据库访问日志的集合,确定分布式数据库***的监测指标。根据监测指标确定数据库的状态,其中,监测指标用于指示分布式数据库***的状态。通过分布式数据库***中各数据库各自的数据库访问日志的集合,确定分布式数据库的监测指标,能够有效实现对分布式数据库的状态监控,并且通过各数据库的数据库访问日志的集合进行***状态的确定,能够保证***状态监测的整体性。

Description

分布式数据库***监测方法及装置
技术领域
本申请实施例涉及计算机技术,尤其涉及一种分布式数据库***监测方法及装置。
背景技术
分布式数据库***是指由多台物理独立的数据库服务器组成的数据库***,在使用过程中,对各数据库的状态进行监测能够有效保证分布式数据库***的使用安全。
目前,在实现分布式数据库***的状态监测时,通常是针对分布式数据库***中的每一个数据库,单独为每一个数据库分配一个用于执行状态监测的模块,其中一个监测模块只能针对性的监测一个数据库的状态。
然而,现有技术无法对分布式数据库***的整体状态进行监测,从而***状态监测缺乏整体性。
发明内容
本申请实施例提供一种分布式数据库***监测方法及装置,以克服***状态监测缺乏整体性的问题。
第一方面,本申请实施例提供一种分布式数据库***监测方法,包括:
根据分布式数据库***中各数据库对应数据库访问请求,分别生成各所述数据库对应的数据库访问日志;
根据各所述数据库访问日志的集合,确定所述分布式数据库***的监测指标;
根据所述监测指标确定所述分布式数据库***的状态,其中,所述监测指标用于指示所述分布式数据库***的状态。
在一种可能的设计中,所述根据分布式数据库***中各数据库对应数据库访问请求,分别生成各所述数据库对应的数据库访问日志,包括:
对所述数据库访问请求进行格式化处理,得到所述数据库访问请求对应的请求数据,其中,所述请求数据包括数据库标识;
根据所述数据库标识,将所述格式化后的请求数据发送至所述数据库标识对应的目标数据库;
所述目标数据库根据所述请求数据,生成所述目标数据库对应的数据库访问日志。
在一种可能的设计中,所述根据所述数据库访问日志的集合,确定所述分布式数据库***的监测指标之前,所述方法还包括:
判断各所述数据库的数据库访问日志是否存在更新;
若是,则将更新的所述数据库访问日志发送至所述消息中间件。
所述消息中间件接收更新的所述数据库访问日志并进行存储,得到各所述数据库访问日志的集合。
在一种可能的设计中,所述根据所述监测指标确定所述分布式数据库***的状态,包括:
将所述监测指标与预设阈值信息进行比较,确定所述分布式数据库***的状态,其中,所述预设阈值信息包括所述监测指标对应的预设阈值。
在一种可能的设计中,所述数据库的状态包括正常状态和异常状态;
若所述分布式数据库***的状态为异常状态,则所述根据所述监测指标确定所述分布式数据库***的状态之后,所述方法还包括:
向指定地址发送预警信息,其中,所述预警信息用于指示所述分布式数据库***发生访问异常。
在一种可能的设计中,所述根据所述监测指标确定所述分布式数据库***的状态之后,所述方法还包括:
将所述分布式数据库***的状态存储至监控数据库;
所述监控数据库响应于终端的查询指令,返回所述分布式数据库***的状态。
在一种可能的设计中,所述数据库访问日志包括数据库标识、访问时间、访问用户标识、访问来源地址、访问数据表标识、执行语句、返回数据、响应时长。
第二方面,本申请实施例提供一种分布式数据库***监测装置,包括:
生成模块,用于根据分布式数据库***中各数据库对应数据库访问请求,分别生成各所述数据库对应的数据库访问日志;
确定模块,用于根据各所述数据库访问日志的集合,确定所述分布式数据库***的监测指标;
所述确定模块,还用于根据所述监测指标确定所述分布式数据库***的状态,其中,所述监测指标用于指示所述分布式数据库***的状态。
在一种可能的设计中,所述生成模块具体用于:
对所述数据库访问请求进行格式化处理,得到所述数据库访问请求对应的请求数据,其中,所述请求数据包括数据库标识;
根据所述数据库标识,将所述格式化后的请求数据发送至所述数据库标识对应的目标数据库;
所述目标数据库根据所述请求数据,生成所述目标数据库对应的数据库访问日志。
在一种可能的设计中,所述生成模块还用于:
在根据所述数据库访问日志的集合,确定所述分布式数据库***的监测指标之前,判断各所述数据库的数据库访问日志是否存在更新;
若是,则将更新的所述数据库访问日志发送至所述消息中间件。
所述消息中间件接收更新的所述数据库访问日志并进行存储,得到各所述数据库访问日志的集合。
在一种可能的设计中,所述确定模块还具体用于:
将所述监测指标与预设阈值信息进行比较,确定所述分布式数据库***的状态,其中,所述预设阈值信息包括所述监测指标对应的预设阈值。
在一种可能的设计中,所述数据库的状态包括正常状态和异常状态;
若所述分布式数据库***的状态为异常状态,则还包括:发送模块;
所述发送模块具体用于,在所述根据所述监测指标确定所述分布式数据库***的状态之后,向指定地址发送预警信息,其中,所述预警信息用于指示所述分布式数据库***发生访问异常。
在一种可能的设计中,所述发送模块还用于:
在所述根据所述监测指标确定所述分布式数据库***的状态之后,将所述分布式数据库***的状态存储至监控数据库;
所述监控数据库响应于终端的查询指令,返回所述分布式数据库***的状态。
在一种可能的设计中,所述数据库访问日志包括数据库标识、访问时间、访问用户标识、访问来源地址、访问数据表标识、执行语句、返回数据、响应时长。
第三方面,本申请实施例提供一种分布式数据库***监测设备,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
本申请实施例提供一种分布式数据库***监测方法及装置,该方法包括:根据分布式数据库***中各数据库对应数据库访问请求,分别生成各数据库对应的数据库访问日志。根据各数据库访问日志的集合,确定分布式数据库***的监测指标。根据监测指标确定数据库的状态,其中,监测指标用于指示分布式数据库***的状态。通过分布式数据库***中各数据库各自的数据库访问日志的集合,确定分布式数据库的监测指标,能够有效实现对分布式数据库的状态监控,并且通过各数据库的数据库访问日志的集合进行***状态的确定,能够保证***状态监测的整体性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的分布式数据库***监测方法的***示意图;
图2为本申请实施例提供的分布式数据库***监测方法的流程图一;
图3为本申请实施例提供的分布式数据库***监测方法的流程图二;
图4为本申请实施例提供的分布式数据库***监测方法的流程图三;
图5为本申请实施例提供的分布式数据库***装置的结构示意图一;
图6为本申请实施例提供的分布式数据库***监测装置的结构示意图二;
图7为本申请实施例提供的分布式数据库***设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的分布式数据库***监测方法的***示意图,如图1所示,该***包括N个数据库以及消息中间件;
其中,分布式数据库由多台物理独立的数据库组成,例如参见图1,分布式数据库有N个独立的数据库组成,其中为N为整数,其中的每一个数据库还对应有一个数据库服务器,数据库服务器用于执行数据库的逻辑操作,其中的数据库服务器以及服务器即为分布式数据库中的一个数据库节点,可以理解的是,数据库和数据库对应的服务器在物理实体上可以是一体的,还可以是相互独立的,本实施例对此不做限定。
同时,各分布式的数据库还同时连接有消息中间件,其中消息中间件利用高效可靠的消息传递机制进行数据交流,并基于数据通信来进行分布式数据库的集成,消息中间件在分布式数据库的消息传递过程中起着至关重要的作用,具体的,消息中间件有多种可能的实现方式,如ActiveMQ、RabbitMQ、Kafka等,其中任一种可能的实现方式均可以用于实现本实施例的分布式数据库***监测方法,此处对此不作限制。
在上述介绍的***的基础上,本申请提供的分布式数据库***监测方法能够有效保证数据库状态监测的整体性,下面结合具体的实施例进行详细说明,首先结合图2进行介绍,图2为本申请实施例提供的分布式数据库***监测方法的流程图一,如图2所示,该方法包括:
S201、根据分布式数据库***中各数据库对应数据库访问请求,分别生成各数据库对应的数据库访问日志。
具体的,首先获取任意的用户或者设备向分布式数据库***发起数据库访问请求,其中发起数据库访问请求例如可以为在终端设备上输入命令行,或者通过运行相关的请求代码从而发起数据库访问请求,在一种可能的实现方式中,例如可以采用抓包工具抓取针对分布式数据库***发起的数据库访问请求。
在获取到数据库访问请求之后,确定数据库访问请求对应的各数据库,因为本实施例是基于分布式数据库***进行的,因此一次数据库访问请求可能对应多个数据库,其次根据各数据库对应数据库访问请求分别生成各数据库各自的数据库访问日志,其中数据库访问日志例如可以存储有访问时间、访问用户标识、访问来源地址等,本领域技术人员可以理解,凡是与数据库访问相关的数据均可以作为数据库访问日志中的数据,数据库访问日志的具体实现方式可以根据实际需求进行选择和扩展,本实施例对此不做限定。
S202、根据各数据库访问日志的集合,确定分布式数据库***的监测指标。
为保证能够实现对分布式数据库***状态监测的整体性,因此本实施例中通过根据数据库访问日志的集合,确定分布式数据库***的监测指标,其中数据库访问日志的集合能够反映整体的分布式数据库***的状态,以保证后续在进行分布式数据库***的状态监测时能够基于整体的各数据库的状态进行监控。
在一种可能的实现方式中,可以判断各数据库的数据库访问日志是否存在更新,若是,则将更新的数据库访问日志发送至消息中间件。
例如,分布式数据库***中的每一个数据库可以各自对应有一个数据库访问日志,则可以采用日志文件托运工具追踪各数据库的数据库访问日志是否存在增加的字段内容,若存在,则确定数据库访问日志存在更新,则将增加的字段内容最为更新的数据库访问日志发送至消息中间件。
或者,可以将每一次的数据库访问请求生成单独的一条数据库访问日志,则可以采用日志文件托运工具判断数据库的数据库访问日志中是否存在新增加的数据库访问日志,若是,则确定将该新增加的数据库访问日志(即更新的数据库访问日志)发送至消息中间件。
消息中间件接收更新的数据库访问日志并进行存储,得到各数据库访问日志的集合。具体的,消息中间件例如可以将更新的数据库访问日志存储在对应的主题上,如可以采用表格的方式进行存储,从而得到各数据库访问日志的集合。
或者,还可以将各数据库访问日志存储在任一个分布式数据库***的数据库中,本领域技术人员可以理解,只要能够得到各数据库访问日志的集合,本实施例对其各种可能的实现方式不作限定。
在本实施例中,分布式数据库***的监测指标是根据各数据库访问日志的集合确定的,例如集合中包括数据库标识,则可以根据数据库标识确定各数据库的访问次数;又例如集合中包括响应耗时,则可以确定各数据库各自对应的响应时长等,可以理解的是,监测指标的具体内容取决于数据库访问日志所包括的内容,因此数据库访问日志以及监测指标均可以根据实际需求进行添加和删除。
S203、根据监测指标确定数据库的状态,其中,监测指标用于指示分布式数据库***的状态。
在本实施例中,监测指标用于指示的分布式数据库***的状态为正常还是异常,例如当前存在一监测指标为数据库访问次数,则可以将数据库访问次数与预设次数进行比较,以确定当前数据库访问次数是否在正常范围内,若是,则可以确定分布式数据库***的状态为正常,否则可以确定分布式数据库的访问出现异常,其各种可能的监测指标的实现方式类似,其可以根据实际需求进行扩展,此处不再赘述。
本申请实施例提供的分布式数据库***监测方法,包括:根据分布式数据库***中各数据库对应数据库访问请求,分别生成各数据库对应的数据库访问日志。根据各数据库访问日志的集合,确定分布式数据库***的监测指标。根据监测指标确定数据库的状态,其中,监测指标用于指示分布式数据库***的状态。通过分布式数据库***中各数据库各自的数据库访问日志的集合,确定分布式数据库的监测指标,能够有效实现对分布式数据库的状态监控,并且通过各数据库的数据库访问日志的集合进行***状态的确定,能够保证***状态监测的整体性。
在上述实施例的基础上,下面结合图3对本申请实施例提供的分布式数据库***监测方法进行进一步地详细介绍,图3为本申请实施例提供的分布式数据库***监测方法的流程图二,如图3所示,该方法包括:
S301、对数据库访问请求进行格式化处理,得到数据库访问请求对应的请求数据,其中,请求数据包括数据库标识。
具体的,对数据库访问请求进行解析之后得到解析内容,其中解析内容例如可以包括数据库标识、访问时间、访问用户标识、访问来源地址、访问数据表标识、响应耗时、执行语句等,对解析内容进行格式化处理,其中本实施例例如设置有格式化模板,通过将解析内容对应至格式化模板中,从而能够得到请求数据。
格式化模板例如可以指定请求数据的顺序、具体格式等,例如响应耗时的具体格式可以设置为“以秒为单位”,以及访问用户标识可以限定长度等,本领域技术人员可以理解,具体的格式化处理可以根据实际需求进行设定,只要保证能够将数据库访问请求处理为格式统一的请求数据即可。
S302、根据数据库标识,将格式化后的请求数据发送至数据库标识对应的目标数据库。
在本实施例中,需要将格式化后的请求数据发送至数据库标识对应的目标数据库,其中目标数据库可以有多个,可以理解的是,数据库访问请求是针对分布式数据库***发起的,因此还需要确定书数据库访问请求对应的数据库。
在一种可能的实现方式中,数据库访问请求例如可以携带有数据库标识,则可以根据数据库标识确定数据库访问请求对应的各目标数据库;在另一种可能的实现方式中,数据库访问请求中没有携带数据库标识,则可以对数据库访问请求进行解析,以确定数据库访问请求对应的各目标数据库,例如当前数据库访问请求需要访问的是用户年龄信息和住址信息的数据库,则可以将存储有用户年龄信息和住址信息的数据库确定为数据库访问请求对应的数据库,本实施例对确定数据库访问请求对应的各数据库的实现方式不做限定,其可以根据实际需求进行选择。
S303、目标数据库根据请求数据,生成目标数据库对应的数据库访问日志。
目标数据库接收到请求数据,根据请求数据,生成目标数据库对应的数据库访问日志,其中生成的数据库访问日志中例如可以添加有访问时间,同时,目标数据库接收到请求数据,则可以确定当前存在有数据库访问请求,则目标数据库还需要作出响应,例如返回响应的数据或者返回指示信息等,则生成的数据库访问日志中还例如可以添加有响应时长。
在本实施例中,数据库访问日志包括数据库标识、访问时间、访问用户标识、访问来源地址、访问数据表标识、响应时长,本领域技术人员可以理解上述的数据库访问日志所包括的内容的介绍并不是对数据库访问日志的唯一限定,数据库访问日志可以根据实际需求添加任何数据,其各种可能的扩展方式此处不再赘述。
可以理解的是,本实施例中的请求数据时格式化处理过的,则最终生成的数据库访问日志同样也是格式化的,格式化能够保证各数据库各自对应的数据库访问日志的格式是统一的,则后续在各数据库访问日志的集合进行操作时,也能够快速高效的进行处理,以提升操作的效率,避免出现混乱。
S304、根据各数据库访问日志的集合,确定分布式数据库***的监测指标。
其中,S304的实现方式与S202相同,此处不再赘述。
S305、将监测指标与预设阈值信息进行比较,确定分布式数据库***的状态,其中,预设阈值信息用于指示数据库的状态。
在本实施例中,设置有预设阈值信息用于指示数据库的状态是正常还是异常,下面结合一个具体的示例对确定数据库的状态的实现方式进行说明。
采用上述介绍的数据库访问日志包括数据库标识、访问时间、访问用户标识、访问来源地址、访问数据表标识、执行语句、响应时长,则对应的监测指标可以包括如下内容:
(1)数据库访问次数监测:根据数据库标识确定单位时间内各数据库的访问次数,若访问次数超过第一预设次数,则确定分布式数据库***的状态为异常状态;
(2)数据表访问次数监测:根据访问数据表标识确定单位时间内各数据表的访问次数,若访问次数超过第二预设次数,则确定分布式数据库***的状态为异常状态;
(3)全表扫描监测:根据执行语句确定是否存在全表扫描的执行语句,若存在,则确定分布式数据库***的状态为异常状态;
(4)敏感数据返回条数监测:根据返回数据和访问数据表标识,确定对于敏感数据表(如客户资料表)的返回数据的条数,若返回数据的条数大于预设条数,则确定分布式数据库***的状态为异常状态;
(5)语句执行效率:根据响应时长,判断响应时长是否大于预设时长,若是,则确定分布式数据库***的状态为异常状态;
(6)注入风险监测:根据执行语句,判断其中是否存在预设关键字,若是,则确定分布式数据库***的状态为异常状态。
其中预设关键词为数据库注入语句或潜在风险语句,例如可以包括:
SLEEP()、MID()、CHAR()、ORD()、SYSDATE()、SUBSTRING()、DATABASES()、SCHEMA()、USER()、VERSION()、CURRENT_USER()、LOAD_FILE()、OUTFILE/DUMPFILE、INFORMATION_SCHEMA、TABLE_NAME)等,本领域技术人员可以理解,上述示例性的介绍的预设关键字均为数据库中的代码函数,其具体的含义可参照现有技术中的说明,本实施例对此不做限定。
本领域技术人员可以理解,上述的监测指标仅为示例性的介绍,其可以在上述介绍的数据库访问日志所包括的内容上扩展出更多的监测指标,同时还可以在数据库访问日志的内容扩展的前提下,对应衍生出更多的监测指标,凡是用于指示数据库的状态是否正常的数据均可以作为本实施例的监测指标。
在可选的实施例中,在确定分布式数据库***的状态之后,可以将分布式数据库***的状态存储至监控数据库,其中监控数据库为专门设置用于存储分布式数据库***的状态的数据库,监控数据库可以响应于终端的查询指令,将数据库的状态返回至终端,例如终端的查询指令指示查询近3天内的分布式数据库***的状态,则监控数据库获取仅3天内的分布式数据库***的状态并返回给终端,其中终端的查询指令可以根据实际需求进行设定,本实施例对此不做限制,通过将分布式数据库***的状态存储至数据库,能够方便用户高效快速的获取分布式数据库***的历史状态,以便进行后续的预警与处理。
S306、若分布式数据库***的状态为异常状态,则向指定地址发送预警信息,其中,预警信息用于指示分布式数据库***发生访问异常。
具体的,若分布式数据库***的状态为异常状态,向指定地址发送预警信息,其中指定地址例如可以为管理员或者操作员的终端设备的网络之间互连的协议(InternetProtocol,IP)地址,或者媒体访问控制(Media Access Control,MAC)地址等,此处对此不作限定,其中预警信息例如可以包括访问异常对应的访问用户标识、访问来源地址等,以便管理员或者操作员可以快速对访问异常进行处理,提升***的稳定性。
本实施例提供的分布式数据库***监测方法,包括:对数据库访问请求进行格式化处理,得到数据库访问请求对应的请求数据,其中,请求数据包括数据库标识。根据数据库标识,将格式化后的请求数据发送至数据库标识对应的目标数据库。目标数据库根据请求数据,生成目标数据库对应的数据库访问日志。根据各数据库访问日志的集合,确定分布式数据库***的监测指标。将监测指标与预设阈值信息进行比较,确定分布式数据库***的状态,其中,预设阈值信息用于指示数据库的状态。若分布式数据库***的状态为异常状态,则向指定地址发送预警信息,其中,预警信息用于指示分布式数据库***发生访问异常。通过将数据库访问请求进行格式化处理,从而能够保证各数据库访问日志的结合的格式是统一的,从而避免了***发生混乱,同时在确定***发生异常时,向执行地址发送预警信息,从而能够更快的接近***的访问异常,有效提升***的稳定性。
在上述介绍的实施例的基础上,下面结合一个具体的示例对本申请提供的分布式数据库***监测方法进行进一步地详细说明,结合图4进行介绍,图4为本申请实施例提供的分布式数据库***监测方法的流程图三,如图4所示:
采用请求抓取工具从分布式数据库***中的各个数据库中实时抓取数据库访问请求,并生成各数据库对一个的数据库访问日志,其中请求抓取工具例如可以为MySQLSniffer工具、Go Sniffer等,或者还可以采用任意的请求抓取工具,本实施例对此不做限定。
在生成数据库访问日志之后,接着采用日志文件托运工具将各数据库的数据库访问日志转发至消息中间件,其中日志文件托运工具例如可以为Filebeat,消息中间件在接收到各数据库的数据库访问日志之后,对各访问日志进行汇聚,从而得到各数据库访问日志的集合,其中的消息中间件例如可以为Kafka。
在本实施例中,还设置有数据处理集群,例如可以为storm集群,具体的,数据处理集群从消息中间件中获取数据库访问日志,从而根据各数据库访问日志的集合,确定分布式数据库***的监测指标,并且根据监测指标确定分布式数据库***的状态,并发送预警信息,通过设置单独的数据处理集群,能够有效保证大量的数据能够得到有效的处理。
值得说明的是,上述举例介绍的各个工具并非其唯一的实现方式,其中请求抓取工具、日志文件托运工具、消息中间件以及数据处理集群的具体实现方式均可以根据实际需求进行选择,只要能够对应实现其功能即可。
可以理解的是,本实施例中所有的操作均是实时进行的,例如请求抓取工具会实时抓取到数据库访问请求,同时日志文件托运工具也会实时检测是否生成了数据库访问日志,并立即进行转发,实时进行上述操作能够保证及时发现分布式数据库***的访问异常并进行有效预警,提升分布式数据库***的稳定性和安全性。
图5为本申请实施例提供的分布式数据库***装置的结构示意图一。如图5所示,该装置50包括:生成模块501以及确定模块502。
生成模块501,用于根据分布式数据库***中各数据库对应数据库访问请求,分别生成各所述数据库对应的数据库访问日志;
确定模块502,用于根据各所述数据库访问日志的集合,确定所述分布式数据库***的监测指标;
所述确定模块502,还用于根据所述监测指标确定所述分布式数据库***的状态,其中,所述监测指标用于指示所述分布式数据库***的状态。
在一种可能的设计中,所述生成模块501具体用于:
对所述数据库访问请求进行格式化处理,得到所述数据库访问请求对应的请求数据,其中,所述请求数据包括数据库标识;
根据所述数据库标识,将所述格式化后的请求数据发送至所述数据库标识对应的目标数据库;
所述目标数据库根据所述请求数据,生成所述目标数据库对应的数据库访问日志。
在一种可能的设计中,所述生成模块501还用于:
在根据所述数据库访问日志的集合,确定所述分布式数据库***的监测指标之前,判断各所述数据库的数据库访问日志是否存在更新;
若是,则将更新的所述数据库访问日志发送至所述消息中间件。
所述消息中间件接收更新的所述数据库访问日志并进行存储,得到各所述数据库访问日志的集合。
在一种可能的设计中,所述确定模块502还具体用于:
将所述监测指标与预设阈值信息进行比较,确定所述分布式数据库***的状态,其中,所述预设阈值信息包括所述监测指标对应的预设阈值。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图6为本申请实施例提供的分布式数据库***监测装置的结构示意图二。如图6所示,本实施例在图5实施例的基础上,还包括:发送模块603。
在一种可能的设计中,所述数据库的状态包括正常状态和异常状态;
若所述分布式数据库***的状态为异常状态,则还包括:发送模块603;
所述发送模块具体用于,在所述根据所述监测指标确定所述分布式数据库***的状态之后,向指定地址发送预警信息,其中,所述预警信息用于指示所述分布式数据库***发生访问异常。
在一种可能的设计中,所述发送模块603还用于:
在所述根据所述监测指标确定所述分布式数据库***的状态之后,将所述分布式数据库***的状态存储至监控数据库;
所述监控数据库响应于终端的查询指令,返回所述分布式数据库***的状态。
在一种可能的设计中,所述数据库访问日志包括数据库标识、访问时间、访问用户标识、访问来源地址、访问数据表标识、执行语句、返回数据、响应时长。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图7为本申请实施例提供的分布式数据库***设备的硬件结构示意图,如图7所示,本实施例的分布式数据库***设备70包括:处理器701以及存储器702;其中
存储器702,用于存储计算机执行指令;
处理器701,用于执行存储器存储的计算机执行指令,以实现上述实施例中分布式数据库***方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。
当存储器702独立设置时,该设备还包括总线703,用于连接所述存储器702和处理器701。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上分布式数据库***设备所执行的分布式数据库***方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (9)

1.一种分布式数据库***监测方法,其特征在于,包括:
根据分布式数据库***中各数据库对应数据库访问请求,分别生成各所述数据库对应的数据库访问日志;
根据各所述数据库访问日志的集合,确定所述分布式数据库***的监测指标,其中,所述分布式数据库***的监测指标可以根据所述数据库访问日志进行添加或删除;
根据所述监测指标确定所述分布式数据库***的状态,其中,所述监测指标用于指示所述分布式数据库***的状态;
所述根据分布式数据库***中各数据库对应数据库访问请求,分别生成各所述数据库对应的数据库访问日志,包括:
对所述数据库访问请求进行格式化处理,得到所述数据库访问请求对应的请求数据,其中,所述请求数据包括数据库标识;
根据所述数据库标识,将所述格式化后的请求数据发送至所述数据库标识对应的目标数据库;
所述目标数据库根据所述请求数据,生成所述目标数据库对应的数据库访问日志。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库访问日志的集合,确定所述分布式数据库***的监测指标之前,所述方法还包括:
判断各所述数据库的数据库访问日志是否存在更新;
若是,则将更新的所述数据库访问日志发送至消息中间件;
所述消息中间件接收更新的所述数据库访问日志并进行存储,得到各所述数据库访问日志的集合。
3.根据权利要求1所述的方法,其特征在于,所述根据所述监测指标确定所述分布式数据库***的状态,包括:
将所述监测指标与预设阈值信息进行比较,确定所述分布式数据库***的状态,其中,所述预设阈值信息包括所述监测指标对应的预设阈值。
4.根据权利要求1所述的方法,其特征在于,所述数据库的状态包括正常状态和异常状态;
若所述分布式数据库***的状态为异常状态,则所述根据所述监测指标确定所述分布式数据库***的状态之后,所述方法还包括:
向指定地址发送预警信息,其中,所述预警信息用于指示所述分布式数据库***发生访问异常。
5.根据权利要求1所述的方法,其特征在于,所述根据所述监测指标确定所述分布式数据库***的状态之后,所述方法还包括:
将所述分布式数据库***的状态存储至监控数据库;
所述监控数据库响应于终端的查询指令,返回所述分布式数据库***的状态。
6.根据权利要求1所述的方法,其特征在于,所述数据库访问日志包括数据库标识、访问时间、访问用户标识、访问来源地址、访问数据表标识、执行语句、返回数据、响应时长。
7.一种分布式数据库***监测装置,其特征在于,包括:
生成模块,用于根据分布式数据库***中各数据库对应数据库访问请求,分别生成各所述数据库对应的数据库访问日志;
确定模块,用于根据各所述数据库访问日志的集合,确定所述分布式数据库***的监测指标;
所述确定模块,还用于根据所述监测指标确定所述分布式数据库***的状态,其中,所述监测指标用于指示所述分布式数据库***的状态;
所述生成模块,还用于对所述数据库访问请求进行格式化处理,得到所述数据库访问请求对应的请求数据,其中,所述请求数据包括数据库标识,根据所述数据库标识,将所述格式化后的请求数据发送至所述数据库标识对应的目标数据库,所述目标数据库根据所述请求数据,生成所述目标数据库对应的数据库访问日志。
8.一种分布式数据库***监测设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至6中任一所述的方法。
9.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至6中任一所述的方法。
CN201910794629.0A 2019-08-27 2019-08-27 分布式数据库***监测方法及装置 Active CN110502581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910794629.0A CN110502581B (zh) 2019-08-27 2019-08-27 分布式数据库***监测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910794629.0A CN110502581B (zh) 2019-08-27 2019-08-27 分布式数据库***监测方法及装置

Publications (2)

Publication Number Publication Date
CN110502581A CN110502581A (zh) 2019-11-26
CN110502581B true CN110502581B (zh) 2022-07-08

Family

ID=68589601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910794629.0A Active CN110502581B (zh) 2019-08-27 2019-08-27 分布式数据库***监测方法及装置

Country Status (1)

Country Link
CN (1) CN110502581B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639098A (zh) * 2020-05-11 2020-09-08 紫光云技术有限公司 一种云日志管理方法
CN112555050B (zh) * 2020-12-02 2022-03-11 西安航天动力试验技术研究所 一种分布式超音速空气流生成装置运行状态监测及急停方法
CN113254250B (zh) * 2021-06-16 2022-01-04 阿里云计算有限公司 数据库服务器异常成因检测方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126551A (zh) * 2016-06-13 2016-11-16 浪潮电子信息产业股份有限公司 一种Hbase数据库访问日志的生成方法、装置及***
CN107193833A (zh) * 2016-03-15 2017-09-22 阿里巴巴集团控股有限公司 数据库访问的监控方法和装置
CN108874642A (zh) * 2018-05-25 2018-11-23 平安科技(深圳)有限公司 Sql性能监控方法、装置、计算机设备及存储介质
CN109165143A (zh) * 2018-08-17 2019-01-08 张家港康得新光电材料有限公司 数据库检测方法、***、服务器及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005710A (ja) * 1999-06-23 2001-01-12 Hitachi Ltd データベース統合システムおよび複数のデータベースのデータアクセス方法
CN103957133A (zh) * 2014-04-22 2014-07-30 北京联时空网络通信设备有限公司 一种日志监测方法及装置
CN105224445B (zh) * 2015-10-28 2017-02-15 北京汇商融通信息技术有限公司 分布式跟踪***
CN106126652B (zh) * 2016-06-24 2019-03-15 武汉斗鱼网络科技有限公司 用于分布式数据库集群的故障数据库切换方法及***
CN109241154A (zh) * 2018-07-05 2019-01-18 武汉迎风聚智科技有限公司 一种分布式数据库监控分析方法及***
CN109558301A (zh) * 2018-12-03 2019-04-02 郑州云海信息技术有限公司 一种分布式***数据监测方法、装置及相关设备
CN109558390A (zh) * 2018-12-03 2019-04-02 郑州云海信息技术有限公司 一种分布式***日志的监控方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193833A (zh) * 2016-03-15 2017-09-22 阿里巴巴集团控股有限公司 数据库访问的监控方法和装置
CN106126551A (zh) * 2016-06-13 2016-11-16 浪潮电子信息产业股份有限公司 一种Hbase数据库访问日志的生成方法、装置及***
CN108874642A (zh) * 2018-05-25 2018-11-23 平安科技(深圳)有限公司 Sql性能监控方法、装置、计算机设备及存储介质
CN109165143A (zh) * 2018-08-17 2019-01-08 张家港康得新光电材料有限公司 数据库检测方法、***、服务器及存储介质

Also Published As

Publication number Publication date
CN110502581A (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
CN108446407B (zh) 基于区块链的数据库审计方法和装置
CN110502581B (zh) 分布式数据库***监测方法及装置
CN110795257A (zh) 处理多集群作业记录的方法、装置、设备及存储介质
CA3068345C (en) Witness blocks in blockchain applications
US11093446B2 (en) Duplicate request checking for file system interfaces
US20200125473A1 (en) Hybrid log viewer with thin memory usage
CN111930489B (zh) 一种任务调度方法、装置、设备及存储介质
CN105022815A (zh) 信息拦截方法及装置
CN109388651B (zh) 一种数据处理方法和装置
CN113626882A (zh) 一种生成设备标识符的方法、装置、介质
CN112969198A (zh) 数据传输方法、终端及存储介质
US10394771B2 (en) Use of search templates to identify slow information server search patterns
CN111078697B (zh) 一种数据存储方法、装置、存储介质及电子设备
CN110287049B (zh) 数据处理方法、装置和存储介质
US11308212B1 (en) Adjudicating files by classifying directories based on collected telemetry data
CN109146096B (zh) 报修事件的处理方法、装置、存储介质及电子设备
CN116226905A (zh) 分布式数据库限流方法、限流装置、***及电子设备
CN114070856B (zh) 数据处理方法、装置、***、运维审计设备和存储介质
CN113656378A (zh) 一种服务器管理方法、装置、介质
CN113918204A (zh) 一种元数据脚本管理方法、装置、电子设备和存储介质
CN114116645A (zh) 多处理单元的日志管理方法、装置、存储介质及电子设备
CN110362464B (zh) 软件分析方法及设备
CN112597119A (zh) 一种处理日志的生成方法、装置及存储介质
CN113672248A (zh) 一种补丁获取方法、装置、服务端及存储介质
CN112597354A (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