亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種分布式作業(yè)分發(fā)處理方法及系統(tǒng)與流程

文檔序號(hào):12719143閱讀:456來源:國(guó)知局
一種分布式作業(yè)分發(fā)處理方法及系統(tǒng)與流程

本發(fā)明實(shí)施例涉及分布式作業(yè)技術(shù)領(lǐng)域,具體涉及一種分布式作業(yè)分發(fā)處理方法及系統(tǒng)。



背景技術(shù):

隨著信息技術(shù)的發(fā)展,各種設(shè)備在使用過程中產(chǎn)生了大量的交互作業(yè),作業(yè)需要在眾多的不同網(wǎng)絡(luò)設(shè)備之間進(jìn)行傳送,因此,對(duì)于作業(yè)的分發(fā)處理顯得尤為重要。

現(xiàn)有的作業(yè)分發(fā)處理方法,需要在作業(yè)分發(fā)以前,都要通過復(fù)雜的算法,實(shí)現(xiàn)對(duì)作業(yè)如何分發(fā)、以及分發(fā)到哪里、進(jìn)行邏輯計(jì)算,且計(jì)算過程繁瑣,應(yīng)用開發(fā)者需要關(guān)注底層分布式處理,例如:在不同數(shù)據(jù)源之間進(jìn)行作業(yè)的分布式導(dǎo)入導(dǎo)出、大量郵件的群發(fā)等簡(jiǎn)單任務(wù)的分布式分發(fā)處理,無需對(duì)分片后的任務(wù)處理的結(jié)果進(jìn)行二次或多次計(jì)算,也不需要進(jìn)行歸類操作。

因此,如何簡(jiǎn)化此類作業(yè)的分布式開發(fā)工作,使應(yīng)用開發(fā)者無需關(guān)注底層分布式處理、并提高工作效率成為亟須解決的問題。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)現(xiàn)有技術(shù)存在的問題,本發(fā)明實(shí)施例提供一種分布式作業(yè)分發(fā)處理方法及系統(tǒng)。

一方面,本發(fā)明實(shí)施例提供一種分布式作業(yè)分發(fā)處理方法,包括:

生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),其中,所述特定類型作業(yè)是已確定無需進(jìn)行歸類操作的作業(yè);

將所述任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn);

若判斷獲知反饋回的所有任務(wù)處理的結(jié)果狀態(tài)為成功,則完成對(duì)所述特定類型作業(yè)的分發(fā)。

另一方面,本發(fā)明實(shí)施例提供一種執(zhí)行上述方法的系統(tǒng),所述系統(tǒng)包括客戶端、控制節(jié)點(diǎn)、任務(wù)節(jié)點(diǎn)和集群狀態(tài)管理器,其中:

所述客戶端,連接所述控制節(jié)點(diǎn),用于向所述控制節(jié)點(diǎn)發(fā)送作業(yè)分發(fā)請(qǐng)求;

所述控制節(jié)點(diǎn),連接所述任務(wù)節(jié)點(diǎn)和所述集群狀態(tài)管理器,用于接收所述客戶端發(fā)送的作業(yè)分發(fā)請(qǐng)求;

用于生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù)、向所述任務(wù)節(jié)點(diǎn)發(fā)送所述任務(wù),監(jiān)控所述任務(wù)處理的結(jié)果狀態(tài)、接收所述集群狀態(tài)管理器發(fā)送的所述任務(wù)處理的結(jié)果狀態(tài)、判定所述任務(wù)處理是否執(zhí)行完成;

所述任務(wù)節(jié)點(diǎn),連接所述集群狀態(tài)管理器,用于執(zhí)行任務(wù)的任務(wù),并向所述集群狀態(tài)管理器發(fā)送所述任務(wù)的執(zhí)行狀態(tài)通知;

所述集群狀態(tài)管理器,用于集群資源的協(xié)調(diào)、交互和共享,向所述控制節(jié)點(diǎn)發(fā)送所述任務(wù)處理的結(jié)果狀態(tài)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理方法及系統(tǒng),無需對(duì)分片后的任務(wù)處理的結(jié)果進(jìn)行二次或多次計(jì)算,因此,簡(jiǎn)化了此類作業(yè)的分布式開發(fā)工作,使應(yīng)用開發(fā)者無需關(guān)注底層分布式處理、提高了工作效率。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例分布式作業(yè)分發(fā)處理方法的流程示意圖;

圖2為本發(fā)明另一實(shí)施例分布式作業(yè)分發(fā)處理方法的流程示意圖;

圖3為本發(fā)明實(shí)施例分布式作業(yè)分發(fā)處理系統(tǒng)的結(jié)構(gòu)示意圖;

圖4為本發(fā)明實(shí)施例分布式作業(yè)分發(fā)處理系統(tǒng)的功能示意圖;

圖5為本發(fā)明實(shí)施例提供的系統(tǒng)實(shí)體結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1為本發(fā)明實(shí)施例分布式作業(yè)分發(fā)處理方法的流程示意圖,如圖1所示,本實(shí)施例提供的一種分布式作業(yè)分發(fā)處理方法,包括以下步驟:

S1:生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),其中,所述特定類型作業(yè)是已確定無需進(jìn)行歸類操作的作業(yè)。

具體的,系統(tǒng)生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),其中,所述特定類型作業(yè)是已確定無需進(jìn)行歸類操作的作業(yè)。需要說明的是:特定類型作業(yè)可以是不需要進(jìn)行歸類操作的作業(yè),可以直接從數(shù)據(jù)庫的表中抽取得到,并調(diào)用索引構(gòu)建程序?yàn)槊恳粭l抽取數(shù)據(jù)記錄構(gòu)建反向索引。索引構(gòu)建工作可以包括分詞、詞義擴(kuò)展、索引構(gòu)建、索引寫入等操作。特定類型作業(yè)可以是在不同數(shù)據(jù)源之間進(jìn)行作業(yè)的分布式導(dǎo)入導(dǎo)出,大量郵件的群發(fā)等應(yīng)用。數(shù)據(jù)源可以是關(guān)系型數(shù)據(jù)庫、操作作業(yè)存儲(chǔ)(Operational Data Store以下簡(jiǎn)稱“ODS”)、文件系統(tǒng)等。任務(wù)可以理解為對(duì)特定類型作業(yè)切分出來的,通過對(duì)任務(wù)分別進(jìn)行任務(wù)分發(fā),從而實(shí)現(xiàn)對(duì)特定類型作業(yè)的分布式分發(fā)處理。

S2:將所述任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn)。

具體的,系統(tǒng)將所述任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn)。需要說明的是:系統(tǒng)的控制節(jié)點(diǎn)可以根據(jù)任務(wù)調(diào)度規(guī)則將任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn),任務(wù)調(diào)度規(guī)則可以根據(jù)實(shí)際情況自主設(shè)置,任務(wù)調(diào)度規(guī)則可以是最大并發(fā)執(zhí)行規(guī)則,即:任務(wù)節(jié)點(diǎn)的個(gè)數(shù)小于等于預(yù)設(shè)最大并發(fā)執(zhí)行數(shù),對(duì)任務(wù)調(diào)度規(guī)則不作具體地限定,也可以不采用任務(wù)調(diào)度規(guī)則,通過人工操作把任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn)。每個(gè)任務(wù)節(jié)點(diǎn)同時(shí)分發(fā)處理一個(gè)任務(wù),當(dāng)處理完成一個(gè)任務(wù)時(shí),再依次完成對(duì)特定類型作業(yè)的每一個(gè)任務(wù)的處理,直到分發(fā)處理完成所有特定類型作業(yè)。多個(gè)任務(wù)節(jié)點(diǎn)可以組成一個(gè)任務(wù)節(jié)點(diǎn)集群。每個(gè)任務(wù)節(jié)點(diǎn)在處理完成任務(wù)以后,將任務(wù)處理的結(jié)果通知集群狀態(tài)管理器,集群狀態(tài)管理器可以是Zoo keeper。任務(wù)處理的結(jié)果可以是成功、失敗等,但不作具體的限定。

S3:若判斷獲知反饋回的所有任務(wù)處理的結(jié)果狀態(tài)為成功,則完成對(duì)所述特定類型作業(yè)的分發(fā)。

具體的,系統(tǒng)若判斷獲知反饋回的所有任務(wù)處理的結(jié)果狀態(tài)為成功,則完成對(duì)所述特定類型作業(yè)的分發(fā)。需要說明的是:系統(tǒng)的控制節(jié)點(diǎn)通過監(jiān)聽集群狀態(tài)管理器中任務(wù)處理的結(jié)果狀態(tài),獲知由集群狀態(tài)管理器反饋回控制節(jié)點(diǎn)的任務(wù)處理的結(jié)果狀態(tài),如果結(jié)果狀態(tài)都為成功,就獲知由多個(gè)任務(wù)節(jié)點(diǎn)完成了對(duì)特定類型作業(yè)的分發(fā)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理方法,無需對(duì)分片后的任務(wù)處理的結(jié)果進(jìn)行二次或多次計(jì)算,因此,簡(jiǎn)化了此類作業(yè)的分布式開發(fā)工作,使應(yīng)用開發(fā)者無需關(guān)注底層分布式處理、提高了工作效率。

