欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分配工作任務(wù)的方法及裝置的制造方法_3

文檔序號(hào):9547686閱讀:來(lái)源:國(guó)知局
[0111]參考圖3,圖3是本發(fā)明實(shí)施例提供的另一分配工作任務(wù)的方法的示意圖。
[0112]將工作項(xiàng)任務(wù)一次性讀入二維數(shù)組workItem[m] [η]中,其中m、n為自然數(shù);多個(gè)用戶并發(fā)訪問(wèn)系統(tǒng)請(qǐng)求工作項(xiàng)任務(wù)。
[0113]步驟301,系統(tǒng)為每個(gè)請(qǐng)求創(chuàng)建一個(gè)線程。
[0114]步驟302,線程判斷用戶請(qǐng)求的工作項(xiàng)類型參數(shù),若沒有指定工作項(xiàng)類型,那么執(zhí)行線程執(zhí)行原子操作為請(qǐng)求分配工作項(xiàng)類型,該操作為原子操作,它的功能是把工作項(xiàng)類型序號(hào)器(或稱為工作項(xiàng)類型指針)typeNo增加1 (或者減去1),具體邏輯是:若typeNo小于m (或者大于0),那么為typeNo增加1 (或者減去1),否則,將typeNo設(shè)為0 (或者m-Ι);
[0115]否則,將typeNo設(shè)為指定的工作項(xiàng)類型對(duì)應(yīng)的工作項(xiàng)類型序號(hào),typeNo的取值范圍為0到m-Ι,執(zhí)行步驟403 ;
[0116]步驟303,根據(jù)typeNo找到對(duì)應(yīng)的工作項(xiàng)序號(hào)器(或稱為工作項(xiàng)指針)itemNo ;線程執(zhí)行原子操作為請(qǐng)求分配工作項(xiàng)序號(hào),該操作為原子操作,它的功能是把工作項(xiàng)序號(hào)器itemNo增加1 (或者減去1),具體邏輯是:若itemNo小于該隊(duì)列的長(zhǎng)度(或者大于0),那么為itemNo增加1 (或者減去1),否則,將itemNo設(shè)為0 (或者該隊(duì)列長(zhǎng)度-1)。
[0117]步驟304,線程根據(jù)上述步驟獲得的工作項(xiàng)序號(hào)和工作項(xiàng)序號(hào)直接從二維數(shù)組中取得工作項(xiàng)內(nèi)容,即workltem[typeNo] [itemNo]。并將數(shù)組中此工作項(xiàng)單元格置空。
[0118]新工作項(xiàng)放入系統(tǒng)工作項(xiàng)隊(duì)列的方法是:
[0119]專門的守護(hù)線程每隔一個(gè)小的時(shí)間周期輪詢判斷隊(duì)列中的工作項(xiàng)是否都已被獲取。若是,那么清空此隊(duì)列并從數(shù)據(jù)庫(kù)加載工作項(xiàng)任務(wù)填充到此隊(duì)列中,然后設(shè)置該隊(duì)列的itemNo為0(或者隊(duì)列長(zhǎng)度-1)。否則,等待下一次輪詢判斷。
[0120]本發(fā)明實(shí)施例通過(guò)裝載工作項(xiàng)任務(wù)隊(duì)列到二維數(shù)組中,二維數(shù)組的一維表示工作項(xiàng)類型,另一維表示具體的工作項(xiàng)任務(wù)隊(duì)列,獲取用戶發(fā)送的處理工作任務(wù)的請(qǐng)求;為所述請(qǐng)求創(chuàng)建任務(wù)分配線程,棄用加鎖、解鎖處理,減少排隊(duì)、耗時(shí)等的處理,支持多路并發(fā)的用戶發(fā)送的工作任務(wù)的請(qǐng)求;通過(guò)所述任務(wù)分配線程執(zhí)行原子操作,為所述請(qǐng)求分配工作項(xiàng)序號(hào);若所分配的工作項(xiàng)序號(hào)超過(guò)所述工作項(xiàng)類型對(duì)應(yīng)的工作項(xiàng)序號(hào)取值范圍則返回沒有任務(wù),否則,根據(jù)所述工作項(xiàng)序號(hào)提取工作任務(wù),發(fā)送給所述用戶,從而采用輕量級(jí)的數(shù)組操作實(shí)現(xiàn)多路并發(fā)請(qǐng)求工作任務(wù)的目的,極大的提高系統(tǒng)處理性能;通過(guò)及時(shí)有效清空數(shù)據(jù)組存儲(chǔ)的工作項(xiàng)內(nèi)容,提高系統(tǒng)的存儲(chǔ)空間,進(jìn)而提高系統(tǒng)分配工作任務(wù)的效率。
[0121]實(shí)施例四
[0122]參考圖4,圖4是本發(fā)明實(shí)施例分配工作任務(wù)的裝置的功能模塊示意圖。
[0123]在實(shí)施例四中,所述分配工作任務(wù)的裝置包括:
[0124]裝載模塊401,用于裝載工作項(xiàng)任務(wù)隊(duì)列到二維數(shù)組中,二維數(shù)組的一維表示工作項(xiàng)類型,另一維表示具體的工作項(xiàng)任務(wù)隊(duì)列,并為每個(gè)工作項(xiàng)類型設(shè)置工作項(xiàng)序號(hào)取值范圍;
[0125]第一獲取模塊402,用于獲取用戶發(fā)送的處理工作任務(wù)的請(qǐng)求;
[0126]創(chuàng)建模塊403,用于為所述請(qǐng)求創(chuàng)建任務(wù)分配線程;
[0127]具體的,在多個(gè)用戶并發(fā)向服務(wù)器發(fā)送處理工作任務(wù)的請(qǐng)求時(shí),為每個(gè)用戶創(chuàng)建一個(gè)線程,對(duì)每個(gè)用戶的請(qǐng)求進(jìn)行分別處理。
[0128]第一分配模塊404,用于通過(guò)所述任務(wù)分配線程執(zhí)行原子操作,為所述請(qǐng)求分配工作項(xiàng)序號(hào);
[0129]其中,所述原子操作是在在多線程訪問(wèn)資源時(shí),能夠確保所有其他的進(jìn)線程都不在同一時(shí)間內(nèi)訪問(wèn)相同的資源。原子操作是不可分割的,在執(zhí)行完畢之前不會(huì)被任何其它任務(wù)或事件中斷。
[0130]優(yōu)選地,參考圖5,圖5是本發(fā)明實(shí)施例第一分配模塊404的功能模塊示意圖。所述第一分配模塊404,包括:
[0131]計(jì)算單元501,用于通過(guò)所述任務(wù)分配線程,將工作項(xiàng)序號(hào)器的計(jì)數(shù)值按照設(shè)定規(guī)則進(jìn)行計(jì)算,計(jì)算確定的數(shù)值作為分配的工作項(xiàng)序號(hào)。
[0132]優(yōu)選地,所述計(jì)算單元501,用于:
[0133]通過(guò)所述任務(wù)分配線程,將工作項(xiàng)序號(hào)器的計(jì)數(shù)值加1或減1,確定的數(shù)值作為分配的工作項(xiàng)序號(hào)。
[0134]優(yōu)選地,參考圖6,圖6是本發(fā)明實(shí)施例分配工作任務(wù)的裝置的功能模塊示意圖。所述裝置還包括:
[0135]第一確定模塊406,用于在通過(guò)所述任務(wù)分配線程,將工作項(xiàng)序號(hào)器的計(jì)數(shù)值按照設(shè)定規(guī)則進(jìn)行計(jì)算,計(jì)算確定的數(shù)值作為分配的工作項(xiàng)序號(hào)之前,確定所述請(qǐng)求是否包括預(yù)先設(shè)置的工作項(xiàng)類型參數(shù);
[0136]第二分配模塊407,用于若確定所述請(qǐng)求包括預(yù)先設(shè)置的工作項(xiàng)類型參數(shù),則通過(guò)原子操作為所述請(qǐng)求分配與所述工作項(xiàng)類型參數(shù)對(duì)應(yīng)的工作項(xiàng)類型序號(hào);
[0137]第三分配模塊408,用于若確定所述請(qǐng)求未包括預(yù)先設(shè)置的工作項(xiàng)類型參數(shù),則為所述請(qǐng)求分配工作項(xiàng)類型序號(hào);
[0138]優(yōu)選地,所述第三分配模塊408,用于:
[0139]執(zhí)行原子操作將工作項(xiàng)類型序號(hào)器的當(dāng)前計(jì)數(shù)值加1或減1,得到新計(jì)數(shù)值;
[0140]若新計(jì)數(shù)值超出工作項(xiàng)類型序號(hào)的取值范圍,則將工作項(xiàng)類型序號(hào)器計(jì)數(shù)值設(shè)為取值范圍的最小值或最大值,并將此修改后的數(shù)值作為新計(jì)數(shù)值;
[0141]將新數(shù)值作為分配給所述請(qǐng)求的工作項(xiàng)類型序號(hào)。
[0142]第二確定模塊409,用于根據(jù)所述工作項(xiàng)類型參數(shù),確定對(duì)應(yīng)的工作項(xiàng)序號(hào)器。
[0143]具體的,不同類型的工作項(xiàng)任務(wù)是指工作項(xiàng)分為多種類型,例如數(shù)字錄入工作項(xiàng)、金額錄入工作項(xiàng)、姓名錄入工作項(xiàng)等等;不同的請(qǐng)求者能獲取的工作項(xiàng)類型不同。
[0144]線程判斷用戶請(qǐng)求的工作項(xiàng)類型參數(shù),若沒有指定工作項(xiàng)類型,則分為兩種情況進(jìn)行處理:
[0145]第一種情況,若確定所述請(qǐng)求未包括預(yù)先設(shè)置的工作項(xiàng)類型參數(shù),則為所述請(qǐng)求分配所述二維數(shù)組中的任意一個(gè)工作項(xiàng)類型序號(hào),即若用戶未明確任何工作項(xiàng)類型參數(shù),則從二維數(shù)組中任意選取一個(gè)工作項(xiàng)類型對(duì)應(yīng)的行;
[0146]第二種情況,若確定所述請(qǐng)求未包括預(yù)先設(shè)置的工作項(xiàng)類型參數(shù),則根據(jù)為上一次未包括所述預(yù)先設(shè)置的工作項(xiàng)類型參數(shù)請(qǐng)求所分配的工作項(xiàng)類型序號(hào),分配所述請(qǐng)求的工作項(xiàng)類型序號(hào);
[0147]所述根據(jù)為上一次未包括所述預(yù)先設(shè)置的工作項(xiàng)類型參數(shù)請(qǐng)求所分配的工作項(xiàng)類型序號(hào),分配所述請(qǐng)求的工作項(xiàng)類型序號(hào),包括:
[0148]若為上一次未包括所述預(yù)先設(shè)置的工作項(xiàng)類型參數(shù)請(qǐng)求所分配的工作項(xiàng)類型序號(hào)為y,則為所述請(qǐng)求分配的工作項(xiàng)類型序號(hào)為y+Ι ;或者,
[0149]若為上一次未包括所述預(yù)先設(shè)置的工作項(xiàng)類型參數(shù)請(qǐng)求所分配的工作項(xiàng)類型序號(hào)為y,則為所述請(qǐng)求分配的工作項(xiàng)類型序號(hào)為y_l,y大于0,y的數(shù)值不大于總的所述工作項(xiàng)類型的個(gè)數(shù)。
[0150]具體的,若上一次請(qǐng)求的是二維數(shù)組中的第m-Ι行,則將當(dāng)前請(qǐng)求分配的工作項(xiàng)類型序號(hào)為m ;若上一次請(qǐng)求的是二維數(shù)組中的第m-Ι行,則將當(dāng)前請(qǐng)求分配的工作項(xiàng)類型序號(hào)為m-2。
[0151]優(yōu)選地,所述根據(jù)已分配的所述工作項(xiàng)類型序號(hào)中的上一個(gè)工作項(xiàng)序號(hào),為所述請(qǐng)求分配工作項(xiàng)序號(hào),包括:
[0152]若已分配的所述工作項(xiàng)類型序號(hào)中的上一個(gè)工作項(xiàng)序號(hào)為X,則為所述請(qǐng)求分配的工作項(xiàng)序號(hào)為χ+1 ;或者,
[0153]若已分配的所述工作項(xiàng)類型序號(hào)中的上一個(gè)工作項(xiàng)序號(hào)為X,則為所述請(qǐng)求分配的工作項(xiàng)序號(hào)為χ-1,X不大于所述工作項(xiàng)類型對(duì)應(yīng)的總的工作任務(wù)。
[0154]具體的,若用戶請(qǐng)求某個(gè)特定的工作類型,某個(gè)特定的工作類型對(duì)應(yīng)的行序號(hào)為2,則獲取該行序號(hào)對(duì)應(yīng)的工作任務(wù)的列序號(hào),若上一次請(qǐng)求該行序號(hào)的工作任務(wù)的列序號(hào)為3,則當(dāng)前請(qǐng)求該行序號(hào)的工作任務(wù)的列序號(hào)為2或者4。
[0155]發(fā)送模塊405,用于若所分配的工作項(xiàng)序號(hào)超過(guò)所述工作項(xiàng)類型對(duì)應(yīng)的工作項(xiàng)序號(hào)取值范圍則返回沒有任務(wù),否則,根據(jù)所述工作項(xiàng)序號(hào)提取工作任務(wù),發(fā)送給所述用戶。
[0156]優(yōu)選地,所述發(fā)送模塊405,用于:
[0157]根據(jù)所述工作項(xiàng)類型序號(hào)和工作項(xiàng)序號(hào)從預(yù)先存儲(chǔ)的二維數(shù)組中獲取工作任務(wù),所述二維數(shù)組的行序號(hào)對(duì)應(yīng)于工作項(xiàng)類型序號(hào),列序號(hào)對(duì)應(yīng)于工作項(xiàng)序號(hào)。
[0158]具體的,通過(guò)用二維數(shù)組存放工作任務(wù),例如,二維數(shù)組的形式為workl tem [m][η],其中第一維m表示工作項(xiàng)類型序號(hào),每種工作項(xiàng)類型對(duì)應(yīng)一個(gè)工作項(xiàng)隊(duì)列;第二維是該類型下具體的工作項(xiàng)內(nèi)容。設(shè)置一個(gè)工作項(xiàng)類型序號(hào)器typeNo。每個(gè)工作項(xiàng)類型對(duì)應(yīng)的工作項(xiàng)隊(duì)列里設(shè)置一個(gè)工作項(xiàng)序號(hào)器itemNo,它小于該隊(duì)列的長(zhǎng)度。這樣以來(lái),若有m個(gè)工作項(xiàng)類型,那么就對(duì)應(yīng)有m個(gè)itemNo序號(hào)器。
[0159]二維數(shù)組的行序號(hào)和列序號(hào)分別從1開始計(jì)算。二維數(shù)組的行存儲(chǔ)不同的工作類型時(shí),應(yīng)預(yù)先設(shè)置各行對(duì)應(yīng)的工作類型的序號(hào),保證分配的行序號(hào)、列序號(hào)能對(duì)應(yīng)到所述二維數(shù)組對(duì)應(yīng)的行和列。
[0160]本發(fā)明實(shí)施例通過(guò)裝載工作項(xiàng)任務(wù)隊(duì)列到二維數(shù)組中,二維數(shù)組的一維表示工作項(xiàng)類型,另一維表示具體的工作項(xiàng)任務(wù)隊(duì)列,獲取用戶發(fā)
當(dāng)前第3頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
资阳市| 余庆县| 塘沽区| 锦州市| 阿荣旗| 长武县| 喀喇沁旗| 奎屯市| 海淀区| 梁山县| 徐闻县| 南溪县| 光山县| 嘉鱼县| 晋江市| 林芝县| 塔河县| 益阳市| 凤凰县| 华池县| 科技| 金山区| 富锦市| 抚松县| 房产| 永康市| 万荣县| 扶沟县| 定边县| 平阴县| 阜平县| 通山县| 陵水| 邵武市| 理塘县| 腾冲县| 东乡族自治县| 仲巴县| 峡江县| 伊金霍洛旗| 广元市|