CN108874621B - 文件监控方法、装置、电子设备及计算机可读存储介质 - Google Patents
文件监控方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108874621B CN108874621B CN201810517509.1A CN201810517509A CN108874621B CN 108874621 B CN108874621 B CN 108874621B CN 201810517509 A CN201810517509 A CN 201810517509A CN 108874621 B CN108874621 B CN 108874621B
- Authority
- CN
- China
- Prior art keywords
- file
- monitored
- event
- monitoring
- information table
- 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.)
- Expired - Fee Related
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012806 monitoring device Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 48
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种文件监控方法、装置、电子设备及计算机可读存储介质。所述方法包括:响应于操作系统产生的I/O事件,将所述I/O事件与待监控文件信息表进行匹配;所述待监控文件信息表中记录有待监控文件的相关信息;匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息;根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容;根据所述I/O操作内容对所述待监控文件进行监控处理。本公开可以实现对待监控文件的实时监控,不会对硬盘产生瞬间极大地呀压力,并且在监控成功后,可以及时通知相关人员作出响应,避免对于高流量的业务造成巨大的损失。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种文件监控方法、装置、电子设备及计算机可读存储介质。
背景技术
随着科技的不断进步和发展,计算机科学与技术也取得了突飞猛进的进展。计算机系统安全技术是网络信息系统发展的重点。现有技术中也存在着对计算机系统的文件的完整性进行监控的机制,例如,Linux系统提供的文件变更通知机制,其利用Inotify对文件进行监控,当被监控文件发生变更时,文件变更通知机制中的Cron系统的Incron便会发出相应的文件变更消息,并根据预设的规则执行相应的动作,例如,文件恢复和消息通知等。
发明内容
本公开实施例提供一种文件监控方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种文件监控方法。
具体的,所述文件监控方法,包括:
响应于操作系统产生的I/O事件,将所述I/O事件与待监控文件信息表进行匹配;所述待监控文件信息表中记录有待监控文件的相关信息;
匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息;
根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容;
根据所述I/O操作内容对所述待监控文件进行监控处理。
结合第一方面,本公开在第一方面的第一种实现方式中,将所述I/O事件与待监控文件信息表进行匹配,包括:
将所述I/O事件携带的文件标识与所述待监控文件信息表中待监控文件的标识进行匹配。
结合第一方面或第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,所述I/O事件为写事件。
结合第一方面的第二种实现方式,本公开在第一方面的第二种实现方式中,本公开在第一方面的第三种实现方式中,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息,包括:
从所述待监控文件信息表中获得与写事件相匹配的所述待监控文件的位置索引,以及所述待监控文件的上次写事件对应的操作位置。
结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容,包括:
根据所述位置索引以及所述操作位置从所述待监控文件中获取所述写事件对应的写入内容;
根据所述I/O操作内容对所述待监控文件进行监控处理,包括:
对所述写入内容进行监控处理。
结合第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,对所述写入内容进行监控处理,包括:
将所述写入内容与预设信息进行正则匹配;
匹配成功后,产生监控通知。
结合第一方面、第一方面的第一种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式或第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述相关信息包括所述待监控文件的标识、待监控文件的I/O事件状态记录和上次I/O事件的操作位置。
结合第一方面的第四种实现方式,本公开在第一方面的第七种实现方式中,匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息之后,还包括:
更新所述待监控文件信息表中待监控文件的I/O事件状态记录以及上次I/O事件的操作位置。
结合第一方面、第一方面的第一种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式、第一方面的第五种实现方式或第一方面的第六种实现方式,本公开在第一方面的第六种实现方式中,所述待监控文件为日志文件。
第二方面,本公开实施例提供了一种文件监控装置,包括:
匹配模块,被配置为响应于操作系统产生的I/O事件,将所述I/O事件与待监控文件信息表进行匹配;所述待监控文件信息表中记录有待监控文件的相关信息;
第一获取模块,被配置为匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息;
第二获取模块,被配置为根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容;
监控模块,被配置为根据所述I/O操作内容对所述待监控文件进行监控处理。
结合第二方面,本公开在第二方面的第一种实现方式中,所述匹配模块,包括:
匹配子模块,被配置为将所述I/O事件携带的文件标识与所述待监控文件信息表中待监控文件的标识进行匹配。
结合第二方面或第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,所述I/O事件为写事件。
结合第二方面的第二种实现方式,本公开在第二方面的第二种实现方式中,本公开在第二方面的第三种实现方式中,所述第一获取模块,包括:
第一获取子模块,被配置为从所述待监控文件信息表中获得与写事件相匹配的所述待监控文件的位置索引,以及所述待监控文件的上次写事件对应的操作位置。
结合第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述第二获取模块,包括:
第二获取子模块,被配置为根据所述位置索引以及所述操作位置从所述待监控文件中获取所述写事件对应的写入内容;
所述监控模块,包括:
监控子模块,被配置为对所述写入内容进行监控处理。
结合第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述监控子模块,包括:
匹配子模块,被配置为将所述写入内容与预设信息进行正则匹配;
通知子模块,被配置为匹配成功后,产生监控通知。
结合第二方面、第二方面的第一种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式或第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,所述相关信息包括所述待监控文件的标识、待监控文件的I/O事件状态记录和上次I/O事件的操作位置。
结合第二方面的第四种实现方式,本公开在第二方面的第七种实现方式中,所述第一获取模块之后,还包括:
更新模块,被配置为更新所述待监控文件信息表中待监控文件的I/O事件状态记录以及上次I/O事件的操作位置。
结合第二方面、第二方面的第一种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式、第二方面的第五种实现方式或第二方面的第六种实现方式,本公开在第二方面的第六种实现方式中,所述待监控文件为日志文件。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,文件监控装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持文件监控装置执行上述第一方面中文件监控方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述文件监控装置还可以包括通信接口,用于文件监控装置与其他设备或通信网络通信。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现第一方面所述的方法步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储文件监控装置所用的计算机指令,其包含用于执行上述第一方面中文件监控方法所涉及的计算机指令。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例利用操作系统中针对文件的I/O事件会触发事件通知的机制,预先将待监控文件的相关信息记录在待监控文件信息表中,并在接收到操作系统的I/O事件通知后,将该I/O事件与待监控文件信息进行匹配,如果匹配到该I/O事件是针对待监控文件的I/O操作,则从待监控文件信息表中获得待监控文件的相关信息,并从相关信息中获得I/O操作内容,进而根据I/O操作内容实现对待监控文件的监控处理。通过本公开实施例,可以实现对待监控文件的实时监控,不会对硬盘产生瞬间极大地呀压力,并且在监控成功后,可以及时通知相关人员作出响应,避免对于高流量的业务造成巨大的损失。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的文件监控方法的流程图;
图2示出根据本公开一实施方式中对写入内容进行监控的处理流程图;
图3示出根据本公开一实施方式的文件监控装置的结构框图;
图4是适于用来实现根据本公开一实施方式的文件监控方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
已有技术中,文件监控有的依靠收集工具,例如logstash或fluentd,通过将本地的日志文件定期打包,上传到日志中心进行分析,当分析到和预期相符合条目时,触发相关报警;其他已有技术中,也有通过做一个定期轮询脚本,在每个轮询周期将待监控文件全部轮询一次。但是这些已有技术都具有如下特点:
1.基本上监控工具(如著名的logstash或fluentd)均是轮询制,轮询制效率低下,需要每次对所有的文件和所有条目进行一次匹配;
2.对服务器生产环境造成的压力巨大,轮询周期过长,硬盘的瞬间压力大,轮询时间较短,容易对硬盘的输入输出操作造成堵塞,极大影响线上业务;
3.由于通知不及时,日志输出的关键错误信息不能及时得到响应,对于高流量的业务容易造成巨大的损失。
图1示出根据本公开一实施方式的文件监控方法的流程图。如图1所示,所述文件监控方法包括以下步骤S101-S104:
在步骤S101中,响应于操作系统产生的I/O事件,将所述I/O事件与待监控文件信息表进行匹配;所述待监控文件信息表中记录有待监控文件的相关信息;
在步骤S102中,匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息;
在步骤S103中,根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容;
在步骤S104中,根据所述I/O操作内容对所述待监控文件进行监控处理。
本实施例中,操作系统可以是具有I/O事件触发机制的系统,例如linux操作系统。I/O事件是对硬盘文件进行写入或读取时操作系统自动触发产生的。本实施例中待监控文件可以是日志文件。系统在对文件进行监控时,可以预先将待监控文件的相关信息记录在待监控文件信息表中。待监控文件的相关信息可以包括待监控文件的标识(如linux系统中的文件描述符fd)、待监控文件的I/O事件状态记录和上次I/O事件的操作位置。I/O事件状态记录是在操作系统产生事件通知后,记录在待监控文件信息表中的。上次I/O事件的操作位置(例如linux系统中的文件游标)为上次产生I/O事件时所操作的位置。例如,对于写事件,上次I/O事件的操作位置为上次写入内容的位置,本次写事件是在上次写入内容位置之后进行的,因此可以通过上次写入内容的位置确定本次写事件对应的写入内容的位置。
在一实施例中,I/O事件与待监控文件信息表匹配成功,可以说明本次I/O事件对应的文件为待监控文件,后续可以对其进行监控处理。因此,从待监控文件信息表中获取本次I/O事件对应的待监控文件的相关信息,进而从相关信息获取本次I/O事件对应的操作内容,并根据操作内容对待监控文件进行监控处理。例如,本次I/O事件为写入事件,则可以通过待监控文件的相关信息或获取到所写入的内容,进而根据写入内容判断本次写操作是否会触发监控条件,例如所写入的内容中包括所监控的信息内容,则可以触发监控警报,进而通知相关人员及时做出响应。
在本实施例的一个可选实现方式中,所述步骤S101中,即将所述I/O事件与待监控文件信息表进行匹配的步骤,进一步包括以下步骤:
将所述I/O事件对应的文件标识与所述待监控文件信息表中待监控文件的标识进行匹配。
该可选的实现方式中,操作系统自动触发产生的I/O事件中携带有进行I/O操作的文件标识,而待监控文件信息表中记录有待监控文件的文件标识。因此,在接收到操作系统自动触发产生的I/O事件后,可以根据I/O事件自身携带的文件标识和待监控文件信息表中的文件标识进行比对,进而确定当前I/O事件是否针对的是待监控文件,如果是,则对其进行监控处理,如果不是则可以不做处理。
在本实施例的一个可选实现方式中,所述I/O事件为写事件。
该可选的实现方式中,可以仅针对待监控文件的写事件进行监控。对于一些日志文件,可以通过监控日志文件中新产生的日志条目,进而获知数据库的当前状态,如果有错误等发生,则会体现在日志文件中,因此通过监视日志文件的写操作,进而可以很好地对整个数据库业务进行监控及优化。
在本实施例的一个可选实现方式中,所述步骤S102中,即从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息的步骤,进一步包括以下步骤:
从所述待监控文件信息表中获得与写事件相匹配的所述待监控文件的位置索引,以及所述待监控文件的上次写事件对应的操作位置。
该可选的实现方式中,操作系统产生写事件,且该写事件针对的是待监控文件时,可以从待监控文件信息表中获取待监控文件的位置索引以及上次写事件对应的操作位置。待监控文件的位置索引可以是该待监控文件存储起始位置的指针,还可以是文件描述符等能够定位到该待监控文件存储位置的标识信息。上次写事件对应的操作位置为待监控文件中的相对位置,例如,待监控文件中总共包括了100条记录,则上次写事件对应的操作位置可以是100。在确定了待监控文件的位置索引后可以进一步获取待监控文件的存储起始位置,并利用存储起始位置以及上次写事件对应的操作位置得到本次写事件对应的操作位置,例如,本次写事件对应的操作位置可以是101。
在本实施例的一个可选实现方式中,所述步骤S103,即根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容的步骤,进一步包括以下步骤:
根据所述位置索引以及所述操作位置从所述待监控文件中获取所述写事件对应的写入内容;
所述步骤S104,即根据所述I/O操作内容对所述待监控文件进行监控处理的步骤,进一步包括以下步骤
对所述写入内容进行监控处理。
该可选的实现方式中,可以通过待监控文件的位置索引获得待监控文件的存储起始位置,进而根据存储起始位置以及上次写事件对应的操作位置确定本次写事件的操作位置。例如,存储起始位置为D,而上次写事件对应的操作位置为待监控文件中的D1处,则本次写事件的操作位置为D1+1,而本次写事件的写入内容则存储在D+D1+1处,因此可以从D+D1+1处获取本次写事件对应的写入内容。之后可以对写入内容进行监控处理,例如,对于数据库日志文件,可以检查写入内容是否涉产生错误的日志等,如果涉及,则可以对数据库维护人员发出警告通知。
在本实施例的一个可选实现方式中,如图2所示,上述对所述写入内容进行监控处理的步骤,进一步包括以下步骤S201-S202:
在步骤S201中,将所述写入内容与预设信息进行正则匹配;
在步骤S202中,匹配成功后,产生监控通知。
该可选的实现方式中,可以根据监控的内容预先设置关键词等预设信息,并在获得写入内容后,将该写入内容与预设信息进行正则匹配,进而确定本次写事件是否为监控的事件。例如,对于数据库日志文件,本次写事件涉及数据库中发生错误的一条日志,那么可以通过对写入内容与预先设定好的错误日志的表达方式进行正则匹配,进而确定数据库是否发生错误,如果发生错误,则可以产生监控通知,以通知数据库维护人员进行处理。
在本实施例的一个可选实现方式中,所述步骤S102,即匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息的步骤之后,进一步包括以下步骤:
更新所述待监控文件信息表中待监控文件的I/O事件状态记录以及上次I/O事件的操作位置。
该可选的实现方式中,操作系统产生I/O事件以后,如果该I/O事件针对的是待监控文件,则可以将该I/O事件的状态记录在待监控文件信息表中,以便后续查看使用。也就是说,执行本实施例文件监控方法的系统用于维护该待监控文件信息表,在产生与待监控文件相关的I/O事件时,则可以将该I/O事件记录在待监控文件信息表中,并与相应的待监控文件标识相关联。同时,还可以在待监控文件信息表中记录该I/O事件在该待监控文件中的操作位置,以便在下次产生I/O事件时,作为上次I/O事件的操作位置来使用。当然,该I/O事件的操作位置需要根据上次I/O事件的操作位置、I/O事件的类型和/或操作内容等来确定。例如,对于日志文件的一条日志写事件,该I/O事件的操作位置可以为上次I/O事件的操作位置加上该写事件的写入内容的大小,此处仅为举例说明,具体可根据实际情况来计算。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图3示出根据本公开一实施方式的文件监控装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,所述文件监控装置包括匹配模块301、第一获取模块302、第二获取模块303和监控模块304:
匹配模块301,被配置为响应于操作系统产生的I/O事件,将所述I/O事件与待监控文件信息表进行匹配;所述待监控文件信息表中记录有待监控文件的相关信息;
第一获取模块302,被配置为匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息;
第二获取模块303,被配置为根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容;
监控模块304,被配置为根据所述I/O操作内容对所述待监控文件进行监控处理。
本实施例中,操作系统可以是具有I/O事件触发机制的系统,例如linux操作系统。I/O事件是对硬盘文件进行写入或读取时操作系统自动触发产生的。本实施例中待监控文件可以是日志文件。系统在对文件进行监控时,可以预先将待监控文件的相关信息记录在待监控文件信息表中。待监控文件的相关信息可以包括待监控文件的标识(如linux系统中的文件描述符fd)、待监控文件的I/O事件状态记录和上次I/O事件的操作位置。I/O事件状态记录是在操作系统产生事件通知后,记录在待监控文件信息表中的。上次I/O事件的操作位置(例如linux系统中的文件游标)为上次产生I/O事件时所操作的位置。例如,对于写事件,上次I/O事件的操作位置为上次写入内容的位置,本次写事件是在上次写入内容位置之后进行的,因此可以通过上次写入内容的位置确定本次写事件对应的写入内容的位置。
在一实施例中,I/O事件与待监控文件信息表匹配成功,可以说明本次I/O事件对应的文件为待监控文件,后续可以对其进行监控处理。因此,从待监控文件信息表中获取本次I/O事件对应的待监控文件的相关信息,进而从相关信息获取本次I/O事件对应的操作内容,并根据操作内容对待监控文件进行监控处理。例如,本次I/O事件为写入事件,则可以通过待监控文件的相关信息或获取到所写入的内容,进而根据写入内容判断本次写操作是否会触发监控条件,例如所写入的内容中包括所监控的信息内容,则可以触发监控警报,进而通知相关人员及时做出响应。
在本实施例的一个可选实现方式中,所述匹配模块301,包括:
匹配子模块,被配置为将所述I/O事件携带的文件标识与所述待监控文件信息表中待监控文件的标识进行匹配。
该可选的实现方式中,操作系统自动触发产生的I/O事件中携带有进行I/O操作的文件标识,而待监控文件信息表中记录有待监控文件的文件标识。因此,匹配子模块在接收到操作系统自动触发产生的I/O事件后,可以根据I/O事件自身携带的文件标识和待监控文件信息表中的文件标识进行比对,进而确定当前I/O事件是否针对的是待监控文件,如果是,则对其进行监控处理,如果不是则可以不做处理。
在本实施例的一个可选实现方式中,所述I/O事件为写事件。
该可选的实现方式中,可以仅针对待监控文件的写事件进行监控。对于一些日志文件,可以通过监控日志文件中新产生的日志条目,进而获知数据库的当前状态,如果有错误等发生,则会体现在日志文件中,因此通过监视日志文件的写操作,进而可以很好地对整个数据库业务进行监控及优化。
在本实施例的一个可选实现方式中,所述第一获取模块302,包括:
第一获取子模块,被配置为从所述待监控文件信息表中获得与写事件相匹配的所述待监控文件的位置索引,以及所述待监控文件的上次写事件对应的操作位置。
该可选的实现方式中,操作系统产生写事件,且该写事件针对的是待监控文件时,第一获取子模块可以从待监控文件信息表中获取待监控文件的位置索引以及上次写事件对应的操作位置。待监控文件的位置索引可以是该待监控文件存储起始位置的指针,还可以是文件描述符等能够定位到该待监控文件存储位置的标识信息。上次写事件对应的操作位置为待监控文件中的相对位置,例如,待监控文件中总共包括了100条记录,则上次写事件对应的操作位置可以是100。在确定了待监控文件的位置索引后可以进一步获取待监控文件的存储起始位置,并利用存储起始位置以及上次写事件对应的操作位置得到本次写事件对应的操作位置,例如,本次写事件对应的操作位置可以是101。
在本实施例的一个可选实现方式中,所述第二获取模块303,包括:
第二获取子模块,被配置为根据所述位置索引以及所述操作位置从所述待监控文件中获取所述写事件对应的写入内容;
所述监控模块304,包括:
监控子模块,被配置为对所述写入内容进行监控处理。
该可选的实现方式中,可以通过待监控文件的位置索引获得待监控文件的存储起始位置,进而根据存储起始位置以及上次写事件对应的操作位置确定本次写事件的操作位置。例如,存储起始位置为D,而上次写事件对应的操作位置为待监控文件中的D1处,则本次写事件的操作位置为D1+1,而本次写事件的写入内容则存储在D+D1+1处,因此可以从D+D1+1处获取本次写事件对应的写入内容。之后可以对写入内容进行监控处理,例如,对于数据库日志文件,可以检查写入内容是否涉产生错误的日志等,如果涉及,则可以对数据库维护人员发出警告通知。
在本实施例的一个可选实现方式中,所述监控子模块,包括:
匹配子模块,被配置为将所述写入内容与预设信息进行正则匹配;
通知子模块,被配置为匹配成功后,产生监控通知。
该可选的实现方式中,可以根据监控的内容预先设置关键词等预设信息,并在获得写入内容后,将该写入内容与预设信息进行正则匹配,进而确定本次写事件是否为监控的事件。例如,对于数据库日志文件,本次写事件涉及数据库中发生错误的一条日志,那么可以通过对写入内容与预先设定好的错误日志的表达方式进行正则匹配,进而确定数据库是否发生错误,如果发生错误,则可以产生监控通知,以通知数据库维护人员进行处理。
在本实施例的一个可选实现方式中,所述第一获取模块之后,还包括:
更新模块,被配置为更新所述待监控文件信息表中待监控文件的I/O事件状态记录以及上次I/O事件的操作位置。
该可选的实现方式中,操作系统产生I/O事件以后,如果该I/O事件针对的是待监控文件,则可以将该I/O事件的状态记录在待监控文件信息表中,以便后续查看使用。也就是说,执行本实施例文件监控方法的系统用于维护该待监控文件信息表,在产生与待监控文件相关的I/O事件时,则可以将该I/O事件记录在待监控文件信息表中,并与相应的待监控文件标识相关联。同时,还可以在待监控文件信息表中记录该I/O事件在该待监控文件中的操作位置,以便在下次产生I/O事件时,作为上次I/O事件的操作位置来使用。当然,该I/O事件的操作位置需要根据上次I/O事件的操作位置、I/O事件的类型和/或操作内容等来确定。例如,对于日志文件的一条日志写事件,该I/O事件的操作位置可以为上次I/O事件的操作位置加上该写事件的写入内容的大小,此处仅为举例说明,具体可根据实际情况来计算。
图4是适于用来实现根据本公开实施方式的文件监方法的电子设备的结构示意图。
如图4所示,电子设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行上述图1所示的实施方式中的各种处理。在RAM403中,还存储有电子设备400操作所需的各种程序和数据。CPU401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施方式,上文参考图1描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行图1的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种文件监控方法,其特征在于,包括:
响应于操作系统产生的I/O事件,将所述I/O事件与待监控文件信息表进行匹配;所述待监控文件信息表中记录有待监控文件的相关信息;
匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息;
根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容,其中,根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容,包括:根据所述待监控文件的位置索引以及上次写事件对应的操作位置从所述待监控文件中获取写事件对应的写入内容;
根据所述I/O操作内容对所述待监控文件进行监控处理;其中
所述待监控文件为日志文件。
2.根据权利要求1所述的文件监控方法,其特征在于,将所述I/O事件与待监控文件信息表进行匹配,包括:
将所述I/O事件携带的文件标识与所述待监控文件信息表中待监控文件的标识进行匹配。
3.根据权利要求1-2任一项所述的文件监控方法,其特征在于,所述I/O事件为写事件。
4.根据权利要求3所述的文件监控方法,其特征在于,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息,包括:
从所述待监控文件信息表中获得与写事件相匹配的所述待监控文件的位置索引,以及所述待监控文件的上次写事件对应的操作位置。
5.根据权利要求4所述的文件监控方法,其特征在于,
根据所述I/O操作内容对所述待监控文件进行监控处理,包括:
对所述写入内容进行监控处理。
6.根据权利要求5所述的文件监控方法,其特征在于,对所述写入内容进行监控处理,包括:
将所述写入内容与预设信息进行正则匹配;
匹配成功后,产生监控通知。
7.根据权利要求1-2、4-6任一项所述的文件监控方法,其特征在于,所述相关信息包括所述待监控文件的标识、待监控文件的I/O事件状态记录和上次I/O事件的操作位置。
8.根据权利要求7所述的文件监控方法,其特征在于,匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息之后,还包括:
更新所述待监控文件信息表中待监控文件的I/O事件状态记录以及上次I/O事件的操作位置。
9.一种文件监控装置,其特征在于,包括:
匹配模块,被配置为响应于操作系统产生的I/O事件,将所述I/O事件与待监控文件信息表进行匹配;所述待监控文件信息表中记录有待监控文件的相关信息;
第一获取模块,被配置为匹配成功后,从所述待监控文件信息表中获得与所述I/O事件相匹配的所述待监控文件的相关信息;
第二获取模块,被配置为根据所述待监控文件的相关信息从所述待监控文件中获取所述I/O事件对应的I/O操作内容,
其中,所述第二获取模块包括:
第二获取子模块,被配置为根据所述待监控文件的位置索引以及上次写事件对应的操作位置从所述待监控文件中获取写事件对应的写入内容;
监控模块,被配置为根据所述I/O操作内容对所述待监控文件进行监控处理;其中
所述待监控文件为日志文件。
10.根据权利要求9所述的文件监控装置,其特征在于,所述匹配模块,包括:
匹配子模块,被配置为将所述I/O事件携带的文件标识与所述待监控文件信息表中待监控文件的标识进行匹配。
11.根据权利要求9-10任一项所述的文件监控装置,其特征在于,所述I/O事件为写事件。
12.根据权利要求11所述的文件监控装置,其特征在于,所述第一获取模块,包括:
第一获取子模块,被配置为从所述待监控文件信息表中获得与写事件相匹配的所述待监控文件的位置索引,以及所述待监控文件的上次写事件对应的操作位置。
13.根据权利要求12所述的文件监控装置,其特征在于,
所述监控模块,包括:
监控子模块,被配置为对所述写入内容进行监控处理。
14.根据权利要求13所述的文件监控装置,其特征在于,所述监控子模块,包括:
匹配子模块,被配置为将所述写入内容与预设信息进行正则匹配;
通知子模块,被配置为匹配成功后,产生监控通知。
15.根据权利要求9-10、12-14任一项所述的文件监控装置,其特征在于,所述相关信息包括所述待监控文件的标识、待监控文件的I/O事件状态记录和上次I/O事件的操作位置。
16.根据权利要求15所述的文件监控装置,其特征在于,所述第一获取模块之后,还包括:
更新模块,被配置为更新所述待监控文件信息表中待监控文件的I/O事件状态记录以及上次I/O事件的操作位置。
17.一种电子设备,其特征在于,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-8任一项所述的方法步骤。
18.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-8任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810517509.1A CN108874621B (zh) | 2018-05-25 | 2018-05-25 | 文件监控方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810517509.1A CN108874621B (zh) | 2018-05-25 | 2018-05-25 | 文件监控方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874621A CN108874621A (zh) | 2018-11-23 |
CN108874621B true CN108874621B (zh) | 2022-02-11 |
Family
ID=64334199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810517509.1A Expired - Fee Related CN108874621B (zh) | 2018-05-25 | 2018-05-25 | 文件监控方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874621B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981501A (ja) * | 1995-09-19 | 1997-03-28 | Hitachi Ltd | デジタル処理装置及びdmaコントローラ |
EP2145335A4 (en) * | 2007-04-12 | 2010-09-08 | Trustwave Corp | SYSTEM AND METHOD FOR DETECTING AND REDUCING WRITING OF SENSITIVE DATA IN MEMORY |
CN101894161A (zh) * | 2010-07-22 | 2010-11-24 | 北京天融信科技有限公司 | 一种用于实时监控的循环事件存取方法和装置 |
CN104216806A (zh) * | 2014-07-24 | 2014-12-17 | 英方软件(上海)有限公司 | 一种文件系统序列化操作日志的捕获与传输方法及其装置 |
US9021163B1 (en) * | 2014-04-17 | 2015-04-28 | OPSWAT, Inc. | Determining whether a data storage is encrypted |
US9330014B2 (en) * | 2012-12-31 | 2016-05-03 | Sunedison Semiconductor Limited (Uen201334164H) | Method and system for full resolution real-time data logging |
CN107818041A (zh) * | 2017-10-24 | 2018-03-20 | 南京航空航天大学 | Secondo系统文件读写检测软件 |
-
2018
- 2018-05-25 CN CN201810517509.1A patent/CN108874621B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981501A (ja) * | 1995-09-19 | 1997-03-28 | Hitachi Ltd | デジタル処理装置及びdmaコントローラ |
EP2145335A4 (en) * | 2007-04-12 | 2010-09-08 | Trustwave Corp | SYSTEM AND METHOD FOR DETECTING AND REDUCING WRITING OF SENSITIVE DATA IN MEMORY |
CN101894161A (zh) * | 2010-07-22 | 2010-11-24 | 北京天融信科技有限公司 | 一种用于实时监控的循环事件存取方法和装置 |
US9330014B2 (en) * | 2012-12-31 | 2016-05-03 | Sunedison Semiconductor Limited (Uen201334164H) | Method and system for full resolution real-time data logging |
US9021163B1 (en) * | 2014-04-17 | 2015-04-28 | OPSWAT, Inc. | Determining whether a data storage is encrypted |
CN104216806A (zh) * | 2014-07-24 | 2014-12-17 | 英方软件(上海)有限公司 | 一种文件系统序列化操作日志的捕获与传输方法及其装置 |
CN107818041A (zh) * | 2017-10-24 | 2018-03-20 | 南京航空航天大学 | Secondo系统文件读写检测软件 |
Also Published As
Publication number | Publication date |
---|---|
CN108874621A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357038B (zh) | 监控虚拟机集群的方法和系统 | |
CN107818431B (zh) | 一种提供订单轨迹数据的方法和系统 | |
EP3239840B1 (en) | Fault information provision server and fault information provision method | |
CN113157545A (zh) | 业务日志的处理方法、装置、设备及存储介质 | |
CN111385148A (zh) | 业务告警方法、装置、计算机设备及存储介质 | |
US20160162825A1 (en) | Monitoring the impact of information quality on business application components through an impact map to data sources | |
CN109284331B (zh) | 基于业务数据资源的制证信息获取方法、终端设备及介质 | |
CN109885431B (zh) | 用于备份数据的方法和装置 | |
CN111831628A (zh) | 系统运维监控方法、装置、电子设备及存储介质 | |
CN114490272A (zh) | 数据处理方法及装置、电子设备和计算机可读存储介质 | |
CN111144804A (zh) | 一种订单处理方法、装置及系统 | |
CN113377557A (zh) | 业务处理方法、系统及电子设备 | |
CN108874621B (zh) | 文件监控方法、装置、电子设备及计算机可读存储介质 | |
JP2019049802A (ja) | 障害解析支援装置、インシデント管理システム、障害解析支援方法及びプログラム | |
CN114416560A (zh) | 程序崩溃分析聚合方法和系统 | |
CA3047069A1 (en) | Highly scalable event brokering and audit traceability system | |
CN113781068A (zh) | 线上问题解决方法、装置、电子设备和存储介质 | |
CN113239003A (zh) | 消息的自动提示方法、系统、设备及介质 | |
CN115310139A (zh) | 文件监控预警系统、方法、计算设备及计算机存储介质 | |
US9460180B2 (en) | Data pulls | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN111414269A (zh) | 一种日志告警方法、装置、存储介质及设备 | |
CN116431872B (zh) | 可观测系统及基于可观测系统的服务观测方法 | |
CN111026612A (zh) | 应用程序运行监控方法及装置、存储介质、电子设备 | |
CN117493385B (zh) | 数据处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Building N3, building 12, No. 27, Chengzhong Road, Jiancai, Haidian District, Beijing 100096 Applicant after: Beijing Xingxuan Technology Co.,Ltd. Address before: Room 202, 2 floors, 1-3 floors, No. 11 Shangdi Information Road, Haidian District, Beijing 100085 Applicant before: Beijing Xiaodu Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220211 |