午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng)的制作方法

文檔序號(hào):7782472閱讀:264來(lái)源:國(guó)知局
基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng),該方法包括:注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;在確定出所述注冊(cè)節(jié)點(diǎn)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;在確定出所述注冊(cè)節(jié)點(diǎn)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖;將被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。本發(fā)明解決了不能對(duì)控制中心的轉(zhuǎn)碼隊(duì)列生成分布式鎖的問(wèn)題。
【專利說(shuō)明】基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及分布式控制領(lǐng)域,更具體地,涉及一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,視頻網(wǎng)站中的視頻文件由于受到網(wǎng)絡(luò)傳輸協(xié)議、網(wǎng)絡(luò)數(shù)據(jù)傳輸特性等條件的限制,并不是所有的視頻格式都適合于網(wǎng)絡(luò)傳輸播放,進(jìn)行播放的視頻都需要經(jīng)過(guò)轉(zhuǎn)碼處理,轉(zhuǎn)換成適合于網(wǎng)絡(luò)播放的格式(如flv”格式適合于電視終端傳輸及播放,
mp4”格式適合于計(jì)算機(jī)及移動(dòng)終端網(wǎng)絡(luò)傳輸及播放)。為了保證用戶的觀看體驗(yàn),視頻網(wǎng)站通常都會(huì)提供大量的視頻共用戶自由選擇播放。也就是說(shuō),視頻網(wǎng)站需要建立大量的轉(zhuǎn)碼任務(wù),并通過(guò)其內(nèi)部的轉(zhuǎn)碼系統(tǒng)(由轉(zhuǎn)碼服務(wù)器構(gòu)成)來(lái)執(zhí)行視頻的轉(zhuǎn)碼處理。
[0003]對(duì)于轉(zhuǎn)碼系統(tǒng)而言,其中包括控制中心和注冊(cè)到控制中心的多個(gè)轉(zhuǎn)碼服務(wù)器??刂浦行母鶕?jù)相應(yīng)的視頻數(shù)據(jù)庫(kù)中存儲(chǔ)的視頻資源生成對(duì)應(yīng)的轉(zhuǎn)碼任務(wù),以轉(zhuǎn)碼隊(duì)列的方式將所有的轉(zhuǎn)碼任務(wù)進(jìn)行共享,所有的轉(zhuǎn)碼服務(wù)器(或轉(zhuǎn)碼服務(wù)器中的轉(zhuǎn)碼進(jìn)程)都可以通過(guò)向控制中心發(fā)送轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的方式獲取到控制中心的轉(zhuǎn)碼隊(duì)列,并針對(duì)轉(zhuǎn)碼隊(duì)列中的轉(zhuǎn)碼任務(wù)進(jìn)行轉(zhuǎn)碼處理。
[0004]由于轉(zhuǎn)碼系統(tǒng)中不同的轉(zhuǎn)碼服務(wù)器(或是其中的轉(zhuǎn)碼進(jìn)程)都可以獲取控制中心的轉(zhuǎn)碼隊(duì)列進(jìn)行轉(zhuǎn)碼處理,所以可能出現(xiàn)處理任務(wù)重復(fù)的情況,如:多臺(tái)轉(zhuǎn)碼服務(wù)器都針對(duì)所獲取的轉(zhuǎn)碼隊(duì)列中的“轉(zhuǎn)碼任務(wù)X”進(jìn)行處理,從而造成了轉(zhuǎn)碼資源的嚴(yán)重浪費(fèi)。

【發(fā)明內(nèi)容】

