一种文件监控方法、装置、电子设备和存储介质制造方法及图纸

技术编号:33090762 阅读:15 留言:0更新日期:2022-04-15 11:04
本公开实施例公开了一种文件监控方法、装置、电子设备和存储介质,该方法包括:确定被监控文件和/或文件夹以及监控事件;启动预设监控程序;在所述被监控文件和/或文件夹发生所述监控事件时,通过所述预设监控程序获取所述被监控文件和/或文件夹的标识、所述监控事件以及目标应用程序的标识,其中,所述监控事件的发生与所述目标应用程序相关联。实现了确定与监控事件的发生相关联的目标应用程序的标识的目的,以为解决问题提供线索。以为解决问题提供线索。以为解决问题提供线索。

【技术实现步骤摘要】
一种文件监控方法、装置、电子设备和存储介质


[0001]本公开涉及信息
,尤其涉及一种文件监控方法、装置、电子设备和存储介质。

技术介绍

[0002]日常工作中,经常需要了解某些文件所发生的变化,例如在Android手机的实际开发过程中经常会遇到如下问题:有时候一些文件会突然丢失。如果丢失的文件是用户可以感知到的文件(如拍摄的照片等)则会给用户带来较差的体验,如果丢失的文件是影响系统启动的关键文件,则会造成手机无法启动等故障。无论是哪种情况都是较严重的问题。因此,需要对手机中的文件进行监控,以及时发现文件所发生的变化,并采取适当的措施进行处理,保证用户体验和手机的正常运行。
[0003]Inotify是一种细粒度的、功能强大的、异步的文件变化通知机制,通过Inotify可以监控文件系统中的添加、删除,修改、移动等各种文件操作事件。
[0004]但是,通过Inotify无法知道是哪个应用程序触发的上述文件操作事件,无法提供有效信息。

技术实现思路

