CN1368697A - 数据查寻方法 - Google Patents

数据查寻方法 Download PDF

Info

Publication number
CN1368697A
CN1368697A CN 01103695 CN01103695A CN1368697A CN 1368697 A CN1368697 A CN 1368697A CN 01103695 CN01103695 CN 01103695 CN 01103695 A CN01103695 A CN 01103695A CN 1368697 A CN1368697 A CN 1368697A
Authority
CN
China
Prior art keywords
character
string
character string
database
search
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.)
Granted
Application number
CN 01103695
Other languages
English (en)
Other versions
CN1204516C (zh
Inventor
刘小鹏
陈玄同
林光信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN 01103695 priority Critical patent/CN1204516C/zh
Publication of CN1368697A publication Critical patent/CN1368697A/zh
Application granted granted Critical
Publication of CN1204516C publication Critical patent/CN1204516C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据查寻方法,适用于一数据库,包括下列步骤:输入一数据;进入该数据库的根节点;调用一字符串匹配模块,判断当前节点中是否有与所要查寻的关键字相匹配的信息;以及判断字符串匹配操作是否成功。

Description

数据查寻方法
本发明涉及一种数据查寻方法。
现有技术中,在数据结构中查寻数据时,通常有两种实现方式:
一种方式是利用B树数据结构进行数据查寻,先访问根节点,然后经过左子树及右子树,如此虽然可以达到数据查寻的目的,但是却无法实现数据索引操作。
另一种方式是利用B+树结构进行数据查寻,虽然能够通过数据库底层的线性链表,实现线性索引方式,但是由于在数据结构中的某些节点为仅有名称、没有数据的空节点,因此会影响查寻数据的速度,并在数据存放空间上有一定程度的浪费。
再者,现有技术情况下,当需要在数据库中查寻字符串时,传统的B树结构和B+树结构中,都是以所要查寻的字符串中的关键字作为标准,逐一比对,是这种方法势必会导致查寻过程中时间的浪费。
为了解决上述问题,本发明的目的在于提供一种数据查寻方法,当使用者需要在容量大的数据库中查寻字符串时,利用多线程比对技术,可同时对字符串中的多个关键字进行快速查询,提高了字符串比较的效率,并且提高了准确度。
本发明所提供的数据查寻方法,集合了上述两种现有技术的优点,不仅能够实现线性索引,而且不会影响数据查寻的速度以及占用多余的储存空间,并且对于字符串的查寻则采用多线程比对的方式,更可提高查寻的速度和准确度。例如,对于一个N阶的数据库,如果要进行数据索引,就须对每个节点进行N-1的字符串比较,方可实现完整的数据查寻过程。而利用本发明所提供的方法,则只需针对这个N阶的数据,设定N-1个线程,即可快速完成对数据库中节点字符串进行匹配的过程。
根据本发明,一种数据查寻方法,适用于一数据库,包括下列步骤:输入一数据;进入该数据库的根节点;调用一字符串匹配模块,判断当前节点中是否有与所要查寻的关键字相匹配的信息;以及判断字符串匹配操作是否成功。
为了让本发明分上述和其他目的、特征、及优点能更明显易懂,下文特举出优选实施例,并结合附图,作详细说明如下:
附图的简单说明:
图1是显示本发明的功能模块示意图;
图2显示索引控制模块的控制流程图;
图3显示字符串匹配模块的控制流程图;
图4显示字符串比较流程的控制流程图。
优选实施例
本发明将配合附图作详细说明,本发明的功能模块示意图如图1所示,当数据输入后(101),调用索引控制模块(102),对该数据库中的数据进行索引操作,在索引控制模块中,对于数据库中每个节点的操作则采用字符串匹配模块(103)所包含的多线程控制程序,为每个节点的关键字分配线程,可针对节点中每个字符串进行快速字符串匹配的操作,在数据库容量很大的情况下,本发明的效果更为显著。
本发明的一种数据查寻方法,适用于一数据库,其操作流程详细说明如下。首先,输入一数据。之后,调用一索引控制模块,对该数据库中的数据进行索引操作,索引控制模块的控制流程,如图2所示。
请参阅图2,进行索引操作,首先设当前指针指向数据库根(root)节点,进入待查寻数据库的根节点(201);调用字符串匹配模块,判断待查数据是否在当前的节点中,判断当前节点中是否有与所要查寻的关键字相匹配的信息(202),请参阅图3及后续说明;字符串匹配操作是否成功(203);若是,则表示当前数据查寻成功(204),程序结束;若否,则判断当前的数据查寻操作是否已到达叶节点(205);若已到达叶节点,则表示所要查寻的数据不在该数据库中,查寻失败(206),程序结束;若当前的数据查寻操作未到达叶节点,则进入被索引数据库的下一个节点(207);再重复前述操作。
请参阅图3,当需要在数据库中查寻节点的字符串匹配情况时。其流程如下,首先根据数据库中某节点的字符串长度,对该字符串进行分段(301);之后,对每一段的内容分配一独立线程,与该段内容相匹配(302);各线程进行比较(303),请参阅图4及后续说明;判断此时是否有线程返回字符不匹配信息(304);若是,则表示所要查寻的字符串与数据库中的原始字符串不匹配(305),查寻失败(306);若无返回字符不匹配信息,则判断当前所有线程的比较操作是否完毕(307);若是,则表示所要查寻的字符串与数据库中的原始字符串匹配,查寻成功(308);若各线程的比较操作还没完毕,则返回(304),继续进行各线程的比较。
请参阅图4,进行字符串比较操作,首先取得待比较的节点字符串的长度(401);比较两字符串的长度是否相等(402);若不相等,则表示这两个字符串不匹配,操作失败(403),程序结束;若两字符串的长度相等,则将该字符串的长度给一变量n,并设变量i=0(404);比较字符串1和字符串2的第i个字符是否相等(405);若相等,则设i=i+1(406);判断i是否大于或等于n(407);若是,则表示被比较的两个字符串的所有字符都已比较完毕,两个字符串的比较结果为匹配,操作成功(408);若否,则继续判断i+1编号的两个字符是否相等。
实施例:
下面有一表格具体说明本发明与B+树结构、二分法数据查寻时的时间比较,运行环境为Pentium III 450/128M RAM/OS Win98):
单位:秒
本发明虽然以优选实施例披露如上,然并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可作更动与润饰,因此本发明的保护范围应视所附的权利要求限定范围为准。

Claims (4)

1.一种数据查寻方法,适用于一数据库,包括下列步骤:
输入一数据;
进入该数据库的根节点;
调用一字符串匹配模块,判断当前节点中是否有与所要查寻的关键字相匹配的信息;以及
判断字符串匹配操作是否成功。
2.如权利要求1所述的方法,其中,在该判断字符串匹配操作是否成功步骤之后,还包括下列步骤:
当字符串匹配操作成功,则表示当前数据查寻成功,程序结束;
当字符串匹配操作不成功,且已到达叶节点,则表示所要查寻的数据不在该数据库中,查寻失败,程序结束;以及
当字符串匹配操作不成功,且未到达叶节点,则进入该数据库的下一个节点。
3.如权利要求1所述的方法,其中,该字符串匹配模块的执行步骤包括:
对数据库的原始字符串进行分段;
对原始字符串的每一段内容分配一独立线程;
对各线程进行比较;
当有线程返回字符不匹配信息,则表示所要查寻之字符串与数据库中的原始字符串不匹配,查寻失败;
当无线程返回字符不匹配信息,且所有线程的比较操作已完毕,则表示所要查寻的字符串与数据库中的原始字符串匹配,查寻成功;以及
当无线程返回字符不匹配信息,且所有线程的比较操作尚未完毕,则继续进行各线程的比较。
4.如权利要求3所述的方法,其中,对各线程进行比较的执行步骤包括:
取得待比较的节点字符串的长度;
比较一第一字符串及一第二字符串的长度是否相等;
当该两个字符串长度不相等,则表示该两个字符串不匹配,程序结束;
当该两字符串的长度相等,则将该字符串的长度给一变量n,并设一变量i=0;
比较该第一字符串及该第二字符串的第i个字符是否相等;
当该第i个字符相等,则设i=i+1;
当该第i个字符大于或等于n,则表示被比较的两个字符串的所有字符都已比较完毕,两个字符串的比较结果为匹配,操作成功;以及
当该第i个字符不大于或等于n,则继续判断i+1编号的两个字符是否相等。
CN 01103695 2001-02-09 2001-02-09 数据查寻方法 Expired - Fee Related CN1204516C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01103695 CN1204516C (zh) 2001-02-09 2001-02-09 数据查寻方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01103695 CN1204516C (zh) 2001-02-09 2001-02-09 数据查寻方法

