務(wù)和發(fā)送任務(wù)的發(fā)送子任務(wù); 所述發(fā)送任務(wù)包括至少一種信息類型、平臺標(biāo)識;
[0345] 所述第一狀態(tài)包括待執(zhí)行狀態(tài)、執(zhí)行中狀態(tài)和已完成狀態(tài)。
[0346] B15、如B14所述的裝置,所述編輯記錄模塊,包括:
[0347] 發(fā)送任務(wù)獲取子模塊,適于接收由客戶端提交的發(fā)送任務(wù)并存入第一任務(wù)隊列, 并將所述發(fā)送任務(wù)的第一狀態(tài)更新為待執(zhí)行狀態(tài);
[0348]發(fā)送任務(wù)提取子模塊,適于由第一進程從第一任務(wù)隊列中提取發(fā)送任務(wù),并將所 述發(fā)送任務(wù)的第一狀態(tài)更新為執(zhí)行中狀態(tài);
[0349]待發(fā)送對象獲取子模塊,適于由第一進程從根據(jù)所述發(fā)送任務(wù)中的平臺標(biāo)識,調(diào) 用對于平臺標(biāo)識的待發(fā)送對象獲取接口,從相應(yīng)的平臺中獲取各待發(fā)送對象;
[0350] 拆分子模塊,適于由第一進程基于從相應(yīng)的平臺中獲取各待發(fā)送對象,將所述發(fā) 送任務(wù)拆分為至少兩個發(fā)送子任務(wù),并將所述發(fā)送子任務(wù)放入第二任務(wù)隊列;其中,在發(fā)送 任務(wù)的執(zhí)行中狀態(tài)下記錄發(fā)送任務(wù)的處理進度;
[0351] 發(fā)送子任務(wù)提取子模塊,適于由多個消費進程從所述第二任務(wù)隊列中提取發(fā)送子 任務(wù),并將被提取的發(fā)送子任務(wù)的第一狀態(tài)更新為待執(zhí)行狀態(tài);
[0352] 消息發(fā)送子模塊,適于每個消費進程調(diào)用與信息類型相應(yīng)的發(fā)送接口,向各待發(fā) 送對象發(fā)送待發(fā)送信息;其中在發(fā)送子任務(wù)的執(zhí)行中狀態(tài)下記錄發(fā)送子任務(wù)的進度;在發(fā) 送子任務(wù)的待發(fā)送信息發(fā)送完畢之后,將發(fā)送子任務(wù)的狀態(tài)更新為已完成狀態(tài),并所述發(fā) 送任務(wù)的所有發(fā)送子任務(wù)全部為已完成狀態(tài)后,將發(fā)送任務(wù)的狀態(tài)更新為已完成狀態(tài)。
[0353] B16、如B15所述的裝置,所述發(fā)送任務(wù)還包括:發(fā)送時間策略;
[0354] 進一步的,所述發(fā)送任務(wù)提取子模塊,包括:
[0355] 發(fā)送任務(wù)篩選子模塊,適于由第一進程掃描所述第一任務(wù)隊列,提取發(fā)送時間策 略達到預(yù)設(shè)條件的發(fā)送任務(wù)。
[0356] B17、如B15所述的裝置,所述發(fā)送任務(wù)還包括:業(yè)務(wù)標(biāo)識和/或用戶范圍條件;
[0357] 進一步的,在待發(fā)送對象獲取子模塊之后,還包括:
[0358] 待發(fā)送對象篩選子模塊,適于在從相應(yīng)的平臺中獲取的各待發(fā)送對象中,篩選業(yè) 務(wù)標(biāo)識下的待發(fā)送對象和/或在所述用戶范圍條件之內(nèi)的待發(fā)送對象。
[0359] B18、如B17所述的裝置,所述第一狀態(tài)還包括停止?fàn)顟B(tài)和/或暫停狀態(tài);
[0360]進一步的,所述編輯記錄模塊,還包括:
[0361]已停止?fàn)顟B(tài)更新子模塊,適于在接收到對發(fā)送任務(wù)的終止指令后,將所述發(fā)送任 務(wù)的第一狀態(tài)更新為已停止?fàn)顟B(tài);
[0362]和/或,已停止?fàn)顟B(tài)更新子模塊,適于在接收到對發(fā)送任務(wù)的暫停指令后,將所述 發(fā)送任務(wù)的第一狀態(tài)更新為暫停狀態(tài)。
[0363] B19、如B18所述的裝置,消息發(fā)送子模塊,還包括:
[0364]已停止?fàn)顟B(tài)判斷子模塊,適于判斷所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一狀態(tài)是 否為已停止?fàn)顟B(tài);如果所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一狀態(tài)為已停止?fàn)顟B(tài),則進入 停止獲取子模塊;
[0365] 和/或,已暫停狀態(tài)判斷子模塊,適于判斷所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一 狀態(tài)是否為已暫停狀態(tài);如果所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一狀態(tài)為已暫停狀態(tài), 則進入暫停獲取子模塊;
[0366] 停止獲取子模塊,適于停止從第二任務(wù)隊列中獲取所述發(fā)送任務(wù)的發(fā)送子任務(wù), 以獲取其他的發(fā)送任務(wù)的發(fā)送子任務(wù),并將所述發(fā)送子任務(wù)的第一狀態(tài)更新為已停止?fàn)?態(tài);
[0367] 暫停獲取子模塊,適于暫停從第二任務(wù)隊列中獲取所述發(fā)送任務(wù)的發(fā)送子任務(wù), 并將所述發(fā)送子任務(wù)的第一狀態(tài)更新為已暫停狀態(tài)。
[0368] B20、如B15所述的裝置,所述消息發(fā)送子任務(wù),包括:
[0369] 限速發(fā)送子模塊,適于每個消費進程在不超過預(yù)定的發(fā)送信息速度下,調(diào)用與信 息類型相應(yīng)的發(fā)送接口,向各待發(fā)送對象發(fā)送待發(fā)送消息;所述發(fā)送信息速度包括在指定 時間周期內(nèi)待發(fā)送信息的發(fā)送條數(shù)。
[0370] B21、如B15-B20所述的裝置,所述發(fā)送任務(wù)中還包括:個性化信息模板;
[0371 ]進一步的,在待發(fā)送對象獲取子模塊之后,還包括:
[0372] 個性化信息生成子模塊,適于由第一進程針對不同的待發(fā)送對象,依據(jù)預(yù)設(shè)的個 性化信息模版,為每個待發(fā)送對象生成個性化的待發(fā)送信息。
[0373] B22、如B20所述的裝置,所述個性化信息生成子模塊,包括:
[0374] 關(guān)鍵字段獲取子模塊,適于針對每個待發(fā)送對象,獲取對應(yīng)各關(guān)鍵字段的數(shù)據(jù);
[0375] 關(guān)鍵字段編輯子模塊,適于將各關(guān)鍵字段的數(shù)據(jù)填入所述個性化信息模版相應(yīng)的 關(guān)鍵字段中;
[0376] 生成子模塊,適于為每個待發(fā)送對象生成個性化信息。
[0377] B23、如B22所述的裝置,所述關(guān)鍵字段編輯子模塊,包括:
[0378] 稱謂字段編輯子模塊,適于將待發(fā)送對象對應(yīng)的用戶稱謂信息,填入所述個性化 信息模版中的稱謂字段;
[0379] 通知字段編輯子模塊,適于將待發(fā)送對象的個性化通知信息,寫入所述個性化信 息模版中的個性化通知字段。
[0380] B24、如B15-B20所述的裝置,所述信息類型包括:短信、和/或郵件、和/或站內(nèi)信 息。
[0381 ] 本發(fā)明還公開了 C25、一種異常處理設(shè)備,包括:
[0382]存儲器,加載有多條可執(zhí)行指令;
[0383]處理器,執(zhí)行所述多條可執(zhí)行指令;所述多條指令包括執(zhí)行以下步驟的方法:
[0384]預(yù)先將待處理任務(wù)的第一狀態(tài)與觸發(fā)所述第一狀態(tài)的執(zhí)行方法進行對應(yīng);
[0385] 在待處理任務(wù)被各進程執(zhí)行的過程中,根據(jù)各進程調(diào)用的執(zhí)行方法與第一狀態(tài)的 對應(yīng)關(guān)系修改待處理任務(wù)的第一狀態(tài),并在相應(yīng)狀態(tài)下記錄所述待處理任務(wù)的處理進度;
[0386] 當(dāng)處理一待處理任務(wù)的進程出現(xiàn)異常,重啟所述進程后,讀取記錄的待處理任務(wù) 的第一狀態(tài)及待處理任務(wù)的處理進度;
[0387] 所述進程從觸發(fā)所述第一狀態(tài)的執(zhí)行方法開始執(zhí)行,并從所述處理進度處開始處 理所述待處理任務(wù)。
【主權(quán)項】
1. 一種異常處理方法,包括: 預(yù)先將待處理任務(wù)的第一狀態(tài)與觸發(fā)所述第一狀態(tài)的執(zhí)行方法進行對應(yīng); 在待處理任務(wù)被各進程執(zhí)行的過程中,根據(jù)各進程調(diào)用的執(zhí)行方法與第一狀態(tài)的對應(yīng) 關(guān)系修改待處理任務(wù)的第一狀態(tài),并在相應(yīng)狀態(tài)下記錄所述待處理任務(wù)的處理進度; 當(dāng)處理一待處理任務(wù)的進程出現(xiàn)異常,重啟所述進程后,讀取記錄的待處理任務(wù)的第 一狀態(tài)及待處理任務(wù)的處理進度; 所述進程從觸發(fā)所述第一狀態(tài)的執(zhí)行方法開始執(zhí)行,并從所述處理進度處開始處理所 述待處理任務(wù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述待處理任務(wù)包括發(fā)送任務(wù)和發(fā)送任務(wù) 的發(fā)送子任務(wù);所述發(fā)送任務(wù)包括至少一種信息類型、平臺標(biāo)識; 所述第一狀態(tài)包括待執(zhí)行狀態(tài)、執(zhí)行中狀態(tài)和已完成狀態(tài)。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在待處理任務(wù)被各進程執(zhí)行的過程 中,根據(jù)各進程調(diào)用的執(zhí)行方法與第一狀態(tài)的對應(yīng)關(guān)系修改待處理任務(wù)的第一狀態(tài),并在 相應(yīng)狀態(tài)下記錄所述待處理任務(wù)的處理進度的步驟包括: 接收由客戶端提交的發(fā)送任務(wù)并存入第一任務(wù)隊列,并將所述發(fā)送任務(wù)的第一狀態(tài)更 新為待執(zhí)行狀態(tài); 由第一進程從第一任務(wù)隊列中提取發(fā)送任務(wù),并將所述發(fā)送任務(wù)的第一狀態(tài)更新為執(zhí) 行中狀態(tài); 由第一進程從根據(jù)所述發(fā)送任務(wù)中的平臺標(biāo)識,調(diào)用對于平臺標(biāo)識的待發(fā)送對象獲取 接口,從相應(yīng)的平臺中獲取各待發(fā)送對象; 由第一進程基于從相應(yīng)的平臺中獲取各待發(fā)送對象,將所述發(fā)送任務(wù)拆分為至少兩個 發(fā)送子任務(wù),并將所述發(fā)送子任務(wù)放入第二任務(wù)隊列;其中,在發(fā)送任務(wù)的執(zhí)行中狀態(tài)下記 錄發(fā)送任務(wù)的處理進度,并將所述發(fā)送子任務(wù)的第一狀態(tài)更新為待處理狀態(tài); 由多個消費進程從所述第二任務(wù)隊列中提取發(fā)送子任務(wù),并將被提取的發(fā)送子任務(wù)的 第一狀態(tài)更新為執(zhí)行中狀態(tài); 每個消費進程調(diào)用與信息類型相應(yīng)的發(fā)送接口,向各待發(fā)送對象發(fā)送待發(fā)送信息;其 中在發(fā)送子任務(wù)的執(zhí)行中狀態(tài)下記錄發(fā)送子任務(wù)的進度;在發(fā)送子任務(wù)的待發(fā)送信息發(fā)送 完畢之后,將發(fā)送子任務(wù)的狀態(tài)更新為已完成狀態(tài),并所述發(fā)送任務(wù)的所有發(fā)送子任務(wù)全 部為已完成狀態(tài)后,將發(fā)送任務(wù)的狀態(tài)更新為已完成狀態(tài)。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述發(fā)送任務(wù)還包括:發(fā)送時間策略; 進一步的,所述由第一進程從第一任務(wù)隊列中提取發(fā)送任務(wù)的步驟,包括: 由第一進程掃描所述第一任務(wù)隊列,提取發(fā)送時間策略達到預(yù)設(shè)條件的發(fā)送任務(wù)。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述發(fā)送任務(wù)還包括:業(yè)務(wù)標(biāo)識和/或用戶 范圍條件; 進一步的,在由第一進程從根據(jù)所述發(fā)送任務(wù)中的平臺標(biāo)識,調(diào)用對于平臺標(biāo)識的待 發(fā)送對象獲取接口,從相應(yīng)的平臺中獲取各待發(fā)送對象的步驟之后,還包括: 在從相應(yīng)的平臺中獲取的各待發(fā)送對象中,篩選業(yè)務(wù)標(biāo)識下的待發(fā)送對象和/或在所 述用戶范圍條件之內(nèi)的待發(fā)送對象。6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述第一狀態(tài)還包括停止?fàn)顟B(tài)和/或暫停 狀態(tài); 進一步的,所述在待處理任務(wù)被各進程執(zhí)行的過程中,根據(jù)各進程調(diào)用的執(zhí)行方法與 第一狀態(tài)的對應(yīng)關(guān)系修改待處理任務(wù)的第一狀態(tài),并在相應(yīng)狀態(tài)下記錄所述待處理任務(wù)的 處理進度的步驟,還包括: 在接收到對發(fā)送任務(wù)的終止指令后,將所述發(fā)送任務(wù)的第一狀態(tài)更新為已停止?fàn)顟B(tài); 和/或,在接收到對發(fā)送任務(wù)的暫停指令后,將所述發(fā)送任務(wù)的第一狀態(tài)更新為暫停狀 ??τ 〇7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,每個消費進程調(diào)用與信息類型相應(yīng)的發(fā)送 接口,向各待發(fā)送對象發(fā)送待發(fā)送信息的步驟時,還包括: 判斷所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一狀態(tài)是否為已停止?fàn)顟B(tài); 如果所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一狀態(tài)為已停止?fàn)顟B(tài),則停止從第二任務(wù)隊 列中獲取所述發(fā)送任務(wù)的發(fā)送子任務(wù),以獲取其他的發(fā)送任務(wù)的發(fā)送子任務(wù),并將所述發(fā) 送子任務(wù)的第一狀態(tài)更新為已停止?fàn)顟B(tài); 和/或,判斷所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一狀態(tài)是否為已暫停狀態(tài); 如果所述發(fā)送子任務(wù)所屬的發(fā)送任務(wù)的第一狀態(tài)為已暫停狀態(tài),則暫停從第二任務(wù)隊 列中獲取所述發(fā)送任務(wù)的發(fā)送子任務(wù),并將所述發(fā)送子任務(wù)的第一狀態(tài)更新為已暫停狀 ??τ 〇8. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述每個消費進程調(diào)用與信息類型相應(yīng)的 發(fā)送接口,向各待發(fā)送對象發(fā)送待發(fā)送信息的步驟,包括: 每個消費進程在不超過預(yù)定的發(fā)送信息速度下,調(diào)用與信息類型相應(yīng)的發(fā)送接口,向 各待發(fā)送對象發(fā)送待發(fā)送消息;所述發(fā)送信息速度包括在指定時間周期內(nèi)待發(fā)送信息的發(fā) 送條數(shù)。9. 一種異常處理裝置,包括: 關(guān)系對應(yīng)模塊,適于預(yù)先將待處理任務(wù)的第一狀態(tài)與觸發(fā)所述第一狀態(tài)的執(zhí)行方法進 行對應(yīng); 編輯記錄模塊,適于在待處理任務(wù)被各進程執(zhí)行的過程中,根據(jù)各進程調(diào)用的執(zhí)行方 法與第一狀態(tài)的對應(yīng)關(guān)系修改待處理任務(wù)的第一狀態(tài),并在相應(yīng)狀態(tài)下記錄所述待處理任 務(wù)的處理進度; 讀取模塊,適于當(dāng)處理一待處理任務(wù)的進程出現(xiàn)異常,重啟所述進程后,讀取記錄的待 處理任務(wù)的第一狀態(tài)及待處理任務(wù)的處理進度; 再執(zhí)行模塊,適于所述進程從觸發(fā)所述第一狀態(tài)的執(zhí)行方法開始執(zhí)行,并從所述處理 進度處開始處理所述待處理任務(wù)。10. -種異常處理設(shè)備,包括: 存儲器,加載有多條可執(zhí)行指令; 處理器,執(zhí)行所述多條可執(zhí)行指令;所述多條指令包括執(zhí)行以下步驟的方法: 預(yù)先將待處理任務(wù)的第一狀態(tài)與觸發(fā)所述第一狀態(tài)的執(zhí)行方法進行對應(yīng); 在待處理任務(wù)被各進程執(zhí)行的過程中,根據(jù)各進程調(diào)用的執(zhí)行方法與第一狀態(tài)的對應(yīng) 關(guān)系修改待處理任務(wù)的第一狀態(tài),并在相應(yīng)狀態(tài)下記錄所述待處理任務(wù)的處理進度; 當(dāng)處理一待處理任務(wù)的進程出現(xiàn)異常,重啟所述進程后,讀取記錄的待處理任務(wù)的第 一狀態(tài)及待處理任務(wù)的處理進度; 所述進程從觸發(fā)所述第一狀態(tài)的執(zhí)行方法開始執(zhí)行,并從所述處理進度處開始處理所 述待處理任務(wù)。
【專利摘要】本發(fā)明實施例提供了一種異常處理方法,涉及計算機技術(shù)領(lǐng)域。所述方法包括:預(yù)先將待處理任務(wù)的第一狀態(tài)與觸發(fā)所述第一狀態(tài)的執(zhí)行方法進行對應(yīng);在待處理任務(wù)被各進程執(zhí)行的過程中,根據(jù)各進程調(diào)用的執(zhí)行方法與第一狀態(tài)的對應(yīng)關(guān)系修改待處理任務(wù)的第一狀態(tài),并在相應(yīng)狀態(tài)下記錄所述待處理任務(wù)的處理進度;當(dāng)處理一待處理任務(wù)的進程出現(xiàn)異常,重啟所述進程后,讀取記錄的待處理任務(wù)的第一狀態(tài)及待處理任務(wù)的處理進度;所述進程從觸發(fā)所述第一狀態(tài)的執(zhí)行方法開始執(zhí)行,并從所述處理進度處開始處理所述待處理任務(wù)。本發(fā)明提高了消息平臺有效性、避免重復(fù)發(fā)送消息以及迅速處理異常情況的有益效果。
【IPC分類】G06F11/07, H04L12/58
【公開號】CN105511975
【申請?zhí)枴緾N201510849673
【發(fā)明人】孫小俊, 呂本偉
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2016年4月20日
【申請日】2015年11月27日