[发明专利]一种基于集群环境下的日志异步存储方法和设备有效
申请号: | 202011261846.2 | 申请日: | 2020-11-12 |
公开(公告)号: | CN112486913B | 公开(公告)日: | 2023-09-22 |
发明(设计)人: | 涂旭青;闵红星;周金平 | 申请(专利权)人: | 思创数码科技股份有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/16;G06F16/17;G06F16/18 |
代理公司: | 北京华专卓海知识产权代理事务所(普通合伙) 11664 | 代理人: | 彭锐 |
地址: | 330096 江西省南*** | 国省代码: | 江西;36 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 集群 环境 日志 异步 存储 方法 设备 | ||
本发明的实施例提供了一种基于集群环境下的日志异步存储方法和设备。所述方法包括响应于访问请求,生成日志对象,进行序列化,得到二进制的日志数据;将二进制的日志数据映射到内存地址中,写入文件队列;响应于启动指令,启动第一线程,读取索引文件,根据优先级依次为文件队列分配第二线程,从内存中顺序读取文件队列中的日志数据;当读取到的日志数据达到日志存库服务触发条件时,触发日志存库服务,将所述读取到的日志数据存入数据库。以此方式,可以通过文件队列对日志数据进行异步存储,批量入库,缓解系统访问日志存储压力,提高系统响应速度和吞吐量,在应用或系统重启时不会造成日志丢失,保证访问日志的完整性。
技术领域
本发明的实施例一般涉及计算机数据存储领域,并且更具体地,涉及一种基于集群环境下的日志异步存储方法和设备。
背景技术
用户的访问会生成服务调用日志,服务调用日志需要存入数据库中。目前服务调用日志是以同步的方式直接存入数据库,存储到缓存后异步存入数据库;存成文本文件方式采用第三方采集工具采集入库。而在集群环境下,大量用户访问、高并发请求的情况下数据库的性能已经是瓶颈,由于来不及同步处理日志信息,请求往往会发生堵塞,比如大量的insert的日志存储请求同时到达数据库,直接导致无数的行锁表锁,甚至最后请求会堆积过多,数据库或应用崩溃。
存储到缓存后异步存入数据库,在应用或缓存服务器重新启动后将丢失已缓存尚未入数据库的服务调用日志,缓存访问日志都进行存储则没有发挥缓存的效果性能受到影响。且不能通过进程间添加一层实现解耦,阻碍业务系统今后的扩展,降低系统响应速度和吞吐量。同时,服务调用的请求内容和返回内容包含音频、图像、文件等二进制数据,而第三方采集工具只能采集文本型日志,将二进制内容转码成文本将影响服务处理性能。
发明内容
根据本发明的实施例,提供了一种日志异步存储方案。
在本发明的第一方面,提供了一种日志异步存储方法。该方法包括:
响应于访问请求,生成日志对象,并将所述日志对象进行序列化,得到二进制的日志数据;
将所述二进制的日志数据映射到内存地址中,写入文件队列;所述文件队列包括多个有序的数据文件和一个索引文件;所述数据文件用于进行日志数据的读和写;所述索引文件用于记录当前读和写的数据文件编号、偏移量以及文件队列的优先级;
响应于第一应用程序的启动指令,启动第一线程,所述第一线程用于读取所述索引文件,根据索引文件中的优先级依次为文件队列分配第二线程,并启动第二线程;所述第二线程用于当所述文件队列中的数据文件不为空时,获取最近一次读取的偏移量,从内存中顺序读取所述文件队列中的日志数据;
当读取到的日志数据达到日志存库服务触发条件时,触发日志存库服务,将所述读取到的日志数据存入数据库。
进一步地,所述日志对象包括服务信息、授权信息、调用者信息、调用信息和返回内容。
进一步地,为每个数据文件分配存储空间,所述存储空间内包括多个有序的数据存储单元,且相邻顺序的两个数据文件,后一个数据文件的首位存储单元与前一个数据文件的末位存储单元对应关联。
进一步地,当向所述数据文件中写入日志数据时,向所述数据文件的数据存储单元中依次写入日志数据,当所述数据文件的末位存储单元达到最大存储空间时,根据数据文件之间的关联关系,切换到下一个数据文件的首位存储单元继续存储;
当从所述数据文件中读取日志数据时,从所述数据文件中的数据单元中依次读取日志数据,当完成所述数据文件中末位存储单元的读取后,根据数据文件之间的关联关系,切换到下一个数据文件的首位存储单元继续读取。
进一步地,所述文件队列采用MappedByteBuffer对日志文件进行读写操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于思创数码科技股份有限公司,未经思创数码科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011261846.2/2.html,转载请声明来源钻瓜专利网。