用于鉴定文件读事件的方法和装置制造方法

文档序号:6498023阅读:102来源:国知局
用于鉴定文件读事件的方法和装置制造方法
【专利摘要】一种用于区分读取文件的假正读事件与真正事件的计算机化处理方法和装置,包括:确定从文件读取的数据的量;在数据的量超过阈值的情况下,生成真正读事件,否则在满足判定条件的情况下生成假正读事件,以及一种用于执行该方法的装置。
【专利说明】用于鉴定文件读事件的方法和装置

【技术领域】
[0001] 本公开一般性地涉及在计算机系统中访问文件,并且更具体地,涉及文件读事件。

【背景技术】
[0002] 在计算机系统中监视文件访问是本领域已知的。
[0003] 例如,显示实时文件系统、注册表和进程/线程活动的Windows?进程监视 (Process Monitor for WindOWSCii)),或者监视文件系统操作(诸如为读、写、以及创建) 的Linux? 中的通知(Inotify in Linux? )。


【发明内容】

[0004] 所公开的主题的一个示例性实施例为一种用于区分读取文件的假正读事件与真 正事件的计算机化处理方法,包括确定从文件读取的数据的量;在从文件读取的数据的量 超过阈值的情况下生成真正读事件,否则在满足判定条件的情况下生成假正读事件。
[0005] 所公开的主题的另一示例性实施例为一种用于区分读取文件的假正读事件与真 正事件的计算机化处理方法,包括:
[0006] 如果文件的相继的段被读取,则生成真正读事件,否则生成假正读事件。
[0007] 所公开的主题的又一示例性实施例为一种用于区分读取文件的假正读事件与真 正事件的计算机化处理装置,包括:
[0008] 将文件存储在其中的数据存储设备;
[0009] 链接到数据存储设备的控制器,控制器配置成响应于从文件读取的数据的量来生 成读取文件的假正读事件与真正事件。
[0010] 在本公开的上下文中,没有限制的,术语"真正读(true positive read) "事件、 "真读(true read)"事件或"真(ture)"事件可互换地使用,并且类似的术语"假正读 (false positive read)" 事件、"假读(false read)" 事件或"假(false)" 事件可互换地 使用。

【专利附图】

【附图说明】
[0011] 在下面的附图中说明了所公开的主题的某些非限制性的示例性实施例或特征。
[0012] 一般性地使用同样的附图标记来标记出现在一个或多个附图中的相同的或复制 的或等价的或类似的结构、元素、或部分,可选地具有额外的一个字母或多个字母以区分类 似的对象或对象的变型,并且将不重复标记和/或描述。
[0013] 为呈现的方便或清楚而选择图中示出的组件和特征的尺寸,并且图中示出的组件 和特征的尺寸不一定示为真实比例或尺寸。为了方便或清楚,某些元素或结构未示出或仅 仅部分地和/或使用不同的景象或从不同的视角示出。
[0014] 对之前给出的元素的引用是隐含的,而不一定进一步引用它们在其中出现的附图 或描述。
[0015] 图1示意性地说明了根据所公开的主题的示例性实施例的具有存储组件的分布 式系统;
[0016] 图2示意性地说明了根据所公开的主题的示例性实施例的具有读取段的文件和 具有对应于读取段的设置比特的整数;以及
[0017] 图3说明了根据所公开的主题的示例性实施例的用于确定真正读事件和假正读 事件的操作的概述。

