CN106528803A - 一种MongoDB数据库对象复制延迟监控方法和装置 - Google Patents
一种MongoDB数据库对象复制延迟监控方法和装置 Download PDFInfo
- Publication number
- CN106528803A CN106528803A CN201611001126.6A CN201611001126A CN106528803A CN 106528803 A CN106528803 A CN 106528803A CN 201611001126 A CN201611001126 A CN 201611001126A CN 106528803 A CN106528803 A CN 106528803A
- Authority
- CN
- China
- Prior art keywords
- database
- data base
- mongodb
- time
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012544 monitoring process Methods 0.000 title claims abstract description 20
- 230000010076 replication Effects 0.000 title abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000013508 migration Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 241000406668 Loxodonta cyclotis Species 0.000 claims 2
- 230000003111 delayed effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241001178520 Stomatepia mongo Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种MongoDB数据库对象复制延迟监控方法和装置,该方法包括:获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息;根据MongoDB数据库的状态信息中的数据库角色参数,确定MongoDB数据库是否为从数据库;获取从数据库从源数据库复制数据库对象的从数据库复制信息,从数据库复制信息包括源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间;根据数据库复制信息中的源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间,确定数据库对象的复制时间是否延迟。本发明还公开相应的MongoDB数据库对象复制延迟监控装置。
Description
技术领域
本发明涉及数据库系统,具体而言,涉及一种MongoDB数据库对象复制延迟监控方法和装置。
背景技术
随着越来越多的互联网企业开始使用数据库作为企业保存信息的数据库,而其中最经典的架构就是主从读写分离,通过这种方式实现海量业务的支持。常用的数据库一般有MongoDB数据库。作为衡量MongoDB数据库主从可用性的一个重要指标,就是主从复制的延迟情况,一旦主从出现延迟,将会极大影响读写分离数据的一致性,导致出现读写不一致。因此,需要提出一个对MongoDB数据库的主从复制延迟情况进行监控的方案。
发明内容
有鉴于此,本发明的目的在于提供一种MongoDB数据库对象复制延迟监控方法和装置,以力图解决或者至少缓解上面存在的问题。
第一方面,本发明提供一种MongoDB数据库对象复制延迟监控方法,该方法包括:
获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息,所述MongoDB数据库的状态信息中包括数据库角色参数和从数据库复制信息参数;
根据所述MongoDB数据库的状态信息中的数据库角色参数,确定所述MongoDB数据库是否为从数据库;
在确定所述MongoDB数据库为所述从数据库后,根据所述从数据库复制信息参数,获取所述从数据库从源数据库复制数据库对象的从数据库复制信息,所述从数据库复制信息包括源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间;
根据所述从数据库复制信息中的所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,确定所述数据库对象的复制时间是否延迟。
可选地,在根据本发明的方法中,在所述获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息之前,包括:
获取连接所述提供MongoDB数据库服务的服务器的驱动文件;
在确定所述驱动文件安装成功后,通过预定连接连接到所述服务器。
可选地,在根据本发明的方法中,所述根据所述从数据库复制信息中的所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,确定所述数据库对象的复制时间是否延迟,包括:
根据所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,计算得到所述数据库对象的复制时间;
判断所述复制时间是否大于预定复制时间阈值;
如果所述复制时间大于所述预定复制时间阈值,则所述数据库对象的复制时间发生延迟。
可选地,在根据本发明的方法中,还包括:
将存储在第一列表中的上一次获取的所述数据库复制信息迁移到第二列表中;
将当前获取的所述从数据库从源数据库复制数据库对象的数据库复制信息存储在第一列表中。
可选地,在根据本发明的方法中,还包括:
响应于接收到的用户设置的需要显示的数据库对象的预定范围,将对应所述预定范围的所述第一列表或所述第二列表中的所述数据库对象进行显示。
第二方面,本发明提供一种数据库对象复制延迟监控装置,该方法包括:
信息获取单元,用于获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息,所述MongoDB数据库的状态信息中包括数据库角色参数和从数据库复制信息参数;
数据库确定单元,用于根据所述MongoDB数据库的状态信息中的数据库角色参数,确定所述MongoDB数据库是否为从数据库;
复制信息获取单元,用于在确定所述MongoDB数据库为所述从数据库后,根据所述从数据库复制信息参数,获取所述从数据库从源数据库复制数据库对象的从数据库复制信息,所述从数据库复制信息包括源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间;
延迟时间监控单元,用于根据所述从数据库复制信息中的所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,确定所述数据库对象的复制时间是否延迟。
可选地,在根据本发明的装置中,还包括服务器连接单元,所述服务器连接单元,用于获取连接所述能够提供MongoDB数据库服务的服务器的驱动文件,在确定所述驱动文件安装成功后,通过预定连接连接到所述服务器。
可选地,在根据本发明的装置中,所述延迟时间监控单元还用于:
根据所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,计算得到所述数据库对象的复制时间;
判断所述复制时间是否大于预定复制时间阈值;
如果所述复制时间大于所述预定复制时间阈值,则所述数据库对象的复制时间发生延迟。
可选地,在根据本发明的装置中,还包括信息迁移单元,所述信息迁移单元,用于将存储在第一列表中的上一次获取的所述数据库复制信息迁移到第二列表中;
所述信息获取单元,用于将当前获取的所述从数据库从源数据库复制数据库对象的数据库复制信息存储在第一列表中。
可选地,在根据本发明的装置中,还包括数据库对象显示单元,所述数据库对象显示单元,用于响应于接收到的用户设置的需要显示的数据库对象的预定范围,将对应所述预定范围的所述第一列表或所述第二列表中的所述数据库对象进行显示。
根据本发明的技术方案,通过分析MongoDB数据库的状态信息,监控从数据库复制延迟情况,进行预警,避免主数据库与从数据库数据不一致。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示出了本发明实施例所提供的一种MongoDB数据库对象复制延迟监控方法的流程图;
图3示出了本发明实施例所提供的MongoDB数据库模型示意图;
图4示出了本发明实施例所提供的一种MongoDB数据库对象复制延迟监控装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型工SA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括—但不限于—操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/0)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图2示出了根据本发明实施例的一种MongoDB数据库对象复制延迟监控方法的流程图。如图2所示,该方法始于步骤S210。
在步骤S210中,获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息。其中,MongoDB数据库的状态信息一般是JSON格式,状态信息包括数据库角色参数和从数据库复制信息参数。
MongoDB数据库是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是非关系数据库当中功能最丰富,支持的数据结构非常松散,是类似JSON的BSON格式,因此可以存储比较复杂的数据类型。Mongo数据库一般包括主库(Master)和从库(Slave),可参考图3。在MongoDB服务器中,用于处理客户端的请求,且不复制其他MongoDB数据库的数据副本的服务器为主服务器,即Master。在MongoDB服务器中,通过复制来保存主服务器的数据副本,不接受任何客户端的写请求,只允许读请求的服务器为从服务器,即Slave。
MongoDB数据库自身携带的性能分析工具如mongostat会实时采集自身MongoDB数据库的状态信息,并存储在提供MongoDB数据库服务的服务器中。其中,MongoDB数据库的状态信息包括数据每秒插入次数、每秒查询次数、内存使用量以及主从复制信息(从数据库复制信息)等等。
在获取上述状态信息之前,获取连接提供MongoDB数据库服务的服务器的驱动文件,在确定驱动文件安装成功后,通过预定连接连接到服务器。例如,监控工具(即MongoDB数据库对象复制延迟监控装置)下载pymongo.tar.gz驱动文件,驱动文件解压安装后,Python脚本文件就能使用pymongo函数建立与提供MongoDB数据库服务的服务器连接,在通过MongoDB数据库权限验证后,监控工具将被允许通过TCP连接方式连接至远程MongoDB数据库。
在与MongoDB数据库建立连接后,监控工具通过执行db.serverStatus()命令获取MongoDB数据库中的状态信息。上述命令是MongoDB内部获取一系列统计信息的命令,通过此命令不仅能获得MongoDB服务器的一些统计信息和基本信息,还可以获取当时的复制信息,通过筛选这些信息,可以获得此时服务器的状态信息。
获取到上述状态信息,如,server_status={"host":"xxx","repl":{"apply":{"batches":{"num":0,"totalMillis":0},"ops":NumberLong(0)},},"ok":1},解析上述状态信息,获取数据库角色参数role和从数据库复制信息参数repl,以便根据上述参数获取与参数对应的信息。
在步骤S220中,根据MongoDB数据库的状态信息中的数据库角色参数,确定MongoDB数据库是否为从数据库。MongoDB数据库的角色包括主数据库(Master)和从数据库(Slave),通过数据库角色参数(role)存储的内容可以确定MongoDB数据是否为从数据库。
在步骤S230中,在确定MongoDB数据库为从数据库后,根据从数据库复制信息参数,获取从数据库从源数据库复制数据库对象的从数据库复制信息,从数据库复制信息包括源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间。
在步骤S220中,解析的repl字段中存储有从数据库从源数据库复制数据库对象的从数据库复制信息,该从数据库复制信息中的源数据库最近一次处理客户端请求的时间和从数据库最近一次从源数据库复制数据库对象的时间分别保存到局部变量master_datetime、slave_datetime中。
在一种实施方式中,将存储在第一列表(如mongodb_replication)中的上一次获取的数据库复制信息迁移到第二列表(如mongodb_replication_history)中,将当前获取的所述从数据库从源数据库复制数据库对象的数据库复制信息存储在第一列表中。例如,在python脚本文件中执行SQL语句,通过SQL语句将mongodb_replication表中保留的上次的从数据库复制信息迁移到mongodb_replication_history表中,数据库对象迁移代码为:insertinto mongodb_replication_history SELECT*frommongodb_replication whereserver_id='%s',实现从数据库复制信息持久化存储。随后,通过SQL语句清空mongodb_replication表(如deletefrom mongodb_replication where server_id='%s')。
随后,将代码变量中保存从数据复制信息的变量(如master_host、master_datetime、slave_datetime、delay等)转化成SQL语句,即insertintomongodb_replication(server_id,tags,host,port,role,master_host,master_datetime,slave_datetime,delay)values(%s,%s,%s,%s,%s,master_host,master_datetime,slave_datetime,delay),将最新的从数据库复制信息通过python写入到mongodb_replication表中。
mongodb_replication表中存放了实时的从数据库复制信息,每隔一段时间就会获取最新的从数据库复制信息,表中的信息也会随之更新,web页面展示的信息都是最新的信息;
在一种实施方式中,响应于接收到的用户设置的需要显示的数据库对象的预定范围,将对应预定范围的第一列表或第二列表中的所述数据库对象进行显示。例如,通过PHP脚本文件中的函数如get_replication_total_record(),也就是在php内执行SQL命令:select*from monodb_replication where server_id=%s,建立和mongodb_replication表的映射,只要web页面进行刷新操作时,都能获取mongodb_replication表中的最新信息。当在web页面选择某一时间段时,就能直接获取mongodb_replication_history表中的一段时间内的数据进行显示。
在步骤S240中,根据从数据库复制信息中的源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间,确定数据库对象的复制时间是否延迟。
根据一种实施方式,根据源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间,计算得到数据库对象的复制时间,判断复制时间是否大于预定复制时间阈值,如果复制时间大于预定复制时间阈值,则数据库对象的复制时间发生延迟。在一个实施例中,设定MongoDB数据库复制延迟告警阀值,即预定复制时间阈值,此阀值的设定一般与业务对复制延迟的容忍程度有关,当业务要求主从复制之间延迟较低时,可以设置阀值为60秒。在python中执行SQL命令,获取mongodb_replication表中获取MongoDB复制延迟时间,判断是否超过预定复制时间阀值。如果超过上述预定复制时间阀值,说明数据库对象的复制时间发生延迟,进行报警,由相关人员进行处理。进一步,通过check_if_ok()函数判断主从复制延迟情况是否已经缓解,即复制时间是否小于给定的预定复制时间阀值。在延迟情况得到缓解后,报警解除。
根据本发明的技术方案,通过分析MongoDB数据库的状态信息,监控从数据库复制延迟情况,进行预警,避免主数据库与从数据库数据不一致。
图4示出了根据本发明实施例提供的一种MongoDB数据库对象复制延迟监控装置的结构图。如图4所示,该装置包括:信息获取单元410、数据库确定单元420、复制信息获取单元430、延迟时间监控单元440和服务器连接单元450、信息迁移单元460和数据库对象显示单元470。
信息获取单元410获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息。MongoDB数据库的状态信息中包括数据库角色参数和从数据库复制信息参数。在获取上述状态信息之前,服务器连接单元450获取连接所述能够提供MongoDB数据库服务的服务器的驱动文件,在确定所述驱动文件安装成功后,通过预定连接连接到所述服务器。
信息迁移单元460将存储在第一列表中的上一次获取的所述数据库复制信息迁移到第二列表中,信息获取单元410用于将当前获取的所述从数据库从源数据库复制数据库对象的数据库复制信息存储在第一列表中。
数据库确定单元420根据所述MongoDB数据库的状态信息中的数据库角色参数,确定所述MongoDB数据库是否为从数据库。
复制信息获取单元430在确定所述MongoDB数据库为所述从数据库后,根据所述从数据库复制信息参数,获取所述从数据库从源数据库复制数据库对象的从数据库复制信息,所述从数据库复制信息包括源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间。
数据库对象显示单元470响应于接收到的用户设置的需要显示的数据库对象的预定范围,将对应所述预定范围的所述第一列表或所述第二列表中的所述数据库对象进行显示。
延迟时间监控单元440根据所述从数据库复制信息中的源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间,确定所述数据库对象的复制时间是否延迟。其中,延迟时间监控单元440根据所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,计算得到所述数据库对象的复制时间,判断所述复制时间是否大于预定复制时间阈值,如果所述复制时间大于所述预定复制时间阈值,则所述数据库对象的复制时间发生延迟。
本发明实施例所提供的一种MongoDB数据库对象复制延迟监控装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种MongoDB数据库对象复制延迟监控方法,其特征在于,该方法包括:
获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息,所述MongoDB数据库的状态信息中包括数据库角色参数和从数据库复制信息参数;
根据所述MongoDB数据库的状态信息中的数据库角色参数,确定所述MongoDB数据库是否为从数据库;
在确定所述MongoDB数据库为所述从数据库后,根据所述从数据库复制信息参数,获取所述从数据库从源数据库复制数据库对象的从数据库复制信息,所述从数据库复制信息包括源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间;
根据所述从数据库复制信息中的所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,确定所述数据库对象的复制时间是否延迟。
2.如权利要求1所述的方法,其特征在于,在所述获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息之前,包括:
获取连接所述提供MongoDB数据库服务的服务器的驱动文件;
在确定所述驱动文件安装成功后,通过预定连接连接到所述服务器。
3.如权利要求1所述的方法,其特征在于,所述根据所述从数据库复制信息中的所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,确定所述数据库对象的复制时间是否延迟,包括:
根据所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,计算得到所述数据库对象的复制时间;
判断所述复制时间是否大于预定复制时间阈值;
如果所述复制时间大于所述预定复制时间阈值,则所述数据库对象的复制时间发生延迟。
4.如权利要求1所述的方法,其特征在于,还包括:
将存储在第一列表中的上一次获取的所述数据库复制信息迁移到第二列表中;
将当前获取的所述从数据库从源数据库复制数据库对象的数据库复制信息存储在第一列表中。
5.如权利要求1或4中所述的方法,其特征在于,还包括:
响应于接收到的用户设置的需要显示的数据库对象的预定范围,将对应所述预定范围的所述第一列表或所述第二列表中的所述数据库对象进行显示。
6.一种数据库对象复制延迟监控装置,其特征在于,该方法包括:
信息获取单元,用于获取提供MongoDB数据库服务的服务器中MongoDB数据库的状态信息,所述MongoDB数据库的状态信息中包括数据库角色参数和从数据库复制信息参数;
数据库确定单元,用于根据所述MongoDB数据库的状态信息中的数据库角色参数,确定所述MongoDB数据库是否为从数据库;
复制信息获取单元,用于在确定所述MongoDB数据库为所述从数据库后,根据所述从数据库复制信息参数,获取所述从数据库从源数据库复制数据库对象的从数据库复制信息,所述从数据库复制信息包括源数据库处理客户端请求的时间和从数据库从源数据库复制数据库对象的时间;
延迟时间监控单元,用于根据所述从数据库复制信息中的所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,确定所述数据库对象的复制时间是否延迟。
7.如权利要求6所述的装置,其特征在于,还包括服务器连接单元,
所述服务器连接单元,用于获取连接所述能够提供MongoDB数据库服务的服务器的驱动文件,在确定所述驱动文件安装成功后,通过预定连接连接到所述服务器。
8.如权利要求6所述的装置,其特征在于,所述延迟时间监控单元还用于:
根据所述源数据库处理客户端请求的时间和所述从数据库从源数据库复制数据库对象的时间,计算得到所述数据库对象的复制时间;
判断所述复制时间是否大于预定复制时间阈值;
如果所述复制时间大于所述预定复制时间阈值,则所述数据库对象的复制时间发生延迟。
9.如权利要求6所述的装置,其特征在于,还包括信息迁移单元,所述信息迁移单元,用于将存储在第一列表中的上一次获取的所述数据库复制信息迁移到第二列表中;
所述信息获取单元,用于将当前获取的所述从数据库从源数据库复制数据库对象的数据库复制信息存储在第一列表中。
10.如权利要求6或9所述的装置,其特征在于,还包括数据库对象显示单元,所述数据库对象显示单元,用于响应于接收到的用户设置的需要显示的数据库对象的预定范围,将对应所述预定范围的所述第一列表或所述第二列表中的所述数据库对象进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611001126.6A CN106528803B (zh) | 2016-11-14 | 2016-11-14 | 一种MongoDB数据库对象复制延迟监控方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611001126.6A CN106528803B (zh) | 2016-11-14 | 2016-11-14 | 一种MongoDB数据库对象复制延迟监控方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106528803A true CN106528803A (zh) | 2017-03-22 |
CN106528803B CN106528803B (zh) | 2019-04-23 |
Family
ID=58351680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611001126.6A Active CN106528803B (zh) | 2016-11-14 | 2016-11-14 | 一种MongoDB数据库对象复制延迟监控方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528803B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957933A (zh) * | 2017-12-05 | 2018-04-24 | 泰康保险集团股份有限公司 | 数据复制的监控方法及装置 |
CN109213827A (zh) * | 2017-07-03 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种数据处理系统、方法、路由器及从数据库 |
CN109684410A (zh) * | 2018-12-24 | 2019-04-26 | 浙江大华技术股份有限公司 | 一种确定主从数据库同步时延的系统、方法及储存介质 |
CN110019500A (zh) * | 2017-08-21 | 2019-07-16 | 东软集团股份有限公司 | 一种复制组状态监控方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7158998B2 (en) * | 2002-07-31 | 2007-01-02 | Cingular Wireless Ii, Llc | Efficient synchronous and asynchronous database replication |
CN103023978A (zh) * | 2012-11-20 | 2013-04-03 | 青岛海信传媒网络技术有限公司 | 应用聚合平台的应用属性信息同步方法和系统 |
CN104246770A (zh) * | 2012-04-12 | 2014-12-24 | 诺基亚公司 | 便利设备间切换的方法和装置 |
CN105589797A (zh) * | 2015-09-17 | 2016-05-18 | 中国银联股份有限公司 | 主从数据库间数据同步延时检测的方法 |
CN105989006A (zh) * | 2015-01-27 | 2016-10-05 | 中芯国际集成电路制造(上海)有限公司 | 数据迁移方法和装置 |
-
2016
- 2016-11-14 CN CN201611001126.6A patent/CN106528803B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7158998B2 (en) * | 2002-07-31 | 2007-01-02 | Cingular Wireless Ii, Llc | Efficient synchronous and asynchronous database replication |
CN104246770A (zh) * | 2012-04-12 | 2014-12-24 | 诺基亚公司 | 便利设备间切换的方法和装置 |
CN103023978A (zh) * | 2012-11-20 | 2013-04-03 | 青岛海信传媒网络技术有限公司 | 应用聚合平台的应用属性信息同步方法和系统 |
CN105989006A (zh) * | 2015-01-27 | 2016-10-05 | 中芯国际集成电路制造(上海)有限公司 | 数据迁移方法和装置 |
CN105589797A (zh) * | 2015-09-17 | 2016-05-18 | 中国银联股份有限公司 | 主从数据库间数据同步延时检测的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213827A (zh) * | 2017-07-03 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种数据处理系统、方法、路由器及从数据库 |
CN109213827B (zh) * | 2017-07-03 | 2022-07-08 | 阿里云计算有限公司 | 一种数据处理系统、方法、路由器及从数据库 |
CN110019500A (zh) * | 2017-08-21 | 2019-07-16 | 东软集团股份有限公司 | 一种复制组状态监控方法、装置、设备及存储介质 |
CN107957933A (zh) * | 2017-12-05 | 2018-04-24 | 泰康保险集团股份有限公司 | 数据复制的监控方法及装置 |
CN107957933B (zh) * | 2017-12-05 | 2021-11-16 | 泰康保险集团股份有限公司 | 数据复制的监控方法及装置 |
CN109684410A (zh) * | 2018-12-24 | 2019-04-26 | 浙江大华技术股份有限公司 | 一种确定主从数据库同步时延的系统、方法及储存介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106528803B (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528803A (zh) | 一种MongoDB数据库对象复制延迟监控方法和装置 | |
US20150074462A1 (en) | Diagnostic analysis tool for disk storage engineering and technical support | |
AU2018274972A1 (en) | Data quality analysis | |
US10223388B2 (en) | Avoid double counting of mapped database data | |
US10152512B2 (en) | Metadata-driven program code generation for clinical data analysis | |
US20190005086A1 (en) | System and method for system for determining database relations based on data monitoring | |
US20190332697A1 (en) | Database schema validations | |
CN103235817A (zh) | 一种大规模感染控制数据存储处理方法 | |
CN114880405A (zh) | 一种基于数据湖的数据处理方法及系统 | |
CN113722370A (zh) | 基于指标分析的数据管理方法、装置、设备及介质 | |
CN111881105A (zh) | 业务数据的标注模型及其模型训练方法 | |
CN112100239A (zh) | 车辆检测设备画像生成方法、装置、服务器及可读存储介质 | |
CN111143421A (zh) | 数据共享方法及装置、电子设备、存储介质 | |
CN113656228A (zh) | 一种磁盘的故障检测方法、装置、计算机设备及存储介质 | |
CN110069392A (zh) | 一种反映数据中心it设备能效特征的获取方法 | |
US9053100B1 (en) | Systems and methods for compressing database objects | |
CN109615217A (zh) | 工单生成方法、装置与存储介质 | |
CN111104464B (zh) | 一种数据同步修改方法、读取方法及系统、可读存储介质 | |
CN113705684B (zh) | 反向迭代的异常检测方法、装置、电子设备及介质 | |
CN111767222A (zh) | 数据模型的验证方法、装置、电子设备、存储介质 | |
CN116414587A (zh) | 故障数据获取方法、故障处理方法、电子设备及存储介质 | |
CN112445633A (zh) | 定位故障磁盘的方法及装置 | |
CN113010399A (zh) | 日志数据处理方法、系统、设备及介质 | |
TWM608944U (zh) | 法令遵循風險自評問卷系統 | |
US20130143192A1 (en) | Method for calculating students' time spent answering questions in an on-line homework system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231206 Address after: C1201, 11th Floor, Building C, No. 9 Shangdi Third Street, Haidian District, Beijing, 100000 RMB Patentee after: Beijing Renpin Technology Development Co.,Ltd. Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |