專利名稱:消息處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種消息處理方法和系統(tǒng)。
背景技術(shù):
通信系統(tǒng)中的短消息業(yè)務(wù)有多種,每種業(yè)務(wù)都對應(yīng)一個內(nèi)容提供商Gerver Provider,以下簡稱SP)。不同SP提供的短信業(yè)務(wù)的作用和地位也不同。有些SP提供的短信業(yè)務(wù)比較重要,如銀行或證券商提供的短信業(yè)務(wù),有些SP提供的短信業(yè)務(wù)不太重要,如提供天氣預(yù)報短信業(yè)務(wù)。通信系統(tǒng)中的短信處理系統(tǒng)的處理性能是和硬件相關(guān)的,即在一定的硬件和軟件條件下,一套短信處理系統(tǒng)所能處理的最大流量即每秒處理的短信條數(shù)是一定的。短信處理系統(tǒng)在能夠支持的最大流量一定的前提下,運營商希望對于重要的SP提供的短信業(yè)務(wù), 能夠優(yōu)先保證其短信流量。因此,現(xiàn)有技術(shù)中的短信處理系統(tǒng),在需要優(yōu)先處理重要SP提供的短信業(yè)務(wù)時, 會預(yù)留一定的流量給該重要SP,而該流量資源普通SP不能占用,比如,短信處理系統(tǒng)的處理性能是100條/秒,對于重要SP,要求保證其流量為30條/秒,這樣普通SP可以使用的流量為100-30 = 70條/秒。但是在某些時候,重要SP提交的短消息達(dá)不到30條/秒,例如只有10條/秒。而此時該重要SP仍占用預(yù)留的流量即30條/秒,普通SP占用的流量為70條/秒,此時短消息處理的業(yè)務(wù)量為80條/秒,低于其最大處理流量100條/秒,這對通信系統(tǒng)來說是一種資源的浪費。
發(fā)明內(nèi)容
本發(fā)明提供了一種消息處理的方法和系統(tǒng),用以在確保重要SP的短信業(yè)務(wù)的流量的同時,確保系統(tǒng)的資源能夠得到充分利用。本發(fā)明一個實施例提供了一種消息處理方法,包括在當(dāng)前流控周期內(nèi)接收發(fā)送方提交的消息,對接收到的消息進行緩存;在所述當(dāng)前流控周期內(nèi),按照消息的優(yōu)先級讀取上一流控周期緩存的消息,在讀取時分別根據(jù)各優(yōu)先級對應(yīng)的流控量對讀取的消息量進行控制;在所述控制過程中,每當(dāng)讀取的消息量到達(dá)當(dāng)前優(yōu)先級的流控量時,切換為讀取下一優(yōu)先級的消息;若讀取的消息量無法達(dá)到當(dāng)前優(yōu)先級的流控量,則將所述當(dāng)前優(yōu)先級的剩余流控量調(diào)配給下一優(yōu)先級, 以調(diào)配的流控量以及預(yù)先為所述下一優(yōu)先級分配的流控量之和作為所述下一優(yōu)先級的流控量;對讀取出的消息進行處理。本發(fā)明另一個實施例提供了一種消息處理系統(tǒng),包括接收模塊,用于在當(dāng)前流控周期內(nèi)接收發(fā)送方提交的消息;緩存模塊,用于對所述接收模塊接收到的消息進行緩存;
讀取模塊,用于在當(dāng)前流控周期內(nèi),按照消息的優(yōu)先級讀取所述緩存模塊在上一流控周期緩存的消息,在讀取時分別根據(jù)各優(yōu)先級對應(yīng)的流控量對讀取的消息量進行控制;在所述控制過程中,每當(dāng)讀取的消息量到達(dá)當(dāng)前優(yōu)先級的流控量時,切換為讀取下一優(yōu)先級的消息;若讀取的消息量無法達(dá)到當(dāng)前優(yōu)先級的流控量,則將所述當(dāng)前優(yōu)先級的剩余流控量調(diào)配給下一優(yōu)先級,以調(diào)配的流控量以及預(yù)先為所述下一優(yōu)先級分配的流控量之和作為所述下一優(yōu)先級的流控量;處理模塊,用于對所述讀取模塊讀取出的消息進行處理。本實施例通過以流控周期作為處理消息的時間間隔,使得系統(tǒng)能夠確定上一流控周期提交的各種優(yōu)先級的消息數(shù)量,由此可以按照優(yōu)先級的高低對消息進行處理,在確定了優(yōu)先級較高的消息占用的資源后,再確定其他優(yōu)先級的消息能夠使用的資源,由此能夠充分利用消息處理系統(tǒng)的處理性能,提高資源利用率。
圖1為本發(fā)明第一實施例提供的消息處理方法流程圖;圖2為本發(fā)明第一實施例提供的消息處理系統(tǒng)處理消息的場景示意圖;圖3為本發(fā)明第二實施例提供的消息處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。鑒于現(xiàn)有技術(shù)中采用預(yù)留流量資源的方式以保證重要SP的短消息業(yè)務(wù)能夠優(yōu)先得到處理,該方式可能會造成資源的浪費。本實施例提供了一種消息處理方法,在優(yōu)先處理重要SP的消息業(yè)務(wù)的同時,也能夠最大限度的處理普通SP提供的消息業(yè)務(wù),本實施中的消息業(yè)務(wù)包括但不限于短消息業(yè)務(wù)及彩信業(yè)務(wù)等類型的業(yè)務(wù)。在本發(fā)明實施例中,按照各SP的重要程度,對各個SP的消息的優(yōu)先級進行預(yù)先設(shè)定,例如,設(shè)定最重要SP的消息的優(yōu)先級最高,次重要SP的消息的優(yōu)先級次高等。在處理消息時,可以按照優(yōu)先級的高低順序,從優(yōu)先級高的消息開始進行消息處理。由此使得消息處理系統(tǒng)能夠保證對重要SP的消息業(yè)務(wù)保留一定的流量,如在消息處理系統(tǒng)的處理性能為100條/秒時,可以保證重要的SP能優(yōu)先占用30條/秒的流量;由此能夠確保消息處理系統(tǒng)中重要的的SP的流量,使得優(yōu)先級高的消息能夠優(yōu)先占用預(yù)留的流量,使得任何時候消息處理系統(tǒng)對優(yōu)先級高的消息能夠優(yōu)先處理。本發(fā)明另一實施例在處理消息時,可以按照優(yōu)先級的高低順序,從優(yōu)先級低的消息開始進行消息處理,在低優(yōu)先級的消息沒有達(dá)到預(yù)先設(shè)置的流控量時,可以將低優(yōu)先級的消息剩余的流控量調(diào)配給高優(yōu)先級的消息使用,從而使高優(yōu)先級的消息能夠使用的流控量比預(yù)先設(shè)置的流控量高,增加高優(yōu)先級的消息的發(fā)送數(shù)量。參見圖1所示為本發(fā)明第一實施例提供的消息處理方法流程圖,包括步驟11、在當(dāng)前流控周期內(nèi)接收發(fā)送方提交的消息。
其中,發(fā)送方可以是不同重要程度的SP和/或普通用戶。步驟12、對接收到的消息進行緩存。在本實施例的消息處理系統(tǒng)中,采用延遲流控的方式對消息進行處理,即消息處理系統(tǒng)以流控周期作為處理消息的時間間隔,在當(dāng)前流控周期內(nèi)處理上一流控周期緩存的消息。同時對于在當(dāng)前流控周期內(nèi)發(fā)送方提交的消息都先進行緩存,并在下一流控周期集中進行處理,由此消息處理系統(tǒng)能夠知道在上一流控周期內(nèi)各個優(yōu)先級的消息分別提交了多少條,從而根據(jù)提交的各消息的優(yōu)先級對消息進行處理,可以優(yōu)先處理優(yōu)先級高的消息。步驟13、在當(dāng)前流控周期內(nèi),按照消息的優(yōu)先級讀取上一流控周期緩存的消息,在讀取時分別根據(jù)各優(yōu)先級對應(yīng)的流控量對讀取的消息量進行控制;在所述控制過程中,每當(dāng)讀取的消息量到達(dá)當(dāng)前優(yōu)先級的流控量時,切換為讀取下一優(yōu)先級的消息;若讀取的消息量無法達(dá)到當(dāng)前優(yōu)先級的流控量,則將當(dāng)前優(yōu)先級的剩余流控量調(diào)配給下一優(yōu)先級,以調(diào)配的流控量以及預(yù)先為下一優(yōu)先級分配的流控量之和作為下一優(yōu)先級的流控量。其中,在按照消息的優(yōu)先級讀取上一流控周期緩存的消息時,可以按照消息的優(yōu)先級從高到低的順序讀取上一流控周期緩存的消息,或按照消息的優(yōu)先級從低到高的順序讀取上一流控周期緩存的消息。例如,在優(yōu)先級最高的消息的數(shù)量達(dá)到對應(yīng)的預(yù)設(shè)流控量時,則只讀取該預(yù)設(shè)流控量的消息;在優(yōu)先級最高的消息量沒有達(dá)到對應(yīng)的預(yù)設(shè)流控量時,則可以將優(yōu)先級最高的消息沒有使用的剩余流控量調(diào)配給優(yōu)先級次高的消息使用,從而使優(yōu)先級次高的消息可以使用的流控量為該剩余流控量與為優(yōu)先級次高的消息預(yù)設(shè)的流控量之和,由此充分的利用了消息處理系統(tǒng)的資源。例如,某消息處理系統(tǒng)的處理性能為每個流控周期100條,其中優(yōu)先級最高的消息在每個流控周期可以占用30條的流量。假設(shè)在上一流控周期提交了 40條優(yōu)先級最高的消息,則在當(dāng)前流控周期進行消息讀取時,判斷出優(yōu)先級最高的消息數(shù)量達(dá)到預(yù)設(shè)流控量, 則只讀取預(yù)設(shè)流控量的消息,即30條,而可以讀取70條其他優(yōu)先級的消息。假設(shè)在上一流控周期只提交了 25條優(yōu)先級最高的消息,則在當(dāng)前流控周期進行消息讀取時,判斷出優(yōu)先級最高的消息數(shù)量未到達(dá)預(yù)設(shè)流控量,則可以讀取全部的優(yōu)先級最高的消息,即25條,并將優(yōu)先級最高的消息的剩余流控量調(diào)配給優(yōu)先級次高的消息使用,由此消息處理系統(tǒng)可以讀取75條其他優(yōu)先級的消息。例如,消息處理系統(tǒng)在一流控周期最多能處理100條消息,其中,優(yōu)先級最高的消息的預(yù)設(shè)流控量為30條,優(yōu)先級次高的消息的預(yù)設(shè)流控量為20條,其他優(yōu)先級的消息的預(yù)設(shè)流控量為50條。假設(shè)在上一流控周期提交了 40條優(yōu)先級最高的消息,30條優(yōu)先級次高的消息,由于提交的優(yōu)先級最高的消息的數(shù)量超過了預(yù)設(shè)流控量,因此,在對優(yōu)先級最高的消息進行讀取時只讀取預(yù)設(shè)流控量的消息,即讀取30條;同理,在對優(yōu)先級次高的消息進行讀取時只讀取20條,其他優(yōu)先級的消息的流控量為預(yù)設(shè)流控量,即50條。假設(shè)在上一流控周期提交了 25條優(yōu)先級最高的消息,25條優(yōu)先級次高的消息,由于優(yōu)先級最高的消息的數(shù)量沒有達(dá)到預(yù)設(shè)流控量,因此優(yōu)先級最高的消息可以被全部讀取,即25條,并且優(yōu)先級最高的消息沒有使用的剩余流控量可以調(diào)配給優(yōu)先級次高的消息使用,即優(yōu)先級次高的消息的流控量等于優(yōu)先級最高的消息的剩余流控量與優(yōu)先級次高的消息的預(yù)設(shè)流控量之和, 即5+20 = 25條,因此優(yōu)先級次高的消息也可以被全部讀取,其他優(yōu)先級的消息占用50條。此外,若上一周期提交的優(yōu)先級次高的消息的數(shù)量較小,假設(shè)只有10條,由于系統(tǒng)能夠讀取25條優(yōu)先級次高的消息,因此可以讀取全部的優(yōu)先級次高的消息,并將優(yōu)先級次高的消息沒有使用的剩余流控量調(diào)配給下一優(yōu)先級的消息使用,從而可以讀取65條其他優(yōu)先級的消息。由此可知,消息處理系統(tǒng)在每個流控周期處理的消息始終為100條,始終處于最大處理性能,由此充分利用了消息處理系統(tǒng)的資源。步驟14、對讀取出的消息進行處理。其中,對讀取出的消息進行的處理根據(jù)消息的不同和/或消息處理系統(tǒng)的不同會有不同,例如在消息為短消息時,該處理就可以是對短消息進行下發(fā)??梢岳斫獾氖?,本實施例中,步驟11、12描述的接收、緩存的過程與步驟13、14描述的讀取、處理過程是可以并行執(zhí)行的。上述方法以流控周期作為處理消息的時間間隔,使得系統(tǒng)能夠確定上一流控周期提交的各種優(yōu)先級的消息的數(shù)量,由此可以按照優(yōu)先級的高低對消息進行處理,在確定了優(yōu)先級較高的消息占用的資源后,再確定其他優(yōu)先級的消息能夠使用的資源,由此能夠充分利用消息處理系統(tǒng)的處理性能,提高資源利用率。此外,本實施例的另一種實現(xiàn)方式中,可以使用緩存區(qū)存儲在上一流控周期提交的,需要在當(dāng)前流控周期處理的消息,以及在當(dāng)前流控周期提交的需要在下一流控周期處理的消息。在此方式中,可以預(yù)先為每個優(yōu)先級設(shè)置兩個緩存區(qū),并將兩個緩存區(qū)分別設(shè)置為緩存狀態(tài)和讀取狀態(tài),且各個緩存區(qū)在每個流控周期結(jié)束點進行狀態(tài)切換。相應(yīng)的,按照流控周期對接收到的消息進行緩存具體包括識別接收到的消息的優(yōu)先級,從為該接收到的消息的優(yōu)先級設(shè)置的兩個緩存區(qū)中,確定在當(dāng)前流控周期中處于緩存狀態(tài)的緩存區(qū),將接收到的消息緩存到處于緩存狀態(tài)的緩存區(qū)中。采用循環(huán)切換緩存區(qū)的方式對短消息進行處理的方法如下,圖2為本發(fā)明一個實施例中消息處理系統(tǒng)處理消息的場景示意圖,在該消息處理系統(tǒng)中,為優(yōu)先級最高的消息預(yù)先設(shè)置了第一緩存區(qū)和第二緩存區(qū);為優(yōu)先級次高的消息預(yù)先設(shè)置了第三緩存區(qū)和第四緩存區(qū)。在當(dāng)前流控周期內(nèi),第一緩存區(qū)存儲的是當(dāng)前流控周期待處理的優(yōu)先級最高的消息,即上一流控周期提交的優(yōu)先級最高的消息,此時第一緩存區(qū)的狀態(tài)為讀取狀態(tài);第二緩存區(qū)存儲的是當(dāng)前流控周期內(nèi)提交的優(yōu)先級最高的消息,即在下一流控周期需要處理的優(yōu)先級最高的消息,此時第二緩存區(qū)的狀態(tài)為緩存狀態(tài)。第三緩存區(qū)存儲的是當(dāng)前流控周期待處理的優(yōu)先級次高的消息,即上一流控周期提交的優(yōu)先級次高的消息,此時第三緩存區(qū)的狀態(tài)為讀取狀態(tài);第四緩存區(qū)存儲的是當(dāng)前流控周期內(nèi)提交的優(yōu)先級次高的消息,即在下一流控周期需要處理的優(yōu)先級次高的消息, 此時第四緩存區(qū)的狀態(tài)為緩存狀態(tài)。在本實施例中,當(dāng)前流控周期內(nèi)接收的發(fā)送方提交的消息都存儲在處于緩存狀態(tài)的緩存區(qū)中,相應(yīng)的,在讀取當(dāng)前流控周期需要處理的消息,即讀取上一流控周期緩存的消息時,具體是從在當(dāng)前流控周期中處于讀取狀態(tài)的緩存區(qū)讀取各優(yōu)先級對應(yīng)的消息;其中, 在當(dāng)前流控周期處于讀取狀態(tài)的緩存區(qū),是在到達(dá)上一流控周期的結(jié)束點時,切換到讀取狀態(tài)的緩存區(qū)。在此基礎(chǔ)上,接收、緩存、讀取和下發(fā)短消息的處理方法都與圖1描述的方法相同,在此不再贅述。在到達(dá)當(dāng)前流控周期結(jié)束點時,對于優(yōu)先級最高的消息,將第一緩存區(qū)的狀態(tài)切換為緩存狀態(tài),將第二緩存區(qū)的狀態(tài)切換為讀取狀態(tài);對于優(yōu)先級次高的消息,將第三緩存區(qū)的狀態(tài)切換為緩存狀態(tài),將第四緩存區(qū)的狀態(tài)切換為讀取狀態(tài)。在下一流控周期中,讀取第二緩存區(qū)和第四緩存區(qū)的消息進行處理,由此實現(xiàn)對消息的循環(huán)處理。本實施例通過以流控周期作為處理消息的時間間隔,使得系統(tǒng)能夠確定上一流控周期提交的各種類型的消息數(shù)量,由此可以按照優(yōu)先級的高低對消息進行處理,在確定了優(yōu)先級較高的消息占用的資源后,再確定其他優(yōu)先級的消息能夠使用的資源,由此能夠充分利用消息處理系統(tǒng)的處理性能,提高資源利用率。本發(fā)明第二實施例提供了一種消息處理系統(tǒng),參見圖3所示,包括接收模塊31,用于在當(dāng)前流控周期內(nèi)接收發(fā)送方提交的消息;緩存模塊32,用于對接收模塊31接收到的消息進行緩存;讀取模塊33,用于在當(dāng)前流控周期內(nèi),按照消息的優(yōu)先級讀取緩存模塊32在上一流控周期緩存的消息,在讀取時分別根據(jù)各優(yōu)先級對應(yīng)的流控量對讀取的消息量進行控制;在該控制過程中,每當(dāng)讀取的消息量到達(dá)當(dāng)前優(yōu)先級的流控量時,切換為讀取下一優(yōu)先級的消息;若讀取的消息量無法達(dá)到當(dāng)前優(yōu)先級的流控量,則將當(dāng)前優(yōu)先級的剩余流控量調(diào)配給下一優(yōu)先級,以該調(diào)配的剩余流控量以及預(yù)先為下一優(yōu)先級分配的流控量之和作為所述下一優(yōu)先級的流控量;處理模塊34,用于對讀取模塊33讀取出的消息進行處理。其中,緩存模塊32具體用于預(yù)先為每個優(yōu)先級設(shè)置兩個緩存區(qū),兩個緩存區(qū)分別設(shè)置為緩存狀態(tài)和讀取狀態(tài),并在每個流控周期結(jié)束點進行狀態(tài)切換;識別接收模塊31接收到的消息的優(yōu)先級,從為該接收到的消息的優(yōu)先級設(shè)置的兩個緩存區(qū)中,確定在當(dāng)前流控周期中處于緩存狀態(tài)的緩存區(qū),將接收模塊31接收到的消息緩存到確定的處于緩存狀態(tài)的緩存區(qū)中。其中,讀取模塊33,具體用于從在當(dāng)前流控周期中處于讀取狀態(tài)的緩存區(qū)讀取各優(yōu)先級對應(yīng)的消息;具體地,該在當(dāng)前流控周期處于讀取狀態(tài)的緩存區(qū)為到達(dá)上一流控周期的結(jié)束點時,切換到讀取狀態(tài)的緩存區(qū)。進一步,讀取模塊33還可以用于按照消息的優(yōu)先從高到低的順序讀取緩存模塊 32在上一流控周期緩存的消息。本實施例中各模塊的功能和交互方式可參見圖1對應(yīng)實施例的記載,在此不再贅述。本實施例通過以流控周期作為處理消息的時間間隔,使得系統(tǒng)能夠確定上一流控周期提交的各種類型的消息數(shù)量,由此可以按照優(yōu)先級的高低對消息進行處理,在確定了優(yōu)先級較高的消息占用的資源后,再確定其他優(yōu)先級的消息能夠使用的資源,由此能夠充分利用消息處理系統(tǒng)的處理性能,提高資源利用率。本領(lǐng)域普通技術(shù)人員可以理解附圖只是一個實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領(lǐng)域普通技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述分布于實施例的裝置中,也可以進行相應(yīng)變化位于不同于本實施例的一個或多個裝置中。上
8述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括只讀存儲記憶體 (ROM Read-OnIy Memory)、隨機存儲記憶體(RAM Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換; 而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種消息處理方法,其特征在于,包括在當(dāng)前流控周期內(nèi)接收發(fā)送方提交的消息,對接收到的消息進行緩存;在所述當(dāng)前流控周期內(nèi),按照消息的優(yōu)先級讀取上一流控周期緩存的消息,在讀取時分別根據(jù)各優(yōu)先級對應(yīng)的流控量對讀取的消息量進行控制;在所述控制過程中,每當(dāng)讀取的消息量到達(dá)當(dāng)前優(yōu)先級的流控量時,切換為讀取下一優(yōu)先級的消息;若讀取的消息量無法達(dá)到當(dāng)前優(yōu)先級的流控量,則將所述當(dāng)前優(yōu)先級的剩余流控量調(diào)配給下一優(yōu)先級,以調(diào)配的流控量以及預(yù)先為所述下一優(yōu)先級分配的流控量之和作為所述下一優(yōu)先級的流控量;對讀取出的消息進行處理。
2.根據(jù)權(quán)利要求1所述的消息處理方法,其特征在于,所述方法還包括預(yù)先為每個優(yōu)先級設(shè)置兩個緩存區(qū),所述兩個緩存區(qū)分別設(shè)置為緩存狀態(tài)和讀取狀態(tài),且各個緩存區(qū)在每個流控周期結(jié)束點進行狀態(tài)切換;所述按照流控周期對接收到的消息進行緩存具體包括識別接收到的消息的優(yōu)先級,從為該優(yōu)先級設(shè)置的兩個緩存區(qū)中確定在當(dāng)前流控周期中處于緩存狀態(tài)的緩存區(qū),將所述消息緩存到所述處于緩存狀態(tài)的緩存區(qū)中。
3.根據(jù)權(quán)利要求2所述的消息處理方法,其特征在于,所述讀取上一流控周期緩存的消息具體為,從在當(dāng)前流控周期中處于讀取狀態(tài)的緩存區(qū)讀取各優(yōu)先級對應(yīng)的消息。
4.根據(jù)權(quán)利要求1至3任一所述的消息處理方法,其特征在于,所述按照消息的優(yōu)先級讀取上一流控周期緩存的消息具體為按照消息的優(yōu)先級從高到低的順序讀取所述上一流控周期緩存的消息。
5.一種消息處理系統(tǒng),其特征在于,包括接收模塊,用于在當(dāng)前流控周期內(nèi)接收發(fā)送方提交的消息;緩存模塊,用于對所述接收模塊接收到的消息進行緩存;讀取模塊,用于在當(dāng)前流控周期內(nèi),按照消息的優(yōu)先級讀取所述緩存模塊在上一流控周期緩存的消息,在讀取時分別根據(jù)各優(yōu)先級對應(yīng)的流控量對讀取的消息量進行控制;在所述控制過程中,每當(dāng)讀取的消息量到達(dá)當(dāng)前優(yōu)先級的流控量時,切換為讀取下一優(yōu)先級的消息;若讀取的消息量無法達(dá)到當(dāng)前優(yōu)先級的流控量,則將所述當(dāng)前優(yōu)先級的剩余流控量調(diào)配給下一優(yōu)先級,以調(diào)配的流控量以及預(yù)先為所述下一優(yōu)先級分配的流控量之和作為所述下一優(yōu)先級的流控量;處理模塊,用于對所述讀取模塊讀取出的消息進行處理。
6.根據(jù)權(quán)利要求5所述的消息處理系統(tǒng),其特征在于,所述緩存模塊具體用于預(yù)先為每個優(yōu)先級設(shè)置兩個緩存區(qū),兩個緩存區(qū)分別設(shè)置為緩存狀態(tài)和讀取狀態(tài),在每個流控周期結(jié)束點進行狀態(tài)切換;識別所述接收模塊接收到的消息的優(yōu)先級,從為該優(yōu)先級設(shè)置的兩個緩存區(qū)中確定在當(dāng)前流控周期中處于緩存狀態(tài)的緩存區(qū),將所述消息緩存到所述處于緩存狀態(tài)的緩存區(qū)中。
7.根據(jù)權(quán)利要求6所述的消息處理系統(tǒng),其特征在于,所述讀取模塊,具體用于從在當(dāng)前流控周期中處于讀取狀態(tài)的緩存區(qū)讀取各優(yōu)先級對應(yīng)的消息。
8.根據(jù)權(quán)利要求5至7任一所述的消息處理系統(tǒng),其特征在于,所述讀取模塊,具體用于按照消息的優(yōu)先從高到低的順序讀取所述緩存模塊在所述上一流控周期緩存的消息。
全文摘要
本發(fā)明公開了一種消息處理方法和系統(tǒng),方法包括在當(dāng)前流控周期內(nèi)接收發(fā)送方提交的消息,對接收到的消息進行緩存;在所述當(dāng)前流控周期內(nèi),按照消息的優(yōu)先級讀取上一流控周期緩存的消息,在讀取時分別根據(jù)各優(yōu)先級對應(yīng)的流控量對讀取的消息量進行控制;在所述控制過程中,每當(dāng)讀取的消息量到達(dá)當(dāng)前優(yōu)先級的流控量時,切換為讀取下一優(yōu)先級的消息;若讀取的消息量無法達(dá)到當(dāng)前優(yōu)先級的流控量,則將所述當(dāng)前優(yōu)先級的剩余流控量調(diào)配給下一優(yōu)先級,以調(diào)配的流控量以及預(yù)先為所述下一優(yōu)先級分配的流控量之和作為所述下一優(yōu)先級的流控量;對讀取出的消息進行處理。本發(fā)明能夠充分利用消息處理系統(tǒng)的處理性能,提高資源利用率。
文檔編號H04W28/10GK102217336SQ201180000618
公開日2011年10月12日 申請日期2011年5月6日 優(yōu)先權(quán)日2011年5月6日
發(fā)明者李昕杰 申請人:華為技術(shù)有限公司