CN110287239B - 一种跟踪对账方法 - Google Patents
一种跟踪对账方法 Download PDFInfo
- Publication number
- CN110287239B CN110287239B CN201910560621.8A CN201910560621A CN110287239B CN 110287239 B CN110287239 B CN 110287239B CN 201910560621 A CN201910560621 A CN 201910560621A CN 110287239 B CN110287239 B CN 110287239B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- module
- collector
- type
- 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
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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Probability & Statistics with Applications (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种跟踪对账方法,属于大数据技术领域,包括设立数个数据采集服务器、中心服务器、数据库服务器和数个客户端服务器,所有Collector和所有Worker均与Kafka平台通信,数据库与Kafka平台通信,monitor管程监视每一个Collector、每一个Worker、Kafka平台和数据库;Collector用于收集数据,Worker用于消费数据,解决了分钟级的按业务对账的技术问题,本发明采用分钟级的按业务对账,不仅可以及时发现问题,而且可以精确的定位到数据问题点,本发明在采集时首先将数据包封,后续对账均采用包封数据里面的时间戳,这样可以精确的核对同一分钟在不同节点数据条数。
Description
技术领域
本发明属于大数据技术领域,尤其涉及一种跟踪对账方法。
背景技术
随着大数据行业的蓬勃发展,大数据的应用如雨后春笋般涌现出来,而作为大数据应用的重要的工作之一数据完整地传输便显得尤为重要,即将数据从源头完整地采集到然后根据需要分发到各存储设备,那么如何保证数据传输的完整性呢?从源头到存储端的跟踪对账是常用手段之一。
传统的数据对账是通过离线的定时的在各数据传输节点运行统计,然后再统一汇总。这样的办法弊端很多,总体来说有两方面:一是问题暴露延时较大,定时的对账,当数据问题被发现时已经过了很久,而通常下游业务仍在正常开展,不能及时纠正;二是无法精确核对数据,这种方法只能采集到的某一时间段数据在某一节点的数据,而数据处理是需要耗时的,这样同一时间的各节点统计数据实际上不是同一批数据。因此实现一个能解决上面两个问题的对账方法便显得尤为重要。
发明内容
本发明的目的是提供一种跟踪对账方法,解决了分钟级的按业务对账的技术问题。
为实现上述目的,本发明采用如下技术方案:
一种跟踪对账方法,包括如下步骤:
步骤1:设立数个数据采集服务器、中心服务器、数据库服务器和数个客户端服务器;
步骤2:设定每一个数据采集服务器均为一个Collector,设定每一个客户端服务器均为一个Worker,在中心服务器中建立Kafka平台和monitor管程,在数据库服务器中建立数据库,所有Collector和所有Worker均与Kafka平台通信,数据库与Kafka平台通信,monitor管程监视每一个Collector、每一个Worker、Kafka平台和数据库;
Collector用于收集数据,Worker用于消费数据;
步骤3:Collector将采集到的原始数据进行封包,生成json格式的数据包,数据包包含的字段为module数据所属模块,type数据类型,timestamp数据时间戳和data原始数据,其中module数据所属模块和type数据类型通过配置文件传入,timestamp数据时间戳为当前时间戳;
步骤4:Collector根据timestamp数据时间戳,定义一个计数逻辑进行计数,统计每分钟采集到的数据包,并定时将统计结果发送给数据库、将数据包发送给Kafka平台;
步骤5:首先为所有的Worker均分配好group团队,然后已分配group团队的Worker调取Kafka平台的数据包进行消费,Kafka平台根据所述计数逻辑,统计每分钟用于消费的数据包的数量,并将统计结果发送给数据库;
步骤6:通过monitor管程展示Collector采集到的数据包和Worker消费的数据包,并设置异常规则,异常规则包括:
规则一、两个值是否相等;
规则二、两个值是否在一定的相差范围内;
规则三、该值是否为0。
优选的,所述计数逻辑为:以服务器IP+module数据所属模块+type数据类型+timestamp数据时间戳为计数密码key,设定一个以AtomicLong原子类为数据类型的value变量,使value变量从0开始计数,每采集到一个所述数据包就计数加1;计数的计数器框架选用guava cache缓存,guava cache缓存的过期测量采用expireAfterAccess策略,其参数为10分钟,当guava cache缓存过期后,将过期数据异步写入到数据库中。
优选的,将过期数据异步写入到数据库中的步骤如下:
步骤A1:在数据库中建立采集表和消费表,将步骤4所得出的所述Collector采集到的数据包统计结果写入采集表,将步骤5所得出的Worker消费的数据包统计结果写入消费表,采集表和消费表中的数据的字段格式相同,均包含module数据所属模块、type数据类型、timestamp数据时间戳和count计数数值;
步骤A2:数据库根据将要写入采集表或消费表的数据的字段,判断该数据是否已经存在:如果存在,则更新数据库中的数据,如果不存在,则添加该数据。
优选的,在第一次执行步骤3和步骤4时,需要将每一个module数据所属模块和每一个type数据类型的最近30分钟的数据加载到guava缓存中,如果没有则不用加载。
优选的,在执行步骤6时,所述monitor管程展示的数据包括每一个module数据所属模块和每一个type数据类型的每分钟的采集与消费情况,每个topic主体的每分钟数据增长情况,每个group团队消费的offset函数的增长情况。
优选的,当所述monitor管程展示采集与消费该分钟的数据在数据库中不存在时,需要展示时补全,默认值为0。
本发明所述的一种跟踪对账方法,解决了分钟级的按业务对账的技术问题,本发明采用分钟级的按业务对账,不仅可以及时发现问题,而且可以精确的定位到数据问题点,本发明在采集时首先将数据包封,后续对账均采用包封数据里面的时间戳,这样可以精确的核对同一分钟在不同节点数据条数。
附图说明
图1是本发明的系统构架图。
具体实施方式
如图1所示的一种跟踪对账方法,包括如下步骤:
步骤1:设立数个数据采集服务器、中心服务器、数据库服务器和数个客户端服务器;
步骤2:设定每一个数据采集服务器均为一个Collector,设定每一个客户端服务器均为一个Worker,在中心服务器中建立Kafka平台和monitor管程,在数据库服务器中建立数据库,所有Collector和所有Worker均与Kafka平台通信,数据库与Kafka平台通信,monitor管程监视每一个Collector、每一个Worker、Kafka平台和数据库;
Collector用于收集数据,Worker用于消费数据;
数据库采用Mysql数据库;
步骤3:Collector将采集到的原始数据进行封包,生成json格式的数据包,数据包包含的字段为module数据所属模块,type数据类型,timestamp数据时间戳和data原始数据,其中module数据所属模块和type数据类型通过配置文件传入,timestamp数据时间戳为当前时间戳;
数据被Collector采集后,经过包封,然后传递到kafka,Worker在根据需要从kafka消费数据。同时Collector和Worker需要每分钟将对账数据传回monitor(http),monitor也每分钟去kafka中获取容量与offset信息,然后将这些信息存储到mysql中,最后在集中显示及配置告警规则。
Monitor采用网页形式展示数据。
步骤4:Collector根据timestamp数据时间戳,定义一个计数逻辑进行计数,统计每分钟采集到的数据包,并定时将统计结果发送给数据库、将数据包发送给Kafka平台;
步骤5:首先为所有的Worker均分配好group团队,然后已分配group团队的Worker调取Kafka平台的数据包进行消费,Kafka平台根据所述计数逻辑,统计每分钟用于消费的数据包的数量,并将统计结果发送给数据库;
Worker配置好group后,便可以消费,同时也需要计数,逻辑与Collector的计数相同。所不同的是Worker的开发人员主要是业务人员,为了简化计数这部分操作,提供一个SDK做数据的消费统计和写入mysql。
步骤6:通过monitor管程展示Collector采集到的数据包和Worker消费的数据包,并设置异常规则,异常规则包括:
规则一、两个值是否相等;
规则二、两个值是否在一定的相差范围内;
规则三、该值是否为0。
异常规则中的两个值分别是Collector和worker那边的计数,如果不满足配的规则便需要生成告警信息。
monitor管程需要每分钟定时拿到kafka每个topic的数据量以及每个group的offset。
monitor获取到Collector和Worker的数据,同时也会定时去Kafka拿相关数据。拿到数据将会保存到Mysql,Mysql的表结构包括Collector与Worker数据表和Kafka的数据表,如表1为Collector与Worker数据表的表结构,如表2为Kafka的数据表的数据表;
表1
字段名 | 字段类型 | 备注 |
id | bigint | 主键,自增 |
topic | varchar(32) | |
group | varchar(32) | |
partition | int | 属于kafka的信息,表示分区的意思 |
time | varchar(32) | yyyy-MM-dd HH:mm格式 |
offset | bigint | |
logsize | bigint | 代表当前topic partition总共消息 |
表2
优选的,所述计数逻辑为:以服务器IP+module数据所属模块+type数据类型+timestamp数据时间戳为计数密码key,设定一个以AtomicLong原子类为数据类型的value变量,使value变量从0开始计数,每采集到一个所述数据包就计数加1;计数的计数器框架选用guava cache缓存,guava cache缓存的过期测量采用expireAfterAccess策略,其参数为10分钟,当guava cache缓存过期后,将过期数据异步写入到数据库中。
优选的,将过期数据异步写入到数据库中的步骤如下:
步骤A1:在数据库中建立采集表和消费表,将步骤4所得出的所述Collector采集到的数据包统计结果写入采集表,将步骤5所得出的Worker消费的数据包统计结果写入消费表,采集表和消费表中的数据的字段格式相同,均包含module数据所属模块、type数据类型、timestamp数据时间戳和count计数数值;
步骤A2:数据库根据将要写入采集表或消费表的数据的字段,判断该数据是否已经存在:如果存在,则更新数据库中的数据,如果不存在,则添加该数据。
优选的,在第一次执行步骤3和步骤4时,需要将每一个module数据所属模块和每一个type数据类型的最近30分钟的数据加载到guava缓存中,如果没有则不用加载。
优选的,在执行步骤6时,所述monitor管程展示的数据包括每一个module数据所属模块和每一个type数据类型的每分钟的采集与消费情况,每个topic主体的每分钟数据增长情况,每个group团队消费的offset函数的增长情况。
优选的,当所述monitor管程展示采集与消费该分钟的数据在数据库中不存在时,需要展示时补全,默认值为0,即,该分钟因为没有数据流入便无法统计到数据,默认补全为0条。
本发明所述的一种跟踪对账方法,解决了分钟级的按业务对账的技术问题,本发明采用分钟级的按业务对账,不仅可以及时发现问题,而且可以精确的定位到数据问题点,本发明在采集时首先将数据包封,后续对账均采用包封数据里面的时间戳,这样可以精确的核对同一分钟在不同节点数据条数。
Claims (6)
1.一种跟踪对账方法,其特征在于:包括如下步骤:
步骤1:设立数个数据采集服务器、中心服务器、数据库服务器和数个客户端服务器;
步骤2:设定每一个数据采集服务器均为一个Collector,设定每一个客户端服务器均为一个Worker,在中心服务器中建立Kafka平台和monitor管程,在数据库服务器中建立数据库,所有Collector和所有Worker均与Kafka平台通信,数据库与Kafka平台通信,monitor管程监视每一个Collector、每一个Worker、Kafka平台和数据库;
Collector用于收集数据,Worker用于消费数据;
步骤3:Collector将采集到的原始数据进行封包,生成json格式的数据包,数据包包含的字段为module数据所属模块,type数据类型,timestamp数据时间戳和data原始数据,其中module数据所属模块和type数据类型通过配置文件传入,timestamp数据时间戳为当前时间戳;
步骤4:Collector根据timestamp数据时间戳,定义一个计数逻辑进行计数,统计每分钟采集到的数据包,并定时将统计结果发送给数据库、将数据包发送给Kafka平台;
步骤5:首先为所有的Worker均分配好group团队,然后已分配group团队的Worker调取Kafka平台的数据包进行消费,Kafka平台根据所述计数逻辑,统计每分钟用于消费的数据包的数量,并将统计结果发送给数据库;
步骤6:通过monitor管程展示Collector采集到的数据包和Worker消费的数据包,并设置异常规则,异常规则包括:
规则一、两个值是否相等;
规则二、两个值是否在一定的相差范围内;
规则三、该值是否为0;
异常规则中的两个值分别是Collector和worker那边的计数,如果不满足配的规则便需要生成告警信息。
2.如权利要求1所述的一种跟踪对账方法,其特征在于:所述计数逻辑为:以服务器IP+module数据所属模块+type数据类型+timestamp数据时间戳为计数密码key,设定一个以AtomicLong原子类为数据类型的value变量,使value变量从0开始计数,每采集到一个所述数据包就计数加1;计数的计数器框架选用guava cache缓存,guava cache缓存的过期测量采用expireAfterAccess策略,其参数为10分钟,当guava cache缓存过期后,将过期数据异步写入到数据库中。
3.如权利要求2所述的一种跟踪对账方法,其特征在于:将过期数据异步写入到数据库中的步骤如下:
步骤A1:在数据库中建立采集表和消费表,将步骤4所得出的所述Collector采集到的数据包统计结果写入采集表,将步骤5所得出的Worker消费的数据包统计结果写入消费表,采集表和消费表中的数据的字段格式相同,均包含module数据所属模块、type数据类型、timestamp数据时间戳和count计数数值;
步骤A2:数据库根据将要写入采集表或消费表的数据的字段,判断该数据是否已经存在:如果存在,则更新数据库中的数据,如果不存在,则添加该数据。
4.如权利要求1所述的一种跟踪对账方法,其特征在于:在第一次执行步骤3和步骤4时,需要将每一个module数据所属模块和每一个type数据类型的最近30分钟的数据加载到guava缓存中,如果没有则不用加载。
5.如权利要求1所述的一种跟踪对账方法,其特征在于:在执行步骤6时,所述monitor管程展示的数据包括每一个module数据所属模块和每一个type数据类型的每分钟的采集与消费情况,每个topic主体的每分钟数据增长情况,每个group团队消费的offset函数的增长情况。
6.如权利要求5所述的一种跟踪对账方法,其特征在于:当所述monitor管程展示采集与消费该分钟的数据在数据库中不存在时,需要展示时补全,默认值为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560621.8A CN110287239B (zh) | 2019-06-26 | 2019-06-26 | 一种跟踪对账方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560621.8A CN110287239B (zh) | 2019-06-26 | 2019-06-26 | 一种跟踪对账方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287239A CN110287239A (zh) | 2019-09-27 |
CN110287239B true CN110287239B (zh) | 2023-08-25 |
Family
ID=68006128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910560621.8A Active CN110287239B (zh) | 2019-06-26 | 2019-06-26 | 一种跟踪对账方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287239B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020740A1 (zh) * | 2015-08-06 | 2017-02-09 | 阿里巴巴集团控股有限公司 | 库存数据对账方法及装置 |
CN106445790A (zh) * | 2016-10-12 | 2017-02-22 | 北京集奥聚合科技有限公司 | 一种分布式实时计算系统中计数对账的方法及装置 |
CN109086410A (zh) * | 2018-08-02 | 2018-12-25 | 中国联合网络通信集团有限公司 | 流式海量数据的处理方法及系统 |
-
2019
- 2019-06-26 CN CN201910560621.8A patent/CN110287239B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020740A1 (zh) * | 2015-08-06 | 2017-02-09 | 阿里巴巴集团控股有限公司 | 库存数据对账方法及装置 |
CN106445790A (zh) * | 2016-10-12 | 2017-02-22 | 北京集奥聚合科技有限公司 | 一种分布式实时计算系统中计数对账的方法及装置 |
CN109086410A (zh) * | 2018-08-02 | 2018-12-25 | 中国联合网络通信集团有限公司 | 流式海量数据的处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110287239A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102150394B (zh) | 确定发出最多数据流的主机的系统与方法 | |
DE112013001306B4 (de) | Verwalten eines verteilten Fabric-Systems | |
CN106940677A (zh) | 一种应用日志数据告警方法及装置 | |
WO2021114673A1 (zh) | 一种物联网数据传输方法及系统 | |
CN107634848A (zh) | 一种采集分析网络设备信息的系统和方法 | |
CN102106101A (zh) | 用于监视和分析网络业务的系统和方法 | |
DE112013001335T5 (de) | Diagnosen in einem verteilten Fabric-System | |
CN106452933A (zh) | 一种业务数据的统计方法、装置及系统 | |
CN106600114A (zh) | 一种采集运维系统多维度质量评价方法 | |
CN104978842B (zh) | 一种低压集中器时钟自我修复的方法 | |
CN110569174B (zh) | 一种用于nifi任务的分布式监控系统及方法 | |
CN110287239B (zh) | 一种跟踪对账方法 | |
CN109165045A (zh) | 一种调整服务器的硬件配置的方法和装置 | |
CN112751722B (zh) | 数据传输质量监控方法和系统 | |
CN101631330B (zh) | 一种性能数据的采集处理方法及装置 | |
CN110633191A (zh) | 实时监控软件系统业务健康度的方法和系统 | |
CN116401127A (zh) | 信息系统健康状态的监测方法、装置和电子设备 | |
CN111600774B (zh) | 消费延迟确定方法、系统、装置、设备及可读存储介质 | |
CN103546331A (zh) | 监控信息的获取方法、装置及系统 | |
CN108400905B (zh) | 一种处理分布式存储端到端流量分析的方法 | |
CN101754236B (zh) | Td-scdma网络集中监测系统的技术参数测算模型 | |
CN105610633A (zh) | 一种通信设备中实时性能自采样系统及方法 | |
CN112308731A (zh) | 一种采集系统多任务并发处理的云计算方法及系统 | |
CN112671587A (zh) | 一种设备下发配置失败的告警方法 | |
CN112667460A (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 |