在上述實(shí)施例的基礎(chǔ)上,所述生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),包括:

根據(jù)所述特定類型作業(yè)的總數(shù)S和每個(gè)所述任務(wù)的預(yù)設(shè)數(shù)值M,生成N個(gè)所述任務(wù),其中N=S/M。

具體的,系統(tǒng)根據(jù)所述特定類型作業(yè)的總數(shù)S和每個(gè)所述任務(wù)的預(yù)設(shè)數(shù)值M,生成N個(gè)所述任務(wù),其中N=S/M。需要說明的是:預(yù)設(shè)數(shù)值M可以根據(jù)實(shí)際情況自主設(shè)置,從而能夠控制任務(wù)的個(gè)數(shù)N,例如:特定類型作業(yè)的總數(shù)S為10000條數(shù)據(jù),預(yù)設(shè)數(shù)值M為1000條(每個(gè)任務(wù)包含的數(shù)據(jù)條數(shù)),則任務(wù)的個(gè)數(shù)N=10000/1000=10個(gè)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理方法,通過預(yù)設(shè)數(shù)值M,能夠控制生成任務(wù)的個(gè)數(shù),更加自主靈活地實(shí)現(xiàn)對(duì)特定類型作業(yè)的分發(fā)。

在上述實(shí)施例的基礎(chǔ)上,所述任務(wù)節(jié)點(diǎn)的個(gè)數(shù)小于等于預(yù)設(shè)最大并發(fā)執(zhí)行數(shù)。

具體的,系統(tǒng)控制所述任務(wù)節(jié)點(diǎn)的個(gè)數(shù)小于等于預(yù)設(shè)最大并發(fā)執(zhí)行數(shù)。需要說明的是:預(yù)設(shè)最大并發(fā)執(zhí)行數(shù)可以根據(jù)實(shí)際情況自主設(shè)置,例如:預(yù)設(shè)最大并發(fā)執(zhí)行數(shù)設(shè)置為5,則表明同時(shí)進(jìn)行作業(yè)分發(fā)任務(wù)的節(jié)點(diǎn)個(gè)數(shù)不超過5個(gè)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理方法,通過預(yù)設(shè)最大并發(fā)執(zhí)行數(shù),能夠控制任務(wù)節(jié)點(diǎn)的個(gè)數(shù),更加自主靈活地實(shí)現(xiàn)對(duì)特定類型作業(yè)的分發(fā)。

在上述實(shí)施例的基礎(chǔ)上,所述方法還包括:

若判斷獲知反饋回的所述任務(wù)處理的結(jié)果狀態(tài)為失敗,且預(yù)設(shè)最大失敗重試次數(shù)X不為零,則重新執(zhí)行所述任務(wù)處理,其中,所述重新執(zhí)行的次數(shù)小于等于預(yù)設(shè)最大失敗重試次數(shù)X。

具體的,系統(tǒng)若判斷獲知反饋回的所述任務(wù)處理的結(jié)果狀態(tài)為失敗,且預(yù)設(shè)最大失敗重試次數(shù)X不為零,則重新執(zhí)行所述任務(wù)處理,其中,所述重新執(zhí)行的次數(shù)小于等于預(yù)設(shè)最大失敗重試次數(shù)X。需要說明的是:預(yù)設(shè)最大失敗重試次數(shù)X可以根據(jù)實(shí)際情況自主設(shè)置,如果系統(tǒng)的控制節(jié)點(diǎn)判斷獲知任務(wù)處理的結(jié)果狀態(tài)為失敗,并且預(yù)設(shè)最大失敗重試次數(shù)X不為零,則通知該任務(wù)節(jié)點(diǎn)重新執(zhí)行該作業(yè)分發(fā)任務(wù),重新執(zhí)行的最多不超過X次。例如:X設(shè)置為2次,當(dāng)控制節(jié)點(diǎn)判斷獲知任務(wù)處理的結(jié)果狀態(tài)為失敗,該任務(wù)節(jié)點(diǎn)重新執(zhí)行該作業(yè)分發(fā)任務(wù),如果本次執(zhí)行的作業(yè)分發(fā)任務(wù)的結(jié)果狀態(tài)為成功,則結(jié)束重新執(zhí)行,如果本次執(zhí)行的作業(yè)分發(fā)任務(wù)的結(jié)果狀態(tài)還是為失敗,則再次重新執(zhí)行該作業(yè)分發(fā)任務(wù),直到執(zhí)行完成第二次,如果該任務(wù)處理的結(jié)果狀態(tài)還是為失敗,剔除該任務(wù)節(jié)點(diǎn)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理方法,通過預(yù)設(shè)最大失敗重試次數(shù),能夠靈活地對(duì)結(jié)果狀態(tài)為失敗的處理任務(wù)進(jìn)行處理,進(jìn)一步靈活地實(shí)現(xiàn)對(duì)特定類型作業(yè)的分發(fā)。

