本发明涉及通信技术领域,特别涉及一种数据处理方法、装置、网络设备及存储介质。
背景技术:
在业务系统后台对客户端提供接口服务时,存在人为通过劫持请求后修改请求数据,或者通过恶意脚本来批量地刷接口的情况。这些恶意刷接口的行为会产生一定量的非正常请求,即脏数据。倘若不将脏数据剔除掉,将脏数据按照正常请求的数据进行数据的挖掘分析,会对分析结果造成误差,因此需要对脏数据进行清洗。
目前,通常采用snm算法来去除重复或相似数据,以实现对脏数据的清洗。其中,snm算法(sorted-neighborhood-method),又称为邻近记录排序算法。
然而,在采用snm算法对数据进行比较时,即使当前比较窗口中存在相似的数据,snm算法也不作任何处理,使得这些相似的数据可能被带入下一个比较窗口进行重复的比较,导致snm算法的运算效率较低,利用snm算法去除重复或相似数据的效率较低。
技术实现要素:
本发明实施方式的目的在于提供一种数据处理方法、装置、网络设备及存储介质,使得利用snm算法去除重复或相似数据的效率提高。
为解决上述技术问题,本发明的实施方式提供了一种数据处理方法,包括:采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据;将结果为相似的数据中的至少部分数据从当前比较窗口中去除。
本发明的实施方式还提供了一种数据处理装置,包括:获取模块,用于采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据;第一去除模块,用于将结果为相似的数据中的至少部分数据从当前比较窗口中去除。
本发明的实施方式还提供了一种网络设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的数据处理方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的数据处理方法。
本发明实施方式相对于相关技术而言,通过采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据,将结果为相似的数据中的至少部分数据从当前比较窗口中去除,可以减少snm算法重复比较相似的数据的比例,从而提高snm算法的运算效率,也提高了利用snm算法去除重复或相似数据的效率。
另外,数据处理方法还包括:在采用snm算法比较待处理数据集中的数据的相似度时,获取经过两次比较的结果均为不相似的数据;将两次比较的结果均为不相似的数据中的至少部分数据从当前比较窗口中去除。在将相似的数据从当前比较窗口去除的同时,还去除至少部分两次比较的结果均为不相似的数据,由于snm算法需比较的数据进一步减少,因此可以进一步提高snm算法的运算效率,也提高了采用snm算法处理数据的效率。
另外,数据处理方法还包括:获取去除的相似数据作为第一数据,获取去除的不相似的数据作为第二数据;将第一数据和第二数据分别持久化处理至不同的存储位置。通过将两种不同的数据分别进行持久化处理至不同的存储位置,有利于对不同的数据作不同的处理,方便对数据进行分析。
另外,待处理数据集为日志数据集,日志数据集中每一条日志包括若干个字段;采用snm算法比较待处理数据集中的数据的相似度,包括:根据日志中的字段组合得到若干个组合字段;为每一字段和每一组合字段分别设置权重;采用snm算法根据字段、组合字段和权重比较日志数据集中每两条日志的相似度。通过字段、组合字段和权重比较日志数据集中每两条日志的相似度,可以从字段、组合字段两个维度来比较日志的相似度,使比较的维度更多,得到更精确的相似度的比较结果。
另外,采用snm算法比较待处理数据集中的数据的相似度,包括:压缩待处理数据集中的数据;采用snm算法根据压缩后的数据比较待处理数据集中的数据的相似度。通过对待处理数据集的数据进行压缩,可以在利用snm算法比较待处理数据集中的数据的相似度时,减少待处理数据集实际占用的存储空间。
另外,待处理数据集包括字符型的数据;压缩待处理数据集中的数据,包括:将字符型的数据转换为二进制的数据
另外,将字符型的数据转换为二进制的数据,包括:若字符型的数据为单字符的数据,则将单字符的数据维护至基础编码表,在基础编码表中,每一个单字符的数据对应一个二进制的基础编码;若字符型的数据为字符串的数据,则将字符串的数据维护至扩展编码表,在扩展编码表中,每一个字符串的数据对应一个二进制的扩展编码。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明第一实施方式提供的数据处理方法的流程示意图;
图2是snm算法比较数据的相似度的原理示意图;
图3是本发明实施方式提供的数据处理方法中s101细化步骤的流程示意图;
图4是本发明第二实施方式提供的数据处理方法的流程示意图;
图5是本发明第二实施方式提供的数据处理方法在s204之后步骤的流程示意图;
图6是本发明第二实施方式提供的数据处理方法进行数据处理的流程示例图;
图7是本发明第三实施方式提供的数据处理方法的流程示意图;
图8是本发明第三实施方式提供的数据处理方法在将字符型的数据转换为二进制的数据的流程示例图;
图9是本发明第四实施方式提供的数据处理装置的模块结构示意图;
图10是本发明第五实施方式提供的网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种数据处理方法,通过采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据,将结果为相似的数据中的至少部分数据从当前比较窗口中去除。通过在采用snm算法比较数据集中数据的相似度时,将至少部分相似数据snm算法的当前比较窗口中去除,可以减少snm算法重复比较相似的数据的比例,从而提高snm算法的运算效率,也提高了利用snm算法去除重复或相似数据的效率。
应当说明的是,本发明实施方式提供的数据处理方法的执行主体可以为服务端或客户端,客户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现,以下以服务端为例进行说明。
本发明实施方式提供的数据处理方法的具体流程如图1所示,具体包括以下步骤:
s101:采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据。
其中,snm算法是在去除重复、相似数据的算法中比较常用的一种。请参考图2,其为snm算法比较数据的相似度的原理示意图,具体地,snm算法会设定一个宽度为w的数据的比较窗口,比较窗口的起始位置在第一个数据r1上;当第rw个数据进入比较窗口时,就用rw与{r1,...,rw-1}数据集中的数据进行一一比较;在比较完第一条记录r1后,根据先进先出的数据处理原则,比较窗口会向后移动一位,即比较窗口的位置变成r2,结束位置变成rw 1;待处理数据集中的剩下的数据也做同样处理,直至待处理数据中的数据全部处理完成。
从上述过程可以看出,snm算法在比较待处理数据集中的数据的相似度时,由于其在比较相似度时,不会对相似的数据进行处理,因此当前比较窗口中的相似数据可以被带入下一次的比较中,造成相似的数据被重复的比较,导致snm算法的运算效率较低。而在本发明实施方式提供的数据处理方法中,在采用snm算法比较待处理集中的数据的相似度时,获取当前比较窗口中比较结果为相似的数据,将结果为相似的数据中的至少部分数据从当前比较窗口去除,可以减少snm算法重复比较相似的数据的比例,提高snm算法的运算效率。
在一个具体的例子中,待处理数据集为日志数据集,日志数据集中每一条日志包括若干个字段,s101中的采用snm算法比较待处理数据集中的数据的相似度,如图3所示,具体可以包括以下步骤:
s1011:根据日志中的字段组合得到若干个组合字段。
实际应用中,可以直接为每一字段设置权重,然后采用snm算法根据字段和相应的权重计算日志的相似度。而根据字段组合得到组合字段,为每一字段和组合字段设置权重,再采用snm算法根据字段、组合字段和权重比较日志的相似度,可以从字段和组合字段两个维度来比较日志的相似度,使比较的维度更多,得到更精确的相似度的比较结果,同时也可以达到以组合字段来监控日志是否正常的目的。
在根据日志中的字段组合为组合字段时,可以选取日志中的部分字段进行组合,选取的字段可以根据业务的需要进行选取,此处不做限制。
s1012:为每一字段和每一组合字段分别设置权重。
可以理解的是,当日志中某些字段的意义不大或者不影响日志的相似度时,可以为相应的字段设置权重为0,从而在比较相似度时,相应字段并不会影响到日志的相似度的比较结果。
在为每一字段和每一组合字段分别设置权重时,具体可根据实际需要进行设置,此处不做具体限制。
s1013:采用snm算法根据字段、组合字段和权重比较日志数据集中每两条日志的相似度。
可选地,在采用snm算法根据字段、组合字段和权重比较日志数据集中每两条日志的相似度时,日志的相似度可以为:每一字段的相似度乘以相应字段的权重 每一组合字段乘以相应组合字段的权重。其中,每一字段的相似度可以是将相应字段的字段值进行比较,可选地,字段值的相似度可以是:若字段值相同,则相似度为1,若字段值不同,则相似度为0。同理,可以以同样的方式计算组合字段的相似度。
在计算出字段和组合字段相似度的结果时,可以将计算的结果与相似度阈值进行比较,若结果大小或等于相似度阈值,则判定两条日志相似;若结果小于相似度阈值,则判定两条日志不相似。
s102:将结果为相似的数据中的至少部分数据从当前比较窗口中去除。
在将结果为相似的数据中的至少部分数据从当前比较窗口中去除时,去除的数据的数量可以根据实际需要进行设置,只要能达到减少在下次比较时相似数据被重复比较的比例即可,此处不做具体限制。例如,若当前比较窗口中的数据经过比较,存在n条相似的数据,则可以将n-1条相似的数据从当前比较窗口中去除。
与相关技术相比,本发明实施方式提供的数据处理方法,通过采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据,将结果为相似的数据中的至少部分数据从当前比较窗口中去除,可以减少snm算法重复比较相似的数据的比例,从而提高snm算法的运算效率,也提高了利用snm算法去除重复或相似数据的效率。
本发明的第二实施方式涉及一种数据处理方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在本发明实施方式中,在采用snm算法比较待处理数据集中的数据的相似度时,获取经过两次比较的结果均为不相似的数据,将两次比较的结果均为不相似的数据中的至少部分数据当前比较窗口中去除。
本发明实施方式提供的数据处理方法的具体流程如图4所示,具体包括以下步骤:
s201:采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据。
s202:将结果为相似的数据中的至少部分数据从当前比较窗口中去除。
s203:获取经过两次比较的结果均为不相似的数据。
s204:将两次比较的结果均为不相似的数据中的至少部分数据从当前比较窗口中去除。
其中,s201和s202与第一实施方式中的s101和s102相同,具体请参见第一实施方式中的相关描述,为了避免重复,这里不再赘述。
对于s203-s204,具体说明如下:
可选地,在采用snm算法比较待处理数据集中的数据时,可以对待处理数据集中的数据的比较次数和比较结果进行标记,从而可以根据标记获取到经过两次比较均为不相似的数据。例如,若待处理数据集中的一数据的比较次数为2,两次比较结果均为不相似,则获取该数据作为两次比较的结果均为不相似的数据。
同样地,在将两次比较的结果均为不相似的数据中的至少部分数据从当前比较窗口中去除时,去除的数据的数量可以根据实际需要设置,此处不做具体限制。
实际应用中,也可以是将获取经过一次比较的结果为不相似的数据从当前比较窗口中去除,这样可以进一步加快采用snm算法运算的效率。由于数据经过一次相似度的比较被判定为不相似后,仍可能在下次比较中判定为相似,因此本发明实施方式提供数据处理方法中,在两次比较的结果均为不相似时再将数据进行去除,可以在兼顾提高snm算法的效率的同时保证相似度比较的精度。当然,也可以是去除经过两次以上比较的结果均为不相似的数据,具体可以根据实际需要进行设置,此处不做具体限制。
在一个具体的例子中,在s204之后,如图5所示,本发明实施方式提供的数据处理方法还可以包括以下步骤:
s205:获取去除的相似数据作为第一数据,获取去除的不相似的数据作为第二数据。
可选地,服务端在获取去除的相似数据或去除的不相似的数据时,可以实时进行获取,即在snm算法进行的过程中进行获取,也可以在snm算法结束后进行统一的获取。
s206:将第一数据和第二数据分别持久化处理至不同的存储位置。
其中,不同的存储位置可以是不同的数据库,也可以是数据库中不同的存储位置。
可以理解的是,将第一数据和第二数据分别持久化处理至不同的存储位置,可以将待处理数据集中的数据分为两种不同的数据,方便对数据的进一步处理。例如,对于不相似的数据可以判定为合法的数据,对于不相似的数据可以判定为非法的数据,再对非法的数据进行分析,可以减少分析的运算量,提高分析的效率。进一步地,可以将第一数据在分析后进行删除,从而节省存储空间,降低数据存储的成本。
下面以待处理数据集为日志数据集为例进行说明,请参考图6,其为本发明实施方式提供的数据处理方法进行数据处理的流程示例图。具体流程如下:
1、前端发起业务请求;2、业务后台接收业务请求;3.1、对日志进行标准化处理;3.2(与3.1并列)、调用风控模块判断业务请求是否为合法的请求,若是合法的请求,而正常处理业务返回业务正常结果;若是非法的请求,则返回业务异常结果;4(接3.1)、日志记录模块异步写入日志到服务器本地;5、日志分析系统异步读取日志;6、对请求日志中的监控字段或监控组合字段做标准化处理;7、采用snm算法提取重复或相似的请求日志;7.1、持久化合法请求日志到数据存储系统1;7.2、持久化非法请求日志至数据存储系统2;7.3、日志分析模块根据设定的监控字段,对非法日志进行统计分析;7.4、记录针对监控的字段的分析结果,同时7.4可以为3.2提高风控的判断数据。
与相关技术相比,本发明实施方式提供的数据处理方法,在将相似的数据从当前比较窗口中去除的同时,还去除至少部分两次比较的结果均为不相似的数据,由于snm算法需比较的数据进一步减少,因此可以进一步提高snm算法的运算效率,也提高了采用snm算法处理数据的效率。
本发明的第三实施方式涉及一种数据处理方法。第三实施方式与第一实施方式大致相同,主要区别之处在于:在本发明实施方式中,在采用snm算法比较待处理数据集中的数据时,将待处理数据集中的数据进行压缩,再采用snm算法根据压缩后的数据比较待处理数据集中的数据的相似度。
本发明实施方式提供的数据处理方法的具体流程如图7所示,包括以下步骤:
s301:压缩待处理数据集中的数据。
在压缩待处理数据集中的数据时,是将待处理数据集中的数据进行转换,使转换后的数据所占的空间比转换前的数据所占的空间小即可,具体采用的压缩方式可以根据实际需要进行设置,此处不做具体限制。
在一个具体的例子中,待处理数据集中包括字符型的数据,则s301中的压缩待处理数据集中的数据,包括:将字符型的数据转换为二进制的数据。进一步地,将字符型的数据转换为二进制的数据,可以包括:
若字符型的数据为单字符的数据,则将单字符的数据维护至基础编码表,在基础编码表中,每一个单字符的数据对应一个二进制的基础编码;
若字符型的数据为字符串的数据,则将字符串的数据维护至扩展编码表,在扩展编码表中,每一个字符串的数据对应一个二进制的扩展编码。
请参考图8,其为本发明实施方式提供的数据处理方法在将字符型的数据转换为二进制的数据的流程示例图。在转换过程中,为了达到压缩的效果,可以规定一个预留长度2n,使转换后的二进制的数据所占的空间小于或等于对应字符或字符串所占的空间,n根据字符本身的长度决定。比如在某个编码下,单个字符最高占8个字节,那么这个字符最高是64位,也就是2的6次方,n=6,即转换后的二进制的数据应当小于或等于26。其具体流程可以为:
a(在图中未直接示出):每次新读入一个待压缩的字符型数据时,lc置为空值;
b:从待压缩的字符型数据中读入一个字符(设为c);
c:判断c是否在基础编码表中,如果有,则进入d;如果没有,则进入e;
d:将lc与c做拼接,得到字符串lcc,并将lcc赋值给lc(lc=lcc),进入步骤g;
e:判断基础编码表长度是否小于2n,如果是,则进入f;如果否,则将c与lc拼接,得到lcc,进入b;
f:将c加入基础编码表中,并为其分配二进制编码,然后进入步骤d;
g:判断lc是否是单字符,如果是,则进入h;如果否,则进入i;
h:判断待压缩字符串中是否还有未处理字符,如果是,则进入b;如果否,则进入j;
i:判断lc是否在拓展编码表中。如果是,则进入k;如果否,在编码表中为lc分配编码,再则进入l;
j:输出lc字符串在基础编码表中的编码,进入end;
k:判断lc的长度是否达到扩展编码表规定的字符串最大长度,如果是,则进入m;如果否,则进入n;
l:判断待压缩字符串中是否还有未处理字符,如果是,则进入b;如果否,则进入m;
m:输出lc字符串在拓展编码表中的编码,进入o;
n:判断待压缩字符串中是否还有未处理字符,如果是,则进入b;如果否,则进入m;
o:判断待压缩字符串中是否还有未处理字符,如果是,则将lc置为null(空值),进入b;如果否,则进入end;
end:当前字符串压缩处理完成。
可以理解的是,根据上述流程,随着字符型的数据的读入,基础编码表和扩展编码表会被不断的更新。在后续的解压缩过程中,根据编码字段可以得到对应的字符或字符串,从而得到字符型的数据。
为了更好说明上述流程,下面将会以一个字符型的数据为例,以表格的形式,阐述下编码表的生成流程:
假设字符串为“abcbcadbcb”,基础编码表为a-0,b-1,c-10,d-11,最大预留长度(maxl)为4,则压缩的处理过程为:
将此次对比过程中的二进制编码连接起来,就形成了二进制字节流:11010011010,共计11位,将此二进制的数据代替字符型的数据存储数据库中,由于字符型的数据是10个字节,80位,则本次压缩的比例为=11/80=13.75%。
假设有同样的字符串“abcbcadbcb”,基于上述编码表,其压缩过程为:
将此次过程中的二进制编码连接起来,就形成了二进制字节流,二进制流依然是11010011010。
s302:采用snm算法根据压缩后的数据比较待处理数据集中的数据的相似度。
可选地,若是通过将字符型的数据转换为二进制的数据来压缩数据时,则可以计算通过计算二进制的数据的哈希值来比较两个二进制的数据的相似度。具体可以是若两个二进制的数据的哈希值相同,则判定两个数据相似,否则为不相似。若待处理数据集为日志数据集,则可以利用前述实施例中的方法通过日志中的字段或组合字段来判断两条日志的相似度。
当然,当采用其它方法对待处理数据集的数据进行压缩时,也可以采用类似的方法来比较待处理数据集中的数据的相似度。
s303:获取经过snm算法比较的结果为相似的数据,将结果为相似的数据中的至少部分数据从待处理数据集中去除。
其中,s303与第一实施方式中的s101和s102相同,具体可以参见第一实施方式中的相关描述,为了避免重复,这里不再赘述。
与相关技术相比,本发明实施方式提供的数据处理方法,通过压缩待处理数据集中的数据,采用snm算法根据压缩后的数据比较待处理数据集中的数据的相似度,可以在采用snm算法比较相似度时,减少待处理数据集所占的存储空间。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种数据处理装置400,如图9所示,包含:获取模块401和第一去除模块402,各模块功能详细说明如下:
获取模块401,用于采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取snm算法的当前比较窗口中比较结果为相似的数据;
第一去除模块402,用于将结果为相似的数据中的至少部分数据从当前比较窗口中去除。
进一步地,本发明实施方式提供的数据处理装置400还包括第二去除模块,其中,第二去除模块用于:
在采用snm算法比较待处理数据集中的数据的相似度时,获取经过两次比较的结果均为不相似的数据;
将两次比较的结果均为不相似的数据中的至少部分数据从当前比较窗口中去除。
进一步地,本发明实施方式提供的数据处理装置400还包括存储模块,其中,存储模块用于:
获取去除的相似数据作为第一数据,获取去除的不相似的数据作为第二数据;
将第一数据和第二数据分别持久化处理至不同的存储位置。
进一步地,待处理数据集为日志数据集,日志数据集中每一条日志包括若干个字段,获取模块401还用于:
根据日志中的字段组合得到若干个组合字段;
为每一字段和每一组合字段分别设置权重;
采用snm算法根据字段、组合字段和权重比较日志数据集中每两条日志的相似度。
进一步地,获取模块401还用于:
压缩待处理数据集中的数据;
采用snm算法根据压缩后的数据比较待处理数据集中的数据的相似度。
进一步地,待处理数据集包括字符型的数据,获取模块401还用于:
将字符型的数据转换为二进制的数据。
进一步地,获取模块401还用于:
当字符型的数据为单字符的数据时,将单字符的数据维护至基础编码表,在基础编码表中,每一个单字符的数据对应一个二进制的基础编码;
当字符型的数据为字符串的数据时,将字符串的数据维护至扩展编码表,在扩展编码表中,每一个字符串的数据对应一个二进制的扩展编码。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种网络设备,如图10所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述的数据处理方法。
其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
1.一种数据处理方法,其特征在于,包括:
采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取所述snm算法的当前比较窗口中比较结果为相似的数据;
将结果为相似的数据中的至少部分数据从所述当前比较窗口中去除。
2.根据权利要求1所述的数据处理方法,其特征在于,还包括:
在采用所述snm算法比较所述待处理数据集中的数据的相似度时,获取经过两次比较的结果均为不相似的数据;
将两次比较的结果均为不相似的数据中的至少部分数据从所述当前比较窗口中去除。
3.根据权利要求2所述的数据处理方法,其特征在于,还包括:
获取去除的相似数据作为第一数据,获取去除的不相似的数据作为第二数据;
将所述第一数据和所述第二数据分别持久化处理至不同的存储位置。
4.根据权利要求1所述的数据处理方法,其特征在于,所述待处理数据集为日志数据集,所述日志数据集中每一条日志包括若干个字段;
所述采用snm算法比较待处理数据集中的数据的相似度,包括:
根据所述日志中的字段组合得到若干个组合字段;
为每一所述字段和每一所述组合字段分别设置权重;
采用所述snm算法根据所述字段、所述组合字段和所述权重比较所述日志数据集中每两条日志的相似度。
5.根据权利要求1所述的数据处理方法,其特征在于,所述采用snm算法比较待处理数据集中的数据的相似度,包括:
压缩所述待处理数据集中的数据;
采用所述snm算法根据压缩后的数据比较所述待处理数据集中的数据的相似度。
6.根据权利要求5所述的数据处理方法,其特征在于,所述待处理数据集包括字符型的数据;
所述压缩所述待处理数据集中的数据,包括:
将所述字符型的数据转换为二进制的数据。
7.根据权利要求6所述的数据处理方法,其特征在于,所述将所述字符型的数据转换为二进制的数据,包括:
若所述字符型的数据为单字符的数据,则将所述单字符的数据维护至基础编码表,在所述基础编码表中,每一个单字符的数据对应一个二进制的基础编码;
若所述字符型的数据为字符串的数据,则将所述字符串的数据维护至扩展编码表,在所述扩展编码表中,每一个字符串的数据对应一个二进制的扩展编码。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于采用snm算法比较待处理数据集中的数据的相似度,并在比较相似度时,获取所述snm算法的当前比较窗口中比较结果为相似的数据;
第一去除模块,用于将结果为相似的数据中的至少部分数据从所述当前比较窗口中去除。
9.一种网络设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法。
技术总结