[发明专利]基于任务并行处理数据流的方法、装置、设备及存储介质在审
申请号: | 202010584436.5 | 申请日: | 2017-12-20 |
公开(公告)号: | CN111752971A | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 杨强;陈雨强;戴文渊;焦英翔;石光川 | 申请(专利权)人: | 第四范式(北京)技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455;G06F9/50 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 苏银虹;王兆赓 |
地址: | 100085 北京市海淀区上*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 任务 并行 处理 数据流 方法 装置 设备 存储 介质 | ||
本发明公开了一种数据流并行处理的方法、装置、设备及存储介质。通过确定的多个工作线程之中的每一个工作线程,分别从任务队列中取出待处理任务,以针对取出的待处理任务进行处理,其中,待处理任务由数据流之中的待操作分批数据与数据流处理之中的相应操作步骤打包而成。本发明公开的这种基于任务生成式的并行化运行机制,对于基于不同操作步骤打包生成的任务,在实际运行过程中会根据其耗时自动地调整并行度。
本申请是申请日为2017年12月20日、申请号为201711381582.2、题为“基于任务并行处理数据流的方法、装置、设备及存储介质”的专利申请的分案申请。
技术领域
本发明涉及数据科学领域,特别是涉及一种基于任务对数据流并行处理的方法、装置、设备及存储介质。
背景技术
在数据处理业务涉及的数据量很大的情况下,通常需要利用多线程并行执行来使业务的总体执行时间减小。线程是操作系统进行运算调度的单位,计算必须以线程的方式交给操作系统执行,在实际计算时,线程会被分配给某个物理核来进行计算。尽量多的使用机器的物理资源可以降低任务的总时间开销。
一种利用多线程的思路是将需要处理的数据分成多批,每个线程负责处理一批数据。这种多线程执行方案的问题是,数据的处理一般包括读写和计算,数据的读写是硬盘操作,而计算是诸如CPU操作的处理,一个线程如果在多种硬件设备上切换操作,会带来很大的额外开销。另外在当前线程等待数据读入时,其对应的CPU并没有执行操作,相当于浪费了同一时间的CPU资源。
现有技术主要靠异步IO解决这个问题。假设数据处理过程包括数据读取、数据计算、计算结果存储三个步骤,则可以设置三个线程,线程一只负责从硬盘读取数据,并将数据放入缓冲区一,线程二只负责从缓冲区一读取数据,对其进行计算并将计算结果写入缓冲区二,线程三只负责将缓冲区二的数据写入新文件(这里一个线程在完成对全部数据的操作之前不会停止)。一般来说,为了防止内存中的数据过大,缓冲区都设有可缓存的上限数量。
假设数据的读写对于单位数据所消耗的时间为一个时间单位,计算操作所消耗的时间较多,为三个时间单位,则可以通过增加计算操作的线程数来抵消上述运算速度的差异。如可以设置五个线程,两个分别负责读写,三个负责计算,则缓冲区内的数据不会不断累加,计算资源在整个任务过程中都处于被使用的状态。
然而异步IO的问题是,当数据的处理变得复杂时,如假设数据的处理过程包括多个操作步骤,且每个操作步骤的时间资源消耗都不相同,这种情况下就很难将线程比例配置到最合理。而且在异步IO的整个计算过程中,开启的线程数是所有操作步骤所需线程数之和。由于计算机上的物理CPU个数是固定的,过多的线程会增加系统调度时的切换开销。而相加的关系导致总线程数与数据的具体处理流程有关,通用计算框架不得不考虑各种数据处理业务的具体特性来对线程数进行控制。
发明内容
本发明的一个目的在于提供一种基于任务生成式的并行化处理方案,其能够根据数据处理流程的复杂度自适应调整并行度。
根据本发明的一个方面,提供了一种基于任务对数据流并行处理的方法,包括:确定多个工作线程;通过多个工作线程之中的每一个工作线程,分别从任务队列中取出待处理任务,以针对取出的待处理任务进行处理,其中,待处理任务由数据流之中的待操作分批数据与数据流处理之中的相应操作步骤打包而成。
可选地,该方法还可以包括:每一个工作线程将处理后得到的操作结果数据作为新的待操作分批数据与相应操作步骤的后续操作步骤打包成新的待处理任务,以放入任务队列。
可选地,每一个工作线程将处理后得到的操作结果数据作为新的待操作分批数据与其分支条件被满足的分支的后续操作步骤打包成新的待处理任务,以放入任务队列。
可选地,该方法还可以包括:确定单独的源线程;通过源线程来专门循环地将数据流之中的待操作分批数据与数据流处理之中的起始操作步骤打包成待处理任务,以放入任务队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于第四范式(北京)技术有限公司,未经第四范式(北京)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010584436.5/2.html,转载请声明来源钻瓜专利网。