首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 系统软件 / 操作系统 / 进程 / 一种监控外部存储器的方法、装置和智能设备

一种监控外部存储器的方法、装置和智能设备

阅读:1041发布:2020-06-27

专利汇可以提供一种监控外部存储器的方法、装置和智能设备专利检索,专利查询,专利分析的服务。并且本 发明 涉及设备自动化监控技术领域,提供了一种监控外部 存储器 的方法、装置和智能设备,该方法包括:监控程序在被智能设备运行时,启用第一线程;第一线程监控 操作系统 ,在监控到操作系统将预设挂载点挂载外部存储器时,读取第二预设识别信息,并启用第二线程,使第二线程监控外部存储器;在监控到预设挂载点已被操作系统卸载时,第一线程分别读取第一预设识别信息和卸载时间,并基于第一预设识别信息、卸载时间、第二预设识别信息和第二线程的监控信息构建监控记录邮件,实时发送该邮件后,第一线程终止第二线程,两个线程各自合理配设休眠时间,保证在监控时分别循环切换运行状态和休眠状态,具有监控 稳定性 和可靠性,提高了监控效率。,下面是一种监控外部存储器的方法、装置和智能设备专利的具体信息内容。

1.一种在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,包括:
在监控程序和操作系统均被智能设备运行的期间,所述监控程序启用第一线程,所述操作系统提供第一接口,所述操作系统内部存储有用以标识所述智能设备的第一预设识别信息、用以挂载外部存储器的预设挂载点和用以标识所述外部存储器的第二预设识别信息;
所述第一线程通过所述第一接口周期性监控所述操作系统;
所述操作系统将与所述智能设备耦合的所述外部存储器挂载至所述预设挂载点;
所述第一线程在监控到已被所述操作系统挂载的所述预设挂载点时,通过所述第一接口读取所述第二预设识别信息,并在所述监控程序中启用第二线程;
所述第二线程根据所述预设挂载点周期性监控所述外部存储器,在监控到所述外部存储器发生文件拷贝操作后,保存所述文件拷贝操作拷入所述外部存储器的文件所属的文件名称以及与所述文件名称一一对应的字节数;
所述操作系统卸载所述预设挂载点,并记录卸载时间,以及提供与所述卸载时间对应的第二接口;
所述第一线程在监控到已被所述操作系统卸载的所述预设挂载点时,通过所述第一接口读取所述第一预设识别信息,并通过所述第二接口读取所述卸载时间,以及从所述第二线程读取所述文件名称和所述字节数;
所述第一线程基于所述第一预设识别信息、所述第二预设识别信息、所述卸载时间、所述文件名称和所述字节数构建监控记录,并基于所述监控记录创建监控记录邮件,以及控制所述智能设备实时发送所述监控记录邮件,在所述监控记录邮件被发送后,终止所述第二线程,所述监控记录用以指示所述外部存储器在与所述智能设备耦合期间发生所述文件拷贝操作。
2.根据权利要求1所述在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,所述操作系统配置虚拟磁盘管理器、第一内核空间和第二内核空间;所述监控程序启用第一线程,具体包括:
所述监控程序在所述操作系统中被运行为进程时,在所述进程中启动所述第一线程,所述第一线程配设有第一预设休眠时长;
所述第一线程通过所述第一接口周期性监控所述操作系统,具体包括:
在启动状态下,所述第一线程第1次通过所述第一接口读取所述虚拟磁盘管理器中的所有已挂载盘符,并分别将第1次读取到的每个所述已挂载盘符存入所述第一内核空间,随后,从启动状态切换到运行状态;
在运行状态下,所述第一线程第i次通过所述第一接口读取所有所述已挂载盘符,分别将第i次读取到的每个所述已挂载盘符存入所述第二内核空间,随后,将所述第二内核空间存储的内容与所述第一内核空间存储的内容进行比较,得到比较结果,以及根据所述比较结果第i+1次通过所述第一接口读取所有已挂载盘符,分别将第i+1次读取到的每个所述已挂载盘符存入所述第一内核空间,i为大于1的偶数;
所述第一线程在第i+1次读取到的所有所述已挂载盘符全部被存入所述第一内核空间后,从运行状态切换到休眠状态;
在休眠状态下,所述第一线程休眠所述第一预设休眠时长;
所述第一线程在休眠结束时,从休眠状态切换回至运行状态。
3.根据权利要求2所述在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,所述预设挂载点为外部存储器盘符,所述虚拟磁盘管理器内配设有所述外部存储器的虚拟磁盘;所述第一线程根据所述比较结果第i+1次通过所述第一接口读取所有已挂载盘符,具体包括:
在所述比较结果指示所述第二内核空间存储的内容中包含所述外部存储器盘符且所述第一内核空间存储的内容中不包含所述外部存储器盘符时,所述第一线程记录已被所述操作系统挂载的所述外部存储器盘符;
在所述比较结果指示所述第二内核空间存储的内容中不包含所述外部存储器盘符且所述第一内核空间存储的内容中包含所述外部存储器盘符时,所述第一线程忽略已被所述操作系统卸载的所述外部存储器盘符;
在所述第一线程记录有已被所述操作系统挂载的所述外部存储器盘符,或者,在所述比较结果指示所述第二内核空间存储的内容与所述第一内核空间存储的内容相同时,所述第一线程第i+1次通过所述第一接口读取所有所述已挂载盘符。
4.根据权利要求3所述在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,所述第一线程在监控到已被所述操作系统挂载的所述预设挂载点时,通过所述第一接口读取所述第二预设识别信息,并在所述监控程序中启用第二线程,具体包括:
所述第一线程在记录有已被所述操作系统挂载的所述外部存储器盘符时,通过所述第一接口读取所述第二预设识别信息;
所述第一线程在第i+1次读取所有所述已挂载盘符时,在所述进程中控制所述第二线程进入启动状态,所述第二线程配设有小于所述第一预设休眠时长的第二预设休眠时长;
所述第二线程根据所述预设挂载点周期性监控所述外部存储器,具体包括:
在启动状态下,所述第二线程从所述第一线程中读取已被所述操作系统挂载的所述外部存储器盘符,并根据已被所述操作系统挂载的所述外部存储器盘符,第1次读取所述虚拟磁盘中属于所有文件的第一属性信息,且在读取所述第一属性信息结束后,从启动状态切换到运行状态;
在运行状态下,所述第二线程根据已被所述操作系统挂载的所述外部存储器盘符,第j次读取所述虚拟磁盘中属于所有文件的第二属性信息,并在读取所述第二属性信息结束时,根据所述第二属性信息和所述第一属性信息,判断所述外部存储器是否发生所述文件拷贝操作,j为大于1的正整数;
所述第二线程在判断所述外部存储器是否发生所述文件拷贝操作结束后,从运行状态切换到休眠状态;
在休眠状态下,所述第二线程休眠所述第二预设休眠时长;
所述第二线程在休眠结束时,从休眠状态切换回至运行状态。
5.根据权利要求4所述在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,所述第二线程根据所述第二属性信息和所述第一属性信息,判断所述外部存储器是否发生所述文件拷贝操作,具体包括:
所述第二线程从所述第一属性信息中分别提取每个第一文件名称和与每个所述第一文件名称一一对应的第一字节数,并分别将所述第一名称和对应的所述第一字节数组合为第一属性对,以及分别将每个所述第一属性对转换为对应的第一数组;
所述第二线程将所有所述第一数组排序为第一数组序列,并将所述第一数组序列拼接为第一字符串;
所述第二线程从所述第二属性信息中分别提取每个第二文件名称和与每个所述第二文件名称一一对应的第二字节数,并分别将所述第二文件名称和对应的所述第二字节数组合为第二属性对,以及分别将每个所述第二属性对转换为对应的第二数组;
所述第二线程将所有所述第二数组排序为第二数组序列,并将所述第二数组序列拼接为第二字符串;
所述第二线程判断所述第二字符串与所述第一字符串是否相等,若是,则确认所述外部存储器未发生所述文件拷贝操作,若否,则对所述第二字符串与所述第一字符串进行差分提取,得到差分子字符串;
所述第二线程根据所述差分子字符串和所述第一字符串,判断所述外部存储器已发生所述文件拷贝操作。
6.根据权利要求5所述在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,所述第二线程根据所述差分子字符串和所述第一字符串,判断所述外部存储器已发生所述文件拷贝操作,具体包括:
所述第二线程检验所述第一字符串中是否存在所述差分子字符串,若是,则确认所述外部存储器未发生所述文件拷贝操作,若否,则确认所述外部存储器发生所述文件拷贝操作。
7.根据权利要求6所述在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,所述第一线程在监控到已被所述操作系统卸载的所述预设挂载点时,通过所述第一接口读取所述第一预设识别信息,并通过所述第二接口读取所述卸载时间,以及从所述第二线程读取所述文件名称和所述字节数,具体包括:
所述第一线程在运行状态下,且在忽略已被所述操作系统卸载的所述外部存储器盘符时,通过所述第一接口读取所述第一预设识别信息,并通过所述第二接口读取所述卸载时间,以及监控所述第二线程中有无所述差分子字符串,若无,则停止读取所述文件名称和所述字节数,若有,则从所述第二线程中读取包含有所述文件名称和所述字节数的所述差分子字符串。
8.根据权利要求7所述在监控程序与操作系统协作下监控外部存储器的方法,其特征在于,所述第一线程还配设有预设发件地址和预设收件地址;所述第一线程基于所述第一预设识别信息、所述第二预设识别信息、所述卸载时间、所述文件名称和所述字节数构建监控记录,并基于所述监控记录创建监控记录邮件,具体包括:
所述第一线程在运行状态下读取到所述差分子字符串时,将所述差分子字符串、所述第一预设识别信息、所述第二预设识别信息和所述卸载时间组合为所述监控记录,并基于所述监控记录、所述预设发件地址和所述预设收件地址创建所述监控记录邮件;
在终止所述第二线程之后,还包括:在运行状态下,所述第一线程第i+k次通过所述第一接口读取所有所述已挂载盘符,并分别将第i+k次读取到的每个所述已挂载盘符存入所述第一内核空间,以及在第i+k次读取到的所有所述已挂载盘符全部被存入所述第一内核空间后,从运行状态切换到休眠状态,k为大于2的奇数。
9.一种在监控程序与操作系统协作下监控外部存储器的装置,其特征在于,包括:第一管控模、第二管控模块、第三管控模块、第四管控模块、第五管控模块、第六管控模块、第七管控模块和第八管控模块;
所述第一管控模块,用于在监控程序和操作系统均被智能设备运行的期间,所述监控程序启用第一线程,所述操作系统提供第一接口,所述操作系统内部存储有用以标识所述智能设备的第一预设识别信息、用以挂载外部存储器的预设挂载点和用以标识所述外部存储器的第二预设识别信息;
所述第二管控模块,用于所述第一线程通过所述第一接口周期性监控所述操作系统;
所述第三管控模块,用于所述操作系统将与所述智能设备耦合的所述外部存储器挂载至所述预设挂载点;
所述第四管控模块,用于所述第一线程在监控到已被所述操作系统挂载的所述预设挂载点时,通过所述第一接口读取所述第二预设识别信息,并在所述监控程序中启用第二线程;
所述第五管控模块,用于所述第二线程根据所述预设挂载点周期性监控所述外部存储器,在监控到所述外部存储器发生文件拷贝操作,保存所述文件拷贝操作拷入所述外部存储器的文件所属的文件名称以及与所述文件名称一一对应的字节数;
所述第六管控模块,用于所述操作系统卸载所述预设挂载点,并记录卸载时间,以及提供与所述卸载时间对应的第二接口;
所述第七管控模块,用于所述第一线程在监控到已被所述操作系统卸载的所述预设挂载点时,通过所述第一接口读取所述第一预设识别信息,并通过所述第二接口读取所述卸载时间,以及从所述第二线程读取所述文件名称和所述字节数;
所述第八管控模块,用于所述第一线程基于所述第一预设识别信息、所述第二预设识别信息、所述卸载时间、所述文件名称和所述字节数构建监控记录,并基于所述监控记录创建监控记录邮件,以及控制所述智能设备实时发送所述监控记录邮件,在所述监控记录邮件被发送后,终止所述第二线程,所述监控记录用以指示所述外部存储器在与所述智能设备耦合期间发生所述文件拷贝操作。
10.一种智能设备,其特征在于,包括:内部存储器和与所述内部存储器耦合的处理器,所述内部存储器存储有操作系统和预置在所述操作系统下的监控程序,所述操作系统和所述监控程序均由所述处理器加载并执行以实现如权利要求1至8任一项所述在监控程序与操作系统协作下监控外部存储器的方法所执行的操作步骤。

说明书全文

一种监控外部存储器的方法、装置和智能设备

技术领域

[0001] 本发明涉及设备自动化监控技术领域,具体涉及一种监控外部存储器的方法、装置和智能设备。

背景技术

[0002] 相关技术中,智能设备可以同时运行操作系统及配置在操作系统中的监控程序,监控程序能够以后台进程方式持续监控操作系统,当智能设备被接入外部存储器时,操作系统可以识别外部存储器的类型和名称,并执行将该名称挂载到诸如盘符或者文件目录等挂载点的相关操作,这些操作使得外部存储器挂载至挂载点。
[0003] 当监控到与外部存储器挂载至挂载点相关的操作时,监控程序在操作系统中启动悬浮窗,并将该悬浮窗显示在操作系统提供的界面上,当智能设备检测到输入在悬浮窗上的操作时,通过该操作触发监控程序与操作系统协作,在监控程序与操作系统协作下自动化监控外部存储器,例如:通过输入在悬浮窗上的操作控制监控程序与操作系统建立通信,一方面,这种设计是智能设备中的操作系统为外部存储器提供一个使用接口而做的,以人机交互的方式控制操作系统执行挂载与卸载外部存储器的操作,以此作为对外部存储器监控方式效率低下,另一方面,这种监控不具备在后台自动地、实时隐蔽获取、留存并发送监控记录的功能(监控记录可以包括外部存储器新拷入的文件名称和文件长度、卸载时间、使用智能设备标识和存储器标识等),监控历史记录留存利用途径欠缺。