在上述實(shí)施例的基礎(chǔ)上,所述方法還包括:

若判斷獲知反饋回的所述任務(wù)處理的結(jié)果狀態(tài)為失敗,且預(yù)設(shè)最大失敗重試次數(shù)X為零,則剔除所述任務(wù)節(jié)點(diǎn)。

具體的,系統(tǒng)若判斷獲知反饋回的所述任務(wù)處理的結(jié)果狀態(tài)為失敗,且預(yù)設(shè)最大失敗重試次數(shù)X為零,則剔除所述任務(wù)節(jié)點(diǎn)。需要說明的是:如果系統(tǒng)的控制節(jié)點(diǎn)判斷獲知任務(wù)處理的結(jié)果狀態(tài)為失敗,并且預(yù)設(shè)最大失敗重試次數(shù)X為零,直接剔除該任務(wù)節(jié)點(diǎn)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理方法,通過預(yù)設(shè)最大失敗重試次數(shù),能夠靈活地對(duì)結(jié)果狀態(tài)為失敗的處理任務(wù)進(jìn)行處理,進(jìn)一步靈活地實(shí)現(xiàn)對(duì)特定類型作業(yè)的分發(fā)。

圖2為本發(fā)明另一實(shí)施例分布式作業(yè)分發(fā)處理方法的流程示意圖,如圖2所示,控制節(jié)點(diǎn)(控制節(jié)點(diǎn)集群包含多個(gè)控制節(jié)點(diǎn),每個(gè)控制節(jié)點(diǎn)處理一個(gè)特定類型作業(yè)對(duì)應(yīng)的任務(wù))將獲得的特定類型作業(yè)通過作業(yè)程序生成多個(gè)任務(wù);

通過任務(wù)調(diào)度規(guī)則將多個(gè)任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn),并通過每個(gè)任務(wù)節(jié)點(diǎn)中的任務(wù)處理程序進(jìn)行任務(wù)的處理,和任務(wù)的分發(fā);

集群狀態(tài)管理器接收每個(gè)任務(wù)節(jié)點(diǎn)發(fā)送的任務(wù)處理執(zhí)行狀態(tài)通知,得到每個(gè)任務(wù)節(jié)點(diǎn)的任務(wù)處理的結(jié)果狀態(tài),并向控制節(jié)點(diǎn)發(fā)送每個(gè)任務(wù)節(jié)點(diǎn)的任務(wù)處理的結(jié)果狀態(tài)。

控制節(jié)點(diǎn)若判斷獲知所有的任務(wù)處理的結(jié)果狀態(tài)都為成功,則表明任務(wù)節(jié)點(diǎn)已經(jīng)完成了特定類型作業(yè)的分發(fā)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理方法,無需對(duì)分片后的任務(wù)處理的結(jié)果進(jìn)行二次或多次計(jì)算,因此,簡(jiǎn)化了此類作業(yè)的分布式開發(fā)工作,使應(yīng)用開發(fā)者無需關(guān)注底層分布式處理、提高了工作效率。

以簡(jiǎn)化過的全文檢索應(yīng)用的索引構(gòu)建過程作為示例:從mysql數(shù)據(jù)庫的表里獲取作業(yè),并調(diào)用索引構(gòu)建程序?yàn)槊恳粭l記錄構(gòu)建反向索引的偽代碼如下:

1、定義任務(wù)的存儲(chǔ)對(duì)象(Model)

2、作業(yè)分片邏輯

3、任務(wù)計(jì)算邏輯

4、作業(yè)結(jié)束后的處理邏輯

