消息發(fā)送、接收方法和裝置的制造方法
【專利摘要】本發(fā)明公開了一種消息發(fā)送、接收方法和裝置,該消息發(fā)送方法包括:發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù);檢測所述第一消息是否被成功發(fā)送;響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。將消息發(fā)送和接收與具體業(yè)務(wù)剝離進行異步處理,并且實現(xiàn)了對失敗消息的保存,能夠記錄發(fā)送失敗的消息,避免因消息丟失或者業(yè)務(wù)數(shù)據(jù)中斷而需要數(shù)據(jù)回滾。
【專利說明】
消息發(fā)送、接收方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于互聯(lián)網(wǎng)領(lǐng)域,具體地說,涉及一種消息發(fā)送、接收方法和裝置。
【背景技術(shù)】
[0002]程序A與程序B進行異步通信時,目前通過消息隊列服務(wù)(Message QueueService,MQ Server)來完成,但是當(dāng)程序A向MQ Server發(fā)送消息失敗時,或者B處理消息失敗時,A就得不到B的響應(yīng)消息,也就無法得到所需要的數(shù)據(jù)。主要表現(xiàn)為:
[0003]1、程序A發(fā)送消息失敗,而消息未保存,業(yè)務(wù)需要回滾或者重新根據(jù)業(yè)務(wù)需求開發(fā)重試邏輯
[0004]2、程序B接收消息后處理失敗,無法及時監(jiān)控和重試,失敗后無法自動處理或者需要重新開發(fā)重試邏輯。
[0005]3,MQ Server問題或網(wǎng)絡(luò)問題造成消息丟失,程序A發(fā)送成功,程序B未收到消息。這種數(shù)據(jù)沒有保存,無法自動處理,也很難被發(fā)現(xiàn)。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明實施例提供了一種消息發(fā)送、接收方法和裝置,用以解決現(xiàn)有技術(shù)中消息發(fā)送和接收沒有被記錄而在消息發(fā)送或接收失敗時難以恢復(fù)的技術(shù)問題。
[0007]為了解決上述技術(shù)問題,本發(fā)明公開了一種消息發(fā)送方法,包括:發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù);檢測所述第一消息是否被成功發(fā)送;響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。
[0008]為了解決上述技術(shù)問題,本發(fā)明還公開了一種消息接收方法,包括:接收來自發(fā)送器的第一消息;對所述第一消息進行處理,檢測對所述第一消息的處理是否成功;響應(yīng)于對所述第一消息處理失敗時,將所述第一消息記錄在消息隊列中。
[0009]為了解決上述技術(shù)問題,本發(fā)明還公開了一種消息發(fā)送裝置,包括:第一消息發(fā)送模塊,用于發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù);第一狀態(tài)檢測模塊,用于檢測所述第一消息是否被成功發(fā)送;第一消息記錄模塊,用于響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。
[0010]為了解決上述技術(shù)問題,本發(fā)明還公開了一種消息接收裝置,包括:第二消息接收模塊,用于接收來自發(fā)送器的第一消息;第二狀態(tài)檢測模塊,用于對所述第一消息進行處理,檢測對所述第一消息的處理是否成功;第二消息記錄模塊,用于響應(yīng)于對所述第一消息處理失敗時,將所述第一消息記錄在消息隊列中。
[0011]為了解決上述技術(shù)問題,本發(fā)明還公開了一種消息發(fā)送裝置,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為:發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù);檢測所述第一消息是否被成功發(fā)送;響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。
[0012]為了解決上述技術(shù)問題,本發(fā)明還公開了一種消息接收裝置,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為:接收來自發(fā)送器的第一消息;對所述第一消息進行處理,檢測對所述第一消息的處理是否成功;響應(yīng)于對所述第一消息處理失敗時,將所述第一消息記錄在消息隊列中。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的消息發(fā)送、接收方法和裝置,將消息發(fā)送和接收與具體業(yè)務(wù)剝離進行異步處理,并且實現(xiàn)了對失敗消息的保存,能夠記錄發(fā)送或者處理失敗的消息,避免因消息丟失或者業(yè)務(wù)數(shù)據(jù)中斷而需要數(shù)據(jù)回滾。
【附圖說明】
[0014]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1是本發(fā)明實施例中消息收發(fā)系統(tǒng)的架構(gòu)示意圖;
[0016]圖2是本發(fā)明實施例提供的一種消息發(fā)送方法的流程圖;
[0017]圖3是本發(fā)明實施例提供的一種消息發(fā)送方法的流程圖;
[0018]圖4是本發(fā)明實施例提供的一種消息發(fā)送方法的流程圖;
[0019]圖5是本發(fā)明實施例提供的一種消息接收方法的流程圖;
[0020]圖6是本發(fā)明實施例提供的一種消息接收方法的流程圖;
[0021 ]圖7是本發(fā)明實施例提供的一種消息接收方法的流程圖;
[0022]圖8是本發(fā)明實施例的消息收發(fā)系統(tǒng)在視頻轉(zhuǎn)碼系統(tǒng)中的應(yīng)用示意圖;
[0023]圖9是本發(fā)明實施例提供的一種消息發(fā)送裝置的框圖;
[0024]圖10是本發(fā)明實施例提供的一種消息接收裝置的框圖。
【具體實施方式】
[0025]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0026]本發(fā)明實施例,將消息組件獨立的集成于發(fā)送器和接收器,將消息發(fā)送和接收與具體業(yè)務(wù)剝離進行異步處理,并且實現(xiàn)了對失敗消息的保存和重試,能夠記錄并重試發(fā)送或者處理失敗的消息,避免因消息丟失或者業(yè)務(wù)數(shù)據(jù)中斷而需要數(shù)據(jù)回滾。
[0027]圖1是本發(fā)明實施例中消息收發(fā)系統(tǒng)的架構(gòu)示意圖,包括消息發(fā)送端10和消息接收端11,消息發(fā)送端10向消息接收端11發(fā)送請求消息,由消息接收端11根據(jù)業(yè)務(wù)邏輯對請求消息進行處理,將處理的結(jié)果數(shù)據(jù)保存在應(yīng)答消息中返回給消息發(fā)送端10。在消息發(fā)送端10集成消息組件101,在消息接收端11集成消息組件111,分別做為消息發(fā)送端10和消息接收端11的消息收發(fā)器,用于發(fā)送和接收請求消息以及應(yīng)答消息。
[0028]對消息發(fā)送端而言,本發(fā)明實施例提供的一種消息發(fā)送方法,如圖2所示,該方法包括以下步驟S201-S203。
[0029]在步驟S201中,發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù)。
[0030]第一消息是發(fā)送至消息接收端的請求消息,用于向消息接收端請求對應(yīng)的數(shù)據(jù)。消息組件與本地其他業(yè)務(wù)屬于異步關(guān)系,并且本地其他服務(wù)的后續(xù)處理也不須依賴消息接收端返回的應(yīng)答消息,因此將這類消息的請求和接收與其他業(yè)務(wù)做異步處理,以提高本地業(yè)務(wù)的處理效率。
[0031]消息接收端的消息組件即為該第一消息的目標(biāo)接收器。
[0032]在步驟S202中,檢測第一消息是否被成功發(fā)送。
[0033]由于網(wǎng)絡(luò)傳輸條件出現(xiàn)問題或者消息發(fā)送端的自身故障,可能會導(dǎo)致第一消息的發(fā)送失敗。發(fā)送器檢測第一消息是否已成功發(fā)送。
[0034]在步驟S203中,響應(yīng)于第一消息發(fā)送失敗時,將第一消息記錄在消息隊列中。
[0035]這里的消息隊列用于記錄沒有被成功發(fā)送的第一消息,可以按照時間順序?qū)τ涗浀乃械谝幌⑦M行排序,從而將沒有被成功發(fā)送的請求消息記錄下來。由于本地其他服務(wù)的后續(xù)處理不須依賴對應(yīng)的應(yīng)答消息,因此不會對后續(xù)業(yè)務(wù)處理造成影響,但用戶可以通過消息隊列中記錄的第一消息查詢到哪些請求消息沒有被成功發(fā)送。
[0036]在一個實施例中,如圖3所示,該消息發(fā)送方法進一步包括以下步驟S204。
[0037]在步驟S204中,周期性的重試發(fā)送第一消息,直到第一消息發(fā)送成功。
[0038]在記錄發(fā)送失敗的第一消息的消息隊列中預(yù)設(shè)重試策略,每隔預(yù)設(shè)時長(例如,30毫秒)對發(fā)送失敗的第一消息進行重試,直到第一消息發(fā)送成功,將發(fā)送成功的第一消息從消息隊列中刪除。使發(fā)送失敗的第一消息得到保存并且根據(jù)重試策略進行重試,由消息組件獨立處理這些請求消息直到其發(fā)送成功,從而不需要通過業(yè)務(wù)回滾而再次發(fā)送一次新的請求消息。
[0039]在一個實施例中,如圖4所示,該消息發(fā)送方法進一步包括以下步驟S205。
[0040]在步驟S205中,接收目標(biāo)接收器返回的第二消息,第二消息包括處理第一消息而得到的結(jié)果數(shù)據(jù)。
[0041]第二消息是根據(jù)業(yè)務(wù)邏輯成功處理第一消息后的應(yīng)答消息,來自于目標(biāo)接收器,即消息接收端的消息組件。消息接收端根據(jù)業(yè)務(wù)邏輯處理請求消息得到結(jié)果數(shù)據(jù)后,向消息發(fā)送端返回應(yīng)答信息。在消息發(fā)送端同樣由消息組件來接收與請求消息對應(yīng)的應(yīng)答消息,將消息發(fā)送和接收都與具體業(yè)務(wù)剝離進行異步處理,又能保證每個請求消息都會被成功發(fā)送,避免丟失請求消息。
[0042]對消息接收端而言,本發(fā)明實施例提供的一種消息接收方法,如圖5所示,該方法包括以下步驟S301-S303。
[0043]在步驟S301中,接收來自發(fā)送器的第一消息。
[0044]發(fā)送器即為消息發(fā)送端的消息組件,消息接收端的消息組件接收來自發(fā)送器的請求消息。
[0045]在步驟S302中,對第一消息進行處理,檢測對第一消息的處理是否成功。
[0046]對接收到的第一消息根據(jù)業(yè)務(wù)邏輯進行處理,并檢測是否每個第一消息都被成功處理。由于消息接收端本地的響應(yīng)服務(wù)沒有開啟或者負載較高等原因,可能會導(dǎo)致有的請求消息處理失敗。
[0047]在步驟S303中,響應(yīng)于對所述第一消息處理失敗時,將第一消息記錄在消息隊列中。
[0048]對于處理失敗的第一消息,將其記錄在一個消息隊列中,而這里的消息隊列用于記錄處理失敗的第一消息,防止第一消息因暫時處理失敗而被丟棄,使消息接收端能夠?qū)崟r監(jiān)控各個請求消息的處理情況并保存處理失敗的第一消息,使用戶通過該消息組件查詢到哪些請求消息處理失敗,及時采取將消息接收端相應(yīng)的服務(wù)開啟等應(yīng)對措施。
[0049]在一個實施例中,如圖6所示,該消息接收方法進一步包括以下步驟S304。
[0050]在步驟S304中,周期性的重試處理第一消息,直到第一消息處理成功。
[0051]在記錄處理失敗的第一消息的消息隊列中預(yù)設(shè)重試策略,每隔預(yù)設(shè)時長(例如50毫秒)對處理失敗的第一消息進行重試,直到其被處理成功,獲得對應(yīng)的結(jié)果數(shù)據(jù)。使處理失敗的第一消息得到保存并且根據(jù)重試策略進行重試,由消息組件獨立處理這些接收到的但暫時處理失敗的請求消息直到其處理成功,不需要通過業(yè)務(wù)回滾而再重新接收一次新的請求消息。
[0052]在一個實施例中,如圖7所示,該消息接收方法進一步包括以下步驟S305-S308。
[0053]在步驟S305中,發(fā)送第二消息至發(fā)送器,第二消息包括處理第一消息而得到的結(jié)果數(shù)據(jù)。
[0054]在步驟S306中,檢測第二消息是否被成功發(fā)送;
[0055]在步驟S307中,用于響應(yīng)于第二消息發(fā)送失敗時,將第二消息記錄在消息隊列中。
[0056]在步驟S308中,將周期性的重試發(fā)送第二消息,直到第二消息發(fā)送成功。
[0057]消息接收端的消息組件在第一消息處理成功之后,開始向消息發(fā)送端返回包括結(jié)果數(shù)據(jù)的第二消息。同理,第二消息也會存在發(fā)送失敗的可能,例如網(wǎng)絡(luò)傳輸條件不佳或者消息發(fā)送端自身故障等因素,因此對第二消息的發(fā)送進行檢測,將發(fā)送失敗的第二消息記錄在另一個消息隊列中,這里的消息隊列用于記錄發(fā)送失敗的第二消息,使發(fā)送失敗的第二消息不會被丟棄,得到的結(jié)果數(shù)據(jù)也得以保存。
[0058]在記錄發(fā)送失敗的第二消息的消息隊列中預(yù)設(shè)重試策略,每隔預(yù)設(shè)時長(例如30毫秒)對發(fā)送失敗的第二消息進行重試,直到第二消息發(fā)送成功,將得到的結(jié)果數(shù)據(jù)成功的返回消息發(fā)送端,將發(fā)送成功的第二消息從消息隊列中刪除。
[0059]在消息接收端,消息組件獨立的進行請求消息的接收、檢測并重試處理失敗的請求消息以及應(yīng)答消息的發(fā)送,與具體業(yè)務(wù)剝離進行異步處理,保證每個請求消息都會被成功處理,避免丟失未得到處理請求消息,并且保證每個應(yīng)答消息都能夠成功返回消息發(fā)送端,使結(jié)果數(shù)據(jù)不會因應(yīng)答消息發(fā)送失敗而被丟棄。
[0060]上述消息收發(fā)的架構(gòu)可以被應(yīng)用到視頻轉(zhuǎn)碼系統(tǒng)中,如圖8所示,云存儲生產(chǎn)平臺40首先會調(diào)用云存儲服務(wù)41來完成轉(zhuǎn)碼視頻的上傳和存儲。存儲成功之后,再調(diào)用云轉(zhuǎn)碼服務(wù)42進行對上傳的視頻進行轉(zhuǎn)碼。而在調(diào)用云轉(zhuǎn)碼服務(wù)42之前,生產(chǎn)平臺40可以先調(diào)用多媒體信息服務(wù)43,以獲取上傳視頻的多媒體信息,包括上傳視頻的時長、大小以及幀率等信息。但是否獲取到上述多媒體信息并不會影響生產(chǎn)平臺對云轉(zhuǎn)碼服務(wù)42的進一步調(diào)用。也就是說,生產(chǎn)品臺40對于多媒體信息服務(wù)43的調(diào)用與生產(chǎn)品臺40先調(diào)用云存儲服務(wù)41再調(diào)用云轉(zhuǎn)碼服務(wù)42這一業(yè)務(wù)邏輯是異步進行的。因此,在生產(chǎn)平臺40和多媒體信息服務(wù)43分別設(shè)置一消息組件做為消息收發(fā)器,使生產(chǎn)平臺40向多媒體信息服務(wù)43請求上傳視頻的多媒體信息。
[0061]生產(chǎn)品臺40通過消息組件做為發(fā)送器發(fā)送針對已上傳視頻的多媒體信息請求消息至多媒體信息服務(wù)43的消息組件,并針對已上傳視頻繼續(xù)調(diào)用云轉(zhuǎn)碼服務(wù)42的流程進行異步控制。
[0062]發(fā)送器檢測多媒體信息請求消息是否被成功發(fā)送,如果多媒體信息請求消息發(fā)送失敗,將多媒體信息請求消息記錄在一個消息隊列中,并周期性的重試發(fā)送該多媒體信息請求消息,直到該多媒體信息請求消息發(fā)送成功。
[0063]多媒體信息服務(wù)43的消息組件做為該多媒體信息請求消息的目標(biāo)接收器,接收該多媒體信息請求消息,檢測多媒體信息服務(wù)43是否成功請求到上傳視頻的多媒體信息;如果請求上傳視頻的多媒體信息失敗,將處理失敗的多媒體信息請求消息記錄在一個消息隊列中,周期性的重試處理該多媒體信息請求消息,直到該多媒體信息請求消息處理成功,請求到上傳視頻的多媒體信息。
[0064]多媒體信息服務(wù)43的消息組件再發(fā)送應(yīng)答消息至發(fā)送器,應(yīng)答消息包括處理該多媒體信息請求消息而得到的上傳視頻的多媒體信息;檢測應(yīng)答消息是否被成功發(fā)送;如果應(yīng)答消息發(fā)送失敗,將發(fā)送失敗的應(yīng)答消息記錄在另一個消息隊列中,并周期性的重試發(fā)送該應(yīng)答消息,直到該應(yīng)答消息發(fā)送成功,將上傳視頻的多媒體信息發(fā)送至生產(chǎn)品臺40。
[0065]將視頻轉(zhuǎn)碼系統(tǒng)中可以異步處理的消息發(fā)送和接收從轉(zhuǎn)碼業(yè)務(wù)邏輯中獨立出來,對消息發(fā)送和處理進行保存和重試可根據(jù)配置策略自動進行,確保多媒體信息請求消息不會因發(fā)送失敗以及處理失敗而被丟棄,應(yīng)答消息也不會因發(fā)送失敗而被丟棄,保證視頻轉(zhuǎn)碼系統(tǒng)中的多媒體請求消息能夠被及時的發(fā)送和處理。
[0066]以下是本發(fā)明的裝置實施例,用于執(zhí)行本發(fā)明的方法實施例。
[0067]圖9是本發(fā)明實施例提供的一種消息發(fā)送裝置,包括:
[0068]第一消息發(fā)送模塊50,用于發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù);
[0069]第一狀態(tài)檢測模塊51,用于檢測第一消息是否被成功發(fā)送;
[0070]第一消息記錄模塊52,用于響應(yīng)于第一消息發(fā)送失敗時,將第一消息記錄在消息隊列中。
[0071]在一個實施例中,該裝置還包括:
[0072]第一重試發(fā)送模塊,用于周期性的重試發(fā)送第一消息,直到第一消息發(fā)送成功。
[0073]在一個實施例中,該裝置還包括:
[0074]第一消息接收模塊,用于接收目標(biāo)接收器返回的第二消息,第二消息包括處理第一消息而得到的結(jié)果數(shù)據(jù)。
[0075]圖10是本發(fā)明實施例提供的一種消息接收裝置,包括:
[0076]第二消息接收模塊60,用于接收來自發(fā)送器的第一消息;
[0077]第二狀態(tài)檢測模塊61,用于對第一消息進行處理,檢測對第一消息的處理是否成功;
[0078]第二消息記錄模塊62,用于響應(yīng)于對第一消息處理失敗時,將第一消息記錄在消息隊列中。
[0079]在一個實施例中,該裝置還包括:
[0080]重試處理模塊,用于周期性的重試處理所述第一消息,直到所述第一消息處理成功。
[0081]在一個實施例中,該裝置還包括:
[0082]第二消息發(fā)送模塊,用于發(fā)送第二消息至發(fā)送器,第二消息包括處理第一消息而得到的結(jié)果數(shù)據(jù);
[0083]第三狀態(tài)檢測模塊,用于檢測第二消息是否被成功發(fā)送;
[0084]第三消息記錄模塊,用于響應(yīng)于第二消息發(fā)送失敗時,將第二消息記錄在消息隊列中;
[0085]第二重試發(fā)送模塊,用于周期性的重試發(fā)送第二消息,直到第二消息發(fā)送成功。
[0086]此外,本發(fā)明實施例中可以通過硬件處理器(hardware processor)來實現(xiàn)上述各個功能模塊。
[0087]本發(fā)明實施例還提供了一種消息發(fā)送裝置,包括:
[0088]處理器;
[0089]用于存儲處理器可執(zhí)行指令的存儲器;
[0090]其中,所述處理器被配置為:
[0091 ]發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù);
[0092]檢測所述第一消息是否被成功發(fā)送;
[0093]響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。
[0094]在一個實施例中,所述處理器進一步被配置為:
[0095]周期性的重試發(fā)送所述第一消息,直到所述第一消息發(fā)送成功。
[0096]在一個實施例中,所述處理器進一步被配置為:
[0097]接收所述目標(biāo)接收器返回的第二消息,所述第二消息包括處理所述第一消息而得到的結(jié)果數(shù)據(jù)。
[0098]本發(fā)明實施例還提供了一種消息接收裝置,包括:
[0099]處理器;
[0100]用于存儲處理器可執(zhí)行指令的存儲器;
[0101]其中,所述處理器被配置為:
[0102]接收來自發(fā)送器的第一消息;
[0103]對所述第一消息進行處理,檢測對所述第一消息的處理是否成功;
[0104]響應(yīng)于對所述第一消息處理失敗時,將所述第一消息記錄在消息隊列中。
[0105]在一個實施例中,所述處理器進一步被配置為:
[0106]周期性的重試處理所述第一消息,直到所述第一消息處理成功。
[0107]在一個實施例中,所述處理器進一步被配置為:
[0108]發(fā)送第二消息至所述發(fā)送器,所述第二消息包括處理所述第一消息而得到的結(jié)果數(shù)據(jù);
[0109]檢測所述第二消息是否被成功發(fā)送;
[0110]響應(yīng)于所述第二消息發(fā)送失敗時,將所述第二消息記錄在消息隊列中。
[0111]在一個實施例中,所述處理器進一步被配置為:
[0112]周期性的重試發(fā)送所述第二消息,直到所述第二消息發(fā)送成功。
[0113]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
[0114]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
[0115]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【主權(quán)項】
1.一種消息發(fā)送方法,其特征在于,包括: 發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù); 檢測所述第一消息是否被成功發(fā)送; 響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 周期性的重試發(fā)送所述第一消息,直到所述第一消息發(fā)送成功。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收所述目標(biāo)接收器返回的第二消息,所述第二消息包括處理所述第一消息而得到的結(jié)果數(shù)據(jù)。4.一種消息接收方法,其特征在于,包括: 接收來自發(fā)送器的第一消息; 對所述第一消息進行處理,檢測對所述第一消息的處理是否成功; 響應(yīng)于對所述第一消息處理失敗時,將所述第一消息記錄在消息隊列中。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 周期性的重試處理所述第一消息,直到所述第一消息處理成功。6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 發(fā)送第二消息至所述發(fā)送器,所述第二消息包括處理所述第一消息而得到的結(jié)果數(shù)據(jù); 檢測所述第二消息是否被成功發(fā)送; 響應(yīng)于所述第二消息發(fā)送失敗時,將所述第二消息記錄在消息隊列中。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括: 周期性的重試發(fā)送所述第二消息,直到所述第二消息發(fā)送成功。8.一種消息發(fā)送裝置,其特征在于,包括: 第一消息發(fā)送模塊,用于發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù); 第一狀態(tài)檢測模塊,用于檢測所述第一消息是否被成功發(fā)送; 第一消息記錄模塊,用于響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第一重試發(fā)送模塊,用于周期性的重試發(fā)送所述第一消息,直到所述第一消息發(fā)送成功。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第一消息接收模塊,用于接收所述目標(biāo)接收器返回的第二消息,所述第二消息包括處理所述第一消息而得到的結(jié)果數(shù)據(jù)。11.一種消息接收裝置,其特征在于,包括: 第二消息接收模塊,用于接收來自發(fā)送器的第一消息; 第二狀態(tài)檢測模塊,用于對所述第一消息進行處理,檢測對所述第一消息的處理是否成功; 第二消息記錄模塊,用于響應(yīng)于對所述第一消息處理失敗時,將所述第一消息記錄在消息隊列中。12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 重試處理模塊,用于周期性的重試處理所述第一消息,直到所述第一消息處理成功。13.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 第二消息發(fā)送模塊,用于發(fā)送第二消息至所述發(fā)送器,所述第二消息包括處理所述第一消息而得到的結(jié)果數(shù)據(jù); 第三狀態(tài)檢測模塊,用于檢測所述第二消息是否被成功發(fā)送; 第三消息記錄模塊,用于響應(yīng)于所述第二消息發(fā)送失敗時,將所述第二消息記錄在消息隊列中。14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述裝置還包括: 第二重試發(fā)送模塊,用于周期性的重試發(fā)送所述第二消息,直到所述第二消息發(fā)送成功。15.一種消息發(fā)送裝置,其特征在于,包括: 處理器; 用于存儲處理器可執(zhí)行指令的存儲器; 其中,所述處理器被配置為: 發(fā)送第一消息至目標(biāo)接收器,并異步處理本地其他服務(wù); 檢測所述第一消息是否被成功發(fā)送; 響應(yīng)于所述第一消息發(fā)送失敗時,將所述第一消息記錄在消息隊列中。16.一種消息接收裝置,其特征在于,包括: 處理器; 用于存儲處理器可執(zhí)行指令的存儲器; 其中,所述處理器被配置為: 接收來自發(fā)送器的第一消息; 對所述第一消息進行處理,檢測對所述第一消息的處理是否成功; 響應(yīng)于對所述第一消息處理失敗時,將所述第一消息記錄在消息隊列中。
【文檔編號】H04L12/58GK105897549SQ201510924451
【公開日】2016年8月24日
【申請日】2015年12月14日
【發(fā)明人】劉永華, 王孝慶
【申請人】樂視云計算有限公司