本發(fā)明涉及信息技術(shù)(InformationTechnology,簡(jiǎn)稱:IT)領(lǐng)域,尤其涉及一種基于消息隊(duì)列的分布式任務(wù)處理的方法、裝置及系統(tǒng)。
背景技術(shù):分布式計(jì)算是一門(mén)計(jì)算機(jī)科學(xué),它研究如何把一個(gè)需要非常巨大的計(jì)算能力才能解決的問(wèn)題分成許多小的部分,然后把這些部分分配給許多計(jì)算機(jī)進(jìn)行處理,最后把這些計(jì)算結(jié)果綜合起來(lái)得到最終的結(jié)果。這些運(yùn)算資源既可以在同一臺(tái)計(jì)算機(jī)上運(yùn)行,也可以在通過(guò)網(wǎng)絡(luò)連接起來(lái)的多臺(tái)計(jì)算機(jī)上運(yùn)行。分布式計(jì)算比起其它算法具有以下幾個(gè)優(yōu)點(diǎn):稀有資源可以共享;通過(guò)分布式計(jì)算可以在多臺(tái)計(jì)算機(jī)上平衡計(jì)算負(fù)載;可以把程序放在最適合運(yùn)行它的計(jì)算機(jī)上?,F(xiàn)有的分布式計(jì)算系統(tǒng),為實(shí)現(xiàn)任務(wù)的分級(jí)管理,通常維護(hù)一個(gè)消息隊(duì)列(MessageQueue,簡(jiǎn)稱:MQ),一個(gè)中心節(jié)點(diǎn)以及若干任務(wù)處理節(jié)點(diǎn)。其中,消息隊(duì)列用于保存所要執(zhí)行的任務(wù),中心節(jié)點(diǎn)用于根據(jù)任務(wù)的優(yōu)先級(jí)對(duì)消息隊(duì)列中的任務(wù)進(jìn)行排序,實(shí)現(xiàn)分級(jí)管理功能,以保證高優(yōu)先級(jí)的任務(wù)位于消息隊(duì)列的隊(duì)首,任務(wù)處理節(jié)點(diǎn)用于循環(huán)掃描消息隊(duì)列,從所述消息隊(duì)列獲取位于隊(duì)首的任務(wù)并執(zhí)行該任務(wù)。通過(guò)對(duì)現(xiàn)有技術(shù)的分析,發(fā)明人認(rèn)為現(xiàn)有技術(shù)至少存在以下問(wèn)題:現(xiàn)有技術(shù)需要對(duì)消息隊(duì)列中的任務(wù)按任務(wù)優(yōu)先級(jí)進(jìn)行排序,當(dāng)要求處理的任務(wù)種類多且任務(wù)數(shù)量大時(shí),將增加系統(tǒng)排序的開(kāi)銷,降低系統(tǒng)的工作效率。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例的目的在于提供一種基于消息隊(duì)列的分布式任務(wù)處理的方法、裝置及系統(tǒng),使得分布式任務(wù)處理系統(tǒng)不需對(duì)消息隊(duì)列中的處理任務(wù)進(jìn)行排序。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理方法,任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)任務(wù)處理節(jié)點(diǎn)承載的一種處理任務(wù),該方法包括:A,所述任務(wù)處理節(jié)點(diǎn)按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;B,所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描所述任務(wù)消息隊(duì)列組中的消息隊(duì)列,若掃描到包含處理任務(wù)的消息隊(duì)列,執(zhí)行步驟C,否則,重復(fù)步驟B;C,所述任務(wù)處理節(jié)點(diǎn)獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),執(zhí)行完之后返回步驟B,其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)調(diào)度方法,包括:獲取分割后的處理任務(wù);根據(jù)所述處理任務(wù)的類型,將所述處理任務(wù)發(fā)送至任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)執(zhí)行。本發(fā)明實(shí)施例提供的一種任務(wù)處理節(jié)點(diǎn),包括:消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元,用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;掃描單元,用于根據(jù)所述消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元確定的所述消息隊(duì)列的優(yōu)先級(jí)級(jí)別,按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描任務(wù)消息隊(duì)列組中的消息隊(duì)列;任務(wù)執(zhí)行單元,用于在所述掃描單元掃描到包含處理任務(wù)的消息隊(duì)列時(shí),獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中。本發(fā)明實(shí)施例提供的一種調(diào)度器,包括:獲取單元,用于獲取分割后的處理任務(wù);發(fā)送單元,用于根據(jù)所述獲取單元獲取的處理任務(wù)的類型,將所述處理任務(wù)發(fā)送至任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)執(zhí)行。本發(fā)明實(shí)施例提供的一種分布式任務(wù)處理系統(tǒng),所述系統(tǒng)包括至少一個(gè)任務(wù)處理節(jié)點(diǎn),所述任務(wù)處理節(jié)點(diǎn)用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別,并按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次循環(huán)掃描任務(wù)消息隊(duì)列組中的消息隊(duì)列,并執(zhí)行掃描到的處理任務(wù),其中,所述任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述任務(wù)處理節(jié)點(diǎn)承載的一種處理任務(wù);其中,所述任務(wù)處理節(jié)點(diǎn)包括:消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元,用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;掃描單元,用于根據(jù)所述消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元確定的所述消息隊(duì)列的優(yōu)先級(jí)級(jí)別,按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描任務(wù)消息隊(duì)列組中的消息隊(duì)列;任務(wù)執(zhí)行單元,用于在所述掃描單元掃描到包含處理任務(wù)的消息隊(duì)列時(shí),獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法、裝置及系統(tǒng),不同類型的任務(wù)被分配在不同的消息隊(duì)列中,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例不需對(duì)消息隊(duì)列中的處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率。附圖說(shuō)明圖1為本發(fā)明實(shí)施例提供的一種分布式任務(wù)處理系統(tǒng)架構(gòu)圖;圖2為本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法;圖3為本發(fā)明實(shí)施例提供的另一種基于消息隊(duì)列的分布式任務(wù)調(diào)度方法;圖4為本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法實(shí)現(xiàn)流程圖;圖5為本發(fā)明實(shí)施例提供的另一種基于消息隊(duì)列的分布式任務(wù)處理的方法實(shí)現(xiàn)流程圖;圖6為本發(fā)明實(shí)施例提供的一種任務(wù)處理節(jié)點(diǎn);圖7為本發(fā)明實(shí)施例提供的一種調(diào)度器;圖8為本發(fā)明實(shí)施例提供的一種分布式任務(wù)處理系統(tǒng)。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。如圖1所示,為本發(fā)明實(shí)施例提供的一種分布式任務(wù)處理系統(tǒng)架構(gòu)圖。其中,任務(wù)分割節(jié)點(diǎn)在接收到原始任務(wù)后,對(duì)所述原始任務(wù)進(jìn)行分割得到至少一個(gè)處理任務(wù),并對(duì)與所述原始任務(wù)關(guān)聯(lián)的數(shù)據(jù)文件進(jìn)行相應(yīng)的分割得到至少一個(gè)分片,使得每個(gè)處理任務(wù)都對(duì)應(yīng)一個(gè)與該處理任務(wù)相匹配的分片。所述任務(wù)分割節(jié)點(diǎn)對(duì)所述原始任務(wù)進(jìn)行分割后,向調(diào)度器發(fā)送分割后的處理任務(wù),所述調(diào)度器根據(jù)所述處理任務(wù)的類型將所述處理任務(wù)分別發(fā)送至任務(wù)消息隊(duì)列組中與所述處理任務(wù)的種類關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)執(zhí)行。其中,所述對(duì)數(shù)據(jù)文件進(jìn)行分割是指在不對(duì)數(shù)據(jù)文件進(jìn)行處理的情況下,將所述數(shù)據(jù)文件分割成至少一個(gè)分片。需要說(shuō)明的是,本發(fā)明實(shí)施例提供的任務(wù)分割節(jié)點(diǎn)既可以是專用的硬件設(shè)備,也可以是分布式任務(wù)處理系統(tǒng)中的任一個(gè)任務(wù)處理節(jié)點(diǎn),還可以是調(diào)度器。在此,需要指出的是,本發(fā)明實(shí)施例以一個(gè)任務(wù)消息隊(duì)列組為例對(duì)技術(shù)方案進(jìn)行闡述,本領(lǐng)域技術(shù)人員可以理解,本發(fā)明實(shí)施例可以有一個(gè)或多個(gè)任務(wù)消息隊(duì)列組,所述任務(wù)消息隊(duì)列組的數(shù)目并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定,以下實(shí)施例也一樣。在此,需要進(jìn)一步指出的是,為表述清楚,該系統(tǒng)中只提供了一個(gè)任務(wù)處理節(jié)點(diǎn),本領(lǐng)域技術(shù)人員可以理解,本發(fā)明實(shí)施例可以包含多個(gè)任務(wù)處理節(jié)點(diǎn),所述任務(wù)處理節(jié)點(diǎn)的數(shù)目并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定,以下實(shí)施例也一樣。需要說(shuō)明的是,任務(wù)處理節(jié)點(diǎn)可以是各種類型的服務(wù)器或個(gè)人計(jì)算機(jī);調(diào)度器可以是各種類型的服務(wù)器或個(gè)人計(jì)算機(jī)。需要說(shuō)明的是,所述任務(wù)消息隊(duì)列組可以保存在一個(gè)專用的硬件設(shè)備中,也可以保存在分布式任務(wù)存儲(chǔ)系統(tǒng)中的任一存儲(chǔ)節(jié)點(diǎn)中。基于圖1所示的分布式任務(wù)處理系統(tǒng)架構(gòu),本發(fā)明實(shí)施例提供一種基于消息隊(duì)列的分布式任務(wù)處理的方法。如圖2所示,該方法包括:S201:任務(wù)處理節(jié)點(diǎn)根據(jù)自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;其中,所述任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述任務(wù)處理節(jié)點(diǎn)承載的一種處理任務(wù),例如,若所述任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)包括視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù),則該任務(wù)消息隊(duì)列組將包含三個(gè)消息隊(duì)列,分別對(duì)應(yīng)視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù);需要說(shuō)明的是,可以預(yù)先配置所述任務(wù)消息隊(duì)列組,配置所述任務(wù)消息隊(duì)列組的主體既可以是專用的硬件設(shè)備,也可以是該分布式任務(wù)處理系統(tǒng)中的任一任務(wù)處理節(jié)點(diǎn);還需說(shuō)明的是,還可以預(yù)先配置一個(gè)全局消息隊(duì)列組,該全局消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述系統(tǒng)承載的一種處理任務(wù),所述任務(wù)處理節(jié)點(diǎn)根據(jù)自身承載的處理任務(wù)類型,從所述全局消息隊(duì)列中選擇與所述任務(wù)處理節(jié)點(diǎn)自身承載的處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,組成所述任務(wù)消息隊(duì)列組;在此,需要進(jìn)一步說(shuō)明的是,本發(fā)明實(shí)施例提供的所述任務(wù)處理節(jié)點(diǎn)確定自身承載的處理任務(wù)的優(yōu)先級(jí)的方式,可以包括以下任一方式:方式一:所述任務(wù)處理節(jié)點(diǎn)根據(jù)業(yè)務(wù)需求確定所述任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別;例如,所述任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)包括視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù),但該任務(wù)處理節(jié)點(diǎn)承載的主要處理任務(wù)為視頻轉(zhuǎn)碼任務(wù),其次為視頻渲染任務(wù),再次為人臉識(shí)別任務(wù),則,該任務(wù)處理節(jié)點(diǎn)確定優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列為存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列,次高優(yōu)先級(jí)級(jí)別的消息隊(duì)列為存儲(chǔ)視頻渲染任務(wù)的消息隊(duì)列,低優(yōu)先級(jí)級(jí)別的消息隊(duì)列為存儲(chǔ)人臉識(shí)別任務(wù)的消息隊(duì)列;方式二:預(yù)先設(shè)置所述處理任務(wù)的優(yōu)先級(jí)級(jí)別,其中,需要說(shuō)明的是,所述預(yù)先設(shè)置所述處理任務(wù)的優(yōu)先級(jí)級(jí)別的主體既可以是專用的硬件設(shè)備,也可以是所述任務(wù)處理節(jié)點(diǎn);S202:所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描所述任務(wù)消息隊(duì)列組中的消息隊(duì)列,若掃描到包含處理任務(wù)的消息隊(duì)列,執(zhí)行步驟S203,否則,重復(fù)本步驟S202;其中,需要說(shuō)明的是,如圖2所示,本步驟S202可進(jìn)一步細(xì)分為S202a,S202b,S202c,S202d四個(gè)步驟,如下所示:S202a:所述任務(wù)處理節(jié)點(diǎn)掃描所述所述任務(wù)消息隊(duì)列組中優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列;例如,若優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列為存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列,則所述任務(wù)處理節(jié)點(diǎn)首先掃描該存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列;S202b:所述任務(wù)處理節(jié)點(diǎn)判斷所掃描的消息隊(duì)列是否包含處理任務(wù),若是,則執(zhí)行步驟S203,否則,執(zhí)行步驟S202c;S202c:所述任務(wù)處理節(jié)點(diǎn)判斷所掃描的消息隊(duì)列的優(yōu)先級(jí)級(jí)別是否最低,若是,則返回步驟S202a,否則,執(zhí)行步驟S202d;其中,需要說(shuō)明的是,若所述任務(wù)處理節(jié)點(diǎn)當(dāng)前掃描的消息隊(duì)列為優(yōu)先級(jí)級(jí)別最低的消息隊(duì)列,則所述任務(wù)處理節(jié)點(diǎn)從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始重新掃描消息隊(duì)列;S202d:所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)由高到低的順序,掃描所述任務(wù)消息隊(duì)列組中下一個(gè)消息隊(duì)列,并返回步驟S202b;其中,需要說(shuō)明的是,若優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列沒(méi)有存儲(chǔ)處理任務(wù),所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)級(jí)別由高到低的順序,掃描次優(yōu)先級(jí)級(jí)別的消息隊(duì)列;需要進(jìn)一步說(shuō)明的是,所述任務(wù)處理節(jié)點(diǎn)在首次掃描到包含處理任務(wù)的消息隊(duì)列時(shí),即執(zhí)行步驟S203;S203:所述任務(wù)處理節(jié)點(diǎn)獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),執(zhí)行完之后返回步驟S202,其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中;其中,需要說(shuō)明的是,本發(fā)明實(shí)施例提供的所述任務(wù)處理節(jié)點(diǎn)獲取所述當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù)的方式,可以包括以下任一方式:方式一:所述任務(wù)處理節(jié)點(diǎn)獲取所述包含處理任務(wù)的消息隊(duì)列中未被執(zhí)行的任一處理任務(wù),并執(zhí)行所述未被執(zhí)行的任一處理任務(wù);例如,若該包含處理任務(wù)的消息隊(duì)列包含5個(gè)處理任務(wù),則從所述5個(gè)處理任務(wù)中隨機(jī)獲取一個(gè)處理任務(wù)作為當(dāng)前處理任務(wù),并執(zhí)行該隨機(jī)獲取的當(dāng)前處理任務(wù);方式二:所述任務(wù)處理節(jié)點(diǎn)獲取所述包含處理任務(wù)的消息隊(duì)列中未被執(zhí)行的隊(duì)首處理任務(wù),并執(zhí)行所述未被執(zhí)行的隊(duì)首處理任務(wù);例如,若該包含處理任務(wù)的消息隊(duì)列包含5個(gè)處理任務(wù),則選擇位于消息隊(duì)列隊(duì)首的處理任務(wù)為當(dāng)前處理任務(wù),使得按照先進(jìn)先出的順序執(zhí)行同一類型的處理任務(wù);需要進(jìn)一步說(shuō)明的是,在所述任務(wù)處理節(jié)點(diǎn)獲取所述當(dāng)前處理任務(wù)之后,所述包含該當(dāng)前處理任務(wù)的消息隊(duì)列將所述當(dāng)前處理任務(wù)刪除。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法,不同類型的任務(wù)被分配在不同的消息隊(duì)列中,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例不需對(duì)消息隊(duì)列中的處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,與現(xiàn)有技術(shù)相比,一個(gè)消息隊(duì)列只保存一種類型的處理任務(wù),只需增加消息隊(duì)列即可處理其他類型的處理任務(wù),業(yè)務(wù)擴(kuò)展性強(qiáng)。如圖3所示,為本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)調(diào)度方法,具體包括:S301:獲取分割后的處理任務(wù);其中,需要說(shuō)明的是,本實(shí)施例執(zhí)行的主體為調(diào)度器;需要進(jìn)一步說(shuō)明的是,任務(wù)分割節(jié)點(diǎn)在接收到原始任務(wù)后,對(duì)所述原始任務(wù)進(jìn)行分割得到至少一個(gè)處理任務(wù),并對(duì)與所述原始任務(wù)關(guān)聯(lián)的數(shù)據(jù)文件進(jìn)行相應(yīng)的分割得到至少一個(gè)分片,使得每個(gè)處理任務(wù)都對(duì)應(yīng)一個(gè)與該處理任務(wù)相匹配的分片,任務(wù)分割節(jié)點(diǎn)對(duì)原始任務(wù)進(jìn)行分割后,將分割后得到的處理任務(wù)發(fā)送給調(diào)度器;需要再進(jìn)一步說(shuō)明的是,所述任務(wù)分割節(jié)點(diǎn)可以是所述調(diào)度器,則所述調(diào)度器對(duì)原始任務(wù)進(jìn)行分割后,直接獲取分割后的處理任務(wù);S302:根據(jù)所述處理任務(wù)的類型,將所述處理任務(wù)發(fā)送至任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)執(zhí)行;其中,所述任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述任務(wù)處理節(jié)點(diǎn)承載的一種處理任務(wù),例如,若所述任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)包括視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù),則該任務(wù)消息隊(duì)列組將包含三個(gè)消息隊(duì)列,分別對(duì)應(yīng)視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù);需要說(shuō)明的是,可以預(yù)先配置所述任務(wù)消息隊(duì)列組,配置所述任務(wù)消息隊(duì)列組的主體既可以是專用的硬件設(shè)備,也可以是該分布式任務(wù)處理系統(tǒng)中的任一任務(wù)處理節(jié)點(diǎn);還需說(shuō)明的是,還可以預(yù)先配置一個(gè)全局消息隊(duì)列組,該全局消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述系統(tǒng)承載的一種處理任務(wù),所述任務(wù)處理節(jié)點(diǎn)根據(jù)自身承載的處理任務(wù)類型,從所述全局消息隊(duì)列中選擇與所述任務(wù)處理節(jié)點(diǎn)自身承載的處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,組成所述任務(wù)消息隊(duì)列組。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)調(diào)度方法,不同類型的任務(wù)被分配在不同的消息隊(duì)列中,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例不需對(duì)消息隊(duì)列中的處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,與現(xiàn)有技術(shù)相比,一個(gè)消息隊(duì)列只保存一種類型的處理任務(wù),只需增加消息隊(duì)列即可處理其他類型的處理任務(wù),業(yè)務(wù)擴(kuò)展性強(qiáng)。如圖4所示,為本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法實(shí)現(xiàn)流程圖,具體包括:S401:任務(wù)分割節(jié)點(diǎn)接收原始任務(wù);S402:任務(wù)分割節(jié)點(diǎn)對(duì)所述原始任務(wù)進(jìn)行分割得到至少一個(gè)處理任務(wù),并對(duì)與所述原始任務(wù)關(guān)聯(lián)的數(shù)據(jù)文件進(jìn)行相應(yīng)的分割得到至少一個(gè)分片,使得每個(gè)處理任務(wù)都對(duì)應(yīng)一個(gè)與該處理任務(wù)相匹配的分片;例如,所述任務(wù)分割節(jié)點(diǎn)把所述原始任務(wù)分割為三個(gè)處理任務(wù),則所述任務(wù)分割節(jié)點(diǎn)將把與所述原始任務(wù)對(duì)應(yīng)的數(shù)據(jù)文件分割為與所述三個(gè)處理任務(wù)對(duì)應(yīng)的分片,每個(gè)分片對(duì)應(yīng)于一個(gè)處理任務(wù);其中,需要說(shuō)明的是,分割后的每一個(gè)處理任務(wù)均攜帶了完整的任務(wù)調(diào)度信息以及執(zhí)行信息,以便于任務(wù)處理節(jié)點(diǎn)獲取處理任務(wù)后即可順利執(zhí)行;在此,需要說(shuō)明的是,本發(fā)明實(shí)施例并不限定保存在消息隊(duì)列中的處理任務(wù)的具體表現(xiàn)形式,作為示例而不是限定,一種視頻轉(zhuǎn)碼任務(wù)的表現(xiàn)形式可以是如下的形式:還需要說(shuō)明的是,本發(fā)明實(shí)施例提供的任務(wù)分割節(jié)點(diǎn)既可以是專用的硬件設(shè)備,也可以是分布式任務(wù)處理系統(tǒng)中的任一個(gè)任務(wù)處理節(jié)點(diǎn),還可以是調(diào)度器;需要進(jìn)一步說(shuō)明的是,本發(fā)明實(shí)施例并不限定對(duì)原始任務(wù)進(jìn)行分割的方法,作為示例而非限定,可以根據(jù)原始任務(wù)關(guān)聯(lián)的數(shù)據(jù)文件的具體格式,將所述原始任務(wù)分割為處理任務(wù),并對(duì)數(shù)據(jù)文件進(jìn)行相應(yīng)的分割;S403:所述任務(wù)分割節(jié)點(diǎn)向調(diào)度器發(fā)送分割后的處理任務(wù);S404:所述調(diào)度器接收到處理任務(wù)后,根據(jù)所述處理任務(wù)的類型將所述處理任務(wù)推送至任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)處理;其中,所述任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述任務(wù)處理節(jié)點(diǎn)承載的一種處理任務(wù),例如,若所述任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)包括視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù),則該任務(wù)消息隊(duì)列組將包含三個(gè)消息隊(duì)列,分別對(duì)應(yīng)視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù);需要說(shuō)明的是,可以預(yù)先配置所述任務(wù)消息隊(duì)列組,配置所述任務(wù)消息隊(duì)列組的主體既可以是專用的硬件設(shè)備,也可以是該分布式任務(wù)處理系統(tǒng)中的任一任務(wù)處理節(jié)點(diǎn);還需說(shuō)明的是,還可以預(yù)先配置一個(gè)全局消息隊(duì)列組,該全局消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述系統(tǒng)承載的一種處理任務(wù),所述任務(wù)處理節(jié)點(diǎn)根據(jù)自身承載的處理任務(wù)類型,從所述全局消息隊(duì)列中選擇與所述任務(wù)處理節(jié)點(diǎn)自身承載的處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,組成所述任務(wù)消息隊(duì)列組;S405:任務(wù)處理節(jié)點(diǎn)根據(jù)自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;其中,需要說(shuō)明的是,本發(fā)明實(shí)施例提供的所述任務(wù)處理節(jié)點(diǎn)確定自身承載的處理任務(wù)的優(yōu)先級(jí)的方式,可以包括以下任一方式:方式一:所述任務(wù)處理節(jié)點(diǎn)根據(jù)業(yè)務(wù)需求確定所述任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別;例如,所述任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)包括視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù),但該任務(wù)處理節(jié)點(diǎn)承載的主要處理任務(wù)為視頻轉(zhuǎn)碼任務(wù),其次為視頻渲染任務(wù),再次為人臉識(shí)別任務(wù),則,該任務(wù)處理節(jié)點(diǎn)確定優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列為存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列,次高優(yōu)先級(jí)級(jí)別的消息隊(duì)列為存儲(chǔ)視頻渲染任務(wù)的消息隊(duì)列,低優(yōu)先級(jí)級(jí)別的消息隊(duì)列為存儲(chǔ)人臉識(shí)別任務(wù)的消息隊(duì)列;方式二:預(yù)先設(shè)置所述處理任務(wù)的優(yōu)先級(jí)級(jí)別,其中,需要說(shuō)明的是,所述預(yù)先設(shè)置所述處理任務(wù)的優(yōu)先級(jí)級(jí)別的主體既可以是專用的硬件設(shè)備,也可以是所述任務(wù)處理節(jié)點(diǎn);需要進(jìn)一步說(shuō)明的是,本步驟S405可以在步驟S401至步驟S404中任一步驟之前、之后或同時(shí)執(zhí)行,并沒(méi)有先后順序;S406:所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描所述任務(wù)消息隊(duì)列組中的消息隊(duì)列,若掃描到包含處理任務(wù)的消息隊(duì)列,執(zhí)行步驟S407,否則,重復(fù)本步驟S406;其中,需要說(shuō)明的是,如圖4所示,本步驟S406可進(jìn)一步細(xì)分為S406a,S406b,S406c,S406d四個(gè)步驟,如下所示:S406a:所述任務(wù)處理節(jié)點(diǎn)掃描所述所述任務(wù)消息隊(duì)列組中優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列;例如,若優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列為存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列,則所述任務(wù)處理節(jié)點(diǎn)首先掃描該存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列;S406b:所述任務(wù)處理節(jié)點(diǎn)判斷所掃描的消息隊(duì)列是否包含處理任務(wù),若是,則執(zhí)行步驟S407,否則,執(zhí)行步驟S406c;S406c:所述任務(wù)處理節(jié)點(diǎn)判斷所掃描的消息隊(duì)列的優(yōu)先級(jí)級(jí)別是否最低,若是,則返回步驟S406a,否則,執(zhí)行步驟S406d;其中,需要說(shuō)明的是,若所述任務(wù)處理節(jié)點(diǎn)當(dāng)前掃描的消息隊(duì)列為優(yōu)先級(jí)級(jí)別最低的消息隊(duì)列,則所述任務(wù)處理節(jié)點(diǎn)從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始重新掃描消息隊(duì)列;S406d:所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)由高到低的順序,掃描所述任務(wù)消息隊(duì)列組中下一個(gè)消息隊(duì)列,并返回步驟S406b;其中,需要說(shuō)明的是,若優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列沒(méi)有存儲(chǔ)處理任務(wù),所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)級(jí)別由高到低的順序,掃描次優(yōu)先級(jí)級(jí)別的消息隊(duì)列;需要進(jìn)一步說(shuō)明的是,所述任務(wù)處理節(jié)點(diǎn)在首次掃描到包含處理任務(wù)的消息隊(duì)列時(shí),即執(zhí)行步驟S407;S407:所述任務(wù)處理節(jié)點(diǎn)獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),執(zhí)行完之后返回步驟S406,其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中;其中,需要說(shuō)明的是,本發(fā)明實(shí)施例提供的所述任務(wù)處理節(jié)點(diǎn)獲取所述當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù)的方式,可以包括以下任一方式:方式一:所述任務(wù)處理節(jié)點(diǎn)獲取所述包含處理任務(wù)的消息隊(duì)列中未被執(zhí)行的任一處理任務(wù),并執(zhí)行所述未被執(zhí)行的任一處理任務(wù);例如,若該包含處理任務(wù)的消息隊(duì)列包含5個(gè)處理任務(wù),則從所述5個(gè)處理任務(wù)中隨機(jī)獲取一個(gè)處理任務(wù)作為當(dāng)前處理任務(wù),并執(zhí)行該隨機(jī)獲取的當(dāng)前處理任務(wù);方式二:所述任務(wù)處理節(jié)點(diǎn)獲取所述包含處理任務(wù)的消息隊(duì)列中未被執(zhí)行的隊(duì)首處理任務(wù),并執(zhí)行所述未被執(zhí)行的隊(duì)首處理任務(wù);例如,若該包含處理任務(wù)的消息隊(duì)列包含5個(gè)處理任務(wù),則選擇位于消息隊(duì)列隊(duì)首的處理任務(wù)為當(dāng)前處理任務(wù),使得按照先進(jìn)先出的順序執(zhí)行同一類型的處理任務(wù);需要進(jìn)一步說(shuō)明的是,在所述任務(wù)處理節(jié)點(diǎn)獲取所述當(dāng)前處理任務(wù)之后,所述包含該當(dāng)前處理任務(wù)的消息隊(duì)列將所述當(dāng)前處理任務(wù)刪除。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法,不同類型的處理任務(wù)被分配在不同的消息隊(duì)列中,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例不需對(duì)消息隊(duì)列中的處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,與現(xiàn)有技術(shù)相比,一個(gè)消息隊(duì)列只保存一種類型的處理任務(wù),只需增加消息隊(duì)列即可處理其他類型的處理任務(wù),業(yè)務(wù)擴(kuò)展性強(qiáng),另外,處理任務(wù)的優(yōu)先級(jí)可由任務(wù)處理節(jié)點(diǎn)根據(jù)業(yè)務(wù)需要?jiǎng)討B(tài)確定,保證了在整個(gè)任務(wù)處理的過(guò)程中緊急的業(yè)務(wù)可以獲得較高的優(yōu)先級(jí),使得任務(wù)處理節(jié)點(diǎn)處理任務(wù)更加靈活,再次,對(duì)原始任務(wù)進(jìn)行分割得到至少一個(gè)處理任務(wù),使得當(dāng)前處理任務(wù)不會(huì)長(zhǎng)時(shí)間占用任務(wù)處理節(jié)點(diǎn)的資源,保證了任務(wù)處理節(jié)點(diǎn)的資源不被阻塞,能夠及時(shí)執(zhí)行高優(yōu)先級(jí)的處理任務(wù)。如圖5所示,為本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法實(shí)現(xiàn)流程圖,該實(shí)施例應(yīng)用于分布式視頻任務(wù)處理系統(tǒng),具體包括:S501:任務(wù)分割節(jié)點(diǎn)接收原始任務(wù),在本實(shí)施例中,所述原始任務(wù)為原始視頻任務(wù);S502:任務(wù)分割節(jié)點(diǎn)對(duì)所述原始視頻任務(wù)進(jìn)行分割得到至少一個(gè)處理任務(wù),并對(duì)與所述原始視頻任務(wù)關(guān)聯(lián)的數(shù)據(jù)文件進(jìn)行相應(yīng)的分割得到至少一個(gè)分片,使得每個(gè)處理任務(wù)都對(duì)應(yīng)一個(gè)與該處理任務(wù)相匹配的分片,在本實(shí)施例中,所述處理任務(wù)為視頻處理任務(wù);例如,所述任務(wù)分割節(jié)點(diǎn)把所述原始視頻任務(wù)分割為三個(gè)視頻處理任務(wù),則所述任務(wù)分割節(jié)點(diǎn)將把與所述原始視頻任務(wù)對(duì)應(yīng)的視頻數(shù)據(jù)文件分割為與所述三個(gè)視頻處理任務(wù)對(duì)應(yīng)的分片,每個(gè)分片對(duì)應(yīng)于一個(gè)視頻處理任務(wù);其中,需要說(shuō)明的是,分割后的每一個(gè)視頻處理任務(wù)均攜帶了完整的任務(wù)調(diào)度信息以及執(zhí)行信息,以便于任務(wù)處理節(jié)點(diǎn)獲取視頻處理任務(wù)后即可順利執(zhí)行;在此,需要說(shuō)明的是,本發(fā)明實(shí)施例并不限定保存在消息隊(duì)列中的視頻處理任務(wù)的具體表現(xiàn)形式,作為示例而不是限定,一種視頻轉(zhuǎn)碼任務(wù)的表現(xiàn)形式可以是如下的形式:需要說(shuō)明的是,所述任務(wù)分割節(jié)點(diǎn)對(duì)原始任務(wù)進(jìn)行分割的方式,具體包括:所述任務(wù)分割節(jié)點(diǎn)根據(jù)預(yù)先設(shè)置的分割策略對(duì)原始視頻任務(wù)進(jìn)行分割得到至少一個(gè)視頻處理任務(wù),并在I幀的位置對(duì)與所述原始視頻任務(wù)關(guān)聯(lián)的視頻數(shù)據(jù)文件進(jìn)行分割得到至少一個(gè)分片,其中,所述分割策略需保證在I幀的位置對(duì)視頻數(shù)據(jù)文件進(jìn)行分割;其中,需要指出的是,所述I幀為畫(huà)面組(GroupOfPictures,簡(jiǎn)稱:GOP)中的第一個(gè)幀,可作為隨機(jī)訪問(wèn)的參考點(diǎn);需要進(jìn)一步說(shuō)明的是,本發(fā)明實(shí)施例提供的任務(wù)分割節(jié)點(diǎn)既可以是專用的硬件設(shè)備,也可以是分布式任務(wù)處理系統(tǒng)中的任一個(gè)任務(wù)處理節(jié)點(diǎn),還可以是調(diào)度器;S503:所述任務(wù)分割節(jié)點(diǎn)向調(diào)度器發(fā)送分割后的視頻處理任務(wù);S504:所述調(diào)度器接收到視頻處理任務(wù)后,根據(jù)所述視頻處理任務(wù)的類型將所述視頻處理任務(wù)推送至任務(wù)消息隊(duì)列組中與所述視頻處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)處理;其中,所述任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述任務(wù)處理節(jié)點(diǎn)承載的一種視頻處理任務(wù),例如,若所述任務(wù)處理節(jié)點(diǎn)承載的視頻處理任務(wù)包括視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù),則該任務(wù)消息隊(duì)列組將包含三個(gè)消息隊(duì)列,分別對(duì)應(yīng)視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù);需要說(shuō)明的是,可以預(yù)先配置所述任務(wù)消息隊(duì)列組,配置所述任務(wù)消息隊(duì)列組的主體既可以是專用的硬件設(shè)備,也可以是該分布式任務(wù)處理系統(tǒng)中的任一任務(wù)處理節(jié)點(diǎn);還需說(shuō)明的是,還可以預(yù)先配置一個(gè)全局消息隊(duì)列組,該全局消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述系統(tǒng)承載的一種視頻處理任務(wù),所述任務(wù)處理節(jié)點(diǎn)根據(jù)自身承載的視頻處理任務(wù)類型,從所述全局消息隊(duì)列中選擇與所述任務(wù)處理節(jié)點(diǎn)自身承載的視頻處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,組成所述任務(wù)消息隊(duì)列組;S505:任務(wù)處理節(jié)點(diǎn)根據(jù)自身承載的視頻處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)視頻處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;其中,需要說(shuō)明的是,本發(fā)明實(shí)施例提供的所述任務(wù)處理節(jié)點(diǎn)確定自身承載的視頻處理任務(wù)的優(yōu)先級(jí)的方式,可以包括以下任一方式:方式一:所述任務(wù)處理節(jié)點(diǎn)根據(jù)業(yè)務(wù)需求確定所述任務(wù)處理節(jié)點(diǎn)承載的視頻處理任務(wù)的優(yōu)先級(jí)級(jí)別;例如,所述任務(wù)處理節(jié)點(diǎn)承載的視頻處理任務(wù)包括視頻轉(zhuǎn)碼任務(wù)、視頻渲染任務(wù)以及人臉識(shí)別任務(wù),但該任務(wù)處理節(jié)點(diǎn)承載的主要視頻處理任務(wù)為視頻轉(zhuǎn)碼任務(wù),其次為視頻渲染任務(wù),再次為人臉識(shí)別任務(wù),則,該任務(wù)處理節(jié)點(diǎn)確定優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列為存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列,次高優(yōu)先級(jí)級(jí)別的消息隊(duì)列為存儲(chǔ)視頻渲染任務(wù)的消息隊(duì)列,低優(yōu)先級(jí)級(jí)別的消息隊(duì)列為存儲(chǔ)人臉識(shí)別任務(wù)的消息隊(duì)列;方式二:預(yù)先設(shè)置所述視頻處理任務(wù)的優(yōu)先級(jí)級(jí)別,其中,需要說(shuō)明的是,所述預(yù)先設(shè)置所述視頻處理任務(wù)的優(yōu)先級(jí)級(jí)別的主體既可以是專用的硬件設(shè)備,也可以是所述任務(wù)處理節(jié)點(diǎn);需要進(jìn)一步說(shuō)明的是,本步驟S505可以在步驟S501至步驟S504中任一步驟之前、之后或同時(shí)執(zhí)行,并沒(méi)有先后順序;S506:所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描所述任務(wù)消息隊(duì)列組中的消息隊(duì)列,若掃描到包含視頻處理任務(wù)的消息隊(duì)列,執(zhí)行步驟S507,否則,重復(fù)本步驟S506;其中,需要說(shuō)明的是,如圖5所示,本步驟S506可進(jìn)一步細(xì)分為S506a,S506b,S506c,S506d四個(gè)步驟,如下所示:S506a:所述任務(wù)處理節(jié)點(diǎn)掃描所述所述任務(wù)消息隊(duì)列組中優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列;例如,若優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列為存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列,則所述任務(wù)處理節(jié)點(diǎn)首先掃描該存儲(chǔ)視頻轉(zhuǎn)碼任務(wù)的消息隊(duì)列;S506b:所述任務(wù)處理節(jié)點(diǎn)判斷所掃描的消息隊(duì)列是否包含視頻處理任務(wù),若是,則執(zhí)行步驟S507,否則,執(zhí)行步驟S506c;S506c:所述任務(wù)處理節(jié)點(diǎn)判斷所掃描的消息隊(duì)列的優(yōu)先級(jí)級(jí)別是否最低,若是,則返回步驟S506a,否則,執(zhí)行步驟S506d;其中,需要說(shuō)明的是,若所述任務(wù)處理節(jié)點(diǎn)當(dāng)前掃描的消息隊(duì)列為優(yōu)先級(jí)級(jí)別最低的消息隊(duì)列,則所述任務(wù)處理節(jié)點(diǎn)從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始重新掃描消息隊(duì)列;S506d:所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)由高到低的順序,掃描所述任務(wù)消息隊(duì)列組中下一個(gè)消息隊(duì)列,并返回步驟S506b;其中,需要說(shuō)明的是,若優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列沒(méi)有存儲(chǔ)視頻處理任務(wù),所述任務(wù)處理節(jié)點(diǎn)按照優(yōu)先級(jí)級(jí)別由高到低的順序,掃描次優(yōu)先級(jí)級(jí)別的消息隊(duì)列;需要進(jìn)一步說(shuō)明的是,所述任務(wù)處理節(jié)點(diǎn)在首次掃描到包含視頻處理任務(wù)的消息隊(duì)列時(shí),即執(zhí)行步驟S507;S507:所述任務(wù)處理節(jié)點(diǎn)獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),執(zhí)行完之后返回步驟S506,本發(fā)明實(shí)施例中,所述當(dāng)前處理任務(wù)為當(dāng)前視頻處理任務(wù),所述當(dāng)前視頻任務(wù)存儲(chǔ)在所述包含視頻處理任務(wù)的消息隊(duì)列中;其中,需要說(shuō)明的是,本發(fā)明實(shí)施例提供的所述任務(wù)處理節(jié)點(diǎn)獲取所述當(dāng)前視頻處理任務(wù),并執(zhí)行所述當(dāng)前視頻處理任務(wù)的方式,可以包括以下任一方式:方式一:所述任務(wù)處理節(jié)點(diǎn)獲取所述包含視頻處理任務(wù)的消息隊(duì)列中未被執(zhí)行的任一視頻處理任務(wù),并執(zhí)行所述未被執(zhí)行的任一視頻處理任務(wù);例如,若該包含處理任務(wù)的消息隊(duì)列包含5個(gè)視頻處理任務(wù),則從所述5個(gè)視頻處理任務(wù)中隨機(jī)獲取一個(gè)視頻處理任務(wù)作為當(dāng)前視頻處理任務(wù),并執(zhí)行該隨機(jī)獲取的當(dāng)前視頻處理任務(wù);方式二:所述任務(wù)處理節(jié)點(diǎn)獲取所述包含視頻處理任務(wù)的消息隊(duì)列中未被執(zhí)行的隊(duì)首視頻處理任務(wù),并執(zhí)行所述未被執(zhí)行的隊(duì)首視頻處理任務(wù);例如,若該包含視頻處理任務(wù)的消息隊(duì)列包含5個(gè)視頻處理任務(wù),則選擇位于消息隊(duì)列隊(duì)首的視頻處理任務(wù)為當(dāng)前視頻處理任務(wù),使得按照先進(jìn)先出的順序執(zhí)行同一類型的視頻處理任務(wù);需要進(jìn)一步說(shuō)明的是,在所述任務(wù)處理節(jié)點(diǎn)獲取所述當(dāng)前視頻處理任務(wù)之后,所述包含該當(dāng)前視頻處理任務(wù)的消息隊(duì)列將所述當(dāng)前視頻處理任務(wù)刪除。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法,不同類型的視頻處理任務(wù)被分配在不同的消息隊(duì)列中,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例不需對(duì)消息隊(duì)列中的視頻處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,與現(xiàn)有技術(shù)相比,一個(gè)消息隊(duì)列只保存一種類型的視頻處理任務(wù),只需增加消息隊(duì)列即可處理其他類型的視頻處理任務(wù),業(yè)務(wù)擴(kuò)展性強(qiáng),另外,視頻處理任務(wù)的優(yōu)先級(jí)可由任務(wù)處理節(jié)點(diǎn)根據(jù)業(yè)務(wù)需要?jiǎng)討B(tài)確定,保證了在整個(gè)任務(wù)處理的過(guò)程中緊急的視頻業(yè)務(wù)可以獲得較高的優(yōu)先級(jí),使得任務(wù)處理節(jié)點(diǎn)處理視頻任務(wù)更加靈活,再次,對(duì)原始視頻任務(wù)進(jìn)行分割得到至少一個(gè)視頻處理任務(wù),使得當(dāng)前視頻處理任務(wù)不會(huì)長(zhǎng)時(shí)間占用任務(wù)處理節(jié)點(diǎn)的資源,保證了任務(wù)處理節(jié)點(diǎn)的資源不被阻塞,能夠及時(shí)執(zhí)行高優(yōu)先級(jí)的視頻處理任務(wù)。如圖6所示,為本發(fā)明實(shí)施例提供的一種任務(wù)處理節(jié)點(diǎn),包括:消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元601,用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;掃描單元602,用于根據(jù)所述消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元601確定的所述消息隊(duì)列的優(yōu)先級(jí)級(jí)別,按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描任務(wù)消息隊(duì)列組中的消息隊(duì)列;任務(wù)執(zhí)行單元603,用于在所述掃描單元602掃描到包含處理任務(wù)的消息隊(duì)列時(shí),獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中。其中,需要說(shuō)明的是,本發(fā)明實(shí)施例提供的任務(wù)處理節(jié)點(diǎn)還包括:處理任務(wù)優(yōu)先級(jí)級(jí)別確定單元,用于根據(jù)業(yè)務(wù)需求確定任務(wù)處理節(jié)點(diǎn)承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,或者,預(yù)先設(shè)置所述處理任務(wù)的優(yōu)先級(jí)級(jí)別,以便所述消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元601確定所述任務(wù)消息隊(duì)列組中消息隊(duì)列的優(yōu)先級(jí)級(jí)別。需要說(shuō)明的是,本發(fā)明實(shí)施例提供的任務(wù)處理節(jié)點(diǎn)還包括:分割單元,用于對(duì)原始任務(wù)進(jìn)行分割得到至少一個(gè)處理任務(wù),并對(duì)所述原始任務(wù)對(duì)應(yīng)的數(shù)據(jù)文件進(jìn)行相應(yīng)的分割得到至少一個(gè)分片,使得每個(gè)處理任務(wù)都對(duì)應(yīng)一個(gè)與所述處理任務(wù)相匹配的分片,以便調(diào)度器根據(jù)所述處理任務(wù)的類型將所述處理任務(wù)發(fā)送至所述任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,使得所述掃描單元602掃描分割后的處理任務(wù)。還需要說(shuō)明的是,所述原始任務(wù)為原始視頻任務(wù),所述處理任務(wù)為視頻處理任務(wù),所述任務(wù)分割單元具體用于根據(jù)預(yù)先設(shè)置的分割策略對(duì)原始視頻任務(wù)進(jìn)行分割得到至少一個(gè)視頻處理任務(wù),并在I幀的位置對(duì)與所述原始視頻任務(wù)關(guān)聯(lián)的視頻數(shù)據(jù)文件進(jìn)行分割得到至少一個(gè)分片,使得每個(gè)視頻處理任務(wù)都對(duì)應(yīng)一個(gè)與所述視頻處理任務(wù)相匹配的分片;其中,所述分割策略保證在I幀的位置對(duì)視頻數(shù)據(jù)文件進(jìn)行分割。需要進(jìn)一步說(shuō)明的是,在所述掃描單元掃描到包含處理任務(wù)的消息隊(duì)列時(shí),所述任務(wù)執(zhí)行單元具體用于獲取所述包含處理任務(wù)的消息隊(duì)列中未被執(zhí)行的任一處理任務(wù),并執(zhí)行所述未被執(zhí)行的任一處理任務(wù);或者,具體用于獲取所述包含處理任務(wù)的消息隊(duì)列中未被執(zhí)行的隊(duì)首處理任務(wù),并執(zhí)行所述未被執(zhí)行的隊(duì)首處理任務(wù)。本發(fā)明實(shí)施例提供的一種任務(wù)處理節(jié)點(diǎn),消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元確定存儲(chǔ)處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí),與現(xiàn)有技術(shù)性比,不需對(duì)處理任務(wù)按優(yōu)先級(jí)進(jìn)行排序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,處理任務(wù)的優(yōu)先級(jí)可由處理任務(wù)優(yōu)先級(jí)級(jí)別確定單元根據(jù)業(yè)務(wù)需要?jiǎng)討B(tài)確定,保證了在整個(gè)任務(wù)處理的過(guò)程中緊急的業(yè)務(wù)可以獲得較高的優(yōu)先級(jí),使得任務(wù)處理節(jié)點(diǎn)處理視頻任務(wù)更加靈活,另外,分割單元對(duì)原始任務(wù)進(jìn)行分割得到至少一個(gè)視頻處理任務(wù),使得當(dāng)前處理任務(wù)不會(huì)長(zhǎng)時(shí)間占用任務(wù)處理節(jié)點(diǎn)的資源,保證了任務(wù)處理節(jié)點(diǎn)的資源不被阻塞,能夠及時(shí)執(zhí)行高優(yōu)先級(jí)的處理任務(wù)。如圖7所示,為本發(fā)明實(shí)施例提供的一種調(diào)度器,包括:獲取單元701,用于獲取分割后的處理任務(wù);發(fā)送單元702,用于根據(jù)所述獲取單元701獲取的處理任務(wù)的類型,將所述處理任務(wù)發(fā)送至任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)執(zhí)行。其中,本發(fā)明實(shí)施例提供的所述調(diào)度器還包括:分割單元,用于對(duì)原始任務(wù)進(jìn)行分割得到至少一個(gè)處理任務(wù),并對(duì)所述原始任務(wù)對(duì)應(yīng)的數(shù)據(jù)文件進(jìn)行相應(yīng)的分割得到至少一個(gè)分片,使得每個(gè)處理任務(wù)都對(duì)應(yīng)一個(gè)與所述處理任務(wù)相匹配的分片,以便所述獲取單元701獲取所述分割單元分割后的處理任務(wù)。需要說(shuō)明的是,所述原始任務(wù)為原始視頻任務(wù),所述處理任務(wù)為視頻處理任務(wù),所述分割單元具體用于根據(jù)預(yù)先設(shè)置的分割策略對(duì)原始視頻任務(wù)進(jìn)行分割得到至少一個(gè)視頻處理任務(wù),并在I幀的位置對(duì)與所述原始視頻任務(wù)關(guān)聯(lián)的視頻數(shù)據(jù)文件進(jìn)行分割得到至少一個(gè)分片,使得每個(gè)視頻處理任務(wù)都對(duì)應(yīng)一個(gè)與所述視頻處理任務(wù)相匹配的分片;其中,所述分割策略保證在I幀的位置對(duì)視頻數(shù)據(jù)文件進(jìn)行分割。本發(fā)明實(shí)施例提供的一種調(diào)度器,發(fā)送單元將處理任務(wù)發(fā)送至任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,與現(xiàn)有技術(shù)相比,不需對(duì)消息隊(duì)列中的視頻處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,與現(xiàn)有技術(shù)相比,一個(gè)消息隊(duì)列只保存一種類型的視頻處理任務(wù),只需增加消息隊(duì)列即可處理其他類型的視頻處理任務(wù),業(yè)務(wù)擴(kuò)展性強(qiáng),另外,分割單元對(duì)原始任務(wù)進(jìn)行分割得到至少一個(gè)視頻處理任務(wù),使得當(dāng)前處理任務(wù)不會(huì)長(zhǎng)時(shí)間占用任務(wù)處理節(jié)點(diǎn)的資源,保證了任務(wù)處理節(jié)點(diǎn)的資源不被阻塞,能夠及時(shí)執(zhí)行高優(yōu)先級(jí)的處理任務(wù)。為本發(fā)明實(shí)施例還提供一種分布式任務(wù)處理系統(tǒng),包括至少一個(gè)任務(wù)處理節(jié)點(diǎn),所述任務(wù)處理節(jié)點(diǎn)用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別,并按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次循環(huán)掃描任務(wù)消息隊(duì)列組中的消息隊(duì)列,并執(zhí)行掃描到的處理任務(wù),其中,所述任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述任務(wù)處理節(jié)點(diǎn)承載的一種處理任務(wù);其中,所述任務(wù)處理節(jié)點(diǎn)包括:消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元,用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;掃描單元,用于根據(jù)所述消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元確定的所述消息隊(duì)列的優(yōu)先級(jí)級(jí)別,按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描任務(wù)消息隊(duì)列組中的消息隊(duì)列;任務(wù)執(zhí)行單元,用于在所述掃描單元掃描到包含處理任務(wù)的消息隊(duì)列時(shí),獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中。本發(fā)明實(shí)施例提供的一種分布式任務(wù)處理系統(tǒng),不同類型的任務(wù)被分配在不同的消息隊(duì)列中,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例不需對(duì)消息隊(duì)列中的處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,與現(xiàn)有技術(shù)相比,一個(gè)消息隊(duì)列只保存一種類型的處理任務(wù),只需增加消息隊(duì)列即可處理其他類型的處理任務(wù),業(yè)務(wù)擴(kuò)展性強(qiáng)。本發(fā)明實(shí)施例還提供一種分布式任務(wù)處理系統(tǒng),該系統(tǒng)包括調(diào)度器801,任務(wù)消息隊(duì)列組存儲(chǔ)節(jié)點(diǎn)802以及任務(wù)處理節(jié)點(diǎn)803,如圖8所示,其中,所述調(diào)度器801,用于獲取分割后的處理任務(wù),并根據(jù)所述處理任務(wù)的類型,將所述處理任務(wù)發(fā)送至所述任務(wù)消息隊(duì)列組存儲(chǔ)節(jié)點(diǎn)802存儲(chǔ)的任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待所述任務(wù)處理節(jié)點(diǎn)執(zhí)行;所述任務(wù)消息隊(duì)列組存儲(chǔ)節(jié)點(diǎn)802,用于存儲(chǔ)所述任務(wù)消息隊(duì)列組;所述任務(wù)處理節(jié)點(diǎn)803,用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別,并按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次循環(huán)掃描所述任務(wù)消息隊(duì)列組存儲(chǔ)節(jié)點(diǎn)802存儲(chǔ)的任務(wù)消息隊(duì)列組中的消息隊(duì)列,并執(zhí)行掃描到的處理任務(wù),其中,所述任務(wù)消息隊(duì)列組中的每個(gè)消息隊(duì)列存儲(chǔ)所述任務(wù)處理節(jié)點(diǎn)803承載的一種處理任務(wù)。其中,需要說(shuō)明的是,所述任務(wù)處理節(jié)點(diǎn)803包括:消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元,用于按照自身承載的處理任務(wù)的優(yōu)先級(jí)級(jí)別,確定存儲(chǔ)所述處理任務(wù)的消息隊(duì)列的優(yōu)先級(jí)級(jí)別;掃描單元,用于根據(jù)所述消息隊(duì)列優(yōu)先級(jí)級(jí)別確定單元確定的所述消息隊(duì)列的優(yōu)先級(jí)級(jí)別,按照優(yōu)先級(jí)級(jí)別由高到低的順序,從優(yōu)先級(jí)級(jí)別最高的消息隊(duì)列開(kāi)始依次掃描任務(wù)消息隊(duì)列組中的消息隊(duì)列;任務(wù)執(zhí)行單元,用于在所述掃描單元掃描到包含處理任務(wù)的消息隊(duì)列時(shí),獲取當(dāng)前處理任務(wù),并執(zhí)行所述當(dāng)前處理任務(wù),其中,所述當(dāng)前處理任務(wù)存儲(chǔ)在所述包含處理任務(wù)的消息隊(duì)列中。所述調(diào)度器801包括:獲取單元,用于獲取分割后的處理任務(wù);發(fā)送單元,用于根據(jù)所述獲取單元獲取的處理任務(wù)的類型,將所述處理任務(wù)發(fā)送至所述任務(wù)消息隊(duì)列組存儲(chǔ)節(jié)點(diǎn)802存儲(chǔ)的任務(wù)消息隊(duì)列組中與所述處理任務(wù)的類型關(guān)聯(lián)的消息隊(duì)列,等待任務(wù)處理節(jié)點(diǎn)執(zhí)行。需要說(shuō)明的是,所述任務(wù)消息隊(duì)列組存儲(chǔ)節(jié)點(diǎn)802與所述任務(wù)處理節(jié)點(diǎn)803可以是同一個(gè)節(jié)點(diǎn)。其中,需要說(shuō)明的是,本發(fā)明實(shí)施例并不限定任務(wù)處理節(jié)點(diǎn)的數(shù)目,可以有多個(gè)所述任務(wù)處理節(jié)點(diǎn)。本發(fā)明實(shí)施例提供的一種基于消息隊(duì)列的分布式任務(wù)處理的方法、裝置及系統(tǒng),不同類型的視頻處理任務(wù)被分配在不同的消息隊(duì)列中,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例不需對(duì)消息隊(duì)列中的視頻處理任務(wù)按優(yōu)先級(jí)順序進(jìn)行排序,消除了因排序而造成的系統(tǒng)開(kāi)銷,提高了系統(tǒng)工作的效率,其次,與現(xiàn)有技術(shù)相比,一個(gè)消息隊(duì)列只保存一種類型的視頻處理任務(wù),只需增加消息隊(duì)列即可處理其他類型的視頻處理任務(wù),業(yè)務(wù)擴(kuò)展性強(qiáng),另外,視頻處理任務(wù)的優(yōu)先級(jí)可由任務(wù)處理節(jié)點(diǎn)根據(jù)業(yè)務(wù)需要?jiǎng)討B(tài)確定,保證了在整個(gè)任務(wù)處理的過(guò)程中緊急的視頻業(yè)務(wù)可以獲得較高的優(yōu)先級(jí),使得任務(wù)處理節(jié)點(diǎn)處理視頻任務(wù)更加靈活,再次,對(duì)原始視頻任務(wù)進(jìn)行分割得到至少一個(gè)視頻處理任務(wù),使得當(dāng)前視頻處理任務(wù)不會(huì)長(zhǎng)時(shí)間占用任務(wù)處理節(jié)點(diǎn)的資源,保證了任務(wù)處理節(jié)點(diǎn)的資源不被阻塞,能夠及時(shí)執(zhí)行高優(yōu)先級(jí)的視頻處理任務(wù)??傊陨纤鰞H為本發(fā)明技術(shù)方案的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。