CN112765210A - 数据聚合方法和装置 - Google Patents
数据聚合方法和装置 Download PDFInfo
- Publication number
- CN112765210A CN112765210A CN201911068327.1A CN201911068327A CN112765210A CN 112765210 A CN112765210 A CN 112765210A CN 201911068327 A CN201911068327 A CN 201911068327A CN 112765210 A CN112765210 A CN 112765210A
- Authority
- CN
- China
- Prior art keywords
- task
- subtask
- data
- tasks
- priority
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出一种数据聚合方法和装置,涉及数据处理领域。本公开将待处理数据的各种任务进行解耦分离和并行处理,并基于各种任务的偏移量管理机制,将各种任务中已执行的公共部分进行持久化处理,从而高效快速地完成数据聚合。
Description
技术领域
本公开涉及数据处理领域,特别涉及一种数据聚合方法和装置。
背景技术
随着信息技术的发展,网络安全形势日益严峻,为有效感知安全态势、尽早预防安全攻击,需有效聚合恶意IP、恶意域名、恶意文件及其关联情报数据,建立威胁情报库,为企业资产提供安全预警。
威胁情报库除了收集企业自有情报数据外,还需通过网络爬虫手段收集互联网公开情报源。随着情报数据量的增长,原有情报聚合机制需求的计算资源越来越多,响应时间越来越长,因此迫切需要一种能高效快速地完成情报聚合的解决方案。
发明内容
本公开将待处理数据的各种任务进行解耦分离和并行处理,并基于各种任务的偏移量管理机制,将各种任务中已执行的公共部分进行持久化处理,从而高效快速地完成数据聚合。此外,在任务执行过程中弹性分配处理资源,有效提高资源利用率,减少数据的处理时间。
本公开的一些实施例提出一种数据聚合方法,包括:
批量获取待处理的数据;
并行地对所述数据分别执行不同任务类型的各种任务处理,其中,每种任务类型的任务设置一个偏移量,用于记录相应任务类型的任务的执行进度;
根据各个偏移量确定各种任务中已执行部分的交集;
将所述交集中的数据进行持久化处理。
在一些实施例中,所述根据各个偏移量确定各种任务中已执行部分的交集包括:
获取持久化任务中已执行部分的补集;
获取除持久化任务之外的其他各种任务中已执行部分的第一交集;
将所述补集与所述第一交集的交集确定为所述各种任务中已执行部分的交集。
在一些实施例中,所述并行地对所述数据分别执行不同任务类型的各种任务处理包括:
对所述数据的每种任务分别切片得到相应任务的多个子任务;
确定各个子任务的优先级;
根据各个子任务的优先级,为优先级高的子任务优先调度处理资源;
利用调度的多个处理资源并行地处理各自相应的子任务。
在一些实施例中,所述对所述数据的每种任务分别切片得到相应任务的多个子任务包括:
根据∑iti与ti的比例信息确定某种任务类型的任务i的子任务切片的长度,其中,ti表示预设数量的数据执行任务i所需要的时间;
按照每种任务类型的任务i的子任务切片的长度,对任务i进行切片得到任务i的多个子任务。
在一些实施例中,所述确定某种任务类型的任务i的子任务切片的长度包括:
其中,leni表示任务i的子任务切片的长度,l表示可配置的常量。
在一些实施例中,所述确定各个子任务的优先级包括:
根据每种任务类型的任务的总数量和执行偏移量以及该任务的子任务预计所需的处理资源和当前容器的可用处理资源,确定相应任务的各个子任务的优先级,
其中,某种任务类型的任务的某个子任务的优先级与该任务的总数量和该任务的执行偏移量的比例信息正相关,与当前容器的可用处理资源与该任务的子任务预计所需的处理资源的比例信息正相关。
在一些实施例中,所述确定各个子任务的优先级包括:
其中,C表示某种任务类型的任务的某个子任务的优先级,m表示该任务的总数量,n表示该任务的执行偏移量,r表示当前容器的可用处理资源,w表示该任务的子任务预计所需的处理资源。
在一些实施例中,还包括:如果根据优先级形成的子任务队列中首个子任务的优先级小于0,阻塞子任务队列,等待处理资源释放。
在一些实施例中,不同任务类型的各种任务包括归一化任务、信息补全任务、关联任务和持久化任务。
本公开的一些实施例提出一种数据聚合装置,包括:
存储器,
以及
耦合至所述存储器的处理器,所述处理器基于所述存储器中存储的指令执行任一个实施例的数据聚合方法。
本公开的一些实施例一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一个实施例的数据聚合方法的步骤。
附图说明
下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开,
显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一些实施例的数据聚合方法的流程示意图。
图2为本公开一些实施例的情报数据聚合方法的流程示意图。
图3示出了其中的任务解耦和并行调度的实现流程示意图。
图4示出了其中的在任务执行过程中弹性分配处理资源的实现流程示意图。
图5为本公开一些实施例的数据聚合装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
图1为本公开一些实施例的数据聚合方法的流程示意图。
如图1所示,该实施例的方法包括:步骤11-14。
在步骤11,批量获取待处理的数据。
批量获取的待处理的数据量通常比较大,通常都包括多条数据。
在步骤12,并行地对该数据分别执行不同任务类型的各种任务处理,其中,每种任务类型的任务设置一个偏移量,用于记录相应任务类型的任务的执行进度。
不同任务类型的各种任务例如包括归一化任务、信息补全任务、关联任务和持久化任务等,但不限于所举示例。在所举示例中,某条数据在执行完归一化任务、信息补全任务和关联任务后,才能执行持久化任务。
在一些实施例中,并行地对该数据分别执行不同任务类型的各种任务处理包括步骤121-124:
在步骤121,对该数据的每种任务分别切片得到相应任务的多个子任务。
一种切片方法包括:根据∑iti与ti的比例信息,例如采用公式确定某种任务类型的任务i的子任务切片的长度,其中,ti表示预设数量的数据执行任务i所需要的时间,leni表示任务i的子任务切片的长度,l表示可配置的常量,可调节切片的大小;按照每种任务类型的任务i的子任务切片的长度,对任务i进行切片得到任务i的多个子任务。
例如:万条数据执行归一化任务、信息补充任务、信息关联任务、持久化任务的耗时分别为18s、24s、26s、32s,定义常量参数l为8000,则归一化子任务切片的长度n=(18+24+26+32)/18*8000,对n向下取整得到结果为44445。
这种切片方法充分考虑了不同类型的任务执行时间方面的差异,执行时间较长的任务相应的切片长度更小,且相应的切片数量更多,有更多分配处理资源的机会,有利于提高总体的资源利用率。
在步骤122,确定各个子任务的优先级。
在一些实施例中,确定各个子任务的优先级包括:根据每种任务类型的任务的总数量和执行偏移量以及该任务的子任务预计所需的处理资源和当前容器的可用处理资源,确定相应任务的各个子任务的优先级,其中,某种任务类型的任务的某个子任务的优先级与该任务的总数量和该任务的执行偏移量的比例信息正相关,与当前容器的可用处理资源与该任务的子任务预计所需的处理资源的比例信息正相关。
例如,采用如下公式,确定各个子任务的优先级。
其中,C表示某种任务类型的任务的某个子任务的优先级,m表示该任务的总数量,n表示该任务的执行偏移量,r表示当前容器的可用处理资源,w表示该任务的子任务预计所需的处理资源。
例如:归一化任务的执行偏移量为5000,归一化任务的总数量为10000,预估归一化子任务需要占用内存100M,当前容器(如计算机)剩余内存1000M,则该归一化子任务的优先级C=(10000/5000)*log(1000/100)=2。
这种优先级的确定方法,使得执行进度落后的任务会被优先分配处理资源,使得各种类型的任务的执行进度大体相当,以避免不同类型的任务之间巨大的执行进度差距影响最终的持久化处理,从而有效提高资源利用率,减少数据的处理时间。
在步骤123,根据各个子任务的优先级,为优先级高的子任务优先调度处理资源。
此处的处理资源例如可以是容器的处理资源,容器例如可是计算机。
在步骤124,利用调度的多个处理资源并行地处理各自相应的子任务。
在步骤13,根据各个偏移量确定各种任务中已执行部分的交集。
在一些实施例中,根据各个偏移量确定各种任务中已执行部分的交集包括:获取持久化任务中已执行部分的补集;获取除持久化任务之外的其他各种任务中已执行部分的第一交集;将该补集与该第一交集的交集确定为该各种任务中已执行部分的交集。公式表示为:
X=A∩B∩C∩CD
其中,A表示数据归一化任务中已执行部分,B表示信息补全任务中已执行部分,C表示信息关联任务中已执行部分,D表示持久化任务中已执行部分,CD表示持久化任务中已执行部分的补集,X表示所确定的各种任务中已执行部分的交集。
例如:假设共有1万条数据,A=[归一化,0,4000],表示1万条数据中的0-4000条数据已经执行归一化任务,B=[信息补全,0,3000],表示1万条数据中的0-3000条数据已经执行信息补全任务,C=[关联,0,5000],表示1万条数据中的0-5000条数据已经执行关联任务,D=[持久化,0,2000]),表示1万条数据中的0-2000条数据已经执行持久化存储任务,则交集X为[2000,3000],即2000-3000条数据可以进行后续步骤的持久化处理。
在步骤14,将该交集中的数据进行持久化处理,即将该交集中的数据的存储状态由瞬时状态持久化为持久状态,也即将该交集中的数据从内存中保存到数据库中。
上述实施例,将待处理数据的各种任务进行解耦分离和并行处理,并基于各种任务的偏移量管理机制,将各种任务中已执行的公共部分进行持久化处理,从而高效快速地完成数据聚合。此外,在任务执行过程中弹性分配处理资源,例如,执行进度落后的任务会被优先分配处理资源,使得各种类型的任务的执行进度大体相当,以避免不同类型的任务之间巨大的执行进度差距影响最终的持久化处理,从而有效提高资源利用率,减少数据的处理时间。
下面以情报数据为例,说明上述的数据聚合方法。
如图2所示的情报数据聚合方法:首先批量爬取各情报源的情报数据,顺序对情报数据进行编号,并将情报数据缓存在计算机内存中;然后将情报数据的归一化任务、信息补全任务、情报关联任务、数据持久化任务按照设定的规则进行切片(切片方法参考前述),切片完成后按照评估算法对各个子任务的调度优先级进行排序,资源调度器根据系统的资源占用情况对调度队列中的子任务顺序分配运算资源,并行执行各个切片子任务,切片子任务完成后会更新相应任务的进度偏移量;最后基于各个任务的偏移量对各个任务已执行部分进行交集聚合得到落库存储的数据段,并将其持久化到分布式数据库中。
在上述情报数据聚合过程中,图3示出了其中的任务解耦和并行调度的实现流程:
步骤31:批量拉取情报数据。利用爬虫技术批量爬取各情报源的情报数据,顺序对情报数据进行编号,将情报数据缓存在计算机内存中。
步骤32:基于各任务的偏移量标识位并行处理各任务。并行执行数据归一化(如信息去重)、情报信息补全(如补全地理位置信息)、情报关联、持久化等任务,利用各任务自己的偏移量分别记录本任务各自的执行进程。
步骤33:各任务交集聚合,得到落库存储的数据段X。
X=A∩B∩C∩CD,A表示数据归一化任务中已执行部分,B表示信息补全任务中已执行部分,C表示信息关联任务中已执行部分,D表示持久化任务中已执行部分,CD表示持久化任务中已执行部分的补集。
步骤34:数据持久化。即将上述步骤中的数据段X中的数据顺序持久化到分布式数据库中。
上述实施例,基于偏移量解耦情报聚合各个环节,实现了数据归一化、信息补全、关联情报、持久化等任务的并行执行,从而高效快速地完成数据聚合,且可扩展性好,系统容错性好。
在上述情报数据聚合过程中,图4示出了其中的在任务执行过程中弹性分配处理资源的实现流程:
步骤41:情报聚合任务切片。首先将情报数据归一化、情报信息补全、情报关联、持久化等各任务进行切片得到多个子任务。
例如采用公式确定任务i的子任务切片的长度,其中,ti表示万条情报数据执行任务i所需要的时间,i表示情报数据归一化、情报信息补全、情报关联、持久化等所有任务,leni表示任务i的子任务切片的长度,l表示可配置的常量,可调节切片的大小。
步骤42:情报聚合子任务优先级评估。
例如,采用如下公式,确定各个子任务的优先级。
其中,C表示某种任务类型的任务的某个子任务的优先级,m表示该任务的总数量,n表示该任务的执行偏移量,r表示当前容器的可用处理资源,w表示该任务的子任务预计所需的处理资源。
步骤43:情报聚合子任务调度。按照计算后的优先级大小排序,将子任务顺序放入资源调度队列(43.1),若队列首元素优先级小于0,则阻塞队列等待资源释放,然后重新执行步骤42(43.2)。
步骤44:情报聚合子任务下发。具体的,44.1将队列中的子任务顺序提交到任务调度器以申请处理资源,44.2任务调度器分配处理资源地址至调度队列,44.3调度队列下发子任务,44.4再由任务调度器启动相应的子任务。
上述实施例,实现了资源动态弹性分配,首先采用切片的方式对任务进行分割,然后利用优先级排序对子任务进行编排,最后利用任务调度器对子任务进行资源弹性分配,实现情报数据聚合过程中业务的高效执行和资源的有效利用。
图5为本公开一些实施例的数据聚合装置的结构示意图。
如图5所示,该实施例的数据聚合装置50包括:存储器51,以及耦合至该存储器的处理器52,该处理器基于该存储器中存储的指令执行任一个实施例的数据聚合方法。
其中,存储器51例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
本公开还提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一个实施例的数据聚合方法的步骤。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (11)
1.一种数据聚合方法,其特征在于,包括:
批量获取待处理的数据;
并行地对所述数据分别执行不同任务类型的各种任务处理,其中,每种任务类型的任务设置一个偏移量,用于记录相应任务类型的任务的执行进度;
根据各个偏移量确定各种任务中已执行部分的交集;
将所述交集中的数据进行持久化处理。
2.根据权利要求1所述的方法,其特征在于,所述根据各个偏移量确定各种任务中已执行部分的交集包括:
获取持久化任务中已执行部分的补集;
获取除持久化任务之外的其他各种任务中已执行部分的第一交集;
将所述补集与所述第一交集的交集确定为所述各种任务中已执行部分的交集。
3.根据权利要求1所述的方法,其特征在于,所述并行地对所述数据分别执行不同任务类型的各种任务处理包括:
对所述数据的每种任务分别切片得到相应任务的多个子任务;
确定各个子任务的优先级;
根据各个子任务的优先级,为优先级高的子任务优先调度处理资源;
利用调度的多个处理资源并行地处理各自相应的子任务。
4.根据权利要求3所述的方法,其特征在于,所述对所述数据的每种任务分别切片得到相应任务的多个子任务包括:
根据∑iti与ti的比例信息确定某种任务类型的任务i的子任务切片的长度,其中,ti表示预设数量的数据执行任务i所需要的时间;
按照每种任务类型的任务i的子任务切片的长度,对任务i进行切片得到任务i的多个子任务。
6.根据权利要求3所述的方法,其特征在于,所述确定各个子任务的优先级包括:
根据每种任务类型的任务的总数量和执行偏移量以及该任务的子任务预计所需的处理资源和当前容器的可用处理资源,确定相应任务的各个子任务的优先级,
其中,某种任务类型的任务的某个子任务的优先级与该任务的总数量和该任务的执行偏移量的比例信息正相关,与当前容器的可用处理资源与该任务的子任务预计所需的处理资源的比例信息正相关。
8.根据权利要求7所述的方法,其特征在于,还包括:
如果根据优先级形成的子任务队列中首个子任务的优先级小于0,阻塞子任务队列,等待处理资源释放。
9.根据权利要求1-8任一项所述的方法,其特征在于,不同任务类型的各种任务包括归一化任务、信息补全任务、关联任务和持久化任务。
10.一种数据聚合装置,其特征在于,包括:
存储器,
以及
耦合至所述存储器的处理器,所述处理器基于所述存储器中存储的指令执行权利要求1-9任一项所述的数据聚合方法。
11.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-9任一项所述的数据聚合方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911068327.1A CN112765210A (zh) | 2019-11-05 | 2019-11-05 | 数据聚合方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911068327.1A CN112765210A (zh) | 2019-11-05 | 2019-11-05 | 数据聚合方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112765210A true CN112765210A (zh) | 2021-05-07 |
Family
ID=75692498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911068327.1A Pending CN112765210A (zh) | 2019-11-05 | 2019-11-05 | 数据聚合方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765210A (zh) |
-
2019
- 2019-11-05 CN CN201911068327.1A patent/CN112765210A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216324B2 (en) | Query watchdog | |
US10108458B2 (en) | System and method for scheduling jobs in distributed datacenters | |
US20180373599A1 (en) | Optimized backup of clusters with multiple proxy servers | |
JP3817541B2 (ja) | プログラムに基づいた応答時間ベースの作業負荷分配技法 | |
CN102609303B (zh) | MapReduce系统的慢任务调度方法和装置 | |
CN113535367A (zh) | 任务调度方法及相关装置 | |
KR101656360B1 (ko) | 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템 | |
US11604682B2 (en) | Pre-emptive container load-balancing, auto-scaling and placement | |
CN111880939A (zh) | 容器动态迁移方法、装置及电子设备 | |
KR20150042874A (ko) | 소팅 | |
US8028291B2 (en) | Method and computer program product for job selection and resource allocation of a massively parallel processor | |
CN113626173B (zh) | 调度方法、装置及存储介质 | |
CA2631255A1 (en) | Scalable scheduling of tasks in heterogeneous systems | |
CN110088730B (zh) | 任务处理方法、装置、介质及其设备 | |
CN112559179A (zh) | 一种作业处理方法和装置 | |
CN112765210A (zh) | 数据聚合方法和装置 | |
CN108268316A (zh) | 作业调度的方法及装置 | |
CN108021448B (zh) | 一种内核空间的优化方法及装置 | |
CN110968420A (zh) | 一种多爬虫平台的调度方法、装置、存储介质及处理器 | |
CN112685158B (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
KR20230161143A (ko) | 인공지능 추론 서비스 방법, 및 이에 적용되는 서비스장치 | |
KR101470695B1 (ko) | 그리드 컴퓨팅 스케쥴링을 위한 생물지리학적 최적화 방법 및 시스템 | |
CN112835692A (zh) | 一种日志消息驱动任务方法、系统、存储介质及设备 | |
Romsaiyud et al. | An adaptive machine learning on Map-Reduce framework for improving performance of large-scale data analysis on EC2 | |
CN108206745B (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 |