CN108614877B - 基于令牌桶的数据复制过程的监控方法及系统 - Google Patents
基于令牌桶的数据复制过程的监控方法及系统 Download PDFInfo
- Publication number
- CN108614877B CN108614877B CN201810390727.3A CN201810390727A CN108614877B CN 108614877 B CN108614877 B CN 108614877B CN 201810390727 A CN201810390727 A CN 201810390727A CN 108614877 B CN108614877 B CN 108614877B
- Authority
- CN
- China
- Prior art keywords
- monitoring
- token
- task
- module
- token bucket
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0686—Additional information in the notification, e.g. enhancement of specific meta-data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于令牌桶的数据复制过程的监控方法及系统,所述监控方法包括:S1、在多个服务器上均配置至少一种监控服务;S2、不同的所述服务器上的同一种所述监控服务根据令牌桶算法,向令牌桶发送申请监控令牌的第一指令;S3、所述令牌桶根据所述第一指令分配一第一监控令牌;S4、当所述服务器中的一第一服务器争抢到所述第一监控令牌时,向任务池发送申请监控任务的指令;S5、所述任务池分配所述监控任务,所述第一服务器的所述监控服务接收并执行所述监控任务。本发明能够实现对多个关系型数据库或非关系型数据库之间的数据复制过程进行多维度的实时、持续监控与告警,保证数据复制过程的数据同步的实时性和可靠性。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及一种基于令牌桶的数据复制过程的监控方法及系统。
背景技术
随着互联网技术的快速发展,各个大公司一般都采用事业部制的管理方式来提升公司效率和应对行业竞争。但是,像用户订单等需要整体的存储和展示的数据,需要将各事业部的不同数据格式的订单数据复制到整个订单数据中心来存储和展示。这种异构数据复制方式可以高效的完成数据的复制和保存,以实现公司的业务需要。因此,在此类应用场景中,对数据的实时性传输的要求非常严格。
由于现有的每个公司的数据库产品的推出都只能提供对自身产品运行实例的监控功能,不具备对其他公司数据库产品提供监控功能;且现有的数据库的监控方法只能监控同种数据库产品,如对于SQL Server DB(一种数据库),监控方法只能监控到SQL Server(一种关系型数据库管理系统)机群中的实例,而不能监控MySQL DB(一种数据库)的实例。另外,现有的数据库的监控方法只能监控到数据库中的表级别,不能监控到每条记录的级别,且告警延迟较高,同时监控维度也受到数据库类型的限制;因此,现有的数据库的监控方法存在不能保证对异构数据复制过程的多维度的实时、持续监控,对告警情况不能及时通知给相关负责人处理等缺点。
发明内容
本发明要解决的技术问题是为了克服现有技术的数据库的监控方法存在不能保证对异构数据复制过程多维度的实时、持续监控,对告警情况不能及时通知给相关负责人处理等缺陷,目的在于提供一种基于令牌桶的数据复制过程的监控方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种基于令牌桶的数据复制过程的监控方法,所述监控方法包括:
S1、在多个服务器上均配置至少一种监控服务;
其中,所述服务器存储有多个数据库;
S2、当所述服务器中不同的所述数据库之间进行数据复制操作时,不同的所述服务器上的同一种所述监控服务根据令牌桶算法,向令牌桶发送申请监控令牌的第一指令;
S3、所述令牌桶根据所述第一指令分配一第一监控令牌,不同的所述服务器上的同一种所述监控服务争抢所述第一监控令牌;
S4、当所述服务器中的一第一服务器争抢到所述第一监控令牌时,所述第一服务器的所述监控服务向任务池发送申请监控任务的指令;
其中,所述监控任务为与所述监控服务相对应的监控内容;
所述任务池存储有多种监控任务;
S5、所述任务池分配所述监控任务,所述第一服务器的所述监控服务接收并执行所述监控任务。
较佳地,步骤S5之后还包括:
S6、当完成所述监控任务后,更新所述任务池,并继续步骤S2。
较佳地,步骤S5还包括:
在执行所述监控任务时,当所述监控任务满足告警条件时,则通过短信和/或邮件的方式发送告警信息。
较佳地,所述当所述服务器中的一第一服务器争抢到所述监控令牌后的步骤之后还包括:
将所述监控令牌设置为锁定状态;
所述不同的所述服务器上的同一种所述监控服务争抢所述第一监控令牌的步骤之前还包括:
判断所述监控令牌是否处于所述锁定状态,若是,则获取所述监控令牌处于所述锁定状态的被锁定时间,并判断所述被锁定时间是否超过设定时间,若超过所述设定时间,则向所述令牌桶发送解锁所述监控令牌的指令。
较佳地,所述数据库包括关系型数据库和/或非关系型数据库。
本发明还提供一种基于令牌桶的数据复制过程的监控系统,所述监控系统包括配置模块、监控指令发送模块、争抢令牌模块、监控任务发送模块和执行模块;
所述配置模块用于在多个服务器上均配置至少一种监控服务;
其中,所述服务器存储有多个数据库;
当所述服务器中不同的所述数据库之间进行数据复制操作时,不同的所述服务器上的同一种所述监控服务根据令牌桶算法,通过所述监控指令发送模块向令牌桶发送申请监控令牌的第一指令;
不同的所述服务器上的同一种所述监控服务通过所述争抢令牌模块根据所述令牌桶分配的一第一监控令牌,争抢所述第一监控令牌;
当所述服务器中的一第一服务器争抢到所述第一监控令牌时,所述第一服务器的所述监控服务通过所述监控任务发送模块向任务池发送申请监控任务的指令;
其中,所述监控任务为与所述监控服务相对应的监控内容;
所述任务池存储有多种监控任务;
在所述任务池分配所述监控任务后,所述第一服务器的所述监控服务通过所述执行模块接收并执行所述监控任务。
较佳地,所述监控系统还包括数据更新模块;
当所述监控任务完成后,通过所述数据更新模块更新所述任务池,并调用所述监控指令发送模块。
较佳地,所述监控系统还包括告警模块;
所述告警模块用于在执行所述监控任务时,当所述监控任务满足告警条件时,则通过短信和/或邮件的方式发送告警信息。
较佳地,所述监控系统还包括状态设置模块和判断模块;
所述状态设置模块用于将所述监控令牌设置为锁定状态;
所述判断模块用于判断所述监控令牌是否处于所述锁定状态,若是,则获取所述监控令牌处于所述锁定状态的被锁定时间,并判断所述被锁定时间是否超过设定时间,若超过所述设定时间,则向所述令牌桶发送解锁所述监控令牌的指令。
较佳地,所述数据库包括关系型数据库和/或非关系型数据库。
本发明的积极进步效果在于:
本发明通过令牌桶的方式,对多个关系型数据库或非关系型数据库之间的数据复制过程进行多维度的实时、持续监控与告警;将每个监控告警服务同时部署在多台服务器上,更有效地对保证数据复制过程进行监控告警;同时,能够实现在个别复制过程和数据出现故障的情况下,及时通过各种手段及途径进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
附图说明
图1为本发明实施例1的基于令牌桶的数据复制过程的监控方法的流程图;
图2为本发明实施例1的基于令牌桶的数据复制过程的监控系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例的基于令牌桶的数据复制过程的监控方法包括:
S101、在多个服务器上均配置至少一种监控服务;
其中,服务器存储有多个数据库;
数据库包括关系型数据库和/或非关系型数据库。
S102、当服务器中不同的数据库之间进行数据复制操作时,不同的服务器上的同一种监控服务根据令牌桶算法,向令牌桶发送申请监控令牌的第一指令;
其中,服务器中不同的数据库之间进行数据复制操作主要包括如下两种情况:
1)源数据库SQL Server(一种数据库),数据存储在T1表和T2表中,复制的目标数据库为My SQL(一种数据库),在源数据库的存储数据中提取T1表和T2表的部分字段数据并复制存储至T3表中;
2)源数据库是SQL Server,数据存储在T1表和T2表中,复制的目标数据库为非关系型数据库Elastic Search(一种数据库),在源数据库的存储数据中提取T1表和T2表的部分字段数据,并分别存储在索引为TypeA和TypeB的Doc1和Doc2中。
S103、令牌桶根据第一指令分配一第一监控令牌,不同的服务器上的同一种监控服务争抢第一监控令牌;
其中,不同的服务器上的同一种监控服务争抢第一监控令牌的步骤之前还包括:
判断监控令牌是否处于锁定状态,若是,则获取监控令牌处于锁定状态的被锁定时间(例如:15秒),并判断被锁定时间是否超过设定时间,若超过设定时间,则向令牌桶发送解锁监控令牌的指令。
S104、当服务器中的一第一服务器争抢到第一监控令牌时,第一服务器的监控服务向任务池发送申请监控任务的指令,并将监控令牌设置为锁定状态;
其中,监控任务为与监控服务相对应的监控内容;
任务池存储有多种监控任务;
S105、任务池分配监控任务,第一服务器的监控服务接收并执行监控任务;
其中,在执行监控任务时,当监控任务满足告警条件时,则通过短信和/或邮件的方式发送告警信息,实现在个别复制过程和数据出现故障的情况下,及时通过各种手段及途径进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
具体地,本实施中对不同的数据库之间进行数据复制操作过程的监控任务并告警的作业主要包括:订单同步作业服务器运行状况预警作业、订单同步作业停止预警作业、订单延迟预警作业、同步步长预警作业、订单积压预警作业、订单补偿预警作业、订单失败预警作业。
其中,订单同步作业服务器运行状况预警作业的过程具体包括:
SA101、启动机票订单同步作业停止预警作业;
SA102、实时获取最新的机票订单同步预警的第一配置阈值;
SA103、获取订单中心同步失败订单表中机票的失败数量;
SA104、判断失败数量是否大于第一配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SA102。
通过上述具体步骤,实现当订单中心同步失败订单表中机票的失败数量大于第一配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单同步作业停止预警作业的过程具体包括:
SB101、启动机票订单同步作业停止预警作业;
SB102、实时获取最新的机票预警阈值告警的第二配置阈值;
SB103、获取订单中心同步任务进度表中机票订单的完成时间,以及获取机票订单数据库的当前时间;
SB104、判断机票订单的完成时间与机票订单数据库的当前时间的差值的绝对值是否大于第二配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SB102。
通过上述具体步骤,实现当机票订单的完成时间与机票订单数据库的当前时间的差值的绝对值大于第二配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单延迟预警作业的过程具体包括:
SC101、启动机票订单同步步长预警作业;
SC102、实时获取最新的机票预警阈值告警的第三配置阈值;
SC103、获取机票同步服务器的运行状态信息和最后更新时间,以及获取机票订单数据库的当前时间;
SC104、在服务器处于运行状态时,
判断最后更新时间与机票订单数据库的当前时间的差值的绝对值是否大于第三配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SC102。
通过上述具体步骤,实现最后更新时间与机票订单数据库的当前时间的差值的绝对值大于第三配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,同步步长预警作业的过程具体包括:
SC101、启动机票订单同步步长预警作业;
SC102、实时获取最新的机票预警阈值告警的第三配置阈值;
SC103、获取机票同步服务器的运行状态信息和最后更新时间,以及获取机票订单数据库的当前时间;
SC104、在服务器处于运行状态时,判断最后更新时间与机票订单数据库的当前时间的差值的绝对值是否大于第三配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SC102。
通过上述具体步骤,实现最后更新时间与机票订单数据库的当前时间的差值的绝对值大于第三配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单积压预警作业的过程具体包括:
SD101、启动机票订单积压预警作业;
SD102、实时获取最新的机票预警阈值告警的第四配置阈值;
SD103、获取订单中心同步任务进度表中机票订单的同步完成时间,以及获取机票订单数据库的当前时间;
SD104、判断机票订单的同步完成时间是否小于或等于机票订单数据库的当前时间,若是,则获取机票订单的同步完成时间与机票订单数据库的当前时间之间的时间差内发生变动的订单量;
SD105、判断发生变动的订单是否大于第四配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SD102。
通过上述具体步骤,当实现发生变动的订单大于第四配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单补偿预警作业的过程具体包括:
SE101、启动机票订单补偿预警作业;
SE102、实时获取最新的机票预警阈值告警的第五配置阈值;
SE103、获取订单中心同步任务进度表中机票订单的最后更新时间,以及获取机票订单数据库的当前时间;
SE104、判断机票订单的最后更新时间与机票订单数据库的当前时间的差值的绝对值是否大于第五配置阈值,若是,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SE102。
通过上述具体步骤,实现当机票订单的最后更新时间与机票订单数据库的当前时间的差值的绝对值大于第五配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单失败预警作业的过程具体包括:
SF101、启动机票订单补偿失败预警作业;
SF102、实时获取最新的机票预警阈值告警的第六五配置阈值;
SF103、获取订单中心数据库中补偿失败的订单量;
SF104、判断补偿失败的订单量是否大于第六配置阈值,若是,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SF102。
通过上述具体步骤,实现当补偿失败的订单量大于第六配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。另外,本实施例的监控告警过程中,各个作业的配置阈值的阈值参数可动态调节。阈值参数包括:预警间隔时间、订单延迟预警阈值、同步步长预警阈值、同步服务器运行状况预警阈值、同步停止预警阈值、订单补偿预警阈值、订单失败预警阈值、订单积压预警阈值、预警收件人、是否发送预警邮件、是否开启预警等。
S106、当完成监控任务后,更新任务池,并继续步骤S102。
本实施例中,通过令牌桶的方式,对多个关系型数据库或非关系型数据库之间的数据复制过程进行多维度的实时、持续监控与告警;将每个监控告警服务同时部署在多台服务器上,更有效地对保证数据复制过程进行监控告警;同时,能够实现在个别复制过程和数据出现故障的情况下,及时通过各种手段及途径进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
实施例2
如图2所示,本实施例的基于令牌桶的数据复制过程的监控系统包括:配置模块1、监控指令发送模块2、争抢令牌模块3、监控任务发送模块4、执行模块5、数据更新模块6、告警模块7、状态设置模块8和判断模块9。
配置模块1用于在多个服务器上均配置至少一种监控服务;
其中,服务器存储有多个数据库;
当服务器中不同的数据库之间进行数据复制操作时,不同的服务器上的同一种监控服务根据令牌桶算法,通过监控指令发送模块2向令牌桶发送申请监控令牌的第一指令。
其中,服务器中不同的数据库之间进行数据复制操作主要包括如下两种情况:
1)源数据库SQL Server(一种数据库),数据存储在T1表和T2表中,复制的目标数据库为My SQL(一种数据库),在源数据库的存储数据中提取T1表和T2表的部分字段数据并复制存储至T3表中;
2)源数据库是SQL Server,数据存储在T1表和T2表中,复制的目标数据库为非关系型数据库Elastic Search(一种数据库),在源数据库的存储数据中提取T1表和T2表的部分字段数据,并分别存储在索引为TypeA和TypeB的Doc1和Doc2中。
不同的所述服务器上的同一种所述监控服务通过争抢令牌模块3根据所述令牌桶分配的一第一监控令牌,争抢所述第一监控令牌。
判断模块9用于不同的服务器上的同一种监控服务争抢第一监控令牌前,判断监控令牌是否处于锁定状态,若是,则获取监控令牌处于锁定状态的被锁定时间(例如:15秒),并判断被锁定时间是否超过设定时间,若超过设定时间,则向令牌桶发送解锁监控令牌的指令。
当服务器中的一第一服务器争抢到第一监控令牌时,第一服务器的所述监控服务通过监控任务发送模块4向任务池发送申请监控任务的指令。
状态设置模块8用于当服务器中的一第一服务器争抢到第一监控令牌时,将监控令牌设置为锁定状态;
其中,监控任务为与监控服务相对应的监控内容;
任务池存储有多种监控任务;
在任务池分配所述监控任务后,第一服务器的监控服务通过执行模块5接收并执行所述监控任务。
告警模块7用于在执行监控任务时,当监控任务满足告警条件时,则通过短信和/或邮件的方式发送告警信息,实现在个别复制过程和数据出现故障的情况下,及时通过各种手段及途径进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
具体地,本实施中对不同的数据库之间进行数据复制操作过程的监控任务并告警的作业主要包括:订单同步作业服务器运行状况预警作业、订单同步作业停止预警作业、订单延迟预警作业、同步步长预警作业、订单积压预警作业、订单补偿预警作业、订单失败预警作业。
其中,订单同步作业服务器运行状况预警作业的过程具体包括:
SA101、启动机票订单同步作业停止预警作业;
SA102、实时获取最新的机票订单同步预警的第一配置阈值;
SA103、获取订单中心同步失败订单表中机票的失败数量;
SA104、判断失败数量是否大于第一配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SA102。
通过上述具体步骤,实现当订单中心同步失败订单表中机票的失败数量大于第一配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单同步作业停止预警作业的过程具体包括:
SB101、启动机票订单同步作业停止预警作业;
SB102、实时获取最新的机票预警阈值告警的第二配置阈值;
SB103、获取订单中心同步任务进度表中机票订单的完成时间,以及获取机票订单数据库的当前时间;
SB104、判断机票订单的完成时间与机票订单数据库的当前时间的差值的绝对值是否大于第二配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SB102。
通过上述具体步骤,实现当机票订单的完成时间与机票订单数据库的当前时间的差值的绝对值大于第二配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单延迟预警作业的过程具体包括:
SC101、启动机票订单同步步长预警作业;
SC102、实时获取最新的机票预警阈值告警的第三配置阈值;
SC103、获取机票同步服务器的运行状态信息和最后更新时间,以及获取机票订单数据库的当前时间;
SC104、在服务器处于运行状态时,判断最后更新时间与机票订单数据库的当前时间的差值的绝对值是否大于第三配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SC102。
通过上述具体步骤,实现最后更新时间与机票订单数据库的当前时间的差值的绝对值大于第三配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,同步步长预警作业的过程具体包括:
SD101、启动机票订单同步步长预警作业;
SD102、实时获取最新的机票预警阈值告警的第三配置阈值;
SD103、获取机票同步服务器的运行状态信息和最后更新时间,以及获取机票订单数据库的当前时间;
SD104、在服务器处于运行状态时,判断最后更新时间与机票订单数据库的当前时间的差值的绝对值是否大于第三配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SD102。
通过上述具体步骤,实现最后更新时间与机票订单数据库的当前时间的差值的绝对值大于第三配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单积压预警作业的过程具体包括:
SE101、启动机票订单积压预警作业;
SE102、实时获取最新的机票预警阈值告警的第四配置阈值;
SE103、获取订单中心同步任务进度表中机票订单的同步完成时间,以及获取机票订单数据库的当前时间;
SE104、判断机票订单的同步完成时间是否小于或等于机票订单数据库的当前时间,若是,则获取机票订单的同步完成时间与机票订单数据库的当前时间之间的时间差内发生变动的订单量;
SE105、判断发生变动的订单是否大于第四配置阈值,若大于,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SE102。
通过上述具体步骤,当实现发生变动的订单大于第四配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单补偿预警作业的过程具体包括:
SF101、启动机票订单补偿预警作业;
SF102、实时获取最新的机票预警阈值告警的第五配置阈值;
SF103、获取订单中心同步任务进度表中机票订单的最后更新时间,以及获取机票订单数据库的当前时间;
SF104、判断机票订单的最后更新时间与机票订单数据库的当前时间的差值的绝对值是否大于第五配置阈值,若是,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SF102。
通过上述具体步骤,实现当机票订单的最后更新时间与机票订单数据库的当前时间的差值的绝对值大于第五配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
其中,订单失败预警作业的过程具体包括:
SG101、启动机票订单补偿失败预警作业;
SG102、实时获取最新的机票预警阈值告警的第六五配置阈值;
SG103、获取订单中心数据库中补偿失败的订单量;
SG104、判断补偿失败的订单量是否大于第六配置阈值,若是,则写入告警表,并通过短信和/或邮件的方式发送告警信息,待线程休眠设定时间后,继续步骤SG102。
通过上述具体步骤,实现当补偿失败的订单量大于第六配置阈值时,进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。另外,本实施例的监控告警过程中,各个作业的配置阈值的阈值参数可动态调节。阈值参数包括:预警间隔时间、订单延迟预警阈值、同步步长预警阈值、同步服务器运行状况预警阈值、同步停止预警阈值、订单补偿预警阈值、订单失败预警阈值、订单积压预警阈值、预警收件人、是否发送预警邮件、是否开启预警等。
当监控任务完成后,通过数据更新模块6更新所述任务池,并调用所述监控指令发送模块。
本实施例中,通过令牌桶的方式,对多个关系型数据库或非关系型数据库之间的数据复制过程进行多维度的实时、持续监控与告警;将每个监控告警服务同时部署在多台服务器上,更有效地对保证数据复制过程进行监控告警;同时,能够实现在个别复制过程和数据出现故障的情况下,及时通过各种手段及途径进行秒级告警处理,并通知给相关负责人处理,保证数据复制过程的数据同步的实时性和可靠性。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式作出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (8)
1.一种基于令牌桶的数据复制过程的监控方法,其特征在于,所述监控方法包括:
S1、在多个服务器上均配置至少一种监控服务;
其中,所述服务器存储有多个数据库;
S2、当所述服务器中不同的所述数据库之间进行数据复制操作时,不同的所述服务器上的同一种所述监控服务根据令牌桶算法,向令牌桶发送申请监控令牌的第一指令;
S3、所述令牌桶根据所述第一指令分配一第一监控令牌,不同的所述服务器上的同一种所述监控服务争抢所述第一监控令牌;
S4、当所述服务器中的一第一服务器争抢到所述第一监控令牌时,所述第一服务器的所述监控服务向任务池发送申请监控任务的指令;
其中,所述监控任务为与所述监控服务相对应的监控内容;
所述任务池存储有多种监控任务;
S5、所述任务池分配所述监控任务,所述第一服务器的所述监控服务接收并执行所述监控任务;
在执行所述监控任务时,当所述监控任务满足告警条件时,则通过短信和/或邮件的方式发送告警信息,其中,不同的告警作业对应不同的告警条件。
2.如权利要求1中所述的基于令牌桶的数据复制过程的监控方法,其特征在于,步骤S5之后还包括:
S6、当完成所述监控任务后,更新所述任务池,并继续步骤S2。
3.如权利要求1中所述的基于令牌桶的数据复制过程的监控方法,其特征在于,所述当所述服务器中的一第一服务器争抢到所述监控令牌后的步骤之后还包括:
将所述监控令牌设置为锁定状态;
所述不同的所述服务器上的同一种所述监控服务争抢所述第一监控令牌的步骤之前还包括:
判断所述监控令牌是否处于所述锁定状态,若是,则获取所述监控令牌处于所述锁定状态的被锁定时间,并判断所述被锁定时间是否超过设定时间,若超过所述设定时间,则向所述令牌桶发送解锁所述监控令牌的指令。
4.如权利要求1中所述的基于令牌桶的数据复制过程的监控方法,其特征在于,所述数据库包括关系型数据库和/或非关系型数据库。
5.一种基于令牌桶的数据复制过程的监控系统,其特征在于,所述监控系统包括配置模块、监控指令发送模块、争抢令牌模块、监控任务发送模块和执行模块;
所述配置模块用于在多个服务器上均配置至少一种监控服务;
其中,所述服务器存储有多个数据库;
当所述服务器中不同的所述数据库之间进行数据复制操作时,不同的所述服务器上的同一种所述监控服务根据令牌桶算法,通过所述监控指令发送模块向令牌桶发送申请监控令牌的第一指令;
不同的所述服务器上的同一种所述监控服务通过所述争抢令牌模块根据所述令牌桶分配的一第一监控令牌,争抢所述第一监控令牌;
当所述服务器中的一第一服务器争抢到所述第一监控令牌时,所述第一服务器的所述监控服务通过所述监控任务发送模块向任务池发送申请监控任务的指令;
其中,所述监控任务为与所述监控服务相对应的监控内容;
所述任务池存储有多种监控任务;
在所述任务池分配所述监控任务后,所述第一服务器的所述监控服务通过所述执行模块接收并执行所述监控任务;
所述监控系统还包括告警模块;
所述告警模块用于在执行所述监控任务时,当所述监控任务满足告警条件时,则通过短信和/或邮件的方式发送告警信息,其中,不同的告警作业对应不同的告警条件。
6.如权利要求5所述的基于令牌桶的数据复制过程的监控系统,其特征在于,所述监控系统还包括数据更新模块;
当所述监控任务完成后,通过所述数据更新模块更新所述任务池,并调用所述监控指令发送模块。
7.如权利要求5所述的基于令牌桶的数据复制过程的监控系统,其特征在于,所述监控系统还包括状态设置模块和判断模块;
所述状态设置模块用于将所述监控令牌设置为锁定状态;
所述判断模块用于判断所述监控令牌是否处于所述锁定状态,若是,则获取所述监控令牌处于所述锁定状态的被锁定时间,并判断所述被锁定时间是否超过设定时间,若超过所述设定时间,则向所述令牌桶发送解锁所述监控令牌的指令。
8.如权利要求5所述的基于令牌桶的数据复制过程的监控系统,其特征在于,所述数据库包括关系型数据库和/或非关系型数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810390727.3A CN108614877B (zh) | 2018-04-27 | 2018-04-27 | 基于令牌桶的数据复制过程的监控方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810390727.3A CN108614877B (zh) | 2018-04-27 | 2018-04-27 | 基于令牌桶的数据复制过程的监控方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108614877A CN108614877A (zh) | 2018-10-02 |
CN108614877B true CN108614877B (zh) | 2022-04-12 |
Family
ID=63660906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810390727.3A Active CN108614877B (zh) | 2018-04-27 | 2018-04-27 | 基于令牌桶的数据复制过程的监控方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108614877B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825722A (zh) * | 2019-11-07 | 2020-02-21 | 中电福富信息科技有限公司 | 基于logstash的批量数据导入方法 |
CN111030784A (zh) * | 2019-11-13 | 2020-04-17 | 泰康保险集团股份有限公司 | 一种信息同步方法和装置 |
CN113067875B (zh) * | 2021-03-24 | 2023-06-02 | 厦门立林科技有限公司 | 基于微服务网关动态流控的访问方法和装置以及设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7177866B2 (en) * | 2001-03-16 | 2007-02-13 | Gravic, Inc. | Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only |
US7103586B2 (en) * | 2001-03-16 | 2006-09-05 | Gravic, Inc. | Collision avoidance in database replication systems |
CN1230018C (zh) * | 2001-03-28 | 2005-11-30 | 深圳市中兴集成电路设计有限责任公司 | 基站系统内部交换网络的实现方法及体系结构 |
US20080059469A1 (en) * | 2006-08-31 | 2008-03-06 | International Business Machines Corporation | Replication Token Based Synchronization |
CN102929769B (zh) * | 2012-09-06 | 2014-12-31 | 华中科技大学 | 一种基于代理服务的虚拟机内部数据采集方法 |
US11086898B2 (en) * | 2013-03-13 | 2021-08-10 | Amazon Technologies, Inc. | Token-based admission control for replicated writes |
US9471393B2 (en) * | 2013-06-25 | 2016-10-18 | Amazon Technologies, Inc. | Burst-mode admission control using token buckets |
CN103501228B (zh) * | 2013-08-01 | 2017-07-07 | 宋博韬 | 一种动态二维码令牌及动态二维码口令认证方法 |
CN105227367A (zh) * | 2015-10-15 | 2016-01-06 | 北京英诺威尔科技股份有限公司 | 一种低延迟的告警解析处理方法 |
CN106843170B (zh) * | 2016-11-30 | 2019-06-14 | 浙江中控软件技术有限公司 | 基于令牌的任务调度方法 |
CN107124522B (zh) * | 2017-04-18 | 2020-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式话单采集方法及系统 |
CN107612842B (zh) * | 2017-09-07 | 2020-03-31 | 携程商旅信息服务(上海)有限公司 | 基于令牌管理的数据采集方法、系统、设备及存储介质 |
CN107707385B (zh) * | 2017-09-18 | 2019-03-12 | 贵州白山云科技股份有限公司 | 一种数据上报方法及系统 |
-
2018
- 2018-04-27 CN CN201810390727.3A patent/CN108614877B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108614877A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614877B (zh) | 基于令牌桶的数据复制过程的监控方法及系统 | |
US8560889B2 (en) | Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures | |
US8688625B1 (en) | Extract, transform, and load application complexity management framework | |
US9940598B2 (en) | Apparatus and method for controlling execution workflows | |
US8555248B2 (en) | Business object change management using release status codes | |
US20150127679A1 (en) | System and method for identifying and synchronizing data from multiple backend enterprise computer systems to multiple types of mobile devices | |
CN106817408B (zh) | 一种分布式服务器集群调度方法及装置 | |
US20080301668A1 (en) | Managing Different Versions of Server Components Regarding Compatibility With Collaborating Servers | |
US8943220B2 (en) | Continuous deployment of applications | |
US10726042B2 (en) | Replication control using eventually consistent meta-data | |
US8510602B2 (en) | Testing a software application used in a database system | |
CN107423112B (zh) | 一种Docker容器状态实时同步方法 | |
CN107707415B (zh) | 一种基于SaltStack的服务器配置自动监控与告警方法 | |
US10733084B2 (en) | Early test breakage detection using presubmit runs | |
CN110442564B (zh) | 增量数据校验方法、存储介质 | |
CN111459631A (zh) | 服务器自动化批处理方法及系统 | |
CN110619014A (zh) | 一种基于etl的数据抽取方法 | |
CN105446824B (zh) | 表增量获取方法及异地数据备份方法 | |
US11061926B2 (en) | Data warehouse management and synchronization systems and methods | |
US11321199B2 (en) | System and method for on-demand warm standby disaster recovery | |
EP3811227B1 (en) | Methods, devices and systems for non-disruptive upgrades to a distributed coordination engine in a distributed computing environment | |
CN110990145A (zh) | 一种分布式系统的后台任务处理机制及方法 | |
CN112350837B (zh) | 一种基于云平台的电力应用集群管理方法及装置 | |
US7856507B2 (en) | Data transmission process | |
US20150220610A1 (en) | Data pulls |
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 |