发明内容

[0004] 针对现有技术中在监控程序与操作系统协作下自动化监控外部存储器的效率偏低,本发明提供一种在监控程序与操作系统协作下监控外部存储器的方法、装置和智能设备。
[0005] 本发明第一方面提供的在监控程序与操作系统协作下监控外部存储器的方法,包括:
[0006] 在监控程序和操作系统均被智能设备运行的期间,所述监控程序启用第一线程,所述操作系统提供第一接口,所述操作系统内部存储有用以标识所述智能设备的第一预设识别信息、用以挂载外部存储器的预设挂载点和用以标识所述外部存储器的第二预设识别信息;
[0007] 所述第一线程通过所述第一接口周期性监控所述操作系统;
[0008] 所述操作系统将与所述智能设备耦合的所述外部存储器挂载至所述预设挂载点;
[0009] 所述第一线程在监控到已被所述操作系统挂载的所述预设挂载点时,通过所述第一接口读取所述第二预设识别信息,并在所述监控程序中启用第二线程;
[0010] 所述第二线程根据所述预设挂载点周期性监控所述外部存储器,在监控到所述外部存储器发生文件拷贝操作后,保存所述文件拷贝操作拷入所述外部存储器的文件所属的文件名称以及与所述文件名称一一对应的字节数;
[0011] 所述操作系统卸载所述预设挂载点,并记录卸载时间,以及提供与所述卸载时间对应的第二接口;
[0012] 所述第一线程在监控到已被所述操作系统卸载的所述预设挂载点时,通过所述第一接口读取所述第一预设识别信息,并通过所述第二接口读取所述卸载时间,以及从所述第二线程读取所述文件名称和所述字节数;
[0013] 所述第一线程基于所述第一预设识别信息、所述第二预设识别信息、所述卸载时间、所述文件名称和所述字节数构建监控记录,并基于所述监控记录创建监控记录邮件,以及控制所述智能设备实时发送所述监控记录邮件,在所述监控记录邮件被发送后,终止所述第二线程,所述监控记录用以指示所述外部存储器在与所述智能设备耦合期间发生所述文件拷贝操作。
[0014] 本发明第二方面提供的在监控程序与操作系统协作下监控外部存储器的装置,包括:第一管控模、第二管控模块、第三管控模块、第四管控模块、第五管控模块、第六管控模块、第七管控模块和第八管控模块;
[0015] 所述第一管控模块,用于在监控程序和操作系统均被智能设备运行的期间,所述监控程序启用第一线程,所述操作系统提供第一接口,所述操作系统内部存储有用以标识所述智能设备的第一预设识别信息、用以挂载外部存储器的预设挂载点和用以标识所述外部存储器的第二预设识别信息;
[0016] 所述第二管控模块,用于所述第一线程通过所述第一接口周期性监控所述操作系统;
[0017] 所述第三管控模块,用于所述操作系统将与所述智能设备耦合的所述外部存储器挂载至所述预设挂载点;
[0018] 所述第四管控模块,用于所述第一线程在监控到已被所述操作系统挂载的所述预设挂载点时,通过所述第一接口读取所述第二预设识别信息,并在所述监控程序中启用第二线程;
[0019] 所述第五管控模块,用于所述第二线程根据所述预设挂载点周期性监控所述外部存储器,在监控到所述外部存储器发生文件拷贝操作后,保存所述文件拷贝操作拷入所述外部存储器的文件所属的文件名称以及与所述文件名称一一对应的字节数;
[0020] 所述第六管控模块,用于所述操作系统卸载所述预设挂载点,并记录卸载时间,以及提供与所述卸载时间对应的第二接口;
[0021] 所述第七管控模块,用于所述第一线程在监控到已被所述操作系统卸载的所述预设挂载点时,通过所述第一接口读取所述第一预设识别信息,并通过所述第二接口读取所述卸载时间,以及从所述第二线程读取所述文件名称和所述字节数;
[0022] 所述第八管控模块,用于所述第一线程基于所述第一预设识别信息、所述第二预设识别信息、所述卸载时间、所述文件名称和所述字节数构建监控记录,并基于所述监控记录创建监控记录邮件,以及控制所述智能设备实时发送所述监控记录邮件,在所述监控记录邮件被发送后,终止所述第二线程,所述监控记录用以指示所述外部存储器在与所述智能设备耦合期间发生所述文件拷贝操作。
[0023] 本发明第三方面提供的智能设备,包括:内部存储器和与所述内部存储器耦合的处理器,所述内部存储器存储有操作系统和预置在所述操作系统下的监控程序,所述操作系统和所述监控程序均由所述处理器加载并执行以实现如第一方面所述基于操作系统的外部存储器监控方法所执行的操作步骤。
[0024] 本发明提供的一种在监控程序与操作系统协作下监控外部存储器的方法、装置和智能设备的有益效果是:在随操作系统同时运行期间,监控程序启用第一线程,第一线程周期性为操作系统提供高质量的监控服务,相比于监控程序长期持续为操作系统提供监控服务,为操作系统节省了监控程序所需占用的系统资源,缩短了监控程序提供监控服务的时间,提高了监控效率。
[0025] 在操作系统将与智能终端耦合的外部存储器挂载至预设挂载点之后,第一线程在监控到预设挂载点被挂载期间分别从操作系统中读取第二预设识别信息和在监控程序中启用第二线程,第二线程周期性为外部存储器提供监控服务,一方面,相比于监控程序在监控到预设挂载点被卸载时读取第二预设识别信息的方式,既保证了第二预设识别信息被读取的及时性,也使第二预设识别信息在监控程序中提前做好备用准备,另一方面,相比于监控程序长期持续为外部存储器提供监控服务,缩短了监控程序提供监控服务的时间,提高了监控效率。
[0026] 在预设挂载点被卸载过程中,操作系统为预设挂载点记录卸载时间,第一线程在监控到预设挂载点被卸载时,从操作系统提供的接口分别读取第一预设识别信息和卸载时间,既保证了第一预设识别信息和卸载时间被读取的及时性和效率,也使第一预设识别信息和卸载时间在监控程序中及时做好备用,第一线程按照从先到后的顺序构建监控记录、基于监控记录创建监控记录邮件、控制智能设备发送监控记录邮件以及终止第二线程,保证了监控记录的构建效率、监控记录邮件的发送效率和第二线程被终止的及时性。
[0027] 第一线程只负责监控操作系统对外部存储器挂载及卸载,以监控到外部存储器挂载及卸载为触发条件,控制第二线程启动及终止,第二线程只负责对外部存储器内监控文件系统变化,在发现新增文件时保存文件名称与字节数,这种监控程序采用双线程分工监控方式的逻辑设计更为紧凑严密,相比于采用单一线程或两个并列线程,双线程分工监控方式具有更好的稳定性和可靠性,监控程序运行后独立于操作系统现有对外部存储器的监控进程,不影响外部存储器的正常使用,提高了监控程序的自动监控能,监控程序无需在操作系统提供的界面上显示悬浮窗,无需通过输入在悬浮窗上的操作使得监控程序与操作系统协作下自动高效地监控外部存储器,提高了在监控程序与操作系统协作下自动化监控外部存储器的效率。附图说明
[0028] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0029] 图1为本发明实施例提供的一种在监控程序与操作系统协作下监控外部存储器的方法的流程示意图;
[0030] 图2为本发明实施例提供的以文本格式呈现监控记录的示意图;
[0031] 图3为本发明实施例提供的一种在监控程序与操作系统协作下监控外部存储器的装置的结构示意图;
[0032] 图4为本发明实施例提供的一种外部存储器附属在智能设备上的通信连接示意图。

具体实施方式

[0033] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0034] 实施例一
[0035] 如图1所示,一种在监控程序与操作系统协作下监控外部存储器的方法,包括以下步骤操作:在监控程序和操作系统均被智能设备运行的期间,监控程序启用第一线程,操作系统提供第一接口,操作系统内部存储有用以标识智能设备的第一预设识别信息、用以挂载外部存储器的预设挂载点和用以标识外部存储器的第二预设识别信息;第一线程通过第一接口周期性监控操作系统;操作系统将与智能设备耦合的外部存储器挂载至预设挂载点;第一线程在监控到已被操作系统挂载的预设挂载点时,通过第一接口读取第二预设识别信息,并在监控程序中启用第二线程;第二线程根据预设挂载点周期性通过第一接口监控外部存储器,在监控到外部存储器发生文件拷贝操作后,保存文件拷贝操作拷入外部存储器的文件所属的文件名称以及与文件名称一一对应的字节数;操作系统卸载预设挂载点,并记录卸载时间,以及提供与卸载时间对应的第二接口;第一线程在监控到已被操作系统卸载的预设挂载点时,通过第一接口读取第一预设识别信息,并通过第二接口读取卸载时间,以及从第二线程读取文件名称和字节数;第一线程基于第一预设识别信息、第二预设识别信息、卸载时间、文件名称和字节数构建监控记录,并基于监控记录创建监控记录邮件,以及控制智能设备实时发送监控记录邮件,在监控记录邮件被发送后,终止第二线程,监控记录用以指示外部存储器在与智能设备耦合期间发生文件拷贝操作。
[0036] 在一些具体方式中,监控程序可以从前述外部存储器迁移至运行前述操作系统的前述智能设备,在该操作系统中,为外部存储器配置预设挂载点,并安装监控程序。
[0037] 在一些具体方式中,从外部存储器中分别读取前述第二预设识别信息、监控程序在外部存储器中被创建的创建时间和被修改的修改时间等版权校验参数,安装程序为版权校验参数执行版权校验过程,如果校验不通过,则停止安装监控程序,如果校验通过,则从智能设备中读取第一预设识别信息,如果安装程序中不存在第一预设识别信息,则记录第一预设识别信息,以使监控程序与智能终端绑定,如果安装程序中存在第三识别信息,将第三识别信息与第一预设识别信息进行比较;若两者不同,则说明监控程序不是与以第一识别信息标识的智能终端绑定的,停止安装监控程序;若第三识别信息与第一预设识别信息相同,则确定监控程序与智能终端已经绑定,即可直接安装监控程序,将第一预设识别信息和第二预设识别信息添加至一个预设文件中。
[0038] 在监控程序被安装之后,将外部存储器与智能终端断开,监控程序在随操作系统同时被智能设备运行期间为操作系统提供周期性监控服务,当外部存储器重新接入智能设备时,智能设备识别外部存储器的设备名称,通过操作系统将该设备名称挂载到预设挂载点上,操作系统在预设挂载点被卸载结束时从监控设备中读取本地时刻,将该本地时刻作为卸载时间。
[0039] 在一些具体方式中,操作系统可以包括Windows系统或/和Linux系统,预设挂载点在Windows系统中属于盘符或者在Linux中属于文件目录,第一预设识别信息可以包括智能设备的物理地址或/和逻辑地址,第二预设识别信息可以是外部存储器的设备描述符,该设备描述符可以包括制造商标识号(UID)或/和产品序列号(PID)。
[0040] 作为可选的实施方式,Windows系统配设有虚拟磁盘管理器、第一内核空间和第二内核空间,由Windows系统中的磁盘程序虚拟化虚拟磁盘管理器,预设挂载点为外部存储器盘符,外部存储器中的文件系统在虚拟磁盘管理器内呈现虚拟磁盘,该虚拟磁盘以外部存储器盘符命名,例如:外部存储器盘为“H:”。
[0041] 监控程序启用第一线程,具体包括:监控程序在在操作系统中被运行为进程时,在进程中启动第一线程,第一线程配设有第一预设休眠时长。
[0042] 第一线程通过第一接口周期性监控操作系统,具体包括:在启动状态下,第一线程第1次通过第一接口读取虚拟磁盘管理器中的所有已挂载盘符,并分别将第1次读取到的每个已挂载盘符存入第一内核空间,随后,从启动状态切换到运行状态;在运行状态下,第一线程第i次读取通过第一接口所有已挂载盘符,分别将第i次读取到的每个已挂载盘符存入第二内核空间,随后,将第二内核空间存储的内容与第一内核空间存储的内容进行比较,得到比较结果,以及根据比较结果第i+1次读取所有已挂载盘符,分别将第i+1次通过第一接口读取到的每个已挂载盘符存入第一内核空间,i为大于1的偶数。
[0043] 第一线程在第i+1次读取到的所有已挂载盘符全部被存入第一内核空后,从运行状态切换到休眠状态;在休眠状态下,第一线程休眠第一预设休眠时长;第一线程在休眠结束时,从休眠状态切换回至运行状态。
[0044] 在一些具体方式中,当第二内核空间存储的内容中包含外部存储器盘符且第一内核空间存储的内容中不包含外部存储器盘符时,第一线程确定比较结果为1;当第二内核空间存储的内容中不包含外部存储器盘符且第一内核空间存储的内容中包含外部存储器盘符时,第一线程确定比较结果为2;当第二内核空间存储的内容中的第i次读取到的所有已挂载盘符与第一内核空间存储的内容中的第i-1次读取到的所有已挂载盘符相同时,第一线程确定比较结果为3。
[0045] 监控程序在操作系统上以后台进程的方式保持运行,保证了第一线程在进程中具有较长的生命周期,第一线程每隔第一预设休眠时长循环切换休眠状态和运行状态;在休眠状态下,第一线程暂停为操作系统提供监控服务,使得第一线程能够稳定地为进程节省资源,缩短了第一线程自动化监控操作系统的时长,能够为与第一线程不同的其他线程在第一预设休眠时长内运行提供支持;在运行状态下,第一线程循环执行任务,将相邻两次读取到的所有已挂载盘符交替存入第一内核空间和第二内核空间,增强了第一内核空间和第二内核空间存入数据的有序性,稳定地为操作系统提供监控服务,提高了监控程序自动化监控操作系统的稳定性和可靠性。
[0046] 作为可选的实施方式,第一线程根据比较结果第i+1次通过第一接口读取所有已挂载盘符,具体包括:在比较结果指示第二内核空间存储的内容中包含外部存储器盘符且第一内核空间存储的内容中不包含外部存储器盘符时,第一线程记录已被操作系统挂载的外部存储器盘符;在比较结果指示第二内核空间存储的内容中不包含外部存储器盘符且第一内核空间存储的内容中包含外部存储器盘符时,第一线程忽略已被操作系统卸载的外部存储器盘符;当记录有已被操作系统挂载的外部存储器盘符时,或者,当比较结果指示第二内核空间存储的内容与第一内核空间存储的内容相同时,第一线程第i+1次通过第一接口读取所有已挂载盘符。
[0047] 在一些具体方式中,当比较结果为1时,智能设备已检测到外部存储器的插入操作,第一线程从操作系统中监控到已被操作系统挂载的外部存储器盘符上,从第二内存空间存储的内容中读取该外部存储器盘符;当比较结果为2时,表示智能设备已检测到外部存储器的拔出操作,第一线程从操作系统中监控到已被操作系统卸载的外部存储器盘符,跳过记录外部存储器盘符的操作步骤,或者返回flase,将比较结果作为记录或忽略外部存储器盘符的控制条件,实现了精细化管控外部存储器;当比较结果为3时,表示外部存储器与智能设备耦合关系尚未改变:要么一直处于耦合状态(挂载),要么还没有耦合(未挂载)。
[0048] 作为可选的实施方式,第一线程在监控到已被操作系统挂载的预设挂载点时,通过第一接口读取第二预设识别信息,并在监控程序中启用第二线程,具体包括:第一线程在记录有已被操作系统挂载的外部存储器盘符时,通过第一接口读取第二预设识别信息;第一线程在第i+1次读取所有已挂载盘符时,在进程中控制第二线程进入启动状态,第二线程配设有第二预设休眠时长,例如:第一预设休眠时长为1秒且第二预设休眠时长为0.5秒。
[0049] 第一线程和第二线程以双线程机制并行在进程中,相比于重复创建单线程的方式,双线程能够并行监控操作系统和外部存储器,提高了操作系统和外部存储器的监控效率。
[0050] 第二线程根据预设挂载点周期性通过第一接口监控外部存储器,具体包括:在启动状态下,第二线程从第一线程中读取已被操作系统挂载的外部存储器盘符,并根据已被操作系统挂载的外部存储器盘符,第1次通过第一接口读取虚拟磁盘中属于所有文件的第一属性信息,且在读取第一属性信息结束时,从启动状态切换到运行状态。
[0051] 在运行状态下,第二线程根据已被操作系统挂载的外部存储器盘符,第j次通过第一接口读取虚拟磁盘中属于所有文件的第二属性信息,在读取第二属性信息结束时,根据第二属性信息和第一属性信息,判断外部存储器是否发生文件更新操作,j为大于1的正整数;第二线程在判断外部存储器是否发生文件更新操作结束时,从运行状态切换到休眠状态;在休眠状态下,第二线程休眠第二预设休眠时长;第二线程在休眠结束时,从休眠状态切换回至运行状态。
[0052] 第二线程每隔第二预设休眠时长循环切换休眠状态和运行状态;在休眠状态下,第二线程暂停为外部存储器提供监控服务,能够稳定地为进程节省资源,缩短了第二线程自动化监控外部存储器的时长,能够为与第二线程不同的其他线程在第二预设休眠时长内运行提供支持;在运行状态下,第二线程循环执行任务,稳定地为外部存储器统提供监控服务,提高了监控程序自动化监控外部存储器的稳定性和可靠性。
[0053] 相比于第一预设休眠时长与第二预设休眠时长相等,在第二预设休眠时长小于第一预设休眠时长的条件下,第二预设休眠时长与第一预设休眠时长的比率,相比于第一线程,提高了第二线程为外部存储器提供监控服务的比重,使监控程序更侧重于为外部存储器提供监控服务,有助于提升监控外部存储器的质量。
[0054] 作为可选的实施方式,第二线程根据第二属性信息和第一属性信息,判断外部存储器是否发生文件更新操作,具体包括:从所述第一属性信息中分别提取每个第一文件名称和与每个第一文件名称一一对应的第一字节数,并分别将第一名称和对应的第一字节数组合为第一属性对,以及分别将每个第一属性对转换为对应的第一数组;将所有第一数组排序为第一数组序列,并将第一数组序列拼接为第一字符串。
[0055] 在一些具体方式中,第二线程可以使用map.put()函数将前述第一名称和前述第一字节数组成前述第一属性对,第二线程可以使用map.keySet()函数将前述第一属性对转换为前述第一数组,第二线程可以使用Arrays.sort()函数依据每个第一数组中的第一字节数为的第一数组进行升序,所有第一数组做完升序处理后得到第一数组序列,可以使用StringBulider()函数对第一数组序列中的每个第一数组进行字符拼接,获得第一字符串,支持了以简单、高效的方式为每对名称和字节数排序,保证了每对名称和字节数在第一属性信息中的有序性。
[0056] 第二线程从第二属性信息中分别提取每个第二文件名称和与每个第二文件名称一一对应的第二字节数,并分别将第二文件名称和对应的第二字节数组合为第二属性对,以及分别将每个第二属性对转换为对应的第二数组;将所有第二数组排序为第二数组序列,将第二数组序列拼接为第二字符串。
[0057] 需要说明的是,第二线程在执行获得第二字符串的过程中所需使用的函数与在执行获得第一字符串的过程中所需使用的函数相同,本领域技术人员参见第一字符串应当获知获得第二字符串的具体方式,此处不再赘述。
[0058] 第二线程判断第二字符串与第一字符串是否相等,若是,则确认外部存储器未发生文件拷贝操作,若否,则对第二字符串与所述第一字符串进行差分提取,得到差分子字符串;根据差分子字符串和第一字符串,判断外部存储器已发生文件拷贝操作。
[0059] 作为可选的实施方式,第二线程根据差分子字符串和第一字符串,判断外部存储器已发生文件拷贝操作,具体包括:第二线程检验第一字符串中是否存在差分子字符串,若是,则确认外部存储器未发生文件拷贝操作,若否,则外部存储器已发生文件拷贝操作。
[0060] 第二线程将第一字符串、第二字符串和差分子字符串作为文件拷贝操作的判断依据,支持以简单、高效的方式快速、准确地监测文件拷贝操作,有助于提高文件拷贝操作的监控效率。
[0061] 作为可选的实施方式,第一线程在监控到已被操作系统卸载的预设挂载点时,通过第一接口读取第一预设识别信息,并通过第二接口读取卸载时间,以及从第二线程读取文件名称和字节数,具体包括:第一线程在运行状态下,且在忽略已被操作系统卸载的外部存储器盘符时,通过第一接口读取第一预设识别信息,并通过第二接口读取卸载时间,以及监控第二线程中有无差分子字符串,若无,则停止读取文件名称和字节数,若有,则从第二线程中读取包含有文件名称和字节数的差分子字符串。
[0062] 在第二线程中无差分子字符串的情形下,第一线程可以执行将第一预设识别信息、第二预设识别信息和卸载参数组合为另一种监控记录的步骤操作,通过该监控记录的步骤操作使文件名称和字节数被停止读取,保证了文件名称及字节数的可控性。
[0063] 作为可选的实施方式,第一线程基于第一预设识别信息、第二预设识别信息、卸载时间、文件名称和字节数构建监控记录,并基于监控记录创建监控记录邮件,还包括:第一线程在运行状态下读取到差分子字符串时,将差分子字符串、第一预设识别信息、第二预设识别信息和卸载时间组合为监控记录,并基于监控记录、预设发件地址和预设收件地址创建监控记录邮件。
[0064] 在一些具体方式中,第一线程还配设有预设发件地址和预设收件地址,预设收件地址至少为两个,一个为收件人地址,至少一个为抄送人地址,如图2所示为以文本格式呈现的一条监控记录,实现精细化构建监控记录。
[0065] 在一些具体方式中,第一线程在监控记录邮件被创建结束时时,控制智能设备发出监控记录邮件,在监控记录邮件被发出时,终止第二线程,使第二线程进入消亡状态。
[0066] 第一线程具备有序为监控记录邮件、智能终端和第二线程三者提供自动化控制服务的能力,提高了第一线程的使用率,相比于第二线程进入消亡状态,第一线程优先控制监控记录邮件被发出,以使监控记录邮件能够被接入网络中的与不同收件地址对应的其他智能设备及时接收,有助于提高监控记录邮件被其他智能设备接收的成功率,被其他智能设备运行的邮件程序可以提供邮件提醒服务,以便于用户及时浏览邮件。
[0067] 在终止第二线程之后,还包括:在运行状态下,第一线程第i+k次通过第一接口读取所有已挂载盘符,并分别将第i+k次读取到的每个已挂载盘符存入第一内核空间,以及在第i+k次读取到的所有已挂载盘符全部被存入第一内核空间时,从运行状态切换到休眠状态,k为大于2的奇数。
[0068] 实施例二
[0069] 如图3所示,一种在监控程序与操作系统协作下监控外部存储器的装置,包括:第一管控模块、第二管控模块、第三管控模块、第四管控模块、第五管控模块、第六管控模块、第七管控模块和第八管控模块。
[0070] 第一管控模块,用于在监控程序和操作系统均被智能设备运行的期间,监控程序启用第一线程,操作系统提供第一接口,操作系统内部存储有用以标识智能设备的第一预设识别信息、用以挂载外部存储器的预设挂载点和用以标识外部存储器的第二预设识别信息。
[0071] 第二管控模块,用于第一线程通过第一接口周期性监控操作系统。
[0072] 第三管控模块,用于操作系统将与智能设备耦合的外部存储器挂载至预设挂载点。
[0073] 第四管控模块,用于第一线程在监控到已被操作系统挂载的预设挂载点时,通过第一接口读取第二预设识别信息,并在监控程序中启用第二线程。
[0074] 第五管控模块,用于第二线程根据预设挂载点周期性监控外部存储器,在监控到外部存储器发生文件拷贝操作,保存文件拷贝操作拷入外部存储器的文件所属的文件名称以及与文件名称一一对应的字节数。
[0075] 第六管控模块,用于操作系统卸载预设挂载点,并记录卸载时间,以及提供与卸载时间对应的第二接口。
[0076] 第七管控模块,用于第一线程在监控到已被操作系统卸载的预设挂载点时,通过第一接口读取第一预设识别信息,并通过第二接口读取卸载时间,以及从第二线程读取文件名称和字节数。
[0077] 第八管控模块,用于第一线程基于第一预设识别信息、第二预设识别信息、卸载时间、文件名称和字节数构建监控记录,并基于监控记录创建监控记录邮件,以及控制智能设备实时发送监控记录邮件,在监控记录邮件被发送后,终止第二线程,监控记录用以指示外部存储器在与智能设备耦合期间发生文件拷贝操作。
[0078] 第一管控模块具体用于:监控程序在操作系统中被运行为进程时,在进程中启动第一线程,第一线程配设有第一预设休眠时长。
[0079] 第二管控模块具体用于:在启动状态下,第一线程第1次通过第一接口读取虚拟磁盘管理器中的所有已挂载盘符,并分别将第1次读取到的每个已挂载盘符存入第一内核空间,且在第1次读取到的所有已挂载盘符全部存入第一内核空间后,从启动状态切换到运行状态;在运行状态下,第一线程第i次通过第一接口读取所有已挂载盘符,分别将第i次读取到的每个已挂载盘符存入第二内核空间,并在第i次读取到的所有已挂载盘符全部被存入第二内核空间后,将第二内核空间存储的内容与第一内核空间存储的内容进行比较,得到比较结果,以及根据比较结果第i+1次通过第一接口读取所有已挂载盘符,分别将第i+1次读取到的每个已挂载盘符存入第一内核空间,i为大于1的偶数;第一线程在第i+1次读取到的所有已挂载盘符全部被存入第一内核空间后,从运行状态切换到休眠状态;在休眠状态下,第一线程休眠第一预设休眠时长,在休眠结束时,从休眠状态切换回至运行状态。
[0080] 第二管控模块具体还用于:在比较结果指示所述第二内核空间存储的内容中包含外部存储器盘符且第一内核空间存储的内容中不包含外部存储器盘符时,第一线程记录已被操作系统挂载的外部存储器盘符;在比较结果指示第二内核空间存储的内容中不包含外部存储器盘符且第一内核空间存储的内容中包含外部存储器盘符时,第一线程忽略已被操作系统卸载的外部存储器盘符;在记录有已被操作系统挂载的外部存储器盘符时,或者,当比较结果指示第二内核空间存储的内容与第一内核空间存储的内容相同时,第一线程第i+1次通过第一接口读取所有已挂载盘符。
[0081] 第四管控模块具体用于:在记录有已被操作系统挂载的外部存储器盘符时,第一线程通过第一接口读取第二预设识别信息;在第i+1次读取所有已挂载盘符时,第一线程在进程中控制第二线程进入启动状态。
[0082] 第五管控模块具体用于:在启动状态下,第二线程从第一线程中读取已被操作系统挂载的外部存储器盘符,并根据已被操作系统挂载的外部存储器盘符,第1次读取虚拟磁盘中属于所有文件的第一属性信息,且在读取第一属性信息结束时,从启动状态切换到运行状态。
[0083] 第五管控模块具体还用于:在运行状态下,第二线程根据已被操作系统挂载的外部存储器盘符,第j次读取虚拟磁盘中属于所有文件的第二属性信息,并在读取第二属性信息结束时,根据第二属性信息和第一属性信息,判断外部存储器是否发生文件拷贝操作,j为大于1的正整数;在判断外部存储器是否发生文件拷贝操作结束时,第二线程从运行状态切换到休眠状态;在休眠状态下,第二线程休眠第二预设休眠时长;在休眠结束时,第二线程从休眠状态切换回至运行状态。
[0084] 第五管控模块具体还用于:第二线程从所述第一属性信息中分别提取每个第一文件名称和与每个第一文件名称一一对应的第一字节数,并分别将第一名称和对应的第一字节数组合为第一属性对,以及分别将每个第一属性对转换为对应的第一数组;第二线程将所有第一数组排序为第一数组序列,并将第一数组序列拼接为第一字符串。
[0085] 第五管控模块具体还用于:第二线程从第二属性信息中分别提取每个第二文件名称和与每个第二文件名称一一对应的第二字节数,并分别将第二文件名称和对应的第二字节数组合为第二属性对,以及分别将每个第二属性对转换为对应的第二数组;第二线程将所有第二数组排序为第二数组序列,并将第二数组序列拼接为第二字符串。
[0086] 第五管控模块具体还用于:第二线程判断第二字符串与所述第一字符串是否相等,若是,则外部存储器未发生文件拷贝操作,若否,则对第二字符串与第一字符串进行差分提取,得到差分子字符串;第二线程根据差分子字符串和第一字符串,判断外部存储器发生文件拷贝操作。
[0087] 第五管控模块具体还用于:第二线程检验第一字符串中是否存在差分子字符串,若是,则确认外部存储器未发生文件拷贝操作,若否,则确认外部存储器已发生文件拷贝操作。
[0088] 第七管控模块具体用于:第一线程在运行状态下,且在忽略已被操作系统卸载的外部存储器盘符时,通过第一接口读取第一预设识别信息,并通过第二接口读取卸载时间,以及监控第二线程中有无差分子字符串,若无,则停止读取文件名称和字节数,若有,则从第二线程中读取包含有文件名称和字节数的差分子字符串。
[0089] 第八管控模块具体用于:第一线程在运行状态下读取到差分子字符串时,将差分子字符串、第一预设识别信息、第二预设识别信息和卸载时间组合为监控记录,并基于监控记录、预设发件地址和预设收件地址创建监控记录邮件,以及控制智能设备实时发出监控记录邮件;在监控记录邮件被发出后,终止第二线程,使第二线程进入消亡状态;在第一线程处于运行状态且第二线程处于消亡状态下,第一线程第i+k次通过第一接口读取所有已挂载盘符,并分别将第i+k次读取到的每个已挂载盘符存入第一内核空间,以及在第i+k次读取到的所有已挂载盘符全部被存入第一内核空间时,从运行状态切换到休眠状态,k为大于2的奇数。
[0090] 实施例三
[0091] 如图4所示,一种智能设备,包括:分别与通用串行总线通信连接的USB接口、内部存储器和处理器,外部存储器通过USB接口与通用串行接口通信连接,内部存储器存储有操作系统和预置在操作系统下的监控程序,操作系统和监控程序均由处理器加载并执行以实现实施例一中所执行的操作步骤。
[0092] 在一些具体方式中,智能设备可以包括智能终端或者服务器,智能终端诸如台式电脑或者笔记本电脑或者工控机或者智能手机,外部存储器诸如优盘或者移动硬盘等具有USB接头的移动存储设备。
[0093] 读者应理解,在本说明书的描述中,参考术语“方面”、“实施例”和“实施方式”等的描述意指结合该实施例或示例描述的具体特征、步骤或者特点包含于本发明的至少一个实施例或示例中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”和“第二”等的特征可以明示或者隐含地包括至少一个该特征。
[0094] 在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例,描述的具体特征、步骤或者特点可以在一个或多个具体实例或示例中以合适的方式结合,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同具体实例或示例并不同实施例或示例的特征进行结合或/和组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