CN110516738B - 一种分布式比对聚类方法、装置、电子设备及存储介质 - Google Patents
一种分布式比对聚类方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110516738B CN110516738B CN201910794978.2A CN201910794978A CN110516738B CN 110516738 B CN110516738 B CN 110516738B CN 201910794978 A CN201910794978 A CN 201910794978A CN 110516738 B CN110516738 B CN 110516738B
- Authority
- CN
- China
- Prior art keywords
- comparison
- clustering
- task
- subtasks
- tasks
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例公开了一种分布式比对聚类方法、装置、电子设备及存储介质。本申请实施例提供的技术方案,通过各计算节点在任务队列领取由聚类任务均分而成的子任务,计算节点对领取到的子任务进行处理,将处理生成的比对聚类结果发送至结果队列,同时继续在任务队列中领取新的子任务进行处理,直至对应一个聚类任务均分的所有子任务被处理完,最终由管理节点汇总聚类各个子任务的比对聚类结果,完成该比对聚类任务。由计算节点根据子任务的处理进程,处理完一个子任务再领取新的子任务,直至完成比对聚类任务,以使各个计算节点的算力得到均衡、充分的利用,数据比对聚类更为高效。
Description
技术领域
本申请实施例涉及数据聚类技术领域,尤其涉及一种分布式比对聚类方法、装置、电子设备及存储介质。
背景技术
在安防跟踪监控场景中,需要将摄像头监控的视频图像进行比对聚类,将经比对聚类后的图像特征数据用于后续的安防数据分析。目前,传统的数据比对分析大多采用单节点进行比对聚类任务的计算,但随着特征数据规模的增加,单节点比对聚类已无法满足产品、项目中的计算需求。对于城市安防监控而言,其监控图像数据量庞大,仅采用单节点执行比对聚类任务,其CPU负载过大,数据计算效率偏低。为了提高数据计算效率,通常会采用分布式计算的方式以缓解单节点处理任务的压力,但是,仅仅简单地将任务分发至多个节点进行处理,由于各个节点的算力不同,处理同一数据量的任务的时效也不同,仅仅简单地均分计算任务无法充分利用各节点的算力,进而影响数据聚类效率。
发明内容
本申请实施例提供一种分布式比对聚类方法、装置、电子设备及存储介质,能够充分利用各计算节点算力,提高数据聚类效率。
在第一方面,本申请实施例提供了一种分布式比对聚类方法,应用于计算节点,包括:
实时监听任务队列,从所述任务队列领取子任务,所述子任务由管理节点接收比对聚类任务,将所述比对聚类任务均分为若干个所述子任务并放入所述任务队列中;
从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果;
将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理。
优选的,所述子任务包含有请求标识、管理节点地址、特征起始序号及特征结束序号。
优选的,在所述从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务中,根据所述特征起始序号及所述特征结束序号获取所述特征数据集中对应的特征数据进行比对聚类。
优选的,所述从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果,包括:
基于对应的特征数据将所述子任务拆分成若干个比对任务;
使用多线程分别处理所述比对任务;
汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果。
优选的,所述任务队列为共享任务队列,所述任务队列包括对应不同比对聚类任务的子任务。
优选的,在所述将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理之后,还包括:
清除对应所述比对聚类任务的特征数据集,从所述任务队列领取对应新的比对聚类任务进行均分的子任务进行处理。
在第二方面,本申请实施例提供了另一种分布式比对聚类方法,应用于管理节点,包括:
接收比对聚类任务,将所述比对聚类任务均分为若干个子任务;
将所述子任务放入任务队列中,供各计算节点逐个领取并进行处理;
从结果队列中获取各计算节点发送的对应各子任务的比对聚类结果;
对各个所述子任务的比对聚类结果进行聚类,生成对应所述比对聚类任务的聚类结果并回传至所述比对聚类任务的任务请求方。
在第三方面,本申请实施例提供了一种分布式比对聚类装置,包括:
任务领取模块,用于实时监听任务队列,从所述任务队列领取子任务,所述子任务由管理节点接收比对聚类任务,将所述比对聚类任务均分为若干个所述子任务并放入所述任务队列中;
比对聚类模块,用于从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果;
新任务处理模块,用于将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理。
优选的,还包括清除模块,用于在完成所述比对聚类任务后,清除对应所述比对聚类任务的特征数据集,从所述任务队列领取对应新的比对聚类任务进行均分的子任务进行处理。
优选的,所述比对聚类模块包括切分单元,用于基于对应的特征数据将所述子任务拆分成若干个比对任务;处理单元,用于使用多线程分别处理所述比对任务;汇总聚类单元,用于汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果。
在第四方面,本申请实施例提供了一种电子设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的分布式比对聚类方法。
在第五方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的分布式比对聚类方法。
本申请实施例通过各计算节点在任务队列领取由聚类任务均分而成的子任务,计算节点对领取到的子任务进行处理,将处理生成的比对聚类结果发送至结果队列,同时继续在任务队列中领取新的子任务进行处理,直至对应一个聚类任务均分的所有子任务被处理完,最终由管理节点汇总聚类各个子任务的比对聚类结果,完成该比对聚类任务。由计算节点根据子任务的处理进程,处理完一个子任务再领取新的子任务,直至完成比对聚类任务,以使各个计算节点的算力得到均衡、充分的利用,数据比对聚类更为高效。
附图说明
图1是本申请实施例一提供的一种分布式比对聚类方法的流程图;
图2是本申请实施例一多摄像头图像特征数据汇总示意图;
图3是本申请实施例一的管理节点任务处理流程图;
图4是本申请实施例一的Redis队列任务分发、收集示意图;
图5是本申请实施例一的计算节点的任务处理流程图;
图6是本申请实施例一中单个计算节点的子任务处理流程图;
图7是本申请实施例一中节点间的数据传输示意图;
图8是本申请实施例二提供的另一种分布式比对聚类方法的流程图;
图9是本申请实施例三提供的一种分布式比对聚类装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的分布式比对聚类方法,旨在通过分布式处理聚类任务的方式实现聚类任务的高效处理。通常,对于现有的比对聚类任务处理方式,当服务器程序接收到比对聚类任务后,会基于比对聚类任务请求,由单个计算节点进行比对聚类任务处理,采用单个机器进行聚类任务数据的计算。由于单个机器的CPU计算能力有限,当计算数据量过于庞大的时候,其数据计算效率相对较低,无法对海量数据聚类任务进行高效处理。基于此,本申请实施例的分布式比对聚类方法,其将比对聚类任务采用分布式的形式由多个计算节点处理,通过汇总聚类计算节点的聚类结果来实现聚类任务的高效处理。特别是在城市安防监控应用中,应用本方法对海量人脸、车辆等特征数据进行比对、聚类,以有效解决海量特征数据高效比对、聚类的问题。
实施一:
图1给出了本申请实施例一提供的一种分布式比对聚类方法的流程图,对应应用于各计算节点,本实施例中提供的分布式比对聚类方法可以由分布式比对聚类设备执行,该分布式比对聚类设备可以通过软件和/或硬件的方式实现,该分布式比对聚类设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,分布式比对聚类设备具备数据计算处理功能,该分布式比对聚类设备可以是计算机等带CPU的计算设备。
下述以分布式比对聚类设备为执行分布式比对聚类方法的设备为例,进行描述。参照图1,该分布式比对聚类方法具体包括:
S110、实时监听任务队列,从所述任务队列领取子任务,所述子任务由管理节点接收比对聚类任务,将所述比对聚类任务均分为若干个所述子任务并放入所述任务队列中。
示例性的,在城市安防监控应用中,参照图2,对应布控的多个摄像头进行图像数据的采集,采集到的图像特征数据需要通过比对聚类,得到聚类结果以用于后续各种数据分析场景。各摄像头采集到的图像特征数据,均上传至服务器进行存储。后续需要对这些图像特征数据进行聚类时,通过发起比对聚类任务请求,当服务器程序接收到对应特征数据的比对聚类任务请求后,开始进行对应图像特征数据的比对聚类。
本申请实施例的分布式比对聚类方法采用Master-Worker设计模式,其中,管理节点作为“Master”,负责接收和分配比对聚类任务,各个计算节点作为“Worker”,负责处理管理节点分配的子任务。通过多机器+多线程的模式,将任务分发给更多的CPU处理,通过并发、并行处理提高任务的完成速度,进而提高系统的性能。
具体的,参照图3,当管理节点接收到一个N:N任务(N个特征数据两两比对,然后聚类的任务)后,基于接收到的N:N任务,将N:N任务均分成N/k个k:N子任务,此处k:N子任务即为k个特征数据分别与N个特征数据中的每一个比对,然后将比对结果聚类。通过将比对聚类任务均分成若干个子任务,由各个计算节点逐个进行领取进行处理,每个计算节点对应一个CPU进行数据计算处理,以此来实现比对聚类任务的分布式处理。
参照图4,管理节点将N:N任务进行均分之后,将均分后的子任务放入任务队列中,由各个计算节点在任务队列中进行子任务领取并处理。本申请的任务队列为redis队列,redis队列是一个开源的、基于内存且可持久化的键值对存储数据库,redis队列在本实施例中作为任务队列和结果队列使用,用于管理节点和各个计算节点之间的通讯。子任务由各个计算节点领取并处理,参照图5,各个计算节点会实时监听任务队列,当管理节点把子任务放入任务队列之后,计算节点通过实时监听发现有新的子任务,则主动从任务队列中领取一个子任务,进行对应这一子任务的比对聚类处理。
需要说明的是,各个k:N子任务均包含有请求标识、管理节点地址、特征起始序号及特征结束序号,以明确一个k:N子任务对应处理的是特征数据集(N个特征数据)中的哪部分特征数据的比对聚类任务;请求标识同时也是N:N任务标识,每个N:N结果队列通过请求标识区分,后续管理节点监听结果队列获取子任务的比对聚类结果时,只需要知道请求标识即可获知聚类结果;管理节点地址主要是请求特征数据集的时候使用,计算节点在执行子任务时,通过管理节点地址到对应的管理节点提取对应任务的特征数据集。具体的,计算节点根据对应k:N子任务的特征起始序号及特征结束序号,即可获知其需要处理的是特征数据集的哪部分特征数据的比对聚类任务。
S120、从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果。
示例性的,各个计算节点在进行对应k:N子任务的处理之前,先从管理节点获取对应整个N:N任务的特征数据集,后续对应一个k:N子任务,将K个特征数据分别与特征数据集中的每一个特征数据进行比对,最终汇总各个比对结果进行基于这一k:N子任务的比对结果聚类。各个计算节点在接收子任务时,不会进行特征数据集的接收,子任务只通过特征起始序号和特征结束序号告知计算节点需要处理特征数据集中的哪部分数据的比对聚类。例如,对应十万个特征数据的N:N任务,将这一比对聚类任务均分成100个1000:100000子任务,那么计算节点接收到一个1000:100000子任务后,此时特征起始序号若为1001,特征结束序号为2000,则表示对应计算节点需要处理的是特征数据集中第1001~2000的特征数据的比对聚类,则计算节点接收到这一1000:100000子任务后,先从管理节点获取特征数据集,然后取特征序号1001~2000的这部分特征数据作为一个k:N子任务的“K”,将这部分特征数据分别与特征数据集的N个特征数据中的每一个特征数据进行比对,得到这一k:N子任务的比对结果,计算节点通过汇总这些比对结果进行聚类,最终得到对应这一k:N子任务的比对聚类结果。具体的,参照图6,单个计算节点的子任务处理流程包括:
S1201、基于对应的特征数据将所述子任务拆分成若干个比对任务。
S1202、使用多线程分别处理所述比对任务。
S1203、汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果。
计算节点在对应处理特征序号1001~2000这部分特征数据的1000:100000子任务(k:N子任务)时,将k:N子任务拆分成1000个1:N比对任务。比对时,采用相关比对算法计算两个特征数据之间的相似度,得到N个相似度比对结果,通过对这N个比对结果进行聚类,最终得到一个k:N子任务的比对聚类结果。特征数据比对为现有较成熟技术,不作为本申请实施例的主要改进点,这里不多赘述。
进一步的,为了提高计算效率在本申请实施例计算节点比对聚类方法的一些实施场景中,对应一个计算节点可采用多个线程分别处理部分比对任务。计算节点将每个1:N比对任务再拆分成N/L个1:L比对任务,使用多线程同时处理多个1:L比对任务,之后计算节点收集各个线程1:L比对任务的比对结果,将结果汇总,使用聚类算法进行k:N子任务聚类。聚类是基于比对结果,采用对应聚类算法,对特征数据进行分组的过程。最终属于同一组的特征数据相似度较高,而属于不同组的特征数据则相似度较低。具体的,聚类算法计算过程中,每个特征与N个特征进行比对,将低相似度的特征丢弃,剩下的高相似度的特征构成一个初始簇,N组特征比对构成N个初始簇。采用凝聚式层次聚类算法,从最底层开始,每一轮通过合并最相似的簇来形成上一层次中的簇,当相邻两个层次簇的数量差距足够小时停止迭代。最后再根据簇的大小,对不同簇中的相同元素去重。基于以上算法,每个k:N子任务构成k个初始簇,通过对k个初始簇做若干轮合并,以合并的结果作为k:N子任务的比对聚类结果,管理节点将所有k:N子任务的比对聚类结果汇总后,再使用以上算法进行最终聚类。以此可以减少传输的数据量,提高聚类速度。
S130、将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理。
示例性的,参照图4,各个计算节点生成的k:N子任务比对聚类结果,会发送至Redis中的结果队列,由结果队列收集比对聚类结果。需要说明的是,本申请实施例中的结果队列与一个N:N比对聚类任务对应,结果队列只收集对应这一N:N任务均分的k:N子任务的比对聚类结果。一个N:N比对聚类任务设置一个结果队列,便于对应比对聚类结果的收集,避免结果数据混淆而影响数据汇总。计算节点根据请求标识将子任务比对聚类结果返回至对应的结果队列中,由管理节点从该结果队列提取子任务处理结果。并且,图3中,管理节点在将子任务放入任务队列后,会实时监听结果队列,在子任务失败或者超时时,管理节点会将超时或者失败的任务重新放入任务队列进行处理。而当整个比对聚类任务处理超时的时候,则直接返回当前聚类结果。另一方面,不同于结果队列与N:N比对聚类任务的对应关系,任务队列为共享任务队列,任务队列中包括对应不同N:N比对聚类任务的子任务,也就是说,任务队列接收多个N:N比对聚类任务均分的子任务,这些比对聚类任务可以是来自一个管理节点,也可以是来自多个管理节点,最终由各个计算节点在任务队列中依次抽取子任务进行处理。任务队列采用任务与数据分离设计,Redis队列只保存任务信息,特征数据集单独分发,减轻了Redis的压力,提高了数据传输效率。
计算节点在完成一个k:N子任务的处理之后,通过实时监听任务队列,检查任务队列中是否有上述N:N比对聚类任务的k:N子任务,若存在,则计算节点继续领取新的子任务进行处理,同样采用上述子任务处理方式,对新的子任务进行处理。计算节点直至领取完任务队列中对应上述N:N比对聚类任务的所有子任务,则完成一个N:N比对聚类任务的处理。对应一个N:N比对聚类任务,计算节点对任务队列中的子任务进行逐一领取,每处理完成一个子任务则继续领取新的子任务进行处理。各个计算节点根据自身子任务的处理进程,实时处理完成则继续处理下一子任务。以此可使各个计算节点的CPU得到充分、均衡的利用。对应处理速度快的机器,处理完成一个子任务则继续处理下一个子任务,这样处理速度快的计算节点可依次处理多个子任务,处理速度慢的处理偏少量的子任务。这样可以避免计算任务均分的情况下,各个计算节点任务处理速度的不同而影响任务的处理时效,并导致部分处理速度快的计算节点存在闲置而部分处理速度慢的计算节点存在CPU负载过大的情况。
需要注意的是,计算节点在领取新的子任务进行处理时,会检查本地内存是否存在对应N:N任务的特征数据集,调取本地的特征数据集进行新的子任务的处理。由于前后两个子任务对应同一N:N任务,则其任务处理使用的是同一特征数据集,计算节点无需再次从管理节点处获取特征数据集,只在初次处理对应N:N任务的子任务时才向管理节点获取特征数据集。
之后,管理节点通过结果队列,汇总每个k:N子任务比对聚类得到的k个初始簇,对这k个初始簇进行一层层合并,将所有k:N子任务的合并结果汇总,再进行一层层合并,直到相邻两个层次簇的数量差足够小,然后进行簇中元素去重,最终得到一个N:N比对聚类任务的比对聚类结果。本申请实施例的聚类算法与现有聚类算法原理相同,不作为本申请实施例的主要改进点,这里不多赘述。
S140、清除对应所述比对聚类任务的特征数据集,从所述任务队列领取对应新的比对聚类任务进行均分的子任务进行处理。
示例性的,完成上述步骤S130之后,表示对应一个N:N比对聚类任务结束,此时计算节点清除对应上述比对聚类任务的特征数据集,避免计算节点本地存储数据积压。然后,计算节点通过监控任务队列,检查任务队列中是否有对应新的N:N比对聚类任务均分的子任务,若有,则从任务队列领取对应新的N:N比对聚类任务进行均分的子任务进行处理。参照上述步骤S110~S130,对新的N:N比对聚类任务进行处理。采用分布式的方法,利用各个计算节点实时处理服务器程序接收到的各个比对聚类任务。
此外,参照图7,本申请实施例的节点为逻辑节点,一个服务器程序同时包含管理节点和计算节点两种角色。对应一个服务器程序的管理节点接收到比对聚类任务后,将比对聚类任务均分并发送至Redis任务队列,此时对应不同服务器程序的计算节点均可从Redis任务队列中领取子任务进行处理并返回结果至对应的结果队列。采用多机器、多线程的模式,将任务分发给更多的CPU处理,通过多计算节点并发、并行处理计算任务,进而提高任务的完成速度,提高系统的性能。
上述,通过各计算节点在任务队列领取由聚类任务均分而成的子任务,计算节点对领取到的子任务进行处理,将处理生成的比对聚类结果发送至结果队列,同时继续在任务队列中领取新的子任务进行处理,直至对应一个聚类任务均分的所有子任务被处理完,最终由管理节点汇总聚类各个子任务的比对聚类结果,完成该比对聚类任务。由计算节点根据子任务的处理进程,处理完一个子任务再领取新的子任务,直至完成比对聚类任务,以使各个计算节点的算力得到均衡、充分的利用,数据比对聚类更为高效。
此外,本申请实施例将比对聚类任务均分成若干个子任务,子任务相对较小,各计算节点每处理完一个子任务再进行下一个子任务的抽取处理。各计算节点根据自身计算效率逐个抽取处理子任务,能够避免在自身计算资源实时变化时,由于一次性领取的子任务的计算资源需求量过大而导致子节点计算效率偏低的情况,进一步提高数据比对聚类的处理效率。
实施例二:
在上述实施例的基础上,图8为本申请实施例二提供的另一种分布式比对聚类方法的流程图。对应应用于管理节点,参考图8,本实施例提供的分布式比对聚类方法具体包括:
S210、接收比对聚类任务,将所述比对聚类任务均分为若干个子任务;
S220、将所述子任务放入任务队列中,供各计算节点逐个领取并进行处理;
S230、从结果队列中获取各计算节点发送的对应各子任务的比对聚类结果;
S240、对各个所述子任务的比对聚类结果进行聚类,生成对应所述比对聚类任务的聚类结果并回传至所述比对聚类任务的任务请求方。
管理节点在本实施例的比对聚类方法中作为任务分发、汇总聚类的一方,最终得到对应N:N任务的比对聚类结果,管理节点将比对聚类结果回传至任务请求方,完成任务处理结果的反馈。本实施例应用于管理节点的比对聚类方法可参照上述实施例一,这里不多赘述。
上述通过各计算节点在任务队列领取由聚类任务均分而成的子任务,计算节点对领取到的子任务进行处理,将处理生成的比对聚类结果发送至结果队列,同时继续在任务队列中领取新的子任务进行处理,直至对应一个聚类任务均分的所有子任务被处理完,最终由管理节点汇总聚类各个子任务的比对聚类结果,完成该比对聚类任务。由计算节点根据子任务的处理进程,处理完一个子任务再领取新的子任务,直至完成比对聚类任务,以使各个计算节点的算力得到均衡、充分的利用,数据比对聚类更为高效。
实施例三
在上述实施例的基础上,图9为本申请实施例三提供的一种分布式比对聚类装置的结构示意图。参考图9,本实施例提供的分布式比对聚类装置具体包括:任务领取模块31、比对聚类模块32及新任务处理模块33。
其中,任务领取模块31用于实时监听任务队列,从所述任务队列领取子任务,所述子任务由管理节点接收比对聚类任务,将所述比对聚类任务均分为若干个所述子任务并放入所述任务队列中;比对聚类模块32用于从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果;新任务处理模块33用于将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理。
上述,通过各计算节点在任务队列领取由聚类任务均分而成的子任务,计算节点对领取到的子任务进行处理,将处理生成的比对聚类结果发送至结果队列,同时继续在任务队列中领取新的子任务进行处理,直至对应一个聚类任务均分的所有子任务被处理完,最终由管理节点汇总聚类各个子任务的比对聚类结果,完成该比对聚类任务。由计算节点根据子任务的处理进程,处理完一个子任务再领取新的子任务,直至完成比对聚类任务,以使各个计算节点的算力得到均衡、充分的利用,数据比对聚类更为高效。
具体的,还包括清除模块,用于完成所述比对聚类任务后清除对应所述比对聚类任务的特征数据集,从所述任务队列领取对应新的比对聚类任务进行均分的子任务进行处理。
更具体的,所述比对聚类模块包括切分单元,用于基于对应的特征数据将所述子任务拆分成若干个比对任务;处理单元,用于使用多线程分别处理所述比对任务;汇总聚类单元,用于汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果。
本申请实施例三提供的分布式比对聚类装置可以用于执行上述实施例一提供的分布式比对聚类方法,具备相应的功能和有益效果。
实施例四:
本申请实施例四提供了一种电子设备,该电子设备包括:处理器、存储器、通信模块。该电子设备中处理器的数量可以是一个或者多个,该电子设备中的存储器的数量可以是一个或者多个。该电子设备的处理器、存储器、通信模块可以通过总线或者其他方式连接。
存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的分布式比对聚类方法对应的程序指令/模块(例如,分布式比对聚类装置中的任务领取模块、比对聚类模块和新任务处理模块)。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块用于进行数据传输。
处理器通过运行存储在存储器中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的分布式比对聚类方法。
上述提供的电子设备可用于执行上述实施例一提供的分布式比对聚类方法,具备相应的功能和有益效果。
实施例五:
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种分布式比对聚类方法,该分布式比对聚类方法包括:实时监听任务队列,从所述任务队列领取子任务,所述子任务由管理节点接收比对聚类任务,将所述比对聚类任务均分为若干个所述子任务并放入所述任务队列中;从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果;将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的分布式比对聚类方法,还可以执行本申请任意实施例所提供的分布式比对聚类方法中的相关操作。
上述实施例中提供的分布式比对聚类装置、存储介质及电子设备可执行本申请任意实施例所提供的分布式比对聚类方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的分布式比对聚类方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (9)
1.一种分布式比对聚类方法,应用于各计算节点,其特征在于,包括:
实时监听任务队列,从所述任务队列领取子任务,所述子任务由管理节点接收比对聚类任务,将所述比对聚类任务均分为若干个所述子任务并放入所述任务队列中;
从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果,包括基于对应的特征数据将所述子任务拆分成若干个比对任务,使用多线程分别处理所述比对任务,汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果,所述子任务包含有请求标识、管理节点地址、特征起始序号及特征结束序号,其中,包括根据所述特征起始序号及所述特征结束序号获取所述特征数据集中对应的特征数据进行比对聚类;
将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理,其中,所述任务队列中的任务信息与特征数据集分离存储,所述特征数据集单独分发。
2.根据权利要求1所述的分布式比对聚类方法,其特征在于,所述任务队列为共享任务队列,所述任务队列包括对应不同比对聚类任务的子任务。
3.根据权利要求2所述的分布式比对聚类方法,其特征在于,在所述将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理之后,还包括:
清除对应所述比对聚类任务的特征数据集,从所述任务队列领取对应新的比对聚类任务进行均分的子任务进行处理。
4.一种分布式比对聚类方法,应用于管理节点,其特征在于,包括:
接收比对聚类任务,将所述比对聚类任务均分为若干个子任务,所述子任务包含有请求标识、管理节点地址、特征起始序号及特征结束序号;
将所述子任务放入任务队列中,供各计算节点基于所述子任务包含的特征起始序号及特征结束序号逐个领取并进行处理,所述任务队列中的任务信息与特征数据集分离存储,所述特征数据集单独分发;
基于对应的特征数据将所述子任务拆分成若干个比对任务,使用多线程分别处理所述比对任务,汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果,
从结果队列中获取各计算节点发送的对应各子任务的比对聚类结果;
对各个所述子任务的比对聚类结果进行聚类,生成对应所述比对聚类任务的聚类结果并回传至所述比对聚类任务的任务请求方。
5.一种分布式比对聚类装置,其特征在于,包括:
任务领取模块,用于实时监听任务队列,从所述任务队列领取子任务,所述子任务由管理节点接收比对聚类任务,将所述比对聚类任务均分为若干个所述子任务并放入所述任务队列中,所述子任务包含有请求标识、管理节点地址、特征起始序号及特征结束序号,其中包括基于所述子任务包含的特征起始序号及特征结束序号进行子任务的领取;
比对聚类模块,用于从所述管理节点获取对应所述比对聚类任务的特征数据集,基于所述特征数据集处理所述子任务,生成所述子任务的比对聚类结果,包括基于对应的特征数据将所述子任务拆分成若干个比对任务,使用多线程分别处理所述比对任务,汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果,所述任务队列中的任务信息与特征数据集分离存储,所述特征数据集单独分发;
新任务处理模块,用于将所述比对聚类结果发送至对应所述比对聚类任务的结果队列中以供所述管理节点进行聚类,同时检查所述任务队列,继续领取新的子任务进行处理,直至领取完所述任务队列中对应所述比对聚类任务的所述子任务,完成所述比对聚类任务的处理。
6.根据权利要求5所述的分布式比对聚类装置,其特征在于,还包括:
清除模块,用于在完成所述比对聚类任务后,清除对应所述比对聚类任务的特征数据集,从所述任务队列领取对应新的比对聚类任务进行均分的子任务进行处理。
7.根据权利要求6所述的分布式比对聚类装置,其特征在于,所述比对聚类模块包括:
切分单元,用于基于对应的特征数据将所述子任务拆分成若干个比对任务;
处理单元,用于使用多线程分别处理所述比对任务;
汇总聚类单元,用于汇总所述比对任务的比对结果,基于所述比对结果进行聚类,生成所述子任务的比对聚类结果。
8.一种电子设备,其特征在于,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4任一所述的分布式比对聚类方法。
9.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-4任一所述的分布式比对聚类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910794978.2A CN110516738B (zh) | 2019-08-23 | 2019-08-23 | 一种分布式比对聚类方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910794978.2A CN110516738B (zh) | 2019-08-23 | 2019-08-23 | 一种分布式比对聚类方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110516738A CN110516738A (zh) | 2019-11-29 |
CN110516738B true CN110516738B (zh) | 2022-09-16 |
Family
ID=68627123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910794978.2A Active CN110516738B (zh) | 2019-08-23 | 2019-08-23 | 一种分布式比对聚类方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110516738B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324508A (zh) * | 2020-02-04 | 2020-06-23 | 联想(北京)有限公司 | 一种分布式集群的监控方法、装置、系统及存储介质 |
CN111427551A (zh) * | 2020-02-14 | 2020-07-17 | 深圳市商汤科技有限公司 | 编程平台的用户代码运行方法及平台、设备、存储介质 |
CN114780214B (zh) * | 2022-04-01 | 2024-01-09 | 中国电信股份有限公司 | 任务处理方法、装置、系统及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331255A (zh) * | 2014-11-17 | 2015-02-04 | 中国科学院声学研究所 | 一种基于嵌入式文件系统的流式数据读取方法 |
CN104598425A (zh) * | 2013-10-31 | 2015-05-06 | 中国石油天然气集团公司 | 一种通用多机并行计算方法及系统 |
CN104794194A (zh) * | 2015-04-17 | 2015-07-22 | 同济大学 | 一种面向大规模多媒体检索的分布式异构并行计算系统 |
CN105930246A (zh) * | 2016-04-08 | 2016-09-07 | 天翼阅读文化传播有限公司 | 一种可智能分发任务的高可用数据库监控方法 |
CN106598735A (zh) * | 2016-12-13 | 2017-04-26 | 广东金赋科技股份有限公司 | 一种分布式计算方法、主控节点、计算节点和系统 |
CN106886613A (zh) * | 2017-05-03 | 2017-06-23 | 成都云数未来信息科学有限公司 | 一种并行化的文本聚类方法 |
CN107273195A (zh) * | 2017-05-24 | 2017-10-20 | 上海艾融软件股份有限公司 | 一种大数据的批处理方法、装置及计算机系统 |
CN107679561A (zh) * | 2017-09-15 | 2018-02-09 | 广东欧珀移动通信有限公司 | 图像处理方法和装置、系统、计算机设备 |
US9904899B2 (en) * | 2014-08-27 | 2018-02-27 | Software Ag | Systems and/or methods for reactive, distributable, and extensible process execution |
CN109086138A (zh) * | 2018-08-07 | 2018-12-25 | 北京京东金融科技控股有限公司 | 数据处理方法和系统 |
CN109586947A (zh) * | 2018-10-11 | 2019-04-05 | 上海交通大学 | 分布式设备信息采集系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915347B (zh) * | 2012-09-26 | 2016-10-12 | 中国信息安全测评中心 | 一种分布式数据流聚类方法及系统 |
CN106909451A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种分布式任务调度系统及方法 |
-
2019
- 2019-08-23 CN CN201910794978.2A patent/CN110516738B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598425A (zh) * | 2013-10-31 | 2015-05-06 | 中国石油天然气集团公司 | 一种通用多机并行计算方法及系统 |
US9904899B2 (en) * | 2014-08-27 | 2018-02-27 | Software Ag | Systems and/or methods for reactive, distributable, and extensible process execution |
CN104331255A (zh) * | 2014-11-17 | 2015-02-04 | 中国科学院声学研究所 | 一种基于嵌入式文件系统的流式数据读取方法 |
CN104794194A (zh) * | 2015-04-17 | 2015-07-22 | 同济大学 | 一种面向大规模多媒体检索的分布式异构并行计算系统 |
CN105930246A (zh) * | 2016-04-08 | 2016-09-07 | 天翼阅读文化传播有限公司 | 一种可智能分发任务的高可用数据库监控方法 |
CN106598735A (zh) * | 2016-12-13 | 2017-04-26 | 广东金赋科技股份有限公司 | 一种分布式计算方法、主控节点、计算节点和系统 |
CN106886613A (zh) * | 2017-05-03 | 2017-06-23 | 成都云数未来信息科学有限公司 | 一种并行化的文本聚类方法 |
CN107273195A (zh) * | 2017-05-24 | 2017-10-20 | 上海艾融软件股份有限公司 | 一种大数据的批处理方法、装置及计算机系统 |
CN107679561A (zh) * | 2017-09-15 | 2018-02-09 | 广东欧珀移动通信有限公司 | 图像处理方法和装置、系统、计算机设备 |
CN109086138A (zh) * | 2018-08-07 | 2018-12-25 | 北京京东金融科技控股有限公司 | 数据处理方法和系统 |
CN109586947A (zh) * | 2018-10-11 | 2019-04-05 | 上海交通大学 | 分布式设备信息采集系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110516738A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110516738B (zh) | 一种分布式比对聚类方法、装置、电子设备及存储介质 | |
CN108920153B (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
CN111614769B (zh) | 一种深度学习技术的行为智能分析引擎系统及控制方法 | |
US10929465B2 (en) | Method and apparatus for processing requests for thumbnail images in a video surveillance system | |
CN110688213B (zh) | 一种基于边缘计算的资源管理方法、系统及电子设备 | |
CN103310460A (zh) | 图像特征提取的方法及系统 | |
CN109062697A (zh) | 一种提供空间分析服务的方法和装置 | |
CN111209310A (zh) | 基于流计算的业务数据处理方法、装置和计算机设备 | |
CN114064211A (zh) | 一种基于端-边-云计算架构的视频流分析系统及方法 | |
CN111507257B (zh) | 图片处理方法、装置、系统、介质及程序 | |
CN110740293A (zh) | 一种数据传输方法、系统、装置及计算机存储介质 | |
CN110706148B (zh) | 人脸图像处理方法、装置、设备和存储介质 | |
CN112235396A (zh) | 内容处理链路调整方法、装置、计算机设备和存储介质 | |
CN111027397A (zh) | 适用于智能监控网络中的综合特征目标检测方法、系统、介质及设备 | |
CN106504540B (zh) | 一种车辆信息的分析方法和装置 | |
US9164765B2 (en) | Method for managing a processor, lock contention management apparatus, and computer system | |
CN112823338B (zh) | 使用分布式分段处理借用的资源分配 | |
CN113242294B (zh) | 一种面向群智感知数据的流计算处理方法 | |
CN112817732B (zh) | 一种适应云边协同多数据中心场景下的流数据处理方法及系统 | |
EP4311202A1 (en) | End-edge-cloud coordination system and method based on digital retina, and device | |
CN115391051A (zh) | 视频计算任务调度方法、设备及计算机可读介质 | |
CN111782688A (zh) | 基于大数据分析的请求处理方法、装置、设备及存储介质 | |
CN116204288B (zh) | 混合云数据处理系统和方法 | |
CN116700996B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 306, zone 2, building 1, Fanshan entrepreneurship center, Panyu energy saving technology park, No. 832 Yingbin Road, Donghuan street, Panyu District, Guangzhou City, Guangdong Province Applicant after: Jiadu Technology Group Co.,Ltd. Address before: Room 306, zone 2, building 1, Fanshan entrepreneurship center, Panyu energy saving technology park, No. 832 Yingbin Road, Donghuan street, Panyu District, Guangzhou City, Guangdong Province Applicant before: PCI-SUNTEKTECH Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |