亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

消息發(fā)送系統(tǒng)、方法及裝置、數(shù)據(jù)維護(hù)方法及裝置的制作方法

文檔序號:7803666閱讀:142來源:國知局
專利名稱:消息發(fā)送系統(tǒng)、方法及裝置、數(shù)據(jù)維護(hù)方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其是涉及一種push消息發(fā)送系統(tǒng)、方法及裝置、發(fā)送服務(wù)器、push消息數(shù)據(jù)維護(hù)方法及裝置、緩存數(shù)據(jù)庫。
背景技術(shù)
推送(PUSH)是一種內(nèi)容分發(fā)機(jī)制,采用客戶/服務(wù)器模式的工作方式,要求服務(wù)器不需要客戶端發(fā)出具體請求,就由Push消息發(fā)起者向Push服務(wù)器推送信息和傳遞指令,再由Push服務(wù)器根據(jù)傳遞指令將Push內(nèi)容發(fā)送到客戶端。目前,在具體實(shí)施中,Push消息的以數(shù)據(jù)短信的形式通過CMPP 2.0協(xié)議進(jìn)行發(fā)送。網(wǎng)信平臺中的發(fā)送服務(wù)器將單獨(dú)的Push消息或?qū)⒍鄺lPush消息組裝后發(fā)送給行業(yè)網(wǎng)關(guān),行業(yè)網(wǎng)關(guān)通過用戶所在的短信中心將Push消息發(fā)送給客戶端。行業(yè)網(wǎng)關(guān)在收到網(wǎng)信平臺發(fā)送的Push消息后、向該P(yáng)ush消息的源發(fā)送服務(wù)器發(fā)送應(yīng)答消息,以表示確認(rèn)收到Push消息,該應(yīng)答信息中主要包括序列號、關(guān)鍵碼、消息結(jié)果等內(nèi)容??蛻舳嗽诮邮艿絇ush消息后向行業(yè)網(wǎng)關(guān)發(fā)送確認(rèn)信息,行業(yè)網(wǎng)關(guān)收到客戶端發(fā)送的確認(rèn)信息后向網(wǎng)信平臺發(fā)送報(bào)告消息,用以表示客戶端收到Push消息,該報(bào)告消息中包括消息狀態(tài)等內(nèi)容。Push服務(wù)的網(wǎng)絡(luò)架構(gòu)包括兩種模塊,一種是負(fù)載均衡模式,一種是熱備份模式。負(fù)載均衡模式中,網(wǎng)信平臺側(cè)配置多臺發(fā)送服務(wù)器,發(fā)送管理模塊根據(jù)各發(fā)送服務(wù)器的實(shí)際運(yùn)行情況(即負(fù)載情況)、將發(fā)送任務(wù)相對均衡地分配給各個(gè)發(fā)送服務(wù)器。當(dāng)行業(yè)網(wǎng)關(guān)向網(wǎng)信平臺發(fā)送應(yīng)答消息時(shí),將該應(yīng)答消息發(fā)送給Push消息的源發(fā)送服務(wù)器;發(fā)送報(bào)告消息時(shí),將該消息發(fā)送給網(wǎng)信平臺的任一發(fā)送服務(wù)器,這樣報(bào)告消息就可能無法發(fā)送到Push消息的源發(fā)送服務(wù)器,尤其是在Push消息是由多條Push消息組裝而成的情況下,行業(yè)網(wǎng)關(guān)會(huì)針對多條Push消息分別發(fā)送多條報(bào)告消息至行業(yè)網(wǎng)關(guān),這多條報(bào)告消息就可能被發(fā)送給多個(gè)發(fā)送服務(wù)器,這樣源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息,從而無法進(jìn)行對Push消息的后續(xù)統(tǒng)計(jì)歸檔處理。熱備份模式可以解決負(fù)載均衡模式中源發(fā)送服務(wù)器無法接收到完整的報(bào)告消息的問題。熱備份模式中,網(wǎng)信平臺側(cè)配置一臺主發(fā)送服務(wù)器、一臺熱備份服務(wù)器,行業(yè)網(wǎng)關(guān)返回的應(yīng)答消息和報(bào)告消息都會(huì)發(fā)送到主發(fā)送服務(wù)器,這樣就能夠解決負(fù)載均衡模式下的上述問題。但是,隨著Push業(yè)務(wù)的廣泛應(yīng)用,網(wǎng)信平臺的發(fā)送服務(wù)器也要處理的業(yè)務(wù)也隨之?dāng)U大,而發(fā)送服務(wù)器的發(fā)送性能存在上限,只能通過硬件升級來應(yīng)對發(fā)送任務(wù)的增多,但是硬件升級也不是必然地使發(fā)送性能得到線性提升,并且硬件擴(kuò)展也存在一定局限;此外,當(dāng)大量的用戶下發(fā)請求,在系統(tǒng)數(shù)據(jù)庫性能有限的情況下,容易導(dǎo)致系統(tǒng)癱瘓;可知,熱備份模式中存在發(fā)送服務(wù)器的發(fā)送能力受限的問題。綜上可見,目前在現(xiàn)有的Push消息發(fā)送技術(shù)中,存在負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題,熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種push消息發(fā)送系統(tǒng),用以解決現(xiàn)有的Push消息發(fā)送技術(shù)中所存在的、在負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。相應(yīng)地,本發(fā)明實(shí)施例還提供了一種push消息發(fā)送方法及裝置、發(fā)送服務(wù)器、緩存數(shù)據(jù)庫。本發(fā)明實(shí)施例包括如下的技術(shù)方案:一種push消息發(fā)送系統(tǒng),包括多臺發(fā)送服務(wù)器、行業(yè)網(wǎng)關(guān)、緩存數(shù)據(jù)庫、系統(tǒng)數(shù)據(jù)庫;其中,發(fā)送服務(wù)器,用于對要發(fā)送的push消息建立并保存發(fā)送表,將push消息發(fā)送給行業(yè)網(wǎng)關(guān),并將建立的發(fā)送表發(fā)送給緩存數(shù)據(jù)庫;行業(yè)網(wǎng)關(guān),用于將接收到的push消息發(fā)送給移動(dòng)終端;在接收到移動(dòng)終端返回的應(yīng)答消息后,向任意一臺發(fā)送服務(wù)器返回報(bào)告消息;發(fā)送服務(wù)器,還用于在接收到來自行業(yè)網(wǎng)關(guān)的報(bào)告消息后,通過該報(bào)告消息中攜帶的push消息標(biāo)識、來判斷本機(jī)是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送服務(wù)器,在判斷本機(jī)是源發(fā)送服務(wù)器的情況下,將該接收到的報(bào)告消息中攜帶的push消息狀態(tài)信息、記錄到push消息標(biāo)識所指的push消息的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,在判斷本機(jī)不是源發(fā)送服務(wù)器的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫;緩存數(shù)據(jù)庫,用于接收并保存來自發(fā)送服務(wù)器的發(fā)送表;接收來自發(fā)送服務(wù)器的push消息的push消息標(biāo)識和push消息狀態(tài)信息,將該接收到的push消息狀態(tài)信息記錄到與接收到的push消息標(biāo)識對應(yīng)的發(fā)送表中,并將記錄了消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。—種push消息發(fā)送方法,包括:對要發(fā)送的push消息建立并保存發(fā)送表,并將建立的發(fā)送表發(fā)送給緩存數(shù)據(jù)庫,將push消息發(fā)送給行業(yè)網(wǎng)關(guān);在接收到來自行業(yè)網(wǎng)關(guān)返回的報(bào)告消息后,通過該報(bào)告消息中攜帶的push消息標(biāo)識、來判斷本裝置是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置,在判斷本裝置是源發(fā)送裝置的情況下,將該接收到的報(bào)告消息中攜帶的push消息狀態(tài)信息、記錄到與該報(bào)告消息對應(yīng)的push消息的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,在判斷本裝置不是源發(fā)送裝置的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫。一種push消息發(fā)送裝置,包括:建立模塊,用于對要發(fā)送的push消息建立發(fā)送表;保存模塊,用于保存建立模塊建立的發(fā)送表;發(fā)送模塊,用于將push消息發(fā)送給行業(yè)網(wǎng)關(guān);接收模塊,用于接收行業(yè)網(wǎng)關(guān)返回的報(bào)告消息;判別模塊,用于通過接收模塊接收到的報(bào)告消息中攜帶的push消息標(biāo)識、來判斷本裝置是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置;記錄模塊,用于在判別模塊判斷本裝置是源發(fā)送裝置的情況下,將接收模塊接收到的報(bào)告消息中的攜帶的push消息狀態(tài)信息、記錄到保存模塊保存的、與該報(bào)告消息對應(yīng)的push消息的發(fā)送表中;發(fā)送模塊,還用于在判別模塊判斷本裝置不是源發(fā)送裝置的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫;并將記錄模塊記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種push消息發(fā)送服務(wù)器,包括如上所述的push消息發(fā)送裝置。一種push消息數(shù)據(jù)維護(hù)方法,包括:接收并保存來自發(fā)送服務(wù)器的發(fā)送表;接收來自發(fā)送服務(wù)器的push消息的push消息標(biāo)識和push消息狀態(tài)信息;將該接收到的push消息狀態(tài)信息記錄到保存的與接收到的push消息標(biāo)識對應(yīng)的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種push消息數(shù)據(jù)維護(hù)裝置,包括:接收模塊,用于接收并保存來自發(fā)送服務(wù)器的發(fā)送表;還用于接收來自發(fā)送服務(wù)器的push消息的push消息標(biāo)識和push消息狀態(tài)信息;保存模塊,用于對接收模塊接收到的發(fā)送表進(jìn)行保存;記錄模塊,用于將接收模塊接收到的push消息狀態(tài)信息記錄到保存模塊保存的與接收到的push消息標(biāo)識對應(yīng)的發(fā)送表中;發(fā)送模塊,用于將記錄模塊記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種緩存數(shù)據(jù)庫,包括如上的push消息數(shù)據(jù)維護(hù)裝置。根據(jù)本發(fā)明實(shí)施例的技術(shù)方案,通過在負(fù)載均衡模式的push消息發(fā)送系統(tǒng)的基礎(chǔ)上,設(shè)置緩存數(shù)據(jù)庫,將緩存數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)庫的代理;發(fā)送服務(wù)器將對push消息建立的發(fā)送表保存在本地、并同步發(fā)送給緩存數(shù)據(jù)庫;在行業(yè)網(wǎng)關(guān)給任一臺發(fā)送服務(wù)器返回報(bào)告消息后,接收到報(bào)告信息的發(fā)送服務(wù)器在判斷本裝置是push消息的源發(fā)送服務(wù)器的情況下,將報(bào)告消息中的push消息狀態(tài)信息記錄到本地保存的發(fā)送表中,并將記錄后的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫;在判斷本裝置不是push消息的源發(fā)送服務(wù)器的情況下,將報(bào)告消息中的push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫,緩存數(shù)據(jù)庫將接收到的push消息狀態(tài)信息記錄到相應(yīng)的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫;這樣,當(dāng)push消息是由多臺push消息組裝而成的,并且該push消息的源發(fā)送服務(wù)器沒有收到完整的報(bào)告消息時(shí),緩存數(shù)據(jù)庫就能夠獲取該push消息完整的報(bào)告消息,從而能夠?qū)ush消息進(jìn)行后續(xù)的歸檔統(tǒng)計(jì),能夠解決現(xiàn)有技術(shù)中,在負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題;采用負(fù)載均衡模式,則能夠根據(jù)發(fā)送任務(wù)的增多來相應(yīng)地?cái)U(kuò)充發(fā)送服務(wù)器來擴(kuò)展發(fā)送能力,從而能夠解決現(xiàn)有技術(shù)中,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。


圖1是根據(jù)本發(fā)明實(shí)施例的push消息發(fā)送系統(tǒng)的結(jié)構(gòu)框圖;圖2是根據(jù)本發(fā)明實(shí)施例的push消息發(fā)送方法的工作流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的push消息發(fā)送裝置的結(jié)構(gòu)框圖;圖4是根據(jù)本發(fā)明實(shí)施例的push消息數(shù)據(jù)維護(hù)方法的工作流程圖;圖5是根據(jù)本發(fā)明實(shí)施例push消息數(shù)據(jù)維護(hù)裝置的結(jié)構(gòu)框圖;圖6是本發(fā)明實(shí)施例具體應(yīng)用的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式針對現(xiàn)有的Push消息發(fā)送技術(shù)中所存在的,在負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題,本發(fā)明實(shí)施例提出了一種push消息發(fā)送方案和push消息數(shù)據(jù)維護(hù)方案,以解決該問題。在本發(fā)明實(shí)施例的方案中,通過在負(fù)載均衡模式的push消息發(fā)送系統(tǒng)的基礎(chǔ)上,設(shè)置緩存數(shù)據(jù)庫,將緩存數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)庫的代理,在行業(yè)網(wǎng)關(guān)將報(bào)告消息返回給任意一個(gè)發(fā)送服務(wù)器后,發(fā)送服務(wù)器判斷本機(jī)不是該報(bào)告消息對應(yīng)的push消息的源發(fā)送服務(wù)器的情況下,將該報(bào)告消息中的push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫,緩存數(shù)據(jù)庫將接收到的push消息狀態(tài)信息記錄到相應(yīng)的發(fā)送表中,這樣當(dāng)push消息是由多臺push消息組裝而成的,并且該push消息的源發(fā)送服務(wù)器沒有收到完整的報(bào)告消息時(shí),緩存數(shù)據(jù)庫就能夠獲取該push消息完整的報(bào)告消息,并且緩存數(shù)據(jù)庫將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,就能夠?qū)ush消息進(jìn)行后續(xù)的歸檔統(tǒng)計(jì),能夠解決現(xiàn)有技術(shù)中,在負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題;采用負(fù)載均衡模式,則能夠根據(jù)發(fā)送任務(wù)的增多來相應(yīng)地?cái)U(kuò)充發(fā)送服務(wù)器來擴(kuò)展發(fā)送能力,從而能夠解決現(xiàn)有技術(shù)中,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。下面對本發(fā)明實(shí)施例進(jìn)行詳細(xì)說明。本發(fā)明實(shí)施例首先提出了一種push消息發(fā)送方案。圖1示出了根據(jù)本發(fā)明實(shí)施例的push消息發(fā)送系統(tǒng)的結(jié)構(gòu)框圖,如圖1所示,該系統(tǒng)包括多臺發(fā)送服務(wù)器Il1...1ln、行業(yè)網(wǎng)關(guān)12、緩存數(shù)據(jù)庫13、系統(tǒng)數(shù)據(jù)庫14。其中發(fā)送服務(wù)器Il1...1ln,用于對要發(fā)送的push消息建立并保存發(fā)送表,將push消息發(fā)送給行業(yè)網(wǎng)關(guān)12,并將建立的發(fā)送表發(fā)送給緩存數(shù)據(jù)庫13。行業(yè)網(wǎng)關(guān)12,連接至各發(fā)送服務(wù)器Il1...1ln,用于將接收到的push消息發(fā)送給移動(dòng)終端;在接收到移動(dòng)終端返回的應(yīng)答消息后,向任意一臺發(fā)送服務(wù)器111...1ln返回報(bào)
告消息。發(fā)送服務(wù)器Il1...1ln,還用于在接收到來自行業(yè)網(wǎng)關(guān)12的報(bào)告消息后,通過該報(bào)告消息中攜帶的push消息標(biāo)識、來判斷本機(jī)是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送服務(wù)器,在判斷本機(jī)是源發(fā)送服務(wù)器的情況下,將該接收到的報(bào)告消息中攜帶的push消息狀態(tài)信息、記錄到push消息標(biāo)識所指的push消息的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫14,在判斷本機(jī)不是源發(fā)送服務(wù)器的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫13。

