一種基于Actor模型的數(shù)據(jù)處理重試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是一種基于Actor模型的數(shù)據(jù)處理重試方法。
【背景技術(shù)】
[0002]隨著云時(shí)代的來(lái)臨,大數(shù)據(jù)也吸引了越來(lái)越多的關(guān)注,也產(chǎn)生了一系列的大數(shù)據(jù)處理技術(shù)與方法,其中流式處理是其中一種關(guān)鍵技術(shù)。在大數(shù)據(jù)的流式處理過(guò)程中,通常會(huì)依賴各種各樣的外部服務(wù),比如存儲(chǔ)至NOSQL庫(kù)、索引系統(tǒng)。當(dāng)這些外部服務(wù),出現(xiàn)異常情況下,數(shù)據(jù)將無(wú)法正常處理,導(dǎo)致數(shù)據(jù)無(wú)法進(jìn)入下一處理環(huán)節(jié),從而丟失寶貴的數(shù)據(jù)。
[0003]中國(guó)發(fā)明專利CN104317970A公開(kāi)了一種基于數(shù)據(jù)加工中心的數(shù)據(jù)流式處理方法,所述數(shù)據(jù)加工中心預(yù)定義有包括數(shù)據(jù)校驗(yàn)、排序、聚合和分組的加工方法步驟,以及兩個(gè)不同加工方法步驟之間的連接關(guān)系;數(shù)據(jù)加工中心還設(shè)置有用于連接數(shù)據(jù)源的數(shù)據(jù)源接入端口、用于連接用戶界面的數(shù)據(jù)加工方法及流程定義接入端口、目標(biāo)數(shù)據(jù)輸出端口以及用于連接流程監(jiān)控單元的加工流程監(jiān)控接口;數(shù)據(jù)流式處理方法包括數(shù)據(jù)獲取、流式處理配置、數(shù)據(jù)加工方法配置以及目標(biāo)數(shù)據(jù)源的獲得等步驟,用戶可通過(guò)用戶界面配置數(shù)據(jù)的獲得等步驟,用戶可通過(guò)界面配置數(shù)據(jù)加工方法和定義數(shù)據(jù)加工流程,從而得到相應(yīng)的目標(biāo)數(shù)據(jù)源。雖然,此發(fā)明利用大數(shù)據(jù)平臺(tái)采用數(shù)據(jù)流式處理,可提高大數(shù)據(jù)處理速度,擴(kuò)大可支持的數(shù)據(jù)加工方法種類范圍;但是,無(wú)法再出現(xiàn)異常情況時(shí),正常處理數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明需要解決的技術(shù)問(wèn)題提供一種在外部服務(wù)出現(xiàn)異常情況時(shí),數(shù)據(jù)還能正常處理的大數(shù)據(jù)處理方法。
[0005]為解決上述的技術(shù)問(wèn)題,本發(fā)明的一種基于Actor模型的數(shù)據(jù)處理重試方法,包括以下步驟,
[0006]步驟SlOl:數(shù)據(jù)處理,本數(shù)據(jù)處理環(huán)節(jié)Actor進(jìn)行數(shù)據(jù)處理;
[0007]步驟S102:處理情況判斷,判斷數(shù)據(jù)處理后,處理情況是否正常,如果是,則進(jìn)入步驟S107 ;如果否,則進(jìn)入步驟S103 ;
[0008]步驟S103:判斷是否有重試處理機(jī)會(huì),判斷處理情況異常的數(shù)據(jù)是否還有重試處理機(jī)會(huì),如果否,則進(jìn)入步驟S106;如果是,則進(jìn)入步驟S104;
[0009]步驟S104:數(shù)據(jù)消息發(fā)送,將處理情況異常的數(shù)據(jù)消息發(fā)送至重試處理器;
[0010]步驟S105:重試數(shù)據(jù)處理,取出重試處理器中的數(shù)據(jù)發(fā)送至本數(shù)據(jù)處理環(huán)節(jié)Actor,返回步驟SlOl ;
[0011]步驟S106:丟棄消息,將沒(méi)有重試處理機(jī)會(huì)的數(shù)據(jù)消息丟棄,不再將數(shù)據(jù)發(fā)送下一數(shù)據(jù)處理環(huán)節(jié)處理;
[0012]步驟S107:下一數(shù)據(jù)環(huán)節(jié)處理,數(shù)據(jù)處理情況正常的數(shù)據(jù)進(jìn)入下一數(shù)據(jù)環(huán)節(jié)處理。
[0013]進(jìn)一步的,所述步驟S104中將數(shù)據(jù)消息發(fā)送至重試處理器前更新待重試的重試次數(shù)以及降低延遲處理時(shí)間。
[0014]更進(jìn)一步的,所述步驟S105中重試處理器根據(jù)數(shù)據(jù)延遲處理時(shí)間,取出帶最短的延遲處理時(shí)間的數(shù)據(jù),發(fā)送至本數(shù)據(jù)處理環(huán)節(jié)Actor。
[0015]更進(jìn)一步的,所述步驟S105中重試處理器根據(jù)數(shù)據(jù)延遲處理時(shí)間的不同將數(shù)據(jù)存入到延遲隊(duì)列中,從而從延遲隊(duì)列中取出帶最短延遲處理時(shí)間的數(shù)據(jù)。
[0016]采用上述方法后,本發(fā)明充分確保異常數(shù)據(jù)得到正確的處理;另外,通過(guò)延遲隊(duì)列,確保數(shù)據(jù)重試的處理的優(yōu)先級(jí),保證急需處理的數(shù)據(jù)得到優(yōu)先處理;利用Actor模型,保證待重試處理的數(shù)據(jù)與待處理數(shù)據(jù),均能得到處理,確保數(shù)據(jù)的正常處理。
【附圖說(shuō)明】
[0017]下面將結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0018]圖1為本發(fā)明一種基于Actor模型的數(shù)據(jù)處理重試方法的流程圖。
【具體實(shí)施方式】
[0019]如圖1所示,本發(fā)明的一種基于Actor模型的數(shù)據(jù)處理重試方法,包括以下步驟,
[0020]步驟SlO 1:數(shù)據(jù)處理,本數(shù)據(jù)處理環(huán)節(jié)Actor進(jìn)行數(shù)據(jù)處理。利用Actor模型,保證待重試處理的數(shù)據(jù)與待處理數(shù)據(jù),均能得到處理,確保數(shù)據(jù)的正常處理
[0021 ] 步驟S102:處理情況判斷,判斷數(shù)據(jù)處理后,處理情況是否正常,如果是,則進(jìn)入步驟S107 ;如果否,則進(jìn)入步驟S103。
[0022]步驟S103:判斷是否有重試處理機(jī)會(huì),判斷處理情況異常的數(shù)據(jù)是否還有重試處理機(jī)會(huì),如果否,則進(jìn)入步驟S106;如果是,則進(jìn)入步驟S104。
[0023]步驟S104:數(shù)據(jù)消息發(fā)送,更新待重試的重試次數(shù)以及降低延遲處理時(shí)間,將處理情況異常的數(shù)據(jù)消息發(fā)送至重試處理器。
[0024]步驟S105:重試數(shù)據(jù)處理,根據(jù)數(shù)據(jù)延遲處理時(shí)間,將數(shù)據(jù)存入到延遲隊(duì)列中,從而從延遲隊(duì)列中取出帶最短延遲處理時(shí)間的數(shù)據(jù)發(fā)送至本數(shù)據(jù)處理環(huán)節(jié)Actor,返回步驟S101。通過(guò)延遲隊(duì)列,確保數(shù)據(jù)重試的處理的優(yōu)先級(jí),保證急需處理的數(shù)據(jù)得到優(yōu)先處理。
[0025]步驟S106:丟棄消息,將沒(méi)有重試處理機(jī)會(huì)的數(shù)據(jù)消息丟棄,不再將數(shù)據(jù)發(fā)送下一數(shù)據(jù)處理環(huán)節(jié)處理。
[0026]步驟S107:下一數(shù)據(jù)環(huán)節(jié)處理,數(shù)據(jù)處理情況正常的數(shù)據(jù)進(jìn)入下一數(shù)據(jù)環(huán)節(jié)處理。
[0027]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是本領(lǐng)域熟練技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說(shuō)明,可以對(duì)本實(shí)施方式作出多種變更或修改,而不背離發(fā)明的原理和實(shí)質(zhì),本發(fā)明的保護(hù)范圍僅由所附權(quán)利要求書(shū)限定。
【主權(quán)項(xiàng)】
1.一種基于Actor模型的數(shù)據(jù)處理重試方法,其特征在于,包括以下步驟, 步驟SlOI:數(shù)據(jù)處理,本數(shù)據(jù)處理環(huán)節(jié)Actor進(jìn)行數(shù)據(jù)處理; 步驟S102:處理情況判斷,判斷數(shù)據(jù)處理后,處理情況是否正常,如果是,則進(jìn)入步驟S107 ;如果否,則進(jìn)入步驟S103 ; 步驟S103:判斷是否有重試處理機(jī)會(huì),判斷處理情況異常的數(shù)據(jù)是否還有重試處理機(jī)會(huì),如果否,則進(jìn)入步驟S106;如果是,則進(jìn)入步驟S104 ; 步驟S104:數(shù)據(jù)消息發(fā)送,將處理情況異常的數(shù)據(jù)消息發(fā)送至重試處理器; 步驟S105:重試數(shù)據(jù)處理,取出重試處理器中的數(shù)據(jù)發(fā)送至本數(shù)據(jù)處理環(huán)節(jié)Actor,返回步驟SlOl; 步驟S106:丟棄消息,將沒(méi)有重試處理機(jī)會(huì)的數(shù)據(jù)消息丟棄,不再將數(shù)據(jù)發(fā)送下一數(shù)據(jù)處理環(huán)節(jié)處理; 步驟S107:下一數(shù)據(jù)環(huán)節(jié)處理,數(shù)據(jù)處理情況正常的數(shù)據(jù)進(jìn)入下一數(shù)據(jù)環(huán)節(jié)處理。2.按照權(quán)利要求1所述的一種基于Actor模型的數(shù)據(jù)處理重試方法,其特征在于:所述步驟S104中將數(shù)據(jù)消息發(fā)送至重試處理器前更新待重試的重試次數(shù)以及降低延遲處理時(shí)間。3.按照權(quán)利要求2所述的一種基于Actor模型的數(shù)據(jù)處理重試方法,其特征在于:所述步驟S105中重試處理器根據(jù)數(shù)據(jù)延遲處理時(shí)間,取出帶最短的延遲處理時(shí)間的數(shù)據(jù),發(fā)送至本數(shù)據(jù)處理環(huán)節(jié)Actor。4.按照權(quán)利要求3所述的一種基于Actor模型的數(shù)據(jù)處理重試方法,其特征在于:所述步驟S105中重試處理器根據(jù)數(shù)據(jù)延遲處理時(shí)間的不同將數(shù)據(jù)存入到延遲隊(duì)列中,從而從延遲隊(duì)列中取出帶最短延遲處理時(shí)間的數(shù)據(jù)。
【專利摘要】本發(fā)明涉及大數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是一種基于Actor模型的數(shù)據(jù)處理重試方法,包括以下步驟,步驟S101:數(shù)據(jù)處理;步驟S102:處理情況判斷,判斷數(shù)據(jù)處理后,處理情況是否正常,如果是,則進(jìn)入步驟S107;如果否,則進(jìn)入步驟S103;步驟S103:判斷是否有重試處理機(jī)會(huì),判斷處理情況異常的數(shù)據(jù)是否還有重試處理機(jī)會(huì),如果否,則進(jìn)入步驟S106;如果是,則進(jìn)入步驟S104;步驟S104:數(shù)據(jù)消息發(fā)送;步驟S105:重試數(shù)據(jù)處理,返回步驟S101;步驟S106:丟棄消息;步驟S107:下一數(shù)據(jù)環(huán)節(jié)處理。采用上述方法后,本發(fā)明充分確保異常數(shù)據(jù)得到正確的處理;另外,通過(guò)延遲隊(duì)列,確保數(shù)據(jù)重試的處理的優(yōu)先級(jí),保證急需處理的數(shù)據(jù)得到優(yōu)先處理;確保數(shù)據(jù)的正常處理。
【IPC分類】G06F17/30
【公開(kāi)號(hào)】CN105677705
【申請(qǐng)?zhí)枴緾N201510995649
【發(fā)明人】曹志富
【申請(qǐng)人】湖南蟻坊軟件有限公司
【公開(kāi)日】2016年6月15日
【申請(qǐng)日】2015年12月28日