CN102622359B - 搜索数据库中字符串的方法和装置 - Google Patents

搜索数据库中字符串的方法和装置 Download PDF

Info

Publication number
CN102622359B
CN102622359B CN201110030343.9A CN201110030343A CN102622359B CN 102622359 B CN102622359 B CN 102622359B CN 201110030343 A CN201110030343 A CN 201110030343A CN 102622359 B CN102622359 B CN 102622359B
Authority
CN
China
Prior art keywords
binary number
input method
character string
coding
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
CN201110030343.9A
Other languages
English (en)
Other versions
CN102622359A (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.)
Motorola Mobile Communication Technology Ltd
Original Assignee
Lenovo Mobile Communication Technology Ltd
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 Lenovo Mobile Communication Technology Ltd filed Critical Lenovo Mobile Communication Technology Ltd
Priority to CN201110030343.9A priority Critical patent/CN102622359B/zh
Publication of CN102622359A publication Critical patent/CN102622359A/zh
Application granted granted Critical
Publication of CN102622359B publication Critical patent/CN102622359B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 (8)

1.一种搜索数据库中字符串的方法,其特征在于,所述方法包括:
步骤1,获取用户在预定输入法模式下输入的第一编码串;
步骤2,将所述第一编码串转化成预定位数的第一二进制数;
步骤3,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码对应的二进制数;
步骤4,查找搜索出的所述二进制数对应的字符串;
步骤5,输出查找出的所述字符串;
所述步骤2包括:
步骤21,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
步骤22,将每个所述自然数转化为第三二进制数;
步骤23,根据每个编码在所述第一编码串中的位置,获取所述第三二进制数的左移位数;
步骤24,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
步骤25,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
2.根据权利要求1所述的搜索数据库中字符串的方法,其特征在于,所述步骤3之前,所述方法还包括:
按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预定顺序中的下一个编码;
使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
将所述第二编码串转化成为所述预定位数的第二二进制数;
所述步骤3具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。
3.根据权利要求1所述的搜索数据库中字符串的方法,其特征在于,所述步骤23为根据以下公式计算:
左移位数=第一二进制数的预定长度-I*N-J;
其中,I为所述编码在所述第一编码串从左到右的序号,I为大于0的整数;N根据所述预定输入法的基本编码的数量设定;J根据所述预定输入法的基本编码的数量、所述第一二进制数的预定长度以及所述第一二进制数是否是有符号数来确定。
4.根据权利要求1或3所述的搜索数据库中字符串的方法,其特征在于,所述输入法为:拼音输入法;所述预定输入法中基本编码为26个拼音字母;所述步骤21为:
根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
5.根据权利要求1或3所述的搜索数据库中字符串的方法,其特征在于,所述输入法为:笔画输入法;所述预定输入法中基本编码为:横、竖、撇、点、折;所述步骤21为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
6.一种搜索数据库中字符串的装置,其特征在于,包括:
第一获取单元,获取用户在预定输入法模式下输入的第一编码串;
第一转化单元,将所述第一编码串转化成预定位数的第一二进制数;
搜索单元,在数据库中,搜索大于或等于所述第一二进制数的二进制数,其中,所述数据库中包含字符串和所述字符串的输入法编码串对应的二进制数;
查找单元,查找搜索出的所述二进制数对应的字符串;
输出单元,输出查找出的所述字符串;
所述第一转化单元包括:
第一获取子单元,根据所述预定输入法的基本编码和自然数之间的预定对应关系,分别获取所述第一编码串的每个编码对应的自然数;
转化子单元,将每个所述自然数转化为第三二进制数;
第二获取子单元,根据每个编码在所述第一编码串中的位置,获取所述第三二进制数的左移位数;
左移处理子单元,根据所述左移位数,分别将所述第三二进制数进行左移位,并且在低位补0;
运算子单元,将移位后的所述第三二进制数进行或运算或者相加运算,生成所述第一二进制数。
7.根据权利要求6所述的搜索数据库中字符串的装置,其特征在于,还包括:
第二获取单元,按照所述预定输入法中基本编码的预定顺序,获取所述第一编码串中的最后一个编码在所述预定顺序中的下一个编码;
生成单元,使用所述下一个编码代替所述第一编码串中的最后一个编码,生成第二编码串;
第二转化单元,将所述第二编码串转化成为所述预定位数的第二二进制数;
所述搜索单元具体为:搜索大于或等于所述第一二进制数并且小于所述第二二进制数的二进制数。
8.根据权利要求6或7所述的搜索数据库中字符串的装置,其特征在于,
当所述输入法为拼音输入法时;所述预定输入法中基本编码为26个拼音字母;所述第一获取子单元为:根据预先设定的A至Z的26个字母和26个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数;或者
当所述输入法为:笔画输入法时,所述预定输入法中基本编码为:横、竖、撇、点、折;所述第一获取子单元为:根据预先设定的横、竖、撇、点、折和5个自然数之间预先建立的一对一的关系,获取每个字符对应的自然数。
CN201110030343.9A 2011-01-27 2011-01-27 搜索数据库中字符串的方法和装置 Expired - Fee Related CN102622359B (zh)

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 CN102622359A (zh) 2012-08-01
CN102622359B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252469B (zh) 2013-06-27 2017-10-20 国际商业机器公司 用于模式匹配的方法、设备和电路
CN107767132B (zh) * 2016-08-23 2022-01-14 百度在线网络技术(北京)有限公司 用于生成充值卡密码的方法和装置
CN110308937B (zh) * 2019-04-28 2022-06-03 宁波三星医疗电气股份有限公司 一种基于u盘打开电力采集终端中超级终端串口的方法
CN110502611B (zh) * 2019-08-01 2022-04-12 武汉虹信科技发展有限责任公司 字符串检索方法和装置
CN110598020B (zh) * 2019-09-23 2022-05-03 北京永亚普信科技有限责任公司 二值图像检索方法

