首页> 中国专利> 对照控制程序、对照控制装置以及对照控制方法

对照控制程序、对照控制装置以及对照控制方法

摘要

对照控制程序使计算机(300)执行在与符号信息建立关联地存储在存储部中的文字信息包含于所输入的输入文字信息的情况下,将控制信息与符号信息建立关联地存储于存储部的处理。另外,对照控制程序使计算机(300)执行在包含于被编码的数据的某个符号信息与控制信息建立关联地存储在存储部中的情况下,执行包含被编码的数据内的某个符号信息的数据与输入文字信息的对照处理的处理。

著录项

  • 公开/公告号CN104025080A

    专利类型发明专利

  • 公开/公告日2014-09-03

    原文格式PDF

  • 申请/专利权人 富士通株式会社;

    申请/专利号CN201180074532.4

  • 发明设计人 片冈正弘;村田孝宏;大田贵文;

    申请日2011-11-04

  • 分类号G06F17/30;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人舒艳君

  • 地址 日本神奈川县

  • 入库时间 2023-12-17 02:14:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-25

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20170503 终止日期:20181104 申请日:20111104

    专利权的终止

  • 2017-05-03

    授权

    授权

  • 2014-10-08

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20111104

    实质审查的生效

  • 2014-09-03

    公开

    公开

说明书

技术领域

本发明涉及对照控制程序、对照控制装置以及对照控制方法。

背景技术

以往,存在一种对数字内容进行压缩,并发送压缩的数字内容的装置。例如,以往的装置将以Electoronic Publication(EPUB)形式压缩的数字内容发送给PC(Personal Computer)、移动电话等利用者终端。此外,作为数字内容的一个例子,例举动画、音乐、书籍、辞典等。另外,在利用者终端对被压缩的数字内容进行解压。而且,在利用者终端进行解压后的数字内容的再生。在利用者终端,在利用者想要阅览数字内容所包含的各项目中的、包括规定的检索字符串的项目的情况下,对数字内容进行检索字符串的检索。

专利文献1:日本特开平11-110187号公报

专利文献2:日本特开2000-216685号公报

专利文献3:国际公开第2006/123448号

然而,在对被压缩的数字内容等的数据进行检索处理的情况下,进行解压处理和检索处理,存在处理时间变长这样的问题。

发明内容

在一个方面,本发明的目的在于抑制对压缩数据的检索处理的处理时间。

本申请公开的对照控制程序在一个方式中,使计算机执行在与符号信息建立关联地存储在存储部中的文字信息包含于所输入的输入文字信息中的情况下,将控制信息与符号信息建立关联地存储于存储部的处理。而且,对照控制程序使计算机执行在包含于被编码的数据的某个符号信息与控制信息建立关联地存储在存储部中的情况下,执行包含被编码的数据内的上述某个符号信息的数据与输入文字信息的对照处理。

根据方式,能够抑制对压缩数据的检索处理的处理时间。

附图说明

图1是表示实施例1所涉及的系统的构成的一个例子的图。

图2是表示内容DB的一个例子的图。

图3是表示字典树的一个例子的图。

图4是表示字典树的叶子的构造体的一个例子的图。

图5是表示频率数据的一个例子的图。

图6是表示置换表格的一个例子的图。

图7是表示字典树的叶子的构造体的一个例子的图。

图8是用于说明利用者终端所执行的处理的图。

图9是用于说明利用者终端的处理的一个例子的图。

图10是实施例1所涉及的系统的时序图。

图11是表示实施例1所涉及的压缩处理的顺序的流程图。

图12是表示实施例1所涉及的解压·检索处理的顺序的流程图。

图13是表示实施例2所涉及的系统的构成的一个例子的图。

图14是表示利用者终端的处理中所使用的数据的一个例子的图。

图15是用于说明利用者终端所执行的处理的图。

图16是表示实施例2所涉及的压缩处理的顺序的流程图。

图17是表示实施例2所涉及的解压·检索处理的顺序的流程图。

图18是表示执行检索程序的计算机的图。

图19是对RAM内的数据的关系进行说明的图。

具体实施方式

以下,基于附图,详细地说明本申请公开的检索程序、检索装置以及检索方法的各实施例。此外,该实施例并不限定公开的技术。而且,各实施例在不使处理内容矛盾的范围内能够适当地组合。此外,检索程序、检索装置、检索方法分别是对照控制程序、对照控制装置、对照控制方法的一个例子。

实施例1

[系统1的构成例]

对实施例1所涉及的系统进行说明。图1是表示实施例1所涉及的系统的构成的一个例子的图。本实施例所涉及的系统1具有服务器2和利用者终端3。服务器2与利用者终端3以能够进行数据的收发的方式连接。在图1的例子中,服务器2与利用者终端3经由网络4连接。此外,服务器2与利用者终端3也可以无线连接。服务器2对多个辞典、电子书籍等数字内容的文件的数据进行压缩。服务器2将加密的多个数字内容的文件的数据经由网络4发送给利用者终端3。利用者终端3对接收到的多个电子书籍的文件的数据进行解压,并且检索各文件所包含的检索字符串,并对检索字符串的出现频率、出现文件数进行计数,而且,显示包含各文件的检索字符串的项目。

服务器2具有输入部5、输出部6、收发部7、存储部8、和控制部9。

输入部5将各种信息输入给控制部9。例如,输入部5从用户接受数字内容,并将接受的数字内容输入给控制部9。另外,输入部5从用户接受后述的执行压缩处理的指示,将并接受的指示输入给控制部9。作为输入部5的设备的一个例子,例举鼠标、键盘等操作接受设备。

输出部6输出各种信息。例如,输出部6显示服务器2的运转状况。作为输出部6的设备的一个例子,例举LCD(Liquid Crystal Display:液晶显示器)、CRT(Cathode Ray Tube:阴极射线管)等显示设备等。

收发部7是用于进行服务器2与利用者终端3的通信的通信接口。例如,收发部7若从利用者终端3经由网络4接收登录到内容数据库(Data Base)中的数字内容的文件的发送请求,则向控制部9发送接收的发送请求。此外,以下,将数据库略记为“DB”。另外,收发部7若从控制部9接收登录到后述的内容DB8a中的数字内容的文件,则经由网络4向利用者终端3发送接收的数字内容的文件。

存储部8存储各种信息。例如,存储部8存储内容DB8a、辞典8b。

在内容DB8a中登录被压缩的数字内容的文件。例如,在内容DB8a中登录通过后述的压缩部9a压缩的数字内容的文件。图2是表示内容DB的一个例子的图。在图2的例子中,示出在内容DB8a中登录有被压缩的数字内容A~K的各文件的情况。根据来自利用者终端3的指示,向利用者终端3发送登录到内容DB8a中的数字内容的文件。

辞典8b是在LZ78的压缩方式中所使用的动态辞典。在LZ78的压缩方式中,使用由字典树表示的动态辞典,来进行文件的压缩以及解压。在字典树的叶子以及节点中储存有文字的文字代码和参照编号。图3是表示字典树的一个例子的图。在图3的例子中,字符串“bit”的参照编号是16进制的“104”。在图3的例子中,通过使用参照编号“104”作为字符串“bit”的压缩码串,能够进行字符串“bit”的压缩。另外,在图3的例子中,通过将被压缩的文件的数据“104”置换为字符串“bit”,能够进行解压。

存储部8例如是闪存等半导体存储元件,或者硬盘、光盘等存储装置。此外,存储部8并不限定于上述种类的存储装置,也可以是RAM(Random Access Memory)、ROM(Read Only Memory)。

控制部9具有用于储存规定各种的处理顺序的程序、控制数据的内部存储器,通过它们执行各种处理。如图1所示,控制部9具有压缩部9a。