【具体实施方式】
[0018] 由所公开的主题来处理的一个技术问题是在计算机系统中区分由或代表计算机 系统的用户或操作者进行的有意的文件读取,对照由或代表应用程序或辅助程序做出的其 它读访问。
[0019] 至少根据某些观测,假定在由或代表用户进行的有意的文件读取(诸如为用于查 看或拷贝)中,读取整个文件或至少大部分的文件。另一方面,在由或代表应用程序或辅 助程序做出的读访问中,相对于文件长度,仅仅读取一部分的文件或小比例的文件,诸如用 于一般仅从文件读取一些部分的如下操作:预览、或进行文件访问以搜索、或打开目录看内 容、或防病毒访问。
[0020] 根据所公开的主题的一个技术方案是一种存储文件或链接到文件存储器以及配 置成测量对文件的哪部分进行了读取的计算机系统或其一部分。
[0021] 当读取文件时,生成一个或多个读事件并且确定正在读的文件的长度、以及(可 选地)文件中的偏移。如果读取的文件的部分比特定阈值大,则将读访问认为是真正读事 件;否则,将读访问认为是假正读事件,并且(至少可选地)由此忽略读事件。
[0022] 在某些实施例中,阈值不是绝对的,而是可以为一个因子(诸如为文件容量)或多 个因子的函数。
[0023] 在某些实施例中,替代或除了由阈值来进行确定,在最后连续地读取文件的多节 或多段而不留未读段,或间歇地读取各文件段的情况下分别认定真和假正事件。
[0024] 注意到,至少在某些实施例中,文件存储器为更大的系统(诸如为分布式系统)的 单独的组件,并且因而读请求不提供关于调用程序或其它数据的信息(其用以确定读访问 的请求程序或类型)。
[0025] 所公开的主题的潜在的技术效果是将文件读事件提供为要么真读事件要么假读 事件的计算机系统或存储系统。
[0026] 如这里所使用的术语"最后"暗含在文件读取结束之后和/或在满足下文说明的 判定条件之后。
[0027] 下面给出实践本公开的实施例的一般的非限制性的观点。观点概述了本公开的实 施例的示例性实践,提供了用于变型和/或替代性的和/或扩展实施例的构造基础,其中某 些随后描述。
[0028] 图1示意性地说明了根据所公开的主题的示例性实施例的具有存储组件100和其 余的系统120的分布式系统。
[0029] 存储组件100包括连接到存储设备104的计算机102,两者之间的交互由双箭头 106所指示。计算机102(可选地与额外的或辅助的装置)还表示为控制器。
[0030] 存储组件100 (代表任意数量的存储组件100)与其余的系统120互连,后者代表 任意分布式系统,并且两者之间的互连由双箭头108代表。
[0031] 在某些实施例中,其余的系统120发送读请求到存储组件100。由计算机102接收 请求,其中,该计算机102转发请求到存储设备104以执行实际的读操作。
[0032] 在某些实施例中,基于请求,计算机102接收和/或确定请求的详细内容,诸如将 访问什么文件、起读文件的偏移或多个偏移、从多个偏移读取的段的量和/或执行从存储 设备104读取所必需的任意其它彳目息。
[0033] -般性地,将从存储设备104读取的文件的内容传回其余的系统120。
[0034] 在存储设备104完成所请求的读取之上,存储组件100通过计算机102生成在真 正读与假正读事件之间区分的一个或多个读事件。
[0035] 在某些实施例中,存储组件100和其余的系统120根据如下场景来操作。
[0036] 因为存储组件100与其余的系统120分离,所以由存储组件100接收的请求包括 仅仅读操作本身所必要的参数,而没有其它信息以指示发起请求的是什么程序、或什么类 型的程序、或程序或软件或应用的性质。
[0037] 除非另有规定,没有限制的,假定以上场景用于这里的描述。
[0038] 在某些实施例中,如下面所述,控制器配置成响应于从文件读取的数据的量来生 成读取文件的假正读事件和真正事件。
[0039] 在某些实施例中,计算机102作为芯片或电子板而与存储设备104集成,得到形成 "智能"存储设备,诸如具有智能控制器的磁盘。在某些实施例中,计算机102远离存储设备 104并且两个装置之间被链接。
[0040] 一般性地,当读取整个文件时、或相对于文件的长度而言读取至少文件的大部分 时、和/或(可选地)当连续读取文件时,将读事件认为是真或正或真正事件。连续读不一 定是连续的,而是在完成读取之后,确定文件的节或段被读取而不在其间留有间隙。
[0041] 例如:
[0042] -打开文本文件、位图、Word、PDF以及Excel文件或记事本。
[0043] -从命令提示打开文件。
[0044] -般性地,当读取文件的一个部分或某些部分(至少其中该一个部分或某些部分 的量相对于文件的长度是小的)时和/或(可选地)当不连续读取文件(即断断续续地读 取文件)时,将读事件认为是假或假正事件。
[0045] 例如:
[0046] -打开目录,诸如当"内容"上设置有详细层级时。
[0047]-右键点击看属性
[0048]-防病毒扫描
[0049]-搜索,诸如谷歌? (Google?)搜索
[0050] -预览文件
[0051] 在某些实施例中,当读取的文件的一个部分或多个部分的量在一定的阈值之上 时,和/或(可选地)当连续地读取多个部分时,判断或判定真正事件。相反地,当一个部 分或多个部分的量在阈值之下时,和/或(可选地)当多个部分是不连续的时,判断或判定 或认为事件是假正的。
[0052] 在某些实施例中,确定阈值,或阈值为文件容量的函数,并且可选地或额外地,基 于诸如为各次文件读取之间的时间的其它因素来确定阈值。
[0053] 在某些实施例中,判定或判断来自文件的读事件是否是假或真在当满足下面的条 件的一个或多个或任意组合时做出:
[0054] -从文件进行读取的特定的预定次数
[0055] -确定的从文件进行读取的次数
[0056] -自首次文件读取后的特定的预定时延
[0057] -所确定的自首次文件读取后的时延
[0058] -自最后一次文件读取所经过的具体的预定的时间
[0059] -所确定的自最后一次文件读取后的时延
[0060] 可选地,可以使用其它条件或条件的组合,例如,接收或检测关闭文件的事件。为 了简要和清楚并且没有限制的,将任意条件或其任意组合统称为"判定条件"。
[0061] 在某些实施例中,确定是否完成一定次数的读取通过分派缓冲器阵列来执行,并 且每次读取相继填入缓冲器。一旦一定数量的缓冲器被填充,则满足判定条件。可选地,替 代缓冲器,使用指示符阵列,诸如比特阵列,并且对于每次读取,设置对应的指示符,并且一 旦设置一定数量的指示符,则满足判定条件。
[0062] 在某些实施例中,直到满足判定条件,将文件读取或文件事件当作未判定的或模 糊的或不确定的,没有限制的,统称为"不确定的"。
[0063] 因而,存储组件100或特别的计算机102能够确定被读取或待读取的文件的一个 部分或多个部分,并且可选地,能够确定读顺序、以及判定条件。对应地,能够确定读事件是 真或假还是不确定的。
[0064] 在某些实施例中,事件形成为数据结构并且存储在诸如为高速缓存的存储器中, 从中可以检索到事件。数据结构可以包括一个或多个项,诸如一个或多个事件标识、在假 事件也被存储的情况下的事件的类型、文件名或诸如为下面描述的整数(integer)的其它 项。
[0065] 在某些实施例中,同步地或异步地将事件生成为通知,诸如中断,其余的系统或其 组件响应于该通知而检索到事件。
[0066] 在某些实施例中,在诸如数据库中存储读事件,以用于例如进一步的查看或分析。
[0067] 可选地,以指示读事件是真正还是假正的指示符(诸如为标志)来存储读事件。
[0068] 可选地或替代性地,仅仅存储真正事件,由此减少处理和/或存储并且(可选地) 减少待进一步查看或分析的数据的量。
[0069] 在某些实施例中,事件的存储通过存储组件100 (或者特别地,计算机102)来执 行。替代性地,在某些实施例中,例如,响应于事件通知,通过其余的系统120或其组件来存 储事件。
[0070] 可选地或替代性地,在某些实施例中,事件的存储通过其余的系统120的组件来 执行,该组件诸如为处理事件的探测器或辅助计算机,可选地,作为从存储组件100返回的 或根据从存储组件100返回的数据。
[0071] 在某些实施例中,为了跟踪读取的文件的多个部分,设计方法和附加装置(诸如 计算机102)。设计该方法以用于有效的操作,至少相对于使用存储元素(诸如字节或字以 用于文件的多个部分和/或其偏移)的直接方法。
[0072] 在下面的讨论中,如本领域常见的,1"、"1?"、"1^"以及"68"分别代表字节、千字 节、兆字节和千兆字节。
[0073] 32比特的整数代表线性排序的比特的任意结构(诸如寄存器),其用于代表文件 长度,其中,整数的比特代表作为被读取的文件的各部分的段,整数的每个比特代表从文件 读取的段。
[0074] 初始地,将整数的所有的比特重置成零或假状态。
[0075] 当(例如)通过从各自的段的中间读取的字节来读取、判断文件的段时,如根据文 件的长度所确定的,将对应的比特设置成一(打开)。
[0076] 例如,如果文件容量为精确的32KB,文件的段的中间可以是在0. 5KB、1. 5KB、 2. 5KB等以用于对应的比特,作为例子,第一比特、第二比特、第三比特等。
[0077] 接着示例,对于读取的每个1KB,打开对应的比特,也称作"命中(hit) "。
[0078] 因而,如果少于1KB被读取(诸如512B),则没有比特将为对应的段打开,S卩,没有 发生命中。同样地,如果多于1KB但是少于2KB (诸如1280B)被读取,则一个比特将打开, 艮P,已发生命中。
[0079] 在多个情况或实施例中,当用于读取文件的读缓冲的容量比如由整数定义或反映 的段容量小得多时,相对于为文件的任意字节或任意基本单元(诸如字)来对命中进行定 义,并且在某些实施例中,相对于为比段容量小得多的量定义命中,如上面所描述的处理得 到更好的结果。
[0080] 如这里所使用的,没有限制的,术语"小得多"隐含比段容量的50%小的容量,例如 段容量的约20%、约10%、约5%或任意其它比例,并且术语"读缓冲"指在从存储媒介中读 取文件中使用的特定容量的存储节,典型地由或通过文件系统或操作系统来定义。
[0081] 图2示意性地说明了根据所公开的主题的示例性实施例的具有使用阴影标记的 读取段的文件210、以及对应于如由箭头206指示的读取段的设置比特。
[0082] 假定文件210具有32KB并且段具有1KB,前3个1KB的读取段(每个标记为202) 由整数220中的前三个设置比特来指示或跟踪,而不设置用于少于1KB的第四段(标记为 204)的比特。
[0083] 如在某些实施例中的,当读取段的量分别在阈值之上或之下时,将读事件确定为 真正或假正的。相应地,读取段的量由整数中设置比特的数量来代表,并且阈值由特定数量 的设置比特来代表。
[0084] 至少在通常使用中,不需要连续地读取文件,而是以各种方式,如(例如)由使用 文件的应用、操作应用的用户、或由文件系统或操作系统来引导。相应地,整数中的设置比 特可以是各种图案。
[0085] 对应地,在某些实施例中,当分别接连地或不接连地读取段时,将读事件确定为真 正或假正的,并且读取段的顺序由整数中一系列的设置比特来代表。
[0086] 可选地或额外地,如果连续设置特定数量的比特,则将读事件确定为真正的,而不 管整数中的其它比特。可选地,其它规则或过程可以用于确定或考虑真正或假正读事件,诸 如汉明(Hamming)权重。
[0087] 在某些实施例中,上面描述的整数和/或另一整数和/或另一结构用于确定判定 条件,诸如通过确定从文件进行读取的次数。
[0088] 一般性地,当读取相对于文件容量的显著的部分时,判定真读事件,其中取决于或 根据特定条件来认定什么是显著的。一般性地,没有限制的,显著的部分是这样的:文件 容量越大,文件容量的越小的容量或越小的比例为显著的部分,并且反之亦然,文件容量越 小,文件容量的越大的容量或越大的比例为显著的部分。
[0089] 在某些实施例中,通过阈值来确定显著的部分,其中,在某些实施例中,根据公式 和/或查找表来获取阈值。
[0090] 例如,在某些实施例中,根据下面的公式(1)来确定阈值。
[0091]

