一种格式未知文件的处理方法和装置的制作方法

文档序号:6371435阅读:140来源:国知局
专利名称:一种格式未知文件的处理方法和装置的制作方法
技术领域
本发明实施方式涉及计算机应用技术领域,更具体地,涉及ー种格式未知文件的处理方法和装置。
背景技术
随着计算机技术和互联网的飞速发展,人们之间的交流越来越频繁,大家用到的应用软件也五花八门,遍及即时通信、音视频播放、资源下载、网页浏览、输入法、系统辅助等多个门类。应用软件的ー个重要功能是处理数据,因而随着软件的增多,各种不同种类的数据便是纷至沓来。数据一般都是按照一定的格式编排的,随着数据种类的增多,数据格式也是千变万化,层出不穷,终而各种不同格式的文件横空而出,基本上超出了绝大部分用户的 记忆范围。从视窗(windows)操作系统之前的磁盘操作系统(DOS)开始,便有了对数据文件进行标识整理的需求。当吋,软件种类比较稀少,数据格式也不是很繁多,DOS便采用了ー种比较简易的方式,即对文件名以文件全名+后缀名的方式(即8+3方式)进行编排,方便用户记忆,同时也利于软件进行分析处理。随着Windows操作系统的不断变化,文件格式大幅度增加,但Windows系统对此类文件处理方式并无多大的变化,仅有ー小部分技术上的修正,如名称的字数不再限定等等。这些小的修正并不能满足文件种类和格式日益快速增长的需求。如果电脑上尚没有与文件格式相关联的软件,则操作系统无法使用现有软件打开该文件。在现有技术中,主要基于文件的后缀名来确定该文件的格式以及相应关联程序软件。然而,文件的后缀名信息量少,且很多软件共用相同的后缀名,因此容易出现文件格式误判,导致关联程序的匹配成功率并不高。而且,文件的后缀名很容易被恶意窜改,导致文件格式混淆,因此也难以确定出恰当的关联程序。

发明内容
本发明实施方式提出ー种格式未知文件的处理方法,以提高关联程序的匹配成功率。本发明实施方式还提出ー种格式未知文件的处理装置,以提高关联程序的匹配成功率。本发明实施方式的具体方案如下ー种格式未知文件的处理方法,该方法包括解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字;基于所述文件格式关键字,确定该格式未知文件的文件格式类型,井根据该文件格式类型,获取与该格式未知文件相关联的应用软件。ー种格式未知文件的处理装置,该装置包括文件头解析単元和应用软件确定单元,其中文件头解析単元,用于解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字;应用软件确定单元,用于基于所述文件格式关键字,确定该格式未知文件的文件格式类型,井根据该文件格式类型,获取与该格式未知文件相关联的应用软件。从上述技术方案可以看出,在本发明实施方式中,首先解析该格式未知文件的文件头,以从文件头中获取文件格式关键字;然后基于文件格式关键字,确定该格式未知文件的文件格式类型,井根据该文件格式类型,获取与该格式未知文件相关联的应用软件。由此可见,应用本发明实施方式,基于文件头分析来确定该类型文件打开所需要的软件环境,从而避免了基于文件后缀名来确定文件格式以及相应关联程序软件所导致的文件格式误判的情形,因此本发明实施方式提高了关联程序的匹配成功率。而且,在本发明实施方式中,在确定了关联程序之后,可以引导用户去下载安装关 联程序,而且可以将格式未知文件与应用软件的对应关系注册到注册表,从而可以修复不正确的关联对应关系,因此本发明实施方式还可以帮助用户顺利打开文件。


