【技术实现步骤摘要】
操作日志生成方法、装置、计算机设备及存储介质
[0001]本专利技术涉及数据处理
,尤其涉及一种操作日志生成方法、装置、计算机设备及存储介质。
技术介绍
[0002]MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。虽然这种方案的实现简单,但是随着业务的发展,离线全量跑批需要花费的时间越来越长,无法满足下游数仓生产的时间要求;而直接从MySQL数据库中选择大量数据,对MySQL数据库的影响非常大,容易造成慢查询,影响业务线上的正常服务。基于LogUtil(控制日志打印)的实现方案,在业务逻辑方法中加入了记录操作日志的代码,代码的可读性和可维护性极差。而且,基于切面的实现方案,依赖接口传参,增加数据库查询压力。
技术实现思路
[0003]本专利技术实施例提供了一种操作日志生成方法、装置、计算机设备及存储介质,旨在解决现有技术中在业务逻辑加入记录操作日志的代码导致代码可读性差的问题。
[0004]第一方面,本专利 ...
【技术保护点】
【技术特征摘要】
1.一种操作日志生成方法,其特征在于,包括:将数据库中的binlog数据同步到Kafka队列;根据事务类型对所述数据库中每一事务对应的GTID进行类型标记,并添加事务所属信息得到事务信息,将所述事务信息存入所述Kafka队列,所述事务与所述binlog数据对应,所述GTID为全局事务ID;消费所述Kafka队列中的binlog数据,并将所述binlog数据存储于ClickHouse数据库;从所述Kafka队列中读取所述事务信息,根据所述事务信息中的GTID从所述ClickHouse数据库查询对应的binlog数据,并根据所述事务信息中的事务类型和binlog数据生成对应的操作日志元数据,存储于所述ClickHouse数据库;从所述ClickHouse数据库中读取所述操作日志元数据,并根据对应的事务类型进行展示。2.根据权利要求1所述的操作日志生成方法,其特征在于,还包括:对不产生事务的数据操作建立伪造事务,对所述伪造事务进行类型标记,并添加事务所属信息得到事务信息,将所述事务信息存入所述Kafka队列。3.根据权利要求1所述的操作日志生成方法,其特征在于,所述消费所述Kafka队列中的binlog数据,并将所述binlog数据存储于ClickHouse数据库,包括:消费所述Kafka队列中的binlog数据,基于实时计算引擎对消费的binlog数据进行实时聚合统计计算,得到所述binlog数据的消费数量;根据所述消费数量实时计算所述ClickHouse数据库的存储空间,并根据存储空间计算结果将消费的所述binlog数据写入所述ClickHouse数据库。4.根据权利要求3所述的操作日志生成方法,其特征在于,所述根据所述消费数量实时计算所述ClickHouse数据库的存储空间,并根据存储空间计算结果将消费的所述binlog数据写入所述ClickHouse数据库,包括:基于所述消费数量,判断所述ClickHouse数据库的存储空间是否满足写入消费的所述binlog数据;若是,则将消费的所述binlog数据写入所述ClickHouse数据库;若否,则依次清除所述ClickHouse数据库中操作时间最早的binlog数据,直至所述ClickHouse数据库的存储空间满足写入消费的所述binlog数据,并将消费的所述binlog数据写入所述ClickHouse数据库。5.根据权利要求3所述的操作日志生成方法...
【专利技术属性】
技术研发人员:王颖奇,冯斌,万华松,
申请(专利权)人:深圳复临科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。