緩存數(shù)據(jù)庫13,用于接收并保存來自發(fā)送服務(wù)器Il1...1ln的發(fā)送表;接收來自發(fā)送服務(wù)器Il1...1ln的push消息的push消息標(biāo)識和push消息狀態(tài)信息,將該接收到的push消息狀態(tài)信息記錄到與接收到的push消息標(biāo)識對應(yīng)的發(fā)送表中,并將記錄了消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫14。圖1所示系統(tǒng)的工作原理包括如下處理過程。步驟一、發(fā)送服務(wù)器對于要發(fā)送的push消息建立發(fā)送表,該發(fā)送表中包括序列號、關(guān)鍵碼、push消息標(biāo)識(ID)、消息結(jié)果、消息狀態(tài)等字段,該發(fā)送表用于維護(hù)發(fā)送記錄,并在本地保存該發(fā)送表;將建立的發(fā)送表發(fā)送給緩存數(shù)據(jù)庫13 ^fpush消息發(fā)送給行業(yè)網(wǎng)關(guān)12 ;步驟二、緩存數(shù)據(jù)庫13接收并保存來自發(fā)送服務(wù)器的發(fā)送表;步驟三、行業(yè)網(wǎng)關(guān)12接收到來自發(fā)送服務(wù)器的push消息后,將接收到該push消息的應(yīng)答消息返回給push消息的源發(fā)送服務(wù)器,并將push消息通過短信中心發(fā)送給移動(dòng)終端;行業(yè)網(wǎng)關(guān)12在接收到來自移動(dòng)終端返回的應(yīng)答消息后,向任意一臺發(fā)送服務(wù)器發(fā)送報(bào)告消息;步驟四、發(fā)送服務(wù)器接收到行業(yè)網(wǎng)關(guān)12返回的應(yīng)答消息后,在本地查找到已保存的、與應(yīng)答消息中的push消息ID對應(yīng)的push消息的發(fā)送表,將應(yīng)答消息中攜帶的push消息結(jié)果信息記錄到查找到的發(fā)送表中,并在第二預(yù)定時(shí)間定時(shí)到時(shí)后,將記應(yīng)答消息中的push消息ID、push消息結(jié)果信息發(fā)送給緩存數(shù)據(jù)庫13 ;步驟五、緩存數(shù)據(jù)庫13接收到來自發(fā)送服務(wù)器的push消息ID、push消息結(jié)果信息后,在緩存數(shù)據(jù)庫13本地查找到已保存的、與接收到的push消息ID對應(yīng)的push消息的發(fā)送表,將push消息結(jié)果信息記錄到查找到的發(fā)送表中,并保存該發(fā)送表;步驟六、發(fā)送服務(wù)器接收到行業(yè)網(wǎng)關(guān)12返回的報(bào)告消息后,首先判斷本機(jī)是否為該報(bào)告消息所對應(yīng)的push消息的源發(fā)送服務(wù)器,具體將該報(bào)告消息中攜帶的push消息ID與已保存的發(fā)送表中的push消息ID進(jìn)行對比,有相同的ID的情況下,確定本機(jī)是源發(fā)送服務(wù)器,否則,就不是源發(fā)送服務(wù)器;在本機(jī)是源發(fā)送服務(wù)器的情況下,將報(bào)告消息中的push消息狀態(tài)信息記錄到與push消息ID所指的push消息的發(fā)送表中;在本機(jī)不是源發(fā)送服務(wù)器的情況下,在第二預(yù)定時(shí)間定時(shí)到時(shí)后,在將push消息ID和push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫13 ;步驟七、發(fā)送服務(wù)器在第一預(yù)定時(shí)間定時(shí)到時(shí)后,將記錄了 push消息結(jié)果信息和push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫14 ;步驟八、緩存數(shù)據(jù)庫13接收到來自發(fā)送服務(wù)器的push消息ID、push消息狀態(tài)信息后,在緩存數(shù)據(jù)庫13本地查找到已保存的、與接收到的push消息ID對應(yīng)的push消息的發(fā)送表,將push消息狀態(tài)信息記錄到查找到的發(fā)送表中,并保存該發(fā)送表;步驟九,在第三預(yù)定時(shí)間定時(shí)到時(shí)后,緩存數(shù)據(jù)庫13將記錄了 push消息結(jié)果信息和push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫14 ;在發(fā)送操作完成后,將發(fā)送過的發(fā)送表刪除、釋放存儲(chǔ)空間。一種優(yōu)選的方式,圖1所示系統(tǒng)還包括發(fā)送管理服務(wù)器。發(fā)送管理服務(wù)器定期掃描緩存數(shù)據(jù)庫13,在掃描確定緩存數(shù)據(jù)庫13中保存有記錄了 push消息狀態(tài)信息的發(fā)送表后(該發(fā)送表中已經(jīng)記錄有push消息結(jié)果信息),向緩存數(shù)據(jù)庫13發(fā)送指示,緩存數(shù)據(jù)庫13根據(jù)來自發(fā)送管理服務(wù)器的指示,將記錄有push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫14。一種優(yōu)選的方式,發(fā)送服務(wù)器還將負(fù)荷信息發(fā)送給緩存數(shù)據(jù)庫13,其中,負(fù)荷信息包括:發(fā)送隊(duì)列長度、工作狀態(tài);緩存數(shù)據(jù)庫13,還保存來自于發(fā)送服務(wù)器的負(fù)荷信息;發(fā)送管理服務(wù)器,還根據(jù)緩存數(shù)據(jù)庫13中保存的各個(gè)發(fā)送服務(wù)器的負(fù)荷信息,向各個(gè)發(fā)送服務(wù)器分配需要發(fā)送的push消息。這樣,能夠達(dá)到各個(gè)發(fā)送服務(wù)器之間的負(fù)載均衡。根據(jù)圖1所示的系統(tǒng),通過設(shè)置緩存數(shù)據(jù)庫、并將該緩存數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)庫的代理,發(fā)送服務(wù)器將來自行業(yè)網(wǎng)關(guān)的報(bào)告消息進(jìn)行分析,當(dāng)該報(bào)告消息對應(yīng)的push消息不是由本發(fā)送服務(wù)器發(fā)出的情況下,將報(bào)告消息中的push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫,由緩存數(shù)據(jù)庫獲取完整的push消息的狀態(tài)信息后,將push消息的包括push消息狀態(tài)信息在內(nèi)的、用于統(tǒng)計(jì)的信息發(fā)送給系統(tǒng)數(shù)據(jù)庫,這樣就能夠解決現(xiàn)有技術(shù)中負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題、進(jìn)而無法進(jìn)行后續(xù)的歸檔統(tǒng)計(jì)的問題;并且,采用負(fù)載均衡模式,能夠根據(jù)發(fā)送任務(wù)的增多來相應(yīng)地?cái)U(kuò)充發(fā)送服務(wù)器來擴(kuò)展發(fā)送能力,從而能夠解決現(xiàn)有技術(shù)中,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。本發(fā)明實(shí)施例還提供了一種發(fā)送服務(wù)器發(fā)送push消息的方案。圖2示出了根據(jù)本發(fā)明實(shí)施例的push消息發(fā)送方法的工作流程圖,如圖2所示,該流程包括如下處理過程:步驟21、對要發(fā)送的push消息建立并保存發(fā)送表,并將建立的發(fā)送表發(fā)送給緩存數(shù)據(jù)庫;步驟22、將push消息發(fā)送給行業(yè)網(wǎng)關(guān);一種優(yōu)選的方式,接收來自行業(yè)網(wǎng)關(guān)的應(yīng)答消息,將應(yīng)答消息中攜帶的push消息結(jié)果信息記錄到保存的push消息ID所指的push消息的發(fā)送表中,并在預(yù)定的第二定時(shí)到時(shí)后,將該應(yīng)答消息中攜帶的push消息ID、push消息結(jié)果信息發(fā)送給緩存數(shù)據(jù)庫;步驟23、在接收到來自行業(yè)網(wǎng)關(guān)返回的報(bào)告消息后,通過該報(bào)告消息中攜帶的push消息ID、來判斷本裝置是否是與該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置,在判斷本裝置是源發(fā)送裝置的情況下,處理進(jìn)行到步驟24,否則,處理進(jìn)行到步驟25 ;—種優(yōu)選的方式,將報(bào)告消息中攜帶的push消息ID與保存的發(fā)送表中的push消息ID對比,在保存的發(fā)送表中記錄有與報(bào)告信息中的push消息ID相同的push消息ID的情況下,判斷本發(fā)送裝置是報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置,否則,就判斷本發(fā)送裝置不是報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置;步驟24、在判斷本裝置是源發(fā)送裝置的情況下,將該接收到的報(bào)告消息中攜帶的push消息狀態(tài)信息、記錄到與該報(bào)告消息對應(yīng)的push消息的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,處理結(jié)束;一種優(yōu)選的方式,在預(yù)定的第一定時(shí)到時(shí)后,將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。步驟25、在判斷本裝置不是源發(fā)送裝置的情況下,將該報(bào)告消息中攜帶的push消息ID、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫;一種優(yōu)選的方式,在預(yù)定的第二定時(shí)到時(shí)后,將該報(bào)告消息中攜帶的push消息ID、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫。通過如圖2所示的處理過程,發(fā)送服務(wù)器對push消息建立發(fā)送表、并將該發(fā)送表發(fā)送給緩存數(shù)據(jù)庫,發(fā)送服務(wù)器和緩存數(shù)據(jù)庫都根據(jù)該發(fā)送表來對push消息的發(fā)送情況進(jìn)行維護(hù);發(fā)送服務(wù)器對接收到的報(bào)告消息進(jìn)行判斷,在本發(fā)送服務(wù)器是該報(bào)告消息對應(yīng)的push消息的源發(fā)送服務(wù)器時(shí),將報(bào)告消息中的push消息狀態(tài)信息記錄到本地保存的發(fā)送表中,并將記錄后的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,否則,將報(bào)告消息中的push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫,這樣就能夠在緩存數(shù)據(jù)庫側(cè)實(shí)現(xiàn)對push消息的用于統(tǒng)計(jì)的信息的完整獲取,能夠解決現(xiàn)有技術(shù)中、負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題、進(jìn)而無法進(jìn)行后續(xù)的歸檔統(tǒng)計(jì)的問題。為實(shí)現(xiàn)上述功能,本發(fā)明實(shí)施例這里的push消息發(fā)送方法可以通過硬件實(shí)現(xiàn),也可以通過下述軟件程序?qū)崿F(xiàn),即發(fā)送服務(wù)器中包括以下的push消息發(fā)送裝置。圖3示出了根據(jù)本發(fā)明實(shí)施例的push消息發(fā)送裝置的結(jié)構(gòu)框圖,如圖3所示,該裝置包括:建立模塊31、保存模塊32、發(fā)送模塊33、接收模塊34、判別模塊35、記錄模塊36。建立模塊31,用于對要發(fā)送的push消息建立發(fā)送表;保存模塊32,連接至建立模塊31,用于保存建立模塊31建立的發(fā)送表;發(fā)送模塊33,用于將push消息發(fā)送給行業(yè)網(wǎng)關(guān);接收模塊34,用于接收行業(yè)網(wǎng)關(guān)返回的報(bào)告消息;
一種較優(yōu)的方式,接收模塊34還用于接收來自行業(yè)網(wǎng)關(guān)的應(yīng)答消息;判別模塊35,連接至接收模塊34,用于通過接收模塊34接收到的報(bào)告消息中攜帶的push消息ID、來判斷本裝置是否是與該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置;記錄模塊36,連接至判別模塊35、接收模塊34、保存模塊32,用于在判別模塊35判斷本裝置是源發(fā)送裝置的情況下,將接收模塊34接收到的報(bào)告消息中的攜帶的push消息狀態(tài)信息、記錄到保存模塊32保存的、與該報(bào)告消息對應(yīng)的push消息的發(fā)送表中;一種較優(yōu)的方式,記錄模塊36還用于將接收模塊34接收到的應(yīng)答消息中攜帶的push消息結(jié)果信息記錄到保存模塊32保存的push消息ID所指的push消息的發(fā)送表中;發(fā)送模塊33,連接至判別模塊35,還用于在判別模塊35判斷本裝置不是源發(fā)送裝置的情況下,將該報(bào)告消息中攜帶的push消息ID、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫;還用于將記錄模塊36記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種較優(yōu)的方式,發(fā)送模塊33,還用于將接收模塊34接收到的應(yīng)答消息中攜帶的push消息ID、push消息結(jié)果信息發(fā)送給緩存數(shù)據(jù)庫。一種較優(yōu)的方式,圖3所示裝置還包括:第一定時(shí)模塊,用于對預(yù)定的發(fā)送模塊向系統(tǒng)數(shù)據(jù)庫發(fā)送記錄了 push消息狀態(tài)信息的發(fā)送表的時(shí)間進(jìn)行定時(shí);第二定時(shí)模塊,用于對預(yù)定的發(fā)送模塊向緩存數(shù)據(jù)庫發(fā)送push消息ID、push消息狀態(tài)信息的時(shí)間進(jìn)行定時(shí)。圖3所示裝置的工作原理如圖2所示,這里不再贅述。通過圖3所示的裝置,也能夠解決現(xiàn)有技術(shù)中、負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題、進(jìn)而無法進(jìn)行后續(xù)的歸檔統(tǒng)計(jì)的問題。本發(fā)明實(shí)施例還提供了一種緩存數(shù)據(jù)庫對push消息數(shù)據(jù)進(jìn)行維護(hù)的方案。圖4示出了根據(jù)本發(fā)明實(shí)施例的push消息數(shù)據(jù)維護(hù)方法的工作流程圖,如圖4所示,該流程包括如下處理過程:步驟41、接收并保存來自發(fā)送服務(wù)器的發(fā)送表;—種優(yōu)選的方式,接收來自發(fā)送服務(wù)器的push消息ID、push消息結(jié)果信息,將該接收到的push消息結(jié)果信息記錄到保存的push消息ID所指的push消息的發(fā)送表中;步驟42、接收來自發(fā)送服務(wù)器的push消息的push消息ID和push消息狀態(tài)信息;步驟43、將該接收到的push消息狀態(tài)信息記錄到保存的與接收到的push消息ID對應(yīng)的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種優(yōu)選的方式,在該發(fā)送表中記錄了 push消息狀態(tài)信息后,根據(jù)來自發(fā)送管理服務(wù)器的指示,在預(yù)定時(shí)間到時(shí)后,將記錄了 push消息結(jié)果信息和push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫;在將發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫后,將發(fā)送過的發(fā)送表刪除。通過如圖4所述的方法,緩存數(shù)據(jù)庫接收并保存發(fā)送表,能夠?qū)ush消息的發(fā)送狀況進(jìn)行維護(hù);并將接收到的push消息狀態(tài)信息記錄到相應(yīng)的發(fā)送表中,并將記錄的push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,能夠解決現(xiàn)有技術(shù)中,負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題、進(jìn)而無法進(jìn)行后續(xù)的歸檔統(tǒng)計(jì)的問題。為實(shí)現(xiàn)上述功能,本發(fā)明實(shí)施例這里的push消息數(shù)據(jù)維護(hù)方法可以通過硬件實(shí)現(xiàn),也可以通過下述軟件程序?qū)崿F(xiàn),即緩存數(shù)據(jù)庫中包括以下的push消息數(shù)據(jù)維護(hù)裝置。圖5示出了根據(jù)本發(fā)明實(shí)施例push消息數(shù)據(jù)維護(hù)裝置的結(jié)構(gòu)框圖,如圖5所示,該裝置包括:接收模塊51、保存模塊52、記錄模塊53、發(fā)送模塊54。
接收模塊51,用于接收并保存來自發(fā)送服務(wù)器的發(fā)送表;還用于接收來自發(fā)送服務(wù)器的push消息的push消息ID和push消息狀態(tài)信息;保存模塊52,連接至接收模塊51,用于對接收模塊51接收到的發(fā)送表進(jìn)行保存;記錄模塊53,連接至接收模塊51、保存模塊52,用于將接收模塊51接收到的push消息狀態(tài)信息記錄到保存模塊52保存的與接收到的push消息ID對應(yīng)的發(fā)送表中;發(fā)送模塊54,連接至記錄模塊53和保存模塊52,用于將記錄模塊53記錄了 push消息狀態(tài)信息的、保存模塊52中保存的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種優(yōu)選的方式,接收模塊51,還用于接收來自發(fā)送服務(wù)器的push消息ID、push消息結(jié)果信息;記錄模塊53,還用于將接收模塊51接收到的push消息結(jié)果信息記錄到保存模塊52保存的push消息ID所指的push消息的發(fā)送表中;發(fā)送模塊54,還用于在記錄模塊在發(fā)送表中記錄了 push消息狀態(tài)信息后,將記錄了 push消息結(jié)果信息和push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種優(yōu)選的方式,該裝置還包括定時(shí)模塊,用于對預(yù)定的發(fā)送模塊54向系統(tǒng)數(shù)據(jù)庫發(fā)送發(fā)送表的時(shí)間進(jìn)行定時(shí);接收模塊51,還用于接收來自發(fā)送管理服務(wù)器的指示;發(fā)送模塊54,具體用于根據(jù)接收模塊51接收到的指示,在定時(shí)模塊定時(shí)到時(shí)后,將記錄模塊53記錄了消息狀態(tài)的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。一種優(yōu)選的方式,該裝置還包括刪除模塊,用于在發(fā)送模塊54將發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫后,將保存模塊52中發(fā)送過的發(fā)送表刪除。圖5所示裝置的工作原理如圖4所示,這里不再贅述。圖5所示的裝置,也能夠解決現(xiàn)有技術(shù)中,負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題、進(jìn)而無法進(jìn)行后續(xù)的歸檔統(tǒng)計(jì)的問題。下面對本發(fā)明實(shí)施例具體應(yīng)用的情況進(jìn)行說明。圖6示出了本發(fā)明實(shí)施例具體應(yīng)用的系統(tǒng)結(jié)構(gòu)示意圖,如圖6所示,該系統(tǒng)包括:下行發(fā)送管理服務(wù)器I (對應(yīng)于上述發(fā)送管理服務(wù)器)、下行發(fā)送代理主機(jī)21、22、23 (對應(yīng)于上述發(fā)送服務(wù)器)、行業(yè)網(wǎng)關(guān)3、緩存數(shù)據(jù)庫4、系統(tǒng)數(shù)據(jù)庫5。下行發(fā)送管理服務(wù)器I與下行發(fā)送代理主機(jī)21、22、23、緩存數(shù)據(jù)庫4連接,下行發(fā)送代理主機(jī)21、22、23與行業(yè)網(wǎng)關(guān)
3、緩存數(shù)據(jù)庫4、系統(tǒng)數(shù)據(jù)庫5連接,緩存數(shù)據(jù)庫4與系統(tǒng)數(shù)據(jù)庫5連接。圖6所示出本發(fā)明實(shí)施例具體應(yīng)用時(shí)的系統(tǒng)的push消息發(fā)送的工作流程包括如下處理過程:步驟一、由下行發(fā)送代理主機(jī)22編碼產(chǎn)生CMPP消息,與行業(yè)網(wǎng)關(guān)3建立通信;步驟二、下行發(fā)送代理主機(jī)22在本地對要發(fā)送的push消息建立并保存發(fā)送表,用以維護(hù)發(fā)送記錄,主要包含序列號、關(guān)鍵碼、消息ID、消息結(jié)果等字段;步驟三、下行發(fā)送代理主機(jī)22將建立的發(fā)送表同步發(fā)送給緩存數(shù)據(jù)庫4 ;步驟四、下行發(fā)送代理主機(jī)22向行業(yè)網(wǎng)關(guān)3發(fā)送push消息;步驟五、行業(yè)網(wǎng)關(guān)3返回應(yīng)答消息至push消息的源發(fā)送機(jī),即下行發(fā)送代理主機(jī)22,下行發(fā)送代理主機(jī)22根據(jù)應(yīng)答消息中的消息ID、將應(yīng)答消息中的push消息結(jié)果字段中的push消息結(jié)果信息更新到本地保存的、消息ID所指的push消息的發(fā)送表中;步驟六、下行發(fā)送代理主機(jī)22將push消息ID、push消息結(jié)果信息發(fā)送至緩存數(shù)據(jù)庫4 ;
步驟七、緩存數(shù)據(jù)庫4將接收到的push消息結(jié)果信息記錄到push消息ID所指的PU sh消息的發(fā)送表中;步驟八、行業(yè)網(wǎng)關(guān)3返回報(bào)告消息至任意一臺下行發(fā)送代理主機(jī),接收到報(bào)告消息的下行發(fā)送代理主機(jī)查詢本機(jī)的發(fā)送表,判斷與報(bào)告消息相對應(yīng)的push消息是否是由本機(jī)發(fā)出的,判斷push消息是由本機(jī)發(fā)出的,則直接將報(bào)告信息記錄到發(fā)送表中,并將發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,判斷push消息不是由本機(jī)發(fā)出的,則將報(bào)告消息中的push消息ID、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫4 ;例如,行業(yè)網(wǎng)關(guān)3返回報(bào)告消息至下行發(fā)送代理主機(jī)23,下行發(fā)送代理主機(jī)23根據(jù)報(bào)告消息中的消息ID、判斷該報(bào)告消息對應(yīng)的push消息不是由本裝置發(fā)送出去的,就將報(bào)告消息中的push消息ID和push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫4 ;步驟九、緩存數(shù)據(jù)庫4接收到來自下行發(fā)送代理主機(jī)23的push消息ID和push消息狀態(tài)信息,根據(jù)push消息ID將push消息狀態(tài)信息記錄到push消息ID所指的push消息的發(fā)送表中;步驟十、下行發(fā)送管理服務(wù)器I在定期掃描緩存數(shù)據(jù)庫4,掃描到緩存數(shù)據(jù)庫4中保存有記錄了 push消息結(jié)果信息、push消息狀態(tài)信息的發(fā)送表的情況下,下行發(fā)送管理服務(wù)器I向緩存數(shù)據(jù)庫4發(fā)送指示;步驟十一、緩存數(shù)據(jù)庫4接收到來自下行發(fā)送管理服務(wù)器I的指示后,將記錄了push消息結(jié)果信息、push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫5 ;步驟十二、緩存數(shù)據(jù)庫將已經(jīng)發(fā)送過了的發(fā)送表刪除、釋放存儲(chǔ)空間。根據(jù)圖6所示系統(tǒng)及其push消息發(fā)送的處理過程,通過在負(fù)載均衡模式上、設(shè)置緩存數(shù)據(jù)庫,在下行發(fā)送代理主機(jī)接收到來自行業(yè)網(wǎng)關(guān)的報(bào)告消息、并判斷該報(bào)告消息對應(yīng)的push消息不是本機(jī)發(fā)出的情況下,將該報(bào)告消息中的push消息狀態(tài)消息發(fā)送給緩存數(shù)據(jù)庫,緩存數(shù)據(jù)庫將接收到的push消息狀態(tài)信息記錄到相應(yīng)的發(fā)送表中,并將該記錄了push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,能夠?qū)⒕彺鏀?shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)庫的代理、獲取完整的push消息的狀態(tài)信息,從而能夠解決現(xiàn)有技術(shù)中負(fù)載均衡模式下,源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題、進(jìn)而無法進(jìn)行后續(xù)的歸檔統(tǒng)計(jì)的問題。并且,采用負(fù)載均衡模式,能夠根據(jù)發(fā)送任務(wù)的增多來相應(yīng)地?cái)U(kuò)充發(fā)送服務(wù)器來擴(kuò)展發(fā)送能力,從而能夠解決現(xiàn)有技術(shù)中,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。圖6所示的系統(tǒng)還具有同步機(jī)制,該同步機(jī)制包括:下行發(fā)送代理主機(jī)在預(yù)定的第一定時(shí)時(shí)間到時(shí)后,將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫;下行發(fā)送代理主機(jī)在預(yù)定的第二定時(shí)時(shí)間到時(shí)后,將push消息ID、push消息結(jié)果信息、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫;緩存數(shù)據(jù)庫在預(yù)定的第三定時(shí)時(shí)間到時(shí)后,根據(jù)下行發(fā)送管理服務(wù)器對緩存數(shù)據(jù)庫掃描后發(fā)出的指示,將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。圖6所示的系統(tǒng)中的下行發(fā)送管理服務(wù)器I的工作原理包括以下兩方面。第一,為各個(gè)下行發(fā)送代理主機(jī)分配待發(fā)送的push消息,以使各下行發(fā)送代理主機(jī)之間的負(fù)載基本均衡;具體地,各下行發(fā)送代理主機(jī)將各自的負(fù)荷信息發(fā)送給緩存數(shù)據(jù)庫,負(fù)荷信息中包括發(fā)送隊(duì)列長度、工作狀態(tài)等,下行發(fā)送管理服務(wù)器I根據(jù)緩存數(shù)據(jù)庫4中存儲(chǔ)的各個(gè)下行發(fā)送代理主機(jī)的負(fù)荷信息,為各下行發(fā)送代理主機(jī)分配待發(fā)送的push消息。第二,掃描緩存數(shù)據(jù)庫,在掃描到緩存數(shù)據(jù)庫中保存有記錄了 push消息狀態(tài)信息的發(fā)送表的情況下,向緩存數(shù)據(jù)庫發(fā)送指示、以使緩存數(shù)據(jù)庫將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。綜上所述,根據(jù)本發(fā)明實(shí)施例的方案,通過在負(fù)載均衡模式的push消息發(fā)送系統(tǒng)的基礎(chǔ)上,設(shè)置緩存數(shù)據(jù)庫,將緩存數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)庫的代理,在行業(yè)網(wǎng)關(guān)將報(bào)告消息返回給任意一個(gè)發(fā)送服務(wù)器后,發(fā)送服務(wù)器判斷本機(jī)不是該報(bào)告消息對應(yīng)的push消息的源發(fā)送服務(wù)器的情況下,將該報(bào)告消息中的push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫,緩存數(shù)據(jù)庫將接收到的push消息狀態(tài)信息記錄到相應(yīng)的發(fā)送表中,這樣當(dāng)push消息是由多臺push消息組裝而成的,并且該push消息的源發(fā)送服務(wù)器沒有收到完整的報(bào)告消息時(shí),緩存數(shù)據(jù)庫就能夠獲取該push消息完整的報(bào)告消息,并且緩存數(shù)據(jù)庫將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,就能夠?qū)ush消息進(jìn)行后續(xù)的歸檔統(tǒng)計(jì),能夠解決現(xiàn)有技術(shù)中,在負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題;采用負(fù)載均衡模式,則能夠根據(jù)發(fā)送任務(wù)的增多來相應(yīng)地?cái)U(kuò)充發(fā)送服務(wù)器來擴(kuò)展發(fā)送能力,從而能夠解決現(xiàn)有技術(shù)中,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種Push消息發(fā)送系統(tǒng),其特征在于,包括:多臺發(fā)送服務(wù)器、行業(yè)網(wǎng)關(guān)、緩存數(shù)據(jù)庫、系統(tǒng)數(shù)據(jù)庫;其中 所述發(fā)送服務(wù)器,用于對要發(fā)送的push消息建立并保存發(fā)送表,將push消息發(fā)送給所述行業(yè)網(wǎng)關(guān),并將建立的發(fā)送表發(fā)送給所述緩存數(shù)據(jù)庫; 所述行業(yè)網(wǎng)關(guān),用于將接收到的push消息發(fā)送給移動(dòng)終端;在接收到移動(dòng)終端返回的應(yīng)答消息后,向任意一臺發(fā)送服務(wù)器返回報(bào)告消息; 所述發(fā)送服務(wù)器,還用于在接收到來自所述行業(yè)網(wǎng)關(guān)的報(bào)告消息后,通過該報(bào)告消息中攜帶的push消息標(biāo)識、來判斷本機(jī)是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送服務(wù)器,在判斷本機(jī)是源發(fā)送服務(wù)器的情況下,將該接收到的報(bào)告消息中攜帶的push消息狀態(tài)信息、記錄到push消息標(biāo)識所指的push消息的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫,在判斷本機(jī)不是源發(fā)送服務(wù)器的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給所述緩存數(shù)據(jù)庫; 所述緩存數(shù)據(jù)庫,用于接收并保存來自所述發(fā)送服務(wù)器的發(fā)送表;接收來自所述發(fā)送服務(wù)器的push消息的push消息標(biāo)識和push消息狀態(tài)信息,將該接收到的push消息狀態(tài)信息記錄到與接收到 的push消息標(biāo)識對應(yīng)的發(fā)送表中,并將記錄了消息狀態(tài)信息的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述發(fā)送服務(wù)器,具體用于將所述報(bào)告消息中攜帶的push消息標(biāo)識與保存的發(fā)送表中的push消息標(biāo)識對比,在保存的發(fā)送表中記錄有與所述報(bào)告信息中的push消息標(biāo)識相同的push消息標(biāo)識的情況下,判斷本機(jī)是所述報(bào)告消息對應(yīng)的push消息的源發(fā)送服務(wù)器。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述行業(yè)網(wǎng)關(guān),還用于在接收到來自所述發(fā)送服務(wù)器的push消息后,向所述發(fā)送服務(wù)器返回應(yīng)答消息; 所述發(fā)送服務(wù)器,還用于在接收到來自所述行業(yè)網(wǎng)關(guān)的應(yīng)答消息后,將所述應(yīng)答消息中攜帶的push消息結(jié)果信息記錄到保存的push消息標(biāo)識所指的push消息的發(fā)送表中,并將push消息標(biāo)識、push消息結(jié)果信息發(fā)送給所述緩存數(shù)據(jù)庫; 所述緩存數(shù)據(jù)庫,還用于在接收到來自所述發(fā)送服務(wù)器的push消息標(biāo)識、push消息結(jié)果信息后,將該接收到的push消息結(jié)果信息記錄到保存的push消息標(biāo)識所指的push消息的發(fā)送表中;并在該發(fā)送表中記錄了 push消息狀態(tài)信息后,將記錄了 push消息結(jié)果信息和push消息狀態(tài)信息的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫。
4.根據(jù)權(quán)利要求1或3所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 發(fā)送管理服務(wù)器,用于定期掃描所述緩存數(shù)據(jù)庫,在掃描確定所述緩存數(shù)據(jù)庫中保存有記錄了 push消息狀態(tài)的發(fā)送表后,向所述緩存數(shù)據(jù)庫發(fā)送指示; 所述緩存數(shù)據(jù)庫,具體用于根據(jù)來自所述發(fā)送管理服務(wù)器的指示,將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述緩存數(shù)據(jù)庫,還用于在將發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫后,將發(fā)送過的發(fā)送表刪除。
6.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述發(fā)送服務(wù)器,還用于將負(fù)荷信息發(fā)送給所述緩存數(shù)據(jù)庫,所述負(fù)荷信息包括:發(fā)送隊(duì)列長度、工作狀態(tài); 所述緩存數(shù)據(jù)庫,還用于保存來自于所述發(fā)送服務(wù)器的負(fù)荷信息;所述發(fā)送管理服務(wù)器,還用于根據(jù)所述緩存數(shù)據(jù)庫中保存的各個(gè)發(fā)送服務(wù)器的負(fù)荷信息,向各個(gè)發(fā)送服務(wù)器分配需要發(fā)送的push消息。
7.—種push消息發(fā)送方法,其特征在于,包括: 對要發(fā)送的push消息建立并保存發(fā)送表,并將建立的發(fā)送表發(fā)送給緩存數(shù)據(jù)庫,將push消息發(fā)送給行業(yè)網(wǎng)關(guān); 在接收到來自所述行業(yè)網(wǎng)關(guān)返回的報(bào)告消息后,通過該報(bào)告消息中攜帶的push消息標(biāo)識、來判斷本裝置是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置,在判斷本裝置是源發(fā)送裝置的情況下,將該接收到的報(bào)告消息中攜帶的push消息狀態(tài)信息、記錄到與該報(bào)告消息對應(yīng)的push消息的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,在判斷本裝置不是源發(fā)送裝置的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給所述緩存數(shù)據(jù)庫。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,判斷本裝置是否是與該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置,具體包括: 將所述報(bào)告消息中攜帶的push消息標(biāo)識與保存的發(fā)送表中的push消息標(biāo)識對比,在保存的發(fā)送表中記錄有與所述報(bào)告信息中的push消息標(biāo)識相同的push消息標(biāo)識的情況下,判斷本裝置是所述報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括: 接收來自所述行業(yè)網(wǎng)關(guān)的應(yīng)答消息,將所述應(yīng)答消息中攜帶的push消息結(jié)果信息記錄到保存的push消息標(biāo)識所指的push消息的發(fā)送表中,并將該應(yīng)答消息中攜帶的push消息標(biāo)識、push消息結(jié)果信息發(fā)送給所述緩存數(shù)據(jù)庫。
10.根據(jù)權(quán)利要求7所 述的方法,其特征在于,將記錄了push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,具體包括: 在預(yù)定的第一定時(shí)到時(shí)后,將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給所述緩存數(shù)據(jù)庫,具體包括: 在預(yù)定的第二定時(shí)到時(shí)后,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給所述緩存數(shù)據(jù)庫; 將push消息標(biāo)識、push消息結(jié)果信息發(fā)送給所述緩存數(shù)據(jù)庫,具體包括: 在所述預(yù)定的第二定時(shí)到時(shí)后,將push消息標(biāo)識、push消息結(jié)果信息發(fā)送給所述緩存數(shù)據(jù)庫。
12.—種push消息發(fā)送裝置,其特征在于,包括: 建立模塊,用于對要發(fā)送的push消息建立發(fā)送表; 保存模塊,用于保存所述建立模塊建立的發(fā)送表; 發(fā)送模塊,用于將push消息發(fā)送給行業(yè)網(wǎng)關(guān); 接收模塊,用于接收所述行業(yè)網(wǎng)關(guān)返回的報(bào)告消息; 判別模塊,用于通過所述接收模塊接收到的報(bào)告消息中攜帶的push消息標(biāo)識、來判斷本裝置是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置; 記錄模塊,用于在所述判別模塊判斷本裝置是源發(fā)送裝置的情況下,將所述接收模塊接收到的報(bào)告消息中的攜帶的push消息狀態(tài)信息、記錄到所述保存模塊保存的、與該報(bào)告消息對應(yīng)的push消息的發(fā)送表中; 發(fā)送模塊,還用于在所述判別模塊判斷本裝置不是源發(fā)送裝置的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給所述緩存數(shù)據(jù)庫;并將所述記錄模塊記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。
13.根據(jù)權(quán)利要求12所述的發(fā)送裝置,其特征在于,所述判別模塊,具體用于將所述接收模塊接收到的報(bào)告消息中攜帶的push消息標(biāo)識、與所述保存模塊中保存的發(fā)送表中的push消息標(biāo)識對比,在保存的發(fā)送表中記錄有與所述報(bào)告信息中的push消息標(biāo)識相同的push消息標(biāo)識的情況下,判斷本裝置是所述報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置。
14.根據(jù)權(quán)利要求12所述的發(fā)送裝置,其特征在于,所述接收模塊,具體還用于接收來自所述行業(yè)網(wǎng)關(guān)的應(yīng)答消息; 所述記錄模塊,具體還用于將所述接收模塊接收到的應(yīng)答消息中攜帶的push消息結(jié)果信息記錄到保存的push消息標(biāo)識所指的push消息的發(fā)送表中; 所述發(fā)送模塊,具體還用于將所述接收模塊接收到的應(yīng)答消息中攜帶的push消息標(biāo)識、push消息結(jié)果信息發(fā)送給所述緩存數(shù)據(jù)庫。
15.根據(jù)權(quán)利要求12所述的發(fā)送裝置,其特征在于,所述發(fā)送裝置還包括: 第一定時(shí)模塊,用于對預(yù)定的所述發(fā)送模塊向所述系統(tǒng)數(shù)據(jù)庫發(fā)送所述發(fā)送表的時(shí)間進(jìn)行定時(shí); 所述發(fā)送模塊,還用于在所述第一定時(shí)模塊定時(shí)到時(shí)后,將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫。
16.根據(jù)權(quán)利要求14所述的發(fā)送裝置,其特征在于,所述發(fā)送裝置還包括: 第二定時(shí)模塊,用于對預(yù)定的所述發(fā)送模塊向所述緩存數(shù)據(jù)庫發(fā)送push消息標(biāo)識、push消息狀態(tài)信息的時(shí)間進(jìn)行定時(shí); 所述發(fā)送模塊,還用于在所述第二定時(shí)模塊定時(shí)到時(shí)后,將所述接收模塊接收到的報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給所述緩存數(shù)據(jù)庫;并且,將所述接收模塊接收到的應(yīng)答消息中攜帶的push消息標(biāo)識、push消息結(jié)果信息發(fā)送給所述緩存數(shù)據(jù)庫。
17.—種push消息發(fā)送服務(wù)器,其特征在于,包括如權(quán)利要求12至16中任一項(xiàng)所述的push消息發(fā)送裝置。
18.—種push消息數(shù)據(jù)維護(hù)方法,其特征在于,包括: 接收并保存來自發(fā)送服務(wù)器的發(fā)送表; 接收來自所述發(fā)送服務(wù)器的push消息的push消息標(biāo)識和push消息狀態(tài)信息; 將該接收到的push消息狀態(tài)信息記錄到保存的與接收到的push消息標(biāo)識對應(yīng)的發(fā)送表中,并將記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,還包括: 接收來自所述發(fā)送服務(wù)器的push消息標(biāo)識、push消息結(jié)果信息,將該接收到的push消息結(jié)果信息記錄到保存的push消息標(biāo)識所指的push消息的發(fā)送表中;并在該發(fā)送表中記錄了 push消息狀態(tài)信息 后,將記錄了 push消息結(jié)果信息和push消息狀態(tài)信息的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,將記錄了消息狀態(tài)的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫,具體包括: 根據(jù)來自發(fā)送管理服務(wù)器的指示,在預(yù)定時(shí)間到時(shí)后,將記錄了消息狀態(tài)的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫。
21.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述方法還包括: 在將發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫后,將發(fā)送過的發(fā)送表刪除。
22.—種push消息數(shù)據(jù)維護(hù)裝置,其特征在于,包括: 接收模塊,用于接收并保存來自發(fā)送服務(wù)器的發(fā)送表;還用于接收來自所述發(fā)送服務(wù)器的push消息的push消息標(biāo)識和push消息狀態(tài)信息; 保存模塊,用于對所述接收模塊接收到的發(fā)送表進(jìn)行保存; 記錄模塊,用于將所述接收模塊接收到的push消息狀態(tài)信息記錄到所述保存模塊保存的與接收到的push消息標(biāo)識對應(yīng)的發(fā)送表中; 發(fā)送模塊,用于將所述記錄模塊記錄了 push消息狀態(tài)信息的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。
23.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述接收模塊,還用于接收來自所述發(fā)送服務(wù)器的push消息標(biāo)識、push消息結(jié)果信息; 所述記錄模塊,還用于將所述接收模塊接收到的push消息結(jié)果信息記錄到所述保存模塊保存的push消息標(biāo)識所指的push消息的發(fā)送表中; 所述發(fā)送模塊,還用于在所述記錄模塊在發(fā)送表中記錄了 push消息狀態(tài)信息后,將記錄了 push消息結(jié)果信息和push消息狀態(tài)信息的發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫。
24.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述裝置還包括: 定時(shí)模塊,用于對預(yù)定的所述發(fā)送模塊向系統(tǒng)數(shù)據(jù)庫發(fā)送發(fā)送表的時(shí)間進(jìn)行定時(shí); 所述接收模塊,還用于接收來自發(fā)送管理服務(wù)器的指示; 所述發(fā)送模塊,具體用于根據(jù)所述接收模塊接收到的指示,在所述定時(shí)模塊定時(shí)到時(shí)后,將所述記錄模塊記錄了消息狀態(tài)的發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫。
25.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述裝置還包括: 刪除模塊,用于在所述發(fā)送模塊將發(fā)送表發(fā)送給所述系統(tǒng)數(shù)據(jù)庫后,將所述保存模塊中發(fā)送過的發(fā)送表刪除。
26.一種緩存數(shù)據(jù)庫,其特征在于,包括如權(quán)利要求22至25中任一項(xiàng)所述的push消息數(shù)據(jù)維護(hù)裝置。
全文摘要
本發(fā)明公開了一種push消息發(fā)送系統(tǒng)、方法及裝置、發(fā)送服務(wù)器、push消息數(shù)據(jù)維護(hù)方法及裝置、緩存數(shù)據(jù)庫,其中,push消息發(fā)送方法包括在接收到來自行業(yè)網(wǎng)關(guān)返回的報(bào)告消息后,判斷本裝置是否為該報(bào)告消息對應(yīng)的push消息的源發(fā)送裝置,在判斷為是的情況下,將該報(bào)告消息中的push消息狀態(tài)信息記錄到發(fā)送表中,并將該發(fā)送表發(fā)送給系統(tǒng)數(shù)據(jù)庫,在判斷為否的情況下,將該報(bào)告消息中攜帶的push消息標(biāo)識、push消息狀態(tài)信息發(fā)送給緩存數(shù)據(jù)庫。本發(fā)明能夠解決現(xiàn)有的Push消息發(fā)送技術(shù)中所存在的、在負(fù)載均衡模式下、源發(fā)送服務(wù)器就無法接收到完整的報(bào)告消息的問題,在熱備份模式下、發(fā)送服務(wù)器發(fā)送能力受限的問題。
文檔編號H04L12/24GK103188220SQ20111044853
公開日2013年7月3日 申請日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者薛峰, 宋世乾, 高旭, 薛有光, 劉雯, 魏雯, 李黎陽, 李東昌 申請人:中國移動(dòng)通信集團(tuán)北京有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1