[发明专利]搜索数据库中字符串的方法和装置有效
申请号: | 201110030343.9 | 申请日: | 2011-01-27 |
公开(公告)号: | CN102622359A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 毛岱山;杨万丽 | 申请(专利权)人: | 联想移动通信科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静;安利霞 |
地址: | 361006 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 搜索 数据库 字符串 方法 装置 | ||
技术领域
本发明涉及数据搜索领域,特别是指一种搜索数据库中字符串的方法和装置。
背景技术
电话本搜索速度很大程度影响用户搜索时的体验,如果电话本搜索返回结果慢,用户会感觉手机难用,性能低下。
目前电话本搜索算法为遍历、二分查找等,大多数都是基于字符串进行比较,来判断输入字串是否命中联系人。
由于基于字符串进行比较,当要搜索的数据量较大,并且CPU速度较慢时,可能会耗时较久,影响用户体验。
发明内容
本发明要解决的技术问题是提供一种在搜索数据库中字符串的方法和装置,能够提高搜索速度。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种搜索数据库中字符串的方法,所述方法包括:
步骤1,获取用户在预定输入法模式下输入的第一编码串;
步骤2,按照编码转换方法,将所述第一编码串转化成预定位数的第一二进制数;
步骤3,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码串按照所述编码转换方法对应的二进制数;
步骤4,查找搜索出的所述二进制数对应的字符串;
步骤5,输出查找出的所述字符串。
所述步骤3之前,所述方法还包括:
按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预设顺序中的下一个编码;
使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
将所述第二编码串转化为所述预定位数的第二二进制数;
所述步骤3具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。
所述步骤2包括:
步骤21,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
步骤22,将每个所述自然数转化为第三二进制数;
步骤23,根据每个编码在所述第一字符串中的位置,获取所述第三二进制数的左移位数;
步骤24,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
步骤25,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
所述步骤23为根据以下公式计算:
左移位数=第一二进制数的预定长度-I*N-J;
其中,I为所述编码在所述第一编码串从左到右的序号,I为大于0的整数;N根据所述预定输入法的基本编码的数量设定;J根据所述预定输入法的基本编码的数量、所述第一二进制数的预定长度以及所述第一二进制数是否是有符号数来确定。
所述输入法为:拼音输入法;所述预定输入法中基本编码为26个拼音字母;所述步骤21为:
根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
所述输入法为:笔画输入法;所述预定输入法中基本编码为:横、竖、撇、点、折;所述步骤21为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
另一方面,提供一种搜索数据库中字符串的装置,其特征在于,包括:
第一获取单元,获取用户在预定输入法模式下输入的第一编码串;
第一转化单元,将所述第一编码串转化成预定位数的第一二进制数;
搜索单元,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码串对应的二进制数;
查找单元,查找搜索出的所述二进制数对应的字符串;
输出单元,输出查找出的所述字符串。
所述的搜索数据库中字符串的装置,还包括:
第二获取单元,按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预设顺序中的下一个编码;
生成单元,使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
第二转化单元,将所述第二编码串转化为所述预定位数的第二二进制数;
所述搜索单元具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的保存在数据库中的待搜索字串转化成的二进制数。
所述第一转化单元包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想移动通信科技有限公司,未经联想移动通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110030343.9/2.html,转载请声明来源钻瓜专利网。