具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
图1是本发明一个实施例中一种样本分布式聚类计算方法的步骤流程示意图。参见图1,该方法包括:
步骤101:获取所有待聚类的样本的特征值,以组成特征值集合;
步骤102:估计每一可用的计算设备的计算速度;
步骤103:判断特征值集合中任意两个特征值之间的相似度是否均小于预设阈值;
步骤104:若否,则根据上述每一可用的计算设备的计算速度将上述特征值集合中的所有特征值分配给至少一个计算设备,以使上述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值,并返回步骤103。
应理解的是,本发明实施例的样本分布式聚类计算方法基于给定的若干个待聚类的样本以及给定的若干个可用的计算设备,处理的过程即利用该若干个可用的计算设备得到该若干个待聚类的样本所组成的若干个类别。本发明实施例中,类别的划分基于每个待聚类的样本的特征值及其之间的相似度。具体地,在本发明的不同实施例中,上述特征值可以具体为样本的一种任意形式下的哈希值(把任意长度的输入通过一定的哈希算法变换成的固定长度的输出),比如分别对应一种现有哈希算法的MD4值、MD5值、SHA1值、N-Hash值、RIPE-MD值或者HAVAL值等等;相应的,特征值之间的相似度的计算可以通过比较两个样本的哈希值之间的差异程度来实现,其是本领域技术人员所熟知的,在此不再赘述。
上述步骤101可以具体包括计算每一待聚类的样本的特征值,并将所有特征值组成一特征值集合的过程,而上述步骤102则可以具体包括通过任意手段获取每一可用的计算设备的计算速度的过程。可以理解的是,这里的计算速度具体指的是计算设备对一定数量的样本进行聚类计算所需要的时间,因此计算速度的估计可以通过计算设备的硬件参数推算得到,也可以根据实际测试结果得到,还可以是上述两种方式的结合。应理解的是,上述步骤101与上述步骤102之间不存在必然的逻辑先后顺序,因此在彼此间的执行顺序上可以不做限制。
上述步骤103和步骤104构成一个循环:在特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行:
根据上述每一可用的计算设备的计算速度将特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值。
举例来说,上述步骤104:根据上述每一可用的计算设备的计算速度将上述特征值集合中的所有特征值分配给至少一个计算设备,以使上述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值,可以具体包括如图2所示的下述步骤:
步骤104a:根据上述每一可用的计算设备的计算速度和上述预设条件确定分配给每一计算设备的特征值的数量;
步骤104b:按照所确定的特征值的数量将上述特征值集合中的所有特征值分发给至少一个计算设备,以使上述至少一个计算设备对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值;
步骤104c:接收来自上述至少一个计算设备的筛选后的特征值,以更新上述特征值集合。
其中,步骤104b中“对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值”是各计算设备对分配到的特征值进行聚类计算的实际处理过程,也就是通过一定的算法将分配到的特征值通过去除部分特征值的方式简化为两两不相似的至少一个特征值。举例来说,对于四个特征值N1、N2、N3、N4,特征值之间的相似度如下所示:N1:N2=0.9、N1:N3=0.3、N1:N4=0.1、N2:N3=0.4、N2:N4=0.2、N3:N4=0.3,从而在上述预设阈值为0.8的情况下,N2由于与N1过于相似而被去除(即被归为同一类别),最终得到N1、N3、N4这三个筛选后的特征值,满足任意两个特征值之间的相似度小于0.8这一条件。
基于此,特征值集合可以随着步骤104的重复而一遍遍地在步骤104c中进行更新,最终,当步骤103中判定特征值集合中任意两个特征值之间的相似度均小于上述预设阈值时,特征值集合中的每一个特征值都可以作为一个类别的代表,使得此前在筛选中被去除的绝大多数特征值都与其中的至少一个足够相似。
另一方面,作为一种上述步骤104a的具体示例,在上述预设条件可以具体为“任一计算设备的处理时间小于第一预设值,并且所有计算设备的处理时间趋于一致”,从而在特征值集合中的所有特征值分配给至少一个计算设备时,可以根据在步骤102中得到的每一可用的计算设备的计算速度来确定分配给哪些计算设备,以及具体分配到每一计算设备的特征值的数量。比如,对于10000个特征值的实际处理时间为1小时的设备C1,对于15000个特征值的实际处理时间为1小时的设备C2,以及对于6000个特征值的实际处理时间为1小时的设备C3,可以分别分配10000、15000和6000个特征值,以使设备C1、C2、C3在预计处理时间均小于1.5小时的前提下趋于一致,即满足上述预设条件。同时,若在某一次分配时特征值集合中剩余的特征值小于3000个时,可以直接全部分配给设备C2来进行处理来避免重复次数的不必要的增加。当然,由于实际计算过程所耗费的时间在事先是难以精确确定的,因此上述预设条件只是在分配特征值时所采取的理想条件,计算设备实际所用的处理时间可以不严格满足上述预设条件。
另外,上述预设条件可以包括下述任意一个条件,或者任意多个条件的组合:
条件F1:任一计算设备的上述处理时间小于第一预设值;
条件F2:所有计算设备的上述处理时间趋于一致;
条件F3:在上述特征值集合中的特征值数量大于第二预设值时,任一上述计算设备的上述处理时间趋近于第三预设值。
应理解的是,由于特征值集合的更新是由至少一个计算设备共同完成的,因此只有在至少一个计算设备均完成处理后才可以返回步骤103继续执行。所以,上述条件F1的加入可以保障每一计算设备的处理时间均小于第一预设值,避免少数计算设备处理时间过长而拖慢整个处理流程。而上述条件F2的加入可以使每一计算设备的处理时间趋于一致,理想条件下使得所有计算设备同时完成处理,可以尽可能地提高计算设备的利用率,提升处理效率。而在上述条件F3中,第三预设值可以是预先确定的一个在具体场景下合理的处理时间的数值。一方面,由于特征值集合中的特征值数量会随着计算过程而不断减少,因而该条件的加入可以使得每一次重复所占用的计算设备数量也随之不断减少,由此可以提高对计算设备的使用效率。另一方面,该条件的加入可以使得执行一次步骤104的总时间是大致可控的,并可以通过调整上述第三预设值避免执行依次步骤104的总时间过长或过短所导致的处理效率的下降。另外,在上述特征值集合中的特征值数量小于或等于上述第二预设值,也就是说特征值集合中的特征值数量足够小时,可以直接利用少量计算设备来进行处理,避免重复次数的不必要的增加。
由上述技术方案可知,本发明实施例将单一计算设备难以处理的大规模数据基于计算速度的估计分配给不同的计算设备进行迭代计算,因而可以大大地提升计算效率;同时,不同计算设备进行计算时都基于去除相似特征值的相同标准进行,可以有效保障聚类效果。因此,本发明实施例可以解决现有的聚类算法难以处理大规模数据的问题。进一步地,本发明实施例可以将现有技术难以处理的大规模数据进行分布式的聚类计算,有效提高了聚类计算的效率,不仅有利于推动现有聚类计算的实际应用,还有利于将聚类计算推广至更广阔的应用范围。
作为一种优选的示例,上述特征值为样本在预设文件格式下的模糊哈希值。其中,模糊哈希算法又称为基于内容分割的分片哈希算法(contexttriggeredpiecewisehashing,CTPH),主要原理是使用一个弱哈希计算文件局部内容,在特定条件下对文件进行分片,然后使用一个强哈希对每片文件计算哈希值,取这些值的一部分并连接起来,与分片条件一起构成一个模糊哈希结果,之后再使用一个字符串相似性对比算法判断两个模糊哈希值的相似度有多少,就可以判断两个文件的相似程度。具体的模糊哈希算法可以参照现有技术中的文献记载,在此不再赘述。可以理解的是,本发明实施例中所采用的模糊哈希算法可以有效地将细节变化对全局结果的影响限制在局部,从而对最终相似性作出有效的判断,从而进一步保障聚类结构结果的有效性。
作为一种具体的示例,上述步骤102:估计每一可用的计算设备的计算速度,可以具体包括如图3所示出的下述步骤流程:
步骤102a:将预设数量的特征值发送给任一可用的计算设备,以使该计算设备对上述预设数量的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值;
步骤102b:获取该计算设备的处理时间,以得到上述每一可用的计算设备的计算速度的估计值。
举例来说,上述步骤102a可以包括将10000个特征值发送给设备C1,以使该设备C1对这些特征值进行如上述步骤104中所进行的聚类计算,上述步骤102b可以包括获取其处理时间来作为该设备C1的计算速度,并根据其他计算设备与设备C1在硬件参数上的差异来估计出每一可用的计算设备的计算速度。由此,实际得到的处理时间可以对该计算设备的计算速度具有足够好的代表性,并且通过一次测试估计出所有计算设备的计算速度,可以提高处理效率。当然,在本发明的其他实施例中,基于不同的应用需求可以采用其他更精确或者更粗糙的计算速度估计方式,本发明对此不做限制。
在上述的任意一个实施例当中,上述“对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值”的过程,可以具体包括未在附图中所示出的下述步骤流程:
步骤201:将一个特征值保留,并对其余的所有特征值依次执行以下步骤:
步骤202:判断特征值是否与已保留的任一特征值之间的相似度大于等于上述预设阈值;
步骤203:若是,则将该特征值去除;
步骤204:若否,则将该特征值保留。
举例来说,对于上述特征值N1、N2、N3、N4,先保留特征值N1,并对特征值N2进行N1与N2之间的相似度是否大于等于预设阈值0.8的判断,由于N1:N2=0.9,因此按照步骤203将特征值N2去除。接下来,再对特征值N3进行N3与N2之间的相似度是否大于等于预设阈值0.8的判断,由于N1:N3=0.3,因此按照步骤204将特征值N3保留。最后,对特征值N4进行N4与N1之间或者N4与N3之间的相似度是否大于等于预设阈值0.8的判断,由于N1:N4=0.1、N3:N4=0.3,因此按照步骤204将特征值N4保留。最终,得到筛选后的特征值N1、N3、N4。当然,对于更多数量的特征值来说,也可以按照相同的方式来进行处理。基于此,可以在一个预设特征值的排序方式下,使得任一彼此间相似度大于预设阈值的特征值都可以去除较后的一个,因此可以提高在不同计算设备之间所进行的聚类计算的一致性。
在上述任意一个实施例的基础上,本发明实施例的方法可以在上述步骤103和步骤104之后,还包括附图中未示出的下述步骤:
步骤105:在上述特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
应理解的是,上述步骤103和步骤104之后所得到的特征值集合中的每一个特征值都可以代表一个按照特征值之间的相似度进行划分的样本的类别,因此可以基于此将所有待聚类的样本划分至一个类别当中。举例来说,上述步骤105可以具体包括下述为在附图中示出的步骤流程:
步骤105a:将所有待聚类的样本分为若干份,并与特征值集合一起分别发送给若干个计算设备,以使上述计算设备依次计算每一样本的特征值与上述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
步骤105b:接收来自上述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
应理解的是,在上述步骤105a中,如果出现了一个样本的特征值与特征值集合中所有特征值的相似度均小于一预设的相似度最小值,则可以将该样本的特征值加入至特征值集合中,并对此类样本进行单独处理或者在更新特征值集合后重新进行分类处理。
在上述技术方案的基础之上,本发明实施例的方法可以还包括:
步骤106:提取属于任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
基于此,同一类别中所有样本均是相似的,因此可以通过提取共同特征来获取该类别区别于其他类别的特征。比如在该样本为病毒样本时,共同特征可以是对应于一个病毒类别的病毒特征码。由此,可以利用得到的病毒类别及病毒特征码组成病毒库,以实现病毒的查杀。
基于同样的发明构思,图4是本发明一个实施例中一种样本分布式聚类计算装置的结构框图。参见图4,该装置包括:
获取单元41,用于获取所有待聚类的样本的特征值,以组成特征值集合;
估计单元42,用于估计每一可用的计算设备的计算速度;
重复单元43,用于在上述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:
根据上述估计单元42得到的每一可用的计算设备的计算速度将上述特征值集合中的所有特征值分配给至少一个计算设备,以使上述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值。
可以理解的是,该装置可以执行图1中步骤101至步骤104的流程,因而可以具有相应的功能与结构,在此不再赘述。需要说明的是,上述计算设备中可以有全部或部分包含在该样本分布式聚类计算装置之中,也可以是独立于该样本分布式聚类计算装置之外的外部设备。应理解的是,样本分布式聚类计算装置与上述计算设备之间的数据交换可以基于有线通信或者无线通信,样本分布式聚类计算装置与上述计算设备还可以分别为有线网络或无线网络中的一个网络节点。
可以看出,本发明实施例将单一计算设备难以处理的大规模数据基于计算速度的估计分配给不同的计算设备进行迭代计算,因而可以大大地提升计算效率;同时,不同计算设备进行计算时都基于去除相似特征值的相同标准进行,可以有效保障聚类效果。因此,本发明实施例可以解决现有的聚类算法难以处理大规模数据的问题。进一步地,本发明实施例可以将现有技术难以处理的大规模数据进行分布式的聚类计算,有效提高了聚类计算的效率,不仅有利于推动现有聚类计算的实际应用,还有利于将聚类计算推广至更广阔的应用范围。
作为一种示例,上述估计单元42可以具体包括附图中未示出的下述结构:
发送模块42a,用于将上述获取单元41得到的预设数量的特征值发送给任一可用的计算设备,以使该计算设备对上述预设数量的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值;
获取模块42b,用于获取该计算设备的处理时间,以得到上述每一可用的计算设备的计算速度的估计值。
可以理解的是,发送模块42a和获取模块42b可以分别执行图3中步骤102a至步骤102b的流程,因而可以具有相应的功能与结构,在此不再赘述。
同样地,作为一种示例,上述重复单元43可以具体包括附图中未示出的下述结构:
确定模块43a,用于根据上述估计单元42得到的每一可用的计算设备的计算速度和上述预设条件确定分配给每一计算设备的特征值的数量;
发送模块43b,用于按照上述确定模块43a得到的特征值的数量将上述特征值集合中的所有特征值分发给至少一个计算设备,以使上述至少一个计算设备对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值;
接收模块43c,用于接收来自上述至少一个计算设备的筛选后的特征值,以更新上述特征值集合。
可以理解的是,确定模块43a、发送模块43b和接收模块43c可以分别执行图2中步骤104a至步骤102c的流程,因而可以具有相应的功能与结构,在此不再赘述。
与上述样本分布式聚类计算方法类似,在上述的任意一个实施例当中,上述“对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于上述预设阈值”的过程,可以具体包括未在附图中所示出的下述步骤流程:
步骤201:将一个特征值保留,并对其余的所有特征值依次执行以下步骤:
步骤202:判断特征值是否与已保留的任一特征值之间的相似度大于等于上述预设阈值;
步骤203:若是,则将该特征值去除;
步骤204:若否,则将该特征值保留。
由此,上述计算设备可以按照上述步骤201至步骤204的流程来进行聚类计算。
作为一种优选的示例,上述特征值为样本在预设文件格式下的模糊哈希值。其中,模糊哈希算法又称为基于内容分割的分片哈希算法(contexttriggeredpiecewisehashing,CTPH),主要原理是使用一个弱哈希计算文件局部内容,在特定条件下对文件进行分片,然后使用一个强哈希对每片文件计算哈希值,取这些值的一部分并连接起来,与分片条件一起构成一个模糊哈希结果,之后再使用一个字符串相似性对比算法判断两个模糊哈希值的相似度有多少,就可以判断两个文件的相似程度。具体的模糊哈希算法可以参照现有技术中的文献记载,在此不再赘述。可以理解的是,本发明实施例中所采用的模糊哈希算法可以有效地将细节变化对全局结果的影响限制在局部,从而对最终相似性作出有效的判断,从而进一步保障聚类结构结果的有效性。
在上述任一实施例的基础上,述预设条件可以包括下述任意一个条件,或者任意多个条件的组合:
条件F1:任一计算设备的上述处理时间小于第一预设值;
条件F2:所有计算设备的上述处理时间趋于一致;
条件F3:在上述特征值集合中的特征值数量大于第二预设值时,任一上述计算设备的上述处理时间趋近于第三预设值。
除上述的各结构之外,本发明实施例的样本分布式聚类计算装置还可以包括如下未在附图中示出的结构:
划分单元44,用于在上述重复单元43得到的特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
举例来说,上述划分单元44可以具体包括未在附图中示出的结构:
发送模块44a,用于将所有待聚类的样本分为若干份,并与上述重复单元得到的特征值集合一起分别发送给若干个计算设备,以使上述计算设备依次计算每一样本的特征值与上述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
接收模块44b,用于接收来自上述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
在此基础之上,该装置还可以包括未在附图中示出的下述结构:
提取单元45,用于提取属于上述划分单元44得到的任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
基于此,同一类别中所有样本均是相似的,因此可以通过提取共同特征来获取该类别区别于其他类别的特征。比如在该样本为病毒样本时,共同特征可以是对应于一个病毒类别的病毒特征码。由此,可以利用得到的病毒类别及病毒特征码组成病毒库,以实现病毒的查杀。
应理解的是,本发明的其他实施例还公开了如下技术方案:
A1、一种样本分布式聚类计算装置,其特征在于,包括:
获取单元,用于获取所有待聚类的样本的特征值,以组成特征值集合;
估计单元,用于估计每一可用的计算设备的计算速度;
重复单元,用于在所述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:
根据所述估计单元得到的每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值。
A2、根据前述方案A1所述的装置,其特征在于,所述特征值为样本在预设文件格式下的模糊哈希值。
A3、根据前述方案A1所述的装置,其特征在于,所述估计单元具体包括:
发送模块,用于将所述获取单元得到的预设数量的特征值发送给任一可用的计算设备,以使该计算设备对所述预设数量的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
获取模块,用于获取该计算设备的处理时间,以得到所述每一可用的计算设备的计算速度的估计值。
A4、根据前述方案A1所述的装置,其特征在于,所述重复单元具体包括:
确定模块,用于根据所述估计单元得到的每一可用的计算设备的计算速度和所述预设条件确定分配给每一计算设备的特征值的数量;
发送模块,用于按照所述确定模块得到的特征值的数量将所述特征值集合中的所有特征值分发给至少一个计算设备,以使所述至少一个计算设备对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
接收模块,用于接收来自所述至少一个计算设备的筛选后的特征值,以更新所述特征值集合。
A5、根据前述方案A1至A4中任意一项所述的装置,其特征在于,所述对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值,具体包括:
将一个特征值保留,并对其余的所有特征值依次执行以下步骤:
判断特征值是否与已保留的任一特征值之间的相似度大于等于所述预设阈值;
若是,则将该特征值去除;
若否,则将该特征值保留。
A6、根据前述方案A1至A4中任意一项所述的装置,其特征在于,该装置还包括:
划分单元,用于在所述重复单元得到的特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
A7、根据前述方案A6所述的装置,其特征在于,所述划分单元具体包括:
发送模块,用于将所有待聚类的样本分为若干份,并与所述重复单元得到的特征值集合一起分别发送给若干个计算设备,以使所述计算设备依次计算每一样本的特征值与所述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
接收模块,用于接收来自所述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
A8、根据前述方案A6所述的装置,其特征在于,该装置还包括:
提取单元,用于提取属于所述划分单元得到的任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
A9、根据前述方案A1至A8中任意一项所述的装置,其特征在于,所述预设条件包括:
任一计算设备的所述处理时间小于第一预设值;
和/或,
所有计算设备的所述处理时间趋于一致;
和/或,
在所述特征值集合中的特征值数量大于第二预设值时,任一所述计算设备的所述处理时间趋近于第三预设值。
B10、一种样本分布式聚类计算方法,其特征在于,包括:
获取所有待聚类的样本的特征值,以组成特征值集合;
估计每一可用的计算设备的计算速度;
在所述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:
根据所述每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值。
B11、根据前述方案B10所述的方法,其特征在于,所述特征值为样本在预设文件格式下的模糊哈希值。
B12、根据前述方案B10所述的方法,其特征在于,所述估计每一可用的计算设备的计算速度,包括:
将预设数量的特征值发送给任一可用的计算设备,以使该计算设备对所述预设数量的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
获取该计算设备的处理时间,以得到所述每一可用的计算设备的计算速度的估计值。
B13、根据前述方案B10所述的方法,其特征在于,所述根据所述每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值,包括:
根据所述每一可用的计算设备的计算速度和所述预设条件确定分配给每一计算设备的特征值的数量;
按照所确定的特征值的数量将所述特征值集合中的所有特征值分发给至少一个计算设备,以使所述至少一个计算设备对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
接收来自所述至少一个计算设备的筛选后的特征值,以更新所述特征值集合。
B14、根据前述方案B10至B13中任意一项所述的方法,其特征在于,所述对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值,具体包括:
将一个特征值保留,并对其余的所有特征值依次执行以下步骤:
判断特征值是否与已保留的任一特征值之间的相似度大于等于所述预设阈值;
若是,则将该特征值去除;
若否,则将该特征值保留。
B15、根据前述方案B10至B13中任意一项所述的方法,其特征在于,还包括:
在所述特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
B16、根据前述方案B15所述的方法,其特征在于,所述在所述特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中,包括:
将所有待聚类的样本分为若干份,并与所述特征值集合一起分别发送给若干个计算设备,以使所述计算设备依次计算每一样本的特征值与所述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
接收来自所述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
B17、根据前述方案B15所述的方法,其特征在于,还包括:
提取属于任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
B18、根据前述方案B10至B17中任意一项所述的方法,其特征在于,所述预设条件包括:
任一计算设备的所述处理时间小于第一预设值;
和/或,
所有计算设备的所述处理时间趋于一致;
和/或,
在所述特征值集合中的特征值数量大于第二预设值时,任一所述计算设备的所述处理时间趋近于第三预设值。