新四季網

事件處理方法及伺服器的製作方法

2023-06-10 04:10:46 2

專利名稱:事件處理方法及伺服器的製作方法
技術領域:
本申請涉及網絡技術領域,尤其涉及一種事件處理方法及伺服器。
背景技術:
基於網際網路實現各種業務功能時,會產生海量的基礎事件(Base Event),包括各種銷售數據、業務數據、系統之間的交互數據等,這些基礎事件反映了業務功能的片面信息。多個有關聯的基礎事件形成一種事件模式,以支付寶(www.alipay. com)的擔保交易為例,擔保交易為一種事件模式,這個事件模式下包含了相互關聯的具有先後產生次序的五個基礎事件,分別為創建交易、買家付款到中間機構、賣家發貨、買家收貨和中間機構付款到賣家;在擔保交易這種事件模式,每一筆交易都會產生相應的基礎事件,屬於同一筆交易的基礎事件組成一個複合事件,也即是每種事件模式都會有若干複合事件。在接到基礎事件後,可以根據基礎事件的事件信息確定其所屬的事件模式,並根據事件標識將該基礎事件對應到其所屬的複合事件發明人在對現有技術的研究過程中發現,現有技術中大型的網際網路站在實現業務功能時,採用分布式伺服器系統,伺服器系統中包含若干相互協作的伺服器,因此屬於同一事件模式的同一複合事件中的基礎事件可能由不同的伺服器觸發產生,為了區別這些基礎事件的產生時間,在每個基礎事件內寫入時間戳,根據時間戳可以對基礎事件進行排序。但是由於伺服器之間的時鐘通常不一致,即使經過伺服器時鐘的同步聯調後,伺服器之間仍然會有時間差,由此導致寫入基礎事件中的時間戳不準確,使得基礎事件的排序發生混亂; 後續,當根據亂序的基礎事件進行複合事件處理時,仍以擔保交易為例,當屬於同一複合事件的創建交易這一基礎事件的時間戳晚於買家付款到中間機構這一基礎事件時,由於系統將根據時間戳的指示先於創建交易這一基礎事件,而收到買家付款到中介機構這一基礎事件,從而導致系統錯誤報警,並需要重新對複合事件進行處理,由此增加了系統伺服器的處理負擔。

發明內容
本申請實施例的目的是提供一種事件處理方法及伺服器,以解決現有技術中發生亂序的基礎事件導致錯誤報警,增加系統伺服器處理負擔的問題。為解決上述技術問題,本申請實施例提供了一種複合事件處理方法,是這樣實現的一種事件處理方法,所述方法包括根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,所述狀態機實例為按照所述基礎事件所屬的事件模式定義的狀態機所創建的實例,屬於同一狀態機實例的基礎事件具有相同的事件標識;將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例;
若當前輸入的基礎事件無法使所述狀態機實例從當前狀態遷移,則判斷所述基礎事件是否為所述當前狀態允許的亂序事件;若判斷結果為是,則保存所述基礎事件至緩存,若判斷結果為否,則輸出報警。為解決上述技術問題,本申請實施例還提供了一種事件處理伺服器,是這樣實現的一種事件處理伺服器,包括獲取單元,用於根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,所述狀態機實例為按照所述基礎事件所屬的事件模式定義的狀態機所創建的實例,屬於同一狀態機實例的基礎事件具有相同的事件標識;輸入單元,用於將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例;狀態判斷單元,用於判斷當前輸入的基礎事件是否能使所述狀態機實例從當前狀態遷移;亂序判斷單元,用於當所述狀態判斷單元的判斷結果為否時,判斷所述基礎事件是否為所述當前狀態允許的亂序事件;保存單元,用於當所述亂序判斷單元的判斷結果為是時,保存所述基礎事件至緩存;報警單元,用於當所述亂序判斷單元的判斷結果為否時,輸出報警。可見,本申請實施例中根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入狀態機實例,若當前輸入的基礎事件無法使狀態機實例從當前狀態遷移,則判斷該基礎事件是否為當前狀態允許的亂序事件,若判斷結果為是,則保存該基礎事件至緩存,若判斷結果為否, 則輸出報警。本申請實施例中當所輸入的基礎事件無法使狀態機實例從當前狀態遷移時, 並不直接輸出報警信息,而是在該基礎事件為所允許的亂序事件時,對其進行保存,以防止由於時間戳的不準確而導致誤報警的發生;由於後續可以直接利用保存的基礎事件進行狀態遷移,而無需對該狀態機實例重新進行狀態遷移,因此減輕了系統伺服器的處理負擔。