圖3為本發(fā)明實(shí)施例分布式作業(yè)分發(fā)處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖3所示,本實(shí)施例提供了一種分布式作業(yè)分發(fā)處理系統(tǒng),所述系統(tǒng)包括客戶端1、控制節(jié)點(diǎn)2、任務(wù)節(jié)點(diǎn)3和集群狀態(tài)管理器4,其中:

所述客戶端1連接所述控制節(jié)點(diǎn)2,用于向所述控制節(jié)點(diǎn)2發(fā)送作業(yè)分發(fā)請(qǐng)求,由于控制節(jié)點(diǎn)2接收的作業(yè)量一般較小,對(duì)通信及作業(yè)傳輸?shù)男阅芤蟛桓撸虼?,可以通過通信協(xié)議HTTP Restful、作業(yè)格式采用JSON來實(shí)現(xiàn)。所述控制節(jié)點(diǎn)2連接所述任務(wù)節(jié)點(diǎn)3和所述集群狀態(tài)管理器4,用于接收所述客戶端1發(fā)送的作業(yè)分發(fā)請(qǐng)求;用于生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù)、向所述任務(wù)節(jié)點(diǎn)3發(fā)送所述任務(wù),監(jiān)控所述任務(wù)處理的結(jié)果狀態(tài)、接收所述集群狀態(tài)管理器4發(fā)送的所述任務(wù)處理的結(jié)果狀態(tài)、判定所述任務(wù)處理是否執(zhí)行完成;所述任務(wù)節(jié)點(diǎn)3,連接所述集群狀態(tài)管理器4,用于執(zhí)行任務(wù)的任務(wù),并向所述集群狀態(tài)管理器4發(fā)送所述任務(wù)的執(zhí)行狀態(tài)通知,采用的通信及作業(yè)協(xié)議是基于Zoo keeper的內(nèi)部協(xié)議;所述集群狀態(tài)管理器4,用于集群資源的協(xié)調(diào)、交互和共享,向所述控制節(jié)點(diǎn)2發(fā)送所述任務(wù)處理的結(jié)果狀態(tài)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理系統(tǒng),無需對(duì)分片后的任務(wù)處理的結(jié)果進(jìn)行二次或多次計(jì)算,因此,簡(jiǎn)化了此類作業(yè)的分布式開發(fā)工作,使應(yīng)用開發(fā)者無需關(guān)注底層分布式處理、提高了工作效率。

在上述實(shí)施例的基礎(chǔ)上,所述系統(tǒng)動(dòng)態(tài)調(diào)整所述控制節(jié)點(diǎn)2和/或所述任務(wù)節(jié)點(diǎn)3的數(shù)量??刂乒?jié)點(diǎn)2和任務(wù)節(jié)點(diǎn)3的數(shù)量可以是多個(gè),并且支持負(fù)載均衡及動(dòng)態(tài)擴(kuò)容(縮容),可以根據(jù)實(shí)際使用的效果,自動(dòng)實(shí)現(xiàn)對(duì)控制節(jié)點(diǎn)2和/或任務(wù)節(jié)點(diǎn)3數(shù)量的增減。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理系統(tǒng),通過動(dòng)態(tài)調(diào)整控制節(jié)點(diǎn)和/或任務(wù)節(jié)點(diǎn)的數(shù)量,進(jìn)一步優(yōu)化了本地存儲(chǔ)資源和網(wǎng)絡(luò)資源的占有率,更加有效地分發(fā)特定類型的作業(yè)。

在上述實(shí)施例的基礎(chǔ)上,所述集群狀態(tài)管理器4為Zoo keeper。簡(jiǎn)化了系統(tǒng)的實(shí)現(xiàn),整個(gè)系統(tǒng)盡量保持輕量級(jí),不需要任何第三方系統(tǒng)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理系統(tǒng),通過將集群狀態(tài)管理器選定為Zoo keeper,有效地實(shí)現(xiàn)對(duì)很多任務(wù)處理結(jié)果的管理,保證了對(duì)特定類型作業(yè)的有效分發(fā)。

在上述實(shí)施例的基礎(chǔ)上,所述客戶端1和所述控制節(jié)點(diǎn)2之間、所述控制節(jié)點(diǎn)2和所述任務(wù)節(jié)點(diǎn)3之間通過通信協(xié)議HTTP Restful相連接,所用的作業(yè)格式為JSON,所述任務(wù)節(jié)點(diǎn)3和所述集群狀態(tài)管理器4采用的通信作業(yè)協(xié)議是基于Zoo keeper的內(nèi)部協(xié)議。請(qǐng)參照上述實(shí)施例,此處不再贅述。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理系統(tǒng),通過設(shè)置通信協(xié)議為Zoo keeper、設(shè)置作業(yè)格式為JSON,使得對(duì)特定類型作業(yè)的有效分發(fā)能夠順利進(jìn)行。

