CN102231161A - 数据库同步验证及监控方法 - Google Patents
数据库同步验证及监控方法 Download PDFInfo
- Publication number
- CN102231161A CN102231161A CN 201110182440 CN201110182440A CN102231161A CN 102231161 A CN102231161 A CN 102231161A CN 201110182440 CN201110182440 CN 201110182440 CN 201110182440 A CN201110182440 A CN 201110182440A CN 102231161 A CN102231161 A CN 102231161A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- supervising
- checking
- tables
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种数据库同步验证及监控方法,包括:S1:由待验证主数据库及其从数据库中采集数据库表信息,包括数据库名、表名和采集时间;S2:通过对采集到的所述数据库表信息进行数据分析比对,检查主数据库与每一从数据库之间的数据一致性;S3:根据检查结果判断是否存在数据不同步,根据判断结果选择性触发Web警示或邮件/短信通知。该方法能够同时对多台数据库和多个数据表进行同步验证,能够及时准确定位到表的数据同步状态,并及时通知数据库维护人员。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及数据库的验证及监控。
背景技术
数据库是一个系统或网站的核心部分,对数据库的监控是必不可少的。然而,随着数据库中数据量的日益增长,现有系统及网站通常采用读写分离和多主多从的方式来实现其高可用性。例如,图1所示的一组应用数据库包括一个主(Master)库和一个或多个从(Slave)库。在对数据库执行写操作或更新操作时,通过主(Master)数据库进行写入更新,并且在将数据写入主(Master)数据库后,这些数据会被同步到另外的一台或多台从(Slave)库中;而在对数据库执行读取操作时,读取的是这些从(Slave)库中的数据。
然而,传统的数据库监控不能满足类似上述的多台同步数据库中针对表的监控。传统方案基本上是依靠开源软件或人工进行监控和判断。开源软件监控方式是对整个库表进行同步状态监控,若发现数据不同步,则发送邮件告知目前同步状态异常,但并不能具体告知是库中的哪个表出现了异常。这样的监控方式在灵活性、可定制性、可操作性、可扩展性以及时性上都无法得到有效保障。
因此,需要一种改进的、能够同时对多台数据库和多个数据表进行同步验证、及时准确定位到表的数据同步状态、及时通知数据库维护人员的、自定制同步验证和监控的方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题在于如何实现对多台同步数据库中的表的同步状况的自定制实时验证和监控。
(二)技术方案
为解决上述技术问题,本发明的技术方案提供了一种数据库同步验证及监控方法,包括以下步骤:
S1:由待验证主数据库及其从数据库中采集数据库表信息,包括数据库名、表名和采集时间;
S2:通过对采集到的所述数据库表信息进行数据分析比对,检查主数据库与每一从数据库之间的数据一致性;
S3:根据检查结果判断是否存在数据不同步,若存在,则选择性触发Web警示或邮件/短信通知。
其中,所述步骤S1包括:对待验证的数据库和数据表名进行约定,通过数据库表名查询指令的方式采集数据表记录集。
其中,步骤S2中,每一所述数据分析比对执行至少三次。
其中,步骤S3进一步包括:初次检测到数据不同步状况时,仅触发Web警示;连续检测到数据不同步状况时,则触发邮件/短信通知。
其中,所所述Web警示或邮件/短信通知包括突出显示存在数据不同步状况的数据库表。
(三)有益效果
根据本发明的数据库同步验证及监控方法,能够在数据库表同步发生异常时,第一时间通过邮件或短信或其他方式将不同步的表通知到数据库管理人员;可通过WEB页面灵活地对多服务器、多数据库、多个数据表同时进行日常监控,以减轻数据库管理人员的日常工作量,并能够保障及时、准确、有效地将数据库的运行情况展示在管理员面前;同时本技术方案还可以与其他开源监控软件进行整合(例如网络监控软件Nagios)。
附图说明
图1是现有应用数据库的示意图;
图2是根据本发明的数据库同步验证及监控方法的流程图;
图3是根据本发明的数据库同步验证及监控方法的一个实施例的示意图。
具体实施方式
下文中,将结合附图和具体实施例详细描述本发明。下述实施例仅用于解释本发明的技术方案的目的。因此,本发明的技术方案不应该由本实施例限定。下述实施例中所使用的要素同样也不应用于限定本发明的技术方案。
图2是示出了根据本发明的数据库同步验证及监控方法的流程图。
如图2所示,本发明的数据库同步验证及监控方法主要包括以下步骤:
S1:由待验证主数据库及其从数据库中采集数据库表信息;
本步骤中,分别从主数据库和从数据库中采集数据库表信息,包括但不限于数据库名、表名和采集时间,并将其存储在监控数据库中。
如前所述,本技术方案能够具体告知哪个库中的哪个表出现了异常。这一有益效果是通过“数据采集”来实现的。在采集数据时,对待验证的数据库和数据表名进行约定,然后通过数据库表名查询指令的方式采集数据表记录集,例如select count(*)from tablename。
S2:通过对采集到的所述数据库表信息进行数据分析比对,同步检查主数据库与每一从数据库之间的数据一致性;
具体地,在将数据表记录集记录写入到监控数据库中后,由后台程序对保存在监视数据库里的值进行三次及以上的分析对比,即:检查主数据库与每一从数据库之间的数据一致性,以确保主、从数据库中的表数据信息的同步一致性;如果检测到数据不一致,则通过多种可行方式警示维护人员,同时告知维护人员具体是库中的哪个数据库的哪个表出现了异常。
S3:根据检查结果判断是否存在异常状况,根据判断结果选择性触发Web展示或邮件/短信通知。
具体地,将对比后的结果通过Web方式进行展示;如果数据发生异常,则将通过Web警示或邮件/短信方式通知数据库维护人员。
下面将对根据本发明的数据库同步验证及监控方法的具体实施例进行详细说明。
图3例示出了包括一个主数据库Master和三台从数据库Slave1、Slave2和Slave3的数据库系统,实际上,本发明适用于多台从数据库的情况。
在图3所示的实施例中,为了获取监控数据,在master、slave1、slave2和slave3上分别执行下列语句:select count(1) from $taccount_file,并将获取的监控数据写入到监控数据库中的table_count数据表中。
举例来说,假设插入到table_count数据表中的数据为(′1′,′account_file′,′orders′,′511′,′511′,′511′,′511′,null,null,null,null,′201106131000′,′0′),其表示:id 1,被统计表的名称为account_file,所在数据库为orders,分别采集了四台服务器的account_file表的记录,值为master 511|slave1 511|slave2 511|slave3 511,采集数据的时间为2011年6月13日下午一点整,最后面的0为status字段值;当Status=0时,数据正常;当Status大于0时,则说明有异常出现。
接着,对所采集的数据执行分析对比。仍以一个主数据库和三个从数据库为例,对比过程可描述如下:
此时,如果master等于slave1,并且master等于slave2,并且master等于slave3,则更新数据表(table_count)中字段(status)值为0,否则更新字段(status)值为status+1。这里的status+1实际上是增加了一次故障记录。
需要说明的是,如果表不同步的情况只是第一次发生,将不进行邮件或短信通知。因为在同步Master数据时,Slave1、Slave2和Slave3并不能做到绝对同步,在下一次数据采集时,数据表同步可能已经完成。因此,为了避免误报,在第一次检测到数据不一致时,只在Web页面中展示,用于警示维护人员当前存在不同步的情况,例如,在Web页面中将不同步的数据表提升到监控页面第一页的最顶端,并进行突出显示处理(例如,标黄);如果检测到连续发生多次(例如三次或三次以上)不同步情况,此时认为情况严重,很可能对业务及用户造成损失,应该得到管理员足够重视,则触发邮件或短信报警,同时监控页面的颜色发生变化(例如,由黄变红),以警告维护人员已经有数据表长时间不同步了。
Claims (5)
1.一种数据库同步验证及监控方法,其特征在于,包括:
S1:由待验证主数据库及其从数据库中采集数据库表信息,包括数据库名、表名和采集时间;
S2:通过对采集到的所述数据库表信息进行数据分析比对,检查主数据库与每一从数据库之间的数据一致性;
S3:根据检查结果判断是否存在数据不同步,根据判断结果选择性触发Web警示或邮件/短信通知。
2.根据权利要求1所述的数据库同步验证及监控方法,其特征在于,所述步骤S1包括:对待验证的数据库和数据表名进行约定,通过数据库表名查询指令的方式采集数据表记录集。
3.根据权利要求1所述的数据库同步验证及监控方法,其特征在于,步骤S2中,每一所述数据分析比对执行至少三次。
4.根据权利要求1所述的数据库同步验证及监控方法,其特征在于,步骤S3进一步包括:初次检测到数据不同步状况时,仅触发Web警示;连续检测到数据不同步状况时,则触发邮件/短信通知。
5.根据权利要求1所述的数据库同步验证及监控方法,其特征在于,所述Web警示或邮件/短信通知包括突出显示存在数据不同步状况的数据库表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110182440 CN102231161A (zh) | 2011-06-30 | 2011-06-30 | 数据库同步验证及监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110182440 CN102231161A (zh) | 2011-06-30 | 2011-06-30 | 数据库同步验证及监控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102231161A true CN102231161A (zh) | 2011-11-02 |
Family
ID=44843725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110182440 Pending CN102231161A (zh) | 2011-06-30 | 2011-06-30 | 数据库同步验证及监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102231161A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855319A (zh) * | 2012-09-05 | 2013-01-02 | 国家电网公司 | Oracle数据库操作监控系统 |
CN103268355A (zh) * | 2013-06-05 | 2013-08-28 | 中国电子科技集团公司第十五研究所 | 数据问题处理方法和处理系统 |
CN103605776A (zh) * | 2013-11-28 | 2014-02-26 | 北京国双科技有限公司 | 信息数据库的数据处理方法和装置 |
CN103618788A (zh) * | 2013-11-26 | 2014-03-05 | 曙光信息产业股份有限公司 | 一种支持b/s结构系统高可用的方法 |
CN103684868A (zh) * | 2013-12-18 | 2014-03-26 | 华为技术有限公司 | 数据保护方法和装置 |
CN103902542A (zh) * | 2012-12-25 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 一种测试环境中数据库的运维方法及系统 |
CN103984715A (zh) * | 2014-05-08 | 2014-08-13 | 武汉库百网络技术有限公司 | 一种异构数据库的数据同步、校验方法、装置及系统 |
CN105335443A (zh) * | 2014-08-13 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种用于数据同步中的异常检测的方法与设备 |
CN106844163A (zh) * | 2017-03-16 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种数据库主从同步状态监控的方法以及装置 |
CN107302469A (zh) * | 2016-04-14 | 2017-10-27 | 北京京东尚科信息技术有限公司 | 针对分布式服务集群系统数据更新的实时监控装置及方法 |
CN107633026A (zh) * | 2017-08-30 | 2018-01-26 | 深圳云天励飞技术有限公司 | 数据同步异常处理方法、装置及服务器 |
CN111552701A (zh) * | 2020-04-30 | 2020-08-18 | 中国建设银行股份有限公司 | 确定分布式集群中数据一致性的方法及分布式数据系统 |
CN112307124A (zh) * | 2020-11-03 | 2021-02-02 | 平安普惠企业管理有限公司 | 数据库同步验证方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236554A (zh) * | 2007-11-29 | 2008-08-06 | 中兴通讯股份有限公司 | 一种数据库海量数据比对的方法 |
CN101706795A (zh) * | 2009-11-30 | 2010-05-12 | 上海世范软件技术有限公司 | 主备服务器上数据库数据同步方法 |
CN102110121A (zh) * | 2009-12-24 | 2011-06-29 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其系统 |
-
2011
- 2011-06-30 CN CN 201110182440 patent/CN102231161A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236554A (zh) * | 2007-11-29 | 2008-08-06 | 中兴通讯股份有限公司 | 一种数据库海量数据比对的方法 |
CN101706795A (zh) * | 2009-11-30 | 2010-05-12 | 上海世范软件技术有限公司 | 主备服务器上数据库数据同步方法 |
CN102110121A (zh) * | 2009-12-24 | 2011-06-29 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855319A (zh) * | 2012-09-05 | 2013-01-02 | 国家电网公司 | Oracle数据库操作监控系统 |
CN103902542A (zh) * | 2012-12-25 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 一种测试环境中数据库的运维方法及系统 |
CN103268355B (zh) * | 2013-06-05 | 2016-12-28 | 中国电子科技集团公司第十五研究所 | 数据问题处理方法和处理系统 |
CN103268355A (zh) * | 2013-06-05 | 2013-08-28 | 中国电子科技集团公司第十五研究所 | 数据问题处理方法和处理系统 |
CN103618788A (zh) * | 2013-11-26 | 2014-03-05 | 曙光信息产业股份有限公司 | 一种支持b/s结构系统高可用的方法 |
CN103605776A (zh) * | 2013-11-28 | 2014-02-26 | 北京国双科技有限公司 | 信息数据库的数据处理方法和装置 |
CN103605776B (zh) * | 2013-11-28 | 2017-04-12 | 北京国双科技有限公司 | 信息数据库的数据处理方法和装置 |
CN103684868A (zh) * | 2013-12-18 | 2014-03-26 | 华为技术有限公司 | 数据保护方法和装置 |
CN103684868B (zh) * | 2013-12-18 | 2018-02-13 | 华为技术有限公司 | 数据保护方法和装置 |
CN103984715B (zh) * | 2014-05-08 | 2017-04-12 | 武汉库百网络技术有限公司 | 一种异构数据库的数据同步、校验方法、装置及系统 |
CN103984715A (zh) * | 2014-05-08 | 2014-08-13 | 武汉库百网络技术有限公司 | 一种异构数据库的数据同步、校验方法、装置及系统 |
CN105335443A (zh) * | 2014-08-13 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种用于数据同步中的异常检测的方法与设备 |
CN107302469A (zh) * | 2016-04-14 | 2017-10-27 | 北京京东尚科信息技术有限公司 | 针对分布式服务集群系统数据更新的实时监控装置及方法 |
CN107302469B (zh) * | 2016-04-14 | 2020-03-31 | 北京京东尚科信息技术有限公司 | 分布式服务集群系统数据更新的监控装置及方法 |
CN106844163A (zh) * | 2017-03-16 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种数据库主从同步状态监控的方法以及装置 |
CN107633026A (zh) * | 2017-08-30 | 2018-01-26 | 深圳云天励飞技术有限公司 | 数据同步异常处理方法、装置及服务器 |
CN111552701A (zh) * | 2020-04-30 | 2020-08-18 | 中国建设银行股份有限公司 | 确定分布式集群中数据一致性的方法及分布式数据系统 |
CN111552701B (zh) * | 2020-04-30 | 2023-07-21 | 中国建设银行股份有限公司 | 确定分布式集群中数据一致性的方法及分布式数据系统 |
CN112307124A (zh) * | 2020-11-03 | 2021-02-02 | 平安普惠企业管理有限公司 | 数据库同步验证方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102231161A (zh) | 数据库同步验证及监控方法 | |
CN101706795B (zh) | 主备服务器上数据库数据同步方法 | |
US7509539B1 (en) | Method for determining correlation of synchronized event logs corresponding to abnormal program termination | |
US9170873B2 (en) | Diagnosing distributed applications using application logs and request processing paths | |
US20140089744A1 (en) | Information processing apparatus, information processing method, and recording medium | |
CN109284251A (zh) | 日志管理方法、装置、计算机设备以及存储介质 | |
CN100589418C (zh) | 告警相关性规则的生成方法及生成系统 | |
CN105183860B (zh) | 数据同步方法和系统 | |
CN103412893A (zh) | 一种日志收集系统及其收集方法 | |
CN106557592A (zh) | 数据同步方法、装置及服务器集群 | |
CN111245672A (zh) | 一种通用可扩展的追踪业务全链路的监控方法及系统 | |
CN105740080B (zh) | 一种程序卡死检测方法及处理器 | |
CN105302697A (zh) | 一种密集数据模型数据库的运行状态监控方法及系统 | |
US20160321143A1 (en) | Database rollback using wal | |
CN111159161A (zh) | 基于etl规则的数据质量监控及预警系统和方法 | |
CN109783315A (zh) | 一种数据库平台自动化巡检方法及系统 | |
CN105637488A (zh) | 追踪源代码用于末端用户监控 | |
CN106911519A (zh) | 一种数据采集监控方法及装置 | |
CN113067717A (zh) | 网络请求日志链式跟踪方法、全链路调用监控系统和介质 | |
JP4928848B2 (ja) | 計算機システム統合管理環境におけるメッセージ変換装置 | |
CN101192971A (zh) | 主备数据一致性检测方法 | |
CN114238324A (zh) | 用于主机站点的检查方法及装置、电子设备及存储介质 | |
JP5623950B2 (ja) | It障害予兆検知装置及びプログラム | |
CN112486716B (zh) | 计算机io hung事件的预警方法、装置、设备和介质 | |
CN105574055B (zh) | 防止内存耗尽的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111102 |