Publications (2)

Publication Number Publication Date
CN1368697A true CN1368697A (zh) 2002-09-11
CN1204516C CN1204516C (zh) 2005-06-01

Family

ID=4653423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01103695 Expired - Fee Related CN1204516C (zh) 2001-02-09 2001-02-09 数据查寻方法

Country Status (1)

Country Link
CN (1) CN1204516C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1538322B (zh) * 2003-04-14 2010-04-21 中兴通讯股份有限公司 一种用于消除字符串模糊匹配冗余的过滤方法
CN101216768B (zh) * 2008-01-14 2010-10-13 北京中星微电子有限公司 一种嵌入式平台命令解析系统及运行的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100485691C (zh) * 2007-02-14 2009-05-06 白杰 一种目标文件的确定方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1538322B (zh) * 2003-04-14 2010-04-21 中兴通讯股份有限公司 一种用于消除字符串模糊匹配冗余的过滤方法
CN101216768B (zh) * 2008-01-14 2010-10-13 北京中星微电子有限公司 一种嵌入式平台命令解析系统及运行的方法

Also Published As

Publication number Publication date
CN1204516C (zh) 2005-06-01

Similar Documents

Publication Publication Date Title
Baeza-Yates Introduction to Data Structures and Algorithms Related to Information Retrieval.
US5926811A (en) Statistical thesaurus, method of forming same, and use thereof in query expansion in automated text searching
KR100414236B1 (ko) 데이터의 검색을 위한 서치 시스템 및 방법
EP1234258B1 (en) System for managing rdbm fragmentations
EP0597630A1 (en) Method for resolution of natural-language queries against full-text databases
CN103365992B (zh) 一种基于一维线性空间实现Trie树的词典检索方法
US20090106286A1 (en) Method of Hybrid Searching for Extensible Markup Language (XML) Documents
WO2002039320A1 (en) Method for structuring and searching information
WO2003065248A2 (en) Retrieving matching documents by queries in any national language
EP2172853B1 (en) Database index and database for indexing text documents
CN109947770A (zh) 一种数据库查询方法、终端设备及存储介质
US6681217B1 (en) Boolean text search combined with extended regular expression search
CN108509505B (zh) 一种基于分区双数组Trie的字符串检索方法及装置
Hon et al. String retrieval for multi-pattern queries
CN104391908A (zh) 一种图上基于局部敏感哈希的多关键字索引方法
US20050114317A1 (en) Ordering of web search results
CN1601524A (zh) 模糊查询系统及方法
Giancarlo The suffix of a square matrix, with applications
CN1204516C (zh) 数据查寻方法
CN1144143C (zh) 使用快速查询索引结构的电子字典单词查询方法
CN110457531A (zh) 一种基于OpenMP的并行字符串查询方法
CN1115640C (zh) 双语电子辞典的数据处理方法
CN1598814A (zh) 同义词分类检索系统及方法
JP2675958B2 (ja) 情報検索用計算機システム及びその記憶装置の動作方法
Barashev et al. Indexing XML to Support Path Expressions.

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050601

Termination date: 20110209