圖4為本發(fā)明實(shí)施例分布式作業(yè)分發(fā)處理系統(tǒng)的功能示意圖,如圖4所示,

客戶端1:向控制節(jié)點(diǎn)2發(fā)送作業(yè)分發(fā)請(qǐng)求,控制節(jié)點(diǎn)2從客戶端1獲得特定類型作業(yè)。

控制節(jié)點(diǎn)2:生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),并將任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn)3。還通過監(jiān)聽任務(wù)處理的結(jié)果狀態(tài),獲得任務(wù)處理的結(jié)果狀態(tài),如果判斷獲知所有任務(wù)處理的結(jié)果狀態(tài)為成功,就說明任務(wù)節(jié)點(diǎn)3已經(jīng)完成了特定類型作業(yè)的分發(fā)。

任務(wù)節(jié)點(diǎn)3:處理任務(wù),并接受控制節(jié)點(diǎn)2的調(diào)度,還要向集群狀態(tài)管理器4發(fā)送任務(wù)處理的執(zhí)行狀態(tài)通知。

集群狀態(tài)管理器4:接收任務(wù)節(jié)點(diǎn)3發(fā)送的任務(wù)處理的執(zhí)行狀態(tài)通知,獲得任務(wù)處理的結(jié)果狀態(tài),還接收控制節(jié)點(diǎn)2的監(jiān)聽指令,向控制節(jié)點(diǎn)2反饋任務(wù)處理的結(jié)果狀態(tài)。

本發(fā)明實(shí)施例提供的分布式作業(yè)分發(fā)處理系統(tǒng),無需對(duì)分片后的任務(wù)處理的結(jié)果進(jìn)行二次或多次計(jì)算,因此,簡(jiǎn)化了此類作業(yè)的分布式開發(fā)工作,使應(yīng)用開發(fā)者無需關(guān)注底層分布式處理、提高了工作效率。

本實(shí)施例提供的分布式作業(yè)分發(fā)處理系統(tǒng)具體可以用于執(zhí)行上述各方法實(shí)施例的處理流程,其功能在此不再贅述,可以參照上述方法實(shí)施例的詳細(xì)描述。

圖5為本發(fā)明實(shí)施例提供的系統(tǒng)實(shí)體結(jié)構(gòu)示意圖,如圖5所示,所述系統(tǒng)包括:處理器(processor)501、存儲(chǔ)器(memory)502和總線503;

其中,所述處理器501、存儲(chǔ)器502通過總線503完成相互間的通信;

所述處理器501用于調(diào)用所述存儲(chǔ)器502中的程序指令,以執(zhí)行上述各方法實(shí)施例所提供的方法,例如包括:生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),其中,所述特定類型作業(yè)是已確定無需進(jìn)行歸類操作的作業(yè);將所述任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn);若判斷獲知反饋回的所有任務(wù)處理的結(jié)果狀態(tài)為成功,則完成對(duì)所述特定類型作業(yè)的分發(fā)。

本實(shí)施例公開一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括程序指令,當(dāng)所述程序指令被計(jì)算機(jī)執(zhí)行時(shí),計(jì)算機(jī)能夠執(zhí)行上述各方法實(shí)施例所提供的方法,例如包括:生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),其中,所述特定類型作業(yè)是已確定無需進(jìn)行歸類操作的作業(yè);將所述任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn);若判斷獲知反饋回的所有任務(wù)處理的結(jié)果狀態(tài)為成功,則完成對(duì)所述特定類型作業(yè)的分發(fā)。

本實(shí)施例提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,所述計(jì)算機(jī)指令使所述計(jì)算機(jī)執(zhí)行上述各方法實(shí)施例所提供的方法,例如包括:生成針對(duì)特定類型作業(yè)的多個(gè)任務(wù),其中,所述特定類型作業(yè)是已確定無需進(jìn)行歸類操作的作業(yè);將所述任務(wù)分發(fā)至多個(gè)任務(wù)節(jié)點(diǎn);若判斷獲知反饋回的所有任務(wù)處理的結(jié)果狀態(tài)為成功,則完成對(duì)所述特定類型作業(yè)的分發(fā)。

本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所描述的系統(tǒng)等實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的實(shí)施例的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明的實(shí)施例進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明的實(shí)施例各實(shí)施例技術(shù)方案的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1