CN103177116B - 一种基于两级索引的分布式日志处理和查询方法 - Google Patents
一种基于两级索引的分布式日志处理和查询方法 Download PDFInfo
- Publication number
- CN103177116B CN103177116B CN201310118003.0A CN201310118003A CN103177116B CN 103177116 B CN103177116 B CN 103177116B CN 201310118003 A CN201310118003 A CN 201310118003A CN 103177116 B CN103177116 B CN 103177116B
- Authority
- CN
- China
- Prior art keywords
- log
- index
- daily record
- file
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于两级索引的分布式日志处理和查询方法,包括以下步骤:1)日志收集:通过日志服务动态库向日志服务程序发送日志信息;2)日志转储:日志服务程序接收到日志客户端发送的日志记录并将日志写入到日志文件;3)日志索引创建及更新:日志索引处理程序对系统内的索引文件进行处理;4)日志查询:日志查询客户端向服务端程序发送查询请求,服务程序接受查询请求后,通过二级索引的方式快速定位到相关的日志信息并将查询到的日志返回给查询客户端。本发明是一种可支持分布式日志管理、支持跨节点查询、基于索引技术查询效率高、可移植性好、跨平台、部署简单的分布式日志处理和查询方法。
Description
技术领域
本发明涉及一种日志处理和查询方法,特别涉及一种两级索引的分布式日志处理和查询方法。
背景技术
现有的日志管理系统,一般只是对本机日志的收集转储功能,无法支持分布式环境下的日志收集。另外,现有的日志管理系统无法对日志进行查询,即使有日志查询功能,也只能在本机进行查询,无法支持跨节点查询。
发明内容
本发明所要解决的技术问题是提供一种支持分布式日志处理和查询方法。
为解决上述问题,本发明提供一种基于两级索引的分布式日志处理和查询方法。本发明以支持分布式日志处理和查询为目的,支持日志信息的多输出方式以及丰富的日志信息为次要目的,以配置文件、索引文件为调控方法,提供了一种本地、远程可选的日志收集、日志信息多样性、日志输出方式多样性、支持跨节点查询、查询效率高的分布式日志处理和查询方法。
本发明采用以下的技术方案来实现:
本发明是一种基于两级索引的分布式日志处理和查询方法,其特征在于,包括以下步骤:
1)日志收集:服务程序启动后,根据配置将配置信息读入内存,初始化日志接收端口等待日志客户端程序写日志,日志客户端程序调用日志服务动态库接口写日志,此过程可以配置本机接收或者远程机器接收,日志服务动态库根据配置信息将其写入本地或远程节点日志文件中;
2)日志转储:日志服务程序接收到日志客户端发送的日志记录并将日志写入到日志文件后,日志服务程序判断写入后的日志文件大小是否超过限制;若日志文件大小超过限制,日志服务程序将这个日志文件进行转储,并判断系统内的日志文件总个数和当日日志文件总个数是否超过相对应的文件个数限制,若超过,则删除相对应个数;
到达固定大小上限时对日志文件进行改名转储,避免单个日志文件过大。且当文件数目达到可配置的上限时删除最旧的日志文件,避免日志文件占满整个硬盘,且始终保持硬盘上存有此固定周期内的最新日志。
3)日志索引创建及更新:日志索引处理程序启动后对日志索引文件进行检查;若没有日志索引文件,则对相应的日志文件创建索引文件后进入日志索引处理状态;若有日志索引文件,则直接进入日志索引处理状态;由日志索引处理对现有日志文件进行索引更新,并对日志转储文件进行检查;例如:日志转储文件被按一定的规则删除后,相对应的索引文件的删除以及更新等。
4)日志查询:日志查询功能主要是由日志查询工具向日志索引管理程序发送日志查询请求;日志查询工具通过网络套接字的方式向日志索引管理程序发送日志查询请求以及查询条件,日志索引处理程序接受查询请求并通过二级索引方式查询符合条件的日志并将其发送给日志查询工具,由日志查询工具进行统一的整合。
提供按照一定的时间段查询本地日志。查询结果相对于原日志文件更加精简,便于网络传输,更加适合查询人定位系统故障。
使用两级索引辅助查询。第一级索引为单个日志文件中日期和时间与在文件中的偏移量的对应关系,第二级索引为日期和时间与日志文件名的对应关系。
创建索引是增量进行。二级索引每当创建一个新日志文件和一个日志文件到达大小上限进行转储时进行增量替换。为提高系统I/O效率,一级索引每小时修改一次。
当日志文件进行转储或者变化时,先进行索引的更新后再进行查询。当查询时间段处于一级索引未更新的一小时内时,先进行索引的更新后再进行查询。
当查询的参数中指明了远程节点时,通过网络通信在异地启动查询进程,并通过日志处理程序返回查询结果,实现分布式日志查询。
上述步骤均由计算机程序实现,能够运行在各种UNIX和Linux、Windows操作系统上,且不依赖任何除服务器以外的硬件设备。
本发明所达到的有益效果:
本发明通过以上步骤,可达以下技术效果:1、可支持分布式的日志收集和本机日志收集;2、可支持跨节点的日志查询;3、查询效率高,采用二级索引进行日志查询,提高了日志查询效率;4、可移植性好,所有功能完全是计算机程序实现,可运行在UNIX和Linux、Windows操作系统上,不需要借助任何操作系统自带的软件;5、具有跨平台能力,源端和目的端可部署在不同操作系统的服务器上;6、日志是否发送远程,日志文件大小上限,日志文件个数上限等参数编程可调;7、部署简单,只需部署服务程序、动态库以及配置文件即可运行。综上所述,本发明是一种可支持分布式日志管理、支持跨节点查询、基于索引技术查询效率高、可移植性好、跨平台、部署简单的分布式日志处理和查询方法。
附图说明
图1是本发明中日志处理服务流程图;
图2是本发明中日志客户端发送日志流程图;
图3是本发明中日志索引处理流程图;
图4是本发明中日志查询流程图。
具体实施方式
图1是本发明中日志处理服务流程图。包括:
步骤1:日志处理服务程序初始化。具体包括:日志处理服务程序的配置文件参数读取、接收日志端口初始化等,进入步骤2。
步骤2:接收日志。具体包括:日志处理服务程序首先处于等待接收日志状态。如果有日志报文发送到日志端口,日志处理服务程序将其写入日志文件app_msg.log,进入步骤3。否则继续处于等待状态。
步骤3:日志转储。具体包括:当有新的日志写入日志文件后,日志处理服务程序将对日志文件进行是否超过日志文件大小上限判断。如果没有超过上限,则进入步骤2的等待状态。如果超过上限,则将其按规则进行转储,进入步骤4。
步骤4:最旧日志文件删除。具体包括:当日志文件进行一次新的转储后,日志处理服务程序将对系统日志文件的总数以及当日生成的日志文件总数进行计数。如果超过各自的上限个数,则删除所规定的最旧的日志文件。否则进入步骤2的等待状态。
图2是本发明中日志客户端发送日志流程图。包括:
步骤21:客户端进行日志服务注册,获得使用日志服务的权利。
步骤22:日志服务动态库检查是否要发送远程日志。
步骤23:写入远程日志文件或本地日志文件app_msg.log。
图3是本发明中日志索引处理流程图。包括:
步骤31:系统日志索引的维护。在对日志索引维护过程中,进程会对日志文件以及相对应的索引文件进程检查:(1)若app_msg.log.1没有相对应的app_msg.log.1.index日志索引文件,则进程会对日志文件app_msg.log.1进行一级索引文件创建,并将一级索引文件相关信息写入到二级索引内;(2)若app_msg.log.1日志文件被删除,但系统内还保留app_msg.log.1.index索引文件时,则进程会删除该索引文件,并将保存在二级索引中的该一级索引文件相关信息清除。
对app_msg.log的索引更新:由于app_msg.log的数据一直在变化,进程会对app_msg.log每小时进行一次索引文件的更新,并将更新后的一级索引信息更新到二级索引文件中。
步骤32:接收查询请求及日志索引是否需要更新。如果服务端没有接收到查询请求,则判断日志文件是否变化,是否需要进行索引的更新,如果需要则进入步骤1,没有不需要更新则返回到接收日志查询请求状态,如果接收到查询请求,则直接进行日志查询并将查询日志结果返回给查询客户端。
图4是本发明中日志查询流程图。包括:
步骤41:日志查询工具向所需要查询的节点发送查询请求以及查询条件。其中查询条件支持按时间段查询。查询节点又包括本地节点查询和远程节点查询。例如:可通过参数传递方式–t查询开始时间查询结束时间–n节点1节点2…,将查询时间以及节点参数传递给查询工具,由查询工具发送给日志索引管理进程。
步骤42:日志查询。日志查询工具向服务端发送查询请求,服务端接受查询请求后,服务进程会判断查询客户端发送的查询时间段是否在一级索引上次更新后的一小时内,若是则先进行索引更新,如果不在则直接进入日志查询,日志查询通过二级索引文件中确定该时间段处于哪几个文件中,然后通过一级索引文件快速定位到该时间段的日志信息,并将查询到的日志信息通过网络套接字的方式返回给日志查询客户端。
步骤43:接收查询结果。对于查询结果,日志查询工具会按照时间对查询结果进行排序后汇总到查询输出文件中。
本发明按照优选实施例进行了说明,应当理解,但上述实施例不以任何形式限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。
Claims (6)
1.一种基于两级索引的分布式日志处理和查询方法,其特征在于,包括以下步骤:
1)日志收集:服务程序启动后,将配置信息读入内存,初始化日志接收端口等待日志客户端程序写日志,日志客户端程序调用日志服务动态库接口写日志,日志服务动态库根据配置信息写入本地或远程节点日志文件中;
2)日志转储:日志服务程序接收到日志客户端发送的日志记录并将日志写入到日志文件后,日志服务程序判断写入后的日志文件大小是否超过限制;若日志文件大小超过限制,日志服务程序将这个日志文件进行转储,并判断系统内的日志文件总个数和当日日志文件总个数是否超过相对应的文件个数限制,若超过,则删除相对应个数;
3)日志索引创建及更新:日志索引处理程序启动后对日志索引文件进行检查;若没有日志索引文件,则对相应的日志文件创建索引文件后进入日志索引处理状态;若有日志索引文件,则直接进入日志索引处理状态;由日志索引处理对现有日志文件进行索引更新,并对日志转储文件进行检查;
4)日志查询:由日志查询工具向日志索引处理程序发送日志查询请求;日志索引处理程序接受查询请求并通过二级索引方式查询符合条件的日志并将其发送给日志查询工具,由日志查询工具进行统一的整合。
2.根据权利要求1所述的基于两级索引的分布式日志处理和查询方法,其特征在于,步骤4)中,日志查询工具通过网络套接字的方式向日志索引处理程序发送日志查询请求以及查询条件。
3.根据权利要求1所述的基于两级索引的分布式日志处理和查询方法,其特征在于,步骤4)中,使用两级索引辅助查询,第一级索引为单个日志文件中日期和时间与在文件中的偏移量的对应关系,第二级索引为日期和时间与日志文件名的对应关系。
4.根据权利要求1所述的基于两级索引的分布式日志处理和查询方法,其特征在于,步骤3)中,创建索引是增量进行,二级索引每当创建一个新日志文件和一个日志文件到达大小上限进行转储时,进行增量替换;一级索引每小时修改一次。
5.根据权利要求4所述的基于两级索引的分布式日志处理和查询方法,其特征在于,当日志文件进行转储或者变化时,先进行索引的更新后再进行查询;当查询时间段处于一级索引未更新的一小时内时,先进行索引的更新后再进行查询。
6.根据权利要求1所述的基于两级索引的分布式日志处理和查询方法,其特征在于,当查询的参数中指明了远程节点时,通过网络通信在异地启动查询进程,并通过日志处理程序返回查询结果,实现分布式日志查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310118003.0A CN103177116B (zh) | 2013-04-08 | 2013-04-08 | 一种基于两级索引的分布式日志处理和查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310118003.0A CN103177116B (zh) | 2013-04-08 | 2013-04-08 | 一种基于两级索引的分布式日志处理和查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103177116A CN103177116A (zh) | 2013-06-26 |
CN103177116B true CN103177116B (zh) | 2016-05-04 |
Family
ID=48636977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310118003.0A Active CN103177116B (zh) | 2013-04-08 | 2013-04-08 | 一种基于两级索引的分布式日志处理和查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177116B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473169B (zh) * | 2013-09-24 | 2016-04-06 | 北京京东尚科信息技术有限公司 | 一种日志文件收集方法及装置 |
CN104834648B (zh) * | 2014-02-12 | 2018-07-31 | 华为技术有限公司 | 日志查询方法和装置 |
CN105760398A (zh) * | 2014-12-18 | 2016-07-13 | 中兴通讯股份有限公司 | 一种日志记录系统及日志记录操作方法 |
CN105824837B (zh) * | 2015-01-06 | 2019-04-02 | 中国移动通信集团广东有限公司 | 一种日志处理方法及装置 |
CN104933114A (zh) * | 2015-06-08 | 2015-09-23 | 山东蚁巡网络科技有限公司 | 一种海量日志管理云平台 |
CN105897834A (zh) * | 2015-12-04 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | Hive客户端、Hive服务器、Hive执行日志远程监控系统和方法 |
CN106227727A (zh) * | 2016-06-30 | 2016-12-14 | 乐视控股(北京)有限公司 | 一种分布式系统的日志更新方法、装置与系统 |
CN107704475B (zh) * | 2016-08-10 | 2021-12-14 | 泰康保险集团股份有限公司 | 多层分布式非结构化数据存储方法、查询方法及装置 |
CN107943807B (zh) * | 2016-10-13 | 2020-06-16 | 华为技术有限公司 | 一种数据处理方法及存储设备 |
CN106789303B (zh) * | 2016-12-29 | 2020-04-03 | 北京奇艺世纪科技有限公司 | 一种容器日志采集方法及装置 |
CN107463602A (zh) * | 2017-06-15 | 2017-12-12 | 努比亚技术有限公司 | 一种日志处理方法及服务器、客户端 |
CN107451034A (zh) * | 2017-08-17 | 2017-12-08 | 浪潮软件股份有限公司 | 一种大数据集群日志管理装置、方法及系统 |
CN108427705B (zh) * | 2018-01-17 | 2022-04-12 | 平安科技(深圳)有限公司 | 电子装置、分布式系统日志查询方法及存储介质 |
CN108427748A (zh) * | 2018-03-12 | 2018-08-21 | 北京奇艺世纪科技有限公司 | 分布式数据库二级索引查询方法、装置以及服务器 |
CN110569217A (zh) * | 2018-05-16 | 2019-12-13 | 杭州海康威视系统技术有限公司 | 流式文件系统中的索引数据更新方法、装置 |
CN109408337B (zh) | 2018-10-31 | 2021-12-28 | 京东方科技集团股份有限公司 | 一种接口运维的方法及装置 |
CN111427989B (zh) * | 2019-01-10 | 2023-07-04 | 新方正控股发展有限责任公司 | 一种全文检索的索引处理方法、索引处理系统及存储介质 |
CN110413407B (zh) * | 2019-06-27 | 2022-05-17 | 国网浙江省电力有限公司电力科学研究院 | 一种大流量环境下还原文件的存储及快速索引方法 |
CN110806966A (zh) * | 2019-11-08 | 2020-02-18 | 哈工大机器人湖州国际创新研究院 | 日志管理方法、装置、电子设备及计算机存储介质 |
CN113742307B (zh) * | 2021-08-11 | 2023-08-25 | 达梦数据技术(江苏)有限公司 | 一种基于值日志系统的二级索引的存储和查询方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197700A (zh) * | 2006-12-05 | 2008-06-11 | 阿里巴巴公司 | 提供日志服务的方法及系统 |
CN101350790A (zh) * | 2007-07-19 | 2009-01-21 | 阿里巴巴集团控股有限公司 | 基于即时通讯系统的文件传输方法及装置 |
CN102609502A (zh) * | 2012-02-02 | 2012-07-25 | 深圳市中兴移动通信有限公司 | 基于日志方式的移动终端桌面搜索方法及系统 |
CN102929936A (zh) * | 2012-09-26 | 2013-02-13 | 东软集团股份有限公司 | 日志记录方法、日志查询方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060218114A1 (en) * | 2005-03-25 | 2006-09-28 | Microsoft Corporation | System and method for location based search |
-
2013
- 2013-04-08 CN CN201310118003.0A patent/CN103177116B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197700A (zh) * | 2006-12-05 | 2008-06-11 | 阿里巴巴公司 | 提供日志服务的方法及系统 |
CN101350790A (zh) * | 2007-07-19 | 2009-01-21 | 阿里巴巴集团控股有限公司 | 基于即时通讯系统的文件传输方法及装置 |
CN102609502A (zh) * | 2012-02-02 | 2012-07-25 | 深圳市中兴移动通信有限公司 | 基于日志方式的移动终端桌面搜索方法及系统 |
CN102929936A (zh) * | 2012-09-26 | 2013-02-13 | 东软集团股份有限公司 | 日志记录方法、日志查询方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103177116A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177116B (zh) | 一种基于两级索引的分布式日志处理和查询方法 | |
US7447799B2 (en) | System and method for automatically updating a wireless device | |
CN102694861B (zh) | 一种基于云技术的终端应用软件分类方法、装置及系统 | |
CN109800207B (zh) | 日志解析方法、装置、设备及计算机可读存储介质 | |
CN101316226A (zh) | 一种获取资源的方法、装置及系统 | |
CN102130959A (zh) | 一种实现云存储资源调度的系统及方法 | |
CN115640110B (zh) | 分布式云计算系统调度方法和装置 | |
CN103067479A (zh) | 一种基于文件冷热的网盘同步方法及系统 | |
CN103701817A (zh) | 一种配置文件的生成方法及装置 | |
US10241716B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
JP2009151560A (ja) | リソースの管理方法、情報処理システム、情報処理装置、及びプログラム | |
CN103927252A (zh) | 一种跨组件日志记录方法、装置及系统 | |
CN104951855A (zh) | 用于促进对资源的管理的装置和方法 | |
CN115629784A (zh) | 更新机台文件的方法、系统、设备及计算机可读存储介质 | |
CN103561084A (zh) | 一种异地多数据中心云存储最优访问配置方法和装置 | |
US9813514B2 (en) | Information repository system including a wireless device and related method | |
CN106990990B (zh) | 基于资源配置驱动库的资源动态维护系统 | |
CN115757041B (zh) | 可动态配置的多集群日志采集的方法及应用 | |
CN112600918B (zh) | 一种基于bs架构的工控边缘大数据高效处理方法与系统 | |
CN116467151B (zh) | 一种程序性能信息采集方法、装置、设备及存储介质 | |
CN113254324B (zh) | Lpar性能采集方法及系统 | |
CN105701187A (zh) | 流程整合服务器及利用其实现系统整合的方法 | |
CN102402528A (zh) | 多客户端数据处理方法、装置及系统 | |
US20240012835A1 (en) | Synchronizing changes in a distributed system with intermittent connectivity | |
CN104050282A (zh) | 资源文件更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Chen Jianye Inventor after: Gao Yuan Inventor after: Gu Wenjie Inventor after: Sha Yichuan Inventor after: Liu Jie Inventor before: Ren Sheng Inventor before: Gao Yuan Inventor before: Gu Wenjie Inventor before: Sha Yichuan Inventor before: Liu Jie |