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

一種實現(xiàn)已讀狀態(tài)同步的方法及設(shè)備的制作方法

文檔序號:7927076閱讀:247來源:國知局
專利名稱:一種實現(xiàn)已讀狀態(tài)同步的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及通信系統(tǒng)中接收方多個設(shè)備之間消息已讀狀態(tài)同步的方法及設(shè)備。
背景技術(shù)
在通信系統(tǒng)的消息交互中,消息的發(fā)送方可以通過在發(fā)送的消息中增加請
^JMDN (即時消息才旨示通4口, Instant Message Disposition Notification ),來
請求消息接收方收到消息后回復(fù)消息發(fā)送方IMDN,以通知消息發(fā)送方消息被處理的情況。
IMDN是一種消息處理通知,包括三個類型的處理通知delivery,processing, read,其中read通知類型用于指示消息接收方是否已經(jīng)將消息交付給用戶并被用戶閱讀。read通知類型包括三種狀態(tài)"read"(已讀)、"forbidden"(禁止)、"error"(出錯)。
當(dāng)消息發(fā)送方需要向消息接收方請求IMDN時,就在發(fā)送的消息中包含Disposition-Notification頭域,并在Disposition-Notification頭域中指定想要的通知類型(例如read、 forbidden、 error中的一種或多種),乂人而通過在消息中包含值為"read"的Disposition-Notification頭域來請求消息接收方回復(fù)閱讀l艮告。
此外,消息發(fā)送方需要向消息接收方請求IMDN時,還要在發(fā)送的消息中包含Message-ID頭域,該頭域包含一個全球唯一的消息標(biāo)識符。當(dāng)消息發(fā)送方收到一個IMDN時,將Message匿ID的值與IMDN中的〈message-id〉元素的^f直進(jìn)行比較,以確定收到的IMDN是針對哪一條已發(fā)出的消息的。
例如,用戶A在發(fā)給用戶B的消息中包含頭域值為"read" 的Disposition-Notification頭域來i貪求用戶B回復(fù)閱讀才艮告,該消息的Message畫ID值為34jk324j;用戶B收到該消息后向用戶A回復(fù)IMDN,并將上述Message-ID
7的值作為該回復(fù)的IMDN中〈message-id〉元素的值,當(dāng)用戶A收到用戶B回復(fù)的 該IMDN時,將其中〈message-id〉元素的值與本地存儲的已發(fā)消息的 Message-ID值進(jìn)行匹配,得知Message-ID值為34jk324j的已發(fā)消息已被用戶B 閱讀,于是用戶A將該消息的狀態(tài)更新為"已讀"。
上述描述的是一個用戶有一個設(shè)備接收消息并回復(fù)IMDN的情形,當(dāng)一個 用戶有至少兩個設(shè)備能夠接收消息,應(yīng)用服務(wù)器就需要將發(fā)送給該用戶的消息 發(fā)送到該用戶的至少兩個設(shè)備上。
例如,用戶A通過設(shè)備1向用戶B發(fā)送消息,核心網(wǎng)將該消息路由到用戶B 所在域的應(yīng)用服務(wù)器,該應(yīng)用服務(wù)器檢查該消息頭后,得到用戶B的業(yè)務(wù)地址, 查詢本地數(shù)據(jù)庫后得知用戶B有兩個設(shè)備可以用于接收該消息,于是該應(yīng)用服 務(wù)器將該消息的目的地址進(jìn)行改寫,通過核心網(wǎng)將入消息分別發(fā)送給用戶B的 設(shè)備1和設(shè)備2。這種情況下,當(dāng)用戶A向用戶B請求IMDN時,若用戶B的一個 設(shè)備閱讀了用戶A發(fā)送的消息,那么用戶B的其它設(shè)備上該消息的狀態(tài)也需要同 步為"已讀"狀態(tài)。
目前,采用數(shù)據(jù)同步協(xié)議可以實現(xiàn)在一個用戶的至少兩個設(shè)備上消息狀態(tài) 的同步。數(shù)據(jù)同步協(xié)議進(jìn)行同步的流程,包括連接的建立、進(jìn)行同步和結(jié)束同 步。
發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 應(yīng)用服務(wù)器和接收方設(shè)備都必須支持?jǐn)?shù)據(jù)同步協(xié)議,如果有一方不支持?jǐn)?shù) 據(jù)同步協(xié)議,就無法通過這種方法實現(xiàn)消息已讀狀態(tài)的同步;而且采用數(shù)據(jù)同 步協(xié)議進(jìn)行狀態(tài)同步的過程中需要進(jìn)行大量消息交互,增加系統(tǒng)負(fù)擔(dān),占用網(wǎng) 絡(luò)資源。

發(fā)明內(nèi)容
本發(fā)明的實施例提供了一種實現(xiàn)已讀狀態(tài)同步的方法、設(shè)備及系統(tǒng),能夠 使用較少的信息流量來實現(xiàn)接收方至少兩個設(shè)備之間的消息"已讀"狀態(tài)同步。 一種實現(xiàn)已讀狀態(tài)同步的方法,包括
8收到發(fā)送方發(fā)送的消息后,向接收方的各設(shè)備發(fā)送包含閱讀報告請求的消
息;收到所述接收方的設(shè)備發(fā)送的閱讀報告,該設(shè)備是收到包含所述閱讀報告 請求的消息的至少兩個設(shè)備中閱讀該消息的設(shè)備,所述閱讀報告是閱讀該消息 的設(shè)備根據(jù)該消息中的所述閱讀報告請求發(fā)送的閱讀報告;向所述接收方的設(shè) 備中發(fā)送所述閱讀報告的設(shè)備之外的其它設(shè)備發(fā)送用于同步的閱讀報告,通知 所述其它設(shè)備根據(jù)該閱讀報告更新所述消息的狀態(tài)。
一種實現(xiàn)已讀狀態(tài)同步的應(yīng)用服務(wù)器,包括
第一接收單元,用于接收發(fā)送方發(fā)送的消息;
第 一發(fā)送單元,用于向接收方的各設(shè)備發(fā)送包含閱讀報告請求的消息; 第二接收單元,用于接收接收方的設(shè)備發(fā)送的閱讀報告,所述設(shè)備是接收 方的收到包含閱讀報告請求的消息的至少兩個設(shè)備中閱讀該消息的設(shè)備;所述 閱讀報告是閱讀該消息的設(shè)備根據(jù)該消息中的所述閱讀報告請求發(fā)送的閱讀 報告;
第二發(fā)送單元,在所述第二接收單元接收了接收方的設(shè)備根據(jù)所述消息包 含的所述閱讀報告請求發(fā)送的閱讀報告后,向所述接收方的設(shè)備中發(fā)送所述閱
述用于同步的閱讀報告更新所述消息的狀態(tài)。
一種消息處理方法,應(yīng)用于包含多個接收設(shè)備的接收方系統(tǒng)中,包括 所述多個接收設(shè)備接收應(yīng)用服務(wù)器發(fā)送的包含閱讀報告請求的消息; 所述多個接收設(shè)備中的至少一個接收設(shè)備閱讀所述消息后向應(yīng)用服務(wù)器
發(fā)送閱讀報告;
所述多個接收設(shè)備中的發(fā)送所述閱讀報告的設(shè)備之外的其它設(shè)備接收所 述應(yīng)用服務(wù)器發(fā)送的所述消息的閱讀報告,并根據(jù)所述閱讀報告更新已接收的 所述消息的狀態(tài)。
一種實現(xiàn)已讀狀態(tài)同步的接收方設(shè)備,包括
接收單元,用于接收應(yīng)用服務(wù)器發(fā)送的包含閱讀報告請求的消息;
閱讀處理單元,用于閱讀所述接收單元接收的所述消息;在閱讀所述消息
9后向所述應(yīng)用服務(wù)器發(fā)送閱讀報告;
所述接收單元,還用于接收所述應(yīng)用服務(wù)器發(fā)送的所述消息的閱讀報告; 同步單元,用于根據(jù)應(yīng)用服務(wù)器發(fā)送的所述消息的所述閱讀報告更新所述
消息的狀態(tài)。
一種實現(xiàn)已讀狀態(tài)同步的系統(tǒng),包括應(yīng)用服務(wù)器和接收方設(shè)備;所述接 收方設(shè)備,包括至少一個接收方第一設(shè)備,以及至少一個接收方第二設(shè)備;
應(yīng)用服務(wù)器,用于收到發(fā)送方發(fā)送的消息后,向所述接收方設(shè)備發(fā)送包含 閱讀報告請求的消息;
接收方第一設(shè)備,用于接收應(yīng)用服務(wù)器發(fā)送的消息,并在閱讀所述消息后 向所述應(yīng)用服務(wù)器發(fā)送閱讀報告;
其中,所述應(yīng)用服務(wù)器,接收所述接收方第一設(shè)備發(fā)送的閱讀所述消息的 閱讀報告后,向所述接收方第二設(shè)備發(fā)送所述消息的閱讀報告;
接收方第二設(shè)備,用于接收應(yīng)用服務(wù)器發(fā)送的消息,以及接收所述應(yīng)用服 務(wù)器發(fā)送的所述消息的所述閱讀報告,并根據(jù)應(yīng)用服務(wù)器發(fā)送的所述閱讀報告 更新已接收的所述消息的狀態(tài)。
由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,當(dāng)接收方的至少兩個設(shè) 備通過應(yīng)用服務(wù)器收到同一條消息時,由閱讀所述消息的設(shè)備發(fā)送所述消息的 閱讀報告給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器將所述消息的閱讀報告轉(zhuǎn)發(fā)給該接收方收
到所述消息的其它設(shè)備,從而實現(xiàn)接收方至少兩個設(shè)備之間的消息"已讀"狀 態(tài)的同步。因此,本發(fā)明實施例可以使用較少的信息流量來實現(xiàn)接收方至少兩 個設(shè)備之間的消息"已讀"狀態(tài)同步,可以避免由于使用數(shù)據(jù)同步協(xié)議進(jìn)行同 步過程中的大量消息交互,從而減輕了整個系統(tǒng)的負(fù)擔(dān)。


