CN105468597A - 一种获取跳转距离的方法及装置 - Google Patents
一种获取跳转距离的方法及装置 Download PDFInfo
- Publication number
- CN105468597A CN105468597A CN201410399953.XA CN201410399953A CN105468597A CN 105468597 A CN105468597 A CN 105468597A CN 201410399953 A CN201410399953 A CN 201410399953A CN 105468597 A CN105468597 A CN 105468597A
- Authority
- CN
- China
- Prior art keywords
- character
- keyword
- character string
- multimode
- level number
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了获取跳转距离的方法及装置,属于互联网通信领域。所述方法包括:将所述待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到所述匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止;将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配;当出现所述匹配窗口中的字符与所述多模字符串树中对应的目标字符不匹配时,根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,所述跳转表包括当前层次号、字符与跳转后的层次号的对应关系。所述装置包括:输入模块、匹配模块和获取模块。本发明能够提高获取跳转距离的效率。
Description
技术领域
本发明涉及互联网通信领域,特别涉及一种获取跳转距离的方法及装置。
背景技术
随着网络媒体和SNS(SocialNetworkingServices,社会性网络服务)的发展,越来越多的网民喜爱在网络上分享自己的信息,以及对别人的信息进行评论,拉近了自己与他人的距离。但总是有人寄予从网络中获取自己的物质利益,发布各类广告信息、色情信息、暴力信息、诋毁信息、敏感信息等,恶意损害网络的健康发展和他人的身心健康,甚至危害公共安全。为了解决这类问题,需要把这些不良信息进行屏蔽。
对于网络中每条信息,可以将该信息与多模字符串树中的关键词进行匹配,如果匹配出该信息包含多模字符串树中的一个或多个关键词,则认为该信息为不良信息并将其屏蔽。例如,假设某条信息为nothingtowoeryaboutinthis,多模字符串树如图1-1所示,该多模字符串树包括关键词ethernetmovesme,ethernetisking,ethernetisdead和ethernetforever。将该信息与多模字符串树中的关键词进行匹配过程如下:首先将该信息包括的字符从最后一个字符s开始输入到匹配窗口,直到输入到匹配窗口中的字符串长度与多模字符串树中的最短关键词的长度相等时为止,图1-1所示的多模字符串树中最短关键词的长度为14。
参见图1-2,往匹配窗口输入14个字符后,该匹配窗口包括字符e、r、y、a、b、o、u、t、i、n、t、h、i和s,获取该匹配窗口中的第一个字符e,获取多模字符串树中位于第一层次的字符e,将位于第一层次的字符e作为第一个字符e的目标字符,将第一个字符e与其对应的目标字符e进行匹配。匹配的结果为两者相同,然后获取匹配窗口中的第二个字符r,获取多模字符串树中位于第二层次的字符t,从位于第二层次的字符中选择与第一个字符e匹配的目标字符e的子节点,该子节点为目标字符e的子节点且包含字符t。将字符t作为第二个字符r的目标字符,将第二个字符r与其对应的目标字符t进行匹配。匹配的结果为两者不同,然后将第二个字符r与第三层次的字符h进行比对,比对出第二个字符r与第三层次内的字符h不同,将第二个字符r与第四层次内的字符e进行比对,比对出第二个字符r与第四层次内的字符e不同,将第二个字符r与第五层次内的字符r进行比对,比对出两者相同,计算第五层次的层次号5和第二个字符对应的目标字符t所在的层次号2之间的差值3,将计算的差值3作为匹配窗口的跳转距离。参见图1-3,根据该跳转距离移动匹配窗口,使字符o、w和o输入到该匹配窗口中,然后再按上述过程进行处理,直到出现匹配窗口中的某字符与多模字符串树中的一关键词的尾节点中的字符相同时为止或匹配窗口中的某字符与其对应的目标字符不匹配且该信息中的每个字符都输入到匹配窗口时为止,该关键词的尾节点中包括该关键词的最后一个字符。其中,如果出现匹配窗口中的某字符与多模字符串树中的一关键词的尾节点中的字符相同,则表示该信息包含关键词,该关键词为从多模字符串树的根节点到该尾节点的路径上的每个字符组成的关键词。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
目前当匹配窗口中的某字符与其对应的层次内的目标字符不匹配时,需要将该字符依次与该层次之后的每一层次内的字符进行比对,直到比对出相同的字符时才能获取到匹配窗口的跳转距离,所以目前的获取跳转距离的过程较复杂,运算量大,获取跳转距离的效率低下。
发明内容
为了提高获取跳转距离的效率,本发明提供了一种获取跳转距离的方法及装置。所述技术方案如下:
一种获取跳转距离的方法,所述方法包括:
将所述待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到所述匹配窗口中的字符串长度与多模字符串树中的一个关键词的长度相等时为止;
将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配;
当出现所述匹配窗口中的字符与所述多模字符串树中对应的目标字符不匹配时,根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,所述跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
一种获取跳转距离的装置,所述装置包括:
输入模块,用于将所述待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到所述匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止;
匹配模块,用于将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配;
获取模块,用于当出现所述匹配窗口中的字符与所述多模字符串树中对应的目标字符不匹配时,根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,所述跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
在本发明实施例中,由于根据跳转表和不匹配的字符,可以快速获取到匹配窗口的跳转距离,从而能够提高获取跳转距离的效率。
附图说明
图1-1是现有技术提供的一种多模字符串树的结构示意图;
图1-2是现有技术提供的一种字符串与多模字符串树的第一匹配过程;
图1-3是现有技术提供的一种字符串与多模字符串树的第二匹配过程;
图1-4是本发明实施例1提供的一种获取跳转距离的方法流程图;
图2-1是本发明实施例2提供的一种获取跳转距离的方法流程图;
图2-2是本发明实施例2提供的一种多模字符串树的结构示意图;
图2-3是本发明实施例2提供的一种待匹配的字符串与多模字符串树的匹配过程;
图2-4是本发明实施例2提供的一种待添加的关键词与多模字符串树的匹配过程;
图2-5是本发明实施例2提供的一种多模字符串树的结构示意图;
图3是本发明实施例3提供的一种获取跳转距离的装置结构示意图;
图4是本发明实施例4提供的一种终端结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1-4,本发明实施例提供了一种获取跳转距离的方法,包括:
步骤101:将待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止;
步骤102:将匹配窗口中的字符从第一个字符开始逐个与多模字符串树中对应的目标字符进行匹配;
步骤103:当出现匹配窗口中的字符与多模字符串树中对应的目标字符不匹配时,根据跳转表和不匹配的字符,获取匹配窗口的跳转距离,该跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
在本发明实施例中,由于根据跳转表和不匹配的字符,可以快速获取到匹配窗口的跳转距离,从而能够提高获取跳转距离的效率。
实施例2
参见图2-1,本发明实施例提供了一种获取跳转距离的方法,包括:
步骤201:将待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口中,直到匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止。
待匹配的字符串为网络中的任一条消息,例如,待匹配的字符串可以为微博消息或评论消息等。
多模字符串树中包括多个关键词,在多模字符串树中,每个关键词对应一条路径,该关键词包括的每个字符为该关键词对应的路径中的节点。例如,参见图1-1所示的多模字符串树,该多模字符串树中包括ethernetmovesme,ethernetisking,ethernetisdead和ethernetforever四个关键词。关键词ethernetmovesme包括字符e、t、h、e、r、n、e、t、m、o、v、e、s、m和e,字符e、t、h、e、r、n、e、t、m、o、v、e、s、m和e都为关键词ethernetmovesme对应路径中的节点。
每个关键词存在对应的属性信息,该关键词的属性信息包括该关键词适用的有效区域以及在该有效区域下适用的有效场景。该有效区域包括多个有效场景,有效区域可以为微博或网络空间等,微博下的有效场景可以为微博正文、评论或个人资料等。
对于每条消息,该消息对应一个有效区域和有效场景,例如,对于微博消息,该微博消息对应的有效区域为微博,对应的有效场景为微博正文。当某消息中包括一关键词,如果该消息所在的有效区域为该关键词适用的有效区域以及该消息所在的有效场景为该关键词在该有效区域下适用的有效场景,则可以将该消息确认为不良消息,否则,将该消息确认为非不良消息。例如,对于某条微博消息,该微博消息所在的有效区域为微博,所在的有效场景为微博正文。假设,该微博消息包含一关键词,该关键词适用的有效区域为微博,在该有效区域下适用的有效场景为微博正文,所以可以确认为该微博消息为不良消息。
在本发明实施例中,每个关键词对应至少一个属性节点,该关键词对应的属性节点中包括该关键词的属性信息。在多模字符串树中,该关键词对应的路径中包括的尾节点中存储用于指向该关键词对应的属性节点的指针。例如,参见图2-2,对于关键词ethernetmovesme,该关键词对应的路径中的尾节点为节点e,在尾节点e中存在指针,该指针指向该关键词对应的属性节点。进一步地,还可以在该关键词的属性节点中存储该关键词的等级。
例如,假设,待匹配的字符串为nothingtowoeryaboutinthis,图1-1所示的多模字符串树中的最短关键词为ethernetisking和ethernetisdead,且最短关键词的长度为14。参见图1-2,将从待匹配的字符串nothingtowoeryaboutinthis中的字符从最后一个字符e开始输入到匹配窗口中,直到输入到匹配窗口中的字符串的长度达到14时为止,其中,输入到匹配窗口的字符为e、r、y、a、b、o、u、t、i、n、t、h、i和s。
步骤202:将匹配窗口中的字符从第一个字符开始逐个与多模字符串树中对应的目标字符进行匹配。
本步骤可以通过如下2021至2024的步骤来实现,包括:
2021:获取匹配窗口中的第一个字符,从多模字符串树中获取位于第一层次的字符,将位于第一层次的字符作为第一个字符对应的目标字符,将第一个字符分别与其对应的每个目标字符进行匹配,如果第一个字符与其对应的一个目标字符匹配,则执行步骤2022。
其中,多模字符串树的根节点往往为一个空节点。如果多模字符串树的根节点为空节点,则多模字符串树中位于第一层次的节点为该根节点的子节点。如果多模字符串树的根节点不为空节点,则多模字符串中位于第一层次的节点为该根节点。
其中,如果第一个字符与其对应的每个目标字符都不匹配,则第一个字符为与多模字符串树中对应的目标字符不匹配的字符,并跳出执行步骤203。
例如,参见图1-1所示的多模字符串树,该多模字符串树的根节点为节点e。参见图1-2,获取匹配窗口中的第一个字符为字符e,从多模字符串树中获取位于第一层次的字符e,将位于第一层次的字符e作为第一个字符e对应的目标字符,将第一个字符e与其对应的目标字符e进行匹配。
2022:获取匹配窗口中的第二个字符,从多模字符串树中获取位于第二层次的节点,从位于第二层次的节点中选择与第一个字符匹配的目标字符的子节点,将选择的节点中的字符作为第二个字符对应的目标字符,将第二个字符分别与其对应的每个目标字符进行匹配,如果第二个字符与其对应的一个目标字符匹配,则执行步骤2023。
其中,如果第二个字符与其对应的每个目标字符都不匹配,则第二个字符为与多模字符串树中对应的目标字符不匹配的字符,并跳出执行步骤203。
例如,获取如图1-2所示的匹配窗口中的第二个字符为r,从多模字符串树中获取位于第二层次的节点为节点t,从位于第二层次的节点t中选择与第一个字符e匹配的目标字符e的子节点t,将子节点t中的字符t作为第二个字符r的目标字符,将第二个字符r与其对应的目标字符t进行匹配。匹配的结果为第二个字符r与其对应的目标字符t不匹配,则第二个字符r为与多模字符串树中对应的目标字符不匹配的字符,并跳出执行步骤203。
2023:获取匹配窗口中的第三个字符,从多模字符串树中获取位于第三层次的节点,从位于第三层次的节点中选择与第二个字符匹配的目标字符的子节点,将选择的节点中的字符作为第三个字符对应的目标字符,将第三个字符分别与其对应的每个目标字符进行匹配,如果第三个字符与其对应的一个目标字符匹配,则执行步骤2024。
其中,如果第三个字符与其对应的每个目标字符都不匹配,则第三个字符为与多模字符串树中对应的目标字符不匹配的字符,并跳出执行步骤203。
2024:对于匹配窗口中的第四个字符以及位于第四个字符之后的字符都按上述方式与多模字符串树中对应的目标字符进行匹配,直到出现匹配窗口中的字符与多模匹配字符串树中对应的目标字符不匹配时跳出执行步骤203,或直到出现匹配窗口中的一字符与多模字符串树中的一关键词的尾节点内的字符匹配时跳出并执行步骤205。
步骤203:当出现匹配窗口中的字符与多模字符串树中对应的目标字符不匹配时,根据跳转表和不匹配的字符,获取匹配窗口的跳转距离,跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
其中,当出现匹配窗口中的字符与多模字符串树中对应的目标字符不匹配时,还判断待匹配的字符串中的字符是否都输入到匹配窗口,如果是,则结束操作,否则,执行根据跳转表和不匹配的字符,获取匹配窗口的跳转距离的操作。
***启动时先初始化一个跳转表,并在关键词的添加过程,逐步更新跳转表中的记录,对于跳转表中的每条记录,该记录包括当前层次号、字符和跳转后的层次号,用于表示多模字符串树中在当前层次号之后首次出现该字符的层次号为该跳转后的层次号。
例如,参见如表1所示的跳转表,对于表1所示的跳转表的第二行记录,第二行记录包括当前层次号2,字符r和跳转后的层次号5,用于表示如图1-1所示的多模字符串树中在第2层次号之后首次出现的字符r的层次号为5,对表1所示的跳转表中的其他每行记录的含义与第二行的记录的含义相同,就不再一一列举说明。
表1
当前层次号 | 字符 | 跳转后的层次号 |
2 | r | 5 |
1 | e | 4 |
1 | o | 10 |
…… | …… | …… |
本步骤可以为通过如下第一和第二两种方式来实现,包括:
第一、从多模字符串树中获取不匹配的字符对应的目标字符所在的层次号作为当前层次号;根据不匹配的字符和当前层次号,从跳转表中获取跳转后的层次号;计算跳转后的层次号与当前层次号之间的差值,将计算的差值确定为匹配窗口的跳转距离。
例如,从多模字符串树中获取不匹配的字符r对应的目标字符t所在的层次号2作为当前层次号,根据不匹配的字符r和当前层次号2,从如表1所示的跳转表中获取跳转后的层次号为5,计算跳转后的层次号5与当前层次号2之间的差值3,将计算的差值3确定为匹配窗口的跳转距离。
第二、从多模字符串树中获取不匹配的字符对应的目标字符所在的层次号作为第一当前层次号;根据不匹配的字符和第一当前层次号,从跳转表中获取跳转后的层次号作为第一跳转层次号;如果不匹配的字符不是匹配窗口中的第一个字符,则获取不匹配的字符前一个相邻的相邻字符,以及获取多模字符串树中相邻字符对应的目标字符所在的层次号作为第二当前层次号;根据相邻字符和第二当前层次号,从跳转表中获取跳转后的层次号作为第二跳转层次号;计算第一跳转层次号与第一当前层次号之间的第一差值以及第二跳转层次号与所述第二当前层次号之间的第二差值;选择最小的差值,将选择的差值确定为匹配窗口的跳转距离。
例如,从多模字符串树中获取不匹配的字符r对应的目标字符t所在的层次号2,将层次号2为作为第一当前层次号;根据不匹配的字符r和第一当前层次号2,从如表1所示的跳转表中获取跳转后的层次号5,将层次号5作为第一跳转层次号;不匹配的字符r不是匹配窗口中的第一个字符,则获取不匹配的字符前一个相邻的相邻字符e,以及获取多模字符串树中相邻字符对应的目标字符e所在的层次号1,将层次号1作为第二当前层次号;根据相邻字符e和第二当前层次号1,从跳转表中获取跳转后的层次号4,将层次号4作为第二跳转层次号;计算第一跳转层次号5与第一当前层次号2之间的第一差值3以及第二跳转层次号4与第二当前层次号1之间的第二差值3;选择最小的差值3,将选择的差值3确定为匹配窗口的跳转距离。
其中,如果不匹配的字符是匹配窗口中的第一个字符,则直接计算跳转后的第一层次号与第一当前层次号之间的第一差值,将第一差值确定为匹配窗口的跳转距离。
步骤204:根据该匹配窗口的跳转距离,向前移动该匹配窗口,使待匹配的字符串中的字符输入到该匹配窗口,然后返回执行步骤202。
例如,参见图1-3,根据该匹配窗口的跳转距离3,向前移动该匹配窗口,使待匹配的字符串中的字符o、w和o输入到该匹配窗口。此时,该匹配窗口中包括字符o、w、o、e、r、y、a、b、o、u、t、i、n、t、h、i和s。参见图1-3,获取该匹配窗口中的第一个字符为字符o,从多模字符串树中获取位于第一层次的字符e,将位于第一层次的字符e作为第一个字符o的目标字符,将第一个字符o与其对应的目标字符e进行匹配。其中,第一个字符o与其对应的目标字符e不匹配,则第一个字符o为与多模字符串树中对应的目标字符e不匹配的字符。从多模字符串树中获取不匹配的字符o对应的目标字符e所在的层次号1,将层次号1作为当前层次号为1,根据不匹配的字符o和当前层次号1,从如表1所示的跳转表中获取跳转后的层次号为10,计算跳转后的层次号10与当前层次号1之间的差值9,将计算的差值9确定匹配窗口的跳转距离。
参见图2-3,根据该匹配窗口的跳转距离9,向前移动该匹配窗口,使待匹配的字符串中的字符n、o、t、h、i、n、g和t输入到该匹配窗口。此时,该匹配窗口中包括字符n、o、t、h、i、n、g、t、o、w、o、e、r、y、a、b、o、u、t、i、n、t、h、i和s。参见图2-3,获取该匹配窗口中的第一个字符为字符n,从多模字符串树中获取位于第一层次的字符e,将位于第一层次的字符e作为第一个字符n的目标字符,将第一个字符n与其对应的目标字符e进行匹配。其中,第一个字符n与其对应的目标字符e不匹配,则第一个字符n为与多模字符串树中对应的目标字符e不匹配的字符。由于待匹配的字符串中的每个字符都已输入到匹配窗口中,且待匹配的字符串中不包括多模字符串树中任一个关键词,因此可以确定待匹配的字符串为非不良信息。
步骤205:当出现匹配窗口中的字符与多模字符串树中的关键词的尾节点中的字符匹配,获取该关键词的属性信息。
其中,关键词的尾节点中包含指针,如果匹配到包含指针的节点,就可以将该节点确认为尾节点。当出现匹配窗口中的字符与多模字符串树中的一关建词的尾节点中的字符匹配,表明待匹配的字符串中包含多模字符串树中的关键词,该关键词为根节点到该尾节点的路径。例如,假设匹配窗口中的字符与多模字符串树中的一关键词的尾节点e中的字符e匹配,根节点到尾节点e之间的路径包括字符e、t、h、e、r、n、e、t、m、o、v、e、s、m和e,即表明待匹配的字符串中包含关键词ethernetmovesme。
本步骤可以为,从该尾节点中读取属性节点对应的指针,根据读取的指针,获取指向的属性节点,从该属性节点中提取该关键词的属性信息,该关键词的属性信息包括该关键词适用的有效区域和有效场景。进一步地,该关键词的属性信息还可以包括该关键词的等级。
步骤206:根据待匹配的字符串的属性信息和该关键词的属性信息,确定该关键词在待匹配的字符串中是否有效。
具体地,获取待匹配的字符串的属性信息,待匹配的字符串的属性信息包括待匹配的字符串所在的有效区域和有效场景,如果该关键词适用的有效区域包括待匹配的字符串所在的有效区域以及该关键词在该有效区域下适用的有效场景包括待匹配的字符串所在的有效场景,则确定关键词在待匹配的字符串中有效,否则,确定所述关键词在所述待匹配的字符串中无效。
步骤207:如果确定的结果为有效,则将待匹配的字符串确定为不良信息,如果确定的结果为无效,则将待匹配的字符串确定为非不良信息。
进一步地,还可以判断该关键词的等级是否超过预设阈值,如果超过,则对待匹配的字符串进行屏蔽处理。
其中,在技术人员配置好多模字符串树之后,如果网络中出现一个新关键词,技术人员可以将该新关键词作为待添加的关键词,以及获取待添加的关键词的属性信息。
在本发明实施例中,可以通过如下方式来将待添加的关键词添加到多模字符串树中,包括:
接收技术人员输入的待添加的关键词和待添加的关键词的属性信息,将待添加的关键词添加到多模字符串树中,根据待添加的关键词的属性信息,创建属性节点,该属性节点包括待添加的关键词的属性信息,在待添加的关键词的尾节点中设置指向该属性节点的指针。
优选的,可以按如下方式将待添加的关键词添加到多模字符串树中,包括:
将待添加的关键词中的字符从第一个字符开始逐个与多模字符串树中对应的目标字符进行匹配,当出现待添加的关键词中的字符与多模字符串树中对应的目标字符不匹配时,获取不匹配的字符对应的目标字符的父节点,将不匹配的字符设置为父节点的子节点,以及将不匹配的字符之后的每个字符,按顺序分别设置为其前一个字符的子节点。
例如,对于待添加的关键词etabc,参见图2-4,获取待添加的字符串中的第一个字符为字符e,从多模字符串树中获取位于第一层次的字符e,将位于第一层次的字符e作为第一个字符e的目标字符,将第一个字符e与其对应的目标字符e进行匹配。
匹配的结果为第一个字符e与其对应的目标字符e匹配,然后获取待添加的字符串中的第二个字符为t,从多模字符串树中获取位于第二层次的节点为节点t,从位于第二层次的节点t中选择与第一个字符e匹配的目标字符e的子节点t,将子节点t中的字符t作为第二个字符t的目标字符,将第二个字符t与其对应的目标字符t进行匹配。
匹配的结果为第二个字符t与其对应的目标字符t匹配,获取待添加的字符串中的第三个字符为a,从多模字符串树中获取位于第三层次的节点为节点h,从位于第三层次的节点h中选择与第二个字符t匹配的目标字符t的子节点h,将子节点h中的字符h作为第三个字符a的目标字符,将第三个字符a与其对应的目标字符h进行匹配。
匹配的结果为第三个字符a与其对应的目标字符h不匹配,则可以将第三个字符a作为与多模字符串树中对应的目标字符不匹配的字符,获取不匹配的字符a对应的目标字符h的父节点t,将不匹配的字符a设置为父节点t的子节点,将字符b设置为节点a的子节点以及将字符c设置为节点b的子节点,得到如图2-5所示的多模字符串树。
其中,当技术员需要删除某关键词时,可以按下方式将待删除的关键词删除,包括:
接收技术人员输入的待删除的关键词,从多模字符串树中获取待删除的关键词的尾节点,根据该尾节点包括的指针,获取待删除的关键词对应的属性节点,删除所述属性节点,再从多模字符串树中删除待删除的字符串。
优选的,可以按如下方式从多模字符串树中删除待删除的字符串,包括:
从多模字符串树中获取待删除的关键词对应的路径;在多模字符串树中,从根节点开始对该路径进行遍历;当遍历到包括子节点的数目小于2的节点时,在该路径中删除遍历的节点和位于遍历的节点之后的节点。
例如,参见图2-5所示的多模字符串树,接收待删除的字符串为etabc,从多模字符串树中获取待删除的关键词对应的路径,该路径包括节点e、t、a、b和c;在多模字符串树中,从根节点e开始对该路径进行遍历;当遍历到包括子节点的数目小于2的节点a时,在该路径中删除遍历的节点a和位于遍历的节点a之后的节点b和c,得到的如图1-1所示的多模字符串树。
其中,当技术人员需要某关键词的属性信息时,接收技术输入的待修改的关键词和修改后的属性信息,根据待修改的关键词包括的字符,从多模字符串树中找出待修改的关键词的尾节点,根据该尾节点包括的指针,获取待修改的关键词的属性节点,将修改的关键词对应的属性节点包括的属性信息更新为接收的属性信息。
本发明实施例的执行主体可以为终端。
在本发明实施例中,由于根据跳转表和不匹配的字符,可以快速获取到匹配窗口的跳转距离,从而能够提高获取跳转距离的效率。另外,在多模字符串树中,关键词的尾节点中包括用于指向该关键词对应的属性节点的指针,该属性节点中包括该关键词适用的有效区域和该有效区域下适用的有效场景,如此不同的业务可以使用一套多模字符串树,当某业务的出现新的关键词,只需要对该套多模字符串树进行修改,提高修改效率。
实施例3
参见图3,本发明实施例提供了一种获取跳转距离的装置,包括:
输入模块301,用于将所述待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到所述匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止;
匹配模块302,用于将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配;
获取模块303,用于当出现所述匹配窗口中的字符与所述多模字符串树中对应的目标字符不匹配时,根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,所述跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
优选的,所述获取模块303包括:
第一获取单元,用于从所述多模字符串树中获取所述不匹配的字符对应的目标字符所在的层次号,将所述不匹配的字符对应的目标字符所在的层次号作为第一当前层次号;
第二获取单元,用于根据所述不匹配的字符和所述第一当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第一跳转层次号;
确定单元,用于根据所述第一当前层次号和所述第一跳转层次号,确定所述匹配窗口的跳转距离。
优选的,所述确定单元包括:
第一获取子单元,用于如果所述不匹配的字符不是所述匹配窗口中的第一个字符,则获取所述不匹配的字符前一个相邻的相邻字符,以及获取所述多模字符串树中所述相邻字符对应的目标字符所在的层次号,将所述相邻字符对应的目标字符所在的层次号作为第二当前层次号;
第二获取子单元,用于根据所述相邻字符和所述第二当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第二跳转层次号;
计算子单元,用于计算所述第一跳转层次号与所述第一当前层次号之间的第一差值以及所述第二跳转层次号与所述第二当前层次号之间的第二差值;
选择子单元,用于选择最小的差值,将所述选择的差值确定为所述匹配窗口的跳转距离。
进一步地,所述装置还包括:
移动模块,用于根据所述跳转距离,移动所述匹配窗口,使所述待匹配的字符串中的字符输入到所述匹配窗口中,然后执行将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配的操作。
进一步地,所述装置还包括:
属性获取模块,用于当出现所述匹配窗口中的一字符与所述多模字符串树中的一关键词的尾节点中的字符匹配时,获取所述关键词的属性信息,所述尾节点中的字符为所述关键词的最后一个字符;
确定模块,用于根据所述待匹配的字符串的属性信息和所述关键词的属性信息,确定所述关键词在所述待匹配的字符串中是否有效。
优选的,所述属性获取模块包括:
读取单元,用于从所述尾节点中读取属性节点对应的指针;
第三获取单元,用于根据所述指针,获取所述属性节点;
提取单元,用于从所述属性节点中提取所述关键词的属性信息。
优选的,所述待匹配的字符串的属性信息包括所述待匹配的字符串所在的有效区域和有效场景;所述关键词的属性信息包括所述关键词适用的有效区域和在所述有效区域下适用的有效场景;
所述确定模块,用于如果所述关键词适用的有效区域包括所述待匹配的字符串所在的有效区域以及在所述关键词适用的有效区域下所述关键词适用的有效场景包括所述待匹配的字符串所在的有效场景,则确定所述关键词在所述待匹配的字符串中有效,否则,确定所述关键词在所述待匹配的字符串中无效。
进一步地,所述装置还包括:
添加模块,用于将待添加的关键词添加到所述多模字符串树中,根据待添加的字符串的属性信息创建属性节点,所述属性节点包括所述待添加的关键词的属性信息,在所述待添加的关键词的尾节点中设置用于指向所述属性节点的指针。
进一步地,所述装置还包括:
删除模块,用于从所述多模字符串树中获取所述待删除的关键词的尾节点,根据所述尾节点包括的指针获取所述待删除的关键词对应的属性节点,删除所述属性节点以及从所述多模字符串树中删除所述待删除的关键词。
在本发明实施例中,由于根据跳转表和不匹配的字符,可以快速获取到匹配窗口的跳转距离,从而能够提高获取跳转距离的效率。另外,在多模字符串树中,关键词的尾节点中包括用于指向该关键词对应的属性节点的指针,该属性节点中包括该关键词适用的有效区域和该有效区域下适用的有效场景,如此不同的业务可以使用一套多模字符串树,当某业务的出现新的关键词,只需要对该套多模字符串树进行修改,提高修改效率。
实施例4
参见图4,其示出了本发明实施例所涉及的具有触敏表面的终端结构示意图,该终端可以用于实施上述实施例中提供的获取跳转距离的方法。具体来讲:
终端900可以包括RF(RadioFrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯***)、GPRS(GeneralPacketRadioService,通用分组无线服务)、CDMA(CodeDivisionMultipleAccess,码分多址)、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、LTE(LongTermEvolution,长期演进)、电子邮件、SMS(ShortMessagingService,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端900还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端900之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端900的通信。
WiFi属于短距离无线传输技术,终端900通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块170,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端900还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理***与处理器180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端900还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端900的显示单元是触摸屏显示器,终端900还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
将所述待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到所述匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止;
将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配;
当出现所述匹配窗口中的字符与所述多模字符串树中对应的目标字符不匹配时,根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,所述跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
优选的,所述根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,包括:
从所述多模字符串树中获取所述不匹配的字符对应的目标字符所在的层次号,将所述不匹配的字符对应的目标字符所在的层次号作为第一当前层次号;
根据所述不匹配的字符和所述第一当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第一跳转层次号;
根据所述第一当前层次号和所述第一跳转层次号,确定所述匹配窗口的跳转距离。
优选的,所述根据所述第一当前层次号和所述第一跳转层次号,确定所述匹配窗口的跳转距离,包括:
如果所述不匹配的字符不是所述匹配窗口中的第一个字符,则获取所述不匹配的字符前一个相邻的相邻字符,以及获取所述多模字符串树中所述相邻字符对应的目标字符所在的层次号,将所述相邻字符对应的目标字符所在的层次号作为第二当前层次号;
根据所述相邻字符和所述第二当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第二跳转层次号;
计算所述第一跳转层次号与所述第一当前层次号之间的第一差值以及所述第二跳转层次号与所述第二当前层次号之间的第二差值;
选择最小的差值,将所述选择的差值确定为所述匹配窗口的跳转距离。
进一步地,所述根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离之后,还包括:
根据所述跳转距离,移动所述匹配窗口,使所述待匹配的字符串中的字符输入到所述匹配窗口中,然后执行将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配的操作。
进一步地,所述方法还包括:
当出现所述匹配窗口中的一字符与所述多模字符串树中的一关键词的尾节点中的字符匹配时,获取所述关键词的属性信息,所述尾节点中的字符为所述关键词的最后一个字符;
根据所述待匹配的字符串的属性信息和所述关键词的属性信息,确定所述关键词在所述待匹配的字符串中是否有效。
优选的,所述获取所述关键词的属性信息,包括:
从所述尾节点中读取属性节点对应的指针;
根据所述指针,获取所述属性节点;
从所述属性节点中提取所述关键词的属性信息。
优选的,所述待匹配的字符串的属性信息包括所述待匹配的字符串所在的有效区域和有效场景;所述关键词的属性信息包括所述关键词适用的有效区域和在所述有效区域下适用的有效场景;
所述根据所述待匹配的字符串的属性信息和所述关键词的属性信息,确定所述关键词在所述待匹配的字符串中是否有效,包括:
如果所述关键词适用的有效区域包括所述待匹配的字符串所在的有效区域以及在所述关键词适用的有效区域下所述关键词适用的有效场景包括所述待匹配的字符串所在的有效场景,则确定所述关键词在所述待匹配的字符串中有效,否则,确定所述关键词在所述待匹配的字符串中无效。
进一步地,所述方法还包括:
将待添加的关键词添加到所述多模字符串树中,根据待添加的字符串的属性信息创建属性节点,所述属性节点包括所述待添加的关键词的属性信息,在所述待添加的关键词的尾节点中设置用于指向所述属性节点的指针。
进一步地,所述方法还包括:
从所述多模字符串树中获取所述待删除的关键词的尾节点,根据所述尾节点包括的指针获取所述待删除的关键词对应的属性节点,删除所述属性节点以及从所述多模字符串树中删除所述待删除的关键词。
在本发明实施例中,由于根据跳转表和不匹配的字符,可以快速获取到匹配窗口的跳转距离,从而能够提高获取跳转距离的效率。另外,在多模字符串树中,关键词的尾节点中包括用于指向该关键词对应的属性节点的指针,该属性节点中包括该关键词适用的有效区域和该有效区域下适用的有效场景,如此不同的业务可以使用一套多模字符串树,当某业务的出现新的关键词,只需要对该套多模字符串树进行修改,提高修改效率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种获取跳转距离的方法,其特征在于,所述方法包括:
将所述待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到所述匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止;
将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配;
当出现所述匹配窗口中的字符与所述多模字符串树中对应的目标字符不匹配时,根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,所述跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
2.如权利要求1所述的方法,其特征在于,所述根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,包括:
从所述多模字符串树中获取所述不匹配的字符对应的目标字符所在的层次号,将所述不匹配的字符对应的目标字符所在的层次号作为第一当前层次号;
根据所述不匹配的字符和所述第一当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第一跳转层次号;
根据所述第一当前层次号和所述第一跳转层次号,确定所述匹配窗口的跳转距离。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一当前层次号和所述第一跳转层次号,确定所述匹配窗口的跳转距离,包括:
如果所述不匹配的字符不是所述匹配窗口中的第一个字符,则获取所述不匹配的字符前一个相邻的相邻字符,以及获取所述多模字符串树中所述相邻字符对应的目标字符所在的层次号,将所述相邻字符对应的目标字符所在的层次号作为第二当前层次号;
根据所述相邻字符和所述第二当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第二跳转层次号;
计算所述第一跳转层次号与所述第一当前层次号之间的第一差值以及所述第二跳转层次号与所述第二当前层次号之间的第二差值;
选择最小的差值,将所述选择的差值确定为所述匹配窗口的跳转距离。
4.如权利要求1所述的方法,其特征在于,所述根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离之后,还包括:
根据所述跳转距离,移动所述匹配窗口,使所述待匹配的字符串中的字符输入到所述匹配窗口中,然后执行将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配的操作。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当出现所述匹配窗口中的一字符与所述多模字符串树中的一关键词的尾节点中的字符匹配时,获取所述关键词的属性信息,所述尾节点中的字符为所述关键词的最后一个字符;
根据所述待匹配的字符串的属性信息和所述关键词的属性信息,确定所述关键词在所述待匹配的字符串中是否有效。
6.如权利要求5所述的方法,其特征在于,所述获取所述关键词的属性信息,包括:
从所述尾节点中读取属性节点对应的指针;
根据所述指针,获取所述属性节点;
从所述属性节点中提取所述关键词的属性信息。
7.如权利要5所述的方法,其特征在于,所述待匹配的字符串的属性信息包括所述待匹配的字符串所在的有效区域和有效场景;所述关键词的属性信息包括所述关键词适用的有效区域和在所述有效区域下适用的有效场景;
所述根据所述待匹配的字符串的属性信息和所述关键词的属性信息,确定所述关键词在所述待匹配的字符串中是否有效,包括:
如果所述关键词适用的有效区域包括所述待匹配的字符串所在的有效区域以及在所述关键词适用的有效区域下所述关键词适用的有效场景包括所述待匹配的字符串所在的有效场景,则确定所述关键词在所述待匹配的字符串中有效,否则,确定所述关键词在所述待匹配的字符串中无效。
8.如权利要求1至7任一项权利要求所述的方法,其特征在于,所述方法还包括:
将待添加的关键词添加到所述多模字符串树中,根据待添加的字符串的属性信息创建属性节点,所述属性节点包括所述待添加的关键词的属性信息,在所述待添加的关键词的尾节点中设置用于指向所述属性节点的指针。
9.如权利要求1至7所述的方法,其特征在于,所述方法还包括:
从所述多模字符串树中获取所述待删除的关键词的尾节点,根据所述尾节点包括的指针获取所述待删除的关键词对应的属性节点,删除所述属性节点以及从所述多模字符串树中删除所述待删除的关键词。
10.一种获取跳转距离的装置,其特征在于,所述装置包括:
输入模块,用于将所述待匹配的字符串中的字符从最后一个字符开始输入到匹配窗口,直到所述匹配窗口中的字符串长度与多模字符串树中的最短关键词长度相等时为止;
匹配模块,用于将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配;
获取模块,用于当出现所述匹配窗口中的字符与所述多模字符串树中对应的目标字符不匹配时,根据跳转表和所述不匹配的字符,获取所述匹配窗口的跳转距离,所述跳转表包括当前层次号、字符与跳转后的层次号的对应关系。
11.如权利要求10所述的装置,其特征在于,所述获取模块包括:
第一获取单元,用于从所述多模字符串树中获取所述不匹配的字符对应的目标字符所在的层次号,将所述不匹配的字符对应的目标字符所在的层次号作为第一当前层次号;
第二获取单元,用于根据所述不匹配的字符和所述第一当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第一跳转层次号;
确定单元,用于根据所述第一当前层次号和所述第一跳转层次号,确定所述匹配窗口的跳转距离。
12.如权利要求11所述的装置,其特征在于,所述确定单元包括:
第一获取子单元,用于如果所述不匹配的字符不是所述匹配窗口中的第一个字符,则获取所述不匹配的字符前一个相邻的相邻字符,以及获取所述多模字符串树中所述相邻字符对应的目标字符所在的层次号,将所述相邻字符对应的目标字符所在的层次号作为第二当前层次号;
第二获取子单元,用于根据所述相邻字符和所述第二当前层次号,从所述跳转表中获取跳转后的层次号,将所述跳转后的层次号作为第二跳转层次号;
计算子单元,用于计算所述第一跳转层次号与所述第一当前层次号之间的第一差值以及所述第二跳转层次号与所述第二当前层次号之间的第二差值;
选择子单元,用于选择最小的差值,将所述选择的差值确定为所述匹配窗口的跳转距离。
13.如权利要求10所述的装置,其特征在于,所述装置还包括:
移动模块,用于根据所述跳转距离,移动所述匹配窗口,使所述待匹配的字符串中的字符输入到所述匹配窗口中,然后执行将所述匹配窗口中的字符从第一个字符开始逐个与所述多模字符串树中对应的目标字符进行匹配的操作。
14.如权利要求10所述的装置,其特征在于,所述装置还包括:
属性获取模块,用于当出现所述匹配窗口中的一字符与所述多模字符串树中的一关键词的尾节点中的字符匹配时,获取所述关键词的属性信息,所述尾节点中的字符为所述关键词的最后一个字符;
确定模块,用于根据所述待匹配的字符串的属性信息和所述关键词的属性信息,确定所述关键词在所述待匹配的字符串中是否有效。
15.如权利要求14所述的装置,其特征在于,所述属性获取模块包括:
读取单元,用于从所述尾节点中读取属性节点对应的指针;
第三获取单元,用于根据所述指针,获取所述属性节点;
提取单元,用于从所述属性节点中提取所述关键词的属性信息。
16.如权利要14所述的装置,其特征在于,所述待匹配的字符串的属性信息包括所述待匹配的字符串所在的有效区域和有效场景;所述关键词的属性信息包括所述关键词适用的有效区域和在所述有效区域下适用的有效场景;
所述确定模块,用于如果所述关键词适用的有效区域包括所述待匹配的字符串所在的有效区域以及在所述关键词适用的有效区域下所述关键词适用的有效场景包括所述待匹配的字符串所在的有效场景,则确定所述关键词在所述待匹配的字符串中有效,否则,确定所述关键词在所述待匹配的字符串中无效。
17.如权利要求10至16任一项权利要求所述的装置,其特征在于,所述装置还包括:
添加模块,用于将待添加的关键词添加到所述多模字符串树中,根据待添加的字符串的属性信息创建属性节点,所述属性节点包括所述待添加的关键词的属性信息,在所述待添加的关键词的尾节点中设置用于指向所述属性节点的指针。
18.如权利要求10至16所述的装置,其特征在于,所述装置还包括:
删除模块,用于从所述多模字符串树中获取所述待删除的关键词的尾节点,根据所述尾节点包括的指针获取所述待删除的关键词对应的属性节点,删除所述属性节点以及从所述多模字符串树中删除所述待删除的关键词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410399953.XA CN105468597B (zh) | 2014-08-14 | 2014-08-14 | 一种获取跳转距离的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410399953.XA CN105468597B (zh) | 2014-08-14 | 2014-08-14 | 一种获取跳转距离的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468597A true CN105468597A (zh) | 2016-04-06 |
CN105468597B CN105468597B (zh) | 2020-09-25 |
Family
ID=55606310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410399953.XA Active CN105468597B (zh) | 2014-08-14 | 2014-08-14 | 一种获取跳转距离的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468597B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339382A (zh) * | 2020-03-11 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 字符串数据检索方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030221A (zh) * | 2007-04-13 | 2007-09-05 | 清华大学 | 一种用于文本或网络内容分析的大规模多关键词匹配方法 |
US20080046423A1 (en) * | 2006-08-01 | 2008-02-21 | Lucent Technologies Inc. | Method and system for multi-character multi-pattern pattern matching |
CN101425084A (zh) * | 2008-11-20 | 2009-05-06 | 上海交通大学 | 基于有序二叉树的模式匹配方法 |
CN101876986A (zh) * | 2009-11-27 | 2010-11-03 | 福建星网锐捷网络有限公司 | 基于有限状态自动机的字符串匹配方法及内容过滤设备 |
CN103023883A (zh) * | 2012-11-26 | 2013-04-03 | 清华大学 | 基于ac自动机和后缀树的字符串匹配方法 |
-
2014
- 2014-08-14 CN CN201410399953.XA patent/CN105468597B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046423A1 (en) * | 2006-08-01 | 2008-02-21 | Lucent Technologies Inc. | Method and system for multi-character multi-pattern pattern matching |
CN101030221A (zh) * | 2007-04-13 | 2007-09-05 | 清华大学 | 一种用于文本或网络内容分析的大规模多关键词匹配方法 |
CN101425084A (zh) * | 2008-11-20 | 2009-05-06 | 上海交通大学 | 基于有序二叉树的模式匹配方法 |
CN101876986A (zh) * | 2009-11-27 | 2010-11-03 | 福建星网锐捷网络有限公司 | 基于有限状态自动机的字符串匹配方法及内容过滤设备 |
CN103023883A (zh) * | 2012-11-26 | 2013-04-03 | 清华大学 | 基于ac自动机和后缀树的字符串匹配方法 |
Non-Patent Citations (1)
Title |
---|
邓惠俊: "多模式匹配算法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339382A (zh) * | 2020-03-11 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 字符串数据检索方法、装置、计算机设备及存储介质 |
CN111339382B (zh) * | 2020-03-11 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 字符串数据检索方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105468597B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104518953A (zh) | 删除消息的方法、即时通信终端及*** | |
CN104572430A (zh) | 一种终端应用界面的测试方法、装置和*** | |
CN104518875A (zh) | 一种身份验证及账号获取的方法、移动终端 | |
CN104636047A (zh) | 对列表中的对象进行操作的方法、装置及触屏终端 | |
CN105022616A (zh) | 一种生成网页页面的方法及装置 | |
CN104281394A (zh) | 智能选词的方法和装置 | |
CN104965641A (zh) | 信息显示方法和装置 | |
CN104850406A (zh) | 一种切换页面的方法和装置 | |
CN105302452A (zh) | 一种基于手势交互的操作方法及装置 | |
CN104424278B (zh) | 一种获取热点资讯的方法及装置 | |
CN104618223A (zh) | 一种信息推荐的管理方法、装置和*** | |
CN103945241A (zh) | 一种流媒体数据的统计方法、***及相关装置 | |
CN105530239A (zh) | 多媒体数据获取方法及装置 | |
CN106502824A (zh) | 数据备份方法及云服务器 | |
CN104199596A (zh) | 场景界面切换方法及装置 | |
CN104679724A (zh) | 页面注释方法及装置 | |
CN107885718A (zh) | 语义确定方法及装置 | |
CN105512150A (zh) | 一种信息搜索方法及装置 | |
CN105550316A (zh) | 音频列表的推送方法及装置 | |
CN104063400A (zh) | 数据搜索方法和装置 | |
CN103246847A (zh) | 一种宏病毒查杀的方法和装置 | |
CN104391588B (zh) | 一种输入提示的方法及装置 | |
CN104142994A (zh) | 一种数据列表获取的方法、终端及*** | |
CN104348944A (zh) | 一种来电显示的方法及终端 | |
CN104731782A (zh) | 一种信息处理的方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |