本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種事件處理方法、裝置及系統(tǒng)。
背景技術(shù):
在系統(tǒng)中存在部分外部事件需要優(yōu)先的及時的處理,而部分事件對于實時性的要求并不高的情況。在相關(guān)技術(shù)中在進程級別一般會采用隊列方式對不同優(yōu)先級的事件進行處理。
然而本發(fā)明的發(fā)明人在研究過程中發(fā)現(xiàn),雖然在進程級別可以采用隊列方式使得當(dāng)前進程中優(yōu)先級較高的事件優(yōu)先處理;但是在系統(tǒng)級別而言,進程在進行隊列優(yōu)先級調(diào)度時,如果該進程優(yōu)先級較高,那么即使是該進程中的低優(yōu)先級事件也會由于低優(yōu)先級進程中的所有事件而被處理。也即高優(yōu)先級的進程可能長期占用大量的系統(tǒng)資源,從而使得優(yōu)先級較低的進程(即系統(tǒng)不會優(yōu)先調(diào)用的進程)沒有系統(tǒng)資源可用,進而導(dǎo)致低優(yōu)先級進程中需要實時處理的高優(yōu)先級事件得不到處理。在系統(tǒng)負荷已經(jīng)很高的情況下,此種情況尤為嚴(yán)重。
針對相關(guān)技術(shù)無法實現(xiàn)系統(tǒng)級別事件優(yōu)先級處理的問題,目前沒有提出有效的解決方案。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種事件處理方法、裝置及系統(tǒng)。
根據(jù)本發(fā)明的一個方面,提供了一種事件處理方法,包括:高優(yōu)先級進程將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程,其中,所述高優(yōu)先級進程為優(yōu)先于所述低優(yōu)先級進程被系統(tǒng)調(diào)用的進程,所述低優(yōu)先級進程用于暫存所述預(yù)設(shè)類型事件和在所述系統(tǒng)的調(diào)度下發(fā)送所述預(yù)設(shè)類型事件;所述高優(yōu)先級進程接收所述低優(yōu)先級進程發(fā)送的所述預(yù)設(shè)類型事件;所述高優(yōu)先級進程處理所述低優(yōu)先級進程所發(fā)送的所述預(yù)設(shè)類型事件。
優(yōu)選地,所述高優(yōu)先級進程將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程包括:所述高優(yōu)先級進程檢測接收到的所述事件的事件類型;所述高優(yōu)先級進程將所述事件中預(yù)設(shè)類型事件發(fā)送至所述低優(yōu)先級進程,其中,所述預(yù)設(shè)類型事件包括:具有預(yù)設(shè)優(yōu)先級的事件,和/或,需分時處理的事件。
優(yōu)選地,在所述高優(yōu)先級進程將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級 進程之前,所述方法還包括:所述高優(yōu)先級進程判斷所述預(yù)設(shè)類型事件是否是由所述低優(yōu)先級進程發(fā)送的;其中,所述高優(yōu)先級進程接收所述低優(yōu)先級進程發(fā)送的所述預(yù)設(shè)類型事件還包括:所述高優(yōu)先級進程在判斷結(jié)果為否的情況下,將所述預(yù)設(shè)類型事件發(fā)送至所述低優(yōu)先級進程;和/或,所述高優(yōu)先級進程處理所述低優(yōu)先級進程所發(fā)送的所述預(yù)設(shè)類型事件還包括:所述高優(yōu)先級進程在判斷結(jié)果為是的情況下,處理所述預(yù)設(shè)類型事件。
根據(jù)本發(fā)明的另一個方面,還提供了一種事件處理方法,包括:低優(yōu)先級進程接收高優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件,其中,所述高優(yōu)先級進程為優(yōu)先于所述低優(yōu)先級進程被系統(tǒng)調(diào)用的進程;所述低優(yōu)先級進程暫存所述預(yù)設(shè)類型事件;所述低優(yōu)先級進程在所述系統(tǒng)的調(diào)度下,將暫存的所述預(yù)設(shè)類型事件發(fā)送給所述高優(yōu)先級進程,以觸發(fā)所述高優(yōu)先級進程處理所述預(yù)設(shè)類型事件。
優(yōu)選地,所述預(yù)設(shè)類型事件包括:具有預(yù)設(shè)優(yōu)先級的事件,和/或,需分時處理的事件。
根據(jù)本發(fā)明的另一個方面,還提供了一種事件處理裝置,應(yīng)用于高優(yōu)先級進程,包括:高優(yōu)先級進程發(fā)送模塊,用于將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程,其中,所述高優(yōu)先級進程為優(yōu)先于所述低優(yōu)先級進程被系統(tǒng)調(diào)用的進程,所述低優(yōu)先級進程用于暫存所述預(yù)設(shè)類型事件和在所述系統(tǒng)的調(diào)度下發(fā)送所述預(yù)設(shè)類型事件;高優(yōu)先級進程接收模塊,用于接收所述低優(yōu)先級進程發(fā)送的所述預(yù)設(shè)類型事件;高優(yōu)先級進程處理模塊,用于處理所述低優(yōu)先級進程所發(fā)送的所述預(yù)設(shè)類型事件。
優(yōu)選地,所述高優(yōu)先級進程發(fā)送模塊包括:高優(yōu)先級進程檢測單元,用于檢測接收到的所述事件的事件類型;高優(yōu)先級進程發(fā)送單元,用于將所述事件中預(yù)設(shè)類型事件發(fā)送至所述低優(yōu)先級進程,其中,所述預(yù)設(shè)類型事件包括:具有預(yù)設(shè)優(yōu)先級的事件,和/或,需分時處理的事件。
優(yōu)選地,所述裝置還包括:高優(yōu)先級進程判斷模塊,用于判斷所述預(yù)設(shè)類型事件是否是由所述低優(yōu)先級進程發(fā)送的;其中,所述高優(yōu)先級進程發(fā)送模塊,還用于在判斷結(jié)果為否的情況下,將所述預(yù)設(shè)類型事件發(fā)送至所述低優(yōu)先級進程;和/或,所述高優(yōu)先級進程處理模塊,還用于在判斷結(jié)果為是的情況下,處理所述預(yù)設(shè)類型事件。
根據(jù)本發(fā)明的另一個方面,還提供了一種事件處理裝置,應(yīng)用于低優(yōu)先級進程,包括:低優(yōu)先級進程接收模塊,用于接收高優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件,其中,所述高優(yōu)先級進程為優(yōu)先于所述低優(yōu)先級進程被系統(tǒng)調(diào)用的進程;低優(yōu)先級進程暫存模塊,用于暫存所述預(yù)設(shè)類型事件;低優(yōu)先級進程發(fā)送模塊,用于在所述系統(tǒng)的調(diào)度下,將暫存的所述預(yù)設(shè)類型事件發(fā)送給所述高優(yōu)先級進程,以觸發(fā)所述高優(yōu)先級進程處理所述預(yù)設(shè)類型事件。
優(yōu)選地,所述預(yù)設(shè)類型事件包括:具有預(yù)設(shè)優(yōu)先級的事件,和/或,需分時處理的 事件。
根據(jù)本發(fā)明的另一個方面,還提供了一種事件處理系統(tǒng),包括:高優(yōu)先級進程和低優(yōu)先級進程,其中,所述高優(yōu)先級進程為優(yōu)先于所述低優(yōu)先級進程被系統(tǒng)調(diào)用的進程,以及所述高優(yōu)先級進程包括:高優(yōu)先級進程發(fā)送模塊,用于將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至所述低優(yōu)先級進程;高優(yōu)先級進程接收模塊,用于接收所述低優(yōu)先級進程發(fā)送的所述預(yù)設(shè)類型事件;高優(yōu)先級進程處理模塊,用于處理所述低優(yōu)先級進程所發(fā)送的所述預(yù)設(shè)類型事件;所述低優(yōu)先級進程包括:低優(yōu)先級進程接收模塊,用于接收所述高優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件;低優(yōu)先級進程暫存模塊,用于暫存所述預(yù)設(shè)類型事件;低優(yōu)先級進程發(fā)送模塊,用于在所述系統(tǒng)的調(diào)度下,將暫存的所述預(yù)設(shè)類型事件發(fā)送給所述高優(yōu)先級進程,以觸發(fā)所述高優(yōu)先級進程處理所述預(yù)設(shè)類型事件。
通過本發(fā)明,采用高優(yōu)先級進程將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程,其中,高優(yōu)先級進程為優(yōu)先于低優(yōu)先級進程被系統(tǒng)調(diào)用的進程,低優(yōu)先級進程用于暫存預(yù)設(shè)類型事件和在系統(tǒng)的調(diào)度下發(fā)送預(yù)設(shè)類型事件;高優(yōu)先級進程接收低優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件;高優(yōu)先級進程處理低優(yōu)先級進程所發(fā)送的預(yù)設(shè)類型事件的方式,解決了相關(guān)技術(shù)無法實現(xiàn)系統(tǒng)級別事件優(yōu)先級處理的問題,實現(xiàn)了系統(tǒng)級別事件的優(yōu)先級處理。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的事件處理方法的流程圖一;
圖2是根據(jù)本發(fā)明實施例的事件處理方法的流程圖二;
圖3是根據(jù)本發(fā)明實施例的事件處理裝置的結(jié)構(gòu)示意圖一;
圖4是根據(jù)本發(fā)明優(yōu)選實施例的事件處理裝置的優(yōu)選結(jié)構(gòu)示意圖一;
圖5是根據(jù)本發(fā)明優(yōu)選實施例的事件處理裝置的優(yōu)選結(jié)構(gòu)示意圖二;
圖6是根據(jù)本發(fā)明實施例的事件處理裝置的結(jié)構(gòu)示意圖二;
圖7是根據(jù)本發(fā)明實施例的事件處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖8是根據(jù)本發(fā)明優(yōu)選實施例的智能處理低優(yōu)先級事件裝置與其他進程交互的示意圖;
圖9是根據(jù)本發(fā)明優(yōu)選實施例的低優(yōu)先級事件的截取過程的流程圖;
圖10是根據(jù)本發(fā)明優(yōu)選實施例的低優(yōu)先級事件智能處理模塊的工作流程圖。
具體實施方式
下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供了一種事件處理方法,圖1是根據(jù)本發(fā)明實施例的事件處理方法的流程圖一,如圖1所示,該流程包括如下步驟:
步驟S102,高優(yōu)先級進程將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程,其中,高優(yōu)先級進程為優(yōu)先于低優(yōu)先級進程被系統(tǒng)調(diào)用的進程,低優(yōu)先級進程用于暫存預(yù)設(shè)類型事件和在系統(tǒng)的調(diào)度下發(fā)送預(yù)設(shè)類型事件;
步驟S104,高優(yōu)先級進程接收低優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件;
步驟S106,高優(yōu)先級進程處理低優(yōu)先級進程所發(fā)送的預(yù)設(shè)類型事件。
通過上述步驟,可以將高優(yōu)先級進程中預(yù)設(shè)類型事件暫存在低優(yōu)先級進程中,并在低優(yōu)先級進程被調(diào)度時將暫存的事件重新發(fā)送給高優(yōu)先級進程處理,從而可以使得高優(yōu)先級進程中的事件在其他低優(yōu)先級進程的某些高優(yōu)先級事件之后處理,可以實現(xiàn)低優(yōu)先級進程中的高優(yōu)先級事件的處理??梢?,通過上述步驟,解決了相關(guān)技術(shù)無法實現(xiàn)系統(tǒng)級別事件優(yōu)先級處理的問題,實現(xiàn)了系統(tǒng)級別事件的優(yōu)先級處理。
優(yōu)選地,在上述步驟S102中,高優(yōu)先級進程檢測接收到的事件的事件類型;高優(yōu)先級進程將事件中預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程,其中,預(yù)設(shè)類型事件包括:具有預(yù)設(shè)優(yōu)先級的事件,和/或,需分時處理的事件。通過上述方式可以實現(xiàn)高優(yōu)先級進程中的預(yù)設(shè)優(yōu)先級事件或者需分時處理的事件暫緩處理,從而給低于該高優(yōu)先級進程的優(yōu)先級而高于該低優(yōu)先級進程的優(yōu)先級的其他優(yōu)先級進程中的事件能夠有更多機會分到處理事件的系統(tǒng)資源。
優(yōu)選地,為了避免形成閉環(huán),在步驟S102之前,該方法還可以包括:高優(yōu)先級進程判斷預(yù)設(shè)類型事件是否是由低優(yōu)先級進程發(fā)送的;其中,高優(yōu)先級進程接收低優(yōu)先 級進程發(fā)送的預(yù)設(shè)類型事件還包括:高優(yōu)先級進程在判斷結(jié)果為否的情況下,將預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程;和/或,高優(yōu)先級進程處理低優(yōu)先級進程所發(fā)送的預(yù)設(shè)類型事件還包括:高優(yōu)先級進程在判斷結(jié)果為是的情況下,處理預(yù)設(shè)類型事件。通過該方式,實現(xiàn)了暫存在低優(yōu)先級進程中的預(yù)設(shè)類型事件的處理。
本發(fā)明實施例還提供了一種事件處理方法,圖2是根據(jù)本發(fā)明實施例的事件處理方法的流程圖二,如圖2所示,該流程包括如下步驟:
步驟S202,低優(yōu)先級進程接收高優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件,其中,高優(yōu)先級進程為優(yōu)先于低優(yōu)先級進程被系統(tǒng)調(diào)用的進程;
步驟S204,低優(yōu)先級進程暫存預(yù)設(shè)類型事件;
步驟S206,低優(yōu)先級進程在系統(tǒng)的調(diào)度下,將暫存的預(yù)設(shè)類型事件發(fā)送給高優(yōu)先級進程,以觸發(fā)高優(yōu)先級進程處理預(yù)設(shè)類型事件。
通過上述步驟,實現(xiàn)了高優(yōu)先級進程的暫存和觸發(fā)處理,從而使得高優(yōu)先級進程中的低優(yōu)先級事件可以晚于較低優(yōu)先級進程中的高優(yōu)先級事件處理,解決了相關(guān)技術(shù)無法實現(xiàn)系統(tǒng)級別事件優(yōu)先級處理的問題,實現(xiàn)了系統(tǒng)級別事件的優(yōu)先級處理。
優(yōu)選地,上述預(yù)設(shè)類型事件包括:具有預(yù)設(shè)優(yōu)先級的事件,和/或,需分時處理的事件。
在本實施例中還提供了一種事件處理裝置,應(yīng)用于高優(yōu)先級進程,用于實現(xiàn)上述圖1所示的實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述,下面對該裝置中涉及到的模塊進行說明。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖3是根據(jù)本發(fā)明實施例的事件處理裝置的結(jié)構(gòu)示意圖一,如圖3所示,該裝置可以包括:高優(yōu)先級進程發(fā)送模塊32、高優(yōu)先級進程接收模塊34和高優(yōu)先級進程處理模塊36,其中,高優(yōu)先級進程發(fā)送模塊32,用于將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程,其中,高優(yōu)先級進程為優(yōu)先于低優(yōu)先級進程被系統(tǒng)調(diào)用的進程,低優(yōu)先級進程用于暫存預(yù)設(shè)類型事件和在系統(tǒng)的調(diào)度下發(fā)送預(yù)設(shè)類型事件;高優(yōu)先級進程接收模塊34,通過低優(yōu)先級進程耦合至高優(yōu)先級進程發(fā)送模塊32,用于接收低優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件;高優(yōu)先級進程處理模塊36,耦合至高優(yōu)先級進程接收模塊34,用于處理低優(yōu)先級進程所發(fā)送的預(yù)設(shè)類型事件。
圖4是根據(jù)本發(fā)明優(yōu)選實施例的事件處理裝置的優(yōu)選結(jié)構(gòu)示意圖一,如圖4所示,優(yōu)選地,高優(yōu)先級進程發(fā)送模塊32包括:高優(yōu)先級進程檢測單元322,用于檢測接收到的事件的事件類型;高優(yōu)先級進程發(fā)送單元324,耦合至高優(yōu)先級進程檢測單元322,用于將事件中預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程,其中,預(yù)設(shè)類型事件包括:具有預(yù) 設(shè)優(yōu)先級的事件,和/或,需分時處理的事件。
圖5是根據(jù)本發(fā)明優(yōu)選實施例的事件處理裝置的優(yōu)選結(jié)構(gòu)示意圖二,如圖5所示,優(yōu)選地,上述裝置還包括:高優(yōu)先級進程判斷模塊38,分別耦合至高優(yōu)先級進程發(fā)送模塊32和高優(yōu)先級進程處理模塊36,用于判斷預(yù)設(shè)類型事件是否是由低優(yōu)先級進程發(fā)送的;其中,高優(yōu)先級進程發(fā)送模塊32,還用于在判斷結(jié)果為否的情況下,將預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程;和/或,高優(yōu)先級進程處理模塊36,還用于在判斷結(jié)果為是的情況下,處理預(yù)設(shè)類型事件。
在本實施例中還提供了一種事件處理裝置,應(yīng)用于低優(yōu)先級進程,用于實現(xiàn)上述圖2所示的實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述,下面對該裝置中涉及到的模塊進行說明。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖6是根據(jù)本發(fā)明實施例的事件處理裝置的結(jié)構(gòu)示意圖二,如圖6所示,該裝置可以包括:低優(yōu)先級進程接收模塊62、低優(yōu)先級進程暫存模塊64和低優(yōu)先級進程發(fā)送模塊66,其中,低優(yōu)先級進程接收模塊62,用于接收高優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件,其中,高優(yōu)先級進程為優(yōu)先于低優(yōu)先級進程被系統(tǒng)調(diào)用的進程;低優(yōu)先級進程暫存模塊64,耦合至低優(yōu)先級進程接收模塊62,用于暫存預(yù)設(shè)類型事件;低優(yōu)先級進程發(fā)送模塊66,耦合至低優(yōu)先級進程暫存模塊64,用于在系統(tǒng)的調(diào)度下,將暫存的預(yù)設(shè)類型事件發(fā)送給高優(yōu)先級進程,以觸發(fā)高優(yōu)先級進程處理預(yù)設(shè)類型事件。
優(yōu)選地,上述的預(yù)設(shè)類型事件包括:具有預(yù)設(shè)優(yōu)先級的事件,和/或,需分時處理的事件。
本發(fā)明實施例還提供了一種事件處理系統(tǒng),該系統(tǒng)包括上述的應(yīng)用于高優(yōu)先級進程的事件處理裝置和應(yīng)用于低優(yōu)先級進程的事件處理裝置。
圖7是根據(jù)本發(fā)明實施例的事件處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖7所示,該系統(tǒng)包括:高優(yōu)先級進程72和低優(yōu)先級進程74,其中,高優(yōu)先級進程72為優(yōu)先于低優(yōu)先級進程74被系統(tǒng)調(diào)用的進程,以及
高優(yōu)先級進程72包括:高優(yōu)先級進程發(fā)送模塊32,用于將接收到的事件中的預(yù)設(shè)類型事件發(fā)送至低優(yōu)先級進程;高優(yōu)先級進程接收模塊34,用于接收低優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件;高優(yōu)先級進程處理模塊36,用于處理低優(yōu)先級進程所發(fā)送的預(yù)設(shè)類型事件;
低優(yōu)先級進程74包括:低優(yōu)先級進程接收模塊62,用于接收高優(yōu)先級進程發(fā)送的預(yù)設(shè)類型事件;低優(yōu)先級進程暫存模塊64,用于暫存預(yù)設(shè)類型事件;低優(yōu)先級進程發(fā)送模塊66,用于在系統(tǒng)的調(diào)度下,將暫存的預(yù)設(shè)類型事件發(fā)送給高優(yōu)先級進程,以觸 發(fā)高優(yōu)先級進程處理預(yù)設(shè)類型事件。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
為了使本發(fā)明實施例的描述更加清楚,下面結(jié)合優(yōu)選實施例進行描述和說明。
本發(fā)明優(yōu)選實施例提供了一種智能處理低優(yōu)先級事件的方法,其目的在于在系統(tǒng)中能夠確保低優(yōu)先級的事件不會影響系統(tǒng)的高可靠性,高實時性的任務(wù),同時保證低優(yōu)先級的事件能夠盡快的處理。
本發(fā)明優(yōu)選實施例提供的一種智能處理低優(yōu)先級事件裝置(相當(dāng)于上述事件處理裝置,應(yīng)用于低優(yōu)先級進程)包括以下模塊:
低優(yōu)先級操作暫存模塊(相當(dāng)于上述的低優(yōu)先級進程暫存模塊64):用于暫存各個進程發(fā)送過來的低優(yōu)先級操作(相當(dāng)于上述的低優(yōu)先級事件)。
低優(yōu)先級操作觸發(fā)模塊(相當(dāng)于上述的低優(yōu)先級進程發(fā)送模塊66):用于低優(yōu)先級操作的觸發(fā)模塊,例如,在系統(tǒng)中當(dāng)前進程的實時性要求高的事件都處理完成后,將之前暫存的低優(yōu)先級操作發(fā)送給對應(yīng)的各個進程。
圖8是根據(jù)本發(fā)明優(yōu)選實施例的智能處理低優(yōu)先級事件裝置與其他進程交互的示意圖,如圖8所示,采用上述裝置,各個進程(相當(dāng)于上述高優(yōu)先級進程)在收到了實時性要求不高的事件時,調(diào)用低優(yōu)先級暫存模塊提供的接口,發(fā)送消息(可以攜帶有需要智能處理的事件的標(biāo)識)給低優(yōu)先級暫存模塊,低優(yōu)先級暫存模塊暫存所有的這些消息;低優(yōu)先級操作觸發(fā)模塊在感知到系統(tǒng)中所有實時性要求高的事件都已經(jīng)處理完成后,將之前暫存的低優(yōu)先級事件發(fā)送給對應(yīng)的各個進程。
本發(fā)明優(yōu)選實施例提供的智能處理低優(yōu)先級事件的方法包括如下步驟:
步驟一,業(yè)務(wù)模塊(即上述高優(yōu)先級進程)調(diào)用低優(yōu)先級操作暫存模塊提供的接口,注冊需要處理低優(yōu)先級事件。
步驟二,在進程收到低優(yōu)先級事件時,低優(yōu)先級事件的模塊截取此消息,并將此消息發(fā)送給系統(tǒng)中低優(yōu)先級操作處理模塊,低優(yōu)先級操作模塊可以是系統(tǒng)中優(yōu)先級最低的進程。
步驟三,在低優(yōu)先級最低的進程都能得到調(diào)度時,說明系統(tǒng)中的所有其他的高優(yōu)先級進程的事件都已經(jīng)處理完畢,則低優(yōu)先級觸發(fā)模塊,將所有之前暫存的低優(yōu)先級事件一個一個的發(fā)送給對應(yīng)的進程,一次可以只發(fā)送一個。
圖9是根據(jù)本發(fā)明優(yōu)選實施例的低優(yōu)先級事件的截取過程的流程圖,如圖9所示,在APP進程(即上述高優(yōu)先級進程)中,判斷當(dāng)前APP進程收到的事件是否是低優(yōu)先 級事件,如果是且不是由低優(yōu)先級事件處理模塊發(fā)送過來的,則將當(dāng)前事件發(fā)送給低優(yōu)先級事件處理模塊;如果不是,則由APP進程繼續(xù)處理。
圖10是根據(jù)本發(fā)明優(yōu)選實施例的低優(yōu)先級事件智能處理模塊的工作流程圖,如圖10所示,低優(yōu)先級事件智能處理模塊接收到低優(yōu)先級事件后,暫存此事件的標(biāo)識(id),暫存進程id,并可以在被系統(tǒng)調(diào)用時,取出當(dāng)前系統(tǒng)中的最早的低優(yōu)先級事件,發(fā)送給對應(yīng)的進程。
采用上述方案,可以將當(dāng)前實時性要求并不高的事件延后處理,當(dāng)所有的實時性要求高的事件處理完成后,才可以處理實時性要求不高的事件。
在本發(fā)明上述優(yōu)選實施例中,以預(yù)設(shè)優(yōu)先級事件的暫存處理為例進行說明。然而,類似地,在針對需分時處理的事件時,可以將需分時處理的事件發(fā)送給低優(yōu)先級進程暫存,并在系統(tǒng)調(diào)用低優(yōu)先級進程時,觸發(fā)高優(yōu)先級進程執(zhí)行需分時處理的事件中的一個分時任務(wù);直至將該需分時處理的事件處理完畢。
綜上所述,本發(fā)明通過上述實施例和實施方式,可以確保進程在實時性要求高的事件始終在實時性要求不高的事件前得到處理,并保證低優(yōu)先級事件能夠得到最大可能的及時的處理,從而可以提高系統(tǒng)的容錯性,可靠性和可用性。
在另外一個實施例中,還提供了一種軟件,該軟件用于執(zhí)行上述實施例及優(yōu)選實施方式中描述的技術(shù)方案。
在另外一個實施例中,還提供了一種存儲介質(zhì),該存儲介質(zhì)中存儲有上述軟件,該存儲介質(zhì)包括但不限于:光盤、軟盤、硬盤、可擦寫存儲器等。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的對象在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。