CN112733523B - 文档发送方法、装置、设备及存储介质 - Google Patents

文档发送方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112733523B
CN112733523B CN202011613785.1A CN202011613785A CN112733523B CN 112733523 B CN112733523 B CN 112733523B CN 202011613785 A CN202011613785 A CN 202011613785A CN 112733523 B CN112733523 B CN 112733523B
Authority
CN
China
Prior art keywords
document
fingerprint
character string
character
sent
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
CN202011613785.1A
Other languages
English (en)
Other versions
CN112733523A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202011613785.1A priority Critical patent/CN112733523B/zh
Publication of CN112733523A publication Critical patent/CN112733523A/zh
Application granted granted Critical
Publication of CN112733523B publication Critical patent/CN112733523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本申请实施例提供一种文档发送方法、装置、设备及计算机可读存储介质,其中,方法包括:响应于终端发送的文档发送请求,获取待发送文档的文档字符串;其中,所述文档字符串是对应于所述待发送文档的全部内容的字符串;对所述文档字符串进行指纹转换处理,得到所述待发送文档的文档指纹;根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型;当所述文档类型为限制发送类型时,禁止发送所述待发送文档。通过本申请,能够提高字数差距大的文档文本之间相似度匹配的精确度,同时由于文档指纹保留的文档特征足够多,对于文档检测时误判的情况也得到了明显的改善。

Description

