新四季網

分布式任務處理方法和裝置與流程

2023-05-17 21:51:56


本申請涉及計算機應用
技術領域:
,特別涉及分布式任務處理的方法和裝置。
背景技術:
:在分布式環境下,一個待處理的分布式任務通常會被拆分成多個子任務,並將拆分後得到的各個子任務分發到若干計算節點進行處理。現有技術中,在分布式環境中進行的子任務處理方法一般通過控制節點和計算節點來實現,具體可以包括下述過程:控制節點與各個計算節點建立心跳連接,以獲取各個計算節點的健康狀態信息(例如:資料庫連接數、cpu佔用率及內存使用率等)。控制節點根據獲取的各個計算節點的健康狀態信息,將任務池中預先存儲的各子任務分發到相應的計算節點進行處理。其中,任務池中的各子任務是通過將待處理的分布式任務進行拆分得到的。可見,在現有技術中,必須通過控制節點來將任務池的各子任務分發到各個計算節點進行處理。其中,由於每個計算節點需與控制節點建立心跳連接,這就導致計算節點群的規模受限於上述控制節點的運算能力。技術實現要素:本申請實施例的目的是提供一種分布式任務處理方法及裝置,用以解決現有技術存在的計算節點群的規模受限於上述控制節點的運算能力的問題。為解決上述技術問題,本申請實施例提供的分布式任務處理方法及裝置是這樣實現的:一種分布式任務處理方法,包括:計算節點通過守護進程監測該計算節點的至少一個健康指標值;計算節點根據所述健康指標值及與該健康指標值對應的預設閾值,判斷該計算節點是否具有從預先存儲有若干子任務的任務池中領取子任務的權限;其中,所述子任務是通過將待處理的分布式任務進行拆分得到的;若該計算節點具有領取子任務的權限,計算節點從所述任務池中領取至少一個子任務;計算節點生成與領取到的子任務對應的任務線程並利用該任務線程執行該子任務。一種分布式任務處理裝置,包括:獲取單元,用於通過守護進程監測該計算節點的至少一個健康指標值;判斷單元,用於根據所述健康指標值及與該健康指標值對應的預設閾值,判斷該計算節點是否具有從預先存儲有若干子任務的任務池中領取子任務的權限;其中,所述子任務是通過將待處理的分布式任務進行拆分得到的;領取單元,用於在計算節點具有領取子任務的權限時,從所述任務池中領取至少一個子任務;生成單元,用於生成與領取到的子任務對應的任務線程並利用該任務線程執行該子任務。由以上本申請實施例提供的技術方案可見,本申請實施例通過計算節點根據自身健康指標值來確定是否可以從任務池中領取子任務,在滿足領取子任務的條件時進行領取動作並隨後對領取到的子任務進行處理。與現有技術相比,本申請實施例通過計算節點主動地進行任務領取動作,無需額外設置用以與各計算節點進行心跳連接並進行任務分發的控制節點,從而避免控制節點對計算節點群的規模的限制,使得計算節點群的規模更加靈活。附圖說明為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對於本領域普通技術人員來講, 在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本申請實施例中的包含若干計算節點的任務處理裝置的框架圖;圖2為本申請實施例中的包含若干計算節點的任務處理裝置的示意圖;圖3為本申請一實施例中提供的分布式任務處理的方法的流程圖;圖4為本申請一實施例中提供的分布式任務處理的裝置的模塊示意圖。具體實施方式為了使本
技術領域:
的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。圖1為本申請實施例中的包含若干計算節點的任務處理裝置的框架圖,如圖1所示,該任務處理系統包括一個或多個計算節點101、一個或多個任務池102,及用以連接上述計算節點101和上述任務池102的網絡103。所述計算節點101可以通過網絡103向任務池102領取待處理的子任務。所述計算節點101可以是一個具有計算或處理任務能力的處理裝置,也可以是由多個具有處理任務能力的處理裝置組成的集群。處理裝置可以包括各類型的用來執行指令、處理進程或線程的處理器或微處理器。所述任務池102可以是一個具有存儲能力的存儲裝置(例如資料庫),也可以是由多個存儲裝置組成的集群。任務池102中可以存儲的數據可以包括例如待處理分布式任務的數據、待處理分布式任務拆分後的子任務的數據等。任務池102中的應用可以與由開發者提供的應用程式對應。應用可以包括例如移動應用、超文本標記語言5(html5)應用、桌面應用和/或其它應用。上述網絡103可以包括例如區域網(lan)、廣域網(wan)、內部網、網際網路、行動電話網絡、虛擬專用網(vpn)、蜂窩式或其它移動通信網絡、藍牙、nfc或其任何組合。本申請實施例的網絡化環境下,若干計算節點101可以通過網絡103向任務池102獲取子任務。所述子任務預先由分布式任務拆分並存儲於該任務池102中。待所述若干計算節點101將領取的子任務處理完成後,通過網絡103提交至所述任務池102。圖2為本申請實施例中的包含若干計算節點的任務處理裝置的示意圖。該示意圖中包括一個或若干計算機點101、任務池102。該示意圖能更清楚的示意出所述任務池102中包括由分布式任務拆分而得的若干子任務,所述計算節點101分別向所述任務池102獲取子任務。如圖3所示,為本申請一實施例中提供的一種分布式任務處理的方法的流程圖。本實施例中,所述分布式任務處理的方法包括如下步驟:s210:計算節點通過守護進程監測該計算節點的至少一個健康指標值。所述守護進程,可以是與計算節點的用以處理子任務的程序或代碼對應的實體。若用以處理子任務的計算節點包括不止一個時,每個計算節點分別運行一個守護進程。所述子任務是通過將待處理的分布式任務進行拆分得到的,並預先存儲於所述任務池中。本申請實施例中,所述守護進程可以用於監測其所在計算節點的可用資源的健康指標值,可以用於對比所述監測的健康指標值與其對應的閾值,並根據對比結果,確定該計算節點是否可以向任務池領取子任務。本申請實施例中,所述計算節點向任務池領取子任務之前,首先開啟守護進程。若有不止一個計算節點,來共同完成任務池中的子任務,則所述不止一個計算節點,在向所述任務池獲取子任務之前,分別開啟各自的守護進程。所述計算節點的健康指標值可以包括該計算節點的資料庫連接數、cpu佔用率及內存使用率該計算節點連接下述任務池的網絡帶寬、計算節點正在處理的子任務數、該計算節點的剩餘內存等。s220:根據所述健康指標值及與該健康指標值對應的預設閾值,判斷該計 算節點是否具有領取子任務的權限。所述與健康指標值對應的預設閾值,由計算節點預先設置。具體的,計算節點根據任務池中存儲的子任務需消耗計算節點的資源量,確定與健康指標值對應的預設閾值。若所述健康指標值用以表徵所述計算節點的資源耗用情況(如當前計算節點的cpu佔用率),通過判斷所述健康指標值是否小於與該健康指標值對應的預設閾值(例如,計算節點的cpu佔用率的閾值),若是,確定該計算節點具有領取子任務的權限,則該計算節點可以向任務池領取子任務,反之該計算節點不能領取子任務。若所述健康指標值用以表徵所述計算節點的可用資源量(如當前計算節點的內存),通過判斷所述健康指標值是否大於與該健康指標值對應的預設閾值,確定該計算節點具有領取子任務的權限,則該計算節點可以向任務池領取,反之該計算節點不能領取子任務。所述健康指標值對應的預設閾值,可以是單個健康指標值的閾值,也可以是多個健康指標值的綜合閾值。具體的,計算機點根據子任務涉及或主要涉及的消耗計算節點的資源量而決定。下面結合例子對所述健康指標值用以表徵所述計算節點的資源耗用情況加以說明。例如,任務池中的待處理的子任務對計算節點的要求為:計算節點的cpu佔用率為70%及以上,就不可以領取並處理該任務池中的子任務。那麼計算節點在設置閾值時,便可以設置cpu佔用率的閾值為70%(或0.7)。本實施例中,上述步驟s210中所述計算節點的守護進程需要監測的健康指標值,監測該計算節點的cpu佔用率的健康指標值即可。若守護進程監測到其所在計算節點a的cpu佔用率為50%,那麼該計算節點根據監測到的該計算節點a的cpu佔用率的健康指標值(即cpu佔用率50%)及與預設的cpu佔用率的閾值(即70%),判斷該計算節點是否具有領取子任務的權限,具體的通過判斷監測到的該計算節點a的cpu佔用率健康指標值是否小於預設的cpu佔用率的閾值。再例如,根據某種規則,確定某計算節點在同一時間最多可以處理的子任 務個數10個,即可以預設該計算節點正在處理子任務數的閾值為10,該計算節點的守護進程對該計算節點進行監測時,監測該計算節點正在處理的子任務的個數的健康指標值即可。若該計算節點的守護進程監測到該計算節點正在處理的子任務的個數為6(即該計算節點正在處理的子任務的健康指標值為6),則該計算節點根據監測到的該計算節點正在處理的子任務的健康指標值6與該計算節點可同時處理子任務個數的閾值10,判斷該計算節點是否具有領取子任務的權限,具體的通過判斷該計算節點正在處理的子任務的健康指標值是否小於可同時處理子任務個數的閾值。所述正在處理子任務數的閾值,可以通過計算節點的至少一個用以表徵該計算節點的最大資源量的第一資源值(比如該計算節點的內存),及任務池中的子任務至少需要消耗計算節點的資源量的第二資源值(比如每個子任務至少需要消耗的內存)確定與該計算節點對應的正在處理子任務數的閾值。比如,若某一計算節點的內存為100gb,任務池中的子任務至少需要消耗計算節點的內存為10gb,那麼所述該計算節點對應的正在處理子任務數的閾值可以通過該計算節點的內存100gb除以任務池中的子任務至少需要消耗計算節點的內存為10gb,從而確定該計算節點對應的正在處理子任務數的閾值為10。那麼該計算節點最多可以同時領取並處理10個子任務。同樣,任務池中的子任務至少需要消耗計算節點的內存為3gb,那麼該內存為100gb計算節點對應的正在處理子任務數的閾值為33。下面結合例子對所述健康指標值用以表徵所述計算節點的可用資源量的情況加以說明。例如,任務池中的待處理的子任務對計算節點的要求為:只要達到內存為20mb以上,就可以領取並處理該任務池中的子任務。那麼計算節點在設置閾值時,便可以設置閾值為20mb。本實施例中,上述步驟s210中所述計算節點的守護進程需要監測的健康指標值時,監測當前該計算節點的內存的健康指標值即可。若計算節點的守護進程監測到,該計算節點的當前內存為50mb。那麼該計算節點根據監測到的該計算節點的內存的健康指標值 50mb,及與預設的內存的閾值(即20mb),判斷該計算節點是否具有領取子任務的權限,具體的通過判斷監測到的該計算節點內存的健康指標值是否大於預設的內存的閾值。同樣,若任務池中待處理的子任務對計算節點的要求中,同時包括計算節點的內存和cpu。則計算節點預設的閾值可以為,通過一定的算法計算而得的內存和cpu的綜合閾值,也可以直接設置這兩個健康指標值的兩個閾值。相應的,上述步驟s210中所述計算節點的守護進程需要監測的健康指標值,需要監測該計算節點的內存和cpu的兩個健康指標值,並進行相應的判斷。s230:若是,該計算節點從所述任務池中領取至少一個子任務。參照上述步驟s220中預設的閾值為cpu佔用率70%,守護進程監測到其所在計算節點的cpu佔用率為50%的例子,計算節點通過判斷所述計算節點的cpu佔用率為50%小於預設的閾值cpu佔用率70%,那麼該計算節點可以向任務池領取子任務。此處需要說明的是,若另一計算節點b,其守護進程監測到計算節點b的cpu佔用率為70%,那麼該計算節點不可以向任務池領取子任務。參照上述步驟s220中預設的閾值為內存為20mb,守護進程監測到其所在計算節點的內存為50mb的例子,計算節點通過判斷所述計算節點的內存50mb大於預設的閾值20mb,那麼該計算節點可以向任務池領取子任務。通過守護進程監測到的其所在計算節點的健康指標值,與所述健康指標值對應的閾值對比,可以判斷出計算節點是否可以向任務池領取子任務。在判斷出計算節點可以向任務池領取子任務之後,還可以通過對比該計算節點正在處理的子任務數與該計算節點的正在處理子任務數的閾值,確定該計算節點最多還可以同時領取多少子任務。具體的,該計算節點可以最多同時領取的子任務數,可以通過該計算節點的正在處理子任務數的閾值減去監測到的該計算節點正在執行的子任務數得到。同樣結合步驟s220中,某計算節點預設的可領取的正在處理子任務數的閾值為10,該計算節點的守護進程監測到的該計算節點 正在處理的子任務數為6,則該計算節點可以繼續領取子任務,且該計算節點最多還可以同時領取4個子任務。需要說明的是,若所述守護進程判斷出其所在計算節點不可以向任務池領取子任務時(例如該計算節點的cpu佔用率大於或等於預設的cpu佔用率對應的閾值),則該計算節點的守護進程會根據預先配置的等待時長,進行等待。之後,該守護進程可以繼續對其所在計算節點的健康指標值進行檢測。任務池中通過拆分分布式任務生成若干個子任務時,相應的生成與每個子任務對應的若干個子任務的狀態信息。所述子任務的狀態信息包括可以被計算節點的子任務鎖鎖定的狀態信息。所述計算節點向任務池領取子任務時,該計算節點可以通過樂觀鎖定的方式領取子任務。具體的,計算節點的守護進程生成與領取到的子任務對應的子任務鎖信息。所述子任務鎖信息包含領取該子任務的計算節點的標識id(例如當前計算節點的主機名或ip地址)及鎖定該子任務的時間戳。計算節點利用所述子任務鎖信息對領取到的子任務的狀態信息進行更新。子任務的狀態信息可以包括:最新子任務鎖、最近鎖定時間、被鎖定次數、當前任務狀態。所述最新子任務鎖的信息即為當前鎖定該子任務的子任務鎖信息。若最新子任務鎖對應的信息不為空,則其對應的信息為當前領取該子任務的計算節點的子任務鎖信息,若最新子任務鎖對應的信息為空,則表示當前時刻沒有任何計算節點鎖定該子任務。所述最近鎖定時間為計算節點鎖定該子任務後更新的最新時間。被鎖定次數,表示該子任務被計算節點領取和鎖定幾次;若被鎖定次數為零時,表示該子任務還未被任何計算節點領取過,若被鎖定次數為若被鎖定次數不為零,其對應的數據為幾,則表示該子任務被鎖定幾次。當前任務狀態,表示子任務當前處於的狀態信息,可用包括可用、執行、成功等狀態。若某子任務的當前任務狀態為可用,則表示該子任務可以別計算節點領取和鎖定;若當前任務狀態為執行,則表示該子任務當前已被計算節點領取和鎖定,當前不可被其他計算節點領取;若當前任務狀態為成功,則該子任務 被處理完成,該子任務將從任務池中結束,不會再被任何計算節點領取。所述子任務的狀態信息的更新可以用以表徵該子任務被某計算節點鎖定的過程。例如,某計算節點的守護進程生成的子任務鎖在鎖定某子任務之前,該子任務的狀態信息可以如表1所示:表1:子任務被鎖定之前的狀態信息最新子任務鎖最近鎖定時間被鎖定次數當前任務狀態nullnull0可用如表1中所示的該子任務的當前任務狀態為「可用」,表示該子任務可以被任意計算節點領取。表1中被鎖定的次數為「0」,表示該子任務沒有被任何一個計算節點領取並鎖定過,其對應的最近鎖定時間為空,其對應的最新子任務鎖的信息也為空。表1中最新子任務鎖的信息為空,表示當前時刻該子任務沒有被任何計算節點領取和鎖定。當子任務鎖定成功後,所述子任務的狀態信息可以如表2所示:表2:子任務被鎖定成功的狀態信息最新子任務鎖最近鎖定時間被鎖定次數當前任務狀態xx.com:145334565898914533456589891執行表2所示的第一列中「xx.com:1453345658989」為鎖定該子任務的子任務鎖信息。其中「xx.com」為當前鎖定該子任務的計算節點的標識id,「1453345658989」為當前鎖定該子任務時的時間戳。最近鎖定時間「1453345658989」為該子任務被鎖定時更新。相應的,當前該子任務被鎖定的次數為1。該子任務狀態信息中的當前任務狀態為「執行」,表示該子任務已被領取和鎖定,並且當前任務狀態下,該子任務不能被其他計算節點所領取。所述超時時長為預先配置的用於表徵計算節點領取子任務後該計算節點正常工作的有效時間。計算機點通過心跳更新最近鎖定的時間。若計算節點領取子任務後在所述的超時時長內計算節點沒有更新最近鎖定時間,則可以表徵該計算節點在超時時長內沒能正常工作,該計算節點已不可用。那麼被該計算 節點領取的子任務可以重新被領取。若所述計算節點在領取該子任務後,在所述超時時長內有更新最近鎖定時間,則表徵該計算節點仍處於正常工作狀態,該計算節點可以正常領取和處理子任務。需要說明的是,通過子任務鎖來鎖定和領取子任務,保證了每個子任務在同一時間內,只能被一個計算節點領取和處理,這樣避免了子任務被重複領取和重複處理的情況,提高了子任務的領取效率和處理效率。需要說明的是,可以將計算節點設置為同一時間內只能向任務池領取一個任務,也可以將計算節點設置為同一時間內可以向任務池領取多個任務。若計算節點同時向任務池領取多個任務時,該計算節點的守護進程,可用生成多個子任務鎖信息。所述多個子任務鎖,分別向任務池鎖定子任務。s240:計算節點生成與領取到的子任務對應的任務線程並利用該任務線程執行該子任務。計算節點在領取子任務後,生成與該子任務對應的任務線程,並利用該任務線程對該子任務進行處理。通過這種異步線程的方式實現對子任務的獲取和處理。計算節點內部可以設置一個更新時長,用於更新最近鎖定時間。該更新時長一般不大於上述預設的超時時長。計算節點領取子任務後,每隔一個更新時長,該計算節點會判斷領取到的子任務是否在所述子任務鎖信息中的鎖定該子任務的時間戳之後的預設的更新時長內執行完畢;若否,計算節點判斷該子任務是否在執行中;若該子任務在執行中,計算節點將領取到的子任務的狀態信息中的最近鎖定時間的時間戳更新為當前時間戳。若由於子任務在被計算節點領取超過超時時長而未被執行,或子任務在執行過程中出現異常等情況而導致子任務執行失敗的,計算節點將該子任務的狀態信息中的子任務鎖信息(即表2中最新子任務鎖)和最近鎖定時間進行清空,並將該子任務的當前任務狀態置於可用,其被鎖定次數不做調整。子任務在執行失敗後至重新設置為可用的狀態的階段,為子任務的重置階 段。具體的,在子任務的重置階段,計算節點可以通過任務線程的操作,實現子任務的重置。具體的,子任務執行失敗所在的任務線程預設一個重試時間間隔,接著該任務線程在等待重試時間間隔後,將該子任務的子任務鎖信息和最近鎖定時間進行清空,並將該子任務的當前任務狀態重置為可用。在該子任務被重置為可用後,符合領取該子任務條件的計算節點均可領取該子任務。本申請實施例中,設置重試時間隔,可以使得領取失敗或執行失敗的子任務有一個調整和修復的時間,可以提高該子任務再次被領取和處理的成功率。所述重試時間間隔,可以根據子任務的狀態靈活設置。若子任務不需要做相應的調整,也可以將重試時間間隔設置為零。這樣,領取失敗或執行失敗的子任務,可以立刻被重置為可領取的子任務。如表3所述為重置後的子任務狀態信息:表3:子任務被重置後的狀態信息最新子任務鎖最近鎖定時間被鎖定次數當前任務狀態nullnull1可用表3中可以看出,重置後的子任務的狀態信息中的最新子任務鎖信息為空,表示該子任務被重置時之前鎖定該子任務的計算節點的子任務鎖信息被清空,待下一次被計算節點鎖定時,更新為鎖定該子任務的計算節點的子任務鎖信息。最近鎖定時間也被清空,待下一次被計算節點鎖定時更新最近鎖定時間。被鎖定次數沒有被重置。當前任務狀態重置為可用,表示重置後的子任務,當前時刻為可以被計算節點領取和鎖定。本申請實施例中,計算節點在領取到的子任務被執行完畢後,將與該子任務對應的狀態信息中的當前任務狀態更新為成功;計算節點可以逐一檢查所述任務池中包含的每個子任務對應的狀態信息中的當前任務狀態是否為成功;若是,計算節點確定所述待處理的分布式任務執行完畢。需要說明的是,每一個被執行完畢後的子任務,其在任務池中生命周期也隨即結束,該子任務不會再被其他計算節點領取和處理。所述計算節點檢查所述任務池中的每個子任務是否執行完畢,還可以是在該計算節點判斷領取到的子任務均執行完畢後,向任務池提交已完成的子任務,並進行下一輪子任務的領取,而領取子任務失敗的情況下進行的。本申請實施例,計算節點通過守護進程對自身健康指標值監測,並根據健康指標值對應的預設閾值,判斷該計算節點是否可以獲取子任務。在滿足領取子任務的條件下,計算節點向任務池獲取子任務並進行處理。與現有技術相比,本申請實施例中這種計算節點主動地進行任務領取動作,無需額外設置用以與各計算節點進行心跳連接並進行任務分發的控制節點,從而避免控制節點對計算節點群的規模的限制,使得計算節點群的規模更加靈活。且本申請實施例中,計算節點通過守護進程生成的子任務鎖信息,向任務池獲取子任務。計算節點的這種通過鎖機制領取子任務,並採用異步線程的方式實現對子任務的獲取和處理的方法,可以大大提高分布式任務處理效率。本申請實施例還提供一種分布式任務處理的裝置,可以實現上述的方法步驟,且該裝置可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為邏輯意義上的裝置,是通過伺服器的cpu(centralprocessunit,中央處理器)將對應的電腦程式指令讀取到內存中運行形成的。圖4為本申請一實施例中的分布式任務處理裝置的模塊示意圖。其中,該裝置中的各個單元實現的功能與上述方法中包含的各個步驟實現的功能類似,故該裝置中的各個單元可以參照上述方法中的各個步驟的具體內容。本實施例中,與上述方法對應的,所述裝置包括:獲取單元301,用於通過守護進程監測該計算節點的至少一個健康指標值;判斷單元302,用於根據所述健康指標值及與該健康指標值對應的預設閾值,判斷該計算節點是否具有從預先存儲有若干子任務的任務池中領取子任務的權限;其中,所述子任務是通過將待處理的分布式任務進行拆分得到的;領取單元303,用於在計算節點具有領取子任務的權限時,從所述任務池中領取至少一個子任務;生成單元304,用於生成與領取到的子任務對應的任務線程並利用該任務線程執行該子任務。如圖4所示的分布式任務處理裝置,所述裝置還包括:子任務鎖生成單元,用於通過守護進程生成與領取到的子任務對應的子任務鎖信息;其中,所述子任務鎖信息包含領取該子任務的計算節點的標識id及鎖定該子任務的時間戳;子任務狀態更新單元,用於利用所述子任務鎖信息對領取到的子任務的狀態信息進行更新。如圖4所示的分布式任務處理裝置,所述裝置還包括:任務執行狀態判斷單元,用於判斷領取到的子任務是否在所述子任務鎖信息中的鎖定該子任務的時間戳之後的預設更新時長內執行完畢。如圖4所示的分布式任務處理裝置,所述裝置還包括:閾值確定單元,用於根據任務池中存儲的子任務需消耗計算節點的資源量,確定與健康指標值對應的預設閾值。如圖4所示的分布式任務處理裝置,所述裝置還包括:更新單元,用於在領取到的子任務執行完畢後,將與該子任務對應的狀態信息中的當前任務狀態更新為成功;任務檢查單元,用於逐一檢查所述任務池中包含的每個子任務對應的狀態信息中的當前任務狀態是否為成功。本申請實施例,計算節點通過獲取單元對自身健康指標值監測,判斷單元根據健康指標值對應的預設閾值,判斷該計算節點是否可以獲取子任務。在滿足領取子任務的條件下,計算節點的領取單元向任務池獲取子任務,並通過處理單元生成任務線程對所述子任務進行處理。與現有技術相比,本申請實施例中這種計算節點的領取單元主動地進行任務領取動作,無需額外設置用以與各計算節點進行心跳連接並進行任務分發的控制節點,從而避免控制節點對計算節點群的規模的限制,使得計算節點群的規模更加靈活。且本申請實施例中, 計算節點通過子任務鎖生成單元生成的子任務鎖信息,向任務池獲取子任務。計算節點的這種通過鎖機制領取子任務,避免不同計算節點之間重複領取同一個子任務,從而大大提高分布式任務處理效率。上述實施例闡明的系統、裝置、模塊或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個 流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網絡接口和內存。內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或快閃記憶體(flashram)。內存是計算機可讀介質的示例。計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限於相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光碟只讀存儲器(cd-rom)、數字多功能光碟(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁碟存儲或其他磁性存儲設備或任何其他非傳輸介質,可用於存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調製的數據信號和載波。還需要說明的是,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。本領域技術人員應明白,本申請的實施例可提供為方法、系統或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、 光學存儲器等)上實施的電腦程式產品的形式。本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。以上所述僅為本申請的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求範圍之內。當前第1頁12

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