CN108304369B - 一种文件类型的识别方法和装置 - Google Patents

一种文件类型的识别方法和装置 Download PDF

Info

Publication number
CN108304369B
CN108304369B CN201710305876.0A CN201710305876A CN108304369B CN 108304369 B CN108304369 B CN 108304369B CN 201710305876 A CN201710305876 A CN 201710305876A CN 108304369 B CN108304369 B CN 108304369B
Authority
CN
China
Prior art keywords
text
file
grammar
file type
feature
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
CN201710305876.0A
Other languages
English (en)
Other versions
CN108304369A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710305876.0A priority Critical patent/CN108304369B/zh
Publication of CN108304369A publication Critical patent/CN108304369A/zh
Application granted granted Critical
Publication of CN108304369B publication Critical patent/CN108304369B/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/279Recognition of textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种文件类型的识别方法和装置;本发明实施例在识别文件类型时,可以将待识别文件中的第一文本特征与预定文件类型的多个第二文本特征进行匹配,当第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则,并根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析,若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为所述预定文件类型;该方案可以提高文件类型识别的准确性,降低误判的几率。

Description

一种文件类型的识别方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种文件类型的识别方法和装置。
背景技术
文件类型的多样性,会给有关数据保密以及信息安全等方面带来威胁,通过对一些文件类型的识别和阻断,可以避免互联网上木马和病毒的传播,还可以避免保密文件的泄漏。
文本文件是一种由若干行字符构成的计算机文件,文本文件大部分为脚本语言类文件,即使用脚本语言创建的文件,脚本语言例如有javascript、python、以及php(Hypertext Preprocessor,超文本预处理器),等等。脚本语言类文件一般是根据所使用的脚本语言以特定后缀名(如.reg,.vbs,.js或.inf等)进行保存,例如javascript脚本语言文件以.js的后缀名进行保存。现有技术通常是基于文件后缀名来确定文本文件的类型,例如检测到文件的后缀名为“js”,则判断文件类型是javascript脚本语言文件。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有文本文件类型的识别方式,识别准确率较低,一旦文件的后缀名被修改,将会识别出错误的文件类型,造成误判。
发明内容
本发明实施例提供一种文件类型的识别方法和装置,可以提高文件类型识别的准确性,减小误判的几率。
本发明实施例提供一种文件类型的识别方法,包括:
读取待识别文件中的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配,每个第二文本特征对应一个语法规则;
当第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则;
根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析;
若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为所述预定文件类型。
相应的,本发明实施例还提供一种文件类型的识别装置,包括:
匹配模块,用于读取待识别文件中的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配,每个第二文本特征对应一个语法规则;
获取模块,用于当第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则;
解析模块,用于根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析;
处理模块,用于若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为所述预定文件类型。
本发明实施例在需要进行文件类型的识别时,读取待识别文件的第一文本特征,并将待识别文件的第一文本特征与预定文件类型的多个第二文本特征进行匹配,若匹配成功,则获取匹配成功的第二文本特征对应的语法规则,并根据获取的语法规则对第一文本特征携带的表达式进行解析,当第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为预定文件类型,上述方式通过对待识别文件中的文本内容进行语法分析以判断待识别文件的文件类型,相较于现有技术能够提高识别的准确性,减小误判的几率,并且即使待识别文件没有携带扩展名或者扩展名被更改,也不会影响识别结果,从而可以较准确地判断出待识别文件的文件类型。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的文件类型的识别方法的框架图;
图1b是本发明实施例提供的文件类型的识别方法的一流程图;
图2是本发明实施例提供的文件类型的识别方法的另一流程图;
图3是本发明实施例提供的文件类型的识别装置的一结构示意图;
图4是本发明实施例提供的文件类型的识别装置的另一结构示意图;
图5是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种文件类型的识别方法和装置。
电子设备(例如智能手机、平板电脑或台式计算机等)对文件进行处理之前,通常需要识别文件类型,以根据文件类型对文件进行处理,例如在程序开发过程中,当开发人员将各种脚本语言文件上传至服务器(计算机的一种)时,服务器接收到脚本语言文件时需识别出脚本语言文件的文件类型,以根据文件类型对脚本语言文件进行处理,例如执行脚本语言文件中的代码等。又如,当电脑的杀毒应用或垃圾清理应用在扫描各种文件时也需要识别文件类型,以根据文件类型确定是否需要删除或保留文件,等等。
因此,本发明实施例提供的文件类型的识别装置,具体可以集成需识别文件类型的各种电子设备中。
例如,以集成在服务器中为例,如图1a所示,当服务器接收到待识别文件,通过读取待识别文件中的第一文本特征,并将第一文本特征与预定文件类型的多个第二文本特征进行匹配,其中每个第二文本特征对应一个语法规则,当第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则,其中可以预先建立预设文件类型的每个第二文本特征与其对应的语法规则之间的对应关系,以根据该对应关系获取匹配成功的第二文本特征对应的语法规则,从而根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析,若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为预定文件类型。
上述方式中,通过对待识别文件中的文本内容进行语法解析来识别待识别文件的文件类型,相较于现有方式而言,能够提高识别的准确性,降低误判的几率,并且由于不依赖于文件扩展名,因此即使文件没有携带扩展名或者扩展名被更改,也能够正确识别文件的文件类型。
以下分别进行详细说明。
参阅图1b,本发明一实施例的文件类型的识别方法的具体流程,包括:
步骤S101:读取待识别文件的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配,每个第二文本特征对应一个语法规则。
待识别文件例如可以是未携带扩展名的未知文件类型的文件。第一文本特征是指待识别文件中所记录的文本特征信息,例如可以是待识别文件中的关键字,关键字是指计算机语言里事先定义的、有特别意义的标识符,例如if、for、while、def等关键字,不同的计算机语言可以具有相同的关键字,其中可以通过提取待识别文件中的关键字以获取第一文本特征。或者,第一文本特征也可以以其他方式取得,如逐一读取待识别文件中的每一单词,每一单词作为一个第一文本特征,其中单词可以根据预设的读取规则进行读取,该预设的读取规则例如可以是将一个由英文字母构成的单词视为一个单词,一个字符例如一个标点符号视为一个单词。
其中,可以读取一个第一文本特征进行文件类型识别,也可以读取多个第一文本特征进行文件类型识别。例如,以读取一个第一文本特征进行文件类型识别,且第一文本特征为关键字为例,对待识别文件的文本内容依次进行扫描,当扫描到第一个关键字则将该关键字作为一个第一文本特征,然后将该第一文本特征与预定文件类型的多个第二文本特征进行匹配。
其中,每个第二文本特征对应一个语法规则。预定文件类型例如可以是javascript语言文件类型、python语言文件类型、php语言文件类型、html语言文件类型或vbs语言文件类型,第二文本特征指表征文件为预定文件类型的关键字,以预定文件类型为javascript语言文件类型为例,第二文件特征为javascript语言中的关键字,例如包括if、while等。其中,预先存储预定文件类型的多个第二文本特征及其对应的语法规则,多个第二文本特征及其对应的语法规则可以由开发人员根据具体的预定文件类型进行确定并输入,从而通过接收输入的数据以获取并存储多个第二文本特征及其对应的语法规则。
将第一文本特征与多个第二文本特征进行匹配的具体过程,例如可以是将第一文本特征与多个第二文本特征一一进行对比,直至在多个第二文本特征中找到与第一文本特征相一致的第二文本特征,则匹配成功。例如,当读取到的第一文本特征为if,则在多个第二文本特征中查找是否存在if,若存在,则第一文本特征if与多个第二文本特征中的第二文本特征if匹配成功,若多个第二文本特征中不存在第二文本特征if,则匹配失败。
步骤S102:当第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则。
其中,当第一文本特征与多个第二文本特征均不匹配,即多个第二文本特征中不存在与第一文本特征对应的第二文本特征,说明该第一文本特征可能并不属于预定文件类型的关键字,例如,若预定文件类型为javascript语言文件类型,多个第二文本特征均为javascript语言中的关键字,当第一文本特征与多个第二文本特征均不匹配,说明该第一文本特征并非是javascript语言中的关键字,其所在的待识别文件也就不属于javascript语言文件类型,说明待识别文件的文件类型识别失败,其并非预定文件类型的文件,此时可退出待识别文件的识别进程,等待或开始下一个文件的识别。
当在多个第二文本特征中查询到与第一文本特征一致的第二文本特征,说明匹配成功,此时获取第二文本特征对应的语法规则,该语法规则即是指在预定文件类型的文件中使用第二文本特征的格式,例如,以预定文件类型为javascript语言文件类型、第二文本特征为if为例,在文件类型为javascript语言文件类型的文件中,使用if的语法规则(也即格式)必须为:
Figure BDA0001285668400000051
Figure BDA0001285668400000061
上述if关键字的语法规则表明,if关键字之后需有“(”、“)”、“{”、“}”这四个字符。
其中,在读取待识别文件中的第一文本特征之前,包括如下步骤:获取预定文件类型的多个第二文本特征以及与每个第二文本特征对应的语法规则;建立每个第二文本特征与对应语法规则之间的对应关系。从而,在步骤S102中可以根据该对应关系获取匹配成功的第二文本特征对应的语法规则。其中,可以根据开发人员的输入信息获取预定文件类型的多个第二文本特征以及与每个第二文本特征对应的语法规则。例如,可以建立一映射关系表以存储多个第二文本特征和相应的语法规则,如下表1所示:
Figure BDA0001285668400000062
表1第二文本特征与语法规则映射关系表
根据上表1,可以确定每个第二文本特征所对应的语法规则。语法规则的记录形式可以有多种,例如,javascript语言文件类型的文件中的if,其对应的语法规则在映射关系表中的记录形式例如可以为:“if(){}”,或者为:“if(条件){当条件为true时执行的代码}”,等等。
步骤S103:根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析。
其中,第一文本特征携带的表达式的确定过程同时也是对该表达式的语法解析过程。
具体地,该步骤S103包括以下子步骤:根据获取的语法规则确定表征语法规则的语法特征信息;判断第一文本特征携带的表达式中是否存在与语法特征信息对应的目标特征信息,以对第一文本特征携带的表达式进行语法解析;若存在目标特征信息,则判断第一文本特征携带的表达式的语法符合获取的语法规则。
语法特征信息是指表征语法规则的特征信息,每个第二文本特征对应的语法规则都有其相应的语法特征信息,例如在javascript语言文件类型的文件中,对于if而言,根据其相应的语法规则确定的语法特征信息为“(”、“)”、“{”、“}”四个字符。又如,对于python语言文件类型的文件中,if对应的语法规则为:
Figure BDA0001285668400000071
因此,python语言文件类型的文件中,if的语法规则为,在if关键字之后没有“(”、“)”、“{”和“}”的字符,且在“条件”后有“:”字符,因此根据其语法规则确定python语言文件类型的文件中,if对应的语法规则的语法特征信息为“:”、且if关键字之后不存在“(”、“)”、“{”和“}”的字符。
为便于理解本发明,以下将举例说明第一文本特征携带的表达式的语法解析过程:
例如,以预定文件类型为为例,if关键字作为javascript语言文件类型的一个第二文本特征记录在映射关系表上,且if关键字对应的语法规则也一同记录在映射关系表上,if关键字对应的语法规则可参考上述的描述,不再赘述。
假设待识别文件中具有以下文本内容:
Figure BDA0001285668400000072
通过扫描上述文本内容获取关键字if,从而获取待识别文件中的第一文本特征。将获取的if关键字与映射关系表中的多个第二文本特征进行匹配,当在映射关系表中查询到第二文本特征if,说明获取的if关键字与第二文本特征if匹配成功,此时获取第二文本特征if对应的语法规则,该语法规则例如如下:
Figure BDA0001285668400000081
根据该语法规则,确定表征该语法规则的语法特征信息为“(”、“)”、“{”、“}”,然后判断第一文本特征携带的表达式中是否存在与语法特征信息对应的目标特征信息,具体地,依次读取待识别文件中if关键字之后的文本内容,例如依次读取到的文本内容为:(、a、>、0、)、{、a、=、0、},由此,根据读取的内容可判断出,在if关键字之后携带有“(”、“)”、“{”、“}”,也即与语法特征信息对应的目标特征信息,即在if关键字携带的表达式中存在目标特征信息,此时判断if关键字携带的表达式符合第二文本特征if对应的语法规则。
其中,语法解析的过程也是if关键字携带的表达式的确定过程,具体而言,根据第二文本特征if对应的语法规则可知,if的语法规则中是以“(”开始,并且以“}”结尾,根据该语法规则,依次读取待识别文件中if关键字之后的文本内容时,若读取到if关键字之后的有“(”,则以该“(”为if关键字的表达式的起始位置,直至读取到“}”,则以该“}”为if关键字的表达式的结束位置,由此确定if关键字携带的表达式的范围,而语法解析过程也为判断if之后的文本内容是否存在“(”、“)”、“{”、“}”。
步骤S104:若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为预定文件类型。
例如,若预定文件类型为javascript语言文件类型,对于上述例子(即上述if(a>0)的例子),根据语法解析的结果可知,待识别文件中的if关键字携带的表达式符合第二文本特征if对应的语法规则,此时判断待识别文件的文件类型为预定文件类型,即待识别文件的文件类型识别成功,之后可以结束对待识别文件的识别进程,等待或开始下一个文件的识别。
其中,当第一文本特征携带的表达式的语法不符合获取的语法规则,说明待识别文件的文件类型并非预定文件类型,此时可结束待识别文件的识别进程,等待或开始下一个文件的识别。例如,javascript语言和python语言都具有if关键字,对于上述例子(即上述if(a>0)的例子),无论预定文件类型是javascript语言文件类型还是python语言文件类型,当读取到待识别文件中的if关键字时,在映射关系表中均能找到与if关键字匹配的第二文本特征if,但javascript语言和python语言的if关键字的语法规则不同,若预定文件类型为python语言文件类型,则当读取待识别文件中if关键字之后的文本内容时,会读取到“(”,而python语言的if关键字的语法规则中并没有“(”,此时即可判断第一文本特征携带的表达式的语法不符合python语言的if关键字的语法规则,因此判断待识别文件并非预定文件类型,识别过程结束。
通过上述方式,本发明实施例能够提高文件类型识别的准确性,降低误判的几率,并且由于不依赖文件扩展名,因此即使文件未携带扩展名或扩展名被更改,也不影响识别结果,有利于提高识别准确性。
对于不同的计算机语言,关键字可能会存在相同,且一些关键字对应的语法规则可能也会存在相同,使用越多的关键字进行文件类型识别,则误判的几率越小,因此在本发明的另一实施例中,为了进一步提高识别的准确性,通过读取多个第一文本特征进行文件类型的识别。具体地,参阅图2,在本发明文件类型的识别方法的另一实施例中,包括以下步骤:
步骤S201:获取预先存储的映射关系表,映射关系表用于保存预定文件类型的多个第二文本特征以及每个文本特征对应的语法规则。
其中,预先创建一映射关系表用以存储预定文件类型的多个第二文本特征以及对应的语法规则,映射关系表例如可以以数据库表的形式进行创建并保存,当需要进行文件类型的识别时,先调用该映射关系表,以确定预定文件类型的多个第二文本特征以及对应的语法规则。
步骤S202:依次读取待识别文件中的多个单词,将读取到的一个单词作为一个第一文本特征,每读取一个单词则将当前读取到的单词与映射关系表中的多个第二文本特征进行匹配。
本实施例中,单词的选取规则为:由英文字母构成的字符串视为一个单词,一个标点符号也视为一个单词,例如,待识别文件中具有以下文本内容:
Figure BDA0001285668400000101
根据单词的选取规则,可以拆分为以下多个单词:
Figure BDA0001285668400000102
为了提高识别的效率,本实施例中,依次读取待识别文件中的多个单词,具体包括:根据预设的获取规则获取待识别文件中的部分文本内容,依次读取部分文本内容中的多个单词,以获取待识别文件中的多个单词。
通过获取待识别文件中的部分文本内容的多个单词进行文件类型的识别,相比于扫描待识别文件的全文内容进行文件类型的识别过程,可以提高识别的效率。
其中,预设的获取规则用以指示所获取的部分文本内容的位置,可以根据实际需要进行设定,例如可以是获取待识别文件中的前十行文本内容,或者获取待识别文件中的后十行,或者获取待识别文件中的第20~50行的文本内容。
例如,获取的待识别文件中的部分文本内容如下:
Figure BDA0001285668400000111
根据上述的单词选取规则,读取到的第一个单词为import,将读取到的单词作为一个第一文本特征以与预定文件类型的多个第二文本特征进行匹配。
步骤S203:当当前读取到的单词与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则。
例如,预定文件类型为python语言文件类型,多个第二文本特征包括import、if、def、try、__main__等等,当当前读取到的单词为import与多个第二文本特征中的import匹配成功,则确定第二文本特征import对应的语法规则。
步骤S204:根据获取的语法规则确定第一文本特征携带的表达式,以及对当前读取到的单词携带的表达式进行语法解析。
其中,根据匹配成功的第二文本特征对应的语法规则,可以确定当前读取到的单词携带的表达式,并且根据对应的语法规则判断该表达式的语法是否符合相应的语法规则,其中表达式的确定方式以及语法解析过程具体可参考前述实施例中关于javascript语言的if关键字的表达式的确定及其语法解析过程,不再一一赘述。
步骤S205:若当前读取到的单词携带的表达式符合语法规则,则将当前读取到的单词携带的表达式之后的第一个单词作为下一个单词进行读取,以读取下一个第一文本特征并将下一个第一文本特征与多个第二文本特征进行匹配,其中,当所读取的作为第一文本特征的多个单词携带的表达式的语法均符合相应的语法规则,则将待识别文件的文件类型识别为预定文件类型。
举例而言,对于上述待识别文件的部分文本内容,若当前读取的单词import与预定文件类型的其中一个第二文本特征匹配成功,则进行语法解析,若当前读取到的单词import携带的表达式sys的语法符合第二文本特征import对应的语法规则,则获取sya之后的第一个单词def作为下一个单词进行读取,以作为下一个第一文本特征与预定文件类型的多个第二文本特征进行匹配,而根据def对应的语法规则可确定待识别文件中的def携带的表达式为:main():print"hello",当def携带的表达式的语法符合第二文本特征def对应的语法规则,则获取表达式main():print"hello"之后的第一个单词if作为下一个第一文本特征进行匹配,以此类推,直至读取至部分文本内容的结尾。
其中,当所读取的作为第一文本特征的多个单词携带的表达式的语法均符合相应的语法规则,则将待识别文件的文件类型识别为预定文件类型,若读取的其中一个作为第一文本特征的单词携带的表达式的语法不符合相应的语法规则,则判断待识别文件不是预定文件类型,识别结果失败,结束对该待识别文件的识别进程。
步骤S206:当当前读取到的单词与多个第二文本特征均不匹配,则判断当前读取到的单词是否为待识别文件的结束标记。
其中,在预定文件类型的多个第二文本特征中,不包括待识别文件的结束标记。在本实施例中,若作为第一文本特征的单词与多个第二文本特征均不匹配,进一步地,判断该单词是否为待识别文件的结束标记,该结束标记是指待识别文件的文本内容的结束标记。由于多个第二文本特征中不包括结束标记,因此若读取的单词为待识别文件的结束标记,其与多个第二文本特征均不会匹配,因此若作为第一文本特征的单词与多个第二文本特征均不匹配时,需判断该单词是否为结束标记。
步骤S207:若当前读取到的单词为待识别文件的结束标记,则将待识别文件的文件类型识别为预定文件类型。
若当前读取到的单词为待识别文件的结束标记,则说明在该单词之前的所有文本内容均符合相应的语法规则,此时将待识别文件的文件类型识别为预定文件类型,并结束对待识别文件的识别进程。若该单词不是待识别文件的结束标记,则说明该单词并不属于预定文件类型的关键字,即存在不合法的关键字,此时判断待识别文件不是预定文件类型,识别结果失败,结束对该待识别文件的识别进程。
通过本实施例,通过获取待识别文件的部分文本内容进行识别,可以提高识别的效率,且通过读取多个第一文本特征进行匹配,当读取的多个第一文本特征携带的表达式均符合相应语法规则时才判断待识别文件的文件类型为预定文件类型,能够进一步提高识别的准确性,降低误判的几率。
参阅图3,本发明实施例提供的一种文件类型的识别装置,可以集成在各种电子设备中,例如服务器、智能手机、笔记本电脑、台式计算机或平板电脑等等,用于对文件的文件类型进行识别。如图所示,识别装置包括匹配模块301、获取模块302、解析模块303、处理模块304和设置模块305。
其中,匹配模块301用于读取待识别文件的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配,其中每个第二文本特征对应一个语法规则。
待识别文件例如可以是未携带扩展名的未知文件类型的文件。第一文本特征是指待识别文件中所记录的文本特征信息,例如可以是待识别文件中的关键字,关键字是指计算机语言里事先定义的、有特别意义的标识符,例如if、for、while、def等关键字。或者,第一文本特征也可以以其他方式取得,如逐一读取待识别文件中的每一单词,每一单词作为一个第一文本特征,其中单词可以根据预设的读取规则进行读取,该预设的读取规则例如可以是将一个由英文字母构成的单词视为一个单词,一个字符例如一个标点符号视为一个单词。
预定文件类型例如可以是javascript语言文件类型、python语言文件类型、php语言文件类型、html语言文件类型或vbs语言文件类型,第二文本特征指表征文件为预定文件类型的关键字,以预定文件类型为javascript语言文件类型为例,第二文件特征为javascript语言中的关键字,例如包括if、while等。
将第一文本特征与多个第二文本特征进行匹配的具体过程,例如可以是将第一文本特征与多个第二文本特征一一进行对比,直至在多个第二文本特征中找到与第一文本特征相一致的第二文本特征,则匹配成功,若多个第二文本特征中不存在与第一文本特征相一致的第二文本特征,则匹配失败。
获取模块302用于当第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则。
其中,当第一文本特征与多个第二文本特征均不匹配,即多个第二文本特征中不存在与第一文本特征对应的第二文本特征,说明该第一文本特征可能并不属于预定文件类型的关键字,说明待识别文件的文件类型识别失败,其并非预定文件类型的文件,此时可退出待识别文件的识别进程,等待或开始下一个文件的识别。
当在多个第二文本特征中查询到与第一文本特征一致的第二文本特征,说明匹配成功,此时获取第二文本特征对应的语法规则,该语法规则即是指在预定文件类型的文件中使用第二文本特征的格式。
其中,在匹配模块301读取待识别文件的第一文本特征之前,设置模块305用于获取预定文件类型的多个第二文本特征以及与每个第二文本特征对应的语法规则,并建立每个第二文本特征与对应语法规则之间的对应关系,获取模块302具体用于根据该对应关系获取匹配成功的第二文本特征对应的语法规则。
解析模块303用于根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析。
具体地,解析模块303用于根据获取的语法规则确定表征语法规则的语法特征信息,并判断第一文本特征携带的表达式中是否存在与语法特征信息对应的目标特征信息,以对第一文本特征携带的表达式进行语法解析,其中,若存在目标特征信息,则判断第一文本特征携带的表达式的语法符合获取的语法规则。
语法特征信息是指表征语法规则的特征信息,每个第二文本特征对应的语法规则都有其相应的语法特征信息,例如在javascript语言文件类型的文件中,对于if而言,根据其相应的语法规则确定的语法特征信息为“(”、“)”、“{”、“}”四个字符。
为便于理解本发明,以下将举例说明第一文本特征携带的表达式的语法解析过程:
例如,以预定文件类型为为例,if关键字作为javascript语言文件类型的一个第二文本特征记录在映射关系表上,且if关键字对应的语法规则也一同记录在映射关系表上,if关键字对应的语法规则可参考上述的描述,不再赘述。
假设待识别文件中具有以下文本内容:
Figure BDA0001285668400000151
通过扫描上述文本内容获取关键字if,从而获取待识别文件中的第一文本特征。将获取的if关键字与映射关系表中的多个第二文本特征进行匹配,当在映射关系表中查询到第二文本特征if,说明获取的if关键字与第二文本特征if匹配成功,此时获取第二文本特征if对应的语法规则,该语法规则例如如下:
Figure BDA0001285668400000152
根据该语法规则,确定表征该语法规则的语法特征信息为“(”、“)”、“{”、“}”,然后判断第一文本特征携带的表达式中是否存在与语法特征信息对应的目标特征信息,具体地,依次读取待识别文件中if关键字之后的文本内容,例如依次读取到的文本内容为:(、a、>、0、)、{、a、=、0、},由此,根据读取的内容可判断出,在if关键字之后携带有“(”、“)”、“{”、“}”,也即与语法特征信息对应的目标特征信息,即在if关键字携带的表达式中存在目标特征信息,此时判断if关键字携带的表达式符合第二文本特征if对应的语法规则。
其中,语法解析的过程也是if关键字携带的表达式的确定过程,具体而言,根据第二文本特征if对应的语法规则可知,if的语法规则中是以“(”开始,并且以“}”结尾,根据该语法规则,依次读取待识别文件中if关键字之后的文本内容时,若读取到if关键字之后的有“(”,则以该“(”为if关键字的表达式的起始位置,直至读取到“}”,则以该“}”为if关键字的表达式的结束位置,由此确定if关键字携带的表达式的范围,而语法解析过程也为判断if之后的文本内容是否存在“(”、“)”、“{”、“}”。
处理模块304用于若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为预定文件类型。
例如,若预定文件类型为javascript语言文件类型,对于上述例子(即上述if(a>0)的例子),根据语法解析的结果可知,待识别文件中的if关键字携带的表达式符合第二文本特征if对应的语法规则,此时判断待识别文件的文件类型为预定文件类型,即待识别文件的文件类型识别成功,此时可以结束对待识别文件的识别进程,等待或开始下一个文件的识别。
其中,当第一文本特征携带的表达式的语法不符合获取的语法规则,说明待识别文件的文件类型并非预定文件类型,此时可退出带识别文件的识别进程,等待或开始下一个文件的识别。
通过上述方式,本发明实施例能够提高文件类型识别的准确性,降低误判的几率,并且由于不依赖文件扩展名,因此即使文件未携带扩展名或扩展名被更改,也不影响识别结果,有利于提高识别准确性。
参阅图4,本发明实施例提供的另一种文件类型的识别装置中,匹配模块401具体用于依次读取待识别文件中的多个单词,将读取到的一个单词作为一个第一文本特征,每读取一个单词则将当前读取到的单词与预定文件类型的多个第二文本特征进行匹配。
本实施例中,单词的选取规则为:由英文字母构成的字符串视为一个单词,一个标点符号也视为一个单词。
为了提高识别的效率,本实施例中,匹配模块401根据预设的获取规则获取待识别文件中的部分文本内容,并依次读取部分文本内容中的多个单词,以获取待识别文件中的多个单词。
通过获取待识别文件中的部分文本内容的多个单词进行文件类型的识别,相比于扫描待识别文件的全文内容进行文件类型的识别过程,可以提高识别的效率。
其中,预设的获取规则用以指示所获取的部分文本内容的位置,可以根据实际需要进行设定,例如可以是获取待识别文件中的前十行文本内容,或者获取待识别文件中的后十行,或者获取待识别文件中的第20~50行的文本内容。
例如,获取的待识别文件中的部分文本内容如下:
Figure BDA0001285668400000171
根据上述的单词选取规则,读取到的第一个单词为import,将读取到的单词作为一个第一文本特征以与预定文件类型的多个第二文本特征进行匹配。
获取模块402用于当当前读取到的单词与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则。
解析模块403用于根据获取的语法规则确定当前读取到的单词所携带的表达式,以及对当前读取到的单词携带的表达式进行语法解析。其中,根据匹配成功的第二文本特征对应的语法规则,可以确定当前读取到的单词携带的表达式,并且根据对应的语法规则判断该表达式的语法是否符合相应的语法规则。
其中,当当前读取到的单词携带的表达式符合语法规则,则匹配模块401将当前读取到的单词携带的表达式之后的第一个单词作为下一个单词进行读取,以读取下一个第一文本特征并将下一个第一文本特征与多个第二文本特征进行匹配。
处理模块404具体用于当所读取的作为第一文本特征的多个单词携带的表达式的语法均符合相应的语法规则,则将待识别文件的文件类型识别为预定文件类型。
举例而言,对于上述待识别文件的部分文本内容,若当前读取的单词import与预定文件类型的其中一个第二文本特征匹配成功,则解析模块403进行语法解析,若当前读取到的单词import携带的表达式sys的语法符合第二文本特征import对应的语法规则,则匹配模块401获取sya之后的第一个单词def作为下一个单词进行读取,以作为下一个第一文本特征与预定文件类型的多个第二文本特征进行匹配,而根据def对应的语法规则可确定待识别文件中的def携带的表达式为:main():print"hello",当def携带的表达式的语法符合第二文本特征def对应的语法规则,则匹配模块401获取表达式main():print"hello"之后的第一个单词if作为下一个第一文本特征进行匹配,以此类推,直至读取至部分文本内容的结尾。
其中,当所读取的作为第一文本特征的多个单词携带的表达式的语法均符合相应的语法规则,则处理模块404将待识别文件的文件类型识别为预定文件类型,若读取的其中一个作为第一文本特征的单词携带的表达式的语法不符合相应的语法规则,则处理模块404判断待识别文件不是预定文件类型,识别结果失败,退出对该待识别文件的识别进程,等待或开始下一个文件的识别。
其中,识别装置进一步还包括判断模块405。判断模块405用于当其中一个作为第一文本特征的单词与多个第二文本特征均不匹配时,判断该单词是否为待识别文件的结束标记。
在本实施例中,若其中一个作为第一文本特征的单词与多个第二文本特征均不匹配,进一步地,判断该单词是否为待识别文件的结束标记。若该单词为待识别文件的结束标记,则说明在该单词之前的所有文本内容均符合相应的语法规则,此时处理模块404将待识别文件的文件类型识别为预定文件类型,若该单词不是待识别文件的结束标记,则说明该单词并不属于预定文件类型的关键字,即存在不合法的关键字,此时处理模块404判断待识别文件不是预定文件类型,识别结果失败,退出对该待识别文件的识别进程,等待或开始下一个文件的识别。
通过本实施例,通过获取待识别文件的部分文本内容进行识别,可以提高识别的效率,且通过读取多个第一文本特征进行匹配,当读取的多个第一文本特征携带的表达式均符合相应语法规则时才判断待识别文件的文件类型为预定文件类型,能够进一步提高识别的准确性,降低误判的几率。
相应的,本发明实施例还提供一种电子设备,电子设备例如可以是智能手机或平板电脑等,如图5所示,该电子设备可以包括射频(RF,Radio Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,RF电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路501还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。
输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元504可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图5中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
电子设备还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在电子设备移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路506、扬声器,传声器可提供用户与电子设备之间的音频接口。音频电路506可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经RF电路501以发送给比如另一电子设备,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
WiFi属于短距离无线传输技术,电子设备通过WiFi模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块507,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器508是电子设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。
电子设备还包括给各个部件供电的电源509(比如电池),优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现各种功能:
读取待识别文件中的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配,其中每个第二文本特征对应一个语法规则,当第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则,并根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析,若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为预定文件类型。
其中,可以根据获取的语法规则确定表征语法规则的语法特征信息,并判断第一文本特征携带的表达式中是否存在与语法特征信息对应的目标特征信息,以对第一文本特征携带的表达式进行语法解析,其中,若存在目标特征信息,则判断第一文本特征携带的表达式的语法符合获取的语法规则。
其中,当第一文本特征与多个第二文本特征均不匹配时,判断第一文本特征是否为待识别文件的结束标记,若是,则将待识别文件的文件类型识别为预定文件类型。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例的电子设备在在进行文件类型识别时,首先判断待识别文件的第一文本特征是否与预定文件类型的多个第二文本特征匹配,若第一文本特征与其中一个第二文本特征匹配成功,则获取匹配成功的第二文本特征对应的语法规则,并根据获取的语法规则对第一文本特征携带的表达式进行语法解析,当第一文本特征携带的表达式的语法符合获取的语法规则时,判断待识别文件为预定文件类型,通过上述方式,可以提高识别的准确性,降低误判的几率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种活体检测方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种文件类型的识别方法,其特征在于,包括:
获取预定文件类型的多个第二文本特征、以及每个第二文本特征对应的语法规则,所述第二文本特征包括所述预定文件类型的文件中的关键字,所述语法规则的语法特征信息包括所述预定文件类型的文件中表征语法规则的字符,不同预定文件类型的文件至少存在一个相同的第二文本特征,至少一个相同的第二文本特征在不同预定文件类型的文件中的语法特征信息不同;
建立每个第二文本特征与对应语法规则之间的对应关系;
读取待识别文件中的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配;
当第一文本特征与其中一个第二文本特征匹配成功,则根据所述对应关系获取匹配成功的第二文本特征对应的语法规则;
根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析;
若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为所述预定文件类型。
2.根据权利要求1所述的识别方法,其特征在于,所述根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析,包括:
根据获取的语法规则确定表征所述语法规则的语法特征信息;
判断第一文本特征携带的表达式中是否存在与所述语法特征信息对应的目标特征信息,以对第一文本特征携带的表达式进行语法解析;
若存在所述目标特征信息,则判断第一文本特征携带的表达式的语法符合获取的语法规则。
3.根据权利要求1所述的识别方法,其特征在于,所述将第一文本特征与预定文件类型的多个第二文本特征进行匹配之后,还包括:
当第一文本特征与多个第二文本特征均匹配不成功,则判断第一文本特征是否为待识别文件的结束标记;
若第一文本特征为待识别文件的结束标记,则将待识别文件的文件类型识别为所述预定文件类型。
4.根据权利要求1所述的识别方法,其特征在于,
所述读取待识别文件中的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配,包括:依次读取待识别文件中的多个单词,将读取到的一个单词作为一个第一文本特征,每读取一个单词,则将当前读取到的单词与预定文件类型的多个第二文本特征进行匹配;
所述若第一文本特征携带的表达式的语法符合预设的语法规则,则将待识别文件的文件类型识别为所述预定文件类型,包括:当读取到的多个单词携带的表达式的语法均符合预设的相应语法规则时,将待识别文件的文件类型识别为预定文件类型。
5.根据权利要求4所述的识别方法,其特征在于,所述依次读取待识别文件中的多个单词,包括:
根据预设的获取规则获取待识别文件中的部分文本内容;
依次读取所述部分文本内容中的多个单词,以获取待识别文件中的多个单词。
6.一种文件类型的识别装置,其特征在于,包括:
匹配模块,用于获取预定文件类型的多个第二文本特征、以及每个第二文本特征对应的语法规则,所述第二文本特征包括所述预定文件类型的文件中的关键字,所述语法规则的语法特征信息包括所述预定文件类型的文件中表征语法规则的字符,不同预定文件类型的文件至少存在一个相同的第二文本特征,至少一个相同的第二文本特征在不同预定文件类型的文件中的语法特征信息不同,建立每个第二文本特征与对应语法规则之间的对应关系,读取待识别文件中的第一文本特征,将第一文本特征与预定文件类型的多个第二文本特征进行匹配;
获取模块,用于当第一文本特征与其中一个第二文本特征匹配成功,则根据所述对应关系获取匹配成功的第二文本特征对应的语法规则;
解析模块,用于根据获取的语法规则确定第一文本特征携带的表达式,以及对第一文本特征携带的表达式进行语法解析;
处理模块,用于若第一文本特征携带的表达式的语法符合获取的语法规则,则将待识别文件的文件类型识别为所述预定文件类型。
7.根据权利要求6所述的识别装置,其特征在于,所述解析模块具体用于:
根据获取的语法规则确定表征所述语法规则的语法特征信息;
判断第一文本特征携带的表达式中是否存在与所述语法特征信息对应的目标特征信息,以对第一文本特征携带的表达式进行语法解析;
若存在所述目标特征信息,则判断第一文本特征携带的表达式的语法符合获取的语法规则。
8.根据权利要求6所述的识别装置,其特征在于,还包括判断模块;
所述判断模块,用于当第一文本特征与多个第二文本特征均匹配不成功,则判断第一文本特征是否为待识别文件的结束标记;
所述处理模块,还用于若第一文本特征为待识别文件的结束标记,则将待识别文件的文件类型识别为所述预定文件类型。
9.根据权利要求6所述的识别装置,其特征在于,
所述匹配模块具体用于依次读取待识别文件中的多个单词,将读取到的一个单词作为一个第一文本特征,每读取一个单词则将当前读取到的单词与预定文件类型的多个第二文本特征进行匹配;
所述处理模块具体用于当读取到的多个单词携带的表达式的语法均符合预设的相应语法规则时,将待识别文件的文件类型识别为预定文件类型。
10.根据权利要求9所述的识别装置,其特征在于,所述匹配模块具体用于根据预设的获取规则获取待识别文件中的部分文本内容,并依次读取所述部分文本内容中的多个单词,以获取待识别文件中的多个单词。
11.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至5任一项所述方法的步骤。
12.一种计算机存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至5任一项所述的识别方法。
CN201710305876.0A 2017-05-03 2017-05-03 一种文件类型的识别方法和装置 Active CN108304369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710305876.0A CN108304369B (zh) 2017-05-03 2017-05-03 一种文件类型的识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710305876.0A CN108304369B (zh) 2017-05-03 2017-05-03 一种文件类型的识别方法和装置

Publications (2)

Publication Number Publication Date
CN108304369A CN108304369A (zh) 2018-07-20
CN108304369B true CN108304369B (zh) 2020-12-01

Family

ID=62872195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710305876.0A Active CN108304369B (zh) 2017-05-03 2017-05-03 一种文件类型的识别方法和装置

Country Status (1)

Country Link
CN (1) CN108304369B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134644A (zh) * 2019-05-17 2019-08-16 成都卫士通信息产业股份有限公司 文件类型识别方法、装置、电子设备及可读存储介质
CN111143849B (zh) * 2019-12-31 2022-06-24 奇安信科技集团股份有限公司 应用于电子设备的文件类型识别方法和装置、电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442535A (zh) * 2008-12-19 2009-05-27 中山大学 一种基于关键词序列的应用识别与跟踪方法
CN104252531A (zh) * 2014-09-11 2014-12-31 北京优特捷信息技术有限公司 一种文件类型识别方法及装置
CN105426711A (zh) * 2015-11-18 2016-03-23 北京理工大学 一种计算机软件源代码相似度检测方法
CN105808583A (zh) * 2014-12-30 2016-07-27 Tcl集团股份有限公司 文件类型识别方法及装置
CN105975575A (zh) * 2016-05-04 2016-09-28 电子科技大学 一种数据类型自动化识别方法
CN106227668A (zh) * 2016-07-29 2016-12-14 腾讯科技(深圳)有限公司 数据处理方法和装置
CN106528110A (zh) * 2016-10-31 2017-03-22 郑州云海信息技术有限公司 一种基于Spirng Quartz的定时表达式的解析方法
CN106572117A (zh) * 2016-11-11 2017-04-19 北京安普诺信息技术有限公司 一种WebShell文件的检测方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719007B2 (en) * 2010-09-27 2014-05-06 Hewlett-Packard Development Company, L.P. Determining offer terms from text

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442535A (zh) * 2008-12-19 2009-05-27 中山大学 一种基于关键词序列的应用识别与跟踪方法
CN104252531A (zh) * 2014-09-11 2014-12-31 北京优特捷信息技术有限公司 一种文件类型识别方法及装置
CN105808583A (zh) * 2014-12-30 2016-07-27 Tcl集团股份有限公司 文件类型识别方法及装置
CN105426711A (zh) * 2015-11-18 2016-03-23 北京理工大学 一种计算机软件源代码相似度检测方法
CN105975575A (zh) * 2016-05-04 2016-09-28 电子科技大学 一种数据类型自动化识别方法
CN106227668A (zh) * 2016-07-29 2016-12-14 腾讯科技(深圳)有限公司 数据处理方法和装置
CN106528110A (zh) * 2016-10-31 2017-03-22 郑州云海信息技术有限公司 一种基于Spirng Quartz的定时表达式的解析方法
CN106572117A (zh) * 2016-11-11 2017-04-19 北京安普诺信息技术有限公司 一种WebShell文件的检测方法和装置

Also Published As

Publication number Publication date
CN108304369A (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN107944380B (zh) 身份识别方法、装置及存储设备
US9800609B2 (en) Method, device and system for detecting malware in a mobile terminal
CN104852885B (zh) 一种进行验证码验证的方法、装置和系统
CN107145780B (zh) 恶意软件检测方法及装置
WO2015058616A1 (zh) 恶意网站的识别方法和装置
CN108089977B (zh) 一种应用程序的异常处理方法、装置及移动终端
CN106649126B (zh) 一种对应用程序进行测试的方法和装置
CN106528545B (zh) 一种语音信息的处理方法及装置
US11164022B2 (en) Method for fingerprint enrollment, terminal, and non-transitory computer readable storage medium
US10956653B2 (en) Method and apparatus for displaying page and a computer storage medium
US20150169874A1 (en) Method, device, and system for identifying script virus
CN109032491B (zh) 数据处理方法、装置以及移动终端
CN108073495B (zh) 应用程序崩溃原因的定位方法及装置
WO2019233316A1 (zh) 数据处理方法、装置、移动终端以及存储介质
CN107493378B (zh) 应用程序登录的方法和装置、计算机设备及可读存储介质
CN109726121B (zh) 一种验证码获取方法和终端设备
CN110069407B (zh) 一种应用程序的功能测试方法和装置
CN108304369B (zh) 一种文件类型的识别方法和装置
CN113190646A (zh) 一种用户名样本的标注方法、装置、电子设备及存储介质
CN111273955A (zh) 热修复插件优化方法、装置、存储介质及电子设备
CN106709330B (zh) 记录文件执行行为的方法及装置
CN109450853B (zh) 恶意网站判定方法、装置、终端及服务器
CN109657469B (zh) 一种脚本检测方法及装置
CN105791253B (zh) 一种获取网站的认证信息的方法和装置
CN109799994B (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