CN102622359A - 搜索数据库中字符串的方法和装置 - Google Patents
搜索数据库中字符串的方法和装置 Download PDFInfo
- Publication number
- CN102622359A CN102622359A CN2011100303439A CN201110030343A CN102622359A CN 102622359 A CN102622359 A CN 102622359A CN 2011100303439 A CN2011100303439 A CN 2011100303439A CN 201110030343 A CN201110030343 A CN 201110030343A CN 102622359 A CN102622359 A CN 102622359A
- Authority
- CN
- China
- Prior art keywords
- binary number
- input method
- coding
- character string
- 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
本发明提供一种搜索数据库中字符串的方法和装置,涉及数据搜索领域,为解决现有技术中搜索字符串的速度比较慢的技术问题而发明。所述方法包括:步骤1,获取用户在预定输入法模式下输入的第一编码串;步骤2,将所述第一编码串转化成预定位数的第一二进制数;步骤3,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码串对应的二进制数;步骤4,查找搜索出的所述二进制数对应的字符串;步骤5,输出查找出的所述字符串。本发明能加快搜索速度。
Description
技术领域
本发明涉及数据搜索领域,特别是指一种搜索数据库中字符串的方法和装置。
背景技术
电话本搜索速度很大程度影响用户搜索时的体验,如果电话本搜索返回结果慢,用户会感觉手机难用,性能低下。
目前电话本搜索算法为遍历、二分查找等,大多数都是基于字符串进行比较,来判断输入字串是否命中联系人。
由于基于字符串进行比较,当要搜索的数据量较大,并且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个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
另一方面,提供一种搜索数据库中字符串的装置,其特征在于,包括:
第一获取单元,获取用户在预定输入法模式下输入的第一编码串;
第一转化单元,将所述第一编码串转化成预定位数的第一二进制数;
搜索单元,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码串对应的二进制数;
查找单元,查找搜索出的所述二进制数对应的字符串;
输出单元,输出查找出的所述字符串。
所述的搜索数据库中字符串的装置,还包括:
第二获取单元,按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预设顺序中的下一个编码;
生成单元,使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
第二转化单元,将所述第二编码串转化为所述预定位数的第二二进制数;
所述搜索单元具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的保存在数据库中的待搜索字串转化成的二进制数。
所述第一转化单元包括:
第一获取子单元,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
转化子单元,将每个所述自然数转化为第三二进制数;
第二获取子单元,根据每个编码在所述第一字符串中的位置,获取所述第三二进制数的左移位数;
左移处理子单元,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
运算子单元,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
当所述输入法为拼音输入法时;所述预定输入法中基本编码为26个拼音字母;所述第一获取子单元为:根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数;或者
当所述输入法为:笔画输入法时,所述预定输入法中基本编码为:横、竖、撇、点、折;所述第一获取子单元为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
本发明的实施例具有以下有益效果:
上述方案中,在进行检索时,将输入的输入法编码串转化为数字,将待选字符串也转化为数字,并通过数字大小比较来判断输入的编码串是否命中待选字符串,大幅加快判断是否命中的速度。
附图说明
图1为本发明所述的在搜索数据库中字符串的方法的一实施例的流程示意图;
图2为本发明所述的搜索数据库中字符串的方法的另一实施例的流程示意图;
图3为本发明所述的搜索数据库中字符串的装置的结构示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,为本发明所述的搜索数据库中字符串的方法,所述方法包括:
步骤11,获取用户在预定输入法模式下输入的第一编码串;第一编码串为根据输入法确定的,例如,用户希望搜索“李四”,输入法为拼音输入法,用户输入的编码串为“lisi”。,
步骤12,按照编码转换方法,将所述第一编码串转化成预定位数的第一二进制数;
步骤13,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含所述字符串的输入法编码串对应的二进制数;其中,所述字符串的输入法编码串对应的二进制数为按照同步骤12的方法(所述编码转换方法)将输入法编码串转化而生成的。
步骤14,查找搜索出的所述二进制数对应的字符串;
步骤15,输出查找出的所述字符串。
如图2所示,为本发明所述的搜索数据库中字符串的方法,所述方法包括:
步骤21,获取用户在预定输入法模式下输入的第一编码串;
步骤22,将所述第一编码串转化成预定位数的第一二进制数;
步骤23,按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预设顺序中的下一个编码;
步骤24,使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
步骤25,将所述第二编码串转化为所述预定位数的第二二进制数;
步骤26,在数据库中,搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。其中,所述数据库中包含字符串和所述字符串的输入法编码串对应的二进制数;
步骤27,查找搜索出的所述二进制数对应的字符串;
步骤28,输出查找出的所述字符串。
所述步骤22包括:
步骤221,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
步骤222,将每个所述自然数转化为第三二进制数;
步骤223,根据每个编码在所述第一字符串中的位置,获取所述第三二进制数的左移位数;
步骤224,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
步骤225,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
其中,步骤25与步骤22的方法类似,这里不再赘述。
所述步骤223为根据以下公式计算:
左移位数=第一二进制数的预定长度-I*N-J;
其中,I为所述编码在所述第一编码串从左到右的序号,I为大于0的整数;N根据所述预定输入法的基本编码的数量设定;J根据所述预定输入法的基本编码的数量、所述第一二进制数的预定长度以及所述第一二进制数是否是有符号数来确定。
所述输入法为:拼音输入法时,所述预定输入法中基本编码为26个拼音字母;所述步骤221为:根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
所述输入法为:笔画输入法时,所述预定输入法中基本编码为:横、竖、撇、点、折;所述步骤21为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
本发明中,数据库存储有字符串和字符串对应的二进制数。其中,数据库可以为电话本,字符串可以为联系人。以下以拼音输入法为例,描述电话本中搜索联系人的场景。
中文电话本中采用拼音搜索法时,将汉字字符串转化为其拼音或拼音首字母组成的编码串,用户通过输入拼音或拼音首字母组成的编码串,搜索到想找的联系人。拼音字母从A到Z一共26个,因此使用26个不同状态就可分别代表26个不同字母,5个bit能生成32种不同搭配,因此5bit就能代表任意一个拼音字母。目前一般嵌入式CPU的字长是32位或64位,其能支持对32位或64位长的无符号数字的比较。一个32位长的无符号数字可代表32/5=6个字母,一个64位长的数字可代表64/5=12个字母。为方便描述,以下以使用32位长无符号数字为例。
本实施例中,对于拼音编码串长度大于6个字符的,可仅采用其前6个字符,生成二进制数字。该方法同时限定了用户输入字符数不能超过6个。对于联系人的搜索来说,能够满足要求。如果需要对超过6个字符的编码串进行搜索,也可使用多个32位无符号数串起来的方法,即用多个32位无符号数模拟更长字长的数字。例如,如需处理25位长的编码串,需字长(5*25)=125,可采用4个32位无符号数模拟128位无符号数。使用类似的方式,可以实现对超长数字进行模拟。本发明中,可以预先设置用户可以输入的编码串的最大长度,以确定需使用数字的字长,如果字长大于CPU可处理的数据类型的字长,可考虑用多个数字串接。本发明中搜索字符串的长度是根据二进制数的预定长度确定。例如拼音输入法中,转换后的二进制数的预定长度为32位时,则最多将字符串的前6个字符转化为二进制数进行比较长度。其他情况类推。本发明的搜索方法为从字符串的字串头开始精确匹配,提高了搜索的准确性。例如,用户输入“李四”时,数据库中有“李四”、“李小四”“李四一”等待搜索数据,则搜索结果为“李四”、和“李四一”。本方法的典型应用是在电话本中搜索联系人。
在电话本中搜索联系人的应用场景中,本发明所述的搜索方法包括:
步骤31,获取电话本的各个联系人的输入法编码串;例如,联系人为“李四”对应的输入法编码串为“lisi”。
步骤32,按照编码串转化方法,将输入法编码串转化为二进制数,存储在存储器中,以便搜索时使用。该步骤与上述步骤22中的编码串转化方法类似。具体过程如下:
步骤321,分别获取所述编码串的每个编码);例如,“lisi”中第一个编码为“l”。
步骤322,根据预先设定的A至Z的26个字母和1至26的自然数之间预先建立的一一对应关系,获取每个字符对应的自然数。本实施例中,采用a->1(表示a与1对应),b->2,c->3...z->26的对应关系,例如,上述第一个字符“l”对应的自然数为12。本领域技术人员可以理解,可以采用字符与自然数的其他对应规则,例如,A至Z的26个字母也可以和2至27等其它自然数之间预先建立一一对应关系时,其他步骤进行相应的处理。
步骤323,将每个所述自然数转化为二进制数;例如,第一个编码“l”对应的数字12的二进制数为:01100。
步骤324,根据每个编码在所述编码串中的位置,获取所述二进制数的左移位数;所述步骤124为根据以下公式计算:左移位数=第一二进制数的预定长度-I*N-J;其中,I为所述编码在所述第一编码串从左到右的序号,I为大于0的整数;N根据所述预定输入法的基本编码的数量设定;本实施例中,N为5;J根据所述预定输入法的基本编码的数量、所述第一二进制数的预定长度以及所述第一二进制数是否是有符号数来确定。确定原则为:当第一编码串中的每个编码转化为二进数字后,使其根据在第一编码串中的位置移位后生成的第三二进制数不超过第一二进制数的预定长度。移位时还需考虑当前使用的二进制数是无符号数还是有符号数。例如:当第一二进制数的预定长度为32位,预定输入法为拼音输入法时,如第一二进制数为无符号数,J为0、1或者2;如第一二进制数为有符号数时,J为0或1。使用无符号数较佳,因为无符号数更简单,且能多一位有效位。
步骤325,根据所述左移位数,分别将所述二进制数进行左移位,并且在低位补0;
步骤326,将移位后的所述二进制数进行或运算或者相加运算,生成所述第一二进制数。例如,本应用场景中,以转化后的二进制数为无符号数为例,当为第i个字符时,左移的位数为:(32-(i-1)*5-5-j),其中j可为0,1,2。对于长度不够6位的,后面补0。
对于字符长度小于或等于6位的拼音编码串,使用该方法转化为数字。32为转化后的二进制数的字长,也可以为64等其他长度。以第一个字符“l”为例,I为1,假设j为2,可知左移位数为(32-(1-1)*5-5-2),为25位。移位后其二进制表示为:00011000000000000000000000000000。相应的,第二个字符“i”转化为01001,然后左移20位。其他字符”si”以相同的规则进行转化,并在末尾补零。然后将每个字符转化的二进制数字进行或运算或者相加运算,得到数字:00011000100110011010010000000000,其中最后面5个0是补零得到的。这个32位无符号数就代表“李四”,存放在存储器中,以便搜索时使用。按照上述方法,将电话本中的每个联系人与一个32位的数字对应。
以下描述检索的处理过程。
步骤33,获取用户根据预定输入法输入的第一编码串;例如,用户希望查询“李四”的电话号码,当前输入法为拼音输入法,输入编码串为“lis”。
步骤34,按照预定的编码串转化规则,将所述第一编码串转化成预定位数的第一二进制数;例如,按照上述方法,将“lis”转化为00011000100110011000000000000000,记为a。
步骤35,按照所述预定输入法中基本编码的预定顺序,获取所述第一字符串中的最后一个编码在所述预设顺序中的下一个字符;当输入法为拼音输入法时,基本编码的预定顺序可以为a至z的顺序,也可以为其他用户预定的顺序。例如,“lis”中的最后一个编码为s。当预定顺序为a至z时,s的下一个编码为t。
步骤36,使用所述下一个编码代替所述编码串中的最后一个编码,生成第二编码串;例如,使用t代替s,生成“lit”。
步骤37,按照所述编码串转化规则,将所述第二编码串转化成所述预定位数的第二二进制数;例如,按照上述方法,将“lit”转化为:00011000100110100000000000000000,记为b。
步骤38,在数据库中,搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。
步骤39,查找搜索出的所述二进制数对应的联系人。其中,所述数据库中包含联系人对应的所述联系人的输入法编码串按照所述编码转化规则转化的二进制数;则“大于或等于”“lis”并且小于“lit”的字符即满足要求。将每个联系人的二进制数(记为n)与a,b比较,符合以下条件:(n>=a)&&(n<b),就表示该联系人的拼音以lis开头,符合搜索条件。例如,搜索出“李四”(其对应的输入法编码为lisi)“和“李师”(其对应的输入法编码为lishi),,则输出搜索结果,供用户选择。
本领域技术人员可以理解,上述方法可以应用于输入法为:笔画输入法的场景。所述预定输入法中基本编码为:横、竖、撇、点、折;并且,横、竖、撇、点、折为1、2、3、4、5的预定顺序。本领域技术人员可以理解,横、竖、撇、点、折之间也可以为用户指定的其它顺序。移位公式中,N可以为3;横、竖、撇、点、折和1至5的自然数之间预先建立的对应关系。本领域技术人员可以理解,横、竖、撇、点、折的基本编码也可以和2至6等其他自然数之间预先建立对应关系。
如图3所示,为本发明所述的搜索数据库中字符串的装置,包括:
第一获取单元41,获取用户在预定输入法模式下输入的第一编码串;
第一转化单元42,将所述第一编码串转化成预定位数的第一二进制数;
搜索单元43,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码串对应的二进制数;
查找单元44,查找搜索出的所述二进制数对应的字符串;
输出单元45,输出查找出的所述字符串。
所述的搜索数据库中字符串的装置,还包括:
第二获取单元46,按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预设顺序中的下一个编码;
生成单元47,使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
第二转化单元48,将所述第二编码串转化成为所述预定位数的第二二进制数;其中所述第二转化单元48和第一转换单元42的处理过程类似。
所述搜索单元43具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。
所述第一转化单元42包括:
第一获取子单元,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
转化子单元,将每个所述自然数转化为第三二进制数;
第二获取子单元,根据每个编码在所述第一字符串中的位置,获取所述第三二进制数的左移位数;
左移处理子单元,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
运算子单元,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
当所述输入法为拼音输入法时;所述预定输入法中基本编码为26个拼音字母;所述第一获取子单元为:根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数;或者
当所述输入法为:笔画输入法时,所述预定输入法中基本编码为:横、竖、撇、点、折;所述第一获取子单元为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
上述应用场景中以转化后的二进制数使用32位无符号数为例进行描述,本发明还可以用于有符号数。
本发明不仅适用于电话本搜索,也可以应用于其他搜索的场景下。本发明把需要比较字符串的处理转化为比较数字,并通过数字大小比较来判断输入是否命中待选字符串,加快了判断是否命中的速度,在数据量大的情况下可明显改善搜索速度。另外,本发明可节省内存消耗。例如现有技术中,保存6个字符的字符串需要消耗7个字节(ASC码)或14个字节(UNICODE),本发明只需使用4个字节(32位无符号数)。
所述方法实施例是与所述装置实施例相对应的,在方法实施例中未详细描述的部分参照装置实施例中相关部分的描述即可,在装置实施例中未详细描述的部分参照方法实施例中相关部分的描述即可。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种搜索数据库中字符串的方法,其特征在于,所述方法包括:
步骤1,获取用户在预定输入法模式下输入的第一编码串;
步骤2,将所述第一编码串转化成预定位数的第一二进制数;
步骤3,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码对应的二进制数;
步骤4,查找搜索出的所述二进制数对应的字符串;
步骤5,输出查找出的所述字符串。
2.根据权利要求1所述的搜索数据库中字符串的方法,其特征在于,所述步骤3之前,所述方法还包括:
按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预设顺序中的下一个编码;
使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
将所述第二编码串转化成为所述预定位数的第二二进制数;
所述步骤3具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。
3.根据权利要求1所述的搜索数据库中字符串的方法,其特征在于,所述步骤2包括:
步骤21,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
步骤22,将每个所述自然数转化为第三二进制数;
步骤23,根据每个编码在所述第一字符串中的位置,获取所述第三二进制数的左移位数;
步骤24,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
步骤25,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
4.根据权利要求3所述的搜索数据库中字符串的方法,其特征在于,所述步骤23为根据以下公式计算:
左移位数=第一二进制数的预定长度-I*N-J;
其中,I为所述编码在所述第一编码串从左到右的序号,I为大于0的整数;N根据所述预定输入法的基本编码的数量设定;J根据所述预定输入法的基本编码的数量、所述第一二进制数的预定长度以及所述第一二进制数是否是有符号数来确定。
5.根据权利要求3或4所述的搜索数据库中字符串的方法,其特征在于,所述输入法为:拼音输入法;所述预定输入法中基本编码为26个拼音字母;所述步骤21为:
根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
6.根据权利要求3或4所述的搜索数据库中字符串的方法,其特征在于,所述输入法为:笔画输入法;所述预定输入法中基本编码为:横、竖、撇、点、折;所述步骤21为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
7.一种搜索数据库中字符串的装置,其特征在于,包括:
第一获取单元,获取用户在预定输入法模式下输入的第一编码串;
第一转化单元,将所述第一编码串转化成预定位数的第一二进制数;
搜索单元,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码串对应的二进制数;
查找单元,查找搜索出的所述二进制数对应的字符串;
输出单元,输出查找出的所述字符串。
8.根据权利要求7所述的搜索数据库中字符串的装置,其特征在于,还包括:
第二获取单元,按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预设顺序中的下一个编码;
生成单元,使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
第二转化单元,将所述第二编码串转化成为所述预定位数的第二二进制数;
所述搜索单元具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。
9.根据权利要求7所述的搜索数据库中字符串的装置,其特征在于,所述第一转化单元包括:
第一获取子单元,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
转化子单元,将每个所述自然数转化为第三二进制数;
第二获取子单元,根据每个编码在所述第一字符串中的位置,获取所述第三二进制数的左移位数;
左移处理子单元,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
运算子单元,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
10.根据权利要求8至9中任一项所述的搜索数据库中字符串的装置,其特征在于,当所述输入法为拼音输入法时;所述预定输入法中基本编码为26个拼音字母;所述第一获取子单元为:根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数;或
当所述输入法为:笔画输入法时,所述预定输入法中基本编码为:横、竖、撇、点、折;所述第一获取子单元为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110030343.9A CN102622359B (zh) | 2011-01-27 | 2011-01-27 | 搜索数据库中字符串的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110030343.9A CN102622359B (zh) | 2011-01-27 | 2011-01-27 | 搜索数据库中字符串的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102622359A true CN102622359A (zh) | 2012-08-01 |
CN102622359B CN102622359B (zh) | 2014-01-08 |
Family
ID=46562282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110030343.9A Expired - Fee Related CN102622359B (zh) | 2011-01-27 | 2011-01-27 | 搜索数据库中字符串的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102622359B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107767132A (zh) * | 2016-08-23 | 2018-03-06 | 百度在线网络技术(北京)有限公司 | 用于生成充值卡密码的方法和装置 |
US9930052B2 (en) | 2013-06-27 | 2018-03-27 | International Business Machines Corporation | Pre-processing before precise pattern matching |
CN110308937A (zh) * | 2019-04-28 | 2019-10-08 | 宁波三星医疗电气股份有限公司 | 一种基于u盘打开电力采集终端中超级终端串口的方法 |
CN110502611A (zh) * | 2019-08-01 | 2019-11-26 | 武汉虹信通信技术有限责任公司 | 字符串检索方法和装置 |
CN110598020A (zh) * | 2019-09-23 | 2019-12-20 | 北京永亚普信科技有限责任公司 | 二值图像检索方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5254990A (en) * | 1990-02-26 | 1993-10-19 | Fujitsu Limited | Method and apparatus for compression and decompression of data |
JPH08149016A (ja) * | 1994-11-17 | 1996-06-07 | N T T Ido Tsushinmo Kk | 文字列の符号化方法 |
CN101369215A (zh) * | 2008-09-28 | 2009-02-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种联系人定位方法、系统及移动终端 |
CN101459712A (zh) * | 2009-01-05 | 2009-06-17 | 深圳华为通信技术有限公司 | 一种电话本排序方法和手机设备 |
-
2011
- 2011-01-27 CN CN201110030343.9A patent/CN102622359B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5254990A (en) * | 1990-02-26 | 1993-10-19 | Fujitsu Limited | Method and apparatus for compression and decompression of data |
JPH08149016A (ja) * | 1994-11-17 | 1996-06-07 | N T T Ido Tsushinmo Kk | 文字列の符号化方法 |
CN101369215A (zh) * | 2008-09-28 | 2009-02-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种联系人定位方法、系统及移动终端 |
CN101459712A (zh) * | 2009-01-05 | 2009-06-17 | 深圳华为通信技术有限公司 | 一种电话本排序方法和手机设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9930052B2 (en) | 2013-06-27 | 2018-03-27 | International Business Machines Corporation | Pre-processing before precise pattern matching |
US10171482B2 (en) | 2013-06-27 | 2019-01-01 | International Business Machines Corporation | Pre-processing before precise pattern matching |
US10333947B2 (en) | 2013-06-27 | 2019-06-25 | International Business Machines Corporation | Pre-processing before precise pattern matching |
US10594704B2 (en) | 2013-06-27 | 2020-03-17 | International Business Machines Corporation | Pre-processing before precise pattern matching |
CN107767132A (zh) * | 2016-08-23 | 2018-03-06 | 百度在线网络技术(北京)有限公司 | 用于生成充值卡密码的方法和装置 |
CN107767132B (zh) * | 2016-08-23 | 2022-01-14 | 百度在线网络技术(北京)有限公司 | 用于生成充值卡密码的方法和装置 |
CN110308937A (zh) * | 2019-04-28 | 2019-10-08 | 宁波三星医疗电气股份有限公司 | 一种基于u盘打开电力采集终端中超级终端串口的方法 |
CN110308937B (zh) * | 2019-04-28 | 2022-06-03 | 宁波三星医疗电气股份有限公司 | 一种基于u盘打开电力采集终端中超级终端串口的方法 |
CN110502611A (zh) * | 2019-08-01 | 2019-11-26 | 武汉虹信通信技术有限责任公司 | 字符串检索方法和装置 |
CN110502611B (zh) * | 2019-08-01 | 2022-04-12 | 武汉虹信科技发展有限责任公司 | 字符串检索方法和装置 |
CN110598020A (zh) * | 2019-09-23 | 2019-12-20 | 北京永亚普信科技有限责任公司 | 二值图像检索方法 |
CN110598020B (zh) * | 2019-09-23 | 2022-05-03 | 北京永亚普信科技有限责任公司 | 二值图像检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102622359B (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871532B (zh) | 文本主题提取方法、装置及存储介质 | |
CN101388012B (zh) | 带有易混淆音识别的拼音检查系统和方法 | |
CN102622359B (zh) | 搜索数据库中字符串的方法和装置 | |
CN101099129A (zh) | 组织指向对象的指针 | |
CN101432686A (zh) | 单词表和其它文本的有效存储和检索 | |
CN104869397B (zh) | 一种基于slwe概率估计模型的自适应区间编码方法及解码方法 | |
CN113127672B (zh) | 量化图像检索模型的生成方法、检索方法、介质及终端 | |
CN110795409B (zh) | 一种常规发电机组参数导入psasp的实现方法 | |
CN109359308A (zh) | 机器翻译方法、装置及可读存储介质 | |
CN111159394A (zh) | 一种文本摘要生成方法和装置 | |
JP2013531286A (ja) | 漢字入力の方法、装置および関連する記憶媒体 | |
CN113987162A (zh) | 文本摘要的生成方法、装置及计算机设备 | |
CN104866091A (zh) | 一种用于在计算机设备中输出音效信息的方法和装置 | |
CN103136166B (zh) | 字体确定方法和设备 | |
CN101739142A (zh) | 五笔输入系统及方法 | |
Li et al. | A human-computer interactive dynamic description method for Jiaguwen Characters | |
CN104765861A (zh) | 一种字母索引查找应用程序的系统及其实现方法 | |
CN114880485A (zh) | 阅读理解答案生成的方法、装置、计算机设备和存储介质 | |
CN102339342B (zh) | 一种参数化器件单元的快速实体化方法 | |
CN115525728A (zh) | 汉字排序、汉字检索和汉字插入的方法和装置 | |
CN106293114B (zh) | 预测用户待输入词的方法及装置 | |
CN1510554B (zh) | 一种可嵌入应用的汉字输入法 | |
CN110941704A (zh) | 一种文本内容相似度分析的方法 | |
CN103984420A (zh) | 一种基于拼音的藏文智能输入法 | |
CN104793757B (zh) | 汉字输入方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140108 Termination date: 20190127 |