專利名稱:提高短消息調(diào)度中心消息處理能力的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通信短消息處理技術(shù),尤指一種使用內(nèi)存作為數(shù)據(jù)庫來提高短消息調(diào)度中心消息處理能力的方法。
隨著移動通信系統(tǒng)的迅猛發(fā)展,特別是數(shù)字移動通信在國內(nèi)外市場的主導(dǎo)性拓展,公用陸地移動網(wǎng)(PLMN)上的增值業(yè)務(wù)要求越來越迫切,短消息服務(wù)就是最主要的增值服務(wù)之一。短消息服務(wù)是無線GSM網(wǎng)上的基本業(yè)務(wù),它利用信令鏈路實(shí)現(xiàn)點(diǎn)對點(diǎn)的消息傳送,是一種非實(shí)時的可靠的信息傳遞業(yè)務(wù)。
具體地講,短消息是利用信令通道傳輸有限字符信息的一種數(shù)據(jù)通訊方式,它是一種獨(dú)立于語音業(yè)務(wù)的一種基本電信服務(wù),符合歐洲遠(yuǎn)程通信標(biāo)準(zhǔn)研究所(ETSI)的GSM基本電信業(yè)務(wù),即移動臺發(fā)起呼叫(MO)業(yè)務(wù)以及發(fā)消息給移動終端(MT)業(yè)務(wù)。利用短消息,移動臺可以采用與普通話音不同的方式通訊,可在通話的同時接收發(fā)送短消息。
短消息調(diào)度中心的基本功能是提供PLMN網(wǎng)上的短消息服務(wù),即處理來自PLMN網(wǎng)上的短消息服務(wù)請求,保存在調(diào)度中心數(shù)據(jù)庫中,并向移動臺轉(zhuǎn)發(fā)消息,如果暫時不能轉(zhuǎn)發(fā)成功,則調(diào)度中心暫存該消息,在合適的時候,再次嘗試轉(zhuǎn)發(fā)。
更進(jìn)一步地說,短消息調(diào)度中心可以處理來自兩種途徑的短消息(1)來自移動臺的短消息,其具體處理過程是這樣的移動臺向短消息調(diào)度中心發(fā)送一條MO消息,短消息調(diào)度中心接到這條消息后,向被叫移動臺或者擴(kuò)展短消息實(shí)體(ESME)下發(fā)此消息,如果下發(fā)不成功,則保存這條消息在調(diào)度中心的數(shù)據(jù)庫中,在合適的時候,再次下發(fā)這條消息,直至消息超過生命期或者下發(fā)的錯誤是永久性錯誤。其中,MO消息的屬性包括有效期等。
(2)由ESME向短消息調(diào)度中心提交短消息,其處理過程和MO消息的處理基本相同。但,ESME提交的短消息的屬性還包括定時屬性,即調(diào)度中心先保存所收到的消息,不立即下發(fā),當(dāng)時間到了消息中設(shè)定的下發(fā)時間時,才第一次下發(fā)此消息。
上面所述的ESME是指具有接收和發(fā)送短消息功能的實(shí)體,比如手機(jī)、具有接收和發(fā)送短消息功能的業(yè)務(wù)程序等等。
由上述處理過程可以看出,短消息調(diào)度中心收到一條短消息后,先將短消息數(shù)據(jù)存儲于調(diào)度中心物理磁盤的數(shù)據(jù)庫中,當(dāng)需要操作數(shù)據(jù)時,再對數(shù)據(jù)庫進(jìn)行訪問、操作。這就要求短消息調(diào)度中心不僅能存儲操作數(shù)據(jù)庫,還要有對每個用戶的時鐘調(diào)度能力。由于短消息調(diào)度中心需要保存每個用戶的用戶信息,每個用戶的短消息數(shù)據(jù),以及對每個用戶的時鐘調(diào)度,因此,在實(shí)際應(yīng)用中系統(tǒng)需要操作數(shù)據(jù)的訪問頻率的分布是不平衡的,一些操作頻率較低或者對操作響應(yīng)要求不高的數(shù)據(jù),采用這種傳統(tǒng)的數(shù)據(jù)庫方式操作可以滿足應(yīng)用的需求。而對那些訪問很頻繁的數(shù)據(jù),如果采用傳統(tǒng)的數(shù)據(jù)庫方式操作,需要頻繁操作磁盤輸入輸出(IO),所以速度不會很高,對處理要求很高的應(yīng)用,又會降低系統(tǒng)的性能。一般對容量為10萬用戶的系統(tǒng),處理能力只有100條短消息/秒。可見,當(dāng)用戶量較大時,用傳統(tǒng)數(shù)據(jù)庫保存用戶數(shù)據(jù)以及短消息數(shù)據(jù)的做法無法滿足大容量、高處理能力的要求。
有鑒于此,本發(fā)明的主要目的在于提供一種提高短消息調(diào)度中心消息處理能力的方法,其可加快數(shù)據(jù)的訪問速度,進(jìn)而提高短消息調(diào)度中心的消息處理能力,并增大消息接收的容量。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種提高短消息調(diào)度中心消息處理能力的方法,其關(guān)鍵在于將訪問頻繁的短消息數(shù)據(jù)保存于短消息調(diào)度中心服務(wù)器的內(nèi)存中。
該方法具體包括以下的步驟
a.在內(nèi)存中建立一個以上固定長度的靜態(tài)數(shù)組;b.建立對應(yīng)每個數(shù)組的HASH查找表;c.將短消息中固定長度的數(shù)據(jù)存放在靜態(tài)數(shù)組中,同時動態(tài)分配內(nèi)存空間保存短消息中變長的數(shù)據(jù)。
其中,所述的靜態(tài)數(shù)組至少包括短消息屬性數(shù)組、注冊用戶信息數(shù)組以及短消息實(shí)體屬性數(shù)組。建立HASH查找表是分別按短消息標(biāo)識建立短消息屬性的HASH查找表,按用戶號碼建立注冊用戶信息的HASH查找表,以及按用戶號碼建立短消息實(shí)體屬性的HASH查找表。
該方法進(jìn)一步包括將訪問頻率降低或滿足該短消息不再發(fā)送條件的數(shù)據(jù)轉(zhuǎn)存到物理磁盤數(shù)據(jù)庫中。其中,該短消息不再發(fā)送的條件是指該短消息的有效期滿,或該短消息已經(jīng)發(fā)送成功,或該短消息產(chǎn)生嚴(yán)重或永久性錯誤。
該方法還進(jìn)一步包括備份內(nèi)存數(shù)據(jù)的步驟。所述的備份為本機(jī)備份或異機(jī)備份。
由上述方案可以看出,本發(fā)明的主要思想就是以內(nèi)存作為數(shù)據(jù)庫保存消息數(shù)據(jù),因?yàn)閷?nèi)存數(shù)據(jù)的操作要比對物理磁盤操作快得多,但內(nèi)存空間是有限的,因此,本發(fā)明只將頻繁訪問的數(shù)據(jù)放置在短消息調(diào)度中心系統(tǒng)的內(nèi)存中,以提高訪問速度;而將訪問率低的數(shù)據(jù)或滿足某些應(yīng)用需求的數(shù)據(jù)仍放在物理磁盤的數(shù)據(jù)庫中。當(dāng)內(nèi)存中某數(shù)據(jù)由于訪問次數(shù)降低或滿足一定條件,無需再保存于內(nèi)存中時,則將該數(shù)據(jù)轉(zhuǎn)存到物理磁盤數(shù)據(jù)庫中,同時釋放所占用的內(nèi)存資源。
一般短消息調(diào)度中心在處理短消息時,針對每個短消息會抽象出短消息屬性、短消息實(shí)體屬性、注冊用戶信息三個對象。其中,短消息屬性是指用戶提交短消息的有關(guān)屬性,比如短消息有效期等;注冊用戶信息是指實(shí)際申請了短消息服務(wù)的用戶的相關(guān)屬性,比如可以接收或發(fā)送短消息數(shù)目的最大、最小值等等;短消息實(shí)體屬性是注冊用戶的一個實(shí)例,保存了短消息和用戶的關(guān)系,比如一個用戶接收或發(fā)送多條短消息,或是一條短消息發(fā)送給多個用戶等等信息。
由于短消息屬性、短消息實(shí)體屬性和注冊用戶信息的長度大小都是固定的,可以采用固定長度的數(shù)組保存,因此,短消息調(diào)度中心在內(nèi)存中建立了短消息屬性、注冊用戶信息、短消息實(shí)體屬性三個固定長度的靜態(tài)數(shù)組,同時,按照短消息標(biāo)識(ID)建立短消息屬性的HASH查找表,按照用戶號碼建立注冊用戶信息的HASH查找表,按照用戶號碼建立短消息實(shí)體屬性的HASH查找表。當(dāng)需要訪問或刪除數(shù)據(jù)時,先通過HASH查找表找到該數(shù)據(jù)在數(shù)組中的相應(yīng)位置,然后進(jìn)行讀取、刪除等操作;如果需要插入數(shù)據(jù),只需找一個可用單元,將所需保存的數(shù)據(jù)放入數(shù)組,并將相應(yīng)的查找信息放入HASH查找表中,以便日后查尋。而對于短消息中有關(guān)短消息內(nèi)容的變長部分,則采用動態(tài)分配內(nèi)存的技術(shù),在堆中動態(tài)分配空間來保存。
由于內(nèi)存介質(zhì)在系統(tǒng)出現(xiàn)異常退出,或者服務(wù)器掉電等情況時,會丟失全部數(shù)據(jù),針對內(nèi)存數(shù)據(jù)庫的這個問題,可采用一種備份機(jī)制,備份內(nèi)存數(shù)據(jù)庫中數(shù)據(jù),當(dāng)系統(tǒng)出現(xiàn)異常時,能夠?qū)?nèi)存數(shù)據(jù)庫中數(shù)據(jù)恢復(fù),以提高內(nèi)存數(shù)據(jù)庫的可靠性。備份方式有兩種一種是本機(jī)備份,一種是異機(jī)備份,異機(jī)備份方式比本機(jī)備份方式的可靠性更高。
綜上所述,本發(fā)明所提供的提高短消息調(diào)度中心消息處理能力的方法,是在內(nèi)存中建立短消息屬性、注冊用戶信息以及短消息實(shí)體屬性三個數(shù)組,以及與這三個數(shù)組對應(yīng)的HASH查找表,當(dāng)短消息調(diào)度中心接收到一條短消息后,將不同類別的信息數(shù)據(jù)存在相應(yīng)的數(shù)組中,并在相應(yīng)的HASH查找表中登記;當(dāng)需要對該數(shù)據(jù)操作時,再通過HASH查找表找到該數(shù)據(jù)進(jìn)行操作。由于將短消息有關(guān)數(shù)據(jù)保存在內(nèi)存中,避免了頻繁的操作物理磁盤數(shù)據(jù)庫,因此可以加快數(shù)據(jù)的訪問速度,并極大的提高短消息中心的處理能力,滿足了大容量、高性能的需求。另外,由于采用備份機(jī)制,完全可以保證數(shù)據(jù)存儲的可靠性。
有關(guān)本發(fā)明的詳細(xì)說明及技術(shù)內(nèi)容,配合
如下圖1為數(shù)據(jù)庫的結(jié)構(gòu)示意圖。
參見圖1所示,短消息調(diào)度中心服務(wù)器的數(shù)據(jù)庫包括兩部分內(nèi)存數(shù)據(jù)庫1與物理磁盤數(shù)據(jù)庫2,其中,內(nèi)存數(shù)據(jù)庫是在服務(wù)器的內(nèi)存中建立了三個固定長度的數(shù)組及其對應(yīng)的HASH查找表,即短消息屬性數(shù)組10以及按短消息ID建立的短消息屬性HASH查找表11;短消息實(shí)體屬性數(shù)組20以及按用戶號碼建立的短消息實(shí)體屬性HASH查找表21;注冊用戶信息數(shù)組30以及按用戶號碼建立的注冊用戶信息HASH查找表31。短消息調(diào)度中心將頻繁訪問的數(shù)據(jù)分類放置在內(nèi)存數(shù)據(jù)庫1中不同的數(shù)組內(nèi),以提高訪問速度;而將訪問率低的數(shù)據(jù)或滿足某些應(yīng)用需求的數(shù)據(jù)仍放在物理磁盤的數(shù)據(jù)庫2中;并且,當(dāng)內(nèi)存數(shù)據(jù)庫1中的某個數(shù)據(jù)由于訪問次數(shù)降低或滿足一定條件,比如某條短消息的有效期已到,不再訪問;或者該條短消息已經(jīng)下發(fā)成功,不再訪問;或者該條短消息在發(fā)送時產(chǎn)生嚴(yán)重或永久性錯誤等等,無需再存于內(nèi)存中時,則將該數(shù)據(jù)轉(zhuǎn)存到物理磁盤數(shù)據(jù)庫2中,同時釋放所占用的內(nèi)存資源。
當(dāng)用戶提交一條短消息給短消息調(diào)度中心后,服務(wù)器首先檢查是否有可用資源,即是否有空的短消息屬性數(shù)組,如果沒有,向用戶返回資源不夠拒絕的消息;如果有,則從短消息屬性數(shù)組10中取出一個可用的短消息屬性單元,保存用戶提交消息中除短消息內(nèi)容的屬性,并將該短消息的ID存入短消息屬性HASH查找表11中,同時在堆40中動態(tài)分配存放短消息內(nèi)容的內(nèi)存空間,保存短消息的內(nèi)容。然后,認(rèn)證該條短消息是否能滿足鑒權(quán),如果能滿足,則接受這條短消息,否則向用戶發(fā)拒絕消息。最后,查找該短消息實(shí)體是否已存在,如果有,則按照短消息實(shí)體屬性的HASH查找表,在短消息實(shí)體屬性數(shù)組30中找到該條短消息所對應(yīng)的短消息實(shí)體屬性,再根據(jù)短消息實(shí)體屬性數(shù)組30中所描述的用戶與短消息的對應(yīng)關(guān)系對該條短消息進(jìn)行操作。如果沒有,則檢查是否有短消息實(shí)體屬性的可用資源,如果沒有,向用戶返回資源不夠拒絕的消息;如果有,則取一個可用的短消息實(shí)體屬性數(shù)組單元,根據(jù)注冊用戶信息和短消息實(shí)體的屬性存入相關(guān)的短消息實(shí)體屬性信息,再按照短消息的屬性條件和短消息實(shí)體的狀態(tài)對該條短消息進(jìn)行操作。當(dāng)短消息結(jié)束生命周期以后,將短消息轉(zhuǎn)存到數(shù)據(jù)庫中保存,并將短消息屬性單元?dú)w還到可用的短消息屬性數(shù)組中。
在實(shí)際應(yīng)用中,當(dāng)短消息調(diào)度中心采用主頻為PIII 450*4、內(nèi)存512M的服務(wù)器時,用原有物理磁盤的數(shù)據(jù)庫技術(shù)處理短消息,一般只能支持10萬用戶,每秒鐘處理100條短消息;而采用本發(fā)明的內(nèi)存數(shù)據(jù)庫技術(shù)以后,可以支持100萬用戶,每秒鐘處理提交的短消息數(shù)可達(dá)到1000條,整個短消息調(diào)度中心的短消息處理能力是原來的100倍??梢姡景l(fā)明達(dá)到了提高短消息調(diào)度中心短消息處理能力的目的,可以滿足大容量、高性能的需求。
權(quán)利要求
1.一種提高短消息調(diào)度中心消息處理能力的方法,其特征在于將訪問頻繁的短消息數(shù)據(jù)保存于短消息調(diào)度中心服務(wù)器的內(nèi)存中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于該方法進(jìn)一步包括以下步驟a.在內(nèi)存中建立一個以上固定長度的靜態(tài)數(shù)組;b.建立對應(yīng)每個數(shù)組的HASH查找表;c.將短消息中固定長度的數(shù)據(jù)存放在靜態(tài)數(shù)組中,同時動態(tài)分配內(nèi)存空間保存短消息中變長的數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述的靜態(tài)數(shù)組至少包括短消息屬性數(shù)組、注冊用戶信息數(shù)組以及短消息實(shí)體屬性數(shù)組。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于所述的建立HASH查找表是分別按短消息標(biāo)識建立短消息屬性的HASH查找表,按用戶號碼建立注冊用戶信息的HASH查找表,以及按用戶號碼建立短消息實(shí)體屬性的HASH查找表。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于該方法還進(jìn)一步包括將訪問頻率降低或滿足該短消息不再發(fā)送條件的數(shù)據(jù)轉(zhuǎn)存到物理磁盤數(shù)據(jù)庫中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于所述該短消息不再發(fā)送的條件是該短消息的有效期滿。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于所述該短消息不再發(fā)送的條件是該短消息已經(jīng)發(fā)送成功。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于所述該短消息不再發(fā)送的條件是該短消息產(chǎn)生嚴(yán)重或永久性錯誤。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于該方法還進(jìn)一步包括備份內(nèi)存數(shù)據(jù)的步驟。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于所述的備份為本機(jī)備份或異機(jī)備份。
全文摘要
本發(fā)明公開了一種提高短消息調(diào)度中心消息處理能力的方法,其關(guān)鍵是將訪問頻繁的短消息數(shù)據(jù)保存于短消息調(diào)度中心服務(wù)器的內(nèi)存中,該方法先在系統(tǒng)內(nèi)存中建立不同屬性的數(shù)組及對應(yīng)每個數(shù)組的HASH查找表,再將短消息中的定長數(shù)據(jù)分類存于數(shù)組中,變長數(shù)據(jù)動態(tài)分配內(nèi)存空間保存,當(dāng)內(nèi)存中數(shù)據(jù)的訪問率降低或滿足某種條件時,再轉(zhuǎn)存到物理磁盤數(shù)據(jù)庫中。使用該方法,可加快數(shù)據(jù)訪問速度,進(jìn)而大大提高短消息調(diào)度中心的消息處理能力。
文檔編號G06F17/30GK1357836SQ00134030
公開日2002年7月10日 申請日期2000年12月7日 優(yōu)先權(quán)日2000年12月7日
發(fā)明者張剛 申請人:華為技術(shù)有限公司