所屬的技術(shù)人員知道,本申請可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包括固件、駐留軟件、微代碼等),還可以是硬件和軟件結(jié)合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本申請還可以實(shí)現(xiàn)為在一個或多個計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼??梢圆捎靡粋€或多個計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲介質(zhì)。計(jì)算機(jī)可讀存儲介質(zhì)例如可以是一一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(ram),只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。盡管上面已經(jīng)示出和描述了本申請的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本申請的限制,本領(lǐng)域的普通技術(shù)人員在本申請的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。在此基礎(chǔ)上,可以對本申請進(jìn)行多種替換和改進(jìn),這些均落入本申請的保護(hù)范圍內(nèi)。
背景技術(shù):
1、并發(fā)一般通過線程實(shí)現(xiàn),線程和線程之間,以及父線程和子線程之間的通訊存在困難,并發(fā)邏輯的控制精度不高,容易出現(xiàn)因線程運(yùn)行狀態(tài)不可控導(dǎo)致業(yè)務(wù)處理結(jié)果無法預(yù)測的情況,造成系統(tǒng)運(yùn)行的可靠性不高的局面。
技術(shù)實(shí)現(xiàn)思路
1、本申請?zhí)峁┝艘环N基于通道的可控制多層級并發(fā)模型構(gòu)建方法及系統(tǒng),用以通過并發(fā)利用服務(wù)器的多核性能,又能減輕瓶頸業(yè)務(wù)環(huán)節(jié)的處理壓力,實(shí)現(xiàn)效率和壓力的平衡。
2、第一方面,提供了一種基于通道的可控制多層級并發(fā)模型構(gòu)建方法,包括以下步驟:
3、創(chuàng)建并發(fā)控制器;
4、創(chuàng)建任務(wù)執(zhí)行器;
5、創(chuàng)建數(shù)據(jù)區(qū)容量為并發(fā)數(shù)和緩沖區(qū)容量為緩存數(shù)的通道;
6、創(chuàng)建任務(wù)并存入所述通道的末尾;
7、執(zhí)行任務(wù);
8、關(guān)閉所述并發(fā)控制器。
9、在上述技術(shù)方案中,通過創(chuàng)建并發(fā)控制器;創(chuàng)建任務(wù)執(zhí)行器;創(chuàng)建數(shù)據(jù)區(qū)容量為并發(fā)數(shù)和緩沖區(qū)容量為緩存數(shù)的通道;創(chuàng)建任務(wù)并存入所述通道的末尾;執(zhí)行任務(wù);關(guān)閉所述并發(fā)控制器的步驟,實(shí)現(xiàn)了基于通道的可控制多層級并發(fā)模型的構(gòu)建,通過并發(fā)利用服務(wù)器的多核性能,又能減輕瓶頸業(yè)務(wù)環(huán)節(jié)的處理壓力,實(shí)現(xiàn)效率和壓力的平衡。
10、在一個具體可實(shí)施方案中,還包括:
11、當(dāng)有多層級任務(wù)時,在任務(wù)中創(chuàng)建子并發(fā)執(zhí)行器,并進(jìn)行參數(shù)設(shè)置、子任務(wù)創(chuàng)建和子任務(wù)執(zhí)行。
12、在一個具體可實(shí)施方案中,所述并發(fā)控制器包括并發(fā)數(shù)、緩存數(shù)、是否需要等待子線程執(zhí)行結(jié)果、任務(wù)執(zhí)行結(jié)果的接收器和所述任務(wù)執(zhí)行器。
13、在一個具體可實(shí)施方案中,所述任務(wù)執(zhí)行器包括所述通道和從所述通道取出任務(wù)執(zhí)行的守候線程。
14、在一個具體可實(shí)施方案中,向所述通道中寫數(shù)據(jù)和從所述通道中取數(shù)據(jù)獨(dú)立運(yùn)行,數(shù)據(jù)進(jìn)出通道的動作不需要相互等待。
15、在一個具體可實(shí)施方案中,執(zhí)行任務(wù)的步驟,具體為:
16、所述任務(wù)執(zhí)行器從所述通道頭部取出任務(wù)并執(zhí)行,從所述通道中取出并發(fā)數(shù)量的任務(wù)同時執(zhí)行;
17、任務(wù)執(zhí)行結(jié)束后,所述任務(wù)執(zhí)行器從所述通道頭部繼續(xù)取出任務(wù)執(zhí)行,直到通道中數(shù)據(jù)為空為止。
18、在一個具體可實(shí)施方案中,關(guān)閉所述并發(fā)控制器的步驟,具體為:
19、收到所有任務(wù)執(zhí)行結(jié)束狀態(tài)后執(zhí)行關(guān)閉動作,對執(zhí)行任務(wù)過程中創(chuàng)建的通道、守候線程進(jìn)行銷毀。
20、第二方面,提供了一種基于通道的可控制多層級并發(fā)模型構(gòu)建系統(tǒng),包括:
21、并發(fā)控制器創(chuàng)建模塊,用于創(chuàng)建并發(fā)控制器;
22、任務(wù)執(zhí)行器創(chuàng)建模塊,用于創(chuàng)建任務(wù)執(zhí)行器;
23、通道創(chuàng)建模塊,用于創(chuàng)建數(shù)據(jù)區(qū)容量為并發(fā)數(shù)和緩沖區(qū)容量為緩存數(shù)的通道;
24、任務(wù)創(chuàng)建模塊,用于創(chuàng)建任務(wù)并存入所述通道的末尾;
25、任務(wù)執(zhí)行模塊,用于執(zhí)行任務(wù);
26、并發(fā)控制器關(guān)閉模塊,用于關(guān)閉并發(fā)控制器。
27、在上述技術(shù)方案中,通過創(chuàng)建并發(fā)控制器;創(chuàng)建任務(wù)執(zhí)行器;創(chuàng)建數(shù)據(jù)區(qū)容量為并發(fā)數(shù)和緩沖區(qū)容量為緩存數(shù)的通道;創(chuàng)建任務(wù)并存入所述通道的末尾;執(zhí)行任務(wù);關(guān)閉所述并發(fā)控制器的步驟,實(shí)現(xiàn)了基于通道的可控制多層級并發(fā)模型的構(gòu)建,通過并發(fā)利用服務(wù)器的多核性能,又能減輕瓶頸業(yè)務(wù)環(huán)節(jié)的處理壓力,實(shí)現(xiàn)效率和壓力的平衡。
28、在一個具體可實(shí)施方案中,還包括:
29、子并發(fā)控制器創(chuàng)建模塊,用于當(dāng)有多層級任務(wù)時,在任務(wù)中創(chuàng)建子并發(fā)執(zhí)行器,并進(jìn)行參數(shù)設(shè)置、子任務(wù)創(chuàng)建和子任務(wù)執(zhí)行。
30、在一個具體可實(shí)施方案中,所述子并發(fā)控制器創(chuàng)建模塊包括:
31、子并發(fā)控制器創(chuàng)建單元,用于創(chuàng)建子并發(fā)控制器;
32、子任務(wù)執(zhí)行器創(chuàng)建單元,用于創(chuàng)建子任務(wù)執(zhí)行器;
33、子通道創(chuàng)建單元,用于創(chuàng)建數(shù)據(jù)區(qū)容量為并發(fā)數(shù)和緩沖區(qū)容量為緩存數(shù)的子通道;
34、子任務(wù)創(chuàng)建單元,用于創(chuàng)建子任務(wù)并存入所述子通道的末尾;
35、子任務(wù)執(zhí)行單元,用于執(zhí)行子任務(wù);
36、子并發(fā)控制器關(guān)閉單元,用于關(guān)閉所述子并發(fā)控制器。
1.一種基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,還包括:
3.根據(jù)權(quán)利要求2所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,所述并發(fā)控制器包括并發(fā)數(shù)、緩存數(shù)、是否需要等待子線程執(zhí)行結(jié)果、任務(wù)執(zhí)行結(jié)果的接收器和所述任務(wù)執(zhí)行器。
4.根據(jù)權(quán)利要求3所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,所述任務(wù)執(zhí)行器包括所述通道和從所述通道取出任務(wù)執(zhí)行的守候線程。
5.根據(jù)權(quán)利要求4所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,向所述通道中寫數(shù)據(jù)和從所述通道中取數(shù)據(jù)獨(dú)立運(yùn)行,數(shù)據(jù)進(jìn)出通道的動作不需要相互等待。
6.根據(jù)權(quán)利要求5所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,執(zhí)行任務(wù)的步驟,具體為:
7.根據(jù)權(quán)利要求6所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,關(guān)閉所述并發(fā)控制器的步驟,具體為:
8.一種基于通道的可控制多層級并發(fā)模型構(gòu)建系統(tǒng),其特征在于,包括:
9.根據(jù)權(quán)利要求8所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,還包括:
10.根據(jù)權(quán)利要求9所述的基于通道的可控制多層級并發(fā)模型構(gòu)建方法,其特征在于,所述子并發(fā)控制器創(chuàng)建模塊包括: