一种大数据统计方法、系统、计算机设备及存储介质技术方案

技术编号:21115757 阅读:34 留言:0更新日期:2019-05-16 08:59
本申请实施例公开了一种大数据统计方法、系统、计算机设备及存储介质。本申请实施例方法包括:通过读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列;通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中;通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果;将数据通过增量方式导入仓库,数据仓库进行数据清洗,清洗后存起来,通过离线计算,将统计数据提前算好,等到业务系统使用的时候直接取统计后的数据,提高统计速度,减轻数据库统计的压力。

A Large Data Statistics Method, System, Computer Equipment and Storage Media

The embodiment of the application discloses a large data statistics method, a system, a computer device and a storage medium. The embodiments of this application include: putting log records into message queues in order by reading binlog logs of Mysql database; consuming message queues through ETL service; extracting, cleaning, transforming and loading log records in message queues to obtain corresponding business data and loading them into corresponding data warehouses; and loading them into corresponding data warehouses through Spark distributed query engine. Real-time analysis, aggregation, query and off-line calculation of the business data are carried out to obtain the corresponding statistical results; the data are imported into the warehouse by incremental way, the data warehouse is cleaned and stored after cleaning, and the statistical data are calculated in advance by off-line calculation, and the statistical data are directly taken when the business system is used to improve the statistical speed and reduce the database system. The pressure of the meter.

【技术实现步骤摘要】
一种大数据统计方法、系统、计算机设备及存储介质
本申请涉及大数据
,尤其涉及一种大数据统计方法、系统、计算机设备及存储介质。
技术介绍
目前,随着互联网的爆发式增长,数据量急剧增长,数据库的损耗越来越大,一些统计等操作容易导致数据库的锁表、卡死等现象,数据库主从部署会大量的占用服务器IO,特别是对数据库文件比较大的主从复制,系统很容易卡死。刚开始数据业务不多,压力不大,一台数据库服务器就可以满足需求。随着业务的快速发展,数据越来越多,这个时候需要把DB、WebServer等服务分开部署了。但是随着用户量的不断增长,一些报表统计越来越多,会发现数据库不行了,速度很慢,有时候还会宕掉。这个时候就得利用读写分离,有一个MasterServer(主服务器)专门负责收集数据,另外的几个SalveServer(从服务器)专门进行读取,这时候压力会减轻点。但是随着用户数量的继续增多,容易导致服务器IO占用过大,导致数据库卡死,数据报表统计慢,无法展示正确数据。
技术实现思路
本申请实施例提供了一种大数据统计方法、系统、计算机设备及存储介质,用于解决现有技术中数据量多统计等操作会导致数据库的资源占用变大,导致数据统计不出来的问题。本申请实施例提供的大数据统计方法,包括:读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列;通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中;通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果。可选地,所述读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列,包括:Mysql数据库开启binlog;开启同步服务,定时拉取binlog日志,解析binlog日志;同步服务将binlog日志发送给消息队列。可选地,所述通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中,包括:开启ETL服务;通过ETL服务对消息队列进行消费;根据业务需求对消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据;按照预先定义好的数据仓库模型,将不同业务数据加载到对应的数据仓库中。可选地,所述数据仓库为有且仅有一个多字段复合索引的存储引擎。可选地,所述通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果,包括:通过用Spark分布式查询引擎做实时分析、聚合、查询及离线计算,得到对应的统计结果;所述Spark是专为大规模数据处理而设计的快速通用的计算引擎,通过在统一框架下支持不同计算把各种处理流程整合。可选地,所述通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果之前,还包括:将查询信息通过网关服务接入到存储层以对所述数据仓库中的业务数据进行查询和数据统计。可选地,所述通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果之后,还包括:通过网关服务实现负载均衡、认证授权及统一管理API,以实现统计数据的统计结果输出;通过API方式进行数据获取,根据不同的业务需求获取对应的统计结果并展示。本申请实施例提供的大数据统计系统,包括:日志读取模块,用于读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列;数据存储模块,用于通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中;统计结果模块,用于通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果。本申请实施例提供的计算机设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的大数据统计方法的步骤。本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的大数据统计方法的步骤。从上述技术方案可以看出,本申请实施例具有以下优点:本实施例中,通过读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列;通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中;通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果;将数据通过增量方式导入仓库,数据仓库进行数据清洗,清洗后存起来,通过离线计算,将统计数据提前算好,等到业务系统使用的时候直接取统计后的数据,提高统计速度,减轻数据库统计的压力。附图说明图1为本申请实施例中大数据统计方法的一个实施例示意图;图2为本申请实施例中大数据统计方法的应用实施例示意图;图3为本申请实施例中大数据统计系统的一个实施例示意图;图4为本申请实施例中计算机设备的结构示意图。具体实施方式本申请实施例提供了一种大数据统计方法、系统、计算机设备及存储介质,为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似改进,因此本专利技术不受下面公开的具体实施的限制。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。下面对本申请实施例中的具体流程进行描述,请参阅图1,本申请实施例中大数据统计方法的一个实施例包括:110、读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列;120、通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中;130、通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果。本实施例中,通过拉取binlog日志方式实现每日数据的同步,binlog是Mysqlsever层维护的一种二进制日志,其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,并以"事务"的形式保存在磁盘中,利用binlog的工作机制实现数据增量同步。读取Mysql数据库的binlog日志,对binlog日志进行解析,解析出有过变更的数据,这部分数据就是增量数据。然后将这部分增量数据发送到消息队列,从而实现增量同步。请一并参阅图2,图2为本申请实施例中大数据统计方法的应用实施例示意图,读取binlog日志后,将日志记录按顺序放入消息队列,具体为kafka队列,kafka是一个为处理实时数据提供本文档来自技高网
...

【技术保护点】
1.一种大数据统计方法,其特征在于,包括:读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列;通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中;通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果。

【技术特征摘要】
1.一种大数据统计方法,其特征在于,包括:读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列;通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中;通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果。2.根据权利要求1所述的方法,其特征在于,所述读取Mysql数据库的binlog日志,将日志记录按顺序放入消息队列,包括:Mysql数据库开启binlog;开启同步服务,定时拉取binlog日志,解析binlog日志;同步服务将binlog日志发送给消息队列。3.根据权利要求1所述的方法,其特征在于,所述通过ETL服务对消息队列进行消费,对所述消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据并加载到对应的数据仓库中,包括:开启ETL服务;通过ETL服务对消息队列进行消费;根据业务需求对消息队列中的日志记录进行抽取、清洗、转换及装载处理得到对应的业务数据;按照预先定义好的数据仓库模型,将不同业务数据加载到对应的数据仓库中。4.根据权利要求3所述的方法,其特征在于,所述数据仓库为有且仅有一个多字段复合索引的存储引擎。5.根据权利要求1所述的方法,其特征在于,所述通过Spark分布式查询引擎对所述业务数据做实时分析、聚合、查询及离线计算得到对应的统计结果,包括:通过用Spark分布式查询引擎做实时分析、聚合、查询及离线计算,得到对应的统计结果;所述Spark是专为大规模数据处理...

【专利技术属性】
技术研发人员:周志文朱宇翔李朝武王剑
申请(专利权)人:深圳市麦谷科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1