CN105095382B - 样本分布式聚类计算方法及装置 - Google Patents

样本分布式聚类计算方法及装置 Download PDF

Info

Publication number
CN105095382B
CN105095382B CN201510375182.5A CN201510375182A CN105095382B CN 105095382 B CN105095382 B CN 105095382B CN 201510375182 A CN201510375182 A CN 201510375182A CN 105095382 B CN105095382 B CN 105095382B
Authority
CN
China
Prior art keywords
characteristic value
computing device
value
similarity
characteristic
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
CN201510375182.5A
Other languages
English (en)
Other versions
CN105095382A (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 360 Zhiling Technology Co ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510375182.5A priority Critical patent/CN105095382B/zh
Publication of CN105095382A publication Critical patent/CN105095382A/zh
Application granted granted Critical
Publication of CN105095382B publication Critical patent/CN105095382B/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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification

Landscapes

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

Abstract

本发明提供了一种样本分布式聚类计算方法及装置,其中的方法包括:获取所有待聚类的样本的特征值,以组成特征值集合;估计每一可用的计算设备的计算速度;在所述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:根据所述每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值。本发明可以解决现有的聚类算法难以处理大规模数据的问题,可以将现有技术难以处理的大规模数据进行分布式的聚类计算,有效提高了聚类计算的效率。

Description

样本分布式聚类计算方法及装置
技术领域
本发明涉及信息技术领域,具体涉及一种样本分布式聚类计算方法及装置。
背景技术
聚类是一种将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,广泛应用于各类信息的处理过程当中,比如新闻文本的整合与分析、数据文件的整理与文件索引的建立等等。现有技术中,常见的算法可以分为划分法(Partitioning Methods)、层次法(Hierarchical Methods)、基于密度的方法(Density-Based Methods)、基于网格的方法(Grid-Based Methods)、基于模型的方法(Model-Based Methods)。
例如在划分法中,给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。而且这K个分组满足下列条件:
(1)每一个分组至少包含一个数据纪录;
(2)每一个数据纪录属于且仅属于一个分组;
对于给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好,而所谓好的标准就是:同一分组中的记录越近越好,而不同分组中的纪录越远越好。常见的划分法算法有:K-MEANS算法、K-MEDOIDS算法和CLARANS算法。
然而,随着信息化的普及,聚类计算所面临的数据规模日益庞大,传统的聚类算法处理小规模数据时性能比较好,但是当数据规模增大时,性能就会急剧下降,比如划分法中的K-MEDOIDS方法在处理小规模数据时计算性能很好,但是随着数据量的增加,计算效率就逐渐下降,难以满足实际的应用需求。
发明内容
针对现有技术中的缺陷,本发明提供一种样本分布式聚类计算方法及装置,可以解决现有的聚类算法难以处理大规模数据的问题。
第一方面,本发明提供了一种样本分布式聚类计算装置,包括:
获取单元,用于获取所有待聚类的样本的特征值,以组成特征值集合;
估计单元,用于估计每一可用的计算设备的计算速度;
重复单元,用于在所述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:
根据所述估计单元得到的每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值。
可选地,所述特征值为样本在预设文件格式下的模糊哈希值。
可选地,所述估计单元具体包括:
发送模块,用于将所述获取单元得到的预设数量的特征值发送给任一可用的计算设备,以使该计算设备对所述预设数量的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
获取模块,用于获取该计算设备的处理时间,以得到所述每一可用的计算设备的计算速度的估计值。
可选地,所述重复单元具体包括:
确定模块,用于根据所述估计单元得到的每一可用的计算设备的计算速度和所述预设条件确定分配给每一计算设备的特征值的数量;
发送模块,用于按照所述确定模块得到的特征值的数量将所述特征值集合中的所有特征值分发给至少一个计算设备,以使所述至少一个计算设备对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
接收模块,用于接收来自所述至少一个计算设备的筛选后的特征值,以更新所述特征值集合。
可选地,所述对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值,具体包括:
将一个特征值保留,并对其余的所有特征值依次执行以下步骤:
判断特征值是否与已保留的任一特征值之间的相似度大于等于所述预设阈值;
若是,则将该特征值去除;
若否,则将该特征值保留。
可选地,该装置还包括:
划分单元,用于在所述重复单元得到的特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
可选地,所述划分单元具体包括:
发送模块,用于将所有待聚类的样本分为若干份,并与所述重复单元得到的特征值集合一起分别发送给若干个计算设备,以使所述计算设备依次计算每一样本的特征值与所述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
接收模块,用于接收来自所述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
可选地,该装置还包括:
提取单元,用于提取属于所述划分单元得到的任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
可选地,所述预设条件包括:
任一计算设备的所述处理时间小于第一预设值;
和/或,
所有计算设备的所述处理时间趋于一致;
和/或,
在所述特征值集合中的特征值数量大于第二预设值时,任一所述计算设备的所述处理时间趋近于第三预设值。
第二方面,本发明还提供了一种样本分布式聚类计算方法,包括:
获取所有待聚类的样本的特征值,以组成特征值集合;
估计每一可用的计算设备的计算速度;
在所述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:
根据所述每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值。
由上述技术方案可知,本发明将单一计算设备难以处理的大规模数据基于计算速度的估计分配给不同的计算设备进行迭代计算,因而可以大大地提升计算效率;同时,不同计算设备进行计算时都基于去除相似特征值的相同标准进行,可以有效保障聚类效果。因此,本发明可以解决现有的聚类算法难以处理大规模数据的问题。
进一步地,本发明可以将现有技术难以处理的大规模数据进行分布式的聚类计算,有效提高了聚类计算的效率,不仅有利于推动现有聚类计算的实际应用,还有利于将聚类计算推广至更广阔的应用范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例中一种样本分布式聚类计算方法的步骤流程示意图;
图2是本发明一个实施例中一种进行聚类计算的步骤流程示意图;
图3是本发明一个实施例中一种估计运算速度的步骤流程示意图;
图4是本发明一个实施例中一种样本分布式聚类计算装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
图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的总时间过长或过短所导致的处理效率的下降。另外,在上述特征值集合中的特征值数量小于或等于上述第二预设值,也就是说特征值集合中的特征值数量足够小时,可以直接利用少量计算设备来进行处理,避免重复次数的不必要的增加。
由上述技术方案可知,本发明实施例将单一计算设备难以处理的大规模数据基于计算速度的估计分配给不同的计算设备进行迭代计算,因而可以大大地提升计算效率;同时,不同计算设备进行计算时都基于去除相似特征值的相同标准进行,可以有效保障聚类效果。因此,本发明实施例可以解决现有的聚类算法难以处理大规模数据的问题。进一步地,本发明实施例可以将现有技术难以处理的大规模数据进行分布式的聚类计算,有效提高了聚类计算的效率,不仅有利于推动现有聚类计算的实际应用,还有利于将聚类计算推广至更广阔的应用范围。
作为一种优选的示例,上述特征值为样本在预设文件格式下的模糊哈希值。其中,模糊哈希算法又称为基于内容分割的分片哈希算法(context triggered piecewisehashing,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的流程来进行聚类计算。
作为一种优选的示例,上述特征值为样本在预设文件格式下的模糊哈希值。其中,模糊哈希算法又称为基于内容分割的分片哈希算法(context triggered piecewisehashing,CTPH),主要原理是使用一个弱哈希计算文件局部内容,在特定条件下对文件进行分片,然后使用一个强哈希对每片文件计算哈希值,取这些值的一部分并连接起来,与分片条件一起构成一个模糊哈希结果,之后再使用一个字符串相似性对比算法判断两个模糊哈希值的相似度有多少,就可以判断两个文件的相似程度。具体的模糊哈希算法可以参照现有技术中的文献记载,在此不再赘述。可以理解的是,本发明实施例中所采用的模糊哈希算法可以有效地将细节变化对全局结果的影响限制在局部,从而对最终相似性作出有效的判断,从而进一步保障聚类结构结果的有效性。
在上述任一实施例的基础上,述预设条件可以包括下述任意一个条件,或者任意多个条件的组合:
条件F1:任一计算设备的上述处理时间小于第一预设值;
条件F2:所有计算设备的上述处理时间趋于一致;
条件F3:在上述特征值集合中的特征值数量大于第二预设值时,任一上述计算设备的上述处理时间趋近于第三预设值。
除上述的各结构之外,本发明实施例的样本分布式聚类计算装置还可以包括如下未在附图中示出的结构:
划分单元44,用于在上述重复单元43得到的特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
举例来说,上述划分单元44可以具体包括未在附图中示出的结构:
发送模块44a,用于将所有待聚类的样本分为若干份,并与上述重复单元得到的特征值集合一起分别发送给若干个计算设备,以使上述计算设备依次计算每一样本的特征值与上述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
接收模块44b,用于接收来自上述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
在此基础之上,该装置还可以包括未在附图中示出的下述结构:
提取单元45,用于提取属于上述划分单元44得到的任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
基于此,同一类别中所有样本均是相似的,因此可以通过提取共同特征来获取该类别区别于其他类别的特征。比如在该样本为病毒样本时,共同特征可以是对应于一个病毒类别的病毒特征码。由此,可以利用得到的病毒类别及病毒特征码组成病毒库,以实现病毒的查杀。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在于该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是互相排斥之处,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种浏览器终端的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (18)

1.一种样本分布式聚类计算装置,其特征在于,包括:
获取单元,用于获取所有待聚类的样本的特征值,以组成特征值集合;
估计单元,用于估计每一可用的计算设备的计算速度;
重复单元,用于在所述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:
根据所述估计单元得到的每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值。
2.根据权利要求1所述的装置,其特征在于,所述特征值为样本在预设文件格式下的模糊哈希值。
3.根据权利要求1所述的装置,其特征在于,所述估计单元具体包括:
发送模块,用于将所述获取单元得到的预设数量的特征值发送给任一可用的计算设备,以使该计算设备对所述预设数量的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
获取模块,用于获取该计算设备的处理时间,以得到所述每一可用的计算设备的计算速度的估计值。
4.根据权利要求1所述的装置,其特征在于,所述重复单元具体包括:
确定模块,用于根据所述估计单元得到的每一可用的计算设备的计算速度和所述预设条件确定分配给每一计算设备的特征值的数量;
发送模块,用于按照所述确定模块得到的特征值的数量将所述特征值集合中的所有特征值分发给至少一个计算设备,以使所述至少一个计算设备对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
接收模块,用于接收来自所述至少一个计算设备的筛选后的特征值,以更新所述特征值集合。
5.根据权利要求1至4中任意一项所述的装置,其特征在于,所述对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值,具体包括:
将一个特征值保留,并对其余的所有特征值依次执行以下步骤:
判断特征值是否与已保留的任一特征值之间的相似度大于等于所述预设阈值;
若是,则将该特征值去除;
若否,则将该特征值保留。
6.根据权利要求1至4中任意一项所述的装置,其特征在于,该装置还包括:
划分单元,用于在所述重复单元得到的特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
7.根据权利要求6所述的装置,其特征在于,所述划分单元具体包括:
发送模块,用于将所有待聚类的样本分为若干份,并与所述重复单元得到的特征值集合一起分别发送给若干个计算设备,以使所述计算设备依次计算每一样本的特征值与所述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
接收模块,用于接收来自所述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
8.根据权利要求6所述的装置,其特征在于,该装置还包括:
提取单元,用于提取属于所述划分单元得到的任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
9.根据权利要求1所述的装置,其特征在于,所述预设条件包括:
任一计算设备的所述处理时间小于第一预设值;
和/或,
所有计算设备的所述处理时间趋于一致;
和/或,
在所述特征值集合中的特征值数量大于第二预设值时,任一所述计算设备的所述处理时间趋近于第三预设值。
10.一种样本分布式聚类计算方法,其特征在于,包括:
获取所有待聚类的样本的特征值,以组成特征值集合;
估计每一可用的计算设备的计算速度;
在所述特征值集合中任意两个特征值之间的相似度小于预设阈值之前,重复地执行下述步骤:
根据所述每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值。
11.根据权利要求10所述的方法,其特征在于,所述特征值为样本在预设文件格式下的模糊哈希值。
12.根据权利要求10所述的方法,其特征在于,所述估计每一可用的计算设备的计算速度,包括:
将预设数量的特征值发送给任一可用的计算设备,以使该计算设备对所述预设数量的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
获取该计算设备的处理时间,以得到所述每一可用的计算设备的计算速度的估计值。
13.根据权利要求10所述的方法,其特征在于,所述根据所述每一可用的计算设备的计算速度将所述特征值集合中的所有特征值分配给至少一个计算设备,以使所述至少一个计算设备在处理时间满足预设条件的前提下对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值,包括:
根据所述每一可用的计算设备的计算速度和所述预设条件确定分配给每一计算设备的特征值的数量;
按照所确定的特征值的数量将所述特征值集合中的所有特征值分发给至少一个计算设备,以使所述至少一个计算设备对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值;
接收来自所述至少一个计算设备的筛选后的特征值,以更新所述特征值集合。
14.根据权利要求10至13中任意一项所述的方法,其特征在于,所述对分配到的特征值进行筛选,使得任意两个特征值之间的相似度小于所述预设阈值,具体包括:
将一个特征值保留,并对其余的所有特征值依次执行以下步骤:
判断特征值是否与已保留的任一特征值之间的相似度大于等于所述预设阈值;
若是,则将该特征值去除;
若否,则将该特征值保留。
15.根据权利要求10至13中任意一项所述的方法,其特征在于,还包括:
在所述特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中。
16.根据权利要求15所述的方法,其特征在于,所述在所述特征值集合中的每一特征值对应一个类别的前提下,将所有待聚类的样本中的每一个按照特征值的相似度的大小划分至一个类别当中,包括:
将所有待聚类的样本分为若干份,并与所述特征值集合一起分别发送给若干个计算设备,以使所述计算设备依次计算每一样本的特征值与所述特征值集合中所有特征值的相似度,并将每一样本标记为与该样本的特征值之间的相似度最大的特征值所对应的类别;
接收来自所述若干个计算设备的每一样本的类别标记,以对所有待聚类的样本进行分类。
17.根据权利要求15所述的方法,其特征在于,还包括:
提取属于任一类别的所有样本的共同特征,用以获得该类别区别于其他类别的特征。
18.根据权利要求10所述的方法,其特征在于,所述预设条件包括:
任一计算设备的所述处理时间小于第一预设值;
和/或,
所有计算设备的所述处理时间趋于一致;
和/或,
在所述特征值集合中的特征值数量大于第二预设值时,任一所述计算设备的所述处理时间趋近于第三预设值。
CN201510375182.5A 2015-06-30 2015-06-30 样本分布式聚类计算方法及装置 Active CN105095382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510375182.5A CN105095382B (zh) 2015-06-30 2015-06-30 样本分布式聚类计算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510375182.5A CN105095382B (zh) 2015-06-30 2015-06-30 样本分布式聚类计算方法及装置

Publications (2)

Publication Number Publication Date
CN105095382A CN105095382A (zh) 2015-11-25
CN105095382B true CN105095382B (zh) 2018-09-14

Family

ID=54575819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510375182.5A Active CN105095382B (zh) 2015-06-30 2015-06-30 样本分布式聚类计算方法及装置

Country Status (1)

Country Link
CN (1) CN105095382B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460049B (zh) * 2017-02-21 2021-10-19 阿里巴巴集团控股有限公司 一种确定信息类别的方法和系统
CN110472055B (zh) * 2019-08-21 2021-09-14 北京百度网讯科技有限公司 用于标注数据的方法和装置
CN112487432A (zh) * 2020-12-10 2021-03-12 杭州安恒信息技术股份有限公司 一种基于图标匹配的恶意文件检测的方法、系统及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178720A (zh) * 2007-10-23 2008-05-14 浙江大学 一种面向互联网微内容的分布式聚类方法
CN102930206A (zh) * 2011-08-09 2013-02-13 腾讯科技(深圳)有限公司 病毒文件的聚类划分处理方法和装置
CN103218233A (zh) * 2013-05-09 2013-07-24 福州大学 Hadoop异构集群中的数据分配策略
US8655878B1 (en) * 2010-05-06 2014-02-18 Zeitera, Llc Scalable, adaptable, and manageable system for multimedia identification
CN103595805A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种基于分布式集群的数据放置方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178720A (zh) * 2007-10-23 2008-05-14 浙江大学 一种面向互联网微内容的分布式聚类方法
US8655878B1 (en) * 2010-05-06 2014-02-18 Zeitera, Llc Scalable, adaptable, and manageable system for multimedia identification
CN102930206A (zh) * 2011-08-09 2013-02-13 腾讯科技(深圳)有限公司 病毒文件的聚类划分处理方法和装置
CN103218233A (zh) * 2013-05-09 2013-07-24 福州大学 Hadoop异构集群中的数据分配策略
CN103595805A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种基于分布式集群的数据放置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云计算:构建未来电力系统的核心计算平台;赵俊华等;《电力系统自动化》;20100810;第34卷(第15期);全文 *

Also Published As

Publication number Publication date
CN105095382A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN104978526B (zh) 病毒特征的提取方法及装置
WO2016101628A1 (zh) 一种数据建模中的数据处理方法及装置
CN107220261B (zh) 一种基于分布式数据的实时挖掘方法及装置
CN106803799B (zh) 一种性能测试方法和装置
JP7069173B2 (ja) 高速分析のためにネットワーク・トラフィックを準備するシステム
CN105095382B (zh) 样本分布式聚类计算方法及装置
CN106062751A (zh) 对与数据类型有关的数据剖析操作的管理
CN108805174A (zh) 聚类方法及装置
CN108628675A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN104881322A (zh) 一种基于装箱模型的集群资源调度方法及装置
CN106708738A (zh) 一种软件测试缺陷预测方法及系统
CN111626311B (zh) 一种异构图数据处理方法和装置
CN112241494A (zh) 基于用户行为数据的关键信息推送方法及装置
CN106453320A (zh) 恶意样本的识别方法及装置
CN105630797B (zh) 数据处理方法及系统
CN109828790A (zh) 一种基于申威异构众核处理器的数据处理方法和系统
CN109564569A (zh) 减少用于长期计算的存储器使用
CN109416688B (zh) 用于灵活的高性能结构化数据处理的方法和系统
CN101495978B (zh) 减少总线连接的消费者和产生者之间的消息流
CN103699653A (zh) 数据聚类方法和装置
CN103530369A (zh) 一种去重方法及系统
CN110209656B (zh) 数据处理方法及装置
CN110807159B (zh) 数据标记方法、装置、存储介质及电子设备
CN104778088A (zh) 一种基于减少进程间通信开销的并行i/o优化方法与系统
Yan et al. Automatic virtual network embedding based on deep reinforcement learning

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230714

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing Hongxiang Technical Service Co.,Ltd.

Address before: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee before: 3600 Technology Group Co.,Ltd.

CP03 Change of name, title or address

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing 360 Zhiling Technology Co.,Ltd.

Country or region after: China

Address before: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee before: Beijing Hongxiang Technical Service Co.,Ltd.

Country or region before: China