System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本申請涉及計算機,尤其是涉及到一種任務處理方法、裝置、計算機設(shè)備及存儲介質(zhì)。
技術(shù)介紹
1、相關(guān)技術(shù)中,在使用線程執(zhí)行任務時,通常對線程生命周期進行管理,這種線程池化管理方案,也即在收到新的任務時調(diào)用空閑的線程去處理,若當前沒有閑置的線程則會將其放到等待隊列中排隊等待處理。但現(xiàn)有線程池化管理解決方案主要存在以下問題:
2、1.單個任務由單個線程處理,若當前空閑線程多于任務數(shù)時,空閑線程無法緩解其他線程的處理壓力,造成資源浪費;
3、2.不適用于計算密集型的任務,適用場景比較單一。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請?zhí)峁┝艘环N任務處理方法、裝置、計算機設(shè)備及存儲介質(zhì),以解決線程執(zhí)行任務時的資源浪費問題。
2、第一方面,提供了一種任務處理方法,包括:
3、若目標任務分配至線程池中第一線程的任務隊列中,且目標任務滿足分解條件,按照目標任務對應的分解策略對目標任務進行分解處理,得到多個子任務;
4、調(diào)用線程池中的多個線程分別執(zhí)行多個子任務,其中,多個線程包括第一線程;
5、若分解策略包含有聚合標簽,對多個子任務的執(zhí)行結(jié)果進行聚合處理。
6、進一步地,調(diào)用線程池中的多個線程分別執(zhí)行多個子任務,包括:
7、調(diào)用第一線程執(zhí)行第一子任務,并從第一線程的任務隊列中刪除第二子任務;
8、若處于空閑狀態(tài)的第二線程的數(shù)量大于或等于第二子任務的數(shù)量,將第二子任務平均分配至處于空閑狀態(tài)的第二線程的任務隊
9、其中,第二線程為線程池中除第一線程以外的線程,第一子任務為多個子任務中任一子任務,第二子任務為多個子任務中除第一子任務以外的子任務。
10、進一步地,調(diào)用線程池中的多個線程分別執(zhí)行多個子任務,包括:
11、若處于空閑狀態(tài)的第二線程的數(shù)量小于第二子任務的數(shù)量,確定第二子任務的優(yōu)先級;
12、按照優(yōu)先級對第二子任務進行排序,得到第一順序;
13、按照第一順序?qū)⒌诙尤蝿辗峙渲辆€程池中處于空閑狀態(tài)的線程的任務隊列中,并調(diào)用線程池中處于空閑狀態(tài)的線程順序執(zhí)行第二子任務。
14、進一步地,任務處理方法還包括:
15、若線程池中線程的數(shù)量小于線程池的線程閾值,創(chuàng)建臨時線程,其中,線程池中線程包括第一線程和第二線程;
16、調(diào)用臨時線執(zhí)行目標任務、第一子任務或第二子任務。
17、進一步地,任務處理方法還包括:
18、若臨時線程處于空閑狀態(tài)的時長大于或等于第一預設(shè)時長,刪除臨時線程。
19、進一步地,任務處理方法還包括:
20、若線程池中線程均處于工作狀態(tài),且線程池中線程的數(shù)量大于或等于線程池的線程閾值,確定線程池中線程的剩余工作時長;
21、若線程池中線程的剩余工作時長均大于第二預設(shè)時長,拒絕執(zhí)行目標任務或?qū)⒛繕巳蝿照{(diào)度至其他線程池。
22、進一步地,任務處理方法還包括:
23、獲取目標任務的業(yè)務場景;
24、按照業(yè)務場景匹配分解策略和分解條件;
25、其中,分解策略包括以下至少一種:聚合標簽、觸發(fā)條件和分解規(guī)則;觸發(fā)條件包括:執(zhí)行目標任務之前對目標任務進行分解處理,或執(zhí)行目標任務的過程中對目標任務進行分解處理。
26、第二方面,提供了一種任務處理裝置,包括:
27、分解模塊,用于若目標任務分配至線程池中第一線程的任務隊列中,且目標任務滿足分解條件,按照目標任務對應的分解策略對目標任務進行分解處理,得到多個子任務;
28、執(zhí)行模塊,用于調(diào)用線程池中的多個線程分別執(zhí)行多個子任務,其中,多個線程包括第一線程;
29、聚合模塊,用于若分解策略包含有聚合標簽,對多個子任務的執(zhí)行結(jié)果進行聚合處理。
30、進一步地,執(zhí)行模塊,具體用于調(diào)用第一線程執(zhí)行第一子任務,并從第一線程的任務隊列中刪除第二子任務;若處于空閑狀態(tài)的第二線程的數(shù)量大于或等于第二子任務的數(shù)量,將第二子任務平均分配至處于空閑狀態(tài)的第二線程的任務隊列中,并調(diào)用第二線程執(zhí)行第二子任務;
31、其中,第二線程為線程池中除第一線程以外的線程,第一子任務為多個子任務中任一子任務,第二子任務為多個子任務中除第一子任務以外的子任務。
32、進一步地,任務處理裝置還包括:
33、第一確定模塊,用于若處于空閑狀態(tài)的第二線程的數(shù)量小于第二子任務的數(shù)量,確定第二子任務的優(yōu)先級;
34、排序模塊,用于按照優(yōu)先級對第二子任務進行排序,得到第一順序;
35、執(zhí)行模塊,具體用于按照第一順序?qū)⒌诙尤蝿辗峙渲辆€程池中處于空閑狀態(tài)的線程的任務隊列中,并調(diào)用線程池中處于空閑狀態(tài)的線程順序執(zhí)行第二子任務。
36、進一步地,任務處理裝置還包括:
37、線程管理模塊,用于若線程池中線程的數(shù)量小于線程池的線程閾值,創(chuàng)建臨時線程,其中,線程池中線程包括第一線程和第二線程;
38、執(zhí)行模塊,具體用于調(diào)用臨時線執(zhí)行目標任務、第一子任務或第二子任務。
39、進一步地,線程管理模塊,還用于若臨時線程處于空閑狀態(tài)的時長大于或等于第一預設(shè)時長,刪除臨時線程。
40、進一步地,任務處理裝置還包括:
41、第二確定模塊,用于若線程池中線程均處于工作狀態(tài),且線程池中線程的數(shù)量大于或等于線程池的線程閾值,確定線程池中線程的剩余工作時長;
42、執(zhí)行模塊,還用于若線程池中線程的剩余工作時長均大于第二預設(shè)時長,拒絕執(zhí)行目標任務;
43、或者,
44、調(diào)度模塊,用于若線程池中線程的剩余工作時長均大于第二預設(shè)時長,將目標任務調(diào)度至其他線程池。
45、進一步地,任務處理裝置還包括:
46、獲取模塊,用于獲取目標任務的業(yè)務場景;
47、匹配模塊,用于按照業(yè)務場景匹配分解策略和分解條件;
48、其中,分解策略包括以下至少一種:聚合標簽、觸發(fā)條件和分解規(guī)則;;觸發(fā)條件包括:執(zhí)行目標任務之前對目標任務進行分解處理,或執(zhí)行目標任務的過程中對目標任務進行分解處理。
49、第三方面,提供了一種計算機設(shè)備,包括存儲器、處理器以及存儲在存儲器中并可在處理器上運行的計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)上述任務處理方法的步驟。
50、第四方面,提供了一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)上述任務處理方法的步驟。
51、上述任務處理方法、裝置、計算機設(shè)備及存儲介質(zhì)所實現(xiàn)的方案中,若檢測到目標任務被分配至線程池中第一線程的任務隊列中,也即處理器即將調(diào)用第一線程執(zhí)行該目標任務。此時,若目標任務滿足分解條件,在執(zhí)行目標任務之前或執(zhí)行目標任務過程中將較大的目標任務分解成較小的子任務,使得目標任務不在只由本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種任務處理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的任務處理方法,其特征在于,所述調(diào)用所述線程池中的多個線程分別執(zhí)行所述多個子任務,包括:
3.根據(jù)權(quán)利要求2所述的任務處理方法,其特征在于,所述調(diào)用所述線程池中的多個線程分別執(zhí)行所述多個子任務,包括:
4.根據(jù)權(quán)利要求2所述的任務處理方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的任務處理方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1至5中任一項所述的任務處理方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1至5中任一項所述的任務處理方法,其特征在于,所述方法還包括:
8.一種任務處理裝置,其特征在于,包括:
9.一種計算機設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)如權(quán)利要求1至7任一項所述任務處理方法的步驟。
10.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,其特征在于,所述計算機
...【技術(shù)特征摘要】
1.一種任務處理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的任務處理方法,其特征在于,所述調(diào)用所述線程池中的多個線程分別執(zhí)行所述多個子任務,包括:
3.根據(jù)權(quán)利要求2所述的任務處理方法,其特征在于,所述調(diào)用所述線程池中的多個線程分別執(zhí)行所述多個子任務,包括:
4.根據(jù)權(quán)利要求2所述的任務處理方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的任務處理方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1至5中任一項所述的任務處理方法,其特征在于,所述方法...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:蒲兆楠,
申請(專利權(quán))人:平安付科技服務有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。