本申請涉及分布式業(yè)務(wù)技術(shù)領(lǐng)域,特別涉及一種檢查分布式業(yè)務(wù)處理完整度的方法及裝置。
背景技術(shù):
分布式業(yè)務(wù)系統(tǒng)能以更加靈活、高效的處理業(yè)務(wù)。
通過分布式業(yè)務(wù)系統(tǒng)的處理,可以將傳統(tǒng)的系統(tǒng)拆分為一系列相對獨立,又能基于業(yè)務(wù)的關(guān)聯(lián)關(guān)系相連的子系統(tǒng),從而并行且協(xié)調(diào)完成業(yè)務(wù)的整體處理。例如目前的電商平臺(如支付寶系統(tǒng))、本地化搜索服務(wù)平臺(如58同城)、會員注冊營銷系統(tǒng)等,都可以以分布式業(yè)務(wù)系統(tǒng)來靈活處理各類業(yè)務(wù)。
以會員注冊營銷系統(tǒng)為例,針對會員注冊營銷業(yè)務(wù)涉及的各個功能,可以包括不同的業(yè)務(wù)子系統(tǒng),例如包括:注冊頁面系統(tǒng)a、會員注冊系統(tǒng)b、app推送系統(tǒng)c、認(rèn)證關(guān)聯(lián)系統(tǒng)d、營銷系統(tǒng)e、短信系統(tǒng)h、郵件系統(tǒng)i。如圖1所示,整體業(yè)務(wù)可以按照上述業(yè)務(wù)子系統(tǒng)拆分,并按照拆分后業(yè)務(wù)的內(nèi)在關(guān)聯(lián)關(guān)系執(zhí)行以下處理:
s1:注冊頁面系統(tǒng)a接收會員注冊營銷請求(假設(shè)該請求的業(yè)務(wù)流水號為no.001);
所述會員注冊營銷請求,可以是前臺服務(wù)器接收到客戶端發(fā)送的注冊請求后向分布式業(yè)務(wù)系統(tǒng)中的注冊頁面系統(tǒng)a發(fā)送的會員注冊營銷請求。
s2:注冊頁面系統(tǒng)a解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù),進行相應(yīng)業(yè)務(wù)處理;并確定所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)如果符合業(yè)務(wù)條件1,則將所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)發(fā)送至業(yè)務(wù)條件1對應(yīng)的會員注冊系統(tǒng)b,如果符合業(yè)務(wù)條件2,則將所述數(shù)據(jù)發(fā)送至業(yè)務(wù)條件2對應(yīng)的app推送系統(tǒng)c;
這里,業(yè)務(wù)條件1例如為新注冊,業(yè)務(wù)條件2例如為通過手機注冊。
s3:會員注冊系統(tǒng)b解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù),進行相應(yīng)業(yè)務(wù)處理;并確定所述解析得到的所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)如果符合業(yè)務(wù)條件3,則將所述數(shù)據(jù)發(fā)送至認(rèn)證關(guān)聯(lián)系統(tǒng)d,如果符合業(yè)務(wù)條件4,則將所述數(shù)據(jù)發(fā)送至營銷系統(tǒng)e;
s4:認(rèn)證關(guān)聯(lián)系統(tǒng)d基于接收到的所述數(shù)據(jù)進行相應(yīng)業(yè)務(wù)處理;
s5:營銷系統(tǒng)e解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù),進行相應(yīng)業(yè)務(wù)處理;并確定所述解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)如果符合業(yè)務(wù)條件5,則將所述數(shù)據(jù)發(fā)送至短信系統(tǒng)h,如果符合業(yè)務(wù)條件6,則將所述數(shù)據(jù)發(fā)送至郵件系統(tǒng)i;
s6:短信系統(tǒng)h和郵件系統(tǒng)i分別基于接收到的數(shù)據(jù)進行相應(yīng)業(yè)務(wù)處理。
短信系統(tǒng)h和郵件系統(tǒng)i分別基于接收到的數(shù)據(jù)進行相應(yīng)業(yè)務(wù)處理,可以完成營銷任務(wù)。
在多個子系統(tǒng)協(xié)同完成一次業(yè)務(wù)時,由于業(yè)務(wù)約束(如紅包不符合使用條件、賬戶余額不足等)、系統(tǒng)故障(如網(wǎng)絡(luò)或系統(tǒng)超時或中斷、數(shù)據(jù)庫約束不滿足等)等因素,都可能造成分布式業(yè)務(wù)處理過程的中斷。這種中斷會導(dǎo)致執(zhí)行了部分任務(wù)的數(shù)據(jù)與其它數(shù)據(jù)的不一致,而這種不一致可能對后續(xù)業(yè)務(wù)產(chǎn)生嚴(yán)重后果。因此,為了保障數(shù)據(jù)的一致性,需要檢查分布式任務(wù)的處理完整度。
現(xiàn)有技術(shù)中檢查分布式任務(wù)的處理完整度的一種方法,是將每個業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)處理結(jié)果記錄在表格中,這種表格如表1:
表1
上述方式存儲的數(shù)據(jù)量較大。特別是對于目前大型的互聯(lián)網(wǎng)業(yè)務(wù),一個業(yè)務(wù)很有可能觸發(fā)幾十個子系統(tǒng)進行不同的子業(yè)務(wù)的處理。那么對于一條業(yè)務(wù)流水來說,可能需要一個記錄幾十條數(shù)據(jù)的表格,存儲量較大。
技術(shù)實現(xiàn)要素:
本申請實施例的目的是提供一種檢查分布式業(yè)務(wù)處理完整度的方法及裝置,以減少數(shù)據(jù)存儲量。
為解決上述技術(shù)問題,本申請實施例提供一種檢查分布式業(yè)務(wù)處理完整度的方法及裝置是這樣實現(xiàn)的:
一種檢查分布式業(yè)務(wù)處理完整度的方法,分布式業(yè)務(wù)系統(tǒng)接收業(yè)務(wù)請求并按照業(yè)務(wù)條件將所述業(yè)務(wù)逐級傳遞至后續(xù)業(yè)務(wù)子系統(tǒng);監(jiān)控分布式系統(tǒng)中各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)處理狀態(tài),并包括:
當(dāng)入口業(yè)務(wù)子系統(tǒng)接收到業(yè)務(wù)請求并需要傳遞至第一級業(yè)務(wù)子系統(tǒng)時,對于需要傳遞至的每一第一級業(yè)務(wù)子系統(tǒng),生成入口業(yè)務(wù)子系統(tǒng)與第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識,并將生成的所述聯(lián)合標(biāo)識做異或處理,得到第一檢驗值;
對于每一普通業(yè)務(wù)子系統(tǒng),在完成處理后記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;對于普通業(yè)務(wù)子系統(tǒng)傳遞至的每一下級業(yè)務(wù)子系統(tǒng),生成所述普通業(yè)務(wù)子系統(tǒng)與傳遞至的下級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;每一普通業(yè)務(wù)子系統(tǒng)將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理,并更新第一校驗值;
對于每一葉子業(yè)務(wù)子系統(tǒng),在完成處理后記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;每一葉子業(yè)務(wù)子系統(tǒng)將記錄的聯(lián)合標(biāo)識與第一校驗值做異或處理,并更新第一校驗值。
一種分布式業(yè)務(wù)處理的完整度檢查裝置,分布式業(yè)務(wù)系統(tǒng)接收業(yè)務(wù)請求并 按照業(yè)務(wù)條件將所述業(yè)務(wù)逐級傳遞至后續(xù)業(yè)務(wù)子系統(tǒng),包括:
監(jiān)控單元,用于監(jiān)控所述分布式系統(tǒng)中各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)處理狀態(tài);
第一生成單元,當(dāng)入口業(yè)務(wù)子系統(tǒng)接收到業(yè)務(wù)請求并需要傳遞至第一級業(yè)務(wù)子系統(tǒng)時,對于需要傳遞至的每一第一級業(yè)務(wù)子系統(tǒng),生成入口業(yè)務(wù)子系統(tǒng)與第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
第一異或單元,用于將第一生成單元生成的所述聯(lián)合標(biāo)識做異或處理,得到第一檢驗值;
記錄單元,對于每一業(yè)務(wù)子系統(tǒng),在完成處理后記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;
第二生成單元,對于普通業(yè)務(wù)子系統(tǒng)傳遞至的每一下級業(yè)務(wù)子系統(tǒng),生成所述普通業(yè)務(wù)子系統(tǒng)與傳遞至的下級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
第二異或單元,對于每一普通業(yè)務(wù)子系統(tǒng),將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理,并更新第一校驗值;對每一葉子業(yè)務(wù)子系統(tǒng),將記錄的聯(lián)合標(biāo)識與第一校驗值做異或處理,并更新第一校驗值。
一種檢查分布式業(yè)務(wù)處理完整度的方法,分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù)子系統(tǒng)時,生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;當(dāng)分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)在完成處理后,記錄上一級業(yè)務(wù)子系統(tǒng)傳遞至該業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
且包括:
對于入口業(yè)務(wù)子系統(tǒng),對該業(yè)務(wù)子系統(tǒng)中生成的聯(lián)合標(biāo)識進行異或處理得到檢驗值;
對于入口業(yè)務(wù)子系統(tǒng)之外的每一級業(yè)務(wù)子系統(tǒng),對該級業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識與上一級業(yè)務(wù)子系統(tǒng)的檢驗值進行異或處理;得到最終的檢驗值。
一種分布式業(yè)務(wù)處理的完整度檢查裝置,包括:
第三生成單元,分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù) 子系統(tǒng)時,生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
記錄單元,當(dāng)分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)在完成處理后,記錄上一級業(yè)務(wù)子系統(tǒng)傳遞至該業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
第三異或單元,對于入口業(yè)務(wù)子系統(tǒng),對該業(yè)務(wù)子系統(tǒng)中生成的聯(lián)合標(biāo)識進行異或處理得到檢驗值;
第四異或單元,對于入口業(yè)務(wù)子系統(tǒng)之外的每一級業(yè)務(wù)子系統(tǒng),對該級業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識與上一級業(yè)務(wù)子系統(tǒng)的檢驗值進行異或處理;得到最終的檢驗值。
一種檢查分布式業(yè)務(wù)處理完整度的方法,分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù)子系統(tǒng)時,生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;當(dāng)分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)在完成處理后,記錄上一級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;
且包括:
將每一業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識進行異或處理,得到最終的檢驗值。
一種分布式業(yè)務(wù)處理的完整度檢查裝置,包括:
第四生成單元,分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù)子系統(tǒng)時,生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
記錄單元,當(dāng)分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)在完成處理后,記錄上一級業(yè)務(wù)子系統(tǒng)傳遞至該業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
第七異或單元,將每一業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識進行異或處理,得到最終的檢驗值。
由以上本申請各實施例提供的技術(shù)方案可見,本申請實施例不需要像現(xiàn)有技術(shù)那樣通過龐大的表格記錄每個業(yè)務(wù)子系統(tǒng),而是通過所述規(guī)則進行異或運算,能夠用較少的空間存儲分布式系統(tǒng)的業(yè)務(wù)處理情況。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)一種檢查分布式業(yè)務(wù)處理完整度的方法的示意圖;
圖2為本申請一實施例提供的一種檢查分布式業(yè)務(wù)處理完整度的架構(gòu)圖;
圖3為本申請一實施例提供的一種檢查分布式業(yè)務(wù)處理完整度方法的流程圖。
具體實施方式
本申請實施例提供一種檢查分布式業(yè)務(wù)處理完整度的方法及裝置。
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。
本申請給出了一種檢查分布式業(yè)務(wù)處理完整度的方法實施例。下面結(jié)合圖2和圖3詳細描述本發(fā)明實施例。圖2所示的注冊頁面系統(tǒng)a可以為入口業(yè)務(wù)子系統(tǒng)。分布式系統(tǒng)中,入口業(yè)務(wù)子系統(tǒng)可以連接第一級業(yè)務(wù)子系統(tǒng);第一級業(yè)務(wù)子系統(tǒng)中可以包括與入口業(yè)務(wù)子系統(tǒng)存在業(yè)務(wù)連接關(guān)系的一個或多個業(yè)務(wù)子系統(tǒng)。類似的,第一級業(yè)務(wù)子系統(tǒng)可以連接第二級業(yè)務(wù)子系統(tǒng);第二級業(yè)務(wù)子系統(tǒng)可以包括與第一級業(yè)務(wù)子系統(tǒng)存在業(yè)務(wù)連接關(guān)系的一個或多個業(yè)務(wù)子系統(tǒng)。類似的,第二級業(yè)務(wù)子系統(tǒng)可以連接第三級業(yè)務(wù)子系統(tǒng);第三級業(yè)務(wù)子系統(tǒng)可以包括與第二級業(yè)務(wù)子系統(tǒng)存在業(yè)務(wù)連接關(guān)系的一個或多個業(yè)務(wù)子系統(tǒng);等等。圖2所示的分布式系統(tǒng)中包括一個入口業(yè)務(wù)子系統(tǒng),第一級業(yè)務(wù)子系統(tǒng),第二級業(yè)務(wù)子系統(tǒng)和第三級業(yè)務(wù)子系統(tǒng)。本領(lǐng)域技術(shù)人員知道,不同 的分布式系統(tǒng)中,可以包括相同、更多或更少的業(yè)務(wù)子系統(tǒng)層級,例如包括五級業(yè)務(wù)子系統(tǒng)。這里僅僅是舉例而并不做限定。
上述分布式系統(tǒng)中,除了入口業(yè)務(wù)子系統(tǒng)外,第一級至第n級業(yè)務(wù)子系統(tǒng)可以設(shè)置普通業(yè)務(wù)子系統(tǒng)和葉子業(yè)務(wù)子系統(tǒng)。所述普通業(yè)務(wù)子系統(tǒng),可以與上級業(yè)務(wù)子系統(tǒng)存在業(yè)務(wù)連接,且與下一級業(yè)務(wù)子系統(tǒng)存在業(yè)務(wù)連接。所述葉子業(yè)務(wù)子系統(tǒng),可以僅與上級業(yè)務(wù)子系統(tǒng)存在業(yè)務(wù)連接,而不存在有業(yè)務(wù)連接的下一級業(yè)務(wù)子系統(tǒng)。
如圖2中,第一級業(yè)務(wù)子系統(tǒng)中的會員注冊系統(tǒng)b即是普通業(yè)務(wù)子系統(tǒng),app推送系統(tǒng)c即是葉子業(yè)務(wù)子系統(tǒng);第二級業(yè)務(wù)子系統(tǒng)中的認(rèn)證關(guān)聯(lián)系統(tǒng)d為葉子業(yè)務(wù)子系統(tǒng),營銷系統(tǒng)e是普通業(yè)務(wù)子系統(tǒng);第三級業(yè)務(wù)子系統(tǒng)中的短信系統(tǒng)h和郵件系統(tǒng)i均是葉子業(yè)務(wù)子系統(tǒng)。
系統(tǒng)p所在框內(nèi)表示另一分布式系統(tǒng)。通常,對于提供綜合業(yè)務(wù)的網(wǎng)絡(luò)服務(wù)提供商,可以具有多個分布式業(yè)務(wù)系統(tǒng),以處理不同的業(yè)務(wù)。
本申請一種檢查分布式業(yè)務(wù)處理完整度的方法實施例,流程可以如圖3所示,包括:
s310:分布式業(yè)務(wù)系統(tǒng)接收業(yè)務(wù)請求并按照業(yè)務(wù)條件將所述業(yè)務(wù)逐級傳遞至后續(xù)業(yè)務(wù)子系統(tǒng)。
例如圖2所示,一分布式業(yè)務(wù)系統(tǒng)包括注冊頁面系統(tǒng)a,會員注冊系統(tǒng)b,app推送系統(tǒng)c,認(rèn)證關(guān)聯(lián)系統(tǒng)d,營銷系統(tǒng)e,短信系統(tǒng)h,郵件系統(tǒng)i。整體業(yè)務(wù)可以按照上述業(yè)務(wù)子系統(tǒng)拆分,并按照拆分后業(yè)務(wù)的內(nèi)在關(guān)聯(lián)關(guān)系執(zhí)行以下處理:
s1:注冊頁面系統(tǒng)a接收會員注冊營銷請求(假設(shè)該請求的業(yè)務(wù)流水號為no.001);
所述會員注冊營銷請求,可以是前臺服務(wù)器接收到客戶端發(fā)送的注冊請求后向分布式業(yè)務(wù)系統(tǒng)中的注冊頁面系統(tǒng)a發(fā)送的會員注冊營銷請求。
s2:注冊頁面系統(tǒng)a解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù), 進行相應(yīng)業(yè)務(wù)處理;并確定所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)如果符合業(yè)務(wù)條件1,則將所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)發(fā)送至業(yè)務(wù)條件1對應(yīng)的會員注冊系統(tǒng)b,如果符合業(yè)務(wù)條件2,則將所述數(shù)據(jù)發(fā)送至業(yè)務(wù)條件2對應(yīng)的app推送系統(tǒng)c;
這里,業(yè)務(wù)條件1例如為新注冊,業(yè)務(wù)條件2例如為通過手機注冊。
s3:會員注冊系統(tǒng)b解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù),進行相應(yīng)業(yè)務(wù)處理;并確定所述解析得到的所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)如果符合業(yè)務(wù)條件3,則將所述數(shù)據(jù)發(fā)送至認(rèn)證關(guān)聯(lián)系統(tǒng)d,如果符合業(yè)務(wù)條件4,則將所述數(shù)據(jù)發(fā)送至營銷系統(tǒng)e;
s4:認(rèn)證關(guān)聯(lián)系統(tǒng)d基于接收到的所述數(shù)據(jù)進行相應(yīng)業(yè)務(wù)處理;
s5:營銷系統(tǒng)e解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù),進行相應(yīng)業(yè)務(wù)處理;并確定所述解析所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)如果符合業(yè)務(wù)條件5,則將所述數(shù)據(jù)發(fā)送至短信系統(tǒng)h,如果符合業(yè)務(wù)條件6,則將所述數(shù)據(jù)發(fā)送至郵件系統(tǒng)i;
s6:短信系統(tǒng)h和郵件系統(tǒng)i分別基于接收到的數(shù)據(jù)進行相應(yīng)業(yè)務(wù)處理。
短信系統(tǒng)h和郵件系統(tǒng)i分別基于接收到的數(shù)據(jù)進行相應(yīng)業(yè)務(wù)處理,可以完成營銷任務(wù)。
上述過程中:注冊頁面系統(tǒng)a為入口業(yè)務(wù)子系統(tǒng);會員注冊系統(tǒng)b,app推送系統(tǒng)c,營銷系統(tǒng)e為中間業(yè)務(wù)子系統(tǒng);認(rèn)證關(guān)聯(lián)系統(tǒng)d,短信系統(tǒng)h,郵件系統(tǒng)i為葉子業(yè)務(wù)子系統(tǒng)。其中,會員注冊系統(tǒng)b和app推送系統(tǒng)c為第一級業(yè)務(wù)子系統(tǒng);認(rèn)證關(guān)聯(lián)系統(tǒng)d和營銷系統(tǒng)e為第二級業(yè)務(wù)子系統(tǒng);短信系統(tǒng)h和郵件系統(tǒng)i為第三級業(yè)務(wù)子系統(tǒng)。
s320:當(dāng)入口業(yè)務(wù)子系統(tǒng)接收到業(yè)務(wù)請求并需要傳遞至第一級業(yè)務(wù)子系統(tǒng)時,對于需要傳遞至的每一第一級業(yè)務(wù)子系統(tǒng),生成入口業(yè)務(wù)子系統(tǒng)與第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識,并將生成的所述聯(lián)合標(biāo)識做異或處理,得到第一檢驗值。
這里,為了便于理解,分布式業(yè)務(wù)系統(tǒng)例如為會員營銷系統(tǒng),則入口業(yè)務(wù)子系統(tǒng)例如為注冊頁面系統(tǒng)a,相應(yīng)地,業(yè)務(wù)處理請求例如為會員注冊營銷請求。
另外,所述業(yè)務(wù)請求可以具有業(yè)務(wù)流水號,例如為no.001。
所述入口業(yè)務(wù)子系統(tǒng)接收到業(yè)務(wù)請求之后,可以對業(yè)務(wù)請求進行處理,并可以按照預(yù)設(shè)業(yè)務(wù)條件將相關(guān)數(shù)據(jù)傳遞至第一級業(yè)務(wù)子系統(tǒng)。這里的第一級業(yè)務(wù)子系統(tǒng)例如為圖2中所示的會員注冊系統(tǒng)b和app推送系統(tǒng)c。
對于需要傳遞至的每一第一級業(yè)務(wù)子系統(tǒng),生成入口業(yè)務(wù)子系統(tǒng)與每一第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識。例如,對于會員注冊系統(tǒng)b,可以生成入口業(yè)務(wù)子系統(tǒng)與第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識,即生成注冊頁面系統(tǒng)a與會員注冊系統(tǒng)b的聯(lián)合標(biāo)識,例如為tokenab;對于app推送系統(tǒng)c,可以生成入口業(yè)務(wù)子系統(tǒng)與第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識,即生成注冊頁面系統(tǒng)a與app推送系統(tǒng)c的聯(lián)合標(biāo)識,例如為tokenac。
對入口業(yè)務(wù)子系統(tǒng)與每一第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識做異或處理,得到第一檢驗值。
數(shù)學(xué)計算中的異或處理規(guī)則如下:
a⊕a=0
a⊕0=a
a⊕(b⊕c)=(a⊕b)⊕c
即一個數(shù)與它自身異或結(jié)果為0,同時異或運算符滿足結(jié)合律。
例如,將上述會員注冊系統(tǒng)b和app推送系統(tǒng)c生成的聯(lián)合標(biāo)識tokenab和tokenac做異或處理,結(jié)果為tokenab⊕tokenac。該tokenab⊕tokenac即為第一檢驗值。
需要說明的是,如果需要傳遞至的每一第一級業(yè)務(wù)子系統(tǒng)僅包括一個第一級業(yè)務(wù)子系統(tǒng),比如說,圖2的例子中,在僅滿足條件1時,需要傳遞至的第一級業(yè)務(wù)子系統(tǒng)只包括會員注冊系統(tǒng)b,則此時只會生成注冊頁面系統(tǒng)a與會 員注冊系統(tǒng)b的聯(lián)合標(biāo)識tokenab,此時就不存在異或處理的情況。本申請中,s310包括這里的需要傳遞至的每一第一級業(yè)務(wù)子系統(tǒng)僅包括一個第一級業(yè)務(wù)子系統(tǒng),無需做異或處理的情況。
s330:對于每一普通業(yè)務(wù)子系統(tǒng),在完成處理后記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;對于普通業(yè)務(wù)子系統(tǒng)傳遞至的每一下級業(yè)務(wù)子系統(tǒng),生成所述普通業(yè)務(wù)子系統(tǒng)與傳遞至的下級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;每一普通業(yè)務(wù)子系統(tǒng)將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理,并更新第一校驗值;對于每一葉子業(yè)務(wù)子系統(tǒng),在完成處理后記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;每一葉子業(yè)務(wù)子系統(tǒng)將記錄的聯(lián)合標(biāo)識與第一校驗值做異或處理,并更新第一校驗值。
s320之后,入口業(yè)務(wù)子系統(tǒng)可以將生成的聯(lián)合標(biāo)識傳遞至對應(yīng)的第一級業(yè)務(wù)子系統(tǒng)。結(jié)合圖2即注冊頁面系統(tǒng)a將生成的聯(lián)合標(biāo)識tokenab傳遞至?xí)T注冊系統(tǒng)b,將生成的聯(lián)合標(biāo)識tokenac傳遞至app推送系統(tǒng)c。相應(yīng)地,第一級業(yè)務(wù)子系統(tǒng)可以接收傳遞的聯(lián)合標(biāo)識??梢栽诘谝患墭I(yè)務(wù)子系統(tǒng)完成處理后記錄每一第一級業(yè)務(wù)子系統(tǒng)接收的上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識。類似的,對于同一級中的業(yè)務(wù)子系統(tǒng),可以在完成處理后記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識。
仍然結(jié)合圖2,對于每一第一級業(yè)務(wù)子系統(tǒng)記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識,即對于會員注冊系統(tǒng)b和app推送系統(tǒng)c,在完成對應(yīng)的處理后,可以分別記錄上級業(yè)務(wù)子系統(tǒng)分別傳遞的聯(lián)合標(biāo)識tokenab和tokenac。
對于普通業(yè)務(wù)子系統(tǒng),其在業(yè)務(wù)處理完成后需要傳遞至的每一下級子系統(tǒng),生成所述普通業(yè)務(wù)子系統(tǒng)與傳遞至的下級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識。所述普通業(yè)務(wù)子系統(tǒng)在業(yè)務(wù)處理完成后需要傳遞至的每一下級子系統(tǒng),具體可以是:所述第一級業(yè)務(wù)子系統(tǒng)在業(yè)務(wù)處理完成后按照預(yù)設(shè)規(guī)則需要傳遞至的每一下級子系統(tǒng)。
結(jié)合圖2,例如,會員注冊系統(tǒng)b為普通業(yè)務(wù)子系統(tǒng),其解析所述會員注 冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù),進行相應(yīng)業(yè)務(wù)處理;并確定所述解析得到的所述會員注冊營銷請求對應(yīng)的會員注冊相關(guān)數(shù)據(jù)如果符合條件3,則將所述數(shù)據(jù)發(fā)送至認(rèn)證關(guān)聯(lián)系統(tǒng)d,如果符合條件4,則將所述數(shù)據(jù)發(fā)送至營銷系統(tǒng)e。這樣,對于認(rèn)證關(guān)聯(lián)系統(tǒng)d,可以生成會員注冊系統(tǒng)b與認(rèn)證關(guān)聯(lián)系統(tǒng)d的聯(lián)合標(biāo)識tokenbd;對于營銷系統(tǒng)e,可以生成會員注冊系統(tǒng)b與營銷系統(tǒng)e的聯(lián)合標(biāo)識tokenbe。
每一普通業(yè)務(wù)子系統(tǒng)可以將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理,并更新第一校驗值。例如,會員注冊系統(tǒng)b在完成對應(yīng)的處理后,記錄了聯(lián)合標(biāo)識tokenab;會員注冊系統(tǒng)b還生成聯(lián)合標(biāo)識tokenbd和tokenbe。會員注冊系統(tǒng)b可以將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理。具體的,記錄的聯(lián)合標(biāo)識為tokenab,生成的聯(lián)合標(biāo)識為tokenbd和tokenbe,第一校驗值為tokenab⊕tokenac;三者異或處理結(jié)果為:tokenab⊕tokenbd⊕tokenbe⊕tokenab⊕tokenac=tokenbd⊕tokenbe⊕tokenac。可以將第一校驗值更新為上述異或處理的結(jié)果。
圖2中,app推送系統(tǒng)c為葉子業(yè)務(wù)子系統(tǒng),因此其在業(yè)務(wù)處理完成后,記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識tokenac。每一葉子業(yè)務(wù)子系統(tǒng)將記錄的聯(lián)合標(biāo)識與第一校驗值做異或處理,并更新第一校驗值。具體的,app推送系統(tǒng)c記錄的聯(lián)合標(biāo)識為tokenac,此時的第一校驗值為tokenbd⊕tokenbe⊕tokenac。兩者異或處理為tokenac⊕tokenbd⊕tokenbe⊕tokenac=tokenbd⊕tokenbe??梢詫⒌谝恍r炛蹈聻樯鲜霎惢蛱幚淼慕Y(jié)果。
對于傳遞至的每一級業(yè)務(wù)子系統(tǒng),可以重復(fù)上述處理,直至所有業(yè)務(wù)子系統(tǒng)完成業(yè)務(wù)處理或處理終止。
結(jié)合圖2,對于每一下級業(yè)務(wù)子系統(tǒng),例如第二級業(yè)務(wù)子系統(tǒng),在完成對應(yīng)的處理后,可以記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識,即記錄認(rèn)證關(guān)聯(lián)系統(tǒng)d接收到的tokenbd和營銷系統(tǒng)e接收到的tokenbe。
對于第二級業(yè)務(wù)子系統(tǒng)的認(rèn)證關(guān)聯(lián)系統(tǒng)d和營銷系統(tǒng)e:認(rèn)證關(guān)聯(lián)系統(tǒng)d 為葉子業(yè)務(wù)子系統(tǒng),處理完畢之后不再傳遞至更下一級子系統(tǒng);營銷系統(tǒng)e為普通業(yè)務(wù)子系統(tǒng),處理完畢之后傳遞至更下一級的第二級業(yè)務(wù)子系統(tǒng),即短信系統(tǒng)h和郵件系統(tǒng)i,因此生成聯(lián)合標(biāo)識tokeneh和tokenei。認(rèn)證關(guān)聯(lián)系統(tǒng)d將記錄的聯(lián)合標(biāo)識與第一校驗值做異或處理,并更新第一校驗值,具體為,tokenbd⊕tokenbd⊕tokenbe=tokenbe。營銷系統(tǒng)e將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理,并更新第一校驗值,具體為,tokenbe⊕tokeneh⊕tokenei⊕tokenbe=tokeneh⊕tokenei。
對于第三級業(yè)務(wù)子系統(tǒng)的短信系統(tǒng)h和郵件系統(tǒng)i,兩者都是葉子業(yè)務(wù)子系統(tǒng)。短信系統(tǒng)h在完成處理后,可以記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識,即記錄營銷系統(tǒng)e傳遞的tokeneh。短信系統(tǒng)h將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理,并更新第一校驗值,具體為tokeneh⊕tokeneh⊕tokenei=tokenei。郵件系統(tǒng)i在完成處理后,可以記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識,即記錄營銷系統(tǒng)e傳遞的tokenei。郵件系統(tǒng)i將記錄的聯(lián)合標(biāo)識與生成的聯(lián)合標(biāo)識及第一校驗值做異或處理,并更新第一校驗值,具體為tokenei⊕tokenei=0。
也就是說,如果一個分布式業(yè)務(wù)系統(tǒng)中對業(yè)務(wù)請求完成了所有處理,按照本申請上述實施例的處理方式,最終結(jié)果為0。換句話說,按照上述方法得到的最終檢驗值為0表示所述分布式業(yè)務(wù)系統(tǒng)中對業(yè)務(wù)請求完成了所有處理。
按照上述處理,假設(shè)短信系統(tǒng)h并沒有完成處理,則完整度檢查裝置并不記錄短息系統(tǒng)h接收的上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識eh,則按照上述處理方式,最終結(jié)果為tokenei⊕tokeneh⊕tokenei,即為tokeneh。該結(jié)果可以表明該分布式系統(tǒng)終止于短信系統(tǒng)h,可能是沒有將業(yè)務(wù)傳遞至業(yè)務(wù)子系統(tǒng)h,也可能是業(yè)務(wù)子系統(tǒng)h未完成處理。存在的聯(lián)合標(biāo)識tokeneh說明業(yè)務(wù)子系統(tǒng)e至少已生成與傳遞至的業(yè)務(wù)子系統(tǒng)h的聯(lián)合標(biāo)識。換句話說,按照上述方法得到的最終檢驗值為聯(lián)合標(biāo)識,如果最終結(jié)果為一個聯(lián)合標(biāo)識,則該聯(lián)合標(biāo)識中的后一個對應(yīng)的業(yè)務(wù)子系統(tǒng)未完成業(yè)務(wù)處理,即所述分布式業(yè)務(wù)系統(tǒng)處理所 述業(yè)務(wù)請求終止時停留的業(yè)務(wù)子系統(tǒng)。
類似的,如果最終結(jié)果兩個或更多的聯(lián)合標(biāo)識,則每個聯(lián)合標(biāo)識中的后一個對應(yīng)的業(yè)務(wù)子系統(tǒng)皆未完成業(yè)務(wù)處理。例如,最終結(jié)果為tokeneh⊕tokenei,即有兩個聯(lián)合標(biāo)識,第一個聯(lián)合標(biāo)識eh中的后一個h表示業(yè)務(wù)子系統(tǒng)h未完成業(yè)務(wù)處理,第二個聯(lián)合標(biāo)識ei中的后一個i表示郵件系統(tǒng)i未完成業(yè)務(wù)處理。
結(jié)合圖2并按照上述處理方式,再例如:
(1)注冊頁面系統(tǒng)a生成ab和ac,得到第一檢驗值tokenab⊕tokenac;
(2)會員注冊系統(tǒng)b完成相應(yīng)處理,則記錄接收的tokenab,app注冊系統(tǒng)c完成相應(yīng)處理,則記錄接收到的tokenac;會員注冊系統(tǒng)b生成tokenbd和tokenbe,并將生成的tokenbd和tokenbe分別傳遞至認(rèn)證關(guān)聯(lián)系統(tǒng)d和營銷系統(tǒng)e;得到第二校驗值tokenab⊕tokenac⊕tokenbd⊕tokenbe⊕tokenab⊕tokenac=tokenbd⊕tokenbe;
(3)假設(shè)認(rèn)證關(guān)聯(lián)系統(tǒng)d完成處理,則記錄認(rèn)證關(guān)聯(lián)系統(tǒng)d接收的上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識tokenbd;假設(shè)營銷系統(tǒng)e未完成處理,則并不記錄tokenbe;由于營銷系統(tǒng)e未完成處理,也不會生成tokeneh和tokenei;得到第三校驗值tokenbd⊕tokenbd⊕tokenbe=tokenbe。
上述結(jié)果表明,分布式業(yè)務(wù)系統(tǒng)業(yè)務(wù)處理終止于營銷系統(tǒng)e。
相關(guān)人員后相關(guān)系統(tǒng)在得到所述分布式業(yè)務(wù)系統(tǒng)的處理結(jié)果be后,可以進行相應(yīng)的后續(xù)業(yè)務(wù)處理,如檢查并排除營銷系統(tǒng)e的故障,或者重啟營銷系統(tǒng)e的業(yè)務(wù)處理。
上面例子僅示出了具有一個入口業(yè)務(wù)子系統(tǒng)和三級業(yè)務(wù)子系統(tǒng)的分布式系統(tǒng),實際當(dāng)中的分布式業(yè)務(wù)系統(tǒng)可能具有數(shù)十級甚至上百級的業(yè)務(wù)子系統(tǒng)。通過本申請實施例提供的方法,不需要像現(xiàn)有技術(shù)那樣通過龐大的表格記錄每個業(yè)務(wù)子系統(tǒng),而是通過所述規(guī)則進行異或運算,能夠用較少的空間存儲分布 式系統(tǒng)的業(yè)務(wù)處理情況。
此外,現(xiàn)有技術(shù)還有一種同步調(diào)用的處理方式?,F(xiàn)有技術(shù)中圖1所示的上級業(yè)務(wù)子系統(tǒng)對下級業(yè)務(wù)子系統(tǒng)的所有調(diào)用鏈路強制全部修改為同步方式調(diào)用。即a系統(tǒng)必須等待c系統(tǒng)和b系統(tǒng)處理完成之后再向上返回業(yè)務(wù)結(jié)果;同理系統(tǒng)b必須等待系統(tǒng)e和系統(tǒng)d處理完成之后再向上返回業(yè)務(wù)結(jié)果;同理系統(tǒng)e必須等待系統(tǒng)h和系統(tǒng)i處理完成之后再返回業(yè)務(wù)結(jié)果。這樣,當(dāng)其中的某一個階段出現(xiàn)異常,上層調(diào)用系統(tǒng)就會感知到。但是,現(xiàn)有技術(shù)這種方式采用同步的方式,對于一些非重要的子業(yè)務(wù),可以非異步處理的情況下,也強制同步處理,會拉長整個分布式系統(tǒng)對業(yè)務(wù)的處理時間,也會降低對用戶端的響應(yīng)時間,導(dǎo)致用戶體驗的下降,同時還會影響到系統(tǒng)整體的吞吐量。
而本申請上述實施例的方案,不需要同步處理也能及時檢查分布式系統(tǒng)的業(yè)務(wù)處理情況,不會拉長業(yè)務(wù)的處理時間,也不會影響客戶的體驗,且不會影響系統(tǒng)整體的吞吐量。
本申請還提供一種分布式業(yè)務(wù)處理的完整度檢查裝置實施例,包括:
監(jiān)控單元,用于監(jiān)控分布式系統(tǒng)中各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)處理狀態(tài);
第一生成單元,當(dāng)入口業(yè)務(wù)子系統(tǒng)接收到業(yè)務(wù)請求并傳遞至第一級業(yè)務(wù)子系統(tǒng)時,對于傳遞至的每一第一級業(yè)務(wù)子系統(tǒng),生成入口業(yè)務(wù)子系統(tǒng)與第一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
第一異或單元,用于將第一生成單元生成的所述聯(lián)合標(biāo)識做異或處理,得到第一檢驗值;
記錄單元,對于每一業(yè)務(wù)子系統(tǒng),在完成處理后記錄上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;
第二生成單元,對于業(yè)務(wù)子系統(tǒng)在業(yè)務(wù)處理完成后需要傳遞至的每一下級子系統(tǒng),生成本級子系統(tǒng)與下級子系統(tǒng)的聯(lián)合標(biāo)識;
第二異或單元,將所述記錄單元記錄的聯(lián)合標(biāo)識和第二生成單元生成的聯(lián)合標(biāo)識與上一次得到的檢驗值做異或處理,得到新的檢驗值。
優(yōu)選的,所述裝置設(shè)置于所述分布式系統(tǒng)內(nèi)或外。
優(yōu)選的,所述業(yè)務(wù)請求具有流水號。
優(yōu)選的,所述聯(lián)合標(biāo)識包括聯(lián)合業(yè)務(wù)子系統(tǒng)的標(biāo)識。
優(yōu)選的,所述記錄單元不記錄該沒有完成處理的業(yè)務(wù)子系統(tǒng)接收的上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識。
以下介紹本申請另一檢查分布式業(yè)務(wù)處理完整度的方法實施例,該實施例中,分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù)子系統(tǒng)時,完整度檢查裝置生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;當(dāng)分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)在完成處理后,記完整度檢查裝置錄上一級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;
且包括:
對于入口業(yè)務(wù)子系統(tǒng),完整度檢查裝置對該業(yè)務(wù)子系統(tǒng)中生成的聯(lián)合標(biāo)識進行異或處理得到檢驗值;
對于入口業(yè)務(wù)子系統(tǒng)之外的每一級業(yè)務(wù)子系統(tǒng),完整度檢查裝置對該級業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識與上一級業(yè)務(wù)子系統(tǒng)的檢驗值進行異或處理,得到最終的檢驗值。
特別的,對于最后一級業(yè)務(wù)子系統(tǒng),一般都是葉子業(yè)務(wù)子系統(tǒng),沒有生成的聯(lián)合標(biāo)識。這種情況,可以認(rèn)為生成的聯(lián)合標(biāo)識為0,根據(jù)前述異或運算顧慮,0參與異或運算,并不影響運算結(jié)果。
本說明書中的各個實施例采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以下介紹本申請另一種分布式業(yè)務(wù)處理的完整度檢查裝置實施例,包括:
第三生成單元,分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù)子系統(tǒng)時,生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
記錄單元,當(dāng)分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)在完成處理后,記錄上一級業(yè)務(wù)子系統(tǒng)傳遞至該業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
第三異或單元,對于入口業(yè)務(wù)子系統(tǒng),對該業(yè)務(wù)子系統(tǒng)中生成的聯(lián)合標(biāo)識進行異或處理得到檢驗值;
第四異或單元,對于入口業(yè)務(wù)子系統(tǒng)之外的每一級業(yè)務(wù)子系統(tǒng),對該級業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識與上一級業(yè)務(wù)子系統(tǒng)的檢驗值進行異或處理;得到最終的檢驗值。
以下介紹本申請一種檢查分布式業(yè)務(wù)處理完整度的方法實施例,分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù)子系統(tǒng)時,生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;當(dāng)分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)在完成處理后,記錄上一級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識;
且包括:
將每一業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識進行異或處理,得到最終的檢驗值。
仍以圖2為例,本實施例中,可以集中對生成的和傳遞的聯(lián)合標(biāo)識統(tǒng)一做異或處理。例如,流水號為no.001的業(yè)務(wù)請求:
在入口業(yè)務(wù)子系統(tǒng)中生成將要傳遞至下級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識tokenab和tokenac;
業(yè)務(wù)子系統(tǒng)b完成處理后,記錄業(yè)務(wù)子系統(tǒng)b接收的傳遞的聯(lián)合標(biāo)識tokenab;
業(yè)務(wù)子系統(tǒng)c完成處理后,記錄業(yè)務(wù)子系統(tǒng)c接收的傳遞的聯(lián)合標(biāo)識tokenac;
業(yè)務(wù)子系統(tǒng)b生成將要傳遞至下級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識tokenbd和 tokenbe;
業(yè)務(wù)子系統(tǒng)d完成處理后,記錄業(yè)務(wù)子系統(tǒng)d接收的傳遞的聯(lián)合標(biāo)識tokenbd;
業(yè)務(wù)子系統(tǒng)e完成處理后,記錄業(yè)務(wù)子系統(tǒng)e接收的傳遞的聯(lián)合標(biāo)識tokenbe;
業(yè)務(wù)子系統(tǒng)e生成將要傳遞至下級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識tokeneh和tokenei;
業(yè)務(wù)子系統(tǒng)h完成處理后,記錄業(yè)務(wù)子系統(tǒng)h接收的傳遞的聯(lián)合標(biāo)識tokeneh;
業(yè)務(wù)子系統(tǒng)i完成處理后,記錄業(yè)務(wù)子系統(tǒng)i接收的傳遞的聯(lián)合標(biāo)識tokenei;
假設(shè)每一級業(yè)務(wù)子系統(tǒng)都完成處理,將上述入口業(yè)務(wù)子系統(tǒng)生成的聯(lián)合標(biāo)識、入口業(yè)務(wù)子系統(tǒng)之外的每一級業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識進行異或處理,則最終的檢驗結(jié)果如下得到:
tokenab⊕tokenac⊕tokenab⊕tokenac⊕tokenbd⊕tokenbe⊕tokenbd⊕tokenbe⊕tokeneh⊕tokenei⊕tokeneh⊕tokenei=0。
類似的,按照上述處理,假設(shè)短信系統(tǒng)h并沒有完成處理,則完整度檢查裝置并不記錄短息系統(tǒng)h接收的上級業(yè)務(wù)子系統(tǒng)傳遞的聯(lián)合標(biāo)識tokeneh,則按照上述處理方式,最終結(jié)果為tokeneh。該結(jié)果可以表明該分布式系統(tǒng)終止于短信系統(tǒng)h,即業(yè)務(wù)子系統(tǒng)h未完成處理。
以下介紹本申請一種分布式業(yè)務(wù)處理的完整度檢查裝置實施例,包括:
第四生成單元,分布式系統(tǒng)中每一業(yè)務(wù)子系統(tǒng)傳遞業(yè)務(wù)請求至下一級業(yè)務(wù)子系統(tǒng)時,生成本業(yè)務(wù)子系統(tǒng)與傳遞至的下一級業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
記錄單元,當(dāng)分布式系統(tǒng)中任一業(yè)務(wù)子系統(tǒng)在完成處理后,記錄上一級業(yè)務(wù)子系統(tǒng)傳遞至該業(yè)務(wù)子系統(tǒng)的聯(lián)合標(biāo)識;
第七異或單元,將每一業(yè)務(wù)子系統(tǒng)中記錄的聯(lián)合標(biāo)識及生成的聯(lián)合標(biāo)識進行異或處理,得到最終的檢驗值。
在20世紀(jì)90年代,對于一個技術(shù)的改進可以很明顯地區(qū)分是硬件上的改進(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進)還是軟件上的改進(對于方法流程的改進)。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進。設(shè)計人員幾乎都通過將改進的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器 或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算 機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非 排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。