CN105279238B - 字符串处理方法和装置 - Google Patents

字符串处理方法和装置 Download PDF

Info

Publication number
CN105279238B
CN105279238B CN201510628041.XA CN201510628041A CN105279238B CN 105279238 B CN105279238 B CN 105279238B CN 201510628041 A CN201510628041 A CN 201510628041A CN 105279238 B CN105279238 B CN 105279238B
Authority
CN
China
Prior art keywords
character
target string
string
preset
ratio
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
CN201510628041.XA
Other languages
English (en)
Other versions
CN105279238A (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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510628041.XA priority Critical patent/CN105279238B/zh
Publication of CN105279238A publication Critical patent/CN105279238A/zh
Application granted granted Critical
Publication of CN105279238B publication Critical patent/CN105279238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种字符串处理方法和装置。其中,该方法包括:获取目标字符串;从目标字符串上随机选择预设数量的字符;利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量;以及根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例,将比例作为目标字符串中有效字符的比例。本申请解决了对灌水帖的字符串中有效字符的比例计算速度慢的技术问题。

Description

字符串处理方法和装置
技术领域
本申请涉及互联网领域,具体而言,涉及一种字符串处理方法和装置。
背景技术
在互联网领域,对网络数据进行分析之前,需要从网络上爬取大量的数据,例如论坛、微博等数据。而在论坛的帖子的正文中,经常被恶意的注入许多链接,数量可能会达到几千甚至上万个,称为灌水帖。这种论坛可能整个板块都被灌水帖占据,且每天不断的更新。这些灌水帖被爬取下来后,在解析论坛的帖子内容过程中,会极大的降低解析的效率,因此,需要找出灌水帖,并将其剔除。
目前,对于灌水帖的识别通常是:在给定有效字符集的情况下,遍历整个帖子内容里的字符串,计算整个字符串内有效字符的个数,再根据有效字符的比例来判别字符串是否为灌水帖。然而,大部分灌水帖的篇幅较长,可能包含上万甚至几十万的字符数,这使得遍历整个字符串的过程耗时长,有效字符的比例计算速度慢,进而导致对灌水帖的识别效率低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种字符串处理方法和装置,以至少解决对灌水帖的字符串中有效字符的比例计算速度慢的技术问题。
根据本申请实施例的一个方面,提供了一种字符串处理方法,包括:获取目标字符串;从所述目标字符串上随机选择预设数量的字符;利用预先设置的有效字符集从选择的所述预设数量的字符中确定出有效字符,统计所述有效字符的数量;以及根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例,将所述比例作为所述目标字符串中有效字符的比例。
进一步地,在所述根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例之后,所述方法还包括:记录所述有效字符的比例;判断从所述目标字符串上随机选择预设数量的字符的次数是否超过预设次数;在从所述目标字符串上随机选择预设数量的字符的次数未超过所述预设次数时,将从所述目标字符串上随机选择预设数量的字符的次数加1,并返回执行从所述目标字符串上随机选择预设数量的字符的步骤;在从所述目标字符串上随机选择预设数量的字符的次数超过所述预设次数时,计算记录的有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
进一步地,从所述目标字符串上随机选择预设数量的字符包括:从所述目标字符串上随机截取多个预设长度的字符串;利用预先设置的有效字符集从选择的所述预设数量的字符中确定出有效字符,统计所述有效字符的数量包括:利用所述预先设置的有效字符集分别从多个预设长度的字符串中确定出有效字符,统计每个预设长度的字符串中有效字符的数量;根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例,将所述比例作为所述目标字符串中有效字符的比例包括:根据所述预设长度和所述每个预设长度的字符串中有效字符的数量分别计算每个预设长度的字符串中有效字符的比例,计算所述多个预设长度的字符串中有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
进一步地,在获取目标字符串之后,所述方法还包括:计算所述目标字符串的长度;从所述目标字符串上随机选择预设数量的字符包括:随机生成所述预设数量的随机数,其中,所述随机数为小于目标字符串的长度的正整数;以所述随机数作为位置编号,从所述目标字符串上选择所述随机数对应的位置处的字符。
进一步地,在获取目标字符串之后,以及从所述目标字符串上随机选择预设数量的字符之前,所述方法还包括:计算所述目标字符串的长度;判断所述目标字符串的长度是否小于长度阈值;在判断所述目标字符串的长度小于所述长度阈值时,利用预先设置的有效字符集遍历所述目标字符串得到有效字符的数量,并计算所述目标字符串上有效字符的比例;在判断所述目标字符串的长度大于等于所述长度阈值时,确定从所述目标字符串上随机选择预设数量的字符。
根据本申请实施例的另一方面,还提供了一种字符串处理装置,包括:获取单元,用于获取目标字符串;选择单元,用于从所述目标字符串上随机选择预设数量的字符;第一确定单元,用于利用预先设置的有效字符集从选择的所述预设数量的字符中确定出有效字符,统计所述有效字符的数量;以及第一计算单元,用于根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例,将所述比例作为所述目标字符串中有效字符的比例。
进一步地,所述装置还包括:记录单元,用于在所述根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例之后,记录所述有效字符的比例;第一判断单元,用于判断从所述目标字符串上随机选择预设数量的字符的次数是否超过预设次数;所述第一确定单元具体用于在从所述目标字符串上随机选择预设数量的字符的次数未超过所述预设次数时,将从所述目标字符串上随机选择预设数量的字符的次数加1,并执行从所述目标字符串上随机选择预设数量的字符的步骤;所述第一计算单元具体用于在从所述目标字符串上随机选择预设数量的字符的次数超过所述预设次数时,计算记录的有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
进一步地,所述获取单元具体用于从所述目标字符串上随机截取多个预设长度的字符串;所述第一确定单元具体用于利用所述预先设置的有效字符集分别从多个预设长度的字符串中确定出有效字符,统计每个预设长度的字符串中有效字符的数量;所述第一计算单元具体用于根据所述预设长度和所述每个预设长度的字符串中有效字符的数量分别计算每个预设长度的字符串中有效字符的比例,计算所述多个预设长度的字符串中有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
进一步地,所述装置还包括:第二计算单元,在获取目标字符串之后,计算所述目标字符串的长度;所述选择单元包括:生成模块,用于随机生成所述预设数量的随机数,其中,所述随机数为小于目标字符串的长度的正整数;选择模块,用于以所述随机数作为位置编号,从所述目标字符串上选择所述随机数对应的位置处的字符。
进一步地,所述装置还包括:第三计算单元,用于在获取目标字符串之后,以及从所述目标字符串上随机选择预设数量的字符之前,计算所述目标字符串的长度;第二判断单元,用于判断所述目标字符串的长度是否小于长度阈值;遍历单元,用于在判断所述目标字符串的长度小于所述长度阈值时,利用预先设置的有效字符集遍历所述目标字符串得到有效字符的数量,并计算所述目标字符串上有效字符的比例;第二确定单元,用于在判断所述目标字符串的长度大于等于所述长度阈值时,确定从所述目标字符串上随机选择预设数量的字符。
根据本申请实施例,通过获取目标字符串,从目标字符串上随机选择预设数量的字符,利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量,根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例,将该比例作为目标字符串中有效字符的比例,解决了对灌水帖的字符串中有效字符的比例计算速度慢的技术问题,提高了对灌水帖的字符串中有效字符的比例计算速度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的字符串处理方法的流程图;
图2是根据本申请实施例的优选的字符串处理方法的流程图;
图3是根据本申请实施例的字符串处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种字符串处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的字符串处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取目标字符串。
步骤S104,从目标字符串上随机选择预设数量的字符。
步骤S106,利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量。
步骤S108,根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例。将该比例作为目标字符串中有效字符的比例。
目标字符串可以是待测帖子所包含的字符串。在获取到目标字符串之后,从其中随机选择预设数量的字符,选择的字符数量即预设数量可以根据需求进行设置。再利用预先设置的有效字符集对选择出的字符进行遍历,确定出其中的有效字符。有效字符集中包含有给定的有效字符,在确定有效字符时,可以将选择的字符与该有效字符集进行匹配,如果匹配上有效字符集中的字符,则认为该选择的字符为有效字符,依次遍历选择的预设数量中所有的字符,得到其中有效字符,并统计有效字符的数量。
在得到选择的预设数量中的有效字符的数量之后,有效字符的数量除以预设数量即可得到选择的预设数量中有效字符的比例,本实施例中,将该比例作为目标字符串中有效字符的比例,从而得到整个待测帖子中的有效字符的比例,继而可以通过判断该比例是否超过预设比例来确定该待测帖子是否为灌水帖,若超过,则为灌水帖。
本实施例中,选择的预设数量的字符相当于是对目标字符串的采样,通过随机选择预设数量的字符来进行采样,使得采样中有效字符的比例与目标字符串中有效字符的比例较为接近,可以将采样中有效字符的比例作为目标字符串中有效字符的比例。而由于采样的字符比目标字符串所包含的字符数量少,从而降低遍历的字符数量,从而快速确定出目标字符串中有效字符的数量,进而提高灌水帖的识别效率。
根据本申请实施例,通过获取目标字符串,从目标字符串上随机选择预设数量的字符,利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量,根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例,将该比例作为目标字符串中有效字符的比例,解决了对灌水帖的字符串中有效字符的比例计算速度慢的技术问题,提高了对灌水帖的字符串中有效字符的比例计算速度。
优选地,在根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例之后,方法还包括:记录有效字符的比例;判断从目标字符串上随机选择预设数量的字符的次数是否超过预设次数;在从目标字符串上随机选择预设数量的字符的次数未超过预设次数时,将从目标字符串上随机选择预设数量的字符的次数加1,并返回执行从目标字符串上随机选择预设数量的字符的步骤;在从目标字符串上随机选择预设数量的字符的次数超过预设次数时,计算记录的有效字符的比例的平均值,将平均值作为目标字符串中有效字符的比例。
具体地,如图2所示,本实施例的字符串处理方法包括:
步骤S202,获取目标字符串。
步骤S204,从目标字符串上随机选择预设数量的字符。
步骤S206,利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量。
步骤S208,根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例。
上述步骤以此与图1中的步骤S102至S108基本类似,这里不做赘述。其在计算得到预设数量中有效字符的比例之后,还执行以下步骤:
步骤S210,记录有效字符的比例。
步骤S212,判断从目标字符串上随机选择预设数量的字符的次数是否超过预设次数。在从目标字符串上随机选择预设数量的字符的次数未超过预设次数时,执行步骤S214,反之,则执行步骤S216。
步骤S214,将从目标字符串上随机选择预设数量的字符的次数加1,返回步骤S204。
步骤S216,计算记录的有效字符的比例的平均值,将平均值作为目标字符串中有效字符的比例。
本实施例中,对目标字符串进行多次采样,即多次(即预设次数)从目标字符串上随机选择预设数量的字符,然后计算得到每次的有效字符的比例,再求平均值,将该平均值作为目标字符串中有效字符的比例,提高确定出的目标字符串中有效字符的比例的准确性。
根据伯努利大数定律:
其中,A表示是有效字符,n为预设数量,fA表示n个字符中有效字符的个数,p为n个字符中任意一个字符是有效字符的概率,ε为任意的正数。
基于该原理,可以根据应用的需求,如根据要求的解析准确率或者解析的消耗时间,灵活的设置采样次数和各项阈值,大大的减少了遍历字符串的消耗。
优选地,从目标字符串上随机选择预设数量的字符包括:从目标字符串上随机截取多个预设长度的字符串;利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量包括:利用预先设置的有效字符集分别从多个预设长度的字符串中确定出有效字符,统计每个预设长度的字符串中有效字符的数量;根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例,将比例作为目标字符串中有效字符的比例包括:根据预设长度和每个预设长度的字符串中有效字符的数量分别计算每个预设长度的字符串中有效字符的比例,计算多个预设长度的字符串中有效字符的比例的平均值,将平均值作为目标字符串中有效字符的比例。
本实施例中,以预设长度的字符串为采样单位,从目标字符串中随机截取多个预设长度的字符串,然后计算对每个采样单位即预设长度的字符串中有效字符的比例,计算平均值,然后将该平均值作为目标字符串中有效字符的比例。
优选地,在获取目标字符串之后,方法还包括:计算目标字符串的长度;从目标字符串上随机选择预设数量的字符包括:随机生成预设数量的随机数,其中,随机数为小于目标字符串的长度的正整数;以随机数作为位置编号,从目标字符串上选择随机数对应的位置处的字符。
在获取到目标字符串之后,计算目标字符串的长度,在选择预设数量的字符时,先随机生成预设数量的小于目标字符串长度的随机数,该随机数各不相同,然后以该随机数作为位置编号从目标字符串中选择对应位置出的字符,例如,目标字符串的长度为10000,选择字符时,随机生成100个随机数,依次为:1、3、4、7、8、15、……9999,以这些随机数作为位置编号,依次选择目标字符串上第1、3、4、7、8、15、……9999个字符。
根据本申请实施例,通过随机生成的随机数来选择字符,保证字符选择的随机性,可以提高目标字符串中有效字符的比例的准确性。
优选地,在获取目标字符串之后,以及从目标字符串上随机选择预设数量的字符之前,方法还包括:计算目标字符串的长度;判断目标字符串的长度是否小于长度阈值;在判断目标字符串的长度小于长度阈值时,利用预先设置的有效字符集遍历目标字符串得到有效字符的数量,并计算目标字符串上有效字符的比例;在判断目标字符串的长度大于等于长度阈值时,确定从目标字符串上随机选择预设数量的字符。
本申请实施例中,预先设置长度阈值,该阈值可以根据需求进行设置,在获取到目标字符串之后,计算目标字符串的长度,然后利用预设设置的长度阈值对目标字符串进行判别,如果目标字符串的长度大于等于该长度阈值,表明目标字符串的长度较长,此时可以通过对目标字符串进行采样来确定其有效字符的比例,也即是,随机选择预设数量的字符,计算选择的字符中有效字符的比例,或者进一步地多次选择求平均的方式,将最终结果作为目标字符串中有效字符的比例。
如果目标字符串的长度小于该长度阈值,表明目标字符串的长度较短,可以利用有效字符集对目标字符串所有的字符进行遍历,从而在目标字符串比较短时,不影响有效字符的比例确定的时间的情况下,保证其准确性。
下面对本申请实施例的一种优选实施方式进行描述。具体包括:
(1获取目标字符串,先计算其长度为length;
(2)根据预先设定的长度阈值threshold_length(可根据需求自行设定),如果length<threshold_length,则利用遍历的方法计算其有效字符的比例;
(3)如果length>=threshold_length,设定2个值:sample_times和sample_nums;
(4)利用随机数生成方法,生成sample_nums个在0-length范围内的数;
(5)找到sample_nums个数在目标字符串上对应位置处的字符,其中有效字符为valid_nums,计算出valid_nums/sample_nums的值为valid_ratio;
(6)重复执行(4)到(5)的过程sample_times次,得到sample_times个valid_ratio,求出这些valid_ratio的平均值为valid_ratio_average,将该值作为整个字符串的有效字符的比例。
本申请实施例还提供了一种字符串处理装置,该装置可以用于执行本申请实施例的字符串处理方法,如图3所示,该装置包括:获取单元10、选择单元20、第一确定单元30和第一计算单元40。
获取单元10用于获取目标字符串。
选择单元20用于从目标字符串上随机选择预设数量的字符。
第一确定单元30用于利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量。
第一计算单元40用于根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例,将比例作为目标字符串中有效字符的比例。
目标字符串可以是待测帖子所包含的字符串。在获取到目标字符串之后,从其中随机选择预设数量的字符,选择的字符数量即预设数量可以根据需求进行设置。再利用预先设置的有效字符集对选择出的字符进行遍历,确定出其中的有效字符。有效字符集中包含有给定的有效字符,在确定有效字符时,可以将选择的字符与该有效字符集进行匹配,如果匹配上有效字符集中的字符,则认为该选择的字符为有效字符,依次遍历选择的预设数量中所有的字符,得到其中有效字符,并统计有效字符的数量。
在得到选择的预设数量中的有效字符的数量之后,有效字符的数量除以预设数量即可得到选择的预设数量中有效字符的比例,本实施例中,将该比例作为目标字符串中有效字符的比例,从而得到整个待测帖子中的有效字符的比例,继而可以通过判断该比例是否超过预设比例来确定该待测帖子是否为灌水帖,若超过,则为灌水帖。
本实施例中,选择的预设数量的字符相当于是对目标字符串的采样,通过随机选择预设数量的字符来进行采样,使得采样中有效字符的比例与目标字符串中有效字符的比例较为接近,可以将采样中有效字符的比例作为目标字符串中有效字符的比例。而由于采样的字符比目标字符串所包含的字符数量少,从而降低遍历的字符数量,从而快速确定出目标字符串中有效字符的数量,进而提高灌水帖的识别效率。
根据本申请实施例,通过获取目标字符串,从目标字符串上随机选择预设数量的字符,利用预先设置的有效字符集从选择的预设数量的字符中确定出有效字符,统计有效字符的数量,根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例,将该比例作为目标字符串中有效字符的比例,解决了对灌水帖的字符串中有效字符的比例计算速度慢的技术问题,提高了对灌水帖的字符串中有效字符的比例计算速度。
优选地,装置还包括:记录单元,用于在根据预设数量和有效字符的数量计算选择的预设数量的字符中有效字符的比例之后,记录有效字符的比例;第一判断单元,用于判断从目标字符串上随机选择预设数量的字符的次数是否超过预设次数;第一确定单元具体用于在从目标字符串上随机选择预设数量的字符的次数未超过预设次数时,将从目标字符串上随机选择预设数量的字符的次数加1,并执行从目标字符串上随机选择预设数量的字符的步骤;第一计算单元具体用于在从目标字符串上随机选择预设数量的字符的次数超过预设次数时,计算记录的有效字符的比例的平均值,将平均值作为目标字符串中有效字符的比例。
本实施例中,对目标字符串进行多次采样,即多次(即预设次数)从目标字符串上随机选择预设数量的字符,然后计算得到每次的有效字符的比例,再求平均值,将该平均值作为目标字符串中有效字符的比例,提高确定出的目标字符串中有效字符的比例的准确性。
优选地,获取单元具体用于从目标字符串上随机截取多个预设长度的字符串;第一确定单元具体用于利用预先设置的有效字符集分别从多个预设长度的字符串中确定出有效字符,统计每个预设长度的字符串中有效字符的数量;
第一计算单元具体用于根据预设长度和每个预设长度的字符串中有效字符的数量分别计算每个预设长度的字符串中有效字符的比例,计算多个预设长度的字符串中有效字符的比例的平均值,将平均值作为目标字符串中有效字符的比例。
本实施例中,以预设长度的字符串为采样单位,从目标字符串中随机截取多个预设长度的字符串,然后计算对每个采样单位即预设长度的字符串中有效字符的比例,计算平均值,然后将该平均值作为目标字符串中有效字符的比例。
优选地,装置还包括:第二计算单元,在获取目标字符串之后,计算目标字符串的长度;选择单元包括:生成模块,用于随机生成预设数量的随机数,其中,随机数为小于目标字符串的长度的正整数;选择模块,用于以随机数作为位置编号,从目标字符串上选择随机数对应的位置处的字符。
在获取到目标字符串之后,计算目标字符串的长度,在选择预设数量的字符时,先随机生成预设数量的小于目标字符串长度的随机数,该随机数各不相同,然后以该随机数作为位置编号从目标字符串中选择对应位置出的字符,例如,目标字符串的长度为10000,选择字符时,随机生成100个随机数,依次为:1、3、4、7、8、15、……9999,以这些随机数作为位置编号,依次选择目标字符串上第1、3、4、7、8、15、……9999个字符。
根据本申请实施例,通过随机生成的随机数来选择字符,保证字符选择的随机性,可以提高目标字符串中有效字符的比例的准确性。
优选地,装置还包括:第三计算单元,用于在获取目标字符串之后,以及从目标字符串上随机选择预设数量的字符之前,计算目标字符串的长度;第二判断单元,用于判断目标字符串的长度是否小于长度阈值;遍历单元,用于在判断目标字符串的长度小于长度阈值时,利用预先设置的有效字符集遍历目标字符串得到有效字符的数量,并计算目标字符串上有效字符的比例;第二确定单元,用于在判断目标字符串的长度大于等于长度阈值时,确定从目标字符串上随机选择预设数量的字符。
本申请实施例中,预先设置长度阈值,该阈值可以根据需求进行设置,在获取到目标字符串之后,计算目标字符串的长度,然后利用预设设置的长度阈值对目标字符串进行判别,如果目标字符串的长度大于等于该长度阈值,表明目标字符串的长度较长,此时可以通过对目标字符串进行采样来确定其有效字符的比例,也即是,随机选择预设数量的字符,计算选择的字符中有效字符的比例,或者进一步地多次选择求平均的方式,将最终结果作为目标字符串中有效字符的比例。
如果目标字符串的长度小于该长度阈值,表明目标字符串的长度较短,可以利用有效字符集对目标字符串所有的字符进行遍历,从而在目标字符串比较短时,不影响有效字符的比例确定的时间的情况下,保证其准确性。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种字符串处理方法,其特征在于,包括:
获取目标字符串;
从所述目标字符串上随机选择预设数量的字符;
利用预先设置的有效字符集从选择的所述预设数量的字符中确定出有效字符,统计所述有效字符的数量;以及
根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例,将所述比例作为所述目标字符串中有效字符的比例,
其中,从所述目标字符串上随机选择预设数量的字符包括:从所述目标字符串上随机截取多个预设长度的字符串;
利用预先设置的有效字符集从选择的所述预设数量的字符中确定出有效字符,统计所述有效字符的数量包括:利用所述预先设置的有效字符集分别从多个预设长度的字符串中确定出有效字符,统计每个预设长度的字符串中有效字符的数量;
根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例包括:根据所述预设长度和所述每个预设长度的字符串中有效字符的数量分别计算每个预设长度的字符串中有效字符的比例。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例之后,所述方法还包括:
记录所述有效字符的比例;
判断从所述目标字符串上随机选择预设数量的字符的次数是否超过预设次数;
在从所述目标字符串上随机选择预设数量的字符的次数未超过所述预设次数时,将从所述目标字符串上随机选择预设数量的字符的次数加1,并返回执行从所述目标字符串上随机选择预设数量的字符的步骤;
在从所述目标字符串上随机选择预设数量的字符的次数超过所述预设次数时,计算记录的有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
3.根据权利要求1所述的方法,其特征在于,
根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例,将所述比例作为所述目标字符串中有效字符的比例包括:计算所述多个预设长度的字符串中有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
4.根据权利要求1所述的方法,其特征在于,
在获取目标字符串之后,所述方法还包括:计算所述目标字符串的长度;
从所述目标字符串上随机选择预设数量的字符包括:随机生成所述预设数量的随机数,其中,所述随机数为小于目标字符串的长度的正整数;以所述随机数作为位置编号,从所述目标字符串上选择所述随机数对应的位置处的字符。
5.根据权利要求1所述的方法,其特征在于,在获取目标字符串之后,以及从所述目标字符串上随机选择预设数量的字符之前,所述方法还包括:
计算所述目标字符串的长度;
判断所述目标字符串的长度是否小于长度阈值;
在判断所述目标字符串的长度小于所述长度阈值时,利用预先设置的有效字符集遍历所述目标字符串得到有效字符的数量,并计算所述目标字符串上有效字符的比例;
在判断所述目标字符串的长度大于等于所述长度阈值时,确定从所述目标字符串上随机选择预设数量的字符。
6.一种字符串处理装置,其特征在于,包括:
获取单元,用于获取目标字符串;
选择单元,用于从所述目标字符串上随机选择预设数量的字符;
第一确定单元,用于利用预先设置的有效字符集从选择的所述预设数量的字符中确定出有效字符,统计所述有效字符的数量;以及
第一计算单元,用于根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例,将所述比例作为所述目标字符串中有效字符的比例,
其中,所述获取单元具体用于从所述目标字符串上随机截取多个预设长度的字符串;
所述第一确定单元具体用于利用所述预先设置的有效字符集分别从多个预设长度的字符串中确定出有效字符,统计每个预设长度的字符串中有效字符的数量;
所述第一计算单元具体用于根据所述预设长度和所述每个预设长度的字符串中有效字符的数量分别计算每个预设长度的字符串中有效字符的比例。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
记录单元,用于在所述根据所述预设数量和所述有效字符的数量计算选择的所述预设数量的字符中有效字符的比例之后,记录所述有效字符的比例;
第一判断单元,用于判断从所述目标字符串上随机选择预设数量的字符的次数是否超过预设次数;
所述第一确定单元具体用于在从所述目标字符串上随机选择预设数量的字符的次数未超过所述预设次数时,将从所述目标字符串上随机选择预设数量的字符的次数加1,并执行从所述目标字符串上随机选择预设数量的字符的步骤;
所述第一计算单元具体用于在从所述目标字符串上随机选择预设数量的字符的次数超过所述预设次数时,计算记录的有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
8.根据权利要求6所述的装置,其特征在于,
所述第一计算单元具体用于计算所述多个预设长度的字符串中有效字符的比例的平均值,将所述平均值作为所述目标字符串中有效字符的比例。
9.根据权利要求6所述的装置,其特征在于,
所述装置还包括:第二计算单元,在获取目标字符串之后,计算所述目标字符串的长度;
所述选择单元包括:生成模块,用于随机生成所述预设数量的随机数,其中,所述随机数为小于目标字符串的长度的正整数;选择模块,用于以所述随机数作为位置编号,从所述目标字符串上选择所述随机数对应的位置处的字符。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三计算单元,用于在获取目标字符串之后,以及从所述目标字符串上随机选择预设数量的字符之前,计算所述目标字符串的长度;
第二判断单元,用于判断所述目标字符串的长度是否小于长度阈值;
遍历单元,用于在判断所述目标字符串的长度小于所述长度阈值时,利用预先设置的有效字符集遍历所述目标字符串得到有效字符的数量,并计算所述目标字符串上有效字符的比例;
第二确定单元,用于在判断所述目标字符串的长度大于等于所述长度阈值时,确定从所述目标字符串上随机选择预设数量的字符。
CN201510628041.XA 2015-09-28 2015-09-28 字符串处理方法和装置 Active CN105279238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510628041.XA CN105279238B (zh) 2015-09-28 2015-09-28 字符串处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510628041.XA CN105279238B (zh) 2015-09-28 2015-09-28 字符串处理方法和装置

Publications (2)

Publication Number Publication Date
CN105279238A CN105279238A (zh) 2016-01-27
CN105279238B true CN105279238B (zh) 2018-11-06

Family

ID=55148252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510628041.XA Active CN105279238B (zh) 2015-09-28 2015-09-28 字符串处理方法和装置

Country Status (1)

Country Link
CN (1) CN105279238B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240628A (zh) * 2018-08-05 2019-01-18 深圳市技达信息技术有限公司 计算字符、字符串等的显示宽高的方法、装置及计算机可读存储介质
CN110163285B (zh) * 2019-05-23 2021-03-02 阳光保险集团股份有限公司 票证识别训练样本合成方法和计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360074A (zh) * 2008-09-27 2009-02-04 腾讯科技(深圳)有限公司 一种确定可疑垃圾邮件范围的方法和系统
CN102279875A (zh) * 2011-06-24 2011-12-14 成都市华为赛门铁克科技有限公司 钓鱼网站的识别方法和装置
CN103152442A (zh) * 2013-01-31 2013-06-12 中国科学院计算机网络信息中心 一种僵尸网络域名的检测与处理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166159B (zh) * 2006-10-18 2010-07-28 阿里巴巴集团控股有限公司 一种确定垃圾信息的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360074A (zh) * 2008-09-27 2009-02-04 腾讯科技(深圳)有限公司 一种确定可疑垃圾邮件范围的方法和系统
CN102279875A (zh) * 2011-06-24 2011-12-14 成都市华为赛门铁克科技有限公司 钓鱼网站的识别方法和装置
CN103152442A (zh) * 2013-01-31 2013-06-12 中国科学院计算机网络信息中心 一种僵尸网络域名的检测与处理方法及系统

Also Published As

Publication number Publication date
CN105279238A (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
CN103927307B (zh) 一种识别网站用户的方法和装置
CN105205146B (zh) 一种计算微博用户影响力的方法
CN107707545B (zh) 一种异常网页访问片段检测方法、装置、设备及存储介质
CN103905532B (zh) 微博营销账号的识别方法及系统
CN107341716A (zh) 一种恶意订单识别的方法、装置及电子设备
CN103559420B (zh) 一种异常检测训练集的构建方法及装置
CN104244035B (zh) 基于多层聚类的网络视频流分类方法
CN110572362A (zh) 针对多类不均衡异常流量的网络攻击检测方法及装置
CN103336766A (zh) 短文本垃圾识别以及建模方法和装置
CN104809393B (zh) 一种基于流行度分类特征的托攻击检测算法
CN106708841B (zh) 网站访问路径的聚合方法和装置
CN109167680A (zh) 一种基于深度学习的流量分类方法
CN106301980A (zh) 一种刷量工具检测方法和装置
CN103366009B (zh) 一种基于自适应聚类的图书推荐方法
CN106936778A (zh) 网站流量异常的检测方法和装置
CN108055227B (zh) 基于站点自学习的waf未知攻击防御方法
CN108647800A (zh) 一种基于节点嵌入的在线社交网络用户缺失属性预测方法
CN105279238B (zh) 字符串处理方法和装置
CN105100023B (zh) 数据包特征提取方法及装置
CN108234452B (zh) 一种网络数据包多层协议识别的系统和方法
CN108182531A (zh) 页岩气开发评价方法、装置及终端设备
CN109783805A (zh) 一种网络社区用户识别方法及装置
CN108664501A (zh) 广告审核方法、装置及服务器
CN109977328A (zh) 一种url分类方法及装置
CN111612531B (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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Pinyin string processing method and device

Effective date of registration: 20190531

Granted publication date: 20181106

Pledgee: Shenzhen Black Horse World Investment Consulting Co., Ltd.

Pledgor: Beijing Guoshuang Technology Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.