压缩部9a对从输入部5输入的数字内容的文件进行压缩。例如,压缩部9a通过LZ78的压缩方式,使用辞典8b来压缩多个数字内容的文件的各个,并且更新辞典8b,按照每个数字内容将压缩的文件登录至内容DB8a。

利用者终端3具有输入部10、输出部11、收发部12、存储部13、和控制部14。

输入部10将各种信息输入给控制部14。例如,输入部10从用户接受检索字符串、以及执行后述的解压·检索处理的指示,并将接受的检索字符串以及指示输入给控制部14。例如,输入部10能够将“bit”等的字符串、“兔”等的文字作为检索字符串接受。作为输入部10的设备的一个例子,例举鼠标、键盘等操作接受设备。

输出部11输出各种信息。例如,输出部11通过后述的显示控制部14e来显示包括置换字符串的项目、后述的频率数据13d所表示的每个文字的出现次数以及出现文件数。作为输出部11的设备的一个例子,例举LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等显示设备。

收发部12是用于进行利用者终端3与服务器2的通信的通信接口。例如,收发部12若从控制部14接收登录到内容DB中的数字内容的文件的发送请求,则经由网络4向服务器2发送接收的发送请求。另外,收发部12若从服务器2接收登录到内容DB8a中的数字内容的文件,则向控制部14发送接收的文件。

存储部13存储各种信息。例如,存储部13存储内容DB13a、辞典13b、解压区域13c、频率数据13d、和置换表格13e。

在内容DB13a中登录通过后述的解压部14a解压的数字内容的各文件。

辞典13b是在LZ78的压缩方式中所使用的、由字典树表示的动态辞典。辞典13b通过后述的解压部14a进行更新。此处,对本实施例的字典树的叶子的构造体的一个例子进行说明。图4是表示字典树的叶子的构造体的一个例子的图。在图4的例子中,字典树的叶子的构造体具有指向父节点的指针、指向子的叶子或者节点的指针、和指向同代的兄弟的叶子或者节点的指针。另外,在图4的例子中,字典树的叶子的构造体具有文字代码、从字典树的根至叶子的字符串的压缩码串、对照标志、置换标志、和指向置换表格的指针的各项目。

其中,对照标志是用于表示对照完毕的标志。从字典树的根至叶子的字符串为检索字符串的情况下,在对照标志中通过后述的储存部14b,登录表示标志为ON的值,例如“1”。另外,在对照标志中,在初始状态下,登录表示标志为OFF的值,例如“0”。

置换标志是用于从字典树的根至解压对象的被压缩的数据作为压缩码串被储存的叶子的字符串为检索字符串的情况下,将解压对象的被压缩的数据置换为置换字符串的标志。在从确定的字典树的根至叶子的字符串为检索字符串的情况下,在置换标志中通过后述的储存部14b,登录表示标志为ON的值,例如“1”。另外,在置换标志中,在初始状态下,记录表示标志为OFF的值,例如“0”。另外,在指向置换表格的指针的项目中,通过储存部14b登录指示登录到后述的置换表格13e中的置换字符串被登录的位置的指针。另外,对照标志以及置换标志为ON的情况表示使登录到字典树的叶子的压缩码串解压的情况下的字符串为检索字符串。即、对照标志以及置换标志为ON的情况表示与检索字符串对应的压缩码串被登录到字典树的叶子。

解压区域13c是储存通过后述的解压部14a解压的数据的存储区域。存储部13的解压区域13c所表示的存储区域也称为解压缓存。

对于频率数据13d而言,通过后述的更新部14c登录并更新每个文字的出现次数以及出现文件数。图5是表示频率数据的一个例子的图。在图5的例子中,对于文字“A”,示出多个数字内容的全部文件的出现次数为“1238”、出现的文件的数量为“230”的情况。

在置换表格13e中,通过后述的储存部14b登录将检索字符串变换成规定的字符串的置换字符串。图6是表示置换表格的一个例子的图。在图6的例子中,示出在置换表格13e登录有对检索字符串“bit”赋予标签“<color>”、“</color>”的置换字符串的情况。此外,标签“<color>”与“</color>”之间的字符串利用规定的颜色,例如红色等显示。即、图6的例子所示的“bit”在显示设备中利用红色增强显示。

存储部13例如是闪存等半导体存储器元件,或者硬盘、光盘等存储装置。此外,存储部13并不限定于上述种类的存储装置,也可以是RAM(Random Access Memory)、ROM(Read Only Memory)。

控制部14具有用于储存规定各种的处理顺序的程序、控制数据的内部存储器,通过它们执行各种处理。如图1所示,控制部14具有解压部14a、储存部14b、更新部14c、检索部14d、和显示控制部14e。

解压部14a使用由字典树的叶子表示的辞典13b,对解压对象的被压缩的字符串进行解压,并且根据辞典13b的登录内容以及被解压的字符串,向字典树追加包括新解压的字符串的字符串且在辞典13b中未登录的字符串与压缩码串的组合被登录的新的叶子,并更新辞典13b。

例举具体例子进行说明。解压部14a首先对辞典13b进行初始化。此处,若进行初始化,则在辞典13b登录规定量的种类例如256种的文字、和与文字对应的压缩码串。

解压部14a获取从服务器2发送的多个数字内容。解压部14a从获取的多个数字内容的文件中选择未选择的文件作为解压对象的文件。而且,解压部14a参照辞典13b,确定解压对象的文件的未处理的压缩数据被登录到“压缩码串”的项目中的字典树的叶子。图7是表示字典树的叶子的构造体的一个例子的图。在图7的例子中示出压缩码串“104h”被登录到“压缩码串”的项目中的字典树的叶子的构造体。在图7的例子中,在解压对象的文件的未处理的压缩数据为“104h”的情况下,解压部14a将图7所示的字典树的叶子的构造体确定为压缩码串“104h”被登录到“压缩码串”的项目的字典树的叶子的构造体。此外,图7的例子所示的构造体是与之前的图3所示的字典树中的文字“t”对应的构造体。在图3的例子中,对于与文字“t”对应的叶子,与文字“i”对应的节点成为“父”,所以在图7的例子中,在“指向父的指针”的项目中登录有指向与文字“i”对应的节点的指针。另外,在图3的例子中,对于与文字“t”对应的叶子,成为“子”的叶子或者节点不存在,所以在图7的例子中,在“指向子的指针”的项目中未登录指针。另外,在图3的例子中,对于与文字“t”对应的叶子,与文字“g”对应的节点成为“兄弟”,所以在图7的例子中,在“指向兄弟的指针”的项目中登录有指向与文字“g”对应的叶子的指针。

此外,图7的例子中,文字“t”的文字代码为“74h”,所以在“文字代码”的项目中登录有“74h”。另外,图7的例子中,在“对照标志”的项目中,由于是初始状态,所以登录有“0”。另外,图7的例子中,在“置换标志”的项目中,由于是初始状态,所以登录有“0”。另外,图7的例子中,在“指向置换表格的指针”的项目中未登录指针。

而且,解压部14a在通过后述的检索部14d判定为置换标志的值不是“1”,即、判定为是“0”的情况下,参照辞典13b,获取按照字符串的顺序将从字典树的根至确定的字典树的叶子的各字符串的文字代码连结而成的数据,作为解压数据。接着,解压部14a将获取的解压数据储存至解压区域13c。

