CN109086390B - 一种实现数据一致性实时监控方法 - Google Patents
一种实现数据一致性实时监控方法 Download PDFInfo
- Publication number
- CN109086390B CN109086390B CN201810842162.8A CN201810842162A CN109086390B CN 109086390 B CN109086390 B CN 109086390B CN 201810842162 A CN201810842162 A CN 201810842162A CN 109086390 B CN109086390 B CN 109086390B
- Authority
- CN
- China
- Prior art keywords
- data
- message
- processing
- root
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
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 (1)
1.一种实现数据一致性实时监控方法,其特征在于,包括以下步骤:
1)CSource数据源订阅,根据元数据,将不同业务线的不同表同步时拆分成不同的Root_id和消息id1并将两部分封装为Msg对象;
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下的消息id进行异或处理;b.对每条数据处理的结果进行判断,为0则数据同步一致,否则数据同步异常并报警;c.出现数据同步不一致的情况,消息推送到ABnorDeal异常处理池当中进行后续处理;
5)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 CN109086390A (zh) | 2018-12-25 |
CN109086390B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078496A (zh) * | 2019-11-29 | 2020-04-28 | 联想(北京)有限公司 | 一种数据监控方法、平台及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100479363C (zh) * | 2003-12-22 | 2009-04-15 | 中国电子科技集团公司第三十研究所 | 移动通信系统保密话音通信的一种密码同步快速恢复方法 |
KR101062669B1 (ko) * | 2008-07-29 | 2011-09-06 | 성균관대학교산학협력단 | MIPv6의 바인딩 업데이트 방법 |
CN103699863B (zh) * | 2013-12-06 | 2016-08-17 | 广东工业大学 | 一种抗异步攻击的超轻量级无线射频识别认证方法 |
CN104092718B (zh) * | 2013-12-12 | 2017-10-24 | 腾讯数码(天津)有限公司 | 分布式系统及分布式系统中配置信息的更新方法 |
CN103699599B (zh) * | 2013-12-13 | 2016-10-05 | 华中科技大学 | 一种基于Storm实时流计算框架的消息可靠处理保障方法 |
CA3001304C (en) * | 2015-06-05 | 2021-10-19 | C3 Iot, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
CN106411684B (zh) * | 2015-07-30 | 2020-06-16 | 中兴通讯股份有限公司 | 消息处理方法及装置 |
CN105323151B (zh) * | 2015-11-16 | 2018-09-14 | 东软集团股份有限公司 | 一种消息处理可靠性追踪方法及装置 |
CN107783975B (zh) * | 2016-08-24 | 2021-02-26 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
-
2018
- 2018-07-27 CN CN201810842162.8A patent/CN109086390B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109086390A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020147392A1 (zh) | 数据库之间的数据同步方法和系统 | |
WO2019101241A3 (en) | System and method for ending view change protocol | |
WO2019101242A3 (en) | System and method for ending view change protocol | |
CN110190949B (zh) | 用于大数据量资源上链的方法和系统、设备及存储介质 | |
WO2021107988A8 (en) | Distributed processing of transactions in a network using timestamps | |
CN102098342A (zh) | 一种基于事务级的数据同步方法、装置及系统 | |
CN106301823B (zh) | 一种关键组件的故障告警方法、装置及大数据管理系统 | |
CN106910146B (zh) | 一种基于流式处理技术的异构教育数据交换平台及方法 | |
US20200204624A1 (en) | Data processing system, method and apparatus | |
CN109325077A (zh) | 一种基于canal和kafka实现实时数仓的系统 | |
CN109086390B (zh) | 一种实现数据一致性实时监控方法 | |
CN107181805A (zh) | 一种在微服务架构下实现全局有序重演的方法 | |
CN104679888A (zh) | 一种数据同步的装置及方法 | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN105721520B (zh) | 一种文件同步方法及装置 | |
CN113505173B (zh) | 一种数据采集同步系统与同步方法 | |
EP4350523A3 (en) | Optimizing network utilization | |
CN111478938B (zh) | 一种数据冗余消除方法及装置 | |
CN115757642A (zh) | 一种基于归档日志文件的数据同步方法及装置 | |
CN103581300A (zh) | 互动会议系统信息资料在线保全方法 | |
CN106055663B (zh) | 一种基于双机热备份的视频存储方法 | |
CN113239005B (zh) | 一种电力监控系统i、iv区数据同步方法及装置 | |
CN111815449B (zh) | 一种基于流计算的多主机行情系统的异常检测方法及系统 | |
CN113778786A (zh) | 一种监控中间件 | |
CN113342890A (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 |