CN111428491B - 一种字符串流的归并方法、装置及电子设备 - Google Patents

一种字符串流的归并方法、装置及电子设备 Download PDF

Info

Publication number
CN111428491B
CN111428491B CN201910020990.8A CN201910020990A CN111428491B CN 111428491 B CN111428491 B CN 111428491B CN 201910020990 A CN201910020990 A CN 201910020990A CN 111428491 B CN111428491 B CN 111428491B
Authority
CN
China
Prior art keywords
character
string
sub
strings
merging
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.)
Active
Application number
CN201910020990.8A
Other languages
English (en)
Other versions
CN111428491A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910020990.8A priority Critical patent/CN111428491B/zh
Publication of CN111428491A publication Critical patent/CN111428491A/zh
Application granted granted Critical
Publication of CN111428491B publication Critical patent/CN111428491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种字符串流的归并方法、装置及电子设备,该归并方法包括:获取字符串流中的字符串;提取字符串中的切分符,构成对应字符串的切分符序列;根据切分符序列对字符串进行切分,得到字符串的多个字符子串;对于至少一个字符子串,分别获取字符串流中包含自身的字符串的数量,作为至少一个字符子串的数量;根据至少一个字符子串的数量,对字符串流进行归并处理。

Description

一种字符串流的归并方法、装置及电子设备
技术领域
本发明涉及字符串归并技术领域,更具体地,涉及一种字符串流的归并方法、装置及电子设备。
背景技术
字符串是数据处理的基本单元。某些特定领域的字符串由于包含了参变量、状态码等信息,会导致同一类型的字符串发散成数以万计的不同组合,为后续的数据存储、加工与展现带来了极大的困难。
因此,准确识别出字符串中的字符子串,保留有价值的内容,屏蔽无用的信息,可以有效提升字符串数据的处理效率。然而,不同的应用场景,对字符串的归并要求也不尽相同。例如,在物联网终端设备中,数据的输入是流式的,而交互实时性要求很高,必须进行实时归并。
但是,对于传统的人工归并方法,是人为分析数据特征,总结归并规则,再对字符串流进行归并。这种方法费时费力,归并效率较低,且难以及时响应字符串中的特征变化。对于传统的离线归并方法,是分析一批字符串的特征来实现字符串的归并。这种方法需要大量的字符串进行特征抽取,而且响应速度比较慢,不适合终端设备等实时交互场景。
发明内容
本发明的一个目的是提供一种归并字符串流的新技术方案。
根据本发明的第一方面,提供了一种字符串流的归并方法,其中,包括:
获取字符串流中的字符串;
提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
根据所述切分符序列对所述字符串进行切分,得到所述字符串的多个字符子串;
对于至少一个字符子串,分别获取所述字符串流中包含自身的字符串的数量,作为所述至少一个字符子串的数量;
根据所述至少一个字符子串的数量,对所述字符串流进行归并处理。
可选的,所述根据至少一个字符子串的数量,对所述字符串流进行归并处理的步骤包括:
根据至少一个字符子串的数量,确定至少一个字符子串是否符合预设的归并条件;
将所述字符串流中包含的符合所述归并条件的字符子串替换为预设的标识符,得到替换字符串;
删除重复的替换字符串。
可选的,所述对于至少一个字符子串,分别获取所述字符串流中包含自身的字符串的数量,作为所述至少一个字符子串的数量的步骤包括:
从所述字符串流中获取对应的切分符序列与所述切分符序列相同的字符串,作为目标字符串;
对于所述至少一个字符子串,分别从所述目标字符串中选取包含自身的字符串,作为所述至少一个字符子串对应的归并字符串;
确定所述至少一个字符子串对应的归并字符串的数量,作为所述至少一个字符子串的数量。
可选的,所述对于所述至少一个字符子串,分别从所述目标字符串中选取包含自身的字符串,作为所述至少一个字符子串对应的归并字符串的步骤包括:
确定所述至少一个字符子串相对所述切分符序列的位置关系,作为对应所述至少一个字符子串的相对位置;
对于所述至少一个字符子串,分别从所述目标字符串中选取对应自身的相对位置的字符子串与自身相同的字符串,作为所述至少一个字符子串中每一字符子串对应的归并字符串。
可选的,所述根据所述至少一个字符子串的数量,确定所述至少一个字符子串是否符合预设的归并条件的步骤包括:
获取所述目标字符串中对应每一相对位置的字符子串的数量;
根据对应每一相对位置的字符子串的数量,对所述目标字符串中对应每一相对位置的字符子串进行降序排序,获取对应每一相对位置的字符子串的排序值;
根据对应每一相对位置的字符子串的排序值,确定所述至少一个字符子串是否符合所述归并条件。
可选的,所述根据所述至少一个字符子串的数量,确定所述至少一个字符子串是否符合预设的归并条件的步骤包括:
获取所述目标字符串中对应每一相对位置的字符子串的数量;
根据对应每一相对位置的字符子串的数量,确定所述目标字符串中对应每一相对位置的字符子串所占的百分比;
根据对应每一相对位置的字符子串所占的百分比,确定所述至少一个字符子串是否符合所述归并条件。
可选的,所述根据所述至少一个字符子串的数量,确定所述至少一个字符子串是否符合预设的归并条件的步骤包括:
在任一字符子串的数量小于或等于预设的数量阈值的情况下,确定所述任一字符子串符合所述归并条件。
可选的,所述归并方法还包括:
获取所述字符串流中的字符串对应的切分符序列的当前种类数量;
根据所述当前种类数量调整所述归并条件。
根据本发明的第二方面,提供了一种字符串流的归并方法,包括:
获取字符串流中的字符串;
提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
获取所述字符串流中的字符串对应的切分符序列的当前种类数量;
根据所述当前种类数量调整用于对所述字符串流进行归并处理的归并条件。
根据本发明的第三方面,提供了一种字符串流的归并装置,包括:
第一获取模块,用于获取字符串流中的字符串;
第一提取模块,用于提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
切分模块,用于根据所述切分符序列对所述字符串进行切分,得到对应所述字符串的多个字符子串;
确定模块,用于对于至少一个字符子串,分别获取所述字符串流中包含自身的字符串的数量,作为所述至少一个字符子串的数量;以及,
归并模块,用于根据所述至少一个字符子串的数量,对所述字符串流进行归并处理。
根据本发明的第四方面,提供了一种字符串流的归并装置,包括:
第二获取模块,用于获取字符串流中的字符串;
第二提取模块,用于提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
数量获取模块,用于获取所述字符串流中的字符串对应的切分符序列的当前种类数量;
条件调整模块,用于根据所述当前种类数量调整用于对所述字符串流进行归并处理的归并条件。
根据本发明的第五方面,提供了一种电子设备,包括:
根据本发明第三方面或第四方面所述的归并装置;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据本发明第一方面或第二方面所述的归并方法。
在本发明的实施例中,通过对字符串流中的字符串进行切分,得到字符串的多个字符子串,并字符串流中包含每一个字符子串的数量,对字符串流进行归并处理。这样,可以自动地实时对字符串流进行归并处理,无需批量提取数据特征,也无需人工参与。而且,还可以根据切分符序列的种类数量调整归并条件,以适应字符串流的变化,可以提高归并的准确性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明的实施例的电子设备的硬件配置的例子的框图。
图2示出了本发明的第一实施例的字符串流的归并方法的流程图。
图3示出了本发明的第一实施例的确定字符子串的数量的步骤的流程图。
图4示出了本发明的第一实施例的归并字符串流的步骤的流程图。
图5示出了本发明的第一实施例的确定字符子串是否符合归并条件的步骤的一个例子的流程图。
图6示出了本发明的第一实施例的确定字符子串是否符合归并条件的步骤的另一个例子的流程图。
图7示出了本发明的第一实施例的字符串流的归并装置的一个例子的框图。
图8示出了本发明的第一实施例的字符串流的归并装置的另一个例子的框图。
图9示出了本发明的第二实施例的字符串流的归并方法的流程图。
图10示出了本发明的第二实施例的字符串流的归并装置的一个例子的框图。
图11示出了本发明的实施例的电子设备的框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项字符串流的归并方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<第一实施例>
<方法>
本发明实施例的总体构思,是提供一种归并字符串流的新技术方案,通过对字符串流中的字符串进行切分,得到字符串的多个字符子串,并字符串流中包含每一个字符子串的数量,对字符串流进行归并处理。这样,可以自动地实时对字符串流进行归并处理,无需批量提取数据特征,也无需人工参与。而且,还可以根据切分符序列的种类数量调整归并条件,以适应字符串流的变化,可以提高归并的准确性。
在本实施例中,提供一种字符串流的归并方法。该归并方法可以是由电子设备实施。该电子设备可以是便携式电脑、台式计算机、手机、平板电脑等终端,也可以是服务器。在一个例子中,可以是如图1所示的电子设备1000。
在本实施例中,字符串流的归并方法可以如图2所示,包括步骤S2100-S2500。
步骤S2100,获取字符串流中的字符串。
具体的,本实施例中的字符串流中包括按照时间顺序传输的多个字符串。那么,该步骤中获取字符串流中的字符串可以是获取字符串流中最新输入的字符串。
字符串可以是符号、数字、字母组成的一个连续序列的字符序列。
在一个例子中,字符串可以是URL。URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
字符串流中每个字符串的输入可以是根据用户的操作来触发的。例如,可以是在用户针对预设网站执行一次下单或者是访问等操作时,触发对应的字符串输入。
在一个例子中,在执行该步骤S2100之前,该归并方法还可以包括:
检测对字符串流进行归并处理的事件是否发生;在检测到该事件发生的情况下,执行该步骤S2100。
具体的,该事件例如可以包括但不限于以下任意一项或多项:
字符串流中字符串的输入;
字符串流中包含的字符串的数量超过预设的阈值;
达到设定的时间。
在对字符串流进行归并处理的事件包括字符串流中字符串的输入的情况下,可以是在字符串流中每增加一个字符串时,判定该对字符串流进行归并处理的事件发生。
在对字符串流进行归并处理的事件包括字符串流中包含的字符串的数量超过预设的阈值的情况下,该阈值可以预先根据应用场景设定好。例如,该阈值可以是100个。那么,在字符串流中包含的字符串的数量超过100个的情况下,判定该对字符串流进行归并处理的事件发生。
在对字符串流进行归并处理的事件包括达到设定的时间的情况下,设定的时间例如可以是每天中午12点。那么,在每天中午12的时候可以判定该对字符串流进行归并处理的事件发生。
步骤S2200,提取字符串中的切分符,构成对应该字符串的切分符序列。
在一个例子中,切分符可以是用于组成字符串的符号。例如,在字符串为URL的情况下,切分符可以包括“.”、“/”、“?”、“=”、“:”、“%”、“_”、“&”等。
具体的,提取字符串中的切分符,并根据切分符的排列顺序,构成该字符串的切分符序列。
例如,如果字符串为“http://www.example.com/invoices/search?user=zhangsan”,那么,提取该字符串中的切分符,构成对应该字符串的切分符序列可以是“://..//?=”。
例如,如果字符串为“http://www.example.com/invoices/search?user=lisi”,那么,提取该字符串中的切分符,构成对应该字符串的切分符序列可以是“://..//?=”。
例如,如果字符串为“https://www.example.com/user=search”,那么,提取该字符串中的切分符,构成对应该字符串的切分符序列可以是“://../=”。
进一步地,对于不同的字符串,对应的切分符序列可以相同,也可以不同。
步骤S2300,根据该切分符序列对该字符串进行切分,得到该字符串的多个字符子串。
具体的,可以是将切分符序列中任意两个相邻的切分符之间的字符序列,作为一个字符子串。得到的字符子串可以为由数字和/或字母组成的一个连续序列的字符序列。
例如,如果字符串为http://www.example.com/invoices/search?user=zhangsan,对应该字符串的切分符序列可以是“://..//?=”。那么,根据该切分符序列对该字符串进行切分得到的字符子串可以包括:“http”、“www”、“example”、“com”、“invoice”、“search”、“user”、“zhangsan”。
例如,如果字符串为http://www.example.com/invoices/search?user=lisi,对应该字符串的切分符序列可以是“://..//?=”。那么,根据该切分符序列对该字符串进行切分得到的字符子串可以包括:“http”、“www”、“example”、“com”、“invoice”、“search”、“user”、“lisi”。
例如,如果字符串为https://www.example.com/user=search,对应该字符串的切分符序列可以是“://../=”。那么,根据该切分符序列对该字符串进行切分得到的字符子串可以包括:“http”、“www”、“example”、“com”、“user”、“search”。
进一步地,对于不同的字符串中,也可以包含一个或多个相同的字符子串。
步骤S2400,对于至少一个字符子串,分别获取字符串流中包含自身的字符串的数量,作为至少一个字符子串的数量。
在一个例子中,可以是对设定周期内输入的所有字符串中包含的所有字符子串,执行该步骤S2400。
具体的,可以是在获取设定周期内输入的所有字符串,并获取每一字符串对应的切分符序列、及每一字符串包含的字符子串的情况下,对每一字符子串,分别获取字符串流中设定周期内输入的、包含自身的字符串的数量,作为每一字符子串的数量。
在一个例子中,还可以是在字符串流中每输入一个字符串的情况下,对字符串流中包含的所有字符串中包含的所有字符子串,执行该步骤S2400。
具体的,可以是获取字符串流中当前时刻之前输入的所有字符串,对每一字符子串,分别获取字符串流中当前时刻之前输入的、包含自身的字符串的数量,作为每一字符子串的数量。
在一个例子中,还可以是在字符串流中每输入一个字符串的情况下,更新最新的字符串中包含的字符子串的数量。
具体的,可以是预先存储有反映字符子串和数量之间对应关系的状态表。在每输入一个字符串的情况下,获取该字符串的每一字符子串的数量,并将该字符串的字符子串、及每一字符子串的数量更新至状态表中。
在本实施例中,由于确定每一字符子串的数量的方式相同,因此,下面将以确定字符串字符串{a1/a2/a3/a4}中包含的一个字符子串a4的数量为例进行详细说明。
在一个例子中,可以是获取字符串流中包含有字符子串a4的所有字符串的数量,作为该字符子串a4的数量。
在另一个例子中,为了提高归并字符串流的准确性,步骤S2400可以进一步包括如图3所示的步骤S2410-S2430:
步骤S2410,从字符串流中获取对应的切分符序列与该字符串{a1/a2/a3/a4}对应的切分符序列X1相同的字符串,作为目标字符串。
具体的,在字符串字符串{a1/a2/a3/a4}对应的切分符序列为切分符序列X1的情况下,可以是从字符串流中获取对应的切分符序列与切分符序列X1相同的字符串,作为目标字符串。目标字符串可以包含该字符串{a1/a2/a3/a4},且每一目标字符串对应的切分符序列相同,均为切分符序列X1。
步骤S2420,从目标字符串中选取包含字符子串a4的字符串,作为字符子串a4对应的归并字符串。
具体的,可以是将包含字符子串a4的目标字符串,作为字符子串a4对应的归并字符串。
在一个例子中,还可以确定字符子串a4相对切分符序列X1的位置关系,作为对应字符子串a4的相对位置S4;再从目标字符串中选取相对位置S4所对应的字符子串与字符子串a4相同的字符串,作为字符子串a4的归并字符串。
例如,如果字符串为:http://www.example.com/invoices/search?user=zhangsan,对应该字符串的切分符序列可以是“://..//?=”。对于字符子串“http”,与切分符序列中的第一个切分符相邻,因此,可以确定字符子串“http”的相对位置为1。对于字符子串“www”,与切分符序列中的第3个和第4个切分符相邻,因此,可以确定字符子串“www”的相对位置为3、4。对于字符子串“example”,与切分符序列中的第4个和第5个切分符相邻,因此,可以确定字符子串“example”的相对位置为4、5。对于字符子串“com”,与切分符序列中的第5个和第6个切分符相邻,因此,可以确定字符子串“com”的相对位置为5、6。对于字符子串“invoice”,与切分符序列中的第6个和第7个切分符相邻,因此,可以确定字符子串“invoice”的相对位置为6、7。对于字符子串“search”,与切分符序列中的第7个和第8个切分符相邻,因此,可以确定字符子串“search”的相对位置为7、8。对于字符子串“user”,与切分符序列中的第8个和第9个切分符相邻,因此,可以确定字符子串“user”的相对位置为8、9。对于字符子串“zhangsan”,与切分符序列中的第9个切分符相邻,因此,可以确定字符子串“zhangsan”的相对位置为9。
还可以是根据每个字符子串在所属的字符串中的排列顺序,确定每个字符子串的相对位置。在字符子串a4是从字符串{a1/a2/a3/a4}中拆分出来的情况下,字符串{a1/a2/a3/a4}为字符子串a4所属的字符串。
例如,如果字符串为:http://www.example.com/invoices/search?user=zhangsan,可以确定字符子串“http”的相对位置为1,字符子串“www”的相对位置为2,字符子串“example”的相对位置为3,字符子串“com”的相对位置为4,字符子串“invoice”的相对位置为5,字符子串“search”的相对位置为6,字符子串“user”的相对位置为7,字符子串“zhangsan”的相对位置为8。
根据字符子串a4的相对位置,从目标字符串中选取包含字符子串a4的字符串,作为字符子串a4对应的归并字符串具体可以为:从目标字符串中选取与字符子串a4的相对位置相同的字符子串与字符子串a4相同的字符串,作为字符子串a4对应的归并字符串。
例如,字符子串a4的相对位置为4,如果目标字符串字符串{b1,b2,b3,b4}中相对位置为4的字符子串b4与字符子串a4相同,那么,目标字符串{b1,b2,b3,b4}就可以作为字符子串a4对应的归并字符串。如果目标字符串{b1,b2,b3,b4}中相对位置为4的字符子串b4与字符子串a4不同,那么,目标字符串{b1,b2,b3,b4}就不可以作为字符子串a4对应的归并字符串。
步骤S2430,确定字符子串a4对应的归并字符串的数量,作为字符串a4的数量。
具体的,可以是获取字符串流中对应的切分符序列与切分符序列X1相同的字符串中,包含字符子串a4的字符串的数量,作为字符子串a4的数量。
在确定至少一个字符子串的数量之后,继续执行下述的步骤S2500。
步骤S2500,根据至少一个字符子串的数量,对字符串流进行归并处理。
具体的,该步骤S2500可以进一步包括如图4所示的步骤S2510-S2530:
步骤S2510,根据至少一个字符子串的数量,确定至少一个字符子串是否符合预设的归并条件。
步骤S2520,对字符串流中包含的符合该归并条件的字符子串替换预设的标识符,得到替换字符串。
该标识符可以是预先根据应用场景设定好的,且与字符串中包含的字母、数字、标识均不相同。例如,预设的标识符可以是“*”。
进一步地,可以是符合该归并条件的字符子串均替换为同一标识符,以进一步提升归并效果。
步骤S2530,删除重复的替换字符串。
在一个例子中,该步骤S2510可以为:在任一字符子串的数量小于或等于预设的数量阈值的情况下,确定该字符子串符合该归并条件。
数量阈值可以是预先根据应用场景设定好的。例如,数量阈值可以是3,那么,在其中一个字符子串的数量小于或等于3的情况下,对将字符串流的字符串中包含的该字符子串替换为预设的标识符。
该数量阈值也可以是随着字符串流中字符串对应的切分符序列的种类数量发生变化的。
具体的,该归并方法还可以包括:获取字符串流中的字符串对应的切分符序列的当前种类数量,并根据该当前种类数量调整数量阈值。
进一步地,可以是将相同的切分符序列作为同一种类,将不同的切分符序列归为不同种类。再确定字符串流中所有字符串对应的切分符序列的种类数量,即当前种类数量。
再进一步地,可以预先存储有反映种类数量和数量阈值之间对应关系的对照表。通过查找该对照表,可以确定与当前种类数量对应的数量阈值,以对数量阈值进行更新。
例如,在调整前的数量阈值可以是4,通过查找该对照表确定与当前种类数量对应的数量阈值为5,那么,可以将数量阈值调整为5。
在一个例子中,对符合归并条件的字符子串替换为预设的标识符,得到替换字符串的步骤可以进一步为:将字符串流的字符串中包含的数量小于或等于预设的数量阈值的字符子串均替换为“*”。
在另一个例子中,字符子串的数量是根据对应该字符子串的归并字符串的数量确定的,对符合归并条件的字符子串替换为预设的标识符,得到替换字符串的步骤可以进一步为:将数量小于或等于预设的数量阈值的字符子串对应的归并字符串中包含的该字符子串均替换为“*”。
例如,对于目标字符串1为:http://www.example.com/invoices/search?user=zhangsan;目标字符串2为:http://www.example.com/invoices/search?user=lisi;目标字符串3为:http://www.example.com/invoices/search?user=wangwu;目标字符串4为:http://www.example.com/invoices/search?user=zhaoliu;目标字符串5为:http://www.example.com/invoices/search?user=com;目标字符串6为:http://www.example.com/invoices/search?user=com。其中,对于字符子串“http”、“www”、“example”、“com”、“invoices”、“search”、“user”,对应的归并子串均为目标字符串1-6。对应字符子串“zhangsan”的归并字符串为目标字符串1,对应字符子串“lisi”的归并字符串为目标字符串2,对应字符子串“wangwu”的归并字符串为目标字符串3,对应字符子串“zhaoliu”的归并字符串为目标字符串4,对应字符子串“com”归并字符串为目标字符串5和6。字符子串“http”、“www”、“example”、“com”、“invoices”、“search”、“user”的数量均为6,字符子串“zhangsan”、“lisi”、“wangwu”、“zhaoliu”的数量均为1,字符子串“com”的数量为2。那么,在数量阈值为1的情况下,可以将数量小于等于数量阈值1的字符子串“zhangsan”、“lisi”、“wangwu”、“zhaoliu”、“com”均替换为标识符“*”。那么,得到的替换字符串可以包括:http://www.example.com/invoices/search?user=*、http://www.example.com/invoices/search?user=*、http://www.example.com/invoices/search?user=*、http://www.example.com/invoices/search?user=*、http://www.example.com/invoices/search?user=com、http://www.example.com/invoices/search?user=com。再删除其中重复的替换字符串,可以得到归并后的字符串为http://www.example.com/invoices/search?user=*和http://www.example.com/invoices/search?user=com。
在另一个例子中,该步骤S2510还可以包括如图5所示的步骤S2511-S2513:
步骤S2511,获取目标字符串中对应每一相对位置的字符子串的数量。
步骤S2512,根据对应每一相对位置的字符子串的数量,对目标字符串中对应每一相对位置的字符子串进行降序排序,获取对应每一相对位置的字符子串的排序值。
步骤S2513,根据对应每一相对位置的字符子串的排序值确定每一字符子串是否符合归并条件。
具体的,可以是确定对应任一相对位置、排序值大于或等于预设的排序值阈值的字符子串符合归并条件。这样,可以进一步提高字符串流的归并效果。
排序值阈值可以是预先根据应用场景设定好的。例如,排序值阈值可以是3,那么,在对应任一相对位置、排序值大于或等于3的字符子串替换为预设的标识符。
该排序值阈值还可以是随着字符串流中字符串对应的切分符序列的种类数量发生变化的。
具体的,该归并方法还可以包括:获取字符串流中的字符串对应的切分符序列的当前种类数量,并根据该当前种类数量调整排序值阈值。
进一步地,可以是将相同的切分符序列作为同一种类,将不同的切分符序列归为不同种类。再确定字符串流中所有字符串对应的切分符序列的种类数量,即当前种类数量。
再进一步地,可以预先存储有反映种类数量和排序值阈值之间对应关系的对照表。通过查找该对照表,可以确定与当前种类数量对应的排序值阈值,以对排序值阈值进行更新。
如果调整前的排序值阈值可以是4,通过查找该对照表确定与当前种类数量对应的排序值阈值为5,那么,可以将排序值阈值调整为5。
那么,对符合归并条件的字符子串替换为预设的标识符,得到替换字符串的步骤可以进一步为:将目标字符串中对应任一相对位置、排序值大于或等于预设的排序值阈值的字符子串替换为预设的标识符。
例如,目标字符串{a1/a2/a3/a4}、目标字符串{b1/b2/b3/b4}、目标字符串{c1/c2/c3/c4}、目标字符串{d1/d2/d3/d4}、目标字符串{e1/e2/e3/e4}和目标字符串{f1/f2/f3/f4},相对位置为4的字符子串包括a4、b4、c4、d4、e4、f4,可以获取字符子串a4、b4、c4、d4、e4、f4的数量,并对字符子串a4、b4、c4、d4、e4、f4进行降序排序,分别获取字符子串a4、b4、c4、d4、e4、f4的排序值。可以是字符子串a4的排序值为1,字符子串b4的排序值为2,字符子串c4的排序值为3,字符子串d4的排序值为4,字符子串e4的排序值为5,字符子串f4的排序值为6。那么,在预设的排序值阈值为3的情况下,可以将排序值大于或等排序值阈值的字符子串c4、d4、e4、f4替换为预设的标识符“*”。
再例如,对于目标字符串1为:http://www.example.com/invoices/search?user=zhangsan;目标字符串2为:http://www.example.com/invoices/search?user=lisi;目标字符串3为:http://www.example.com/invoices/search?user=wangwu;目标字符串4为:http://www.example.com/invoices/search?user=zhaoliu;目标字符串5为:http://www.example.com/invoices/search?user=com;目标字符串6为:http://www.example.com/invoices/search?user=com。
对于相对位置为1的字符子串为“http”,其排序值为1,可以无需将字符子串“http”替换为标识符“*”。对于相对位置为2的字符子串为“www”,其排序值为1,可以无需将字符子串“www”替换为标识符“*”。对于相对位置为3的字符子串为“example”,其排序值为1,可以无需将字符子串“example”替换为标识符“*”。对于相对位置为4的字符子串为“com”,其排序值为1,可以无需将字符子串“com”替换为标识符“*”。对于相对位置为5的字符子串为“invoices”,其排序值为1,可以无需将字符子串“invoices”替换为标识符“*”。对于相对位置为6的字符子串为“search”,其排序值为1,可以无需将字符子串“search”替换为标识符“*”。对于相对位置为7的字符子串为“user”,其排序值为1,可以无需将字符子串“user”替换为标识符“*”。
对于相对位置为8的字符子串包括“zhangsan”、“lisi”、“wangwu”、“zhaoliu”、“com”。在预设的排序值阈值为2的情况下,字符子串包括“zhangsan”、“lisi”、“wangwu”、“zhaoliu”、“com”,字符子串“com”的排序值为1,其他字符子串的排序值均为2,那么,可以将排序值大于或等于排序值阈值2的字符子串“zhangsan”、“lisi”、“wangwu”、“zhaoliu”替换为预设的标识符“*”。
那么,对目标字符串1、2、3、4、5、6进行归并处理,得到的归并后的字符串可以包括:http://www.example.com/invoices/search?user=*和http://www.example.com/invoices/search?user=com。
在再一个例子中,该步骤S2500还可以包括如图6所示的步骤S2521-S2523:
步骤S2521,获取目标字符串中对应每一相对位置的字符子串的数量。
步骤S2522,根据对应每一相对位置的字符子串的数量,确定目标字符串中对应每一相对位置的字符子串所占的百分比。
步骤S2523,根据对应每一相对位置的字符子串所占的百分比确定每一字符子串是否符合归并条件。
具体的,可以是确定对应任一相对位置、所占的百分比小于或等于预设的百分比阈值的字符子串符合归并条件。这样,可以进一步提高字符串流的归并效果。
百分比阈值可以是预先根据应用场景设定好的。例如,百分比阈值可以是50%,那么,在对应任一相对位置、所占的百分比小于或等于20%的字符子串替换为预设的标识符。
该百分比阈值可以是随着字符串流中字符串对应的切分符序列的种类数量发生变化的。
具体的,该归并方法还可以包括:获取字符串流中的字符串对应的切分符序列的当前种类数量,并根据该当前种类数量调整百分比阈值。
进一步地,可以是将相同的切分符序列作为同一种类,将不同的切分符序列归为不同种类。再确定字符串流中所有字符串对应的切分符序列的种类数量,即当前种类数量。
再进一步地,可以预先存储有反映种类数量和百分比阈值之间对应关系的对照表。通过查找该对照表,可以确定与当前种类数量对应的百分比阈值,以对百分比阈值进行更新。
如果调整前的百分比阈值可以是20%,通过查找该对照表确定与当前种类数量对应的百分比阈值为15%,那么,可以将百分比阈值调整为15%。
那么,对符合归并条件的字符子串替换为预设的标识符,得到替换字符串的步骤可以进一步为:将目标字符串中对应任一相对位置、所占的百分比小于或等于预设的百分比阈值的字符子串替换为预设的标识符。
例如,对于目标字符串1为:http://www.example.com/invoices/search?user=zhangsan;目标字符串2为:http://www.example.com/invoices/search?user=lisi;目标字符串3为:http://www.example.com/invoices/search?user=wangwu;目标字符串4为:http://www.example.com/invoices/search?user=zhaoliu;目标字符串5为:http://www.example.com/invoices/search?user=com;目标字符串6为:http://www.example.com/invoices/search?user=com。
对于相对位置为1的字符子串为“http”,其所占百分比为100%,可以无需将字符子串“http”替换为标识符“*”。对于相对位置为2的字符子串为“www”,其所占百分比为100%,可以无需将字符子串“www”替换为标识符“*”。对于相对位置为3的字符子串为“example”,其所占百分比为100%,可以无需将字符子串“example”替换为标识符“*”。对于相对位置为4的字符子串为“com”,其所占百分比为100%,可以无需将字符子串“com”替换为标识符“*”。对于相对位置为5的字符子串为“invoices”,其所占百分比为100%,可以无需将字符子串“invoices”替换为标识符“*”。对于相对位置为6的字符子串为“search”,其所占百分比为100%,可以无需将字符子串“search”替换为标识符“*”。对于相对位置为7的字符子串为“user”,其所占百分比为100%,可以无需将字符子串“user”替换为标识符“*”。
对于相对位置为8的字符子串包括“zhangsan”、“lisi”、“wangwu”、“zhaoliu”、“com”。在预设的百分比阈值为20%的情况下,字符子串包括“zhangsan”、“lisi”、“wangwu”、“zhaoliu”、“com”,字符子串“com”所占的百分比为33.3%,其他字符子串的排序值均为16.7%,那么,可以将所占百分比小于或等于百分比阈值20%的字符子串“zhangsan”、“lisi”、“wangwu”、“zhaoliu”替换为预设的标识符“*”。
那么,对目标字符串1、2、3、4、5、6进行归并处理,得到的归并后的字符串可以包括:http://www.example.com/invoices/search?user=*和http://www.example.com/invoices/search?user=com。
在一个例子中,还可以是根据字符子串的数量、对应每一相对位置的字符子串的排序值、对应每一相对位置的字符子串所占的百分比中的任意一个或者是任意组合,来确定每一字符子串是否符合归并条件。
在本发明的实施例中,通过对字符串流中的字符串进行切分,得到字符串的多个字符子串,并字符串流中包含每一个字符子串的数量,对字符串流进行归并处理。这样,可以自动地实时对字符串流进行归并处理,无需批量提取数据特征,也无需人工参与。而且,还可以根据切分符序列的种类数量调整归并条件,以适应字符串流的变化,可以提高归并的准确性。此外,通过调整归并条件,还可以用于监控网站的浏览量、店铺的销量等。
<装置>
在本实施例中,提供一种字符串流的归并装置7000,如图7所示,包括获取模块7100、提取模块7200、切分模块7300、确定模块7400和归并模块7500。该获取模块7100用于获取字符串流中的字符串;该提取模块7200用于提取字符串中的切分符,构成对应字符串的切分符序列;该切分模块7300用于根据切分符序列对字符串进行切分,得到对应字符串的多个字符子串;该确定模块7400用于对于至少一个字符子串,分别获取字符串流中包含自身的字符串的数量,作为至少一个字符子串的数量;该归并模块7500用于根据至少一个字符子串的数量,对字符串流进行归并处理。
在一个例子中,如图8所示,该归并模块7500还可以包括确定单元7510、替换单元7520和删除单元7530。该确定单元7510用于根据至少一个字符子串的数量,确定至少一个字符子串是否符合预设的归并条件;该替换单元7520用于将字符串流中包含的不符合归并调节的字符子串替换为预设的标识符,得到替换字符串;该删除单元7530用于删除重复的替换字符串。
如图8所示,该确定模块7400可以包括目标字符串获取单元7410、归并字符串选取单元7420和数量确定单元7430。该目标字符串获取单元7410用于从字符串流中获取对应的切分符序列与切分符序列相同的字符串,作为目标字符串;该归并字符串选取单元7420用于对于至少一个字符子串,分别从目标字符串中选取包含自身的字符串,作为至少一个字符子串对应的归并字符串;该数量确定单元7430用于确定至少一个字符子串对应的归并字符串的数量,作为至少一个字符子串的数量。
进一步地,归并字符串选取单元7420还可以包括:相对位置确定子单元和归并字符串选取子单元(图中未示出)。该相对位置确定子单元用于确定至少一个字符子串相对切分符序列的位置关系,作为对应至少一个字符子串的相对位置;该归并字符串选取子单元用于对于至少一个字符子串,分别从目标字符串中选取对应自身的相对位置的字符子串与自身相同的字符串,作为至少一个字符子串中每一字符子串对应的归并字符串。
在一个例子中,确定单元7510还可以用于:获取目标字符串中对应每一相对位置的字符子串的数量;根据对应每一相对位置的字符子串的数量,对目标字符串中对应每一相对位置的字符子串进行降序排序,获取对应每一相对位置的字符子串的排序值;根据对应每一相对位置的字符子串的排序值,确定至少一个字符子串是否符合预设的归并条件。
在另一个例子中,确定单元7510还可以用于:获取目标字符串中对应每一相对位置的字符子串的数量;根据对应每一相对位置的字符子串的数量,确定目标字符串中对应每一相对位置的字符子串所占的百分比;根据对应每一相对位置的字符子串所占的百分比,确定至少一个字符子串是否符合预设的归并条件。
在再一个例子中,确定单元7510还可以用于:在任一字符子串的数量小于或等于预设的数量阈值的情况下,确定任一字符子串符合预设的归并条件。
如图8所示,该归并装置7000还可以包括:种类数量获取模块8100和归并条件调整模块8200。该种类数量获取模块8100用于获取字符串流中的字符串对应的切分符序列的当前种类数量;该归并条件调整模块8200用于根据当前种类数量调整归并条件。
本领域技术人员应当明白,可以通过各种方式来实现字符串流的归并装置7000。例如,可以通过指令配置处理器来实现字符串流的归并装置7000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现字符串流的归并装置7000。例如,可以将字符串流的归并装置7000固化到专用器件(例如ASIC)中。可以将字符串流的归并装置7000分成相互独立的单元,或者可以将它们合并在一起实现。字符串流的归并装置7000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
在本实施例中,字符串流的归并装置7000可以具有多种实现形式,例如,字符串流的归并装置7000可以是任何的提供网络访问服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。
<第二实施例>
<方法>
本发明实施例的总体构思,是提供一种归并字符串流的新技术方案,通过提取字符串流中字符串的切分符,构成对应字符串的切分符序列,并根据字符串流中字符串对应的切分符序列的当前种类数量,对用于对所述字符串流进行归并处理的归并条件进行自适应调整。这样,根据切分符序列的种类数量调整归并条件,可以适应字符串流的变化,还可以提高归并的准确性。
在本实施例中,提供一种字符串流的归并方法。该归并方法可以是由电子设备实施。该电子设备可以是便携式电脑、台式计算机、手机、平板电脑等终端,也可以是服务器。在一个例子中,可以是如图1所示的电子设备1000。
在本实施例中,字符串流的归并方法可以如图9所示,包括步骤S9100-S9400。
步骤S9100,获取字符串流中的字符串。
本实施例中的步骤S9100可以参照第一实施例中对步骤S2100的描述,在此不再赘述。
步骤S9200,提取字符串中的切分符,构成对应该字符串的切分符序列。
本实施例中的步骤S9200可以参照第一实施例中对步骤S2200的描述,在此不再赘述。
步骤S9300,获取所述字符串流中的字符串对应的切分符序列的当前种类数量。
可以是将相同的切分符序列作为同一种类,将不同的切分符序列归为不同种类。再确定字符串流中所有字符串对应的切分符序列的种类数量,即当前种类数量。
步骤S9400,根据当前种类数量调整用于对字符串流进行归并处理的归并条件。
本实施例中的归并条件的具体用途可以参照第一实施例,在此不再赘述。
该归并条件可以包括设置的最小数量阈值,以使字符串中的任一字符子串的数量小于或等于该最小数量阈值的情况下,确定该字符子串符合该归并条件,需要对字符串流中包含的该字符子串进行归并处理。
可以预先存储有反映种类数量和最小数量阈值之间对应关系的对照表。通过查找该对照表,可以确定与当前种类数量对应的最小数量阈值,以对最小数量阈值进行更新。
例如,在调整前归并条件中的最小数量阈值可以是4,通过查找该对照表确定与当前种类数量对应的最小数量阈值为5,那么,可以将归并条件中的最小数量阈值调整为5。
该归并条件还可以包括设置的最大排序值阈值,以使字符串中的任一字符子串的排序值大于或等于该最大排序值阈值的情况下,确定该字符子串符合该归并条件,需要对字符串流中包含的该字符子串进行归并处理。
可以预先存储有反映种类数量和最大排序值阈值之间对应关系的对照表。通过查找该对照表,可以确定与当前种类数量对应的最大排序值阈值,以对最大排序值阈值进行更新。
例如,在调整前归并条件中的最大排序值阈值可以是4,通过查找该对照表确定与当前种类数量对应的最大排序值阈值为3,那么,可以将归并条件中的最大排序值阈值调整为3。
<装置>
在本实施例中,提供一种字符串流的归并装置9000,如图10所示,包括第二获取模块9100、第二提取模块9200、数量获取模块9300和条件调整模块9400。该第二获取模块9100用于获取字符串流中的字符串;该第二提取模块9200用于提取所述字符串中的切分符,构成对应所述字符串的切分符序列;该数量获取模块9300用于获取所述字符串流中的字符串对应的切分符序列的当前种类数量;该条件调整模块9400用于根据所述当前种类数量调整用于对所述字符串流进行归并处理的归并条件。
<电子设备>
在本实施例中,还提供一种电子设备,在一方面,该电子设备可以包括第一实施例的字符串流的归并装置7000,和/或,第二实施例的字符串流的归并装置9000。
在另一方面,如图11所示,该电子设备4000可以包括存储器4100和处理器4200。该存储器4100用于存储指令;该指令用于控制处理器4200执行第一实施例和/或第二实施例中提供的字符串流的归并方法。
在本实施例中,该电子设备4000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等任意具有对应的存储器4100以及处理器4200的电子设备。
在本实施例中,电子设备4000还可以包括其他的硬件装置,例如,如图1所示的电子设备1000。
在本发明的实施例中,通过对字符串流中的字符串进行切分,得到字符串的多个字符子串,并字符串流中包含每一个字符子串的数量,对字符串流进行归并处理。这样,可以自动地实时对字符串流进行归并处理,无需批量提取数据特征,也无需人工参与。而且,还可以根据切分符序列的种类数量调整归并条件,以适应字符串流的变化,可以提高归并的准确性。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (12)

1.一种字符串流的归并方法,其中,包括:
获取字符串流中的字符串;
提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
根据所述切分符序列对所述字符串进行切分,得到所述字符串的多个字符子串;
对于至少一个字符子串,分别获取所述字符串流中在相同的相对位置上包含自身、且对应的切分符序列相同的字符串的数量,作为所述至少一个字符子串的数量;
根据所述至少一个字符子串的数量,对所述字符串流进行归并处理。
2.根据权利要求1所述的归并方法,其中,所述根据至少一个字符子串的数量,对所述字符串流进行归并处理的步骤包括:
根据至少一个字符子串的数量,确定至少一个字符子串是否符合预设的归并条件;
将所述字符串流中包含的符合所述归并条件的字符子串替换为预设的标识符,得到替换字符串;
删除重复的替换字符串。
3.根据权利要求2所述的归并方法,其中,所述对于至少一个字符子串,分别获取所述字符串流中包含自身的字符串的数量,作为所述至少一个字符子串的数量的步骤包括:
从所述字符串流中获取对应的切分符序列与所述切分符序列相同的字符串,作为目标字符串;
对于所述至少一个字符子串,分别从所述目标字符串中选取包含自身的字符串,作为所述至少一个字符子串对应的归并字符串;
确定所述至少一个字符子串对应的归并字符串的数量,作为所述至少一个字符子串的数量。
4.根据权利要求3所述的归并方法,其中,所述对于所述至少一个字符子串,分别从所述目标字符串中选取包含自身的字符串,作为所述至少一个字符子串对应的归并字符串的步骤包括:
确定所述至少一个字符子串相对所述切分符序列的位置关系,作为对应所述至少一个字符子串的相对位置;
对于所述至少一个字符子串,分别从所述目标字符串中选取对应自身的相对位置的字符子串与自身相同的字符串,作为所述至少一个字符子串中每一字符子串对应的归并字符串。
5.根据权利要求4所述的归并方法,其中,所述根据所述至少一个字符子串的数量,确定所述至少一个字符子串是否符合预设的归并条件的步骤包括:
获取所述目标字符串中对应每一相对位置的字符子串的数量;
根据对应每一相对位置的字符子串的数量,对所述目标字符串中对应每一相对位置的字符子串进行降序排序,获取对应每一相对位置的字符子串的排序值;
根据对应每一相对位置的字符子串的排序值,确定所述至少一个字符子串是否符合所述归并条件。
6.根据权利要求4所述的归并方法,其中,所述根据所述至少一个字符子串的数量,确定所述至少一个字符子串是否符合预设的归并条件的步骤包括:
获取所述目标字符串中对应每一相对位置的字符子串的数量;
根据对应每一相对位置的字符子串的数量,确定所述目标字符串中对应每一相对位置的字符子串所占的百分比;
根据对应每一相对位置的字符子串所占的百分比,确定所述至少一个字符子串是否符合所述归并条件。
7.根据权利要求2所述的归并方法,其中,所述根据所述至少一个字符子串的数量,确定所述至少一个字符子串是否符合预设的归并条件的步骤包括:
在任一字符子串的数量小于或等于预设的数量阈值的情况下,确定所述任一字符子串符合所述归并条件。
8.根据权利要求2-7中任一项所述的归并方法,其中,所述归并方法还包括:
获取所述字符串流中的字符串对应的切分符序列的当前种类数量;
根据所述当前种类数量调整所述归并条件。
9.一种字符串流的归并方法,其中,包括:
获取字符串流中的字符串;
提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
获取所述字符串流中的字符串对应的切分符序列的当前种类数量;
根据所述当前种类数量调整用于对所述字符串流进行归并处理的归并条件;
根据所述切分符序列对所述字符串进行切分,得到所述字符串的多个字符子串;
对于至少一个字符子串,分别获取所述字符串流中在相同的相对位置上包含自身、且对应的切分符序列相同的字符串的数量,作为所述至少一个字符子串的数量;
根据所述至少一个字符子串的数量和所述归并条件,对所述字符串流进行归并处理。
10.一种字符串流的归并装置,其中,包括:
第一获取模块,用于获取字符串流中的字符串;
第一提取模块,用于提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
切分模块,用于根据所述切分符序列对所述字符串进行切分,得到对应所述字符串的多个字符子串;
确定模块,用于对于至少一个字符子串,分别获取所述字符串流中在相同的相对位置上包含自身、且对应的切分符序列相同的字符串的数量,作为所述至少一个字符子串的数量;以及,
归并模块,用于根据所述至少一个字符子串的数量,对所述字符串流进行归并处理。
11.一种字符串流的归并装置,其中,包括:
第二获取模块,用于获取字符串流中的字符串;
第二提取模块,用于提取所述字符串中的切分符,构成对应所述字符串的切分符序列;
数量获取模块,用于获取所述字符串流中的字符串对应的切分符序列的当前种类数量;
条件调整模块,用于根据所述当前种类数量调整用于对所述字符串流进行归并处理的归并条件;
切分模块,用于根据所述切分符序列对所述字符串进行切分,得到所述字符串的多个字符子串;
确定模块,用于对于至少一个字符子串,分别获取所述字符串流中在相同的相对位置上包含自身、且对应的切分符序列相同的字符串的数量,作为所述至少一个字符子串的数量;
归并模块,用于根据所述至少一个字符子串的数量和所述归并条件,对所述字符串流进行归并处理。
12.一种电子设备,其中,包括:
根据权利要求10或11所述的归并装置;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1-9中任一项所述的归并方法。
CN201910020990.8A 2019-01-09 2019-01-09 一种字符串流的归并方法、装置及电子设备 Active CN111428491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910020990.8A CN111428491B (zh) 2019-01-09 2019-01-09 一种字符串流的归并方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910020990.8A CN111428491B (zh) 2019-01-09 2019-01-09 一种字符串流的归并方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111428491A CN111428491A (zh) 2020-07-17
CN111428491B true CN111428491B (zh) 2024-03-22