【权利要求】
1. 一种用于区分读取文件的假正读事件与真正事件的计算机化处理方法,包括: 确定从文件读取的数据的量;以及 在从文件读取的数据的量超过阈值的情况下,生成真正读事件,否则在满足判定条件 的情况下生成假正读事件。
2. 根据权利要求1所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理方法,其中判定条件包括以下中的一个或多个:从文件进行读取的特定的预定次数、所确 定的从文件进行读取的次数、自第一次读取文件后的特定的预定时延、所确定的自第一次 读取文件后的时延、或其任意组合。
3. 根据权利要求1所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理方法,其中至少根据文件容量来确定阈值。
4. 根据权利要求1所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理方法,其中根据公式、查找表、或其组合来确定阈值。
5. 根据权利要求4所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理方法,其中所述公式为: T = max(l,min(32,32-16*log(K2/K)*S/K)) 其中: T为以KB计的阈值, K为以KB计的用于读取整个文件的文件最小容量; K2为以KB计的用于读取半个文件的文件最小容量;以及 S为以ΚΒ计的文件实际容量。
6. 根据权利要求1所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理方法,进一步包括如果文件的相继的段被读取则生成真正读事件,否则生成假正读事件。
7. -种用于区分读取文件的假正读事件与真正事件的计算机化处理方法,包括: 在文件的相继的段被读取的情况下生成真正读事件,否则生成假正读事件。
8. -种用于区分读取文件的假正读事件与真正事件的计算机化处理装置,包括: 用于将文件存储在其中的数据存储设备;以及 链接到数据存储设备的控制器,控制器配置成响应于从文件读取的数据的量来生成读 取文件的假正读事件与真正事件。
9. 根据权利要求8所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理装置,其中控制器响应于从文件读取的数据的量是否超过阈值来分别确定假正读事件与 真正事件。
10. 根据权利要求8所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理装置,其中控制器在满足判定条件的情况下确定假正读事件。
11. 根据权利要求8所述的用于区分读取文件的假正读事件与真正事件的计算机化处 理装置,其中控制器响应于数据最后是否是被相继地读取的来分别确定假正读事件与真正 事件。
【文档编号】G06F17/30GK104145266SQ201280068001
【公开日】2014年11月12日 申请日期:2012年1月24日 优先权日:2012年1月24日
【发明者】雅各布·费特尔松, 奥哈德·科尔库斯, 戴维·巴斯, 伊扎尔·卡伊萨, 多伦·戈尔德施泰因, 奥伦·戴维 申请人:Varonis系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1