另外,解压部14a通过后述的检索部14d判定为置换标志的值是“1”的情况下,参照辞典13b,获取登录到确定的字典树的叶子的指向置换表格的指针。图8是用于说明利用者终端所执行的处理的图。图8的例子的叶子15示出在图7的例子所表示的叶子的构造体中,通过后述的储存部14b,在对照标志的项目登录“1”、在置换标志的项目登录“1”、在指向置换表格的指针的项目登录“P1”的情况。解压部14a在确定图8的例所示的叶子15的情况下,获取“P1”作为指向置换表格的指针。而且,解压部14a获取获得的指向置换表格的指针所表示的置换表格13e的置换字符串。在图8的例子中,解压部14a在获取到指向置换表格的指针“P1”的情况下,获取“P1”所表示的置换表格3e中所登录的置换字符串“<color>bit</color>”。接着,解压部14a将获取的置换字符串储存至解压区域13c。在图8的例子中,解压部14a在获取到置换字符串“<color>bit</color>”的情况下,将“<color>bit</color>”储存至解压区域13c。这样,在置换标志的值为“1”的情况下,即、在使压缩码串解压的情况下的字符串为检索字符串时,解压部14a不进行压缩码串的解压,而将压缩码串置换为置换字符串。

如上述,若通过后述的检索部14d判定为置换标志的值是“1”的情况下,解压部14a不使压缩码串解压,而将压缩码串置换为置换字符串。因此,根据利用者终端3,在置换标志的值为“1”的情况下,即、在使压缩码串解压的情况下的字符串为检索字符串时,不对压缩码串进行解压,而将压缩码串置换为置换字符串,所以检索处理的速度变得高速。

另外,解压部14a通过LZ78的压缩方式,根据辞典13b的登录内容以及被解压的字符串,向字典树追加包括新解压的字符串的字符串且辞典13b中未登录的字符串与压缩码串的组合被登录的新的叶子,并更新辞典13b。

而且,每当向字典树追加新的叶子时,解压部14a都判定登录到新的叶子的字符串与从输入部10输入的检索字符串是否一致。在从输入部10输入的检索字符串是多个的情况下,解压部14a判定登录到新的叶子的字符串是否与多个检索字符串的各个一致。根据所述的判定的结果,通过储存部14b执行后述的处理。

另外,解压部14a按照每个文件将解压到解压区域13c的数字内容的文件储存至内容DB13a。

储存部14b储存各种信息。例如,每当从输入部10输入检索字符串时,储存部14b生成使输入的检索字符串增强的置换字符串,并将生成的置换字符串储存至置换表格13e。作为由储存部14b进行的置换字符串的生成方法的一个例子,例如例举对检索字符串赋予标签“<color>”、“</color>”的方法。

另外,储存部14b在向字典树追加了新的叶子的情况下,登录到新的叶子的新的字符串与检索字符串一致时,将表示与检索字符串对应的压缩码串被登录的信息储存至存储部13。作为所述的信息的一个例子,例举对照标志以及置换标志中所设定的“1”。例如,储存部14b在通过解压部14a判定为登录到新的叶子的字符串与从输入部10输入的检索字符串一致的情况下,对确定的字典树的叶子的构造体的对照标志的项目设定“1”。另外,储存部14b在通过解压部14a判定为登录到新的叶子的字符串与从输入部10输入的检索字符串一致的情况下,进行如下的处理。即、储存部14b对置换标志的项目设定“1”,对确定的字典树的叶子的构造体的指向置换表格的指针的项目设定与检索字符串对应的、指示登录到置换表格13e的置换字符串的指针。

图9是用于说明利用者终端的处理中所使用的数据的图。图9的例子示出通过解压部14a确定出图7所示的字典树的叶子的构造体的情况下,储存部14b对对照标志设定“1”的情况。另外,图9的例子示出通过解压部14a确定出图7所示的字典树的叶子的构造体的情况下,储存部14b对置换标志设定“1”的情况。另外,图9的例子示出通过解压部14a确定出图7所示的字典树的叶子的构造体的情况下,储存部14b对指向置换表格的指针设定“P1”的情况。

更新部14c对频率数据13d进行更新。例如,更新部14c在通过后述的检索部14d判定为确定的字典树的叶子的对照标志的值是“1”的情况下,将未处理的压缩数据解压后的字符串是检索字符串,所以进行下面的处理。即、更新部14c使频率数据13d的检索字符串的出现次数的值增加1,并使解压对象的文件的检索字符串的出现文件数的值增加1。但是,对于各个文字,在对照标志的值为“1”的判定是第一次的判定的情况下,更新部14c使频率数据13d的检索字符串的出现次数的值增加2,并使解压对象的文件的检索字符串的出现文件数的值增加2。这是因为,对解压前的检索字符串的压缩数据进行对照标志的值是否为“1”的判定,但在判定为对照标志的值是“1”的时刻,检索字符串已经被解压。即、是因为在进行了对照标志的值是“1”这样的第一次的判定的时刻,检索字符串出现2个。

检索部14d获取由解压部14a确定出的字典树的叶子的构造体的对照标志的值。而且,检索部14d判定对照标志的值是否是“1”。此外,在对照标志的值是“1”的情况下,从数字内容的文件检索检索字符串,并判断为对照完毕。即、检索部14d检索在解压对象的文件的未处理的压缩数据中是否有登录到对照标志的值是“1”的字典树的叶子的压缩码串。如上述,在通过检索部14d判定为对照标志的值是“1”的情况下,通过更新部14c对表示检索字符串包含于文件的个数的频率数据13d进行更新。因此,根据利用者终端3,与对被压缩的数字内容的文件进行解压,并按规定量的文字扫描解压的文件的数据来检索检索字符串的情况相比较,检索处理的速度变得高速。

另外,检索部14d获取由解压部14a确定出的字典树的叶子的构造体的置换标志的值。而且,检索部14d判定置换标志的值是否是“1”。此外,在置换标志的值是“1”的情况下,判定为将确定出的字典树的叶子的压缩码串置换为置换字符串。如上述,在通过检索部14d判定为置换标志的值是“1”的情况下,解压部14a不使压缩码串解压,而将压缩码串置换为置换字符串。这样,根据利用者终端3,在使解压对象的压缩数据解压的情况下的字符串是检索字符串时,省略对压缩码串进行解压的处理,而将压缩码串置换为置换字符串,所以检索处理的速度变得高速。

显示控制部14e对在输出部11的显示设备所显示的显示画面进行控制。例如,显示控制部14e使输出部11的显示设备显示储存在解压区域13c中的包括置换字符串的项目。另外,显示控制部14e使输出部11的显示设备显示频率数据13d所表示的每个文字的出现次数以及出现文件数。

控制部14具有ASIC(Application Specific Integrated Circuit:专用集成电路)、FPGA(Field Programmable Gate Array:现场可编程门阵列)等集成电路。此外,控制部14也可以具有CPU(CentralProcessing Unit)、MPU(Micro Processing Unit)等电子电路。

[处理的流程]

接下来,对本实施例所涉及的系统1的处理的流程进行说明。图10是表示实施例1的系统的时序图。

如图10所示,服务器2执行后述的压缩处理(步骤S101)。服务器2将被压缩的数字内容的文件登录至内容DB8a(步骤S102)。

另一方面,利用者终端3若从用户接受检索字符串、以及执行后述的解压·检索处理的指示(步骤S103),则将数字内容的文件的发送请求发送给服务器2(步骤S104)。服务器2若接收到数字内容的文件的发送请求,则将登录到内容DB8a的数字内容的文件发送给利用者终端3(步骤S105)。

利用者终端3若接收数字内容的文件(步骤S106),则执行后述的解压·检索处理(步骤S107)。利用者终端3将被解压的数字内容的文件登录至内容DB13a(步骤S108)。利用者终端3从存储部13获取频率数据(步骤S109)。利用者终端3使显示设备显示储存在解压区域13c中的包括置换字符串的项目、频率数据所表示的每个文字的出现次数以及出现文件数(步骤S110)。

接下来,对本实施例的服务器2的处理的流程进行说明。图11是表示实施例1所涉及的压缩处理的顺序的流程图。作为该压缩处理的执行时刻,可以考虑各种时刻。例如,可以在从输入部5输入数字内容的情况下执行压缩处理。

