一种数据库搜索方法、系统及移动通信终端的制作方法

文档序号:6460981阅读:122来源:国知局
专利名称:一种数据库搜索方法、系统及移动通信终端的制作方法
技术领域
本发明属于信息检索领域,尤其涉及一种数据库搜索方法、系统以及移动 通信终端。
背景技术
随着科技的发展,市场的需求,移动电话已不仅限于进行通话和收发短信, 集电脑、网络、多i某体、娱乐等功能于一身,正向着越来越多元化的方向发展, 成为现代生活必不可少的工具之一。移动电话作为一种电脑之外最重要的工作 工具,海量的存储尤为重要。移动电话存储数据的容量不断增长,可以存储大 量的电话本、短信、电子邮件等通信信息,满足了用户对各种通信资料的存储 需求。如何从庞大存储信息中检索出需要的数据,如何使检索的过程更有效率、 检索方式更适合用户的检索习惯、检索到的数据更方便用户使用,是移动通信 领域一个重要的研究方向。
最常见的检索为以联系人的姓名为关键词查询联系人的相关通信信息,当 需要查询某个联系人通信信息时,用户可以直接输入联系人的姓名进行精确检 索,也可以通过输入该联系人的姓氏进行精确查询,大多数情况是用户为了方 便或者未准确记忆联系人的姓名信息,可能输入联系人姓名中的部分关键字进 行查询。假设用户想查找姓名为"蔡胜"的联系人,用户的查询联系人姓名的
方式有
(1) 直接输入联系人的姓名,例如"蔡胜,,;
(2) 输入联系人的姓氏,例如"蔡,,;
(3) 输入联系人名字中的某个字,如"蔡"或者"胜";
(4) 输入联系人姓名中的某几个字,但这些关键字杂乱排列,如"胜蔡",这种方式最符合用户的查询习惯,因为通常用户不能准确记忆某联 系人信息,但又需要查询功能帮助其查找。 现有技术提供的移动通信终端中的查询方法为动态的正向的顺序4企索,即 在用户输入关键字后,按照输入顺序对关键字逐个进行检索并动态显示查询结 果,如输入"蔡",实时查询到包含"蔡"的所有记录,再输入"胜",最终
查询到"蔡胜"、"蔡胜文"等联系人信息。但对于(4)的输入方式,用户 仅记得联系人的姓名大致的关键字,使用现有技术提供的查询方法效果不理想, 输入"蔡胜"不能查询到"胜蔡"、"胜文蔡"这样反向顺序的信息,输入"胜 蔡"则只能进行顺序检索,无法查询到"蔡胜"、"蔡文胜"这样顺序的信息。

发明内容
本发明实施例的目的在于提供一种数据库搜索方法,旨在解决现有技术在 数据库搜索时,由于只进行正向搜索,从而难以搜索到用户需要的所有记录的问题。
本发明实施例是这样实现的, 一种数据库搜索方法,包括步骤 接收用户输入的关键字,所述关键字由至少一个字符组成; 将用户输入的关4建字与所述总数据库进行匹配,并将与所述关^t字匹配的
记录保存为与所述关键字对应的中间数据库;
将用户输入的下一关键字分别与所述总数据库以及保存的与上一关键字对
应的所述中间数据库进4亍正向和/或反向匹配,并将与所述关键字匹配的记录保
存为与所述下一关键字对应的中间数据库,循环执^f亍,直至所有关^t字匹配完毕。
本发明实施例的另一目的在于提供一种数据库搜索系统,包括 输入模块,用于接收用户输入的关键字,所述关键字由至少一个字符组成; 检索模块,用于将关键字与总数据库或/和中间数据库进行正向和/或反向 匹配,得到与关键字匹配的记录;存储模块,用于存储总数据库或/和中间数据库,其中中间数据库保存的数
据为将用户输入的关键字与所述总数据库进行匹配的数据记录,或将用户输入
的下一关键字分别与所述总数据库以及保存的与上一关键字对应的所述中间数
据库进行正向和/或反向匹配的数据记录。
本发明实施例的另一目的在于提供移动通信终端,该移动通信终端包括上 述数据库搜索系统。
本发明实施例提供了一种多级、动态、模糊查询方法和系统,对用户输入 的数据进行正向、反向的才莫糊查询,并在查询过程中采用查询多级数据库的方 法,并动态实时显示查询结果,增加了查询级数,减少了漏查几率,提高查询 效率。


图1是本发明实施例提供的一种动态查询方法的实现流程图2是本发明实施例提供的一种动态查询系统的结构图3是本发明实施例提供的动态查询联系人姓名的实现流程图。
具体实施例方式
为了使本发明的目的、^L术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
本发明实施例对用户输入的数据进行正向、反向的才莫糊查询,并在查询过 程中采用查询多级数据库的方法,将查询结果按照优先级排列并动态实时显示, 实现了多级、模糊动态查询。
图1示出了本发明实施例提供的一种动态查询方法的实现流程,详述如下
在步骤S101中,接收用户输入的关键字,所述关键字由至少一个字符组
成;在步骤S102中,将用户输入的关键字与所述总数据库进行匹配,并将与 所述关键字匹配的记录保存为与所述关键字对应的中间数据库;
在步骤S103中,将用户输入的下一关键字分别与所述总数据库以及保存 的与上一关^:字对应的所述中间数据库进行正向和/或反向匹配,并将与所述关 键字匹配的记录保存为与所述下一关键字对应的中间数据库,循环执行,直至 所有关键字匹配完毕。
在本发明实施例中,与所述下一关键字对应的中间数据库中包括与总数据 库进行匹配得到的数据和与保存的与上一关键字对应的所述中间数据库进行正 向和/或反向匹配得到的数据总和。
将用户输入的下一关键字分别与所述总数据库以及保存的与上一关键字对 应的所述中间数据库进行正向和/或反向匹配的步骤中,匹配的具体方式有
对所述总数据库和/或中间数据库的每个数据记录逐条查找与所述关键字 匹配的记录,然后将符合匹配条件的记录存储为所述下一关键字对应的中间数 据库;或
对所述总数据库和/或中间数据库中所有数据记录的第 一位置逐一与所述 关键字匹配,然后再对数据库中所有数据记录的第二位置逐一与所述关键字匹 配,将符合匹配条件的记录存储为所述下一关键字对应的中间数据库,直到数 据记录的每个位置均匹配完毕。
将用户输入的下 一 关4建字与保存的与上一 关4建字对应的所述中间数据库进 行正向和/或反向匹配的步骤具体为
如果进行正向匹配,对所述下一关键字进行匹配时,若所述总数据库和/ 或中间数据库中的数据记录包含所述上一关键字,则从所述总数据库和/或中间 数据库中每个数据记录中所述上 一 关键字所在位置之后开始匹配;
如果进行反向匹配,对所述下一关键字进行匹配时,若所述总数据库和/ 或中间数据库中的数据记录包备所述上一关键字,则从所述总数据库和/或中间 数据库中每个数据记录中所述上一关键字所在位置之前开始匹配。在本发明实施例中,总数据库可以为杂乱无章的数据,不进行排序,也可 以是按照字母顺序、笔画顺序、输入的先后顺序、使用频率的高低顺序、优先 级高低顺序等规律排序。 "
在本发明实施例中,关键字可以为一个词组,例如欧阳、西门、令狐等。 在本发明实施例中,与总数据库进行匹配,可以是正向或/和反向匹配。例
如关键字为"欧阳",在总数据库中可以搜索到正向"欧阳"或/和反向"阳欧"。 作为本发明的 一个实施例,与上一关键字对应的所述中间数据库中的数据
可以不进行排序,也可以按照总数据库匹配后得到的固有顺序排序,也可以按
照某种规定的顺序进行排序,例如按照字母顺序、笔画顺序、输入的先后顺序、
使用频率的高低顺序、优先级高低顺序等规律排序。
在本发明实施例中,在将用户输入的下一关^:字分别与总数据库以及保存 的与上一关44字对应的中间凝:据库进行正向和/或反向匹配,并将匹配结果保存 为与下一关键字对应的中间数据库的步骤之前和/或之后,方法还包括下述步 骤
显示与关键字匹配的记录。
在本发明实施例中,在显示与关键字匹配的记录的步骤中,显示数据的排 列顺序为
优先排列在中间数据库中搜索的结果,其后排列在总数据库中搜索的结果。
在本发明实施例中,在显示与关键字匹配的记录的步骤中,按照以下至少 一种排序方法进行显示
排序方法一,按照输入关键字的先后排序,前面的关键字位于其后的关键 字之前,优先排列;
排序方法二,按照关键字的所在位置排序,关键字的所在位置靠前的位于 所在位置靠后的之前,优先排列;
排序方法三,按照各关键字的相对位置排序,关键字的相对位置近的位于 相对位置远的之前,优先排列,其中靠前的关键字之间相对位置近的优先排列;以及
排序方法四,按照关键字的先后顺序排序,关键字正向的位于反向的之前, 优先排列。
以上排序方法可根据用户的需要安排先后顺序。例如先按照关键字或词的 相对位置排序,然后再按照关键字或词的所在位置排序,这样的排序方法的优 点是优先显示几个关键字相对位置排列紧凑的数据。再例如先按照关键字或词 的先后顺序排序,再按照其他的排序方法排列,这样的排序方法适用于用户记 忆所有关键字但不明确关键字的先后顺序的查询请求。
图2示出了本发明实施例提供的一种数据库搜索系统的结构,为了方便说 明,仅示出了与本发明实施例相关的部分。
输入模块201接收用户输入的关键字,关键字由一个或一个以上字符组成, 然后检索模块202将关键字与总数据库或/和中间数据库进行正向和/或反向匹 配,得到与关键字匹配的记录,最后显示模块203显示与关键字匹配的记录, 存储模块存储总数据库或/和中间数据库,其中中间数据库保存的数据为将用户 输入的关键字与总数据库进行匹配的数据记录,或将用户输入的下一关键字分 别与总数据库以及保存的与上,一关键字对应的中间数据库进行正向和/或反向 匹配的数据记录。
其中,检索模块202进一步包括
总数据库检索模块2021将用户输入的关键字与所述总数据库进行匹目己,并 将与所述关键字匹配的记录保存为与所述关键字对应的中间数据库;以及
总数据库和中间数据库检索模块2022,将用户输入的下一关键字分别与所 述总数据库以及保存的与上一关键字对应的所述中间数据库进行正向和/或反 向匹配,并将与所述关键字匹配的记录保存为与所述下一关键字对应的中间数 据库,循环执行,直至组成关键字的所有关键字匹配完毕。
在本发明实施例中,该数据库搜索系统还包括存储中间数据库数据、总数 据库数据、各关键字数据、以及查询语句的存储器204,该存储器204与输入模块201、总数据库检索模块2021、总数据库和中间数据库检索模块2022、显 示模块203分别连接。
以查找某个联系人姓名为例,假如用户只记得联系人的姓名中包含"蔡,,、
"胜"两个字,而不能确定是"蔡胜"、"胜蔡,,或者其他包含其中任意一个 字的姓名,本发明实施例可以查询到包含"蔡"、"胜"两个字的所有记录, 不仅包括正向的"蔡胜,,、"蔡胜文,,、"文蔡胜"等,还包括反向的"胜蔡"、
"胜文蔡"、"文胜蔡,,、"胜蔡文"这样的数据记录,并将这些记录按照优 先顺序排列后显示查询结果列表,用户从查询结果列表中可以很轻松的找到联 系人的相关信息。
在本发明实施例中,上述数据库搜索系统可应用于移动通信终端。作为本 发明的一个实施例,上述数据库搜索系统应用于移动通信终端中对联系人进行 搜索,使用户在仅知道很少联系人名字信息时,查找更方便。
图3示出了本发明实施例提供的搜索联系人姓名的实现流程,详述如下 在步骤S301中,实时监听用户的输入,接收到用户输入的第一个关^T建字后 存储到存储器204中,例如输入"蔡";
在步骤S302中,得到查询关键字"蔡"后,生成查询语句; 在步骤S303中,对总数据库进行模糊查询,将数据库中的数据与"蔡"进 行匹配,优先显示第一个位置为"蔡"的数据,之后显示第二个位置为"蔡" 的数据,依次类推,最终在总数据库中查询到所有包含"蔡"字的数据,并按 优先顺序排列;
在本发明实施例中,由于之前没有输入关键字,本步骤仅就总数据库检索, 检索的目的为滤除掉总数据库中不包含"蔡"字的数据。
在步骤S304中,显示查询结果,并将结果保存为第一中间凝:据库;
在步骤S305中,监听用户的输入,接收到用户输入的第二个关键字"胜" 后存储到存储器204中;
在步骤S306中,将当前关键字"胜"以及之前接收到的关键字"蔡"按照检索要求组合成关键词后,生成查询语句;
在步骤S307中,对第一中间数据库进行模糊查询,将第一中间数据库中的 数据与"胜,,进行匹配,优先显示"蔡""胜"两个数据正向顺序相连的数据, 之后显示"蔡"和"胜"正向顺序但不相连的数据,之后显示"蔡,,和"胜"反 向排列的数据,优先显示第一位置为"蔡"第二个位置为"胜,,的数据,之后 显示"蔡"和"胜"正向顺序且距离最近的数据,依次类推,最终在第一中间数 据库中查询到所有包含"蔡""胜"字的数据,并按优先顺序排列;
在本发明实施例中,本次查询滤除了第一中间数据库中不包含"胜"字的 数据。
在步骤S308中,对总数据库进行模糊查询,将总数据库中的数据与"胜" 进行匹配,优先显示第一个位置为"胜"的数据,之后显示第二个位置为"胜" 的数据,依次类推,最终在总数据库中查询到所有包含"胜"字的数据,并按 优先顺序排列;
在本发明实施例中,本次查询找到总数据库中包含"蔡"和"胜"两个数 据的数据时,由于与中间数据库中查询到的重复,因此不再重复显示,滤掉即 可。于是,最终从总数据库中找到了包含"胜"字,但不包含"蔡,,的数据。
在步骤S309中,将查询结果顺序排列并显示,将结果保存为第二中间数据 库,此时用户输入完毕,则第二中间数据库的数据列表即为最终查询结果。
另外,若用户在输入两个关键字"蔡"和"胜"后,继续输入三个关键字, 例如"宇"。那么对第二中间数据库进行模糊查询,将第二中间数据库中的数 据与"蔡"、"胜,,、"宇"进行匹配,优先显示"蔡,,、"胜"、"宇"三 个关键字正向顺序相连的数据,之后显示"蔡"、"胜"和"宇"正向顺序但不 相连的数据,之后显示"蔡,,、"胜"和"宇"反向排列的数据,优先显示"蔡 胜宇"的数据,之后显示"蔡"、"胜,,和"宇"正向顺序且距离最近的数据, 之后显示"蔡"、"胜"和"宇"反向排列且距离最近的数据,依次类推,最 终在第二中间数据库中查询到所有包含"蔡""胜"和"宇"字的数据,并按优先顺序排列,滤除第二中间数据库中不包含"宇"字的数据;之后对总数据 库分别进行模糊查询,将数据库中的数据与"宇,,进行匹配,优先显示第一个 位置为"宇"的数据,之后显示第二个位置为"宇"的数据,依次类推,最终 在总数据库中查询到所有包含"宇"字的数据,并按优先顺序排列,找到总数 据库中不包含"蔡"、"胜"但包含"宇"字的数据,将检索到的同时包含"蔡"、 "胜"和"宇"三个关键字的数据滤掉,防止重复。最后将查询结果顺序排列 并显示,将结果保存为第三数据库,此时若用户输入完毕,则第三数据库的数 据列表即为最终查询结果,反向的"胜蔡"、"胜文蔡"、"文胜蔡"、"胜 蔡文"均被查询出来。 —
在本发明实施例中,由于第二中间数据库已为按一定顺序排列的数据库, 且数据库较总数据库和第一中间数据库的数据量小,查询工作效率不会因为查
询语句的增加而减j氐。
同理输入第四个、第五个关键字的查询与上述步骤相同。 本发明实施例接收用户输入的关键字,采用查询多级数据库的方法,实时 在中间数据库和总数据库中对用户输入的数据进行正向、反向的模糊查询,并 动态实时显示查询结果,检索到的数据记录顺序按优先级别显示。本发明实施 例的查询功能强大,减少了漏查几率,提高查询效率,用户从查询结果列表中 可以轻松的找到联系人的相关信息,虽然增加了查询级数,但中间数据库已按 一定顺序排列,且中间数据库较前一中间数据库的数据量小,查询工作效率不 会因为查询语句的增加而减低。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
1权利要求
1、一种数据库搜索方法,其特征在于,所述方法包括下述步骤接收用户输入的关键字,所述关键字由至少一个字符组成;将用户输入的关键字与所述总数据库进行匹配,并将与所述关键字匹配的记录保存为与所述关键字对应的中间数据库;将用户输入的下一关键字分别与所述总数据库以及保存的与上一关键字对应的所述中间数据库进行正向和/或反向匹配,并将与所述关键字匹配的记录保存为与所述下一关键字对应的中间数据库,循环执行,直至所有关键字匹配完毕。
2、 如权利要求l所述的方法,其特征在于,所述将用户输入的下一关键字 分别与所述总数据库以及保存的与上一关键字对应的所述中间数据库进行正向 和/或反向匹配的步骤中,匹配的具体方式有对所述总数据库和/或中间数据库的每个数据记录逐条查找与所述关键字 匹配的记录,然后将符合匹配条件的记录存储为所述下一关键字对应的中间数 据库;或对所述总数据库和/或中间数据库中所有数据记录的第一位置逐一与所述 关键字匹配,然后再对数据库中所有数据记录的第二位置逐一与所述关键字匹 配,将符合匹配条件的记录存储为所述下一关键字对应的中间数据库,直到数 据记录的每个位置均匹配完毕。
3、 如权利要求l所述的方法,其特征在于,所述将用户输入的下一关键字 与保存的与上一关键字对应的所述中间数据库进行正向和/或反向匹配的步骤 具体为如果进行正向匹配,对所述下一关键字进行匹配时,若所述总数据库和/ 或中间数据库中的数据记录包含所述上一关键字,则从所述总数据库和/或中间 数据库中每个数据记录中所述上一关键字所在位置之后开始匹配;如果进行反向匹配,对所述下一关键字进行匹配时,若所述总数据库和/或中间数据库中的数据记录包含所述上一关键字,则从所述总数据库和/或中间 数据库中每个数据记录中所述上一关键字所在位置之前开始匹配。
4、 如权利要求l所述的方法,其特征在于,在所述将用户输入的下一关键 字分别与所述总数据库以及保存的与上一关键字对应的所述中间数据库进行正 向和/或反向匹配,并将匹配结果保存为与所述下一关键字对应的中间数据库的 步骤之前和/或之后,所述方法还包括下述步骤显示与所述关键字匹配的记录。
5、 如权利要求4所述的方法,其特征在于,在显示所述与所述关键字匹配 的记录的步骤中,显示凄t据的排列顺序为优先排列在所述中间数据库中搜索的结果,其后排列在所述总数据库中搜 索的结果。 '
6、 如权利要求4所述的方法,其特征在于,在所述显示所述与所述关键字 匹配的记录的步骤中,按照以下至少一种排序方法进行显示按照输入关键字的先后排序,前面的关键字位于其后的关键字之前,优先 排列;按照关键字的所在位置排序,关键字的所在位置靠前的位于所在位置靠后 的之前,优先排列;按照各关键字的相对位置排序,关键字的相对位置近的位于相对位置远的 之前,优先排列,其中靠前的关键字之间相对位置近的优先排列;以及按照关键字的先后顺序排序,关键字正向的位于反向的之前,优先排列。
7、 一种数据库搜索系统,其特征在于,包括输入模块,用于接收用户输入的关键字,所述关4建字由至少一个字符组成; 检索模块,用于将关键字与总数据库或/和中间数据库进行正向和/或反向匹配,得到与关键字匹配的记录;存储模块,用于存储总数据库或/和中间数据库,其中中间数据库保存的数据为将用户输入的关键字与所述总数据库进行匹配的数据记录,或将用户输入的下一关键字分别与所述总数据库以及保存的与上一关键字对应的所述中间数 据库进行正向和/或反向匹配的数据记录。
8、 如权利要求7所述的系统,其特征在于,所述检索模块进一步包括 总数据库检索模块,用于将用户输入的关键字与所述总数据库进行匹配,并将与所述关键字匹配的记录保存为与所述关键字对应的中间数据库存储于存储模块中;总数据库和中间数据库检余模块,用于将用户输入的下一关键字分别与所 述总数据库以及保存的与上一关键字对应的所述中间数据库进行正向和/或反 向匹配,并将与所述关键字匹配的记录保存为与所述下一关键字对应的中间数 据库存储于存储模块中,循环执行,直至组成关键字的所有关键字匹配完毕。
9、 如权利要求7所述的系统,其特征在于,所述检索模块之后,进一步包括显示模块,用于显示与所述关键字匹配的记录,其中优先显示在所述中间 数据库中搜索的结果,其后显示在所述总数据库中搜索的结果。
10、 一种包括如权利要求7至9任一所述的数据库搜索系统的移动通信终端。
全文摘要
本发明适用于信息检索领域,提供了一种数据库搜索方法、系统以及移动通信终端,所述方法包括步骤接收用户输入的关键字,所述关键字由至少一个字符组成;将用户输入的关键字与所述总数据库进行匹配,并将与所述关键字匹配的记录保存为与所述关键字对应的中间数据库;将用户输入的下一关键字分别与所述总数据库以及保存的与上一关键字对应的所述中间数据库进行正向和/或反向匹配,并将与所述关键字匹配的记录保存为与所述下一关键字对应的中间数据库,循环执行,直至组成关键字的所有关键字匹配完毕。本发明对数据进行正向、反向的模糊查询,采用查询多级数据库,增加了查询级数,减少了漏查几率,提高查询效率。
文档编号G06F17/30GK101320376SQ200810068418
公开日2008年12月10日 申请日期2008年7月3日 优先权日2008年7月3日
发明者张富斌, 胜 蔡, 魏任彬 申请人:宇龙计算机通信科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1