圖1為本發(fā)明實施例提供的方法流程示意圖2為本發(fā)明實施例中應(yīng)用服務(wù)器的處理邏輯示意圖3為本發(fā)明實施例提供的可以用于具有至少兩個設(shè)備的接收方的方法流
10程示意圖4為本發(fā)明實施例提供的接收方設(shè)備的處理邏輯示意圖5為本發(fā)明具體實施例一的處理流程示意圖6為本發(fā)明具體實施例二的處理流程示意圖7為本發(fā)明具體實施例三的處理流程示意圖8為本發(fā)明實施例提供的應(yīng)用服務(wù)器的結(jié)構(gòu)示意圖9為本發(fā)明實施例提供的接收方設(shè)備的結(jié)構(gòu)示意圖10為本發(fā)明實施例提供的系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式
在多設(shè)備環(huán)境下的消息通信中,當(dāng)消息接收方有至少兩個設(shè)備,發(fā)送方發(fā) 給接收方的消息就會被轉(zhuǎn)發(fā)到接收方的至少兩個設(shè)備上。接收方的至少兩個設(shè) 備收到同一條消息后,若接收方在其中一臺設(shè)備上閱讀了該消息,則接收方其 它設(shè)備上該消息的狀態(tài)也需要同步為"已讀"狀態(tài)。
本發(fā)明實施例提供了一種實現(xiàn)狀態(tài)同步的方法,可以用于應(yīng)用服務(wù)器實現(xiàn) 消息狀態(tài)的同步,具體可以包括收到發(fā)送方發(fā)送的消息后,向接收方的各i殳 備發(fā)送包含閱讀報告請求的消息;收到所述接收方的設(shè)備發(fā)送的閱讀報告,該 設(shè)備是收到包含所述閱讀報告請求的消息的至少兩個設(shè)備中閱讀該消息的設(shè) 備,所述閱讀報告是閱讀該消息的設(shè)備根據(jù)該消息中的所述閱讀報告請求發(fā)送 的閱讀報告;向所述接收方的設(shè)備(包括接收方的設(shè)備中發(fā)送所述閱讀報告的 設(shè)備之外的其它設(shè)備,還可以包括發(fā)送所述閱讀報告的設(shè)備)發(fā)送用于同步的 閱讀報告,通知所述接收方的設(shè)備根據(jù)該閱讀報告更新所述消息的狀態(tài)。接收 方的接收了所述消息的設(shè)備收到所述消息的閱讀報告后,將該閱讀報告對應(yīng)的 消息的識別信息與本地已接收消息的識別信息匹配,當(dāng)找到對應(yīng)的消息,將所 述消息的狀態(tài)更新為已讀,從而實現(xiàn)了接收方的至少兩個設(shè)備的消息"已讀" 狀態(tài)的同步。
為便于對本發(fā)明實施例的理解,下面將結(jié)合附圖對本發(fā)明實施例的方法流程進(jìn)行詳細(xì)描述。
圖1是本發(fā)明實施例的方法流程示意圖,如圖1所示,相應(yīng)的具體流程可以
包括
11:應(yīng)用服務(wù)器收到發(fā)送給接收方的消息,該接收方具有至少兩個設(shè)備, 確保所述消息中包含閱讀報告請求后,將其發(fā)送給接收方的各設(shè)備;例如,應(yīng) 用服務(wù)器收到發(fā)送方發(fā)送給接收方的消息后,根據(jù)該消息的頭域值判斷收到的 該消息是閱讀報告后,可以檢查該消息中是否包含消息發(fā)送方的閱讀報告請 求,若沒有包含消息發(fā)送方的閱讀報告請求,則在該消息中增加用于狀態(tài)同步 的閱讀報告請求后將其發(fā)送給接收方,若包含閱讀報告請求則直接將該消息發(fā) 送給接收方;
12:接收方的各設(shè)備收到包含閱讀報告請求的消息后,閱讀該消息的設(shè)備 發(fā)送閱讀報告給應(yīng)用服務(wù)器;所述閱讀報告的頭域中可以包含不同值用于標(biāo)識 應(yīng)用服務(wù)器是否需要向發(fā)送方發(fā)送所述閱讀報告;例如若接收方設(shè)備收到的 消息中包含該消息的發(fā)送方的閱讀報告請求,則閱讀該消息的設(shè)備回復(fù)設(shè)置了 表示回復(fù)發(fā)送方的頭域值的閱讀報告給應(yīng)用服務(wù)器;或者,若消息中包含消息 的發(fā)送方的閱讀報告請求,但接收方通過其中一個設(shè)備閱讀所述消息后確定不 回復(fù)閱讀報告時,閱讀該消息的設(shè)備構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱讀 才艮告并發(fā)送給應(yīng)用服務(wù)器;或者,若消息中沒有包含消息的發(fā)送方的閱讀報告 請求,但包含應(yīng)用服務(wù)器增加的用于狀態(tài)同步的閱讀報告請求,則閱讀該消息
13:應(yīng)用服務(wù)器收到接收方閱讀了包含閱讀報告請求的消息的設(shè)備發(fā)送的 閱讀報告后,將閱讀報告發(fā)送給接收方接收了所述消息的其它設(shè)備,通知其它 設(shè)備根據(jù)該閱讀報告更新對應(yīng)的消息的狀態(tài);應(yīng)用服務(wù)器還可以根據(jù)該閱讀報 告的頭域值判斷該閱讀報告類型,并根據(jù)判斷結(jié)果確定除將閱讀報告發(fā)送給接 收方接收了所述消息的其它設(shè)備外,是否將該閱讀才艮告發(fā)送給發(fā)送方;例如, 具體的可以包4舌
若該閱讀報告中包含了用于表示回復(fù)發(fā)送方的頭域值,則判斷該閱讀報告
12是所述接收方閱讀消息的設(shè)備根據(jù)該消息中包含的所述發(fā)送方的閱讀報告請
求回復(fù)的閱讀報告;則向所述發(fā)送方轉(zhuǎn)發(fā)該閱讀報告,并向所述接收方的接收 了該消息的其它設(shè)備發(fā)送該消息的閱讀報告;
若該閱讀報告中包含了用于狀態(tài)同步的頭域值,則判斷該閱讀報告是所述 接收方閱讀消息的設(shè)備由于接收方確定不根據(jù)該消息中包含的發(fā)送方的閱讀 報告請求回復(fù)閱讀報告,而構(gòu)造的用于狀態(tài)同步的閱讀報告;或者該閱讀報告 是所述接收方閱讀該消息的設(shè)備根據(jù)應(yīng)用服務(wù)器增加的閱讀報告請求,而構(gòu)造 的用于狀態(tài)同步的閱讀報告,則向所述接收方接收了該消息的其它設(shè)備發(fā)送該 消息的閱讀報告。
接收方的其它設(shè)備收到應(yīng)用服務(wù)器轉(zhuǎn)發(fā)的所述消息的閱讀報告后,將閱讀 凈艮告對應(yīng)的消息的識別信息與本地已接收消息的識別信息匹配,當(dāng)找到對應(yīng)的 所述消息,將所述消息的狀態(tài)更新為已讀,從而實現(xiàn)了接收方至少兩個設(shè)備上 消息"已讀"狀態(tài)的同步。
上述內(nèi)容描述了應(yīng)用服務(wù)器在進(jìn)行同步時的方法流程,可以看出,本發(fā)明 實施例可以使用較少的信息流量來實現(xiàn)接收方至少兩個設(shè)備之間的消息"已 讀"狀態(tài)的同步,可以避免由于使用數(shù)據(jù)同步協(xié)議進(jìn)行同步過程中的大量消息 交互,從而減輕系統(tǒng)的負(fù)擔(dān)。
下面結(jié)合附圖2對本發(fā)明實施例中應(yīng)用服務(wù)器的處理邏輯進(jìn)行詳細(xì)描述。
圖2是應(yīng)用服務(wù)器的處理邏輯示意圖,如圖2所示,相應(yīng)的具體處理邏輯可 以包括
201:應(yīng)用服務(wù)器收到消息后,對該消息進(jìn)行檢查;
202:應(yīng)用服務(wù)器根據(jù)該消息的頭域值判斷該消息是不是閱讀報告;由于 接收方發(fā)送的閱讀報告也是消息,因此,應(yīng)用服務(wù)器先判斷該消息是否含有 Content-Disposition頭i或;若含有Content-Disposition頭:t或,貝'J進(jìn)4亍203;若不 含有Content-Disposition頭域,貝'J進(jìn)行207;
203:檢查Content-Disposition頭域值,并根據(jù)頭域值判斷閱讀報告類型; 閱讀報告類型可以包括發(fā)送方請求的閱讀報告和狀態(tài)同步的閱讀報告;例如在
13IMDN(即時消息指示通^口, Instant Message Disposition Notification )才幾制中, 若該消息含有頭域值為"notification"的Content-Disposition頭i或,則^人為該消息 是消息接收方回復(fù)的IMDN ,即閱讀報告;Content-Disposition頭域的 "notification"頭域值在本發(fā)明實施例中被擴展為"notification—sender"或者 "notification—sync";因此應(yīng)用服務(wù)器根據(jù)Content-Disposition頭域值判斷消息 類型日于,如果該消息的頭i或i"直為"notification—sender"或者"notification—sync", 則該消息為閱讀報告,否則不是閱讀報告;其中,Content-Disposition頭域值 為"notification—sender"的IMDN代表消息接收方對消息發(fā)送方所請求的閱讀報 告的回復(fù),Content-Disposition頭域值為"notification—sync"的IMDN代表為了狀 態(tài)同步需要而發(fā)送的閱讀報告;根據(jù)判斷結(jié)果,若應(yīng)用服務(wù)器收到的該消息的 頭域值為"notification_sender",則進(jìn)行204;若應(yīng)用服務(wù)器收到的該消息的頭 域值為"notification—sync",則進(jìn)行206;若是其它頭域值,則進(jìn)行205;
204:若應(yīng)用服務(wù)器收到的該消息的頭域值包含"notification—sender",則 該消息是接收方回復(fù)發(fā)送方的閱讀報告,于是,應(yīng)用服務(wù)器將該閱讀報告轉(zhuǎn)發(fā) 給消息發(fā)送方,并將閱讀才艮告的Content-Disposition頭域值改為 "notification_sync",并分別發(fā)送給接收方收到相應(yīng)消息的其它設(shè)備,以通知其 它設(shè)備的消息已讀狀態(tài)的同步;
205:若該消息的Content-Disposition頭域值為其它值,則直接轉(zhuǎn)發(fā)該消息; 206:若應(yīng)用服務(wù)器收到的該消息的頭域值包含"notificatior^sync",則該 消息是為了同步而發(fā)送的閱讀報告,于是應(yīng)用服務(wù)器分別向接收了相應(yīng)消息的 接收方的其它設(shè)備發(fā)送該消息的閱讀報告,并可以不轉(zhuǎn)發(fā)該閱讀報告給消息發(fā) 送方;
207:判斷該消息中是否包含Disposition-Notification頭域;若該消息中包 含Disposition-Notification頭域,則進(jìn)行208 ; 若該消息中不包含 Disposition-Notification頭i或,貝'J進(jìn)4亍211:
208:斗全查Disposition畫Notification頭i或^i,判斷該Disposition-Notification 是否包含"read";若包含"read",則進(jìn)行209;若不包含"read",則進(jìn)行210;
209:若該消息的Disposition-Notification頭^/直包含"read",由于消息 的發(fā)送方若要向消息的接收方請求IMDN就需要在消息中包含 Disposition-Notification頭域,同時在Disposition-Notification頭域中指定想要的 處理通知的類型,已定義的請求閱讀報告的Disposition-Notification頭域值為 "read",應(yīng)用服務(wù)器收到該消息后向接收方轉(zhuǎn)發(fā)該消息;
210:若該消息的Disposition-Notification頭i或l直不包含"read",則需要 在該消息中增加用于同步的閱讀報告請求,由于消息接收方需要能夠識別收到 的消息中請求的閱讀報告是消息發(fā)送方請求的還是應(yīng)用服務(wù)器為了實現(xiàn)接收 方消息狀態(tài)同步而請求的,而現(xiàn)有機制中無法實現(xiàn)這種區(qū)分,因此本發(fā)明實施 例通過乂十Disposition-Notification頭i或il進(jìn)4亍才廣展,土?xí)?"self-report"頭i4/f直, 來表示多設(shè)備環(huán)境下的應(yīng)用服務(wù)器為了消息"已讀"狀態(tài)的同步而請求閱讀報 告,應(yīng)用服務(wù)器在該消息的Disposition-Notification頭域中增加頭域值 "self-report"后,將其發(fā)送給接收方的各設(shè)備;
211:若該消息不包含Disposition-Notification頭域,則應(yīng)用服務(wù)器在消息 中增力口Disposition隱Notification頭域,頭域值為"self-report",并且在該消息 中增加Message-ID頭域后,將該消息發(fā)送給接收方的至少兩個設(shè)備。
上述描述內(nèi)容介紹了應(yīng)用服務(wù)器實現(xiàn)接收方的至少兩個設(shè)備消息"已讀" 狀態(tài)同步時的處理邏輯,可以看出,本發(fā)明實施例將現(xiàn)有"notification"頭域值 擴展為"notification—sender"以及"notification—sync"f尤可以區(qū)分消息接收方對 消息發(fā)送方所請求的閱讀報告的回復(fù),以及為了同步需要而發(fā)送的閱讀報告; 并且本發(fā)明實施例還通過對Disposition-Notification頭域值進(jìn)行擴展,即對該頭 域增加"self-report"頭域值,來表示多設(shè)備環(huán)境下的應(yīng)用服務(wù)器為了消息"已 讀"狀態(tài)的同步而請求閱讀報告,從而使消息接收方各設(shè)備能夠識別收到的消 息請求的閱讀才艮告是消息發(fā)送方請求的,還是應(yīng)用服務(wù)器為了實現(xiàn)接收方消息 "已讀"狀態(tài)同步而請求的。
本發(fā)明實施例還提供一種消息處理方法,可以應(yīng)用于包含多個接收設(shè)備的
15接收方系統(tǒng)中,具體包括所述多個接收設(shè)備接收應(yīng)用服務(wù)器發(fā)送的包含閱讀 報告請求的消息;所述多個接收設(shè)備中的至少 一個接收設(shè)備閱讀所述消息后向 應(yīng)用服務(wù)器發(fā)送閱讀報告;所述多個接收設(shè)備中的其它設(shè)備接收所述應(yīng)用服務(wù) 器發(fā)送的所述消息的閱讀報告,并根據(jù)所述閱讀報告更新已接收的所述消息的 狀態(tài)。
具體的,若所述消息中包含所述消息的發(fā)送方的閱讀報告請求,閱讀所述 消息后向應(yīng)用服務(wù)器發(fā)送設(shè)置了用于表示回復(fù)發(fā)送方的頭域值的閱讀報告;或 者,若所述消息中包含所述消息的發(fā)送方的閱讀報告請求,但接收方閱讀所述 消息后確定不回復(fù)閱讀報告時,構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱讀報告 并向應(yīng)用服務(wù)器發(fā)送;或者,若所述消息中包含應(yīng)用服務(wù)器為了狀態(tài)同步增加 的閱讀報告請求,則閱讀所述消息后,構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱 讀報告并向應(yīng)用服務(wù)器發(fā)送。
下面結(jié)合附圖3對本發(fā)明實施例提供的可以用于包含多個接收設(shè)備的接收 方系統(tǒng)實現(xiàn)消息"已讀"狀態(tài)同步的方法流程將進(jìn)^^描述。
圖3是本發(fā)明實施例的可以用于具有至少兩個設(shè)備的接收方的方法流程示 意圖,如圖3所示,相應(yīng)的具體流程可以包括
31:接收應(yīng)用服務(wù)器發(fā)送的包含閱讀報告請求的消息;具體的接收方的 至少兩個設(shè)備收到應(yīng)用服務(wù)器發(fā)送的同 一條消息;該消息可以包含消息發(fā)送方 的閱讀報告請求或應(yīng)用服務(wù)器增加的用于狀態(tài)同步的閱讀報告請求;
32:閱讀所述消息后向應(yīng)用服務(wù)器發(fā)送閱讀報告;具體的,接收方的至少 兩個設(shè)備中的一個設(shè)備閱讀所述消息后,向應(yīng)用服務(wù)器發(fā)送閱讀才艮告;例如
若所述消息中包含所述消息的發(fā)送方的閱讀報告請求,閱讀所述消息后向 應(yīng)用服務(wù)器發(fā)送設(shè)置了用于表示回復(fù)發(fā)送方的頭域值的閱讀報告;
或者,若所述消息中包含所述消息的發(fā)送方的閱讀報告請求,但接收方閱 讀所述消息后確定不回復(fù)閱讀報告時,構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱 讀報告并向應(yīng)用服務(wù)器發(fā)送;
或者,若所述消息中包含應(yīng)用服務(wù)器為了狀態(tài)同步增加的閱讀報告請求,
16則閱讀所述消息后,構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱讀報告并向應(yīng)用服
務(wù)器發(fā)送;
33:接收方收到所述消息的其它設(shè)備,收到應(yīng)用服務(wù)器發(fā)送的所述消息的 閱讀報告,根據(jù)所述閱讀報告的頭域值判斷應(yīng)用服務(wù)器發(fā)送的是閱讀報告后, 將該閱讀報告對應(yīng)的所述消息的狀態(tài)更新為已讀;具體的,接收方收到所述消 息的其它設(shè)備接收應(yīng)用服務(wù)器發(fā)送的所述消息的閱讀報告,將閱讀報告對應(yīng)的 消息的識別信息與本地已接收消息的識別信息匹配,找到對應(yīng)的所述消息,將 所述消息的狀態(tài)更新為已讀。
上述內(nèi)容描述了接收方設(shè)備實現(xiàn)狀態(tài)同步時的方法流程,可以看出,本發(fā) 明實施例可以使用較少的信息流量來實現(xiàn)接收方至少兩個設(shè)備之間的消息"已 讀"狀態(tài)的同步,可以避免由于使用數(shù)據(jù)同步協(xié)議進(jìn)行同步過程中的大量消息 交互,從而減輕系統(tǒng)的負(fù)擔(dān)。
下面結(jié)合附圖4對本發(fā)明實施例接收方設(shè)備的處理邏輯進(jìn)行詳細(xì)描述。如 圖4所示,相應(yīng)的具體處理邏輯可以包括
401:接收方的至少兩個設(shè)備收到應(yīng)用服務(wù)器發(fā)送的消息;
402:接收方的設(shè)備檢查所述消息中是否包含Content-Disposition頭域,若 包含,進(jìn)行403;若不包含,進(jìn)行406;
403 : 檢查Content-Disposition頭域值,若頭域值包含 "notification—sender",則進(jìn)4亍404; 若頭i或^直包含"notification—sync",則進(jìn)4亍 405;
404:若收到的所述消息的頭域值包含"notification— sender",則這是針對 已發(fā)出消息的閱讀報告,接收方設(shè)備將所述消息的識別信息與本地已發(fā)送消息 的識別信息(例如Message-ID值)匹配,當(dāng)找到對應(yīng)的所述消息,將所述消息 的狀態(tài)更新為已讀,實現(xiàn)消息"已讀"狀態(tài)同步;
405:若收到的所述消息的頭域值包含"notification一sync",則所述消息是 應(yīng)用服務(wù)器為了實現(xiàn)至少兩個設(shè)備之間消息"已讀"狀態(tài)同步而發(fā)送的閱讀報 告,接收方設(shè)備將所述消息的識別信息與本地已接收消息的識別信息(例如Message-ID值)匹配,當(dāng)找到對應(yīng)的所述消息,將所述消息的狀態(tài)更新為已讀, 實現(xiàn)消息"已讀"狀態(tài)同步;
406:接收方設(shè)備檢查所述消息中是否包含Disposition-Notification頭域 若包含,則進(jìn)行407;
407:若戶斤述消',H々Disposition-Notification頭i或^直包含"read",貝'J進(jìn)4亍 408;若,斤述消息的Disposition-NotJfication頭i或l直包含"self-report",貝'J進(jìn)4亍 4";
408:所述消息的Disposition-Notification頭域值包含"read"說明該消息 的閱讀報告是消息發(fā)送方請求的若接收方通過至少兩個設(shè)備之中的一臺設(shè)備 閱讀了所述消息,并愿意向發(fā)送方回復(fù)閱讀報告,則進(jìn)行409;若確定不向發(fā) 送方回復(fù)閱讀報告,則進(jìn)行410;
409:若接收方通過設(shè)備閱讀了所述消息,并確定向發(fā)送方回復(fù)閱讀報告, 則構(gòu)造閱讀報告,將該閱讀報告的Content-Disposition頭域值設(shè)為 "notification—sender",然后將其發(fā)送給消息發(fā)送方;
410:若接收方通過設(shè)備閱讀了所述消息,但確定不向發(fā)送方回復(fù)閱讀報 告,則仍然構(gòu)造閱讀報告,并將該閱讀報告的Content-Disposition頭域值設(shè)為 "notification_sync",然后將其發(fā)送給消息發(fā)送方(實際上這個閱讀報告不會到 達(dá)消息發(fā)送方);
411:若所述消息的Disposition-Notification頭iiUi包含"self-report",則
所述消息的閱讀報告請求是應(yīng)用服務(wù)器為了實現(xiàn)接收方至少兩個設(shè)備之間消 息"已讀"狀態(tài)的同步而發(fā)起的(即消息的發(fā)送方并沒有請求閱讀報告),當(dāng) 接收方通過設(shè)備閱讀了所述消息后,根據(jù)應(yīng)用服務(wù)器發(fā)起的該閱讀報告請求構(gòu) 造閱讀報告,并將Content隱Disposition頭域值設(shè)為Mnotification_sync",然后將 該閱讀報告發(fā)送給應(yīng)用服務(wù)器。
上述描述內(nèi)容介紹了接收方的設(shè)備實現(xiàn)至少兩個設(shè)備消息"已讀"狀態(tài)同 步的處理邏輯,可以看出,本發(fā)明實施例中,接收方的設(shè)備收到消息后,先判 斷該消息是否是閱讀報告,若是閱讀報告則根據(jù)Content-Disposition頭域值對
18閱讀報告進(jìn)行匹配,以實現(xiàn)同步;若該消息不是閱讀報告則根據(jù) Disposition-Notification頭域值以及用戶的意愿構(gòu)造閱讀報告來實現(xiàn)同步。并 且,本發(fā)明實施例將現(xiàn)有"notification"頭域值擴展為"notification—sender"以及 "notification一sync"就可以區(qū)分消息接收方對消息發(fā)送方所請求的閱讀報告的 回復(fù),以及為了同步需要而發(fā)送的閱讀報告;并且本發(fā)明實施例還通過對 Disposition-Notification頭i或l直進(jìn)4亍擴展,即對該頭i或增力。"self-report"頭i或 值,來表示多設(shè)備環(huán)境下的應(yīng)用服務(wù)器為了消息"已讀"狀態(tài)的同步而請求閱 讀報告,從而使消息接收方各設(shè)備能夠識別收到的消息中請求的閱讀報告是消 息發(fā)送方請求的還是應(yīng)用服務(wù)器為了實現(xiàn)接收方消息"已讀"狀態(tài)同步而請求 的。
本發(fā)明實施例中的發(fā)送方設(shè)備在收到應(yīng)用服務(wù)器發(fā)送的頭域值為 "notification—sender"的閱讀才艮告后,將該閱讀才艮告中的Message隱ID元素的值 與已發(fā)消息的Message-ID值進(jìn)行匹配,就能找到對應(yīng)的已發(fā)消息,并將對應(yīng)的 已發(fā)消息更新為已讀。
需要說明的是,實際的通信交互過程中, 一個接收方設(shè)備同時也可以是發(fā) 送方設(shè)備,因此,本發(fā)明實施例中的接收方設(shè)備也具有發(fā)送方設(shè)備的功能,即 收到應(yīng)用服務(wù)器發(fā)送的頭域值為"notificatior^sender的閱讀報告后,將該閱讀 報告中的Message-ID元素的值與已發(fā)消息的Message-ID值進(jìn)行匹配,就能找 到對應(yīng)的已發(fā)消息,并將對應(yīng)的已發(fā)消息更新為已讀。這樣,本發(fā)明實施例中 的接收方設(shè)備(同時也是發(fā)送方設(shè)備)在收到 一 個頭域值為 "notification—sender"的閱讀才艮告后,即可判斷得知該閱讀才艮文是針對已發(fā)送消 息的,然后只需在已發(fā)送消息中查找對應(yīng)消息;或在收到一個頭域值為 "notification_sync'W閱讀報告后,即可判斷得知該閱讀報文是針對已接收消息 的,然后只需在已接收消息中查找對應(yīng)消息,這樣就免去了由于不知道該閱讀 報告是針對已發(fā)送消息還是已接收消息的而在已發(fā)送消息和已接收消息中進(jìn) 行的查找,從而減少了一半的工作量。
為便于對本發(fā)明實施例的理解,下面將結(jié)合附圖對本發(fā)明實施例的具體實
19現(xiàn)方案進(jìn)行詳細(xì)的描述。 具體實施例一
該實施例中,在接收方設(shè)備向發(fā)送方回復(fù)閱讀報告的情況下,實現(xiàn)接收方 至少兩個設(shè)備之間消息"已讀"狀態(tài)的同步。
若消息發(fā)送方發(fā)送的消息中包含了閱讀報告請求,例如發(fā)送的該消息中
包含了頭域值為"read"的Disposition-Notification頭域,當(dāng)接收方在多個接收 了該消息的設(shè)備中的一個設(shè)備上閱讀了該消息后,該設(shè)備根據(jù)發(fā)送方的閱讀報 告請求構(gòu)造閱讀報告,并將Content-Disposition頭域值設(shè)為 "notification_sender",然后向消息發(fā)送方發(fā)送該閱讀報告。該閱讀報告首先到 達(dá)消息接收方(即閱讀報告的發(fā)送方)的應(yīng)用服務(wù)器,應(yīng)用服務(wù)器檢查該閱讀 才艮告的Content-Disposition頭i或,發(fā)J見頭i或《直包含"notification—sender", #尤^口 道該閱讀報告是消息接收方根據(jù)發(fā)送方的閱讀報告請求回復(fù)的閱讀報告,于是 將該閱讀報告轉(zhuǎn)發(fā)給消息發(fā)送方,然后為了使消息接收方的接收了同一條消息 的其它設(shè)備也將該消息的狀態(tài)同步為"已讀",應(yīng)用服務(wù)器將該閱讀報告中的 Content隱Disposition頭i或i"直"notification—sender"改為"notification—sync",并分 別發(fā)送給接收方接收了同一條消息的其它設(shè)備。
消息發(fā)送方設(shè)備收到閱讀報告后,檢查Content-Disposition頭域,發(fā)現(xiàn)頭 域值包含"notification—sync ",就將該將閱讀氺艮告中的〈message-id〉元素的值 與已發(fā)送消息的Message-ID的值進(jìn)行匹配,就可以找到對應(yīng)的消息,然后將 對應(yīng)的消息的狀態(tài)更新為已讀。
消息接收方接收了同一條消息的其它設(shè)備收到應(yīng)用服務(wù)器修改了頭域值 的閱讀報告后,檢查Content-Disposition頭域,發(fā)現(xiàn)頭域值包含 "notification_sync",就知道這是針對已接收消息的狀態(tài)同步的閱讀報告,于是 3爭閱讀才艮告中的〈message-ic^元素的值與已4妻》|丈消息的Message-ID的<直進(jìn) 4亍匹配,就能找到對應(yīng)的消息,將對應(yīng)的消息的狀態(tài)更新為已讀,實現(xiàn)消息狀 態(tài)的同步。
下面將結(jié)合圖5,對本實施例的應(yīng)用過程進(jìn)4亍詳細(xì)說明。圖5中,用戶Ai殳
20備為消息發(fā)送方設(shè)備,用戶B為消息接收方并且有2個接收設(shè)備,分別為設(shè)備1 和設(shè)備2;圖中的應(yīng)用服務(wù)器是用戶B的應(yīng)用服務(wù)器。如圖5所示,具體的處理 可以包4舌
(1 )用戶A向用戶B發(fā)送消息,該消息中包含閱讀報告請求,例如具體的, 可以在消息中包含Disposition-Notification頭域并且頭域值包含"read";該消 息到達(dá)為用戶B服務(wù)的應(yīng)用服務(wù)器后,應(yīng)用服務(wù)器檢查該消息中的 Disposition-Notification頭i或,發(fā)i見Disposition-Notification頭i或^直包含"read", 則不對該頭域修改,同時應(yīng)用服務(wù)器對本地數(shù)據(jù)庫進(jìn)行查詢,發(fā)現(xiàn)用戶B有兩 個設(shè)備可以接收該消息;
(2 )應(yīng)用服務(wù)器轉(zhuǎn)發(fā)該包含發(fā)送方閱讀報告請求的消息給用戶B的設(shè)備1;
(3 )應(yīng)用服務(wù)器轉(zhuǎn)發(fā)該包含發(fā)送方閱讀報告請求的消息給用戶B的設(shè)備2;
(4)用戶B通過設(shè)備1閱讀了應(yīng)用服務(wù)器轉(zhuǎn)發(fā)的上述消息,并且愿意向用 戶A回復(fù)消息閱讀報告,設(shè)備1就根據(jù)發(fā)送方的閱讀報告請求構(gòu)造閱讀報告,并 在該閱讀才艮告的Content-Disposition頭域中包含值"notification—sender",然后 向用戶A發(fā)送,該閱讀報告首先到達(dá)用戶B的應(yīng)用服務(wù)器;
(5 )應(yīng)用服務(wù)器檢查Content-Disposition頭域,發(fā)現(xiàn)頭域值包含 "notification—sender",于是向用戶A轉(zhuǎn)發(fā)該閱讀報告;用戶A收到閱讀報告后, ^r查Content隱Disposition頭i或,發(fā)王見頭i或^f直包含"notification—sender", f尤3奪該 4奪閱讀才艮告中的〈message-id〉元素的^直與已發(fā)消息的Message-ID的值進(jìn)4亍 匹配,就可以找到對應(yīng)的消息,并將對應(yīng)的消息的狀態(tài)更新為已讀。
(6 )應(yīng)用服務(wù)器將閱讀報告中的Content-Disposition頭域值 "notification—sender"改為"notification—sync"后,發(fā)送給用戶B的i殳備2, i殳備2 收到閱讀報告后,檢查Content-Disposition頭域,發(fā)現(xiàn)頭域值包含 "notification—sync",將閱讀才艮告中的〈message-id〉元素的值與已4妾收消息的 Message-ID的值進(jìn)4亍匹配,就可以找到對應(yīng)的消息,將對應(yīng)的消息的狀態(tài)更 新為已讀,實現(xiàn)消息"已讀"狀態(tài)的同步。
由上述描述可知,應(yīng)用服務(wù)器收到接收方收到同一條消息的至少兩個設(shè)備中的一個設(shè)備回復(fù)發(fā)送方的閱讀報告后,將該閱讀報告轉(zhuǎn)發(fā)給消息發(fā)送方,同
時通過將該閱讀才艮告中的Content-Disposition頭域值"notification—sender"改為 "notification—sync",并分別發(fā)送給接收方接收了同一條消息的其它設(shè)備,可以 實現(xiàn)接收方至少兩個收到同一條消息的設(shè)備的消息"已讀"狀態(tài)同步。從而使 用較少的信息流量來實現(xiàn)接收方至少兩個設(shè)備之間的消息"已讀"狀態(tài)同步, 可以避免由于使用數(shù)據(jù)同步協(xié)議進(jìn)行同步過程中的大量消息交互,減輕了整個 系統(tǒng)的負(fù)擔(dān)。
具體實施例二
該實施例中,在接收方確定不回復(fù)閱讀報告的情況下,實現(xiàn)接收方至少兩 個設(shè)備之間消息"已讀"狀態(tài)的同步。
若消息發(fā)送方發(fā)送的消息中包含了閱讀報告請求,例如發(fā)送的消息中包含 了值為"read"的Disposition-Notification頭域,接收方設(shè)備收到該消息,接收 方通過至少兩個收到該消息的設(shè)備中的一個設(shè)備閱讀該消息后,卻確定不發(fā)送 該消息的閱讀報告。為了實現(xiàn)接收方其它設(shè)備上消息狀態(tài)的同步,接收方閱讀 所述消息的設(shè)備仍然構(gòu)造閱讀報告,并在該閱讀報告的Content-Disposition頭 域中包含值"notificatior^sync",然后發(fā)送給消息發(fā)送方(實際上這個閱讀報告 不會到達(dá)消息發(fā)送方)。
該閱讀報告首先到達(dá)消息接收方(即閱讀報告的發(fā)送方)的應(yīng)用服務(wù)器, 應(yīng)用服務(wù)器檢查其Content-Disposition頭域,發(fā)現(xiàn)頭域值包含 "notification—sync",就分別向接收方接收了消息的其它設(shè)備發(fā)送該該消息的閱 讀報告,但不轉(zhuǎn)發(fā)該閱讀報告給消息發(fā)送方。
消息接收方的其它設(shè)備收到閱讀報告后,檢查Content-Disposition頭域, 發(fā)現(xiàn)頭域值包含"notification—sync",于是將閱讀才艮告中的〈message國id〉元素 的值與已接收消息的Message-ID的值進(jìn)行匹配,就可以找到對應(yīng)的消息,將對 應(yīng)的消息的狀態(tài)更新為已讀,實現(xiàn)消息"已讀"狀態(tài)的同步。
下面將結(jié)合圖6,對本實施例的應(yīng)用過程進(jìn)行詳細(xì)說明。圖6中,用戶A設(shè) 備為消息發(fā)送方設(shè)備,用戶B為消息接收方并且有2個接收設(shè)備,分別為設(shè)備1
22和設(shè)備2;圖中的應(yīng)用服務(wù)器是用戶B的應(yīng)用服務(wù)器。如圖6所示,具體的處理 可以包括
(1 )用戶A向用戶B發(fā)送消息,發(fā)送的消息中包含了閱讀報告請求,例如 消息中包含Disposition-Notification頭域并且頭域值包含"read";該消息到達(dá) 為用戶B服務(wù)的應(yīng)用服務(wù)器后,應(yīng)用月l務(wù)器檢查消息中的 Disposition-Notification頭i或,發(fā)3E見Disposition-Notification頭i或^直包含"read",
則不對該消息加以修改,同時應(yīng)用服務(wù)器對本地數(shù)據(jù)庫進(jìn)行查詢,發(fā)現(xiàn)用戶B 有兩個設(shè)備可以接收該入消息;
(2) 應(yīng)用服務(wù)器轉(zhuǎn)發(fā)該消息給用戶B的設(shè)備1;
(3) 應(yīng)用服務(wù)器轉(zhuǎn)發(fā)該消息給用戶B的設(shè)備2;
(4) 用戶B通過設(shè)備1閱讀了應(yīng)用服務(wù)器轉(zhuǎn)發(fā)的上述消息,發(fā)現(xiàn) Disposition-Notification頭域值包含"read",即用戶A請求了消息閱讀才艮告,但 用戶B確定不向用戶A回復(fù)消息閱讀報告,于是設(shè)備1構(gòu)造閱讀報告,并使該閱 讀才艮告的Content-Disposition頭域^i包含"notification—sync",然后將該閱讀才艮 告發(fā)送給用戶A(實際上該閱讀報告不會到達(dá)用戶A),該消息閱讀報告首先到 達(dá)用戶B的應(yīng)用服務(wù)器;
(5 )應(yīng)用服務(wù)器檢查Content-Disposition頭域,發(fā)現(xiàn)頭域值包含 "notification—sync",于是應(yīng)用服務(wù)器不向用戶A轉(zhuǎn)發(fā)該閱讀報告,但發(fā)送閱讀 報告給用戶B的設(shè)備2;設(shè)備2收到閱讀報告后,檢查Content-Disposition頭域, 發(fā)現(xiàn)頭域值包含"notification—sync",于是將閱讀才艮告中的〈message-id〉元素 的值與已接收消息的Message-ID的值進(jìn)行匹配,就可以找到對應(yīng)的消息,并 將對應(yīng)的消息的狀態(tài)更新為已讀,實現(xiàn)消息"已讀"狀態(tài)的同步。
由上述描述可知,在接收方確定不回復(fù)閱讀報告的情況下,接收方設(shè)備可 以在接收方閱讀所述消息后,回復(fù)Content-Disposition頭域值為 "notification一sync"的閱讀報告,應(yīng)用服務(wù)器將該消息的閱讀報告發(fā)送給接收方 的其它設(shè)備,就可以實現(xiàn)使用較少的信息流量來實現(xiàn)接收方至少兩個設(shè)備之間 的消息"已讀"狀態(tài)同步,避免了由于使用數(shù)據(jù)同步協(xié)議進(jìn)行同步過程中的大
23量消息交互,從而減輕了整個系統(tǒng)的負(fù)擔(dān)。 具體實施例三
該實施例中,在發(fā)送方發(fā)送的消息中未包含閱讀報告請求的情況下,實現(xiàn) 接收方至少兩個設(shè)備之間消息"已讀"狀態(tài)的同步。
若發(fā)送方在發(fā)送的消息中沒有請求閱讀報告,則為了實現(xiàn)接收方各設(shè)備上 消息已讀狀態(tài)的同步,應(yīng)用服務(wù)器就可以在轉(zhuǎn)發(fā)消息給接收方各設(shè)備之前,在
該消息中增加閱讀才艮告請求,例如,可以給該消息增力pDisposition-Notification 頭域值"self-report",具體的,若該消息中已經(jīng)有Disposition-Notification頭 域,則對該頭域增加頭域值"self-report "; 若該消息中不含 DisposJtion-Notification頭域,則在消息中增力pDisposition-Notification頭域,并 i殳頭域值為"self-report",同時在消息中增加Message-ID頭域,然后再將消 息發(fā)送到接收方的至少兩個設(shè)備。
當(dāng)接收方的至少兩個i殳備收到應(yīng)用服務(wù)器增加了閱讀凈艮告請求的消息時, 才艮才居Disposition-Notification頭i或^i包含的"self-report",才尤可以i口、另'J出只寸該 消息的閱讀報告請求是應(yīng)用服務(wù)器為實現(xiàn)接收方多設(shè)備之間消息"已讀"狀態(tài) 的同步而發(fā)起的,而發(fā)送方并沒有請求閱讀報告。當(dāng)接收方在其中一臺設(shè)備上 閱讀了該消息時,該接收方設(shè)備構(gòu)造閱讀報告,并在該閱讀報告中增加 Content-Disposition頭域值"notification—sync",然后將其發(fā)送纟合消息發(fā)送方(實 際上這個閱讀報告不會到達(dá)消息發(fā)送方)。
該閱讀報告首先到達(dá)消息接收方(即閱讀報告的發(fā)送方)的應(yīng)用服務(wù)器, 應(yīng)用服務(wù)器檢查其Content-Disposition頭域,發(fā)現(xiàn)頭域值包含 "notification—sync",就不將該閱讀l艮告轉(zhuǎn)發(fā)纟合消息發(fā)送方,而分別向4妻收方才妻 收了對應(yīng)的消息的其它設(shè)備發(fā)送該消息的閱讀報告。
消息接收方的其它設(shè)備收到閱讀報告后,檢查Content-Disposition頭域, 發(fā)現(xiàn)頭域值包含"notification—sync",將閱讀!艮告中的〈message畫id〉元素的值 與已接收消息的Message-ID的值進(jìn)行匹配,就可以找到對應(yīng)的消息,并將對 應(yīng)的消息的狀態(tài)更新為已讀,實現(xiàn)消息"已讀"狀態(tài)的同步。
24下面將結(jié)合圖7,對本實施例的應(yīng)用過程進(jìn)行詳細(xì)說明。圖7中,用戶A設(shè) 備為消息發(fā)送方設(shè)備,用戶B為消息接收方并且有2個接收設(shè)備,分別為設(shè)備1 和設(shè)備2;圖中的應(yīng)用服務(wù)器是用戶B的應(yīng)用服務(wù)器。如圖7所示,具體的處理 可以包括
(1 )用戶A向用戶B發(fā)送消息,消息中未包含閱讀報告請求;該消息到達(dá) 用戶B的應(yīng)用服務(wù)器后,應(yīng)用服務(wù)器檢查該消息中的Disposition-Notification頭 域,若Disposition-Notification頭域值不包含"read",則對該頭域增加頭域值 "self-report"; 若該消息中不含Disposition-Notification頭域,則在該消息中 增力口Disposition-Notification頭域,頭域i"直為"self-report", 并在該消息中增 加Message-ID頭域,同時應(yīng)用服務(wù)器對本地數(shù)據(jù)庫進(jìn)行查詢,發(fā)現(xiàn)用戶B有兩 個設(shè)備可以接收該消息;
(2) 應(yīng)用服務(wù)器轉(zhuǎn)發(fā)該消息給用戶B的設(shè)備1;
(3) 應(yīng)用服務(wù)器轉(zhuǎn)發(fā)該消息給用戶B的設(shè)備2;
(4) 用戶B通過設(shè)備1閱讀了該消息,發(fā)現(xiàn)Disposition-Notification頭域值 包含"self-report",即知道用戶A沒有請求消息閱讀報告,但用戶B需要向應(yīng)用 服務(wù)器提供消息"已讀"狀態(tài)同步的信息,于是構(gòu)造閱讀報告,并使該閱讀報 告中包含Content-Disposition頭域值"notification—sync",然后將其發(fā)送給用戶 A(實際上該閱讀報告不會到達(dá)用戶A),消息閱讀報告首先到達(dá)用戶B的應(yīng)用 服務(wù)器;
(5) 應(yīng)用服務(wù)器檢查該閱讀報告的Content-Disposition頭域,發(fā)現(xiàn)頭域值 包含"notification—sync",即知道不需向用戶A轉(zhuǎn)發(fā)該閱讀報告,于是只轉(zhuǎn)發(fā)給 用戶B的設(shè)備2;設(shè)備2收到該閱讀報告后,檢查Content-Disposition頭域,發(fā) 現(xiàn)頭域值包含"notification—sync",于是將閱讀報告中的〈message畫id〉元素的 值與已接收消息的Message-ID的值進(jìn)行匹配,就可以找到對應(yīng)的消息,并將 對應(yīng)的消息的狀態(tài)更新為已讀,實現(xiàn)消息狀態(tài)的同步。
由上述描述可知,在發(fā)送方發(fā)送的消息中未包含閱讀報告請求的情況下, 應(yīng)用服務(wù)器可以在發(fā)送該消息給接收方各設(shè)備之前,在該消息中增加閱讀報告i青求,例如,可以纟合該消息增力口Disposition-Notification頭i或4直"self-report";
接收方設(shè)備在接收方閱讀所述增加了閱讀報告請求的消息后,回復(fù) Content-Disposition頭域值為"notification—sync"的閱讀報告,應(yīng)用服務(wù)器再將 該閱讀報告轉(zhuǎn)發(fā)給接收方的其它設(shè)備,就可以實現(xiàn)使用較少的信息流量來實現(xiàn) 接收方至少兩個設(shè)備之間的消息"已讀"狀態(tài)同步,避免了由于使用數(shù)據(jù)同步 協(xié)議進(jìn)行同步過程中的大量消息交互,從而減輕了整個系統(tǒng)的負(fù)擔(dān)。
本發(fā)明實施例還提供了一種實現(xiàn)已讀狀態(tài)同步的應(yīng)用服務(wù)器,其結(jié)構(gòu)如圖 8所示,具體實現(xiàn)結(jié)構(gòu)可以包括
第一接收單元81,用于接收發(fā)送方發(fā)送的消息;包括閱讀報告和發(fā)送給接 收方的消息;
第一檢測單元82,用于檢測所述第一接收單元81接收的所述發(fā)送方發(fā)送的 消息是閱讀報告,還是其它消息;以及所述消息中是否包含發(fā)送方的閱讀報告 請求;
第一處理單元83,用于根據(jù)所述第一檢測單元82的檢測結(jié)果,在沒有包含 發(fā)送方的閱讀報告請求的消息中增加用于狀態(tài)同步的閱讀報告請求;并將包含 所述閱讀報告請求的消息傳遞給第一發(fā)送單元84;例如,增加用于狀態(tài)同步的 閱讀報告請求時,可以給消息增加Disposition-Notification頭域值"self-report", 具體的,若該消息中已經(jīng)有Disposition-Notification頭域,則對該頭域增加頭域 值"self-report"; 若該消息中不含Disposition-Notification頭域,則在消息中 增力口Disposition-Notification頭域,并i殳頭i或i!i為"self-report", 并在該消息 中增加Message-ID頭域;對已包含發(fā)送方的閱讀報告請求的消息不再增加用于 狀態(tài)同步的閱讀報告請求;
第一發(fā)送單元84,用于根據(jù)第一處理單元的處理結(jié)果,向接收方的各設(shè)備 發(fā)送包含閱讀報告請求的消息;
第二接收單元85,用于接收接收方的設(shè)備發(fā)送的閱讀報告;所述設(shè)備是接 收方的收到包含閱讀報告請求的消息的至少兩個設(shè)備中閱讀該消息的設(shè)備;所 述閱讀報告是閱讀該消息的設(shè)備根據(jù)該消息中的所述閱讀報告請求發(fā)送的閱
26讀報告;
判斷單元86,用于根據(jù)消息的頭域值判斷所述第二接收單元85接收到的消 息是閱讀報告;并根據(jù)所述閱讀報告的頭域值判斷所述閱讀報告的類型;并將 判斷結(jié)果傳遞給所述第二發(fā)送單元;所述閱讀報告的類型包括回復(fù)發(fā)送方的閱 讀報告和用于狀態(tài)同步的閱讀報告;具體的,若該閱讀報告中包含了用于表示 回復(fù)發(fā)送方的頭域值,例如Content-Disposition的頭域值包含 "notification—sender",則判斷該閱讀報告是所述接收方閱讀消息的設(shè)備根據(jù)該 消息中包含的所述發(fā)送方的閱讀報告請求回復(fù)的閱讀報告;若該閱讀報告中包 含了用于狀態(tài)同步的頭域值,例如Content-Disposition的頭域值包含 "notification—sync",則判斷該閱讀報告是所述接收方閱讀消息的設(shè)備根據(jù)該消 息中包含的所述發(fā)送方的閱讀報告請求,或是所述接收方閱讀消息的設(shè)備根據(jù) 所述消息中增加的用于狀態(tài)同步的閱讀報告請求,而構(gòu)造的用于狀態(tài)同步的閱 讀報告;
第二發(fā)送單元87,在所述第二接收單元85接收了接收方的設(shè)備根據(jù)所述消 息包含的所述閱讀報告請求發(fā)送的閱讀報告后,向所述接收方的設(shè)備中發(fā)送所
據(jù)所述閱讀報告更新所述消息的狀態(tài);例如,根據(jù)判斷單元86判斷閱讀報告的 類型是回復(fù)發(fā)送方的閱讀報告時,將閱讀報告中的Content-Disposition頭域值 "notification—sender" 文為"notification—sync",并分別發(fā)送纟合才妄)|欠方才妄》]欠了同一 條消息的其它設(shè)備;
第三發(fā)送單元88,用于當(dāng)所述判斷單元86判斷所述閱讀報告的類型是回復(fù) 發(fā)送方的閱讀報告時,向所述發(fā)送方發(fā)送該閱讀報告。
本發(fā)明實施例還提供一種實現(xiàn)狀態(tài)同步的接收方設(shè)備,其結(jié)構(gòu)如圖9所示, 具體實現(xiàn)結(jié)構(gòu)可以包括
接收單元91,用于接收應(yīng)用服務(wù)器發(fā)送的包含閱讀報告請求的消息;還用 于接收所述應(yīng)用服務(wù)器發(fā)送的所述消息的閱讀報告;
閱讀處理單元92,用于閱讀所述接收單元接收的所述消息;在閱讀所述消
27息后向所述應(yīng)用服務(wù)器發(fā)送閱讀報告;具體包括
判斷單元921,用于根據(jù)所述消息的頭域值判斷所述消息中包含的閱讀報 告請求是發(fā)送方的閱讀報告請求,還是應(yīng)用服務(wù)器為了狀態(tài)同步增加的閱讀報 告請求;例如,判斷在消息中是否包含Disposition-Notification頭域,并且頭域 值為"read",或者該消息中是否包含Disposition-Notification頭域,并且頭域 值為"self-report";還用于根據(jù)所述閱讀報告的頭域值判斷所述接收單元接 收的所述閱讀報告是否是所述消息的閱讀報告;即該閱讀報告是針對已發(fā)送消 息的還是針對已接收消息的;例如,根據(jù)消息的頭域值判斷所述消息的頭域值 是否包括頭域值"notification—sync";并將判斷結(jié)果傳遞給同步單元93;
閱讀單元922,用于閱讀所述消息;并在所述判斷單元判斷所述消息中包 含發(fā)送方的閱讀報告請求時,根據(jù)該閱讀報告請求,發(fā)送設(shè)置了用于表示回復(fù) 發(fā)送方的頭域值的閱讀報告給所述應(yīng)用服務(wù)器;例如,在該閱讀報告的 Content-Disposition頭域中設(shè)置值"notification—sender",然后發(fā)送給應(yīng)用服務(wù) 器;或者,判斷所述消息中包含發(fā)送方的閱讀報告請求,但接收方確定不回復(fù)
服務(wù)器;例如,使該閱讀報告的Content-Disposition頭域值包含 "notification—sync",然后將其發(fā)送給應(yīng)用服務(wù)器;或者,判斷所述消息中包含 所述增加的用于狀態(tài)同步的閱讀報告請求,則根據(jù)該閱讀報告請求,構(gòu)造設(shè)置
讀報告中的Content-Disposition頭域值包含"notification—sync",然后將其發(fā)送 給應(yīng)用服務(wù)器;
同步單元93,用于根據(jù)應(yīng)用服務(wù)器發(fā)送的所述消息的所述閱讀報告,更新 所述消息的狀態(tài);具體的,可以根據(jù)判斷單元921判斷消息是應(yīng)用服務(wù)器發(fā)送 的所述消息的所述閱讀報告的結(jié)果,更新所述消息的狀態(tài);所述同步單元93包 括
識別單元931 ,用于將所述閱讀報告對應(yīng)的消息的識別信息與本地已接收 消息的識別信息匹配,找到對應(yīng)的所述消息;
28更新單元932,用于將對應(yīng)的所述消息的狀態(tài)更新為已讀。
本發(fā)明實施例還提供一種實現(xiàn)狀態(tài)同步的系統(tǒng),其結(jié)構(gòu)如圖10所示,包括 應(yīng)用服務(wù)器和接收方設(shè)備;所述接收方設(shè)備,包括至少一個接收方第一設(shè)備, 以及至少 一個接收方第二設(shè)備;
應(yīng)用服務(wù)器101,用于收到發(fā)送方發(fā)送的消息后,向所述接收方設(shè)備發(fā)送 包含閱讀報告請求的消息;接收接收方第一設(shè)備102發(fā)送的閱讀所述消息的閱 讀報告后,向接收方第二設(shè)備103發(fā)送所述消息的閱讀報告;該系統(tǒng)中的應(yīng)用 服務(wù)器包括的單元與上述應(yīng)用服務(wù)器包括的單元相同,這里不再贅述;
接收方第一設(shè)備102,用于接收應(yīng)用服務(wù)器101發(fā)送的消息,并在閱讀所述 消息后向所述應(yīng)用服務(wù)器發(fā)送閱讀報告;該系統(tǒng)中的接收方第 一設(shè)備102包括 的單元與上述接收方設(shè)備包括的單元相同,這里不再贅述;
接收方第二設(shè)備103,用于接收應(yīng)用服務(wù)器發(fā)送的消息,以及接收所述應(yīng) 用服務(wù)器發(fā)送的所述消息的所述閱讀報告,并根據(jù)應(yīng)用服務(wù)器發(fā)送的所述閱讀 報告更新所述消息的狀態(tài);該系統(tǒng)中的接收方第二設(shè)備103包括的單元與上述 接收方設(shè)備包括的單元相同,這里不再贅述。
本發(fā)明實施例中的實現(xiàn)狀態(tài)同步的設(shè)備、單元可以設(shè)置于終端設(shè)備中,或 者,也可以設(shè)置在網(wǎng)絡(luò)側(cè)設(shè)備中。
綜上所述,本發(fā)明各實施例和現(xiàn)有技術(shù)中相比,本發(fā)明實施例通過對現(xiàn)有 機制擴展,就可以實現(xiàn)使用較少的信息流量來實現(xiàn)接收方各設(shè)備之間的消息 "已讀"狀態(tài)同步,避免了由于使用數(shù)據(jù)同步協(xié)議進(jìn)行同步過程中的大量消息 交互,從而減輕了整個系統(tǒng)的負(fù)擔(dān)。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局 限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù) 范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
29
權(quán)利要求
1、一種實現(xiàn)已讀狀態(tài)同步的方法,其特征在于,包括收到發(fā)送方發(fā)送的消息后,向接收方的各設(shè)備發(fā)送包含閱讀報告請求的消息;收到所述接收方的設(shè)備發(fā)送的閱讀報告,該設(shè)備是收到包含所述閱讀報告請求的消息的至少兩個設(shè)備中閱讀該消息的設(shè)備,所述閱讀報告是閱讀該消息的設(shè)備根據(jù)該消息中的所述閱讀報告請求發(fā)送的閱讀報告;向所述接收方的設(shè)備中發(fā)送所述閱讀報告的設(shè)備之外的其它設(shè)備發(fā)送用于同步的閱讀報告,通知所述其它設(shè)備根據(jù)該閱讀報告更新所述消息的狀態(tài)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述向接收方的各設(shè)備發(fā)送包含閱讀報告請求的消息,包括若收到的發(fā)送方發(fā)送的消息中沒有包含發(fā)送方的閱讀報告請求,則在該消息中增加用于狀態(tài)同步的閱讀報告請求后,發(fā)送給接收方的各設(shè)備;若包含發(fā)送方的閱讀報告請求,則將該消息直接發(fā)送給接收方的各設(shè)備。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述向所述接收方的設(shè)備中其它設(shè)備根據(jù)該閱讀報告更新所述消息的狀態(tài),包括告類型,并根據(jù)判斷結(jié)果進(jìn)行發(fā)送;具體包括若該閱讀報告中包含了用于表示回復(fù)發(fā)送方的頭域值,則判斷該閱讀報告是所述接收方閱讀消息的設(shè)備根據(jù)該消息中包含的所述發(fā)送方的閱讀報告請求回復(fù)的閱讀報告;則向所述接收方的所述其它設(shè)備發(fā)送用于同步的閱讀報告.若該閱讀報告中包含了用于狀態(tài)同步的頭域值,則判斷該閱讀報告是所述接收方閱讀消息的設(shè)備根據(jù)該消息中包含的所述發(fā)送方的閱讀報告請求,或是所述接收方閱讀消息的設(shè)備根據(jù)所述消息中增加的用于狀態(tài)同步的閱讀報告請求,而構(gòu)造的用于狀態(tài)同步的閱讀報告;則向所述接收方的所述其它設(shè)備發(fā)送用于同步的閱讀報告。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述判斷該閱讀報告是所述接收方閱讀消息的設(shè)備根據(jù)該消息中包含的所述發(fā)送方的閱讀報告請求回復(fù)的閱讀報告時,還向所述發(fā)送方發(fā)送該閱讀報告。
5、 根據(jù)權(quán)利要求1或2或3所述的方法,其特征在于,所述方法還包括所述其它設(shè)備收到所述用于同步的閱讀報告后,將該閱讀報告對應(yīng)的消息的識別信息與本地已接收消息的識別信息匹配,找到對應(yīng)的消息,將該對應(yīng)的消息的狀態(tài)更新為已讀。
6、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括收到消息后根據(jù)所述頭域值判斷收到的所述消息是閱讀報告。
7、 一種實現(xiàn)已讀狀態(tài)同步的應(yīng)用服務(wù)器,其特征在于,包括第一接收單元,用于接收發(fā)送方發(fā)送的消息;第一發(fā)送單元,用于向接收方的各設(shè)備發(fā)送包含閱讀報告請求的消息;第二接收單元,用于接收接收方的設(shè)備發(fā)送的閱讀報告,所述設(shè)備是接收方的收到包含閱讀報告請求的消息的至少兩個設(shè)備中閱讀該消息的設(shè)備;所述閱讀報告是閱讀該消息的設(shè)備根據(jù)該消息中的所述閱讀報告請求發(fā)送的閱讀報告;第二發(fā)送單元,在所述第二接收單元接收了接收方的設(shè)備根據(jù)所述消息包含的所述閱讀報告請求發(fā)送的閱讀報告后,向所述接收方的設(shè)備中發(fā)送所述閱讀報告的設(shè)備之外的其它設(shè)備發(fā)送用于同步的閱讀報告,通知其它設(shè)備根據(jù)所述用于同步的閱讀報告更新所述消息的狀態(tài)。
8、 根據(jù)權(quán)利要求7所述的應(yīng)用服務(wù)器,其特征在于,所述應(yīng)用服務(wù)器,還包括第一檢測單元,用于檢測所述第一接收單元接收的所述發(fā)送方發(fā)送的消息中,是否包含發(fā)送方的閱讀報告請求;第一處理單元,用于根據(jù)所述第一檢測單元的檢測結(jié)果,在沒有包含發(fā)送方的閱讀報告請求的消息中增加用于狀態(tài)同步的閱讀報告請求;并將包含所述閱讀報告請求的消息傳遞給所述第 一發(fā)送單元。
9、 根據(jù)權(quán)利要求7所述的應(yīng)用服務(wù)器,其特征在于,所述應(yīng)用服務(wù)器,還包括判斷單元,用于根據(jù)所述第二接收單元接收到的消息的頭域值判斷該消息是閱讀報告;并根據(jù)所述閱讀報告的頭域值判斷所述閱讀報告的類型;并將判斷結(jié)果傳遞給所述第二發(fā)送單元;所述閱讀報告的類型包括回復(fù)發(fā)送方的閱讀報告和用于狀態(tài)同步的閱讀報告;第三發(fā)送單元,用于當(dāng)所述判斷單元判斷所述閱讀報告的類型是回復(fù)發(fā)送方的閱讀報告時,向所述發(fā)送方發(fā)送該閱讀報告。
10、 一種消息處理方法,應(yīng)用于包含多個接收設(shè)備的接收方系統(tǒng)中,其特征在于,包括所述多個接收設(shè)備接收應(yīng)用服務(wù)器發(fā)送的包含閱讀報告請求的消息;所述多個接收設(shè)備中的至少一個接收設(shè)備閱讀所述消息后向應(yīng)用服務(wù)器發(fā)送閱讀報告;所述多個接收設(shè)備中的發(fā)送所述閱讀報告的設(shè)備之外的其它設(shè)備接收所述應(yīng)用服務(wù)器發(fā)送的所述消息的閱讀報告,并根據(jù)所述閱讀報告更新已接收的所述消息的狀態(tài)。
11、 根據(jù)權(quán)利要求10所迷的方法,其特征在于,所述閱讀所述消息后向應(yīng)用服務(wù)器發(fā)送閱讀報告,具體包括若所述消息中包含所述消息的發(fā)送方的閱讀報告請求,閱讀所述消息后向應(yīng)用服務(wù)器發(fā)送設(shè)置了用于表示回復(fù)發(fā)送方的頭域值的閱讀報告; 或者,若所述消息中包含所述消息的發(fā)送方的閱讀報告請求,但接收方閱讀所述消息后確定不回復(fù)閱讀報告時,構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱讀報告并向應(yīng)用服務(wù)器發(fā)送;或者,若所述消息中包含應(yīng)用服務(wù)器為了狀態(tài)同步增加的閱讀報告請求,則閱讀所述消息后,構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱讀報告并向應(yīng)用服務(wù)器發(fā)送。
12、 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述根據(jù)所述閱讀報告更新已接收的所述消息的狀態(tài),包括將所述閱讀報告對應(yīng)的消息的識別信息與本地已接收消息的識別信息匹配,找到對應(yīng)的所述消息,將所述消息的狀態(tài)更新為已讀。
13、 一種實現(xiàn)已讀狀態(tài)同步的接收方設(shè)備,其特征在于,所述接收方設(shè)備包括接收單元,用于接收應(yīng)用服務(wù)器發(fā)送的包含閱讀報告請求的消息;閱讀處理單元,用于閱讀所述接收單元接收的所述消息;在閱讀所述消息后向所述應(yīng)用服務(wù)器發(fā)送閱讀報告;所述接收單元,還用于接收所述應(yīng)用服務(wù)器發(fā)送的所述消息的閱讀報告;同步單元,用于根據(jù)應(yīng)用服務(wù)器發(fā)送的所述消息的所述閱讀報告更新所述消息的狀態(tài)。
14、 根據(jù)權(quán)利要求13所述的接收方設(shè)備,其特征在于,所述閱讀處理單元,包括判斷單元,用于根據(jù)所述消息的頭域值判斷所述消息中包含的閱讀報告請求是發(fā)送方的閱讀報告請求,還是應(yīng)用服務(wù)器為了狀態(tài)同步增加的閱讀報告請求;閱讀單元,用于閱讀所述消息;并在所述判斷單元判斷所述消息中包含發(fā)送方的閱讀報告請求時,根據(jù)該閱讀報告請求,發(fā)送設(shè)置了用于表示回復(fù)發(fā)送方的頭域值的閱讀報告給所述應(yīng)用服務(wù)器;或者,判斷所述消息中包含發(fā)送方的閱讀報告請求,但接收方確定不回復(fù)閱讀報告時,構(gòu)造設(shè)置了用于狀態(tài)同步的頭域值的閱讀報告并發(fā)送給所述應(yīng)用服務(wù)器;或者,判斷所述消息中包含所述增加的用于狀態(tài)同步的閱讀報告請求,則根據(jù)該閱讀報告請求,構(gòu)造設(shè)置了
15、 根據(jù)權(quán)利要求13所述的接收方設(shè)備,其特征在于,所述同步單元包括識別單元,用于將所述閱讀報告對應(yīng)的消息的識別信息與本地已接收消息的識別信息匹配,找到對應(yīng)的所述消息;更新單元,用于將對應(yīng)的所迷消息的狀態(tài)更新為已讀。
16、 一種實現(xiàn)已讀狀態(tài)同步的系統(tǒng),其特征在于,包括應(yīng)用服務(wù)器和接收方設(shè)備;所述接收方設(shè)備,包括至少一個接收方第一設(shè)備,以及至少一個接收方第二設(shè)備;應(yīng)用服務(wù)器,用于收到發(fā)送方發(fā)送的消息后,向所述接收方設(shè)備發(fā)送包含閱讀報告請求的消息;接收方第一設(shè)備,用于接收應(yīng)用服務(wù)器發(fā)送的消息,并在閱讀所述消息后向所述應(yīng)用服務(wù)器發(fā)送閱讀報告;其中,所述應(yīng)用服務(wù)器,接收所述接收方第一設(shè)備發(fā)送的閱讀所述消息的閱讀報告后,向所述接收方第二設(shè)備發(fā)送所述消息的閱讀報告;接收方第二設(shè)備,用于接收應(yīng)用服務(wù)器發(fā)送的消息,以及接收所述應(yīng)用服務(wù)器發(fā)送的所述消息的所述閱讀報告,并根據(jù)應(yīng)用服務(wù)器發(fā)送的所述閱讀報告更新已接收的所述消息的狀態(tài)。
全文摘要
一種實現(xiàn)已讀狀態(tài)同步的方法及設(shè)備,方法具體包括收到發(fā)送方發(fā)送的消息后,向接收方的各設(shè)備發(fā)送包含閱讀報告請求的消息;收到所述接收方的設(shè)備發(fā)送的閱讀報告,該設(shè)備是收到包含所述閱讀報告請求的消息的至少兩個設(shè)備中閱讀該消息的設(shè)備,所述閱讀報告是閱讀該消息的設(shè)備根據(jù)該消息中的所述閱讀報告請求發(fā)送的閱讀報告;向所述接收方的設(shè)備中發(fā)送所述閱讀報告的設(shè)備之外的其它設(shè)備發(fā)送用于同步的閱讀報告,通知所述其它設(shè)備根據(jù)該閱讀報告更新所述消息的狀態(tài)。本發(fā)明實施例可以使用較少的信息流量來實現(xiàn)接收方至少兩個設(shè)備之間的消息“已讀”狀態(tài)同步,可以避免由于使用數(shù)據(jù)同步協(xié)議進(jìn)行同步過程中的大量消息交互,從而減輕整個系統(tǒng)的負(fù)擔(dān)。
文檔編號H04L29/06GK101686141SQ20081022327
公開日2010年3月31日 申請日期2008年9月28日 優(yōu)先權(quán)日2008年9月28日
發(fā)明者盧美蓮, 孫成振, 王立才, 韓傳葉 申請人:華為技術(shù)有限公司;北京郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阳高县| 诸城市| 湘阴县| 扶余县| 南安市| 五家渠市| 常熟市| 射洪县| 青岛市| 启东市| 娄烦县| 西城区| 咸宁市| 成都市| 封开县| 崇仁县| 枣阳市| 德庆县| 成都市| 清涧县| 怀集县| 长治县| 仁怀市| 克山县| 乃东县| 宁晋县| 仪陇县| 东港市| 三台县| 浦江县| 抚州市| 彭泽县| 融水| 确山县| 拜泉县| 黄龙县| 牡丹江市| 新巴尔虎右旗| 昌都县| 潢川县| 银川市|