CN115630025B - 用于监控共享文件系统内文件变动的系统和方法 - Google Patents

用于监控共享文件系统内文件变动的系统和方法 Download PDF

Info

Publication number
CN115630025B
CN115630025B CN202211645496.9A CN202211645496A CN115630025B CN 115630025 B CN115630025 B CN 115630025B CN 202211645496 A CN202211645496 A CN 202211645496A CN 115630025 B CN115630025 B CN 115630025B
Authority
CN
China
Prior art keywords
file
change
record set
monitoring
list
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
CN202211645496.9A
Other languages
English (en)
Other versions
CN115630025A (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.)
Shenzhen Skybility Software Co ltd
Original Assignee
Shenzhen Skybility Software 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 Shenzhen Skybility Software Co ltd filed Critical Shenzhen Skybility Software Co ltd
Priority to CN202211645496.9A priority Critical patent/CN115630025B/zh
Publication of CN115630025A publication Critical patent/CN115630025A/zh
Application granted granted Critical
Publication of CN115630025B publication Critical patent/CN115630025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用于监控共享文件系统内文件变动的系统,通过重建列表检测模块监控共享文件系统的重建列表所指定的文件;通过联动变化检测模块监控共享文件系统的文件变化联动关系列表中的文件;通过初始化扫描模块对共享监控目录中的文件进行不读取元数据的初始化扫描;通过节点变动列表生成模块利用监控函数监控共享监控目录中的文件得到该节点的变动列表;通过合并模块在需要获知发生修改的文件时,将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。通过本发明在有大量网络共享文件时,可以及时监控到文件的变动,方便及时备份,且对其他访问这些共享文件的程序影响很小。

Description