[0005]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种文件监控方法、装置、电子设备和存储介质,实现了确定与监控事件的发生相关联的目标应用程序的标识的目的,以为解决问题提供线索。
[0006]第一方面,本公开实施例提供了一种文件监控方法,该方法包括:
[0007]确定被监控文件和/或文件夹以及监控事件;
[0008]启动预设监控程序;
[0009]在所述被监控文件和/或文件夹发生所述监控事件时,通过所述预设监控程序获取所述被监控文件和/或文件夹的标识、所述监控事件以及目标应用程序的标识,其中,所述监控事件的发生与所述目标应用程序相关联。
[0010]第二方面,本公开实施例还提供了一种文件监控装置,该装置包括:
[0011]确定模块,用于确定被监控文件和/或文件夹以及监控事件;
[0012]启动模块,用于启动预设监控程序;
[0013]监控模块,用于在所述被监控文件和/或文件夹发生所述监控事件时,通过所述预设监控程序获取所述被监控文件和/或文件夹的标识、所述监控事件以及目标应用程序的标识,其中,所述监控事件的发生与所述目标应用程序相关联。
[0014]第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
[0015]一个或多个处理器;
[0016]存储装置,用于存储一个或多个程序;
[0017]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理
器实现如上所述的文件监控方法。
[0018]第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的文件监控方法。
[0019]本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
[0020]本公开实施例提供的文件监控方法,通过确定被监控文件和/或文件夹以及监控事件;启动预设监控程序;在所述被监控文件和/或文件夹发生所述监控事件时,通过所述预设监控程序获取所述被监控文件和/或文件夹的标识、所述监控事件以及目标应用程序的标识,其中,所述监控事件的发生与所述目标应用程序相关联的技术手段,实现了确定与监控事件的发生相关联的目标应用程序的标识的目的,以为解决问题提供线索。
附图说明
[0021]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0022]图1为本公开实施例中的一种文件监控方法的流程图;
[0023]图2为本公开实施例中的一种文件监控方案的整体架构图;
[0024]图3为本公开实施例中的一种文件事件监控服务的工作流程示意图;
[0025]图4为本公开实施例中的一种文件监控方法的流程示意图;
[0026]图5为本公开实施例中的一种文件监控方案的架构示意图;
[0027]图6为本公开实施例中的一种文件监控装置的结构示意图;
[0028]图7为本公开实施例中的一种电子设备的结构示意图。
具体实施方式
[0029]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0030]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行以及并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0031]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0032]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0033]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0034]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性
的目的,而并不是用于对这些消息或信息的范围进行限制。
[0035]日常工作中,经常会需要知道某些文件的变化,一般是通过轮询机制检查文件的变化,不过该种方式较低效。Inotify是一种细粒度的、功能强大的、异步的文件系统事件监控机制,Linux内核从2.6.13起,加入了Inotify支持。Inotify实际是一种事件驱动机制,它为应用程序监控文件系统事件提供了实时响应事件的机制,而无须通过诸如cron等的轮询机制来获取事件。cron等机制不仅无法做到实时性,而且消耗大量系统资源。相比之下,inotify基于事件驱动,可以做到对事件处理的实时响应,也没有轮询造成的系统资源消耗,是比较自然的事件通知接口,也与自然世界事件机制相符合。通过Inotify可以监控文件系统中添加、删除,修改、移动等各种文件操作事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况。
[0036]在Android系统中,出现文件丢失这种故障的原因一般是应用程序的某些异常删除行为导致,出现的概率较低,而且很难确定是哪个软件的异常行为导致的,进一步查找原因较困难。因为文件一旦被异常地删除,在系统中留下的信息较少,例如无法确定是什么本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件监控方法,其特征在于,应用于目标文件系统,所述方法包括:确定被监控文件和/或文件夹以及监控事件;启动预设监控程序;在所述被监控文件和/或文件夹发生所述监控事件时,通过所述预设监控程序获取所述被监控文件和/或文件夹的标识、所述监控事件以及目标应用程序的标识,其中,所述监控事件的发生与所述目标应用程序相关联。2.根据权利要求1所述的方法,其特征在于,所述目标文件系统包括SDCARDFS文件系统;所述启动预设监控程序,包括:初始化改进的文件监控句柄;向所述文件监控句柄发送使能指令,以使所述改进的文件监控句柄生效;将所述被监控文件和/或文件夹的标识以及监控事件添加至所述改进的文件监控句柄。3.根据权利要求2所述的方法,其特征在于,所述向所述文件监控句柄发送使能指令,以使所述改进的文件监控句柄生效,包括:根据所述使能指令,将所述文件监控句柄对应的结构体实例中的预设标志变量设置为1;所述预设标志变量的缺省值为0。4.根据权利要求3所述的方法,其特征在于,所述在所述被监控文件和/或文件夹发生所述监控事件时,通过所述预设监控程序获取所述被监控文件和/或文件夹的标识、所述监控事件以及目标应用程序的标识,包括:在所述被监控文件和/或文件夹发生所述监控事件时,若所述预设标志变量的数值为1,通过当前用户函数获取当前上下文的目标用户标识,通过当前进程函数获取当前上下文的目标进程标识;将所述目标用户标识、所述目标进程标识和所述被监控文件和/或文件夹的标识赋值给事件处理函数的事件变量;基于所述事件处理函数的所述事件变量确定所述被监控文件和/或文件夹的标识、所述目标用户标识和所述目标进程标识,其中,所述目标应用程序的标识包括所述目标用户标识和所述目标进程标识。5.根据权利要求1所述的方法,其特征在于,所述目标文件系统包括FUSE文件系统;所述启动预设监控程序,包括:启动预设回调函数,所述预设回调函数设置在与所述监控事件匹配的文件操作函数中,用于在所述文件操作函数执行所述监控事件时返回所述被监控文件和/或文件夹的标识、所述监控事件、目标用户标识和目标进程标识;其中,所述目标应用程序的标识包括所述目标用户标识和所述目标进程标识。6.根据权利要求4或5所述的方法...

【专利技术属性】
技术研发人员:李志刚
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1