[發明專利]基于任務并行處理數據流的方法、裝置、設備及存儲介質在審
| 申請號: | 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.szxzyx.cn/pat/books/202010584436.5/2.html,轉載請聲明來源鉆瓜專利網。