用于监控共享文件系统内文件变动的系统和方法
技术领域
本发明涉及软件技术领域,尤其涉及一种用于监控共享文件系统内文件变动的系统和方法。
背景技术
一些情况下用户希望两台机器之间的文件系统能够更加紧密地结合在一起,让一台主机上的用户可以像使用本机的文件系统一样使用远程机的文件系统,这种功能可以通过共享文件系统来实现。随着计算机网络技术的发展,网络技术的应用也越来越多,基于网络的共享文件系统也得到了大量使用。
通常,为了备份,需要找出和上次相比,哪些文件发生了变动,进而备份这些变动的文件。在Linux中,一种获知文件变动的方法是inotify,但此方法应用在基于网络的共享文件系统时有缺陷,共享文件系统允许来自其他主机的客户端进行访问,但无法获取来自其他主机的客户端对此类共享文件系统的修改事件。
为了获知修改的文件,通常需要扫描获取共享文件系统的元数据,这些元数据描述了文件的大小和最后的修改时间等信息。在需要判断是否发生变动时,通过再次读取元数据,并和之前的元数据进行对比,来判断文件是否发生变动。获取大量网络文件的元数据会比较耗时,比如一个建立在普通磁盘(非固态磁盘)上的NFS服务器,客户端获取该服务器上8万多个NFS文件的元数据,通常会超过1分钟。在有其他应用访问的情况下,因为这些程序和扫描过程都要访问磁盘,导致扫描过程获取元数据的耗时会更久。另外,这个读取元数据的扫描目录方式还会影响其他应用的正常读写访问,导致其他应用读写变慢。
基于此,需要一种新的解决方案。
发明内容
本发明的主要目的在于提供一种用于监控共享文件系统内文件变动的系统和方法。
为实现上述目的,本发明提供一种用于监控共享文件系统内文件变动的系统,包括:
重建列表检测模块,用于监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合;
联动变化检测模块,用于监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合;
初始化扫描模块,用于对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合;
节点变动列表生成模块,用于通过监控函数监控共享监控目录中的文件得到该节点的变动列表;
更新模块,用于在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合;
合并模块,用于在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。
在本发明提供的用于监控共享文件系统内文件变动的系统中,重建列表检测模块包括:
第一扫描单元,用于对重建列表所指定的文件进行读取元数据的初始化扫描,得到第一初始记录集合;
第一比对单元,用于将对重建列表所指定的文件进行读取元数据的扫描的结果与第一初始记录集合进行对比,结果作为第一变动文件记录集合。
在本发明提供的用于监控共享文件系统内文件变动的系统中,联动变化检测模块包括:
第二扫描单元,用于对文件变化联动关系列表中的文件进行读取元数据的扫描;
第二比对单元,用于在发现有文件发生变动时,将发生的变动记录加入到该节点的第二文件变动记录集合。
在本发明提供的用于监控共享文件系统内文件变动的系统中,还包括节点监控单元,用于将第一变动文件记录集合和第二变动文件记录集合更新到当前节点的操作系统提供的监控函数。
此外,为实现上述目的,本发明还提供一种用于监控共享文件系统内文件变动的方法,包括以下步骤:
步骤S1、监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合;
步骤S2、监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合;
步骤S3、对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合;
步骤S4、通过监控函数监控共享监控目录中的文件得到该节点的变动列表;
步骤S5、在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合;
步骤S6、在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。
在本发明提供的用于监控共享文件系统内文件变动的方法中,步骤S1包括:
步骤S11、对重建列表所指定的文件进行读取元数据的初始化扫描,得到第一初始记录集合;
步骤S12、将对重建列表所指定的文件进行读取元数据的扫描的结果与第一初始记录集合进行对比,结果作为第一变动文件记录集合。
在本发明提供的用于监控共享文件系统内文件变动的方法中,步骤S2包括:
步骤S21、对文件变化联动关系列表中的文件进行读取元数据的扫描;
步骤S22、在发现有文件发生变动时,将发生的变动记录加入到该节点的第二文件变动记录集合。
在本发明提供的用于监控共享文件系统内文件变动的方法中,还包括:
将第一变动文件记录集合和第二变动文件记录集合更新到当前节点的操作系统提供的监控函数。
本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上所述的用于监控共享文件系统内文件变动的方法的步骤。
本发明提供的用于监控共享文件系统内文件变动的系统和方法具有以下有益效果:本发明通过重建列表检测模块发现共享文件系统内其他节点修改的文件,通过联动变化检测模块加快监控文件变化联动关系列表中的文件,对监控目录进行不读取元数据的初始扫描;然后在每个节点上记录通过监控函数监控到的文件发生的修改;再将每个节点的变动更新到初始扫描的记录集合;在需要获知发生修改的文件时,第一文件变动记录集合、第二文件变动记录集合、通过扫描共享监控目录得到的第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。本发明提供的用于监控共享文件系统内文件变动的系统,在有大量网络共享文件时,可以及时监控到文件的变动,方便及时备份,且对其他访问这些共享文件的程序影响很小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图:
图1所示为本发明一实施例提供的用于监控共享文件系统内文件变动的系统的原理图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的典型实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明总的思路是:针对现有获知文件修改方法需要扫描文件系统元数据造成的耗时过长以及影响其他应用的问题,本发明通过重建列表检测模块发现共享文件系统内其他节点修改的文件,通过联动变化检测模块加快监控文件变化联动关系列表中的文件,对监控目录进行不读取元数据的初始扫描;然后在每个节点上记录通过监控函数监控到的文件发生的修改;再将每个节点的变动更新到初始扫描的记录集合;在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。本发明提供的用于监控共享文件系统内文件变动的系统,在有大量网络共享文件时,可以及时监控到文件的变动,方便及时备份,且对其他访问这些共享文件的程序影响很小。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
图1所示为本发明一实施例提供的用于监控共享文件系统内文件变动的系统的原理图。如图1所示,该用于监控共享文件系统内文件变动的系统包括重建列表检测模块10、联动变化检测模块60、初始化扫描模块20、节点变动列表生成模块30、更新模块40和合并模块50。
具体地,在本发明一实施例中,重建列表检测模块用于监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合。在共享文件系统中,配置的文件再删除后可能会被再次以相同文件名创建,因此,通过提供重建列表,让用户配置会发生重建的文件列表。对重建列表所指定的文件首先进行读取元数据的初始化扫描,然后在用户想要查询变动时再次对其进行读取元数据的扫描,通过比对两次扫描结果,可以得到其他节点发生了变化的文件。因此,重建列表检测模块包括第一扫描单元,用于对重建列表所指定的文件进行读取元数据的初始化扫描,得到第一初始记录集合;第一比对单元,用于将对重建列表所指定的文件进行读取元数据的扫描的结果与第一初始记录集合进行对比,结果作为第一变动文件记录集合。
具体地,在本发明一实施例中,联动变化检测模块,用于监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合。文件变化联动关系列表记录的是一个文件发生变动时,对应的会发生变动的其他文件,可以用来辅助监控,比如文件file01和dir03具有联动关系,当文件file01发生变动时,检查文件dir03是否发生了变动。通过对文件变化联动关系列表中的文件进行元数据的读取,可以用来发现这些文件的改动,若改动,则将发生的变动记录加入到该节点的第二文件变动记录集合,由此,可以监控其他节点的文件变动。例如,当监控函数报告文件file01变动时, 联动变化检测模块读取文件变化联动关系列表,发现文件file01和dir03具有联动关系, 则去读取文件dir03的元数据,判断其是否发生变化。因此,联动变化检测模块包括:第二扫描单元,用于对文件变化联动关系列表中的文件进行读取元数据的扫描;第二比对单元,用于在发现有文件发生变动时,将发生的变动记录加入到该节点的第二文件变动记录集合。
具体地,在本发明一实施例中,初始化扫描模块用于对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合。一个共享文件系统的共享监控目录包含了该共享文件系统下的多个节点的文件,在初始化时通过对该共享监控目录进行初始化扫描,只读取文件名称和文件路径,构成文件的初始记录集合set_file_t0。由于初始化扫描不扫描元数据,因此,可以显著提高处理速度。
具体地,在本发明一实施例中,节点变动列表生成模块用于在每个节点,通过监控函数监控共享监控目录中的文件得到该节点的变动列表。对于每个节点,由监控函数监控本节点的多个文件变动。当发现有文件发生变动时,例如,某个文件发生修改、增加了某个文件或删除了某个文件,将发生的变动记录到这个节点的变动列表set_file_diff。例如,开始时,A节点有1号、2号、3号、4号这4个文件,监控过程中,函数监控到1号文件发生修改,则将1号文件的文件名称和文件路径记录到变动列表;随后,又监控到3号文件被删除,则将3号文件的文件名称和文件路径记录到变动列表;随后,又监控到增加了5号文件,则相应的将5号文件的文件名称和文件路径记录到变动列表。因此,通过节点变动列表生成模块可以在监控函数监控到共享监控目录中的文件发生变动时,将发生的变动记录到该节点的变动列表。
具体地,在本发明一实施例中,更新模块用于在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合。监控过程中,每个节点将inotify或ReadDirectoryChangesW得到的发生变动的文件记录到 set_file_diff中;然后在每次修改发生后或定期在每个节点,将变动列表set_file_diff与初始记录集合set_file_t0合并,得到更新的set_file_t0。
具体地,在本发明一实施例中,合并模块用于在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。当想要获知哪些文件发生修改时,再次对共享监控目录进行不读取元数据的扫描,得到文件的记录集合,记为 set_file_scan;然后求集合set_file_scan和set_file_t0的差值,得到set_file_mod_by_other,将差值的文件集合加入inotify或ReadDirectoryChangesW监控;每个节点的set_file_diff和set_file_mod_by_other以及重建列表和联动变化关系列表的变动结果的并集。对于备份场景,只需要在每个节点备份对并集中的文件进行备份。
具体地,在本发明一实施例中,还包括节点监控单元,用于将第一变动文件记录集合和第二变动文件记录集合更新到当前节点的操作系统提供的监控函数,比如inotify,即利用系统提供的监控函数来监控第一变动文件记录集合和第二变动文件记录集合。
相应地,本发明还提供一种该用于监控共享文件系统内文件变动的方法,包括以下步骤:
步骤S1、监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合;
具体地,在本发明一实施例中,在共享文件系统中,配置文件再删除后可能会被再次以相同文件名创建,因此,通过提供重建列表,让用户配置会发生重建的文件列表。对重建列表所指定的文件首先进行读取元数据的初始化扫描,然后定时对其进行读取元数据的扫描,通过比对两次扫描结果,可以得到其他节点发生了变化的配置文件。因此,步骤S1包括:
步骤S11、对重建列表所指定的文件进行读取元数据的初始化扫描,得到第一初始记录集合;
步骤S12、将对重建列表所指定的文件进行读取元数据的扫描的结果与第一初始记录集合进行对比,结果作为第一变动文件记录集合。
步骤S2、监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合。
具体地,在本发明一实施例中,文件变化联动关系列表记录的是一个文件发生变动时,对应的会发生变动的其他文件,可以用来辅助监控。通过对文件变化联动关系列表中的文件进行元数据的读取,可以用来发现这些文件的改动,若改动,则将发生的变动记录加入到该节点的第二文件变动记录集合,由此,可以监控其他节点的文件变动。因此,步骤S2包括:
步骤S21、对文件变化联动关系列表中的文件进行读取元数据的扫描;
步骤S22、在发现有文件发生变动时,将发生的变动记录加入到该节点的第二文件变动记录集合。
步骤S3、对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合;
具体地,在本发明一实施例中,一个共享文件系统的共享监控目录包含了该共享文件系统下的多个节点的文件,在初始化时通过对该共享监控目录进行初始化扫描,只读取文件名称和文件路径,构成文件的初始记录集合set_file_t0。由于初始化扫描不扫描元数据,因此,可以显著提高处理速度。
步骤S4、通过监控函数监控共享监控目录中的文件得到该节点的变动列表;
具体地,在本发明一实施例中,对于每个节点,由监控函数监控本节点的多个文件变动。当发现有文件发生变动时,例如,某个文件发生修改、增加了某个文件或删除了某个文件,将发生的变动记录到这个节点的变动列表set_file_diff。例如,开始时,A节点有1号、2号、3号、4号这4个文件,监控过程中,函数监控到1号文件发生修改,则将1号文件的文件名称和文件路径记录到变动列表;随后,又监控到3号文件被删除,则将3号文件的文件名称和文件路径记录到变动列表;随后,又监控到增加了5号文件,则相应的将5号文件的文件名称和文件路径记录到变动列表。
进一步地,在本发明一实施例中,由监控函数inotify或ReadDirectoryChangesW监控节点内的文件变动。windows下使用ReadDirectoryChangesW实现, linux下使用inotify实现。通过inotify或ReadDirectoryChangesW可以监控到发生变动的文件名称和文件路径。
步骤S5、在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合;
具体地,在本发明一实施例中,监控过程中,每个节点将inotify或ReadDirectoryChangesW得到的发生变动的文件记录到 set_file_diff中;然后在每次修改发生后或定期在每个节点,将变动列表set_file_diff与初始记录集合set_file_t0合并,得到更新的set_file_t0。
步骤S6、在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。
具体地,在本发明一实施例中,当想要获知哪些文件发生修改时,可以再次对共享监控目录进行不读取元数据的扫描,得到文件的记录集合,记为 set_file_scan;然后求集合set_file_scan和set_file_t0的差值,得到set_file_mod_by_other,将差值的文件集合加入inotify或ReadDirectoryChangesW监控。每个节点的set_file_diff和set_file_mod_by_other以及重建列表和联动变化关系列表的变动结果的并集。对于备份场景,只需要在每个节点备份对并集中的文件进行备份。
在步骤S6之后,还包括:
将第一变动文件记录集合和第二变动文件记录更新到当前节点的操作系统提供的监控函数,比如inotify,即利用系统提供的监控函数来监控第一变动文件记录集合和第二变动文件记录集合。
以对Elasticsearch 集群执行创建快照为例,该集群会运行在多个节点上,这些节点使用共享目录。每次发起的快照指令,会随机分配给这些节点中的一个。这些文件在执行快照时会发生变动。通过本发明提供的用于监控共享文件系统内文件变动的方法,当前节点由inotify()函数监控以及重建列表检测模块监控共享文件系统的重建列表所指定的文件、联动变化检测模块监控共享文件系统的文件变化联动关系列表中的文件,然后合并每个节点的变动列表、扫描共享监控目录、通过监控重建列表和联动变化关系列表得到的变动文件记录集合,将每个节点将发现的变动的文件,备份到其他数据中心的一个共享目录。虽然单个Elasticsearch节点无法得到共享目录的完整变动文件列表, 但合并每个Elasticsearch节点监控到的变动,就得到了该共享目录完整的变动列表。在每个Elasticsearch节点上,都将各自发现的变动文件备份到同一个目录,就得到了一段时间内完整的变动文件的备份。由此,通过本发明的方法,在有大量网络共享文件时,可以及时监控到文件的变动;对于8万多个NFS文件的元数据,发现变动的时间可以由原先的1~2分钟缩短到1~2秒,且对其他访问这些共享文件的程序影响很小。
本发明实施例还提供了一种用于监控共享文件系统内文件变动的装置,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行上述存储器存储的计算机程序时可实现如下步骤:
监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合;监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合;对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合;通过监控函数监控共享监控目录中的文件得到该节点的变动列表;在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合;在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现如下步骤;
监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合;监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合;对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合;通过监控函数监控共享监控目录中的文件得到该节点的变动列表;在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合;在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM) >随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (6)

