CN114780353B - 一种文件日志监控方法、系统及计算设备 - Google Patents

一种文件日志监控方法、系统及计算设备 Download PDF

Info

Publication number
CN114780353B
CN114780353B CN202210671009.XA CN202210671009A CN114780353B CN 114780353 B CN114780353 B CN 114780353B CN 202210671009 A CN202210671009 A CN 202210671009A CN 114780353 B CN114780353 B CN 114780353B
Authority
CN
China
Prior art keywords
log
file
monitoring
computing device
monitoring server
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
Application number
CN202210671009.XA
Other languages
English (en)
Other versions
CN114780353A (zh
Inventor
杨武
王荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202210671009.XA priority Critical patent/CN114780353B/zh
Publication of CN114780353A publication Critical patent/CN114780353A/zh
Application granted granted Critical
Publication of CN114780353B publication Critical patent/CN114780353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种文件日志监控方法、系统及计算设备,涉及文件系统技术领域。方法在计算设备的操作系统中执行,操作系统内核中的虚拟文件系统与真实文件系统之间建立有文件操作监控模块,文件操作监控模块中包括日志管理器,日志管理器中包括日志缓存队列,内核中还包括网络栈,方法包括步骤:文件操作监控模块从虚拟文件系统获取文件操作事件,将文件操作事件转换为对应的文件日志,并将文件日志添加到日志缓存队列;日志管理器从日志缓存队列中获取文件日志,并将文件日志通过Socket发送至网络栈的缓冲区,经由网络栈将文件日志发送至日志监控服务器。根据本发明的技术方案,能实现高效地将文件日志发送至日志监控服务器,且占用的系统资源较少。

Description

一种文件日志监控方法、系统及计算设备
技术领域
本发明涉及文件系统技术领域,尤其涉及一种文件日志监控方法、文件日志监控系统及计算设备。
背景技术
Linux文件日志是指Linux操作系统中的文件系统对文件进行创建、重命名、移动、删除的操作记录。文件日志与系统日志的区别在于,文件日志只包含文件活动日志,而系统日志是指系统运行过程中各个程序的打印输出日志,其中包含一些运行信息、警告、错误等信息。文件日志的集中监视方案主要用于集中监视区域内各计算机的文件活动事件,具体可应用在安全检测、信息采集、集中搜索文件名等应用场景。由于系统运行时的文件活动事件频繁,如何能高效将文件日志发送到日志监控服务器,并且尽可能占用较少的计算机资源,亟待解决。
为此,需要一种文件日志监控方法,以解决上述方案中存在的问题。
发明内容
为此,本发明提供一种文件日志监控方法及文件日志监控系统,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种文件日志监控方法,在计算设备的操作系统中执行,所述操作系统内核中的虚拟文件系统与真实文件系统之间建立有文件操作监控模块,所述文件操作监控模块中包括日志管理器,所述日志管理器中包括日志缓存队列,内核中还包括网络栈,所述方法包括步骤:文件操作监控模块从虚拟文件系统获取文件操作事件,将所述文件操作事件转换为对应的文件日志,并将所述文件日志添加到日志缓存队列;日志管理器从所述日志缓存队列中获取文件日志,并将所述文件日志通过Socket发送至网络栈的缓冲区,经由所述网络栈将所述文件日志发送至日志监控服务器。
可选地,在根据本发明的文件日志监控方法中,将所述文件日志通过Socket发送至网络栈的缓冲区包括:将所述文件日志封装为日志数据包,并将所述日志数据包通过Socket发送至网络栈的缓冲区。
可选地,在根据本发明的文件日志监控方法中,将所述文件日志封装为日志数据包包括:获取日志监控服务器的接收地址;基于UDP/IP协议将所述文件日志和接收地址封装为UDP日志数据包。
可选地,在根据本发明的文件日志监控方法中,所述接收地址包括日志监控服务器的IP地址和端口号,将文件日志发送至日志监控服务器包括:基于所述接收地址将所述UDP日志数据包发送至所述日志监控服务器的监听端口。
可选地,在根据本发明的文件日志监控方法中,将所述文件日志发送至日志监控服务器包括:通过网络驱动和网络硬件将所述文件日志发送至日志监控服务器。
可选地,在根据本发明的文件日志监控方法中,所述操作系统上运行有应用,所述应用在进行文件操作时适于将文件操作事件发送至虚拟文件系统;所述文件操作监控模块适于通过虚拟文件系统的事件函数截获所述文件操作事件。
可选地,在根据本发明的文件日志监控方法中,所述文件操作包括创建操作、重命名操作、移动操作、删除操作中的一种或多种。
根据本发明的一个方面,提供一种文件日志监控系统,包括:日志监控服务器;以及与所述日志监控服务器通信连接的一个或多个计算设备,所述计算设备的操作系统内核中包括虚拟文件系统、真实文件系统及网络栈,且所述虚拟文件系统与真实文件系统之间建立有文件操作监控模块,所述文件操作监控模块中包括日志管理器,所述日志管理器中包括日志缓存队列,所述计算设备适于执行如上所述的方法来将文件日志发送至所述日志监控服务器。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的文件日志监控方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的文件日志监控方法。
根据本发明的技术方案,提供了一种文件日志监控方法,通过在虚拟文件系统与真实文件系统之间建立文件操作监控模块,文件操作监控模块包括日志管理器。文件操作监控模块可以从虚拟文件系统获取到文件操作事件,并将文件操作事件转换为对应的文件日志添加到日志管理器的日志缓存队列,由日志管理器通过Socket将文件日志发送至网络栈的缓冲区,随后网络栈可以通过网络驱动来将文件日志发送至日志监控服务器。这样,通过文件操作监控模块能够稳定地监控并获取文件操作事件并生成文件日志,从而能避免文件日志遗漏现象。并且,通过建立文件操作监控模块,文件操作监控模块可以直接将日志数据通过Socket发送至网络栈进而发送至日志监控服务器,避免了日志数据从内核空间传递到用户空间再从用户空间传递至内核空间的繁琐拷贝过程,降低了拷贝次数和上下文切换,也降低了日志数据拷贝过程中的逻辑计算,从而降低对计算设备的CPU资源消耗。可见,本发明能实现高效地将文件日志发送至日志监控服务器,且占用的系统资源较少。
另外,根据本发明的技术方案,发送端的计算设备与接收端的日志监控服务器之间基于UDP/IP协议进行通信,从而能降低网络路由压力,避免多个接收端同时发送文件日志数据而造成网络阻塞现象,降低网络延迟。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的文件日志监控系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的硬件结构示意图;
图3示出了根据本发明一个实施例的文件日志监控方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的文件日志监控系统100的示意图。
如图1所示,文件日志监控系统100包括一个或多个计算设备200、与每个计算设备200通信相连的日志监控服务器150。其中,在本发明的实施例中,每个计算设备200可作为文件日志的发送端,日志监控服务器150可作为文件日志的接收端。每个计算设备200可以生成文件日志并将文件日志发送至日志监控服务器150,以便日志监控服务器150集中监控各个计算设备200的文件操作事件。
如图1所示,计算设备200和日志监控服务器中分别包括硬件层、操作系统以及应用层。应用层可以包括一个或多个应用,一个或多个应用基于硬件层和操作系统来运行,应当指出,本发明对应用的种类和数量均不做限制。其中,硬件层可以为操作系统及应用提供硬件运行环境。操作系统可以为应用层的一个或多个应用提供软件运行环境。操作系统中包括内核,内核负责进程管理、内存管理、文件管理(例如文件存储空间的管理、目录管理、文件读写管理)、设备管理(例如I/O请求、缓冲管理、驱动)等。具体地,内核中可以包括网络栈、网络驱动。
在本发明的实施例中,如图1所示,计算设备200的操作系统的内核(第一内核)中包括虚拟文件系统(VFS)、真实文件系统,并且,虚拟文件系统(VFS)与真实文件系统之间建立有文件操作监控模块210。另外,第一内核中还包括第一网络栈220和第一网络驱动230。计算设备200的硬件层包括第一网络设备240,第一网络设备240具体可以包括计算设备200的网络路由设备。
日志监控服务器150的操作系统中包括第二内核,第二内核中包括第二网络栈156和第二网络驱动155。日志监控服务器150的硬件层包括第二网络设备154。第二网络设备154具体可以包括日志监控服务器150的网络路由设备。
根据本发明的一个实施例,在计算设备200中,文件操作监控模块210可以从虚拟文件系统(VFS)获取到文件操作事件,并将文件操作事件转换为对应的文件日志。随后,将文件日志发送至第一网络栈220的缓冲区(buffer),进而,第一网络栈220将文件日志发送至日志监控服务器150的第二网络栈156。
这里,计算设备200的第一网络栈220可以通过网络驱动和网络设备将文件日志发送至日志监控服务器150的第二网络栈156。具体地,计算设备200的第一网络栈220将其缓冲区的文件日志经由第一网络驱动230发送至第一网络设备240,接着,第一网络设备240将文件日志传送至日志监控服务器150的第二网络设备154,第二网络设备154再通过第二网络驱动155将文件日志发送至日志监控服务器150的第二网络栈156。
根据本发明的一个实施例,如图1所示,文件操作监控模块210中包括文件系统监控工具(FS-Monitor),文件系统监控工具可以从虚拟文件系统(VFS)获取文件操作事件,将文件操作事件转换为对应的文件日志。
在一种实现方式中,计算设备200中的应用层的应用在进行文件操作时,文件操作事件会发送至虚拟文件系统(VFS)。文件操作监控模块210中的FS-Monitor可以通过虚拟文件系统的事件函数来截获文件操作事件。
在一个实施例中,文件操作可以包括创建操作、重命名操作、移动操作、删除操作中的一种或多种。
根据本发明的一个实施例,如图1所示,文件操作监控模块210中还包括日志管理器212,日志管理器212中包括日志缓存队列。文件操作监控模块210的文件系统监控工具在将文件操作事件转换为对应的文件日志之后,可以将文件日志添加到日志管理器212的日志缓存队列中。具体地,通过将文件日志数据封装为文件日志消息,并将文件日志消息添加到日志缓存队列的队尾。进而,日志管理器212可以从日志缓存队列中获取文件日志消息,并将文件日志消息通过Socket发送至第一网络栈220的缓冲区。
应当指出,根据本发明建立的文件操作监控模块210,其中日志管理器212在从日志缓存队列中获取后,是直接将日志数据通过Socket发送至第一网络栈的缓冲区,这样,避免了日志数据从内核空间传递到用户空间再从用户空间传递至内核空间的繁琐拷贝过程,降低了拷贝次数和上下文切换,也降低了日志数据拷贝过程中的逻辑计算,从而降低了对计算设备的CPU资源消耗。
在一个实施例中,文件操作监控模块210的日志管理器212通过将文件日志消息封装为日志数据包,并将日志数据包发送至第一网络栈220的缓冲区。进而,第一网络栈220可以通过网络驱动和网络设备将日志数据包发送至日志监控服务器150的第二网络栈156。
在一种实现方式中,日志管理器212可以基于UDP/IP协议将文件日志封装为UDP日志数据包。具体地,通过从配置文件中获取日志监控服务器150的接收地址,这里,接收地址包括日志监控服务器150的IP地址和端口号。随后,基于UDP/IP协议将文件日志消息和接收地址封装为UDP日志数据包。进而,将UDP日志数据包拷贝至第一网络栈220的缓冲区。接下来,第一网络栈220可以基于UDP日志数据包中的接收地址(日志监控服务器150的IP地址和端口号),通过网络驱动和网络设备来将UDP日志数据包发送至日志监控服务器150的相应端口(监听端口)。
这里,UDP日志数据包的具体传递过程如下:第一网络栈220→第一网络驱动230→第一网络设备240→第二网络设备154→第二网络驱动155→第二网络栈156→监听端口。这样,日志监控服务器150可以基于监听端口来监听各个计算设备200的文件日志。
在一个实施例中,日志监控服务器150的应用层运行有监控应用,监控应用可以调用日志监控服务器的监听端口,以获取来自各个计算设备200的UDP日志数据包,从而获取到各个计算设备200的文件日志数据,以便对各个计算设备200的文件日志数据进行分析。
在本发明的实施例中,每个计算设备200适于执行本发明的文件日志监控方法300,来生成文件日志并将文件日志发送至日志监控服务器150。本发明的文件日志监控方法300将在下文中详述。
图2示出了根据本发明一个实施例的计算设备200的硬件结构示意图。
如图2所示,计算设备200可以包括输入设备20、处理器21、输出设备22、存储器23和至少一个通信总线24。通信总线24用于实现元件之间的通信连接。存储器23可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器23中可以存储各种程序指令,用于完成各种处理功能以及实现本发明实施例中的文件日志监控方法。
可选的,上述处理器21例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器21通过有线或无线连接耦合到上述输入设备20和输出设备22。
可选的,上述输入设备20可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备22可以包括显示器、音响等输出设备。
在根据本发明的实施例中,计算设备200被配置为执行根据本发明的文件日志监控方法300。计算设备200包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质,当程序指令被配置为由一个或多个处理器执行时,使得计算设备执行本发明实施例中的文件日志监控方法300。
在根据本发明的实施例中,计算设备200的操作系统中包含用于执行本发明的文件日志监控方法300的多条程序指令,这些程序指令可以指示处理器执行根据本发明的文件日志监控方法300,以便计算设备通过执行本发明的文件日志监控方法300来实现高效地将文件日志发送至日志监控服务器。
图3示出了根据本发明一个实施例的文件日志监控方法300的流程图。方法300适于在计算设备(例如前述计算设备200)的操作系统中执行。计算设备200具体可以是文件日志监控系统100中的任意一个计算设备。
根据前文所述的文件日志监控系统100,如图1所示,文件日志监控系统100包括一个或多个计算设备200、与每个计算设备200通信相连的日志监控服务器150。需要说明的是,计算设备200作为文件日志的发送端,日志监控服务器150作为文件日志的接收端。计算设备200(发送端)的操作系统之上的应用层运行有一个或多个应用。
其中,每个计算设备200的操作系统包括内核,内核中包括虚拟文件系统(VFS)、真实文件系统,并且,虚拟文件系统(VFS)与真实文件系统之间包括文件操作监控模块210。另外,计算设备200及日志监控服务器150的内核中还包括网络栈和网络驱动。具体地,计算设备200的内核(第一内核)中包括第一网络栈220、第一网络驱动230。日志监控服务器150的第二内核中包括第二网络栈156和第二网络驱动155。
根据本发明的一个实施例,文件操作监控模块210中还包括日志管理器212,日志管理器212中包括日志缓存队列。
如图3所示,方法300始于步骤S310。
在步骤S310中,文件操作监控模块210从虚拟文件系统(VFS)获取文件操作事件,将文件操作事件转换为对应的文件日志。文件操作监控模块在将文件操作事件转换为对应的文件日志之后,可以将文件日志添加到日志管理器212的日志缓存队列中。
随后,在步骤S320中,日志管理器212从日志缓存队列中获取文件日志,并将文件日志通过Socket发送至网络栈的缓冲区(buffer),继而,网络栈将文件日志发送至日志监控服务器150。
具体地,文件操作监控模块210通过将文件日志数据封装为文件日志消息,并将文件日志消息添加到日志缓存队列的队尾。
进而,日志管理器212可以从日志缓存队列中获取文件日志消息,并将文件日志消息通过Socket发送至网络栈(第一网络栈220)的缓冲区。
应当指出,根据本发明建立的文件操作监控模块210,其中日志管理器212在从日志缓存队列中获取后,是直接将日志数据通过Socket发送至第一网络栈的缓冲区。这样,避免了日志数据从内核空间传递到用户空间再从用户空间传递至内核空间的繁琐拷贝过程,降低了拷贝次数和上下文切换,也降低了日志数据拷贝过程中的逻辑计算,从而降低了对计算设备的CPU资源消耗。
需要说明的是,在步骤S320中,计算设备200的网络栈(第一网络栈220)可以通过网络驱动和网络设备将文件日志发送至日志监控服务器150的网络栈(第二网络栈156)。具体地,计算设备200的第一网络栈220将其缓冲区的文件日志经由第一网络驱动230发送至第一网络设备240,接着,第一网络设备240将文件日志传送至日志监控服务器150的第二网络设备154,第二网络设备154再通过第二网络驱动155将文件日志发送至日志监控服务器150的第二网络栈156的缓冲区。
根据本发明的一个实施例,如图1所示,文件操作监控模块210中包括文件系统监控工具(FS-Monitor),文件系统监控工具可以从虚拟文件系统(VFS)获取文件操作事件,将文件操作事件转换为对应的文件日志,并将文件日志添加到日志管理器212的日志缓存队列中。
在一种实现方式中,计算设备200的操作系统上可以运行一个或多个应用,应用在进行文件操作时会将文件操作事件发送至虚拟文件系统。文件操作监控模块210中的FS-Monitor可以通过虚拟文件系统的事件函数来截获文件操作事件。
在一个实施例中,文件操作可以包括创建操作、重命名操作、移动操作、删除操作中的一种或多种。
相应地,虚拟文件系统的事件函数例如包括创建事件函数、重命名事件函数、移动事件函数、删除事件函数中的一种或多种。
在一种实现方式中,文件操作监控模块的日志管理器212可以通过以下方式来将文件日志通过Socket发送至网络栈(第一网络栈220)的缓冲区:将文件日志封装为日志数据包,并将日志数据包通过Socket发送至第一网络栈220的缓冲区。
在一种实现方式中,日志管理器212可以基于UDP/IP协议将文件日志封装为UDP日志数据包,以便发送端(计算设备200)与接收端(日志监控服务器150)之间基于UDP/IP协议封装的数据包进行通信,避免多个接收端同时发送文件日志数据而给网络设备(路由设备)造成较大压力,避免网络阻塞现象。
具体地,日志管理器212通过从配置文件中获取日志监控服务器150的接收地址,这里,接收地址包括日志监控服务器的IP地址和端口号。随后,基于UDP/IP协议将文件日志(文件日志消息)和接收地址封装为UDP日志数据包。进而,可以将UDP日志数据包拷贝至第一网络栈220的缓冲区。接下来,基于UDP日志数据包中的接收地址(日志监控服务器150的IP地址和端口号),通过网络驱动和网络设备可以将UDP日志数据包从第一网络栈220发送至日志监控服务器150的相应端口(监听端口)。
这样,日志监控服务器150可以基于监听端口来监听各个计算设备200发送的文件日志。具体地,每个计算设备200中的UDP日志数据包在拷贝至网络栈的缓冲区之后,可以基于UDP日志数据包中的接收地址(日志监控服务器的IP地址和端口号),通过网络驱动和网络设备来将UDP日志数据包发送至日志监控服务器150的监听端口。具体地,UDP日志数据包的传递过程如下:第一网络栈220→第一网络驱动230→第一网络设备240→第二网络设备154→第二网络驱动155→第二网络栈156→监听端口。这样,日志监控服务器150可以基于监听端口来监听各个计算设备200的文件日志。
在一个实施例中,日志监控服务器150的操作系统之上的应用层运行监控应用,监控应用可以调用日志监控服务器的监听端口,以获取来自各个计算设备200的UDP日志数据包,从而收集到各个计算设备200的文件日志数据。监控应用可以对各个计算设备200的文件日志数据进行分析和处理,从而实现集中监控各个计算设备200的文件操作事件,以便满足安全检测、信息采集、集中搜索文件名等应用场景。
根据本发明的文件日志监控方法300,通过在虚拟文件系统与真实文件系统之间建立文件操作监控模块,文件操作监控模块包括日志管理器。文件操作监控模块可以从虚拟文件系统获取到文件操作事件,并将文件操作事件转换为对应的文件日志添加到日志管理器的日志缓存队列,由日志管理器通过Socket将文件日志发送至网络栈的缓冲区,随后网络栈可以通过网络驱动来将文件日志发送至日志监控服务器。这样,通过文件操作监控模块能够稳定地监控并获取文件操作事件并生成文件日志,从而能避免文件日志遗漏现象。并且,通过建立文件操作监控模块,文件操作监控模块可以直接将日志数据通过Socket发送至网络栈进而发送至日志监控服务器,避免了日志数据从内核空间传递到用户空间再从用户空间传递至内核空间的繁琐拷贝过程,降低了拷贝次数和上下文切换,也降低了日志数据拷贝过程中的逻辑计算,从而降低对计算设备的CPU资源消耗。可见,本发明能实现高效地将文件日志发送至日志监控服务器,且占用的系统资源较少。
另外,根据本发明的技术方案,发送端的计算设备与接收端的日志监控服务器之间基于UDP/IP协议进行通信,从而能降低网络路由压力,避免多个接收端同时发送文件日志数据而造成网络阻塞现象,降低网络延迟。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的文件日志监控方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种文件日志监控方法,在计算设备的操作系统中执行,操作系统内核中的虚拟文件系统与真实文件系统之间建立有文件操作监控模块,所述文件操作监控模块中包括文件系统监控工具、日志管理器,所述日志管理器中包括日志缓存队列,内核中还包括网络栈,所述操作系统上运行有应用,所述应用在进行文件操作时适于将文件操作事件发送至虚拟文件系统;所述方法包括步骤:
文件操作监控模块的文件系统监控工具从虚拟文件系统获取文件操作事件,将所述文件操作事件转换为对应的文件日志,并将所述文件日志添加到日志缓存队列;
日志管理器从所述日志缓存队列中获取文件日志,并将所述文件日志通过Socket发送至网络栈的缓冲区,经由所述网络栈将所述文件日志发送至日志监控服务器。
2.如权利要求1所述的方法,其中,将所述文件日志通过Socket发送至网络栈的缓冲区包括:
将所述文件日志封装为日志数据包,并将所述日志数据包通过Socket发送至网络栈的缓冲区。
3.如权利要求2所述的方法,其中,将所述文件日志封装为日志数据包包括:
获取日志监控服务器的接收地址;
基于UDP/IP协议将所述文件日志和接收地址封装为UDP日志数据包。
4.如权利要求3所述的方法,其中,所述接收地址包括日志监控服务器的IP地址和端口号,将文件日志发送至日志监控服务器包括:
基于所述接收地址将所述UDP日志数据包发送至所述日志监控服务器的监听端口。
5.如权利要求1-4中任一项所述的方法,其中,将所述文件日志发送至日志监控服务器包括:
通过网络驱动和网络硬件将所述文件日志发送至日志监控服务器。
6.如权利要求1-4中任一项所述的方法,其中,
所述文件操作监控模块适于通过虚拟文件系统的事件函数截获所述文件操作事件。
7.如权利要求1-4中任一项所述的方法,其中,
所述文件操作包括创建操作、重命名操作、移动操作、删除操作中的一种或多种。
8.一种文件日志监控系统,包括:
日志监控服务器;以及
与所述日志监控服务器通信连接的一个或多个计算设备,所述计算设备的操作系统内核中包括虚拟文件系统、真实文件系统及网络栈,且所述虚拟文件系统与真实文件系统之间建立有文件操作监控模块,所述文件操作监控模块中包括文件系统监控工具、日志管理器,所述日志管理器中包括日志缓存队列,所述操作系统上运行有应用,所述应用在进行文件操作时适于将文件操作事件发送至虚拟文件系统;所述计算设备适于执行如权利要求1-7中任一项所述的方法来将文件日志发送至所述日志监控服务器。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述的方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述方法。
CN202210671009.XA 2022-06-15 2022-06-15 一种文件日志监控方法、系统及计算设备 Active CN114780353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210671009.XA CN114780353B (zh) 2022-06-15 2022-06-15 一种文件日志监控方法、系统及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210671009.XA CN114780353B (zh) 2022-06-15 2022-06-15 一种文件日志监控方法、系统及计算设备

Publications (2)

Publication Number Publication Date
CN114780353A CN114780353A (zh) 2022-07-22
CN114780353B true CN114780353B (zh) 2022-09-27

Family

ID=82421058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210671009.XA Active CN114780353B (zh) 2022-06-15 2022-06-15 一种文件日志监控方法、系统及计算设备

Country Status (1)

Country Link
CN (1) CN114780353B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168314A (zh) * 2022-09-08 2022-10-11 北京亿赛通网络安全技术有限公司 一种日志数据的处理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104766009A (zh) * 2015-03-18 2015-07-08 杭州安恒信息技术有限公司 一种基于操作系统底层防网页文件篡改的系统
CN108092936A (zh) * 2016-11-22 2018-05-29 北京计算机技术及应用研究所 一种基于插件架构的主机监控系统
CN111309557A (zh) * 2020-02-16 2020-06-19 苏州浪潮智能科技有限公司 一种多操作系统的监控方法、装置、设备和介质
CN114398318A (zh) * 2022-03-25 2022-04-26 广东统信软件有限公司 用户空间文件系统的文件操作方法及用户空间文件系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120033673A1 (en) * 2010-08-06 2012-02-09 Deepak Goel Systems and methods for a para-vitualized driver in a multi-core virtual packet engine device
WO2012092268A1 (en) * 2010-12-29 2012-07-05 Citrix Systems, Inc. Systems and methods for scalable n-core statistics aggregation
US20130227352A1 (en) * 2012-02-24 2013-08-29 Commvault Systems, Inc. Log monitoring
CN103944744B (zh) * 2013-01-21 2019-02-19 博雅网络游戏开发(深圳)有限公司 日志采集方法和系统
CN104102878B (zh) * 2013-04-10 2017-02-08 中国科学院计算技术研究所 一种Linux平台下的恶意代码分析方法及系统
CN104216806B (zh) * 2014-07-24 2016-04-06 上海英方软件股份有限公司 一种文件系统序列化操作日志的捕获与传输方法及其装置
CN106161074A (zh) * 2015-04-21 2016-11-23 中兴通讯股份有限公司 一种云终端日志处理方法、装置及系统
CN106301844B (zh) * 2015-05-28 2020-03-24 中兴通讯股份有限公司 一种实现日志传输的方法及装置
CN105208004B (zh) * 2015-08-25 2018-10-23 联创汽车服务有限公司 一种基于obd设备的数据入库方法
CN109388538B (zh) * 2018-09-13 2020-12-08 西安交通大学 一种基于内核的文件操作行为监控方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104766009A (zh) * 2015-03-18 2015-07-08 杭州安恒信息技术有限公司 一种基于操作系统底层防网页文件篡改的系统
CN108092936A (zh) * 2016-11-22 2018-05-29 北京计算机技术及应用研究所 一种基于插件架构的主机监控系统
CN111309557A (zh) * 2020-02-16 2020-06-19 苏州浪潮智能科技有限公司 一种多操作系统的监控方法、装置、设备和介质
CN114398318A (zh) * 2022-03-25 2022-04-26 广东统信软件有限公司 用户空间文件系统的文件操作方法及用户空间文件系统

Also Published As

Publication number Publication date
CN114780353A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
CN106951388B (zh) 一种基于PCIe的DMA数据传输方法及系统
CN111190854B (zh) 通信数据处理方法、装置、设备、系统和存储介质
CN114780353B (zh) 一种文件日志监控方法、系统及计算设备
US20240205170A1 (en) Communication method based on user-mode protocol stack, and corresponding apparatus
CN105141603A (zh) 通信数据传输方法及系统
CN107622207B (zh) 加密系统级数据结构
US20240061802A1 (en) Data Transmission Method, Data Processing Method, and Related Product
CN114925644A (zh) 在边缘系统验证逻辑系统设计的方法、边缘系统
CN112422485B (zh) 一种传输控制协议的通信方法及装置
JP2011159168A (ja) データ変換装置、データ変換方法及びプログラム
CN108829530B (zh) 一种图像处理方法及装置
CN113986969A (zh) 数据处理方法、装置、电子设备和存储介质
CN111953752A (zh) 物联网平台设备交互控制方法
CN110659143B (zh) 一种容器间的通讯方法、装置及电子设备
WO2015055008A1 (zh) 一种存储控制芯片及磁盘报文传输方法
US11436172B2 (en) Data frame interface network device
CN116136790A (zh) 任务处理方法和装置
CN114253792A (zh) 日志跟踪方法、装置、设备和存储介质
CN111200815A (zh) 基于移动应用的信息传输方法及装置
CN116016687B (zh) 一种基于dpdk的报文分流方法及系统
CN115878351B (zh) 消息的传输方法及装置、存储介质及电子装置
CN116915667B (zh) 网络流量采集方法、装置、电子设备及存储介质
CN110147344B (zh) 在多个物理机之间通信的方法、装置、存储介质和系统
WO2023116438A1 (zh) 一种数据访问方法、装置以及设备
US20240069754A1 (en) Computing system and associated method

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
GR01 Patent grant
GR01 Patent grant