CN1204516C - 数据查寻方法 - Google Patents

数据查寻方法 Download PDF

Info

Publication number
CN1204516C
CN1204516C CN 01103695 CN01103695A CN1204516C CN 1204516 C CN1204516 C CN 1204516C CN 01103695 CN01103695 CN 01103695 CN 01103695 A CN01103695 A CN 01103695A CN 1204516 C CN1204516 C CN 1204516C
Authority
CN
China
Prior art keywords
character
character string
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.)
Expired - Fee Related
Application number
CN 01103695
Other languages
English (en)
Other versions
CN1368697A (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):
    10000     0.8527     0.8753     1.2289
    20000     0.8746     0.9384     1.3288
    50000     0.9023     1.0217     1.4610
    100000     0.9386     1.0849     1.5610
    200000     0.9671     1.2314     1.6610
单位:秒
本发明虽然以优选实施例披露如上,然并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可作更动与润饰,因此本发明的保护范围应视所附的权利要求限定范围为准。

Claims (3)

1.一种数据查寻方法,适用于一数据库,包括下列步骤:
输入一数据;
进入该数据库的根节点;
调用一字符串匹配模块,判断当前节点中是否有与所要查寻的关键字相匹配的信息;以及
判断字符串匹配操作是否成功;
其中,所述字符串匹配模块的执行步骤进一步包括以下步骤:
对数据库的原始字符串进行分段;
对原始字符串的每一段内容分配一独立线程;
对各线程进行比较;
当有线程返回字符不匹配信息,则表示所要查寻的字符串与数据库中的原始字符串不匹配,查寻失败;
当无线程返回字符不匹配信息,且所有线程的比较操作已完毕,则表示所要查寻的字符串与数据库中的原始字符串匹配,查寻成功;以及
当无线程返回字符不匹配信息,且所有线程的比较操作尚未完毕,则继续进行各线程的比较。
2.如权利要求1所述的方法,其中,在该判断字符串匹配操作是否成功步骤之后,还包括下列步骤:
当字符串匹配操作成功,则表示当前数据查寻成功,程序结束;
当字符串匹配操作不成功,且已到达叶节点,则表示所要查寻的数据不在该数据库中,查寻失败,程序结束;以及
当字符串匹配操作不成功,且未到达叶节点,则进入该数据库的下一个节点。
3.如权利要求1所述的方法,其中,对各线程进行比较的执行步骤包括:
取得待比较的节点字符串的长度;
比较一第一字符串及一第二字符串的长度是否相等;
当该两个字符串长度不相等,则表示该两个字符串不匹配,程序结束;
当该两字符串的长度相等,则将该字符串的长度给一变量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 CN1368697A (zh) 2002-09-11
CN1204516C true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008098495A1 (fr) * 2007-02-14 2008-08-21 Jie Bai Procédé et dispositif de détermination d'un fichier objet

Families Citing this family (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 北京中星微电子有限公司 一种嵌入式平台命令解析系统及运行的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008098495A1 (fr) * 2007-02-14 2008-08-21 Jie Bai Procédé et dispositif de détermination d'un fichier objet

Also Published As

Publication number Publication date
CN1368697A (zh) 2002-09-11

Similar Documents

Publication Publication Date Title
Baeza-Yates Introduction to Data Structures and Algorithms Related to Information Retrieval.
AU772525B2 (en) A search system and method for retrieval of data, and the use thereof in a search engine
EP0597630A1 (en) Method for resolution of natural-language queries against full-text databases
US20090106286A1 (en) Method of Hybrid Searching for Extensible Markup Language (XML) Documents
CN1620661A (zh) 通过任意国家语言的查询来检索匹配的文档
KR20060048779A (ko) 정보 검색 시스템에서의 문구 식별
EP1342177A1 (en) Method for structuring and searching information
KR20060048780A (ko) 정보 검색 시스템에서의 문구 기반 인덱싱
KR20060048777A (ko) 문서 설명의 문구 기반 생성
CN1894685A (zh) 翻译工具
US6681217B1 (en) Boolean text search combined with extended regular expression search
Hon et al. String retrieval for multi-pattern queries
CN109947770A (zh) 一种数据库查询方法、终端设备及存储介质
US20050114317A1 (en) Ordering of web search results
CN1601524A (zh) 模糊查询系统及方法
Giancarlo The suffix of a square matrix, with applications
CN1204516C (zh) 数据查寻方法
CN1144143C (zh) 使用快速查询索引结构的电子字典单词查询方法
CN1115640C (zh) 双语电子辞典的数据处理方法
JP2500680B2 (ja) デ−タ名付与登録装置
Kanlayanawat et al. Automatic indexing for Thai text with unknown words using trie structure
CN1648829A (zh) 用于输入汉字的方法和系统
Park et al. A multi-dimensional indexing approach for timestamped event sequence matching
CN1144144C (zh) 快速文字查找方法
Baberwal et al. Speeding up keyword search for search engines.

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