[0005]有鑒于此,本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供了一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng),以解決不能對(duì)控制中心的轉(zhuǎn)碼隊(duì)列生成分布式鎖的問(wèn)題。
[0006]為了解決上述技術(shù)問(wèn)題,本申請(qǐng)公開(kāi)了一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法,包括:
[0007]注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0008]在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;其中,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;或者,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;所述轉(zhuǎn)碼系統(tǒng)為所述注冊(cè)節(jié)點(diǎn)所屬的轉(zhuǎn)碼系統(tǒng),且所述轉(zhuǎn)碼系統(tǒng)至少包含一個(gè)注冊(cè)節(jié)點(diǎn);轉(zhuǎn)碼服務(wù)器的所述級(jí)別是根據(jù)轉(zhuǎn)碼服務(wù)器的屬性信息預(yù)先設(shè)置的;
[0009]在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖;
[0010]將被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。
[0011]優(yōu)選地,當(dāng)所述轉(zhuǎn)碼系統(tǒng)中包含至少兩個(gè)注冊(cè)節(jié)點(diǎn)時(shí),所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,所述方法還包括:
[0012]所述注冊(cè)節(jié)點(diǎn)將所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的其他注冊(cè)節(jié)點(diǎn),并接收所述其他注冊(cè)節(jié)點(diǎn)發(fā)送的、由所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳;
[0013]所述注冊(cè)節(jié)點(diǎn)根據(jù)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序;
[0014]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0015]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0016]優(yōu)選地,所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,所述方法還包括:
[0017]所述注冊(cè)節(jié)點(diǎn)將所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的控制中心;
[0018]所述注冊(cè)節(jié)點(diǎn)接收所述控制中心發(fā)送的關(guān)于轉(zhuǎn)碼任務(wù)獲取請(qǐng)求優(yōu)先級(jí)的通知消息;其中,所述通知消息是所述控制中心根據(jù)所述轉(zhuǎn)碼系統(tǒng)中的各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后發(fā)送的;
[0019]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0020]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0021]優(yōu)選地,所述屬性信息包括下述信息的一種或多種:
[0022]額定負(fù)載信息;
[0023]CPU處理能力信息;
[0024]內(nèi)存大小的信息;[0025]與所述控制中心之間的數(shù)據(jù)傳輸鏈路的帶寬信息。
[0026]為了解決上述技術(shù)問(wèn)題,本申請(qǐng)還公開(kāi)了一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的系統(tǒng),與注冊(cè)節(jié)點(diǎn)、轉(zhuǎn)碼服務(wù)器以及控制中心相耦接,其特征在于,該系統(tǒng)包括:接收單元、識(shí)別處理單元以及獲取單元,其中,
[0027]所述接收單元,用于指示所述注冊(cè)節(jié)點(diǎn)接收所述轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0028]所述識(shí)別處理單元,用于確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0029]確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖;
[0030]其中,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;或者,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;所述轉(zhuǎn)碼系統(tǒng)為所述注冊(cè)節(jié)點(diǎn)所屬的轉(zhuǎn)碼系統(tǒng),且所述轉(zhuǎn)碼系統(tǒng)至少包含一個(gè)注冊(cè)節(jié)點(diǎn);轉(zhuǎn)碼服務(wù)器的所述級(jí)別是根據(jù)轉(zhuǎn)碼服務(wù)器的屬性信息預(yù)先設(shè)置的;
[0031]所述獲取單元,用于將所述注冊(cè)節(jié)點(diǎn)中被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給所述控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。
[0032]優(yōu)選地,當(dāng)所述轉(zhuǎn)碼系統(tǒng)中包含至少兩個(gè)注冊(cè)節(jié)點(diǎn)時(shí),所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,所述識(shí)別處理單元,還用于:
[0033]將一所述注冊(cè)節(jié)點(diǎn)中所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的其他注冊(cè)節(jié)點(diǎn),并指示該注冊(cè)節(jié)點(diǎn)接收所述其他注冊(cè)節(jié)點(diǎn)發(fā)送的、由所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳;
[0034]根據(jù)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序;
[0035]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0036]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0037]優(yōu)選地,所述識(shí)別處理單元,還用于:
[0038]將所述注冊(cè)節(jié)中所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的控制中心;[0039]接收所述控制中心發(fā)送的關(guān)于轉(zhuǎn)碼任務(wù)獲取請(qǐng)求優(yōu)先級(jí)的通知消息;其中,所述通知消息是所述控制中心根據(jù)所述轉(zhuǎn)碼系統(tǒng)中的各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后發(fā)送的;
[0040]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0041]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0042]優(yōu)選地,所述屬性信息包括下述信息的一種或多種:
[0043]額定負(fù)載信息;
[0044]CPU處理能力信息;
[0045]內(nèi)存大小的信息;
[0046]與所述控制中心之間的數(shù)據(jù)傳輸鏈路的帶寬信息。
[0047]與現(xiàn)有技術(shù)相比,本申請(qǐng)所述的一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng),達(dá)到了如下效果:
[0048]I)本申請(qǐng)通過(guò)控制中心創(chuàng)建的多個(gè)注冊(cè)節(jié)點(diǎn),將分布式鎖設(shè)置于其中一個(gè)注冊(cè)節(jié)點(diǎn)中,多個(gè)轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼處理進(jìn)程訪問(wèn)多個(gè)注冊(cè)節(jié)點(diǎn)時(shí),只有一個(gè)轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼處理進(jìn)程訪問(wèn)到帶有分布式鎖的節(jié)點(diǎn),有效解決了不能對(duì)控制中心的轉(zhuǎn)碼隊(duì)列生成分布式鎖的問(wèn)題。
[0049]2)本申請(qǐng)還可以針對(duì)分布式的轉(zhuǎn)碼系統(tǒng)進(jìn)行轉(zhuǎn)碼服務(wù)器的統(tǒng)一命名服務(wù)、狀態(tài)同步服務(wù)、集群管理、分布式應(yīng)用配置項(xiàng)等統(tǒng)一的數(shù)據(jù)管理。
[0050]當(dāng)然,實(shí)施本申請(qǐng)的任一產(chǎn)品必不一定需要同時(shí)達(dá)到以上所述的所有技術(shù)效果?!緦@綀D】