Family

ID=71545930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910020990.8A Active CN111428491B (zh) 2019-01-09 2019-01-09 一种字符串流的归并方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111428491B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796354A (zh) * 2014-11-19 2015-07-22 中国科学院信息工程研究所 一种乱序数据包字符串匹配方法及系统
WO2015158271A1 (en) * 2014-04-18 2015-10-22 Tencent Technology (Shenzhen) Company Limited Character string display method and apparatus
CN106033416A (zh) * 2015-03-09 2016-10-19 阿里巴巴集团控股有限公司 一种字符串处理方法及装置
CN108933781A (zh) * 2018-06-19 2018-12-04 上海点融信息科技有限责任公司 用于处理字符串的方法、装置及计算机可读存储介质
CN108984695A (zh) * 2018-07-04 2018-12-11 科大讯飞股份有限公司 一种字符串匹配方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825693B2 (en) * 2007-12-12 2014-09-02 Trend Micro Incorporated Conditional string search
US9600542B2 (en) * 2014-06-27 2017-03-21 Sap Se Fuzzy substring search

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015158271A1 (en) * 2014-04-18 2015-10-22 Tencent Technology (Shenzhen) Company Limited Character string display method and apparatus
CN104796354A (zh) * 2014-11-19 2015-07-22 中国科学院信息工程研究所 一种乱序数据包字符串匹配方法及系统
CN106033416A (zh) * 2015-03-09 2016-10-19 阿里巴巴集团控股有限公司 一种字符串处理方法及装置
CN108933781A (zh) * 2018-06-19 2018-12-04 上海点融信息科技有限责任公司 用于处理字符串的方法、装置及计算机可读存储介质
CN108984695A (zh) * 2018-07-04 2018-12-11 科大讯飞股份有限公司 一种字符串匹配方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Zhiwei Jiang等.A Novel Short Merged Off-line Handwritten Chinese Character String Segmentation Algorithm Using Hidden Markov Model.《2011 International Conference on Document Analysis and Recognition》.2011,全文. *
于金伦 ; 周祥东 ; 刘成林 ; .手写字符串识别搜索算法.《模式识别与人工智能》.2009,(第02期),全文. *
周浪 ; 冯冲 ; 黄河燕 ; 王平尧 ; .一种基于独立性统计的子串归并算法.《计算机工程与应用》.2010,(第24期),全文. *
邓一贵 ; .基于字符频率及分治法的字符串模式匹配算法.《计算机科学》.2008,(第06期),全文. *

