實(shí)現(xiàn)消息在不同終端漫游的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及即時通訊中的消息同步,尤其涉及實(shí)現(xiàn)消息在不同終端漫游的方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前即時通訊產(chǎn)品已經(jīng)廣泛應(yīng)用在人們的生活和工作中,即時的網(wǎng)絡(luò)消息已經(jīng)成為溝通的主要途徑。我們可以通過PC、平板、手機(jī)等電子設(shè)備發(fā)送文字、語音、圖片、表情等信息?,F(xiàn)有技術(shù)只能在登錄IM客戶端的設(shè)備終端展示本設(shè)備上的本地聊天記錄,不能在當(dāng)前登錄設(shè)備上展示在其他設(shè)備上登錄時的聊天記錄,即不能同步多個終端設(shè)備上的漫游聊天記錄,導(dǎo)致用戶在任何終端的聊天界面都不能看到最新的完整記錄,更不能自動加載,不方便查詢。并且沒有和聊天會話窗口無縫對接,需要另外打開窗口或進(jìn)行特別的設(shè)置,才能進(jìn)入漫游消息界面,用戶體驗(yàn)度不高。而對于提供了消息漫游的通訊工具,則需要用戶進(jìn)行特別的設(shè)置或進(jìn)行購買,例如imo即時通訊,需要手動下載云消息,并手動合并到本地保存,用戶體驗(yàn)度不高。
【發(fā)明內(nèi)容】
[0003]根據(jù)本發(fā)明的一個方面,提供了一種實(shí)現(xiàn)消息在不同終端漫游的方法,包括:
[0004]A、通訊服務(wù)端解析接收到的消息數(shù)據(jù)并重新編碼打包后存儲;
[0005]B、目標(biāo)IM客戶端向通訊服務(wù)端提交獲取消息數(shù)據(jù)的請求;
[0006]C、通訊服務(wù)端根據(jù)請求返回符合條件的消息數(shù)據(jù)包;
[0007]D、目標(biāo)頂客戶端接收數(shù)據(jù)包,解析存儲并輸出顯示。
[0008]通過本方法,用戶無需任何設(shè)置及手動同步,使消息漫游更加簡單方便,解決了頂終端漫游消息的同步且使消息漫游更加人性化,提升了用戶體驗(yàn)。
[0009]在一些實(shí)施方式中,步驟A包括:
[0010]通訊服務(wù)端通過通訊接口接收源IM客戶端的消息數(shù)據(jù),存儲源IM客戶端的連接用戶ID和對應(yīng)的連接地址;
[0011]通訊服務(wù)端解析消息數(shù)據(jù),并將解析出的消息數(shù)據(jù)重新編碼打包;
[0012]通訊服務(wù)端將打包的消息數(shù)據(jù)持久化到云存儲。
[0013]由此,通過將頂客戶端之間的聊天數(shù)據(jù)在通訊服務(wù)端的云存儲,以將在不同終端的消息記錄在云端合并,為實(shí)現(xiàn)消息在不同終端的漫游提供統(tǒng)一的消息記錄。
[0014]在一些實(shí)施方式中,通訊服務(wù)端通過將消息數(shù)據(jù)根據(jù)字節(jié)數(shù)組的協(xié)議結(jié)構(gòu)進(jìn)行反序列化實(shí)現(xiàn)解析,通過根據(jù)字節(jié)數(shù)組的協(xié)議結(jié)構(gòu)進(jìn)行序列化實(shí)現(xiàn)編碼。由此,將數(shù)據(jù)在傳輸中進(jìn)行編碼,能夠?qū)崿F(xiàn)聊天數(shù)據(jù)的安全傳輸。
[0015]在一些實(shí)施方式中,字節(jié)數(shù)組的協(xié)議結(jié)構(gòu)包括消息頭和消息體,消息頭包括消息體的字節(jié)長度和接口代碼,消息體包括發(fā)送者ID、接收者ID、消息數(shù)據(jù)長度及消息數(shù)據(jù)內(nèi)容。
[0016]在一些實(shí)施方式中,在進(jìn)入聯(lián)系人界面時,步驟B包括:
[0017]目標(biāo)頂客戶端向通訊服務(wù)端發(fā)送離線消息請求;
[0018]步驟C包括:
[0019]通訊服務(wù)端根據(jù)離線消息請求查詢云存儲獲取符合條件的離線數(shù)據(jù),將數(shù)據(jù)編碼后返回給目標(biāo)頂客戶端;
[0020]步驟D包括:
[0021]目標(biāo)頂客戶端接收離線數(shù)據(jù),將最后一條離線消息內(nèi)容和離線消息條數(shù)按照人員ID分類存儲,并輸出顯示。
[0022]由此,實(shí)現(xiàn)在最近聯(lián)系人界面與最近聯(lián)系人在不同終端聊天消息的同步漫游。
[0023]在一些實(shí)施方式中,在進(jìn)入聊天界面時,步驟B包括:
[0024]目標(biāo)IM客戶端向通訊服務(wù)端發(fā)送最新消息請求;
[0025]步驟C包括:
[0026]通訊服務(wù)端根據(jù)最新消息請求查詢云存儲獲取符合條件的最新的消息記錄給頂客戶端;
[0027]步驟D包括:
[0028]IM客戶端將接收到的消息記錄與本地存儲的消息記錄進(jìn)行合并,更新本地存儲;
[0029]頂客戶端從已更新的本地存儲數(shù)據(jù)中獲取最新的消息記錄輸出顯示。
[0030]由此,實(shí)現(xiàn)針對某一個具體聊天會話對象,在不同終端聊天消息的同步漫游。
[0031]根據(jù)本發(fā)明的一方面,還提供了一種消息在不同終端漫游的系統(tǒng),包括:頂客戶端和通訊服務(wù)端;
[0032]IM客戶端包括客戶端通訊接口模塊、客戶端協(xié)議編解碼模塊、存儲模塊和UI模塊;
[0033]通訊服務(wù)端包括服務(wù)端通訊接口模塊、服務(wù)端協(xié)議編解碼模塊和持久化數(shù)據(jù)管理豐吳塊;
[0034]IM客戶端通過客戶端通訊接口模塊連接通訊服務(wù)端,向服務(wù)端通訊接口模塊發(fā)送消息數(shù)據(jù)和數(shù)據(jù)請求,并接收通訊服務(wù)端返回的消息數(shù)據(jù)包;
[0035]客戶端協(xié)議編解碼模塊設(shè)置為解析消息數(shù)據(jù)包,輸出至存儲模塊存儲和輸出至Π模塊顯示;
[0036]服務(wù)端協(xié)議編碼模塊設(shè)置為解析和編碼消息數(shù)據(jù),輸出至持久化數(shù)據(jù)管理模塊存儲。
[0037]本發(fā)明通過通訊服務(wù)端的持久化云存儲和頂客戶端的自動消息請求,實(shí)現(xiàn)了消息在不同終端的自動化漫游加載,用戶不需要任何設(shè)置和手動同步操作就可以看到在所有終端的消息記錄,使消息在不同終端的漫游同步的過程變得非常簡單便捷,提高了用戶體驗(yàn)。
[0038]在一些實(shí)施方式中,客戶端協(xié)議編解碼模塊和服務(wù)端協(xié)議編解碼模塊設(shè)置為通過將消息數(shù)據(jù)根據(jù)字節(jié)數(shù)組的協(xié)議結(jié)構(gòu)進(jìn)行序列化和反序列化,進(jìn)行消息數(shù)據(jù)的編碼和解析。由此,實(shí)現(xiàn)消息數(shù)據(jù)的安全傳輸,以更好的保證用戶的聊天隱私。
[0039]在一些實(shí)施方式中,字節(jié)數(shù)組的協(xié)議結(jié)構(gòu)包括消息頭和消息體,消息頭包括消息體的字節(jié)長度和接口代碼,消息體包括發(fā)送者ID、接收者ID、消息數(shù)據(jù)長度及消息數(shù)據(jù)內(nèi)容。
[0040]在一些實(shí)施方式中,數(shù)據(jù)請求包括離線消息請求和最新消息請求;
[0041]當(dāng)為離線消息請求時,Π模塊設(shè)置為根據(jù)離線消息請求的結(jié)果,按人員ID輸出顯示最后一條離線消息內(nèi)容和離線消息條數(shù);
[0042]當(dāng)為最新消息請求時,UI模塊設(shè)置為根據(jù)最新消息請求的結(jié)果,輸出顯示固定數(shù)目的云端存儲的最新消息記錄。
[0043]由此,用戶不需要任何設(shè)置和手動操作,就能夠看到最近聯(lián)系人和某個聊天會話在不同終端的所有消息記錄,自動實(shí)現(xiàn)消息漫游同步。而且每次獲取固定數(shù)目的最新消息,根據(jù)用戶終端的屏幕平滑展示消息內(nèi)容,當(dāng)用戶下拉時自動加載不用另開窗口查看消息記錄,使消息漫游更加人性化。
【附圖說明】
[0044]圖1為本發(fā)明一實(shí)施方式的消息漫游不同終端的方法的流程示意圖;
[0045]圖2為本發(fā)明一種實(shí)施方式的消息漫游不同終端的系統(tǒng)的框架示意圖;
[0046]圖3為圖1所示的方法中的字節(jié)數(shù)組的協(xié)議結(jié)構(gòu)的示意圖;
[0047]圖4為圖1所示的方法中離線會話的存儲表結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0048]下面結(jié)合附圖對本發(fā)明的實(shí)施方式作進(jìn)一步詳細(xì)的說明。
[0049]圖1示意性地顯示了根據(jù)本發(fā)明的一種實(shí)施方式的消息漫游不同終端的方法。本方法可以適用于不同的IM(Instant Messaging,即時通訊)終端,能夠自動展示用戶在不同終端的消息記錄,實(shí)現(xiàn)了基于云計(jì)算的自動化聊天記錄漫游。
[0050]如圖1所示,該方法包括:
[0051]步驟SlOl:通訊服務(wù)端將接收到的消息解析并再編碼后存儲。
[0052]通訊服務(wù)端通過通訊接口(通過現(xiàn)有技術(shù)即可實(shí)現(xiàn),如socket通信或采用頂通訊軟件本身的通信機(jī)制)接收消息發(fā)送方通過頂客戶端(例如飛信客戶端或微信客戶端或騰訊QQ客戶端等)發(fā)送的聊天消息,保存消息發(fā)送方在連接服務(wù)端時的用戶ID和對應(yīng)的socket鏈接地址(例如“userA”對應(yīng)“61.155.85.77:10005”),并通過字節(jié)數(shù)組排列技術(shù)將接收到的聊天消息解析分類,之后把聊天消息通過字節(jié)數(shù)組排列技術(shù)重新編碼打包。其中,字節(jié)數(shù)組排列技術(shù)是通過將聊天消息按一定的協(xié)議結(jié)構(gòu)序列化和反序列化,以實(shí)現(xiàn)數(shù)據(jù)的編碼和解析。
[0053]圖3示意性的顯示了一種實(shí)施方式的字節(jié)數(shù)組的協(xié)議結(jié)構(gòu)。如圖3所示,該協(xié)議結(jié)構(gòu)包括消息頭30和消息體31。消息頭30保存消息體的字節(jié)長度和接口代碼,消息體31保存協(xié)議約定內(nèi)容,例如發(fā)送者、接收者、消息內(nèi)容長