批量计算机文件的遍历性压缩和解压缩方法

文档序号:6405029阅读:171来源:国知局
专利名称:批量计算机文件的遍历性压缩和解压缩方法
技术领域
本发明所属的领域是信息技术。
背景技术
批量计算机文件常常需要进行遍历性压缩处理。这些文件中可能既有需要压缩的文件,如bitmap文件等,也有不需要压缩的文件,如Mp3文件等。
传统的压缩方法,如Zip压缩,它们不对其中的文件类型进行识别和区分,对所有的文件都一律采用同一种无损压缩编码进行压缩。采用这种方法,实现起来比较简单,但它既不能使需要压缩的文件获得充分的压缩效果,也不能使不需要压缩的文件不予压缩,以避免浪费处理时间。
本公司的发明专利“计算机文件的智能压缩和解压缩方法”(中国专利号ZL01124158.6,美国专利号US6,460,044BI),虽然描述了对于人工选择的一组拟压缩/解压缩的计算机文件,如何更有效的进行压缩/解压缩的方法,但未描述对于任意一批计算机文件应如何自动地进行遍历性压缩/解压缩处理。

发明内容
本发明是对上述发明的改进。本发明的目的是为批量计算机文件进行遍历性压缩/解压缩处理提供一种自动的和高效的压缩/解压缩方法。本发明也可用于对任意一个计算机文件自动进行适宜的压缩/解压缩处理。