1.一种用于监控共享文件系统内文件变动的系统,设置在所述共享文件系统内的每个节点,其特征在于,包括:
重建列表检测模块,用于监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合;重建列表检测模块包括:
第一扫描单元,用于对重建列表所指定的文件进行读取元数据的初始化扫描,得到第一初始记录集合;
第一比对单元,用于将对重建列表所指定的文件进行读取元数据的扫描的结果与第一初始记录集合进行对比,结果作为第一变动文件记录集合;
联动变化检测模块,用于监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合;
初始化扫描模块,用于对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合;
节点变动列表生成模块,用于通过监控函数监控共享监控目录中的文件得到该节点的变动列表;
更新模块,用于在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合;
合并模块,用于在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果;
节点监控单元,用于将第一变动文件记录集合和第二变动文件记录集合更新到当前节点的操作系统提供的监控函数。
2.如权利要求1所述的用于监控共享文件系统内文件变动的系统,其特征在于,联动变化检测模块包括:
第二扫描单元,用于对文件变化联动关系列表中的文件进行读取元数据的扫描;
第二比对单元,用于在发现有文件发生变动时,将发生的变动记录加入到该节点的第二文件变动记录集合。
3.一种用于监控共享文件系统内文件变动的方法,其特征在于,包括以下步骤:
步骤S1、监控共享文件系统的重建列表所指定的文件,以发现共享文件系统内其他节点修改的文件,生成第一文件变动记录集合;步骤S1包括:
步骤S11、对重建列表所指定的文件进行读取元数据的初始化扫描,得到第一初始记录集合;
步骤S12、将对重建列表所指定的文件进行读取元数据的扫描的结果与第一初始记录集合进行对比,结果作为第一变动文件记录集合;
步骤S2、监控共享文件系统的文件变化联动关系列表中的文件,生成第二文件变动记录集合;
步骤S3、对共享监控目录中的文件进行不读取元数据的初始化扫描,得到初始记录集合;
步骤S4、通过监控函数监控共享监控目录中的文件得到该节点的变动列表;
步骤S5、在每个节点,将变动列表合并到初始记录集合,得到更新后的初始记录集合;
步骤S6、在需要获知发生修改的文件时,扫描共享监控目录,将扫描得到的列表与更新后的初始记录集合的差集作为第三变动文件记录集合,同时将第一文件变动记录集合、第二文件变动记录集合、第三变动文件记录集合和每个节点的变动列表进行合并作为变动结果;
将第一变动文件记录集合和第二变动文件记录集合更新到当前节点的操作系统提供的监控函数。
4.如权利要求3所述的用于监控共享文件系统内文件变动的方法,其特征在于,步骤S2包括:
步骤S21、对文件变化联动关系列表中的文件进行读取元数据的扫描;
步骤S22、在发现有文件发生变动时,将发生的变动记录加入到该节点的第二文件变动记录集合。
5.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如权利要求3至4中任一项所述的用于监控共享文件系统内文件变动的方法的步骤。
6.一种用于监控共享文件系统内文件变动的装置,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求3至4中任一项所述的用于监控共享文件系统内文件变动的方法的步骤。
CN202211645496.9A 2022-12-21 2022-12-21 用于监控共享文件系统内文件变动的系统和方法 Active CN115630025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211645496.9A CN115630025B (zh) 2022-12-21 2022-12-21 用于监控共享文件系统内文件变动的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211645496.9A CN115630025B (zh) 2022-12-21 2022-12-21 用于监控共享文件系统内文件变动的系统和方法