如图11所示,压缩部9a对辞典8b进行初始化(步骤S201)。压缩部9a选择一个从输入部5输入的数字内容的文件(步骤S202)。压缩部9a判定选择的数字内容的文件的数据中是否有压缩处理未处理的数据(步骤S203)。在有压缩处理未处理的数据的情况下(步骤S203:肯定),压缩部9a参照辞典8b,以LZ78的压缩方式进行压缩(步骤S204)。压缩部9a更新辞典8b(步骤S205),并返回到步骤S203。

在没有压缩处理未处理的数据的情况下(步骤S203:否定),压缩部9a判定是否有在步骤S202中未选择的文件(步骤S206)。在有未选择的文件的情况下(步骤S206:肯定),返回到步骤S202,压缩部9a选择未选择的文件,再次进行以下的处理。另一方面,在没有未选择的文件的情况下(步骤S206:否定),将处理结果储存于控制部9的内部存储器,结束。

接下来,对本实施例所涉及的利用者终端3的处理的流程进行说明。图12是表示实施例1所涉及的解压·检索处理的顺序的流程图。

如图12所示,解压部14a对辞典13b进行初始化(步骤S301)。解压部14a从被压缩的多个数字内容的文件中选择未选择的文件,作为解压对象的文件(步骤S302)。解压部14a参照辞典13b,确定解压对象的文件的未处理的压缩数据被登录到“压缩码串”的项目的字典树的叶子(步骤S303)。

检索部14d获取由解压部14a确定出的字典树的叶子的构造体的对照标志以及置换标志的值(步骤S304)。检索部14d判定对照标志的值是否是“1”(步骤S305)。在对照标志的值是“1”的情况下(步骤S305“肯定),更新部14c更新频率数据13d的检索字符串的出现次数的值、出现文件数的值(步骤S306)。

检索部14d判定置换标志的值是否是“1”(步骤S307)。在置换标志的值是“1”的情况下(步骤S307:肯定),解压部14a参照辞典13b,获取确定出的字典树的叶子的指向置换表格的指针(步骤S308)。解压部14a从置换表格13e获取获得的指向置换表格的指针所指示的置换字符串(步骤S309)。解压部14a将获取的置换字符串储存至解压区域13c(步骤S310),进入步骤S313。

另一方面,在置换标志的值不是“1”的情况下(步骤S307:否定),解压部14a进行如下的处理。即、解压部14a参照辞典13b,获取按字符串的顺序将从字典树的根至确定的字典树的叶子的各字符串的文字代码连结而成的数据,作为解压数据(步骤S311)。解压部14a将获取的解压数据储存至解压区域13c(步骤S312)。解压部14a对辞典13b进行更新(步骤S313)。

解压部14a选择一个检索字符串中未选择的检索字符串(步骤S314)。解压部14a确定新追加到辞典13b的字符串(步骤S315)。解压部14a判定新追加到辞典13b的字符串与检索字符串是否一致(步骤S316)。

一致的情况下(步骤S316:肯定),储存部14b对由解压部14a确定出的字典树的叶子的构造体的对照标志的项目设定“1”、对置换标志的项目设定“1”、对指向置换表格的指针的项目设定指针(步骤S317)。而且,进入步骤S318。一方面,在不一致的情况下(步骤S316:否定),解压部14a判定检索字符串中是否有未选择的检索字符串(步骤S318)。在有未选择的检索字符串的情况下(步骤S318:肯定),返回到步骤S314。另一方面,在没有未选择的检索字符串的情况下(步骤S318:否定),解压部14a判定解压对象的文件中是否有未处理的压缩数据(步骤S319)。在解压对象的文件中有未处理的压缩数据的情况下(步骤S319:肯定),返回到步骤S303。另一方面,在解压对象的文件中没有未处理的压缩数据的情况下(步骤S319:否定),解压部14a判定被压缩的多个数字内容的文件中是否有未选择的文件(步骤S320)。在有未选择的文件的情况下(步骤S320:肯定),返回到步骤S302。另一方面,在没有未选择的文件的情况下(步骤S320:否定),将处理结果储存于控制部14的内部存储器,结束。

如上述,本实施例所涉及的利用者终端3使用由字典树的叶子表示的辞典13b来对被压缩的字符串进行解压。另外,本实施例所涉及的利用者终端3根据辞典13b的登录内容以及被解压的字符串,向字典树追加包括新解压的字符串的字符串且辞典13b中未登录的字符串与压缩码串的组合被登录的新的叶子,并更新辞典13b。另外,在登录到字典树的叶子的新的叶子的字符串与检索字符串一致的情况下,本实施例所涉及的利用者终端3对对照标志、置换标志设定识别与检索字符串对应的压缩码串被登录的叶子的信息,例如“1”。另外,本实施例所涉及的利用者终端3参照对照标志、置换标志,检索在解压对象的压缩数据中是否有与检索字符串对应的压缩码串。这样,在解压对象的压缩数据中有与检索字符串对应的压缩码串的情况下,本实施例所涉及的利用者终端3判定为检索成功。因此,根据本实施例所涉及的利用者终端3,由于能够不对解压对象的压缩数据进行解压,而进行检索字符串的检索,所以能够使检索速度更高速化。即、能够抑制对压缩数据的检索处理的处理时间。

另外,根据本实施例所涉及的利用者终端3,在解压开始前,即使辞典13b的登录内容是初始化的状态,也能够一边使辞典13b增长一边登录识别与检索字符串对应的压缩码串被登录的叶子的信息。

另外,在储存有解压对象的压缩码串的字典树的叶子的对照标志的值是“1”的情况下,本实施例所涉及的利用者终端3判定为检索出检索字符串,并对表示检索字符串包含于文件的个数的频率数据13d进行更新。因此,根据本实施例所涉及的利用者终端3,与对被压缩的数字内容的文件进行解压,按规定量的文字扫描解压的文件的数据来检索检索字符串的情况相比较,检索处理的速度变得高速。

此处,假定例如,在利用者终端3成为处理对象的数字内容是EPUB形式的数字内容的情况。EPUB形式的数字内容有时预先以ZIP形式被压缩。对于这样的被预先压缩的数字内容,为了实现检索字符串的检索处理的高速化,可以考虑生成国际公开第2006/123448号等所记载的出现图,并在压缩时使用。根据本实施例所涉及的利用者终端3,检索处理的速度变得更高速的结果是也高速地生成在生成出现图时所使用的频率数据13b。因此,根据利用者终端3,能够缩短从被预先压缩的数字内容生成出现图的时间。而且,利用者终端3使用频率数据13b来生成出现图,并使用生成的出现图,选定包括检索字符串的数字内容的文件后,进行检索字符串的全文检索,从而能够实现进一步的检索的高速化。

另外,根据本实施例所涉及的利用者终端3,在使解压对象的压缩数据解压的情况下的字符串是检索字符串时,省略对压缩数据进行解压的处理,而将压缩数据置换为置换字符串,所以检索处理的速度变得高速。

实施例2

另外,在上述的实施例1中,例示出采用LZ78作为压缩方式的情况,然而公开的装置并不限定于此。因此,在实施例2中,对采用LZ77作为压缩方式的情况进行说明。

[系统21的构成例]

对实施例2所涉及的系统进行说明。图13是表示实施例2所涉及的系统的构成的一个例子的图。本实施例所涉及的系统21具有服务器22和利用者终端23。服务器21代替实施例1所所涉及的存储部8、控制部9而具有存储部24、控制部25这一点与实施例1不同。利用者终端23代替实施例1所涉及的存储部13、控制部14而具有存储部26、控制部27这一点与实施例1不同。此外,以下,起到与上述的实施例1相同的功能的各部、各设备标注与图1相同的符号,有时省略其说明。服务器22对多个数字内容的文件的数据的各个进行压缩。服务器22将加密的多个数字内容的文件的数据经由网络4发送给利用者终端23。利用者终端23对接收的多个电子书籍的文件的数据进行解压,并且检索各文件所包含的检索字符串,并对检索字符串的出现频率、出现文件数进行计数,而且,显示包含各文件的检索字符串的项目。

服务器22具有输入部5、输出部6、收发部7、存储部24、和控制部25。

输入部5从用户接受数字内容,并将接受的数字内容输入给控制部25。另外,输入部5从用户接受执行后述的压缩处理的指示,并将接受的指示输入给控制部25。输出部6输出服务器22的运转状况。收发部7是用于进行服务器22与利用者终端23的通信的通信接口。例如,收发部7若从利用者终端23经由网络4接收登录到内容数据DB的数字内容的文件的发送请求,则向控制部25发送接收到的发送请求。另外,收发部7若从控制部25接收登录到后述的内容DB8a的数字内容的文件,则经由网络4向利用者终端23发送接收的数字内容的文件。

存储部24存储各种信息。例如,存储部24存储内容DB8a。在内容DB8a中登录被压缩的数字内容的文件。例如,在内容DB8a中登录通过后述的压缩部25a压缩的数字内容的文件。根据来自利用者终端23的指示,向利用者终端23发送登录到内容DB8a的数字内容的文件。

存储部24例如是闪存等半导体存储器元件,或者硬盘、光盘等存储装置。此外,存储部24并不限定于上述种类的存储装置,也可以是RAM(Random Access Memory)、ROM(Read Only Memory)。

控制部25具有用于储存规定各种的处理顺序的程序、控制数据的内部存储器,通过它们执行各种处理。如图13所示,控制部25具有压缩部25a。

压缩部25a对从输入部5输入的数字内容的文件进行压缩。例如,压缩部25a利用LZ77的压缩方式,使用具有参照部以及编码部的滑动窗口来对多个数字内容的文件的各个进行压缩。压缩部25a按照每个数字内容将压缩的文件登录至内容DB8a。

利用者终端23具有输入部10、输出部11、收发部12、存储部26、和控制部27。

输入部10将各种信息输入给控制部27。例如,输入部10从用户接受检索字符串、以及执行后述的解压·检索处理的指示,并将接受的检索字符串以及指示输入给控制部27。

输出部11通过后述的显示控制部27e,来显示包括置换字符串的项目、频率数据13d所表示的每个文字的出现次数以及出现文件数。

收发部12是用于进行利用者终端23与服务器22的通信的通信接口。例如,收发部12若从控制部27接收登录到内容DB的数字内容的文件的发送请求,则经由网络4向服务器22发送接收的发送请求。另外,收发部12若从服务器22接收登录到内容DB8a的数字内容的文件,则向控制部27发送接收的文件。

存储部26存储各种信息。例如,存储部26存储内容DB13a、解压区域13c、频率数据13d、对照/置换表格26a、对照标志26b、置换标志26c、和访问指针26d。

在内容DB13a中登录通过后述的解压部27a解压的数字内容的各文件。

解压区域13c是储存通过后述的解压部27a解压的数据的存储区域。存储部26的解压区域13c所表示的存储区域也被称为解压缓存。

在对照/置换表格26a中通过后述的储存部27b登录对照中所使用的对照字符串、以及将检索字符串变换成规定的字符串的置换字符串。图14是表示利用者终端的处理中所使用的数据的一个例子的图。图14的例子中示出在对照/置换表格26a中登录有对对照字符串“bit”、检索字符串“bit”赋予标签“<color>”、“</color>”的置换字符串的情况。

对照标志26b是与被解压的字符串的各文字对应的标志。即、对照标志26b中设置每个被解压的文字的标志。图14的例子中,在对照标志26b中对数字内容的文件被解压的字符串“acdbbibit…bit…”的各个的文字设置有标志。这样,由于与在各数字内容的文件被解压的情况下的字符串的各文字对应,所以对照标志26b的尺寸随着数字内容的文件被解压而变大。对照标志26b的各标志为ON的情况表示使以参照部的对应的文字为起点的字符串且检索字符串的文字数量的字符串与检索字符串对照的对照命令。在对照标志26b的各标志中,滑动窗口移动的情况下,检索字符串的起始文字与参照部内的文字一致时,通过后述的储存部27b,登录表示标志为ON的值,例如“1”。另外,在对照标志26b的各标志中,初始状态下,登录表示标志为OFF的值,例如“0”。

置换标志26c是与被解压的字符串的各文字对应的标志。即、在置换标志26c中设置每个被解压的文字的标志。图14的例子中,在置换标志26c中,对数字内容的文件被解压的字符串“acdbbibit…bit…”的各个文字设置有标志。这样,由于与各数字内容的文件被解压的情况下的字符串的各文字对应,所以置换标志26c的尺寸随着数字内容的文件被解压而变大。置换标志26c的各标志为ON的情况表示参照部内的字符串且检索字符串的文字数量的字符串与检索字符串的对照结果一致的情况下,将解压对象的压缩数据即指针置换为置换字符串的置换命令。在置换标志26c的各标志中,滑动窗口移动的情况下,检索字符串的起始文字与参照部内的文字一致时,通过后述的储存部14b,登录表示标志为ON的值,例如“1”。另外,在置换标志26c的各标志中,初始状态下,登录表示标志为OFF的值,例如“0”。

在访问指针26d中,滑动窗口移动的情况下,检索字符串的起始文字与参照部内的文字一致时,通过储存部27b登录指示登录到对照/置换表格26a的置换字符串的指针。访问指针26d具有与被解压的字符串的各文字对应的区域。即、在访问指针26d中能够按每个被解压的文字登录指针。图14的例子中,在访问指针26d中,对数字内容的文件被解压的字符串“acdbbibit…bit…”的各个文字设置有登录指针的区域。这样,访问指针26d的各区域与各数字内容的文件被解压的情况下的字符串的各文字对应,所以访问指针26d的尺寸随着数字内容的文件被解压而变大。

存储部26例如是闪存等半导体存储器元件,或者、硬盘、光盘等存储装置。此外,存储部26并不限定于上述种类的存储装置,也可以是RAM(Random Access Memory)、ROM(Read OnlyMemory)。

控制部27具有用于储存规定各种处理顺序的程序、控制数据的内部存储器,通过它们执行各种处理。如图1所示,控制部27具有解压部27a、储存部27b、更新部27c、检索部27d、和显示控制部27e。

解压部27a利用LZ77的压缩方式,使用滑动窗口来对数字内容的文件进行解压。例如,解压部27a从滑动窗口的参照部内的被解压的字符串中获取滑动窗口的编码部内的指针所表示的字符串。而且,解压部27a通过将指针置换为获取到的字符串,来对位于编码部的指针进行解压。而且,解压部27a使在数字内容的文件的数据上移动,以使解压的字符串包含在参照部。即、解压部27a使用被解压的字符串,对被压缩的字符串进行解压。

例举具体例子来进行说明。解压部27a获取从服务器22发送的多个数字内容。解压部27a从获取的多个数字内容的文件中选择未选择的文件,作为解压对象的文件。而且,解压部27a对滑动窗口的编码部设定解压对象的文件。接着,解压部27a将参照部的数据作为辞典参照而对位于滑动窗口的编码部的未处理的压缩数据进行解压。

此外,作为存在于编码部的数据,存在未被压缩的数据即原始数据、和被压缩的数据即指针。因此,为了能够识别原始数据和指针,在原始数据的前端附加“0”,在指针的前端附加“1”。例如,文字“A”作为原始数据存在于编码部的情况下,存在于编码部的数据由“<0,0x41>”表示。另外,指针由“<1,m,l>”表示。此处,“m”表示自最长一致系列的滑动窗口的前端的位置。“l”表示最长一致系列的长度。即、指针表示从参照部的第m个文字至l个文字的字符串。

解压部27a针对编码部内的数据中的、前端的值为“0”的数据,由于是原始数据,所以获取“0”以后的数据直接作为解压数据。另外,解压部27a针对编码部内的数据中的、前端的值为“1”的数据,由于是指针,所以获取指针所表示的参照部的字符串的数据作为解压数据获取。解压部27a将解压数据储存至解压区域13c。

另外,解压部27a使解压对象的文件的数据上的滑动窗口的位置移动已进行解压处理的字符串的文字数量。而且,解压部27a计算解压对象的文件中的滑动窗口的总移动量。例如,进行解压处理前的滑动窗口的总移动量为“0”,但第一次的解压中的滑动窗口的移动量为“q”的情况下,总移动量为“q”。在此基础上,第二次的解压中的移动量为“u”的情况下,总移动量为“q+u”。

而且,解压部27a判定在使滑动窗口移动的情况下,在位于移动后的参照部的字符串中是否存在与检索字符串的起始文字一致的文字。图15是用于说明利用者终端所执行的处理的图。图15的例子中,在具有参照部51以及编码部52的滑动窗口50的参照部51内包括“acdbbitit”的字符串。图15的例子中,解压部27a在检索字符串为”bit“的情况下,判定参照部51的字符串中是否存在文字“b”,判定为“存在一致的文字“b””。此外,实际上,在编码部52内存在原始数据以及指针,但图15的例子中,在编码部52内示意性地示出将指针等解压的情况下的字符串“…bit”。

而且,在判定为位于移动后的参照部的字符串中存在与检索字符串的起始文字一致的文字的情况下,解压部27a确定自判定为一致的参照部51的文字的滑动窗口的前端的位置。例如,检索字符串为“bit”,参照部51的字符串中存在文字“b”,自文字“b”的滑动窗口的前端的位置为“126”的情况下,解压部27a将“126”确定为文字“b”的位置。

而且,解压部27a确定与判定为一致的参照部的文字对应的、对照标志26b的标志的位置,置换标志26c的标志的位置,存储访问指针26d的指针的区域的位置。以下,将“与判定为一致的参照部的文字对应的标志、区域的位置”记载为“储存位置”。解压部27a能够按照以下的式子(1)确定储存位置。

储存位置=“自判定为一致的参照部的文字的滑动窗口的前端的位置”-(“滑动窗口的参照部的长度”-“总滑动量”)…式(1)

例如,图14的例子中,示出解压部27a针对判定为与检索字符串“bit”的起始文字“b”一致的参照部内的文字“b”的各个,作为储存位置确定出“3”、“4”、“6”、“M”的情况。这样确定的储存位置在通过后述的储存部27b,对对照标志26b的标志、置换标志26c的标志设定“1”时、在访问指针26d的区域设定指针时使用。

另外,解压部27e通过后述的检索部27d,判定为确定的储存位置所表示的置换标志26b的标志的值是“1”的情况下,进行如下的处理。即、解压部27a并不对编码部的指针进行解压,而获取地址指针26d的指针,并从对照/置换表格26a获取获得的指针所表示的置换字符串,将获取的置换字符串储存至解压区域13c。

储存部27b在滑动窗口的位置被移动的情况下,位于移动后的参照部的字符串中存在与检索字符串的起始文字一致的文字时,对对应于与所述的起始文字一致的参照部内的文字的对照标志26b的标志设定“1”。例如,图14以及图15的例子中,在通过解压部27a判定为参照部内存在检索字符串“bit”的起始文字“b”的情况下,储存部27b进行如下的处理。即、储存部27b对针对参照部内的文字“b”的各个确定的储存位置所表示的对照标志26b的标志设定“1”。

另外,储存部27b在滑动窗口的位置被移动的情况下,在位于移动后的参照部的字符串中存在与检索字符串的起始文字一致的文字时,对对应于与所述的起始文字一致的参照部内的文字的置换标志26c的标志设定“1”。例如,图14以及图15的例子中,通过解压部27a判定为在参照部内存在检索字符串“bit”的起始文字“b”的情况下,储存部27b进行如下的处理。即、储存部27b对针对参照部内的文字“b”的各个确定的储存位置所表示的置换标志26c的标志设定“1”。

另外,储存部27b在滑动窗口的位置被移动的情况,在位于移动后的参照部的字符串中存在与检索字符串的起始文字一致的文字时,对对应于与所述的起始文字一致的参照部内的文字的访问指针26d的区域设定指针。例如,图14以及图15的例子中,在通过解压部27a判定为参照部内存在检索字符串“bit”的起始文字“b”的情况下,储存部27b进行如下的处理。即、储存部27b对针对参照部内的文字“b”的各个确定的储存位置所表示的访问指针26d的区域登录指示对照/置换表格26a的检索字符串“bit”的指针“P1”。

更新部27c对频率数据13d进行更新。例如,更新部27c基于后述的检索部27d的对照的结果,判定为从参照部获取的字符串与对照字符串一致的情况下,将未处理的压缩数据解压的字符串是检索字符串,所以进行如下的处理。即、更新部27c使频率数据13d的检索字符串的出现次数的值增加1,并使解压对象的文件的检索字符串的出现文件数的值增加1。

检索部27d在滑动窗口被移动的情况下,判定编码部的解压对象的指针所表示的参照部内的字符串中是否有对照标志26a的标志设定为“1”的文字。例如,检索部27d首先分别对编码部的解压对象的指针所表示的参照部内的字符串的文字,使用上述的式子(1),确定储存位置。而且,检索部27d判定确定的储存位置所表示的对照标志26b的标志的值是否是“1”。

而且,在编码部的解压对象的指针所表示的参照部内的字符串中有对照标志26a的标志设定为“1”文字的情况下,检索部27d从对照/置换表格26a获取访问指针26d的指针所表示的对照用字符串。而且,检索部27d获取以对照标志26a的标志设定为“1”的参照部的文字为起点的、检索字符串的文字量的字符串。而且,检索部27d将获取的字符串与获取的对照用字符串进行对照。即、检索部27d按照使被压缩的数据解压的情况下的字符串中的、对对照标志26a的标志设定为“1”的文字出现的位置来检索检索字符串。

另外,检索部27d在滑动窗口被移动的情况下,判定编码部的解压对象的指针所表示的参照部内的字符串中是否有置换标志26b的标志设定为“1”的文字。例如,检索部27d首先分别对编码部的解压对象的指针所表示的参照部内的字符串的文字,使用上述的式(1),确定储存位置。而且,检索部27d判定确定的储存位置所表示的置换标志26b的标志的值是否是“1”。

显示控制部27e使输出部11的显示设备显示包括储存在解压区域13c中的置换字符串的项目。另外,显示控制部27e使输出部11的显示设备显示频率数据13d所表示的每个文字的出现次数以及出现文件数。

控制部27具有ASIC(Application Specific IntegratedCircuit)FPGA(Field Programmable Gate Array)等集成电路。此外,控制部27也可以具有CPU(Central Processing Unit)、MPU(Micro Processing Unit)等电子电路。

[处理的流程]

接下来,对本实施例所涉及的服务器22的处理的流程进行说明。图16是表示实施例2所涉及的压缩处理的顺序的流程图。作为该压缩处理的执行时刻,可以考虑各种时刻。例如,可以在从输入部5输入数字内容的情况下执行压缩处理。此外,本实施例所涉及的系统1的处理的流程与实施例1所涉及的系统的时序图所示的处理流程相同,所以省略说明。

如图16所示,压缩部25a对滑动窗口进行初始化,在滑动窗口设定数字内容的文件(步骤S401)。压缩部25a选择一个从输入部5输入的数字内容的文件(步骤S402)。压缩部25a判定选择的数字内容的文件的数据中是否有压缩处理未处理的数据(步骤S403)。在有压缩处理未处理的数据的情况下(步骤S403:肯定),压缩部25a使用滑动窗口,以LZ77的压缩方式进行压缩(步骤S404)。压缩部25a使滑动窗口移动(步骤S405),返回到步骤S403。

