CN1168216C - 文档管理设备,数据压缩方法和数据解压缩方法 - Google Patents
文档管理设备,数据压缩方法和数据解压缩方法 Download PDFInfo
- Publication number
- CN1168216C CN1168216C CNB971026440A CN97102644A CN1168216C CN 1168216 C CN1168216 C CN 1168216C CN B971026440 A CNB971026440 A CN B971026440A CN 97102644 A CN97102644 A CN 97102644A CN 1168216 C CN1168216 C CN 1168216C
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- character string
- control
- character
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
在一个用于生成压缩文档文件(其中可以进行关键词检索)的文档管理设备中,第一处理操作和第二处理操作交替进行。在第一处理操作中,当得到要进行压缩的文档数据时,各个字符被直接写入到压缩文档文件中,直到在这个文档数据中出现一个结束控制字符串。在第二处理操作中,对各个字符编码所得到的数据被写入压缩文档文件中,直到在文档数据中出现一个开始控制字符串。
Description
技术领域
本发明一般涉及一种文档(document)管理设备、一种数据压缩方法及一种数据解压缩方法。尤其是,通过本发明可以得到一种压缩文档数据的文档管理设备,来管理压缩文档数据,并可以得到用来对文档数据及类似内容压缩/解压缩的数据压缩/数据解压缩方法。
背景技术
目前,在计算机中需要对多种数据进行处理,如字符代码、向量信息和图象信息。另一方面,由于所处理数据的数量快速增长,就需要对这些数据进行压缩,以便减少传输时间并以更高的效率利用存储设备。
例如,在一种称作“存档器(archiver)”的应用软件中,从一个以上文件形成一个单一压缩数据文件。使用存档器对那些使用频率较低的文件和较旧的文件进行压缩,从而减少这些文件的容量。当需要对文件的内容进行交换时,如果使用的是由存档器生成的压缩数据文件,则可以缩短对这个数据文件通信所需的时间,进而可以降低通信费用。
驱动单元如硬盘单元和软盘单元也可以作为压缩驱动单元使用。在具有压缩驱动单元的系统中,当用户发出一条文件写指令,这个文件被自动压缩,并且将压缩文件储存在压缩驱动单元中。这样,当用户发出文件读指令时,储存在压缩驱动器中的文件被自动恢复。
应当注意的是,由于在计算机系统中处理多种数据,如文本、机器语言、图象和语音,如上所述,当文件被压缩时,采用与可用于多种数据的编码系统对应的通用编码系统。具体来说,采用了利用数据(字符)再生性的字典编码方法、分类为概率/统计型编码的算术编码和Splay-Tree树编码。
另一方面,对未经压缩的文件,其内容能够通过执行关键词检索而进行确认。例如,对在SGML(标准通用置标语言StandardGeneralized Markup Language)格式中生成的文档数据,在一个包含在该文档数据中的特定元素的前/后面使用一个标志,该标志与这个特定元素的内容相对应。结果,在以SGML格式生成的文档数据中,附属于主题信息的标志被从文件中检索出来,如果储存在这个信息之后的字符串被读出,则可以获得必要的信息。
然而,当SGML格式的文档数据被压缩时,不能再进行标志检索。因此,即使只需要确认一个题目,也应该恢复整个压缩文件,从而带来了冗长的确认工作。
发明内容
本发明的一个目的就是提供一种文档管理设备,用来生成能够用关键词进行检索的压缩文档数据。
本发明的另一个目的是提供一种数据压缩方法,用于生成可以用关键词检索的压缩数据,并且提供一种数据解压缩方法,用于对采用这种数据压缩方法生成的压缩数据进行解压缩。
根据本发明的一个方面,提供了一种编码设备,用来对应一个输入字符串生成压缩文档数据,控制字符串存储单元,用于储存一个以上开始控制字符串和一个以上结束控制字符串;编码单元,用来对一个字符编码并输出已编码的字符数据;检索单元,用来从通过排列输入字符得到的字符串中检索开始控制字符串和结束控制字符串;及控制单元,当所述检索单元检索到一个开始控制字符串时,所述控制单元用于控制所述编码单元对输入字符串进行编码以产生编码字符串数据,并将编码字符串数据作为压缩文档数据的元素输出;并且,当所述检索单元检索到结束控制字符串时,在对结束控制字符串编码之后,所述控制单元控制上述编码单元不对字符串进行编码,而直接将输入字符作为压缩文档数据的元素输出。
根据本发明的另一个方面,提供了一种解码设备,用来输出对输入的压缩文档数据解压缩而得的文档数据,包括:控制字符串存储单元,用来储存一个以上的开始控制字符串和一个以上的结束控制字符串;解码单元,用于输出解码后的字符;判断单元,用来判断在已恢复的字符串的尾部是否出现一个开始控制字符串或结束控制字符串;及控制单元,当所述判断单元判断出存在一个开始控制字符串时,用于控制输出由所述解码单元对所述压缩文档数据中的代码解码得到的字符;并且,当所述判断单元检索到一个结束控制字符串时,用于控制所述解码单元不进行解码操作,而直接输出所述压缩文档数据。
根据本发明的另一个方面,提供了一种文档管理设备,用来管理文档数据,在文档数据中各个文档单元前/后插入了开始控制字符串和结束控制字符串,并且所述开始控制字符串和结束控制字符串与所述文档单元的内容相对应,该设备包括:显示单元,用来显示数据;控制字符串存储单元,用来储存一个以上的开始控制字符和一个以上的结束控制字符串;第一读取单元,用于顺序读取要压缩文档数据中的字符;第一输出单元,用于直接将由所述第一读取单元读取的字符作为压缩文档文件的一个元素输出,并将所述读取的字符作为索引文件的一个元素输出;第一控制单元,当所述第一读取单元读取到任何与储存于所述控制字符串存储单元中的所述开始控制字符串相同的字符串时,用于终止所述第一读取单元的读取操作;第二读取单元,当所述第一读取单元的读取操作被所述第一控制单元终止时,用于开始一个从所述文档数据中读取字符的读取操作;第二输出单元,用于将与第二读取单元读出字符相对应的代码作为压缩文档数据的一个元素输出;第二控制单元,当所述第二读取单元读取到与储存于所述控制字符串存储单元中的任何所述结束控制字符串相同的字符串时,用于终止所述第二读取单元的读取操作,并重新开始所述第一读取单元的读取操作;存储单元,用于储存所述压缩文档文件和所述索引文件;显示控制单元,当发出一条预定指令时,用于将由所述结束控制字符串分段并包含在所述索引文件中的各个数据作为索引显示在所述显示单元上,所述索引文件储存于所述存储单元中;指定单元,用于在由所述显示控制单元显示出的索引中指定一条索引;存储位置指示单元,用于指示由所述指定单元指定的索引在所述压缩文档文件中的存储位置;及部分解压单元,用于对位于所述存储位置指示单元指示的存储位置后并储存在所述压缩文档文件中的数据解压,直到恢复出任何结束控制字符串,该字符串是储存在所述控制字符串存储单元中的,其中,所述部分解压单元包括:无需恢复数据识别单元,用于识别,位于所述存储位置指示单元指示的存储位置之前并包含于所述压缩文档文件之中的数据是已处理数据;第一数据读取单元,用于顺序读取所述压缩文档文件每一个字符中未处理的数据;第一解码单元,用于将所述第一数据读取单元读取的数据作为解码结果输出;第一读取控制单元,当所述第一解码单元输出与储存于所述控制字符串存储单元中的任何所述开始控制字符串相同的字符串时,用于终止所述第一数据读取单元的读取操作;第二数据读取单元,当所述第一数据读取单元的读取操作被所述第一读取控制单元终止时,用于开始对所述压缩文档文件中所含未处理数据进行读取操作;第二解码单元,用于输出对所述第二数据读取单元读取的数据解码而得的字符;第二读取控制单元,当所述第二解码单元输出与所述控制字符串存储单元中的任何结束控制字符串相同的字符串时,用于终止所述第二数据读取单元的读取操作;及第三读取控制单元,当所述第二读取控制单元进行控制操作时,如果所述第二数据读取单元读取的字符串不等于与在所述指示单元指示的索引尾部的开始控制字符串相对应的结束控制字符串时,用于重新开始所述第一数据读取单元的读取操作。
根据本发明的另一个方面,提供了一种数据压缩方法,用于压缩插入了开始控制字符串和结束控制字符串的原始数据,包括:检索步骤,从所述原始数据中检索开始控制字符串和结束控制字符串;及数据处理步骤,当在所述检索步骤中检索出所述开始控制字符串时,对前述原始数据之后的原始数据进行编码以得到编码数据并将所述编码数据输出;当在所述检索步骤中检索出所述结束控制字符串时,直接输出前述原始数据之后的原始数据。
根据本发明的另一个方面,提供了一种对压缩数据进行解压缩的数据解压缩方法,在压缩数据中,将尾部带有开始控制字符串的数据与通过对尾部带有结束控制字符串的数据编码而得的数据混合在一起,该方法包括:一个判断步骤,用于判断在已解码数据的尾部是否出现开始控制字符串或结束控制字符串;及数据处理步骤,当所述判断步骤判断出现所述开始控制字符串时,对前述压缩数据后的压缩数据进行解码以字符并将所述字符作为恢复结果输出;当所述判断步骤检索出所述结束控制字符串时,直接将前述压缩数据后的压缩数据作为恢复结果输出。
第一文档管理设备由控制字符串输入单元、编码单元、检索单元和控制单元组成。控制字符串存储单元储存一个以上开始控制字符串和一个以上结束控制字符串。编码单元对一个字符进行编码,从而输出编码的字符数据。检索单元从通过排列输入字符而得的字符串中检索开始控制字符串和结束控制字符串。当所述开始控制字符串被所述检索单元检索出来时,控制单元开始一个处理操作,以使所述编码单元对输入字符串编码得到的编码字符串数据作为压缩文档数据的一个元素输出;当所述结束控制字符串被所述检索单元检索出来时,这个控制单元开始另一个处理操作,以使输入字符被直接作为压缩文档数据的一个元素输出,而不用所述编码单元进行字符编码。
换句话说,第一文档管理设备以文档数据为基础生成压缩文档数据,其中,未压缩数据与压缩数据混在一起。这样,通过关键词检索就可以确认由第一文档管理设备形成的压缩的文档数据内容,而不必进行恢复。结果,使得用第一文档管理设备能够有效地管理文档数据。
可以理解,第一文档管理设备生成的压缩文档数据被控制字符串存储单元、存储单元、判断单元和控制单元所恢复。控制字符串存储单元储存一个以上开始控制字符串和一个以上结束控制字符串。解码单元输出一个已解代码的字符。判断单元判断在一个恢复字符串的尾部是否出现一个开始控制字符串或一个结束控制字符串。当所述判断单元判断存在所述开始控制字符串,控制单元开始一个处理操作来输出一个字符,该字符是由所述解码单元对所述压缩文档数据中包含的代码进行解码而产生的;当所述判断单元检索到所述结束控制字符串时,控制单元开始另一个处理操作直接输入所述压缩文档数据,而无需所述解码单元进行解码。
在本发明的第一文档管理设备中,有一个单元被用作编码单元,它使用一种动态编码模型(如动态霍夫曼)输出一个与所述字符对应的代码。它还使用一个控制单元,当所述结束控制字符串被所述检索单元检索出来时,它对所述编码单元使用的动态编码模型进行初始化。当文档管理设备以这种方式设置时,就有可能生成压缩文档数据,其中该内容只有一部分能够被恢复。
在第一文档管理设备中,有一个单元被用作控制单元,当所述控制单元开始处理操作直接输出所述压缩文档数据而不用所述解码单元解码时,该单元输出所述检索单元检索到的结束控制字符串作为压缩文档数据的一个元素。
在字符管理设备以这种方式设置的情况下,文档数据中夹在开始控制字符串和结束控制字符串之间的文档元素被直接储存在压缩文档数据中。相应地,能够依据这种文档管理设备进一步执行对压缩文档数据的关键词检索操作。
在本发明的第一文档管理设备中,有一个单元可以用作控制单元,当所述结束控制字符串被所述检索单元检索出来时,它用一个确定输入字符和输出字符间对应关系的替换表来替换输入的字符,从而输出替换结果,而不用所述编码单元进行编码。
当文档管理设备以这种方式设置时,生成不包含直接可读数据的压缩文档数据。因此,即使利用国际互联网(Internet)传输这种文档管理设备所生成的压缩文档数据时,这种数据的内容都不会被非法机器所读取。所以,可以用这种文档管理设备实现数据通信的保密性。
应当注意的是,当设备被设置成对字符进行替换并输出已替换的字符时,最好使用一个附加的替换单元,当发出一条指令检索关于压缩文档数据的某一字符串时,它用所述替换表替换所述字符串;并附加一个检索单元,它用所述替换单元替换的字符串执行检索。
本发明的第二文档管理设备包括:显示单元、第一读取单元、第一输出单元、第一控制单元、第二读取单元、第二输出单元、第二控制单元、储存单元、显示控制单元、指定单元、存储位置指示单元和部分解压单元。
显示单元显示数据。控制字符串存储单元储存着一个以上开始控制字符串和一个以上结束控制字符串。第一读取单元顺序读取包含在要进行压缩的文档数据中的一个字符。第一输出单元直接输出所述第一读取单元所读出的字符,作为压缩文档文件的一个元素,并输出所述读取字符作为索引文件的一个元素。当所述第一读取单元读出与储存在所述控制字符串存储单元中存储的任何所述开始控制字符串相同的字符串时,第一控制单元终止所述第一读取单元的读取操作。
当所述第一读取单元的读取操作被所述第一控制单元终止时,第二读取单元开始对所述文档数据中的字符进行读取的操作。第二输出单元输出与所述第二读取单元所述读出的字符相应的代码,作为压缩文档数据的一个元素。当第二读取单元读出与储存在所述控制字符串存储单元中的任何结束控制字符串相同的字符串时,第二控制单元终止所述第二读取单元的读取操作,并重新开始所述第一读取单元的读取操作。存储单元储存所述压缩文档文件和所述索引文件。当一条预定指令发出时,显示单元在所述显示单元上显示由所述结束控制字符串分段并包含在所述存储单元/所存储的所述索引文档中的各个数据,作为一个索引。指定单元从所述显示控制单元所显示的索引中指定一条索引。存储位置指示单元指示所述指定单元所指定的索引在所述压缩文档文件中的存储位置。部分解压单元恢复位于所述存储位置指示单元指示的存储位置后面并储存在所述压缩文档文件中的数据,直到恢复了储存在所述控制字符串存储单元中的任何结束控制字符串为止。
换句话说,本发明的第二文档管理设备以文档数据为基础,生成这样一种压缩文档文件,在其中未压缩数据(从第一输出单元输出的数据)与压缩数据(从第二输出单元输出的数据)混合在一起,并且生成由第一输出单元输出数据构成的索引文件。
储存在存储单元中的索引文件的内容由显示控制单元在如CRT这样的显示单元上显示。用户利用键盘和鼠标一类输入设备的指定单元从显示单元所显示的多条索引中指定一条索引。存储位置指示单元指示所述指定单元指定的索引在所述压缩文档文件中的存储位置。部分解压单元恢复位于所述存储位置指示单元指示的存储位置后面并储存在所述压缩文档文件中的数据,直到恢复了储存在所述控制字符串存储单元中的任何结束控制字符串为止。
如上所述,在第二文档管理设备中,由于只对压缩文档文件的一部分内容提供解压功能,即使整个压缩文档文件未被恢复时,内容也能被确认。因此,根据第二文档管理设备,硬盘一类存储单元的存储容量可被有效地利用, 同时文档数据能够得到高效的处理。
第二文档管理设备还可以包含一个倍增尺寸(multipliedsize)检测单元,用来检测数据的倍增尺寸,储存检测的倍增尺寸,每次所述第一输出单元开始输出压缩文档数据元素的时候,所述数据被作为压缩文档数据的一个元素输出;并包含一个存储位置指示单元,用来以存储在所述倍增尺寸检测/存储单元中的倍增尺寸为基础,指示所述索引在压缩文档文件中的存储位置。
第二文档管理设备还可以采用这样一种部分解压缩单元,它由无需恢复数据识别单元、第一数据读取单元、第一解码单元、第一读取控制单元、第二数据读取单元、第二解码单元、第二读取控制单元和第三读取控制单元构成。
无需恢复数据识别单元将位于所述存储位置指示单元所指示的存储位置前面并包含在所述压缩文档文件中的数据识别为已处理过的数据。第一数据读取单元顺序读取所述压缩文档文件中未处理数据的每一个字符。第一解码单元输出所述第一数据读取单元读出的数据作为解码结果。在所述第一解码单元输出与储存在所述控制字符串存储单元中的任何开始控制字符串相同的字符串时,第一读取控制单元终止所述第一数据读取单元的读取操作。
当所述第一数据读取单元的读取操作被所述第一读取控制单元终止时,第二数据读取单元开始一个读取包含在所述压缩文档文件中的未处理数据的操作。第二解码单元输出一个对所述第二数据读取单元所读数据解码而得的字符。
当所述第二解码单元输出与储存在所述控制字符串存储单元中的任何结束控制字符串相同的字符串时第二读取控制单元终止所述第二数据读取单元的读取操作。当控制操作由所述第二读取控制单元实现时,第三读取控制单元重新开始所述第一数据读取单元的读取操作,在这种情况下,所述第二数据读取单元读取的字符串不等于与包含在所述指定单元指定的一条索引尾部的开始控制字符串对应的结束控制字符串。
当部分解压单元采用上述设置时,在与所述指定单元指定的索引相对应的范围内的数据能被恢复。
本发明的第三文档管理设备包括:显示单元、第一读取单元、第一输出单元、第一控制单元、第二读取单元、第二输出单元、第二控制单元、倍增尺寸检测/存储单元、存储单元、第一显示控制单元、指定单元、无需解码数据识别单元、第一数据读取单元、第一解码单元、第一解码控制单元、第二数据读取单元、第二解码单元、第二解码控制单元和第三解码控制单元。
显示单元显示数据。控制字符串存储单元储存一个以上开始控制字符串和一个以上结束控制字符串。第一读取单元顺序读取包含在将被压缩的文档数据中的一个字符。第一输出单元将对所述第一读取单元读取的字符进行静态编码而得的代码直接作为压缩文档文件的一个元素输出,并将所述读取的字符作为索引文件中的一个元素输出。当所述第一读取单元读出与任何储存在所述控制字符串存储单元中的所述开始控制字符串相同的字符串时,第一控制单元终止所述第一读取单元的读取操作。
当所述第一读取单元的读取操作被所述第一控制单元终止时,第二读取单元开始对所述文档数据中一个字符的读取操作。第二输出单元将对所述第二读取单元读取的字符进行动态编码而得的代码作为压缩文档数据的一个元素输出。当所述第二读取单元读出与储存在所述控制字符串存储单元中的任何结束控制字符串相同的字符串时,第二控制单元终止所述第二读取单元的读取操作,初始化一个为所述第二输出单元用来对字符进行动态编码的模式,并且重新开始所述第一读取单元的读取操作。倍增尺寸检测/存储单元检测在每次所述第一输出输出单元开始输出所述字符时,被所述第一输出单元和第二输出单元作为压缩文档文件元素输出的数据的倍增尺寸,并储存所述检测到的倍增尺寸。存储单元储存所述压缩文档文件和所述索引文件。当发出一条预定指令时,第一显示控制单元在所述显示单元上显示被所述开始控制字符串分段并包含在所述索引文件中的各个数据,作为一个索引(索引文件存储在所述存储单元中)。指定单元从所述第一显示控制单元所显示的索引中指定一条索引。无需恢复数据识别单元根据存储在所述倍增尺寸检测/存储单元中的倍增尺寸指示所述指定单元指定的索引在所述压缩文档文件中的存储位置,并在所述压缩文档文件中将指定索引前面的数据识别为已处理数据。第一数据读取单元读取包含在所述压缩文档文件中的未处理数据。第一解码单元将对所述第一数据读取单元读取的数据进行静态解码而得的字符作为解码结果输出。当所述第一解码单元解出与储存在所述控制字符串存储单元中的任何所述开始控制字符串相同的字符串时,第一解码控制单元终止所述第一数据读取单元的读取操作。当所述第一数据读取单元的读操作被所述第一解码控制单元终止时,第二数据读取单元开始对所述压缩文档文件中的未处理数据进行读取操作。第二解码单元输出对所述第二数据读取单元所读取的数据进行动态解码而得的字符。当所述第二解码单元解出与储存在所述控制字符串存储单元中的任何所述结束控制字符串相同的字符串时,第二控制单元终止所述第二数据读取单元的读取操作并且初始化一个被所述第二解码单元用来对数据进行动态解码的模式。当控制操作被所述第二解码控制单元实现时,第三解码控制单元重新开始所述第一读取单元的读取操作,此时,所述第二解码单元解出的字符串不等于对应于包含在所述指定单元指定的一条索引尾部的开始控制字符串的结束控制字符串。
换句话说,本发明的第三文档管理设备以文档数据为基础,生成这样的压缩文档文件,其中静态编码的未压缩数据(从第一输出单元输出的数据)与动态编码的压缩数据(从第二输出单元输出的数据)混合在一起,并且对应从第一输出单元输出的压缩文档数据,进一步生成由未压缩数据构成的索引文件。
储存在存储单元中的索引文件的内容由显示控制单元在如CRT这样的显示单元上进行显示。用户利用设置为输入设备(如键盘和鼠标)的指定单元从显示单元上所显示的多个索引中指定一条索引。
无需解码数据识别单元根据储存在所述倍增尺寸检测/存储单元中的倍增尺寸指示由所述指定单元指定的索引在所述压缩文档文件中的存储位置,并将压缩文档文件中所述指定索引前面的数据识别为已处理数据。于是,针对被该无需解码数据识别单元识别为已处理的数据后面的数据,各个单元的处理操作重复进行,直到结束控制字符串被恢复出来,它与在用户指定索引尾部中的开始控制字符串相对应。
如上所述,由于第三文档管理设备生成压缩文档文件,其中的文档数据用两种压缩方法压缩,所以压缩文档文件的大小可以变小,且设置为硬盘或类似单元的存储单元的存储容量可以有效地利用。并且,由于生成能够用关键词检索的索引文件,即使压缩文档文件未被恢复,也可以预测其内容。而且由于采用只恢复压缩文档文件一部分内容的方法,只有必要的部分会被恢复。结果,文档数据可以被第三文档管理设备有效地进行处理。
依据本发明的一种数据压缩方法可以这样压缩原始数据,开始控制字符串和结束控制字符串被插入到几个数据元素的前面/后面。
本发明的数据压缩方法包括一个检索步骤和一个数据处理步骤。
在检索步骤,开始控制字符串和结束控制字符串被从所述原始数据中检索出来。在数据处理步骤中,当所述开始控制字符串在所述检索步骤被检索出来时,就开始一个处理操作,输出对前述原始数据后面的原始数据进行编码而得的编码数据;当所述结束控制字符串在所述检索步骤被检索出来时,开始另一个处理操作,直接输出在前述原始数据后面的原始数据。
如上所述,在本发明的数据压缩方法中,未压缩数据与已压缩数据混合在一起生成这样的压缩数据,即生成可进行关键词检索的压缩数据。
这种数据压缩方法生成的压缩数据文件由下面的数据解压缩方法来恢复。
也就是说,本发明的数据解压方法包括一个判断步骤和一个数据处理步骤。
在判断步骤,判断开始控制字符串或结束控制字符串是否在一个恢复数据的尾部中出现。在数据处理步骤中,当在所述判断步骤中判断出存在所述开始控制字符串,就开始一个处理操作,将对前述压缩数据后面的压缩数据解码得到的字符作为恢复结果输出。同样,当所述结束控制字符串在所述判断步骤被检索出来时,开始另一个处理操作,直接将前述压缩数据后面的压缩数据作为恢复结果输出。
在本发明的数据压缩方法中,还有可能使用这样一个步骤作为数据处理步骤,它使用动态编码模式进行编码操作,并当在所述检索步骤中检索出所述结束控制字符串时,对所述动态编码模式作初始化。
当用这种数据压缩方法生成的压缩数据被恢复时,还有可能采用这样的步骤作为上述数据解压方法的数据处理步骤,它用动态编码模式进行编码操作,并当所述结束控制字符串在所述检索步骤中被检索出来时,对所述动态编码模式进行初始化。
在本发明的数据压缩方法中,还可能使用这样的步骤作为数据处理步骤,当开始输出编码数据的处理操作时,在所述检索步骤检索出的所述结束控制字符串被作为压缩数据的一个元素输出。
当用这种数据压缩方法生成的压缩数据被恢复时,可以采用这样的步骤作为上述数据解压方法的数据处理步骤,当开始输出解码字符的处理步骤时,首先解码的控制字符串并不作为恢复结果进行处理。
在本发明的数据压缩方法中,还可以采用这样的步骤作为数据处理步骤,当在所述检索步骤中检索出所述结束控制字符串时,开始一个处理操作,将用预定替换表对前述原始数据后面的原始数据替换而得的数据作为压缩数据的一个元素输出。
在恢复用这种数据压缩方法生成的压缩数据时,还可以采用这样的步骤作为上述数据解压方法的数据处理步骤,当在所述检索步骤中检索出所述结束控制字符串时,开始一个处理操作,将用预定替换表对前述压缩数据后面的压缩数据进行替换得到的数据作为恢复数据输出。
附图说明
参照附图会对本发明有更完整的理解,其中:
图1是一个示意性方框图,显示依据本发明第一实施方案的文档管理设备的设置;
图2是一个功能方框图,解释用依据本发明第一实施方案的文档管理设备生成压缩文档文件的次序;
图3是一个流程图,叙述本发明第一实施方案的文档管理设备执行的压缩文档文件生成步骤序列;
图4代表一个以SGML格式描述的文档数据实例;
图5表示本发明第一实施方案的文档管理设备由图4所示的文档数据而生成的压缩文档文件;
图6是一个功能性方框图,解释依据本发明第一实施方案的文档管理设备的解压缩操作;
图7是一个流程图,描述依据本发明第一实施方案的文档管理设备恢复压缩文档文件的次序;
图8是一个功能性方框图,解释依据本发明第二实施方案的文档管理设备生成文档文件的次序;
图9是一个流程图,描述依据本发明第二实施方案的文档管理设备所执行的生成压缩文档文件的步骤序列;
图10是一个功能性方框图,解释依据本发明第二实施方案的文档管理设备恢复压缩文档的次序;
图11是一个流程图,描述依据本发明第二实施方案的文档管理设备所执行的恢复压缩文档文件的步骤序列;
图12是一个流程图,描述依据本发明第三实施方案的文档管理设备生成压缩文档文件的次序;
图13显示了依据本发明第三实施方案的文档管理设备生成的压缩文档文件;
图14显示了由依据本发明第三实施方案的文档管理设备生成的一个索引文件;
图15是一个流程图,描述依据本发明第三实施方案的文档管理设备所执行的恢复索引对应区域的处理;
图16是一个流程图,描述依据本发明第三实施方案的文档管理设备生成压缩文档文件的次序;
图17是一个流程图,描述在依据本发明第三实施方案的文档管理设备中进行的整个解压缩过程;
图18是一个流程图,描述依据本发明第三实施方案的文档管理设备进行的部分解压缩处理过程;
图19是一个图解,解释索引与索引对应区域解压缩过程中恢复的区域之间的关系;
图20是一个流程图,描述依据本发明第四实施方案的设备生成压缩文档文件的次序;
图21显示依据本发明第四实施方案的文档管理设备所生成的压缩文档文件;及
图22是一个流程图,描述依据本发明第四实施方案的文档管理设备所进行的部分解压缩处理过程。
具体实施方式
在描述本发明的多种优选实施方案之前,先对依据本发明的文档管理设备所管理的文档数据的描述格式进行概述。即依据本发明的文档管理设备用一个文档控制字符管理文档数据,文档储存在相同的数据中。根据这一特点,以SGML(标准通用置标语言)格式描述的文档数据由依据本发明多种实施方案的文档管理设备进行管理。以SGML格式描述的文档数据与ISO 1986年制定的国际文档格式标准(IS8879)相对应。在以SGML格式描述的文档数据中,使用一个控制字符串,将其定位于文档数据的一个特定元素前/后,这个控制字符串被称为与这个特定元素内容对应的一个标记(tag)。例如,一个开始标记“<TITLE>”被用在一个表示文档标题的元素前面,而一个结束标记“</TITLE>”被用在这个元素之后。
第一文档管理设备
一个依据本发明第一实施方案的文档管理设备产生一个文件,其中,当文档数据形成文件时,压缩数据和未压缩数据相互混合在一起(此后将其称为压缩文档文件)。
图1中,以图解方式显示了一个依据本发明第一实施方案的文档管理设备的设置。如图中所示,依据本发明第一实施方案的文档管理设备由一个存储设备11、一个输入设备12、一个显示设备13和一个数据处理设备14构成。存储设备11是所谓的“磁盘存储设备”,用来储存一个压缩文档文件及类似内容。输入设备12由键盘、鼠标及其外围设备构成。显示设备13由CRT(阴极射线管)和其外围设备构成,被用于显示储存在存储设备11中的压缩文档文件的恢复结果。
数据处理设备14主要由CPU(中央处理单元)组成,它具有编辑文档数据的功能。数据处理设备14执行一个处理操作,由文档数据生成压缩文档文件,并执行另一个处理操作,响应从输入设备11发出的一条指令,将压缩文档文件恢复为文档数据。
压缩文档文件的生成操作
现在将解释第一文档管理设备(即数据处理设备14)的操作过程。
首先参照功能方框图2,描述数据处理设备14生成一个压缩文档文件的操作。
如图2所示,数据处理设备14由开关107、处于开关107的S2端的输入字符串保留单元103、第一字符串保留单元101及编码开始字符串检索单元105构成;还包括处于开关107的S1端的第二字符串保留单元102、上下文保留单元104及编码结束字符串检索单元106构成。第一数据处理设备14还包括一个代码保留单元108、一个编码单元109和一个代码更新单元110,它们处于开关107的S1端。
要进行压缩的文档数据逐个字符从输入终端130送到开关107。开关107从S1和S2任何一端输出已输入的字符。当开始生成压缩文档文件时,开关107从S2端输出字符。
首先,叙述当开关107从S2端输出字符时,该数据处理设备14中各个电路单元的操作。在字符从开关107的S2端输出的情况下,输入字符串保留单元103、第一字符串保留单元101和编码开始字符串检索单元105进行工作。从S2端得到的字符被从输出终端131输出,从而形成压缩文档文件的构成数据,并被输入到输入字符串保留单元103。
输入字符串保留单元103具有保留由预选数目(N1)个字符构成的字符串的功能,并用S2端提供的字符更新保留字符串的内容。也就是说,在当由(M<N1)个字符构成的字符串被保留时,如果字符从S2端提供,则输入字符保留单元103将提供的字符加到该字符串的未端。当另一个由N1个字符构成的字符串被保留时,如果字符是从S2端提供的,则输入字符串保留单元103从该字符串的头部删除一个字符,并把从S2端得到的字符加到这个字符串的未端。
第一字符串保留单元101保留几个从结束标记中选出的编码开始字符串(</SECTION>,</SUBSECTION>等)。应当注意的是,输入字符串保留单元103保留的字符串中字符个数的最大值N1等于第一字符串保留单元101中保留的最长的编码开始字符串的字符个数。
每次一个新字符被输入到输入字符串保留单元103中时,编码开始字符串检索单元105在输入字符串保留单元103中的字符串的尾部检索是否存在与保留在第一字符串保留单元101中的任何编码开始字符串一致的字符串。没有与任何编码开始字符串相符的字符串时,编码开始字符串检索单元105不执行检索操作,并等待下一个字符的进入。另一方面,当出现与编码开始字符串一致的字符串时,编码开始字符串检索单元105操纵开关107,把从S2端输出数据变为从S1端输出数据。
例如,当字符串“****</SECTION>”被保留在输入字符串保留单元103中时,如果从S2端提供字符“>”,则该字符串被更新为“***</SECTION>”。结果,编码开始字符串检索单元105从储存在输入字符串保留单元103的字符串尾部找到一个编码开始字符串“</SECTION>”,并命令开关107改变数据目标方向。直到这时,从输出终端131输出的还是未压缩数据。
接着,将叙述当字符从开关107的S1端输出时所作的操作。此时,第一文档管理设备的下列单元将起作用,即第二字符串保留单元102,上下文保留单元104、编码结束字符串检索单元106、代码保留单元108、编码单元109和代码更新单元110。
第二字符串保留单元102、上下文保留单元104和编码结束字符串检索单元106分别以与第一字符串保留单元101、输入字符串保留单元103和编码开始字符串检索单元105相似的方式进行操作。
换句话说,第二字符串保留单元102保留几个从结束标记中选出的编码结束字符串(<SECTION>,<SUBSECTION>等)。上下文保留单元104能够保留与第二字符串保留单元102所保留的最长的编码结束字符串长度相同的字符串,并以S1端提供的字符为基础,更新内部保留字符串的内容。上下文保留单元104还向代码保留单元108输送尾部提供的预选个数字符构成的字符串(上下文)。
每次当一个新字符被输入到上下文保留单元104中时,编码结束字符串检索单元106判断在上下文保留单元104中字符串的尾部是否存在与第二字符串保留单元102所保留的任何编码结束字符串一致的字符串。当没有与编码结束字符串一致的字符串时,编码结束字符串检索单元106不进行操作,而是等待下个字符的进入。另一方面,当存在这样一个与任何编码结束字符串一致的字符串时,编码结束字符串检索单元106将开关107数据的目标方向从S2端切换到S1端。
代码保留单元108、编码单元109和代码更新单元110对从S1端顺序传送来的字符进行动态编码。各个单元进行如下操作。
即代码保留单元108保留一个在每个上下文编码操作中使用的代码表,并参照与上下文保留单元104告知的上下文对应的代码表,其代码表将会被更新。编码单元109用即将被代码保留单元108查找/更新的代码表确定一个代码,它与由S1端输入的字符相对应。然后,编码单元109从输出终端131输出确定的代码(压缩数据)。这个压缩数据在一个时间周期内被连续输出,直到开关107从S1端切换到另一端S2为止。当字符编码操作结束时,代码更新单元110更新字符编码操作中所使用的代码表内容,以便反映这样的事实,即在字符和代码间的关系上,该字符的出现频率增加了。
现在,参照图3到图5对依据本发明第一实施方案的文档管理设备生成压缩文档文件的顺序操作进行叙述。图3是一个流程图,描述了数据处理设备14生成压缩文档文件的顺序操作。图4表现了一个在第一文档管理设备中压缩的文档数据实例。图5显示第一文档管理设备根据图4所示的文档数据而生成的压缩文档文件的摘要。在下面的叙述中假设“</SECTION>”和“</SUBSECTION>”被设为编码开始字符串,而“<SECTION>”和“<SUBSECTION>”被设为编码结束字符串。
为了生成压缩文档文件,交替重复进行一个未压缩数据输出处理循环和一个压缩数据输出处理循环,前者直接输出组成文档数据的各个字符,而后者则压缩各个字符,输出压缩字符。如图3所示,当发出一条压缩文档数据的指令时,未压缩数据输出处理循环(步骤S101到S103)在数据处理设备14中被执行。
在这个未压缩数据输出处理循环中,文档数据中的一个字符(要被处理的字符)直接从图2中的S2端输出,被写入压缩文档文件中(步骤S101)。接着,判断是否完成对构成文档数据的所有字符的处理操作(步骤S102)。当所述字符的处理操作并未结束时(步骤S102的“N”),进行另一个判断,目前为止所处理的字符串是否与任何编码开始字符串一致(步骤S103)。
在处理过的字符串与各个编码开始字符串不一致时(步骤S103的“N”),上述步骤S101定义的处理操作被再次执行。另一方面,当目前为止处理过的字符串与编码开始字符串中的一个相符合时(步骤S103的“Y”),压缩数据输出处理循环(步骤S104到S107)开始执行。
比如,当生成与图4所示文档数据有关的压缩文档文件时,首先出现的编码开始字符串是“</SECTION>”(第二行)。结果,由文档数据开关至第二行中编码开始字符串“</SECTION>”的各个字符被直接输出储存到压缩文档文件中去。于是,与文档数据内容相同的数据被储存在压缩文档文件的头部,如图5所描绘。然后,开始对该编码开始字符串“</SECTION>”之后的字符进行压缩数据输出处理操作。
回到图3,继续对压缩文档文件生成处理进行描述。
在压缩数据输出处理循环中,在S1端,下一个字符被从文档数据中读出,与这个主题字符对应的代码从编码单元输出(步骤S104)。在步骤S104,对照该字符的上下文输出相应的代码。此后,与编码操作中所用上下文有关的代码表的内容被更新(步骤S105)。
下一步,判断是否完成了对所有构成文档数据的字符的处理操作。当对所有字符的处理操作并未结束时(步骤S106的“N”),进行另一个判断,判断由几个字符构成的字符串是否与任何编码结束字符串一致(步骤S107)。
当由几个字符构成的已编码字符串与所有编码结束字符串都不一致时(步骤S107的“N”),再次执行上述步骤S104定义的处理操作。而另一方面,当由几个字符构成的已编码字符串与编码结束字符串之一相一致时(步骤S107的“Y”),又一次开始未压缩数据输出处理循环(步骤S101到S103)。
例如,在图4所示的文档数据中,第三行后首先出现的编码结束字符串是“<SECTION>”(第四行)。于是,从第三行开头直到第四行的编码结束字符串“<SECTION>”的各个字符被进行编码,输出已编码的字符。结果,这一部分的各个字符被作为压缩数据储存到压缩文档文件中,如图5第三行所示。接着,未压缩数据输出处理循环和压缩数据输出处理循环所定义的处理操作又对从“<SECTION>”后面一个字符开始的句子(2.SCOPE OF CLAIMFOR A PATENT</SE CTION>---)重复进行。最终,以这样的方式生成一个压缩文档文件,只有夹在编码结束字符串和指定为编码开始字符串的控制字符串中间的部分是未压缩的,而其它部分(包括其它控制字符串如<PARAGRAPH>、<TT>)则是经过压缩的。
在未压缩数据输出处理循环中,当对所有数据的处理操作都完成时(步骤S102的“ Y”),或在压缩数据输出处理循环中,当对所有数据的处理操作都完成时(步骤S106的“Y”),这个压缩文档文件生成过程都可以实现。
现在参考图6所示的功能模块图描述第一实施方案的文档管理设备(数据处理设备14)恢复一个压缩文档文件的操作。
构成压缩文档文件的数据从输入终端230送到开关207。开关207从S1和S2端的任何一个中输出一个已输入的字符。
下面叙述当开关207向S2端提供数据时,多个单元的操作。应当注意到,对压缩文档文件的解压缩操作是在数据从开关207的S2端输出的条件下开始进行的。
当从开关207的S2端提供数据时,输入字符串保留单元203、第一字符串保留单元201和解码开始字符串检索单元205进行工作。从开关207的S2端得到的数据作为包含在文档数据中的单个字符由输出终端231输出,并且还向输入字符串保留单元203供应。
输入字符串保留单元203保留由最多N1个字符构成的字符串,并根据S2端提供的字符更新内部保留字符串的内容。第一字符串保留单元201保留与第一字符串保留单元101所保留的编码开始字符串相同的字符串(</SECTION>、</SUBSECTION>等),作为解码开始字符串。每次新数据(字符)输入到输入字符保留单元203时,解码开始字符串检索单元205判断在输入字符保留单元203的字符串尾部是否存在与第一字符串保留单元201中所保留的任何解码开始字符串一致的字符串。如果没有与解码开始字符串相符的字符串,解码开始字符串检索单元205不执行操作,等待下一个数据的进入。另一方面,当存在与任何解码开始字符串相符的字符串时,由于其后面的字符串是被压缩的,就需要进行解码处理。于是,解码开始字符串检索单元205把开关207的数据目标方向从S2端切换到S1端。
接下来,叙述当数据(代码)从开关207的S1端输出时的操作。此时,代码保留单元208、解码单元209、代码更新单元210、第二字符串保留单元202、上下文保留单元204以及编码结束字符串检索单元206开始发挥它们的作用。
代码保留单元208、解码单元209和代码更新单元210对S1端顺序提供的数据(代码)解码。各单元操作如下。
代码保留单元208保留一个对每个上下文解码操作中使用的代码表,并参照与上下文保留单元204告知的上下文对应的代码表(将在后面进行叙述),其代码表将会被更新。解码单元209用即将被代码保留单元208查找/更新的代码表对从S1端输入的代码进行解码。然后,一个与解码结果对应的字符被送到输出终端231和上下文保留单元204。当解码单元209结束了解码操作之后,代码更新单元210更新解码操作所用的代码表内容,以将这样的事实反映在字符和代码间的关系上,即对应解码结果的该字符的出现频率增加了。
上下文保留单元204能够保留一个由N2个字符构成的字符串,并根据解码单元20提供的字符更新其字符串的内容。上下文保留单元204向代码保留单元208提供一个位于所保留字符串尾部、由预选个数字符组成的字符串作为上下文。第二字符串保留单元202保留与第二字符串保留单元102(见图2)所保留的编码结束字符串相同的字符串,作为解码结束字符串。应当注意,符号“N2”表示第二字符串保留单元202所保留的最长解码结束字符串所包含的字符数量。
每次向上下文保留单元204新输入一个字符时,解码结束字符串检索单元206判断在上下文保留单元204所保留的字符串的尾部,是否有与保留在第二字符串保留单元202中的任何解码结束字符串一致的字符串。没有与解码结束字符串相同的字符串时,解码结束字符串检索单元206不执行操作,并等候下一个解码结果的输入。反之,当存在与解码结束字符串一致的字符串时,由于该字符串后面的字符串对应于未压缩字符串,解码结束字符串检索单元206将开关207的数据目标方向从S1端切换到S2端。
现在,参照前面用来解释生成压缩文档文件顺序操作的图4到图5来描述依据第一实施方案的文档管理设备恢复压缩文档文件的顺序操作。应当注意,图7是描述数据处理设备14恢复压缩文档文件顺序操作的流程图。
如图7所示,首先要进行对压缩文档文件的解压缩操作时,在数据处理设备14中执行一个未压缩数据处理循环(步骤S201到S203)。在这个未压缩数据处理循环中,关于储存在压缩文档文件中的第一个字符的数据被作为恢复结果直接输出(步骤S201)。随后,检查是否对储存在压缩文档文件中的全部数据都已进行了处理操作(步骤S202)。当对所有这些数据的处理操作并未结束时(步骤S202的“N”),进行另一个检查,查看由几个输出字符组成的字符串是否与任何解码开始字符串一致(步骤S203)。
当由几个输出字符组成的字符串与每个解码开始字符串都不同时(步骤S203的“N”),再次执行步骤S201定义的处理操作。反之,当由几个输出字符组成的字符串与解码开始字符串之一相符合时(步骤S203的“Y”),开始压缩数据处理循环(步骤S204到S207)。
例如,在图5所示的压缩文档文件被处理时,在未压缩数据处理循环中首先找到的解码开始字符串是“</SECTION>”(第二行)。于是,这个解码开始字符串“</SECTION>”之前的各个字符被直接输出,这样就产生了图4头部的两行数据。压缩数据处理循环开始对这个解码开始字符串“</SECTION>”之后的数据进行处理操作。
现在回到图7来解释对压缩文档文件的解压缩处理操作。
在压缩文档处理循环中,读取必需数量的压缩文档文件数据(代码),然后输出与代码的解码结果相应的字符(步骤S204)。应当认识到,这个解码操作是参照已经解码的字符串(上下文)实现的。此后,与解码操作中使用的上下文有关的代码表内容被更新(步骤S205)。
下面,检查储存在压缩文档文件中的所有数据的处理操作是否完成(步骤S206),当所有数据的处理操作尚未结束时(步骤S206的“N”),进行另一个检查,查看由几个解码字符构成的字符串是否与任何解码结束字符串相同(步骤S207)。
当由几个解码字符构成的字符串与每个解码结束字符串都不同时(步骤S207的“N”),再次执行步骤S204定义的处理操作。反之,当由几个解码字符构成的字符串与解码结束字符串之一相同时(步骤S207的“Y”),未压缩数据处理循环(步骤S201到S203)再次被执行。
例如,当图5第三行的压缩数据被顺序解码时,很快会恢复一个字符串“<SECTION>”。当与一个解码结束字符串一致的字符串以这种方式恢复出来时,数据处理设备14退出压缩数据处理循环,并开始未压缩数据处理循环。应当注意,当未压缩数据处理循环中所有数据的处理操作都完成时(步骤S202的“Y”),或当压缩数据处理循环中所有数据的处理操作都完成时(步骤S206的“Y”),数据处理设备14就完成了恢复压缩文档文件的处理操作。
就象前面详细叙述的那样,在依据本发明第一实施方案的文档管理设备中,以文档数据为基础生成压缩文档文件,其中有一部分文档数据是未经任何压缩而直接储存的。换句话说,生成的压缩文档文件能够基于关键词进行检索。因此,根据第一文档管理设备,可以不用实际对压缩文档文件解压缩便能对压缩文档文件的内容进行预测或确认。
还应当注意的是,虽然第一实施方案的这种文档管理设备已经被设置为能够管理SGML格式的文档数据,也可以只改变储存在其中的控制字符串而用这种文档管理设备来管理其它格式数据(不限于文档数据)。不仅可以使用控制字符串,而且还可以使用控制字符。
另一方面,在不根据标记单元而是根据与标记构成元素对应的“<”或“>”检索由依据第一实施方案的文档管理设备管理的压缩文档文件时,存在着检索出压缩数据中所含代码的某种可能性。为了避免这种错误的检索,第一文档管理设备具有一种检索功能,当检出的字符后面存在一个非字符代码时,这个检索字符被忽略,然后检索操作继续进行。为了严格地实行这种检索机制,当“0x3c”(即“<”的ASCII码)和“0x3e”(即“>”的ASCII码)在组成压缩文档文件的压缩数据中出现时,在前面提到的代码之后插入一个对应于非ASCII码的特定代码如“ 0x0o”。可以理解,当第一文档管理设备以这种方式设置时,在压缩文档文件的解压缩操作中应当除掉这个特定代码。
第二文档管理设备的操作
上述第一实施方案的文档管理设备用于生成压缩文档文件,其中文档数据中的数据被直接作为未压缩数据使用。相对而言,依据第二实施方案的文档管理设备用于生成压缩文档文件,在压缩文档文件中储存着根据预定规则替换文档数据中的数据而产生的数据。生成的数据不等于文档数据中的数据。换句话说,第二文档管理设备生成压缩文档数据,其中不包括直接可读数据。由于依据第二实施方案方式文档管理设备的顺序操作与第一实施方案方式的操作是相似的,所以只对不同的操作进行解释。
首先,参照图8到图9解释依据第二实施方案方式的文档管理设备生成压缩文档文件的顺序操作。图8是一个功能模块图,用来描述在依据第二实施方案的文档管理设备中压缩文档文件生成的顺序操作。图9是一个流程图,用来解释这个压缩文档文件生成的顺序操作。
如图8所表示,从开关107的S2端得到的数据(即将被处理的未压缩字符)被送往一个替换单元122,在依据第二实施方案的文档管理设备中,替换单元122的输出储存在一个压缩文档文件中。
一个替换表保留单元123与替换单元122相连,它保留一个替换表,在该表中字符与替换字符相对应。替换单元122输出在该替换表中与S2端提供的字符相对应的字符。
也就是说,在第二实施方案的文档管理设备中,如图9所示,在未压缩数据输出处理循环(步骤S301到S303)中输出一个字符时,文档数据中的字符被替换,替换字符被输出(步骤S301)。
因此,依据第二实施方案的文档管理设备所生成的压缩文档文件中没有能够直接读取的数据。例如,一个文件在互连网系统中通过多个机器以中继方式进行传输。当文档数据以这种压缩文档文件格式传输时,就有可能保护文档文件的内容不被非法机器读取。
还应当注意,当发出一条指令,用一个关键词来检索压缩文档文件时,依据第二实施方案的文档管理设备以这样的方式设置,即以用替换表替换前述关键词而得的关键词为基础,执行检索操作。
下面参照图10和图11来解释依据第二实施方案方式的文档管理设备恢复一个压缩文档文件的顺序操作。图10是一个功能模块图,用来描述在依据第二实施方案的文档管理设备中对压缩文档文件的解压缩顺序操作。图11是一个流程图,用于解释这个压缩文档文件的解压缩顺序操作。
如图10所示,从开关107的S2端得到的数据(即字符)被送往一个反相替换单元222,在依据第二实施方案的文档管理设备中,反相替换单元222的输出被加到对压缩文档文件解压而得的文档数据上。
一个反相替换表保留单元223与反相替换单元222相连,它保留一个与替换表保留单元123中的替换表相应的反相替换表。反相替换单元222输出在该反相替换表中与S2端提供的字符相对应的字符。
也就是说,在第二实施方案的文档管理设备中,如图11所示,未压缩数据输出处理循环(步骤S401到S403)中,输出通过对未压缩文档文件中所含数据(字符)进行反相替换(步骤S401)而产生的字符。
第三文档管理设备的操作
依据本发明第三实施方案的文档管理设备以上述第三实施方案的文档管理设备为基础而构成。应当注意,当未压缩数据与压缩数据混合的压缩文档文件在依据第三实施方案的文档管理设备中生成时,也生成一个仅由未压缩数据组成的索引文件。而且,这个压缩文档文件的格式与第一实施方案的文档管理设备中生成的压缩文档文件的格式是不同的。另外,在第三实施方案的文档管理设备中,可以指定一个使用索引文件来进行解压缩操作的单元。
现在参照图12,先来描述依据第三实施方案的文档管理设备(数据处理设备)生成压缩文档文件的次序。
当发出第一条指令压缩文档数据时,在数据处理设备中开始一个未压缩数据输出处理循环(步骤S501到S503)。在这个未压缩数据输出处理循环中,文档数据中的一个字符(要被处理的字符)首先被直接输出,写入压缩文档文件和索引文件中(步骤S501)。接着,判断对组成文档数据的所有字符的处理操作是否完成(步骤S502)。当还有要处理的字符时(步骤S502的“N”),检查由几个处理过的字符构成,包含已处理字符的字符串此时是否与预定编码开始字符串之一相一致(步骤S503)。
当没有编码开始字符串与已处理字符串相符时(步骤S503的“N”),再次执行上述步骤S501所定义的处理操作。反之,当已处理字符串与编码开始字符串中之一相符合时(步骤S503的“Y”),开始一个压缩数据输出处理循环(步骤S504到S507)。
在压缩数据输出处理循环中,从文档数据中读出随后的一个字符,并输出一个与这个主题字符对应的代码(步骤S504)。在这一步骤,是参照该主题字符的上下文输出代码的。此后,与编码操作中所用上下文有关的代码表内容被更新(步骤S505)。
下一步,判断对组成文档数据的所有字符的处理操作是否完成(步骤S506)。还有字符需要处理时(步骤S506的“N”),进行另一个判断,判断包含目前为止已处理字符的字符串是否与任何编码结束字符串一致(步骤S507)。已处理字符串与各个编码结束字符串不相符时(步骤S507的“N”),再次执行上述步骤S504所定义的处理操作。
反之,当目前为止已处理的字符串与编码结束字符串之一相同时(步骤S507的“Y”),初始化代码表(步骤S508)。此后,在步骤S507检测到的编码结束字符串被输出到压缩文档文件和索引文件中(步骤S509),未压缩数据输出处理循环(步骤S501到S503)再一次开始。
在未压缩数据输出处理循环中,检测到所有数据的处理操作都已完成(步骤S502的“Y”),或在压缩数据输出处理循环中,检测到所有数据的处理操作都已完成(步骤S506的“Y”)时,这个压缩文档文件的生成处理操作就完成了。
现在将更详细地叙述依据第三实施方案的文档管理设备进行的压缩文档文件生成顺序操作,使用图4所示的文档数据实例进行处理。在下面的叙述中,假设“</SECTION>”和</SUBSECTION>”被设为编码开始字符串,而“<SECTION>”和<SUBSECTION>”被设为编码结束字符串。
在这种情况下,由于首先出现的编码开始字符串是“</SECTION>”(第二行),第二行中,从文档数据的开头到“</SECTION>”所定义的各个字符在未压缩数据输出处理循环中进行处理。随后,编码开始字符串“</SECTION>”之后的字符由压缩数据输出处理循环来处理。压缩数据输出处理循环开始后,首先出现的编码结束字符串是“<SECTION>”(第四行)。作为结果,从第三行开头到第四行的编码结束字符串“<SECTION>”之间所定义的各个字符被编码并输出已编码的字符。当编码结束字符串“<SECTION>”中对“>”的编码操作完成时,编码表被初始化,进而将编码结束字符串“<SECTION>”写入压缩文档文件和索引文件中。
在第三实施方案的文档管理设备中,分别对压缩文档文件中所存数据重复进行上述一系列操作,以便如图13和图14所示,分别生成压缩文档文件和索引文件。
第三文档管理设备生成的压缩文档文件储存未压缩数据,它是由编码结束字符串(开始标记)与储存在第一文档管理设备生成的压缩文档文件(图5)中的每个未压缩数据相加而产生的。然后,与压缩文档文件所存未压缩数据相同的数据被储存在索引文件中。当压缩数据输出处理循环结束时,代码表被初始化,以便能够唯一地恢复储存在压缩文档文件中的各个压缩数据。
现在,对索引区域解压缩处理进行详细描述,它与是这样一种处理操作,只对压缩文档文件的指定内容范围进行解压缩。
图15中,显示在索引对应范围解压缩处理中,文档管理设备(数据处理设备)的操作顺序。应当注意,在用户发出一条含有关于文档数据特定信息的预定指令时,图15中的操作流程开始进行。
如附图所示,接收到用户发出的预定指令后,文档管理设备(数据处理设备)在显示设备上,根据该指令所指定的文档数据显示索引文件内容(步骤S601)。要注意的是,数据处理设备只在显示设备上显示夹在开始标记和结束标记之间且储存在索引文件中的数据(此后将称为“索引”)。例如,在为处理操作指定与图14所示的索引文件对应的文档数据时,在显示设备上显示图16所示的数据。
此后,数据处理设备的操作状态进入等候用户发出指令的状态(步骤S602)。在步骤S602,数据处理设备等候处理操作指定输出到屏幕上的索引,即点击鼠标,用户操纵鼠标以便指示数据处理设备要执行的处理操作。应当注意,在步骤S602,用户可以发出指令,显示其它索引文件的内容,或完成这个索引文件内容的显示。然而,在这里,只描述了这样的操作,即在鼠标光标位于任何索引上的条件下点击鼠标。
当在鼠标光标处于任何一条索引上的条件下点击鼠标时(步骤S602的“Y”),数据处理设备识别出这条索引被选中了,并参考索引文件指示出与所选索引相应的索引数据(即夹在标记之间的索引)(步骤S603)。
接着,数据处理设备判断指示的索引数据是否与“TITLE(标题)”相关。如果指示的数据与“TITLE”有关(步骤S604的“Y”),则执行对压缩文档文件全部内容解压的整体解压处理,压缩文档文件与主题文档数据相对应(步骤S605)。然后,显示恢复结果或将其储存为一个文件,这样,这个处理操作就结束了。
图17表现了实行整体解压处理操作时,数据处理设备的操作顺序。应当注意,在发出恢复压缩文档文件的指令时,也执行这个处理操作。
如图17所示,进行整体解压处理操作时,在数据处理设备中执行一个未压缩数据处理循环(步骤S701到S703)。当未压缩数据处理循环被执行时,数据处理设备首先输出与储存在压缩文档文件中的第一个字符有关的数据,作为恢复结果(步骤S701)。接着,判断对压缩文档文件所有数据的处理操作是否完成(步骤S702)。当还有要处理的数据时(步骤S702的“N”),进行另一个检查,判断已处理的字符串(包含此时处理的字符)是否与任何解码开始字符串一致(步骤S703)。
当已处理字符串与各个解码开始字符串都不同时(步骤S703的“N”),再次进行上述步骤S701定义的处理操作。反之,当目前已处理的字符串与解码开始字符串之一相符时(步骤S703的“Y”),开始进行压缩数据输出处理循环(步骤S704到S707)。
在压缩文档处理循环中,数据处理设备读取必要数量的压缩文档文件数据(代码),并且输出与代码的解码结果相应的字符(步骤S704)。可以理解,这个解码操作是参照已解码的字符串(上下文)进行的。此后,与解码操作所用上下文有关的代码表的内容被更新(步骤S705)。数据处理设备检查对压缩文档文件中储存的所有数据进行的处理操作是否已经完成(步骤S706)。当还有要处理的数据时(步骤S706的“N”),检查已解码字符串是否与任何解码结束字符串一致(步骤S707)。如果已解码字符串与任何解码结束字符串都不同(步骤S707的“N”),数据处理设备开始步骤S704定义的处理操作。反之,当已解码字符串与解码结束字符串之一相同时(步骤S707的“Y”),数据处理设备初始化与所有上下文有关的代码表(S708)。接下来,数据处理设备跳过读取存在于下面即将处理的数据头部的解码结束字符串(步骤S709)。换句话说,数据处理设备跳过读取编码结束字符串,该字符串是在压缩文档文件生成时被加入的。随后,数据处理设备开始未压缩数据处理循环(步骤S701到S703)。
当数据处理设备已经对所有储存在压缩文档文件中的数据实行了这样的操作时(步骤S706的“Y”),整体解压缩处理操作就完成了。
下面回到图15,继续解释索引对应区域解码处理过程。
当索引数据不对应于“TITLE”时(步骤S604的“N”),数据处理设备得到(储存)这个索引数据的头标记,作为一个结束控制字符串(步骤S606)。然后,执行一个部分解压处理,它是只对在压缩文档文件内容中与所选索引相关数据进行解压的处理操作(步骤S607)。于是,这种部分解压处理就完成了。
图18是一个流程图,描述数据处理设备在执行部分解压处理时的操作。这个部分解压处理的整个流程操作与整体解压处理(图17)相同,只是开始条件和结束条件与整体解压处理不同。因此,在这里,只解释不同的处理操作。
在整体解压处理操作中,解压处理操作从压缩文档文件的开头数据开始。相比较而言,在部分解压处理操作中,首先根据索引数据指示恢复起始位置(步骤S800)。也就是说,根据从压缩文档文件中选出的一条索引,检索索引数据,检索出的索引数据的第一个字符被指示为恢复起始位置。
随后,将以与整体解压处理相似的顺序处理从这个恢复起始位置开始的数据。
在整体解压处理中,当与储存在压缩文档文件中的全部数据有关的处理操作完成时,这个解压处理就结束了。相对来说,在部分解压处理中,当编码表被初始化之后(步骤S808),执行一个结束判断(步骤S809)。具体来说,数据处理设备判断步骤S807中找到的解码结束字符串是否与储存在该数据处理设备中的结束控制字符串一致。不一致时(步骤S809的“N”),数据处理设备跳过读取出现在即将被处理部分中的解码结束字符串(步骤S810),并开始未压缩数据处理循环。
反之,当解码结束字符串与结束控制字符串一致时(步骤S809的“Y”),结束控制字符串被从解压结果中去掉(步骤S811),部分解压处理就结束了。
现在,参考这样的例子,即指定图14中的“2.SCOPE OFCLAIM FOR A PATENT”,对索引对应区域解压处理进行更详细的叙述。
在这种情况下,由于对应的索引数据是“<SECTION>2.SCOPE OF CLAIM FOR A PATENT</SECTION>”,“<SECTION>”被指定为结束控制字符串。下面,从压缩文档文件中检索到的字符串的第一个字符开始解压处理,这样“<SECTION>2.SCOPE OF CLAIM FOR A PATENT</SECTION>”在未压缩数据处理循环中进行处理。在随后执行的第一压缩数据处理循环中,恢复一个与储存在压缩文档文件中的压缩数据对应的解码结束字符串“<SUBSECTION>”。但由于这个字符串与结束控制字符串“<SECTION>”不同,数据处理设备继续恢复压缩文档文件。随后执行压缩数据处理循环时,因为“<SECTION>”被恢复出来,数据处理设备从恢复结果中去掉“<SECTION>”,就完成了部分解压处理。也就是说,对索引数据“<SECTION>2.SCOPE OF CLAIM FOR A PATENT</SECTION>”之前的数据部分进行解压处理,这样这个部分解压处理就结束了。
最后,在索引对应区域解压处理中,如图19所示,储存在所选索引对应区域中的数据(图19中被框起来的区域)被恢复。换句话说,当选中与“TITLE”有关的索引时,所有内容都被恢复,当SUBSECTION的索引被选中时,只有所选SUBSECTION层的数据被恢复。而当SECTION层的索引被选中时,所有与这个SECTION有关的数据(包括SUBSECTION层的数据)都被恢复。
根据第三实施方案的文档管理设备,只有一部分压缩文档文件能够以上述方式恢复。
如上所述,依据第三实施方案的文档管理设备采用这样的顺序操作,在输出压缩数据后,加入编码结束字符串,以便将编码结束字符串(开始标记)包含在储存在压缩文档文件中的各个未压缩数据中。然而,本发明并不局限于上述顺序操作。也就是说,第三文档管理设备可以用这样的方式替换设置,当要处理的字符中的几个字符在缓冲区时,对能确定不等于开始标记一部分的字符进行编码操作。开始标记可以包含在压缩文档文件的每个未压缩数据中。可以理解,当第三文档管理设备以上述方式设置时,在检索到开始标记时,对压缩文档文件中所储存的压缩数据进行解码操作(前面定义了压缩数据和未压缩数据的界限)。
第四文档管理设备的设置/操作
依据本发明第四实施方案的文档管理设备生成与依据第三实施方案的文档管理设备相同的索引文件。可以认为,第四实施方案的文档管理设备生成一个压缩文档文件,其中用静态编码过程压缩的第一压缩数据与动态编码过程压缩的第二压缩数据混合在一起。第四文档管理设备生成一个对应区域管理文件,用作定义压缩文档文件和索引文件间关系的文件。
图20是一个流程图,显示第四实施方案的文档管理设备(数据处理设备)生成压缩文档文件的处理操作。还应当注意到,在第四文档管理设备中,“</TITLE>”、“</SECTION>”和“</SUBSECTION>”作为编码开始字符串,而“<SECTION>”和“<SUBSECTION>”则是编码结束字符串。
当发出第一条压缩文档数据的指令时,第一压缩数据输出处理循环(步骤S901到S903)在数据处理设备中开始进行。在这个第一压缩数据输出处理循环中,文档数据中的一个字符(要处理的字符)被直接输出到索引文件,用静态代码表对该主题字符编码而得代码也在第四数据处理设备中被写入压缩文档文件(步骤S901)。在步骤S901,数据处理设备倍增从压缩文档文件输出的数据的大小。
接着,数据处理设备判断对组成文档数据的所有字符的处理操作是否完成(步骤S902)。还有要处理的数据(字符)时(步骤S902的“N”),进行另一个判断,判断目前已处理的字符串是否与任何预定的编码开始字符串一致(步骤S903)。
当已处理字符串与编码开始字符串不同时(步骤S903的“N”),数据处理设备再次执行上述步骤S901定义的处理操作。反之,当目前已处理的字符串与编码开始字符串之一相同时(步骤S903的“Y”),第四数据处理设备开始进行第二压缩数据输出处理循环(步骤S904到S907)。
在第二压缩数据输出处理循环中,从文档数据中读出下一个字符,并在数据处理设备中输出与这个主题字符对应的代码(步骤S904)。在这一步骤,这个代码是参照主题字符的上下文输出的。这个数据处理设备还在步骤S904倍增写入压缩文档文件的数据大小。此后,数据处理设备对与编码操作所用上下文有关的代码表内容进行更新(步骤S905)。
接着,数据处理设备判断对构成文档数据的所有字符的处理操作是否完成(步骤S906)。还有要处理的数据时(步骤S906的“N”),数据处理设备判断已处理的字符串是否与预定编码结束字符串中的一个相符(步骤S907)。如果已处理字符串与任何编码结束字符串都不同(步骤S907的“N”),则数据处理设备再执行步骤S904后面的处理操作。反之,如果已处理字符串与编码结束字符串之一相同(步骤S907的“Y”),则数据处理设备初始化一个代码表(步骤S908)。
下一步,数据处理设备将步骤S907检测到的编码结束字符串输出到索引文件,并把对这个字符串静态编码而得的代码输出到压缩文档文件(步骤S909)。数据处理设备把在压缩文档文件中已储存的静态代码存储位置信息储存到对应关系管理文件中(步骤S910),这个存储位置信息是压缩文档文件中直到静态代码首位的数据尺寸。要注意的是,数据处理设备根据目前已经倍增的数据尺寸的倍增结果定义存储位置信息,并在储存位置信息定义之后,用步骤S909写入的静态代码的数据大小与倍增结果相乘。
随后,数据处理设备又执行第一压缩数据输出处理循环。
当在第一压缩数据输出处理循环中检测出对所有数据的处理操作都已完成时(步骤S902的“Y”),或在第二压缩数据输出处理循环中检测出所有数据的处理操作都已完成时(步骤S906的“Y”),数据处理设备就完成了生成压缩文档文件的处理过程。
换个说法,如图21所表示,在依据第四实施方案的文档管理设备中生成了这样一个压缩文档文件,其中静态编码操作产生的第一压缩数据(即图中划线部分)和动态编码操作产生的第二压缩数据混合在一起。并生成对应关系管理文件,其中储存着第二压缩数据之后,第一压缩数据首位的存储位置。
下面解释第四实施方案的文档管理设备中执行的索引对应区域解压处理。由于这种索引对应区域解压处理的整体流程操作与图15所示相同,所以省略对它的解释。
图22显示了一个流程图,解释第四文档管理设备中执行的部分解压处理。这种部分解压处理的基本流程操作与前述第三实施方案文档管理设备的部分解压处理是相同的。所以,只描述不同的操作步骤。
在依据第三实施方案的文档管理设备中,通过检索索引数据的存储位置来指示解压开始位置。相对地,在第四实施方案的文档管理设备中,是参照对应关系管理文件来指示解压开始位置(步骤S1000)。具体来讲,数据处理设备首先判断用户指定的索引数据与储存在索引文件中的哪些数据相对应。例如,如果索引数据与第M个数据相对应,则数据处理设备读出对应关系管理文件中的第(M-1)个存储位置信息。然后,这个存储位置信息所确定的位置被指定为解压开始位置。
此后,继续对位于解压开始位置之后的数据进行处理操作。在第四文档管理设备中,当执行与索引有关的处理操作时,使用静态编码表进行解码操作。
换句话说,在解压开始位置确定后立即执行的循环中,首先从压缩文档文件中读取必要数量的数据,并用静态编码表对该数据进行解码处理操作(步骤S1001)。在步骤S1010,数据处理设备跳过读取与解码结束字符串对应的代码。
Claims (17)
1.一种编码设备,用来对应一个输入字符串生成压缩文档数据,
控制字符串存储单元,用于储存一个以上开始控制字符串和一个以上结束控制字符串;
编码单元,用来对一个字符编码并输出已编码的字符数据;
检索单元,用来从通过排列输入字符得到的字符串中检索开始控制字符串和结束控制字符串;及
控制单元,当所述检索单元检索到一个开始控制字符串时,所述控制单元用于控制所述编码单元对输入字符串进行编码以产生编码字符串数据,并将编码字符串数据作为压缩文档数据的元素输出;并且,当所述检索单元检索到结束控制字符串时,在对结束控制字符串编码之后,所述控制单元控制上述编码单元不对字符串进行编码,而直接将输入字符作为压缩文档数据的元素输出。
2.根据权利要求1中的编码设备,其中:
所述编码单元用动态编码模型输出与所述字符对应的代码;并且
所述控制单元,用于当所述检索单元检索到一个结束控制字符串时,初始化由所述编码单元使用的动态编码模型。
3.根据权利要求1中的编码设备,其中:
当所述控制单元开始处理操作,不经过解码单元解码而直接输出所述文档数据的时候,所述控制单元用于输出一个由所述检索单元检索到的结束控制字符串。
4.根据权利要求1中的编码设备,其中:
当所述检索单元检索到一个结束控制字符串时,所述控制单元用于使用一个确定输入字符和输出字符之间对应关系的替代表替换输入的字符,输出替换结果,而不用所述编码单元进行编码。
5.根据权利要求4中的编码设备还包括:
替换单元,在对压缩文档数据检索某个字符串的指令发出时,它用所述替换表替换所述字符串;及
检索单元,用所述替换单元替换的字符串实施检索。
6.一种解码设备,用来输出对输入的压缩文档数据解压缩而得的文档数据,包括:
控制字符串存储单元,用来储存一个以上的开始控制字符串和一个以上的结束控制字符串;
解码单元,用于输出解码后的字符;
判断单元,用来判断在已恢复的字符串的尾部是否出现一个开始控制字符串或结束控制字符串;及
控制单元,当所述判断单元判断出存在一个开始控制字符串时,用于控制输出由所述解码单元对所述压缩文档数据中的代码解码得到的字符;并且,当所述判断单元检索到一个结束控制字符串时,用于控制所述解码单元不进行解码操作,而直接输出所述压缩文档数据。
7.一种文档管理设备,用来管理文档数据,在文档数据中各个文档单元前/后插入了开始控制字符串和结束控制字符串,并且所述开始控制字符串和结束控制字符串与所述文档单元的内容相对应,该设备包括:
显示单元,用来显示数据;
控制字符串存储单元,用来储存一个以上的开始控制字符和一个以上的结束控制字符串;
第一读取单元,用于顺序读取要压缩文档数据中的字符;
第一输出单元,用于直接将由所述第一读取单元读取的字符作为压缩文档文件的一个元素输出,并将所述读取的字符作为索引文件的一个元素输出;
第一控制单元,当所述第一读取单元读取到任何与储存于所述控制字符串存储单元中的所述开始控制字符串相同的字符串时,用于终止所述第一读取单元的读取操作;
第二读取单元,当所述第一读取单元的读取操作被所述第一控制单元终止时,用于开始一个从所述文档数据中读取字符的读取操作;
第二输出单元,用于将与第二读取单元读出字符相对应的代码作为压缩文档数据的一个元素输出;
第二控制单元,当所述第二读取单元读取到与储存于所述控制字符串存储单元中的任何所述结束控制字符串相同的字符串时,用于终止所述第二读取单元的读取操作,并重新开始所述第一读取单元的读取操作;
存储单元,用于储存所述压缩文档文件和所述索引文件;
显示控制单元,当发出一条预定指令时,用于将由所述结束控制字符串分段并包含在所述索引文件中的各个数据作为索引显示在所述显示单元上,所述索引文件储存于所述存储单元中;
指定单元,用于在由所述显示控制单元显示出的索引中指定一条索引;
存储位置指示单元,用于指示由所述指定单元指定的索引在所述压缩文档文件中的存储位置;及
部分解压单元,用于对位于所述存储位置指示单元指示的存储位置后并储存在所述压缩文档文件中的数据解压,直到恢复出任何结束控制字符串,该字符串是储存在所述控制字符串存储单元中的,其中,所述部分解压单元包括:
无需恢复数据识别单元,用于识别,位于所述存储位置指示单元指示的存储位置之前并包含于所述压缩文档文件之中的数据是已处理数据;
第一数据读取单元,用于顺序读取所述压缩文档文件每一个字符中未处理的数据;
第一解码单元,用于将所述第一数据读取单元读取的数据作为解码结果输出;
第一读取控制单元,当所述第一解码单元输出与储存于所述控制字符串存储单元中的任何所述开始控制字符串相同的字符串时,用于终止所述第一数据读取单元的读取操作;
第二数据读取单元,当所述第一数据读取单元的读取操作被所述第一读取控制单元终止时,用于开始对所述压缩文档文件中所含未处理数据进行读取操作;
第二解码单元,用于输出对所述第二数据读取单元读取的数据解码而得的字符;
第二读取控制单元,当所述第二解码单元输出与所述控制字符串存储单元中的任何结束控制字符串相同的字符串时,用于终止所述第二数据读取单元的读取操作;及
第三读取控制单元,当所述第二读取控制单元进行控制操作时,如果所述第二数据读取单元读取的字符串不等于与在所述指示单元指示的索引尾部的开始控制字符串相对应的结束控制字符串时,用于重新开始所述第一数据读取单元的读取操作。
8.根据权利要求7的文档管理设备,其中:所述文档管理设备还包括:
倍增尺寸检测/存储单元,每次所述第一输出单元开始输出压缩文档数据元素时,用于检测并储存作为压缩文档数据元素输出数据的倍增尺寸;并且
所述存储位置指示单元根据储存在所述倍增尺寸检测/存储单元中的倍增尺寸来指示所述索引在压缩文档文件中的存储位置。
9.根据权利要求7的文档管理设备,其中:
所述第一输出单元,进一步用于直接将对所述第一读取单元读取的字符进行静态编码而得的代码作为压缩文档文件的一个元素输出,并将所述读取的字符作为索引文件的一个元素输出;
所述第二输出单元,用于将对第二读取单元读出字符进行动态编码而得的代码作为压缩文档数据的一个元素输出;
所述第二控制单元,还对所述第二输出单元用来对字符进行动态编码的模型进行初始化,并重新开始所述第一读取单元的读取操作;
倍增尺寸检测/存储单元,每次所述第一输出单元开始输出所述字符时,用于检测被所述第一输出单元和所述第二输出单元作为压缩文档文件元素输出数据的倍增尺寸,并储存所述检测到的倍增尺寸;
第一显示控制单元,当发出一条预定指令时,用于将由所述开始控制字符串分段并包含在所述索引文件中的各个数据作为索引显示在所述显示单元上,所述索引文件储存于所述存储单元中;
无需解码数据识别单元,用于根据所述倍增尺寸检测/存储单元中储存的倍增尺寸,指示所述指定单元指定的索引在所述压缩文档文件中的存储位置,并将所述压缩文档文件中所述指定索引前的数据识别为已处理数据;
第一数据读取单元,用于读取所述压缩文档文件中未处理的数据;
所述第一解码单元,用于将对所述第一数据读取单元读取数据进行静态解码而得到的字符作为解码结果输出;
第一解码控制单元,当所述第一解码单元对与储存于所述控制字符串存储单元中的任何所述开始控制字符串相同的字符串解码时,用于终止所述第一数据读取单元的读取操作;
第二数据读取单元,当所述第一数据读取单元的读取操作被所述第一解码控制单元终止时,用于开始对所述压缩文档文件中所含未处理数据进行读取操作;
第二解码单元,用于输出对所述第二数据读取单元读取的数据动态解码而得的字符;
第二解码控制单元,当所述第二解码单元对与所述控制字符串存储单元中的任何结束控制串相同的字符串解码时,用于终止所述第二数据读取单元的读取操作,并初始化所述第二解码单元用来对数据进行动态解码的模型;及
第三解码控制单元,当所述第二解码控制单元进行控制操作时,如果所述第二解码单元解出的字符串不等于与在所述指定单元指定的索引尾部的开始控制字符串相对应的结束控制字符串时,用于重新开始所述第一读取单元的读取操作。
10.一种数据压缩方法,用于压缩插入了开始控制字符串和结束控制字符串的原始数据,包括:
检索步骤,从所述原始数据中检索开始控制字符串和结束控制字符串;及
数据处理步骤,当在所述检索步骤中检索出所述开始控制字符串时,对前述原始数据之后的原始数据进行编码以得到编码数据并将所述编码数据输出;当在所述检索步骤中检索出所述结束控制字符串时,直接输出前述原始数据之后的原始数据。
11.根据权利要求10的数据压缩方法,其中:
所述数据处理步骤使用一个动态编码模型实施编码操作,并且,当所述检索步骤检索出所述结束控制字符串时,初始化所述的动态编码模型。
12.根据权利要求10的数据压缩方法,其中:
在所述数据处理步骤,当开始输出编码数据的处理操作时,在所述检索步骤检索出来的所述结束控制字符串被作为压缩数据的一个元素输出。
13.根据权利要求10的数据压缩方法,其中:
在所述数据处理步骤,当所述结束控制字符串在所述检索步骤被检索出来时,开始一个处理操作,输出用预定替换表替换前述原始数据后的原始数据而得的数据。
14.一种对压缩数据进行解压缩的数据解压缩方法,在压缩数据中,将尾部带有开始控制字符串的数据与通过对尾部带有结束控制字符串的数据编码而得的数据混合在一起,该方法包括:
一个判断步骤,用于判断在已解码数据的尾部是否出现开始控制字符串或结束控制字符串;及
数据处理步骤,当所述判断步骤判断出现所述开始控制字符串时,对前述压缩数据后的压缩数据进行解码以字符并将所述字符作为恢复结果输出;当所述判断步骤检索出所述结束控制字符串时,直接将前述压缩数据后的压缩数据作为恢复结果输出。
15.根据权利要求14中的数据解压缩方法,其中:
所述数据处理步骤使用动态编码模型实施编码操作,当所述检索步骤检索出所述结束控制字符串时,对所述动态编码模型进行初始化。
16.根据权利要求14中的数据解压缩方法,其中:
在所述数据处理步骤,当开始输出已解码字符的处理操作时,第一个被解码的控制字符串并不作为恢复结果处理。
17.根据权利要求14中的数据解压缩方法,其中:
在所述数据处理步骤,当所述检索步骤中检索出所述结束控制字符串时,开始一个处理操作,用预定替换表对前述压缩数据后面的压缩数据进行替换,将所得的数据作为恢复结果输出。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP063573/1996 | 1996-03-19 | ||
JP063573/96 | 1996-03-19 | ||
JP06357396A JP3305191B2 (ja) | 1996-03-19 | 1996-03-19 | 文書管理装置及びデータ圧縮方法及びデータ復元方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1168029A CN1168029A (zh) | 1997-12-17 |
CN1168216C true CN1168216C (zh) | 2004-09-22 |
Family
ID=13233139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971026440A Expired - Fee Related CN1168216C (zh) | 1996-03-19 | 1997-02-21 | 文档管理设备,数据压缩方法和数据解压缩方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5854597A (zh) |
EP (1) | EP0797158B1 (zh) |
JP (1) | JP3305191B2 (zh) |
CN (1) | CN1168216C (zh) |
DE (1) | DE69733443T2 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3859313B2 (ja) * | 1997-08-05 | 2006-12-20 | 富士通株式会社 | タグ文書の圧縮装置および復元装置,圧縮方法および復元方法,圧縮/復元装置および圧縮/復元方法並びに圧縮,復元もしくは圧縮/復元プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6311223B1 (en) * | 1997-11-03 | 2001-10-30 | International Business Machines Corporation | Effective transmission of documents in hypertext markup language (HTML) |
US6105021A (en) * | 1997-11-21 | 2000-08-15 | International Business Machines Corporation | Thorough search of document database containing compressed and noncompressed documents |
EP0928070A3 (en) * | 1997-12-29 | 2000-11-08 | Phone.Com Inc. | Compression of documents with markup language that preserves syntactical structure |
US6275588B1 (en) | 1998-11-12 | 2001-08-14 | I-Data International A/S | Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network |
WO2000030262A2 (en) * | 1998-11-12 | 2000-05-25 | I-Data International A/S | Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network |
US6635088B1 (en) * | 1998-11-20 | 2003-10-21 | International Business Machines Corporation | Structured document and document type definition compression |
GB9911099D0 (en) * | 1999-05-13 | 1999-07-14 | Euronet Uk Ltd | Compression/decompression method |
JP4776050B2 (ja) * | 1999-07-13 | 2011-09-21 | ソニー株式会社 | 配信コンテンツ生成方法、コンテンツ配信方法および装置、並びに、コード変換方法 |
US6405192B1 (en) | 1999-07-30 | 2002-06-11 | International Business Machines Corporation | Navigation assistant-method and apparatus for providing user configured complementary information for data browsing in a viewer context |
US6356908B1 (en) | 1999-07-30 | 2002-03-12 | International Business Machines Corporation | Automatic web page thumbnail generation |
US6665838B1 (en) | 1999-07-30 | 2003-12-16 | International Business Machines Corporation | Web page thumbnails and user configured complementary information provided from a server |
US20040102197A1 (en) * | 1999-09-30 | 2004-05-27 | Dietz Timothy Alan | Dynamic web page construction based on determination of client device location |
JP2001147934A (ja) * | 1999-11-19 | 2001-05-29 | Nippon Telegr & Teleph Corp <Ntt> | 情報検索可能な暗号化情報配送方法及び装置 |
JP3368883B2 (ja) * | 2000-02-04 | 2003-01-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置 |
US8230482B2 (en) | 2000-03-09 | 2012-07-24 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20050015608A1 (en) | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
US8959582B2 (en) | 2000-03-09 | 2015-02-17 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US6879988B2 (en) | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
US7844579B2 (en) | 2000-03-09 | 2010-11-30 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20020035580A1 (en) * | 2000-09-21 | 2002-03-21 | Yoshinori Tanabe | Computer readable medium containing HTML document generation program |
US7054953B1 (en) * | 2000-11-07 | 2006-05-30 | Ui Evolution, Inc. | Method and apparatus for sending and receiving a data structure in a constituting element occurrence frequency based compressed form |
JP4774145B2 (ja) | 2000-11-24 | 2011-09-14 | 富士通株式会社 | 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム |
JP3894280B2 (ja) | 2001-02-02 | 2007-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体 |
US20020138526A1 (en) * | 2001-03-20 | 2002-09-26 | International Business Machines Corporation | Javascript code optimizer |
JP2007257369A (ja) * | 2006-03-23 | 2007-10-04 | Fujitsu Ltd | 情報検索装置 |
US9362948B2 (en) * | 2008-02-14 | 2016-06-07 | Broadcom Corporation | System, method, and computer program product for saving and restoring a compression/decompression state |
KR101503829B1 (ko) * | 2007-09-07 | 2015-03-18 | 삼성전자주식회사 | 데이터 압축 장치 및 방법 |
KR101454167B1 (ko) * | 2007-09-07 | 2014-10-27 | 삼성전자주식회사 | 데이터 압축 및 복원 장치 및 방법 |
US9087070B2 (en) * | 2013-01-31 | 2015-07-21 | Yahoo! Inc. | System and method for applying an efficient data compression scheme to URL parameters |
JP6476618B2 (ja) * | 2014-07-07 | 2019-03-06 | 富士通株式会社 | 伸長方法、伸長プログラムおよび伸長装置 |
CN105070035B (zh) * | 2015-08-25 | 2018-05-04 | 无锡力芯微电子股份有限公司 | 红外遥控码流的实时压缩方法和装置 |
CN115630065B (zh) * | 2022-10-18 | 2023-08-22 | 天津神舟通用数据技术有限公司 | 一种基于多压缩模式子分区表的存储和查询方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4500955A (en) * | 1981-12-31 | 1985-02-19 | International Business Machines Corporation | Full word coding for information processing |
US5471610A (en) * | 1989-06-14 | 1995-11-28 | Hitachi, Ltd. | Method for character string collation with filtering function and apparatus |
JP3691844B2 (ja) * | 1990-05-21 | 2005-09-07 | 株式会社東芝 | 文書処理方法 |
US5140644A (en) * | 1990-07-23 | 1992-08-18 | Hitachi, Ltd. | Character string retrieving system and method |
JPH0554077A (ja) * | 1991-08-29 | 1993-03-05 | Nec Corp | 単語辞書検索装置 |
US5745745A (en) * | 1994-06-29 | 1998-04-28 | Hitachi, Ltd. | Text search method and apparatus for structured documents |
JPH08106600A (ja) * | 1994-10-03 | 1996-04-23 | Sekisui Jushi Co Ltd | 出合い頭事故防止システム |
-
1996
- 1996-03-19 JP JP06357396A patent/JP3305191B2/ja not_active Expired - Fee Related
-
1997
- 1997-01-22 US US08/787,537 patent/US5854597A/en not_active Expired - Fee Related
- 1997-01-29 DE DE69733443T patent/DE69733443T2/de not_active Expired - Fee Related
- 1997-01-29 EP EP97300534A patent/EP0797158B1/en not_active Expired - Lifetime
- 1997-02-21 CN CNB971026440A patent/CN1168216C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0797158A3 (en) | 1999-01-13 |
US5854597A (en) | 1998-12-29 |
DE69733443T2 (de) | 2005-12-22 |
EP0797158B1 (en) | 2005-06-08 |
DE69733443D1 (de) | 2005-07-14 |
JPH09261072A (ja) | 1997-10-03 |
EP0797158A2 (en) | 1997-09-24 |
JP3305191B2 (ja) | 2002-07-22 |
CN1168029A (zh) | 1997-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1168216C (zh) | 文档管理设备,数据压缩方法和数据解压缩方法 | |
CN1269027C (zh) | 数据并行右移合并的方法与装置 | |
CN1174332C (zh) | 转换表达方式的方法和装置 | |
CN100337407C (zh) | 对结构化文档进行编码和解码的方法和系统 | |
CN1181618C (zh) | 数据压缩/解压设备/方法 | |
CN1120442C (zh) | 文件图象处理设备及其方法 | |
CN1260665C (zh) | 用于管理可换存储媒体的设备和方法 | |
CN1162788C (zh) | 可换存储媒体和控制方法及计算机系统 | |
CN101030157A (zh) | 一种用户词库同步更新的方法和系统 | |
CN1596445A (zh) | 创作装置和创作方法 | |
CN1117160A (zh) | 产生未知字母之字模的方法与系统 | |
CN1656821A (zh) | 防止非字节对齐和/或位移位位置起始码仿效的方法和系统 | |
CN1672150A (zh) | 用于软件原子化的视图 | |
CN1313561A (zh) | 信息结构化及应用产生的方法及其装置 | |
CN1610265A (zh) | 算术解码/编码装置、携带终端、活动图像摄影及记录/重放装置 | |
CN101080927A (zh) | 内容推荐装置 | |
CN1933535A (zh) | 打印装置、打印处理方法 | |
CN1519753A (zh) | 程序、字符输入编辑方法、装置及记录媒体 | |
CN1942931A (zh) | 通过树型分层数据结构的有序横向结构描述比特流语法的音频比特流格式 | |
CN1894676A (zh) | 数据存储装置、信息发送装置、数据存储系统及信息处理系统 | |
CN1026629C (zh) | 由单一屏面定义文件生成多版屏面 | |
CN1265342C (zh) | 数字图像输出装置 | |
CN1300718C (zh) | 信息显示装置和信息显示处理程序 | |
CN1831814A (zh) | 文档文件管理装置、方法、及程序 | |
CN1949225A (zh) | Xml文件预处理方法、装置、文件结构、读取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040922 |