一種消息發送方法、裝置和一種消息接收方法、裝置的製作方法
2023-06-01 22:21:26 1
專利名稱:一種消息發送方法、裝置和一種消息接收方法、裝置的製作方法
技術領域:
本申請涉即時通訊領域,特別是涉及一種消息發送方法、裝置和一種消息接收方法、裝置。
背景技術:
在現今的網絡通訊系統中,客戶端接收伺服器發送的消息,伺服器將接收到的待發送給相應客戶端的消息發送給相應客戶端。比如在線客服,在線客服是一種基於文字和多媒體的在線即時交互的客戶服務方式,客戶端通過瀏覽器和客服人員進行溝通,不需要專門安裝相關客戶端軟體,通過瀏覽器從伺服器接收消息的方式實現客戶端的消息接收。在客戶端接收消息的過程中,存在各種不確定因素,包括伺服器異常,網絡不穩定、網絡丟包、客戶端瀏覽器解析消息異常等,這些不確定因素都有可能導致某一條消息的丟失。而對於服務提供方來說,消息丟失的情況是一個非常嚴重的問題,需要儘量避免。比如對於在線客服來說,是不允許消息丟失的情況發生的,因為丟失消息容易造成客戶端對服務內容的誤解。現有技術中,客戶端需要向伺服器發送接收消息的請求信息,同時為了檢驗消息是否接收正常,需要在每次接收到消息後,向伺服器發送一個消息,伺服器標記該消息已經被成功接收;伺服器處理所有客戶端對於接收成功消息的確認信息,並定期檢測所有未被確認的消息,如果超過一定的時間則進行重發。現有技術如表一所述:
權利要求
1.一種消息發送方法,其特徵在於,包括: 將待發送的各消息按先後順序分配一個消息標識; 根據客戶端標識和與該客戶端對應的排序最靠後的消息標識,將伺服器端中在該消息標識順序之後對應於該客戶端的至少一個最靠近該消息標識的消息打包生成消息包並發送給該客戶端;其中,所述該客戶端對應的排序最靠後的消息標識通過接收由所述客戶端發送的信息中獲得。
2.如權利要求1所述的方法,其特徵在於,通過以下方式將待發送的各消息按先後順序分配一個消息標識: 依照伺服器端接收消息的順序,將所述消息按所述順序分配一個消息標識。
3.如權利要求1所述的方法,其特徵在於,通過以下方式將待發送的各消息按先後順序分配一個消息標識: 根據消息中對應的待接收客戶端標識,按伺服器對帶有所述待接收客戶端標識的消息的接收順序將所述消息分配一個消息標識。
4.如權利要求1所述的方法,其特徵在於,還包括: 根據客戶端發送的消息標識,將伺服器端中在該消息標識順之前的對應於該客戶端的消息進行刪除。
5.如權利要求1所述的方法,其特徵在於,在根據客戶端標識和與該客戶端對應的排序最靠後的消息標識,將伺服器端中在該消息標識順序之後對應於該客戶端的至少一個最靠近該消息標識的消息打包生成消息包之後之前包括: 接收客戶端發送的請求信息,所述請求信息包括客戶端標識和該客戶端成功接收的消息中排序最靠後消息的消息標識。
6.如權利要求1所述的方法,其特徵在於,在根據客戶端標識和與該客戶端對應的排序最靠後的消息標識,將伺服器端中在該消息標識順序之後對應於該客戶端的至少一個最靠近該消息標識的消息打包生成消息包之後包括: 接收客戶端發送的確認信息,所述確認信息包括客戶端標識和該客戶端成功接收的消息中排序最靠後消息的消息標識。
7.如權利要求1所述的方法,其特徵在於,將伺服器端中在該消息標識順序之後對應於該客戶端的至少一個最靠近該消息標識的消息打包生成消息包發送給該客戶端的過程中,還包括: 當伺服器端中在該消息標識順序之後對應於該客戶端的消息條數M小於等於閾值N時,將各消息一起打包生成消息包並發送給客戶端;所述N為大於I的整數; 當伺服器端中在該消息標識順序之後對應於該客戶端的消息條數M大於閾值N時,將各消息按先後順序分組打包生成消息包並送給客戶端;其中,每個消息包的條數小於等於N0
8.如權利要求7所述的方法,其特徵在於,當伺服器端中在該消息標識順序之後對應於該客戶端的消息條數M大於閾值N時: 將M條消息按先後順序分為[M/N]+l組。
9.一種消息接收方法,其特徵在於,包括: 接收伺服器端發送的消息包;所述消息包為在伺服器端中對應於該客戶端的排序最靠後的消息標識順序之後的至少一個最靠近該消息標識的消息打包生成的;其中,所述在伺服器端中所述排序最靠後的消息標識通過客戶端發送的確認信息獲得; 從所述消息包中逐條解析消息,並將當前記錄成功接收的消息的消息標識更新為所獲得消息中排序最靠後的消息的消息標識。
10.如權利要求9所述的方法,其特徵在於,在接收伺服器端發送的消息包之前還包括: 發送請求信息,所述請求信息包括客戶端標識和該客戶端成功接收的消息中排序最靠後消息的消息標識。
11.如權利要求9所述的方法,其特徵在於,從所述消息包中逐條解析消息,並將當前記錄成功接收的消息的消息標識更新為所獲得消息中排序最靠後的消息的消息標識之後還包括: 發送確認信息,所述確認信息包括客戶端標識和該客戶端成功接收的消息中排序最靠後消息的消息標識。
12.一種消息發送裝置,其特徵在於,包括: 消息標識模塊,用於將待發送的各消息按先後順序分配一個消息標識; 請求接收模塊 ,用於根據客戶端標識和與該客戶端對應的排序最靠後的消息標識,將伺服器端中在該消息標識順序之後對應於該客戶端的至少一個最靠近該消息標識的消息打包生成消息包並發送給該客戶端;其中,所述該客戶端對應的排序最靠後的消息標識通過接收到的由所述客戶端發送的確認信息獲得。
13.一種消息接收裝置,其特徵在於,包括: 消息接收模塊,用於接收伺服器端發送的消息包;所述消息包為在伺服器端中所述排序最靠後的消息標識順序之後對應於該客戶端的至少一個最靠近該消息標識的消息打包生成的;其中,所述在伺服器端中所述排序最靠後的消息標識通過客戶端發送的信息獲得; 解析模塊,從所述消息包中逐條解析消息,並將當前記錄的消息標識更新為所獲得消息中排序最靠後的消息標識。
全文摘要
本申請提供了一種消息發送方法、裝置和一種消息接收方法、裝置,涉即時通訊領域。本申請的方法包括將待發送的各消息按先後順序分配一個消息標識;根據客戶端標識和與該客戶端對應的排序最靠後的消息標識,將伺服器端中在該消息標識順序之後對應於該客戶端的至少一個最靠近該消息標識的消息打包生成消息包並發送給該客戶端;其中,所述該客戶端對應的排序最靠後的消息標識通過接收由所述客戶端發送的信息中獲得。在通過本申請伺服器只需根據接收到的所述消息標識即可確認發送的一批消息是否接收成功,無需對每條消息進行確認,只需將消息標識之後至少一個最靠近該消息標識的消息打包發送即可,使客戶端能按順序接收消息,大幅降低了伺服器開銷。
文檔編號H04L12/58GK103220206SQ20121001777
公開日2013年7月24日 申請日期2012年1月19日 優先權日2012年1月19日
發明者戚國梁, 陳汝燁 申請人:阿里巴巴集團控股有限公司