為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本申請事件處理方法的第一實施例流程圖;圖2A為本申請事件處理方法的第二實施例流程圖;圖2B為本申請一種應用實例中擔保交易的事件模式狀態機定義示意圖;圖3為本申請事件處理伺服器的第一實施例框圖;圖4為本申請事件處理伺服器的第二實施例框圖。
具體實施例方式
5
本申請實施例提供一種事件處理方法及伺服器,其中對於無法使狀態機遷移的基礎事件,並不直接輸出報警,而是判斷該基礎事件為允許的亂序事件後保存該基礎事件,後續可以在遷移到新狀態後,判斷保存的基礎事件是否可以使狀態機遷移。為了使本技術領域的人員更好地理解本申請實施例中的技術方案,並使本申請實施例的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖對本申請實施例中技術方案作進一步詳細的說明。參見圖1,為本申請事件處理方法的第一實施例流程圖步驟101 根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件。事件模式是對一系列相互關聯的基礎事件的總稱,每種事件模式都包含了順序執行的多個基礎事件。以支付寶的擔保交易為例,擔保交易是一種需要關心是否發貨的事件模式,擔保交易包括的基礎事件有創建交易、買家付款到中間機構、賣家發貨、買家收貨和中間機構付款到賣家。本申請實施例中,為每種事件模式定義一個狀態機,這個狀態機中包含了若干遷移狀態,從初始狀態開始,該事件模式包含的順序執行的每個基礎事件都對應一個遷移狀態,以一個包含三個基礎事件的事件模式A為例,假設基礎事件的執行順序應為基礎事件 1、基礎事件2、基礎事件3,則從初始狀態開始,應順序執行基礎事件1,相應的從初始狀態遷移到狀態1,然後執行基礎事件2,相應的從狀態1遷移到狀態2,最後執行基礎事件3,相應的從狀態2遷移到結束狀態。由於不同的事件模式對應不同的狀態機,同一狀態機又對應不同的狀態機實例, 因此本申請實施例中每個基礎事件都攜帶有事件標識,該事件標識可以用於識別該基礎事件所屬的某個事件模式所定義的狀態機下的某個狀態機實例。仍然以擔保交易這個事件模式為例,在該事件模式定義的狀態機下,可能需要處理不同用戶的若干筆交易,則為每個用戶的每筆交易都按照狀態機的定義創建一個狀態機實例,屬於同一個狀態機實例的基礎事件都具有相同的事件標識,這個事件標識應可以唯一識別一筆交易,例如使用交易序號作為事件標識。步驟102 將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入該狀態機實例。每個基礎事件在發生時,都由伺服器按照當前時鐘為基礎事件寫入時間戳,以表示該基礎事件的發生時間。當根據基礎事件的事件標識識別出屬於同一狀態機實例的基礎事件,將這些基礎事件按照時間戳的指示順序排列,形成事件隊列,並將事件隊列中的基礎事件順序輸入狀態機中,看狀態機是否會進行狀態遷移並最終輸出複合事件。步驟103 判斷當前輸入的基礎事件是否能使該狀態機實例從當前狀態遷移,若是,則執行步驟107 ;否則,執行步驟104。首先,定位到該狀態機實例所遷移的當前狀態,然後可以根據基礎事件的事件類型判斷狀態機實例是否能夠從當前狀態順序遷移到下一狀態,基礎事件的事件類型就是指當前事件模式下所定義的狀態機中每個狀態的名稱。步驟104 判斷基礎事件是否為當前狀態允許的亂序事件,若是,則執行步驟105 ; 否則,執行步驟106。
當所輸入的基礎事件無法使狀態機從當前狀態遷移到下一個狀態時,並不直接輸出報警,而是判斷該基礎事件是否為允許的亂序事件。例如,對於屬於同一狀態機實例的基礎事件,由於時間戳的不準確可能造成後發生的基礎事件提前到來,因此該提前到來的基礎事件就是允許的亂序事件。本申請實施例中,預先設置了狀態機中每個狀態允許的亂序事件,並以狀態為索引進行保存,因此在接收到基礎事件並且該基礎事件無法使當前狀態遷移時,就查找該當前狀態允許的亂序事件,判斷該基礎事件是否為允許的亂序事件。步驟105 保存該基礎事件至緩存,結束當前流程。當輸入的基礎事件雖然不能使得狀態機實例遷移到下一狀態,但是該基礎事件為允許的亂序事件時,則保存該亂序事件至緩存,後續在遷移到新的狀態後,可以嘗試保存的基礎事件能否使狀態機實例從新狀態進行遷移。步驟106 輸出報警,結束當前流程。步驟107 從當前狀態遷移到下一狀態,結束當前流程。當所輸入的基礎事件可以使狀態機從當前狀態遷移到下一個狀態時,則順序遷移至下一個狀態即可,後續可以繼續從事件隊列中輸入下一個基礎事件。由上述實施例可見,本申請實施例中當所輸入的基礎事件無法使狀態機實例從當前狀態遷移時,並不直接輸出報警信息,而是在該基礎事件為所允許的亂序事件時,對其進行保存,以防止由於時間戳的不準確而導致誤報警的發生。參見圖2A,為本申請事件處理方法的第二實施例流程圖,該實施例示出本申請基於狀態機實例進行事件處理的詳細過程步驟201 預先定義每個事件模式的狀態機,以及所述狀態機中每個狀態允許的
亂序事件。參見圖2B為,為一種擔保交易的事件模式狀態機定義示意圖其中,擔保交易包括的基礎事件有基礎事件1 (創建交易)、基礎事件2 (買家付款到中間機構)、基礎事件3 (賣家發貨)、基礎事件4 (買家收貨)和基礎事件5 (中間機構付款到賣家);相應的,擔保交易的狀態機中包含了六個狀態,分別為狀態1(初始狀態)、狀態 2 (等待買家付款)、狀態3 (等待賣家送貨)、狀態4 (等待買家收貨)、狀態5 (等待向賣家付款)和狀態6 (結束狀態)。結合圖2B,描述該狀態機的完整狀態遷移過程初始,狀態機處於狀態1 ;接收到基礎事件1(創建交易,ET-CREATE)後狀態變遷,進入狀態2 (等待買家付款),此時記錄當前的狀態為狀態2 ;接收到基礎事件2 (買家付款到中間機構,ET-BUYER-TO-ALIPAY)後狀態變遷,進入狀態3 (等待賣家送貨),此時記錄當前的狀態為狀態3 ;接收到基礎事件3 (賣家發貨ET-SELLER-SHIP)後狀態變遷,進入狀態4 (等待買家收貨),此時記錄當前的狀態為狀態4 ;接收到基礎事件4 (買家收貨,ET-BUYER-RECEIVE)後狀態變遷,進入狀態5 (等待向賣家付款),此時記錄當前的狀態為狀態5 ;接收到基礎事件5 (中間機構付款到賣家,ET-ALIPAY-TO-SELLER)後狀態變遷,進入狀態6 (結束狀態),此時記錄當前的狀態為狀態6 ;當進入狀態6 (結束狀態)時,表示找
到一個複合事件。由於本申請實施例中狀態機可以隨著基礎事件進行狀態遷移,這個過程中只需要記錄當前所遷移到的狀態即可,無需記錄所有基礎事件信息。本申請實施例中,由於按照時間戳排列的基礎事件可能不準確,因此對於根據每個事件模式定義的狀態機,可以預先定義該狀態機中某些狀態允許的亂序事件, 例如,對於狀態2(等待買家收貨),可以定義允許的亂序事件為基礎事件3(賣家發貨 ET-SELLER-SHIP)。步驟202 根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件。由於不同的事件模式對應不同的狀態機,同一狀態機又對應不同的狀態機實例, 因此本申請實施例中每個基礎事件都攜帶有事件標識,該事件標識可以用於識別該基礎事件所屬的某個事件模式的某個狀態機,屬於同一狀態機實例的基礎事件具有相同的事件標識。步驟203 將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入該狀態機實例。每個基礎事件在發生時,都由伺服器按照當前時鐘為基礎事件寫入時間戳,以表示該基礎事件的發生時間。當根據基礎事件的事件標識識別出屬於同一狀態機實例的基礎事件,將這些基礎事件按照時間戳的指示順序排列,形成事件隊列,並將事件隊列中的基礎事件順序輸入狀態機中,看狀態機是否會進行狀態遷移並最終輸出複合事件。步驟204 判斷當前輸入的基礎事件是否能使該狀態機實例從當前狀態遷移,若是,則執行步驟208 ;否則,執行步驟205。首先,定位到該狀態機實例所遷移的當前狀態,然後可以根據基礎事件的事件類型判斷狀態機實例是否能夠從當前狀態順序遷移到下一狀態,基礎事件的事件類型就是指當前事件模式下所定義的狀態機中每個狀態的名稱。步驟205 判斷基礎事件是否為當前狀態允許的亂序事件,若是,則執行步驟206 ; 否則,執行步驟207。當所輸入的基礎事件無法使狀態機從當前狀態遷移到下一個狀態時,並不直接輸出報警,而是判斷該基礎事件是否為預先定義的當前狀態所允許的亂序事件。步驟206 保存該基礎事件至緩存,並返回步驟203。當輸入的基礎事件雖然不能使得狀態機實例遷移到下一狀態,但是該基礎事件為允許的亂序事件時,則保存該亂序事件至緩存,後續在遷移到新的狀態後,可以嘗試保存的基礎事件能否使狀態機實例從新狀態進行遷移。步驟207 輸出報警,結束當前流程。步驟208 從當前狀態遷移到下一狀態。當所輸入的基礎事件可以使狀態機從當前狀態遷移到下一個狀態時,則順序遷移至下一個狀態即可。步驟209 判斷遷移後的狀態是否為結束狀態,若是,則執行步驟213 ;否則,執行步驟210。
步驟210 判斷是否能從緩存中讀取到保存的基礎事件,若是,則執行步驟211 ;否則,返回步驟203。步驟211 從緩存中讀取保存的基礎事件。當狀態機實例遷移到新的狀態後,且緩存中有保存的基礎事件時,則讀取這些基礎事件,用於嘗試這些提前到來的允許的亂序事件是否能使狀態機實例從當前新的狀態遷移。步驟212 判斷讀取的基礎事件是否從當前狀態遷移,若是,則返回步驟208 ;否則,返回步驟203。步驟213 輸出複合事件,結束當前流程。當遷移後的狀態為結束狀態時,說明輸入該狀態機實例的基礎事件使該狀態機實例完成所有狀態遷移,相應的輸出複合事件。由上述實施例可見,本申請實施例中當所輸入的基礎事件無法使狀態機實例從當前狀態遷移時,並不直接輸出報警信息,而是在該基礎事件為所允許的亂序事件時,對其進行保存,以防止由於時間戳的不準確而導致誤報警的發生;由於後續可以直接利用保存的基礎事件進行狀態遷移,而無需對該狀態機實例重新進行狀態遷移,因此減輕了系統伺服器的處理負擔。與本申請複合事件處理方法的實施例相對應,本申請還提供了複合事件處理伺服器的實施例。參見圖3,為本申請複合事件處理伺服器的第一實施例框圖該伺服器包括獲取單元310、輸入單元320、狀態判斷單元330、亂序判斷單元 340、保存單元350和報警單元360。其中,獲取單元310,用於根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,所述狀態機實例為按照所述基礎事件所屬的事件模式定義的狀態機所創建的實例,屬於同一狀態機實例的基礎事件具有相同的事件標識;輸入單元320,用於將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例;狀態判斷單元330,用於判斷當前輸入的基礎事件是否能使所述狀態機實例從當前狀態遷移;亂序判斷單元340,用於當所述狀態判斷單元330的判斷結果為否時,判斷所述基礎事件是否為所述當前狀態允許的亂序事件;保存單元350,用於當所述亂序判斷單元340的判斷結果為是時,保存所述基礎事件至緩存;報警單元360,用於當所述亂序判斷單元340的判斷結果為否時,輸出報警。參見圖4,為本申請複合事件處理伺服器的第二實施例框圖該伺服器包括預設單元411、獲取單元412、輸入單元413、狀態判斷單元414、遷移單元415、讀取單元416、亂序判斷單元417、執行單元418、保存單元419和報警單元420。其中,預設單元411,用於預先定義每個事件模式的狀態機,以及所述狀態機中每個狀態允許的亂序事件;獲取單元412,用於根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,所述狀態機實例為按照所述基礎事件所屬的事件模式定義的狀態機所創建的實例,屬於同一狀態機實例的基礎事件具有相同的事件標識;輸入單元413,用於將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例;狀態判斷單元414,用於判斷當前輸入的基礎事件是否能使所述狀態機實例從當前狀態遷移;亂序判斷單元417,用於當所述狀態判斷單元414的判斷結果為否時,判斷所述基礎事件是否為所述當前狀態允許的亂序事件;保存單元419,用於當所述亂序判斷單元417的判斷結果為是時,保存所述基礎事件至緩存;報警單元420,用於當所述亂序判斷單元417的判斷結果為否時,輸出報警;遷移單元415,用於當所述狀態判斷單元414的判斷結果為是時,遷移到下一狀態,並將所述下一狀態作為所述狀態機實例的當前狀態;讀取單元416,用於從所述緩存中讀取保存的基礎事件;所述狀態判斷單元414,還用於判斷所述讀取單元416讀取的基礎事件是否能從當前狀態遷移;所述遷移單元415,還用於當所述狀態判斷單元414的判斷結果為是時,遷移到下一狀態;所述亂序判斷單元417,還用於當所述狀態判斷單元414的判斷結果為否時,返回所述輸入單元413的功能;所述狀態判斷單元414,還用於判斷所述下一狀態是否為所述狀態機實例的結束狀態;執行單元418,用於當所述狀態判斷單元414的判斷結果為是時,輸出複合事件, 當所述狀態判斷單元414的判斷結果為否時,返回所述讀取單元416的功能;所述報警單元420,還用於當所述緩存中的基礎事件的保存時長超過預設的閾值時,輸出報警。通過以上的實施方式的描述可知,本申請實施例中根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入狀態機實例,若當前輸入的基礎事件無法使狀態機實例從當前狀態遷移,則判斷該基礎事件是否為當前狀態允許的亂序事件,若判斷結果為是,則保存該基礎事件至緩存,若判斷結果為否,則輸出報警。本申請實施例中當所輸入的基礎事件無法使狀態機實例從當前狀態遷移時,並不直接輸出報警信息,而是在該基礎事件為所允許的亂序事件時,對其進行保存,以防止由於時間戳的不準確而導致誤報警的發生;由於後續可以直接利用保存的基礎事件進行狀態遷移,而無需對該狀態機實例重新進行狀態遷移,因此減輕了系統伺服器的處理負擔。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本申請各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。本申請可用於眾多通用或專用的計算系統環境或配置中。例如個人計算機、伺服器計算機、手持設備或可攜式設備、平板型設備、多處理器系統、基於微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。雖然通過實施例描繪了本申請,本領域普通技術人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權利要求包括這些變形和變化而不脫離本申請的精神。
權利要求
1.一種事件處理方法,其特徵在於,所述方法包括根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,所述狀態機實例為按照所述基礎事件所屬的事件模式定義的狀態機所創建的實例,屬於同一狀態機實例的基礎事件具有相同的事件標識;將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例; 若當前輸入的基礎事件無法使所述狀態機實例從當前狀態遷移,則判斷所述基礎事件是否為所述當前狀態允許的亂序事件;若判斷結果為是,則保存所述基礎事件至緩存,若判斷結果為否,則輸出報警。
2.根據權利要求1所述的方法,其特徵在於,還包括預先定義每個事件模式的狀態機,以及所述狀態機中每個狀態允許的亂序事件。
3.根據權利要求1所述的方法,其特徵在於,還包括若當前輸入的基礎事件能夠使所述狀態機實例從當前狀態遷移,則遷移到下一狀態, 並將所述下一狀態作為所述狀態機實例的當前狀態;從所述緩存中讀取保存的基礎事件後,判斷所述讀取的基礎事件是否能從當前狀態遷移;若判斷結果為是,則遷移到下一狀態,若判斷結果為否,則返回將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例的步驟。
4.根據權利要求3所述的方法,其特徵在於,所述遷移到下一狀態後,還包括判斷所述下一狀態是否為所述狀態機實例的結束狀態,若判斷結果為是,則輸出複合事件;若判斷結果為否,則執行所述從緩存中讀取保存的基礎事件的步驟。
5.根據權利要求1所述的方法,其特徵在於,還包括當所述緩存中的基礎事件的保存時長超過預設的閾值時,輸出報警。
6.一種事件處理伺服器,其特徵在於,包括獲取單元,用於根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件,所述狀態機實例為按照所述基礎事件所屬的事件模式定義的狀態機所創建的實例, 屬於同一狀態機實例的基礎事件具有相同的事件標識;輸入單元,用於將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例;狀態判斷單元,用於判斷當前輸入的基礎事件是否能使所述狀態機實例從當前狀態遷移;亂序判斷單元,用於當所述狀態判斷單元的判斷結果為否時,判斷所述基礎事件是否為所述當前狀態允許的亂序事件;保存單元,用於當所述亂序判斷單元的判斷結果為是時,保存所述基礎事件至緩存; 報警單元,用於當所述亂序判斷單元的判斷結果為否時,輸出報警。
7.根據權利要求6所述的伺服器,其特徵在於,還包括預設單元,用於預先定義每個事件模式的狀態機,以及所述狀態機中每個狀態允許的亂序事件。
8.根據權利要求6所述的伺服器,其特徵在於,還包括遷移單元,用於當所述狀態判斷單元的判斷結果為是時,遷移到下一狀態,並將所述下一狀態作為所述狀態機實例的當前狀態;讀取單元,用於從所述緩存中讀取保存的基礎事件;所述狀態判斷單元,還用於判斷所述讀取單元讀取的基礎事件是否能從當前狀態遷移;所述遷移單元,還用於當所述狀態判斷單元的判斷結果為是時,遷移到下一狀態; 所述亂序判斷單元,還用於當所述狀態判斷單元的判斷結果為否時,返回所述輸入單元的功能。
9.根據權利要求8所述的伺服器,其特徵在於,所述狀態判斷單元,還用於判斷所述下一狀態是否為所述狀態機實例的結束狀態;執行單元,用於當所述狀態判斷單元的判斷結果為是時,輸出複合事件,當所述狀態判斷單元的判斷結果為否時,返回所述讀取單元的功能。
10.根據權利要求6所述的伺服器,其特徵在於,所述報警單元,還用於當所述緩存中的基礎事件的保存時長超過預設的閾值時,輸出報警。
全文摘要
本申請公開了一種事件處理方法及伺服器,所述方法包括根據若干基礎事件攜帶的事件標識,獲取屬於同一狀態機實例的基礎事件;將屬於同一狀態機實例的基礎事件按照時間戳的指示順序輸入所述狀態機實例;若當前輸入的基礎事件無法使所述狀態機實例從當前狀態遷移,則判斷所述基礎事件是否為所述當前狀態允許的亂序事件;若判斷結果為是,則保存所述基礎事件至緩存,若判斷結果為否,則輸出報警。本申請實施例可以保存允許的亂序事件,以防止由於時間戳的不準確而導致誤報警的發生;由於後續可以直接利用保存的基礎事件進行狀態遷移,而無需對該狀態機實例重新進行狀態遷移,因此減輕了系統伺服器的處理負擔。
文檔編號H04L12/24GK102347851SQ201010243880
公開日2012年2月8日 申請日期2010年7月29日 優先權日2010年7月29日
發明者蔡學鏞 申請人:阿里巴巴集團控股有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