即時通訊消息通知的方法、瀏覽器及伺服器的製造方法
2023-05-19 03:00:31 2
即時通訊消息通知的方法、瀏覽器及伺服器的製造方法
【專利摘要】本申請涉及一種即時通訊消息的通知方法、瀏覽器和伺服器,所述方法包括接收伺服器向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記;將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的小型文件記錄Cookie中;根據所述Cookie中的所述標記,在所述上級域名下嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知。因此,本申請通過每個上級域名對應一個Cookie,當即時通訊消息到達時,在Cookie中寫入到達標記,根據這個標記使得同一上級域名下的其他頁面的webIM客戶端進行即時通訊消息到達的通知,從而簡化了用戶操作,並且能夠及時的通知其他頁面的webIM客戶端。
【專利說明】即時通訊消息通知的方法、瀏覽器及伺服器
【技術領域】
[0001]本申請涉及網際網路通信領域,尤其涉及一種即時通訊消息通知的方法、瀏覽器及伺服器。
【背景技術】
[0002]在嵌入式網頁即時通訊消息webM系統中,當用戶通過瀏覽器打開頁面時,對應一個頁面內就會有一個webIM客戶端嵌入。如果同一伺服器提供了不同的域名,那麼在打開了不同的域名下多個頁面時,不同域名下的頁面也會有多個webIM客戶端嵌入,這些不同頁面下的webIM客戶端在進行消息提醒時需要通過通信進行同步。
[0003]現有的一種方案主要為flash技術,不同域名不同頁面通過flash交互達到消息提醒的一致性。但是,這種現有方案需要使用用戶需要安裝flash,但是當用戶在使用webIM過程中,提醒需要安裝flash時,會給用戶帶來複雜繁瑣的操作。並且在現實場景中,不少用戶沒有安裝flash,或者不允許在電腦上安裝flash,或安裝的flash版本過低不支持信息交互等等,因此打開的頁面沒有flash或者無法通過flash交互信息,這導致了在不同域名不同頁面下webIM無法通信,因而當一個頁面的webIM已經進行消息讀取後,由於沒有flash或者flash版本過低不能及時地交互信息而不能及時地通知其他頁面。
【發明內容】
[0004]本申請提供了一種即時通訊消息通知的方法、瀏覽器及伺服器,以解決操作複雜且不能及時地完成即時通訊消息的通知。
[0005]為了實現上述,本申請提供了一種即時通訊消息的通知方法。該方法包括:
[0006]接收伺服器向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記;
[0007]將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的小型文件記錄Cookie中;
[0008]根據所述Cookie中的所述標記,在所述上級域名下嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知。
[0009]其中,在上述實施方案之後,還包括根據接收到的所述上級域名下的一個網頁即時通訊客戶端的所述即時通訊消息的讀取消息,修改所述上級域名對應的所述Cookie中的所述標記;根據所述修改後的所述Cookie中的所述標記,在所述上級域名下的剩餘的嵌入有網頁即時通訊客戶端的頁面上停止所述即時通訊消息到達的通知。
[0010]在上述實施方案之後,還包括接收所述伺服器根據所述讀取消息返回的響應消息,所述響應消息中包括修改剩餘的所述與所述伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中的所述標記的指示信息;根據所述響應消息中的指示信息,修改所述剩餘的上級域名對應的Cookie中的所述標記,以用於根據所述修改後的所述剩餘的上級域名對應的Cookie中的所述標記,在所述剩餘的上級域名的嵌入有網頁即時通訊客戶端的頁面上停止所述即時通訊消息到達的通知。
[0011]本申請還提供了一種即時通訊消息的通知方法,所述方法包括:
[0012]伺服器接收到即時通訊消息待發送時,獲取接收所述即時通訊消息的嵌入有網頁即時通訊客戶端的頁面;
[0013]向所述嵌入有網頁即時通訊客戶端的頁面發送通知信息,所述通知信息中包括即時通訊消息到達的標記,以使所述瀏覽器將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中,並根據所述Cookie中的所述標記,在所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名下的多個即時通訊客戶端上進行所述即時通訊消息到達的通知。
[0014]本申請還提供了一種瀏覽器,該瀏覽器包括:
[0015]接收單元,用於接收伺服器向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記;
[0016]寫入單元,用於將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的小型文件記錄Cookie中;
[0017]通知單元,用於根據所述Cookie中的所述標記,在嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知。
[0018]本申請還提供了一種伺服器,該伺服器包括:
[0019]接收單元,用於接收到即時通訊消息待發送時,獲取接收所述即時通訊消息的嵌入有網頁即時通訊客戶端的頁面;
[0020]發送單元,用於向所述嵌入有網頁即時通訊客戶端的頁面發送通知信息,所述通知信息中包括即時通訊消息到達的標記,以使所述瀏覽器將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中,並根據所述Cookie中的所述標記,在所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名下的多個網頁即時通訊客戶端上進行所述即時通訊消息到達的通知。
[0021]因此,本申請通過每個上級域名對應一個Cookie,當即時通訊消息到達時,在Cookie中寫入到達標記,根據這個標記使得同一上級域名下的其他頁面的webM客戶端進行即時通訊消息到達的通知,從而簡化了用戶操作,並且能夠及時的通知其他頁面的webIM
客戶端。
【專利附圖】
【附圖說明】
[0022]為了更清楚地說明本申請實施例中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0023]圖1為本申請提供的即時通訊消息通知的方法的應用場景架構圖。
[0024]圖2為本申請實施例即時通訊消息通知的方法的流程圖。
[0025]圖3為本申請實施例即時通訊消息通知的方法的流程圖。
[0026]圖4為本申請實施例即時通訊消息通知的方法的流程圖。【具體實施方式】
[0027]本申請通過在瀏覽器上保存的對應域名的Cookie中,當接收到即時通訊消息到達的通知消息時,在與伺服器建立連接的嵌入有網頁即時通訊客戶端的頁面上,通知即時通訊消息到達,並將通知消息攜帶的標記寫入Cookie中,該域名下的其他頁面上嵌入有的網頁即時通訊客戶端根據該標記,進行即時通訊消息到達的通知,當即時通訊消息讀取後,Cookie中的標記被修改,此時,其他網頁即時通訊客戶端根據修改後的標記,停止即時通訊消息到達的通知。同時,伺服器根據讀取消息通知修改其他域名的Cookie,以使其他域名的網頁即時通訊客戶端也停止即時通訊消息到達的通知,從而簡化了用戶操作,並且能夠及時的通知其他頁面的webIM客戶端。
[0028]首先描述本申請提供的即時通訊消息通知的方法的應用場景。圖1為本申請提供的即時通訊消息通知的方法應用場景架構圖。在該應用中,有伺服器I和終端側的瀏覽器
2。該伺服器是提供webIM客戶端頁面的伺服器,而該提供webIM客戶端頁面的伺服器提供的域名可以是主伺服器提供的上級域名的二級域名。例如,主伺服器為電子商務伺服器,提供的上級域名(頂級域名)為taoba0.com和tmall.com,而webIM客戶端所在的域名為xl.taoba0.com、和xl.tmall.com,此為二級域名,而嵌入webIM客戶端的頁面所在的域名也同樣為二級域名,例如trade, taoba0.com。應當理解webIM客戶端和嵌入webIM客戶端的頁面所在的上級域名為同一域名。此處僅僅是為了舉例說明,webIM客戶端具體所屬的上級域名並不限於以上所述的兩個域名。主伺服器提供小型文件記錄(Cookie),每個Cookie對應存儲上級域名下的各種數據。Cookie電網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據,通常經過加密。具體地,Cookie是由伺服器端生成,發送給User-Agent ( 一般是瀏覽器),瀏覽器會將Cookie的key/value保存到某個目錄下的文本文件內,下次請求同一網站時就發送該Cookie給伺服器。這樣伺服器可以知道該用戶是否合法用戶以及是否需要重新登錄等。Cookie是瀏覽器進行維護的用於用戶本地終端上存儲數據的檔案。因此,瀏覽器了解上級域名和Cookie之間的對應關係,這樣當瀏覽器接收到即時通信消息時,可以根據域名信息找到相對應的Cookie。
[0029]WebM伺服器和主伺服器可以是獨立的兩臺伺服器,或者兩者可以是一臺伺服器,WebIM伺服器是主伺服器上的一個伺服器模塊。
[0030]應當注意的是,本申請所指的webIM是指嵌入式網頁即時通訊消息webIM客戶端。當用戶通過瀏覽器打開多個普通頁面,對應頁面內就會有webM客戶端嵌入。例如,打開淘寶網上「已買到的寶貝」的頁面時,頁面會嵌入阿里旺旺之類的webM客戶端。在普通頁面上顯示嵌入的webM客戶端的方式可以是,例如,普通頁面上嵌入阿里旺旺客戶端,在普通頁面上看見類似小水滴形狀的用來表示阿里旺旺客戶端的標誌。在本申請中,嵌入有webM客戶端的普通頁面可以被稱為父頁面。
[0031]用戶可使用該webIM客戶端進行聊天,此時打開的聊天頁面就是即時通訊窗口頁面。在此,即時通訊窗口頁面是嵌入在用戶打開的頁面內。該即時通訊窗口頁面可以打開顯示在用戶打開的普通頁面內,該即時通訊窗口頁面也可以最小化在普通頁面上。即時通訊窗口頁面是指,不借用在本地安裝的即時通訊工具,而是利用瀏覽器嵌入webIM客戶端後在普通頁面上嵌入打開的聊天窗口頁面。伺服器記錄該用戶的登錄信息,例如,登錄webIM客戶端情況,雖然用戶只登錄了一個webIM客戶端,但是,在打開同一上級域名的其他網頁webIM客戶端通過Cookie都可獲取到的該用戶在其他網頁webM客戶端頁面上是登錄的。此外,當用戶登錄了一個上級域名下一個webM客戶端時,此時瀏覽器發現該用戶還打開了伺服器提供的其他上級域名下的頁面,則也向伺服器發起在其他域名的其他webIM客戶端頁面上用戶登錄。這樣任何一個webM客戶端頁面上都可以顯示即時通訊消息。除了用戶登錄webIM客戶端頁面之外,用戶登錄域名下頁面上的個人帳戶時,伺服器也具有同時使用戶登錄網頁頂客戶端頁面的功能。例如,阿里巴巴電子商務網站伺服器,提供taoba0.com和tmall.com這兩個上級域名,當用戶登錄這兩個上級域名下的任一二級域名下任一頁面個人帳戶或任一網頁頂客戶端頁面時,其他打開的所有網頁頂客戶端頁面(包括同一域名或不同域名下的頁面)上都顯示已登錄了 webIM客戶端。
[0032]多個webIM 客戶端例如 xl.taoba0.com、χ2.taoba0.com、x3.taoba0.com,以及xl.tmall.com、x2.tmall.com、x3.tmall.com分別嵌入在多個普通頁面上,這些同屬一個上級域名下的多個webM客戶端所在的頁面中有一個嵌入了其的父頁面與伺服器建立連接,該webIM客戶端所屬的上級域名下的其他webIM客戶端的父頁面共享這個連接,通過Cookie交互消息通知。
[0033]其中,嵌入有webM客戶端的頁面在同一個上級域名下一定會有一個頁面與伺服器建立長連接。因此,同屬一個上級域名下的多個嵌入有webM客戶端的父頁面中有一個父頁面與伺服器建立連接是指建立長連接。所謂長連接是伺服器和客戶端之間的長輪詢,也就是瀏覽器向伺服器發起一個http請求後,伺服器不返迴響應,直到有瀏覽器頁面消息(例如聊天消息或者用戶狀態變化等一系列與用戶有關的消息)到來,或者設定一個時間(譬如30s,為了模擬心跳)後,才返迴響應,但是在伺服器返迴響應後,連接將斷開,瀏覽器收到響應後,立刻再發起一個同樣的請求,持續重複之前的過程。
[0034]當瀏覽器發送http請求至伺服器打開某個域名下某些嵌入有webM客戶端的父頁面時,剛開始打開的第一個父頁面作為建立長連接的頁面,如果後續這個頁面被關閉,則其他多個頁面通過Cookie來競爭,Cookie中保存這個頁面的持續時間等數據,多個頁面之間競爭的原則是以頁面打開的時間長度為優先,打開時間長的,認為其繼續存在的時間也會長,瀏覽器選擇其為建立長連接的頁面。因此,當用戶打開了多個域名下多個父頁面,則有多個不同域名下的建立長連接的父頁面。一個域名下只能建立一個連接,連接個數與域名個數相等。
[0035]其中,本文中涉及的瀏覽器可以是多窗口瀏覽器,例如IE瀏覽器,或者單窗口多標籤瀏覽器例如Opera瀏覽器。
[0036]當伺服器發現有即時通訊消息到達需要推送給webIM客戶端時,伺服器獲取與之建立長連接的嵌入有webM客戶端的父頁面,該webM客戶端的父頁面可能是一個上級域名下的建立長連接的頁面,也可能是多個上級域名下建立長連接的多個頁面。
[0037]伺服器通過瀏覽器向與之建立長連接的嵌入有webM客戶端的父頁面例如trade, taoba0.com發送通知消息,該通知消息中攜帶有即時通訊消息待到達的標記,瀏覽器解析該通知消息,在當前建立長連接的嵌入有webM客戶端父頁面上進行即時通訊消息到達的通知,並向例如taoba0.com上級域名對應的Cookie中寫入標記。除了該父頁面之夕卜,用戶在瀏覽器中還打開了 taoba0.com上級域名下的其他父頁面,而此時,由於Cookie中寫入了標記,因此,瀏覽器根據該標記,在這個域名下的其他嵌入有網頁即時通訊客戶端的頁面上也進行即時通訊消息的通知。
[0038]如果此時建立長連接的webIM客戶端的父頁面除了 taoba0.com上級域名下頁面之外,還有tmal 1.com上級域名下的webIM客戶端的父頁面,則伺服器同時向這兩個建立長連接webIM客戶端的父頁面推送通知消息,瀏覽器解析該通知消息,在tmall.com上級域名長連接的父頁面上進行即時通訊消息到達的通知,並向例如tmall.com上級域名對應的Cookie中寫入標記。由於Cookie中寫入了標記,瀏覽器根據該標記,在這個上級域名下的其他父頁面上也進行即時通訊消息的通知。
[0039]所謂在父頁面上進行即時通訊消息到達的通知是指,在嵌入了網頁即時通訊客戶端的頁面上,該網頁即時通訊客戶端進行閃動等動作的提醒。
[0040]當用戶通過輸入設備點擊某個域名下某個父頁面上的網頁即時通訊客戶端,例如xl.taoba0.com,來讀取即時通訊消息時,瀏覽器修改這個taoba0.com上級域名對應的Cookie中的標記,瀏覽器根據該Cookie中的標記將在這個域名下的其他父頁面上的即時通訊消息通知停止。同時,瀏覽器還將讀取消息發送伺服器,伺服器根據該讀取消息,向瀏覽器推送消息已讀取,瀏覽器修改其他上級域名例如tmall.com對應的Cookie中的標記,此時根據該Cookie中的標記,在該上級域名例如tmall.com下的父頁面上停止即時通訊消息到達的通知。
[0041]所述父頁面上停止即時通訊消息到達的通知是指,在嵌入了網頁即時通訊客戶端的頁面上,該網頁即時通訊客戶端不再進行閃動等動作的提醒。
[0042]為了更加便於理解,在描述本申請實施例之前,描述下用戶所作的操作。舉例來說,用戶打開了 wm.taoba0.com域名下的一個頁面,例如trade, taoba0.com頁面(「已買到的寶貝」的頁面),在該trade, taoba0.com頁面上嵌入有webIM客戶端,例如阿里旺旺,此時用戶點擊已買到的寶貝中顯示的賣家的阿里旺旺進行聊天,會出現下面的情形:在這個打開的已買到寶貝的頁面上嵌入一個打開的聊天窗口即所述的即時通訊窗口頁面,通過這個即時通訊窗口頁面用戶和賣家A進行聊天;除此之外,同樣地,用戶還打開了多個item,taoba0.com頁面(商品購買頁面),在這些購買頁面也嵌入有webIM客戶端,例如阿里旺旺,同樣的用戶可以和這些頁面上賣家B和C分別進行聊天。
[0043]在此,應當理解的是,如果這些聊天窗口都是打開的情況下,即每一個普通頁面上嵌入的webIM客戶端處於聊天狀態都有當前明確的目標對象在聊天時,有消息到時,該消息內容直接顯示在聊天窗口的對話框中,這個過程同現有的本地安裝的即時通訊客戶端聊天相同。本申請所描述的實施例適用於多個父頁面上webM有一些webM處於聊天狀態(即父頁面上嵌套打開了聊天窗口)或者全部webIM處於非聊天狀態,如果有某個賣家的消息到達時,可以使用本申請所提供的方法來實現即時通訊消息到達的通知。
[0044]下面藉助附圖結合上述應用架構來詳細描述本申請即時通訊消息通知的方法。圖2為本申請實施例即時通訊消息通知的方法的流程圖。在本實施例中執行主體為瀏覽器,首先描述用戶在瀏覽器側打開了一個上級域名下的多個嵌入有網頁即時通訊客戶端的父頁面這種情況。如圖2所示,本申請實施例即時通訊消息通知的方法可以包括以下步驟:
[0045]步驟21,接收伺服器向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記;
[0046]具體地,伺服器當接收到有向該用戶推送的即時通訊消息,例如賣家B發送的消息時,向域名例如WWW.taoba0.com下與伺服器建立連接的嵌入有webIM客戶端的父頁面例如trade, taoba0.com上的客戶端例如xl.taoba0.com推送通知信息。
[0047]其中,伺服器向用戶發送即時通訊消息的優選方式,是選擇登錄用戶帳號下的與伺服器建立長連接的嵌入有webIM客戶端的父頁面來向該頁面發送即時通訊消息。正如上面所描述的,嵌入有webM的客戶端的父頁面中總有一個父頁面是與伺服器建立長連接的,伺服器記錄有這些信息。通知消息是JSON(JavaScript Object Notation, JSON是一種輕量級的數據交換格式)格式的一段字符串。
[0048]步驟22,將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中;
[0049]首先,先介紹下用戶使用瀏覽器打開的嵌入有網頁即時通訊客戶端的頁面,該父頁面是通過JS (JavaScript,簡寫JS,是一種計算機腳本語言)代碼編寫的,在頁面的代碼中有表示當接收到通知消息後進行有即時通訊消息到達的提醒的一段代碼,這段代碼使得嵌入其中的webIM客戶端進行閃動或者標亮,或者消息讀取後關閉閃動或者標亮。
[0050]下面分兩種情況來說明本步驟。
[0051]第一種情況是,如果當前父頁面上的webM客戶端雖然處於聊天狀態即打開了聊天窗口,但是不是和賣家B的對話框,則父頁面接收到通知消息後,解析頁面發現有目標對象在聊天,在該父頁面上不進行即時通訊消息到達的通知,而會將所述即時通訊消息到達的標記寫入上級域名對應的Cookie中,以使得在其他剩餘的該上級域名下的父頁面上進行即時通訊消息到的通知。在這種情況下,在父頁面上也可以進行即時通訊消息到達的通知,即webM客戶端閃動,以及將標記寫入上級域名對應的Cookie。
[0052]第二種情況是,如果當前父頁面上的webM客戶端不處於聊天狀態即沒打開聊天窗口,貝1J會在本步驟中,瀏覽器在將標記寫入taoba0.com上級域名對應的Cookie中之前,瀏覽器首先解析該通知消息即一段字符串調用頁面上的進行有即時通訊消息到達的提醒的一段代碼,在該嵌入有webIM客戶端的父頁面上,通知即時通訊消息到達,例如,通過將普通頁面上嵌入的webM客戶端標亮或者閃動,例如,普通頁面上嵌入阿里旺旺客戶端的,可以在普通頁面上看見類似小水滴形狀的用來表示阿里旺旺客戶端的標誌,消息到達時這個標記閃動或者標亮。然後將標記寫入例如taoba0.com上級域名對應的Cookie中。
[0053]這個標記是用於提示有即時通訊消息到達,請求調用進行有即時通訊消息到達的提醒的一段代碼將各個頁面上嵌入的webIM標亮或閃動,來通知即時通訊消息到達,或者用於提示即時通訊消息已經讀取,請求調用這段代碼關閉頁面標亮或閃動,來進行通知即時通訊消息已被讀取。
[0054]步驟23,根據所述Cookie中的所述標記,在所述上級域名下嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知;
[0055]由於同一上級域名下多個嵌入有網頁即時通訊客戶端的頁面共享一個長連接,通過Cookie交互通知消息,因此,瀏覽器根據Cookie中的標記,調用頁面上的進行有即時通訊消息到達的提醒的一段代碼,在這個taoba0.com上級域名下的其他嵌入有webIM客戶端頁面上通知即時通訊消息到達,具體為瀏覽器解析頁面,瀏覽器打開的頁面輪詢Cookie,並判斷自己是否為嵌入有網頁即時通訊客戶端的父頁面,需要執行進行消息到達通知的代碼在其上進行即時通訊消息的到達通知,此為現有技術不再贅述。[0056]從步驟11至13完成了一個賣家的一條即時通訊信息到達的通知,當有多個賣家多條即時通訊消息到達時,重複這些步驟,但在具體的webM客戶端進行閃動提醒時,不論是多個賣家還是一個賣家的即時通訊消息通知只會看到webIM客戶端在不停閃爍,而看不到有幾個賣家的消息,但是當點擊webIM客戶端時,如果有多個賣家發送的消息就會看到賣家列表。
[0057]上述過程描述了利用伺服器向瀏覽器發送的標記,記錄在Cookie中後實現即時通訊消息在同一上級域名下不同父頁面上的通知。下述過程將描述在同一上級域名下一個父頁面的webIM客戶端讀取即時通訊消息後,該上級域名下的其他父頁面停止即時通訊消息的通知的情況。
[0058]繼續參見圖2,本申請實施例即時通訊消息通知的方法還可以包括以下步驟:
[0059]步驟24,根據接收到的所述上級域名的一個嵌入有網頁即時通訊客戶端的頁面的所述即時通訊消息的讀取消息,修改所述上級域名對應的所述Cookie中的所述標記;
[0060]在本步驟中,瀏覽器多個父頁面上有多個即時通訊消息到達的通知,用戶通過滑鼠、觸屏之類的輸入設備點擊webIM客戶端,如果只有一個賣家的消息來時,直接點擊這個webIM客戶端將跳出即時通訊窗口頁面,如果點擊webM客戶端有多個聊天對象賣家的列表,用戶依次選擇賣家,點擊打開即時通訊窗口頁面讀取這個即時通訊消息,此時用戶的滑鼠的點擊動作,觸發頁面向瀏覽器發起讀取消息,瀏覽器接收到這個webIM客戶端的讀取消息後,將修改這個父頁面所屬的上級域名對應的Cookie中的標記。應當注意的是,用戶的點擊動作,觸發頁面向瀏覽器發起讀取消息的同時,也在向webIM伺服器發送獲取消息內容的請求,webIM伺服器接收到該獲取消息內容的請求後,將消息內容推送到用戶點擊打開的webIM的即時通訊窗口頁面上,消息內容的獲取是現有技術不再贅述。而此時發送消息內容的賣家可能是A或B賣家。因此,通過上述描述的過程,在打開的多個父頁面上,利用嵌入的webIM客戶端可以接收任一個賣家發送的消息內容。
[0061]因此,讀取即時通訊消息的webM客戶端所在的父頁面可以是建立長連接的頁面例如第一次打開的頁面或者打開時間最久的父頁面,或者可以是同一域名下的任一嵌入webIM客戶端的頁面。
[0062]步驟25,根據所述修改後的所述Cookie中的所述標記,在所述上級域名的剩餘的父頁面上停止所述即時通訊消息到達的通知。
[0063]在本步驟中,修改了 Cookie中的標記後,由於同一上級域名下多個webIM客戶端的父頁面通過Cookie交互消息,瀏覽器此時根據Cookie中的修改的標記(例如將原來賦值為I的標記修改為0),請求調用代碼關閉頁面標亮或閃動來通知即時通訊消息已被讀取,即將頁面上的webM客戶端的通知全部停止,例如不再標亮或閃動。
[0064]鑑於上述過程,可以看出本申請通過伺服器下發的通知消息中攜帶的即時通訊消息到達的標記,記錄到Cookie中,使用Cookie交互信息避免了額外安裝軟體,需要人工的介入,減除了這種額外安裝的複雜繁瑣過程,實現及時地快速地同一域名下多頁面上的即時通訊消息的通知,並且同時利用標記的修改來達到停止即時通訊消息的通知。
[0065]下面將描述用戶在瀏覽器上打開了多個上級域名下多個即時通訊窗口頁面的情況。圖3為本申請實施例即時通訊消息通知的方法的流程圖。如圖3所示,本申請實施例即時通訊消息通知的方法可以包括以下步驟:[0066]步驟31,接收伺服器向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記;
[0067]與上述實施例不同的是,在步驟31之前用戶打開了多個上級域名下多個嵌入有網頁即時通訊客戶端的頁面,例如taoba.com上級域名下的父頁面和tmall.com上級域名下的父頁面,同樣瀏覽器維護兩個Cookie,優選地伺服器向建立長連接的頁面上的webM客戶端推送通知信息。
[0068]步驟32,將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中;
[0069]本步驟32同步驟22相同,也有兩種情況,當前接收通知消息的父頁面處於聊天狀態和不處於聊天狀態。在本步驟中,與上述實施例不同的是,在當前父頁面不處於聊天狀態時,瀏覽器分別在每個上級域名下建立長連接的嵌入有webM客戶端的頁面上通知即時通訊消息到達例如通過將客戶端標亮或者閃動,然後將標記寫入兩個Cookie中。
[0070]步驟33,根據所述Cookie中的所述標記,在所述頁面所屬的上級域名下的其他多個嵌入有網頁即時通訊客戶端的頁面上進行所述即時通訊消息到達的通知;
[0071]在本步驟中,與上述實施例不同的是,瀏覽器根據兩個cookie中的標記,在這兩個上級域名下的其他嵌入有webM客戶端的頁面上通知即時通訊消息到達。
[0072]從步驟31至步驟33這些過程描述了在不同上級域名下多個父頁面上在webM客戶端上通知即時通訊消息到達。
[0073]本實施例還可以包括以下步驟:
[0074]步驟34,根據接收到的所述上級域名的一個webM客戶端的所述即時通訊消息的讀取消息,修改所述上級域名對應的所述Cookie中的所述標記,以用於根據所述修改後的所述Cookie中的所述標記,在所述上級域名的剩餘的即時通訊客戶端上停止所述即時通訊消息到達的通知。
[0075]在本步驟中,同上述實施例,用戶通過滑鼠之類的輸入設備選擇了某一個上級域名下的一個webIM客戶端xl.taoba0.com點擊打開即時通訊窗口讀取這個即時通訊消息。這個上級域名下的其他父頁面上的網頁即時通訊客戶端上全部停止即時通訊消息的通知。其中,瀏覽器接收到該讀取消息後,會將該讀取消息發送給伺服器。而將該讀取消息發送給伺服器的步驟和瀏覽器根據所述修改後的Cookie中的標記,在所述上級域名的剩餘的即時通訊客戶端上停止所述即時通訊消息到達的通知的步驟,在時序上沒有先後限制。
[0076]步驟35,接收所述伺服器根據所述讀取消息返回的響應消息,所述響應消息中包括修改剩餘的所述與所述伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中的所述標記的指示信息;
[0077]在本步驟中,伺服器收到消息被獲取後,要將即時通訊消息已被讀取的信息推送給其他上級域名下的網頁即時通訊客戶端,因此向瀏覽器剩餘的上級域名下與伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面返迴響應消息,來指示修改剩餘的上級域名對應的cookie中的標記。
[0078]步驟36,根據所述響應消息,修改所述剩餘的上級域名對應的Cookie中的所述標記,以用於根據所述修改後的所述剩餘的上級域名對應的Cookie中的所述標記,在所述剩餘的上級域名的網頁即時通訊客戶端上停止所述即時通訊消息到達的通知。[0079]在本步驟中,同樣地,伺服器將響應消息推送給剩餘的與所述伺服器建立長連接的嵌入有webM客戶端的頁面,瀏覽器解析該響應消息,將該上級域名tmall.com下與伺服器建立長連接的父頁面上webIM的通知停止,然後通過改動tmall.com上級域名對應的Cookie來將消息已經讀取告知該上級域名下的其他即時通訊客戶端,例如tmall.com上級域名對應的Cookie,這樣瀏覽器根據Cookie中修改的標記,將這個上級域名下的父頁面上嵌入的所有webIM客戶端停止即時通訊消息到達的通知。
[0080]其中本實施例中瀏覽器頁面上的進行即時通訊消息提醒和關閉的代碼、標記和通知消息的相關描述參見上述實施例中的描述。
[0081]在該實施例中,舉例時只描述了用戶打開了兩個上級域名下的多個即時通訊窗口的情況,但是在此僅為舉例,並不用於限制,該實施例適用於用戶打開了三個以上上級域名下的多個即時通訊窗口的情況,在這種情況下,瀏覽器維護三個以上Cookie,通知消息發送給三個以上建立長連接的嵌入有網頁即時通訊客戶端的頁面,其中一個上級域名下的一個網頁即時通訊客戶端讀取了即時通訊消息後,伺服器將響應消息發送給除了這個已讀取消息的上級域名之外的剩下的上級域名的建立長連接的嵌入網頁即時通訊客戶端的頁面。
[0082]同上述實施例不同的是,本實施例解決多個上級域名下多個父頁面上的web頂客戶端的即時通訊消息的通知。同樣,利用Cookie交互信息避免了額外安裝軟體,需要人工的介入,減除了這種額外安裝的複雜繁瑣過程,並且通過cookie交互信息來通知即時通訊消息,可以及時地快速地實現多上級域名多父頁面上webM通知。以及在一個上級域名下的一個webIM讀取了即時通訊消息後,由伺服器通過攜帶指示信息的響應消息來向其他上級域名下的父頁面上的webM,告知停止即時通訊消息的通知,從而及時地快速地在多上級域名多頁面上停止即時通訊消息的通知。
[0083]上述實施例描述了瀏覽器執行本申請的過程。下面描述伺服器執行本申請的過程。圖4為本申請實施例即時通訊消息通知的方法的流程圖。如圖4所示,本申請實施例即時通訊消息通知的方法可以包括以下步驟:
[0084]步驟41,伺服器當接收到即時通訊消息待發送時,獲取接收所述即時通訊消息的嵌入有網頁即時通訊客戶端的頁面;
[0085]應當理解的是,用戶通過瀏覽器打開了多個上級域名下多個頁面,webM客戶端登錄後,利用webIM進行即時通訊消息的收發,伺服器在此過程中實現將接收一方消息,然後將消息發送給對方的功能,因此當一方用戶將即時通訊消息發送至伺服器時,伺服器需要向對方用戶推送通知信息。
[0086]在本步驟中,伺服器了解其提供的上級域名下即時通訊消息的用戶登錄的即時通訊窗口客戶端的情況,例如用戶登錄了其提供的兩個上級域名下的網頁,則此時伺服器獲取用戶登錄的這兩個上級域名下建立長連接的多個嵌入網頁即時通訊客戶端的頁面。
[0087]步驟42,向所述嵌入有網頁即時通訊客戶端的頁面發送通知信息,所述通知信息中包括即時通訊消息到達的標記,以使所述瀏覽器將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中,並根據所述Cookie中的所述標記,在所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名下的多個網頁即時通訊客戶端上進行所述即時通訊消息到達的通知。
[0088]其中,瀏覽器進行所述即時通訊消息到達的通知的描述可以參見上述瀏覽器為主體的實施例中的詳細描述,在此不再贅述。而通過上述過程,可以實現一個或多個上級域名下多個父頁面上webM的即時通訊消息到達的通知。
[0089]在優選實施例中,所述向瀏覽器發送通知信息的步驟之後,還可以包括:
[0090]步驟43,根據接收到的一個上級域名下一個即時通訊客戶端的讀取消息,發送響應消息,所述響應消息中包括修改剩餘的上級域名對應的Co ο k i e中的所述標記的指示信息,以用於根據所述修改後的所述剩餘的上級域名對應的Cookie中的所述標記,在所述剩餘的上級域名的嵌入網頁即時通訊客戶端的頁面上停止所述即時通訊消息到達的通知。
[0091]在本步驟中,伺服器將響應消息推送給剩餘的與所述伺服器建立長連接的嵌入webIM客戶端的頁面,瀏覽器解析該響應消息,將該上級域名例如tmall.com下與伺服器建立長連接的父頁面上的即時通訊消息的通知停止,然後通過改動上級域名對應的Cookie來將消息已經讀取告知該上級域名下的其他父頁面,例如tmall.com上級域名對應的Cookie,這樣瀏覽器根據Cookie中修改的標記,將這個上級域名下的所有webIM客戶端的父頁面上的即時通訊消息到達的通知停止。
[0092]通過步驟43可以實現多上級域名下多個父頁面的即時通訊消息到達通知的停止。
[0093]本實施例利用通知消息中攜帶的標記,記錄在Cookie中,通過Cookie交互信息實現同一上級域名下多個父頁面上的即時通訊消息的通知和停止通知,以及利用響應消息中攜帶的指示信息,將不同上級域名對應的Cookie中的標記進行修改,實現不同上級域名下多個父頁面上的即時通訊消息的通知的停止,從而避免了額外安裝軟體,需要人工的介入,減除了這種額外安裝的複雜繁瑣過程,並且可以及時地快速地實現多上級域名多父頁面上的即時通訊消息的通知和停止通知。
[0094]相應地,本申請還提供了一種瀏覽器,該瀏覽器包括接收單元、寫入單元和通知單
J Li ο
[0095]其中,接收單元,用於接收伺服器向向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記;
[0096]寫入單元,用於將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的小型文件記錄Cookie中;
[0097]通知單元,用於根據所述Cookie中的所述標記,在所述上級域名下嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知。
[0098]伺服器通過瀏覽器向與之建立長連接的父頁面例如嵌入webM客戶端的頁面例如trade, taoba0.com,該通知消息中攜帶有即時通訊消息待到達的標記,瀏覽器接收單元解析該通知消息,在當前建立長連接的嵌入有webM客戶端的父頁面上進行即時通訊消息到達的通知,寫入單元並向例如taoba0.com上級域名對應的Cookie中寫入標記。除了該父頁面之外,用戶在瀏覽器中還打開了 taoba0.com上級域名下的其他父頁面,而此時,由於Cookie中寫入了標記,因此,瀏覽器的通知單元根據該標記,在這個上級域名下的其他嵌入有網頁即時通訊客戶端的頁面上也進行即時通訊消息的通知。
[0099]如果此時建立長連接的父頁面除了 taoba0.com上級域名下頁面之外,還有tmal 1.com上級域名下的web IM客戶端的父頁面,則伺服器同時向這兩個長連接web IM客戶端的父頁面推送通知消息,同樣瀏覽器接收單元解析該通知消息,在tmall.com上級域名長連接的父頁面上進行即時通訊消息到達的通知,寫入單元並向例如tmall.com上級域名對應的Cookie中寫入標記。由於Cookie中寫入了標記,瀏覽器的通知單元根據該標記,在這個上級域名下的其他嵌入網頁即時通訊客戶端的頁面上也進行即時通訊消息的通知。
[0100]當用戶通過輸入設備點擊某個上級域名下某個父頁面上的上的網頁即時通訊客戶端例如xl.taoba0.com來讀取即時通訊消息時,瀏覽器的接收單元接收該讀取消息,瀏覽器的寫入單元修改這個上級域名的Cookie中的標記,瀏覽器的通知單元則根據該Cookie中的標記將在這個上級域名下的其他父頁面上的即時通訊消息通知停止。同時,瀏覽器的發送單元還將讀取消息發送伺服器,伺服器根據該讀取消息,向瀏覽器推送消息已讀取的響應消息,瀏覽器接收單元接收該響應消息後,寫入單元修改其他上級域名例如tmall.com下的Cookie中的標記,此時通知單元根據該Cookie中的標記,在該上級域名例如tmall.com下的父頁面上停止即時通訊消息到達的通知。
[0101]而且本申請還提供了 一種伺服器,所述伺服器包括接收單元和發送單元。
[0102]接收單元,用於接收到即時通訊消息待發送時,獲取接收所述即時通訊消息的嵌入有網頁即時通訊客戶端的頁面;
[0103]發送單元,用於向所述嵌入有網頁即時通訊客戶端的頁面發送通知信息,所述通知信息中包括即時通訊消息到達的標記,以使所述瀏覽器將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中,並根據所述Cookie中的所述標記,在所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名下的多個網頁即時通訊客戶端上進行所述即時通訊消息到達的通知。
[0104]伺服器接收單元在接收到讀取消息後,發送單元進一步用於將響應消息推送給剩餘的與所述伺服器建立長連接的父頁面。通過該響應消息可以實現多上級域名下多父頁面的即時通訊消息到達通知的停止。
[0105]本申請利用通知消息中攜帶的標記,記錄在Cookie中,通過cookie交互信息實現同一上級域名下多個父頁面上的即時通訊消息的通知和停止通知,以及利用響應消息中攜帶的指示信息,將不同上級域名對應的Cookie中的標記進行修改,實現不同上級域名下多個父頁面上的即時通訊消息的通知的停止,從而避免了額外安裝軟體,需要人工的介入,減除了這種額外安裝的複雜繁瑣過程,並且可以及時地快速地實現多上級域名多父頁面上的即時通訊消息的通知和停止通知。
[0106]本領域普通技術人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬體、計算機軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請的範圍。
[0107]結合本文中所公開的實施例描述的方法或算法的步驟可以用硬體、處理器執行的軟體模塊,或者二者的結合來實施。軟體模塊可以置於隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬碟、可移動磁碟、CD-ROM、或【技術領域】內所公知的任意其它形式的存儲介質中。
[0108]以上所述的【具體實施方式】,對本申請的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本申請的【具體實施方式】而已,並不用於限定本申請的保護範圍,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請的保護範圍之內。
【權利要求】
1.一種即時通訊消息通知的方法,其特徵在於,應用於上級域名下包括多個網頁即時通訊客戶端的即時通訊中,所述方法包括: 接收伺服器向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記; 將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的小型文件記錄Cookie中; 根據所述Cookie中的所述標記,在所述上級域名下嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知。
2.如權利要求1所述的即時通訊消息通知的方法,其特徵在於,所述根據所述Cookie中的所述標記,在嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知的步驟之後,還包括: 根據接收到的所述上級域名下的一個網頁即時通訊客戶端的所述即時通訊消息的讀取消息,修改所述上級域名對應的所述Cookie中的所述標記; 根據所述修改後的所述Cookie中的所述標記,在所述上級域名下的剩餘的嵌入有網頁即時通訊客戶端的頁面上停止所述即時通訊消息到達的通知。
3.如權利要求2所述的即時通訊消息通知的方法,其特徵在於,所述將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中,具體包括: 在所述與所述伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面上進行所述即時通訊消息到達的通知;` 將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中。
4.如權利要求3所述的即時通訊消息通知的方法,其特徵在於,當所述伺服器向多個與所述伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面發送通知信息時;所述將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中具體為: 將所述即時通訊消息到達的標記寫入多個所述與伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面所屬的多個上級域名對應的多個Cookie中。
5.如權利要求4所述的即時通訊消息通知的方法,其特徵在於,所述根據接收到的所述上級域名下的一個即時通訊客戶端的所述即時通訊消息的讀取消息,修改所述上級域名對應的所述Cookie中的所述標記的步驟之後,還包括: 接收所述伺服器根據所述讀取消息返回的響應消息,所述響應消息中包括修改剩餘的所述與所述伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中的所述標記的指示信息; 根據所述響應消息中的指示信息,修改所述剩餘的上級域名對應的Cookie中的所述標記,以用於根據所述修改後的所述剩餘的上級域名對應的Cookie中的所述標記,在所述剩餘的上級域名的嵌入有網頁即時通訊客戶端的頁面上停止所述即時通訊消息到達的通知。
6.如權利要求5所述的即時通訊消息通知的方法,其特徵在於,所述響應消息是發送給所述剩餘的上級域名下與所述伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面的;所述根據所述響應消息,修改所述剩餘的上級域名對應的Cookie中的所述標記具體包括: 瀏覽器解析所述響應消息,並在所述剩餘的上級域名下與所述伺服器建立長連接的嵌入有網頁即時通訊客戶端的頁面上停止所述即時通訊消息到達的通知; 將所述剩餘的上級域名對應的Cookie中的所述標記進行修改。
7.一種即時通訊消息通知的方法,其特徵在於,所述方法包括: 伺服器接收到即時通訊消息待發送時,獲取接收所述即時通訊消息的嵌入有網頁即時通訊客戶端的頁面; 向所述嵌入有網頁即時通訊客戶端的頁面發送通知信息,所述通知信息中包括即時通訊消息到達的標記,以使所述瀏覽器將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中,並根據所述Cookie中的所述標記,在所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名下的多個即時通訊客戶端上進行所述即時通訊消息到達的通知。
8.如權利要求7所述的即時通訊消息通知的方法,其特徵在於,所述向所述嵌入有網頁即時通訊客戶端的頁面發送通知信息的步驟之後,還包括: 根據接收到的一個上級域名下一個即時通訊客戶端的讀取消息,發送響應消息,所述響應消息中包括修改剩餘的上級域名對應的Cookie中的所述標記的指示信息,以用於根據所述修改後的所述剩餘的上級域名對應的Cookie中的所述標記,在所述剩餘的上級域名的嵌入即時通訊客戶端的頁面上停止所述即時通訊消息到達的通知。
9.一種瀏覽器,其特徵在於,包括: 接收單元,用於接收伺服器向嵌入有網頁即時通訊客戶端的頁面發送的通知信息,所述通知信息中包括即時通訊消息到達的標記; 寫入單元,用於將所述即時通訊消息到達的標記寫入所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名對應的小型文件記錄Cookie中; 通知單元,用於根據所述Cookie中的所述標記,在嵌入所述網頁即時通訊客戶端的其他頁面上進行所述即時通訊消息到達的通知。
10.一種伺服器,其特徵在於,所述伺服器包括: 接收單元,用於接收到即時通訊消息待發送時,獲取接收所述即時通訊消息的嵌入有網頁即時通訊客戶端的頁面; 發送 單元,用於向所述嵌入有網頁即時通訊客戶端的頁面發送通知信息,所述通知信息中包括即時通訊消息到達的標記,以使所述瀏覽器將所述即時通訊消息到達的標記寫入所述嵌入網頁即時通訊客戶端的頁面所屬的上級域名對應的Cookie中,並根據所述Cookie中的所述標記,在所述嵌入有網頁即時通訊客戶端的頁面所屬的上級域名下的多個網頁即時通訊客戶端上進行所述即時通訊消息到達的通知。
【文檔編號】H04L12/58GK103532824SQ201210234473
【公開日】2014年1月22日 申請日期:2012年7月6日 優先權日:2012年7月6日
【發明者】張樂偉 申請人:阿里巴巴集團控股有限公司