[发明专利]一种用于对并发生成的业务日志的处理方法和系统有效
申请号: | 201611071496.7 | 申请日: | 2016-11-28 |
公开(公告)号: | CN106776249B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 赵鑫;魏然;李勇;何宬呈;尹超 | 申请(专利权)人: | 华迪计算机集团有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 郭一斐 |
地址: | 100192 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 并发 生成 业务 日志 处理 方法 系统 | ||
本发明通过对并发生成的业务日志的处理方法,通过将缓冲日志区与物理存储分离,减小了系统压力,进而减小了系统响应迟缓的问题,提高了业务日志的插入和存储效率。所述方法包括:将并发生成的业务日志写入缓冲日志区;判断缓冲日志区的状态是否达到预设条件;当缓冲日志区的状态达到预设条件时,将缓冲日志区中的业务日志转存到长期存储介质中;根据唤醒日志区中已有的查询条件,更新唤醒日志区的查询结果集,以实现针对业务日志的查询。
技术领域
本发明涉及Java Web领域,并且更具体地,涉及一种用于对并发生成的业务日志的处理方法和系统。
背景技术
在常规的传统web项目中,常常需要各类日志输出,用以帮助管理人员定位问题、监控危险操作等。一般日志分为两类:
(1)系统日志:指系统级和代码级的调试信息,用于系统排查错误和程序调试;
(2)业务日志:指业务范畴和安全权限变更的相关操作记录,用于监控用户关键操作等。
现在常用的做法一般是业务处理代码中加入额外的日志代码向用户数据库业务日志表中插入日志记录,虽然这种方式在低并发场景下有编码简单易懂,实时性高等优点,但是在高并发的环境下就显得力不从心了。在日常使用场景中,业务日志会被高频调用,用户量达到一定量后,会频繁的进行数据库读写、请求数据源连接需求,对应用程序和数据库都造成很大负担,导致系统响应迟缓甚至卡死,阻滞业务功能响应、严重降低用户体验。
发明内容
本发明目的在于提供一种用于对并发生成的业务日志的处理方法和系统,解决高并发下插入、查询业务日志时引发的系统压力所导致的系统响应迟缓等问题。
根据本发明的一方面,提供一种用于对并发生成的业务日志的处理方法,所述方法包括,
将并发生成的业务日志写入缓冲日志区;
判断缓冲日志区的状态是否达到预设条件;
当缓冲日志区的状态达到预设条件时,将缓冲日志区中的业务日志转存到长期存储介质中;以及
根据唤醒日志区中已有的查询条件,更新唤醒日志区的查询结果集,以实现针对业务日志的查询。
优选地,所述预设条件为:缓冲日志区内缓存的业务日志的数据大小是否达到临界值。
优选地,所述预设条件为:间隔时间是否满足进行同步操作的预定时间段。
优选地,当间隔时间满足进行同步操作的预定时间段时,若缓冲日志区内没有数据,则中断同步并重新开始计时。
优选地,通过调用插入接口将业务日志写入到缓冲日志区。
优选地,所述唤醒日志区存储的数据为查询条件与查询结果集的对应关系,其中所述查询条件不包括分页条件和时间维度。
优选地,所述针对业务日志的查询为:
获得缓冲日志区中符合查询条件的业务日志的集合R1;
查询唤醒日志区中是否存在符合查询条件的查询结果集;
若唤醒日志区中存在符合查询条件的查询结果集,则根据查询结果集的内容获得业务日志的集合R2;
若唤醒日志区中不存在符合查询条件的查询结果集,则在长期存储介质中进行查询并获取符合查询条件的业务日志的集合R2,并更新唤醒日志区的查询结果集;
计算R1和R2的并集R-,并对R-进行时间维度和分页条件的过滤,得到所有符合查询条件的业务日志的集合R。
优选地,所述过滤方法为迭代遍历法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华迪计算机集团有限公司,未经华迪计算机集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611071496.7/2.html,转载请声明来源钻瓜专利网。