CN100535889C - 文件处理方法和数据处理装置 - Google Patents
文件处理方法和数据处理装置 Download PDFInfo
- Publication number
- CN100535889C CN100535889C CN03106774.3A CN03106774A CN100535889C CN 100535889 C CN100535889 C CN 100535889C CN 03106774 A CN03106774 A CN 03106774A CN 100535889 C CN100535889 C CN 100535889C
- Authority
- CN
- China
- Prior art keywords
- data
- code
- file
- compression
- compressed file
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B20/1252—Formatting, e.g. arrangement of data block or words on the record carriers on discs for discontinuous data, e.g. digital information signals, computer programme data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
-
- 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Abstract
一种文件处理方法,一种数据处理装置和一种存储介质,把数据和关于该数据的索引数据划分成多个部分,并对各部分进行压缩以获得压缩文件,并把压缩文件和压缩后各部分的地址信息存储在存储介质中。
Description
本申请是申请号为98801551.X,申请日为1998年10月20日,发明名称为“文件处理方法,数据处理装置和存储介质”的申请的分案申请。
技术领域
本发明一般涉及文件处理方法,数据处理装置和存储介质,尤其涉及一种文件处理方法和数据处理装置,用于压缩文件,例如压缩涉及一个或多个词典,百科全书等的词典文件,把压缩文件存储在存储介质中并从存储介质中读取所存储的文件,并把所读取的文件读到一种存储介质中,该存储介质中存储了文件,例如压缩的词典文件。
技术背景
近来,存在例如CD-ROM的存储介质,其中CD-ROM可以预先存储有关于词典,百科全书等的信息。通过从计算机访问这种CD-ROM,可以读取并显示有关于词典,百科全书等的信息。结果是,有关于词典,百科全书等的大量信息可以存储在一张极其紧密的CD-ROM中。另外,当使用计算机时不必打开词典,百科全书等来获取必要的信息,可从CD-ROM中读取必要的信息,从而可大大的节省时间和减少麻烦。
常规的用于存储有关于词典,百科全书等的信息的CD-ROM中,词典文件由词典数据和有关于索引的数据(以后称为索引数据)组成。例如,在存储百科全书的情况下,词典数据包括有关于文本的数据(以后称为文本数据),其中文本用于解释单词的意思,有关于一个图象的数据(以后称为图象数据),其中如果单词描述的是一个动物则这一图象数据显示出一个动物,有关于一种声音的数据(以后称为声音数据),例如一种鸟的叫声,如果单词描述的是这种鸟的话,等。另一方面,索引用于从词典文件中检索所需的词典数据,并且根据词典数据提供索引。索引有时也指关键字。索引数据包括有关于标题的指针,有关于项的指针等。有关于标题的数据包括中心词。另外,有关于项的数据包括中心词,注释等。
目前,由于CD-ROM的存储能力是比较大的,因此文本数据和索引数据未经压缩就可存储在一张CD-ROM中。另一方面,声音数据尤其是图象数据中所包括的信息量非常大,因此在这些数据在被存储在CD-ROM中之前,根据适当的压缩技术分别对声音数据和图象数据进行压缩。
然而,如果每个词典或百科全书都需要一个CD-ROM,则不能很好的利用词典数据。因此,需要把有关于多个词典,百科全书等的信息存储在一张CD-ROM中,但是由于即使词典数据已被压缩过,所需存储的信息量仍可能超过单张CD-ROM的存储量,因此就存在了问题。另外,甚至于在需要存储在CD-ROM中的词典文件只是有关于一个词典,百科全书等的情况下,当词典文件的信息量增加时,即使词典数据已被压缩过,所需存储的信息量仍可能超过单张CD-ROM的存储量,。
相应地,可考虑在把有关于词典,百科全书等的信息存储在CD-ROM中时,不仅需要对词典数据进行压缩,而且需要对整个词典文件包括索引数据进行压缩。但是到目前为止还没有提出一种可通过比较简单的技术来对整个词典文件进行有效的压缩,并且能够在短时间内对压缩的词典文件进行扩展的方法。特别是在词典,百科全书等的情况下,在这些情况下有关于索引数据的信息量非常大。因此,当对压缩的词典文件进行扩展时,如果花费很长的时间来执行索引数据的恢复处理,则访问所需要的索引数据或词典数据的时间将会变长,从而降低了词典,百科全书等的方便性。
而且,当把词典数据压缩成索引项的方式或定长的方式时,例如,由于有关于索引数据的信息量很大,特别是在词典,百科全书等的情况下,因此会花费很长的时间来执行对压缩词典文件的扩展处理,从而同样地减低了词典,百科全书的方便性,例如,日本公开专利申请NO.9-26969提出了一种电话号码簿检索系统,该系统使用了与上述方法类似的一种方法。然而,该系统所提出的方法并未对索引数据进行压缩。在电话号码簿的情况中,有关于索引数据的信息量与有关于相应于词典数据的电话号码,姓,名,公司名和地址相比要小的多。因此,即使对电话号码簿的索引数据进行了压缩,整个信息压缩的效率也不会大大地提高。因此,即使把该系统所提出的方法应用于把有关于词典,百科全书等存储在存储介质中的存储中,也不会如所设想的那样大大地提高词典文件的整体的信息压缩效率。
相应地,在有关于索引数据的信息量非常大的情况下,甚至在这种信息量同有关于词典数据例如词典,百科全书等的信息量相比也是非常大的情况下,由于目前还不能有效地对词典文件进行压缩并把压缩文件存储在存储介质中,并且还不能通过比较简单的处理在短时间内访问压缩的词典文件,因此就存在有问题。
发明内容
因此,本发明的一个目的在于提供一种文件处理方法,一种数据处理装置和一种存储介质,利用这些方法,装置和介质可有效地对词典文件进行压缩并把它存储在存储介质中,并且可通过比较简单的处理在短时间内访问压缩的词典文件,甚至于在有关于索引数据的信息量与有关词典数据例如词典,百科全书等的信息量相比也是很大的情况下。
本发明的另一个目的在于提供一种文件处理方法,该方法包括一个压缩步骤和一个存储步骤,其中压缩步骤把数据和关于该数据的索引数据划分成多个部分,并分别对这些部分进行压缩以获得压缩文件,其中存储步骤把压缩文件和经过压缩后的各部分的地址信息存储在存储介质中。根据本发明,可有效地对文件例如词典文件进行压缩并把它存储在存储介质中,其中词典文件由包括索引,每一项的文本等的数据组成。另外,可通过对每个部分的压缩文件进行扩展,从而可通过比较简单的处理快速地进行文件检索。
当每一部分都是定长时,在压缩文件中就不必在压缩文件中包括压缩数据之前的地址信息,从而可提高数据压缩效率。另一方面,当每一部分均是变长时,则所述存储步骤还应在存储介质中存储压缩数据之前的地址信息,从而可以根据数据类型和部分把该部分设置为适当的长度,从而可快速的进行数据扩展。
当文件处理方法还包括一个恢复步骤时,可通过使用一个辅助存储单元来提高文件检索速度,其中恢复步骤从存储介质中读取压缩文件并对压缩文件的每一部分进行扩展以恢复数据和索引数据,其中辅助存储单元可进行快速数据访问并把恢复的数据和索引数据存储在辅助存储单元中。
当压缩步骤使用了每一部分的数据和索引数据所共同的压缩算法和压缩参数时,则可以在数据扩展时通过使用共同的压缩算法和压缩参数来简化数据压缩处理和数据扩展处理。尤其是,可以使用哈夫曼编码,通用编码等作为压缩算法。
本发明的另一个目的在于提供一种文件处理方法,该方法包括一个读取步骤和一个恢复步骤,其中读取步骤从存储介质中读取压缩文件和压缩后的多个部分中的每个部分的地址信息,对于每个部分来说,所述压缩文件是通过把数据和与该数据相对应并且用于搜索或检索该数据的索引数据划分成多个部分并对这些部分进行压缩而得到的,其中恢复步骤对压缩文件进行扩展并恢复数据和索引数据。根据本发明,通过对每一部分执行压缩文件例如压缩的词典文件的扩展,可通过比较简单的处理来实现快速文件检索。
本发明的另一个目的在于提供一种数据处理装置,该装置包括压缩装置和存储装置,其中压缩装置用于把数据和关于该数据的索引数据划分成多个部分,并分别对这些部分进行压缩以获得压缩文件,其中存储装置用于把压缩文件和压缩后各部分的地址信息存储在存储介质中。根据本发明,可有效地对由包括索引,各项的文本等的数据组成文件进行压缩并把压缩文件存储在存储介质中。另外,通过对压缩文件的每一部分进行扩展,可通过使用比较简单的处理来实现快速文件检索。
本发明的另一个目的在于提供一种数据处理装置,该装置包括读取装置和恢复装置,其中读取装置用于从存储介质中读取压缩文件和压缩后的多个部分中的每个部分的地址信息,对于每一部分来说,所述压缩文件是通过把数据和与该数据相对应并且用于搜索或检索该数据的索引数据划分成多个部分,并对这些部分进行压缩而获得的,其中恢复装置用于扩展压缩文件并恢复数据和索引数据。根据本发明,通过对压缩文件的每一部分进行扩展,可通过使用比较简单的处理来实现快速文件检索。
本发明的另一个目的在于提供一种用于存储计算机可读信息的存储介质,该存储介质包括读取装置和恢复装置,其中读取装置用于使得计算机从存储介质中读取压缩文件和压缩后每部分的地址信息,对于每一部分来讲,所述压缩文件是把数据和关于该数据的索引数据划分成多个部分,并对这些部分进行压缩后获得的,其中恢复装置用于使得计算机对压缩文件进行扩展并恢复数据和索引数据。根据本发明,通过对压缩文件的每一部分进行扩展,可通过使用比较简单的处理来实现快速文件检索。
本发明的另一个目的在于提供一种用于存储计算机可读信息的存储介质,其中该信息包括压缩后每部分的地址信息及压缩文件,对于每一部分来讲,所述压缩文件是通过把数据和关于该数据的索引数据划分成多个部分,并对这些部分进行压缩后得到的,其中是使用了每部分所共同的压缩算法和压缩参数对所述压缩文件进行压缩的。根据本发明,可有效地对文件进行压缩并把它存储在存储介质中。根据本发明,通过对压缩文件的每一部分进行扩展,可使用比较简单的处理来实现快速文件恢复。
本发明的另一个目的在于提供一种用于存储计算机可读信息的存储介质,包括计算机程序,该程序使得计算机执行压缩程序和存储程序,其中压缩程序用于根据词典数据把词典数据和数据划分成多个部分,并对各个部分进行压缩以获得压缩的词典文件,其中存储程序用于把压缩的词典文件和压缩后各部分的地址信息存储在存储介质中。根据本发明,可以通过执行比较简单的处理来快速地检索文件。
本发明的另一个目的在于提供一种在记录介质上存储压缩文件的方法,包括以下步骤:在记录介质的一个压缩数据区中,存储通过把数据和与该数据相对应并且用于搜索或检索该数据的索引数据划分成多个部分并对这些部分进行压缩而获得的压缩数据;在记录介质的一个地址信息区域中存储在压缩这些部分之后的地址信息;和在一个压缩参数区域中存储用于进行压缩的压缩参数。根据本发明,可通过执行比较简单的处理来地检索文件。
因此,根据本发明,即使在有关于索引数据的信息量比有关于词典数据例如词典,百科全书等的信息量还大的情况下,也可有效地对文件例如词典文件进行压缩并把它存储在存储介质中,并且可通过执行比较简单的处理在短时间内访问该文件,例如压缩的词典文件。
通过结合附图阅读下面的详细描述可清楚地了解到本发明的其他一些目的或特点。
附图说明
图1为一个表示使用一种文件处理方法的实施例的计算机系统的一般结构的系统框图;
图2为一个用于说明由CPU执行的压缩参数计算处理的流程图;
图3为一个表示压缩参数的数据结构的框图;
图4为一个用于说明由CPU执行的数据压缩处理和地址信息计算处理的流程图;
图5为一个用于说明由CPU执行的压缩文件编制处理和压缩文件存储处理的流程图;
图6为一个说明压缩文件的组成的框图;
图7为一个用于说明由CPU执行的索引读取处理的流程图;
图8为一个用于说明由CPU执行的数据扩展处理;和
图9为一个用于说明由CPU执行的文本读取处理的流程图。
具体实施方式
下面将描述根据本发明的一种文件处理方法的实施例和一种根据本发明的数据处理装置的实施例。这种文件处理方法的实施例和数据处理装置的实施例都使用了根据本发明的一种存储介质的实施例。在存储介质的实施例中,本发明应用于CD-ROM。然而,除了CD-ROM,本发明也适用于光信息存储介质,磁光存储介质例如磁光盘,磁性存储介质例如软盘,和多种半导体存储器件。
图1为一个系统框图,表示应用这种文件处理方法的实施例的计算机系统的一般结构,并且图1适用于数据处理装置的实施例。图1中所示的计算机系统一般包括一个中央处理器(CPU)1,一个由随机访问存储器(RAM)等组成的主存单元2,一个由硬盘驱动器等组成的辅助存储单元,一个由键盘,鼠标等组成的输入设备4,一个显示单元5,和一个由CD-ROM驱动器等组成的CD-ROM输入/输出设备,这些组成部分通过总线9相互耦合。构成计算机系统的每一部分均可看作具有已知结构。
输入设备4用于把指令和数据输入到CPU 1。CPU 1根据所输入的指令和数据通过执行存储在辅助存储单元3中的程序来实现用户所要求的处理。存储在辅助存储单元3中的程序可能是预先安装的,或者是从CD-ROM 6a中装载的,其中CD-ROM 6a被装入到CD-ROM输入/输出设备6中。主存单元2用于暂时地存储由CPU 1执行的计算处理的中间结果等,操作所使用的数据等。显示单元5用于显示由CPU 1所执行的处理的结果,显示一条催促用户输入指令或数据的信息。也可以连接一个打印机(图中未示出)来替代显示单元5,或除了显示单元5外再连接一个打印机,其中打印机用于打印由CPU 1等执行的处理的结果。
首先,将描述用于把词典,百科全书等的词典文件存储在CD-ROM6a中的文件存储处理,其中CD-ROM 6a被装入到CD-ROM输入/输出设备6。文件存储处理一般包括一个压缩参数计算处理,一个用于对索引,文本等进行压缩的数据压缩处理,一个地址信息计算处理,一个压缩文件编制处理和一个压缩文件存储处理。在该实施例中,为方便起见假设使得CPU 1执行文件存储处理的程序存储在CD-ROM 6a中,并且CPU 1使用一种已知的方法从CD-ROM 6a中读取该程序,并把该程序读到辅助存储单元3。另外,为方便起见假设有关于词典,百科全书等的词典文件是从主机单元(图中未示出)传送过来并且通过总线9存储在辅助存储单元3中的,或者是通过CD-ROM输入/输出设备6从不同于CD-ROM 6a的其他CD-ROM中读取并通过总线9存储在辅助存储单元中的。
1a)压缩参数计算处理:
图2为一个流程图,用于说明由CPU 1执行的压缩参数计算处理。图2中,步骤S1访问辅助存储单元3并打开一个词典文件。步骤S2读取一个字符,也即一个16位代码,例如从该词典文件中读取。步骤S3通过使用CPU 1中的一个出现频率计数器来计算所读取的16位代码的出现频率。步骤S4判定是否已处理了该词典文件的最后一个字符,如果步骤S4中的判定结果是否,则处理返回步骤S2。
另一方面,如果步骤S4中的判定结果是是,则步骤S5关闭这一词典文件。步骤S6根据各字符的出现频率对16位代码进行排序,并且步骤S7选择出1024个16位代码,例如,根据出现频率进行选择。步骤S8把余下未被选中的16位代码分解成8位代码,并计算出这些8位代码的出现频率。步骤S9根据16位代码的出现频率,通过把8位代码的出现频率设置为大概为16位代码的出现频率的一半来校正8位代码的出现频率。
步骤S10打开辅助存储单元3中的一个用于压缩参数的压缩参数保存文件。步骤S11把1024个16位代码及其各自的出现频率写入该压缩参数保存文件。另外,步骤S12把256个8位代码及其各自的出现频率写入该压缩参数保存文件。步骤S13关闭该压缩参数保存文件,然后处理结束。
图3为一个表示压缩参数的数据结构的框图。例如,如图3所示,在使用哈夫曼编码进行压缩的情况下,所选中的1024个16位代码均有256种出现频率,对于所选中的8位代码也均有256种出现频率。这些出现频率成为用于生成哈夫曼树的数据。在使用通用代码进行压缩的情况下,压缩参数包括一个重试树或数据例如用于生成重试树的注册符号例子及其参数。
1b)数据压缩处理和地址信息计算处理:
图4为一流程图,用于说明由CPU 1执行的数据压缩处理和地址信息计算处理。图4中,步骤S21根据8位和16位代码的出现频率创建一个转换表,由于本实施例实行哈夫曼压缩,也即,创建一棵哈夫曼树。步骤S22打开一个辅助存储单元3中的词典文件。步骤S23打开辅助存储单元3中的一个用于压缩数据的压缩数据保存文件和一个用于地址信息的地址信息保存文件。
步骤S24从该词典文件中读取1部分。该部分可能为定长或变长,但在该实施例中,为方便起见假设该部分为定长。有时该部分指一块。步骤S25使用哈夫曼树来计算1部分的压缩数据。步骤S26把一个结束代码添加到1部分的末尾。另外,步骤S27把压缩数据写入压缩数据保存文件。
步骤S28计算有关于地址的地址信息,其中地址中存储有上述1部分。例如,当上述1部分具有定长时,则根据分配给每个部分的部分编号来计算地址信息。步骤S29把地址信息写入地址信息保存文件。步骤S30判定是否处理了最后一部分,如果该步骤S30的判定结果是否,则处理返回到步骤S24。例如,有可能根据添加到部分编号上或最后一部分上的最后部分代码来判定是否已处理了最后一部分。
另一方面,如果步骤S30的判定结果是是,则步骤S31关闭用于压缩数据的保存文件,并且关闭地址信息保存文件。另外,步骤S32关闭词典文件,然后处理结束。
1c)压缩文件编制处理和压缩文件存储处理:
图5为一个流程图,用于说明由CPU 1所执行的压缩文件编制处理和压缩文件存储处理。图5中,步骤S41打开一个辅助存储单元3中的压缩文件。步骤S42打开一个辅助存储单元中的压缩参数保存文件,并且步骤S43把压缩参数保存文件中的压缩参数复制到压缩文件中。步骤S44关闭压缩参数保存文件。
步骤S45打开一个辅助存储单元3中的地址信息保存文件,并且步骤S46把地址信息保存文件中的地址信息复制到压缩文件中。步骤S47关闭地址信息保存文件。而且,步骤S48打开一个辅助存储单元3中的压缩数据保存文件,步骤S49把压缩数据保存文件中的压缩数据复制到压缩文件中。步骤S50关闭压缩数据保存文件。步骤S51通过CD-ROM输入/输出设备6把压缩文件存储到CD-ROM 6a中。另外,步骤S52关闭压缩文件,然后结束处理。
图6为一个框图,用于根据上述1a)压缩参数计算处理1b)数据压缩处理和地址信息计算处理1c)压缩文件编制处理和压缩文件存储处理来说明压缩文件的编制。图6中(a)表示压缩参数。在该实施例中,压缩参数用于使用哈夫曼编码进行压缩。图6中,(b)表示词典文件的各部分。例如该实施例中,每一部分均由2K字节构成,且每一部分均由词典数据和索引数据组成。例如,在百科全书的情况下,词典数据包括有关于文本的文本数据,有关于图象的图象数据,有关于声音的声音数据等,其中文本用于解释单词的意思,如果单词描述的是一个动物,则图象用于表示这种动物,如果单词表示的是一个小鸟,则声音用于表示这种小鸟的叫声。另一方面,索引用于从词典文件中检索所需要的词典数据,并且根据词典数据来安排索引。索引数据包括有关于标题的指针,有关于项的指针等。有关于标题的数据包括一个中心词,注释等。
图6中,(c)表示压缩数据,其中每一部分均为定长或变长,且已被压缩。而且,图6中,(d)表示根据每一部分所计算出的地址信息,并且(e)表示压缩文件,其中压缩文件是通过对地址信息和压缩数据进行编制并在压缩文件的头部添加管理信息后得到的。管理信息包括检索压缩文件时所用到的信息,例如词典文件名,词典文件类型,对词典文件所用的压缩类型。
接下来,将描述文件检索处理,这种文件检索处理通过读取存储在CD-ROM 6a中的压缩文件来检索所需要的数据,其中CD-ROM 6a被装入在CD-ROM输入/输出设备6中。文件检索处理一般包括一个索引读取处理和一个文本读取处理,并且文件索引处理是通过调用一个数据扩展处理来实现的。在该实施例中,为方便起见假设使得CPU 1执行文件检索处理的程序存储在CD-ROM 6a中,并且CPU 1通过已知方法从CD-ROM 6a中读取该程序和压缩文件,并把所读取的程序和压缩文件送到辅助存储单元3。
2a)索引读取处理:
图7为一流程图,用于说明由CPU 1执行的索引读取处理。在图7中,步骤S61根据用户通过输入设备4所输入的索引数据,设置最重要索引的地址信息。步骤S62调用扩展处理,并从存储在辅助存储单元3中的程序中读取一个例程以执行扩展处理,并且步骤S62使得CPU 1执行文件检索处理,以对压缩文件中最重要索引的地址进行扩展。步骤S63根据索引数据获得重要索引的地址,也即,最重要索引的头字符。步骤S64调用扩展处理,并对压缩文件中重要索引的地址进行扩展。步骤S65根据索引数据获得下一层中次重要索引的地址。步骤S66调用扩展处理,并将位于压缩文件中的上述下一层的不太重要索引的地址进行扩展。步骤S67判定是否已对最不重要的索引的地址进行了扩展,如果步骤S67中的判定结果是否,则处理返回到步骤S67。另一方面,如果如果步骤S67中的判定结果是是,则该处理结束。
2b)数据扩展处理:
图8为一个流程图,用于说明由CPU 1执行的数据扩展处理。数据扩展处理由索引读取处理和文本读取处理所调用。在图8中,步骤S71根据用户通过输入设备4所输入的索引数据把所请求的扩展地址,数据大小和存储区域存储到辅助存储单元3中,以根据扩展后数据大小在辅助存储单元3中预备一个足够大的存储区域。步骤S72判定从CD-ROM6a中读取并且送到辅助存储单元3中的压缩文件是否已打开。如果步骤S72中的判定结果是否,则步骤S73打开辅助存储单元3中的压缩文件。步骤S74从压缩文件中读取压缩参数,并且读取压缩参数中的8位代码的出现频率,压缩参数中的16位代码及其16位代码的出现频率。步骤S75根据8位代码的出现频率和16位代码的出现频率创建哈夫曼树,然后处理进行到后面将描述到的步骤S76。用于判定代码是8位代码还是16位代码的判定标识被添加到哈夫曼树的叶节点的数据上。
如果步骤S72中的判定结果是是或在步骤S75后,步骤S76从压缩文件中读取相应于所请求的扩展地址的地址信息。步骤S77根据地址信息,从压缩文件中读取相应的压缩数据的部分。步骤S78通过使用哈夫曼树来对压缩数据的部分进行扩展。步骤S79根据判定标识把扩展数据复制到上述存储区域,其中判定标识表示代码是8位代码还是16位代码。而且,步骤S80根据压缩文件判定是否完成了所请求数据大小的扩展。
如果步骤S80中的判定结果是否,则步骤S81从压缩文件读取相应于下一部分的扩展地址的地址信息。步骤S82根据相应于下一部分的扩展地址的地址信息,从压缩文件中读取相应的压缩数据的部分,然后处理返回到步骤S78。另一方面,如果步骤S80中的判定结果是是,则处理结束。
2c)文本读取处理:
图9为一流程图,用于说明由CPU 1所执行的文本读取处理。图9中,步骤S91根据用户通过输入设备4所输入的索引数据,计算扩展数据中与索引相匹配的项数。步骤S92根据所输入的索引数据把索引的项指针的值指向地址。步骤S93调用扩展处理,并从存储在辅助存储单元3中的程序中读取一个例程以执行扩展处理,并使得CPU 1执行文件检索处理,以对压缩文件中由项指针所指示的文本进行扩展,也即,对1部分的词典数据进行扩展。
步骤S94判断进项指针所表示的词典数据是否已经结束。如果步骤S94中的判定结果是否,则步骤S95设置下个1部分的地址。另外,步骤S96调用扩展处理,并对由压缩文件中的项指针所指示的下个1部分中的词典数据进行扩展,然后处理返回到步骤S94。另一方面,如果步骤S94中的判定结果是是,则步骤S97根据所输入的索引数据判定是否对于所有项的处理均结束了。如果步骤S97中的判定结果是否,则处理返回到步骤S92。另一方面,如果步骤S97中的判定结果是是,则步骤S98把扩展后词典数据显示在显示单元5上,其中词典数据的所有项均得到了扩展,然后处理结束。
可以在步骤S97之前执行步骤S98。在这种情况下,每当对各项进行扩展后,步骤S98就把扩展后的词典数据显示在显示单元5上。
在上述实施例中,为方便起见假设每一部分均为定长。在这种情况下,数据压缩的效率是令人满意的,并且可以从压缩文件中恢复地址信息,而不必把地址信息存储在压缩文件中该部分的压缩数据之前。这是由于部分具有定长,并且对每一部分均添加了部分编号,因此可以计算出每一部分关于其他部分的相对位置。
另一方面,当部分具有变长时,则可以提高数据扩展速度。这是由于可根据数据和部分的类型来适当地设置部分的长度,从而不需对附加数据进行扩展。在部分具有变长的情况下,在压缩文件中需要把地址存储在该部分的压缩数据之前。相应地,可以根据是要提高数据压缩效率还是要提高数据扩展的速度,从而决定把部分设置成定长还是变长。
另外,CD-ROM 6a中可存储一个或多个词典文件。当CD-ROM 6a中存储有有关于多个词典,百科全书等的多个词典文件时,可以通过使用图6中的管理信息(e)中的词典文件名或词典文件类型来指定所要检索的词典。
而且,虽然上述实施例中使用了哈夫曼编码进行数据压缩,但是除了哈夫曼编码技术,还可使用其他的编码技术,例如统一编码技术,只要所用的数据压缩技术能够通过使用每一部分所共同的压缩参数对词典数据有效地进行压缩。另外,进行压缩和扩展的数据并不仅限于词典数据,还可包括包括索引和数据的数据库数据。
而且,上述实施例中,文件检索处理是通过把用于执行文件检索处理的程序和压缩文件复制到辅助存储单元3中实现的。然而,除了把程序和压缩文件复制到辅助存储单元3中外,还可以在主存单元2中展开程序和压缩文件,并执行类似于上述处理的处理。
通过使用上述实施例中的压缩算法,与使用8位哈夫曼编码的一般的数据压缩处理相比可提高数据压缩效率。结果是,可以减少存储在存储介质例如CD-ROM和用做辅助存储单元的硬盘中的压缩文件的区域。通过使用这种压缩算法,虽然可以提高数据压缩的效率,但是对压缩文件进行扩展所需要的处理时间与使用哈夫曼编码的普通数据压缩处理对压缩文件进行扩展所需要的处理时间相比并没有太大的改变。
实现数据检索处理所需要的时间由读取单元(驱动器)的搜索时间,读取压缩文件所需的读取时间,执行扩展处理所需的时间构成。
由于通过使用上述压缩算法可提高数据压缩效率,因此存储在存储介质中的压缩文件所减少的区域可减少文件检索处理的所需要的搜索时间。因此提高了文件检索速度。当硬件性能提高时,则文件检索速度提高所造成的效果会更显著。
而且,本发明并不仅限于这些实施例,但是可对此做出不同的修改和变更,而不背离本发明的范围。
Claims (14)
1.一种文件处理方法,包括:
一个读取步骤,该步骤从存储介质中读取压缩文件和压缩后的多个部分中的每个部分的地址信息,对于每一部分来讲,所述压缩文件是通过把数据和与该数据相对应的并且用于搜索或检索该数据的索引数据划分成部分并对这些部分进行压缩而得到的;和
一个恢复步骤,该步骤对压缩文件进行扩展并恢复数据和索引数据。
2.如权利要求1所述的文件处理方法,该方法还包括:
一个用于把恢复后的数据和索引数据存储在一个辅助存储单元中的步骤。
3.如权利要求1或2所述的文件处理方法,其中所述恢复步骤根据转换表来实现数据扩展,其中该转换表是在压缩时通过根据第一位代码的出现频率的顺序在数据中选择预定数目的第一位代码,把余下的未被选中的第一位代码分解成第二位代码,然后基于根据第二位代码的出现频率的顺序对第二位代码进行选择的结果而创建的。
4.如权利要求1或2所述的文件处理方法,其中每个部分均具有定长。
5.如权利要求1或2所述的文件处理方法,其中每个部分均具有变长,并且压缩之前的地址信息也被存储在存储介质中。
6.如权利要求1或2所述的文件处理方法,其中数据包括词典数据。
7.一种数据处理装置,包括:
一个读取装置,用于从存储介质中读取压缩文件和压缩后的多个部分中的每个部分的地址信息,对于每一部分来说,所述压缩文件是通过把数据和与该数据的相对应的并且用于搜索或检索该数据的索引数据划分成部分并对这些部分进行压缩而得到的;和
一个恢复装置,用于对压缩文件进行扩展并恢复数据和索引数据。
8.如权利要求7所述的数据处理装置,该装置还包括:
用于存储所恢复的数据和索引数据的辅助存储单元。
9.如权利要求7或8所述的数据处理装置,其中所述恢复装置根据转换表来实现数据扩展,其中该转换表是在压缩时通过根据第一位代码的出现频率的顺序在数据中选择预定数目的第一位代码,把余下的未被选中的第一位代码分解成第二位代码,然后基于根据第二位代码的出现频率的顺序对第二位代码进行选择的结果而创建的。
10.如权利要求7或8所述的数据处理装置,其中每一部分均具有定长。
11.如权利要求7或8所述的数据处理装置,其中每一部分均具有变长,并且压缩之前的地址信息也被存储在存储介质中。
12.如权利要求7或8所述的数据处理装置,其中数据包括词典数据。
13.一种在记录介质上存储压缩文件的方法,包括以下步骤:
在记录介质的一个压缩数据区域中,存储通过把数据和与该数据相对应并且用于搜索或检索该数据的索引数据划分成多个部分并对这些部分进行压缩而获得的压缩数据;
在记录介质的一个地址信息区域中存储在压缩这些部分之后的地址信息;和
在一个压缩参数区域中存储用于进行压缩的压缩参数。
14.如权利要求13所述的方法,其中所述压缩参数包括预定数目的第一位代码和第一位代码的出现频率、以及第二位代码和第二位代码的出现频率,其中预定数目的第一位代码是根据第一位代码的出现频率的顺序在数据中选择的,第二位代码是通过对余下的未被选中的第一位代码进行分解并根据其出现频率的顺序而获得的。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP288559/97 | 1997-10-21 | ||
JP288559/1997 | 1997-10-21 | ||
JP28855997 | 1997-10-21 | ||
PCT/JP1998/004736 WO1999021092A1 (fr) | 1997-10-21 | 1998-10-20 | Procede de traitement de fichiers, dispositif de traitement de donnees et support de memorisation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB98801551XA Division CN1148657C (zh) | 1997-10-21 | 1998-10-20 | 文件处理方法和数据处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1487448A CN1487448A (zh) | 2004-04-07 |
CN100535889C true CN100535889C (zh) | 2009-09-02 |
Family
ID=17731828
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03106774.3A Expired - Fee Related CN100535889C (zh) | 1997-10-21 | 1998-10-20 | 文件处理方法和数据处理装置 |
CNB98801551XA Expired - Fee Related CN1148657C (zh) | 1997-10-21 | 1998-10-20 | 文件处理方法和数据处理装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB98801551XA Expired - Fee Related CN1148657C (zh) | 1997-10-21 | 1998-10-20 | 文件处理方法和数据处理装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6721753B1 (zh) |
EP (1) | EP0962865A4 (zh) |
JP (1) | JP3770919B2 (zh) |
KR (1) | KR100495593B1 (zh) |
CN (2) | CN100535889C (zh) |
AU (1) | AU740957B2 (zh) |
CA (1) | CA2275391C (zh) |
WO (1) | WO1999021092A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3770919B2 (ja) | 1997-10-21 | 2006-04-26 | 富士通株式会社 | ファイル処理方法、データ処理装置及び記憶媒体 |
KR100597513B1 (ko) | 1999-08-13 | 2006-07-10 | 후지쯔 가부시끼가이샤 | 파일 처리 방법, 데이터 처리 장치 및 기억 매체 |
JP2003006216A (ja) * | 2001-06-26 | 2003-01-10 | Sony Corp | 情報処理装置および情報処理方法、記録媒体、プログラム、並びに電子出版用データ提供システム |
KR20020008101A (ko) * | 2001-12-12 | 2002-01-29 | 주식회사 애니콤소프트웨어 | 데이터의 비트 인덱스 압축방법 |
WO2006123429A1 (ja) | 2005-05-20 | 2006-11-23 | Fujitsu Limited | 情報検索方法、装置、プログラム、該プログラムを記録した記録媒体 |
KR20080046345A (ko) | 2006-11-22 | 2008-05-27 | 삼성전자주식회사 | 휴대용 단말기의 메모리 절약 장치 및 방법 |
US8843449B2 (en) | 2009-06-16 | 2014-09-23 | Bmc Software, Inc. | Unobtrusive copies of actively used compressed indices |
US8706727B2 (en) * | 2009-06-19 | 2014-04-22 | Sybase, Inc. | Data compression for reducing storage requirements in a database system |
US8694474B2 (en) * | 2011-07-06 | 2014-04-08 | Microsoft Corporation | Block entropy encoding for word compression |
JP2016170750A (ja) * | 2015-03-16 | 2016-09-23 | 富士通株式会社 | データ管理プログラム、情報処理装置およびデータ管理方法 |
AU2015398151B2 (en) | 2015-06-10 | 2019-07-18 | Fujitsu Limited | Information processing device, information processing method, and information processing program |
US9946462B1 (en) * | 2016-02-15 | 2018-04-17 | Seagate Technology Llc | Address mapping table compression |
JP6794782B2 (ja) * | 2016-11-02 | 2020-12-02 | 富士通株式会社 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
CN107357854A (zh) * | 2017-06-28 | 2017-11-17 | 光大环境科技(中国)有限公司 | 数据存储的方法、装置及计算机存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0601569B1 (en) * | 1992-12-08 | 2001-10-24 | Microsoft Corporation | Method for compressing full text indexes |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8828796D0 (en) * | 1988-12-09 | 1989-01-18 | British Telecomm | Data compression |
US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
US5333313A (en) * | 1990-10-22 | 1994-07-26 | Franklin Electronic Publishers, Incorporated | Method and apparatus for compressing a dictionary database by partitioning a master dictionary database into a plurality of functional parts and applying an optimum compression technique to each part |
JP2954749B2 (ja) * | 1991-07-19 | 1999-09-27 | 富士通株式会社 | データ圧縮方式 |
JP3332954B2 (ja) | 1992-07-07 | 2002-10-07 | オリンパス光学工業株式会社 | 急速変形圧電アクチュエータおよび急速変形圧電アクチュエータを用いた内視鏡 |
JPH0628150A (ja) | 1992-07-08 | 1994-02-04 | Funai Techno Syst Kk | プログラム容量圧縮方法 |
US5442350A (en) | 1992-10-29 | 1995-08-15 | International Business Machines Corporation | Method and means providing static dictionary structures for compressing character data and expanding compressed data |
US5953723A (en) * | 1993-04-02 | 1999-09-14 | T.M. Patents, L.P. | System and method for compressing inverted index files in document search/retrieval system |
JP3051014B2 (ja) | 1993-12-27 | 2000-06-12 | ローム株式会社 | データ記憶装置及びデータシステム |
JPH08167852A (ja) * | 1994-12-13 | 1996-06-25 | Fujitsu Ltd | データ圧縮方法及び装置 |
JPH08241325A (ja) * | 1995-03-03 | 1996-09-17 | Matsushita Electric Ind Co Ltd | 電子辞書及びその製造方法並びにインデックス圧縮・伸長装置 |
JPH08320648A (ja) * | 1995-05-24 | 1996-12-03 | Matsushita Electric Ind Co Ltd | ナビゲーション装置 |
JPH0926969A (ja) | 1995-07-10 | 1997-01-28 | Hitachi Maxell Ltd | 電話帳検索システム |
JPH0926902A (ja) * | 1995-07-12 | 1997-01-28 | Fujikura Ltd | ファイル圧縮並びに復元方法 |
JPH0969785A (ja) * | 1995-08-30 | 1997-03-11 | Toshiba Corp | データ圧縮方法及びデータ圧縮装置 |
US6278992B1 (en) * | 1997-03-19 | 2001-08-21 | John Andrew Curtis | Search engine using indexing method for storing and retrieving data |
JP3770919B2 (ja) | 1997-10-21 | 2006-04-26 | 富士通株式会社 | ファイル処理方法、データ処理装置及び記憶媒体 |
-
1998
- 1998-10-20 JP JP52369699A patent/JP3770919B2/ja not_active Expired - Lifetime
- 1998-10-20 AU AU94639/98A patent/AU740957B2/en not_active Ceased
- 1998-10-20 CN CN03106774.3A patent/CN100535889C/zh not_active Expired - Fee Related
- 1998-10-20 EP EP98947952A patent/EP0962865A4/en not_active Withdrawn
- 1998-10-20 CA CA002275391A patent/CA2275391C/en not_active Expired - Fee Related
- 1998-10-20 CN CNB98801551XA patent/CN1148657C/zh not_active Expired - Fee Related
- 1998-10-20 WO PCT/JP1998/004736 patent/WO1999021092A1/ja active IP Right Grant
- 1998-10-20 KR KR10-1999-7005642A patent/KR100495593B1/ko not_active IP Right Cessation
- 1998-10-20 US US09/319,742 patent/US6721753B1/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0601569B1 (en) * | 1992-12-08 | 2001-10-24 | Microsoft Corporation | Method for compressing full text indexes |
Also Published As
Publication number | Publication date |
---|---|
WO1999021092A1 (fr) | 1999-04-29 |
EP0962865A4 (en) | 2004-11-24 |
US6721753B1 (en) | 2004-04-13 |
CN1242846A (zh) | 2000-01-26 |
KR100495593B1 (ko) | 2005-06-16 |
CN1487448A (zh) | 2004-04-07 |
EP0962865A1 (en) | 1999-12-08 |
AU9463998A (en) | 1999-05-10 |
AU740957B2 (en) | 2001-11-15 |
CN1148657C (zh) | 2004-05-05 |
KR20000069633A (ko) | 2000-11-25 |
JP3770919B2 (ja) | 2006-04-26 |
CA2275391C (en) | 2005-12-06 |
CA2275391A1 (en) | 1999-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100535889C (zh) | 文件处理方法和数据处理装置 | |
CA2204447C (en) | Document display system and electronic dictionary | |
JP4261779B2 (ja) | データ圧縮装置および方法 | |
KR100597513B1 (ko) | 파일 처리 방법, 데이터 처리 장치 및 기억 매체 | |
US5748955A (en) | Stream data compression system using dynamic connection groups | |
JP3023943B2 (ja) | 文書検索装置 | |
WO1995017783A9 (en) | Data compression system | |
US6742018B1 (en) | System and method for storing and retrieving data by keywords converted into divided long integers | |
JP3518933B2 (ja) | 構造化文書検索方法 | |
US20030023584A1 (en) | Universal information base system | |
JPH10261969A (ja) | データ圧縮方法および装置 | |
JPH08190571A (ja) | 文書検索方法 | |
Witten et al. | Compression and full-text indexing for digital libraries | |
JP2001312517A (ja) | インデクス生成装置及び文書検索装置 | |
JP2679602B2 (ja) | 退避媒体作成システム | |
JP3099683B2 (ja) | 情報検索装置 | |
JP3279002B2 (ja) | 情報管理装置 | |
JPH10149367A (ja) | テキスト蓄積検索装置 | |
JPH1165902A (ja) | 圧縮方法、伸長方法、圧縮装置、伸長装置および記録媒体 | |
JPH1166076A (ja) | データ派生装置及び方法、並びに、データ派生プログラムを格納した記憶媒体 | |
JPS6394366A (ja) | 英語文書圧縮装置 | |
JPS62131348A (ja) | マルチインデツクスフアイルアクセス方式 | |
JPH1097542A (ja) | 全文検索装置及び全文検索方法 | |
JPH10275156A (ja) | 索引語記憶システムおよびその索引語検索方法 | |
JPH0778184A (ja) | データ検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090902 Termination date: 20161020 |