Citations (3)

* Cited by examiner, † Cited by third party
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
CN101369215A (zh) * 2008-09-28 2009-02-18 宇龙计算机通信科技(深圳)有限公司 一种联系人定位方法、系统及移动终端
CN101459712A (zh) * 2009-01-05 2009-06-17 深圳华为通信技术有限公司 一种电话本排序方法和手机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149016A (ja) * 1994-11-17 1996-06-07 N T T Ido Tsushinmo Kk 文字列の符号化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
CN101369215A (zh) * 2008-09-28 2009-02-18 宇龙计算机通信科技(深圳)有限公司 一种联系人定位方法、系统及移动终端
CN101459712A (zh) * 2009-01-05 2009-06-17 深圳华为通信技术有限公司 一种电话本排序方法和手机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开平8-149016A 1996.06.07

Also Published As

Publication number Publication date
CN102622359A (zh) 2012-08-01

Similar Documents

Publication Publication Date Title
CN108053028B (zh) 数据定点化处理方法、装置、电子设备及计算机存储介质
JP7430660B2 (ja) テキストの創作方法、装置、機器及び記憶媒体
KR102204971B1 (ko) 검색어를 위한 오류 정정 방법 및 기기
CN102622359B (zh) 搜索数据库中字符串的方法和装置
CN110286778B (zh) 一种中文深度学习输入法、装置及电子设备
CN104283567A (zh) 一种名称数据的压缩、解压缩方法及设备
CN104869397B (zh) 一种基于slwe概率估计模型的自适应区间编码方法及解码方法
CN112380319A (zh) 一种模型训练的方法及相关装置
CN109961041A (zh) 一种视频识别方法、装置及存储介质
CN114567332A (zh) 一种文本二次压缩方法、装置、设备及计算机可读存储介质
CN109428602A (zh) 一种数据编码方法、装置以及存储介质
CN111401037A (zh) 自然语言的生成方法、装置、电子设备及存储介质
CN108664464B (zh) 一种语义相关度的确定方法及确定装置
CN111159394A (zh) 一种文本摘要生成方法和装置
CN114528944A (zh) 一种医疗文本编码方法、装置、设备及可读存储介质
CN113987162A (zh) 文本摘要的生成方法、装置及计算机设备
WO2011143808A1 (en) Chinese character input method, apparatus, and associated memory medium
CN111428487B (zh) 模型训练方法、歌词生成方法、装置、电子设备及介质
CN110502236B (zh) 基于多尺度特征解码的前端代码生成方法、系统及设备
CN104866091A (zh) 一种用于在计算机设备中输出音效信息的方法和装置
US10032460B2 (en) Frequency envelope vector quantization method and apparatus
CN112612762B (zh) 数据处理方法及相关设备
Li et al. A human-computer interactive dynamic description method for Jiaguwen Characters
CN115525728A (zh) 汉字排序、汉字检索和汉字插入的方法和装置
CN103309459A (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

Granted publication date: 20140108

Termination date: 20190127

CF01 Termination of patent right due to non-payment of annual fee