公开/公告号CN1904890A
专利类型发明专利
公开/公告日2007-01-31
原文格式PDF
申请/专利权人 北京金山软件有限公司;
申请/专利号CN200610089299.8
发明设计人 徐海龙;
申请日2006-08-15
分类号G06F17/30(20060101);
代理机构11227 北京集佳知识产权代理有限公司;
代理人逯长明
地址 100083 北京市海淀区北四环中路238号柏彦大厦20层
入库时间 2023-12-17 18:12:30
法律状态公告日
法律状态信息
法律状态
2017-02-22
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20060815
专利权人的姓名或者名称、地址的变更
2014-04-02
专利权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20140313 申请日:20060815
专利申请权、专利权的转移
2008-12-17
授权
授权
2007-03-28
实质审查的生效
实质审查的生效
2007-01-31
公开
公开
技术领域
本发明涉及IP词典检索方法,还包括查词引擎装置。
背景技术
近年来查词软件得到了广泛的应用。一般的查词软件中提供了各种类型的词典供用户查询,例如英汉词典、汉英词典、及各种专业词典等,相对于下文将要提到的IP词典,上述词典统称为传统词典,传统词典的数据具有以下特点:
1、关键字与解释数据一一对应;
2、关键字数量有限,一般都在几百万左右;
3、关键字之间无相关性。
现有的查词软件中通常以每个词典为单位对传统词典数据进行组织,具体方法为:将词典中所有的关键字建立一个检索索引,索引包括关键字以及其对应解释数据在数据存储区中的偏移地址,建立一个解释数据存储区用以保存关键字的解释数据。查词时,查词引擎根据用户检索的目标词典,获取对应的词典文件,通过检索该词典文件的词典索引找到用户输入的关键字及其对应解释数据的偏移地址,获取该关键字对应的解释数据。
随着网络的快速发展,用户往往需要知道一个网际协议(Internet Protocol,IP)地址所对应主机的相关信息,如主机地理位置等,为了满足用户对IP地址的检索需求,需要在现有的查词软件中增加以IP地址为关键字形式的词典,即IP词典。
IP词典相比于传统词典,其具有以下特点:1、关键字数量很大,IP地址的格式是x.x.x.x,每一位的范围在0-255,因此最多可以有232个,即42亿多个,远远大于普通传统词典;2、多个连续的关键字具有相同的解释数据。由于IP地址的关键字数量庞大,当使用现有技术组织IP词典时将会保存所有的关键字及其解释数据,这将会占用极大的存储空间。关键字数量很大还会造成使用现有的查词技术检索IP词典时,由于检索索引的庞大,查询速度会急剧下降。由于IP词典与一般的传统词典的词典数据存在差异,如何提供一个查词引擎能够既满足用户对IP关键字进行查找又能满足用户对传统词典关键字的查找也是一个需要解决的问题。
发明内容
本发明要解决的问题是提出一种IP词典检索方法,以提高检索速度;本发明还提出一种查词引擎装置,以同时兼容对传统词典与IP词典的检索。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的:
1)获取IP地址形式的查找关键字;
2)依据所述关键字所预置的地址段,获取该地址段的预设的临界IP地址;
3)获取所述临界IP地址对应的解释数据。
其中,步骤2)之后还包括:
2a)由所述的临界IP地址获取对应的解释数据的偏移地址。
其中,所述IP词典包括扩展数据,所述扩展数据记录了预设的临界IP地址,步骤2)在所述扩展数据中进行。
其中,预设临界IP地址的方法为:
a)将IP词典中的所有关键字排序;
b)顺序获取每一组连续且解释数据相同的关键字中的一个关键字作为临界IP地址。
其中,步骤a)具体为:将IP词典中的所有关键字按升序排列;或者,按降序排列。
其中,步骤b)具体为:顺序获取每一组连续且解释数据相同的关键字中的第一个关键字或者最后一个关键字。
其中,所述IP词典的关键字只包括临界IP地址。
其中,获取临界IP地址的方法是二分法或者排序二叉树法。
本发明还提供了一种查词引擎装置,该查词引擎装置包括:
词典类型判断模块:用于判断用户选择欲检索的目标词典类型,若是IP词典,则将欲检索关键字发送到前置检索模块;若是传统词典,则将欲检索关键字发送到检索模块;
前置检索模块:用于对IP词典的扩展索引进行检索,由关键字获取临界关键字,发送临界关键字到检索模块;
检索模块:用于接收到关键字或者临界关键字后进行检索,返回解释数据。
从以上技术方案可以看出,本发明具有以下有益效果:本发明在检索IP词典时,检索的关键字是临界IP地址,因为临界IP地址的数量远少于IP词典的关键字数量,所以提高了检索速度;本发明的临界IP地址的选取方法灵活多样,包括升序排列选取第一个关键字、升序排列选取最后一个关键字、降序排列选取第一个关键字、及降序排列选取最后一个关键字等;本发明选取临界IP地址作为关键字,减少了存储空间;由于本发明中提供的查词引擎装置中,设置了词典类型判断模块,当目标词典是IP词典时,则由前置检索模块进行处理后,再由检索模块进行处理,因此本发明的查词引擎可以同时适用于对IP词典关键字和传统词典关键字的检索。
附图说明
图1为本发明对IP词典进行重新组织的方法的一实施例的流程图;
图2为本发明一种IP词典检索方法的一实施例的流程图;
图3为本发明采用二分法获取关键字对应的临界关键字时的流程图;
图4为本发明对IP词典进行重新组织的方法的又一实施例的流程图;
图5为本发明一种IP词典查词引擎装置的框图;
图6为本发明一种IP词典检索方法的又一实施例的流程图。
具体实施方式
IP词典除了有关键字数量大的特点外,还有以下几个特点:
1、关键字与解释数据不是一一对应;
2、关键字之间具有连续性及相关性。
也就是说,将IP词典的关键字顺序排列后,IP词典具有连续的多个关键字对应一个解释数据的特点,例如将IP地址以升序排列,那么58.32.1.1至58.32.19.255之间的所有IP地址的地理地址都为上海市黄浦/卢湾区,58.60.1.1至58.60.255.255之间的所有IP地址的地理地址都为广东省深圳市。
本发明根据IP词典的以上特点,对IP词典的检索方法提出了新的方案。本发明的核心思想为:首先获取IP地址形式的查找关键字;再依据所述关键字所预置的地址段,获取该地址段的预设的临界IP地址;最后由所述的临界IP地址获取对应的解释数据的偏移地址,根据解释数据的偏移地址获取所述临界IP地址对应的解释数据。
下面参照图1所示的流程图描述根据本发明对IP词典进行重新组织的方法的一实施例。
如图1所示为本发明对IP词典进行重新组织的方法的一实施例的流程图,其具体为:
101)流程开始;
102)将IP词典中所有的关键字以升序顺序排列;
升序顺序排列即为按照所有关键字对应的二进制或十进制数据的大小进行由小到大的排列;
103)获取每一组连续且解释数据相同的关键字中的第一个关键字,称此关键字为临界关键字;
通过这一步骤,将大量的连续的相关的关键字转化成了独立的离散的关键字,大大降低了关键字的数量;
104)将上一步骤获取的临界关键字及其对应的解释数据组织成词库文件;
该词库文件的格式与传统词典格式相同,如表一所示;
表一
其中:
词典类型:用于标识当前词典的类型,例如英汉词典,汉英词典,IP词典等;
词典校验信息:用于对当前词典的准确性及完整性进行校验;
词典索引:用于存储当前词典中的关键字以及关键字对应解释数据在数据区中的偏移地址,对于传统词典来说,词典索引存储的关键字是该词典中的关键字,对于IP词典来说,词典索引存储的关键字是临界关键字;
解释数据存储区:用于保存当前词典中关键字的解释数据;
105)流程结束。
以上为实现本发明对IP词典进行重新组织的方法的一个实施例的流程,实际上,在步骤102)中对关键字进行排序时也可采用降序的方法,即按照所有关键字对应的二进制或十进制数据的大小进行由大到小的排列;在步骤103)中获取临界关键字时,也可以获取每一组连续且解释数据相同的关键字中的最后一个关键字作为临界关键字。
综上所述,可以得出本发明对IP词典进行重新组织的方法至少还应该包括三种方式,以下仅说明他们之间的区别步骤:
方式二:
102`)将IP词典中所有的关键字以升序顺序排列;
103`)获取每一组连续且解释数据相同的关键字中的最后一个关键字,称此关键字为临界关键字;
方式三:
102``)将IP词典中所有的关键字以降序顺序排列;
103``)获取每一组连续且解释数据相同的关键字中的第一个关键字,称此关键字为临界关键字;
方式四:
102```)将IP词典中所有的关键字以降序顺序排列;
103```)获取每一组连续且解释数据相同的关键字中的最后一个关键字,称此关键字为临界关键字。
本发明还提出了一种IP词典检索方法,应用于前述的对IP词典进行重新组织后的新IP词典,如图2所示为该方法的一实施例的流程图。
下面,如图2所示,该方法包括:
201)流程开始;
202)在新IP词典索引中获取关键字对应的临界关键字;
203)获取临界关键字对应的解释数据的偏移,根据解释数据的偏移获取解释数据,输出该解释数据;
204)流程结束;
其中,步骤202)中获取关键字对应的临界关键字时可以采用二分法,图3所示即为采用二分法获取关键字对应的临界关键字时的流程图,其具体为:
301)输入关键字;
302)设置当前区间最小索引序号S1=区间最小索引序号SMIN;
当前区间最大索引序号S2=区间最大索引序号SMAX;
当前索引序号S=「(S1+S2)/2」;
其中SMIN、SMAX分别表示索引序号的最小和最大值;「」为取整符号;该步骤对S1、S2、S进行初始化;
303)判断输入的关键字是否大于或等于S对应的临界关键字,如果否,进入步骤304);如果是,进入步骤305);
304)设置S2=S;
S=「(S1+S2)/2」;
进入步骤503);
305)判断输入的关键字是否小于S的下一个序号对应的临界值,如果否,进入步骤306);如果是,进入步骤307);
306)设置S1=S;
S=「(S1+S2)/2」;
进入步骤503;
307)获取S对应的临界关键字,流程结束。
下面结合例子说明如何通过上述的二分法获取临界关键字。由于IP词典关键字数量极大,所以下面的例子只假设一个较小的区间以作说明。
如表所示,假设索引的内容如下表:
表二
用户欲查找关键字64对应的临界关键字,下表列出了根据图4所示的方法每次查找到的当前索引序号及最终找到的结果。
表三
本发明不仅可以通过二分法在IP词典扩展索引中获取关键字对应的临界关键字,还可以通过其他方法,例如排序二叉树法。
下面参照图4所示的流程图描述根据本发明对IP词典进行重新组织的方法的又一实施例。
如图4所示为本发明对IP词典进行重新组织的方法的又一实施例的流程图,应用下述方法组织后的IP词典增加了扩展数据以实现与传统词典的兼容,其具体为:
401)流程开始;
402)将IP词典中所有的关键字以升序顺序排列;
升序顺序排列即为按照所有关键字对应的二进制或十进制数据的大小进行由小到大的排列;
403)获取每一组连续且解释数据相同的关键字中的第一个关键字,称此关键字为临界关键字;
通过这一步骤,将大量的连续的相关的关键字转化成了独立的离散的关键字,大大降低了关键字的数量;
404)将上一步骤获取的临界关键字及其对应的解释数据组织成词库文件;
405)创建扩展数据,追加到该词库文件;
如表四所示即为该追加扩展数据后的词库文件的数据结构,其中虚线框内部分即为扩展数据:
表四
其中:
词典类型:用于标识当前词典的类型,例如英汉词典,汉英词典,IP词典等;
词典校验信息:用于对当前词典的准确性及完整性进行校验;
词典索引:用于存储当前词典中的关键字以及关键字对应解释数据在数据区中的偏移地址,对于传统词典来说,词典索引存储的关键字是该词典中的关键字,对于IP词典来说,词典索引存储的关键字是临界关键字;
解释数据存储区:用于保存当前词典中关键字的解释数据;
扩展数据校验信息:用于对扩展索引的完整性及有效性进行校验;
扩展索引:用于将临界关键字以二进制形式进行顺序存储;
在后面所述的检索方法中,查词引擎将通过该扩展索引找到欲检索的关键字所对应的临界关键字;
扩展数据长度:记录扩展数据的长度,以方便确定扩展块和原词典块的数据大小和偏移;
406)流程结束。
以上为实现本发明对IP词典进行重新组织的方法的又一个实施例的流程,实际上,在步骤402)中对关键字进行排序时也可采用降序的方法,即按照所有关键字对应的二进制或十进制数据的大小进行由大到小的排列;在步骤403)中获取临界关键字时,也可以获取每一组连续且解释数据相同的关键字中的最后一个关键字作为临界关键字。
综上所述,可以得出本发明对IP词典进行重新组织的方法至少还应该包括三种方式,以下仅说明他们之间的区别步骤:
方式二:
402`)将IP词典中所有的关键字以升序顺序排列;
403`)获取每一组连续且解释数据相同的关键字中的最后一个关键字,称此关键字为临界关键字;
方式三:
402``)将IP词典中所有的关键字以降序顺序排列;
403``)获取每一组连续且解释数据相同的关键字中的第一个关键字,称此关键字为临界关键字;
方式四:
402```)将IP词典中所有的关键字以降序顺序排列;
403```)获取每一组连续且解释数据相同的关键字中的最后一个关键字,称此关键字为临界关键字。
本发明还提出了一种查词引擎装置,应用于前述的对IP词典进行重新组织后的新IP词典以及传统词典,如图5所示为该查词引擎装置的一实施例的框图。
下面,参照图5描述该查词引擎装置,该查词引擎包括:
词典类型判断模块:用于接收用户欲检索的关键字,判断用户选择欲检索的目标词典类型,若是IP词典,则将欲检索关键字发送到前置检索模块;若是传统词典,则将欲检索关键字发送到检索模块;
前置检索模块:用于对IP词典的扩展索引进行检索,由关键字获取临界关键字;
检索模块:用于接收到关键字或者临界关键字后,进行检索,返回解释数据。
本发明还提出了一种IP词典检索方法,应用于前述的对IP词典进行重新组织后的新IP词典以及传统词典,如图6所示为该方法的又一实施例的流程图。
下面,如图3所示,该方法包括:
601)流程开始;
602)判断用户欲检索的目标词典类型,获取相应的词库文件,如果是IP词典,进入步骤603);如果不是,进入步骤604);
603)在IP词典扩展索引中获取关键字对应的临界关键字;
604)获取关键字或者临界关键字对应的解释数据的偏移,根据解释数据的偏移获取解释数据,输出该解释数据;
605)流程结束;
其中,步骤603)中获取关键字对应的临界关键字时可以采用二分法,所述二分法与前述的实施例中采用的二分法相同,在此不再赘述。
本发明不仅可以通过二分法在IP词典扩展索引中获取关键字对应的临界关键字,还可以通过其他方法,比如排序二叉树法。
以上对本发明所提供的IP词典检索方法及查词引擎装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
机译: 同义词词典生成装置,数据分析器,数据检测装置,同义词词典生成方法和同义词词典生成程序
机译: 同义词词典创建设备,同义词词典创建程序和同义词词典创建方法
机译: 相关词词典创建系统,相关词词典创建方法和相关词词典创建程序