CN111858486A - 一种文件分类方法和装置 - Google Patents
一种文件分类方法和装置 Download PDFInfo
- Publication number
- CN111858486A CN111858486A CN202010631285.4A CN202010631285A CN111858486A CN 111858486 A CN111858486 A CN 111858486A CN 202010631285 A CN202010631285 A CN 202010631285A CN 111858486 A CN111858486 A CN 111858486A
- Authority
- CN
- China
- Prior art keywords
- file
- fingerprint
- label
- local
- meta
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims description 34
- 230000011218 segmentation Effects 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 13
- 239000003795 chemical substances by application Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件分类方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:响应于对目标文件的查询标签操作,获取目标文件的文件指纹,确定本地指纹库中与文件指纹的相似度超出预定相似度阈值的相似文件指纹;获取与相似文件指纹对应的元信息,根据元信息中的标签标识进行标签确定,得到第一标签集;传输文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;对第一标签集和第二标签集取并集,得到目标文件的已打标签集,根据已打标签集中的标签确定目标文件所属分类。该实施方式文件指纹仅与文件内容关联,突破现有仅针对特定类型文件的限制;通过与其关联的文件的标签对其进行打标处理,提高了文件分类正确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件分类方法和装置。
背景技术
近年来,计算机安全行业逐渐从早起的网络安全向数据安全发展,数据安全的一个方向是数据分类,将数据分为具有不同安全级别的类,并针对不同级别采用不同安全策略来管理数据。在此基础上产生了较多数据分类工具,如非用户驱动类的机器学习(分类算法、聚类算法)、用户驱动类的文件标签/标记等。
本方案主要涉及用户驱动类的文件标签/标记,根据文件上已有的标签对文件进行管理,目前对文件操作标签的方式包括新增、删除、更新标签。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
1、使用范围受限,只能针对特定类型的文件(如doc、docx、pdf、jpg、mp4)进行标签管理操作;
2、依赖人工手动打标或删除标记,且错误率较高。如用户使用标签01标记a文件为财务文件,属于一般敏感文件,但对于与a文件较为相似的b文件,不会显示b文件上已打了标签01,为实现给b文件打标签01,还需要再手动操作一次,操作繁琐。
发明内容
有鉴于此,本发明实施例提供一种文件分类方法和装置,至少能够解决现有技术中打标文件的类型受限且依赖人工打标的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种文件分类方法,包括:响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
可选的,所述本地指纹库包括第一指纹库和第二指纹库;所述获取所述目标文件的文件指纹,包括:根据所述目标文件中的文件内容,生成文件指纹;其中,所述文件指纹包括第一指纹和第二指纹,所述第一指纹通过利用信息摘要算法处理所述文件内容得到;所述确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹,包括:计算所述第一指纹和所述第一指纹库中指纹之间的相似度,确定相似度超出第一预定相似度阈值的第一相似指纹;以及计算所述第二指纹和所述第二指纹库中指纹之间的相似度,确定相似度超出第二预定相似度阈值的第二相似指纹;所述获取与所述相似文件指纹对应的元信息,包括:获取与所述第一相似指纹对应的第一元信息以及与所述第二相似指纹对应的第二元信息。
可选的,第二指纹包括子指纹,所述子指纹利用信息摘要算法处理所述文件内容的分词生成;所述计算所述第二指纹和所述第二指纹库中指纹之间的相似度,包括:计算所述第二指纹中各子指纹与所述第二指纹库中一指纹的各子指纹之间的相似度,累加相似度之和,得到所述第二指纹和所述一指纹之间的相似度。
可选的,所述获取与所述第一相似指纹对应的第一元信息以及与所述第二相似指纹对应的第二元信息,还包括:确定所述目标文件的文件量,获取与所述第一相似指纹和所述文件量对应的第一元信息;以及确定所述目标文件的文件后缀和文件类型,获取与所述第二相似指纹、所述文件后缀和所述文件类型对应的第二元信息。
可选的,所述方法还包括:获取客户端的全限定域名,结合所述目标文件的文件路径和文件类型,从本地文件信息库中进行元信息查询,以根据所查询元信息中的标签标识进行标签确定,得到第三标签集;所述对所述第一标签集和所述第二标签集取并集,包括:对所述第一标签集、所述第二标签集和所述第三标签集取并集。
可选的,还包括:发送鉴权请求至服务端,以通过服务端对所述鉴权请求中的用户名进行鉴权处理,得到所述用户名具有操作权限的第四标签集;所述得到所述目标文件的已打标签集,还包括:对所述已打标签集和服务端返回的所述第四标签集取交集,得到所述用户名对所述目标文件具有操作权限的第五标签集。
可选的,所述方法还包括:在所述第四标签集中,对同处于所述第五标签集的标签进行打标处理,将剩余标签作为未打标签,显示处理后的第四标签集。
可选的,在所述显示处理后的第四标签集之后,包括:响应于对一个未打标签的打标操作,生成对所述目标文件进行打标标签的操作日志并存储至本地日志库中,以及将与所述目标文件和打标标签对应的文件信息存储至本地文件信息库中;和/或响应于对一个已打标签的去除打标操作,生成对所述目标文件进行去除打标标签的操作日志并存储至本地日志库中,以及从本地文件信息库中删除与所述目标文件和去除打标标签对应的文件信息。
可选的,还包括:响应于对一个未打标签的标记操作或对一个已打标签的去除打标操作,根据所述目标文件中的文件内容,生成文件指纹,结合所述目标文件的元信息,一同存储至本地指纹库中。
可选的,还包括:从服务端下载与所述用户名对应的最新操作日志,获取所述最新操作日志中的哈希值;其中,哈希值通过处理操作日志得到;根据所述最新操作日志中文件的标识,在本地日志库中进行操作日志确定,获取操作日志中的上一哈希值;其中,上一哈希值为位于操作日志的上一操作日志的哈希值;比对所述哈希值和所述上一哈希值是否一致,若一致,则将本地指纹库和本地日志库中与所述标识对应的文件指纹和操作日志一同上传至服务端;若不一致,则基于从服务端拉取与所述标识对应的文件指纹和操作日志,更新本地指纹库和本地日志库。
为实现上述目的,根据本发明实施例的另一方面,提供了一种文件分类装置,包括:指纹查找模块,用于响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;第一标签模块,用于获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;第二标签模块,用于传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;标签处理模块,用于对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
可选的,所述本地指纹库包括第一指纹库和第二指纹库;还包括指纹生成模块,用于:根据所述目标文件中的文件内容,生成文件指纹;其中,所述文件指纹包括第一指纹和第二指纹,所述第一指纹通过利用信息摘要算法处理所述文件内容得到;所述指纹查找模块,用于:计算所述第一指纹和所述第一指纹库中指纹之间的相似度,确定相似度超出第一预定相似度阈值的第一相似指纹;以及计算所述第二指纹和所述第二指纹库中指纹之间的相似度,确定相似度超出第二预定相似度阈值的第二相似指纹;所述第一标签模块,用于:获取与所述第一相似指纹对应的第一元信息以及与所述第二相似指纹对应的第二元信息。
可选的,第二指纹包括子指纹,所述子指纹利用信息摘要算法处理所述文件内容的分词生成;所述指纹查找模块,用于:计算所述第二指纹中各子指纹与所述第二指纹库中一指纹的各子指纹之间的相似度,累加相似度之和,得到所述第二指纹和所述一指纹之间的相似度。
可选的,所述第一标签模块,还用于:确定所述目标文件的文件量,获取与所述第一相似指纹和所述文件量对应的第一元信息;以及确定所述目标文件的文件后缀和文件类型,获取与所述第二相似指纹、所述文件后缀和所述文件类型对应的第二元信息。
可选的,所述装置还包括第三标签模块,用于:获取客户端的全限定域名,结合所述目标文件的文件路径和文件类型,从本地文件信息库中进行元信息查询,以根据所查询元信息中的标签标识进行标签确定,得到第三标签集;所述标签处理模块,用于:对所述第一标签集、所述第二标签集和所述第三标签集取并集。
可选的,还包括标签过滤模块,用于:发送鉴权请求至服务端,以通过服务端对所述鉴权请求中的用户名进行鉴权处理,得到所述用户名具有操作权限的第四标签集;对所述已打标签集和服务端返回的所述第四标签集取交集,得到所述用户名对所述目标文件具有操作权限的第五标签集。
可选的,所述装置还包括标签显示模块,用于:在所述第四标签集中,对同处于所述第五标签集的标签进行打标处理,将剩余标签作为未打标签,显示处理后的第四标签集。
可选的,包括打标/删除模块,用于:响应于对一个未打标签的打标操作,生成对所述目标文件进行打标标签的操作日志并存储至本地日志库中,以及将与所述目标文件和打标标签对应的文件信息存储至本地文件信息库中;和/或响应于对一个已打标签的去除打标操作,生成对所述目标文件进行去除打标标签的操作日志并存储至本地日志库中,以及从本地文件信息库中删除与所述目标文件和去除打标标签对应的文件信息。
可选的,所述打标/删除模块,还用于:响应于对一个未打标签的标记操作或对一个已打标签的去除打标操作,根据所述目标文件中的文件内容,生成文件指纹,结合所述目标文件的元信息,一同存储至本地指纹库中。
可选的,还包括信息同步模块,用于:从服务端下载与所述用户名对应的最新操作日志,获取所述最新操作日志中的哈希值;其中,哈希值通过处理操作日志得到;根据所述最新操作日志中文件的标识,在本地日志库中进行操作日志确定,获取操作日志中的上一哈希值;其中,上一哈希值为位于操作日志的上一操作日志的哈希值;比对所述哈希值和所述上一哈希值是否一致,若一致,则将本地指纹库和本地日志库中与所述标识对应的文件指纹和操作日志一同上传至服务端;若不一致,则基于从服务端拉取与所述标识对应的文件指纹和操作日志,更新本地指纹库和本地日志库。
为实现上述目的,根据本发明实施例的再一方面,提供了一种文件分类电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的文件分类方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的文件分类方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:基于文件内容生成的文件指纹能够突破文件格式、类型限制,仅需考虑文件内容之间的关联性即可,不会破坏原始文件,方便文件的跟踪和管理,提高了打标正确性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种文件分类方法的主要流程示意图;
图2是根据本发明实施例的一种可选的文件分类方法的流程示意图;
图3是根据本发明实施例的另一种可选的文件分类方法的流程示意图;
图4是根据本发明实施例的又一种可选的文件分类方法的流程示意图;
图5A是一具体地触发查询标签操作的示意图;
图5B是一具体显示目标文件的已打标签和未达标签的示意图;
图6是根据本发明实施例的又一种可选的文件分类方法的流程示意图;
图7是根据本发明实施例的又一种可选的文件分类方法的流程示意图;
图8是根据本发明实施例的一种文件分类装置的主要模块示意图;
图9是本发明实施例可以应用于其中的示例性***架构图;
图10是适于用来实现本发明实施例的移动设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本方案中的标签意指文件所属分类,例如如果文件内容为财务相关文件,则对应标签为“财务”;可以理解的是,一个文件可以属于多个分类,也即拥有多个标签,例如文件同时属于开发文档以及产品需求文档,则其具有相应的标签“标签01”、“标签02”,其中,“标签01”、“标签02”分别指代“开发类文档”和“产品需求类文档”。
本方案中的标签管理代理是运行于客户端的一个进程,用于管理用户在该客户端上对文件标签的操作(如增、删、更改、查询),以及文件指纹标签的同步和上传。标签管理服务器是运行于服务端的一个进程,用于管理所有用户在所有客户端上的标签操作,如用户具有操作权限的标签、文件的指纹标签、已标记标签的文件信息、操作日志。
参见图1,示出的是本发明实施例提供的一种文件分类方法的主要流程图,包括如下步骤:
S101:响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;
S102:获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;
S103:传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;
S104:对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
上述实施方式中,对于步骤S101,本方案依赖于用户对目标文件的查询标签操作,以进行标签查询动作的触发。参见后续图5A所示,用户选中文件“星星”,点击鼠标右键选择指纹标签,以此触发查询该文件上的已打标签的操作。除此之外还可以是选用其他触发方式,只需在客户端能够与用户交互即可,例如word插件、用户与用户交互等,具体触发方式本方案不做限制。
本申请中目标文件的文件指纹,基于其文件内容所生成,以此无需考虑文件的文件类型、文件后缀等属性。本地指纹库中存储有多个文件的文件指纹,基于指纹之间的相似度,计算与目标文件的文件指纹相似度较高的相似文件指纹。
对于步骤S102,查询到的相似文件指纹对应的文件通常与目标文件具有一定的关系,例如变种文件或拷贝文件,其中,变种文件是在原文件的文件内容基础上进行更改而得到的新文件,例如增加新内容、删除部分原有内容等;拷贝文件与原文件的文件内容相同,但文件名可以不同。
本地指纹库中除了存储文件指纹外,还存储有与文件指纹具有绑定关系的文件元信息,包括文件大小、访问时间、修改时间、文件路径、文件名称、文件MD5、标签ID等。但需要说明的是,此处的标签ID通常需要在文件具有标签后才会添加,例如原文件的元信息包括文件大小、访问时间、修改时间、文件路径、文件名称、文件MD5,在存储至本地指纹库时,添加其标签的标签ID。
因此,在获取到相似文件指纹后,可以基于文件指纹和元信息之间的绑定关系,确定这些相似文件指纹的元信息。之后根据元信息中的标签ID确定标签,得到本地查询结果,即第一标签集。
对于步骤S103和S104,除本地查询外,还包括有远端查询,该操作依赖于服务端执行,且远端查询可开关控制,该开关控制优选设置在客户端。标签管理代理将目标文件的文件指纹传输至服务端,由服务端进行相似指纹查询、元信息查询以及标签查询,得到第二标签集。
另外,在获取到目标文件的文件指纹后,可以先在本地查询之后再发送文件指纹至服务端查询,也可以直接发送至服务端,以便本地和服务端能够同步进行标签查询操作。
标签管理代理在收到服务端返回的第二标签集后,与本地查询到的第一标签集进行合并、过滤和去重处理(即取并集),得到该目标文件的已打标签集,该已打标签集内的标签可以以列表形式展示。例如在文件a基础上新增内容形成目标文件b,那么文件b的文件指纹与文件a的文件指纹相似,后续根据文件a的元信息进行文件a的标签查询,得到文件a的标签集,若文件a的标签为财务标签,那么目标文件b的标签集中也会包含财务标签。
上述实施例所提供的方法,文件指纹仅与文件内容关联,突破了现有标记仅针对特定类型文件的限制,且不会对原文件产生影响;基于文件指纹查询标签,以通过与其关联的文件的标签对其进行打标处理,提高了打标正确性。
参见图2,示出的是本发明实施例提供的一种可选的文件分类方法的主要流程图,包括如下步骤:
S201:响应于对目标文件的查询标签操作,根据所述目标文件中的文件内容,生成文件指纹;其中,所述文件指纹包括第一指纹和第二指纹,所述第一指纹通过利用信息摘要算法处理所述文件内容得到,第二指纹包括子指纹,所述子指纹利用信息摘要算法处理所述文件内容的分词生成;
S202:计算所述第一指纹和第一指纹库中指纹之间的相似度,确定相似度超出第一预定相似度阈值的第一相似指纹;其中,本地指纹库包括第一指纹库和第二指纹库;
S203:计算所述第二指纹中各子指纹与所述第二指纹库中一指纹的各子指纹之间的相似度,累加相似度之和,得到所述第二指纹和所述一指纹之间的相似度,确定相似度超出第二预定相似度阈值的第二相似指纹;
S204:获取与所述第一相似指纹对应的第一元信息,根据所述第一元信息中的标签标识进行标签确定;
S205:获取与所述第二相似指纹对应的第二元信息,根据所述第二元信息中的标签标识进行标签确定;
S206:得到第一标签集;
S207:传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;
S208:对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
上述实施方式中,对于步骤S207和S208可参见图1所示步骤S103和S104的描述,在此不再赘述。
上述实施方式中,对于步骤S201,目标文件的文件指纹基于其文件内容所生成,包括精准指纹(即第一指纹)和相似度指纹(即第二指纹),其中:
1)精准指纹基于文件的文件内容生成,通常采用MD5(Message DigestAlgorithm,消息摘要算法)处理得到,其结果通常为字符串形式,例如64位数字;
2)相似度指纹需要首先对文件内容进行分词处理,之后再通过MD5等hash方式处理各分词得到,最终呈现为由多个子指纹组成的集合。例如,处理文件内容得到100个分词,通过MD5处理各分词得到100个子指纹,这100个子指纹组成的集合即为一个相似度指纹。
除此之外,在得到分词之后,还可以首先拼接分词,之后再对拼接后的分词做hash处理,得到相似度指纹。进一步的,在拼接之前,还可以进行分词预处理,例如根据每个分词的数量,计算其权重,并过滤掉权重较小的分词。
对于步骤S202~S206,本地指纹库和远端指纹库均按照指纹类型进行区分存储,如第一指纹库存储精准指纹、第二指纹库存储相似度指纹。但精准指纹相较于相似度指纹敏感性较高,一旦文件内容发生更改,已存储的精准指纹就会失效,需重新生成。此处以本地指纹库计算指纹相似度为例进行说明,远端指纹库同理。
1)计算精准指纹和第一指纹库中各指纹之间的相似度,提取相似度较高的第一相似指纹。需要说明的是,精准指纹对于查询结果要求较高,通常设置第一预定相似度阈值为100%,因此,一个优选实施例中,查找到的第一相似指纹数量最多为一个;
2)计算相似度指纹和第二指纹库中各指纹之间的相似度,提取相似度大于或等于第二预定相似度阈值的第二相似指纹。相似度指纹包含指纹集,因此此处的相似度需要首先计算目标文件的指纹集与库中指纹集中子指纹的相似度,之后统计指纹集中子指纹之间的相似度之和,得到指纹集之间的相似度。
假设目标文件相似度指纹中包括n个子指纹,第二指纹库中一指纹包括m个子指纹,两者之间的相似度为(其中R表示相似度):
需要说明的是,精准指纹具有尺寸小、查询速度快并可以快速锁定文件的优点,但适用范围较窄;相似度指纹具有尺寸较大、查询速度慢但适用范围广的特点。通过精准指纹和相似度指纹的相互配合,可以提高查询效率、查询范围和查询准确率。
为进一步缩小查询范围、降低操作工作量,可以基于目标文件的属性对所得元信息进行过滤,以从中判断并筛选出用户选中的目标文件。例如:
1)通过精准指纹查询到第一相似指纹,若第一相似指纹所对应文件的大小(即文件量)与目标文件大小相等,即可将该文件与目标文件视为是同一文件;
2)通过相似度指纹查询到第二相似指纹,若所对应文件的文件类型和文件后缀与目标文件的文件类型和文件后缀相同,即可将该文件与目标文件视为是同一文件。
需要说明的是,本方案涉及的文件类型为目标文件的真实文件类型。例如,文件1.doc重命名为1.txt,直观查看为txt类型,但其真实类型为doc。
上述实施例所提供的方法,详细描述了文件指纹的类型,并基于不同类型的指纹进行相应相似指纹计算和元信息确定,结合目标文件的属性信息对元信息进行过滤,以此降低计算工作量。
参见图3,示出的是本发明实施例提供的另一种可选的文件分类方法的主要流程图,包括如下步骤:
S301:响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;
S302:获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;
S303:传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;
S304:获取客户端的全限定域名,结合所述目标文件的文件路径和文件类型,从本地文件信息库中进行元信息查询,以根据所查询元信息中的标签标识进行标签确定,得到第三标签集;
S305:对所述第一标签集、所述第二标签集和所述第三标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
上述实施方式中,对于步骤S301~S303可参见图1所示步骤S101~S103的描述,在此不再赘述。
上述实施方式中,对于步骤S304和S305,实际操作可能存在指纹失效的情况,针对该情况,本方案在客户端还设置有本地文件信息库,记录有用户已打标签的所有文件信息。且除了记录文件的元信息外,还记录有文件其他信息,如标签操作人员、标签信息、设备信息等。
标签管理代理基于目标文件的元信息查询相匹配元信息的方式为:
endpoint_fqdn=skyguard-PC.WORKGROUP
file_path=C:\Users\skyguard\Desktop\fs.txt
true_type=2
其中,endpoint_fqdn为客户端的全限定域名,为主机名和域名拼合的一个字符串;file_path为目标文件的文件路径,包含有文件后缀,true_type指示了文件真实类型。例如在文件a基础上新增内容形成目标文件b,通过目标文件b元信息中的endpoint_fqdn、file_path和true_type,查询到文件a的元信息。
在查询到相匹配元信息后,基于其包含的标签ID进行标签确定,得到第三标签集,例如基于文件a的元信息中的标签ID确定相应标签。之后对第一标签集、第二标签集和第三标签集进行合并、去重和过滤操作,得到目标文件的已打标签集。
上述实施例所提供的方法,建立本地文件信息库,用以在指纹失效的情况下还能追踪到目标文件的已打标签,例如文件大规模进行内容更改导致指纹库中的指纹失效,可视为是指纹标签的一种补充和容错处理。
参见图4,示出的是本发明实施例提供的另一种可选的文件分类方法的主要流程图,包括如下步骤:
S401:发送鉴权请求至服务端,以通过服务端对所述鉴权请求中的用户名进行鉴权处理,得到所述用户名具有操作权限的第四标签集;
S402:响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;
S403:获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;
S404:传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;
S405:获取客户端的全限定域名,结合所述目标文件的文件路径和文件类型,从本地文件信息库中进行元信息查询,以根据所查询元信息中的标签标识进行标签确定,得到第三标签集;
S406:对所述第一标签集、所述第二标签集和所述第三标签集取并集,对标签并集和服务端返回的第四标签集取交集,得到所述用户名对所述目标文件具有操作权限的第五标签集;
S407:根据所述第五标签集中的标签确定所述目标文件所属分类。
上述实施方式中,对于步骤S402~S405、S407可参见图1所示步骤S101~S104的描述,步骤S405可参见图2所示步骤S304的描述,在此不再赘述。
上述实施方式中,对于步骤S401,将标签分类,不同用户对不同标签有着不同的操作权限,例如企业管理部门可以操作标签01、标签02和标签03,普通员工仅可以操作标签01和标签02,或者也可以设置与部门属性相关的标签,例如物流部门-物流标签。
标签管理代理通常在启动时即向服务端发送鉴权请求,请求中携带有用户名。当数据分类方案部署在企业内部时,用于鉴权的用户名通常不会出现重复情况。服务端对该用户名进行鉴权处理,确定该用户名具有操作权限的标签,得到第四标签集。
对于步骤S406,服务端针对目标文件的文件指纹查询到的标签中,除了包含当前用户的已打标签外,可能还包含有其他用户对该目标文件的已打标签。因此,对于整合第一标签集、第二标签集和第三标签集得到的标签集,可能包含有他人对该目标文件的已打标签,而其中部分标签可能当前用户不具备操作权限。
因而在获取服务端返回的第四标签集后,可以对该标签并集和第四标签集取交集,仅确定该用户名对目标文件具有操作权限的标签,即第五标签集。例如标签并集为{标签01,标签02和标签06},而第四标签集为{标签01,标签02,标签03,标签04,标签05},取交集得到第五标签集{标签01,标签02}。
实际操作中,除了上述直接删除用户不具备操作权限的标签外,还可以采用其他方式处理,例如,对标签06进行标灰处理,且用于标记该标签的选项为空,或者在该标签06后增加图钉等标识,用以与其他标签区分显示。
另外,考虑后续用户可能会对该目标文件进行标签操作(包括增删改),除了显示第五标签集之外,还可以一同显示该用户具有操作权限的其他标签,只不过第五标签集被打标记。参见图5A所示,点击鼠标右键驱动文件“星星”并选中指纹标签后,展示的图5B即为该用户有权限操作的所有标签,其中打勾的“指纹标签01”表示该文件已被打标该标签。
上述实施例所提供的方法,对目标文件的已打标签集进行过滤,确定当前用户不具备操作权限的标签并处理,考虑后续标签操作,可以一同显示用户具有操作权限的标签和目标文件的已打标签集。
参见图6,示出了根据本发明实施例的又一种可选的文件分类方法流程示意图,包括如下步骤:
S601:响应于对一个未打标签的标记操作或对一个已打标签的去除打标操作,根据所述目标文件中的文件内容,生成文件指纹,结合所述目标文件的元信息,一同存储至本地指纹库中;
S602:生成对所述目标文件进行打标标签的操作日志并存储至本地日志库中;
S603:将与所述目标文件和打标标签对应的文件信息存储至本地文件信息库中;
S604:生成对所述目标文件进行去除打标标签的操作日志并存储至本地日志库中;
S605:从本地文件信息库中删除与所述目标文件和去除打标标签对应的文件信息。
上述实施方式中,对于步骤S601~S605,用户对于选中的文件,可以点击未标记标签进行打标签操作,进而触发标签管理代理的打标签动作;选择已打标签进行去除打标,触发标签管理代理的删除打标动作,该触发同样可以基于用户选用鼠标右键点击进行。
一旦对目标文件的标签具有删除或新增操作,即需要重新基于目标文件的文件内容重新生成文件指纹,并与其元信息一同存储至本地指纹库中。为加速指纹查询过程,还可以建立指纹的反向索引。
根据之前描述可知,最终生成的标签集中包含对目标文件的已打标签和未打标签,除了上述标签处理和文件指纹生成之外,还包括:
1)响应于用户对任意一个未打标签的打标操作,生成与目标文件和所打标标签对应的文件信息并存储至本地文件信息库中,以及生成与目标文件和所打标签对应的操作日志并存储至本地日志库中;
2)响应于用户对任意一个已打标签的去除打标操作,生成与目标文件和去除打标标签对应的操作日志并存储至本地日志库中,以及从本地文件信息库中删除与目标文件和该标签对应的文件信息。
上述实施例所提供的方法,对于目标文件的标签删除或打标时,需要自适应性修改本地文件信息库和本地日志库中的信息,保证操作信息的同步。
参见图7,示出了根据本发明实施例的又一种可选的文件分类方法流程示意图,包括如下步骤:
S701:从服务端下载与所述用户名对应的最新操作日志,获取所述最新操作日志中的哈希值;其中,哈希值通过处理操作日志得到;
S702:根据所述最新操作日志中文件的标识,在本地日志库中进行操作日志确定,获取操作日志中的上一哈希值;其中,上一哈希值为位于操作日志的上一操作日志的哈希值;
S703:比对所述哈希值和所述上一哈希值是否一致;
S704:若一致,则将本地指纹库和本地日志库中与所述标识对应的文件指纹和操作日志一同上传至服务端;
S705:若不一致,则基于从服务端拉取与所述标识对应的文件指纹和操作日志,更新本地指纹库和本地日志库。
上述实施方式中,对于步骤S701~S705,本方案中的操作日志代表某用户在某台设备上对某一文件操作了某一标签。
操作日志除了存储有对目标文件和标签处理的操作信息外,还存储有对操作信息处理得到的hash值。服务端处的操作日志仅存储有一个hash值,而本地存储的操作日志除了包含其hash值之外,还包括上一操作日志的hash值,即refer hash,用以表示所替代/更新/引用的对象。
标签管理代理定期根据用户名从服务端同步操作日志,并与本地日志库中的操作日志进行冲突解决合并。具体地,针对同一文件,比对服务端返回的最新操作日志的hash值是否与本地操作日志中的上一hash值是否相同:
1)若相同,即表示服务端处的最新操作日志为本地该文件的上一操作日志,本地当前操作日志基于该上一操作日志所更新。之后需将本地存储的与该文件对应的文件指纹和操作日志一同上传至服务端;
2)若不同,即表示服务端处的最新操作日志与本地该文件的上一操作日志不同,本地当前操作日志失效。需删除本地存储的与该文件对应的文件指纹和文件信息,以及存储从服务端拉取的该文件的文件指纹和操作日志,以将服务端的有效信息同步到本地。
需要说明的是,服务端目前只能进行标记文件的删除,即删除某一文件上的所有标签,而对某一文件的增加标签、更改标签、查询标签操作仍需要客户端进行,因而主要由标签管理代理管理文件标签。
具体地,
1)对于服务端处删除而本地仍存在的文件,需删除本地指纹库中的文件指纹,并生成操作日志。进一步的还可以删除指纹反向索引。
2)对于服务端处存在而本地不存在的文件,需将从服务端下载的该文件的文件指纹和操作日志,分别存储至本地指纹库和本地日志库中;
3)对于冲突文件,以服务端的操作日志为准。删除本地指纹库中与冲突文件对应的文件指纹,从服务端处重新下载对应冲突文件的文件指纹并存入本地指纹库,建立反向索引,更新对应的操作日志;
4)对于本地增删改的文件,若替换对象为上一操作日志、且上移操作日志与服务端处的最新操作日志的hash相同,则将本地该文件的操作日志和文件指纹一同上传至服务端。
上述实施例所提供的方法,通过对比本地操作日志中的上一hash值和服务端处操作日志的hash值,以此判断本地操作日志上一次更新操作是否与服务端处记载的相同,以此决定同步文件指纹和操作日志的方式。
本发明实施例所提供的方法,相比现有技术至少存在如下有益效果:
1)基于文件内容生成的文件指纹能够突破文件格式、类型限制,仅需考虑文件内容之间的关联性(如相似、相近或者一致)即可,不会破坏原始文件,方便文件的跟踪和管理,提高了打标正确性;
2)文件指纹包括精准指纹和相似度指纹,基于不同指纹采用不同方式计算相似度,且结合目标文件的属性进行元信息筛选,缩小了查询范围,提高查询准确性;
3)考虑文件指纹的可能失效情况,建立本地文件信息库,用以在指纹失效的情况下还能追踪到目标文件的已打标签;针对文件的打标或删除标签操作,需要同步更改本地存储的信息;
4)过滤目标文件的已打标签集,确定当前用户不具备操作权限的标签并处理,考虑后续标签操作,可以一同显示用户具有操作权限的标签和目标文件的已打标签集;
5)通过对比本地操作日志中的上一hash值和服务端处操作日志的hash值,判断本地操作日志上一次更新操作是否与服务端处记载的相同,以此决定同步文件的文件指纹和操作日志的方式。
参见图8,示出了本发明实施例提供的一种文件分类装置800的主要模块示意图,包括:
指纹查找模块801,用于响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;
第一标签模块802,用于获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;
第二标签模块803,用于传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;
标签处理模块804,用于对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
本发明实施装置中,所述本地指纹库包括第一指纹库和第二指纹库;还包括指纹生成模块805(图中未标出),用于:根据所述目标文件中的文件内容,生成文件指纹;其中,所述文件指纹包括第一指纹和第二指纹,所述第一指纹通过利用信息摘要算法处理所述文件内容得到;所述指纹查找模块801,用于:计算所述第一指纹和所述第一指纹库中指纹之间的相似度,确定相似度超出第一预定相似度阈值的第一相似指纹;以及计算所述第二指纹和所述第二指纹库中指纹之间的相似度,确定相似度超出第二预定相似度阈值的第二相似指纹;所述第一标签模块802,用于:获取与所述第一相似指纹对应的第一元信息以及与所述第二相似指纹对应的第二元信息。
本发明实施装置中,第二指纹包括子指纹,所述子指纹利用信息摘要算法处理所述文件内容的分词生成;所述指纹查找模块801,用于:计算所述第二指纹中各子指纹与所述第二指纹库中一指纹的各子指纹之间的相似度,累加相似度之和,得到所述第二指纹和所述一指纹之间的相似度。
本发明实施装置中,所述第一标签模块802,还用于:确定所述目标文件的文件量,获取与所述第一相似指纹和所述文件量对应的第一元信息;以及确定所述目标文件的文件后缀和文件类型,获取与所述第二相似指纹、所述文件后缀和所述文件类型对应的第二元信息。
本发明实施装置中,所述装置还包括第三标签模块806(图中未标出),用于:获取客户端的全限定域名,结合所述目标文件的文件路径和文件类型,从本地文件信息库中进行元信息查询,以根据所查询元信息中的标签标识进行标签确定,得到第三标签集;所述标签处理模块804,用于:对所述第一标签集、所述第二标签集和所述第三标签集取并集。
本发明实施装置还包括标签过滤模块807(图中未标出),用于:发送鉴权请求至服务端,以通过服务端对所述鉴权请求中的用户名进行鉴权处理,得到所述用户名具有操作权限的第四标签集;对所述已打标签集和服务端返回的所述第四标签集取交集,得到所述用户名对所述目标文件具有操作权限的第五标签集。
本发明实施装置中,所述装置还包括标签显示模块808(图中未标出),用于:在所述第四标签集中,对同处于所述第五标签集的标签进行打标处理,将剩余标签作为未打标签,显示处理后的第四标签集。
本发明实施装置还包括打标/删除模块809(图中未标出),用于:响应于对一个未打标签的打标操作,生成对所述目标文件进行打标标签的操作日志并存储至本地日志库中,以及将与所述目标文件和打标标签对应的文件信息存储至本地文件信息库中;和/或响应于对一个已打标签的去除打标操作,生成对所述目标文件进行去除打标标签的操作日志并存储至本地日志库中,以及从本地文件信息库中删除与所述目标文件和去除打标标签对应的文件信息。
本发明实施装置中,所述打标/删除模块809,还用于:响应于对一个未打标签的标记操作或对一个已打标签的去除打标操作,根据所述目标文件中的文件内容,生成文件指纹,结合所述目标文件的元信息,一同存储至本地指纹库中。
本发明实施装置还包括信息同步模块810(图中未标出),用于:从服务端下载与所述用户名对应的最新操作日志,获取所述最新操作日志中的哈希值;其中,哈希值通过处理操作日志得到;根据所述最新操作日志中文件的标识,在本地日志库中进行操作日志确定,获取操作日志中的上一哈希值;其中,上一哈希值为位于操作日志的上一操作日志的哈希值;比对所述哈希值和所述上一哈希值是否一致,若一致,则将本地指纹库和本地日志库中与所述标识对应的文件指纹和操作日志一同上传至服务端;若不一致,则基于从服务端拉取与所述标识对应的文件指纹和操作日志,更新本地指纹库和本地日志库。
图9示出了可以应用本发明实施例的示例性***架构900。
如图9所示,***架构900可以包括终端设备901、902、903,网络904和服务器905(仅仅是示例)。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种通讯客户端应用。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,服务器905可以是提供各种服务的服务器。
需要说明的是,本发明实施例所提供的方法一般由服务器905执行,相应地,装置一般设置于服务器905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图10,其示出了适于用来实现本发明实施例的终端设备的计算机***1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机***1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有***1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括指纹查找模块、第一标签模块、第二标签模块和标签处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,标签处理模块还可以被描述为“标签并集模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
根据本发明实施例的技术方案,相比现有技术至少存在如下有益效果:
1)基于文件内容生成的文件指纹能够突破文件格式、类型限制,仅需考虑文件内容之间的关联性(如相似、相近或者一致)即可,不会破坏原始文件,方便文件的跟踪和管理,提高了打标正确性;
2)文件指纹包括精准指纹和相似度指纹,基于不同指纹采用不同方式计算相似度,且结合目标文件的属性进行元信息筛选,缩小了查询范围,提高查询准确性;
3)考虑文件指纹的可能失效情况,建立本地文件信息库,用以在指纹失效的情况下还能追踪到目标文件的已打标签;针对文件的打标或删除标签操作,需要同步更改本地存储的信息;
4)过滤目标文件的已打标签集,确定当前用户不具备操作权限的标签并处理,考虑后续标签操作,可以一同显示用户具有操作权限的标签和目标文件的已打标签集;
5)通过对比本地操作日志中的上一hash值和服务端处操作日志的hash值,判断本地操作日志上一次更新操作是否与服务端处记载的相同,以此决定同步文件的文件指纹和操作日志的方式。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (13)
1.一种文件分类方法,其特征在于,包括:
响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;
获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;
传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;
对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
2.根据权利要求1所述的方法,其特征在于,所述本地指纹库包括第一指纹库和第二指纹库;
所述获取所述目标文件的文件指纹,包括:
根据所述目标文件中的文件内容,生成文件指纹;其中,所述文件指纹包括第一指纹和第二指纹,所述第一指纹通过利用信息摘要算法处理所述文件内容得到;
所述确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹,包括:
计算所述第一指纹和所述第一指纹库中指纹之间的相似度,确定相似度超出第一预定相似度阈值的第一相似指纹;以及
计算所述第二指纹和所述第二指纹库中指纹之间的相似度,确定相似度超出第二预定相似度阈值的第二相似指纹;
所述获取与所述相似文件指纹对应的元信息,包括:获取与所述第一相似指纹对应的第一元信息以及与所述第二相似指纹对应的第二元信息。
3.根据权利要求2所述的方法,其特征在于,第二指纹包括子指纹,所述子指纹利用信息摘要算法处理所述文件内容的分词生成;
所述计算所述第二指纹和所述第二指纹库中指纹之间的相似度,包括:
计算所述第二指纹中各子指纹与所述第二指纹库中一指纹的各子指纹之间的相似度,累加相似度之和,得到所述第二指纹和所述一指纹之间的相似度。
4.根据权利要求2或3所述的方法,其特征在于,所述获取与所述第一相似指纹对应的第一元信息以及与所述第二相似指纹对应的第二元信息,还包括:
确定所述目标文件的文件量,获取与所述第一相似指纹和所述文件量对应的第一元信息;以及
确定所述目标文件的文件后缀和文件类型,获取与所述第二相似指纹、所述文件后缀和所述文件类型对应的第二元信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取客户端的全限定域名,结合所述目标文件的文件路径和文件类型,从本地文件信息库中进行元信息查询,以根据所查询元信息中的标签标识进行标签确定,得到第三标签集;
所述对所述第一标签集和所述第二标签集取并集,包括:
对所述第一标签集、所述第二标签集和所述第三标签集取并集。
6.根据权利要求1或5所述的方法,其特征在于,还包括:
发送鉴权请求至服务端,以通过服务端对所述鉴权请求中的用户名进行鉴权处理,得到所述用户名具有操作权限的第四标签集;
所述得到所述目标文件的已打标签集,还包括:
对所述已打标签集和服务端返回的所述第四标签集取交集,得到所述用户名对所述目标文件具有操作权限的第五标签集。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述第四标签集中,对同处于所述第五标签集的标签进行打标处理,将剩余标签作为未打标签,显示处理后的第四标签集。
8.根据权利要求7所述的方法,其特征在于,在所述显示处理后的第四标签集之后,包括:
响应于对一个未打标签的打标操作,生成对所述目标文件进行打标标签的操作日志并存储至本地日志库中,以及将与所述目标文件和打标标签对应的文件信息存储至本地文件信息库中;和/或
响应于对一个已打标签的去除打标操作,生成对所述目标文件进行去除打标标签的操作日志并存储至本地日志库中,以及从本地文件信息库中删除与所述目标文件和去除打标标签对应的文件信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
响应于对一个未打标签的标记操作或对一个已打标签的去除打标操作,根据所述目标文件中的文件内容,生成文件指纹,结合所述目标文件的元信息,一同存储至本地指纹库中。
10.根据权利要求8所述的方法,其特征在于,还包括:
从服务端下载与所述用户名对应的最新操作日志,获取所述最新操作日志中的哈希值;其中,哈希值通过处理操作日志得到;
根据所述最新操作日志中文件的标识,在本地日志库中进行操作日志确定,获取操作日志中的上一哈希值;其中,上一哈希值为位于操作日志的上一操作日志的哈希值;
比对所述哈希值和所述上一哈希值是否一致,若一致,则将本地指纹库和本地日志库中与所述标识对应的文件指纹和操作日志一同上传至服务端;
若不一致,则基于从服务端拉取与所述标识对应的文件指纹和操作日志,更新本地指纹库和本地日志库。
11.一种文件分类装置,其特征在于,包括:
指纹查找模块,用于响应于对目标文件的查询标签操作,获取所述目标文件的文件指纹,确定本地指纹库中与所述文件指纹的相似度超出预定相似度阈值的相似文件指纹;
第一标签模块,用于获取与所述相似文件指纹对应的元信息,根据所述元信息中的标签标识进行标签确定,得到第一标签集;
第二标签模块,用于传输所述文件指纹至服务端进行标签查询,以接收服务端返回的第二标签集;
标签处理模块,用于对所述第一标签集和所述第二标签集取并集,得到所述目标文件的已打标签集,根据所述已打标签集中的标签确定所述目标文件所属分类。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631285.4A CN111858486B (zh) | 2020-07-03 | 2020-07-03 | 一种文件分类方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631285.4A CN111858486B (zh) | 2020-07-03 | 2020-07-03 | 一种文件分类方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858486A true CN111858486A (zh) | 2020-10-30 |
CN111858486B CN111858486B (zh) | 2024-07-23 |
Family
ID=73153418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631285.4A Active CN111858486B (zh) | 2020-07-03 | 2020-07-03 | 一种文件分类方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858486B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760834A (zh) * | 2021-09-22 | 2021-12-07 | 北京字跳网络技术有限公司 | 文件分类方法、装置、设备及介质 |
CN113901001A (zh) * | 2021-12-09 | 2022-01-07 | 武汉华工安鼎信息技术有限责任公司 | 文件识别处理方法和装置 |
CN114003963A (zh) * | 2021-12-30 | 2022-02-01 | 天津联想协同科技有限公司 | 一种企业网盘下文件授权的方法、***、网盘及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999637A (zh) * | 2012-12-29 | 2013-03-27 | 珠海金山办公软件有限公司 | 根据文件特征码为文件自动添加文件标签的方法及*** |
CN103281325A (zh) * | 2013-06-04 | 2013-09-04 | 北京奇虎科技有限公司 | 基于云安全的文件处理方法及装置 |
CN105354318A (zh) * | 2015-11-13 | 2016-02-24 | 北京金山安全软件有限公司 | 一种文件查找方法及装置 |
CN105653984A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 文件指纹校验方法及装置 |
CN106844143A (zh) * | 2016-12-27 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 一种日志去重处理方法及装置 |
CN107798082A (zh) * | 2017-10-16 | 2018-03-13 | 广东欧珀移动通信有限公司 | 一种文件标签的处理方法及装置 |
CN108255915A (zh) * | 2017-09-07 | 2018-07-06 | 新华三技术有限公司 | 一种文件管理方法、装置及机器可读存储介质 |
CN109766320A (zh) * | 2018-12-04 | 2019-05-17 | 深圳供电局有限公司 | 一种网络文件中共享标签展示的方法及*** |
CN109800775A (zh) * | 2017-11-17 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 文件聚类方法、装置、设备及可读介质 |
CN110519654A (zh) * | 2019-09-11 | 2019-11-29 | 广州荔支网络技术有限公司 | 一种标签确定方法及装置 |
-
2020
- 2020-07-03 CN CN202010631285.4A patent/CN111858486B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999637A (zh) * | 2012-12-29 | 2013-03-27 | 珠海金山办公软件有限公司 | 根据文件特征码为文件自动添加文件标签的方法及*** |
CN103281325A (zh) * | 2013-06-04 | 2013-09-04 | 北京奇虎科技有限公司 | 基于云安全的文件处理方法及装置 |
CN105354318A (zh) * | 2015-11-13 | 2016-02-24 | 北京金山安全软件有限公司 | 一种文件查找方法及装置 |
CN105653984A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 文件指纹校验方法及装置 |
CN106844143A (zh) * | 2016-12-27 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 一种日志去重处理方法及装置 |
CN108255915A (zh) * | 2017-09-07 | 2018-07-06 | 新华三技术有限公司 | 一种文件管理方法、装置及机器可读存储介质 |
CN107798082A (zh) * | 2017-10-16 | 2018-03-13 | 广东欧珀移动通信有限公司 | 一种文件标签的处理方法及装置 |
CN109800775A (zh) * | 2017-11-17 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 文件聚类方法、装置、设备及可读介质 |
CN109766320A (zh) * | 2018-12-04 | 2019-05-17 | 深圳供电局有限公司 | 一种网络文件中共享标签展示的方法及*** |
CN110519654A (zh) * | 2019-09-11 | 2019-11-29 | 广州荔支网络技术有限公司 | 一种标签确定方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760834A (zh) * | 2021-09-22 | 2021-12-07 | 北京字跳网络技术有限公司 | 文件分类方法、装置、设备及介质 |
CN113760834B (zh) * | 2021-09-22 | 2024-04-09 | 北京字跳网络技术有限公司 | 文件分类方法、装置、设备及介质 |
CN113901001A (zh) * | 2021-12-09 | 2022-01-07 | 武汉华工安鼎信息技术有限责任公司 | 文件识别处理方法和装置 |
CN113901001B (zh) * | 2021-12-09 | 2022-03-01 | 武汉华工安鼎信息技术有限责任公司 | 文件识别处理方法和装置 |
CN114003963A (zh) * | 2021-12-30 | 2022-02-01 | 天津联想协同科技有限公司 | 一种企业网盘下文件授权的方法、***、网盘及存储介质 |
CN114003963B (zh) * | 2021-12-30 | 2022-05-06 | 天津联想协同科技有限公司 | 一种企业网盘下文件授权的方法、***、网盘及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111858486B (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11516289B2 (en) | Method and system for displaying similar email messages based on message contents | |
CN111858486B (zh) | 一种文件分类方法和装置 | |
US20190050419A1 (en) | De-duplicating distributed file system using cloud-based object store | |
US10621212B2 (en) | Language tag management on international data storage | |
US8560569B2 (en) | Method and apparatus for performing bulk file system attribute retrieval | |
US11693908B2 (en) | System and methods for dynamic generation of object storage datasets from existing file datasets | |
US20180285596A1 (en) | System and method for managing sensitive data | |
US10659486B2 (en) | Universal link to extract and classify log data | |
JP4799018B2 (ja) | コンピュータの識別情報を管理するための方法、システムおよび装置 | |
CN110168523A (zh) | 改变监测跨图查询 | |
CN111459985A (zh) | 标识信息处理方法及装置 | |
US20140358868A1 (en) | Life cycle management of metadata | |
US10983718B2 (en) | Method, device and computer program product for data backup | |
CN112988770B (zh) | 序列号更新的方法、装置、电子设备和存储介质 | |
EP2680174A1 (en) | A method, a server, a system and a computer program product for copying data from a source server to a target server | |
CN111259282A (zh) | Url去重方法、装置、电子设备及计算机可读存储介质 | |
US9734195B1 (en) | Automated data flow tracking | |
US20170262439A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN111104787B (zh) | 用于比较文件的方法、设备和计算机程序产品 | |
CN111352985A (zh) | 一种基于计算机***的数据服务平台、方法、存储介质 | |
CN113760695A (zh) | 一种定位问题代码的方法和装置 | |
US20240111742A1 (en) | Management device, management method, and recording medium | |
CN111090544A (zh) | 用于管理虚拟机的方法、设备和计算机程序产品 | |
CN114422388B (zh) | 一种远程数据监管*** | |
CN111814063B (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 |