事件的處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種事件的處理方法及裝置。
【背景技術(shù)】
[0002] 目前,在計算機領(lǐng)域中,事件的處理一般包括異步操作和同步操作。異步操作是指 在處理一個事件時,還可以同時處理其他事件。而同步操作是指在處理一個事件時,在該事 件完成之前,不能處理其他事件。隨著計算機技術(shù)中各種功能的完善,處理的業(yè)務(wù)進一步復 雜化,各種事件也越來越多。以修改密碼為例,當前較為簡單的密碼修改過程也包括多個事 件:事件一、確認用戶的賬戶是否登陸;事件二、若賬戶已經(jīng)登陸,接收用戶輸入的新密碼; 事件三、校驗所述新密碼是否合法;事件四、若所述新密碼合法,向服務(wù)器提交密碼修改; 事件五、若密碼修改成功,向外提示用戶密碼修改成功??梢?,每個事件的執(zhí)行均需要依賴 于上一個事件。
[0003] 目前,若要完成一連串的多個事件操作,一般需要應(yīng)用到異步(簡稱Async)技術(shù), 在Async技術(shù)中一般包括兩種對事件的處理方式,其中一種是依次檢測事件執(zhí)行隊列中的 各事件是否完成,如果完成,再執(zhí)行事件執(zhí)行隊列中已完成事件的后續(xù)事件。另一種是對事 件進行監(jiān)聽,若監(jiān)聽到某一事件完成,則執(zhí)行隊列中該事件的后續(xù)事件。隨著數(shù)據(jù)業(yè)務(wù)的增 大,當前一個事件執(zhí)行隊列中的事件數(shù)量也逐漸增多,事件的業(yè)務(wù)邏輯復雜度也逐漸增高, 例如事件執(zhí)行隊列不僅僅是從隊列頭部順序執(zhí)行到隊列尾部,還可以不按照順序進行執(zhí)行 等,即當前的事件執(zhí)行隊列并非按照線性執(zhí)行。而通過Async技術(shù)處理事件的方式僅能按 照線性執(zhí)行事件執(zhí)行隊列,而難以處理邏輯復雜度較高的非線性事件執(zhí)行隊列。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的實施例提供一種事件的處理方法及裝置,能夠解決現(xiàn)有技術(shù)中通過 Async技術(shù)處理事件的方式僅能按照線性執(zhí)行事件執(zhí)行隊列,而難以處理邏輯復雜度較高 的非線性事件執(zhí)行隊列的問題。
[0005] 為達到上述目的,本發(fā)明采用如下技術(shù)方案:
[0006] 一種事件的處理方法,包括:
[0007] 為增加入事件執(zhí)行隊列中的事件分配事件身份標識;
[0008] 對事件執(zhí)行隊列中的事件進行處理,生成處理結(jié)果;
[0009] 判斷所述處理結(jié)果是否滿足預(yù)設(shè)條件,并判斷所述預(yù)設(shè)條件是否包括所述事件身 份標識;
[0010] 若所述處理結(jié)果滿足所述預(yù)設(shè)條件,且所述預(yù)設(shè)條件包括所述事件身份標識,則 根據(jù)所述事件身份標識,處理所述事件身份標識對應(yīng)的事件。
[0011] 一種事件的處理裝置,包括:
[0012] 分配單元,用于為增加入事件執(zhí)行隊列中的事件分配事件身份標識;
[0013] 處理單元,用于對事件執(zhí)行隊列中的事件進行處理,生成處理結(jié)果;
[0014] 判斷單元,用于判斷所述處理單元生成的處理結(jié)果是否滿足預(yù)設(shè)條件,并判斷所 述預(yù)設(shè)條件是否包括所述事件身份標識;
[0015] 所述處理單元,還用于在所述判斷單元判斷到所述處理結(jié)果滿足所述預(yù)設(shè)條件, 且所述預(yù)設(shè)條件包括所述事件身份標識時,根據(jù)所述事件身份標識,處理所述事件身份標 識對應(yīng)的事件。
[0016] 本發(fā)明實施例提供的事件的處理方法及裝置,通過為進入事件執(zhí)行隊列的各事件 分配事件身份標識,從而在處理各事件時,若處理得到的某一處理結(jié)果滿足預(yù)先設(shè)置的預(yù) 設(shè)條件,則可以通過預(yù)設(shè)條件中的事件身份標識處理所述事件身份標識對應(yīng)的事件,從而 可以對事件執(zhí)行隊列進行跳躍處理或者返回處理,滿足了邏輯復雜度較高的非線性事件執(zhí) 行隊列。而現(xiàn)有技術(shù)中通過Async技術(shù)處理事件的方式僅能按照線性執(zhí)行事件執(zhí)行隊列, 僅能按照事件執(zhí)行隊列的各事件的次序,依次處理。因此,本發(fā)明能夠處理邏輯復雜度較高 的非線性事件執(zhí)行隊列。
【附圖說明】
[0017] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0018] 圖1為本發(fā)明實施例提供的事件的處理方法的流程圖;
[0019] 圖2為本發(fā)明又一實施例提供的事件的處理方法的流程圖;
[0020] 圖3為本發(fā)明實施例提供的事件的處理裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0021] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0022] 為使本發(fā)明技術(shù)方案的優(yōu)點更加清楚,下面結(jié)合附圖和實施例對本發(fā)明作詳細說 明。
[0023] 如圖1所示,本發(fā)明實施例提供的事件的處理方法,包括:
[0024] 101、為增加入事件執(zhí)行隊列中的事件分配事件身份標識。
[0025] 所述事件身份標識可以按照事件執(zhí)行隊列中的事件順序,依次分配,也可以是隨 機分配,但不僅局限于此。
[0026] 102、對事件執(zhí)行隊列中的事件進行處理,生成處理結(jié)果。
[0027] 103、判斷所述處理結(jié)果是否滿足預(yù)設(shè)條件,并判斷所述預(yù)設(shè)條件是否包括所述事 件身份標識。
[0028] 104、若所述處理結(jié)果滿足所述預(yù)設(shè)條件,且所述預(yù)設(shè)條件包括所述事件身份標 識,則根據(jù)所述事件身份標識,處理所述事件身份標識對應(yīng)的事件。
[0029] 所述預(yù)設(shè)條件可以是根據(jù)不同事件分別進行預(yù)先設(shè)置。例如在修改密碼輸?shù)沫h(huán)境 中,步驟一為接收用戶輸入的賬號和密碼,步驟二為判斷用戶是否成功輸入賬號和密碼。此 時,對于步驟二的事件,所述預(yù)設(shè)條件可以有兩個,一個是用戶成功輸入賬號和密碼,另一 個是用戶未成功輸入賬號和密碼,該兩個預(yù)設(shè)條件中可以分別包括步驟三的事件身份標識 和步驟四的事件身份標識,從而能夠分別執(zhí)行步驟三:向外提示用戶進行密碼修改,并提供 新密碼輸入框,或者執(zhí)行步驟四:提示用戶賬號和密碼輸入錯誤,并返回重新接收用戶輸入 的賬號和密碼。
[0030] 值得說明的是,本發(fā)明實施例提供的事件的處理方法的執(zhí)行主體是一種事件的處 理裝置,所述事件的處理裝置可以運行于計算機等終端設(shè)備中。本發(fā)明實施例所處理的事 件執(zhí)行隊列可以是線性事件執(zhí)行隊列,也可以是邏輯復雜度較高的非線性事件執(zhí)行隊列。
[0031] 本發(fā)明實施例提供的事件的處理方法,通過為進入事件執(zhí)行隊列的各事件分配事 件身份標識,從而在處理各事件時,若處理得到的某一處理結(jié)果滿足預(yù)先設(shè)置的預(yù)設(shè)條件, 則可以通過預(yù)設(shè)條件中的事件身份標識處理所述事件身份標識對應(yīng)的事件,從而可以對事 件執(zhí)行隊列進行跳躍處理或者返回處理,滿足了邏輯復雜度較高的非線性事件執(zhí)行隊列。 而現(xiàn)有技術(shù)中通過Async技術(shù)處理事件的方式僅能按照線性執(zhí)行事件執(zhí)行隊列,僅能按照 事件執(zhí)行隊列的各事件的次序,依次處理。因此,本發(fā)明能夠處理邏輯復雜度較高的非線性 事件執(zhí)行隊列。
[0032] 進一步的,下面列舉一個更為具體的實施例,如圖2所示,本發(fā)明又一實施例提供 的事件的處理方法,包括:
[0033] 201、將各事件增加入事件執(zhí)行隊列。
[0034] 在計算機領(lǐng)域中,為了完成一系列流程,可能需要進行多個事件。例如在一個修改 密碼的環(huán)境中,可能需要接收用戶輸入的賬號和密碼,判斷所述輸入的賬號和密碼是否成 功,若賬號和密碼輸入成功則向外提示用戶進行密碼修改,并提供新密碼輸入框等步驟,每 個步驟均對應(yīng)一個事件,此外,隨著業(yè)務(wù)邏輯的增加,例如驗證碼技術(shù)、短信驗證等,真實的 密碼修改環(huán)境可能更為復雜。因此在處理這一系列流程時,一般將各事件放入事件執(zhí)行隊 列中進行處理。
[0035] 202、為增加入事件執(zhí)行隊列中的事件分配事件身份標識以及屬性值。
[0036] 所述事件身份標識可以按照事件執(zhí)行隊列中的事件順序,依次分配,也可以是隨 機分配,還可以指定特定事件,為其分配事件身份標識,但不僅局限于此。
[0037] 其中,所述屬性值包括第一屬性值和第二屬性值;所述第一屬性值用于指示在處 理所述事件時,阻塞所述事件執(zhí)行隊列中所述事件之后的其它事件被處理;所述第二屬性 值用于指示在處理所述事件時,不阻塞所述事件執(zhí)行隊列中所述事件之后的其它事件被處 理。例如,以true值表示第一屬性值,以false值表示第二屬性值。通過設(shè)置所述屬性值, 控制是否阻塞后續(xù)事件的處理,可以有效控制各事件的執(zhí)行。
[0038] 203、判斷所述事件執(zhí)行隊列中的待處理事件之前是否有事件未處理。
[0039] 若所述事件執(zhí)行隊列中的待處理事件之前沒有事件未處理,執(zhí)行步驟204 ;若所 述事件執(zhí)行隊列中的待處理事件之前有事件未處理,執(zhí)行步驟206。
[0040] 具體的,若所述事件執(zhí)行隊列中的待處理事件之前有事件未處理,則需要確認未 處理的事件