文档发送方法、装置、设备及存储介质
技术领域
本申请实施例涉及通信领域,涉及但不限于一种文档发送方法、装置、设备及存储介质。
背景技术
文档检测是保证文档数据安全的核心技术。在传统业务场景中,文档检测方法主要部署于终端数据泄露防护系统(DLP,Data leakage prevention)和网路DLP,用于负责识别出待测文档中包含的机密信息,并交由后续模块采取阻断、报警等相应处理措施。
相关技术中,通常是将文档里面出现的高频词语生成文档指纹,并与参考文档的指纹进行相似度匹配,进而确定文档是否为限制发送文档。
但是,这种方法具有很大的局限性,首先,文档文本内容字数之间的差距太大,会影响两个文档相似度匹配的精确性;其次,两个内容不同的文档如果用词相似的话,则会导致误判,使得用户无法准确得知两个文档是否为相似文档。
发明内容
本申请实施例提供一种文档发送方法、装置、设备及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种文档发送方法,包括:
响应于终端发送的文档发送请求,获取待发送文档的文档字符串;其中,所述文档字符串是对应于所述待发送文档的全部内容的字符串;
对所述文档字符串进行指纹转换处理,得到所述待发送文档的文档指纹;
根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型;
当所述文档类型为限制发送类型时,禁止发送所述待发送文档。
在一些实施例中,对每一所述子字符串进行所述指纹转换处理,得到每一子字符串的第一指纹,包括:
根据预设算法,确定每一所述子字符串的哈希值;
将每一所述子字符串的哈希值,确定为对应子字符串的所述第一指纹。
在一些实施例中,所述方法还包括:
对所述参考文档进行所述字符提取,对应得到第二字符串;
对所述第二字符串进行所述指纹转换处理,得到所述参考文档的参考指纹。
本申请实施例提供一种文档发送装置,所述装置包括获取模块、指纹转换模块、确定模块和发送模块,包括:
获取模块,用于响应于终端发送的文档发送请求,获取待发送文档的文档字符串;其中,所述文档字符串是对应于所述待发送文档的全部内容的字符串;
指纹转换模块,用于对所述文档字符串进行指纹转换处理,得到所述待发送文档的文档指纹;
确定模块,用于根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型;
发送模块,用于当所述文档类型为限制发送类型时,禁止发送所述待发送文档。
本申请实施例提供一种文档发送设备,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的文档发送方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的文档发送方法。
本申请实施例中,响应于终端发送的文档发送请求,获取待发送文档的文档字符串,通过指纹转换得到对应的文档指纹,根据文档指纹和预设的参考文档的参考指纹,确定待发送文档的文档类型,当待发送文档的类型为限制发送类型时,禁止发送所述待发送文档。如此,由于对待发送文档中的全部字符采用指纹转换的方式生成指纹,保存了待发送文档的全部特征,因此,能够提高字数差距大的文档文本之间相似度匹配的精确度,同时由于文档指纹保留的文档特征足够多,对于文档检测时误判的情况也得到了明显的改善。
附图说明
图1是本申请实施例提供的文档发送系统的一个可选的架构示意图;
图2是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图3是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图4是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图5是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图6是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图7是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图8是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图9是本申请实施例提供的文档发送方法的一个产品侧示意图;
图10是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图11是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图12是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图13是本申请实施例提供的文档发送方法的一个可选的流程示意图;
图14是本申请实施例提供的文档发送装置的组成结构示意图
图15是本申请实施例提供的文档发送设备的组成结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在解释本申请实施例的方案之前,首先对本申请实施例找所涉及到的名词和专用术语进行解释:
1)DLP:数据泄露防护系统,是通过一定的技术手段,防止企业的指定数据或信息资产以违反安全策略规定的形式流出企业的一种策略。
2)指纹:是指通过一定的算法,把一段文字字符转化为一个哈希值,该哈希值即为文字对应的指纹,其中,哈希值由多个数值组成。
3)结构文档:指具有固定格式或有限长度的数据,如数据库,元数据等。
4)非结构文档:不定长或无固定格式的数据,包括word办公文档、文本、图片、可扩展标记语言(XML,Extensible Markup Language)、超文本标记语言(HTML,Hyper TextMarkup Language)、各类报表、图像和音频/视频信息等等。
5)字符串:是指由数字、字母和下划线组成的一串字符,字符串的长度是在字符串中字符的数目(序列的长度),可以是任何非负整数。例如,“空串”是在Σ上的唯一的长度为0的字符串,并被指示为ε或λ,在Σ上的所有长度为n的字符串的集合指示为Σn。例如,若Σ={0,1}则Σ2={00,01,10,11}。
本申请实施例提出一种文档发送方法,通过转换出待发送文档全部字符的指纹,保存了文档的全部特征,在进行文档匹配时,有效的解决了文档文本内容之间由于字数差距太大导致匹配精确度不高的问题,同时由于文档指纹保留的文档特征足够多,对于误判的情况也得到了明显的改善。
本申请实施例提出的文档发送方法,响应于该文档发送请求,对待发送文档进行字符提取,对应得到文档字符串,对文档字符串进行指纹转换处理,对应得到待发送文档的文档指纹;最后,根据文档指纹与预设参考文档的参考指纹,确定待发送文档的文档类型,当待发送文档的类型为限制发送类型时,禁止发送所述待发送文档。如此,由于采用指纹转换的方式,保存了待发送文档的全部特征,因此,有效的解决了文档文本内容之间由于字数差距太大导致匹配精确度不高的问题,同时因为文档保留的特征足够多,对于误判的情况也得到了明显的改善。
下面说明本申请实施例的文档发送设备的示例性应用,在一种实现方式中,本申请实施例提供的文档发送设备可以实施为笔记本电脑、平板电脑、台式计算机、移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)和智能机器人等任意的能够进行文档显示的电子设备,在另一种实现方式中,本申请实施例提供的文档发送设备还可以实施为服务器、单个网络服务器和多个网络服务器集或多个服务器构成的云设备;在此,云设备由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,是由一群松散耦合的计算机集组成的一个虚拟超级计算机。下面,将说明文档发送设备实施为服务器时的示例性应用,可以通过服务器与终端之间的交互来实现文件检测结果提示。
参见图1,图1是本申请实施例提供的文档发送系统的一个可选的架构示意图。为实现对自动对文档进行相似度检测,本申请实施例提供的文档发送系统10中包括终端100、网络200和服务器300,其中,终端100上运行有审计应用(例如可以是文档审计应用),审计人员可以在文档审计应用的客户端上实现对待发送文档进行审计,在进行文档审计时,审计人员可以在终端100上选择或输入参考文档,该参考文档也可以是服务器从数据库中自动筛选出来的,以实现采用该参考文档对待发送文档进行机密审计。服务器可以采用本申请实施例的方法,自动确定出待发送文档和参考文档之间的相似度,对审核人员进行提示,以辅助审核人员进行快速的文档发送。在进行检测提示时,服务器300通过网络200获取终端100发送的文档发送请求,其中文档发送请求中包括待发送文档;然后,服务器对待发送文档进行字符提取,对应得到文档字符串,对文档字符串进行指纹转换处理,对应得到待发送文档的文档指纹,确定文档指纹与预设参考文档的参考指纹之间的相似度,并通过网络200将待发送文档与参考文档之间的相似度发送给终端100,以实现对审计人员进行相似度提示;或者,在一些实施例中,还可以将审计结果发送给终端100,其中审计结果为待发送文档是否为限制发送文档的检测结果。当终端100接收到相似度提示信息或审计结果之后,可以在当前界面100-1上直接显示接收到的相似度信息或审计结果。
下面将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的文档发送方法。参见图2,图2是本申请实施例提供的文档发送方法的一个可选的流程示意图,将结合图2示出的步骤进行说明。
步骤S201、响应于终端发送的文档发送请求,获取待发送文档的文档字符串。
这里,获取待发送文档的文档字符串可以通过对待发送文档进行字符提取得到文档字符串,字符提取是指通过预设提取函数,对文本内容进行提取,形成字符串。本申请实施例中,将待发送文档的文本内容进行提取后对应得到文档字符串,该文档字符串是对应于所述待发送文档的全部内容的字符串,保留了待发送文档的全部特征。
这里,文档发送请求可以是审计人员或用户通过终端触发的请求,服务器获取该文档发送请求,文档发送请求用于请求对待发送文档进行机密性检测。
待发送文档可以是用户外发的文档、拷贝的文档或者用户上传至网络的文档。
本申请实施例中,当用户要将某个文档上传至网络或者发送到外网时,文档发送设备在接收到用户的文档发送请求之后,可以首先执行本申请实施例提供的文档发送方法,将该文档确定为待发送文档进行文档机密性检测,当检测到该文档不是限制发送文档时,该文档才可以被顺利的上传至网络或者发送到外网。需要说明的是,文档发送设备可以是服务器、网络审计设备或终端中的任意一个。
在一些实施例中,此步骤也可以对参考文档进行字符提取,得到相应的参考指纹,其中,参考文档可以是用户指定内容的文档,当该参考文档在审计设备内存中没有对应的参考指纹时,可以经过与待发送文档相同的步骤得到参考文档对应的参考指纹,之后不再赘述对参考文档的指纹进行生成的方法。
在一些实施例中,由于是对文本内容进行字符提取,所以本申请实施例中记载的文档发送方法不受文本内容的语言种类的限制,可以对文本内容进行代码匹配、中文匹配、英文匹配和其他语言匹配。
在一些实施例中,如果待发送文档中有图片,则可以结合光学字符识别技术(OCR,Optical Character Recognition)进行图片识别,根据图片识别结果将图片转换成文本内容,进而对文本内容进行字符提取。
本申请实施例中,待发送文档可以是文本类型的文档、表格文档和结构化文档。如果文档为表格文档时,则将表格中的文字内容按表格顺序全部提取出来,然后进行文字内容的字符串提取;如果文档为结构化文档,将结构化文档中的文字内容按特定顺序全部提取出来,然后进行文字内容的字符串提取。
步骤S202、对所述文档字符串进行指纹转换处理,得到所述待发送文档的文档指纹。
这里,指纹转换处理是指通过预设算法,将一段文字字符转化为一个哈希值的转换处理过程,其中,每个哈希值可以由多个数值组成。
在一些实施例中,对待发送文档提取出的文档字符串进行指纹转换,对应形成文档指纹。
本申请实施例中,对所述文档字符串进行指纹转换处理,可以是根据上述预设算法将待发送文档中的字符映射成指纹,且对文档字符串中的全部字符进行字符映射,得到文档指纹,通过该文档指纹来保证文件的唯一性。
本申请实施例中,由于本申请实施例中的文档指纹是通过对待发送文档中的每一个字符进行转换得到的,因此很难在两段内容不同的文本,但是存在用词相似情况时,会存在待发送文档转换得到的文档指纹和预设参考文档的参考指纹一致的问题。
通过本申请实施例中的指纹转换方法,可以防止具有不同内容的文本转换出相同指纹的问题,即对于两个内容不同的文档,两个文档文本转换出相同指纹的可能性极小,因此对待发送文档的字符进行指纹转换形成对应的文档指纹和参考指纹,能够保存文档内容全部的特征,防止不同的文本内容形成相同的指纹,提高了文档匹配的精确度。
步骤S203、根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型。
在一些实施例中,参考文档可以是审计人员或用户指定具有特定内容的文档或者指定的特定文档,例如包含某个机密信息的文档。
在本申请实施例中,待发送文档对应的文档指纹和预设参考文档的参考指纹中包含许多哈希值,哈希值由哈希数值组成,通过对文档指纹和参考指纹中的哈希数值按顺序进行匹配,即可得到文档指纹和参考指纹中相同哈希数值的个数,数值相同即可代表该哈希数值映射的字符串相同,而字符串相同即可代表这一段字符串对应的文本内容相同。根据待发送文档和参考文档匹配出的相同哈希数值的个数、待发送文档对应的哈希数值的个数和参考文档对应的哈希数值的个数,确定出待发送文档与参考文档之间的相似度,根据该相似度,确定待发送文档的文档类型。
步骤S204、当所述文档类型为限制发送类型时,禁止发送所述待发送文档。
在本申请实施例中,根据待发送文档和参考文档之间的相识度判断待发送文档的文档类型,当待文档指纹和参考指纹之间的相似度大于阈值时,将待发送文档确定为限制发送文档,此时禁止发送该待发送文档。
这里,阈值可以是审计人员根据当前情况进行设置的,如果审计人员指定的参考文档字数较少,比如小于500字,由于参考文档对应的文档指纹对应的哈希数值的数量较少,那么在相似度判断时,阈值相应的会设置一个较高的值,例如,将阈值设置为75%,当待发送文档中出现的内容与参考文档中的内容重合度大于75%的时候,将所述待发送文档确定为所述限制发送文档;如果审计人员指定的参考文档字数较多,比如大于5000字,那么由于参考文档对应的文档指纹数量较多,阈值相应的会设置一个相对较低的值,例如,设置为50%,当待发送文档与中出现的内容与参考文档中的内容重合度大于50%的时候,将所述待发送文档确定为所述限制发送文档。本申请实施例中,审计人员根据不同情况设置阈值使得文档发送的结果更加准确。
在一些实施例中,当待发送文档与参考文档之间的相似度大于审计人员设定的阈值时,则判定待发送文档为限制发送文档,此时终端将会采取一定的措施阻止文件外流。例如,当待发送文档为限制发送文档时,则不允许将该待发送文档转发至外网,当待发送文档为非限制发送文档时,则允许将该待发送文档转发至外网,即可以正常发送该待发送文档。
本申请实施例提出的文档发送方法,响应于终端发送的文档发送请求,获取待发送文档的文档字符串,通过指纹转换得到对应的文档指纹,根据文档指纹和预设的参考文档的参考指纹,确定待发送文档的文档类型,当待发送文档的类型为限制发送类型时,禁止发送所述待发送文档。如此,由于对待发送文档中的全部字符采用指纹转换的方式生成指纹,保存了待发送文档的全部特征,因此,解决了文档文本内容之间由于字数差距太大导致匹配精确度不高的问题,同时由于文档指纹保留的文档特征足够多,对于误判的情况也得到了明显的改善。
基于前述实施例,图3是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图3所示,在一些实施例中,步骤S203可以通过以下步骤实现:
步骤S301、以预设划分方式对所述文档字符串进行划分,对应形成至少一个子字符串。
在一些实施例中,为了最大程度的保留原始文档的特征,会对文档的字符串进行划分,使得划分出的每一子字符串都形成对应的指纹,使得生成的文档指纹能够保存原始文件的特征。
在一些实施例中,对字符串的划分可以是每个字符形成一个子字符串,也可以是每N个字符形成一个子字符串,也可以是每个句子对应的字符形成一个子字符串,本实施例中不做具体限定。
步骤S302、对每一所述子字符串进行所述指纹转换处理,对应得到每一子字符串的第一指纹。
这里,对待发送文档进行划分后的每一所述子字符串进行指纹转换,对应得到每一子字符串的第一指纹。
步骤S303、根据所述子字符串的所述第一指纹,确定所述待发送文档的文档指纹。
在一些实施例中,将子字符串的第一指纹,确定为待发送文档的文档指纹,文档指纹由多个子字符串对应的第一指纹组成。
本申请实施例提供的文档发送方法,将待发送文档中提取出的字符进行划分,得到子字符串,对对应的字符串进行指纹转换得到相应的第一指纹,最后得到文档指纹,如此,通过生成文档全部字符的指纹,最大限度的保存了原始文件的特征,提高了文档检测的准确度。
基于前述实施例,图4是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图4所示,在一些实施例中,在步骤S202之后,还可以有以下步骤:
步骤S401、确定对所述文档字符串进行字符过滤的过滤规则,该规则包括至少一种相关字符串和至少一种过滤字符。
在本申请实施例中,确定对所述文档字符串进行字符过滤的过滤规则,该过滤规则用于对字符串进行过滤,在一些实施例中,过滤规则包括至少一种相关字符串和至少一种过滤字符。
在一些实施例中,审计人员或用户会预先设置一些文本或词语,或系统推荐设置的一些文本或词语,使得这些文本和词语不进入文档检测的步骤中。这里,相关字符串是指该字符串对应的文本是审计人员预先设置的可以过滤掉的文本,比如一些敏感词语;过滤字符是指该字符对应的文本为标点符号等。
需要说明的是,当所述文档字符串不存在过滤字符,或审计人员未设置相关字符串时,在对所述待发送文档进行字符提取之后,无需进行字符过滤,直接通过预设的划分规则对所述文档字符串进行划分。
在确定出过滤规则之后,按照所述过滤规则,分别对所述文档字符串进行字符过滤,对应形成过滤后的文档字符串。本申请实施例中,按照过滤规则对所述文档字符串进行字符过滤,可以通过以下步骤实现:
步骤S402、遍历所述文档字符串,当检测到所述文档字符串中包括所述相关字符串时,跳过所述相关字符串,并继续遍历所述文档字符串中未进行遍历的下一字符或下一字符串。
在一些实施例中,遍历可以通过字典树等用于统计、排序和保存字符串的应用来实现。这里遍历文档字符串是指按照待发送文档的文本顺序,依次对待发送文档的文档字符串中每个字符按序做一次访问。当检测到文档字符串中包括审计人员或用户设置的相关字符串时,跳过该字符串,继续访问未遍历的下一字符或下一字符串。
在一些实施例中,跳过该字符串是指在对字符进行指纹转换时,对该相关字符串不进行指纹生成。
步骤S403、当检测到所述文档字符串中包括所述过滤字符时,删除所述文档字符串中的所述过滤字符。
在一些实施例中,依次对文本文档字符串中的字符遍历时,当检测到审计人员设定的过滤字符时,删掉该字符,以使得在后续生成指纹时不会对过滤字符进行指纹生成。
步骤S404、对所述过滤后的文档字符串进行所述指纹转换处理,对应得到所述待发送文档的文档指纹。
这里,对过滤后的每一所述子字符串进行指纹转换,将字符串转化为指纹,对应得到每一子字符串的第一指纹。
本申请实施例提供的文档发送方法,通过审计人员预先设置的相关字符串和过滤字符对待发送文档的字符串进行过滤和删除,排除了文本中的无关字符,减少了文档字符串的字符数量,从而能够降低指纹转换处理时需要进行转换处理的字符数量,降低了服务器的计算量,且提高了转换处理的效率,同时,提高了两个文本之间关键信息的匹配率,使得匹配结果的准确性有了极大的提高。
在一些实施例中,在对待发送文档进行划分时,可以以一定的字符数量为单位进行划分,进而形成指纹。基于图3,图5是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图5所示,在一些实施例中,对于待发送文档,步骤S301可以通过以下步骤实现:
步骤S501、以N个字符为划分单元,按照预设滑动步长对所述文档字符串进行滑动划分,形成第一数量的固定字符串。
在一些实施例中,对过滤后的文档字符串进行划分,以N个字符为划分单元,其中,N大于0,每N个字符形成一个固定字符串,即,每一固定字符串中至少包括一个字符,且从文档字符串的第一个字符开始,每滑动一个固定的步长形成一个固定字符串,直至滑动至文档字符串的最后一个字符,形成具有第一数量的固定字符串。
步骤S502、对每连续的K个所述固定字符串进行合并,形成至少一个所述子字符串。
在一些实施例中,K大于或等于N,即将每连续的K个所述固定字符串进行合并,形成子字符串。
请继续参照图5,在一些实施例中,对于待发送文档,步骤S302可以通过以下步骤实现:
步骤S503、根据预设算法,确定每一所述固定字符串的哈希值。
这里,预设的算法是指特定的哈希算法,根据该算法可以确定出文档字符串中每一所述固定字符串的哈希值。
步骤S504、将每一所述子字符串中具有最小哈希值的固定字符串,确定为对应子字符串的目标固定字符串。
在一些实施例中,子字符串中包含K个固定字符串,在K个固定字符串中确定具有最小哈希值的固定字符串,并将具有最小哈希值的固定字符串确定为对应子字符串的目标固定字符串。
步骤S505、将所述目标固定字符串的哈希值,确定为所述对应子字符串的所述第一指纹。
本申请实施例提供的文档发送方法,通过对文档过滤后的全部字符进行划分,对划分后的子字符串进行指纹转换,保存了原始文件的特征,提高了两个文本之间关键信息的匹配率。
在一些实施例中,在对待发送文档进行划分时,可以以句子为单位进行划分,即可以将每句话划分成一个子字符串,进而根据子字符串形成指纹。基于图3,图6是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图6所示,在一些实施例中,对于待发送文档,步骤S301可以通过以下步骤实现:
步骤S601、获取至少一种截停字符。
这里,截停字符是指文本内容为“,”“。”“?”“!”等对应的字符串,该截停字符用于对字符串进行划分。
步骤S602、通过所述截停字符对所述文档字符串进行划分,对应形成至少一个所述子字符串。
在一些实施例中,通过所述截停字符对所述文档字符串进行划分是指当检测到该截停字符时,从上一个截停字符到该截停字符之间的字符串为一个子字符串,该截停字符的下一个字符起为一个新的子字符串。
请继续参照图6,在一些实施例中,对于待发送文档,通过截停字符对文档字符串进行划分,对应形成至少一个子字符串之后,步骤S302可以通过以下步骤实现:
步骤S603、根据预设算法,确定每一所述子字符串的哈希值。
这里,预设的算法是指特定的哈希算法,根据该算法可以确定出每一所述子字符串的哈希值。
步骤S604、将每一所述子字符串的哈希值,确定为对应子字符串的所述第一指纹。
在一些实施例中,将每一所述子字符串的哈希值,确定为对应子字符串的所述第一指纹。
本申请实施例提供的文档发送方法,通过对文档过滤后的全部字符通过截停字符进行划分,对划分后的子字符串进行指纹转换,保存了原始文件的特征,提高了两个文本之间关键信息的匹配率。
在一些实施例中,在获取到待发送文档中每一子字符串的指纹后,要对其中具有相同哈希值的指纹进行合并,进而得到文档指纹。基于前述实施例,图7是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图7所示,在一些实施例中,步骤S303可以通过以下步骤实现:
步骤S701、按照所述第一指纹对应的哈希值从小到大的顺序,对所述子字符串中的第一指纹进行排序,形成第一指纹序列。
在一些实施例中,对第一指纹对应的哈希值排序的方法不做限制,可以是从小到大排列,也可以是从大到小排列。
步骤S702、确定所述第一指纹序列对应的第一哈希值序列。
在一些实施例中,将待发送文档的多个子字符串对应的第一指纹中的哈希值数值,按照从小到大的顺序进行排列,形成待发送文档的第一哈希值序列。
步骤S703、将所述第一哈希值序列中的相同哈希值进行合并,得到第一合并哈希值序列。
步骤S704、根据所述第一合并哈希值序列,确定所述待发送文档的文档指纹。
在一些实施例中,根据相同哈希值合并后的第一合并哈希值序列,确定所述待发送文档的文档指纹。
本申请实施例提供的文档发送方法,通过将待发送文档的第一指纹中相同的指纹进行合并,降低了重复指纹率,极大的提高了两个文本之间匹配的效率。
在一些实施例中,在获取到文档指纹和参考指纹后,对文档指纹和参考指纹进行匹配,确定待发送文档之间的相似度,进而确定待发送文档是否为限制发送文档。基于前述实施例,图8是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图8所示,在一些实施例中,步骤S203之后还可以有以下步骤:
步骤S801、对所述参考文档进行所述字符提取,对应得到第二字符串。
步骤S802、对所述第二字符串进行所述指纹转换处理,得到所述参考文档的参考指纹。
本申请实施例中,当参考文档在审计设备内存中没有对应的参考指纹时,可以经过与待发送文档相同的步骤得到参考文档对应的参考指纹,在此不再赘述对参考文档的指纹进行生成的方法。
请继续参照图8,在一些实施例中,步骤S204可以通过以下步骤实现:
步骤S803、依次对所述文档指纹中的第一指纹与所述参考指纹中的第二指纹进行匹配,得到匹配结果。
在一些实施例中,在确定出文档指纹和参考指纹之后,通过内存映射的方式保存该文档指纹和参考指纹,直接将指纹的二进制保存到文件,读取的时候直接使用,不用再做转换,提高了文件的匹配性能。
在一些实施例中,分别读取文档指纹和参考指纹到内存中,按照指纹的顺序依次进行匹配,得到匹配结果,其中,匹配结果可以是文档指纹和参考指纹中相同的指纹用“是”来表示,不同的指纹用“否”来表示,当然,还可以有其他形式的匹配结果,本实施例中不做限制。
步骤S804、根据所述匹配结果,确定所述文档指纹与所述参考指纹的相同指纹数量。
在一些实施例中,根据文档指纹和参考指纹的匹配结果,确定所述文档指纹与所述参考指纹的相同指纹数量,其中,相同指纹数量可以是匹配结果中“是”的数量。
步骤S805、根据所述相同指纹数量、所述第一指纹的数量和所述第二指纹的数量,确定所述文档指纹与所述参考指纹之间的相似度。
在一些实施例中,根据相同指纹数量、第一指纹的数量和第二指纹的数量,确定所述文档指纹与所述参考指纹之间的相似度是指,两个文档之间的相似度可以是相同指纹数量/min(第一指纹的数量,第二指纹的数量),其中,“/”是指进行除法运算;“min(第一指纹的数量,第二指纹的数量)”是指在第一指纹的数量和第二指纹的数量中取最小值,即两个文档之间的相似度可以是相同指纹数量除以第一指纹的数量和第二指纹的数量中的最小值。
在一些实施例中,两个文档之间的相似度也可以是相同指纹数量/第一指纹的数量,或相同指纹数量/第二指纹的数量,在本申请实施例中不做限制。
步骤S806、根据所述相似度,确定所述待发送文档的文档类型。
本申请实施例提供的文档发送方法,通过获取文档指纹与参考指纹之间相同指纹的数量,进而获取两个文档之间的相似度,使得在检测限制发送文档时,无需进行大量的对比计算,即可获得待发送文档和参考文档之间的相似度,简化了文档检测的步骤,提高了检测效率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种文档发送方法,在一种实现方式中,可以通过winnow算法和k-gram算法划分指纹。需要说明的是,winnow算法所采用的策略是:选取每个窗口中最小的哈希值,如果存在多个最小值,则选取最右边的,该策略既保证选取足够的指纹信息,又保证了不会产生太庞大的指纹;k-gram算法是一种基于统计语言模型的算法,它的基本思想是将文本里面的内容按照字节进行大小为K的滑动窗口操作,形成了长度是K的字节片段序列。
本申请实施例通过字典树可以自行设置无关字符过滤功能,来提高关键信息匹配率。两个文章通过指纹进行匹配,指纹重合度的占比(即文档指纹与参考指纹之间的相似度)就是最终的匹配结果。对于结构化文档而言,这里是先将结构化文档的文字内容按指定顺序全部提取出来,然后再进行文字内容的指纹生成。
在另一种实现方式中,还可以按照句子划分文档指纹。这里如果是结构化文档的话,将每个单元格当成一个句子进行指纹划分。
上述两种实现方式都通过内存映射的方式保存指纹,直接把指纹(即文档指纹和参考指纹)的二进制保存到文件,在指纹读取时直接使用,不再做转换,提高文件匹配性能。
本申请实施例的文档发送方法,通过生成全局内容的指纹,尽可能的保存了原始文件的特征,有效的解决了文档文本内容之间由于字数差距太大导致匹配精确度不高的问题,同样因为特征足够多,对于误判的情况也可以得到明显改善。
本申请实施例主要应用于文档发送的场景,用户审计了所有的外发内容,用户需要获取指定某个内容是否在所有外发内容中,可通过本申请实施例快速获取到相似内容的文本。
图9是本申请实施例提供的文档发送方法的一个产品侧示意图,如图9所示,所述方法包括以下步骤:
步骤S901、用户发送文件至外网,该文件即待发送文档。
步骤S902、查找机密文件(即参考文档)是否外发过。
在一些实施例中,查找机密文件是否外发过是指审计人员或用户通过审计设备查找机密文件是否被外发过。
步骤S903、查找与机密文件相似的文件。
在一些实施例中,通过本申请实施例提供的方法可以快速获取到与机密文件具有相似内容的文件。
步骤S904、审计设备对待发送文档进行检测后,如果检测结果表明待发送文档不是机密文件,则允许将该待发送文档转发至外网。
在一些实施例中,审计人员或用户检测到将要发送至外网的待发送文档与机密文件之间的相似度未超过设定的阈值时,审计设备记录该待发送文档的转发历史,并将该文件转发至外网。
本申请实施例提供的文档发送方法,主要应用于文档发送的场景,审计人员审计了所有的外发内容,用户需要获取某个指定的内容是否在所有外发内容中,可通过本申请实施例提供的技术方案快速获取到相似内容的文本。
基于前述实施例,图10是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图10所示,在指纹生成过程中,所述方法包括以下步骤:
步骤S101、调用初始化函数对审计设备进行初始化配置。
这里调用初始化函数,可以是调用default_init_config函数对审计设备中相关配置进行初始化,例如,初始化一个过滤词的字典树,所述字典树用于在遍历过程中碰到相关词语跳过,不进行指纹生成,相关词语可以是指定的词语,也可以是标点符号,例如“、”等此类的无关字符等;以及,初始化winnow窗口算法的大小的值和k-gram算法的窗口大小的值。
步骤S102、判断输入至审计设备的内容是否为文件。
在本申请实施例中,在此步骤可以输入一个文件或者一个段落,当检测到输入的内容为文件时,调用生成函数生成指纹文件;当检测到输入的内容为段落时,调用获取函数获取段落指纹。
如果判断结果为是,则执行步骤S103,调用生成函数生成文件指纹(即文档指纹);如果判断结果为否,则执行步骤S104,调用获取函数获取段落指纹
步骤S103、调用第一生成函数,对输入的文件进行指纹转换,生成文件指纹。
在一些实施例中,当输入的内容为一个文件时,可以调用第一生成函数(例如,可以是create_fingerprint函数)生成文件指纹,步骤为:读取文件中的段落,然后遍历段落内容,遍历过程中遇到过滤词字典树预置的内容则跳过该内容,每次取固定的字符数量,比如n个,通过一定的算法,获得这n个字符的哈希值;从第一个字符开始,每n个字符滑动固定的步长获取一次哈希值,其中,哈希值由多个值组成,为了防止哈希冲突,在获取哈希值时,尽可能保证不同字符产生不同的哈希值,每k-gram个哈希值,取其中最小的哈希值,作为该k-gram个字符的指纹。遍历完所有段落后产生这个文件的所有指纹;将所有的指纹从小到大进行排序,对相同的指纹进行合并,得到该文件的最终指纹,即文件指纹。
步骤S104、调用第二生成函数,对输入的段落进行指纹转换,生成段落指纹。
在一些实施例中,当输入的内容为一个段落时,调用第二生成函数(例如,可以是get_fingerprint函数)生成指纹文件,步骤为:遍历段落内容,遍历过程中遇到过滤词字典树预置的内容则跳过该内容,每次取固定的字符数量,比如n个,通过一定的算法,获得这n个字符的哈希值;从第一个字符开始,每n个字符滑动固定的步长获取一次哈希值,其中,哈希值由多个值组成,为了防止哈希冲突,在获取哈希值时,尽可能保证不同字符产生不同的哈希值,每k-gram个哈希值,取其中最小的哈希值,作为该k-gram个字符的指纹;遍历完段落后产生这个文件的所有指纹;将所有的指纹从小到大进行排序,对相同的指纹进行合并,得到该段落的最终指纹,即段落指纹。
步骤S105、调用保存函数将生成的文件指纹和段落指纹保存到指针文件中。
在一些实施例中,在生成文件的文件指纹或生成段落的段落指纹之后,调用保存函数(例如,可以是save_winnow函数)通过内存映射的方式,将文件指纹和段落指纹保存到指针文件中。
这里通过内存映射的方式保存指纹文件指纹和段落指纹,可以是直接把文件指纹和段落指纹的二进制内容保存到指针文件中,这样,在后续读取文件指纹和段落指纹的时候直接使用,不用再做转换,如此,能够提高文件匹配性能。
步骤S106、调用销毁函数销毁对审计设备的所述初始化配置。
在一些实施例中,在指纹文件保存之后,调用销毁函数(例如,可以是destory_config函数)销毁对审计设备的初始化配置。
本申请实施例提供的文档发送方法,通过调用特定的函数生成文件指纹和段落指纹,使得该文件指纹和段落指纹保存了原始文件和段落的特征,有效的解决了文档文本内容之间由于字数差距太大导致匹配精确度不高的问题,同样因为特征足够多,对于误判的情况也可以得到明显改善。
基于前述实施例,图11是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图11所示,在指纹匹配过程中,所述方法包括以下步骤:
步骤S111、调用第一指纹生成函数。
步骤S112、调用第一指纹生成函数生成第一指纹文件。
步骤S113、调用第二指纹生成函数。
步骤S114、调用第二指纹生成函数生成第二指纹文件。
在一些实施例中,第一指纹生成函数与第二指纹生成函数可以相同,例如,可以通过调用get_fingerprint函数生成第一指纹文件或第二指纹文件,实现步骤与上述步骤S103和步骤S104相同,在此不再赘述。
在这里,第一指纹文件和第二指纹文件是不同文件对应的指纹文件,例如,第一指纹文件可以是待发送文档对应的到的指纹文件,第二指纹文件可以是参考文档对应的指纹文件。
步骤S115、调用查找函数获取指纹匹配度。
在一些实施例中,在指纹保存到指针文件之后,调用查找函数(例如,可以是winnow_match函数)分别读取第一指纹文件和第二指纹文件中的指纹到内存中,按顺序对第一指纹文件中的第一指纹和第二指纹文件中的第二指纹进行匹配,以获取相同指纹的数量,该数量即为两个指纹文件的匹配度。
步骤S116、输出指纹匹配度对应的匹配百分比。
在一些实施例中,根据两个指纹文件的匹配度和两个指纹文件中指纹的个数,可以得到两个指纹文件的匹配百分比。
在一些实施例中,匹配百分比为相同指纹数量/min(第一指纹的数量,第二指纹的数量)。
本申请实施例提供的文档发送方法,通过获取两个文件之间相同指纹的数量,使得在检测限制发送文档时,无需进行大量的对比计算,即可获得待发送文档之间的相似度,简化了文件检测的步骤,提高了检测效率。
基于前述实施例,图12是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图12所示,在指纹生成过程中,所述方法包括以下步骤:
步骤S121、调用初始化函数对审计设备进行初始化配置。
这里调用初始化函数可以是调用default_init_punctuation函数对审计设备中相关配置进行初始化,例如,初始化一个过滤词的字典树,所述过滤词字典树用于在遍历过程中碰到相关词语跳过,不进行指纹生成,相关词语可以是制定的词语,也可以是标点符号,例如“、”等此类的无关字符等;初始化截停词的字典树(即截停字符),所述截停词字典树用于在遍历过程中碰到相关字符串时,开始生成一个新的指纹,比如,截停词可以是“,”“。”“?”“!”等标点符号。
步骤S122、判断输入至审计设备的内容是否为文件。
在本申请实施例中,在此步骤可以输入一个文件或者一个段落,当检测到输入的内容为文件时,调用第一生成函数生成指纹文件;当检测到输入的内容为段落时,调用第二生成函数获取段落指纹。
如果判断结果为是,则执行步骤S125,判断文件是否为结构化文件;如果判断结果为否,则执行步骤S123,调用获取函数获取段落指纹。
步骤S123、调用生成函数,对输入的段落进行指纹转换,生成段落指纹。
在一些实施例中,当输入的内容为一个段落时,调用生成函数(例如,可以是get_punctuation_fingerprint函数)生成指纹文件,实现步骤为:读取文件中的段落,然后遍历段落内容,遍历过程中遇到过滤词字典树预置的内容则跳过该内容,每个句子生成一个指纹的哈希值,每个句子通过截停词字典树进行划分,遍历完段落后产生这个文件的所有指纹;将所有的指纹从小到大进行排序,对其中相同的指纹进行合并,得到该文件的最终指纹,即段落指纹。
步骤S124、调用保存函数将生成的段落指纹保存指纹到指针文件。
在一些实施例中,在生成指纹之后,调用保存函数(例如,可以是save_punctuation函数)通过内存映射的方式把指纹保存到指针文件中。
这里,通过内存映射的方式保存段落指纹,可以是直接把段落指纹的二进制内容保存到文件中,这样,在后续读取的时候直接使用,不用再做转换,提高文件匹配性能。
步骤S125、判断输入至审计设备中的文件是否为结构化文件。
在一些实施例中,当输入至审计设备中的文件为结构化文件时,需要对该结构化文件进行拆分。如果判断结果为是,则执行步骤S126,调用结构化生成函数生成结构化指纹;如果判断结果为否,则执行步骤S127,调用非结构化生成函数生成非结构化指纹。
步骤S126、调用结构化生成函数,对输入的结构化文件进行指纹转换,生成结构化指纹。
在一些实施例中,当文件为结构化文件时,调用结构化生成函数(例如,可以是create_struct_finger函数)生成结构化指纹,实现步骤为:先将结构化文件的文字内容按指定顺序全部提取出来,然后遍历文字内容,遍历过程中遇到过滤词字典树预置的内容则跳过该内容,每个句子生成一个指纹的哈希值,每个句子通过截停词字典树进行划分,遍历完段落后产生这个文件的所有指纹;将所有的指纹从小到大进行排序,对其中相同的指纹进行合并,得到该文件的最终指纹,即结构化指纹。
步骤S127、调用非结构化生成函数,对输入的结构化文件进行指纹转换,生成非结构化指纹。
在一些实施例中,当文件为非结构化文件时,调用非结构化生成函数(例如,可以是create_unstruct_finger函数)生成指纹文件,实现步骤为:读取文件中的段落,然后遍历段落内容,遍历过程中遇到过滤词字典树预置的内容则跳过该内容,每个句子生成一个指纹的哈希值,每个句子通过截停词字典树进行划分,遍历完段落后产生这个文件的所有指纹;将所有的指纹从小到大进行排序,对其中相同的指纹进行合并,得到该文件的最终指纹,即非结构化指纹。
步骤S128、调用销毁函数销毁对审计设备的所述初始化配置。
在一些实施例中,在指纹文件保存之后,调用销毁函数(例如,可以是destory_punctuation函数)销毁配置。
本申请实施例提供的文档发送方法,通过调用特定的函数生成段落指纹、结构化指纹和非结构化指纹,支持结构化文件和非结构化文件的识别,使得该段落指纹、结构化指纹和非结构化指纹保存了原始段落、结构化文件和非结构化文件的特征,有效的解决了文档文本内容之间由于字数差距太大导致匹配精确度不高的问题,同样因为特征足够多,对于误判的情况也可以得到明显改善。
基于前述实施例,图13是本申请实施例提供的文档发送方法的一个可选的流程示意图,如图13所示,在指纹匹配过程中,所述方法包括以下步骤:
步骤S131、调用第一指纹生成函数。
步骤S132、调用第一指纹生成函数生成第一指纹文件。
步骤S133、调用第二指纹生成函数。
步骤S134、调用第二指纹生成函数生成第二指纹文件。
在一些实施例中,第一指纹生成函数与第二指纹生成函数可以相同,例如,可以通过调用get_punctuation_finger_file函数生成第一指纹文件或第二指纹文件,具体步骤与上述步骤S123、步骤S126和步骤S127相同,在此不再赘述。
在这里,第一指纹文件和第二指纹文件是不同文件对应的指纹文件,例如,第一指纹文件可以是待发送文档对应的到的指纹文件,第二指纹文件可以是参考文档对应的指纹文件。
步骤S135、调用查找函数获取指纹匹配度。
在一些实施例中,在指纹保存到指针文件之后,可以调用可以punctuation_match函数)分别读取第一指纹文件和第二指纹文件中的指纹到内存中,按顺序对第一指纹文件中的第一指纹和第二指纹文件中的第二指纹进行匹配,以获取相同指纹的数量,该数量即为两个指纹文件的匹配度。
步骤S136、输出指纹匹配度对应的匹配百分比。
在一些实施例中,根据两个指纹文件的匹配度和两个指纹文件中指纹的个数,可以得到两个指纹文件的匹配百分比。匹配百分比为相同指纹数量/min(第一指纹的数量,第二指纹的数量)。
本申请实施例提供的文档发送方法,通过获取两个文件之间相同指纹的数量,使得在检测限制发送文档时,无需进行大量的对比计算,即可获得待发送文档之间的相似度,简化了文件检测的步骤,提高了检测效率。
图14是本申请实施例提供的文档发送装置的组成结构示意图,如图14所示,该文档发送装置140包括:
获取模块14,用于响应于终端发送的文档发送请求,获取待发送文档的文档字符串;指纹转换模块142,用于对所述文档字符串进行指纹转换处理,得到所述待发送文档的文档指纹;确定模块143,用于根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型;发送模块144,用于当所述文档类型为限制发送类型时,禁止发送所述待发送文档。
在一些实施例中,所述指纹转换模块还用于:以预设划分方式对所述文档字符串进行划分,对应形成至少一个子字符串;对每一所述子字符串进行所述指纹转换处理,得到每一子字符串的第一指纹;根据所述子字符串的所述第一指纹,确定所述待发送文档的文档指纹。
在一些实施例中,所述装置还包括:过滤规则确定模块,用于在对所述待发送文档进行字符提取之后,确定对所述文档字符串进行字符过滤的过滤规则;字符过滤模块,用于按照所述过滤规则对所述文档字符串进行字符过滤,形成过滤后的文档字符串;对应地,指纹转换模块还用于对所述过滤后的文档字符串进行所述指纹转换处理。
在一些实施例中,所述字符过滤模块还用于:遍历所述文档字符串,当检测到所述文档字符串中包括所述相关字符串时,跳过所述相关字符串,并继续遍历所述文档字符串中未进行遍历的下一字符或下一字符串;当检测到所述文档字符串中包括所述过滤字符时,删除所述文档字符串中的所述过滤字符。
在一些实施例中,所述指纹转换模块还用于:以N个字符为划分单元,按照预设滑动步长对所述文档字符串进行滑动划分,形成第一数量的固定字符串;
对每连续的K个所述固定字符串进行合并,形成至少一个所述子字符串。
在一些实施例中,所述指纹转换模块还用于:根据预设算法,确定每一所述固定字符串的哈希值;将每一所述子字符串中具有最小哈希值的固定字符串,确定为对应子字符串的目标固定字符串;将所述目标固定字符串的哈希值,确定为所述对应子字符串的所述第一指纹。
在一些实施例中,所述指纹转换模块还用于:获取至少一种截停字符;通过所述截停字符对所述文档字符串进行划分,对应形成至少一个所述子字符串。
在一些实施例中,所述指纹转换模块还用于:按照所述第一指纹对应的哈希值从小到大的顺序,对所述子字符串中的第一指纹进行排序,形成第一指纹序列;确定所述第一指纹序列对应的第一哈希值序列;将所述第一哈希值序列中的相同哈希值进行合并,得到第一合并哈希值序列;根据所述第一合并哈希值序列,确定所述待发送文档的文档指纹。
在一些实施例中,所述确定模块还用于:依次对所述文档指纹中的第一指纹与所述参考指纹中的第二指纹进行匹配,得到匹配结果;根据所述匹配结果,确定所述文档指纹与所述参考指纹的相同指纹数量;根据所述相同指纹数量、所述第一指纹的数量和所述第二指纹的数量,确定所述文档指纹与所述参考指纹之间的相似度;根据所述相似度,确定所述待发送文档的文档类型。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的文档发送方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种文档发送设备,图15是本申请实施例提供的文档发送设备的组成结构示意图,如图15所示,所述文档发送设备150至少包括:处理器151和配置为存储可执行指令的计算机可读存储介质152,其中处理器151通常控制所述文档发送设备的总体操作。计算机可读存储介质152配置为存储由处理器151可执行的指令和应用,还可以缓存待处理器151和文档发送设备150中各模块待处理或已处理的数据,可以通过闪存(FLASH)或随机访问存储器(RAM,Random Access Memory)实现。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图2示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种文档发送方法,其特征在于,包括:
响应于终端发送的文档发送请求,获取待发送文档的文档字符串;其中,所述文档字符串是对应于所述待发送文档的全部内容的字符串;
以预设划分方式对所述文档字符串进行划分,对应形成至少一个子字符串;
对每一所述子字符串进行指纹转换处理,得到每一子字符串的第一指纹;
根据所述子字符串的所述第一指纹,确定所述待发送文档的文档指纹;
根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型;
当所述文档类型为限制发送类型时,禁止发送所述待发送文档;
其中,所述以预设划分方式对所述文档字符串进行划分,对应形成至少一个子字符串,包括:
以N个字符为划分单元,按照预设滑动步长对所述文档字符串进行滑动划分,形成第一数量的固定字符串;
对每连续的K个所述固定字符串进行合并,形成至少一个所述子字符串;
其中,K大于或等于N,且K小于或等于第一数量;N大于0。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述待发送文档进行字符提取之后,确定对所述文档字符串进行字符过滤的过滤规则;
按照所述过滤规则对所述文档字符串进行字符过滤,形成过滤后的文档字符串;
对应地,对所述过滤后的文档字符串进行所述指纹转换处理。
3.根据权利要求2所述的方法,其特征在于,所述过滤规则包括至少一种相关字符串和至少一种过滤字符;
所述按照所述过滤规则对所述文档字符串进行字符过滤,包括:
遍历所述文档字符串,当检测到所述文档字符串中包括所述相关字符串时,跳过所述相关字符串,并继续遍历所述文档字符串中未进行遍历的下一字符或下一字符串;
当检测到所述文档字符串中包括所述过滤字符时,删除所述文档字符串中的所述过滤字符。
4.根据权利要求1所述的方法,其特征在于,所述对每一所述子字符串进行所述指纹转换处理,得到每一子字符串的第一指纹,包括:
根据预设算法,确定每一所述固定字符串的哈希值;
将每一所述子字符串中具有最小哈希值的固定字符串,确定为对应子字符串的目标固定字符串;
将所述目标固定字符串的哈希值,确定为所述对应子字符串的所述第一指纹。
5.根据权利要求1所述的方法,其特征在于,所述以预设划分方式对所述文档字符串进行划分,对应形成至少一个子字符串,还包括:
获取至少一种截停字符;
通过所述截停字符对所述文档字符串进行划分,对应形成至少一个所述子字符串。
6.根据权利要求1所述的方法,其特征在于,所述根据所述子字符串的所述第一指纹,确定所述待发送文档的文档指纹,包括:
按照所述第一指纹对应的哈希值从小到大的顺序,对所述子字符串中的第一指纹进行排序,形成第一指纹序列;
确定所述第一指纹序列对应的第一哈希值序列;
将所述第一哈希值序列中的相同哈希值进行合并,得到第一合并哈希值序列;
根据所述第一合并哈希值序列,确定所述待发送文档的文档指纹。
7.根据权利要求1所述的方法,其特征在于,所述根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型,包括:
依次对所述文档指纹中的第一指纹与所述参考指纹中的第二指纹进行匹配,得到匹配结果;
根据所述匹配结果,确定所述文档指纹与所述参考指纹的相同指纹数量;
根据所述相同指纹数量、所述第一指纹的数量和所述第二指纹的数量,确定所述文档指纹与所述参考指纹之间的相似度;
根据所述相似度,确定所述待发送文档的文档类型。
8.一种文档发送装置,其特征在于,包括:
获取模块,用于响应于终端发送的文档发送请求,获取待发送文档的文档字符串;其中,所述文档字符串是对应于所述待发送文档的全部内容的字符串;
指纹转换模块,用于以预设划分方式对所述文档字符串进行划分,对应形成至少一个子字符串;对每一所述子字符串进行所述指纹转换处理,得到每一子字符串的第一指纹;根据所述子字符串的所述第一指纹,确定所述待发送文档的文档指纹;
确定模块,用于根据所述文档指纹与预设参考文档的参考指纹,确定所述待发送文档的文档类型;
发送模块,用于当所述文档类型为限制发送类型时,禁止发送所述待发送文档;
其中,所述指纹转换模块,具体用于以N个字符为划分单元,按照预设滑动步长对所述文档字符串进行滑动划分,形成第一数量的固定字符串;对每连续的K个所述固定字符串进行合并,形成至少一个所述子字符串;其中,K大于或等于N,且K小于或等于第一数量;N大于0。
9.一种文档发送设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的文档发送方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至7任一项所述的文档发送方法。
CN202011613785.1A 2020-12-30 2020-12-30 文档发送方法、装置、设备及存储介质 Active CN112733523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011613785.1A CN112733523B (zh) 2020-12-30 2020-12-30 文档发送方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011613785.1A CN112733523B (zh) 2020-12-30 2020-12-30 文档发送方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112733523A CN112733523A (zh) 2021-04-30
CN112733523B true CN112733523B (zh) 2023-07-14