图I为现有技术注册表中文件后缀名与关联程序的对应示意图;图2为现有技术中视窗操作系统针对格式未知文件的提示窗ロ示意图;图3为根据本发明实施方式的格式未知文件的处理方法流程图;图4为根据本发明实施方式的bmp文件格式文件头示意图;图5为根据本发明实施方式的格式未知文件的示范性处理方法流程图;图6为根据本发明实施方式的格式未知文件的处理装置结构图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进ー步的详细描述。在现有技术中,如果出现未知文件格式的文件,则首先读取该文件的后缀名,然后在注册表中读取该后缀名的关联信息,以确定打开该未知文件格式的关联程序。图I为现有技术注册表中文件后缀名与关联程序的对应示意图。如图I所示,在注册表中保存有文件后缀名与关联程序的对应关系,其具体存储位置包括HKEY_CLASSES_R00T ;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ExpIorer\FileExts ;由图I可见,在注册表里面有详细的文件关联信息,可以基于注册表查询到与文件后缀名对应的关联程序。然而,如果用户終端上没有安装相关的关联软件,则注册表中就无法查询到相关关联信息,文件将无法被打开,此吋,Windows会执行默认的例行程序处理,即“未知软件推荐”程序。图2为现有技术中视窗操作系统针对未关联文件的提示窗ロ示意图。由图2可见,操作系统将提醒用户从网络中自行寻找恰当的程序或者自己在本地捜索关联程序,而这将给用户带来很大的困扰。另外,正如上述分析,由于文件的后缀名信息量少,且很多软件共用相同的后缀名,因此依据上述现有方式来处理未知格式的文件,则容易出现文件格式误判,从而导致关联程序的匹配成功率并不高。而且,文件的后缀名很容易被恶意窜改,导致文件格式混淆,因此也难以确定出恰当的关联程序。为了解决上述缺陷,在本发明实施方式中,直接从格式未知文件的文件头中寻找与文件格式相关的信息,并基于文件头来确定出关联程序。
图3为根据本发明实施方式的格式未知文件的处理方法流程图。如图3所示,该方法包括步骤301 :解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字。文件是描述数据的载体,根据数据结构的不同,会有各种不同的文件类型出现。每一种文件类型都有相应的数据格式,数据格式定义一般有文件头描述。通常情况下,文件头一般位于文件开头,通常描述有文件的ー些重要属性。比如图4为根据本发明实施方式的bmp文件格式文件头示意图。实际上,在各种格式的文件开始部分都有鮮明的特殊字段来标识,这些特殊字段称为文件格式关键字,可以用来确定文件格式。通过解析这些特殊字段,然后与预先确定的文件格式进行比对,若出现一致性,即可判断出该文件类型。而且,准确判断出未知文件类型之后,即可进入软件推荐下载等相应的处理流程。在文件头中,经常会包括十六进制的特殊字段。优选地,可以将这些十六进制的特殊字段应用为文件格式关键字,并利用这些十六进制的文件格式关键字来确定未知文件的类型。在一个实施方式中,解析该格式未知文件的文件头,以从文件头中获取文件格式关键字具体包括解析该格式未知文件的文件头,以从文件头中获取十六进制的文件格式
关键字。其中,目前常见的十六进制的文件格式关键字包括FFD8FF ;89504E47 ;47494638 ;49492A00 ;424D ;41433130 ;38425053 ;7B5C727466 ;3C3F786D6C ;68746D6C3E ;44656C6976657279 2D646174653A ;CFAD12FEC5FD746F ;2142444E ;D0CF11E0 ;5374616E64617264204A ;FF575043 ;255044462D312E;AC9EBD8F ;E3828596 ;504B0304 ;52617221 ;57415645 ;41564920 ;2E7261FD ;2E524D46 ;000001BA ;000001B3 ;6D6F6F76 ;3026B2758E66CF11 ;或 D546864,等等。而且,文件的文件头有时候还会包括一些文本信息,还可以通过这些文本信息来确定未知文件的格式,此时将这些文本信息应用为文件格式关键字。比如在文件头中可能包括有文本信息,而这些文本信息包括公司名称、软件名称、软件版本号等辅助信息。此时,可以解析出文本信息,然后根据公司名称、软件名称、软件版本等辅助信息来确定该未知文件的格式。在一个实施方式中,可以通过文件头标识符确定出格式未知文件的文件头区域,然后在文件头区域中检索文件格式关键字。
步骤302 :基于所述文件格式关键字,确定该格式未知文件的文件格式类型,并根据该文件格式类型,获取与该格式未知文件相关联的应用软件。在这里,可以针对目前常见的文件格式,在数据库中预先建立文件格式关键字与文件格式类型之间的关联关系列表,而且在关联关系列表之中优选进一歩包含文件格式类型与应用程序之间的对应关系。在一个实施方式中,可以基于文件格式关键字,在关联关系列表中查询对应于文件格式关键字的文件格式类型,并将所查询到的文件格式类型确定为该格式未知文件的文件格式类型;基于所确定的文件格式类型,在所述关联关系列表中查询对应于所确定的文件格式类型的应用软件,并将所查询到的应用软件确定为该格式未知文件相关联的应用软件。优选地,关联关系列表是可编辑的,从而当出现新的文件格式的时候,可以在关联关系列表中及时增加对应的文件格式关键字,或者当更改某格式文件的默认打开应用程序之后,也可以在关联关系列表中即时更新对应的关联程序。 当从文件头中确定出文件格式关键字之后,可以基于文件格式关键字查询关联关系列表,以确定出恰当的关联应用程序。具体地,包括首先基于所述文件格式关键字查询关联关系列表以确定与文件格式关键字对应的文件格式类型,然后再基于所确定的文件格式类型确定文件打开应用程序,并将该文件打开应用程序关联到所述未知文件。更具体地,ー些常用文件的文件头格式关键字(16进制)与文件类型的对应关系如下JPEG (jpg),文件头FFD8FFPNG (png),文件头89504E47
GIF (gif),文件头47494638TIFF (tif),文件头49492A00Windows Bitmap (bmp),文件头424DCAD (dwg),文件头41433130Adobe Photoshop (psd),文件头38425053Rich Text Format (rtf),文件头7B5C727466XML (xml),文件头3C3F786D6CHTML (html),文件头=687^D6C3EEmail [thorough only] (eml),文件头44656C69766572792D646174653AOutlook Express (dbx),文件头CFAD12FEC5FD746FOutlook (pst),文件头2142444EMS Word/Excel (xls. or. doc),文件头D0CF11E0MS Access (mdb),文件头5374616E64617264204AWordPerfect (wpd),文件头=FF575CM3Adobe Acrobat (pdf),文件头=255O44462D3I2EQuicken (qdf),文件头AC9EBD8FWindows Password (pwl),文件头E3828596ZIP Archive (zip),文件头504B0304
RAR Archive (rar),文件头52617221Wave (wav),文件头=574I564S
AVI (avi),文件头41564920Real Audio (ram),文件头2E7261FDReal Media (rm),文件头2E524D46MPEG(mpg),文件头00000 IBAMPEG (mpg),文件头000001B3Quicktime (mov),文件头6D6F6F76
Windows Media(asf),文件头3026B2758E66CF11MIDI (mid),文件头4D546864举例说明当在步骤301中确定出未知格式文件头中包含有文件格式关键字255044462D312E吋,则通过查询关联关系列表,确定出该文件格式为Adobe公司开发的Pdf文件格式,而且再通过查询关联关系列表获知pdf文件格式对应于Adobe公司开发的Acrobat程序,从而可以利用Acrobat程序来打开该文件。在一个实施方式中,除了利用十六进制的文件格式关键字之外,还可以基于文件头中所包含的公司名称、软件名称、软件版本等辅助信息来确定该未知文件的格式。比如,当在步骤301中确定出未知格式文件头中包含有文件格式关键字为“Adobe”和“Acrobat”吋,则认为该文件格式具有很大的可能性为Pdf文件,则可以尝试利用Acrobat程序来打开该未知文件。其中,可以将利用十六进制的文件格式关键字的判断方式和利用辅助信息的判断方式结合起来进行加权综合判断,或者在这两个判断方式中任意选择ー种。优选地,在确定出该格式未知文件相关联的应用软件之后,可以进ー步检索本地是否安装有与该格式未知文件相关联的应用软件,如果是,则将该格式未知文件与所述应用软件的对应关系注册到注册表,并应用该应用软件打开所述格式未知文件;如果不是,则推送与该格式未知文件相关联的应用软件的下载方式。其中,为了安全器件,可以预先设置安全软件白名单,并且只有列为安全软件白名单中的文件类型才执行具体的推送下载服务。在推送软件的下载过程中,优选选择靠近用户客户端的软件资源服务器,而且下载时可以采用P2P相关技术进行加速下载,从而保证用户遇到未知文件时能够立即下载到相应的软件,从而提高软件匹配的成功率。另外,区别于windows系统默认的“未知软件推荐”,为了符合用户使用习惯,可以预先在网络侧预先设置国内常用软件名单列表。在向用户推送与格式未知文件相关联的应用软件的下载方式吋,优选更加偏向于推荐该国内常用软件名单列表中的国内常用软件。而且,可以在网络侧的运营端持续跟进用户使用需求,因而推荐软件列表也时有变化。比如网络侧的运营端可以通过配置文件向客户端下发最新的关联关系列表,从而在客户端上可以及时获知关联关系列表的更新。比如,配置文件可以包括描述字段和软件列表字段。在描述字段中描述配置文件的属性信息,在软件列表字段中描述配置文件中所包含的关联软件。
示范性的,目前配置文件格式如下
<ext name=" iwpetf" >
<descrip><l[CDA1/descrio>
' <sof t id=" Om detault=11 I11 />
:.<Sof t ::L d= -5 O I. '* ,, > ;< 3 o f t :1.*:;*=!* 5 OO!>
</softl </ext>根据上述实例可见,在描述字段(descrip)中描述有针对电影文件的属性信息,而在软件列表字段(SOftlist)中描述了与电影文件相关联的软件列表。基于上述详细说明,图5为根据本发明实施方式的格式未知文件的示范性处理方法流程图。如图5所示,该方法包括步骤501 :用户获取到文件。步骤502 :判断该文件是否已经与应用程序之间具有关联关系,如果是则执行步骤503并结束本流程,如果不是则执行步骤504及其后续步骤。步骤503 :直接利用与该文件相关联的关联程序打开该文件。步骤504 :检查该文件是否包含文件头信息,如果是则执行步骤506及其后续步骤,否则执行步骤505并退出本流程。步骤505 :当确定出文件不包含文件头信息时,则弹出视窗操作系统默认的软件推荐窗ロ,由用户自行从网络下载用户自身认定的关联程序或者自行从本地选择关联程序。步骤506 :根据文件头确定该文件的文件格式以及对应的关联程序。在这里,用户可以基于从文件头中提取的十六进制的文件格式关键字来确定该文件的文件格式,或者从文件头中获取文本信息,并根据文本信息来确定文件的文件格式以及对应的关联程序。步骤507 :判断该关联程序是否已经安装在本地,如果是则执行步骤509并结束本流程,如果不是则执行步骤508并结束本流程。步骤508 :向用户推送该关联程序的下载方式。步骤509 :利用已经安装在本地的关联程序打开该文件。基于上述详细分析,本发明实施方式还提出了ー种格式未知文件的处理装置。图6为根据本发明实施方式的格式未知文件的处理装置结构图。如图6所示,该装置包括文件头解析单元601和应用软件确定单元602。其中文件头解析单元601,用于解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字;应用软件确定单元602,用于基于所述文件格式关键字,确定该格式未知文件的文件格式类型,井根据该文件格式类型,获取与该格式未知文件相关联的应用软件。在一个实施方式中,文件头解析单元601,用于解析该格式未知文件的文件头,以从文件头中获取十六进制的文件格式关键字。更具体地,十六进制的文件格式关键字包括FFD8FF ;89504E47 ;47494638 ;49492A00 ;424D ;41433130 ;38425053 ;7B5C727466 ;3C3F786D6C;68746D6C3E ;44656C69766572792D646174653A;CFAD12FEC5FD746F ;2142444E ;D0CF11E0 ;5374616E64617264204A;FF575043 ;255044462D312E ;AC9EBD8F ;E3828596 ;504B0304 ;52617221 ;57415645 ;41564920 ;2E7261FD ;2E524D46 ;000001BA ;000001B3 ;6D6F6F76 ;3026B2758E66CF11 ;或0546864。在一个实施方式中,文件头解析单元601,用于解析该格式未知文件的文件头,以从文件头中获取文本信息,井根据所述文本信息获取文件格式关键字,此时文件头解析单元601从文件头中获取文本信息,从文本信息获取公司名称、软件名称或软件版本号,并且将公司名称、软件名称或软件版本号作为文件格式关键字来查询关联程序。在一个实施方式中,文件头解析単元601,用于通过文件头标识符确定出该格式未知文件的文件头区域;并在所述文件头区域中检索文件格式关键字。优选地,该装置进ー步包括软件推荐单元603。软件推荐单元603,用于检索是否安装有与该格式未知文件相关联的应用软件,如果是,则将该格式未知文件与所述应用软 件的对应关系注册到注册表,并应用该应用软件打开所述格式未知文件;如果不是,则推送与该格式未知文件相关联的应用软件的下载方式。优选地,应用软件确定单元602,用于基于所述文件格式关键字,在预先建立的关联关系列表中查询对应于所述文件格式关键字的文件格式类型,将所查询到的文件格式类型确定为该格式未知文件的文件格式类型,基于所确定的文件格式类型,在所述关联关系列表中查询对应于所确定的文件格式类型的应用软件,将所查询到的应用软件确定为该格式未知文件相关联的应用软件;其中在所述关联关系列表中保存有文件格式关键字与文件格式类型的对应关系以及文件格式类型与应用软件的对应关系。综上所述,在本发明实施方式中,首先解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字;然后基于文件格式关键字,确定该格式未知文件的文件格式类型,井根据该文件格式类型,获取与该格式未知文件相关联的应用软件。由此可见,应用本发明实施方式,基于文件头分析确定该类型文件打开所需要的软件环境,从而避免了现有技术中基于文件后缀名确定文件格式以及相应关联程序软件所导致的文件格式误判的情形,因本发明实施方式提高了关联程序的匹配成功率。而且,在本发明实施方式中,在确定了关联程序之后,可以引导用户去下载安装该关联程序或者修复不正确的关联对应关系,因此本发明实施方式还可以帮助用户准确定位到恰当的关联程序下载地址。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种格式未知文件的处理方法,其特征在于,该方法包括 解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字; 基于所述文件格式关键字,确定该格式未知文件的文件格式类型,并根据该文件格式类型,获取与该格式未知文件相关联的应用软件。
2.根据权利要求I所述的格式未知文件的处理方法,其特征在于,所述解析该格式未知文件的文件头,以从文件头中获取文件格式关键字包括 解析该格式未知文件的文件头,以从文件头中获取十六进制的文件格式关键字。
3.根据权利要求I所述的格式未知文件的处理方法,其特征在于,所述解析该格式未知文件的文件头,以从文件头中获取文件格式关键字包括 解析该格式未知文件的文件头,以从文件头中获取文本信息,并根据所述文本信息获取文件格式关键字。
4.根据权利要求3所述的格式未知文件的处理方法,其特征在于,所述从文本信息获取文件格式关键字为 从文本信息获取公司名称、软件名称或软件版本号。
5.根据权利要求I所述的格式未知文件的处理方法,其特征在于,所述解析该格式未知文件的文件头,以从文件头中获取文件格式关键字包括 通过文件头标识符确定出该格式未知文件的文件头区域; 在所述文件头区域中检索文件格式关键字。
6.根据权利要求I所述的格式未知文件的处理方法,其特征在于,该方法进一步包括预先建立关联关系列表的步骤,其中在所述关联关系列表中保存有文件格式关键字与文件格式类型的对应关系以及文件格式类型与应用软件的对应关系; 所述基于所述文件格式关键字,确定该格式未知文件的文件格式类型,并根据该文件格式类型,获取与该格式未知文件相关联的应用软件,具体包括 基于所述文件格式关键字,在所述关联关系列表中查询对应于所述文件格式关键字的文件格式类型,并将所查询到的文件格式类型确定为该格式未知文件的文件格式类型; 基于所确定的文件格式类型,在所述关联关系列表中查询对应于所确定的文件格式类型的应用软件,并将所查询到的应用软件确定为该格式未知文件相关联的应用软件。
7.根据权利要求1-6中任一项所述的格式未知文件的处理方法,其特征在于,该方法进一步包括 检索是否安装有与该格式未知文件相关联的应用软件,如果是,则将该格式未知文件与所述应用软件的对应关系注册到注册表,并应用该应用软件打开所述格式未知文件;如果不是,则推送与该格式未知文件相关联的应用软件的下载方式。
8.一种格式未知文件的处理装置,其特征在于,该装置包括文件头解析单元和应用软件确定单元,其中 文件头解析单元,用于解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字; 应用软件确定单元,用于基于所述文件格式关键字,确定该格式未知文件的文件格式类型,并根据该文件格式类型,获取与该格式未知文件相关联的应用软件。
9.根据权利要求8所述的格式未知文件的处理装置,其特征在于,文件头解析单元,用于解析该格式未知文件的文件头,以从文件头中获取十六进制的文件格式关键字。
10.根据权利要求8所述的格式未知文件的处理装置,其特征在于, 文件头解析单元,用于解析该格式未知文件的文件头,以从文件头中获取文本信息,并根据所述文本信息获取文件格式关键字。
11.根据权利要求10所述的格式未知文件的处理装置,其特征在于, 文件头解析单元,用于解析该格式未知文件的文件头,以从文件头中获取文本信息,从文本信息获取公司名称、软件名称或软件版本号。
12.根据权利要求8所述的格式未知文件的处理装置,其特征在于, 文件头解析单元,用于通过文件头标识符确定出该格式未知文件的文件头区域;并在所述文件头区域中检索文件格式关键字。
13.根据权利要求8所述的格式未知文件的处理装置,其特征在于, 应用软件确定单元,用于基于所述文件格式关键字,在预先建立的关联关系列表中查询对应于所述文件格式关键字的文件格式类型,将所查询到的文件格式类型确定为该格式未知文件的文件格式类型,基于所确定的文件格式类型,在所述关联关系列表中查询对应于所确定的文件格式类型的应用软件,将所查询到的应用软件确定为该格式未知文件相关联的应用软件;其中在所述关联关系列表中保存有文件格式关键字与文件格式类型的对应关系以及文件格式类型与应用软件的对应关系。
14.根据权利要求8-13中任一项所述的格式未知文件的处理装置,其特征在于,该装置进一步包括软件推荐单元, 所述软件推荐单元,用于检索是否安装有与该格式未知文件相关联的应用软件,如果是,则将该格式未知文件与所述应用软件的对应关系注册到注册表,并应用该应用软件打开所述格式未知文件;如果不是,则推送与该格式未知文件相关联的应用软件的下载方式。
全文摘要
本发明实施方式提出了一种格式未知文件的处理方法和装置。该方法包括解析该格式未知文件的文件头,以从所述文件头中获取文件格式关键字;基于所述文件格式关键字,确定该格式未知文件的文件格式类型,并根据该文件格式类型,获取与该格式未知文件相关联的应用软件。应用本发明实施方式之后,可以基于文件头分析来确定打开该类型文件所需要的软件环境,从而避免了现有技术中基于后缀名来确定文件格式以及关联程序所导致的文件格式误判的情形,提高了关联程序的匹配成功率。
文档编号G06F17/30GK102768676SQ20121019576
公开日2012年11月7日 申请日期2012年6月14日 优先权日2012年6月14日
发明者周鹏, 王宝剑 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1