專利名稱:一種任務(wù)處理的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種任務(wù)處理的方法和裝置。
背景技術(shù):
傳統(tǒng)的應(yīng)用程序框架主要包括前臺和后臺兩部分,如圖l所示,前臺負(fù) 責(zé)與用戶進(jìn)行交互并獲取來自用戶的任務(wù),并將任務(wù)信息以任務(wù)處理請求的 方式發(fā)送給后臺,后臺的處理進(jìn)程接收到該任務(wù)處理請求后,根據(jù)其中的任 務(wù)信息對該任務(wù)進(jìn)行處理以響應(yīng)前臺的處理請求,例如,對數(shù)據(jù)庫進(jìn)行相應(yīng) 操作或?qū)W(wǎng)絡(luò)設(shè)備進(jìn)行管理等。其中,前臺和后臺之間采用預(yù)先定義的私有
協(xié)議進(jìn)行通信,例如協(xié)調(diào)件協(xié)議(MDP, Mediation Device Protocol)。
然而,在實(shí)際的應(yīng)用中,常常出現(xiàn)前臺在短時(shí)間內(nèi)接收到大量的任務(wù), 使得后臺需要在短時(shí)間內(nèi)響應(yīng)大量的任務(wù),由于現(xiàn)有技術(shù)中采用的是一個后 臺處理進(jìn)程的架構(gòu),因此,就會出現(xiàn)任務(wù)處理性能不能滿足要求的情況,甚 至出現(xiàn)后臺處理進(jìn)程不響應(yīng)的情況。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種任務(wù)處理的方法和裝置,以便于提高短時(shí) 間內(nèi)需要處理大量任務(wù)時(shí)后臺的任務(wù)處理性能。
一種任務(wù)處理的方法,應(yīng)用程序框架中的后臺包括一個主處理進(jìn)程和至 少一個從處理進(jìn)程,該方法包括
前臺接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程;
主處理進(jìn)程獲取自身和各從處理進(jìn)程的狀態(tài)信息,并根據(jù)獲取的所述狀態(tài) 信息和接收到的所述任務(wù)信息,按照預(yù)設(shè)的均衡策略將所述任務(wù)分配給自身或 相應(yīng)的/人處理進(jìn)程進(jìn)4于處理。一種任務(wù)處理的裝置,該裝置中包括前臺和后臺,所述后臺包括一個主處
理進(jìn)程和至少 一 個從處理進(jìn)程;
所述前臺,用于接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程; 所述主處理進(jìn)程,用于接收到所迷任務(wù)信息后,獲取自身和各從處理進(jìn)程
的狀態(tài)信息,并根據(jù)獲取的所述狀態(tài)信息和接收到的所述任務(wù)信息,按照預(yù)設(shè)
進(jìn)行處理;
所述從處理進(jìn)程,用于對分配給自身的任務(wù)進(jìn)行處理。 由以上技術(shù)方案可以看出,本發(fā)明提供的方法和裝置,應(yīng)用程序框架中 的后臺包括一個主處理進(jìn)程和至少一個從處理進(jìn)程;前臺接收到任務(wù)后,將 任務(wù)信息發(fā)送給后臺的主處理進(jìn)程;主處理進(jìn)程獲取自身和各從處理進(jìn)程的 狀態(tài)信息,并根據(jù)獲取的狀態(tài)信息和接收到的任務(wù)信息,按照預(yù)設(shè)的均衡策
收到大量的任務(wù)時(shí),后臺的主處理進(jìn)程可以根據(jù)自身和各從處理進(jìn)程的狀態(tài) 信息對該任務(wù)均衡分配給多個處理進(jìn)程進(jìn)行處理,而不是僅由單一的處理進(jìn) 程處理所有的任務(wù),因此,本發(fā)明在短時(shí)間內(nèi)需要處理大量任務(wù)時(shí),能夠顯 著提高后臺的任務(wù)處理性能。
圖1為現(xiàn)有技術(shù)中的應(yīng)用程序框架圖2為本發(fā)明實(shí)施例提供的方法流程圖3為本發(fā)明實(shí)施例提供的具體應(yīng)用程序架構(gòu)圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體 實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明涉及的應(yīng)用程序框架中的后臺包括一個主處理進(jìn)程和至少一個從處理進(jìn)程;前臺接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程;主
處理進(jìn)程獲取自身和各從處理進(jìn)程的狀態(tài)信息,并根據(jù)獲取的該狀態(tài)信息和 接收到的任務(wù)信息,按照預(yù)設(shè)的均衡策略將任務(wù)發(fā)送給自身或相應(yīng)的從處理 進(jìn)程進(jìn)行處理。
下面結(jié)合具體實(shí)施例對上述方法進(jìn)行詳細(xì)描述,圖2為本發(fā)明實(shí)施例提
供的方法流程圖,在該實(shí)施例提供的應(yīng)用程序框架中,至少包括兩個處理進(jìn) 程在運(yùn)行,主處理進(jìn)程可以采用預(yù)先設(shè)定的方式,默認(rèn)其中的一個處理進(jìn)程 為主處理進(jìn)程,即該應(yīng)用程序架構(gòu)中包括一個主處理進(jìn)程和至少一個從處理 進(jìn)程在運(yùn)行,其中,主處理進(jìn)程和從處理進(jìn)程之間的交互可以采用私有協(xié)議,
例如MDP。如圖2所示,該方法可以包括以下步驟
步驟201:每一個從處理進(jìn)程安裝運(yùn)行后,主動向主處理進(jìn)程申請注冊,
本實(shí)施例中可以預(yù)先根據(jù)應(yīng)用程序所在系統(tǒng)的硬件配置確定可安裝的 最大進(jìn)程數(shù),根據(jù)該最大進(jìn)程數(shù)確定ID號的分配范圍,并預(yù)先為主處理進(jìn) 程確定一個固定的ID號。當(dāng)有一個新的從處理進(jìn)程安裝完畢并運(yùn)行后,該 從處理進(jìn)程主動向主處理進(jìn)程申請注冊,主處理進(jìn)程在預(yù)先確定的ID號分 配范圍中選擇一個未被占用的ID號給該從處理進(jìn)程,并將為該從處理進(jìn)程 分配的ID號和狀態(tài)信息存入內(nèi)存。
另外,在各從處理進(jìn)程進(jìn)行注冊時(shí)還可以在內(nèi)存中存儲各從處理進(jìn)程的 地址信息、端口信息等。
本步驟中從處理進(jìn)程的安裝可以是用戶根據(jù)實(shí)際的任務(wù)處理需求手工 進(jìn)行的安裝。
步驟202:主處理進(jìn)程4姿照預(yù)設(shè)的時(shí)間間隔向已注冊的各從處理進(jìn)程查 詢狀態(tài)信息,并利用查詢到的狀態(tài)信息對內(nèi)存中各從處理進(jìn)程的狀態(tài)信息進(jìn) 行更新;如果超過預(yù)設(shè)的查詢次數(shù),某從處理進(jìn)程仍處于異常狀態(tài),則將該從處理進(jìn)程從內(nèi)存中刪除。
本步驟中,主處理進(jìn)程查詢從處理進(jìn)程狀態(tài)的方式可以為三種
其一 、主處理進(jìn)程按照預(yù)設(shè)的時(shí)間間隔輪詢已注冊的各從處理進(jìn)程,從 而獲取各從處理進(jìn)程的狀態(tài)信息。
其二、主處理進(jìn)程可以按照預(yù)設(shè)的時(shí)間間隔向已注冊的各從處理進(jìn)程發(fā) 送查詢請求,從處理進(jìn)程接收到該查詢請求后,會向主處理進(jìn)程返回自身的 狀態(tài)信息。
前兩種方式可以較好地保證時(shí)鐘同步。
其三、已注冊的各從處理進(jìn)程按照預(yù)設(shè)的時(shí)間間隔主動向主處理進(jìn)程發(fā) 送自身的狀態(tài)信息。
需要說明的是,處理進(jìn)程的狀態(tài)可以分為三種運(yùn)行狀態(tài)、空閑狀態(tài)和
異常狀態(tài),在第二種和第三種方式中,只有處于運(yùn)行狀態(tài)或空閑狀態(tài)的從處 理進(jìn)程才會返回自身的狀態(tài)信息,處于異常狀態(tài)的處理進(jìn)程不能返回自身的 狀態(tài)信息。如果超過預(yù)設(shè)的查詢次數(shù),某從處理進(jìn)程仍沒有返回狀態(tài)信息,
則主處理進(jìn)程認(rèn)為該從處理進(jìn)程異常,則將其ID和狀態(tài)信息從內(nèi)存中刪除。 由于只有狀態(tài)正常的從處理進(jìn)程才能夠返回自身狀態(tài)信息,即處于運(yùn)行 狀態(tài)或空閑狀態(tài)的從處理進(jìn)程才能返回自身狀態(tài)信息,因此,如果超過預(yù)設(shè) 的查詢次數(shù),某個從處理進(jìn)程仍沒有返回自身狀態(tài)信息,則確定該從處理進(jìn) 程發(fā)生異常,主處理進(jìn)程則將該從處理進(jìn)程的ID號和狀態(tài)信息從內(nèi)存中刪 除,該ID號被空出可以供新安裝的從處理進(jìn)程使用。
另外,當(dāng)使用第二種或第三種情況時(shí),可以記錄各從處理進(jìn)程每次返回 自身狀態(tài)的時(shí)間,主處理進(jìn)程可以針對各從處理進(jìn)程采用如下方法確定是否 需要刪除該從處理進(jìn)程判斷T/T1的值是否大于預(yù)設(shè)的查詢次數(shù),其中,T =當(dāng)前時(shí)間-該從處理進(jìn)程最近一次注冊時(shí)間+時(shí)鐘校正值,Tl為查詢時(shí) 使用的上述預(yù)設(shè)的時(shí)間間隔,時(shí)鐘校正值是為了避免該從處理進(jìn)程與主處理 進(jìn)程之間的時(shí)鐘差別、網(wǎng)絡(luò)等原因引起的延遲而設(shè)置的一個時(shí)間值;如果是, 則將該從處理進(jìn)程刪除。通常狀況下,處理進(jìn)程發(fā)生異常的情況可能是處理進(jìn)程運(yùn)行故障,需要 重新安裝,或者該處理進(jìn)程已經(jīng)被卸載。
通過步驟201和步驟202可以實(shí)現(xiàn)從處理進(jìn)程的自動注冊和注銷,并能
夠?qū)崟r(shí)獲取各從處理進(jìn)程的狀態(tài)信息。
步驟203:前臺接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程。 步驟204:主處理進(jìn)程從內(nèi)存中查詢各從處理進(jìn)程的狀態(tài)信息,根據(jù)各
從處理進(jìn)程的狀態(tài)信息和自身的狀態(tài)信息,按照預(yù)設(shè)的均衡策略將任務(wù)分配
給自身或相應(yīng)的從處理進(jìn)程進(jìn)行處理。
本步驟中僅對主處理進(jìn)程和內(nèi)存中存在的從處理進(jìn)程進(jìn)行分配,已經(jīng)注
本步驟中,預(yù)設(shè)的均衡策略可以是多種方式,例如,可以在處于空閑狀 態(tài)的從處理進(jìn)程中任意選擇一個或多個來完成該任務(wù),或者,可以在處于空 閑狀態(tài)的從處理進(jìn)程和主處理進(jìn)程中按照ID順序選擇一個或多個來完成該 任務(wù),或者,可以在處于空閑狀態(tài)的從處理進(jìn)程和主處理進(jìn)程中按照從處理 進(jìn)程的端口號或地址信息等順序選擇一個或多個來完成該任務(wù);如果當(dāng)前沒 有空閑狀態(tài)的從處理進(jìn)程和主處理進(jìn)程,則可以按照ID順序或端口號順序
務(wù)棧中,等待該從處理進(jìn)程或主處理進(jìn)程對該任務(wù)進(jìn)行處理。
另外,對于一個任務(wù)通常分配給一個處理進(jìn)程進(jìn)行處理,當(dāng)有多個任務(wù)
需要處理時(shí),可以同時(shí)將該多個任務(wù)均衡分配給不同的處理進(jìn)程進(jìn)行處理;
如果接收到的任務(wù)屬于多階段型任務(wù),則主處理進(jìn)程可以將該任務(wù)進(jìn)行分
解,均衡分配給不同的處理進(jìn)程并行進(jìn)行處理。
另外,在上述流程中需要說明的是,步驟201和步驟202是在任何時(shí)候
都可能會執(zhí)行的操作,其與步驟203和步驟204并沒有固定的先后順序。 以上是對本發(fā)明提供的方法的描述,下面對本發(fā)明提供的裝置進(jìn)行描述。
本發(fā)明提供的裝置主要包括前臺和后臺,其中,后臺包括一個主處理進(jìn)程和至
少一個從處理進(jìn)程。前臺,用于接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程。 主處理進(jìn)程,用于接收到任務(wù)信息后,獲取自身和各從處理進(jìn)程的狀態(tài)信 息,并根據(jù)獲取的狀態(tài)信息和接收到的任務(wù)信息,按照預(yù)設(shè)的均衡策略將該任 務(wù)分配給自身或相應(yīng)的從處理進(jìn)程;對分配給自身的任務(wù)進(jìn)行處理。 從處理進(jìn)程,用于對分配給自身的任務(wù)進(jìn)行處理。
另外,后臺還可以包括內(nèi)存;
從處理進(jìn)程,還可以用于在安裝運(yùn)行后,主動向主處理進(jìn)程申請注冊。 主處理進(jìn)程,還可以用于為申請注冊的從處理進(jìn)程分配ID號并將各從處理 進(jìn)程的ID號和狀態(tài)信息存入內(nèi)存;并從內(nèi)存中獲取自身和各從處理進(jìn)程的狀態(tài)信息。
內(nèi)存,用于存儲各從處理進(jìn)程的ID號和狀態(tài)信息。
主處理進(jìn)程,還可以用于按照預(yù)設(shè)的時(shí)間間隔,通過輪詢的方式、或者發(fā) 送查詢請求的方式、或者接收從處理進(jìn)程主動發(fā)送的狀態(tài)信息的方式,向已注 冊的各從處理進(jìn)程查詢狀態(tài)信息,利用查詢到的狀態(tài)信息對內(nèi)存中各從處理進(jìn) 程的狀態(tài)信息進(jìn)行更新,并判斷各從處理進(jìn)程被查詢到處于異常狀態(tài)的次數(shù)是 否超過預(yù)設(shè)的次數(shù)閾值,如果是,則將超過預(yù)設(shè)的次數(shù)闞值的從處理進(jìn)程的ID 號和狀態(tài)信息從內(nèi)存中刪除。
從處理進(jìn)程,還可以用于接收到所述查詢請求后,如果自身處于運(yùn)行狀 態(tài)或空閑狀態(tài),則向主處理進(jìn)程返回自身的狀態(tài)信息;或者,如果處于運(yùn)行 狀態(tài)或空閑狀態(tài),則按照預(yù)設(shè)的時(shí)間間隔主動向主處理進(jìn)程發(fā)送自身的狀態(tài) 信息。
下面舉一個具體的例子結(jié)合上述裝置和方法進(jìn)行描述,以圖3所示的具 體裝置結(jié)構(gòu)為例,如圖3所示,該裝置的后臺當(dāng)前存在3個已注冊的從處理 進(jìn)程,即從處理進(jìn)程1、從處理進(jìn)程2和從處理進(jìn)程3;主處理進(jìn)程按照預(yù) 設(shè)的時(shí)間間隔周期性地查詢這三個從處理進(jìn)程的狀態(tài),實(shí)時(shí)更新內(nèi)存中存儲 的從處理進(jìn)程的狀態(tài)信息。用戶向前臺下發(fā)測量100個網(wǎng)絡(luò)設(shè)備的服務(wù)質(zhì)量 水平的任務(wù),需要后臺的處理進(jìn)程對100個網(wǎng)絡(luò)設(shè)備進(jìn)行性能參數(shù)的采集;前臺將該任務(wù)信息下發(fā)給后臺的主處理進(jìn)程,主處理進(jìn)程確定自身處于空閑 狀態(tài),且從內(nèi)存中查詢到從處理進(jìn)程1和從處理進(jìn)程2處于空閑狀態(tài),如果 一個處理進(jìn)程能夠處理IO個網(wǎng)絡(luò)設(shè)備的采集,則主處理進(jìn)程在當(dāng)前時(shí)鐘周 期為自身、從處理進(jìn)程1和從處理進(jìn)程2分別分配10個網(wǎng)絡(luò)設(shè)備的采集任
務(wù);如果在下一個時(shí)鐘周期獲取到從處理進(jìn)程3也處于空閑狀態(tài),則在下一 個時(shí)鐘周期為自身、從處理進(jìn)程1、從處理進(jìn)程2和從處理進(jìn)程3分別分配 10個網(wǎng)絡(luò)設(shè)備的采集任務(wù)。然后按照該方法依次分配,直至所有任務(wù)都分 配完畢。該實(shí)施例是采用該方法和應(yīng)用程序架構(gòu)通過網(wǎng)絡(luò)設(shè)備訪問接口實(shí)現(xiàn) 對網(wǎng)絡(luò)設(shè)備的訪問,本發(fā)明所提供的方法和應(yīng)用程序架構(gòu)也可以利用主處理 進(jìn)程和至少一個從處理進(jìn)程進(jìn)行配合,實(shí)現(xiàn)短時(shí)間內(nèi)海量任務(wù)時(shí)通過數(shù)據(jù)庫 訪問接口對數(shù)據(jù)庫的訪問。
由以上描述可以看出,本發(fā)明提供的方法和裝置,應(yīng)用程序框架中的后 臺包括一個主處理進(jìn)程和至少一個從處理進(jìn)程;前臺接收到任務(wù)后,將任務(wù) 信息發(fā)送給后臺的主處理進(jìn)程;主處理進(jìn)程獲取自身和各從處理進(jìn)程的狀態(tài) 信息,并根據(jù)獲取的狀態(tài)信息和接收到的任務(wù)信息,按照預(yù)設(shè)的均衡策略將 該任務(wù)分配給自身或相應(yīng)的從處理進(jìn)程進(jìn)行處理。當(dāng)前臺在短時(shí)間內(nèi)接收到
對該任務(wù)均衡分配給多個處理進(jìn)程進(jìn)行處理,而不是僅由單 一 的處理進(jìn)程處 理所有的任務(wù),因此,本發(fā)明在短時(shí)間內(nèi)需要處理大量任務(wù)時(shí),能夠顯著提 高后臺的任務(wù)處理性能。
另外,在本發(fā)明中新安裝運(yùn)行的從處理進(jìn)程也能夠通過注冊的方式隨時(shí) 加入任務(wù)的均衡分配,并且,通過實(shí)時(shí)維護(hù)內(nèi)存中從處理進(jìn)程狀態(tài)信息的方 式,及時(shí)的注銷處于異常狀態(tài)的從處理進(jìn)程,即能夠?qū)崿F(xiàn)從處理進(jìn)程的自動 注冊和注銷,使得用戶可以根據(jù)任務(wù)的實(shí)際數(shù)量,靈活的增加或減少應(yīng)用程 序中的處理進(jìn)程數(shù)量。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1、一種任務(wù)處理的方法,其特征在于,應(yīng)用程序框架中的后臺包括一個主處理進(jìn)程和至少一個從處理進(jìn)程,該方法包括前臺接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程;主處理進(jìn)程獲取自身和各從處理進(jìn)程的狀態(tài)信息,并根據(jù)獲取的所述狀態(tài)信息和接收到的所述任務(wù)信息,按照預(yù)設(shè)的均衡策略將所述任務(wù)分配給自身或相應(yīng)的從處理進(jìn)程進(jìn)行處理。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,每一個從處理進(jìn)程安裝運(yùn)行 后,主動向所述主處理進(jìn)程申請注冊,主處理進(jìn)程為申請注冊的從處理進(jìn)程分 配ID號并將各從處理進(jìn)程的ID號和狀態(tài)信息存入內(nèi)存;所述主處理進(jìn)程獲:f又自身和各從處理進(jìn)程的狀態(tài)信息為所述主處理進(jìn)程 獲取自身的狀態(tài)信息,并從所述內(nèi)存中獲取已注冊的從處理進(jìn)程的狀態(tài)信息。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述為申請注冊的從處理進(jìn) 程分配ID號具體為從預(yù)先設(shè)定的ID號分配范圍中選擇一個尚未被占用的ID 號作為所述申請注冊的從處理進(jìn)程的ID號。
4、 根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法還包括所述主處理 進(jìn)程按照預(yù)設(shè)的時(shí)間間隔向已注冊的各從處理進(jìn)程查詢狀態(tài)信息,利用查詢到 的狀態(tài)信息對所述內(nèi)存中各從處理進(jìn)程的狀態(tài)信息進(jìn)行更新,并判斷各從處理 進(jìn)程被查詢到處于異常狀態(tài)的次數(shù)是否超過預(yù)設(shè)的次數(shù)閾值,如果是,則將超 過預(yù)設(shè)的次數(shù)閾值的從處理進(jìn)程的ID號和狀態(tài)信息從所述內(nèi)存中刪除。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述主處理進(jìn)程按照預(yù)設(shè)的 時(shí)間間隔向已注冊的各從處理進(jìn)程查詢狀態(tài)信息包括所述主處理進(jìn)程按照預(yù) 設(shè)的時(shí)間間隔輪詢已注冊的各從處理進(jìn)程,獲取已注冊的各從處理進(jìn)程的狀態(tài) 信息;或者,所述主處理進(jìn)程按照預(yù)設(shè)的時(shí)間間隔向已注冊的各從處理進(jìn)程發(fā)送查詢請 求,處于運(yùn)行狀態(tài)或者空閑狀態(tài)的從處理進(jìn)程接收到所述查詢請求后,將自身的狀態(tài)信息返回給所述主處理進(jìn)程;或者,已注冊的從處理進(jìn)程中處于運(yùn)行狀態(tài)或空閑狀態(tài)的各從處理進(jìn)程按照預(yù)設(shè) 的時(shí)間間隔主動發(fā)送自身的狀態(tài)信息至所述主處理進(jìn)程。
6、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述按照預(yù)設(shè)的均衡策略將的各從處理進(jìn)程的狀態(tài)信息,從處于空閑狀態(tài)的從處理進(jìn)程和主處理進(jìn)程中任意選擇一個或多個對所述任務(wù)進(jìn)行處理;或者,根據(jù)所述內(nèi)存中存儲的各從處理進(jìn)程的狀態(tài)信息,從處于空閑狀態(tài)的從處理進(jìn)程和主處理進(jìn)程中按照ID號順序選擇一個或多個對所述任務(wù)進(jìn)行處理;或 者,如果當(dāng)前沒有空閑狀態(tài)的從處理進(jìn)程和主處理進(jìn)程,則可以按照ID順序或 者任意選擇一個或多個處于運(yùn)行狀態(tài)的從處理進(jìn)程或主處理進(jìn)程,將所述任務(wù) 放入所述選^^的從處理進(jìn)程或主處理進(jìn)程的任務(wù)棧中。
7、 一種任務(wù)處理的裝置,其特征在于,該裝置中包括前臺和后臺,所述后 臺包括一個主處理進(jìn)程和至少一個從處理進(jìn)程;所述前臺,用于接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程; 所述主處理進(jìn)程,用于接收到所述任務(wù)信息后,獲取自身和各從處理進(jìn)程 的狀態(tài)信息,并根據(jù)獲取的所述狀態(tài)信息和接收到的所述任務(wù)信息,按照預(yù)設(shè) 的均衡策略將所述任務(wù)分配給自身或相應(yīng)的從處理進(jìn)程;對分配給自身的任務(wù) 進(jìn)行處理;所述從處理進(jìn)程,用于對分配給自身的任務(wù)進(jìn)行處理。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述后臺還包括內(nèi)存; 所述從處理進(jìn)程,還用于在安裝運(yùn)行后,主動向所述主處理進(jìn)程申請注冊; 所述主處理進(jìn)程,還用于為申請注冊的從處理進(jìn)程分配ID號并將各從處理進(jìn)程的ID號和狀態(tài)信息存入內(nèi)存;并從所述內(nèi)存中獲取所述自身和各從處理進(jìn) 程的狀態(tài)信息;所述內(nèi)存,用于存儲所述各從處理進(jìn)程的ID號和狀態(tài)信息。
9、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述主處理進(jìn)程,還用于按 照預(yù)設(shè)的時(shí)間間隔,通過輪詢的方式、或者發(fā)送查詢請求的方式、或者接收從 處理進(jìn)程主動發(fā)送的狀態(tài)信息的方式,向已注冊的各從處理進(jìn)程查詢狀態(tài)信息, 利用查詢到的狀態(tài)信息對所述內(nèi)存中各從處理進(jìn)程的狀態(tài)信息進(jìn)行更新,并判 斷各從處理進(jìn)程被查詢到處于異常狀態(tài)的次數(shù)是否超過預(yù)設(shè)的次數(shù)閾值,如果是,則將超過預(yù)設(shè)的次數(shù)閾值的從處理進(jìn)程的ID號和狀態(tài)信息從所述內(nèi)存中刪 除;所述從處理進(jìn)程,還用于接收到所述查詢請求后,如果自身處于運(yùn)行狀態(tài) 或空閑狀態(tài),則向所述主處理進(jìn)程返回自身的狀態(tài)信息;或者,如果處于運(yùn)行態(tài)信息。
10、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述主處理進(jìn)程具體按照 以下均衡策略將所述任務(wù)分配給自身或相應(yīng)的從處理進(jìn)程進(jìn)行處理根據(jù)所述 內(nèi)存中存儲的各從處理進(jìn)程的狀態(tài)信息,從處于空閑狀態(tài)的從處理進(jìn)程和主處 理進(jìn)程中任意選擇一個或多個對所述任務(wù)進(jìn)行處理,或者,從處于空閑狀態(tài)的 從處理進(jìn)程和主處理進(jìn)程中按照ID號順序選擇一個或多個對所述任務(wù)進(jìn)行處 理,或者,如果當(dāng)前沒有空閑狀態(tài)的從處理進(jìn)程和主處理進(jìn)程,則可以按照ID 順序或者任意選擇一個或多個處于運(yùn)行狀態(tài)的從處理進(jìn)程或主處理進(jìn)程,將所 述任務(wù)放入所述選擇的從處理進(jìn)程或主處理進(jìn)程的任務(wù)棧中。
全文摘要
本發(fā)明提供了一種任務(wù)處理的方法和裝置,應(yīng)用程序框架中的后臺包括一個主處理進(jìn)程和至少一個從處理進(jìn)程,其中方法包括前臺接收到任務(wù)后,將任務(wù)信息發(fā)送給后臺的主處理進(jìn)程;主處理進(jìn)程獲取自身和各從處理進(jìn)程的狀態(tài)信息,并根據(jù)獲取的狀態(tài)信息和接收到的任務(wù)信息,按照預(yù)設(shè)的均衡策略將該任務(wù)分配給自身或相應(yīng)的從處理進(jìn)程進(jìn)行處理。本發(fā)明在短時(shí)間內(nèi)需要處理大量任務(wù)時(shí),能夠顯著提高后臺的任務(wù)處理性能。
文檔編號G06F9/46GK101308467SQ20081011674
公開日2008年11月19日 申請日期2008年7月16日 優(yōu)先權(quán)日2008年7月16日
發(fā)明者建 朱 申請人:杭州華三通信技術(shù)有限公司