【附圖說(shuō)明】
[0051]此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0052]圖1是本申請(qǐng)實(shí)施例一所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法的流程圖。
[0053]圖2是本申請(qǐng)實(shí)施例二所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法的流程圖。
[0054]圖3和4是本申請(qǐng)實(shí)施例三所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法的在轉(zhuǎn)碼系統(tǒng)中的具體應(yīng)用示意圖。
[0055]圖5是本申請(qǐng)實(shí)施例四所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的系統(tǒng)的結(jié)構(gòu)框圖?!揪唧w實(shí)施方式】
[0056]如在說(shuō)明書(shū)及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同名詞來(lái)稱呼同一個(gè)組件。本說(shuō)明書(shū)及權(quán)利要求并不以名稱的差異來(lái)作為區(qū)分組件的方式,而是以組件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)則。如在通篇說(shuō)明書(shū)及權(quán)利要求當(dāng)中所提及的“包含”為一開(kāi)放式用語(yǔ),故應(yīng)解釋成“包含但不限定于”。“大致”是指在可接收的誤差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問(wèn)題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過(guò)其他裝置或耦接手段間接地電性耦接至所述第二裝置。說(shuō)明書(shū)后續(xù)描述為實(shí)施本申請(qǐng)的較佳實(shí)施方式,然所述描述乃以說(shuō)明本申請(qǐng)的一般原則為目的,并非用以限定本申請(qǐng)的范圍。本申請(qǐng)的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0057]實(shí)施例一
[0058]如圖1所示,為本申請(qǐng)實(shí)施例一所述的一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法,該方法包括:
[0059]步驟101,注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0060]對(duì)于步驟101,具體地,視頻網(wǎng)站的原始視頻資源(也可稱為片源)存儲(chǔ)于相應(yīng)的片源服務(wù)器中,片源都是未經(jīng)轉(zhuǎn)碼處理的視頻,當(dāng)視頻網(wǎng)站需要進(jìn)行視頻轉(zhuǎn)碼時(shí),會(huì)指示服務(wù)端的轉(zhuǎn)碼系統(tǒng)(可以由轉(zhuǎn)碼服務(wù)器構(gòu)成)通過(guò)在所述服務(wù)端中的控制中心調(diào)取片源服務(wù)器中存儲(chǔ)的片源進(jìn)行轉(zhuǎn)碼處理,建立相應(yīng)的轉(zhuǎn)碼任務(wù),再由轉(zhuǎn)碼系統(tǒng)中不同的轉(zhuǎn)碼服務(wù)器或其中的轉(zhuǎn)碼進(jìn)程訪問(wèn)控制中心獲取任務(wù)進(jìn)行轉(zhuǎn)碼處理。本實(shí)施例中,采用云構(gòu)架的轉(zhuǎn)碼系統(tǒng)進(jìn)行轉(zhuǎn)碼處理,即各地用戶均可以將視頻資源上傳到相應(yīng)的片源服務(wù)器,在生成相應(yīng)的轉(zhuǎn)碼任務(wù)發(fā)送到本實(shí)施例中的轉(zhuǎn)碼服務(wù)器中進(jìn)行轉(zhuǎn)碼處理,經(jīng)過(guò)轉(zhuǎn)碼處理后,其他各地區(qū)的用戶便可通過(guò)計(jì)算機(jī)終端、移動(dòng)終端或電視終端訪問(wèn)該視頻網(wǎng)站觀看或下載相應(yīng)的視頻資源。當(dāng)然,對(duì)于本實(shí)施例中的轉(zhuǎn)碼服務(wù)器還可以是其他構(gòu)架結(jié)構(gòu),并不構(gòu)成對(duì)本申請(qǐng)的限定。
[0061]其中,所述控制中心可以是具有統(tǒng)一數(shù)據(jù)管理能力的服務(wù)器或相應(yīng)裝置,該控制中心可以在其內(nèi)部創(chuàng)建多個(gè)注冊(cè)節(jié)點(diǎn),也可以在轉(zhuǎn)碼系統(tǒng)中通過(guò)代理服務(wù)器創(chuàng)建多個(gè)注冊(cè)節(jié)點(diǎn),當(dāng)然,所述控制中心也可以采用其他方式創(chuàng)建不同的注冊(cè)節(jié)點(diǎn),并不構(gòu)成對(duì)本申請(qǐng)的限定。其中,所述注冊(cè)節(jié)點(diǎn)的數(shù)量與該轉(zhuǎn)碼系統(tǒng)中的轉(zhuǎn)碼服務(wù)器或其轉(zhuǎn)碼進(jìn)程的數(shù)量相適應(yīng)。
[0062]步驟102,在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖。
[0063]其中,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;或者,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;所述轉(zhuǎn)碼系統(tǒng)為所述注冊(cè)節(jié)點(diǎn)所屬的轉(zhuǎn)碼系統(tǒng),且所述轉(zhuǎn)碼系統(tǒng)至少包含一個(gè)注冊(cè)節(jié)點(diǎn);轉(zhuǎn)碼服務(wù)器的所述級(jí)別是根據(jù)轉(zhuǎn)碼服務(wù)器的屬性信息預(yù)先設(shè)置的。
[0064]對(duì)于步驟102,由所述控制中心創(chuàng)建的多個(gè)所述注冊(cè)節(jié)點(diǎn)接收來(lái)自不同所述轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼線程發(fā)出的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求,多個(gè)所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求隨機(jī)地發(fā)送到不同的所述注冊(cè)節(jié)點(diǎn)中,形成“搶節(jié)點(diǎn)”的過(guò)程。在多個(gè)所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求被所述注冊(cè)節(jié)點(diǎn)接收的過(guò)程中,各所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求被所述注冊(cè)節(jié)點(diǎn)接收的時(shí)間不相同,有先后之分,所以,在步驟102中,將在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求作為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;另外,各所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中也含有不同的轉(zhuǎn)碼服務(wù)器的級(jí)別信息,所以,在步驟102中,也可以將所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求作為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。當(dāng)然,對(duì)于所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的劃分,還可以是其他類型或方式,并不構(gòu)成對(duì)本申請(qǐng)的限定。
[0065]步驟103,將被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。
[0066]在步驟103中,所述讀寫(xiě)鎖具體為分布式鎖,其數(shù)量為一個(gè),所述注冊(cè)節(jié)點(diǎn)只有在含有所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí)才被分配該分布式鎖(只有該節(jié)點(diǎn)獲得了該分布式鎖),在本實(shí)施例中,所述分布式鎖由所述控制中心分配。所述注冊(cè)節(jié)點(diǎn)獲得該分布式鎖后,即是將所述分布式鎖與發(fā)出請(qǐng)求的所述轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼進(jìn)程進(jìn)行綁定,同時(shí)刪除其他注冊(cè)節(jié)點(diǎn)或該節(jié)點(diǎn)收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0067]需要說(shuō)明的是,分布式鎖,是控制分布式系統(tǒng)之間同步訪問(wèn)共享資源的一種方式。在分布式系統(tǒng)中,尤其對(duì)于視頻網(wǎng)站服務(wù)端的分布式轉(zhuǎn)碼系統(tǒng),資源共享端需要協(xié)調(diào)不同的獲取端的同步訪問(wèn)操作。如果不同的系統(tǒng)或是同一個(gè)系統(tǒng)的不同主機(jī)之間共享了一個(gè)或一組資源,那么對(duì)于訪問(wèn)這些資源的獲取端來(lái)說(shuō),就需要分布式鎖的互斥特性來(lái)防止彼此干擾從而保證資源的一致性。
[0068]在本實(shí)施例中,所述控制中心,一般是將生成的轉(zhuǎn)碼隊(duì)列存儲(chǔ)于mongodb (分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù))中,由于該數(shù)據(jù)庫(kù)本身的特性限制,不能對(duì)存儲(chǔ)于該數(shù)據(jù)庫(kù)中的轉(zhuǎn)碼隊(duì)列生成分布式鎖,那么,對(duì)于數(shù)量巨大的轉(zhuǎn)碼任務(wù),多臺(tái)轉(zhuǎn)碼服務(wù)器極有可能進(jìn)行多次重復(fù)的轉(zhuǎn)碼操作,從而也會(huì)導(dǎo)致轉(zhuǎn)碼資源的嚴(yán)重浪費(fèi),延誤轉(zhuǎn)碼系統(tǒng)的轉(zhuǎn)碼處理進(jìn)度。所以,采用設(shè)置所述注冊(cè)節(jié)點(diǎn)以獲得分布式鎖的方式,對(duì)多個(gè)所述轉(zhuǎn)碼服務(wù)器進(jìn)行管理,克服了mongodb的特性限制。
[0069]實(shí)施例二
[0070]如圖2所示,為本申請(qǐng)實(shí)施例二所述的一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法,該方法包括:
[0071]步驟201,由控制中心創(chuàng)建的注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0072]其中,所述轉(zhuǎn)碼任務(wù)獲取周期,具體為周期時(shí)長(zhǎng)為至少I秒的獲取轉(zhuǎn)碼任務(wù)的周期,即該轉(zhuǎn)碼任務(wù)獲取周期就是各所述轉(zhuǎn)碼服務(wù)器發(fā)送所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求至所述注冊(cè)節(jié)點(diǎn),獲取所述分布式鎖的周期。
[0073]另外,對(duì)于步驟201,在有多個(gè)所述注冊(cè)節(jié)點(diǎn)的情況下,為了便于對(duì)不同的所述注冊(cè)節(jié)點(diǎn)的監(jiān)測(cè)管理,可以針對(duì)每一個(gè)所述注冊(cè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的編號(hào)。當(dāng)然,在本實(shí)施例中,還可以采用其他方式對(duì)所述注冊(cè)節(jié)點(diǎn)進(jìn)行監(jiān)測(cè)管理,上述內(nèi)容并不構(gòu)成對(duì)本申請(qǐng)的限定。[0074]步驟202,在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求或所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0075]在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求或所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖。
[0076]其中,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;或者,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;所述轉(zhuǎn)碼系統(tǒng)為所述注冊(cè)節(jié)點(diǎn)所屬的轉(zhuǎn)碼系統(tǒng),且所述轉(zhuǎn)碼系統(tǒng)至少包含一個(gè)注冊(cè)節(jié)點(diǎn);轉(zhuǎn)碼服務(wù)器的所述級(jí)別是根據(jù)轉(zhuǎn)碼服務(wù)器的屬性信息預(yù)先設(shè)置的。
[0077]在本實(shí)施例中,當(dāng)所述轉(zhuǎn)碼系統(tǒng)中包含至少兩個(gè)注冊(cè)節(jié)點(diǎn)時(shí),所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,需要確定所有所述注冊(cè)節(jié)點(diǎn)接收的所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的時(shí)間先后順序,即還包括:
[0078]所述注冊(cè)節(jié)點(diǎn)將所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的其他注冊(cè)節(jié)點(diǎn),并接收所述其他注冊(cè)節(jié)點(diǎn)發(fā)送的、由所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳;
[0079]所述注冊(cè)節(jié)點(diǎn)根據(jù)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序;
[0080]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0081]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0082]步驟203,將被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。
[0083]在本實(shí)施例中的另一種方式,還包括:
[0084]所述注冊(cè)節(jié)點(diǎn)將所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的控制中心;
[0085]所述注冊(cè)節(jié)點(diǎn)接收所述控制中心發(fā)送的關(guān)于轉(zhuǎn)碼任務(wù)獲取請(qǐng)求優(yōu)先級(jí)的通知消息;其中,所述通知消息是所述控制中心根據(jù)所述轉(zhuǎn)碼系統(tǒng)中的各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后發(fā)送的;
[0086]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0087]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0088]其中,所述屬性信息包括下述信息的一種或多種:額定負(fù)載信息;CPU處理能力信息;內(nèi)存大小的信息;與所述控制中心之間的數(shù)據(jù)傳輸鏈路的帶寬信息。
[0089]另外,在本實(shí)施例中,監(jiān)測(cè)到設(shè)置有分布式鎖的注冊(cè)節(jié)點(diǎn)所對(duì)應(yīng)的所述轉(zhuǎn)碼服務(wù)器將轉(zhuǎn)碼任務(wù)處理完成時(shí),解除該注冊(cè)節(jié)點(diǎn)中的所述分布式鎖,該注冊(cè)節(jié)點(diǎn)可以繼續(xù)接收其他所述轉(zhuǎn)碼服務(wù)器發(fā)送的所述請(qǐng)求信息。
[0090]需要說(shuō)明的是,在本實(shí)施例中,所述轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼線程在接收到所述控制中心預(yù)置的任務(wù)處理指令后,便可以進(jìn)行相應(yīng)的任務(wù)處理操作,任務(wù)處理的狀態(tài)實(shí)時(shí)反映到該注冊(cè)節(jié)點(diǎn)中,為了避免其他轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼進(jìn)程的等待狀態(tài)造成轉(zhuǎn)碼資源的浪費(fèi),所以,任務(wù)處理完成,無(wú)論處理成功還是失敗,都將所述分布式鎖解除,其中,所述轉(zhuǎn)碼任務(wù)處理成功,進(jìn)一步為所述轉(zhuǎn)碼任務(wù)處理完成后生成視頻成品;所述轉(zhuǎn)碼任務(wù)處理失敗,進(jìn)一步為所述轉(zhuǎn)碼任務(wù)處理完成后未生成視頻成品。
[0091]可以將設(shè)置有所述分布式鎖的注冊(cè)節(jié)點(diǎn)上形成相應(yīng)的標(biāo)識(shí)(在此對(duì)標(biāo)識(shí)的種類和標(biāo)識(shí)的形成方法不進(jìn)行限定,當(dāng)然也可以采用其他的方式),從而,具有標(biāo)識(shí)的所述注冊(cè)節(jié)點(diǎn)就表明設(shè)置了所述分布式鎖,在重新設(shè)置所述分布式鎖時(shí),將帶有所述標(biāo)識(shí)的注冊(cè)節(jié)點(diǎn)排除,未設(shè)置有所述分布式鎖的注冊(cè)節(jié)點(diǎn)接續(xù)接收所述轉(zhuǎn)碼服務(wù)器發(fā)送的所述請(qǐng)求信息。
[0092]實(shí)施例三
[0093]下面結(jié)合圖3和4,對(duì)所述基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法的具體應(yīng)用進(jìn)行詳細(xì)說(shuō)明:
[0094]設(shè)定:在如圖3所示的轉(zhuǎn)碼系統(tǒng)中,轉(zhuǎn)碼服務(wù)器I至4從所述控制中心獲取相應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行轉(zhuǎn)碼處理。
[0095]基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的過(guò)程為:
[0096]步驟一,如圖3所示,轉(zhuǎn)碼任務(wù)獲取周期內(nèi),由控制中心創(chuàng)建的不同的注冊(cè)節(jié)點(diǎn)接收與該注冊(cè)節(jié)點(diǎn)對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器I至4發(fā)送的請(qǐng)求信息。
[0097]步驟二,各所述注冊(cè)節(jié)點(diǎn)確定其接收的所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中是否包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求,當(dāng)然,也可以由所述控制中心監(jiān)測(cè)確定,確定出145號(hào)注冊(cè)節(jié)點(diǎn)中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求最先接收到該請(qǐng)求信息(所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求,該特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求由轉(zhuǎn)碼服務(wù)器I發(fā)送)。
[0098]步驟三,將所述分布式鎖分配在145號(hào)注冊(cè)節(jié)點(diǎn)中的特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求,并指示該145號(hào)注冊(cè)節(jié)點(diǎn)對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器I對(duì)轉(zhuǎn)碼任務(wù)處理,同時(shí),刪除其他注冊(cè)節(jié)點(diǎn)收到的轉(zhuǎn)碼服務(wù)器2至4所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0099]當(dāng)然,控制中心可以實(shí)時(shí)監(jiān)測(cè)145號(hào)注冊(cè)節(jié)點(diǎn)中所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求所對(duì)應(yīng)的所述轉(zhuǎn)碼服務(wù)器I對(duì)轉(zhuǎn)碼任務(wù)的處理狀態(tài),任務(wù)處理完成,解除145號(hào)注冊(cè)節(jié)點(diǎn)中的所述分布式鎖。其中,所述任務(wù)處理成功,具體為轉(zhuǎn)碼任務(wù)處理完成后生成視頻成品;所述任務(wù)處理失敗,具體為轉(zhuǎn)碼任務(wù)處理完成后未生成視頻成品。
[0100]具體地:
[0101]對(duì)于步驟一,如圖3所示,轉(zhuǎn)碼服務(wù)器I至4分別將轉(zhuǎn)碼處理請(qǐng)求發(fā)送至控制中心創(chuàng)建的多個(gè)所述注冊(cè)節(jié)點(diǎn)。當(dāng)然,在實(shí)際應(yīng)用中,所述轉(zhuǎn)碼系統(tǒng)中包括幾十或上百臺(tái)服務(wù)器,圖3為了便于說(shuō)明只示出4臺(tái),并不構(gòu)成對(duì)本申請(qǐng)的限定。
[0102]為了便于對(duì)不同的所述注冊(cè)節(jié)點(diǎn)的監(jiān)測(cè)管理,該控制中心針對(duì)每一個(gè)所述注冊(cè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的編號(hào)(本實(shí)施例中以阿拉伯?dāng)?shù)字進(jìn)行編號(hào)),便于對(duì)所述分布式鎖進(jìn)行分配時(shí),在本實(shí)施例中將該分布式鎖指定分配于其中的一個(gè)所述注冊(cè)節(jié)點(diǎn)中(如圖4所示,將所述分布式鎖分配于145號(hào)注冊(cè)節(jié)點(diǎn)中)。
[0103]對(duì)于步驟二,轉(zhuǎn)碼服務(wù)器I至4共同向多個(gè)所述注冊(cè)節(jié)點(diǎn)發(fā)出請(qǐng)求信息,按照時(shí)間先后的順序,所述轉(zhuǎn)碼服務(wù)器I所發(fā)出的所述請(qǐng)求信息最先被145號(hào)注冊(cè)節(jié)點(diǎn)接收。
[0104]所以,對(duì)于步驟三來(lái)說(shuō),如圖4所示,此時(shí),將所述分布式鎖分配給該145號(hào)注冊(cè)節(jié)點(diǎn)同時(shí),所述控制中心指示所述轉(zhuǎn)碼服務(wù)器I對(duì)所述轉(zhuǎn)碼任務(wù)處理,該轉(zhuǎn)碼服務(wù)器I便可以進(jìn)行轉(zhuǎn)碼任務(wù)的處理。
[0105]在圖4中,146號(hào)注冊(cè)節(jié)點(diǎn)接收了轉(zhuǎn)碼服務(wù)器2發(fā)出的請(qǐng)求信息,但是,由于該146號(hào)注冊(cè)節(jié)接收的所述轉(zhuǎn)碼服務(wù)器2發(fā)出的請(qǐng)求信息晚于所述145號(hào)注冊(cè)節(jié)點(diǎn),所以,146號(hào)注冊(cè)節(jié)點(diǎn)并未分配所述分布式鎖,即轉(zhuǎn)碼服務(wù)器2并不能進(jìn)行轉(zhuǎn)碼任務(wù)的處理。
[0106]另外,為了避免其他轉(zhuǎn)碼服務(wù)器的等待狀態(tài)造成轉(zhuǎn)碼資源的浪費(fèi),無(wú)論所述轉(zhuǎn)碼服務(wù)器I所處理的轉(zhuǎn)碼任務(wù)是否成功,只要該轉(zhuǎn)碼任務(wù)處理完成(可能失敗),都將145號(hào)注冊(cè)節(jié)點(diǎn)中的所述分布式鎖進(jìn)行解除,解除該分布式鎖后,145號(hào)注冊(cè)節(jié)點(diǎn)可以再接收所述轉(zhuǎn)碼服務(wù)器發(fā)送的所述請(qǐng)求信息。
[0107]實(shí)施例四
[0108]本申請(qǐng)實(shí)施例四中所述的一種針對(duì)轉(zhuǎn)碼服務(wù)升級(jí)處理的系統(tǒng),可以設(shè)置于所述注冊(cè)節(jié)點(diǎn)內(nèi)部,也可以設(shè)置于所述注冊(cè)節(jié)點(diǎn)外部并與該注冊(cè)節(jié)點(diǎn)相耦接,本實(shí)施例中,如圖5所示,該系統(tǒng)設(shè)置于所述注冊(cè)節(jié)點(diǎn)內(nèi),與注冊(cè)節(jié)點(diǎn)、轉(zhuǎn)碼服務(wù)器以及控制中心相耦接,該系統(tǒng)包括:接收單元501、識(shí)別處理單元502和獲取單元503,其中,
[0109]所述接收單元501,與所述注冊(cè)節(jié)點(diǎn)、轉(zhuǎn)碼服務(wù)器以及識(shí)別處理單元502相耦接,用于指示所述注冊(cè)節(jié)點(diǎn)接收所述轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0110]所述識(shí)別處理單元502,與所述接收單元501和獲取單元503相耦接,用于
[0111]確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0112]確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖。
[0113]其中,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;或者,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;所述轉(zhuǎn)碼系統(tǒng)為所述注冊(cè)節(jié)點(diǎn)所屬的轉(zhuǎn)碼系統(tǒng),且所述轉(zhuǎn)碼系統(tǒng)至少包含一個(gè)注冊(cè)節(jié)點(diǎn);轉(zhuǎn)碼服務(wù)器的所述級(jí)別是根據(jù)轉(zhuǎn)碼服務(wù)器的屬性信息預(yù)先設(shè)置的。
[0114]所述獲取單元503,與所述識(shí)別處理單元502、控制中心相耦接,用于將所述注冊(cè)節(jié)點(diǎn)中被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給所述控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。
[0115]在本實(shí)施例中,所述控制中心可以是具有統(tǒng)一數(shù)據(jù)管理能力的服務(wù)器或相應(yīng)裝置,該控制中心可以在其內(nèi)部創(chuàng)建多個(gè)注冊(cè)節(jié)點(diǎn),也可以在轉(zhuǎn)碼系統(tǒng)中通過(guò)代理服務(wù)器創(chuàng)建多個(gè)注冊(cè)節(jié)點(diǎn),當(dāng)然,所述控制中心也可以采用其他方式創(chuàng)建不同的注冊(cè)節(jié)點(diǎn),并不構(gòu)成對(duì)本申請(qǐng)的限定。其中,所述注冊(cè)節(jié)點(diǎn)的數(shù)量與該轉(zhuǎn)碼系統(tǒng)中的轉(zhuǎn)碼服務(wù)器或其轉(zhuǎn)碼進(jìn)程的數(shù)量相適應(yīng)。
[0116]需要說(shuō)明的是,所述控制中心創(chuàng)建多個(gè)所述注冊(cè)節(jié)點(diǎn),為了便于對(duì)不同的所述注冊(cè)節(jié)點(diǎn)的監(jiān)測(cè)管理,可以針對(duì)每一個(gè)所述注冊(cè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的編號(hào)。當(dāng)然,在本實(shí)施例中,該系統(tǒng)還可以采用其他方式進(jìn)行監(jiān)測(cè)管理,設(shè)置所述上述內(nèi)容并不構(gòu)成對(duì)本申請(qǐng)的限定。
[0117]對(duì)于識(shí)別處理單元502,由所述控制中心創(chuàng)建的多個(gè)所述注冊(cè)節(jié)點(diǎn)接收來(lái)自不同所述轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼線程發(fā)出的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求,多個(gè)所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求隨機(jī)地發(fā)送到不同的所述注冊(cè)節(jié)點(diǎn)中,形成“搶節(jié)點(diǎn)”的過(guò)程。在多個(gè)所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求被所述注冊(cè)節(jié)點(diǎn)接收的過(guò)程中,各所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求被所述注冊(cè)節(jié)點(diǎn)接收的時(shí)間不相同,有先后之分,所以,所述識(shí)別處理單元502,將在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求作為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;另外,各所述轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中也含有不同的轉(zhuǎn)碼服務(wù)器的級(jí)別信息,所以,所述識(shí)別處理單元502,也可以將所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求作為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。當(dāng)然,對(duì)于所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的劃分,還可以是其他類型或方式,并不構(gòu)成對(duì)本申請(qǐng)的限定。
[0118]在本實(shí)施例中,當(dāng)所述轉(zhuǎn)碼系統(tǒng)中包含至少兩個(gè)注冊(cè)節(jié)點(diǎn)時(shí),所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,所述識(shí)別處理單元502,還用于:
[0119]將一所述注冊(cè)節(jié)點(diǎn)中所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的其他注冊(cè)節(jié)點(diǎn),并指示該注冊(cè)節(jié)點(diǎn)接收所述其他注冊(cè)節(jié)點(diǎn)發(fā)送的、由所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳;
[0120]根據(jù)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序;
[0121]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0122]當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0123]在本實(shí)施例中的另一種情況下,
[0124]所述識(shí)別處理單元502,還用于:
[0125]將所述注冊(cè)節(jié)中所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的控制中心;
[0126]接收所述控制中心發(fā)送的關(guān)于轉(zhuǎn)碼任務(wù)獲取請(qǐng)求優(yōu)先級(jí)的通知消息;其中,所述通知消息是所述控制中心根據(jù)所述轉(zhuǎn)碼系統(tǒng)中的各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后發(fā)送的;
[0127]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;
[0128]在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
[0129]其中,所述屬性信息包括下述信息的一種或多種:額定負(fù)載信息;
[0130]CPU處理能力信息;內(nèi)存大小的信息;與所述控制中心之間的數(shù)據(jù)傳輸鏈路的帶寬信息。
[0131]由所述識(shí)別處理單元502所分配的讀寫(xiě)鎖具體為分布式鎖,其數(shù)量為一個(gè),根據(jù)針對(duì)所述注冊(cè)節(jié)點(diǎn)的優(yōu)先級(jí)的排序判定為優(yōu)先級(jí)最高的所述注冊(cè)節(jié)點(diǎn),被分配該分布式鎖(只有該節(jié)點(diǎn)獲得了該分布式鎖),在本實(shí)施例中,所述分布式鎖由所述控制中心分配。所述注冊(cè)節(jié)點(diǎn)獲得該分布式鎖后,即是將所述分布式鎖與發(fā)出請(qǐng)求的所述轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼進(jìn)程進(jìn)行綁定,同時(shí)刪除其他注冊(cè)節(jié)點(diǎn)收到的所述請(qǐng)求信息。
[0132]另外,在本實(shí)施例中,所述獲取單元503,還用于監(jiān)測(cè)到設(shè)置有分布式鎖的注冊(cè)節(jié)點(diǎn)所對(duì)應(yīng)的所述轉(zhuǎn)碼服務(wù)器將轉(zhuǎn)碼任務(wù)處理完成時(shí),解除該注冊(cè)節(jié)點(diǎn)中的所述分布式鎖,該注冊(cè)節(jié)點(diǎn)可以繼續(xù)接收其他所述轉(zhuǎn)碼服務(wù)器發(fā)送的所述請(qǐng)求信息。
[0133]需要說(shuō)明的是,所述轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼線程在接收到所述控制中心的指示后,便可以進(jìn)行相應(yīng)的任務(wù)處理操作,任務(wù)處理的狀態(tài)實(shí)時(shí)反映到該注冊(cè)節(jié)點(diǎn)中,為了避免其他轉(zhuǎn)碼服務(wù)器或轉(zhuǎn)碼進(jìn)程的等待狀態(tài)造成轉(zhuǎn)碼資源的浪費(fèi),所以,任務(wù)處理完成,無(wú)論處理成功還是失敗,都將所述分布式鎖解除。其中,具體地,所述轉(zhuǎn)碼任務(wù)處理成功,具體為所述轉(zhuǎn)碼任務(wù)處理完成后生成視頻成品;所述轉(zhuǎn)碼任務(wù)處理失敗,具體為所述轉(zhuǎn)碼任務(wù)處理完成后未生成視頻成品。
[0134]具體來(lái)說(shuō),可以將設(shè)置有所述分布式鎖的注冊(cè)節(jié)點(diǎn)上形成相應(yīng)的標(biāo)識(shí)(在此對(duì)標(biāo)識(shí)的種類和標(biāo)識(shí)的形成方法不進(jìn)行限定,當(dāng)然也可以采用其他的方式),從而,具有標(biāo)識(shí)的所述注冊(cè)節(jié)點(diǎn)就表明設(shè)置了所述分布式鎖,在重新設(shè)置所述分布式鎖時(shí),將帶有所述標(biāo)識(shí)的注冊(cè)節(jié)點(diǎn)排除,未設(shè)置有所述分布式鎖的注冊(cè)節(jié)點(diǎn)接續(xù)接收所述轉(zhuǎn)碼服務(wù)器發(fā)送的所述請(qǐng)求信息。
[0135]在本實(shí)施例中,所述轉(zhuǎn)碼任務(wù)獲取周期,具體為周期時(shí)長(zhǎng)為至少I秒的獲取轉(zhuǎn)碼任務(wù)的周期,即該轉(zhuǎn)碼任務(wù)獲取周期就是各所述轉(zhuǎn)碼服務(wù)器發(fā)送所述請(qǐng)求信息至所述注冊(cè)節(jié)點(diǎn),獲取所述分布式鎖的周期。
[0136]由于方法部分已經(jīng)對(duì)本申請(qǐng)實(shí)施例進(jìn)行了詳細(xì)描述,這里對(duì)實(shí)施例中涉及的系統(tǒng)與方法對(duì)應(yīng)部分的展開(kāi)描述省略,不再贅述。對(duì)于系統(tǒng)中具體內(nèi)容的描述可參考方法實(shí)施例的內(nèi)容,這里不再具體限定。
[0137]與現(xiàn)有技術(shù)相比,本申請(qǐng)所述的一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法和系統(tǒng),達(dá)到了如下效果:
[0138]I)本申請(qǐng)通過(guò)預(yù)先設(shè)置視頻的屬性規(guī)則對(duì)需要轉(zhuǎn)碼的視頻進(jìn)行優(yōu)先級(jí)、碼率高低的判定,同時(shí)根據(jù)轉(zhuǎn)碼機(jī)的性能進(jìn)行分組,有效解決了目前視頻網(wǎng)站的轉(zhuǎn)碼機(jī)不能根據(jù)服務(wù)器狀態(tài)和轉(zhuǎn)碼任務(wù)屬性合理進(jìn)行轉(zhuǎn)碼任務(wù)調(diào)度的問(wèn)題。
[0139]2)本申請(qǐng)可以對(duì)不同的轉(zhuǎn)碼機(jī)進(jìn)行角色配置,劃定不同的轉(zhuǎn)碼任務(wù)處理對(duì)象,尤其對(duì)于特定視頻轉(zhuǎn)碼任務(wù),由劃定的特定轉(zhuǎn)碼機(jī)專門進(jìn)行處理,從而可以有效保證某些特定任務(wù)的快速轉(zhuǎn)碼,將重要視頻及時(shí)發(fā)布。
[0140]還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者系統(tǒng)不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者系統(tǒng)中還存在另外的相同要素。
[0141]本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0142]以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。
【權(quán)利要求】
1.一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法,其特征在于,包括: 注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求; 在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;其中,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;或者,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;所述轉(zhuǎn)碼系統(tǒng)為所述注冊(cè)節(jié)點(diǎn)所屬的轉(zhuǎn)碼系統(tǒng),且所述轉(zhuǎn)碼系統(tǒng)至少包含一個(gè)注冊(cè)節(jié)點(diǎn);轉(zhuǎn)碼服務(wù)器的所述級(jí)別是根據(jù)轉(zhuǎn)碼服務(wù)器的屬性信息預(yù)先設(shè)置的; 在確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖; 將被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。
2.如權(quán)利要求1所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法,其特征在于,當(dāng)所述轉(zhuǎn)碼系統(tǒng)中包含至少兩個(gè)注冊(cè)節(jié)點(diǎn)時(shí),所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,所述方法還包括: 所述注冊(cè)節(jié)點(diǎn)將所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的其他注冊(cè)節(jié)點(diǎn),并接收所述其他注冊(cè)節(jié)點(diǎn)發(fā)送的、由所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳; 所述注冊(cè)節(jié)點(diǎn)根據(jù)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求`以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序; 當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求; 當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
3.如權(quán)利要求如權(quán)利要求1所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法,其特征在于,所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,所述方法還包括: 所述注冊(cè)節(jié)點(diǎn)將所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的控制中心; 所述注冊(cè)節(jié)點(diǎn)接收所述控制中心發(fā)送的關(guān)于轉(zhuǎn)碼任務(wù)獲取請(qǐng)求優(yōu)先級(jí)的通知消息;其中,所述通知消息是所述控制中心根據(jù)所述轉(zhuǎn)碼系統(tǒng)中的各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后發(fā)送的; 在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求; 在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
4.如權(quán)利要求3所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的方法,其特征在于,所述屬性信息包括下述信息的一種或多種: 額定負(fù)載信息; CPU處理能力信息; 內(nèi)存大小的信息; 與所述控制中心之間的數(shù)據(jù)傳輸鏈路的帶寬信息。
5.一種基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的系統(tǒng),與注冊(cè)節(jié)點(diǎn)、轉(zhuǎn)碼服務(wù)器以及控制中心相耦接,其特征在于,該系統(tǒng)包括:接收單元、識(shí)別處理單元以及獲取單元,其中, 所述接收單元,用于指示所述注冊(cè)節(jié)點(diǎn)接收所述轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;` 所述識(shí)別處理單元,用于確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),刪除所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求; 確定出所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),為所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求分配讀寫(xiě)鎖; 其中,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)最早被發(fā)送至轉(zhuǎn)碼系統(tǒng)中的注冊(cè)節(jié)點(diǎn)的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;或者,所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求是所述轉(zhuǎn)碼系統(tǒng)中級(jí)別最高的轉(zhuǎn)碼服務(wù)器發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求;所述轉(zhuǎn)碼系統(tǒng)為所述注冊(cè)節(jié)點(diǎn)所屬的轉(zhuǎn)碼系統(tǒng),且所述轉(zhuǎn)碼系統(tǒng)至少包含一個(gè)注冊(cè)節(jié)點(diǎn);轉(zhuǎn)碼服務(wù)器的所述級(jí)別是根據(jù)轉(zhuǎn)碼服務(wù)器的屬性信息預(yù)先設(shè)置的; 所述獲取單元,用于將所述注冊(cè)節(jié)點(diǎn)中被分配了所述讀寫(xiě)鎖的任務(wù)獲取請(qǐng)求發(fā)送給所述控制中心,以使得向所述注冊(cè)節(jié)點(diǎn)發(fā)送所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的轉(zhuǎn)碼服務(wù)器從所述控制中心處獲得需在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)執(zhí)行的轉(zhuǎn)碼任務(wù)并進(jìn)行處理。
6.如權(quán)利要求5所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的系統(tǒng),其特征在于,當(dāng)所述轉(zhuǎn)碼系統(tǒng)中包含至少兩個(gè)注冊(cè)節(jié)點(diǎn)時(shí),所述注冊(cè)節(jié)點(diǎn)接收轉(zhuǎn)碼服務(wù)器在轉(zhuǎn)碼任務(wù)獲取周期內(nèi)發(fā)送的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求后,所述識(shí)別處理單元,還用于: 將一所述注冊(cè)節(jié)點(diǎn)中所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的其他注冊(cè)節(jié)點(diǎn),并指示該注冊(cè)節(jié)點(diǎn)接收所述其他注冊(cè)節(jié)點(diǎn)發(fā)送的、由所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳;根據(jù)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求以及所述其他注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序; 當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求; 當(dāng)確定排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
7.如權(quán)利要求5所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的系統(tǒng),其特征在于,所述識(shí)別處理單元,還用于: 將所述注冊(cè)節(jié)中所述所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求和相應(yīng)的接收時(shí)間戳發(fā)送給所述轉(zhuǎn)碼系統(tǒng)中的控制中心; 接收所述控制中心發(fā)送的關(guān)于轉(zhuǎn)碼任務(wù)獲取請(qǐng)求優(yōu)先級(jí)的通知消息;其中,所述通知消息是所述控制中心根據(jù)所述轉(zhuǎn)碼系統(tǒng)中的各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求的接收時(shí)間戳,按照接收時(shí)間由先至后的順序,對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后發(fā)送的; 在解析出所述通知消息表示對(duì)所述各注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求為所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求; 在解析出所述通知消息表示對(duì)所述各`注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期接收到的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求進(jìn)行排序后,排列在第一位的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求不是所述注冊(cè)節(jié)點(diǎn)所接收的轉(zhuǎn)碼任務(wù)獲取請(qǐng)求時(shí),確定所述注冊(cè)節(jié)點(diǎn)在所述轉(zhuǎn)碼任務(wù)獲取周期內(nèi)接收的所有轉(zhuǎn)碼任務(wù)獲取請(qǐng)求中不包含所述特定轉(zhuǎn)碼任務(wù)獲取請(qǐng)求。
8.如權(quán)利要求7所述的基于分布式鎖的轉(zhuǎn)碼任務(wù)獲取的系統(tǒng),其特征在于,所述屬性信息包括下述信息的一種或多種: 額定負(fù)載信息; CPU處理能力信息; 內(nèi)存大小的信息; 與所述控制中心之間的數(shù)據(jù)傳輸鏈路的帶寬信息。
【文檔編號(hào)】H04N21/262GK103686224SQ201310738633
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2013年12月26日 優(yōu)先權(quán)日:2013年12月26日
【發(fā)明者】李超, 劉鈞石, 邢波, 鮑大磊, 王孝慶 申請(qǐng)人:樂(lè)視網(wǎng)信息技術(shù)(北京)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1