Family

ID=75611214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011613785.1A Active CN112733523B (zh) 2020-12-30 2020-12-30 文档发送方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112733523B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792659B (zh) * 2021-09-15 2024-04-05 上海金仕达软件科技股份有限公司 文档识别方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159115A (zh) * 2019-12-27 2020-05-15 深信服科技股份有限公司 相似文件检测方法、装置、设备及存储介质
CN111985244A (zh) * 2020-07-17 2020-11-24 广州智城科技有限公司 一种针对文档内容的洗稿检测方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425639A (zh) * 2013-09-06 2013-12-04 广州一呼百应网络技术有限公司 一种基于信息指纹的相似信息识别方法
CN106250777A (zh) * 2016-07-26 2016-12-21 合肥赛猊腾龙信息技术有限公司 数据防泄露系统中一种文档指纹提取及匹配方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159115A (zh) * 2019-12-27 2020-05-15 深信服科技股份有限公司 相似文件检测方法、装置、设备及存储介质
CN111985244A (zh) * 2020-07-17 2020-11-24 广州智城科技有限公司 一种针对文档内容的洗稿检测方法及装置

Also Published As

Publication number Publication date
CN112733523A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
USRE49576E1 (en) Standard exact clause detection
US8286171B2 (en) Methods and systems to fingerprint textual information using word runs
US9104979B2 (en) Entity recognition using probabilities for out-of-collection data
US10402496B2 (en) Advanced clause groupings detection
US9268768B2 (en) Non-standard and standard clause detection
US8838657B1 (en) Document fingerprints using block encoding of text
CN110427612B (zh) 基于多语言的实体消歧方法、装置、设备和存储介质
CN108280197B (zh) 一种识别同源二进制文件的方法及系统
WO2019148712A1 (zh) 钓鱼网站检测方法、装置、计算机设备和存储介质
US20200065074A1 (en) Devices, systems, and methods of program identification, isolation, and profile attachment
CN111159697A (zh) 一种密钥检测方法、装置及电子设备
CN113961768B (zh) 敏感词检测方法、装置、计算机设备和存储介质
CN112733523B (zh) 文档发送方法、装置、设备及存储介质
EP3301603A1 (en) Improved search for data loss prevention
CN116663505B (zh) 一种基于互联网的评论区管理方法及系统
CN112202822B (zh) 数据库注入检测方法、装置、电子设备及存储介质
CN114723073B (zh) 语言模型预训练、产品搜索方法、装置以及计算机设备
US11714842B1 (en) System and method for sensitive content analysis prioritization based on file metadata
CN111488511B (zh) 一种网站主题提取方法、系统及电子设备和存储介质
RU2665915C1 (ru) Система и способ определения текста, содержащего конфиденциальные данные
CN116956169A (zh) 一种信息处理方法、设备及计算机可读存储介质
CN116070639A (zh) 文本识别方法、装置、电子设备及可读存储介质
CN114444464A (zh) 文档检测处理方法、装置、存储介质及电子设备
CN113742773A (zh) 一种隐私弹框检测方法、装置、设备及存储介质
CN116975488A (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