在没有压缩处理未处理的数据的情况下(步骤S403:否定),压缩部25a判定是否有在步骤S402中未选择的文件(步骤S406)。在有未选择的文件的情况下(步骤S406:肯定),返回到步骤S402,压缩部25a选择未选择的文件,再次进行以下的处理。另一方面,在没有未选择的文件的情况下(步骤S406:否定),将处理结果储存于控制部25的内部存储器储存,结束。

接下来,对本实施例所涉及的利用者终端23的处理的流程进行说明。图17是表示实施例2所涉及的解压·检索处理的顺序的流程图。

如图17所示,解压部27a对滑动窗口进行初始化,选择未选择的数字内容的压缩文件作为处理对象的文件,并在滑动窗口设定处理对象的文件(步骤S501)。解压部27a判定处理对象的文件的数据中是否有解压处理未处理的数据(步骤S502)。在没有未处理的数据的情况下(步骤S502:否定),解压部27a判定是否选择了全部的数字内容的文件作为处理对象的文件(步骤S503)。在未选择全部的数字内容的文件的情况下(步骤S503:否定),返回到步骤S501。另一方面,在选择了全部的数字内容的文件的情况下(步骤S503:肯定),将处理结果储存于控制部27的内部存储器,结束。

另外,在有未处理的数据的情况下(步骤S502:肯定),解压部27a将参照部的数据作为辞典参照,而对滑动窗口的编码部内的未处理的压缩数据进行解压,并储存至解压区域13c(步骤S504)。解压部27a通过使滑动窗口滑动来对滑动窗口的参照部内的字符串所表示的辞典进行更新(步骤S505)。解压部27a计算解压对象的文件中的滑动窗口的总移动量(步骤S506)。解压部27a选择一个检索字符串中的未选择的检索字符串(步骤S507)。解压部27a判定位于参照部的字符串中是否存在与检索字符串的起始文字一致的文字(步骤S508)。

在存在一致的文字的情况下(步骤S508:肯定),解压部27a针对与参照部内的检索字符串的起始文字一致的文字,确定自滑动窗口的前端的位置(步骤S509)。解压部27a确定储存位置(步骤S510)。储存部27b对对应于与检索字符串的起始文字一致的参照部内的文字的对照标志26b的标志设定“1”(步骤S511)。储存部27b对对应于与检索字符串的起始文字一致的参照部内的文字的置换标志26c的标志设定“1”(步骤S512)。储存部27b在对应于与检索字符串的起始文字一致的参照部内的文字的地址指针26c的区域设定指示用于置换检索字符串的置换字符串的指针(步骤S513)。解压部27a判定是否有在步骤S507中未选择的检索字符串(步骤S514)。在有未选择的检索字符串的情况下(步骤S514:肯定),返回到步骤S507。

另一方面,在没有未选择的检索字符串的情况下(步骤S514:否定),检索部27d进行如下的处理。即、检索部27d判定编码部的解压对象的指针所表示的参照部内的字符串中是否有对照标志26a的标志设定为“1”的文字(步骤S516)。在没有文字的情况下(步骤S516:否定),进入后述的步骤525。另一方面,在有文字的情况下(步骤S516:肯定),检索部27d从对照/置换表格26a获取访问指针26d的指针所表示的对照用字符串(步骤S517)。

检索部27d获取以对照标志26a的标志设定为“1”的参照部的文字为起点的、检索字符串的文字数量的字符串(步骤S518)。检索部27d将获取的字符串与获取的对照用字符串进行对照(步骤S519)。在对照的结果一致的情况下(步骤S520:肯定),更新部27c对频率数据13d进行更新(步骤S521)。检索部27d判定编码部的解压对象的指针所表示的参照部内的字符串中是否有置换标志26b的标志设定为“1”的文字(步骤S522)。另一方面,在对照的结果不一致的情况下(步骤S520:否定),解压部27a获取解压数据(步骤S525),进入步骤S527。

在编码部的解压对象的指针所表示的参照部内的字符串中有置换标志26b的标志设定为“1”的文字的情况下(步骤S522:肯定),解压部27a进行如下的处理。即、解压部27a从地址指针26d获取指针,并从对照/置换表格26a获取获得的指针所表示的置换字符串(步骤S523)。解压部27a将获取的置换字符串储存至解压区域13c(步骤S524),返回到步骤S502。

另一方面,在编码部的解压对象的指针所表示的参照部内的字符串中没有置换标志26b的标志设定为“1”的文字的情况下(步骤S522:否定),解压部27a进行如下的处理。解压部27a获取解压数据(步骤S526)。解压部27a将解压数据储存至解压区域13c(步骤S527),返回到步骤S502。

如上述,本实施例所涉及的利用者终端23使用被解压的字符串对被压缩的字符串进行解压。另外,本实施例所涉及的利用者终端23在被解压的文字与检索字符串的一部分一致的情况下,对与一致的文字对应的对照标志、置换标志设定“1”。另外,本实施例所涉及的利用者终端23按照对使被压缩的字符串解压的情况下的字符串中对照标志、置换标志设定为“1”的文字出现的位置来检索是否有检索字符串。这样,本实施例所涉及的利用者终端23按照对使解压对象的压缩数据解压的情况下的字符串中对照标志、置换标志设定为“1”的文字出现的位置来检索是否有检索字符串。本实施例所涉及的利用者终端23在有检索字符串的情况下,判定为检索成功。因此,根据本实施例所涉及的利用者终端23,由于能够不对解压对象的压缩数据进行解压,而进行检索字符串的检索,所以能够使检索速度更高速化。即、能够抑制对压缩数据的检索处理的处理时间。

另外,根据本实施例所涉及的利用者终端23,在解压开始前,即使滑动窗口所表示的辞典的登录内容是空白状态,也能够一边使滑动窗口所表示的辞典增长一边登录与检索字符串的一部分一致的文字的信息。

另外,本实施例所涉及的利用者终端23按照对使解压对象的压缩数据解压的情况下的字符串中对照标志、置换标志设定为“1”的文字出现的位置检索是否有检索字符串。因此,根据本实施例所涉及的利用者终端23,由于不对被解压的文字全部进行检索字符串的检索,所以与对被压缩的数字内容的文件进行解压,并按规定量的文字扫描解压的文件的数据来检索全部的数据检索字符串的情况下相比较,检索处理的速度变得高速。

此处,假定例如在利用者终端23成为处理对象的数字内容是EPUB形式的数字内容的情况。EPUB形式的数字内容有时预先以ZIP形式被压缩。对于这样的被预先压缩的数字内容,为了实现检索字符串的检索处理的高速化,可以考虑生成国际公开第2006/123448号等所记载的出现图,并在压缩时使用。根据本实施例所涉及的利用者终端23,检索处理的速度变得更高速的结果是更高速地生成在生成出现图时所使用的频率数据13b。因此,根据利用者终端23,能够缩短从预先压缩的数字内容生成出现图的时间。而且,利用者终端23使用频率数据13b来生成出现图,并使用生成的出现图,在选定包括检索字符串的数字内容的文件后,进行检索字符串的全文检索,从而能够实现进一步的检索的高速化。

另外,根据本实施例所涉及的利用者终端23,针对有检索字符串的位置,省略对压缩数据进行解压的处理,并置换为置换字符串,所以检索处理的速度变得高速。

而且,到此对与公开的装置有关的实施例进行了说明,本发明除了上述的实施例以外,也可以以各种的不同方式实施。因此,以下,对本发明所包括的其它实施例进行说明。

例如,在实施例1中,例示了确定出登录有与检索字符串对应的压缩码串的叶子之后,也进行解压处理来扩大由字典树表示的辞典13b的情况,但公开的装置并不限于此。例如,公开的装置在确定出登录有与检索字符串对应的压缩码串的叶子后,不进行解压处理,而对未被解压的压缩数据进行检索是否有登录到确定的叶子的压缩码串,从而也能够更高速地进行检索。

