欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種串接長(zhǎng)消息的處理方法及裝置與流程

文檔序號(hào):11931882閱讀:354來(lái)源:國(guó)知局
一種串接長(zhǎng)消息的處理方法及裝置與流程

本發(fā)明涉及短消息業(yè)務(wù),具體涉及一種串接長(zhǎng)消息的處理方法及裝置。



背景技術(shù):

單條短信的長(zhǎng)度是有限制的,GSM(全球移動(dòng)通信系統(tǒng))網(wǎng)絡(luò)的短信,在起呼和終呼消息中內(nèi)容最多只能有140個(gè)字節(jié)。因此對(duì)于起呼消息,如果用戶輸入的消息長(zhǎng)度大于140個(gè)字節(jié),需要手機(jī)進(jìn)行拆分。拆分后的消息經(jīng)過(guò)多個(gè)網(wǎng)元的轉(zhuǎn)發(fā),最終終呼到被叫用戶手機(jī)時(shí),可能是亂序到達(dá)的。比如一條串接長(zhǎng)消息拆分成兩條,第二個(gè)分片先于第一個(gè)分片到達(dá)被叫用戶手機(jī)。有些手機(jī)對(duì)長(zhǎng)消息不做拼接顯示,也就是來(lái)一條就顯示一條,如果消息是亂序到達(dá)的,用戶可能是先看到后面的消息分段,后看到前面的消息分段,用戶體驗(yàn)非常不好。

另外一個(gè)問(wèn)題就是串接長(zhǎng)消息的扣費(fèi)問(wèn)題,目前的做法是,長(zhǎng)消息按照拆分的條數(shù)進(jìn)行計(jì)費(fèi)。比如一條長(zhǎng)消息拆分成了兩條,就按照兩條消息進(jìn)行獨(dú)立的扣費(fèi)和補(bǔ)款。如果一個(gè)分片發(fā)送失敗,一個(gè)分片發(fā)送成功,最終還是扣除了用戶的一條消息的費(fèi)用。也就是說(shuō)在用戶輸入的是一條消息,被叫用戶收到不完整消息的情況下,也對(duì)主叫用戶進(jìn)行了一條消息的扣費(fèi),對(duì)用戶是不合理的。在用戶沒(méi)有收到完整短消息的情況下,不應(yīng)當(dāng)扣除用戶的費(fèi)用。



技術(shù)實(shí)現(xiàn)要素:

為了克服現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明提供了一種串接長(zhǎng)消息的處理方法及裝置,保證串接長(zhǎng)消息按照順序下發(fā)到被叫用戶,并且串接長(zhǎng)消息按照單條消息進(jìn)行扣費(fèi)和補(bǔ)款,僅在被叫用戶收到長(zhǎng)消息所有分片的情況下,才對(duì)用戶進(jìn)行扣費(fèi),有任何分片失敗的情況下都不對(duì)用戶進(jìn)行扣費(fèi)。

為了解決上述技術(shù)問(wèn)題,本發(fā)明采用如下技術(shù)方案:

本發(fā)明的實(shí)施例提供了一種串接長(zhǎng)消息的處理方法,包括:

獲取起呼消息;

若所述起呼消息為串接長(zhǎng)消息,則將所述串接長(zhǎng)消息的所有分片進(jìn)行緩存;

在所述串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心;

在收到所述計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后,將所述緩存的所有分片順序發(fā)送。

其中,上述串接長(zhǎng)消息的處理方法中,若所述起呼消息為串接長(zhǎng)消息,則將所述串接長(zhǎng)消息的所有分片進(jìn)行緩存的步驟包括:

將所述串接串接長(zhǎng)消息的所有分片緩存入第一數(shù)組的多個(gè)第一數(shù)據(jù)區(qū)中;

將所述多個(gè)第一數(shù)據(jù)區(qū)的第一索引緩存入第二數(shù)組的多個(gè)第二數(shù)據(jù)區(qū)中;

將所述多個(gè)第二數(shù)據(jù)區(qū)的第二索引緩存入一哈希表中。

其中,上述串接長(zhǎng)消息的處理方法中,所述分片的消息頭中包括:長(zhǎng)消息參考號(hào)、串接消息的總片數(shù)和當(dāng)前分片序號(hào);

其中,長(zhǎng)消息參考號(hào)在同一個(gè)長(zhǎng)消息的不同分片中是相同的,所述哈希表以所述起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值。

其中,上述串接長(zhǎng)消息的處理方法中,在所述串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心的步驟包括:

在所述第一數(shù)組的一第一數(shù)據(jù)區(qū)中緩存分片的插入時(shí)間信息;如果所述時(shí)間信息大于一預(yù)設(shè)超時(shí)時(shí)間,則刪除所述串接長(zhǎng)消息緩存的所有分片;

在具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的多個(gè)分片中,如果緩存入第一數(shù)組的分片數(shù)和所述分片的消息頭中的串接消息的總片數(shù)相同,則確定所述串接長(zhǎng)消息的所有分片緩存完成;

在所述串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心。

其中,上述串接長(zhǎng)消息的處理方法中,將所述緩存的所有分片順序發(fā)送的步驟包括:

在具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的多個(gè)分片中,按照分片的消息頭中當(dāng)前分片序號(hào)從小到大的順序發(fā)送所有緩存的分片。

其中,上述串接長(zhǎng)消息的處理方法中,按照分片的消息頭中當(dāng)前分片序號(hào)從小到大的順序發(fā)送所有緩存的分片的步驟包括:

查找當(dāng)前分片序號(hào)最小的分片開(kāi)始下發(fā),在當(dāng)前分片下發(fā)成功后,刪除第一數(shù)組中的該條分片,再發(fā)送下一條分片,若當(dāng)前分片最終發(fā)送失敗,則刪除所述第一數(shù)組中當(dāng)前具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存的分片。

其中,上述串接長(zhǎng)消息的處理方法中,還包括:

在當(dāng)前分片發(fā)送失敗,刪除所述第一數(shù)組中當(dāng)前具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存的分片后,發(fā)送補(bǔ)款消息給計(jì)費(fèi)中心。

本發(fā)明的實(shí)施例還提供一種串接長(zhǎng)消息的處理裝置,包括:

接收模塊,用于獲取起呼消息;

處理模塊,用于若所述起呼消息為串接長(zhǎng)消息,則將所述串接長(zhǎng)消息的所有分片進(jìn)行緩存;

發(fā)送模塊,用于在所述串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心;并在收到所述計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后,將所述緩存的所有分片順序發(fā)送。

其中,上述串接長(zhǎng)消息的處理裝置中,所述處理模塊包括:

第一處理單元,用于將所述串接長(zhǎng)消息的所有分片緩存入第一數(shù)組的多個(gè)第一數(shù)據(jù)區(qū)中;

第二處理單元,用于將所述多個(gè)第一數(shù)據(jù)區(qū)的第一索引緩存入第二數(shù)組的多個(gè)第二數(shù)據(jù)區(qū)中;

第三處理單元,用于將所述多個(gè)第二數(shù)據(jù)區(qū)的索引緩存入一哈希表中。

其中,上述串接長(zhǎng)消息的處理裝置中,所述分片的消息頭中包括:長(zhǎng)消息參考號(hào)、串接消息的總片數(shù)和當(dāng)前分片序號(hào);

其中,長(zhǎng)消息參考號(hào)在同一個(gè)長(zhǎng)消息的不同分片中是相同的,所述哈希表以所述起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值。

其中,上述串接長(zhǎng)消息的處理裝置中,所述發(fā)送模塊包括:

第一判斷單元,用于判斷所述串接長(zhǎng)消息的分片緩存是否超時(shí),在所述第一數(shù)組的一第一數(shù)據(jù)區(qū)中緩存分片的插入時(shí)間信息;如果所述時(shí)間信息大于一預(yù)設(shè)超時(shí)時(shí)間,則刪除所述串接長(zhǎng)消息緩存的所有分片;

第二判斷單元,用于判斷所述串接長(zhǎng)消息的所有分片是否緩存完成,在具 有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的多個(gè)分片,如果緩存入第一數(shù)組的分片數(shù)和所述分片的消息頭中的串接消息的總片數(shù)相同,則確定所述串接長(zhǎng)消息的所有分片緩存完成;

第一發(fā)送單元,用于在所述串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心。。

其中,上述串接長(zhǎng)消息的處理裝置中,所述發(fā)送模塊還包括:

第二發(fā)送單元,用于將具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的多個(gè)分片,按照分片的消息頭中當(dāng)前分片序號(hào)從小到大的順序發(fā)送所有緩存的分片。

其中,上述串接長(zhǎng)消息的處理裝置中,所述發(fā)送模塊的第二發(fā)送單元包括:

第一執(zhí)行單元,用于查找當(dāng)前分片序號(hào)最小的分片開(kāi)始下發(fā);

第二執(zhí)行單元,用于在當(dāng)前分片下發(fā)成功后,刪除第一數(shù)組中的該條分片,再發(fā)送下一條分片,若當(dāng)前分片發(fā)送失敗,則刪除所述第一數(shù)組中當(dāng)前具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存的分片。

其中,上述串接長(zhǎng)消息的處理裝置中,所述發(fā)送模塊還包括:

第三發(fā)送單元,用于在當(dāng)前分片發(fā)送失敗,刪除所述第一數(shù)組中當(dāng)前具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存的分片后,發(fā)送補(bǔ)款消息給計(jì)費(fèi)中心。

本發(fā)明的有益效果是:

本發(fā)明提供的一種串接長(zhǎng)消息的處理方法及裝置,能夠保證串接長(zhǎng)消息按照順序下發(fā)到被叫用戶,解決了現(xiàn)有技術(shù)中被叫用戶接收到的串接長(zhǎng)消息可能存在亂序的問(wèn)題。

此外,在長(zhǎng)消息按照多條分片進(jìn)行下發(fā)時(shí),保證用戶按照單條消息進(jìn)行扣費(fèi)和補(bǔ)款,并且僅在被叫用戶收到串接長(zhǎng)消息所有分片的情況下,才對(duì)用戶進(jìn)行扣費(fèi)。如果有任何分片發(fā)送失敗,則發(fā)送一條補(bǔ)款消息到計(jì)費(fèi)中心,保證被叫用戶在未收到消息的情況下,可以補(bǔ)回用戶先前扣除的費(fèi)用,提升了用戶使用體驗(yàn)。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例的串接長(zhǎng)消息的處理方法的流程示意圖;

圖2為本發(fā)明實(shí)施例中將串接長(zhǎng)消息進(jìn)行分片并緩存的流程示意圖;

圖3為本發(fā)明實(shí)施例的分片緩存的結(jié)構(gòu)框圖;

圖4為本發(fā)明實(shí)施例中將串接長(zhǎng)消息分片按序下發(fā)的流程示意圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供本實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

本發(fā)明針對(duì)現(xiàn)有技術(shù)中,在進(jìn)行長(zhǎng)消息的發(fā)送時(shí),用戶可能接收到亂序的長(zhǎng)消息分片,并且在被叫用戶可能未收到消息的情況下也要被扣費(fèi)的問(wèn)題,本發(fā)明的實(shí)施例提供了一種串接長(zhǎng)消息的處理方法及裝置,保證串接長(zhǎng)消息按照順序下發(fā)到被叫用戶,并且串接長(zhǎng)消息按照單條消息進(jìn)行扣費(fèi)和補(bǔ)款,僅在被叫用戶收到串接長(zhǎng)消息所有分片的情況下,才對(duì)用戶進(jìn)行扣費(fèi),有任何分片發(fā)送失敗的情況下都不對(duì)用戶進(jìn)行扣費(fèi)。

本發(fā)明的實(shí)施例提供了一種串接長(zhǎng)消息的處理方法,如圖1所示,該串接長(zhǎng)消息的處理方法包括:

步驟S11、獲取起呼消息;

步驟S12、若所述起呼消息為串接長(zhǎng)消息,則將所述串接長(zhǎng)消息的所有分片進(jìn)行緩存;

步驟S13、在所述串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心;

步驟S14、在收到所述計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后,將所述緩存的所有分片順序發(fā)送。

具體地,在上述串接長(zhǎng)消息的處理方法中,如圖2和圖3所示,步驟S12包括:

S121、將所述串接長(zhǎng)消息的所有分片緩存入第一數(shù)組3的多個(gè)第一數(shù)據(jù)區(qū)5中;

S122、將所述多個(gè)第一數(shù)據(jù)區(qū)5的第一索引緩存入第二數(shù)組2的多個(gè)第二數(shù)據(jù)區(qū)4中;

S123、將所述多個(gè)第二數(shù)據(jù)區(qū)4的第二索引緩存入一哈希表1中。

在實(shí)際應(yīng)用中,短消息中心獲取的串接長(zhǎng)消息包括有消息頭,其中,消息頭中包括:長(zhǎng)消息參考號(hào)、串接消息的總片數(shù)和當(dāng)前分片序號(hào)。另外,長(zhǎng)消息參考號(hào)在同一個(gè)長(zhǎng)消息的不同分片中是相同的,并且哈希表1以起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值。

例如,如圖3所示為本實(shí)施例的分片緩存的結(jié)構(gòu)框圖。短消息中心在獲取起呼消息后,如果該起呼消息為串接長(zhǎng)消息,則將串接長(zhǎng)消息的所有分片進(jìn)行緩存。首先以起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值,查找哈希表1中是否為無(wú)效值,如果是無(wú)效值,則判斷該條分片是未緩存的長(zhǎng)消息的分片,在第一數(shù)組3的多個(gè)第一數(shù)據(jù)區(qū)5中分配一個(gè)數(shù)據(jù)區(qū)用于緩存該分片,并將第一數(shù)組3中該數(shù)據(jù)區(qū)的索引j緩存入第二數(shù)組2的多個(gè)第二數(shù)據(jù)區(qū)4的其中一個(gè)數(shù)據(jù)區(qū),然后將該第二數(shù)組2中該數(shù)據(jù)區(qū)的索引i緩存入哈希表1中。接著,在緩存同一長(zhǎng)消息的其他分片時(shí),按照以起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值,查找哈希表1中的第二索引i,根據(jù)第二索引i查找對(duì)應(yīng)的第二數(shù)組2中的第二數(shù)據(jù)區(qū)4,然后把該條分片緩存入第一數(shù)組3中的一個(gè)第一數(shù)據(jù)區(qū)5,并把該第一數(shù)據(jù)區(qū)5的索引k緩存入第二索引i對(duì)應(yīng)的第二數(shù)據(jù)區(qū)4中。此外,第二數(shù)據(jù)區(qū)4中緩存的對(duì)應(yīng)于第一數(shù)據(jù)區(qū)5的索引應(yīng)按照當(dāng)前分片序號(hào)從小到大的順序排列。以此步驟完成同一長(zhǎng)消息所有分片的緩存,并且在具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的多個(gè)分片,如果緩存入第一數(shù)組3的分片數(shù)和所述分片的消息頭中的串接消息的總片數(shù)相同,則確定所述串接長(zhǎng)消息的所有分片緩存完成。在判斷串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心。

此外,在進(jìn)行串接長(zhǎng)消息的緩存時(shí),在第一數(shù)組3中分配一個(gè)數(shù)據(jù)區(qū)5用于存儲(chǔ)緩存插入的時(shí)間。系統(tǒng)設(shè)置串接長(zhǎng)消息的緩存超時(shí)時(shí)間(例如為1分鐘)。設(shè)置一個(gè)秒定時(shí)器,每秒都是去掃描長(zhǎng)消息緩存中的插入時(shí)間,將緩存插入時(shí)間和超時(shí)時(shí)間做比較,如果超過(guò)了設(shè)置的串接長(zhǎng)消息的緩存超時(shí)時(shí)間后串接長(zhǎng)消息還未緩存完成,則刪除這個(gè)串接長(zhǎng)消息的所有分片,當(dāng)作失敗處 理。

此外,在上述串接長(zhǎng)消息的處理方法中,如圖4所示,步驟S14包括:

S141、查找當(dāng)前分片序號(hào)最小的分片開(kāi)始下發(fā);

S142a、若當(dāng)前分片下發(fā)成功,則刪除第一數(shù)組3中的該條分片,再發(fā)送下一條分片;

S142b、若當(dāng)前分片發(fā)送失敗,則刪除所述第一數(shù)組3中當(dāng)前具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存的分片。

具體地,在收到計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后進(jìn)行終呼時(shí),以主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段為鍵值,查找哈希表1中的第二索引,按照分片的消息頭中當(dāng)前分片序號(hào)從小到大的順序發(fā)送所有緩存的分片,即按照對(duì)應(yīng)的第二數(shù)據(jù)區(qū)4中第一索引的排列順序進(jìn)行下發(fā)。如果當(dāng)前分片下發(fā)成功,則刪除第一數(shù)組3中緩存的該分片信息,并相應(yīng)刪除第二數(shù)據(jù)區(qū)4中對(duì)應(yīng)的第一索引,然后再按序進(jìn)行下一分片的發(fā)送,直到該條長(zhǎng)消息的所有分片全部發(fā)送成功。如果當(dāng)前分片最終下發(fā)失敗,則刪除第一數(shù)組3中具有當(dāng)前相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存分片,并發(fā)送一條補(bǔ)款消息到計(jì)費(fèi)中心。

作為另一種實(shí)現(xiàn)方式,在收到計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后進(jìn)行終呼時(shí),以主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段為鍵值,查找哈希表1中的第二索引,按照分片的消息頭中當(dāng)前分片序號(hào)從小到大的順序發(fā)送所有緩存的分片。在當(dāng)前分片下發(fā)成功后,再按序下發(fā)下一分片。在所有分片發(fā)送成功后,刪除該具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存的分片。如果在終呼過(guò)程中,有當(dāng)前分片最終下發(fā)失敗,則刪除第一數(shù)組3中具有當(dāng)前相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存分片,并發(fā)送一條補(bǔ)款消息到計(jì)費(fèi)中心,保證被叫用戶在未收到消息的情況下,可以補(bǔ)回用戶先前扣除的費(fèi)用,提升了用戶使用體驗(yàn)。

本發(fā)明的實(shí)施例還提供一種串接長(zhǎng)消息的處理裝置,與上述串接長(zhǎng)消息的處理方法相對(duì)應(yīng),所述串接長(zhǎng)消息的處理裝置包括:

接收模塊,用于獲取起呼消息;

處理模塊,用于若所述起呼消息為串接長(zhǎng)消息,則將所述串接長(zhǎng)消息的所 有分片進(jìn)行緩存;

發(fā)送模塊,用于在所述串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心;并在收到所述計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后,將所述緩存的所有分片順序發(fā)送。

在實(shí)際應(yīng)用中,短消息中心獲取的串接長(zhǎng)消息中包含有消息頭,其中,消息頭中包括:長(zhǎng)消息參考號(hào)、串接消息的總片數(shù)和當(dāng)前分片序號(hào)。另外,長(zhǎng)消息參考號(hào)在同一個(gè)長(zhǎng)消息的不同分片中是相同的,并且哈希表1以起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值。

例如,接收模塊在獲取起呼消息后,如果該起呼消息為串接長(zhǎng)消息,則處理模塊將串接長(zhǎng)消息的所有分片進(jìn)行緩存。首先以起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值,查找哈希表1中是否為無(wú)效值,如果是無(wú)效值,則判斷該條分片是未緩存的長(zhǎng)消息的分片,第一處理單元將第一數(shù)組3的多個(gè)第一數(shù)據(jù)區(qū)5中分配一個(gè)數(shù)據(jù)區(qū)用于緩存該分片,第二處理單元將第一數(shù)組3中該數(shù)據(jù)區(qū)的索引j緩存入第二數(shù)組2的多個(gè)第二數(shù)據(jù)區(qū)4的其中一個(gè)數(shù)據(jù)區(qū),然后第三處理單元將該第二數(shù)組2中該數(shù)據(jù)區(qū)的索引i緩存入哈希表1中。接著,在緩存同一長(zhǎng)消息的其他分片時(shí),按照以起呼消息的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段作為鍵值,查找哈希表1中的第二索引i,根據(jù)第二索引i查找對(duì)應(yīng)的第二數(shù)組2中的第二數(shù)據(jù)區(qū)4,然后把該條分片緩存入第一數(shù)組3中的一個(gè)第一數(shù)據(jù)區(qū)5,并把該第一數(shù)據(jù)區(qū)5的索引k緩存入第二索引i對(duì)應(yīng)的第二數(shù)據(jù)區(qū)4中。此外,第二數(shù)據(jù)區(qū)4中緩存的對(duì)應(yīng)于第一數(shù)據(jù)區(qū)5的索引應(yīng)按照當(dāng)前分片序號(hào)從小到大的順序排列。以此步驟完成同一長(zhǎng)消息所有分片的緩存,并且在具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的多個(gè)分片,如果緩存入第一數(shù)組3的分片數(shù)和所述分片的消息頭中的串接消息的總片數(shù)相同,則通過(guò)第二判斷單元確定所述串接長(zhǎng)消息的所有分片緩存完成。第一發(fā)送單元在判斷串接長(zhǎng)消息的所有分片緩存完成后,發(fā)送一條計(jì)費(fèi)消息到計(jì)費(fèi)中心;

此外,在進(jìn)行串接長(zhǎng)消息的緩存時(shí),在第一數(shù)組3中分配一個(gè)數(shù)據(jù)區(qū)5用于存儲(chǔ)緩存插入的時(shí)間。系統(tǒng)設(shè)置串接長(zhǎng)消息的緩存超時(shí)時(shí)間(例如為1分鐘)。設(shè)置一個(gè)秒定時(shí)器,每秒都是去掃描長(zhǎng)消息緩存中的插入時(shí)間,第一 判斷單元將緩存插入時(shí)間和超時(shí)時(shí)間做比較,如果超過(guò)了設(shè)置的串接長(zhǎng)消息的緩存超時(shí)時(shí)間后串接長(zhǎng)消息還未緩存完成,則刪除這個(gè)串接長(zhǎng)消息的所有分片,當(dāng)作失敗處理。

進(jìn)一步地,發(fā)送模塊在收到計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后進(jìn)行終呼時(shí),第一執(zhí)行單元以主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段為鍵值,查找哈希表1中的第二索引,按照分片的消息頭中當(dāng)前分片序號(hào)從小到大的順序發(fā)送所有緩存的分片,即按照對(duì)應(yīng)的第二數(shù)據(jù)區(qū)4中第一索引的排列順序進(jìn)行下發(fā)。第二執(zhí)行單元在當(dāng)前分片下發(fā)成功后,刪除第一數(shù)組3中緩存的該分片信息,并相應(yīng)刪除第二數(shù)據(jù)區(qū)4中對(duì)應(yīng)的第一索引,然后再按序進(jìn)行下一分片的發(fā)送,直到該條長(zhǎng)消息的所有分片全部發(fā)送成功。第三發(fā)送單元在當(dāng)前分片最終下發(fā)失敗后,刪除第一數(shù)組3中具有當(dāng)前相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存分片,并發(fā)送一條補(bǔ)款消息到計(jì)費(fèi)中心。

作為另一種實(shí)現(xiàn)方式,發(fā)送模塊在收到計(jì)費(fèi)中心反饋的扣費(fèi)成功消息后進(jìn)行終呼時(shí),以主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段為鍵值,查找哈希表1中的第二索引,按照分片的消息頭中當(dāng)前分片序號(hào)從小到大的順序發(fā)送所有緩存的分片。在當(dāng)前分片下發(fā)成功后,再按序下發(fā)下一分片。在所有分片發(fā)送成功后,刪除該具有相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存的分片。如果在終呼過(guò)程中,有當(dāng)前分片最終下發(fā)失敗,則刪除第一數(shù)組3中具有當(dāng)前相同的主叫、被叫和長(zhǎng)消息參考號(hào)合并后的字段的所有緩存分片,并發(fā)送一條補(bǔ)款消息到計(jì)費(fèi)中心,保證被叫用戶在未收到消息的情況下,可以補(bǔ)回用戶先前扣除的費(fèi)用,提升了用戶使用體驗(yàn)。

本實(shí)施例提供的一種串接長(zhǎng)消息的處理方法及裝置,保證串接長(zhǎng)消息按照順序下發(fā)到被叫用戶,并且串接長(zhǎng)消息按照單條消息進(jìn)行扣費(fèi)和補(bǔ)款,僅在被叫用戶收到串接長(zhǎng)消息所有分片的情況下,才對(duì)用戶進(jìn)行扣費(fèi),有任何分片發(fā)送失敗的情況下都不對(duì)用戶進(jìn)行扣費(fèi)。

以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沾益县| 涡阳县| 玛曲县| 阳山县| 陈巴尔虎旗| 化德县| 临夏市| 清水河县| 宜城市| 吴旗县| 冀州市| 乌拉特后旗| 湘阴县| 郯城县| 桐乡市| 古蔺县| 德保县| 上饶市| 黔南| 普安县| 黄大仙区| 临潭县| 育儿| 吴川市| 嘉峪关市| 定结县| 都兰县| 亚东县| 绵阳市| 新绛县| 乌兰察布市| 柞水县| 巴南区| 三门县| 基隆市| 长春市| 伊春市| 桐庐县| 分宜县| 新乡市| 肥城市|