CN109086390A - 一种实现数据一致性实时监控方法 - Google Patents
一种实现数据一致性实时监控方法 Download PDFInfo
- Publication number
- CN109086390A CN109086390A CN201810842162.8A CN201810842162A CN109086390A CN 109086390 A CN109086390 A CN 109086390A CN 201810842162 A CN201810842162 A CN 201810842162A CN 109086390 A CN109086390 A CN 109086390A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- processing
- message
- root
- 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
Abstract
本发明公开了一种实现数据一致性实时监控方法,采用元数据系统当中配置的rowkey字段作为每条记录的唯一标识,对与rowkey的值进行hash生成每条记录对应的id,在数据源端即CSourse端对每个Destination的数据生成相应的Root_id和每条记录对应的idl,并将其发送到中间件即Kafka和监控任务当中。本发明使用比通用的历史存储数据比对和校验方案更专业和更高效监控实时数据一致性技术避免严重耗内存、严重依赖CPU,减轻系统资源的压力,同时提升了数据的实时性和吞吐量,可以定制化监控更多的数据满足更多的业务需求。
Description
技术领域
本发明涉及网络通讯领域,具体是一种实现数据一致性实时监控方法。
背景技术
Storm是一个开源的分布式实时计算系统,其中对于Tuple发送成功或失败使用的是Ack机制,Spout每发送一个Tuple,则会发送一个tuple_id和随机的消息id到Ack Bolt当中,同时将id发送到下游接受该条消息的Bolt当中,在该Bolt接受到id,若其下游存在Bolt在生成新的id,将从上游接收到的id和自产生的id进行异或发送到Ack Bolt当中,否则仅将接收到的id发送到Ack Bolt当中去,在Ack Bolt当中如果对流当中的id异或结果不为0,那么就调用fail方法通知上游该条消息处理失败,从而形成一个Tuple树。
市面上的实时数据一致性监控实现方案,都是基于存量数据比对和采样比对进行监控的,都是属于一种离线操作,无法满足实时监控的场景要求,严重影响了监控整个系统当中数据同步的质量时效性。
发明内容
本发明的目的在于提供一种实现数据一致性实时监控方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种实现数据一致性实时监控方法,包括以下步骤,
1)CSource数据源订阅:根据元数据,将不同业务线的不同表同步时拆分成不同的Root_id和消息id并将两部分封装为Msg对象;
a.获取元数据,解析rowkey配置;
b.业务线拆分,获取业务线名、table名、topic名等;
c.生成相应业务线下对应表的Root_id和记录id1;
d.将c当中的内容封装到待发送的记录当中;
e.发送数据到中间件;
f.发送监控项到监控任务适配器当中;
2)MetaData管理模块:将表、索引配置项、rowkey三者之间的关系维护到redis中,索引表示需同步到elasticsearch;
3)PDeal数据处理和同步模块:
a.拉取中间件的数据;
b.解析数据;
c.拆分出上游的Root_id和消息id1;
d.获取元数据判断是否需要同步到ElasticSearch;
e.若仅需将拉取的数据同步到HBase则仅生成一条数据对应的消息id2即可并对id1和id2进行异或处理,若还需同步到ElasticSearch则再生成一个id3,则对id1、id2、id3进行异或处理;
f.将上一步的处理结果和Root_id进行消息的封装发送到监控任务适配器当中;
g.同步数据到Hbase之后将id2相关信息发送到监控任务适配器当中;
h.同步数据到ElasticSearch之后将id3相关信息发送到监控任务适配器当中;
4)MAlarm监控任务适配器模块:
a.针对不同的Root_id下的消息ids进行异或处理;
b.对每条数据处理的结果进行判断,为0则数据同步一致,否则数据同步异常并报警;
c.出现数据同步不一致的情况,消息推送到ABnorDeal异常处理池当中进行后续处理;
5)ABnorDeal异常处理池:
a.对异常信息进行解析处理;
b.针对不同的异常数据进行数据幂等同步处理。
作为本发明进一步的方案:
作为本发明再进一步的方案:
与现有技术相比,本发明的有益效果是:本发明使用比通用的历史存储数据比对和校验方案更专业和更高效监控实时数据一致性技术避免严重耗内存、严重依赖CPU,减轻系统资源的压力,同时提升了数据的实时性和吞吐量,可以定制化监控更多的数据满足更多的业务需求。
附图说明
图1为实现数据一致性实时监控方法的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图,本发明实施例中,一种实现数据一致性实时监控方法,包括以下步骤,
1)CSource数据源订阅:根据元数据,将不同业务线的不同表同步时拆分成不同的Root_id和消息id并将两部分封装为Msg对象;
a.获取元数据,解析rowkey配置;
b.业务线拆分,获取业务线名、table名、topic名等;
c.生成相应业务线下对应表的Root_id和记录id1;
d.将c当中的内容封装到待发送的记录当中;
e.发送数据到中间件;
f.发送监控项到监控任务适配器当中;
2)MetaData管理模块:将表、索引配置项、rowkey三者之间的关系维护到redis中,索引表示需同步到elasticsearch;
3)PDeal数据处理和同步模块:
a.拉取中间件的数据;
b.解析数据;
c.拆分出上游的Root_id和消息id1;
d.获取元数据判断是否需要同步到ElasticSearch;
e.若仅需将拉取的数据同步到HBase则仅生成一条数据对应的消息id2即可并对id1和id2进行异或处理,若还需同步到ElasticSearch则再生成一个id3,则对id1、id2、id3进行异或处理;
f.将上一步的处理结果和Root_id进行消息的封装发送到监控任务适配器当中;
g.同步数据到Hbase之后将id2相关信息发送到监控任务适配器当中;
h.同步数据到ElasticSearch之后将id3相关信息发送到监控任务适配器当中;
4)MAlarm监控任务适配器模块:
a.针对不同的Root_id下的消息ids进行异或处理;
b.对每条数据处理的结果进行判断,为0则数据同步一致,否则数据同步异常并报警;
c.出现数据同步不一致的情况,消息推送到ABnorDeal异常处理池当中进行后续处理;
5)ABnorDeal异常处理池:
a.对异常信息进行解析处理;
b.针对不同的异常数据进行数据幂等同步处理。
本发明基于Storm Ack机制和系统内部的元数据实现一种端到端的数据实时同步一致性的监控方法。采用元数据系统当中配置的rowkey字段作为每条记录的唯一标识,对与rowkey的值进行hash生成每条记录对应的id,在数据源端即CSourse端对每个Destination的数据生成相应的Root_id和每条记录对应的id1,并将其发送到中间件即Kafka和监控任务当中。实时监控任务对从数据源端接收到的消息存储到自己的pendinigmap当中,消费端即PDeal从中间件拉取数据并解析,拿到记录的Root_id和id1同时生成一个新的id2。读取元数据是否需要同步数据到ElasticSearch,如需要则生成id3并将id1、id2、id3进行异或处理,然后将Root_id和异或处理的值发送到监控任务当中,否则仅id1、id2进行异或处理,然后然后将Root_id和异或处理的值发送到监控任务当中。之后对数据进行特定的处理并将数据同步到HBase,同步成功之后将Root_id和id2发送到监控任务当中,同时将处理的数据进一步地同步到ElasticSearch,同步成功之后将Root_id和id3发送到监控任务当中。在设定好的阈值时间范围内监控任务对同一个Root_id下的值再一次的进行异或处理,处理结果如果是0,则该条记录在整个流程当中同步完成且数据一致,否则数据同步在既定的时间内同步失败并报警。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (5)
1.一种实现数据一致性实时监控方法,其特征在于,包括以下步骤,
1)CSource数据源订阅:根据元数据,将不同业务线的不同表同步时拆分成不同的Root_id和消息id并将两部分封装为Msg对象;
2)MetaData管理模块:将表、索引配置项、rowkey三者之间的关系维护到redis中,索引同步到elasticsearch中;(原资料描述:索引表示需同步到elasticsearch)
3)PDeal数据处理和同步模块:
4)MAlarm监控任务适配器模块:
5)ABnorDeal异常处理池。
2.根据权利要求1所述的一种实现数据一致性实时监控方法,其特征在于,CSource数据源订阅包括以下步骤:
a.获取元数据,解析rowkey配置;
b.业务线拆分,获取业务线名、table名、topic名等;
c.生成相应业务线下对应表的Root_id和记录id1;
d.将c当中的内容封装到待发送的记录当中;
e.发送数据到中间件;
f.发送监控项到监控任务适配器当中。
3.根据权利要求1所述的一种实现数据一致性实时监控方法,其特征在于,PDeal数据处理和同步模块包括以下步骤:
a.拉取中间件的数据;
b.解析数据;
c.拆分出上游的Root_id和消息id1;
d.获取元数据判断是否需要同步到ElasticSearch;
e.若仅需将拉取的数据同步到HBase则仅生成一条数据对应的消息id2即可,并对id1和id2进行异或处理,若还需同步到ElasticSearch则再生成一个id3,则对id1、id2、id3进行异或处理;
f.将上一步的处理结果和Root_id进行消息的封装发送到监控任务适配器当中;
g.同步数据到Hbase之后将id2相关信息发送到监控任务适配器当中;
h.同步数据到ElasticSearch之后将id3相关信息发送到监控任务适配器当中。
4.根据权利要求1所述的一种实现数据一致性实时监控方法,其特征在于,MAlarm监控任务适配器模块包括以下步骤:
a.针对不同的Root_id下的消息ids进行异或处理;
b.对每条数据处理的结果进行判断,为0则数据同步一致,否则数据同步异常并报警;
c.出现数据同步不一致的情况,消息推送到ABnorDeal异常处理池当中进行后续处理。
5.据权利要求1所述的一种实现数据一致性实时监控方法,其特征在于,ABnorDeal异常处理池包括以下步骤:
a.对异常信息进行解析处理;
b.针对不同的异常数据进行数据幂等同步处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810842162.8A CN109086390B (zh) | 2018-07-27 | 2018-07-27 | 一种实现数据一致性实时监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810842162.8A CN109086390B (zh) | 2018-07-27 | 2018-07-27 | 一种实现数据一致性实时监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086390A true CN109086390A (zh) | 2018-12-25 |
CN109086390B CN109086390B (zh) | 2022-03-25 |
Family
ID=64831048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810842162.8A Active CN109086390B (zh) | 2018-07-27 | 2018-07-27 | 一种实现数据一致性实时监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086390B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078496A (zh) * | 2019-11-29 | 2020-04-28 | 联想(北京)有限公司 | 一种数据监控方法、平台及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633066A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 移动通信系统保密话音通信的一种密码同步快速恢复方法 |
US20100031356A1 (en) * | 2008-07-29 | 2010-02-04 | Sungkyunkwan University Foundation For Corporate Collaboration | BINDING UPDATE METHOD IN MIPv6 |
CN103699599A (zh) * | 2013-12-13 | 2014-04-02 | 华中科技大学 | 一种基于Storm实时流计算框架的消息可靠处理保障方法 |
CN103699863A (zh) * | 2013-12-06 | 2014-04-02 | 广东工业大学 | 一种抗异步攻击的超轻量级无线射频识别认证方法 |
CN104092718A (zh) * | 2013-12-12 | 2014-10-08 | 腾讯数码(天津)有限公司 | 分布式系统及分布式系统中配置信息的更新方法 |
CN105323151A (zh) * | 2015-11-16 | 2016-02-10 | 东软集团股份有限公司 | 一种消息处理可靠性追踪方法及装置 |
US20170006135A1 (en) * | 2015-01-23 | 2017-01-05 | C3, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
CN106411684A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | 消息处理方法及装置 |
CN107783975A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
-
2018
- 2018-07-27 CN CN201810842162.8A patent/CN109086390B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633066A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 移动通信系统保密话音通信的一种密码同步快速恢复方法 |
US20100031356A1 (en) * | 2008-07-29 | 2010-02-04 | Sungkyunkwan University Foundation For Corporate Collaboration | BINDING UPDATE METHOD IN MIPv6 |
CN103699863A (zh) * | 2013-12-06 | 2014-04-02 | 广东工业大学 | 一种抗异步攻击的超轻量级无线射频识别认证方法 |
CN104092718A (zh) * | 2013-12-12 | 2014-10-08 | 腾讯数码(天津)有限公司 | 分布式系统及分布式系统中配置信息的更新方法 |
CN103699599A (zh) * | 2013-12-13 | 2014-04-02 | 华中科技大学 | 一种基于Storm实时流计算框架的消息可靠处理保障方法 |
US20170006135A1 (en) * | 2015-01-23 | 2017-01-05 | C3, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
CN106411684A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | 消息处理方法及装置 |
CN105323151A (zh) * | 2015-11-16 | 2016-02-10 | 东软集团股份有限公司 | 一种消息处理可靠性追踪方法及装置 |
CN107783975A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
Non-Patent Citations (4)
Title |
---|
徐进 等: "基于消息通信的分布式系统最终一致性平台", 《计算机应用》 * |
杨竣翔: "基于Storm的订单大数据实时监控系统", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
王钰: "企业级ARGUS监控系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
阮士杰: "大数据环境下高效检索算法的研究和实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078496A (zh) * | 2019-11-29 | 2020-04-28 | 联想(北京)有限公司 | 一种数据监控方法、平台及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109086390B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020147392A1 (zh) | 数据库之间的数据同步方法和系统 | |
CN107992617A (zh) | 一种注塑成型装备大数据采集系统及方法 | |
CN112507029A (zh) | 数据处理系统及数据实时处理方法 | |
CN109325077A (zh) | 一种基于canal和kafka实现实时数仓的系统 | |
CN111597087A (zh) | 一种制作云监控指标的方法 | |
CN113054743A (zh) | 一种适用于配电云主站的物联终端数据接入系统及方法 | |
WO2019223178A1 (zh) | 跨平台任务调度方法、系统、计算机设备和存储介质 | |
CN103840962B (zh) | 服务器告警输出方法及系统 | |
CN105071986B (zh) | 一种监控系统运行状态的方法 | |
CN109086390A (zh) | 一种实现数据一致性实时监控方法 | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN104993970A (zh) | 一种面向分布式系统关键运行指标数据的集中监视方法 | |
CN102238505B (zh) | 一种客户端多用户并发信令跟踪处理方法及系统 | |
CN109040286B (zh) | 一种基于内存数据库的客户端在线状态维护方法 | |
CN114124646B (zh) | 一种WebSocket方式的综合网络管理系统及方法 | |
CN103581300A (zh) | 互动会议系统信息资料在线保全方法 | |
CN103036955A (zh) | 多媒体播放终端的监控系统与监控方法 | |
CN101159613A (zh) | 一种大数据量下网管对网元进行数据配置的方法 | |
CN107835243A (zh) | 一种数据传输方法、系统、电子设备及存储介质 | |
CN113434604A (zh) | 一种时序数据库同步方法、系统、设备及存储介质 | |
CN207706205U (zh) | 一种星型微信群安全管理系统 | |
CN112423162A (zh) | 一种分布式架构下配置同步方法及系统 | |
CN114069847B (zh) | 一种分布式光伏数据回填系统及方法 | |
WO2016078302A1 (zh) | 一种故障数据获取系统和远程设备控制系统及其对应方法 | |
CN111143280B (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 |