CN1368697A - 数据查寻方法 - Google Patents
数据查寻方法 Download PDFInfo
- 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
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编号的两个字符是否相等。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100485691C (zh) * | 2007-02-14 | 2009-05-06 | 白杰 | 一种目标文件的确定方法和装置 |
-
2001
- 2001-02-09 CN CN 01103695 patent/CN1204516C/zh not_active Expired - Fee Related
Cited By (2)
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 |