Also Published As

Publication number Publication date
CN111428491A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN112650907B (zh) 搜索词的推荐方法、目标模型的训练方法、装置及设备
CN107679119B (zh) 生成品牌衍生词的方法和装置
US20190179965A1 (en) Method and apparatus for generating information
CN103246713A (zh) 一种网页浏览方法及装置
CN111339406B (zh) 个性化推荐方法、装置、设备及存储介质
US20180011933A1 (en) Method, apparatus, and server for generating hotspot content
CN105991722B (zh) 一种下载器推荐方法、应用服务器、终端及系统
CN111881339B (zh) 资源信息的推送、通知方法、装置、电子设备及存储介质
CN113765873A (zh) 用于检测异常访问流量的方法和装置
CN109753424B (zh) Ab测试的方法和装置
CN113657113A (zh) 文本处理方法、装置和电子设备
CN111199802A (zh) 一种电子病历数据挖掘方法、装置、设备和介质
CN106899755B (zh) 信息分享方法、信息分享装置及终端
CN109710811B (zh) 用户画像的检测方法、设备及应用系统
CN105095253A (zh) 网页显示方法及装置
CN110955833A (zh) 一种搜索方法、装置、服务器、终端设备和介质
US20160004698A1 (en) System and method for modifying and ranking searches with actions based on prior search results and actions
CN111125176A (zh) 一种业务数据搜索方法、装置、电子设备和存储介质
CN112699314A (zh) 热点事件确定方法、装置、电子设备及存储介质
CN111428491B (zh) 一种字符串流的归并方法、装置及电子设备
CN106844406B (zh) 检索方法和检索装置
CN105589570A (zh) 一种处理输入错误的方法和装置
CN112000875B (zh) 一种信息显示的方法、终端、服务器
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN108596711B (zh) 应用推荐方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 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