Publications (2)

Publication Number Publication Date
CN115630025A CN115630025A (zh) 2023-01-20
CN115630025B true CN115630025B (zh) 2023-03-17

Family

ID=84909772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211645496.9A Active CN115630025B (zh) 2022-12-21 2022-12-21 用于监控共享文件系统内文件变动的系统和方法

Country Status (1)

Country Link
CN (1) CN115630025B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116233115B (zh) * 2023-02-14 2023-09-19 中国科学院计算机网络信息中心 一种海量数据文件高效持续受控共享分发方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984640A (zh) * 2014-05-14 2014-08-13 华为技术有限公司 实现数据预取方法及装置
CN104156371A (zh) * 2013-05-15 2014-11-19 好看科技(深圳)有限公司 一种色调随音阶变化的图像浏览方法和装置
CN108228810A (zh) * 2017-12-29 2018-06-29 广州京墨医疗科技有限公司 表单联动配置方法和系统以及表单更新方法和系统
CN110263792A (zh) * 2019-06-12 2019-09-20 广东小天才科技有限公司 图像识读及数据处理方法、智能笔、系统及存储介质
CN112000618A (zh) * 2020-08-07 2020-11-27 北京浪潮数据技术有限公司 集群节点的文件变动管理方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609058B2 (en) * 2014-10-13 2017-03-28 Commvault Systems, Inc. Storage management operations based on executable files served on demand to storage management components

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156371A (zh) * 2013-05-15 2014-11-19 好看科技(深圳)有限公司 一种色调随音阶变化的图像浏览方法和装置
CN103984640A (zh) * 2014-05-14 2014-08-13 华为技术有限公司 实现数据预取方法及装置
CN108228810A (zh) * 2017-12-29 2018-06-29 广州京墨医疗科技有限公司 表单联动配置方法和系统以及表单更新方法和系统
CN110263792A (zh) * 2019-06-12 2019-09-20 广东小天才科技有限公司 图像识读及数据处理方法、智能笔、系统及存储介质
CN112000618A (zh) * 2020-08-07 2020-11-27 北京浪潮数据技术有限公司 集群节点的文件变动管理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115630025A (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
KR101780340B1 (ko) 가상 데이터베이스를 제공하기 위한 유효성 검증 데이터베이스 스냅샷의 생성 방법, 시스템 및 컴퓨터 판독가능 저장 매체
JP5731000B2 (ja) 差分バックアップからのデータベースの個別復元を実行する方法及びシステム
TWI450103B (zh) 伺服器之遠端管理系統及方法,及其電腦程式產品
US20070198599A1 (en) Distributed conflict resolution for replicated databases
US10089378B2 (en) Automatic asset versioning
CN115630025B (zh) 用于监控共享文件系统内文件变动的系统和方法
US20150019496A1 (en) Virtual database rewind
US9727394B2 (en) Establishing causality order of computer trace records
US9983934B2 (en) Accelerating system dump capturing
US7062550B1 (en) Software-implemented method for identifying nodes on a network
JPWO2002056185A1 (ja) コンピュータのハードウェア構成情報管理方法
US20210152624A1 (en) Identifying and Deleting Idle Remote Sessions in a Distributed File System
US20120158673A1 (en) Storing and publishing contents of a content store
CN116467975A (zh) 数据处理方法、装置、电子设备及存储介质
US20150347402A1 (en) System and method for enabling a client system to generate file system operations on a file system data set using a virtual namespace
CN113507529B (zh) 基于Web应用实现文件下载的方法
CN115098469A (zh) 数据库迁移方法及装置、电子设备和可读存储介质
CN111400243B (zh) 基于流水线服务的研发管理系统以及文件存储方法、装置
CN111309526A (zh) 文件备份、恢复方法及其装置
CN112783954A (zh) 数据访问方法、装置及服务器
CN111464580B (zh) 主服务器的选取方法及装置
US20220058207A1 (en) Database management system data replication
EP3866000A1 (en) Determining an origin of a target source code for a computer program or a part thereof
CN116360934A (zh) 一种去中心化可热更新的任务调度方法及相关装置
CN117349228A (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
GR01 Patent grant
GR01 Patent grant