CN111506747B - 文件解析方法、装置、电子设备及存储介质 - Google Patents
文件解析方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111506747B CN111506747B CN202010302073.1A CN202010302073A CN111506747B CN 111506747 B CN111506747 B CN 111506747B CN 202010302073 A CN202010302073 A CN 202010302073A CN 111506747 B CN111506747 B CN 111506747B
- Authority
- CN
- China
- Prior art keywords
- file
- multimedia file
- parser
- resolver
- parsing
- 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
Links
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/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种文件解析方法、装置、电子设备及存储介质,涉及电子技术领域,该方法包括:响应于文件解析请求,获取待解析的多媒体文件;根据多媒体文件的文本特征,查找多媒体文件对应的第一解析器,文本特征用于指示多媒体文件的文件类型;基于第一解析器对多媒体文件进行解析;若解析成功,将多媒体文件的类型标识设置为文本特征指示的文件类型,类型标识用于指示多媒体文件经校验后的文件类型;若解析失败,从指定解析器队列查找到与多媒体文件匹配的第二解析器,将多媒体文件的类型标识设置为第二解析器指示的文件类型。本申请在需解析时先通过文本特征确定一解析器作解析,若解析不成功再查找另一解析器作解析,可提高解析效率及准确率。
Description
技术领域
本申请涉及电子技术领域,更具体地,涉及一种文件解析方法、装置、电子设备及存储介质。
背景技术
随着终端技术的发展,终端可实现的功能日渐丰富,存储空间也在不断增大,在终端可支持打开的文件类型也越来越多。通常,多媒体服务程序需要对终端中存储的多媒体文件进行扫描,比如运行安卓(Android)操作系统的终端,在终端每次开机完成时一般都会触发多媒体服务程序扫描解析终端存储的多媒体文件,并将扫描解析得到的信息存储于数据库中。当用户打开应用时可直接去数据库中读取,而无需用户再等待文件扫描的时间。但是,目前文件扫描解析的方式过于繁琐,耗时较长。
发明内容
本申请实施例提出了一种文件解析方法、装置、电子设备及存储介质,能够提高文件解析效率。
第一方面,本申请实施例提供了一种文件解析方法,该方法包括:响应于文件解析请求,获取待解析的多媒体文件;根据所述多媒体文件的文本特征,查找所述多媒体文件对应的第一解析器,所述文本特征用于指示所述多媒体文件的文件类型;基于所述第一解析器对所述多媒体文件进行解析;若解析成功,将所述多媒体文件的类型标识设置为所述文本特征指示的文件类型,所述类型标识用于指示所述多媒体文件经校验后的文件类型;若解析失败,从指定解析器队列查找到与所述多媒体文件匹配的第二解析器,将所述多媒体文件的类型标识设置为所述第二解析器指示的文件类型。
第二方面,本申请实施例提供了一种文件解析装置,该装置包括:文件获取单元,用于响应于文件解析请求,获取待解析的多媒体文件;解析器查找单元,用于根据所述多媒体文件的文本特征,查找所述多媒体文件对应的第一解析器,所述文本特征用于指示所述多媒体文件的文件类型;文件解析单元,用于基于所述第一解析器对所述多媒体文件进行解析;第一设置单元,用于若解析成功,将所述多媒体文件的类型标识设置为所述文本特征指示的文件类型,所述类型标识用于指示所述多媒体文件经校验后的文件类型第二设置单元,用于若解析失败,从指定解析器队列查找到与所述多媒体文件匹配的第二解析器,将所述多媒体文件的类型标识设置为所述第二解析器指示的文件类型。
第三方面,本申请实施例提供了一种电子设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的文件解析方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的文件解析方法。
本申请实施例提供的一种文件解析方法、装置、电子设备及存储介质,通过响应文件解析请求,获取待解析的多媒体文件,然后根据多媒体文件的文本特征,查找多媒体文件对应的第一解析器,其中,文本特征用于指示多媒体文件的文件类型,基于第一解析器对多媒体文件进行解析,若解析成功,将多媒体文件的类型标识设置为文本特征指示的文件类型,其中,类型标识用于指示多媒体文件经校验后的文件类型,若解析失败,从指定解析器队列查找到与多媒体文件匹配的第二解析器,将多媒体文件的类型标识设置为第二解析器指示的文件类型。由此,本申请实施例在需要对文件进行解析时,可以先根据文本特征确定一个解析器即第一解析器进行解析,如果解析成功,可认为该文件的真实文件类型为第一解析器指示的文件类型,如此可大大提高文件效率;而如果解析不成功,可再根据指定解析器队列查找另一解析器即第二解析器,并认为文件的真实文件类型为第二解析器指示的文件类型,以便后续获取该文件正确的信息,并有利于后续该文件的正常使用,从而可以在文本特征无法正确指示文件的文件类型时,重新确定文件类型。综上,本申请实施例一方面既可先通过文本特征做一轮校验提高解析效率,另一方面也可通过二轮校验保证解析的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个实施例提供的文件解析方法的流程示意图。
图2示出了本申请另一个实施例提供的文件解析方法的流程示意图。
图3示出了本申请一个示例性实施例提供的图2中步骤S260的流程示意图。
图4示出了本申请一个示例性实施例提供的确定指定解析器队列的方法的流程示意图。
图5示出了本申请又一个实施例提供的文件解析方法的流程示意图。
图6示出了本申请再一个实施例提供的文件解析方法的流程示意图。
图7示出了本申请实施例提供的文件解析装置的模块框图。
图8示出了本申请实施例提供的电子设备的结构框图。
图9示出了本申请实施例提供的用于保存或者携带实现根据本申请实施例的文件解析方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
术语定义
文件类型:又称文件格式,是指电脑为了存储信息而使用的对信息的特殊编码方式,是用于识别内部储存的资料。比如有的储存图片,有的储存程序,有的储存文字信息。每一类信息,都可以一种或多种文件格式保存在电脑存储中。每一种文件格式通常会有一种或多种扩展名可以用来识别,但也可能没有扩展名。扩展名可以帮助应用程序识别的文件格式。以音、视频文件为例,文件类型可包括但不限于MP3、MP4、MKV、FLV等。
后缀名:后缀名也可称为扩展名(Extension),文件扩展名(FilenameExtension),是操作系统用来标志文件类型的一种机制。通常来说,一个后缀名是跟在主文件名后面的,由一个分隔符分隔。后缀名可以被认为是一个类型的元数据。
文件头:文件头一般位于文件开头,通常描述有文件的一些重要属性。一般用于描述一个文件的一些重要属性,例如BMP格式的文件的文件头包含图像的宽度和高度信息等。
通常,若要正确解析一个文件,一般需要找到支持该文件的文件类型的解析器,利用该解析器解析文件。在一些情况下,如果解析器与文件的文件类型不匹配,那么经该文件经该解析器解析后得到的数据可能会在导致该文件无法正常播放,例如MP4格式的文件被支持MKV格式的解析器解析,那么播放该MP4格式的文件时,可能会出现播放不流畅、播放错误、音画不同步等问题。因此需要通过扫描机制,为每个文件找到合适的解析器进行解析。
但是,目前要找到一个文件对应的解析器,过程冗长,一般需要遍历所有的解析器对该文件进行解析,才可最终确定解析该文件所适用的解析器,如果终端中存储有M个资源,终端操作系统具有N中解析器,那么按目前的扫描解析方案,则一共需要扫描解析N×M次,解析效率较低。
而且随着解析器类型或文件的增多,扫描解析会变得更加低效。如此,不仅导致扫描耗时过长,而且也对终端的系统性能造成过大消耗,容易引起卡顿。
另外,上述多媒体文件的解析操作,除了对多媒体文件进行播放时需要外,在终端开机、外置存储(如SD卡、外接U盘等)的挂载、拍照、录视频等场景,也涉及对多媒体文件的解析,但是由上述分析可知,目前的文件解析效率较低,在多种场景可能带来用户体验的损失。
需要说明的是,本申请实施例中所述的文件解析,是指解析文件的文件头,一般是用于判断文件的文件头的字符串是否符合解析器所支持的数据结构特征,即判断文件头是否满足解析器的解析规则。但目前的文件解析操作繁琐、耗时较长,以安卓操作系统为例,通常情况下,基于安卓原生的扫描解析机制,对一个文件,需遍历所有解析器进行解析,最终往往都可确定出与该文件匹配的解析器,从而可确定文件的文件类型为该解析器指示的文件类型。但是目前的扫描机制使得扫描、解析过程过于繁琐、低效。
基于上述问题,本申请实施例提供了一种文件解析方法、装置、电子设备及计算机可读取存储介质,下面将通过具体实施例对本申请实施例提供的信息处理方法、装置、电子设备及存储介质进行详细说明。
请参阅图1,图1示出了本申请实施例提供的一种文件解析方法的流程示意图,可应用于手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerⅢ,动态影像压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerⅣ,动态影像压缩标准音频层面4)播放器、个人计算机或可穿戴电子设备等终端,本申请实施例对具体的终端的设备类型不作限定。下面将针对图1所示的流程示意图进行详细的阐述。该文件解析方法可以包括以下步骤:
步骤S110:响应于文件解析请求,获取待解析的多媒体文件。
其中,文件解析请求用于请求解析多媒体文件,基于文件解析请求,终端可获取该文件解析请求指示的待解析的多媒体文件,以对多媒体文件进行解析,另待解析的多媒体文件的数量可以是一个或多个,在此不做限定。通过解析多媒体文件可确定多媒体文件的文件类型。一般情况下,若一个文件可被一个解析器解析,则该文件的文件头符合该解析器的数据结构特征,即文件头中至少一个指定位置的字符满足解析器的数据结构特征的要求。
例如,Wave文件(对应的标准后缀名为.wav)的标准文件头为57415645,AVI文件(对应的标准后缀名为.avi)的标准文件头为41564920,Quicktime文件(对应的标准后缀名为.mov)的标准文件头为6D6F6F76,前述三种文件的标准文件头存在差异,相同或不同位置的字符也存在差异,一般需由不同的解析器对每种文件进行解析,以成功解析这三种文件。
其中,文件解析请求可在多种场景下生成,以使终端响应于文件解析请求,对文件进行解析。在一个示例中,在终端开机时,可触发文件解析请求;在另一个示例中,外置存储(如SD卡、外置U盘等)挂载时(例如SD卡插入终端时),也可触发文件解析请求;在又一个示例中,当基于终端录制音、视频时并存储时也可触发文件解析请求;在再一个示例中,当基于终端播放音、视频文件时,也可触发文件解析请求。
以上仅为示例,可以理解的是,本申请实施例并不限于上述示例,可触发文件解析请求。
具体地,以安卓系统为例,文件解析可由MediaScanner实现,MediaScanner用于扫描文件,同时对文件进行解析。另外,在一些实施例中,终端经扫描解析得到的数据会存储于数据库中,则还可结合MediaProvider实现,MediaProvider用于创建并管理前述数据库。前述扫描解析得到的数据可以是多媒体文件的大小、时长等。
步骤S120:根据多媒体文件的文本特征,查找多媒体文件对应的第一解析器。
其中,文本特征用于指示多媒体文件的文件类型。文本特征可以是多媒体文件的文件名,也可以是多媒体文件指定位置的文本信息。其中,指定位置又可以是头部、尾部或其他位置,例如,文本特征可以是处于头部的文本信息如文件头,再如,文本特征也可以是处于尾部的文本信息,如后缀名。
需要说明的是,根据多媒体文件的文本特征,查找到的多媒体文件对应的第一解析器可以是一个或多个,本实施例对此不作限定。
在一些实施方式中,根据多媒体文件的文本特征,可查找与文本特征对应的解析器,作为多媒体文件对应的第一解析器。
作为一种实施方式,文本特征可为文件名,由于一些文件的文件名包含与该文件的文件类型相关的字符,因此可以根据文本名查找多媒体文件对应的第一解析器。例如,一个多媒体文件的文件名为“Birdman.dvd”,在一个示例中,可通过查询“Birdman”确定该多媒体文件为一部电影,即该文件名可指示该多媒体文件的文件类型为视频文件的文件类型,因此可查找视频文件类型的解析器,例如支持MP4格式的解析器、AVI格式的解析器等。具体地,前述查询可通过网络查询,也可通过本地数据库查询,在此不做限定。在另一个示例中,由于前述文件名中的“dvd”是高密度数字视频光盘(Digital Video Disc)的缩写,其通常用于存储视频文件,因此,也可根据文件名中的“dvd”确定要查找视频文件类型的解析器。
作为另一种实施方式,文本特征也可为多媒体文件的后缀名,具体实施方式可见后述实施例,在此不作赘述。
步骤S130:基于第一解析器对多媒体文件进行解析。
在一些实施方式中,基于第一解析器对多媒体文件进行解析,具体可获取多媒体文件的文件头,判断多媒体文件的文件头的字符串是否符合解析器所支持的数据结构特征,若符合,则可判定解析成功,若不符合,可判定解析失败。在一些示例中,如果解析器解析失败,可认为该多媒体文件的文件类型与该解析器所指示的文件类型不相符。
由于解析器在对多媒体文件进行解析时,通常通过判断多媒体文件的文件头前指定数量的字符是否符合解析器所支持的数据结构特征。例如,解析器A所支持的数据结构特征中,至少包括文件头第x位字符应为1至3中的任意字符,第x+1位字符应为“a”等等,则可通过检测多媒体文件的文件头中第x位字符是否为1至3中的任意字符,第x+1位字符是否为“a”等,若多媒体文件的文件头均符合解析器A所支持的数据结构特征,可判定多媒体文件的文件头符合解析器A所支持的数据结构特征,即可判定该解析器A能够解析成功。否则可判定解析器A解析失败,无法正确解析该多媒体文件。
在一些实施例中,通过基于第一解析器对多媒体文件进行解析,可校验第一解析器是否为支持多媒体文件的数据结构特征的解析器,由于第一解析器是由文本特征确定的,因而可验证多媒体文件的真实文件类型是否为文本特征指示的文件类型,若解析成功,可判定多媒体文件的真实文件类型为其文本特征所指示的文件类型,若解析失败,可判定多媒体文件的真实文件类型不是其文本特征所指示的文件类型。
步骤140:若解析成功,将多媒体文件的类型标识设置为文本特征指示的文件类型。
其中,类型标识用于指示多媒体文件经校验后的文件类型。通过基于第一解析器解析该多媒体文件,可对多媒体文件的文件类型进行校验,若第一解析器解析成功,可将文本特征指示的文件类型确定为多媒体文件经校验后的文本类型。由此,后续在使用该多媒体文件时,可根据该多媒体文件的类型标识快速确定类型标识对应的解析器,并基于该解析器对该多媒体文件进行解析,获取。其中,使用可包括但不限于获取该多媒体文件的相关信息(如时长、大小等)以进行显示、播放该多媒体文件等。
在一些实施方式中,类型标识可包括MP4标识、MOV标识、MKV标识、AVI标识等,若解析成功,可将多媒体文件的类型标识设置为文本特征指示的文件类型,例如若文件特征为mp4,则可将类型标识设置为MP4标识,则在后续使用该多媒体文件时,可获取其类型标识,而基于MP4标识对应的解析器对多媒体文件进行解析。
在另一些实施方式中,还可预先设置有文件类型与标识的映射关系,若解析成功,则可基于该映射关系查找文本特征所指示文件类型对应的标识,并将类型标识设置为该标识。
在一些实施例中,一个解析器可能支持一种或多种文件类型的解析,即解析器可指示一种或多种文件类型,那么根据多媒体文件的文本特征所确定的解析器,若能够解析成功,多媒体文件的文件类型与第一解析器所指示的文件类型匹配。由于第一解析器是由多媒体文件的文本特征确定的,而文本特征又可较大概率地反映一个多媒体文件的文件类型,因而在解析成功时,通过将多媒体文件的类型标识设置为文本特征指示的文件类型,可高效且较准确地从多个解析器找到多媒体文件对应的解析器,并确定多媒体文件的文件类型,以便后续正常使用。由于实际应用中,往往需要遍历所有的解析器才可确定出与多媒体文件匹配的解析器,因而本实施例通过文本特征直接确定解析器,可缩短解析器查找时间,提高解析效率。
步骤150:若解析失败,从指定解析器队列查找到与多媒体文件匹配的第二解析器,将多媒体文件的类型标识设置为第二解析器指示的文件类型。
若解析失败,文本特征所指示的文件类型与多媒体文件的真实文件类型不匹配,例如,在一些示例中,多媒体文件的文本特征可能被修改,与其真实文件类型所要求的数据结构特征不匹配,则根据文本特征所确定的第一解析器可能无法解析该多媒体文件。因而若解析失败,可从指定解析器队列查找到与多媒体文件匹配的第二解析器,将多媒体文件的类型标识设置为第二解析器指示的文件类型。
其中,指定解析器队列可包括多个解析器,从指定解析器队列查找与多媒体文件匹配的第二解析器。
在一些实施例中,若解析失败,可以基于指定解析器队列中的多个解析器一一对多媒体文件进行解析,再从可解析成功的解析器中确定一个解析器作为与多媒体文件匹配的第二解析器。
在另一些实施例中,若解析失败,可以基于指定解析器队列中的多个解析器依次对多媒体文件进行解析,直到有一个解析器解析成功时可停止解析,而将该解析器确定为第二解析器。
本申请实施例提供的文件解析方法,通过在需要对文件进行解析时,可以先根据文本特征确定一个解析器即第一解析器进行解析,如果解析成功,则可认为该文件的真实文件类型为第一解析器指示的文件类型,如此可大大提高文件效率;而如果解析不成功,则可再根据指定解析器队列查找另一解析器即第二解析器,并认为文件的真实文件类型为第二解析器指示的文件类型,以便后续获取该文件正确的信息,并有利于后续该文件的正常使用,从而可以在文本特征无法正确指示文件的文件类型时,重新确定文件类型。综上,本申请实施例一方面既可先通过文本特征做一轮校验提高解析效率,另一方面也可通过二轮校验保证解析的准确率。
请参阅图2,图2示出了本申请另一个实施例提供的文件解析方法的流程示意图,具体地,该方法可以包括:
步骤S210:响应于文件解析请求,获取待解析的多媒体文件。
步骤S220:根据多媒体文件的文本特征,查找多媒体文件对应的第一解析器。
其中,文本特征为多媒体文件的后缀名。由于实际应用中,后缀名可以很大程度地真实反映文件的文件类型,因此,通过后缀名确定的第一解析器,可大概率成功解析该多媒体文件,由此相较于现有遍历所有解析器才可最终确定解析器的方式,可大大提高解析效率,减小耗时同时也能降低系统消耗。
在一些实施方式中,可将与多媒体文件的后缀名完全匹配的解析器的确定为第一解析器,具体地,可获取文件的后缀名,将支持该后缀名对应的文件类型的解析器作为第一解析器。由此,可在后缀名未被篡改时,直接准确地确定出第一解析器,并一般可成功解析该多媒体文件。
由于在一些后缀名被篡改的场景,多媒体文件的后缀名可能在原后缀名的基础上增加、删减或修改了部分字符等。例如,一个MP4格式的多媒体文件的后缀名一般为.mp4,而存在一些场景例如一些资源分享的场景下,可能有用户会将原MP4文件的后缀名基础上增加字符1以更改后缀名为.mp41。因此,在另一些实施方式中,第一解析器指示的文件类型也可不与后缀名完全匹配。具体地,可以获取多媒体文件的后缀名,将后缀名与解析器指示的文件类型进行匹配,将匹配度最高的解析器作为第一解析器,从而查找到与多媒体文件的后缀名对应的第一解析器。由此,即便多媒体文件的后缀名在原后缀名基础上被修改了,也仍可根据后缀名准确地确定解析器。
在前述MP4文件的后缀名被修改为.mp41的示例中,则通过前述方法仍可将指示MP4格式的解析器确定为第一解析器,而不会无法找到对应的解析器,从而可提高后缀名确定解析器的可用性,扩大其适用范围。
另外,由于多媒体文件的文本特征如后缀名还可能被大幅度篡改,使得篡改后的文本特征与原文本特征或其真实文件类型相差甚远,导致无法通过后缀名与解析器指示的文件类型的字符串匹配,来确定多媒体文件对应的第一解析器。因此,在一些实施例中,可以在无法根据多媒体文件的文本特征,查找到多媒体文件对应的第一解析器时,根据接收到的文件解析请求来确定第一解析器,以提高解析效率的可用性。具体可见后述实施例,在此不再赘述。
步骤S230:基于第一解析器对多媒体文件进行解析。
步骤S240:判断是否解析成功。
于本实施例中,判断是否解析成功后,可包括:
若解析成功,可执行步骤S250;
若解析失败,可执行步骤S260。
步骤S250:将多媒体文件的类型标识设置为文本特征指示的文件类型。
若解析成功,将多媒体文件的类型标识设置为文本特征指示的文件类型。
步骤S260:按指定解析器队列,依次通过指定解析器队列中的解析器对多媒体文件进行解析,以获得与多媒体文件匹配的第二解析器。
若解析失败,可按指定解析器队列,依次通过指定解析器队列中的解析器对多媒体文件进行解析,以获得与多媒体文件匹配的第二解析器。
在一些实施例中,解析器队列可包含多个解析器。在一个示例中,多个解析器可对应有各自的权重,权重越高,若依次通过指定解析器队列中的解析器对多媒体文件进行解析,可解析成功的解析器存在多个,此时,可在多个解析成功的解析器中,将权重最高的解析器作与多媒体文件匹配的第二解析器。
其中,权重可根据实际需要确定,也可为程序预设,还可以为用户自定义,在此不作限定。在一些示例中,随着相关技术人员对解析器的优化,使得解析器的解析效果得到增强后,可调整解析器的权重,使被优化的解析器的权重提高。
在另一些实施例中,解析器队列可包含经优先级排序的多个解析器,则按指定解析器队列,依次通过指定解析器队列中的解析器对多媒体文件进行解析,可将第一个解析成功的解析器作为与多媒体文件匹配的第二解析器,而无需继续后面的解析器的解析,由此可提高解析效率。
在一些实施例中,步骤S260可包括步骤S261至步骤S263,具体地,请参阅图3,图3示出了本申请一个示例性实施例提供的图2中步骤S260的流程示意图,具体地,步骤S260可以包括:
步骤S261:获取多媒体文件的文件头。
步骤S262:按指定解析器队列,依次判断文件头是否符合指定解析器队列中的解析器的数据结构特征。
按指定解析器队列,依次判断文件头是否符合指定解析器队列中的解析器的数据结构特征,其中,判断多媒体文件的文件头是否符合一个解析器的数据结构特征的具体方法与参考前述实施例中步骤S130类似,在此不再赘述。
需要说明的是,若多媒体文件的文件头符合解析器的数据结构特征,则多媒体文件可被该解析器成功解析。
步骤S263:从符合的解析器中确定第二解析器。
若符合的解析器仅有一个则可将该解析器确定为第二解析器;若符合的解析器有多个,可从符合的解析器中确定第二解析器。
在一些实施方式中,指定解析器队列中的每个解析器可对应有各自的权重,若符合的解析器有多个,可将其中权重最高的解析器作为第二解析器。
在另一些实施例中,在通过步骤S260查找第二解析器之前,可先确定指定解析器队列。在一个实施例中,指定解析器队列可以根据解析器被使用的次数进行确定,以提高解析器查找效率。具体地,请参阅图4,图4示出了本申请一个示例性实施例提供的确定指定解析器队列的方法的流程示意图,具体地,该方法包括:
步骤S2601:获取触发模块对应的解析器以及解析器对应的被使用次数。
其中,触发模块为触发文件解析请求的模块,由于一些触发模块所需解析的文件的文件类型较为固定,因而可根据触发模块常用的解析器,来确定指定解析器队列,以加快第二解析器的查找效率,进而提高解析效率。具体地,可根据文件解析请求,确定文件解析请求对应的触发模块,再获取触发模块对应的解析器以及解析器对应的被使用次数。其中,若解析器A被用于对文件进行过1次解析,则解析器A被使用1次,以此方式可累计解析器被使用的次数,即被使用次数。
在一些实施例中,触发模块可包括应用程序以及操作系统中的至少一个,操作系统又可按硬件或功能细分为多个不同的模块,例如内核(Kernel)、使用者接口如Unixshell等。在一些示例中,在操作系统架构中内核也可记为内核层,本实施例对实际命名不做限定。其中,内核可以理解为是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。
在一些实施方式中,以安卓系统为例,触发模块可以是应用程序、还可以是内核或其他模块。
在一个示例中,当终端开机时,一般内核会触发对终端所存储文件的文件解析请求,则此时触发模块可以是内核。
在另一个示例中,当外置存储(如SD卡、USB设备等)与终端连接,实现挂载时,一般内核会触发对外置存储中所存储文件的文件解析请求,则此时触发模块可以是内核。
在又一个示例中,当用户利用终端拍摄图像、录制音、视频时,涉及存储时,一般也会触发文件解析请求,则此时触发模块可以是用户拍摄、录制或存储所拍摄、录制的文件时所采用的应用程序,如相机、相册类的应用程序。
在再一个示例中,当用户基于终端播放音、视频文件时,一般也会触发文件解析请求,则此时触发模块可以是播放音、视频文件时所采用的应用程序,如具备播放功能的应用程序,如播放器、相册等这一类的应用程序,在此不做限定。
需要说明的是,上述仅为示例,本申请实施例提供的文件解析方法还可适用于其他操作系统的文件解析,也不仅限于上述应用,但考虑篇幅原因,在此不再穷举。
在一些实施方式中,文件解析请求可携带有与触发模块对应的标识,则根据文件解析请求所携带的标识,确定触发模块。
在另一些实施方式中,终端也可直接获取文件解析请求对应的触发模块,在一个示例中,终端可存储有操作日志,操作日志用于记录终端中各模块所执行的操作,因而可在获取到文件解析请求时,在操作日志中查找到触发该文件解析请求的触发模块。
另外,在一些其他的实施方式中,也可采用其他方式确定文件解析请求的触发模块,本实施例对此不作限定。
在一些实施例中,确定触发模块后,可获取触发模块对应的解析器以及解析器对应的被使用次数。具体地,可获取触发模块在触发该文件解析请求之前指定时间段内所使用过的解析器,以及各解析器对应的被使用次数。其中,指定时间段可根据实际需要确定,也可为程序预设,还可以是用户自定义,在此不作限定。
在一些示例中,指定时间段可以是24小时、3天、1周等,即以指定时间段为24小时为例,可获取触发模块在触发文件解析请求之前24小时内所使用过的解析器。在一些其他示例中,指定时间段还可不限,则可获取所有被触发模块使用的解析器及解析器对应的被使用次数。
步骤S2602:根据解析器的被使用次数确定触发模块的解析器优先级。
在一些实施方式中,可按被使用次数从高至低的顺序依次确定解析器的优先级,使用次数越高的解析器的优先级越高,由此可确定触发模块的解析器优先级。
步骤S2603:按解析器优先级从高至低的顺序确定解析器在指定解析器队列中的顺序,得到指定解析器队列。
在一些实施方式中,按解析器优先级从高至低的顺序确定解析器在指定解析器队列中的顺序,得到指定解析器队列,则指定解析器队列中的解析器按优先级从高至低的顺序依次排列,优先级最高的解析器在最前。由此,可确定包含经优先级排序的多个解析器的指定解析器队列。
步骤S270:将多媒体文件的类型标识设置为第二解析器指示的文件类型。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
由于后缀名通常是一个多媒体文件的真实文件类型,因此通过本实施例提供的文件解析方法,在获取到解析请求时,先根据多媒体文件的后缀名来确定第一解析器,进行解析,可大概率地成功解析该多媒体文件,而无需如现有技术般遍历所有解析器才可完成对一个文件的扫描解析,因此可大大提高文件解析效率,减少扫描解析的耗时,减小系统性能的消耗。
并且,即便后缀名解析不正确,也仍然有第二道解析,即若第一解析器无法成功解析多媒体文件即解析失败,还可通过遍历指定解析器队列的解析器,依次对多媒体文件进行解析,从而从中确定出与多媒体文件匹配的第二解析器,并认为第二解析器指示的文件类型即为多媒体文件的真实文件类型,将多媒体文件的类型标识设置为第二解析器指示的文件类型,由此可在文本特征无法准确指示多媒体文件的真实文件类型时,通过遍历指定解析器队列的解析器,来查找到可成功解析多媒体文件的第二解析器,由此确定多媒体文件的真实文件类型,由此不仅先通过后缀名来迅速确定第一解析器进行解析,对大多数文件可实现高效解析的基础上,还通过解析失败时遍历指定解析器队列的解析器以查找到与多媒体文件匹配的第二解析器,而该第二解析器至少可成功解析第二文件,从而还可保证文件解析正确率。
请参阅图5,图5示出了本申请又一个示例性实施例提供的文件解析方法的流程示意图,具体地,该方法可以包括:
步骤S310:响应于文件解析请求,获取待解析的多媒体文件。
步骤S320:根据多媒体文件的文本特征,查找多媒体文件对应的第一解析器。
步骤S330:基于第一解析器对多媒体文件进行解析。
步骤S340:判断是否解析成功。
于本实施例中,判断是否解析成功后,还包括:
若解析成功,可执行步骤S350;
若解析失败,可执行步骤S360。
步骤S350:将多媒体文件的类型标识设置为文本特征指示的文件类型。
若解析成功,将多媒体文件的类型标识设置为文本特征指示的文件类型。
步骤S360:按指定解析器队列,依次由指定解析器队列中确定一待匹配的解析器,通过待匹配的解析器对多媒体文件进行解析。
若解析失败,按指定解析器队列,依次由指定解析器队列中确定一待匹配的解析器,通过待匹配的解析器对多媒体文件进行解析。
步骤S370:当待匹配的解析器为第一解析器时,跳过第一解析器,将指定解析器队列中第一解析器之后的解析器作为新的待匹配的解析器,并通过新的待匹配的解析器对多媒体文件进行解析。
在一些实施例中,文本特征是多媒体文件的后缀名,则通过步骤S370可在后缀名对应的第一解析器无法解析多媒体文件时,按指定解析器队列依次进行解析,并在轮到后缀名对应的第一解析器时,跳过第一解析器,而由第一解析器之后的下一解析器继续对多媒体文件进行解析。由于第一解析器在之前已校验过无法解析,则在按指定解析器队列依次进行解析时,可跳过第一解析器,节省不必要的资源消耗和耗时,提高解析效率。
在一个示例中,指定解析器队列中依次包括解析器A、B、C、D,根据多媒体文件的文本特征确定第一解析器为解析器B,则可先由指定解析器队列中将解析器A确定为待匹配的解析器,基于解析器A对多媒体文件进行解析,获取解析器A的解析结果,然后再由指定解析器队列中将解析器B确定为待匹配的解析器,但解析器B为第一解析器,因而此时跳过解析器B,将指定解析器队列中解析器B之后的解析器C作为新的待匹配的解析器,通过解析器C对多媒体文件进行解析,获取解析器C的解析结果,最后由指定解析器队列中将解析器D确定为待匹配的解析器,基于解析器D对多媒体文件进行解析,获取解析器D的解析结果。
步骤S380:根据每个解析器的解析结果确定与多媒体文件匹配的第二解析器。
在前述示例中,可获取解析器A、C、D的解析结果,若解析器A、C的解析结果指示解析成功,解析器D的解析结果指示解析失败,则可从解析器A、C中确定与多媒体文件匹配的第二解析器。从多个可解析成功的解析器中确定第二解析器的具体方式可参考前述实施例,在此不再赘述。
步骤S390:将多媒体文件的类型标识设置为第二解析器指示的文件类型。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
通过本实施例提供的文件解析方法,可在前述实施例的基础上,若第一解析解析失败,遍历指定解析器队列的解析器以查找第二解析器,并当解析到文件后缀名指示的文件解析器时,跳过该解析器采用下一个解析器解析,避免同一个解析器重复解析,保证解析准确率的同时,进一步提高解析效率。
另外,由于多媒体文件的文本特征如后缀名还可能被大幅度篡改,使得篡改后的文本特征与原文本特征或其真实文件类型相差甚远,导致无法确定多媒体文件对应的第一解析器。因此,在一些实施例中,可以在无法根据多媒体文件的文本特征,查找到多媒体文件对应的第一解析器时,根据接收到的文件解析请求来确定第一解析器,从而提高基于文本特征快速确定第一解析器以提高解析效率的可用性。具体地,请参阅图6,图6示出了本申请再一个实施例提供的文件解析方法的流程示意图,于本实施例中,该方法可包括:
步骤S410:响应于文件解析请求,获取待解析的多媒体文件。
步骤S420:根据多媒体文件的文本特征,查找多媒体文件对应的第一解析器。
步骤S430:是否查找到多媒体文件对应的第一解析器。
于本实施例中,是否查找到多媒体文件对应的第一解析器之后,还包括:
若无法根据多媒体文件的文本特征,查找到多媒体文件对应的第一解析器,可执行步骤S440;
若可以根据多媒体文件的文本特征,查找到多媒体文件对应的第一解析器,可执行步骤S470。
可以理解的是,实际上步骤S430可不必执行,而直接在查找到时执行步骤S470,而在未查找到时执行步骤S440。
步骤S440:查找到多媒体文件对应的第一解析器,确定触发文件解析请求的触发模块。
若无法根据多媒体文件的文本特征,查找到多媒体文件对应的第一解析器,确定触发文件解析请求的触发模块。
在一些实施方式中,确定触发文件解析请求的触发模块的具体方式可参考前述实施例中步骤S2601的描述,原理类似,在此不再赘述。
步骤S450:确定触发模块对应的预设解析器。
其中,可预先设置触发模块与预设解析器之间的映射关系表,则根据触发模块可确定触发模块对应的预设解析器。另,该映射关系表可存储于终端,也可存储于服务器,则终端可通过向服务器发送包含触发模块的标识的请求,获取服务器返回的结果,根据该结果确定该触发模块对应的预设解析器,其中,服务器返回的结果可以是预设解析器的标识,也可以是其他可用于确定预设解析器的数据,在此不作限定。
在一些实施例中,由于拍摄或录制等场景产生的文件,在终端存储的格式相对固定,一种终端拍摄得到的视频文件一般是固定按一种文件格式进行存储,因此,根据触发文件解析请求的触发模块,将该触发模块对应的预设解析器作为第一解析器,大概率可以成功解析该触发模块请求解析的多媒体文件。
步骤S460:将预设解析器作为第一解析器。
步骤S470:基于第一解析器对多媒体文件进行解析。
步骤S480:若解析成功,将多媒体文件的类型标识设置为文本特征指示的文件类型。
步骤S490:若解析失败,从指定解析器队列查找到与多媒体文件匹配的第二解析器,将多媒体文件的类型标识设置为第二解析器指示的文件类型。
需要说明的是,步骤S490的具体实施方式可参见前述实施例对步骤S150的描述,也可参见前述实施例对步骤S260至步骤S270的描述,还可以一并参见前述实施例对步骤S261至步骤S263的描述。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
通过本实施例提供的文件解析方法,可在根据文本特征无法查找到多媒体文件对应的第一解析器时,根据触发解析该多媒体文件的触发模块,将触发模块对应的预设解析器作为第一解析器,以对多媒体文件进行解析,如此可以在无法通过文本特征查找到解析器时,快速地通过触发模块确定第一解析器,由于在一些场景中,终端基于同一触发模块生成的多媒体文件一般会以一种文件类型进行存储,因此通过将触发模块对应的预设解析器作为第一解析器,可以在提高文件解析效率的同时兼顾解析成功率。
请参阅图7,其示出了本申请实施例提供的一种文件解析装置700的结构框图,该文件解析装置700可应用于上述终端,该文件解析装置700可以包括:文件获取单元710、解析器查找单元720、文件解析单元730、第一设置单元以及第二设置单元,具体地:
文件获取单元710,用于响应于文件解析请求,获取待解析的多媒体文件;
解析器查找单元720,用于根据所述多媒体文件的文本特征,查找所述多媒体文件对应的第一解析器,所述文本特征用于指示所述多媒体文件的文件类型;
文件解析单元730,用于基于所述第一解析器对所述多媒体文件进行解析;
第一设置单元740,用于若解析成功,将所述多媒体文件的类型标识设置为所述文本特征指示的文件类型,所述类型标识用于指示所述多媒体文件经校验后的文件类型;
第二设置单元750,用于若解析失败,从指定解析器队列查找到与所述多媒体文件匹配的第二解析器,将所述多媒体文件的类型标识设置为所述第二解析器指示的文件类型。
进一步地,所述文本特征为所述多媒体文件的后缀名。
进一步地,所述文件解析装置700应用于终端,所述终端用于运行操作系统和应用程序,所述文件解析装置700还包括:触发模块确定单元、预设解析器确定单元以及第一解析器确定单元,其中:
触发模块确定单元,用于若无法根据所述多媒体文件的文本特征,查找到所述多媒体文件对应的第一解析器,确定触发所述文件解析请求的触发模块,所述触发模块包括所述应用程序以及所述操作系统中的至少一个;
预设解析器确定单元,用于确定所述触发模块对应的预设解析器;
第一解析器确定单元,用于将所述预设解析器作为第一解析器。
进一步地,所述第二设置单元750包括:第二解析器查找子单元以及第二设置子单元,其中:
第二解析器查找子单元,用于若解析失败,按指定解析器队列,依次通过所述指定解析器队列中的解析器对所述多媒体文件进行解析,以获得与所述多媒体文件匹配的第二解析器,所述解析器队列包含经优先级排序的多个解析器;
第二设置子单元,用于将所述多媒体文件的类型标识设置为所述第二解析器支持的文件类型。
进一步地,所述第二解析器查找子单元,包括:解析次子单元、解析器跳过次子单元以及解析器确定次子单元,其中:
解析次子单元,用于若解析失败,按指定解析器队列,依次由所述指定解析器队列中确定一待匹配的解析器,通过所述待匹配的解析器对所述多媒体文件进行解析;
解析器跳过次子单元,用于当所述待匹配的解析器为所述第一解析器时,跳过所述第一解析器,将所述指定解析器队列中所述第一解析器之后的解析器作为新的待匹配的解析器,并通过新的待匹配的解析器对所述多媒体文件进行解析;
解析器确定次子单元,用于根据每个所述解析器的解析结果确定与所述多媒体文件匹配的第二解析器。
进一步地,所述第二解析器查找子单元,包括:文件头获取次子单元、特征匹配次子单元以及匹配确定次子单元,其中:
文件头获取次子单元,用于获取所述多媒体文件的文件头;
特征匹配次子单元,用于按指定解析器队列,依次判断所述文件头是否符合所述指定解析器队列中的解析器的数据结构特征;
匹配确定次子单元,用于从符合的解析器中确定第二解析器。
进一步地,所述按指定解析器队列,依次通过所述指定解析器队列中的解析器对所述多媒体文件进行解析之前,所述文件解析装置700还包括:使用次数获取单元、优先级确定单元以及队列获取单元,其中:
使用次数获取单元,用于获取触发模块对应的解析器以及所述解析器对应的被使用次数;
优先级确定单元,用于根据所述解析器的被使用次数确定所述触发模块的解析器优先级;
队列获取单元,用于按所述解析器优先级从高至低的顺序确定所述解析器在指定解析器队列中的顺序,得到所述指定解析器队列。
本申请实施例提供的文件解析装置用于实现前述方法实施例中相应的文件解析方法,并具有相应的方法实施例的有益效果,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图8,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备800可以是智能手机、平板电脑、电子书、笔记本电脑、个人计算机等能够运行应用程序的电子设备。本申请中的电子设备800可以包括一个或多个如下部件:处理器810、存储器820以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器820中并被配置为由一个或多个处理器810执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器810可以包括一个或者多个处理核。处理器810利用各种接口和线路连接整个电子设备800内的各个部分,通过运行或执行存储在存储器820内的指令、程序、代码集或指令集,以及调用存储在存储器820内的数据,执行电子设备800的各种功能和处理数据。可选地,处理器810可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器810可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块通信芯片进行实现。
存储器820可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器820可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备800在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图9,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质900中存储有程序代码,所述程序代码可被处理器调用执行上述实施例中所描述的方法。
计算机可读取存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质900包括非易失性计算机可读取存储介质(non-transitory computer-readable storage medium)。计算机可读取存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种文件解析方法,其特征在于,包括:
响应于文件解析请求,获取待解析的多媒体文件;
根据所述多媒体文件的文本特征,查找所述多媒体文件对应的第一解析器,所述文本特征用于指示所述多媒体文件的文件类型,所述文本特征包括所述多媒体文件的文件名或者所述多媒体文件指定位置的文本信息;
基于所述第一解析器对所述多媒体文件进行解析;
若解析成功,将所述多媒体文件的真实类型标识设置为所述文本特征指示的文件类型,所述真实类型标识用于指示所述多媒体文件经校验后的文件类型;
若解析失败,从指定解析器队列查找到与所述多媒体文件匹配的第二解析器,将所述多媒体文件的真实类型标识设置为所述第二解析器指示的文件类型,所述第二解析器为对所述多媒体文件进行解析并解析成功的解析器。
2.根据权利要求1所述的方法,其特征在于,所述文本特征为所述多媒体文件的后缀名。
3.根据权利要求1或2所述的方法,其特征在于,应用于终端,所述终端用于运行操作系统和应用程序,所述方法还包括:
若无法根据所述多媒体文件的文本特征,查找到所述多媒体文件对应的第一解析器,确定触发所述文件解析请求的触发模块,所述触发模块包括所述应用程序以及所述操作系统中的至少一个;
确定所述触发模块对应的预设解析器;
将所述预设解析器作为第一解析器。
4.根据权利要求1所述的方法,其特征在于,所述若解析失败,从指定解析器队列查找到与所述多媒体文件匹配的第二解析器,将所述多媒体文件的真实类型标识设置为所述第二解析器指示的文件类型,包括:
若解析失败,按指定解析器队列,依次通过所述指定解析器队列中的解析器对所述多媒体文件进行解析,以获得与所述多媒体文件匹配的第二解析器,所述解析器队列包含经优先级排序的多个解析器;
将所述多媒体文件的真实类型标识设置为所述第二解析器支持的文件类型。
5.根据权利要求4所述的方法,其特征在于,所述若解析失败,按指定解析器队列,依次通过所述指定解析器队列中的解析器对所述多媒体文件进行解析,以获得与所述多媒体文件匹配的第二解析器,包括:
若解析失败,按指定解析器队列,依次由所述指定解析器队列中确定一待匹配的解析器,通过所述待匹配的解析器对所述多媒体文件进行解析;
当所述待匹配的解析器为所述第一解析器时,跳过所述第一解析器,将所述指定解析器队列中所述第一解析器之后的解析器作为新的待匹配的解析器,并通过新的待匹配的解析器对所述多媒体文件进行解析;
根据每个所述解析器的解析结果确定与所述多媒体文件匹配的第二解析器。
6.根据权利要求4或5所述的方法,其特征在于,所述按指定解析器队列,依次通过所述指定解析器队列中的解析器对所述多媒体文件进行解析,包括:
获取所述多媒体文件的文件头;
按指定解析器队列,依次判断所述文件头是否符合所述指定解析器队列中的解析器的数据结构特征;
从符合的解析器中确定第二解析器。
7.根据权利要求4或5所述的方法,其特征在于,所述按指定解析器队列,依次通过所述指定解析器队列中的解析器对所述多媒体文件进行解析之前,所述方法还包括:
获取触发模块对应的解析器以及所述解析器对应的被使用次数;
根据所述解析器的被使用次数确定所述触发模块的解析器优先级;
按所述解析器优先级从高至低的顺序确定所述解析器在指定解析器队列中的顺序,得到所述指定解析器队列。
8.一种文件解析装置,其特征在于,所述装置包括:
文件获取单元,用于响应于文件解析请求,获取待解析的多媒体文件;
解析器查找单元,用于根据所述多媒体文件的文本特征,查找所述多媒体文件对应的第一解析器,所述文本特征用于指示所述多媒体文件的文件类型,所述文本特征包括所述多媒体文件的文件名或者所述多媒体文件指定位置的文本信息;
文件解析单元,用于基于所述第一解析器对所述多媒体文件进行解析;
第一设置单元,用于若解析成功,将所述多媒体文件的真实类型标识设置为所述文本特征指示的文件类型,所述真实类型标识用于指示所述多媒体文件经校验后的文件类型;
第二设置单元,用于若解析失败,从指定解析器队列查找到与所述多媒体文件匹配的第二解析器,将所述多媒体文件的真实类型标识设置为所述第二解析器指示的文件类型,所述第二解析器为对所述多媒体文件进行解析并解析成功的解析器。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行所述权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302073.1A CN111506747B (zh) | 2020-04-16 | 2020-04-16 | 文件解析方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302073.1A CN111506747B (zh) | 2020-04-16 | 2020-04-16 | 文件解析方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506747A CN111506747A (zh) | 2020-08-07 |
CN111506747B true CN111506747B (zh) | 2023-09-08 |
Family
ID=71864160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010302073.1A Active CN111506747B (zh) | 2020-04-16 | 2020-04-16 | 文件解析方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506747B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631603B (zh) * | 2020-12-30 | 2022-04-08 | 文思海辉智科科技有限公司 | 字串解析方法、系统及电子设备 |
CN116757170B (zh) * | 2023-08-21 | 2023-10-20 | 成都数联云算科技有限公司 | 一种基于JAVA语言的Excel表格导入方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915421A (zh) * | 2011-08-04 | 2013-02-06 | 腾讯科技(深圳)有限公司 | 文件的扫描方法及系统 |
CN103165151A (zh) * | 2013-03-29 | 2013-06-19 | 华为技术有限公司 | 多媒体文件播放方法和装置 |
CN103177045A (zh) * | 2011-12-26 | 2013-06-26 | 中国移动通信集团广东有限公司 | 文本解析方法及装置 |
CN106406969A (zh) * | 2015-07-29 | 2017-02-15 | 中兴通讯股份有限公司 | 文件解析方法及装置 |
CN107180054A (zh) * | 2016-03-11 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法和装置 |
CN108564971A (zh) * | 2018-04-17 | 2018-09-21 | 青岛海信电器股份有限公司 | 音频播放方法及装置 |
CN108829765A (zh) * | 2018-05-29 | 2018-11-16 | 平安科技(深圳)有限公司 | 一种信息查询方法、装置、计算机设备及存储介质 |
CN110795069A (zh) * | 2018-08-02 | 2020-02-14 | Tcl集团股份有限公司 | 代码分析方法、智能终端及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9690770B2 (en) * | 2011-05-31 | 2017-06-27 | Oracle International Corporation | Analysis of documents using rules |
-
2020
- 2020-04-16 CN CN202010302073.1A patent/CN111506747B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915421A (zh) * | 2011-08-04 | 2013-02-06 | 腾讯科技(深圳)有限公司 | 文件的扫描方法及系统 |
CN103177045A (zh) * | 2011-12-26 | 2013-06-26 | 中国移动通信集团广东有限公司 | 文本解析方法及装置 |
CN103165151A (zh) * | 2013-03-29 | 2013-06-19 | 华为技术有限公司 | 多媒体文件播放方法和装置 |
CN106406969A (zh) * | 2015-07-29 | 2017-02-15 | 中兴通讯股份有限公司 | 文件解析方法及装置 |
CN107180054A (zh) * | 2016-03-11 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法和装置 |
CN108564971A (zh) * | 2018-04-17 | 2018-09-21 | 青岛海信电器股份有限公司 | 音频播放方法及装置 |
CN108829765A (zh) * | 2018-05-29 | 2018-11-16 | 平安科技(深圳)有限公司 | 一种信息查询方法、装置、计算机设备及存储介质 |
CN110795069A (zh) * | 2018-08-02 | 2020-02-14 | Tcl集团股份有限公司 | 代码分析方法、智能终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111506747A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180253503A1 (en) | Method, Apparatus and System for Preloading of APP Launch Advertising | |
EP2978232A1 (en) | Method and device for adjusting playback progress of video file | |
US11490173B2 (en) | Switch of audio and video | |
CN111506747B (zh) | 文件解析方法、装置、电子设备及存储介质 | |
US20210400317A1 (en) | Method for processing video-dragging data, and proxy server | |
CN103945259A (zh) | 一种在线视频播放方法及装置 | |
CN110399306B (zh) | 软件模块自动化测试方法及装置 | |
US20200218760A1 (en) | Music search method and device, server and computer-readable storage medium | |
CN111601154B (zh) | 一种视频处理方法及相关设备 | |
CN112104909A (zh) | 互动视频播放方法、装置、计算机设备及可读存储介质 | |
CN111356023B (zh) | 播放方式确定方法及装置 | |
CN114553858A (zh) | 一种资源预下载的方法、装置以及设备 | |
JP2021530905A (ja) | ビデオ処理方法、装置、端末及び記憶媒体 | |
CN109101964B (zh) | 确定多媒体文件中首尾区域的方法、设备及存储介质 | |
US20200007957A1 (en) | Wearable device, information processing method, apparatus and system | |
EP3598738A1 (en) | Video synthesis method, apparatus and device, and video playing method, apparatus and device | |
CN111782989B (zh) | 快应用的关联方法及相关装置 | |
CN115061785A (zh) | 信息下发方法、装置、存储介质及服务器 | |
CN109584891B (zh) | 嵌入式环境下的音频解码方法、装置、设备及介质 | |
CN108763425B (zh) | 存储和读取音频文件的方法和装置 | |
CN116610823B (zh) | 一种统一访问多媒体资源的方法和系统 | |
CN110908958B (zh) | 一种文件处理方法、装置、终端及存储介质 | |
WO2021121303A1 (zh) | Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质 | |
CN110321274B (zh) | 一种应用程序的测试方法、装置、计算设备及存储介质 | |
CN107396176A (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 |