[发明专利]一种写入日志的方法和系统有效
| 申请号: | 201710028788.0 | 申请日: | 2017-01-16 |
| 公开(公告)号: | CN107704478B | 公开(公告)日: | 2019-03-15 |
| 发明(设计)人: | 陈亚川;苗辉 | 申请(专利权)人: | 贵州白山云科技股份有限公司 |
| 主分类号: | G06F16/17 | 分类号: | G06F16/17 |
| 代理公司: | 北京名华博信知识产权代理有限公司 11453 | 代理人: | 李冬梅;苗源 |
| 地址: | 550003 贵州省贵阳市*** | 国省代码: | 贵州;52 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 写入 日志 方法 系统 | ||
本发明公开了一种写入日志的方法和系统。所述方法包括:步骤1,获取多条日志;步骤2,根据所述日志中包含的域名的请求量,将所述日志划分为N个等级,其中N为大于等于1的正整数;步骤3,根据所述日志的等级,分别读取所述日志,并写入HDFS系统。采用本发明的方法和系统,杂乱无章的日志文件在写入HDFS系统后,就变得清楚有序,通过HDFS系统中记录的文件名就可以快速、准确地查到的某个域名某个时间段的访问情况。
技术领域
本发明涉及网络领域,尤其涉及一种写入日志的方法和系统。
背景技术
Hadoop分布式文件系统(简称HDFS)是一个高度容错性的系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
在客户端提交域名解析请求时,会生成访问日志。根据域名被访问的次数不同,生成的访问日志文件的容量大小不一。这样,在将访问日志文件存储到HDFS系统上时,由于小容量文件的数量非常多,这就需要频繁打开文件读取其中内容,从而造成系统崩溃。此外,在提交域名解析请求时生成的访问日志文件大多是杂乱无章的,如果直接将这些杂乱的日志文件写入HDFS系统,则会使后续处理非常麻烦。
因此,需要一种能够提高日志写入HDFS系统的吞吐量的写入方法和系统。
发明内容
为了解决现有技术中存在的问题,提供了一种写入日志的方法和系统,该方法和系统能够解决将日志问写入HDFS系统时吞吐量不够的问题,且能够对杂乱无章的日志文件进行整理。
根据本发明的一个方面,提供了一种写入日志的方法,所述方法包括:
步骤1,获取多条日志;
步骤2,根据所述日志中包含的域名的请求量,将所述日志划分为N个等级,其中N为大于等于1的正整数;
步骤3,根据所述日志的等级,分别读取所述日志,并写入HDFS系统。
其中,所述步骤2中的域名的请求量为在写入日志前统计的所述域名的请求量。
其中,所述步骤3还包括:将相同等级的日志中访问目标为同一域名并且访问时间位于同一时间段内的日志写入HDFS系统中相同类别的文件中。
其中,使用第一Flume系统执行所述步骤1和所述步骤2,使用第二Flume系统执行所述步骤3,所述第二Flume系统包括S组Flume子系统,其中S为大于等于1的正整数,S=N。
其中,所述方法在所述步骤2和所述步骤3之间还包括:
将不同等级的日志分别存储至M个不同的日志队列中,其中M为大于等于1的正整数,M=N。
其中,使用Kafka系统维护所述M个日志队列。
其中,所述步骤1包括:所述第一Flume系统中的source组件读取所述多条日志;
所述步骤2包括:所述第一Flume系统中的source组件对所述日志划分等级,并将N个等级的日志分别分配到所述第一Flume系统中的N个channel组件中,使用与所述N个channel组件一一对应的所述第一Flume系统中的N个sink组件分别读取各对应的所述N个channel组件中的日志。
其中,所述步骤3包括:
所述第二Flume系统中至少一个Flume子系统中的source组件读取与该Flume子系统相应的日志队列中的日志,将读取的所述日志利用映射算法分配到该Flume子系统的多个channel组件中,使用与所述多个channel组件一一对应的该Flume子系统的多个sink组件分别读取各对应的所述channel组件中的日志。
其中,所述映射算法为哈希算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州白山云科技股份有限公司,未经贵州白山云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710028788.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于数据安全的excel导出方法和装置
- 下一篇:文件生成方法和装置