本发明可用软件、硬件或软硬件相结合的方式来实现。其流程框图如下所示。
图1压缩操作流程框图A图2压缩操作流程框图B图3压缩操作流程框图C图4解压缩操作流程框图。
具体实施例方式
本发明的压缩操作,系统中需有这样设定的两组文件类型1.A组文件类型,即不需要进行压缩的文件类型。它们可以是已进行充分压缩的文件,例如Mp3文件;它们也可以是不宜进行压缩的文件,例如存在计算机中需频繁进行检索的文件等。
由于这些文件不需进行压缩,其文件格式可以是已知的,也可以是未知的,并且这些文件类型可仅用文件扩展名列表来表示。
2.B组文件类型,即需要用特定的压缩算法进行压缩的文件类型。这些文件类型的文件格式需是已知的,并且它们的数据信息,或是适于采用有损压缩,如音频信息,视频信息;或是具有比系统采用的通用无损编码更有效的无损压缩算法,如黑白图象。
这些文件类型需由两个列表来表示一个是文件扩展名列表;另一个是与其相对应的文件控制信息列表。
A.在压缩方起始端的一批计算机文件是由用户指定的,其它操作将由计算机系统按照图1的流程框图自动进行。从用户指定的一批计算机文件中任取一个文件,然后判定它是否属于A组文件类型,亦即它是否需要进行压缩的文件。为此系统需验证该文件的文件扩展名是否包括在A组文件的文件扩展名列表中。如果是,则直接送至图一中G框,即送至BCF文件包中。如果不是,则进入下一步操作B.验证它是否属于B组文件类型,亦即它是否需用特定的算法进行压缩的文件类型。此时系统将首先验证该文件的扩展名是否列在B组文件的文件扩展名列表中,如果是,系统将接着验证该文件的控制信息是否与B组文件控制信息列表中的相应控制信息正好相符。如果上述两个验证都是肯定的,则该文件属于B组文件类型;如果有任一验证是否定的,则该文件不属于B组文件类型。
C.如果该文件不属于B组文件类型,则系统自动采用系统预设的通用无损压缩编码(例如LZW)压缩该文件。
D.如果该文件属于B组文件类型,则系统将决定它是只包含一种数据信息类型的简单文件(例如一个bmp图象),或是包含多种数据信息类型的复合文件(例如一个既包含文本信息也包含图象信息的ppt文件,或包含多个文件的文件包)。
E.对于一个简单文件,根据该文件的文件格式,系统将可自动识别该文件包含的数据信息类型,并自动采用一种适当的压缩编码。例如,对于文本信息或X光照片,系统将自动采用无损压缩,对于一个彩色照片,系统将根据用户的选择,自动采用有损或无损压缩。
F.对于一个复合文件,根据该文件的文件格式,系统将自动对它进行信息单元拆分,令每个信息单元只包含一种数据信息类型。系统可以采用与上述E相似的方式,自动压缩每一个信息单元中的数据信息。
G.为了保存上述那些被压缩过的数据信息和相应的控制信息,系统需定义自身的文件包格式。该格式可由系统设计者指定和命名,例如可命名为BCF格式(Batch Compression Format),具有文件扩展名bcf。图一的最后一个步骤,即将各个已进行压缩或未进行压缩的文件,形成一个BCF文件包。
H.如果用户指定的批量文件还没有全部处理完毕,则系统重复进行上述A到G的过程,直到全部处理完毕。
附注1在本发明中,为减少操作的复杂性,也可不将复合文件列入B组文件类型,从而复合文件也将采用通用无损编码进行压缩。此时的流程框图将如图2所示,上述操作步骤中将没有上述操作步骤D和F。
附注2本发明中也可不设定B组文件类型,需要压缩的文件一律采用通用无损压缩编码,如流程框3所示。
本发明也提供对批量计算机文件的解压缩方法,当压缩流程如图1所示,则解压缩流程如图4所示。在图4的起始端,由用户指定待进行遍历性解压缩的批量文件,其余的操作由采用本发明的系统自动完成,如下所述A.从上述批量文件中任取一个文件,检查它是否具有·bcf扩展名。如果不是,则直接作为已解压文件;如果是,则根据该文件的控制信息,验证它是否确为bcf文件。如果不是,则亦直接作为已解压文件;如果是,则进入下一步操作B.根据该bcf文件的文件格式,决定该文件是否为已压缩文件。如果不是已压缩文件,则直接作为已解压文件;如果是已压缩文件,则进入下一步操作C.根据该bcf文件的文件格式,决定该文件是只包含一种被压缩数据信息类型的简单文件,或是包含多种被压缩数据信息类型的复合文件。
D.如果该文件是一个已被压缩的简单文件,系统将自动识别该文件中的数据信息类型,并且使用与压缩编码相应的解压缩编码,解压该文件中数据信息。
E.如果该文件是一个已被压缩的复合文件,并且该复合文件不是完全用同一种压缩编码进行压缩的,系统将自动地把该文件拆分为多个信息单元,每个单元只包含一种被压缩数据信息类型。
F.识别每个信息单元的数据信息类型,并且使用与压缩编码相应的解压编码解压每个信息单元,形成已解压文件。
G.如果上述批量文件还未全部完成上述处理,系统将自动重复上面A到F的操作,直到全部文件处理完毕。
附注3如果本系统在进行压缩操作时,是按附注1进行的,即复合文件是采用通用无损编码进行压缩的,则此时对该复合文件亦直接采用对应的解压编码,系统不对该复合文件进行信息单元拆分,没有上述E和F项操作。
附注4如果本系统在进行压缩时,是按附注2进行的,即需要压缩的文件均是采用通用无损编码进行压缩的,则亦均采用对应的解压缩编码对之解压。
权利要求
1.通过计算机系统对计算机文件自动进行遍历性压缩的方法,包含下列操作(1).在系统中设定下述两组文件类型A.A组文件类型,即不需要进行压缩的文件类型。它们可以是已进行压缩的文件类型,也可以是不宜进行压缩的文件类型。这些文件类型可仅用文件扩展名列表来表示。B.B组文件类型,即需要用特定的压缩算法进行压缩的文件类型。这些文件类型的文件格式需是已知的,并且它们可以采用比系统设定的通用无损编码更适宜的有损或无损编码。这些文件类型需由两个列表来表示一个是文件扩展名列表;一个是与其相对应的文件控制信息列表。(2).对于任意一个待进行遍历性压缩处理的计算机文件,按下述操作验证它是否属于系统设定的两组文件类型A.验证它是否属于A组文件类型,亦即它是否需进行压缩的文件。为此系统需验证该文件的文件扩展名是否包括在A组文件的文件扩展名列表中。B.验证它是否属于B组文件类型,亦即它是否需用特定的算法进行压缩的文件类型。此时系统将首先验证该文件的扩展名是否列在B组文件的文件扩展名列表中。如果是,系统将接着验证该文件的控制信息是否与B组文件控制信息列表中的相应控制信息正好相符。如果上述两个验证都是肯定的,则该文件属于B组文件类型;如果有任一验证是否定的,则该文件不属于B组文件类型;(3).根据上述验证结果,采取下述压缩操作A.如果该文件属于A组文件类型,则不予压缩。B.如果该文件不属于A组文件类型,也不属于B组文件类型,则采用系统预设的通用无损压缩编码对之压缩。C.如果该文件属于B组文件类型,并且该文件只包含一种数据信息类型,则根据该文件的数据信息类型,采用适宜的无损或有损编码对之压缩。D.如果该文件属于B组文件类型,并且该文件包含多种数据信息类型,则首先将该文件拆分为多个信息单元,每个单元只包含一种数据信息类型,然后根据各个信息单元的数据信息类型,分别采用适宜的无损或有损编码对之压缩。
2.权利要求1的方法,在计算机软件、硬件或软、硬件相结合中的使用,或在具有相应计算机功能的其它装置中的使用。
3.权利要求1的方法,作为独立的信息压缩工具使用,或在任何应用系统中的使用。
4.通过计算机系统对计算机文件自动进行遍历性压缩的方法,包括下列操作(1).在系统中设定下述两组文件类型A.A组文件类型,即不需要进行压缩的文件类型。它们可以是已进行压缩的文件类型,也可以是不宜进行压缩的文件类型。这些文件类型可仅用文件扩展名列表来表示。B.B组文件类型,即需要用特定的压缩算法进行压缩的文件类型。这些文件类型的文件格式需是已知的,并且它们可以采用比系统设定的通用无损编码更适宜的有损或无损编码。这些文件类型需由两个列表来表示一个是文件扩展名列表;一个是与其相对应的文件控制信息列表。(2).对于任意一个待进行遍历性压缩处理的计算机文件,按下述操作验证它是否属于系统设定的两组文件类型A.验证它是否属于A组文件类型,亦即它是否需进行压缩的文件。为此系统需验证该文件的文件扩展名是否包括在A组文件的文件扩展名列表中。B.验证它是否属于B组文件类型,亦即它是否需用特定的算法进行压缩的文件类型。此时系统将首先验证该文件的扩展名是否列在B组文件的文件扩展名列表中。如果是,系统将接着验证该文件的控制信息是否与B组文件控制信息列表中的相应控制信息正好相符。如果上述两个验证都是肯定的,则该文件属于B组文件类型;如果有任一验证是否定的,则该文件不属于B组文件类型;(3).根据上述验证结果,采取下述压缩操作A.如果该文件属于A组文件类型,则不予压缩。B.如果该文件不属于A组文件类型,也不属于B组文件类型,则采用系统预设的通用无损压缩编码对之压缩。C.如果该文件属于B组文件类型,并且该文件只包含一种数据信息类型,则根据该文件的数据信息类型,采用适宜的无损或有损编码对之压缩。
5.根据权利要求4的方法,在计算机软件、硬件或软、硬件相结合中的使用,或在具有相应计算机功能的其它装置中的使用。
6.权利要求4的方法,作为独立的信息压缩工具使用,或在任何应用系统中的使用。
7.通过计算机系统对计算机文件自动进行遍历性压缩的方法,包括下列操作(1).在系统中设定A组文件类型,即不需要进行压缩的文件类型。它们可以是已进行压缩的文件类型,也可以是不宜进行压缩的文件类型。这些文件类型可仅用文件扩展名列表来表示。(2).对于任意一个待进行遍历性压缩处理的计算机文件,验证它是否属于A组文件类型,亦即它是否需进行压缩的文件。为此系统需验证该文件的文件扩展名是否包括在A组文件的文件扩展名列表中。(3).根据上述验证的结果,采取下述压缩操作A.如果该文件属于A组文件类型,则不予压缩。B.如果该文件不属于A组文件类型,则采用系统预设的通用无损压缩编码对之压缩。
8.根据权利要求7的方法,在计算机软件、硬件或软、硬件相结合中的使用,或在具有相应计算机功能的其它装置中的使用。
9.权利要求7的方法,作为独立的信息压缩工具使用,或在任何应用系统中的使用。
10.通过计算机系统对于计算机文件自动进行遍历性解压缩的方法,当按上述权利要求1、权利要求4或权利要求7的方法进行遍历性压缩操作的计算机文件具有某个文件扩展名,例如bcf时,包含下列操作(1).对于任意一个待进行遍历性解压缩处理的计算机文件,根据该文件的控制信息,验证该文件是否为bcf文件,并验证它是否为已压缩文件;(2).如果该文件不是bcf文件或不是已压缩文件,则不予解压操作;(3).如果该文件是bcf文件,并且是已压缩文件,则根据该文件的控制信息,决定该文件是否仅包含一种压缩编码。如果是,则采用相应的解压编码解压该文件。如果不是,则将其拆分为多个信息单元,每个单元只包含一种压缩编码,分别采用相应的解压缩编码,对之解压。
11.权利要求7的方法,在计算机软件、硬件或软、硬件相结合中的使用,或在具有相应计算机功能的其它装置中的使用。
12.权利要求7的方法,作为独立的信息压缩工具使用,或在任何应用系统中的使用。
全文摘要
对计算机文件自动进行遍历性压缩和解压缩的方法。按照该方法,可对任意一个或一批计算机文件,自动进行高效的遍历性压缩处理对不需要压缩的文件不予压缩,对需要压缩的文件,自动采用适宜的有损或无损编码。本发明也可用于对任意一个或一批文件自动进行遍历性解压操作。
文档编号G06F17/00GK1584875SQ20041004601
公开日2005年2月23日 申请日期2004年6月1日 优先权日2004年6月1日
发明者王金波 申请人:北京九州计算机网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1