另外,也能够手动进行实施例1中说明的处理中的、作为自动进行的处理说明的处理的全部或者一部分。另外,也能够利用公知的方法自动进行实施例1中说明的处理中的、作为手动进行的处理说明的处理的全部或者一部分。例如,在步骤S314、步骤S507中,也可以是人选择检索字符串。

另外,能够根据各种负荷、使用状况等,将在各实施例中所说明的各处理的各步骤中的处理任意地细分,或者集中。另外,也能够省略步骤。也能够将步骤S511~S513的处理集中。

另外,也能够根据各种负荷、使用状况等,变更各实施例中所说明的各处理的各步骤中的处理的顺序。

另外,图示的各装置的各构成要素是功能概念,不用必须构成为如图示那样的物理构成。即、各装置的分散综合的具体的状态并不限于图示,能够根据各种负荷、使用状况等,将其全部或者一部分以任意的单位功能或者物理地分散综合来构成。例如,可以综合更新部14c和检索部14d。另外,也可以综合更新部27c和检索部27d。

实施例3

[检索程序]

另外,上述的实施例1、2所说明的利用者终端的处理也可以通过由个人计算机、工作站等计算机系统执行预先准备的程序来实现。因此,以下,使用图18,对执行具有与上述的实施例所说明的利用者终端相同的功能的检索程序的计算机的一个例子进行说明。图18是表示执行检索程序的计算机的图。

如图18所示,计算机300具有CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、和RAM(Random Access Memory)340。另外,计算机300具有输入装置350、输出装置360、以及与网络4连接的通信接口370。这些310~370的各部经由总线380连接。

输入装置350包括各种输入设备,例如,包括键盘、鼠标。输入装置350对应于各实施例的服务器所具有的输入部5。

输出装置360包括各种输出设备,例如,包括液晶显示器。输出装置360对应于各实施例的服务器所具有的输出部6。

通信接口370对应于各实施例的服务器所具有的收发部7。

ROM320中预先存储发挥与上述的实施例所示的解压部、储存部、检索部相同的功能的检索程序320a。此外,检索程序320a也可以适当地分离。

而且,CPU310从ROM320读出检索程序320a并执行。

而且,HDD330中设置内容DB、辞典以及置换表格,或者对照/置换表格、对照标志、置换标志、访问指针。它们中的内容DB、辞典、置换表格的各个对应于内容DB13a、辞典13b、置换表格13e的各个。另外,对照/置换表格、对照标志、置换标志、访问指针的各个对应于对照/置换表格26a、对照标志26b、置换标志26c、访问指针26d。

而且,CPU310读出内容DB、辞典以及置换表格,或者对照/置换表格、对照标志、置换标志、访问指针,并储存于RAM340。并且,CPU310使用储存在RAM340中的内容DB、辞典以及置换表格,或者对照/置换表格、对照标志、置换标志、访问指针,来执行检索程序。此外,对于储存在RAM340中的各数据而言,全部的数据未必始终储存在RAM340中,而仅将处理所需的数据储存在RAM340中即可。

此外,上述的检索程序未必从最初就存储在ROM中。

例如,在插入计算机的软盘(FD)、CD-ROM、DVD盘、光磁盘、IC卡等“可移动物理介质”中存储程序。而且,计算机也可以从它们读出程序并执行。

而且,在经由公用线路、网络、LAN、WAN等与计算机连接的“其它计算机(或者服务器)”等中存储程序。而且,计算机也可以从它们读出程序并执行。

实施例4

使用图19,对实施例4进行说明。实施例4也能够例如使用图18所示的计算机来执行。

图19是对RAM340内的数据的关系进行说明的图。存储区域1000是储存实施例4的处理中所使用的数据的存储区域。存储区域1001是储存经由输入接口输入的输入文字信息的存储区域。存储区域1002是储存在解压处理中所使用的辞典数据和在对照控制中所使用的控制信息的存储区域。存储区域1003是用于执行解压处理的存储区域。存储区域1004是储存被解压的数据的存储区域。

辞典数据库1010是储存辞典数据的存储部,例如,通过图18的HDD330等实现。在开始解压处理的情况下,将辞典数据从辞典数据库1010读出至存储区域1002。辞典数据是用于将符号信息与文字信息建立关联的信息。符号信息和文字信息也可以预先在辞典数据库1010内进行关联,也可以在辞典数据库内储存将符号信息和文字信息建立关联的算法,并基于算法在存储区域1002内将符号信息与文字信息建立关联。

内容数据库1020是储存被编码的内容数据的存储部,例如通过图18的HDD330等实现。在对储存在内容数据库1020中的内容数据进行输入文字信息的检索处理的情况下,依次读出内容数据所包含的多个符号信息,并储存至存储区域1003。

接下来,说明图18所示的CPU310对图19所示的数据执行的处理的流程。首先,CPU310在接受到输入文字信息的情况下,将接受的输入文字信息储存至存储区域1001。在存储区域1001中储存有输入文字信息的情况下,CPU310从辞典数据库1010读出辞典信息,并在存储区域1002中将符号信息与文字信息建立关联地进行储存。

接下来,CPU310提取储存在存储区域1002的文字信息中的、输入文字信息所包含的文字信息。CPU310将储存在存储区域1002的控制信息中的、与提取的文字信息对应的控制信息改写为1。CPU310改写前,存储区域1002内的控制信息为0。例如,在输入文字信息为“APPLE”的情况下,如图19所示,使与“A”对应的控制信息成为“1”。顺便说明,由于“B”不包含在“APPLE”中,所以与“B”对应的控制信息为“0”。

接下来,CPU310依次从内容数据库将符号信息读出至存储区域1003。CPU310参照储存在存储区域1002中的辞典数据,将与读出的符号信息对应的文字信息读出至存储区域1003,从而进行解压处理。CPU310在参照辞典数据时,也一并读出与从内容数据库102读出的符号信息对应的控制信息。顺便说明,解压处理是附加的处理,也可以进行在读出与控制信息“1”对应的符号信息的情况下开始解压处理等的控制。

CPU310在读出的控制信息是“0”的情况下,不开始与输入文字信息的对照处理。CPU310在读出的控制信息为“0”的情况下,开始与输入文字信息的对照处理。例如,在从内容数据库1020读出的符号信息是与文字信息“A”对应的符号信息“01”的情况下,开始对照处理。

在开始对照处理的情况下,CPU310从内容数据库1020读出同与控制信息“1”对应的符号信息(例如,符号信息“01”)连续的符号信息。对于读出的符号信息,参照存储区域1002来进行解压处理。接下来,CPU参照存储区域1001,判断通过解压处理获得的文字信息是否包含在输入文字信息中。在通过解压处理获得的文字信息包含在输入文字中、且输入文字信息中存在未被对照的文字信息的情况下,CPU310反复进行对照处理。其它的情况下,CPU310结束对照处理。

例如,在符号信息“01”之后读出的符号信息是与文字信息“P”对应的符号信息的情况下,开始下一个连续的符号信息的对照处理。

通过在上述的流程中进行处理,抑制了与输入字符串进行对照处理的次数,所以能够抑制对压缩数据的检索处理的处理时间。另外,由于进行上述对照处理控制,抑制因在将被压缩的数据全部解压后,检索包括规定的检索字符串的项目的控制,而不能够使解压处理所使用的解压缓存的容量比将压缩的数据全部解压的情况下的数据的尺寸小这样的情况。

符号说明

13a…内容DB;13d…频率数据;21…系统;22…服务器;23…利用者终端;26…存储部;26a…对照/置换表格;26b…对照标志;26c…置换标志;26d…访问指针;27…控制部;27a…解压部;27b…储存部;27c…更新部;27d…检索部

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号